Documentation Index
Fetch the complete documentation index at: https://docs.fyberpay.com/llms.txt
Use this file to discover all available pages before exploring further.
Overview
FyberPay handles the entire billing lifecycle for your ISP: invoice generation, tax calculation, payment tracking, and receipt delivery. This guide walks you through configuring billing to match your business requirements.Two sides of “billing”
Settings → Billing covers two things that are easy to confuse:- How you bill your subscribers – plans, invoice prefix, currency, tax, grace period, dunning. This is the bulk of this page.
- How FyberPay bills you (and pays you) – your platform fee, hotspot commission accrual, the 1% transaction fee on centralized paybill, and the settlement destination where centralized funds are disbursed each business day.
Billing Settings
Navigate to Settings > Billing to configure your organization’s billing defaults.Invoice Configuration
Set your invoice prefix
Choose a prefix for your invoice numbers (e.g.,
ACM produces invoice numbers like ACM-0001, ACM-0002). This prefix is applied to all auto-generated and manual invoices.Configure your currency
FyberPay defaults to KES (Kenyan Shilling). The currency code appears on all invoices, receipts, and the subscriber portal.
Set the grace period
The grace period defines how many days after the due date an invoice is considered overdue. The default is 3 days. After this period, the dunning pipeline begins.
Add payment details
Enter your M-Pesa Paybill number, bank name, and account details. These appear on invoice PDFs so subscribers know where to send payments.
Tax Settings
FyberPay calculates tax as a percentage of the subtotal. For VAT-registered ISPs in Kenya, set the tax rate to 0.16 (16% VAT). Non-VAT-registered ISPs should leave it at 0 (the default).
| Scenario | Tax Rate Value |
|---|---|
| No VAT (default) | 0 |
| Kenya VAT (16%) | 0.16 |
| Custom rate | 0.xx |
- Subtotal: KES 2,500
- Tax (16%): KES 400
- Total: KES 2,900
Receipt Templates
Invoice PDFs are generated automatically and include:- Your organization name, logo, and contact details (from Settings > Organization)
- Subscriber name and phone number
- Plan name, billing period, and line-item breakdown
- Tax breakdown (subtotal, tax amount, total)
- Payment instructions (M-Pesa Paybill, bank details)
- Custom footer text
Billing Cycles
Each subscription plan defines its own billing cycle in days. When you create a plan at Billing > Plans, you set thebillingCycleDays field.
Common Billing Cycles
| Cycle | Days | Typical Use |
|---|---|---|
| Monthly | 30 | Standard residential plans |
| Quarterly | 90 | Discounted long-term plans |
| Semi-annual | 180 | Business or enterprise plans |
| Annual | 365 | Large-volume corporate deals |
Billing cycle days are counted from the subscription activation date. A 30-day cycle activated on March 1st expires on March 31st.
How Billing Cycles Work
- A subscriber activates a plan with a 30-day cycle
- FyberPay sets the expiry date to 30 days from activation
- Three days before expiry, FyberPay auto-generates a renewal invoice
- The invoice is sent to the subscriber via SMS and email
- On payment, the subscription extends by another 30 days
- If unpaid, the dunning pipeline kicks in after the grace period
Auto-Generated Invoices
FyberPay runs a bulk invoice generation job that creates invoices for all subscriptions expiring within the next 3 days. This process:- Skips subscriptions that already have a pending (draft or sent) invoice
- Calculates tax based on your org’s configured tax rate
- Fires an
invoice.createdevent that triggers SMS/email notifications and Bill Manager sync
Invoice Status Lifecycle
Invoices move through these statuses:| Status | Meaning |
|---|---|
| Draft | Invoice created but not yet delivered to subscriber |
| Sent | Invoice delivered via SMS, email, or Bill Manager |
| Overdue | Past the due date and grace period, unpaid |
| Paid | Payment received and matched |
| Void | Cancelled with a reason (does not count toward revenue) |
Manual Invoice Actions
From the Billing > Invoices page, you can:- Send a draft invoice (transitions to “sent” status)
- Void an invoice with a reason (available for draft, sent, or overdue invoices)
- Create a credit note for a paid invoice (partial or full refund, creates a negative-amount invoice)
Prorated Charges
When a subscriber upgrades or downgrades their plan mid-cycle, FyberPay calculates prorated charges automatically.How proration works
How proration works
FyberPay calculates the daily rate of both the old and new plans, then computes the difference for the remaining days in the current billing cycle.Example: A subscriber on the KES 2,000/month plan (30 days) upgrades to the KES 3,000/month plan with 15 days remaining.
- Old daily rate: KES 2,000 / 30 = KES 66.67
- New daily rate: KES 3,000 / 30 = KES 100.00
- Difference per day: KES 33.33
- Proration amount: KES 33.33 x 15 = KES 500
Downgrades
Downgrades
When a subscriber downgrades, the proration calculation produces a credit. This credit is applied to their next invoice automatically.
Mid-cycle plan changes and RADIUS
Mid-cycle plan changes and RADIUS
Plan changes take effect immediately. FyberPay updates the subscriber’s RADIUS group in real-time, so bandwidth limits change within seconds of the plan change being confirmed.
Billing Notifications
FyberPay sends automated billing notifications at several points:| Trigger | Channel | Content |
|---|---|---|
| Invoice created | SMS + Email | Invoice details with payment instructions |
| Payment received | SMS + Email | Payment confirmation receipt |
| Expiry reminder (3 days before) | SMS + Email | Renewal reminder with pay link |
| Expiry reminder (1 day before) | SMS + Email | Urgent renewal reminder |
| Expiry day | SMS + Email | Final reminder before service restriction |
Platform fees and settlement
The lines below describe how money flows between FyberPay and your ISP (not between you and your subscribers).Monthly platform fee
A flat monthly fee tied to your tier (Starter / Growth / Pro / Enterprise) plus a small per-active-subscriber charge. Exact numbers live at/pricing and on your My Billing page in the admin. Charged on the same day every month, on a platform invoice that you can settle via M-Pesa or bank transfer.
Transaction fee (centralized paybill)
When subscribers pay into FyberPay’s shared M-Pesa Paybill (4026145), FyberPay deducts 1% of each successful payment as a transaction fee. The fee is itemised on each disbursement and rolled into the monthly platform invoice.
ISPs running their own Daraja credentials in direct mode pay no transaction fee here. See M-Pesa Integration → Centralized vs Direct for the choice between modes.
Hotspot commission
A percentage of hotspot voucher revenue, accrued per voucher purchase and billed monthly on the platform invoice — not deducted at payment time. The rate is configured per-org; see your My Billing page for the current rate.Settlement destination
Centralized-mode payments collect into FyberPay’s paybill, then disburse to the ISP the next business day. The destination is configured at Settings → Billing → Settlement destination:- M-Pesa Paybill – your Safaricom paybill plus an account name.
- M-Pesa Till (Buy Goods) – a till number (e.g.
5332138). No account-number suffix. - Bank via Tuma – Tuma-handled payout to a Kenyan bank account.
MissingSettlementPaybill on the disbursements dashboard, and funds stay parked until you fix it.
Next Steps
M-Pesa Integration
Set up STK Push, Bill Manager, and payment reconciliation.
Dunning Automation
Configure automated payment retries, walled garden, and suspension rules.