Billing and invoicing
The invoice follows the contract. Always.
django-nms generates one invoice per contract per month, from the services attached to that contract, at historically frozen prices. Zero manual line items.
- Payer and service recipient separated: the company pays, the apartment uses
- Multiple selling entities with their own prefixes, bank accounts and e-invoicing credentials
- Accounting date: the system behaves as if it were any day in the past
What is inside
-
Recurring invoices
For every active contract: subscriptions, unpaid one-off services, VoIP lines and call charges from CDRs. 14-day due date, sale date on the first of the month.
-
Numbering per selling entity
Separate prefixes for private and business customers, gap-free sequences. Corrections, notes and cash receipts with their own series.
-
Corrections and notes
Corrective invoice with a plus or minus difference, linked to the original e-invoice number. Text-only correction note with PDF.
-
Balance and cash receipts
Income and outcome ledger per payer. Numbered cash receipts with PDF. Balance report with reminder and block buttons.
-
VoIP billing
CDR import from two carrier formats, invoice line equal to the call cost, itemised call list as PDF in the e-mail.
-
Invoice PDF
Amount in words, VAT summary per rate, balance, issuer signature, e-invoice QR code. Merged PDF for printing, split by prefix.
-
Multi-seller
One panel, several issuing entities: registration data, accounts, e-mail footers, contract templates, e-invoicing certificates.
-
Accounting date
Global override of "today": active contracts, current invoices and generation computed for the chosen period.
-
Planned
Online payments
Mollie gateway first, then local gateways. On the roadmap.
Contracts with templates, attachments and automatic renewal
A contract has a configurable numbering scheme, a selling entity, a state, a TinyMCE template with documented variables, attachments and a previous/next chain. Services on the contract carry technology, percentage discount, network node and installation address.
30 and 5 days before expiry the customer gets an e-mail. After expiry the system creates the next contract (with or without discount) and sends a confirmation. Changing a service on the contract syncs the lines on unsent invoices.
- Contract, equipment agreement and termination PDFs from one template
- Mass e-mailing of documents with preview
- Full data export to CSV
Customer balances: who is behind, since when and by how much
The "Customer balances" list shows the current balance, the last invoice, its due date and a status: OK, overdue, long overdue. Filter by selling entity, status or location. From the same list you send reminders and block debtors.
- Status computed from the ledger and invoice due dates, no manual flags
- Balance report as HTML and CSV per selling entity
- Soft delete of customers with restore
Billing questions
Are proformas and pro-rata billing supported?
Not at the moment. Invoices cover full months. Proformas and pro-rata are on the roadmap, after the payment gateway.
Can the system handle several brands or companies?
Yes. Each selling entity has its own data, numbering prefixes, bank accounts and e-invoicing configuration. Tax reports are generated per prefix.
How are payments posted?
From bank statements (CSV parser), manually or via cash receipts. Every payment is a ledger entry linked to an invoice.
See the billing cycle live
We will generate a month of invoices on test data and show every step.