Six ways a price stops matching a contract
Real-world cases where a contracted price and an invoice disagreed.

Most billing deviations are not fraud, they stem from the diversity of products, conditions and entities that come into play. Conditions may be set by centralized teams, then applied by decentralized branches. Communication and operations become critical. Here are six real-world examples of price mismatches we observed and solved. They recur across every spend family we have read.
1. The discount grid that was never updated
A framework agreement for machine parts sets a discount off list price per parts family; e.g. filtration: 40%, hydraulics: 30%. The 2026 grid raises six of the eight rates.
| Parts family | 2025 rate | 2026 rate |
|---|---|---|
| Filtration | 35% | 40% |
| Hydraulics | 26% | 30% |
The dealer’s invoices print the family code and the discount applied explicitly on each line. From January to June 2026 the dealer applied the 2025 discounts - filtration at 35% instead of 40%, hydraulics at 26% instead of 30% - across all six families: 2,770 lines, 864 invoices, $35,167.
Every rate lands exactly on the prior year’s cell, and the two families whose rate did not change showed no deviation. The supplier had loaded the new grid into the systems six months later than expected.
2. The rent indexed twice
A commercial lease indexes rent yearly to a published INSEE series: base rent times the current index over the index at signature (base index).
In 2025, the landlord introduced an inconsistency in the indexing:
- 2024, contractual and billed: $118,285
- 2025, contractual: $123,545 - that is $118,285 × 1.0445, the index step from 2024 to 2025
- 2025, billed: $129,041 - that is $123,545 × 1.0445, the same step applied a second time
The 4.45% increase is genuine and due once. But it was incorrectly applied twice.
More interestingly, the landlord’s own invoicing reflects the mistake’s back and forth. It first billed Q1 and Q2 2025 at $123,545, then cancelled both and re-issued them at $129,041, introducing the overcharge. In Q4 it did the reverse - cancelled the $129,041 invoice and left the $123,545 one standing - effectively acknowledging and fixing the mistake for Q4 onwards. 2026 invoices were indeed back on the contractual curve. However, our analysis spotted that 2025 quarters Q1-Q3 had stayed at the higher rate and were never credited: 3 × $5,494 = $16,483.
Figure 2
The index step, applied twice instead of once
- Billed at contract
- Billed above contract
- 2025, contractual$123,545
| Quarter | Billed | Contractual |
|---|---|---|
| Q1 2024 | $118,285 | $118,285 |
| Q2 2024 | $118,285 | $118,285 |
| Q3 2024 | $118,285 | $118,285 |
| Q4 2024 | $118,285 | $118,285 |
| Q1 2025 | $129,041 | $123,545 |
| Q2 2025 | $129,041 | $123,545 |
| Q3 2025 | $129,041 | $123,545 |
| Q4 2025 | $123,545 | $123,545 |
3. The discount that fell off the fuel invoice
Unlike commercial leases, fuel here is not explicitly indexed to an external series. The supplier issues its own dated price list, once per delivery day.
On top of that, a discount of $93 per m³ was negotiated by the customer. This discount sits in a contract, and shows in the daily price lists issued by the supplier and communicated to the customer.
On one November 2025 invoice, two lines of off-road diesel are billed at $1,513 and $1,500 per m³; the supplier’s list for that day, less the $93 discount, gives $1,420 and $1,407. The gap is $93.34 on both - the discount, to the cent, not applied. The same pattern - a gap equal to the negotiated discount - appeared on 54 lines that year. Elsewhere the gap is simply a different price for the same product on the same day. Those errors reached up to $1,869 over-spent on a single 36,000-litre delivery of renewable diesel.
4. Six branches, one grid, six prices
Equipment rental runs on one national framework grid: a rate per machine category, identical at every branch, with a lower rate for rentals over fifteen working days.
Take one reference: a six-person site cabin, priced $17.15 a day up to fifteen working days, $14.58 a day beyond.
On a four-month window, this reference appeared on twenty invoice lines from six different branches of the rental company:
- One branch billed correctly at $14.58 a day on four consecutive monthly invoices
- A second branch billed $17.15 per day, then $14.58 on the next month, once the rental passed the 15-days threshold. The first invoice was not adjusted a-posteriori to reflect the long-rental rate.
- A third billed $38.51 a day on three consecutive monthly invoices. That rental had run three months, so the rate due was $14.58: it billed 2.6 times the contract.
- Three more billed $19.60, $22.27, $24.50, $27.06, $33.59 and $38.79 - every one above $17.15, so above contract regardless of the rental’s length.
Figure 3
9 different rates for the same site cabin
| Billed by | Day rate | Against contract |
|---|---|---|
| One branch | $14.58 | At contract |
| A second branch | $17.15 | At contract |
| A third branch | $38.51 | Above contract |
| Three other branches | $19.60 | Above contract |
| Three other branches | $22.27 | Above contract |
| Three other branches | $24.50 | Above contract |
| Three other branches | $27.06 | Above contract |
| Three other branches | $33.59 | Above contract |
| Three other branches | $38.79 | Above contract |
Ten of the twenty lines were above contract. None were below. The excess spend was $3,152 out of $8,048 billed for that cabin. And similar stories affected multitudes of other references.
5. The scale that only rounds up
A parcel carrier’s invoices print two weights per parcel: the weight declared by the shipper, and the one billed by the carrier.
On over 129,609 parcels, the billed weight was higher on 47.6% and lower on 0.0%; the median excess is 20 grams. A second carrier in the same audit, which puts parcels on a scale, finds them lighter than declared 52.9% of the time and heavier 39.7% - which is what measurement looks like. A re-assessment that never goes down is not measurement.
Figure 4
A scale that only rounds up
- Billed lighter than declared
- Billed heavier than declared
| Carrier | Billed heavier than declared | Billed lighter than declared |
|---|---|---|
| Carrier #1 | 47.6% | 0.0% |
| Carrier #2 | 39.7% | 52.9% |
11,929 round-ups pushed a parcel into a higher price bracket; priced at the contractual brackets, those crossings come to $6,058. We give that figure as a ceiling, not as a claim: a carrier may price a bulky but light parcel on its volume rather than its weight, and this carrier’s file does not carry the volume, so some part of the $6,058 may be legitimate. However, settling that arithmetic was not needed: the carrier acknowledged the defect, issued a credit note and corrected its system in March 2026.
6. The ceiling the merchant respects, 23 times out of 29
On building-materials, customers negotiate national maximum prices: one price per article reference, valid for a stated window. Local buyers can of course renegotiate below; but price cannot be found higher. One product article - a 160 mm cable duct in six-meter bars, priced per meter - carries a ceiling of $2.77. Inside the window the merchant billed it 29 times: 23 lines from a dozen branches at exactly $2.77, one below, and five from three branches at $5.12 and $5.08 - 85% above the ceiling. On two invoices the excess alone is 46% of the document, $1,477 in total. Same reference, same unit, same tariff window. No ambiguity over the correct price, supported by the merchant’s own 23 compliant lines.
None of the six required reading a clause two ways. Each is arithmetic on two documents the buyer already held: an invoice, and the contract or price list it was meant to follow.
Ambiguity is not why these persisted. The number on the invoice is set by whoever configures the billing system; the number in the contract, by whoever negotiated it. In almost all organizations, nobody is assigned to put the two side by side, line by line, every day. Fakto does that for you.
See it on your contracts
Find the leakage hiding in your AP layer.
More stories

Fakto will be at DPW Amsterdam 2026

How a $6bn construction group found $2.9M

Deselected

How a $1.2bn services group put 15 transport carriers under continuous control

Fakto wins Gold at the DAF Night, with customer Paragon

We raised $4.2M to build the AI platform for cost intelligence

Negotiating prices with statistics

