Failed Projects, Contract Traps and Official Sources
ERP budget overruns: where the extra cost comes from and how much contingency to hold
The cost lines that most often exceed an ERP budget, an illustrative overrun breakdown, how to size and control contingency, and what to do when spend runs ahead of plan.
ERP budgets usually overrun in the one-off project costs rather than the subscription: change requests, extra data migration work, integrations that are harder than expected, longer hypercare and internal staff time that nobody budgeted. Surveys often report that many ERP projects exceed their original budget, but published percentages vary widely and depend on method, so we do not rely on a single figure. A practical approach is to hold a contingency in your own budget, commonly planned at around 15–25% of one-off costs for a small to mid-sized project (an illustrative planning range, not a statistic), and control it tightly. This guide shows where overruns come from and how to manage them.
This guide is part of why ERP projects fail and how to avoid it.
Where overruns typically come from
| Source | How it happens | Early warning |
|---|---|---|
| Change requests | New requirements found in workshops; items outside fixed-price assumptions | Change log growing in the first weeks |
| Data migration | Extra trial loads, cleansing, reconciliation problems | First trial load fails |
| Integrations | Connector does not support a needed field; custom build required | Integration design not signed off |
| Reports | More custom reports than assumed | "Just like the old report" requests |
| Testing and rework | Defects found late; retesting | Testing compressed into the final weeks |
| Delay | Partner and internal time extends; double running of systems | Missed milestones |
| Internal time | Backfill staff, overtime | Key users missing sessions |
| Licences | Users added during the project; edition upgrade | New user requests before go-live |
| Exchange rate | USD-priced items cost more in AUD | Weak Australian dollar |
An illustrative overrun
A project budgeted at $119,000 of quoted one-off costs plus $35,000 internal time, with a 20% contingency of $23,800 on quoted costs (total $177,800). By go-live:
| Item | Budget | Actual | Over |
|---|---|---|---|
| Implementation (fixed price) | $95,000 | $95,000 | – |
| Change requests: 14 days at $1,600 | – | $22,400 | $22,400 |
| Data migration: two extra loads | $12,000 | $16,800 | $4,800 |
| Integrations: custom freight connector | $4,000 | $11,000 | $7,000 |
| Training | $8,000 | $8,000 | – |
| Internal time and backfill: 6 weeks longer | $35,000 | $50,000 | $15,000 |
| Double running old system: 2 months | – | $3,000 | $3,000 |
| Total | $154,000 | $206,200 | $52,200 |
The overrun of $52,200 exceeds the $23,800 contingency by $28,400. The total project now costs $206,200 against $177,800 budgeted including contingency, 16% more. Note that the "fixed" implementation price did not move; everything around it did.
Rebuild this for your project in the TCO estimator by putting actual one-off costs in the fixed field.
Sizing your contingency
Rather than a single percentage, assess risk factors:
| Risk factor | Lower risk | Higher risk |
|---|---|---|
| Data quality | Clean, one source | Several systems, duplicates |
| Integrations | Standard connectors | Custom builds |
| Processes | Standard for your industry | Unusual or heavily customised |
| Entities and sites | One | Several, interstate |
| Internal capacity | Dedicated project owner | Part-time, busy team |
| Partner pricing | Fixed price with clear assumptions | Time and materials or vague assumptions |
More higher-risk answers justify a contingency towards the upper end of your planning range, or more. Keep the contingency in your own budget, released only by the steering group.
Controls that keep overruns small
- Change control. Every change request shows cost, time and benefit before approval. Small changes are batched.
- Weekly burn reporting. For time-and-materials, the partner reports hours by phase against estimate.
- Milestone payments. Pay on deliverables (design signed off, trial load reconciled, user acceptance passed), not dates.
- Scope freeze. Phase-two list for new ideas.
- Data ownership. Named staff own each data object and its cleansing.
- Licence ramp. Pay for licences as users go live, where the contract allows; see pricing models.
- Currency. Ask for AUD pricing or a cap if items are USD-priced.
When spend runs ahead of plan
- Stop and re-forecast: estimate cost to complete, not just cost to date.
- Cut scope before cutting testing or training: move non-essential items to phase two.
- Review the contract: are change requests correctly priced under the assumptions? Are any caused by the partner's errors?
- Escalate formally under the contract if you believe work is being charged that should be included.
- Update the business case with the new total in the payback calculation.
If a dispute develops, see disputes and official sources and the contract traps guide.
Frequently asked questions
Should the contingency be shared with the partner?
Usually not. If the partner knows the size of your contingency, it can become the expected spend. Keep it internal.
Is a fixed-price implementation protection against overruns?
Only for work inside its assumptions. Overruns often come from changes, data and internal time outside the fixed scope.
Do subscriptions overrun too?
Less often during the project, but adding users or upgrading editions can raise recurring costs. Track licence requests.
What should we do with unused contingency?
Return it to the business, or fund phase-two items through a fresh decision rather than automatically spending it.
Sources
- business.gov.au — managing projects and suppliers
- Australian Small Business and Family Enterprise Ombudsman — help with disputes
- Reserve Bank of Australia — exchange rates for USD-priced items