How to audit utilities and energy invoices step by step

A step-by-step method for auditing utility and energy invoices: rate schedules, demand charges, PPI-linked fuel adjustments, and tolerance checks.

Twitter LinkedIn WhatsApp
Ask AI: ChatGPT Claude Gemini Grok
How to audit utilities and energy invoices step by step

Margin drift is the gap between what a vendor contract says and what the invoice actually charges. Utility and energy bills hide this gap especially well: the rate schedule sits with the regulator or the supplier, not in the ERP, and the invoice format changes by meter, by provider, and by month.

This guide walks through auditing a utility or energy invoice in order: gathering the right documents, checking the rate schedule, testing the demand and consumption charges, verifying adjustment clauses, and building a record you can dispute from if something is wrong.

Executive Summary

Utility invoices are hard to audit because the reference document is not a purchase order. It is a tariff schedule, a supplier contract, or a rider filed separately from the bill, and AP staff paying the invoice rarely see it. The invoice states a rate class, a demand charge, a consumption charge, and one or more adjustment riders, any of which can drift from the underlying schedule without triggering a match exception in the ERP.

The mechanism is structural. Three-way matching checks quantity and price against a purchase order and receipt; it has no field for a rate schedule filed with a public utility commission or negotiated separately with an energy supplier. A meter can sit on the wrong rate class for years and every invoice will look internally consistent while being wrong against the tariff.

What changes this is a documented, repeatable check: pull the current rate schedule for each meter, recompute the bill from its components, and compare the invoice's stated adjustment factors against a dated, sourced index rather than trusting the number printed on the bill.

1. What documents do you need before you start the audit?

You need four things before reviewing a single invoice: the current utility tariff or supplier rate schedule for each meter, the account's rate class designation, twelve to eighteen months of billing history for the same meter, and any rider or adjustment clause referenced on the bill. Without the rate schedule itself, you are checking the invoice's math against itself, not against what the meter is actually entitled to be charged.

Start by identifying every meter or account number on the utility or energy vendor's invoice. A single vendor statement can bundle multiple meters across multiple sites, and each meter can sit on its own rate class with its own demand history.

For each meter, request the current tariff sheet if the provider is a regulated utility, or the negotiated rate schedule if it is a competitive energy supplier. These documents are usually not attached to the invoice and often live with facilities, procurement, or the original signed agreement rather than AP.

Pull twelve to eighteen months of billing history for the same meter. A single month tells you nothing about whether a demand charge or rate class is stable. A trend across a full billing cycle, including seasonal peaks, shows whether the invoice is charging consistently against the same schedule or drifting month to month.

Finally, collect any adjustment rider named on the bill: fuel cost adjustment, power cost adjustment, or a similar pass-through clause. These riders reference an external index, and you cannot verify them without knowing which index and which effective date the contract specifies.

2. How do you confirm the rate class is still correct?

Compare the rate class printed on the invoice against the rate class specified in the tariff or supplier agreement for that meter's actual usage profile. A rate class assigned at account setup can become wrong as usage grows or shifts, and neither the utility nor the ERP is obligated to catch the mismatch. Confirming this is a manual comparison between two documents that were never designed to be read together.

A rate class determines which pricing structure applies: the demand charge tiers, the consumption block rates, and which riders attach. It is usually set once, when the account is opened, based on the facility's expected load.

That expectation can go stale. A plant that adds a shift, installs new equipment, or changes its production schedule can shift its demand profile enough to belong on a different rate class, one with different tiering or a different demand ratchet. The utility has no obligation to reclassify the account, and the invoice will keep printing the old class correctly and consistently, which is exactly why it passes unnoticed.

Check the account's actual peak demand and usage pattern against the eligibility criteria for its current rate class, as stated in the tariff. If the facility's profile now fits a different class better, that is a rate class mismatch, not a billing error on any single invoice, and it compounds every month it goes uncorrected.

3. How do you test the demand and consumption charges line by line?

Recompute the bill from its stated components: multiply the metered demand by the contracted demand rate, multiply metered consumption by the applicable block rate, and sum them before comparing your total to the invoice. Any difference isolates itself immediately to either the demand charge, the consumption charge, or a rider, rather than leaving you with one unexplained total to dispute against the vendor.

