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

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 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.
- Billed4.368p/kWh
- Published4.2p/kWh
- 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 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.

One rounding step, and you can name it.

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.

Eight groups
Jump straight to the ones you are billed for.
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.
| Charge | How it is validated | Basis | Firm or held |
|---|---|---|---|
| Unit rate | Your contract, per meter, per time band | Your contract | Firm |
| Standing charge | Your contract’s daily charge, multiplied by the billed days of the period | Your contract | Firm |
| Metering | Your contract’s agreed MOP, DC or DA charge, priced per day across the billed days | Your contract | Firm |
4 charge types
Network
Use of the distribution and transmission systems, from published schedules.
| Charge | How it is validated | Basis | Firm or held |
|---|---|---|---|
| DUoS | The DNO’s published Schedule of Charges, resolved per meter per day: unit rates by band, fixed, capacity, exceeded capacity | Published source | Firm |
| Available capacity | The same schedule’s availability rate against the meter’s own agreed kVA, per day | Published source | Firm |
| Reactive power | The same schedule, with the DCUSA 0.95 power-factor allowance against the meter’s own kVArh | Published source | Firm |
| TNUoS | NESO’s published tariffs; the TCR band derived from the meter and shown | Published source | Firm |
London Power Networks, weekday00:00–07:0007:00–11:0011:00–14:0014:00–16:0016:00–19:0019:00–23:0023:00–24: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.
| Charge | How it is validated | Basis | Firm or held |
|---|---|---|---|
| BSUoS | NESO half-hourly rates to March 2023, fixed windows since; drafts marked provisional | Published source | Firm |
| Imbalance | Elexon’s published imbalance prices per settlement period | Published source | Held until the contract’s allocation method is confirmed |
| RCRC | Priced from Elexon settlement data | Published source | Always held: no public feed publishes RCRC per settlement period |
| Capacity Market | Customer’s own winter-peak half-hours at the derived rate | Published source | Delivery years from 2024/25 are held until the final rate is determinable |
| CM settlement costs levy | Your contract’s agreed p/kWh on the period’s consumption; an administration levy the EII exemption does not touch | Your contract | Firm |
| Elexon and BSC charges | Your contract’s agreed p/kWh on the period’s consumption | Your contract | Firm |
8 charge types
Policy and levies
Government policy costs passed through to the meter.
| Charge | How it is validated | Basis | Firm or held |
|---|---|---|---|
| CfD supplier obligation | LCCC interim levy rate, then the reconciled daily rates | Published source | Firm |
| CfD operational costs levy | Your contract’s agreed p/kWh on the period’s consumption; an administration levy the EII exemption does not touch | Your contract | Firm |
| Renewables Obligation | Your contract’s agreed p/kWh, with any certified EII exempt proportion removed first | Your contract | Firm |
| Feed-in Tariff | Your contract’s agreed p/kWh, with any certified EII exempt proportion removed first | Your contract | Firm |
| Nuclear RAB | The LCCC’s published quarterly levy rate in pounds per MWh, on metered consumption with no loss adjustment | Published source | Firm |
| AAHEDC | NESO’s published national tariff, applied to the loss-adjusted volume where the contract passes it through | Published source | Firm |
| EII support levy | Your contract’s agreed p/kWh for the levy that recovers the exemption scheme’s cost | Your contract | Firm |
| Combined policy levies | Your contract’s combined rate where the supplier bills the policy levies as one line; only the total is checkable until they are itemised | Your contract | Firm |
3 charge types
Gas
Commodity, capacity and the standing customer charge.
| Charge | How it is validated | Basis | Firm or held |
|---|---|---|---|
| Gas commodity | Your contract’s agreed p/kWh on the period’s throughput; the GDN’s own schedule is not reference-priced | Your contract | Firm |
| Gas capacity | Your contract’s agreed rate against the meter’s registered SOQ, per day; the GDN’s own schedule is not reference-priced | Your contract | Firm |
| Gas customer charge | Your contract’s fixed daily charge across the billed days; the GDN’s own schedule is not reference-priced | Your contract | Firm |
6 charge types
Water and sewerage
Volumetric and standing charges for water, sewerage and drainage.
| Charge | How it is validated | Basis | Firm or held |
|---|---|---|---|
| Water volumetric | Your contract’s rate per cubic metre against the period’s metered volume | Your contract | Firm |
| Water standing charge | Your contract’s daily charge across the billed days | Your contract | Firm |
| Sewerage volumetric | Your contract’s rate per cubic metre against the agreed return-to-sewer share of the metered volume; the share is always explicit, never assumed | Your contract | Firm |
| Sewerage standing charge | Your contract’s daily charge across the billed days | Your contract | Firm |
| Surface water drainage | Your contract’s daily charge across the billed days | Your contract | Firm |
| Trade effluent | Your contract’s rate per cubic metre against the agreed trade effluent share of the metered volume | Your contract | Firm |
1 charge type
Also handled
Contract-specific lines that belong to no published category.
| Charge | How it is validated | Basis | Firm or held |
|---|---|---|---|
| Bespoke formula | The contract’s own arithmetic, evaluated safely against the bill’s rate, consumption, days, capacity and totals | Your contract | Firm |
2 charge types
Tax
Charged on the lines above, so it moves whenever they do.
| Charge | How it is validated | Basis | Firm or held |
|---|---|---|---|
| Climate Change Levy | HMRC statutory rate table; EII, VAT and CCA reliefs kept distinct | Statutory rate | Firm |
| VAT | The percentage in force, applied once to the net total with CCL included | Statutory rate | Firm |
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
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
Your estate, imported
Sites, meters and contracts come in from whatever you already keep them in. We do the first load with you.
- 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.
