Skip to content
django-nms

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.