erpification.com  ·  the definition, and the service

Erpification  /  Guides  /  The real cost of an ERP

The real cost of an ERP, line by line

An ERP has three bills and your supplier only sends one. The quoted bill is the predictable one. The other two are paid out of your payroll and out of work that does not happen, and neither appears in the proposal you are comparing.

The cost of an ERP is three budgets, not one. The quoted budget is licence plus implementation services: written down, negotiable, and the most predictable of the three. The payroll budget is your own people's hours and whatever covers the rest of their jobs, invisible because it is already inside payroll and therefore never lands as project cost. The foregone budget is output that does not happen: the close that takes two weeks instead of five days, the projects the controller is not doing while sitting in workshops. Price all three, then compare quotes.

Then the part that decides the size of budget two, which the published cost guides do not price at all. The payroll budget is not set by the size of your company. It is set by how fast you decide and how clean your data is. Both are free to fix before you sign. Both cost a consultant day rate to fix after user acceptance testing has started.

Three budgets, one invoice

Where does the money for an ERP actually leave the business?

Budget one  →  quoted

Licence and services

Subscription or licence, implementation services, migration, integrations, training delivery. It arrives as a document, which is why it gets all the attention. For a smaller company it is also the smallest and steadiest of the three.

Budget two  →  payroll

Your hours, and their backfill

Already funded, so nobody counts it. Every hour a process owner spends on the project is an hour of their job that somebody covers, somebody works late for, or nobody does. Those are three different prices, not one.

Budget three  →  foregone

Output that does not happen

Slower months, a longer close, deferred work. It never appears as an invoice, which is exactly why it is rarely managed. It shrinks when the project is short and decisive, and grows when it drifts.

Why this split mattersTwo quotes with the same total can carry very different budget twos. The difference is in what the supplier has moved into your column, which is visible only if you have priced your own column first.

The internal-hours line, built before the quote

The cost pages that rank for this question list “internal staff time” as a soft cost: one bullet, no arithmetic. Here is the arithmetic. Do it before you request a single quote, so you have a number of your own to compare against.

  1. List the roles the project actually consumes. Executive sponsor, internal project manager, finance owner, operations owner, IT, and one named owner per master-data file: customers, items, suppliers, pricing, bills of material.
  2. Assign a percentage allocation per phase, not per project. Design and user acceptance testing consume a process owner heavily; configuration barely touches them. One average across the whole project hides the weeks that break people.
  3. Multiply allocation by the weeks in that phase, and by a loaded hourly rate. Loaded means salary plus your own employer burden: statutory contributions, benefits, paid leave. Take that figure from your own payroll reports, per entity, rather than from any published uplift percentage. The published ones are not so much wrong as not yours, and this is the one input in the whole budget you can get exactly right.
  4. Record a backfill decision per role, in writing: cover it, pay overtime, or let it slip. All three are costs. Only the first one looks like one.
  5. Total it and put it beside the quote. That comparison is the point of the exercise.

Then make the supplier state the allocation they need, per role, per phase, in the statement of work, and compare it with the arithmetic you have just done. That one request does three things. A bidder whose figure sits far below yours has either implemented this in a business much simpler than yours, or is planning to do your share of the work themselves at a day rate. A bidder who will not put a figure in writing has answered a different question, which is who carries the schedule risk. And a figure that is in the document is one you can hold them to in month four, when the project is slipping and the reason given is that your people were not available.

The arithmetic nobody writes down: a process owner at thirty per cent on the project is doing one hundred and thirty per cent of a job unless somebody covers the rest. Unfunded, that gap is paid in overtime, in errors, or in the foregone budget.

RoleWhy the hours cannot be delegatedWhat the backfill decision costs
Executive sponsorOnly this person can settle a cross-department disagreement about process, which is what most “technical” delays actually areRarely backfilled. The cost lands in the foregone budget, as the decisions this person normally makes elsewhere
Internal project managerHolds the decision log, the testing plan and the supplier to the statement of work. The supplier's project manager runs their side, not yoursEither a seconded internal role plus a backfill, or a contract hire. Do not leave this role as somebody's evening work
Finance ownerOwns the chart of accounts, the opening balances and the reconciliations nobody else can signPeaks exactly at month-end close. Either close support, or an accepted slower close for the duration
Operations ownerKnows what actually happens on the floor, as opposed to what the written procedure saysUsually overtime, because daily operations cannot pause. Budget it as overtime rather than discovering it as attrition
Master-data owner, per fileOnly the owner can decide which of two near-identical customer records is the real oneThe most commonly unfunded line on the project. See the diagnostic below before accepting a migration estimate
ITAccess, networks, devices, the interfaces to whatever you are keepingNormal work stops for the duration. Name what is being deferred so it is a decision rather than a surprise