Utility and energy invoices bundle several charge types into one total: a demand charge based on peak kW or kVA, a consumption charge based on total kWh or therms, and one or more riders layered on top. Testing the total as a single number tells you it is wrong but not why.

Work through the components separately. Take the metered peak demand for the billing period and multiply it by the demand rate stated in the rate schedule, including any tiered structure if demand exceeds a threshold. Do the same for consumption, applying each block rate to its corresponding usage band rather than the whole volume at one rate.

A. Demand ratchet clauses

Some rate schedules include a demand ratchet: a clause that sets the billed demand for the current month as a percentage of the highest peak demand recorded over a prior period, typically the preceding eleven or twelve months, even if actual demand this month was lower. If a ratchet clause applies, the current month's demand charge should be checked against that historical peak, not just this month's meter reading, or the recomputation will show a discrepancy that is not actually an error.

B. Reactive power and power factor charges

Where the schedule includes a power factor penalty or reactive demand charge, treat it as a separate line to recompute rather than folding it into the consumption charge. It is calculated from a different metered quantity, kVAR rather than kWh, and uses its own rate and threshold, so it needs its own line in your working file to isolate any error correctly.

4. How do you verify a fuel or energy cost adjustment rider?

Confirm which external index the rider references, then check that index directly rather than trusting the factor printed on the invoice. The US Bureau of Labor Statistics' Producer Price Index for Fuels and related products and power, Industrial electric power (series WPU0543), read September 6, 2026, put the July 2026 index value at 341.966, up 1.2% year over year, a benchmark you can use when a rider cites a comparable input cost series.

Fuel and energy cost adjustment riders exist because base rates are set periodically while input costs move continuously. The rider is meant to pass that movement through, and the pass-through formula is stated in the tariff or contract, not on the invoice itself.

Find the formula: which index the rider ties to, what base period it compares against, and how often it resets. Then pull that index's actual published value for the billing period, dated, rather than accepting the adjustment factor the invoice states as correct.

If the invoice's rider references an industrial power or fuel input series comparable to BLS series WPU0543, cite the dated figure when you document the discrepancy rather than restating the vendor's number. A rider that moves faster than its underlying index, or that fails to move down when the index falls, is a specific, checkable finding rather than a general suspicion.

5. What tolerance should trigger a follow-up on a utility invoice?

Set a tolerance in absolute dollars and in percentage terms, and use whichever threshold is lower, because a small percentage swing on a large facility's demand charge can still be a material dollar amount. A tolerance with no dollar floor lets large-account errors hide inside a percentage band that was calibrated for a smaller invoice.

A tolerance threshold is the line at which a variance between your recomputed bill and the invoice total gets escalated rather than filed. Set it too wide and real drift passes through unreviewed. Set it too narrow and every invoice generates a review, which trains the team to ignore the alerts.

A workable structure uses two tests together: a percentage variance against the recomputed total, and a fixed dollar amount, with escalation triggered by whichever threshold is crossed first. This catches both the small facility with a proportionally large error and the large facility where even a small percentage swing represents a material dollar figure.

Apply the tolerance separately to the demand charge, the consumption charge, and any rider, rather than to the invoice total alone. A rider overcharge can be masked by a consumption undercharge that nets to a total within tolerance, and only a line-level test will surface it.

6. What do you do when the audit finds a discrepancy?

Document the specific line, the rate schedule clause it violates, and your recomputed figure before contacting the vendor, so the dispute starts from a stated position rather than a general complaint. Escalate internally if the discrepancy points to a rate class error rather than a one-time billing mistake, since a rate class error recurs every month until the account is reclassified.

A single overcharge is a billing correction. A pattern across several months on the same line is a control gap, and it needs a different response.

For a one-time error, document the invoice number, the specific charge line, the tariff or contract clause it should have followed, and your recomputed value. Send this to the vendor's billing department rather than customer service, since rate schedule disputes usually require someone who can pull the account's tariff history.

