How do you find missed price increases?
How to find price increases and indexation that were agreed but never applied, per customer and per contract, with a step-by-step plan and a worked example.
You find missed price increases by putting two lists side by side for every customer: the price you should be charging today under the contract, the price list or the indexation clause, and the price that actually appeared on the latest invoice. Every difference is a missed increase. In practice you find them fastest by looking for customers whose unit price or monthly amount has not changed for more than twelve months, while the contract or your pricing policy said it should have.
Why price increases get left behind
A price increase is not an event in a single system. It starts as an agreement in a contract or a decision in a board meeting, and then has to be entered into another system by someone who has time for it at that moment. It goes wrong between the decision and the entry.
The most common causes:
- Indexation clauses nobody monitors. The contract says the price is adjusted every year on 1 January in line with a published price index (for example the national consumer price index) or by a fixed percentage. Nobody has a list of which contracts contain such a clause, so nobody applies it.
- Customer-specific price agreements that override the price list. In Exact, AFAS, SAP, NetSuite or Dynamics a customer has its own price, entered once during a negotiation. You raise the general price list, but for that customer the old agreement still applies, sometimes with no end date.
- Subscriptions locked in at the start. A recurring invoice in the billing system keeps running at the first month's amount. The new rates apply only to new customers.
- Notice periods that have lapsed. Many contracts require you to announce an increase in writing a number of weeks in advance. Once that date has passed, nobody dares to apply it and it slips by a year.
- Account managers who "briefly" postpone the increase. To avoid disrupting a live deal or a difficult conversation. The postponement is not recorded anywhere and so is never caught up.
The result is always the same: a customer pays a price that was once right and no longer is. Nobody has made an error that shows up as an error message. The system invoices exactly what is in it. More background is in revenue leakage from missed price indexation.
Where to look
Missed increases sit in four places. Work through them in this order, because the first two yield the most.
1. Contracts with an indexation clause
This is the firmest source, because the customer has already agreed to it. You do not need to negotiate, only to apply it. Search your contract archive for words such as "indexation", "index", "CPI", "price adjustment", "adjusted annually" and "wage cost development". For each contract, note the index or percentage, the reference date, the effective date and the notice period.
2. Customer-specific prices in the ERP or accounting system
Run an export of all customer price agreements with their start date and any end date. Agreements with no end date that are older than a year are suspect. Agreements with an end date in the past that are still being applied are a direct leak.
3. Recurring invoices and subscriptions
In your billing system, put all recurring invoice lines next to your current rate card. Every subscription below the current rate, with no recorded reason, is a candidate.
4. Hourly rates in projects and job costing
At service providers and project businesses, rates are often set per project or per employee in time tracking. A new rate from 1 January is entered for new projects, while running framework agreements continue at the old rate. Check which rates were invoiced in the past quarter and compare them with your rate card.
How to check it: a step-by-step plan
- Build one list of all customers with recurring revenue. Customer number, contract number, product or service, current unit price, date of the last price change.
- Add the agreed pricing rule for each customer. Which index, which percentage, or "follows the price list". Where you do not know, that is a finding in itself.
- Calculate the price that should apply today. Take the last changed price, apply every missed indexation since that date, and round as the contract requires.
- Subtract the price actually invoiced. Take it from the latest invoice, not from the CRM or the contract. The invoice is what the customer pays.
- Multiply the difference by the annual volume. That shows what it costs per customer per year.
- Sort by amount and check the top twenty by hand. Sometimes there is a good reason: a written price guarantee, a quid pro quo, an agreement made at renewal. Record that reason in the system, so it does not surface again next year.
- Schedule the increase, taking notice periods into account. Whatever can still be applied from the next reference date goes into the account owner's calendar.
A quick first filter, if you do not have time for everything: find all customers whose invoiced amount per unit has not changed in the last twenty-four months. That is not proof, but it is the short list where most missed increases are.
Worked example
Worked example: suppose you have 60 maintenance contracts with an average annual value of EUR 25,000, all with an annual indexation clause. In one year, indexation was not applied to 20 of those contracts. Assuming indexation of 3 percent:
| Amount | |
|---|---|
| Annual value of the 20 contracts | EUR 500,000 |
| Missed increase in year 1 (3%) | EUR 15,000 |
| Missed in year 2, if not caught up | about EUR 15,450 |
| Missed in year 3 | about EUR 15,900 |
| Total after three years, at 3% a year | over EUR 46,000 |
The missed amount does not disappear after one year. The price stays at the low level, and every subsequent indexation is calculated on that base, which is too low. An increase that is missed once costs you again every year, until someone corrects it. Recovering the past usually fails or only partly succeeds, so the gain lies mainly in finding it quickly.
Why the CRM and the accounts do not tell you
Your CRM knows what was sold and for how much at the start. Your accounts know what was invoiced. Neither knows what should be invoiced now under the contract. That information sits in a PDF, or in an account manager's head.
As a result, a missed increase stands out in no report at all. Revenue per customer is simply stable. On a dashboard, stable looks like good news. Only when you put the contractual rule next to the invoice do you see that stable here means too low.
That is also why this check belongs in a broader approach to finding revenue leakage: most leaks are not in one system, but in the difference between two. You use the same logic to check that contracts are billed correctly.
How this differs from customers who pay too little
A missed price increase is one specific form of under-invoicing: the agreement is right, only the execution is not. There are also customers who pay too little for other reasons, such as discounts that were never reversed or wrong volume tiers. You find those with a broader comparison of price per customer against your pricing policy. For that, read how to find customers who pay too little.
How to stop it happening again next year
Finding it is a one-off job. Preventing it takes three things:
- A field in the system, not in the contract. Record for each customer which pricing rule applies, with index, reference date and notice period. In the CRM, the ERP or the billing system, as long as it is the system invoices are raised from.
- A fixed date with an owner. Indexation is an annual process with someone accountable, just like the year-end close. Not "sales will take care of it".
- A check afterwards. After the reference date, run the same comparison: which customers are still on the old price? It takes an hour and catches everything that slipped through.
If you want to know what this costs your company, alongside the other leaks in your revenue chain, the Revenue Audit covers pricing and invoicing as two of its eight areas, with every finding priced in euros.
Frequently asked questions
Can I still charge a missed indexation retrospectively?
That depends on the wording of the contract and on what you have communicated in the meantime. Many contracts tie the increase to advance notice. If that notice was not given, applying it retrospectively is legally and commercially difficult. Have each contract assessed, check the rules in your jurisdiction, and focus first on applying the increase from the next reference date.
How often should I run this check?
At least once a year, straight after the date on which most indexations take effect. If you have many contracts with different reference dates, quarterly. Continuous monitoring catches it the moment the first invoice after the reference date goes out.
Which index should I use?
The one stated in the contract. If it only says "price index" without specifying which, that is an ambiguity to fix at the next renewal. In new contracts, record the exact series, the reference month and the rounding.
What if an account manager deliberately postponed the increase?
Then it is a commercial choice, not a leak, provided it is recorded with a reason and an end date. The leak arises when the postponement exists only verbally and is never caught up.
Is this only relevant for subscriptions?
No. It applies wherever you supply on a recurring basis at a previously agreed price: maintenance contracts, framework agreements, staff secondment, licences, rental and regular supply in wholesale.
More in this cluster
- How do you find revenue leakage in a business?Start here
- How do you detect revenue leakage automatically?
- 10 signs your business is leaving revenue on the table
- How do you check that all revenue is invoiced?
- How do you check that contracts are billed correctly?
- How do you check CRM against billing?
- How do you check sales orders against invoices?
- How do you check contract value against realised revenue?