Practitioner note · Contract value leakage
A services schedule. Nine pages.
Four delivery locations. Six seniority bands. A committed staffing mix. Three shift patterns. Two overtime multipliers. A cumulative-hours discount. A tenure step-down. A conversion fee that falls with service. And a three per cent annual productivity commitment.
Every line was negotiated. Somebody fought for each one.
And it is not a vague document. It says which location, which band, which multiplier, which currency and on what basis. The commercial thinking is all there.
Then somebody has to turn nine pages of precise English into something that prices an invoice.
It does not matter whether you are buying contractors through a vendor management system or a maintenance tower on supplier invoices. The schedule looks the same, and it fails in the same place.
One disclosure before I start. I have built a tool in this space. I will come back at the end to where it stops, because that is the useful part.
Take the cumulative-hours discount. £121.16 an hour, dropping to £101.03 once total hours across the account pass ten thousand. Prospective, so the lower rate applies from hour 10,001 onwards.
Round numbers, because this is an illustration and not an audit. About forty people on the account. Roughly a hundred and sixty hours a month each. You pass ten thousand hours in month two.
Nothing counts them.
Each purchase order prices itself. No counter adds up hours across the account, because nobody built one, because it was nobody's job to build one.
Eighteen months later, around 115,000 hours billed. Some 105,000 of them should have been at the lower rate. At £20.13 an hour, that is about £2.1m.
Nobody stole anything. Nobody broke a rule. No rule covered it. £121.16 is the correct opening rate and somebody loaded it correctly.
Five panels. Scroll sideways to follow them.
I would love to end that with the money gone forever. It is a much better story.
It is not what happens.
What happens is that somebody eventually spots it. You pull the data, send it to the supplier, and the supplier checks it, agrees, and pays it back, usually without much argument, because two million pounds is not worth a relationship worth forty. It comes back as a credit note, or lands in the next true-up at the performance review alongside the service credits and the open change requests.
Everybody calls that a win. Somebody puts it in a savings report.
So if you came here for a horror story about money vanishing into a supplier, I am afraid the supplier behaved perfectly well.
Look at what the win cost instead.
Six months of somebody's year. Two people pulling timesheet data, an analyst rebuilding eighteen months of rates, a category manager building the case, a lawyer checking the drafting, and four meetings with a supplier team who are also doing this instead of their actual jobs.
A relationship you spend. You have used your credit with that account team on a clause you already agreed to. Next year's roadmap and the resource you need in March both queue behind it.
A number that was never a saving. You recovered a price you were contractually due to pay. Against that baseline the gain is zero. It restores a line, it does not move one. And yet it will be reported as a benefit, usually in the same column as a negotiated reduction.
And you will do it again. Not the same clause. The next one. Because nothing about the way that clause reached the system has changed.
That is the actual cost, and it is why this is worth writing about. Not because you lose the money. Because getting it back is expensive, slow, and completely avoidable.
Before somebody sensible objects, let me do it for them.
Eighteen months of nobody noticing is longer than most accounts would tolerate. Plenty of organisations do track this. There is a spreadsheet, somebody maintains it, and it gets reconciled at the quarterly review. If that is you, genuinely, well done. I stretched the timeline to make the shape visible, not to suggest everybody is asleep.
Now compress it. One quarter instead of six. The argument does not move an inch.
The clause still did not fire. A person still found it, not a system. Somebody still spent a week proving it. The supplier still had to be asked. And it still came back as a credit note that somebody called a saving.
Shorten the timeline and you shrink the number. You do not remove the work.
The work is the point. And a spreadsheet that catches it every quarter is not a control. It is a person, doing a job nobody wrote down, who will eventually get promoted or leave.
Every commercial term has to pass two gates before it becomes money.
Gate one. Can two people read it and agree what it means?
Gate two. Does anything in your systems hold the thing it means?
Fail either and the outcome is the same. The clause stays in the contract. The money does not move. And nothing reports a failure, because nothing failed. Nothing was asked.
It will not surface in an invoice sample either. The invoice agrees to the purchase order, the order agrees to the loaded rate, and the match passes.
Put your own terms into this.
| | The system can hold it | The system cannot hold it | |---|---|---| | Everyone agrees what it means | It works. This is most of your schedule. | Somebody chases it by hand each quarter, until they leave. | | People read it differently | The bad one. It gets built to one reading. The wrong number is then produced correctly, forever. | It sits in a queue as a question nobody is paid to answer. |
The bottom-left box is what this piece is about. It is the only one where the failure is silent and automated at the same time.
Here is one everybody has signed.
> *Overtime at 1.5x after 40 hours.*
Forty hours in what? A week, a payroll fortnight, an assignment? Whose week, ours or theirs? Does it reset if somebody moves between our cost centres? If a person works thirty hours on two projects, is any of that overtime?
Four readings. Four different numbers. All of them defensible. Somebody in a delivery centre picks one on a Tuesday, and that is what you pay for three years.
The maintenance version is subtler, and I had it wrong for years.
> *The supplier will deliver a three per cent year on year productivity improvement.*
I used to say the baseline never gets written down. Not true. Every transition I have seen produced a steady-state headcount, ticket volumes and a run book, because the supplier needed them to price the deal.
The failure is worse than a missing number. The baseline gets restated every year for scope change until it means nothing, the supplier self-reports the achievement, and the productivity arrives as heads removed, then sold back to you as change requests at project rates.
The money leaves by a different door, and the clause reports as delivered.
I used services because it is where I have spent most of my time. The shape is the same everywhere.
Fourteen categories. Scroll sideways if it is cut off.
Find your row. Then ask the same two questions of it. Did anybody settle the wording, and does anything count the thing that fires it?
In every category I have looked at, the answer to at least one of those is no, and nobody thinks it is their job to notice.
Three groups, not two. The middle one is where the cheap wins are.
Three groups. Scroll sideways if they are cut off.
The middle group is the surprise. Your vendor management system already holds an assignment clock per worker, because tenure alarms are a compliance requirement. It already holds conversion tapers. The severity field is already on the ticket. What is missing is the join between the thing that knows and the thing that prices. Configuration nobody funded, not capability nobody has.
Nothing on the right is impossible either. Every one can be built. In the organisations I have worked in, they mostly are not, and nobody is accountable for the difference.
That is the whole argument. It is a question of ownership, not engineering. Harder to fix, and more honest.
So the useful move is to negotiate out of the right column and into the left. Say it in the room, before the words are written. *We run annual rebates settled quarterly. We do not run running totals that price the next invoice. Write it the first way and you will actually get the money.*
That needs no project and nobody's permission.
Five columns. Scroll sideways to see them all.
The last column is the trick. You are not asking anybody for a system change. You are asking for different wording, in a document nobody has drafted yet.
And it gives you the test to use in the meeting.
You cannot enforce a sentence. You can only enforce an object.
When somebody says a term is covered, ask what it is covered *on*. A counter, a clock, a ratio, a price record, a dated job. If nobody can name one, the term is words in a document.
AI is the part of this I get asked about most and see done worst. Lay it on the same three groups and it gets clearer.
It can build the table. Nine pages of schedule into structured rows in minutes. One caution: extraction is reliable, completeness is not. You get a clean, confident, complete-looking table with the carve-out in Appendix C missing, and nothing flags the gap. It does not remove the workshop. It changes what the workshop argues about, from sixty rows built from nothing to four disputed ones.
It is very good at finding clauses two people would read differently. This is the strongest use here and almost nobody runs it. Not deviation from playbook, which is what most tools mean by clause review. A clause can match your playbook perfectly and still read four ways.
Ask it open-ended and precision is terrible. So run it twice, adversarially. Once instructed as the buyer, once as the supplier, independently, and keep only the clauses where the two readings diverge in direction. That is gate one, mechanised. It cuts forty flags to six before a human reads anything.
It can say what each term would need, if you hold it to a closed list. A counter, a clock, a ratio, a price record, a dated job, an external event. Leave it open and it invents system objects that sound institutional and do not exist.
It should not do the reconciliation. Matching a hundred thousand timesheet lines is a query, not a prompt. A piece about a £2.1m arithmetic failure cannot then hand the sums to a probabilistic system. The model writes the rule and explains the exception in a sentence a category manager understands. The query runs it.
Now the boundary, and I had this wrong until recently. I used to say a model cannot tell you whether you own the object, because it has never seen your systems. That is out of date. Give one access today and it will read your schema and tell you the field exists.
Schema is not capability. It cannot tell you whether anything populates that field, whether the process stops at a contract boundary, or whether anyone will let you change it. And it cannot see an event your systems never emitted, which is why the conversion fee fails: the hire date lives in HR and nothing sends it anywhere.
And it must not pick the reading. Not because a model cannot propose one, but because in 2029 somebody will need to know who chose and why. The answer is not a ban, it is a register: the reading, the person, the date, the money at stake, somewhere findable.
Three lanes. Scroll sideways if they are cut off.
One practical note. Everything above is pre-signature, and pre-signature has a hypothetical payback, which is why it does not get funded. Run the same two steps across the contracts you have already signed and you get a list of counters nobody built, with a number attached. That version gets funded.
And it matters more every month. The agents being deployed now mostly do not derive price from the contract. They inherit the price record that is already there and execute it at volume, which removes the last accidental control in the chain: the person raising the fortieth order of the month who occasionally squints and asks why.
First, the promise I made at the top. My tool reads a contract and decides whether each term can be built. Here is where it stops, because that is more useful than where it works.
It fails on stacked terms where nobody defined which applies first. On outcome pricing with nothing countable in it. And on perfectly buildable terms sitting on a forecast that was fiction.
Which is the same finding from the other direction. If a rules engine with the whole contract in front of it cannot decide, nobody was going to work it out from a PDF and a handover call.
Second, a word about the numbers flying around. The most-quoted leakage figure in this field traces back to a single organisation, whose own paper from last year states it three different ways on one page: as a share of value, as a share of contract value, and as a share of annual revenue. Three different numbers. Everybody downstream quotes one of them without saying which.
Miscitation is not new. What is new is that it is cheap, endless, and better dressed.
Which brings me to the only conclusion I think is defensible.
The answer is not better detection. It is right first time.
Everyone is building a better way to find the money afterwards. That market exists because the money is genuinely there and the products genuinely find it. No argument from me.
But afterwards costs a category manager's quarter, an analyst's spreadsheet, a lawyer's opinion, four meetings with a supplier who would rather be elsewhere, and a credit note you then report as a saving it is not.
The work to avoid all of that is smaller than the work to recover from it, and it happens in a room where everybody is already sitting.
So, two questions.
If you sell here. which group does your product work on? If it finds the money afterwards, say so. There is a healthy market for that and no shame in it. If you say you prevent it, tell me what you enforce, and on what.
If you buy here. take the last schedule you signed. Pick one term with a trigger in it. Who settled what it means, which system counts the thing that fires it, and has anybody checked it can see the event at all?
If somebody has genuinely solved the before-signature half of this, I would like to know how. Not the recovery half. That one is solved several times over.
If nobody answers, that is the finding.
This is the fourth piece. The first three sit under the same argument at different heights: Make buying simple, then add the AI, You touch it, you own it, and The process that fails quietly.
The next one is about who owns the second signature, because nobody's job description currently contains it.
Commercial terms, direct and indirect. System mechanics were checked against primary vendor documentation and reviewed by a practitioner who builds these estates. Where this piece says nobody measures something, that is the result of looking and finding nothing, not an assumption.
Nothing here describes any single organisation.
I am collecting practitioner answers and I read every one. Nothing is published without asking you first.