Skip to content
HeuriTel
Sign in
Product 06

Revenue, Risk and Assurance

Reconcile what was provisioned, charged and billed, classify every difference as an exception or a known difference, quantify the modelled exposure, and propose who should investigate first — never automatic financial action.

Runnable demonstrationintegrated workflowThe stages are joined by persistence, identity and authorisation inside the platform. This does not mean integrated with an operator system.

A journey you can run end to end on a synthetic dataset for your market, today.

Internal, simulated and disconnected. Exposure is modelled, never recovered; no correction, case or request has been sent to a billing, charging or finance system.

The journey runs on a synthetic three-ledger sample dataset — or on a generated sample for a visitor's market, or on a ledger workbook an operator returns. Every figure is labelled with the dataset it came from.

Run the Revenue Assurance demonstration Open the sample-data studioDownload the populated synthetic workbook

The demonstration needs a verified work email; the studio and the workbook need nothing. Demonstration ledgers; no billing, charging or finance system is connected.

The problem

Three ledgers that should agree, and do not

  1. Provisioningsays a service is live
  2. Chargingsays it was charged
  3. Billingsays what reached the bill

At month end each system is right about itself and they disagree with each other. A service charged and never billed is revenue earned and lost; one billed and never provisioned is a customer paying for nothing; a value that differs, or a charge raised twice, is a dispute waiting to happen. Some differences are known and accepted by finance already — and a known difference with no valid reason is an exception, not an explanation. The product reconciles the three, classifies every difference, values it, and proposes who should investigate first. It never corrects a bill.

What it computes

On the canonical synthetic sample, today

  • Matched services4 of 9agree across provisioning, charging and billing
  • Classified exceptions5Duplicate charge · Charged, not billed · Value mismatch · Billed, not provisioned
  • Known differences1suppressed with a valid reason, 300 KES counted apart
  • Modelled exposure6,550 KESCharged, not billed 3,700 KES · Billed, not provisioned 1,200 KES · Value mismatch 450 KES · Duplicate charge 1,200 KES · Known difference (suppressed) 300 KES
  • Proposed ownerBilling operationsinvestigate first; a proposal to a person, never an action
  • Source evidence12 rowsledger id and record key behind every exception

Sample dataset RA-SYNTH-EA v1, period 2026-08, KES. Modelled exposure is modelled: nothing has been recovered, prevented or realised.

Modelled exposuremodelled amount
6,550 KES

Across 9 services, period 2026-08

Modelled by heuritel.ledger-reconciliation.engine v1 · rules RA-M1, RA-M2, RA-M3, RA-M4, RA-M5 · disconnected. Not recovered, not prevented, not realised.

Explained by known differencesexplained amount
300 KES

Across 1 of 6 differences, period 2026-08

Counted apart from exposure; a suppression with no reason or past its date counts for nothing.

Exceptions standingexceptions
5

Across 9 services, period 2026-08

2 charged, not billed · 1 billed, not provisioned · 1 value mismatch · 1 duplicate charge.

Matched across all three ledgersof services
44%

Matched 4 of 9 services, period 2026-08

1 matched with a timing note; 0 checks refused.

Exceptions by categoryCharged, not billed is the most frequent difference, 2 of 6.
Exceptions by category: Charged, not billed 2; Billed, not provisioned 1; Value mismatch 1; Duplicate charge 1; Known difference (suppressed) 1Charged, not billed2Billed, not provisioned1Value mismatch1Duplicate charge1Known difference (suppressed)1
Exceptions by category
CategoryCount
Charged, not billed2
Billed, not provisioned1
Value mismatch1
Duplicate charge1
Known difference (suppressed)1
Modelled exposure by category (KES)Charged, not billed carries the most, 3,700 KES of 6,550 KES. Modelled, not recovered.
Modelled exposure by category (KES): Charged, not billed 3,700 KES; Billed, not provisioned 1,200 KES; Value mismatch 450 KES; Duplicate charge 1,200 KESCharged, not billed3,700 KESBilled, not provisioned1,200 KESValue mismatch450 KESDuplicate charge1,200 KES
Modelled exposure by category (KES)
CategoryKES
Charged, not billed3,700 KES
Billed, not provisioned1,200 KES
Value mismatch450 KES
Duplicate charge1,200 KES
Match status4 of 9 services agree across provisioning, charging and billing; 5 do not; 1 are explained.
Match status: Matched across all three 4; Exception standing 5; Explained and suppressed 1Matched across all three4Exception standing5Explained and suppressed1
Match status
CategoryServices
Matched across all three4
Exception standing5
Explained and suppressed1
Suppression2 known differences refused — no reason, or past its date — so those exceptions stand.
Suppression: Known difference applied 1; Known difference refused 2; No known difference 3Known difference applied1Known difference refused2No known difference3
Suppression
CategoryExceptions
Known difference applied1
Known difference refused2
No known difference3

Recommendation · investigate

Investigate first: charged, not billed

Proposed owner Billing operations

5 exceptions stand, worth 6550 KES of modelled exposure, led by unbilled charge on SVC-1008 (2500). Proposed first owner: Billing operations. Modelled, not recovered.

  1. 1EX-005 · SVC-1008 · Charged, not billed · 2,500 KES · rule RA-M1
  2. 2EX-001 · SVC-1005 · Duplicate charge · 1,200 KES · rule RA-M5
  3. 3EX-002 · SVC-1002 · Charged, not billed · 1,200 KES · rule RA-M1
  4. 4EX-006 · SVC-1009 · Billed, not provisioned · 1,200 KES · rule RA-M2
  5. 5EX-003 · SVC-1004 · Value mismatch · 450 KES · rule RA-M3

A proposal for a person to take up. Nothing here raises a case, corrects a bill or calls a system; approval below records a decision about the proposal and changes no ledger.