For a recurring pattern, especially one traced to a rate class mismatch or a ratchet clause applied incorrectly, treat it as a structural finding rather than a series of individual disputes. Correcting the current month's bill without correcting the underlying account setup means the same error reappears next cycle. Track the case until the vendor confirms the account has been reclassified or the rider formula corrected, not just the current invoice reissued.

For the wider pattern this sits inside, start with the margin drift guide. See also the three-way match gap: what your erp structurally cannot see and n-way invoice matching explained.

7. Frequently Asked Questions (People Also Ask)

How often should utility invoices be audited?

There is no fixed cadence that fits every facility, since it depends on meter count and how often rate schedules or supplier contracts change. Some teams review every invoice against a tolerance check as it arrives; others run a periodic reconciliation. See continuous enforcement vs. periodic audit for how to choose a cadence that fits your volume.

Can three-way matching in the ERP catch a utility overcharge?

Three-way matching checks the invoice against a purchase order and a receipt. Utility billing has no equivalent receipt event and the reference document is a rate schedule, not a PO, so a rate class error or a misapplied rider passes through the match untouched regardless of how tightly the match tolerance is set.

What is a demand ratchet clause?

A demand ratchet sets the billed demand charge for the current month as a percentage of the highest peak demand recorded over a defined prior period, often eleven or twelve months, even if this month's actual peak was lower. Missing this clause when recomputing a bill produces a false discrepancy.

Where do I find the rate schedule for a regulated utility account?

Regulated utilities file tariff schedules with the state public utility commission, and most publish the current tariff on their own website by rate class. For a competitive energy supplier, the rate schedule is part of the signed supply agreement, not a public filing, so request it from procurement or the contract owner.

What is the difference between a consumption charge and a demand charge?

A consumption charge bills for total energy used over the billing period, measured in kWh or therms. A demand charge bills separately for the peak rate of use during the period, measured in kW or kVA, and exists because utility infrastructure must be sized for peak load, not just total volume.

Should I dispute a fuel adjustment rider if I cannot find the referenced index?

Yes. If the rider cites an index you cannot locate or verify, that is itself a basis to request clarification from the vendor before paying the adjustment amount. Do not assume the factor is correct simply because the index name is unfamiliar; ask the vendor to state the index, the period, and the formula in writing.

Does this audit approach apply to both electricity and natural gas invoices?

Yes, with the components renamed. Electricity uses demand and consumption charges measured in kW and kWh; natural gas typically uses a demand or capacity charge and a consumption charge measured in therms or dekatherms. The method, recompute from the rate schedule and test each component separately, applies to both.

Who should own utility invoice audits inside an AP team?

The audit needs someone who can read a tariff or supplier rate schedule, which is a different skill than standard invoice coding. Some AP teams assign this to a controller function familiar with facilities contracts; others route it through the team responsible for vendor master hygiene, since account and meter records need to stay accurate for the audit to work.

Executive Summary

Utility invoices are hard to audit because the reference document is not a purchase order. It is a tariff schedule, a supplier contract, or a rider filed separately from the bill, and AP staff paying the invoice rarely see it. The invoice states a rate class, a demand charge, a consumption charge, and one or more adjustment riders, any of which can drift from the underlying schedule without triggering a match exception in the ERP. The mechanism is structural. Three-way matching checks quantity and price against a purchase order and receipt; it has no field for a rate schedule filed with a public utility commission or negotiated separately with an energy supplier. A meter can sit on the wrong rate class for years and every invoice will look internally consistent while being wrong against the tariff. What changes this is a documented, repeatable check: pull the current rate schedule for each meter, recompute the bill from its components, and compare the invoice's stated adjustment factors against a dated, sourced index rather than trusting the number printed on the bill.

1. What documents do you need before you start the audit?

