KodDeltaGuides

How much does a bespoke ERP cost, really?

~10 min read

A single focused module costs $3,000–6,000 and goes live in 2–4 weeks. A multi-department operations system runs $8,000–15,000 over 4–8 weeks. A full end-to-end platform starts at $20,000 over 3–6 months. Optional annual maintenance runs 12–25% of build value. Hosting is paid directly to your cloud provider.

Most articles on this question answer it with a range so wide it is useless — “somewhere between $50,000 and $2 million, depending” — and then explain the variables. That is not an answer. It is a refusal dressed as nuance.

Here is our actual published pricing, followed by the parts that genuinely do vary and how to check whether a quote you have received is honest.

The bands

ScopeInvestmentTimelineTypical deliverable
Single focused module$3,000–6,0002–4 weeksApprovals engine, field service PWA, automated quote builder
Multi-department operations system$8,000–15,0004–8 weeksManufacturing MES, multi-warehouse inventory, procurement and ERP bridge
End-to-end platform$20,000+3–6 monthsComplete custom ERP, dealer ordering portal, live BI cockpits
AI assistant / RAG agent$5,000–12,0002–4 weeksDocument search over internal files, ERP action agent

An interactive prototype is delivered inside the first two weeks in every band. Annual maintenance, if you want it, is 12–25% of build value. There is no per-user licence at any scale. The same table with more detail is on the pricing page.

Why these numbers are lower than the figures in most industry articles: they are for a nearshore team building focused operational software, not for a tier-one consultancy implementing a global ERP suite. Those are different products with different scopes, and comparing their prices without comparing their scopes produces nonsense in both directions.

What is actually in a bespoke ERP build

When a quote arrives, these are the work packages underneath it. A quote that does not mention several of them is quoting screens, not a system.

  • Discovery and written scope. Sitting with the people who do the work, watching the current process, and writing down what the software must do. This is where projects are won or lost, and it is not free.
  • Data model design. The schema. Get this wrong and every screen built on top inherits the mistake.
  • Interface and screens. The visible part, and usually the smallest share of the effort.
  • Business logic. Approval limits, pricing rules, stock allocation, scheduling constraints. The part that encodes how your company actually works.
  • Integrations. Accounting, e-invoicing, bank files, carriers, marketplaces, existing ERP. Historically the largest source of estimate error.
  • Data migration. Extracting, cleaning, mapping and loading what you already have. See below.
  • Testing with real users. Not just the developer clicking through happy paths.
  • Deployment, backups, monitoring. The unglamorous part that determines whether you sleep after go-live.
  • Training and handover documentation.

The four things that genuinely change the price

Integration count and quality. One clean, documented REST API is a day. One undocumented legacy system with a nightly file drop and inconsistent encoding is a fortnight. The number of integrations matters less than the worst one.

Data condition. This is the line that most often surprises people. If your product master has duplicates, inconsistent units, three spellings of the same supplier and 12,000 rows nobody has audited since 2019, cleanup is a project in itself — and it is largely your team’s work, not the supplier’s, because only your people know which record is correct. Panorama Consulting names poor data migration among the top three causes of ERP failure. Budget for it explicitly. There is a full checklist on the ERP data migration page.

Number of distinct user roles. Each role is a different set of screens, permissions and assumptions. A system for one department is not a third of a system for three departments.

Regulatory surface. E-invoicing, customs, audit trails, retention rules, personal-data handling. Compliance work is real engineering with real hours attached, and it is not optional once you are in scope.

The five-year comparison against a subscription

This is the calculation most buyers actually want, and it is straightforward once you agree on the horizon.

Cost linePer-seat SaaSCustom build
Year 1Subscription + implementation + configurationBuild cost
Years 2–5Subscription, rising at renewal each yearOptional maintenance at 12–25% of build
Adding usersLinear cost increase$0
Adding a module the vendor sellsNew subscription lineNew build increment, then owned
Adding something the vendor does not sellNot possible, or a workaroundBuild it
HostingIncludedPaid directly to your cloud provider
Asset at year 5None — access ends with paymentOwned source code and data

Two variables decide the outcome. Seat count, because subscription cost scales with people and a build does not. And renewal escalation: published 2026 data puts average annual SaaS increases at 8–12%, with aggressive vendors at 15–25%, which means a five-year model using today’s price understates the subscription side substantially.

Run it with your own numbers rather than trusting anyone’s example. The interactive comparison is on SaaS to custom.

Two worked examples

Abstract bands are hard to reason about. These are the shapes of two typical engagements.

A purchase approval workflow for a 90-person manufacturer. Requests raised by anyone, routed by amount and category, approved on a phone, with a full audit trail and a link to the resulting purchase order in the accounting system. Two integrations: user directory and accounting. One clean data set to migrate — the approval matrix, which lives in a Word document.

This is a single focused module: $3,000–6,000, live in 2–4 weeks, clickable prototype in week two. It is a small project because the scope is genuinely small, the data is trivial and the integrations are conventional.

A production and stock system for a 200-person manufacturer. Work order tracking on the shop floor, multi-warehouse stock with location-level accuracy, material consumption posted back to the ERP, quality records linked to batches, and a supervisor dashboard. Four integrations. Master data migration covering items, bills of materials and stock positions, none of which are clean.