Not implemented

Outside this product's contract

  • Live connectors No billing, charging or provisioning system is read; provenance.connection is always disconnected.
  • value.recovered Revenue recovered or prevented as a result of the exceptions found.
  • execution.request A request to a billing or charging system to correct what the exceptions found.
  • execution.receipt A receipt from a billing or finance system confirming a correction or a case.
  • outcome.observed Revenue actually recovered, prevented or written off after investigation.
  • attribution Attribution of a recovery to this run's exceptions.
  • reconciliation Completion of the reconciliation against the operator's own ledgers — corrections made and the difference closed.
Technical detail

Inputs, decision logic, systems touched, records kept

What do the three ledgers carry?

The canonical sample dataset RA-SYNTH-EA v1

  • 9 services across provisioning, charging and billing, period 2026-08
  • Amounts in KES, whole units; the sample's own currency, not a market's
  • Known differences carried as their own sheet, each with a reason code and a validity date

Workbook

  • Schema heuritel.ledger-reconciliation.dataset v1 · template v1
  • Provisioning, charging, billing and known-differences sheets carry data; the manifest, guide, dictionary, scenario and expected-outputs sheets do not
  • A public copy is issued to the public sample tenant and is refused by the private review; an organisation's workbook is refused by the public one

Synthetic, authored by HeuriTel. A generated sample for a visitor's market prices from that market's researched packs and converts nothing.

Delivery

Four steps, and what is true of each one today

  1. 01 Scope

    Demonstrated now
    Three ledgers, five matching rules and a suppression policy, versioned; a scenario profile with tolerances and a timing window.
    Configured during a pilot
    The operator's own tolerances, timing window and known-difference reasons agreed and versioned.
    Required for production
    A scope with an accountable revenue-assurance owner.
  2. 02 Connect

    Demonstrated now
    A workbook: the populated sample downloads, an edited copy is validated, accepted as a version and run. No system is read.
    Configured during a pilot
    Indicative extracts of the three ledgers for a period, through the same validation.
    Required for production
    Live connectors. Not built.
  3. 03 Validate

    Demonstrated now
    Source completeness, key quality, suppression validity and ownership, on every pack; a run replays from its snapshot.
    Configured during a pilot
    The operator's completeness and key-quality thresholds, enforced the same way.
    Required for production
    Reconciliation completed against the operator's own ledgers. Not built.
  4. 04 Operate

    Demonstrated now
    A proposed owner and a recommendation, decided by a second person on the journey; the ledgers unchanged by it.
    Configured during a pilot
    Exceptions reviewed against the operator's policy; still nothing corrected.
    Required for production
    Correction requests, finance cases, recovered value, observed outcome, attribution. Not implemented, by contract.
Who it is for

Buyer and operator

Buyer
CFO, Revenue Assurance Director and Risk / Fraud Director
Operated by
Revenue assurance, finance and fraud analysts
Intended outcomes

The result this product produces

  • Every difference between the three ledgers classified, valued and traced to the source rows it was built from
  • Known differences suppressed only with a valid reason, and reported apart so a suppression cannot lower the exposure quietly
  • A proposed investigation owner and a recommendation a second person decides, with the ledgers unchanged by the decision
Evidence

Built today

  • Three ledgers are reconciled by versioned matching rules and a suppression policy, deterministically. app/_lib/demo/reconciliation.ts
  • A second registered product contract, with its own schema, scenario profile and output contract. app/_lib/contracts/revenue-risk-and-assurance-outputs.ts
  • A returned ledger workbook is validated, accepted as an immutable version, and a run is stored from it. app/_lib/demo/ledger-pack.ts
  • A public synthetic sample can be downloaded, edited and reviewed without a session, and nothing is kept. app/_lib/demo/sample-endpoint.ts
  • The journey: overview, charts, exception workbench, drill-down to source rows, and the decision on a saved run. app/_components/demo/ReconciliationJourney.tsx
  • The Revenue Assurance and Anomaly Operations offer runs end to end on /operator/trust/reconciliation: its workbook is registered with schema heuritel.ledger-reconciliation.dataset v1 and engine v1. app/_lib/demo/reconciliation.ts
Not built

Still to build

  • Live connectors: no billing, charging or provisioning system is read; every run computes from a synthetic sample, a generated sample or a returned workbook
  • Billing correction and finance-case creation: the recommendation proposes; nothing is requested of or received from an operator system
  • Recovered value, observed outcomes and attribution: exposure is modelled, and no recovery is recorded against a run
Where it is sold

Propositions that include this product

  • Operator-branded Consumer AI PacksSell subscribers an AI allowance the way you sell a data bundle — your brand, your currency, your payment methods, your safety policy.
  • OTT, Content, Sports and Gaming BundlesSell partner content as operator bundles, with rights, entitlement, cancellation and partner margin handled.
  • Customer-care AI Resolution AssistantResolve more contacts at first touch, with the agent in control and every action evidenced.
  • Revenue Assurance and Anomaly OperationsFind revenue leaking between systems, and evidence the recovery.
  • Network Intelligence and Open Gateway ServicesTurn network capability into services enterprises can buy, with operator policy and commercial control intact.
All propositions
Catalogue

Streams beneath this product

Workspace

The workspace for this product

One workspace screen belongs to this product. It opens for a member of an organisation whose subscription includes it.

Provenance

Sources of this description

  • PRODUCT_06_REVENUE_RISK_AND_ASSURANCE.md §1 Paid product proposition, §6 Reconciliation rules
  • app/_lib/contracts/revenue-risk-and-assurance-outputs.tsthe output contract that names what is computed, persisted and not implemented

Next steps

See HeuriTel configured for your organisation

Verify your work email to open a demonstration configured for your organisation.