Skip to content

Energy bill validation

Thirteen of fourteen lines agreed. The fourteenth is this page.

Every line is reconstructed from the contract, the consumption and the published charge that applied on that date, then compared in the order one error can cause another.

Identity → period → consumption → rates → arithmetic → credits

A validated invoice in Simplest Energy: billed 48,566.18 against an expected 48,470.28, a variance of 95.90, four of six check groups passed, and the DUoS red line billed at 4.368 p per kWh against a published 4.2
Billed £48,566.18 against an expected £48,470.28. A demonstration estate, not a customer.

Why a total is not a check

Most of the bill is set by people who are not your supplier.

And none of it has to appear on the invoice. Distribution charges change twice a year in each of 14 licensed areas; transmission, balancing and the levies each move on a calendar of their own, and are reconciled after the fact.

Ofgem does not require any of it to be itemised. Its own guidance says business bills “lack transparency, are difficult to understand, and are inconsistent in presentation across suppliers” (April 2024).

Three in four small and micro businesses say they have had a billing issue with a supplier, and most never complained (Citizens Advice, 2025). On a larger estate the twelve-month back-billing limit does not apply at all.

Most bill validation is variance analysis: flag what moved since last month. It finds the dramatic errors and is blind to the steady ones. A wrong rate, charged correctly every month, never moves.

The only way to know a bill is right is to rebuild it.

So it gets rebuilt.

From your contract, your meter and the rates the industry published, and every line that disagrees is named.

Every screen on this page is a real one. The figures are from a demonstration estate, not a customer.

One invoice, end to end

What happens to a bill between arriving and being paid.

Five steps, and the same invoice all the way down. Every screen below is a frame of it.

What arrives

A total, and a story that is missing.

An invoice states what you owe. It is not required to state how it was reached, and mostly it does not.

The invoice
Whatever the supplier sent, in whatever shape they send it: a PDF, a flow file, a spreadsheet, or figures keyed by hand when there is nothing else.
Your contract
Effective-dated terms and charges. A rate change mid-period is applied from the day it took effect, not smeared across the month.
Your meter data
Half-hourly where it exists, register reads where it does not. Where a figure is missing rather than zero, the bill is held rather than passed.

What is built

An expected bill, for the same period.

The two are then compared as documents rather than as totals, which is the only comparison that can say which line is wrong.

Published industry charges
Network and policy charges come from the tariffs published for that charging year and that network, held byte-exact as issued.
No silent rounding
Rates and quantities cross the calculation boundary as decimals rather than floating point. The only rounding is the final line amount, to whole pence, and it is stated.
Your tolerance, your policy
Set the tolerance and decide per check whether a difference fails, warns or is ignored. The defaults reproduce your existing behaviour exactly.

Where it is compared

Six questions, in the order one failure causes the next.

Ten symptoms never bury one fixable cause: the earliest failing check is tagged as the reason, and everything downstream of it as a consequence.

The validation checks open on an invoice: period warning that 151 days sit between bills, consumption passing on complete half-hourly data, rates and charges failing on one line, arithmetic and credits passing, and the comparison table beneath with the diverging rate digits marked
The period warning is marked fix this first, and the failed rates check is tagged a knock-on effect of it.

The line that differed

One rate, wrong in the third decimal.

The quantity agreed exactly. Only the price moved, which is the difference a total can never show you.

  1. Billed4.368p/kWh
  2. Published4.2p/kWh
  3. On one line+£79.92over the period

Both sides billed 47,574.912 kWh, agreeing to three decimals, so nothing about the meter was in question. The DUoS red rate on the invoice was not the one the network published for that band in that charging year, and that is the entire finding. The figures come from the demonstration estate on the screens above.

What happens next

From a failed check to money back.

A finding is only worth having if something happens after it. Three things do, and all three carry the working with them.

Query and track
A query is raised from the failing line with the evidence attached, and watched by age until it is credited or closed.
Approve and pay
Approved bills go to an accounts-payable export. A bill that failed does not slip into it by accident.
Answer to anyone
Budgets, accruals and the audit trail come from the same validated figures, so finance and energy are reading one set of numbers.
The bills register in Simplest Energy, listing invoices with their validation status and the number of open investigations
Every bill with its verdict, and how many findings are still open.
The invoice register in Simplest Energy, showing validation, approval and reconciliation states side by side
Validation, approval and reconciliation tracked separately, because a bill can be correct and still not ready to pay.

The engine

You provide the bill. We rebuild everything it depends on.

Your contracts, meters and invoices are the inputs only you hold. Everything else on the bill is rebuilt from the datasets that set it. What follows is the working: what is rebuilt, what it is checked against, how exact the arithmetic is, and where the engine stops.

Sources

  • Half-hourly meter data
  • Your contract rates
  • Published industry charges

Rebuilt

  • The bill you should have had
  • The bill your supplier sent

Compared

  • A verdict on every line
  • Held where a source has not settled
  • Query, or approve and pay

Every rate the engine used is inspectable, with its source.

