REVENUE CONTROL / BROWSER-LOCAL
How the reconciliation ledger is calculated
The engine validates first, then assigns events, resolves every effective price revision, rates exact decimal quantities and rounds once for each governed segment.
The deterministic sequence
- Validate unique event and invoice-line keys, non-overlapping invoice periods, types, currencies and timestamps.
- Reject gapped or overlapping tiers and conflicting effective price windows.
- Assign each event to exactly one
[period_start, period_end)interval. - Choose an exact customer price first, otherwise the meter default effective at each event timestamp.
- Rate each effective revision, apply its included quantity and minimum, then compare the exact summed minor units.
- Emit input hashes, normalized rows, selected pricebook rows and arithmetic trace behind every finding.
Finding classes
late_eventmissing_invoice_lineinvoice_period_unknownextra_invoice_linemissing_usageunbilled_usageunknown_priceambiguous_pricestale_price_idcurrency_mismatchamount_mismatchAn event without an invoice line is blocked because its billing-period allowance and minimum cannot be inferred. Duplicate keys and invalid rows stop before rating; they are input errors, not financial findings.
Limits
A blocked line is never included in an aggregate money claim. MeterProof does not infer a missing contract term, combine currencies or recommend an accounting action.