Sends to customers with a phone/email on file. Keep it short for SMS.
Customer history
Payments
Date
Amount
Method
Reference
Invoices
Period
Amount
Due
Status
Actions
Equipment (serialized units)
Item
Serial
MAC
Status
Tech
Materials used
When
Item
Qty
Tech
Installs & client sign-off
When
Tech
Status
Approved by
Method
Activity log
When
Type
Action
Detail
Hotspot / walled-garden setup helper
Paste these into your MikroTik terminal so suspended customers can still reach your pay/help pages and PayMongo. Set your panel's Public URL in Settings first. These same rules cover PPPoE, IPoE and hotspot (all use the suspended address-list). The IPoE Subscribers view has an identical helper with editable portal IP/port/WAN.
Settings
Business (shown on invoices)
No logo uploaded
Shown in the panel header and the customer pay page. PNG with transparent background looks best (max ~500KB).
Installation charges (shown on the public /apply form)
Share your application link: [your-panel-URL]/apply
Inventory accounting
Receipt / Invoice numbering
Customize what your receipts are called and their number series. Applies to all printed and emailed receipts.
to
Android app (optional)
Only needed if you build an APK (see android/ANDROID-APP.md). On phones you can also just open the panel in Chrome → “Add to Home screen”. Leave blank otherwise.
GCash (shown on the pay page + invoices)
No GCash QR uploaded
Maya
No Maya QR uploaded
Bank transfer details (shown on the pay page)
Public URL
Used in pay / help links, reminder SMS, and the coin webhook. Must be reachable from the internet for live PayMongo/Xendit.
Customer self-service pay page: —
Customer help center: —
Online payments — gateway
Only the selected gateway is used at checkout. Fill in its keys below.
PayMongo keys
In your PayMongo dashboard, add a webhook to this URL and subscribe to link.payment.paid: —
Xendit keys
In your Xendit dashboard → Settings → Webhooks, set the Invoices paid callback URL to: —
Email / SMTP (for emailing invoices)
Gmail needs an App Password (not your normal password) with 2FA enabled. The password is stored locally and never shown back.
Telegram (proof-of-payment approvals & alerts)
Saves token & chat ID, then pings this chat. Open Telegram to confirm.
Create a bot with @BotFather, paste the token, message the bot, then paste your chat ID from @userinfobot. Click Send test ping and confirm the message in Telegram — alerts (receipts, PPPoE/IPoE drops, unpaid cuts, router-down) will not reach you until that ping succeeds. No public URL needed — the panel polls Telegram.
SMS (texting customers)
Dongle needs a classic modem-mode stick (Huawei E3531/E303 in modem mode, ZTE MF, SIM800 USB). HiLink-mode dongles (the 192.168.8.1 kind) do not expose a port. Find the port in Device Manager → Ports (COM & LPT).
Used to text a customer when you reply to their ticket, if their contact is a phone number. Email replies use your SMTP settings and can include the attached photo.
Reminders & daily report
A daily summary (collections, active/suspended, expiring, pending proofs & tickets) is sent to your Telegram at the report time. Telegram commands: /today, /pending, /expiring, /remind.
Service / expiry (time sync with MikroTik)
When set, expired/suspended users are moved to this profile (walled-garden) and their live session is dropped; paying moves them back to their plan profile and extends expiry. Expiry is checked against the router's own clock.
On by default — click Save settings after changing this. Needs a successful Send test ping in Settings → Messages. Uses the watchdog interval above (0 = off). Skips the first snapshot and waits for two checks so brief reconnects don't spam. A mass-offline still sends one summary instead of one message per client. IPoE alerts are billed subscribers only (due date or plan) — not every DHCP lease.
Hotspot / coin webhook security
Devices (MikroTik /tool fetch, ESP8266 coin boards) post login/coin events to /api/hotspot/event. Coin events count as revenue, so set a token — then only your own devices can post. Leave blank to keep it open (not recommended). After setting or changing it, re-deploy your router script & ESP firmware with the &token= below.
Coin webhook URL for your devices (copy after Generate, then Save):
—
Dry-run safety mode
When ON, any command that would change the router (add/remove/set firewall, proxy, leases, VLANs, profiles) is logged but not sent. Reads still work. Use this to see exactly what the panel would do before letting it touch your live router. Turn OFF to apply for real.
Automation
This is the desk grace (sweep + daily auto-suspend, including unpaid invoices). Router cut-off grace is the Grace days field on PPPoE / IPoE — one value for both.
AI Assistant
Turn this on and paste your Anthropic API key to use the AI command box (type instructions in plain English) and the daily AI digest. Get a key at console.anthropic.com. The key is stored only on this computer. Leave the box unchecked to run the panel without AI.
Data & tools
Backup downloads all billing data (plans, customers, invoices, payments, users, settings, tickets) as a JSON file. Restoring replaces current data with the backup — do it carefully.
Data maintenance (storage)
See what's taking space and archive old logs. Cleanup saves old records to a file first, then removes them from the live database (keeping the last N months). Your customers, payments, and invoices are never auto-cleared.
—
Collector phone (APK / PWA)
Same idea as MikconPC: bind a cashier or technician phone. They scan the QR (or open the link), tap Bind this phone, then Chrome → Add to Home screen. Drop MikBill-Collector.apk in public/ or next to the panel to offer a real APK download.
Save applies to every tab, including session alerts.
💰 Sell hardware to client
Add technician
Go-Live Wizard
Work top to bottom — each stage should pass before the next. For router stages, use Dry-run mode first to preview, then turn it off to apply. Your progress is saved.
User accounts
User
Role
Last login
admin: full access · cashier: billing, payments, hotspot & vendos (no router config) · technician: job orders, techs, inventory, map, fiber & helpdesk (no billing, no routers).
Staff passwords need 12+ characters with upper, lower, a number, and a symbol.
N
MikBill
Billing and network control
No router connected
Desk
Collections, line state, and work waiting
Collections
Attention
To collect
Overdue clients, and clients due within 7 days.
CPU load
—
Memory
—
PPPoE online
—
Hotspot online
—
Network watchdog—
Waiting for the first watchdog check. Quiet is normal until a router-down, mass-offline, or session drop is recorded.
Sites overview—
ISP bandwidth – live rx/tx
Add an interface above to start a live rx/tx graph.
Collections – last 30 days
PPPoE · active sessions 0
User
Address
Uptime
PPPoE · live trafficwaiting for sample
User
Address
Interface
Download
Upload
Data down
Data up
Rates are calculated from RouterOS PPPoE interface counters. The first sample establishes the baseline.
Hotspot · active sessions 0
User
Address
Uptime
Remaining
PPPoE · accounts
Name
Profile
Status
Hotspot · users
Name
Profile
Status
Hotspot · packages (profiles)
Name
Rate limit
Shared
Session
PPPoE · profiles
Name
Local addr
Remote / pool
Rate limit
PPPoE clients— customers · — active · — cut off
Show all plans
Automatic cut-off
Installs a nightly script on this router that reads [bill …] comments. Sync checks the script that is already there.
Not checked yet.
page 1 / 1
IPoE clients— total · — active · — cut off
Show all plans
Same as MikconPC: a plan is a PPP profile (name + rate-limit). Opening this page updates each client's plan from the router. Sync this router only pulls DHCP leases that have a [bill] due date and a rate-limit. Phones, vendos, and empty leases stay off this list.
Automatic cut-off (IPoE)
Same mikcon-cutoff script as PPPoE. Overdue IPoE leases with a [bill …] comment are put on address-list suspended.
Not checked yet.
—
Add IPoE client
No device chosen yet.
Amount, Collect on, and a profile (plan) are required. Due date + rate-limit on the DHCP lease are what make this an IPoE client — other leases are ignored on sync.
⚙ IPoE MikroTik setup — suspend firewall rules
Suspending an IPoE subscriber adds their IP to the router's suspended address-list. For that to actually cut them off (and redirect them to your pay page), the router needs these rules — paste them into the MikroTik terminal once. Fill in your details and copy.
⚠ These edit your live firewall. Review each line and make sure the block rule sits above your general allow rules. Test on a spare router first.
Items
—
Routers/ONU in stock
—
Stock value ₱
—
Install revenue (mo) ₱
—
Hardware margin (mo) ₱
—
Low stock
—
Inventory items
Item
Category
On hand
Reorder at
Unit cost
Actions
—
Serialized units (routers / ONUs — serial + MAC)
Serial
MAC
Type
Status
Tech
Installed at
Actions
—
What's on the truck — per technician
Units assigned to a tech (not yet installed) and materials they took out but haven't consumed or returned. Use this to reconcile at end of day.
Recent stock movements
When
Item
Type
Qty
Client / Job
Tech
Note
—
Add item
Stock movement
Add serialized unit
Assign / install unit
Client approval — install confirmation
📷 Tap to take/choose a photo of the installed unit
💰 Charge installation
Total₱0
New applications
—
In progress
—
Completed
—
Total
—
Job Orders — install applications
Applications from your public /apply page. Review → assign a tech → release equipment → install → complete. Approve a new application to create the customer account.
#
Applicant
Plan
Payment
Status
Tech
Actions
—
Team size
—
Available now
—
On a job
—
Off duty
—
Technical team
Your field crew, their rank, and live availability. Availability follows their assigned job orders automatically — a tech with an active job shows On a job. Areas show where each tech works.
Job Order
Revenue (month)
—
Expenses (month)
—
Profit (month)
—
Entries
—
Expenses
Date
Category
Description
Vendor
Paid by
Amount
—
Add expense
₱1 coins today
—
₱5 coins today
—
₱10 coins today
—
₱20 coins today
—
Today total
—
This month
—
Coin drops
0 recorded
Time
Vendo
Device
User/Voucher
MAC
Coin ₱
Coins (est.)
Saved
Live notifications ●
Time
Event
User
Detail
Vendo sales — today
Vendo
Coins
Total
Recent vendo sales
Vendo
Client/User
Credit Price
Sold
MikroTik logs
Time
Topics
Message
🎟 Generate vouchers
Site / router
Same picker as the top-right router menu (beside Logout).
How many
Login type
Hotspot login uses the same string for username and password (MikconPC style).
Profile
Code length
Prefix (optional)
Uptime limit (optional)
Price label (for printout)
Expiration label (for printout)
Hotspot users & vouchers
Edit user
Name
Profile
Uptime limit
Status
Actions
loading…
Active users
User
Address
Uptime
Actions
loading…
Vendos
Name
IP
Status
Router / Site
Board sales (exact)
Panel coins today/mo
Last seen
Actions
Add vendo (JuanFi NodeMCU)
Flash a JuanFi ESP from the Flash tool, then add it here. The panel must reach the vendo IP over LAN, a Tailscale subnet route, or the optional VPN IP. Access opens the board through the panel so it works off-LAN. Authenticate either way: (1) the admin username & password at /admin, or (2) the vendo API key (System Configuration → Generate Key → SAVE). Board sales come from the ESP EEPROM (lifetime / until-reset). Panel coins come from MikroTik coin logs and the hotspot webhook — keep the vendo name identical to the log Vendo: field (e.g. TIJINGVENDO). Click the IP cell to set a Tailscale/VPN address without changing the LAN IP.
Network setup — VLAN / IP / DHCP / Hotspot
Spin up a new tower/area for vendos in one step — ⚡ Easy expand chains the VLAN, gateway IP, DHCP pool + server, and hotspot server together. Or add each piece manually below.
⚠ Changes live router networking — double-check the VLAN ID and interface.
⚡ Easy expand (new vendo area)
VLANs
Name
ID
Interface
—
IP addresses
Address
Interface
—
DHCP servers
Name
Interface
Pool
—
Hotspot servers
Name
Interface
Profile
addr/MAC
—
Hotspot server profiles
Name
Hotspot address
DNS name
Login by
—
NodeMCU on the network (DHCP leases)
Devices whose hostname starts with ESP, WIZnet, or NodeMCU are detected automatically. ⚡ Easy setup = make the lease static + add a bypassed hotspot IP-binding in one click, then hit access to open the vendo.
Host
IP address
MAC address
Server
Status
Lease
Bound
Actions
press ⟳ scan
Hotspot IP bindings
MAC
Address
Server
Type
—
Manage router
⚠ Dry-run mode is ON. Changes here (create hotspot user, add profile, vouchers, suspend, etc.) are logged but NOT sent to the router. Turn off Dry-run in Settings to make real changes.
Loading…
Routers / SitesAdd each MikroTik you manage — tap one in the header to make it active
—sites online—active clients (all sites)
Add each MikroTik here. Customers are assigned to a router, and the panel sends suspend/reconnect/renew to the right one. Passwords stay on this panel and are never shown back. Switch the active router from the header.
Router
Host
Clients
Status
Live (PPPoE / hotspot)
Actions
Add router
Add PPPoE client
Leave amount blank if this client is not billed through the desk. Amount is stored in the PPP comment on this router.
Edit customer
Changing username, plan, or router may need Reconnect. To move a customer to another router, use Move on the list.
Client locations📡 tower ● active client ● suspended
No pinned clients yet. Use the 📍 button on a customer (Billing) to set their location.
🕸 Fiber Plan
MDFLCPNAPClient|onlineofflineexpiring🔧 trouble
No fiber plan yet — open ⚙ Manage, add an MDF, then LCPs and NAPs to build the tree.
Set client location
Click on the map to drop/move the pin, or paste coordinates. Tip: in Google Maps, right-click a spot → click the lat,long to copy.
Edit MDF
Edit LCP
Edit NAP
Advanced: patched straight to an MDF port
👤 Client
🏬 Sales by site / router
Loading…
💵 Cash flow
Money in
₱—
Money out
₱—
Net cash flow
₱—
▲ Money in
▼ Money out (expenses)
PPPoE / IPoE are cash collections (wallet top-ups included; wallet spends and credit excluded). Hardware is margin (sell − cost) unless you expense stock cost. Vendo is coin drops. Install & hardware stay here, not in the sales tiles. Money out = expenses you logged for the month.
Financial summary
Month
Collected
Payments
Invoiced
Collection rate
New clients
—
Sales
PPPoE
—
IPoE
—
Vendo
—
Total sales
—
—
Total
PPPoE
IPoE
Vendo
Per-vendo sales
—
Expiry reminders (dunning)
Auto-sends daily before expiry on the days set in Settings (Reminder days). Below is who's due.
Outages & incidents
Started
Incident
Scope
Affected
Status
Actions
—
Payments & proofs — pending approval
When
Client
Invoice
Note
Status
Actions
—
Support tickets
When
From
Message
Status
Actions
—
SMS messaging—
Select a conversation, or text a new number below.
No conversation selected.
💰 GCash / Maya noticespayment texts received on your SIM — match these against submitted receipts
When
Provider
Amount
Reference
Message
—
Edit IP binding
Edit DHCP lease
Pick an existing list from the router or add a new one. Leave on (none) to clear it.
Reply to ticket
Attachment
Payment wall
Unpaid clients on the chosen list are sent to /pay on this PC. Install replaces only rules commented MIKBILL PAYMENT WALL. The nightly cutoff and any MikconPC rules stay.
Day close
Cash, digital, and wallet for this calendar day. Closing again adds only payments recorded after the last close. The counted amount replaces the drawer total.