The reference library is not a black box. The rates console looks up the exact row the engine priced against: pick the network, the line loss factor class and a date, and the stored Schedule-of-Charges values appear beside the time-of-use band definitions they came with. What you check the engine against is the same thing the engine read.

The rates console showing the stored DUoS Schedule of Charges row for the London network, LLFC 073, charging year 2025/26, with the time-of-use band definitions beneath it
The row a March invoice was priced from: London (UKPN), LLFC 073, charging year 2025/26. Red 4.2, amber 0.227, green 0.046 p/kWh, effective 1 April 2025 to 31 March 2026, with the band times beneath.

One rounding step, and you can name it.

An invoice with a held charge: billed, expected and variance figures plus a fourth, 991.93 of which held, and the CfD line reading no rate held
Four figures instead of three: billed, expected, variance, and £991.93 of which held. The CfD line reads no rate held because no reconciled daily rate has been published for any day of the period.

Held

What cannot be priced yet is held, not passed.

Some published figures are provisional by design. The engine says so instead of validating against a number that will change.

A CfD line billed on the interim rate is marked pending reconciliation; the engine then prices from the LCCC’s reconciled daily rates, and until those are published the line is held. Draft BSUoS tariffs are marked provisional the same way. The held amount is printed as its own figure, beside billed, expected and variance, so whoever approves the bill knows exactly how much of it is still an open question.

What the engine holds rather than guesses.

Non-commodity

That was one of thirty-three.

Commodity is the easy half. The rest of a UK business energy invoice is network, balancing, policy and tax, each priced from its own published source on its own calendar — the charges that change every charging year, arrive half-hourly, or reconcile long after the bill was paid. 33 charge types are modelled in all, distribution priced against the schedule each of the 14 GB network operators publishes.

  • Rebuilt from the source that set the charge, not compared with last month’s bill
  • Held for confirmation where no public source exists, with the reason stated
  • No silent rounding: the only rounding anywhere is the final whole-pence line

33

Charge types modelled

Counted from the engine’s own catalogue, not from a claim.

11

Priced from the published source

Bottom-up, with no contract rate involved at all.

3

Held rather than guessed

Each one named below, with the reason there is no source.

Recognising the line

A supplier's wording is not a charge type.

The same charge arrives under a different name from every supplier, and under a different name again once its rate period changes.

Wordings that differ only by the dates inside them are collapsed into one question, so a register holding hundreds of variants asks about the handful of charges actually behind them. Answer it once, for that supplier, and the next period’s wording resolves without asking again.

A line nobody has named yet is not quietly dropped into a general levy bucket. It is held as unrecognised and put in front of a person, because a charge absorbed into a total is a charge that stops being checked.

The charge mappings queue: supplier wordings clustered into single questions, each showing the charge type the product proposes and a control to confirm it
One wording standing for nine bills, another for sixteen wordings across seven. Each carries the charge the product thinks it is, and one press teaches it.

Simplest Energy validates 33 charge types across UK business electricity, gas and water bills. 11 are priced from published reference data with no contract rate involved: the Schedules of Charges of all 14 GB distribution networks, NESO’s TNUoS, BSUoS and AAHEDC tariffs, the LCCC’s CfD and Nuclear RAB levy rates, the Capacity Market supplier charge and Elexon’s settlement prices. The Climate Change Levy and VAT come from the statutory rate in force. Everything else is rebuilt from the customer’s own contract, with the quantities always taken from the meter, never from the bill. Where a figure has no public source, RCRC for example, the line is held for confirmation rather than guessed and the tables below say so.

3 charge types

Supply

What the supplier charges for the energy itself and for the supply point.

ChargeHow it is validatedBasisFirm or held
Unit rateYour contract, per meter, per time bandYour contractFirm
Standing chargeYour contract’s daily charge, multiplied by the billed days of the periodYour contractFirm
MeteringYour contract’s agreed MOP, DC or DA charge, priced per day across the billed daysYour contractFirm

4 charge types

Network

Use of the distribution and transmission systems, from published schedules.

ChargeHow it is validatedBasisFirm or held
DUoSThe DNO’s published Schedule of Charges, resolved per meter per day: unit rates by band, fixed, capacity, exceeded capacityPublished sourceFirm
Available capacityThe same schedule’s availability rate against the meter’s own agreed kVA, per dayPublished sourceFirm
Reactive powerThe same schedule, with the DCUSA 0.95 power-factor allowance against the meter’s own kVArhPublished sourceFirm
TNUoSNESO’s published tariffs; the TCR band derived from the meter and shownPublished sourceFirm
What a published band actually looks like

London Power Networks, weekday00:0007:0007:0011:0011:0014:0014:0016:0016:0019:0019:0023:0023:0024:00

Published LPN time bands. The demand shown is an illustrative weekday shape.

6 charge types

Balancing and market

Keeping the system in balance, and the cost of settling the half-hours.

