"The test of a first-rate intelligence is the ability to hold two opposed ideas in mind at the same time and still retain the ability to function." — F. Scott Fitzgerald

One meter read. Two positions: what the customer owes you, what you owe the grid.

The Visibility Gap

Metering in one system. Billing in another. Collections somewhere else. When something falls off the conveyor belt, you find out weeks later.

Read-Bill-Collect looks simple on a slide. In reality, exceptions cascade through siloed systems until someone notices a spreadsheet doesn't balance.

Read

Quality-aware measurement

In energy, truth comes in degrees. Forecasts, estimates, actuals, validated reads. You bill on the best available - but do you know how exposed that leaves you?

Meridian tracks confidence at the ledger level, not as a bolt-on. Every position carries its quality: Forecast, Estimate, Actual, Verified. When estimates become actuals, the ledger reloads automatically. You always know what you knew when.

Traditional Approach

  • Meter read fails → Log entry
  • Bill on estimate, hope for the best
  • Actual arrives → Manual reconciliation
  • Can't prove what you knew then

Meridian Approach

  • Missing read → Open position
  • Bill with visible certainty level
  • Actual arrives → Automatic reload
  • Full bi-temporal audit trail

What you could query: Meter Quality by Customer

CustomerMetersActualEstimateMissingFit to Bill
Acme Ltd3210Yes
Beta Corp12831Partial
Gamma Industries474160Yes

"What percentage of my meters are fit to bill today?" - one query, not a BI project.

Bill

One reading, multiple valuations

A meter read isn't just consumption. It's revenue at the customer's tariff. It's cost at the GSP wholesale price. It's margin that changes with market conditions.

Meridian's architecture lets one input fan out to multiple financial positions. Double-entry bookkeeping, but for energy: every read creates receivables from customers and payables to the grid. The spread is your margin - visible now, not at month-end.

Meter Read Positions Created
100 kWh @ Actual Customer: 100 kWh × 24p = £24.00 DNO: 100 kWh × 28p = £28.00 Margin: -£4.00

This customer is underwater. You know it at the moment of consumption.

What you could query: GSP Exposure

GSPVolumeWholesale CostBilled RevenueMarginCertainty
_P (South Wales)890K kWh£231,400£213,600-£17,800Actual
_N (South Western)1.2M kWh£264,000£288,000£24,000Actual
_M (Midlands)2.1M kWh£483,000£504,000£21,000Estimate
Total4.19M kWh£978,400£1,005,600£27,200Estimate

"Which GSP is hurting us?" - internal accounts for each DNO make this a table, not a project.

Collect

Receivables as positions

You've billed. But has the money arrived? Which invoices are outstanding? Which customers have meter issues AND payment issues?

The ledger tracks invoices raised vs invoices settled. Payments due vs payments received. Each customer can have multiple accounts - energy, standing charges, debt recovery. Cross-domain queries become simple: meter status, billing history, payment patterns in one view.

What you could query: Collection Position

CustomerInvoicedReceivedOutstandingMeter StatusRisk
Acme Ltd£12,400£12,400£0All ActualLow
Beta Corp£34,200£28,500£5,7001 MissingHigh
Gamma Industries£89,100£67,200£21,900All ActualMedium

Beta Corp: outstanding balance AND missing meter. Collections sees meter status. Metering sees payment history.

The Engine

MHHS means 48x the data with tighter deadlines. The architecture has to scale.

Meridian is a backend ledger engine - fast, auditable, quality-aware. The dashboards above are queries you build on top. The engine makes them possible.

sequenceDiagram
    participant Meter as Meter Read
    participant Meridian as Meridian
    participant Customer as Customer Position
    participant Wholesale as Wholesale Position

    Meter->>Meridian: kWh + Quality
    Meridian->>Customer: Revenue @ tariff
    Meridian->>Wholesale: Cost @ GSP price
    Note over Customer,Wholesale: Margin visible immediately
        

Event-Driven

Stream processing, not batch. Exceptions surface as they happen.

Bi-Temporal

What you knew when. Full audit trail for regulatory and dispute resolution.

Wash and Reload

Actuals arrive, positions reload. Full audit trail preserved.

Queries < 50ms • 1,000+ concurrent ops • 1,000+ TPS