WiFi Billing
Monthly billing for neighborhood internet providers. Invoices go out on their own, customers get reminders on WhatsApp, and cashiers check payment receipts in one place.
- For
- Neighborhood internet providers
- What it is
- A web app for admins, cashiers, and customers
- Our part
- All of it; this is our own project
- Built with
- Laravel, MySQL, Alpine.js, Tailwind CSS
Open the full-size image (opens in a new tab)The need
A neighborhood internet provider bills its customers every month. Without a system, invoices are written one by one, transfer receipts get lost among other chats, and it's hard to see who hasn't paid in which area.
WiFi Billing handles the whole cycle: invoices, payments, reminders, and reports, with separate access for admins, cashiers, and customers.
What we built
Every invoice in one list
Admins see each customer's invoices with area, period, amount, due date, and status.
- Filter by area, status, or period, or show only overdue invoices.
- Each invoice's status: unpaid, waiting for verification, or paid.
- Invoices outside the schedule can be created by hand.
- The number on the Payments menu counts receipts waiting to be checked. Cashiers only see their own area.
Manual invoices without the math
For cases outside the schedule, an admin creates invoices for one customer and the system works out the rest.
- Pick a package and a range of periods, and the monthly invoices are created at once.
- The due date and amount are calculated automatically.
WhatsApp messages that send themselves
Customers get a message when an invoice is issued, on the due date, and when their payment is accepted or rejected. Every message is logged.
When the invoice is issued, 7 days before it's due
Halo Putri Maharani, tagihan WiFi Anda periode 2026-10 sebesar Rp 150.000 telah terbit. Jatuh tempo 28-10-2026. Silakan bayar via transfer di aplikasi atau tunai ke kasir. Terima kasih.
On the due date
Pengingat: tagihan WiFi periode 2026-10 sebesar Rp 150.000 jatuh tempo HARI INI (28-10-2026). Mohon segera lakukan pembayaran. Terima kasih.
When the payment is accepted
Pembayaran Anda sebesar Rp 150.000 untuk tagihan periode 2026-10 telah DITERIMA. Tagihan lunas. Terima kasih.
Also included
- Customer page for uploading transfer receipts
- Cash payments at the cashier
- Printable financial reports
- Customers, packages, and areas
- WhatsApp message log
One billing cycle
Invoice issued
Created automatically 7 days before the due date, which follows the customer's installation day.
Customer reminded
On WhatsApp, when the invoice is issued and on the due date.
Customer pays
By transfer with a receipt uploaded in the app, or in cash at the cashier.
Cashier checks
The receipt is accepted or rejected, and the customer hears right away.
Paid and recorded
The payment goes into a financial report that's ready to print.
Details we took care of
- No missed invoices
- If the scheduler stops for a while, the missing invoices are created as soon as it runs again, and never twice for the same customer and period.
- Every payment leaves a trail
- Accepting, rejecting, cancelling, or reopening a payment is always recorded in its history.
- A failed message doesn't stop billing
- Messages go out through a queue after the data is saved, are tried up to three times, and are never sent twice. If one fails, billing carries on.
- Cashiers by area
- Cashiers only see the customers and payments in their own area. Transfer receipts are stored privately and open only for people allowed to see them.
The same approach works for
- Boarding houses
- Tutoring and courses
- Community or neighborhood dues
- Equipment rental
- Monthly service subscriptions
Notes
WiFi Billing is our own project. Every screenshot uses sample data, not real customers.
More projects
- Affluena
- Personal finance for individuals and couples, on web and mobile. Wallets can be shared, so two people work from the same numbers.
- Divine Signal
- Crypto trading signals from Telegram channels, read automatically, turned into structured data, and followed until they hit a target or a stop loss.
- SIPPKBPD
- Electronic ID card recording requests for residents with disabilities. Each request moves up from the neighborhood to the district, and every step is recorded.
- CLC Readykit
- A web app for a Mandarin school for children: from parents' inquiries and lead follow-ups to classes, invoices, and payments.
Need something like this?
Tell us what you need over WhatsApp. The first conversation is free, and if something simpler would do, we'll say so.

