Appearance
Running a small ISP
The ISP menu turns Kiwire into the back office for a small internet provider: broadband subscribers with account numbers, monthly plans, invoices, payments, reminders and a monthly profit figure. It sits next to your hotspot and guest Wi-Fi — the same users, profiles and controllers, nothing duplicated.
Switching it on
ISP is an add-on. Once your provider has allowed it for your site, go to System → Settings → ISP and turn on Enable ISP features. Reload the page and the ISP menu appears after Portals.
Turning it off hides the menu, the ISP tab on users and the User Portal subscription block again. Nothing is deleted, and invoicing, reminders and fair usage stop until you turn it back on.
Subscribers are your users
A subscriber is an ordinary user (Accounts → Users) whose profile is marked as an ISP plan. There is no second customer list: ISP → Subscribers is the same people, filtered to the ones on a plan, with the columns an ISP needs — account number, plan, paid-until date, status and last login. Open in Users takes you to the full user record.
Add subscriber on the Subscribers page creates the user in one step: name, phone, email, installation address, plan and paid-until date. The username defaults to the account number and a password is generated for you.
Importing subscribers
Import on the Subscribers page takes a CSV file and does two jobs at once, so you do not need to import into Users first:
- A row whose username already exists moves that user onto the plan in the file — for example customers you already have on a hotspot profile. Their password is never changed.
- Any other row creates a new subscriber, exactly as Add subscriber does. Leave the username blank to use the account number, and the password blank to have one generated.
The columns are plan (required — the name of an ISP plan), username, fullname (required for new subscribers), phone, email, paid_until (for example 2026-11-30 or 30/11/2026), account_no, install_address, static_ip, password and remark. Download template gives you a file with the headings and two example rows.
Check file shows every row first — create, move to plan, or the reason it cannot be imported — and nothing changes until you click Import. Rows with errors are skipped; fix them and import the file again. The results list new account numbers and any generated passwords once, with Download results to keep them.
Plans
ISP → Plans lists your profiles. Tick ISP plan on the ones you sell. Speed, data allowance, validity and price stay on the profile as they always have; the plan adds what an ISP needs on top:
- Service — PPPoE, hotspot account or static IP, for your own records.
- Cycle (days) — how long one paid period lasts, 30 by default. Each invoice covers one cycle at the profile's price.
- Setup fee — a one-off installation charge, added as its own line to a new subscriber's first invoice. Subscribers you already had for more than 90 days when you start invoicing are not charged it.
- Fair usage cap (GB) and Then slow to — see Fair usage below.
Account numbers
Every subscriber gets an account number, which customers quote for bank transfers and DuitNow. Choose the format under System → Settings → ISP:
- Prefix and running number, for example
AC-000123(you set the prefix and number of digits), or - Phone number — the subscriber's own phone number. If it is missing or already taken, the running number is used instead.
New subscribers are numbered automatically. Give account numbers to all on the Subscribers page fills in anyone who does not have one yet.
Pausing a subscription
A customer going away can pause instead of cancelling. While paused they cannot connect and no time is used up; on resume, the days paused are added to their paid-until date.
Pause from the subscriber's ISP tab, with a reason and an optional resume date. Subscriptions with a resume date resume by themselves on that day; without one, they stay paused until staff resume them. Under System → Settings → ISP → Pausing you set the longest pause and how many pauses a subscriber may have in a year (0 means no limit).
Invoices
Turn on Raise invoices automatically under System → Settings → ISP → Invoicing and Kiwire raises an invoice for each subscriber a set number of days before their paid-until date (7 by default). One invoice is raised per period, so nobody is billed twice.
ISP → Billing → Invoices has three tabs:
- Invoices — every invoice with its status (Open, Part paid, Paid, Void). Raise due invoices now runs the automatic step straight away; Bill now on a subscriber raises theirs early.
- Payments — every payment recorded this month.
- Due & Overdue — open invoices grouped by how late they are (not yet due, 1–30, 31–60, 61–90 and over 90 days), with the total owed.
When an invoice is fully paid, the subscriber's paid-until date moves to the end of that period. If the paid-until date passes without payment, the account stops connecting like any expired account, and paying brings it straight back.
Recording a payment
For cash or a bank transfer, open the invoice and click Record payment: amount, method (bank transfer / DuitNow, cash or online) and a reference. Part payments are fine — the invoice shows Part paid until the rest comes in.
Issuing invoices in your accounting software
To have invoices numbered, emailed and e-invoiced by your accounting package, add an Accounting connector (see Connectors) and choose it under System → Settings → ISP → Issue invoices in. Kiwire then:
- creates each invoice in Bukku, Xero, QuickBooks Online, Zoho Books or Odoo, with the subscriber as the customer,
- can have the package email the invoice to the customer,
- posts payments you record in Kiwire to the package, and
- checks every 30 minutes for payments made inside the package, so an invoice paid there is marked paid here too.
The Accounting column on the Invoices tab shows whether each invoice has been issued. Anything marked Error has a Retry button and the package's own message.
Without a connector, invoices are kept in Kiwire only.
Correcting a wrong charge
Invoices are never edited or deleted. To correct one — for example a plan priced at RM500 instead of RM50 — click Revert on it (or tick several and use Revert selected). Kiwire then:
- cancels the charge with a correcting entry and marks the invoice Reverted, with your reason, your name and the time;
- moves the subscriber's paid-until back by exactly the time that invoice added, if it was paid;
- for money already paid, either keeps it as credit on the account — the next invoice uses it automatically — or records a refund;
- optionally raises a corrected invoice for the same period at today's plan price (fix the plan price first).
The preview tells you what will happen before you confirm. If the invoice was issued in your accounting software, cancel it or issue a credit note there too. Reverting needs its own permission, which only the Admin role has by default.
Compensating subscribers
To credit many subscribers at once — for example everyone affected by an outage — tick them on ISP → Subscribers (or search and filter to the right group) and click Compensate. Choose:
- Credit on account: the same amount for each subscriber. Their next invoice uses it automatically.
- Extra days of service: the same number of days added to each subscriber's paid-until.
Give a reason; it appears on every subscriber's statement. The whole batch is applied at once — never half — and listed on Billing → Invoices → Compensation, where you can open it to see who received it, or undo it as one unit. Undoing takes the credit or days back from everyone in the batch; the preview tells you if some subscribers have already used the credit, because they will owe it again. Compensating needs its own permission, which only the Admin role has by default.
Statements
Statement (on an invoice row, or on the subscriber's ISP tab) lists every charge, payment, refund, credit used, paid-until change and reversal for that subscriber, oldest first, with a running balance, and downloads as CSV. Entries are only ever added, never changed, and each one is linked to the one before it, so a change made outside Kiwire shows up when the records are checked.
Payment reminders
On the Due & Overdue tab, tick the subscribers to chase and click Send reminder. Choose email, WhatsApp, SMS or Best available (whichever the subscriber has contact details and you have a connector for). A subscriber already reminded in the last 24 hours is skipped, so a double click never sends twice.
The wording comes from Grow → Messages → Message Templates: create an email, SMS or WhatsApp template with the purpose ISP payment reminder, using placeholders such as the customer's name, amount, invoice number, due date and account number. Without one, a short standard message is sent.
Sending reminders automatically
Grow → Messages → Automatic messages sends them for you. Add a rule such as "3 days before an ISP invoice is due" or "1 day after an ISP invoice is overdue", choose the channel and the time of day, and pick the template. Rules can also remind people before their paid-until date runs out. Each person gets each reminder once, and every send is listed on the Send log tab. See Automatic messages.
The subscriber portal
Subscribers get their own My Account page that works from anywhere — at home, at work or on mobile data. They sign in with their account number, username or phone number and their password, and can:
- see their plan, paid-until date, what they owe and how much data they have used,
- pay an open bill online,
- see every invoice and payment, and download or print a statement,
- renew early or change plan,
- see the equipment you have lent them (router, ONT) and the deposit,
- change their password.
Subscribers whose service has run out can still sign in, so they can see the bill and pay it.
Setting it up
Open ISP → Overview. If there is no subscriber portal yet, the Subscriber portal card offers Create subscriber portal: choose the address (for example /wifi/yourname) and click once. A sign-in page in your organisation's name and logo is created and published straight away. If you already have a User Portal you would like to use instead, pick it from the list on the same card. Once set up, the card shows the link with a Copy button — put it on your invoices, your website and your WhatsApp profile.
Payment reminders can include the link: add the portal link placeholder to your ISP payment reminder template. When a reminder has no invoice link, the portal link is added automatically.
Paying online
To let subscribers pay in the portal, choose a payment gateway under System → Settings → ISP → Online payment in the User Portal. Each open bill then gets a Pay button; the payment is recorded on the invoice (and in your accounting software) as soon as the gateway confirms it, and paid-until moves forward. With no gateway chosen, subscribers are asked to transfer to your bank account quoting their account number.
Renewing and changing plan
Renew now raises the invoice for the next period of their current plan and takes them to payment. How plan changes work is set under System → Settings → ISP → Plan changes in the User Portal:
- New plan starts next period (default): the subscriber pays for the new plan now and moves onto it when their current paid period ends.
- Starts now, unused days credited: they move as soon as they pay, and the unused days of the old plan are taken off the price. If the old plan's unused days are worth more than the new plan, the rest stays on their account as credit for the next bill. A change left unpaid lapses after a day.
- Not allowed: subscribers can only renew; they contact you to change plan.
Plan changes appear on the invoice list marked Plan change. Correcting one with Revert also puts the subscriber back on their old plan and paid-until date.
Passwords
Subscribers change their own password on the Password tab; your password policy applies. If their router connects with the same password (PPPoE), the page reminds them to update the router too.
Fair usage
A plan can slow heavy users down instead of cutting them off. Set a Fair usage cap (GB) and the profile to slow to. Within 15 minutes of a subscriber passing the cap, they move to the slower profile, and they move back once their usage counter resets.
- Set the reset on the profile (for example monthly), so the counter starts again each cycle.
- Leave the profile's own data quota unlimited — otherwise the subscriber is cut off at the quota rather than slowed.
- The subscriber sees a note on the User Portal while they are slowed.
Stock
ISP → Stock tracks the routers, ONTs and other equipment you give out, by serial number.
- Add stock takes one serial number per line (with a MAC address after a comma if you have it), so a box of 50 routers is one paste. Set the vendor, model, location and unit cost once for the batch.
- Give to customer links a unit to a subscriber and records any deposit taken. The unit then shows on the subscriber's ISP tab under Equipment.
- Take back returns it to stock if it works, or marks it faulty, and records whether the deposit was refunded or kept.
- Faulty units can go back to stock or be retired. Every move is kept in the unit's History.
The tiles show what is in stock, with customers and faulty, the deposits you are holding, and the cost value of your stock.
IP addresses and PPPoE
Subscribers on a PPPoE or Static IP plan get their address from Kiwire's answer to the router when they connect.
- ISP → IP Pools lists your address pools. A pool on the router is one defined on the router itself (for example a MikroTik IP pool): give a plan that pool on the Plans page and its subscribers get an address from it. A fixed-address pool is a range Kiwire hands addresses out of.
- On a subscriber's ISP tab, under IP address, click Next free address to give them the next unused address from a fixed-address pool, or type one in. A fixed address always wins over the plan's pool. Changes apply from the subscriber's next connection.
- Point the router's PPPoE server at Kiwire for authentication the same way as its hotspot. Subscribers sign in with their username and password.
Expenses
ISP → Expenses records what running the network costs — upstream bandwidth, rent and tower sites, salaries, equipment, electricity, licences and other — once or every month (with an optional last month), with the last 12 months of expenses side by side.
Revenue and profit are on Grow → Finance, which adds up every source — ISP subscriptions however they were paid, plus vouchers and plans bought online — less refunds and these expenses.
Reports
Insight → Reporting → ISP shows:
- Monthly recurring revenue — active subscribers times their plan price, per 30 days — and the average per subscriber.
- Active, new and lapsed subscribers over the last 30 days, and churn. Lapsed means the paid-until date passed in the last 30 days without renewal.
- Collected this month — the share of this month's invoices already paid — and invoiced against collected for the last 12 months.
- Plan mix — how many subscribers are on each plan.
Online subscribers and your routers are on the pages you already use: Insight → Reporting → Login → Active Session and Admin → System → Device Controller.