Whose line is it

One rule sorts almost every task on an ERP project, and it also tells you how to read a cheap quote.

Anything that requires knowing how your business actually works is yours. Anything that requires product knowledge is theirs.
Yours, because it needs your knowledgeTheirs, because it needs product knowledge
Cleansing and deduplicating your dataMapping, load scripts, reconciliation tooling
Deciding the chart of accountsBuilding and validating it in the system
Writing the new procedure your staff will followConfiguring the system to support it
Acceptance testing against your own transactionsDefect fixes and integration code
Training your own people, after their trainer trains yoursProduct training and the upgrade path

A quote that looks unusually cheap has usually moved a row from their column to yours. Compare quotes by what they moved, not by the total. The decisions in the left column are permanent in a way the right column is not, which is the argument of which chart of accounts changes are free and which are never reversible.

One decision, four prices

Scope creep is blamed on the integrator. The actual cost driver is usually how long your own side takes to decide, because the same decision carries a different price at each stage.

  1. In requirementsfree: it is just a line in the specification
  2. In configurationa configuration change, inside the quoted work
  3. In UATa change order at the day rate
  4. After go-livea change order, plus a data fix, plus retraining

Same decision, four pricesThe practical consequence is not to negotiate the day rate down. It is to hold a standing weekly decision meeting with one named decider and a rule that any open question is answered within forty-eight hours, even if the answer is “do it the standard way”. Decision latency is the one cost driver entirely under your control.

Deferring a decision is legitimate. Deferring it silently is not: it reappears during testing, when it is dearest. Write it on the phase-two list instead, with a price and a date.

Reading the statement of work

Nobody teaches quote-reading, and the quote is the only document in the process you can audit before spending anything. Each item below is checkable in the file you were sent.

The data-readiness diagnostic

Run these five before you accept a migration estimate, because the estimate is priced on the assumption that all five answers are yes. Every “no” is weeks of your own staff's time, in the evenings, not the integrator's.

  1. Can you produce one customer list with no duplicates?
  2. Does every active item have one unit of measure and one price?
  3. Do open receivables and the general ledger agree today?
  4. Is there one chart of accounts, or one per entity?
  5. Can you name the owner of each master-data file?

Three or more noes and the cleansing is a project of its own, best started before you sign anything, because it is the one piece of work that is cheaper early and useful whatever system you end up buying. The migration checklist sets out the loading order and the reconciliations that have to tie, which is what the cleansing is ultimately for.

Every gap found in workshops, four ways

Design workshops produce gaps: the system does not do it the way you do it. There are four responses and the quote prices only one of them.

ResponseCost nowCost at every upgradeWho fixes it at 7pm on a FridayEffect on your next migration
ConfigureInside the quoted work, if raised before configuration closesCarried by the vendor's release testingYour own administrator, or the vendor's support linePortable: configuration is documented and re-creatable
CustomiseChange order at the day rate, plus its own testingRegression testing of the customisation, every release, foreverOnly the developer who wrote it, if still reachableThe part nobody can move, and the reason some systems are never replaced
Change the processNo build cost. Training, documentation and internal argument insteadNoneYour supervisor, with the written procedure in handEasiest to carry, because you are now standard
Live with itNothing, visibly. A manual workaround somebody performsNone in the system; a recurring cost in hoursWhoever happens to know the workaroundInvisible until that person leaves, then urgent

The column that decides it in practice is the fourth, and it appears in no vendor comparison. Ask it out loud in the workshop. It is also what a scripted demo is for: grading each step as native, configured or promised rather than scoring it out of five, as in running the demo on your own transactions.

Parallel run, decommissioning, timing

Three lines missing from the published cost guides, and each of them is decided by a date you are choosing anyway.

The parallel run, decided rather than discovered

