Post
The agreement nobody reads after it’s signed
The agreement says what you should pay. The invoice says what you’re asked to pay. In most businesses, nothing sits between the two.
Every supplier agreement tells you what you should be paying. Every invoice tells you what the supplier thinks you owe. You’d expect someone to compare the two. In most companies we talk to, from family-owned manufacturers to listed groups, no system does it, so it falls to people who already have full-time jobs.
Devvrat and I started Stemma because of one question: is the price on the invoice the price that was agreed? This year we’ve been working through it with finance and procurement teams in the UK and the Nordics, and the same problems keep coming up. Here’s what we’re seeing.
Where the agreed terms actually live
Ask a finance team where the agreed prices for their top ten suppliers are, and you usually get a pause. Some are in a PDF someone attached to an email. Some are in a spreadsheet the buyer keeps. A few only exist in the head of whoever negotiated them.
Bigger companies tend to have a contract management system, which helps less than you’d think. Procurement owns the agreement and accounts payable owns the invoice. The AP team working through thousands of invoices a month rarely has a reason to open it.
It’s common for the person who negotiates supplier terms to have almost nothing to do with invoice reconciliation. A separate purchase ledger team handles that.
In smaller businesses it’s often the managing director who negotiated the big supply deals personally. When that person moves on, the detail of what was agreed can go with them.
So you end up with three prices for the same thing: the one in the agreement, the one in the ERP and the one on the invoice. They disagree a lot more often than people expect.
“But our ERP already checks invoices”
It does, and it’s worth being precise about what it checks. Three-way match confirms that the invoice agrees with the purchase order and the goods received note. If the PO price was wrong to begin with, the match passes anyway.
And PO prices are often wrong, because the ERP price master rarely reflects the full agreement. Supplier agreements are rarely that simple. There are volume tiers, delivered and collected rates, mid-year increases, indexation to fuel or commodity prices, capped surcharges and rebates paid on annual spend.
Some teams keep tiered prices in a spreadsheet and type the PO price in by hand. If a price is keyed in wrong, the system has no way of knowing.
Then there are tolerances. Plenty of teams auto-approve anything within a set tolerance of the PO, often around 1%. On a big supplier, that’s 1% nobody will ever look at.
What keeps coming up
Rebates come up again and again. They’re tracked by hand, so whether a volume threshold gets hit, and then claimed, depends on someone keeping a close eye on the spend.
Off-contract buying is another. In multi-site businesses, local buyers don’t always use the preferred supplier, often for good reasons like stock availability or what a customer asks for. The negotiated price never applies in the first place.
Then there’s site-level detail. Take a typical waste management contract for a manufacturer with ten sites: different rates per site, a few exceptions, a rebate. It’s exactly the kind of schedule where an invoice can quietly apply the standard rate everywhere.
And a lot of it is plain admin. Supplier statements come in as PDFs, Excel files and tables pasted into emails. Some run to hundreds of lines, and someone ticks them off by hand. Invoices arrive without PO numbers, or with references the scanning tool misreads, so they fall out of matching and onto someone’s desk.
We rarely see anything that looks like fraud or carelessness. Usually a supplier’s billing system is set up slightly wrong, and nothing on the buying side is built to catch it.
“We do do those checks, but they’re all manual checks. There are a number of contracts where we were entitled to a rebate, but that’s our accounts team keeping track of… spend or volume, you know, by supplier.”
The hidden cost is time
Overcharges are what people ask about first. Week to week, though, the finance team’s time costs more.
One team we spoke to spends more than a week every month reconciling costings against what was actually paid. First-time match rates we’ve heard about sit well below where teams want them. Everything else goes to a person, who reads the invoice next to whatever it’s supposed to match.
That manual checking is where overcharges would get caught. The teams we meet are good at it, but there are only so many hours, and going back to the agreement for every invoice isn’t realistic.
Checking every invoice before it’s paid
The traditional answer is a recovery audit. Someone comes in every few years, samples the biggest categories and keeps a percentage of what they find. It recovers money, but only after it’s gone, and next month looks the same.
We think the check should happen on every invoice, before it’s paid. The agreement gets read once, including price schedules, tiers, rebates and site exceptions, in whatever format it comes in. Each invoice is then checked against the PO, the delivery and those terms, and statements and remittances are reconciled as they arrive. The finance team only sees the lines that don’t match, next to the part of the agreement they break.
Until recently that meant someone reading every agreement and every messy supplier document, which nobody could staff at invoice volume. That constraint is gone. Stemma reads a contract, a scanned statement or a spreadsheet price list the way an experienced analyst would, and does it for every invoice, not a sample.
In practice, it matches invoices, reconciles supplier statements and checks each one against the agreed terms. Your team only sees the exceptions.
A question worth asking
How much of what you paid suppliers last quarter was checked against what you agreed? For most companies we speak to, the answer is very little, simply because nobody has had the tools to check it.

Johannes Haug is Stemma’s CEO and co-founder. Before Stemma he worked in investment banking at Arma Partners and private equity at Triton Partners.