You need four things before reviewing a single invoice: the current utility tariff or supplier rate schedule for each meter, the account's rate class designation, twelve to eighteen months of billing history for the same meter, and any rider or adjustment clause referenced on the bill. Without the rate schedule itself, you are checking the invoice's math against itself, not against what the meter is actually entitled to be charged. Start by identifying every meter or account number on the utility or energy vendor's invoice. A single vendor statement can bundle multiple meters across multiple sites, and each meter can sit on its own rate class with its own demand history. For each meter, request the current tariff sheet if the provider is a regulated utility, or the negotiated rate schedule if it is a competitive energy supplier. These documents are usually not attached to the invoice and often live with facilities, procurement, or the original signed agreement rather than AP. Pull twelve to eighteen months of billing history for the same meter. A single month tells you nothing about whether a demand charge or rate class is stable. A trend across a full billing cycle, including seasonal peaks, shows whether the invoice is charging consistently against the same schedule or drifting month to month. Finally, collect any adjustment rider named on the bill: fuel cost adjustment, power cost adjustment, or a similar pass-through clause. These riders reference an external index, and you cannot verify them without knowing which index and which effective date the contract specifies.

2. How do you confirm the rate class is still correct?

Compare the rate class printed on the invoice against the rate class specified in the tariff or supplier agreement for that meter's actual usage profile. A rate class assigned at account setup can become wrong as usage grows or shifts, and neither the utility nor the ERP is obligated to catch the mismatch. Confirming this is a manual comparison between two documents that were never designed to be read together. A rate class determines which pricing structure applies: the demand charge tiers, the consumption block rates, and which riders attach. It is usually set once, when the account is opened, based on the facility's expected load. That expectation can go stale. A plant that adds a shift, installs new equipment, or changes its production schedule can shift its demand profile enough to belong on a different rate class, one with different tiering or a different demand ratchet. The utility has no obligation to reclassify the account, and the invoice will keep printing the old class correctly and consistently, which is exactly why it passes unnoticed. Check the account's actual peak demand and usage pattern against the eligibility criteria for its current rate class, as stated in the tariff. If the facility's profile now fits a different class better, that is a rate class mismatch, not a billing error on any single invoice, and it compounds every month it goes uncorrected.

3. How do you test the demand and consumption charges line by line?

Recompute the bill from its stated components: multiply the metered demand by the contracted demand rate, multiply metered consumption by the applicable block rate, and sum them before comparing your total to the invoice. Any difference isolates itself immediately to either the demand charge, the consumption charge, or a rider, rather than leaving you with one unexplained total to dispute against the vendor. Utility and energy invoices bundle several charge types into one total: a demand charge based on peak kW or kVA, a consumption charge based on total kWh or therms, and one or more riders layered on top. Testing the total as a single number tells you it is wrong but not why. Work through the components separately. Take the metered peak demand for the billing period and multiply it by the demand rate stated in the rate schedule, including any tiered structure if demand exceeds a threshold. Do the same for consumption, applying each block rate to its corresponding usage band rather than the whole volume at one rate. ### A. Demand ratchet clauses Some rate schedules include a demand ratchet: a clause that sets the billed demand for the current month as a percentage of the highest peak demand recorded over a prior period, typically the preceding eleven or twelve months, even if actual demand this month was lower. If a ratchet clause applies, the current month's demand charge should be checked against that historical peak, not just this month's meter reading, or the recomputation will show a discrepancy that is not actually an error. ### B. Reactive power and power factor charges Where the schedule includes a power factor penalty or reactive demand charge, treat it as a separate line to recompute rather than folding it into the consumption charge. It is calculated from a different metered quantity, kVAR rather than kWh, and uses its own rate and threshold, so it needs its own line in your working file to isolate any error correctly.

4. How do you verify a fuel or energy cost adjustment rider?

Confirm which external index the rider references, then check that index directly rather than trusting the factor printed on the invoice. The US Bureau of Labor Statistics' Producer Price Index for Fuels and related products and power, Industrial electric power (series WPU0543), read September 6, 2026, put the July 2026 index value at 341.966, up 1.2% year over year, a benchmark you can use when a rider cites a comparable input cost series. Fuel and energy cost adjustment riders exist because base rates are set periodically while input costs move continuously. The rider is meant to pass that movement through, and the pass-through formula is stated in the tariff or contract, not on the invoice itself. Find the formula: which index the rider ties to, what base period it compares against, and how often it resets. Then pull that index's actual published value for the billing period, dated, rather than accepting the adjustment factor the invoice states as correct. If the invoice's rider references an industrial power or fuel input series comparable to BLS series WPU0543, cite the dated figure when you document the discrepancy rather than restating the vendor's number. A rider that moves faster than its underlying index, or that fails to move down when the index falls, is a specific, checkable finding rather than a general suspicion.