This is a multi-department operations system: $8,000–15,000 over 4–8 weeks. The cost difference from the first example is not screens. It is the data, the integrations and the number of distinct user roles.

The distance between those two is a useful calibration tool. If someone quotes the second shape at the first price, they have not understood it. If someone quotes the first shape at the second price, ask what they have included.

What drives the price down

Buyers rarely realise how much of the cost is under their own control.

  • A written scope you wrote. The single largest lever. Vagueness is priced as risk, and risk is priced conservatively.
  • One workflow, not a department. Smaller increments are cheaper per unit of value because estimation error stays small.
  • Clean data, or an honest assessment of dirty data. Discovering the problem in week one costs a fraction of discovering it at cutover.
  • A decision-maker who is available. Projects stall waiting for answers, and stalled projects cost money on both sides.
  • Accepting conventional patterns where you have no reason to be different. Custom login screens, custom notification systems and custom report builders are places to be conventional. Save the custom work for your actual process.
  • Reusing what already exists. If your accounting system has a working API, use it. Rebuilding solved problems is the most expensive form of scope creep because it feels like progress.

And what drives it up, predictably: mobile and offline requirements, real-time constraints, complex permission models, multiple languages, and any integration with a system that has no documented interface.

How to tell an honest quote from a hopeful one

Six checks, in the order they are worth applying:

  1. Does it state what is excluded? An honest quote has an exclusions section. Its absence is the single strongest signal that change requests are coming.
  2. Does it name the first deliverable and its date? “Prototype by week two” is a commitment. “Phase one” is not.
  3. Does it price data migration separately? Bundling migration into a fixed build price either means the supplier has seen your data, or means they will discover the problem later and ask you to pay for it.
  4. Does it say who owns the code, and when? The answer should be “you, and from the first commit, in your own repository”.
  5. Does it break the work into increments you could stop after? A quote for one twelve-month deliverable transfers all the risk to you.
  6. Did an engineer attend the scoping call? Estimates written by people who will not build the thing are systematically optimistic.

A worked sequence for a first project

If you are trying to get a number you can take to a budget meeting, this is the fastest route to one:

  1. Write one page. The workflow you want replaced, who touches it, what triggers it, what must come out, which systems it must talk to. One page, not a specification document.
  2. Send the identical page to two or three suppliers. Identical, so the quotes are comparable.
  3. Ask each for a fixed price on that scope alone, plus a written list of exclusions.
  4. Ask what would make it cost more, and listen for whether the answer is specific. “Depends on complexity” is not an answer. “Depends on whether your accounting system has an API or needs a file interface” is.
  5. Buy the prototype first if you are unsure. Two weeks of clickable screens costs a fraction of the build and resolves most scope disagreement.
  6. Then commit to one module, not a programme.

What we would tell you not to do

Do not buy a full ERP replacement as a first project with a supplier you have not worked with. Not because it cannot work, but because the information you need to judge them only arrives after delivery has started, and by then a large project has consumed your budget and your leverage.

Do not accept a price without a scope. And do not accept a scope you did not write, because a scope written by a supplier necessarily describes what that supplier finds convenient to build.

The bands above and the delivery timelines behind them are published on the pricing page. The segments we typically build for are described in who we build for, the sequencing for replacing an existing system is in the migration guide, and a specific scope can be priced through the quote form.

Frequently asked questions

Why do bespoke ERP quotes vary so wildly between suppliers?

Almost always because the scopes are different, not because the rates are. One quote includes data migration, integration and training; another quotes the screens alone. Send every supplier the identical one-page scope and the spread narrows dramatically. Where it does not narrow, ask each one what they have excluded.

What does the price not include?

Cloud hosting, which you pay directly to your provider rather than through us. Third-party service fees such as SMS or e-invoicing gateways. Your own team's time in discovery, testing and training. And data cleanup, which is usually the largest hidden line and almost always underestimated.

Is there a per-user licence fee?

No. Once the build is complete and paid, the software is your asset. You can add 50 or 5,000 internal users and external partners without a licence cost. This is the structural difference from per-seat SaaS, where cost rises with headcount even when the software does not change.

How is a fixed price possible on software?

By fixing the scope first and keeping the increment small. A one-page written scope for one workflow, an interactive prototype in two weeks to catch misunderstandings while they are free, and a 4–6 week delivery window. Fixed prices become guesses when the scope is a wish list and the timeline is a year.

What is annual maintenance actually for?

Security patches, framework and dependency upgrades, backup monitoring, and developer hours for routine changes. It is optional because you own the source code and can have anyone maintain it. Our band is 12–25% of build value depending on tier — the same range you would budget internally for any system you rely on.

When does a custom build become cheaper than a subscription?

It depends entirely on your seat count and renewal rate. Build the comparison on a five-year horizon: subscription cost per user per month × users × 60 months, plus renewal increases, against build cost plus five years of optional maintenance. With published 2026 renewal increases running 8–12% annually, the crossover arrives earlier than most people assume.

Related guides

Service page: Pricing bands and scope

Let's talk about what you need.

The 30-minute discovery call is free and carries no commitment.