Billing & Revenue  /  The money layer

Revenue control, down to the cent.

Dual billing engines, rule-based pricing, automated bank reconciliation. Multi-currency, multi-rail, multi-region from day one. No manual overrides, no spreadsheet reconciliations, no payment-matching by hand at month-end.

Multi-engine Multi-currency 6 payment gateways Smart Price Matrix DDO lifecycle Auto-reconciled
Why this is hard

ISP billing is harder than it looks.

Plans change mid-cycle. Customers upgrade on day 18. Loyalty discounts compound across periods. New contracts join in the middle of the month. Payments arrive via bank statement, terminal, mobile money, online card, and a regional payment network you've never heard of, in two currencies, against three plan types and a Smart Price Matrix that has to honour the start date of the original promotion.

Each of these is a small problem. The compound effect is what runs your finance team into the ground at month-end.

ISPCQ models all of it as one ledger. Every charge, credit, payment, and adjustment is a row tied to a contract. Proration is a calculation, not a decision. Payment matching is a rule, not a meeting. The supervisor dashboard reconciles per-cashbox at end-of-shift, not per-spreadsheet at end-of-quarter.

Every claim on this page is shipped today, used in production, billing real customers in real currencies under real regulators.

Billing engine

Flexible billing for real ISPs.

Two billing engines, rule-based pricing, automated reconciliation, six payment gateways. Configuration adapts; code stays the same.

01
Calendar + periodic billing
Two engines, one ledger

Calendar billing runs on the 25th of each month, grouping all unbilled ledger entries per customer for the cycle that covers the 25th through the 24th. Payment runs to a grace day on the 5th of the following month. Periodic billing runs on each contract's anniversary date. Both share the same ledger, the same rules, the same currency engine.

  • Calendar cycle: invoice on the 25th, 25th–24th coverage, grace to the 5th
  • Periodic billing on contract anniversary
  • Five invoice types: auto, auto-1st, manual, proforma, reversal
  • Batch generation with live progress and email queue
02
Smart Price Matrix
Promotional rules with start/end dates

Promotional rules with start and end dates, plan-group scoping, customer-segment targeting, and exclusion logic. The matrix is the source of truth for pricing; staff query it via Aelita ("what promos are running right now?") to confirm live rules.

  • Promo rules with start/end dates and plan groups
  • Auto-prorating discounts on mid-cycle plan changes
  • Loyalty stack: multiple discounts compound correctly
  • Temporary-product promo claims — a customer can claim a time-boxed product (e.g. a Premium boost) that the system bills at the promo price and then reverts automatically on a month-aligned end date, with no staff action.
  • Pricing changes don't require deploys; configuration is the policy
03
Auto-reconciled bank import
332 of 340 matched without a human

Bank statements import nightly. The auto-matcher pairs payments to invoices by reference, amount, and date heuristics. Unmatched payments land in a pre-processing queue. Each exception comes with the probable matching invoice, the customer's contract status, and recent support interactions, so the finance clerk resolves in seconds, not in spreadsheets.

  • Multi-channel ingest: bank, EasyPay, ePay, Stripe, MoMo, MoSA
  • Pre-processing queue: approve, re-process, reverse, flag as internal
  • Aelita Billing Exception Radar surfaces ageing exceptions automatically
  • Unmatched payments never silently pollute the ledger
04
Six payment gateways, regional rails
Stripe, FNB, ePay, MoSA, iKhokha, MoMo

Different countries collect differently. ISPCQ supports the rails that actually work where you operate.

  • Stripe: online card, subscriptions, admin payment links
  • FNB Bank: South African debit orders, EFT, statement import
  • ePay/EasyPay: Bulgaria's largest electronic-payment network
  • Bulgarian Posts (MoSA): payment at 3,000+ post office branches
  • iKhokha: South African POS terminals for in-person card
  • Mobile Money (MoMo): push-to-phone via MTN, Telecel, AirtelTigo
05
DDO batch lifecycle
Generate / review / download / submit / assign

Direct Debit Orders follow a five-stage lifecycle. Generate the batch from current balances. Review individual records. Download in the bank's required CSV format. Mark as submitted. Assign payment results back from the bank's response file. Failed debits are imported via the DDO reject file and flagged for follow-up. Collections run on the 3rd and 15th.

  • 5-stage lifecycle, audited at every step
  • DDO reject import with automatic flagging
  • Dual collection dates: 3rd and 15th
06
Contract bundles
Multiple contracts, one combined fee

Group multiple contracts under a single combined billing line: a customer with a fibre line, a CATV subscription, and a static IP add-on sees one invoice with one total. Each underlying contract retains its own status, network provisioning, and lifecycle, but billing is consolidated.

  • One invoice per customer, regardless of contract count
  • Each contract retains its own provisioning lifecycle
  • Auto-prorates correctly when a single contract is added or removed mid-cycle
07
Supplier module & unified ledger
Receivables and payables in one stream

