What open source subscription billing has to handle
A subscription is rarely static. Customers move up a plan, move down, suspend for three months, swap a device, cancel mid-cycle and come back. Most billing systems handle the first purchase well and everything afterwards badly. Open source subscription management in OpenBRM is built for everything afterwards.
OpenBRM treats the whole lifecycle as first-class. Every operation around a customer's subscription is a supported action with a defined effect on the next invoice: change plan, upgrade, downgrade, cancel, activate and inactivate. Each carries a provisioning hook, so the change can be pushed to your network or platform at the same moment it is recorded for billing.
Operations you get out of the box
- Change plan, upgrade and downgrade, with proration handled on the next billing run
- Activate and inactivate, each with its own provisioning hook
- Cancellation, including mid-cycle cancellation and end-of-period cancellation
- Link a device to a subscription, or swap the associated device without re-creating the order
- Manage bundled credits — included minutes, data or units that reset on the customer's own cycle
Billing cycles that follow the customer
Each customer bills on their own cycle rather than on a single company-wide run. The billing process picks up recurring subscription charges, one-off charges, pre-paid balances and rated usage, and combines them onto a single invoice for that customer's period. Invoice numbering, collections and dunning are configurable rather than hard-coded.
That matters when you run mixed business models — a customer on a monthly broadband plan with a one-off installation fee and metered overage should receive one invoice, not three.
Order periods and collections
Billing frequency is set with order periods, which can be any number of days, weeks, months or years, so monthly, quarterly and annual plans run side by side. When an invoice goes unpaid, the collections process takes over with steps you define: a grace period, payment retries, reminder notifications and, as a last step, suspension of the account. Each step runs a set number of days after the due date.
Provisioning without a middleware layer
Because the provisioning hooks are part of the subscription operations themselves, there is no separate orchestration layer to keep in sync. A downgrade recorded in OpenBRM is the same event that tells your platform to change the customer's service level. For teams that have run a billing system and a provisioning system side by side, this removes an entire class of reconciliation bug.
Where to go next
Subscription charges, rated usage and one-off fees land on the same invoice, so the subscription manager is part of a complete open source billing platform and open source invoicing platform rather than a bolt-on. The same open source billing software also serves operators that rate usage. The billing process, invoice numbering and collections configuration are all covered in the documentation. If you need behaviour that is specific to your business, the plug-in system lets you replace the relevant step rather than fork the product.
Billing process documentation · Plug-in system · Product bundling
Subscription management is one layer of OpenBRM's open source BSS. Comparing platforms? Read OpenBRM vs Oracle BRM.