Services, subscriptions and billing brief
After a Won deal, the team must know what the customer bought, if the service is active, when it is renewed and what charge must be paid.
The problem
After a Won deal, the team must know what the customer bought, if the service is active, when it is renewed and what charge must be paid.
Examples:
- hosting with monthly payment,
- domain with annual renewal,
- website maintenance per quarter,
- software licenses per month,
- annual support contract,
- single installation or consulting service.
Product name
The basic navigation item is called Services. The company's page shows section Services & billing.
The main terms are:
- Service: what the business sells in its catalog.
- Customer service: a customer's specific agreement for a service.
- Charge: an amount expected to be paid at a specific date.
- Payment: recording that all or part of a charge was collected.
- Renewal: the date on which the service is renewed or expired.
We do not use the term Invoice in the first edition because we do not issue an official tax document.
Recommended domain model
Organization
-> ServiceCatalogItem
-> Company
-> CustomerService
-> Charge
-> PaymentServiceCatalogItem
Reusable list of products and services of an organization:
- name and description,
- internal code/SKU optionally,
- default net price,
- currency,
- default VAT rate,
- one-off or recurring,
- default billing interval,
- active/inactive.
CustomerService
The real deal with a specific company:
- catalog item and optional originating deal,
- custom display name,
- agreed net price, VAT and currency,
- one-off/monthly/quarterly/semiannual/annual/custom cycle,
- start date,
- next billing date,
- renewal/end date,
- auto-renew flag,
- active/paused/cancelled/expired status,
- assigned owner,
- operational reporting, e.g. domain or hosting account,
- internal notes.
The price is copied to customer service and is not read dynamically from the catalogue. Future price change must not change existing agreements.
Charge
An expected charge:
- service,
- coverage period,
- due date,
- immutable net, VAT and gross snapshots,
- upcoming/due/overdue/partially_paid/paid/waived/cancelled status,
- paid amount and outstanding amount as derived values.
Old charges are not recalculated when the service changes.
Payment
An actual collection corresponding to charge:
- amount and payment date,
- payment method,
- external reference,
- note,
- recorded by and timestamps.
We do not store simple boolean paid. We allow more than one payment to support partial payments and corrections without loss of history.
Basic workflows
Add Active Service
- User opens company.
- Chooses service from the catalogue or creates customer service.
- Confirms price, VAT, billing cycle and first charge date.
- The system creates only the first charge, not unlimited future registrations.
Payment recording
- User opens due/overdue charge.
- Chooses
Record payment. - It records amount, date, manner and reference.
- The system calculates the paid/partially_paid status.
- When settling the charge, the next charge is planned with Idempotent way.
Renewal
- They appear upcoming renewals for 30/60/90 days.
- Manual-renew service requires user decision.
- Auto-renew service continues billing schedule until cancellation/end date.
- Cancellation does not delete old charges or payments.
Won deal conversion
A Won deal can optionally create customer service through an explicit action. It is not automatically created before the user confirms service, billing cycle and start date.
Original Screens
- Services catalog: reusable services of organization.
- Customer services: all active/paused/expired agreements.
- Payments due: upcoming, due, overdue and paid charges.
- Company / Services & billing: services, related charges and payment history of the customer concerned.
Create and edit flows open in MUI drawers. Tables, date pickers, menus and feedback use the established library and existing design system.
Business metrics
- Monthly recurring revenue per currency.
- Amount due and overdue per currency.
- Renewals in the next 30/60/90 days.
- Active services per company.
- Churned/cancelled services without being presented as accounting metrics.
We don't add different currencies and we don't include VAT in revenue.
Tenant and performances
- All records are explicitly owned by organization.
- Company, deal, owner and catalog item must belong to the same organization.
- Reads/writings pass through membership capitalities.
- Organisation IDs of payload are not considered reliable.
- Payments shall not be silently deleted; corrected with acoustic reversesal or cancellation in next version.
Acceptance criteria for first edition
- Create and edit catalog service.
- Recurring or one-off service assignment to company.
- Automatic net/VAT/gross calculation.
- Create the next charge without duplicates.
- View upcoming/due/overdue charges.
- Record full and partial payment.
- Automatically update charge status from payments.
- Pause/cancel service without loss of history.
- Tenant isolation and role implementation.
- Company-level and organization-level views.
- Business documentation and full test coverage of financial invariants.
Except for first issue
- Invoice/receipt/credit note version.
- myDATA or online accounting platform.
- Payment Gateway and automatic banking deal.
- Dunning emails and automatic card collection.
- Revenue recognition and double-entry accounting.
- Usage-based pricing, Tiered pricing and complex promotion.
- Multi-currency conversion.
First adoption decisions
- Only default billing interfaces are used.
- Each payment belongs to a charge. One charge accepts partial payments.
- A unpaid charge becomes overdue the next day from the due date.
- CRM management right roles can record payments.
- A general operational reference is used.
- The next recurring charge is created idempotently only after full repayment of current.
Bubllio CRM pilot roadmap
This roadmap describes what Bubllio needs to be tested by real customers. It's not a list of possible ideas. It is the agreed series in which we complete the basic daily workflows of a CRM.
License
The Elastic License 2.0 terms and what they mean for developers, agencies, and clients.