The supplier side mirrors the customer ledger. Supplier accounts hold vendor details with aggregated statement generation. Purchase transactions record outgoing payments. An Account Transactions view unifies all money movement (sale, purchase, refund, internal transfer, DDO) in one filterable stream.

  • Supplier accounts with aggregated statements
  • Purchase transactions by method, card, department
  • Unified Account Transactions view (in / out / internal)
08
Internal Credit Transfer
Move credit between customers, no refund dance

Move account credit from one customer to another without a refund-and-recapture dance. Pick the source and destination by name or UCN, see a live before-and-after balance preview, and on transfer the receiving account is automatically re-checked so a suspended service can resume — every move written to a full audit trail.

09
Optional prepayment offers
“Pay 6, get 7” tiers — settle later, no commitment

Staff can hand a customer a multi-month prepayment offer that sits open in the payment gateway alongside the regular bill but does not activate or extend service until it's actually paid — so making the offer commits nobody. Pick a discount tier ("Pay 6, get 7", "Pay 10, get 12"), the fee computes itself from the contract's monthly rate, and the offer goes out clearly marked OPTIONAL so it can never be mistaken for the mandatory monthly bill.

  • Configurable prepayment tiers: pay N months, receive N+bonus of service
  • Offered from sales, the customer dashboard, or the bill form — one click
  • Defers activation: service extends only when the customer pays, re-anchored to their current paid-through date
  • Triple double-payment guard: auto-removed, hidden at the gateway, and rejected at settlement if it ever overlaps a regular bill
10
Permanent contract migration
Product-line refreshes that fire when the bill is paid

Move a whole product line onto new tiers without touching contracts by hand. A migration rule permanently swaps each matched contract to its new product at the moment the bill is paid online — one rule can map many legacy plans to their replacements in a single matrix. It's commitment-aware: customers still locked into a 12- or 24-month term are skipped until their commitment ends, and you can drop the migrated contract onto month-to-month so nobody is silently re-committed.

  • Migrate matrix: many source plans to their new tiers in one rule
  • Commitment-aware: locked-in customers skipped until their term is up
  • Fires on online payment; at the counter the contract is flagged for a formal re-sign first, never a silent swap
  • Every migration is journalled on the contract and logged in the audit trail
11
Pricing rule editor & promotion analysis
Experiment safely, see the financial impact

The Smart Price Matrix rule editor is built so a pricing author can experiment without fear. Before a rule goes live, a match preview shows exactly how many active contracts it would touch and a sample to test against; a diff-before-save dialog spells out every field that changed and throws a red warning on high-risk edits; and a per-rule history drawer records who changed what, when. Promotion Analysis then reports the financial impact of live promotions — KPIs, monthly trends, product mix, and retention — over any date range.

  • Match preview: see how many contracts a draft rule would affect before saving
  • Diff-before-save with red warnings on high-risk changes
  • Per-rule history drawer: full audit of every edit
  • Promotion Analysis: impact KPIs, trends, product mix, and retention by date range
Real-life scenario

Mid-cycle plan change. How proration actually works.

The situation. Customer Maria is on a 50/25 Mbps plan at €29.90/month, billed on the 1st. On March 18th, she calls to upgrade to 100/50 Mbps at €39.90/month. She also has a "Loyalty Discount" of €5.00/month applied 8 months ago with no expiry.

What ISPCQ calculates. For March 1 to 17 (17 days), Maria owes the old rate: €29.90 × 17/31 = €16.40. For March 18 to 31 (14 days), she owes the new rate: €39.90 × 14/31 = €18.02. The loyalty discount applies proportionally to both periods. Her March invoice shows the old plan credit, the new plan charge, the discount breakdown, and the final amount. No manual adjustment needed.

What the support agent sees. A clear timeline showing the plan change date, the proration calculation, and the next full-month invoice date. If Maria calls to ask "why is my bill different this month?", the agent can explain every line item in 30 seconds. Aelita's Billing Analyst capability can also draft that explanation as a customer-facing email.

Cashbox supervisor

Walk-in payments, multi-cashbox, multi-currency.

Cash sessions, multi-location reconciliation, four-role separation, full audit trail. Managed from a single supervisor view.

01
Session management
Open with float, close with cash count

Every cashier opens a shift session with a starting float; in dual-currency mode, opening amounts are entered per currency with separate denomination tracking. Cash or EFT payments are recorded against customer invoices. At shift close, a cash-count form (by denomination, per currency) compares physical to expected balance. Variances flagged and linked to the cashier.

  • Dual-currency sessions with per-denomination cash count
  • Operator / Collector / Supervisor / Admin role separation
  • Auto-close detection with next-session verification
02
Storno & payment audit
2FA-gated reversals with reason codes

Every payment recorded with officer, method, invoice, and timestamp. Reversals require one of three reason codes (91 Return/Claim, 92 Operator Error, 93 Tax Base Reduction). 2FA supervisor approval. 7-day window from the original payment. Telegram notification on submission and approval. Automatic reversal chain: payment, bills, invoice all unwind together.

  • Reason codes 91/92/93 with 2FA supervisor approval
  • 7-day reversal window with automatic expiry
  • Automatic reversal chain across payment, bills, invoice
  • Full transaction-level audit trail with Telegram alerts
