Your Spend File Cannot See the Agreement
Most cost programs begin with a data request, and the request is treated as administrative.
The request that decides the answer
Most cost programs begin with a data request, and the request is treated as administrative. Someone asks for twelve or twenty-four months of purchase history by item, by supplier, by plant. The file arrives, the analyst builds a baseline, and the category gets a number.
The request is not administrative. It sets the boundary of what the answer can contain. A purchase history is a record of transactions that already happened under terms nobody put in the file. If the agreement governing that category never enters the data room, the baseline is built from the only evidence available, and that evidence cannot see the terms.
I have watched this run both directions on real categories, and the correction always arrives late, after a number has been committed to.
What a transaction record structurally cannot hold
A spend extract answers one question well: what did we pay, to whom, for what, when. It is a strong answer. It is also the wrong input for the question a cost program actually asks, which is what can change.
What can change lives in the agreement. Four terms in particular:
A rebate or growth allowance means the price on the invoice is not the price you net. Spend shows gross. The rebate arrives quarterly or annually, often to a different account, often reconciled by a different person. It does not appear in the purchase history at all.
A volume tier or minimum means the price you hold depends on a quantity commitment. Quote a category at volumes above what the plants actually buy and the returned prices will look excellent until the first real order, at which point the supplier reprices to the quantity in front of them. The quote was never available.
A price-adjustment rule means part of the price is already decided. If the agreement indexes resin, paper or freight to a published series, movement in that series is not an opportunity and not a failure. It is the mechanism working.
A term and exit provision means the opportunity has a date. A category under agreement for another fourteen months cannot be converted inside a twelve-month horizon without a negotiated exit, whatever the market says the price should be.
None of the four is visible in the file the request asked for. In service categories the asymmetry is sharper still: the spend number is easy to produce and almost uninformative, because the structure that sets the cost is entirely in the contract.
The error lands after someone commits a number
This is not an accuracy complaint. It changes outcomes in two specific ways, and both land after a decision.
The first is double counting. A saving computed against gross spend, in a category carrying a rebate, counts value the organization was already receiving. The program reports a gain, the finance team cannot reconcile it to the ledger, and the conversation that follows is about credibility rather than about the next category. Identified, negotiated, implemented and realized value are four different states, and a baseline that ignores rebates confuses the first with the last.
The second is unavailability. An opportunity sized without reading the term, the minimum or the exit is an opportunity someone has promised inside a horizon it does not fit. The work is real, the analysis may be correct, and the value still cannot be captured on the promised date. That is worse than a smaller number found honestly, because the plan was built on it.
A rebate found late also tends to arrive as a surprise from the supplier rather than from your own records, which is the least useful moment to learn it.
Put the agreement in the request, and name who owns it
The fix is a scope change to the data request, not more analysis.
Ask for the governing agreement for every category in the program, by name, at the same time you ask for the spend. Treat a category without a retrievable agreement as a finding in its own right, because an unretrievable agreement is a real control gap, not a paperwork gap.
Then name the owner. Spend extracts come from the ERP and a buyer can usually pull one. Agreements sit with legal, with finance, in an executed-contract folder, or with the individual who signed them and has since changed roles. That is why the request fails: it has no owner who can actually retrieve the document. Assign it to a person with access to the executed-contract repository, not to the category buyer by default.
Verification is a reconciliation, not an opinion. Take the category's gross spend for the trailing twelve months, subtract the rebates actually received in that period as recorded in the ledger, and confirm the net figure against the baseline the program is using. If the two do not agree, the baseline is wrong and the gain measured from it is wrong by the same amount. Do that before award, because after award the same reconciliation becomes a dispute about credit.
Honest exception: some agreements genuinely cannot be shared with an outside party, and some are governed by confidentiality the client will not waive. The answer there is not to proceed on spend alone and stay quiet about it. State which terms were unavailable and mark that category's baseline as provisional, so the number carries its own caveat into the decision.
What a complete category baseline reads like
For every category in the program, the data room holds the executed agreement with its expiry date. The baseline is stated net of trailing-twelve-month rebates received, and that net figure reconciles to the general ledger. The quantity used for quoting matches what the plants actually purchased in the same period, not a forecast or a round number. Any index or price-adjustment clause is written down with its published series named, so movement in it is reported as mechanism rather than as performance. Each category carries one of two labels, convertible inside the horizon or blocked until a stated date, and no category sits unlabeled.
Then pick the next category to request, and ask for the agreement first.