A three-step generate flow with duplicate prevention per billing cycle. Force-override for testing. Postpaid, prepaid, wallet-backed. Reseller price books enforced on write. Zoho Books sync ready.
Uniqueness constraint on (subscriber, cycle). Same subscriber can't be billed twice for August. Force-override is explicit and audited.
If a subscriber belongs to a reseller with a custom price book, the override applies at invoice generation. Portal preview matches billing reality.
Recurring monthly. Balance-based deduction. Voucher top-ups. All settled against the same subscriber ledger with a single source of truth.
Correct a mistake without breaking the audit trail. Original invoice preserved, credit issued, delta reflected on the ledger.
Logo, address, TRN, colours. Rendered at generation. Sent via SMTP (Resend) or downloaded on demand.
Push invoices, payments, credit notes upstream. Reconciliation view flags mismatches. Native UAE VAT.
Gentle reminder on day 3. Final warning on day 7. Suspend on day 14. Or hand the whole thing to Mira, who picks per-subscriber based on payment history and the size of the debt.
See Mira Dunning