5. What tolerance should trigger a follow-up on a utility invoice?

Set a tolerance in absolute dollars and in percentage terms, and use whichever threshold is lower, because a small percentage swing on a large facility's demand charge can still be a material dollar amount. A tolerance with no dollar floor lets large-account errors hide inside a percentage band that was calibrated for a smaller invoice. A tolerance threshold is the line at which a variance between your recomputed bill and the invoice total gets escalated rather than filed. Set it too wide and real drift passes through unreviewed. Set it too narrow and every invoice generates a review, which trains the team to ignore the alerts. A workable structure uses two tests together: a percentage variance against the recomputed total, and a fixed dollar amount, with escalation triggered by whichever threshold is crossed first. This catches both the small facility with a proportionally large error and the large facility where even a small percentage swing represents a material dollar figure. Apply the tolerance separately to the demand charge, the consumption charge, and any rider, rather than to the invoice total alone. A rider overcharge can be masked by a consumption undercharge that nets to a total within tolerance, and only a line-level test will surface it.

6. What do you do when the audit finds a discrepancy?

Document the specific line, the rate schedule clause it violates, and your recomputed figure before contacting the vendor, so the dispute starts from a stated position rather than a general complaint. Escalate internally if the discrepancy points to a rate class error rather than a one-time billing mistake, since a rate class error recurs every month until the account is reclassified. A single overcharge is a billing correction. A pattern across several months on the same line is a control gap, and it needs a different response. For a one-time error, document the invoice number, the specific charge line, the tariff or contract clause it should have followed, and your recomputed value. Send this to the vendor's billing department rather than customer service, since rate schedule disputes usually require someone who can pull the account's tariff history. For a recurring pattern, especially one traced to a rate class mismatch or a ratchet clause applied incorrectly, treat it as a structural finding rather than a series of individual disputes. Correcting the current month's bill without correcting the underlying account setup means the same error reappears next cycle. Track the case until the vendor confirms the account has been reclassified or the rider formula corrected, not just the current invoice reissued. For the wider pattern this sits inside, start with the [margin drift](/guides/contract-compliance-controls-p2p) guide. See also [the three-way match gap: what your erp structurally cannot see](/guides/the-three-way-match-gap-what-your-erp-structurally-cannot) and [n-way invoice matching explained](/guides/n-way-invoice-matching-explained).

Questions & Answers

How often should utility invoices be audited?

There is no fixed cadence that fits every facility, since it depends on meter count and how often rate schedules or supplier contracts change. Some teams review every invoice against a tolerance check as it arrives; others run a periodic reconciliation. See continuous enforcement vs. periodic audit for how to choose a cadence that fits your volume.

Can three-way matching in the ERP catch a utility overcharge?

Three-way matching checks the invoice against a purchase order and a receipt. Utility billing has no equivalent receipt event and the reference document is a rate schedule, not a PO, so a rate class error or a misapplied rider passes through the match untouched regardless of how tightly the match tolerance is set.

What is a demand ratchet clause?

A demand ratchet sets the billed demand charge for the current month as a percentage of the highest peak demand recorded over a defined prior period, often eleven or twelve months, even if this month's actual peak was lower. Missing this clause when recomputing a bill produces a false discrepancy.

Where do I find the rate schedule for a regulated utility account?

Regulated utilities file tariff schedules with the state public utility commission, and most publish the current tariff on their own website by rate class. For a competitive energy supplier, the rate schedule is part of the signed supply agreement, not a public filing, so request it from procurement or the contract owner.

What is the difference between a consumption charge and a demand charge?

A consumption charge bills for total energy used over the billing period, measured in kWh or therms. A demand charge bills separately for the peak rate of use during the period, measured in kW or kVA, and exists because utility infrastructure must be sized for peak load, not just total volume.

Margin Drift Resources