ChargeHow it is validatedBasisFirm or held
BSUoSNESO half-hourly rates to March 2023, fixed windows since; drafts marked provisionalPublished sourceFirm
ImbalanceElexon’s published imbalance prices per settlement periodPublished sourceHeld until the contract’s allocation method is confirmed
RCRCPriced from Elexon settlement dataPublished sourceAlways held: no public feed publishes RCRC per settlement period
Capacity MarketCustomer’s own winter-peak half-hours at the derived ratePublished sourceDelivery years from 2024/25 are held until the final rate is determinable
CM settlement costs levyYour contract’s agreed p/kWh on the period’s consumption; an administration levy the EII exemption does not touchYour contractFirm
Elexon and BSC chargesYour contract’s agreed p/kWh on the period’s consumptionYour contractFirm

8 charge types

Policy and levies

Government policy costs passed through to the meter.

ChargeHow it is validatedBasisFirm or held
CfD supplier obligationLCCC interim levy rate, then the reconciled daily ratesPublished sourceFirm
CfD operational costs levyYour contract’s agreed p/kWh on the period’s consumption; an administration levy the EII exemption does not touchYour contractFirm
Renewables ObligationYour contract’s agreed p/kWh, with any certified EII exempt proportion removed firstYour contractFirm
Feed-in TariffYour contract’s agreed p/kWh, with any certified EII exempt proportion removed firstYour contractFirm
Nuclear RABThe LCCC’s published quarterly levy rate in pounds per MWh, on metered consumption with no loss adjustmentPublished sourceFirm
AAHEDCNESO’s published national tariff, applied to the loss-adjusted volume where the contract passes it throughPublished sourceFirm
EII support levyYour contract’s agreed p/kWh for the levy that recovers the exemption scheme’s costYour contractFirm
Combined policy leviesYour contract’s combined rate where the supplier bills the policy levies as one line; only the total is checkable until they are itemisedYour contractFirm

3 charge types

Gas

Commodity, capacity and the standing customer charge.

ChargeHow it is validatedBasisFirm or held
Gas commodityYour contract’s agreed p/kWh on the period’s throughput; the GDN’s own schedule is not reference-pricedYour contractFirm
Gas capacityYour contract’s agreed rate against the meter’s registered SOQ, per day; the GDN’s own schedule is not reference-pricedYour contractFirm
Gas customer chargeYour contract’s fixed daily charge across the billed days; the GDN’s own schedule is not reference-pricedYour contractFirm

6 charge types

Water and sewerage

Volumetric and standing charges for water, sewerage and drainage.

ChargeHow it is validatedBasisFirm or held
Water volumetricYour contract’s rate per cubic metre against the period’s metered volumeYour contractFirm
Water standing chargeYour contract’s daily charge across the billed daysYour contractFirm
Sewerage volumetricYour contract’s rate per cubic metre against the agreed return-to-sewer share of the metered volume; the share is always explicit, never assumedYour contractFirm
Sewerage standing chargeYour contract’s daily charge across the billed daysYour contractFirm
Surface water drainageYour contract’s daily charge across the billed daysYour contractFirm
Trade effluentYour contract’s rate per cubic metre against the agreed trade effluent share of the metered volumeYour contractFirm

1 charge type

Also handled

Contract-specific lines that belong to no published category.

ChargeHow it is validatedBasisFirm or held
Bespoke formulaThe contract’s own arithmetic, evaluated safely against the bill’s rate, consumption, days, capacity and totalsYour contractFirm

2 charge types

Tax

Charged on the lines above, so it moves whenever they do.

ChargeHow it is validatedBasisFirm or held
Climate Change LevyHMRC statutory rate table; EII, VAT and CCA reliefs kept distinctStatutory rateFirm
VATThe percentage in force, applied once to the net total with CCL includedStatutory rateFirm

And around the lines themselves: Line-loss factors gross the metered volume up for the charges levied at the grid supply point, which are transmission, balancing and AAHEDC, and EII exemption and CCA relief then reduce the levies and the Climate Change Levy in turn.

Every run is kept. Forever.

Getting started

What onboarding actually looks like.

  1. 1

    A call, then a year of real invoices

    We start by validating a year of your own invoices and walking through what came back. That conversation tells us both whether this is worth doing.

  2. 2

    Your estate, imported

    Sites, meters and contracts come in from whatever you already keep them in. We do the first load with you.

  3. 3

    Your team, invited

    You decide who joins, what they can see and what they can change, before anyone else gets a login.

Questions

What people still ask after reading this page.

What happens when a bill fails a check?
It is raised as a query with the arithmetic attached, so the supplier receives the calculation rather than an assertion, and the query is tracked until the credit arrives. Nothing is overwritten in the process: a re-run records a new result beside the old one.
What stops someone approving a bill they should not?
Roles. Reading, analysing and approving are separate permissions, so the person who investigates a variance need not be the person who releases it for payment, and every approval is recorded against the account that made it.

The quote comes after the evidence.

A short call, then a whole year of your real invoices rebuilt free, and a walk through what the engine found, line by line.