03
Petty cash & installments
Document-type enforcement, plan progress cards

Petty cash handles small operational payouts directly from the drawer. Each withdrawal records the agent, amount, reason, and expected document type (Receipt, Invoice, or None). When the agent returns, the operator records the amount spent, cash returned, and attaches supporting documents. Document totals must match. Installment plans appear as cards per customer with plan progress, instalment count, and next-due payment selectable from a dropdown.

  • Petty cash with document-type enforcement and return reconciliation
  • Supporting document attachment with total validation
  • Installment plan cards with per-instalment payment selection
  • Online installment obligations now bill each installment as it falls due (about ten days ahead) instead of demanding the whole plan up front at the payment gateway.
04
Supervisor dashboard
Multi-cashbox aggregated KPIs, live refresh

Supervisors and finance managers see an aggregated view across all cashbox locations in three display modes: Full, Minimal, or Table. Aggregated KPIs (Total In, Total Out, Net Balance, Cash In Open, Open Cashboxes, Transactions, and a consolidated Internal Transfers card breaking down Sent, Received, In Transit, and Reserved) refresh automatically with dual-currency breakdowns. Pending Approval Panels surface storno and credit-note requests awaiting 2FA approval. Drill into any cashbox session by date.

  • Multi-cashbox aggregated KPIs with live refresh
  • Pending storno and credit-note approval panels
  • Drill-down into any cashbox session by date
  • Three view modes: Full, Minimal, Table
05
Cashbox reports
All Transactions / By Cashbox / By Officer / By Type

Four dedicated report views give finance complete visibility. All Transactions shows every cash movement across all locations. By Cashbox breaks down per physical register. By Officer tracks individual cashier performance. By Type segments into customer payments, petty cash, collections, receipts, refunds, salary payouts. Multi-select filters and date-range presets (Today, This Week, This Month).

  • Four views with multi-select cashbox and date-range filters
  • Summary statistics with detailed drill-down tables
  • By-officer drill-down for performance reviews
06
Cashbox Collections
2FA pickup lifecycle for cash moved between cashboxes

Move physical cash from one cashbox to another under a controlled lifecycle. Request a collection against a named collector, destination cashbox, and amount — the system rejects amounts exceeding the drawer, per currency in dual-currency mode. A supervisor approves, the collector authorises pickup with a 2FA code from their authenticator, and the destination confirms receipt before the cash lands in its session. In-Transit and Reserved figures stay visible on the session header the whole way.

  • Status lifecycle: Requested → Approved → Picked → Received, with cancel rules per stage
  • Dedicated collector role with forced 2FA at pickup
  • Supervisor approval gate before any cash leaves the drawer
  • In-Transit and Reserved cash visible on the session header end to end
07
Credit Notes
Line-level invoice reversal with 2FA approval

Reverse specific lines of an invoice when only part of it needs correcting. Select the lines — already-reversed lines are excluded — pick a reason (service not delivered, billing error, contract cancellation, quality complaint, or other), and submit for supervisor approval. On 2FA-gated approval a reversal invoice is created for the chosen lines, the originals are marked reversed, and the balance updates. Invoices carry a Fully Reversed or Partially Reversed badge so staff see at a glance whether more can still be credited.

  • Line-level selection with five selectable reasons and optional notes
  • Fully Reversed and Partially Reversed badges on every invoice
  • Supervisor 2FA approval; denials require a reason
  • One active request per invoice; reversal invoices are excluded
08
Quick Sale / Walk-in POS
Counter retail — no customer account required

Not every counter transaction belongs to a contract. Quick Sale lets a cashier ring up a walk-in retail purchase — a SIM card, an accessory, a one-off item — straight from the cashbox counter without opening or attaching a customer account. The sale still posts to the session ledger like any other cashbox transaction, so it reconciles at shift close and shows up in cashbox reports alongside everything else.

  • Anonymous, no-account retail sale recorded directly at the counter
  • Posts to the same session ledger as account-based payments
  • Included in shift reconciliation and cashbox reports like any other transaction
Aelita on the billing layer

AI that knows your invoices and exceptions.

Aelita reads the same ledger your finance team reads. She drafts plain-language invoice explanations for customer-facing replies, detects pricing anomalies across cycles, verifies pro-rata calculations, and identifies SPM rule conflicts before they reach the customer.

The Billing Exception Radar continuously monitors for exceptions that need human attention: failed payment retries, expired payment methods, suspended accounts approaching grace-period limits, credit notes exceeding threshold amounts. Each exception comes with a recommended action and priority.

Drafts
Invoice explanations
Detects
Anomalies + SPM conflicts
Verifies
Pro-rata calculations
Surfaces
Ageing exceptions
Scans
Supplier invoices (Vision)
Quotes
Live promo rules