Run finance parallel for exactly one month-end close, and price that close: both ledgers live, double entry of the postings that matter, a reconciliation of the two, and overtime for the close team. Do not run operations parallel at all. Double entry on daily transaction volume is abandoned quietly by the people doing it, and an abandoned parallel run leaves you with two systems that are both wrong and no way to tell which. Decide each separately, write down which one you chose, and budget both systems' licences for the overlap months. The overlap is also where the freeze log and the replay rule in the cutover runbook earn their place.

Decommissioning, before you set a go-live date

Pull the renewal date and the notice window out of every contract you are replacing, and read the notice clause itself rather than assuming what it says. That window, not your project plan, is what constrains the go-live date, and it is the contract term nobody checks until the invoice has already arrived. Ask each vendor what a full data export costs, in money and in lead time, and get that in writing while you are still a paying customer. Then decide where a read-only archive lives for your statutory retention period, and who can read it. A go-live four weeks after a silent auto-renewal costs a full extra year of a system nobody opens.

Go-live timing as a priced choice

Every page says avoid your busy season. True, and useless, because most companies do not have a quiet month. The usable test is narrower. The first month-end close in the new system is the expensive one, so go live in the month whose close you could afford to deliver late. That rules out fiscal year end, an audit period, a covenant or lender reporting date and your renewal or billing campaign, for one reason instead of four, and it tells you what to buy when no such month exists: close support for a single cycle, bought deliberately and in advance. It is the cheapest line on this page, and it displaces the overtime, the error correction and the longer stabilisation that the quote silently assumes you will absorb. If the calendar leaves no window at all, that is information about the plan, not about the calendar.

Phase two in writing, and an owner for year one

Two habits move money out of the expensive columns and into the cheap ones.

Write the phase-two list on day one. Record what is deliberately deferred, each item with a price and a date: the three reports, the second integration, the nice-to-haves. An unwritten phase two does not disappear. It reappears as change orders during testing, when the price is at its highest. A written one is a budget instrument: it tells everyone that “not now” is a decision that has already been taken.

Name an internal system owner with real allocated time for the first year after go-live, and have them write your procedures in your own words while the consultants are still on site. Skip this and the same knowledge comes back as support tickets at a day rate, which is the one ongoing line that grows in year two instead of shrinking. This is also the difference between the outcomes traced in why implementations fail, stage by stage.

§

The template

One page, three columns, filled in with your own figures. The totals are the comparison the proposal cannot give you. Keep the three columns separate: adding them makes a scary number, while separating them makes a manageable one.

LineQuotedPayrollForegone
Licence or subscriptionYear one, plus the renewal uplift cap you negotiated, plus any user true-up you can foreseenonenone
Implementation servicesPer the statement of work, with the exclusions listednonenone
Data migration, load and reconcileTheirs: mapping, scripts, reconciliationYour reviewers at each loadnone
Data cleansingnoneHours per master-data file, by ownerWhatever those owners are not doing
IntegrationsPriced per endpoint, not as one lineYour testing per endpointnone
TrainingTheir delivery, by cohortYour own documentation and internal sessionsHours away from the floor
Internal project hoursnoneBy role, by phase, at a loaded ratenone
Backfill and overtimenoneOne decision per role, pricedThe roles you chose to let slip
Parallel-run overlapBoth systems' licences for the overlap monthsDouble entry and the close reconciliationA slower close while it runs
Decommissioning and archiveExport fees, archive hostingThe notice letters and the retention decisionA full extra year if a renewal date is missed
ContingencyHeld by you, not by the supplier, and released against named risksnonenone
Year two: optimisation and trainingThe written phase-two list, pricedThe internal system owner's allocated timenone

The figures we will not quote

Most cost pages are built from numbers that cannot be traced to a sample, a year or a currency. Where others cite a figure, this page describes the mechanism, because the mechanism is what you can act on. Four worth naming, since you will meet them in the next proposal you read.

The same applies to overrun surveys cited without their year or their sample. If a number matters to your decision, ask what was measured, when, in which currency, and across how many companies. Your own arithmetic beats all of them, because it is about your roles, your data and your calendar.

Before any of thisA budget is only worth building if the system is the right answer. Start with the readiness check, twenty scored statements that will say no when no is the honest answer, and with outgrown QuickBooks, or outgrown your process, which separates a software problem from a process one. If your headcount is the reason you think you need one, read why headcount does not predict system class first. What each phase of the spend actually buys is set out in the six stages and the deliverable each one produces.

Read next