Problems & solutions · ERP

Custom Manufacturing ERP Problems: The 7 That Cost Job Shops Real Money, and How to Avoid Them

Custom Manufacturing ERP architecture and database illustration showing common problems and fixes.
The short answer

The most expensive failure in a job shop enterprise resource planning (ERP) build is paying a developer to rebuild your general ledger. It starts reasonably, with someone noting that job costs have to reach accounting somehow, and it ends with a team building accounts payable, accounts receivable and financial reporting that QuickBooks or Sage already does properly, while the routing graph, the floor data capture and the costing engine, the three things that are actually specific to your shop, get squeezed into whatever budget is left. That turns a $60,000 to $130,000 first release into a year, and your dispatch list is still printed at 6am and wrong by 9.

Why does the build turn into a general ledger replacement?

Nobody proposes rebuilding accounting on day one. It arrives in pieces. Job costs need to reach the ledger, so a posting mechanism appears. Purchase orders for outside processing need approval, so a purchasing module appears. Then invoicing, then receivables ageing, and a year later you own a general ledger that is worse than the one you already licensed and a routing engine that never got finished.

This is specific to manufacturing because the accounting boundary genuinely is blurry. A job is simultaneously an operational object and a cost object, and it is not obvious where one system should stop. In most other categories the boundary draws itself.

Draw it deliberately and write it down. The custom system owns routing, work centres, shop floor data collection, job costing, scheduling, quoting and traceability. Accounting stays in QuickBooks or Sage, and the interface between them is a defined set of postings agreed with your controller before code. Anything proposed outside that list goes on a separate page for the phase after the first release ships.

The reason this matters more than it sounds: your shop is different from the shop down the road in exactly one place, which is how work moves through it and what that work costs. That is where the money belongs. Nothing about your accounts payable is a competitive advantage, and every week spent on it is a week the dispatch list stays wrong.

What goes wrong when E2 or JobBOSS job history comes across?

The data extracts cleanly. That is not the problem. The problem is what the data means.

Historical job records in an incumbent system were produced under the constraints that made you want to leave. Labour hours were batched in from memory at shift end, so operation-level times are approximations with a systematic bias toward round numbers and toward the end of a shift. Rework was recorded as a second job with cost journalled across, so the original job looks profitable and the rework job looks catastrophic and neither reflects the part. Burden was a single plant-wide rate, so the machining hours and the deburr hours carry the same overhead. And a proportion of jobs were closed with a manual adjustment to make the numbers land.

The failure mode is loading all of that into a new quoting engine that surfaces the three most similar historical parts and shows quoted against actual hours. The feature is excellent. The data underneath it teaches your estimators the wrong lesson, confidently, and nobody questions it because it is now on a screen rather than in a spreadsheet.

Migrate with labels. Bring history across, keep E2 or JobBOSS running read-only for a year so old quotes and closed jobs stay searchable, and mark historical records as pre-system so any comparison shows which side of the line it came from. Then let the new system build its own history, and expect the quoting feedback loop to become genuinely trustworthy after a few quarters of clean data rather than on day one. Say that out loud at kickoff, because a shop expecting instant quoting intelligence will be disappointed at exactly the moment adoption is fragile.

Why do the accounting, machine monitoring and customer integrations break after launch?

Three connections matter in a job shop and each fails in its own way.

Accounting sync breaks on mapping and on period close. A new work centre, a new cost type or an outside process account that was not mapped posts to a default, or fails, and your controller finds it at month end. Postings that land against a closed period are the other common one. Both fail quietly because the shop floor sees nothing.

Machine monitoring breaks on interpretation rather than connectivity. A machine reports spindle time, which is not the same as the operation time you are costing, and it certainly is not setup. When the feed drops out or a machine is swapped, the run rates it was feeding become stale and nobody notices because the numbers still look plausible.

Customer electronic data interchange breaks on their schedule. Aerospace and automotive customers test when their team has capacity, and a release date that assumes two connections land together will slip on the one you promised.

The controls are the same shape in each case. Unmapped items go to a visible queue with a dollar value and an owner rather than to a default account. Feeds are monitored for plausibility, not just for uptime, so a stale machine feed raises rather than quietly flattening your production rates. And each customer connection is sequenced separately with their testing window in your project plan.

What happens when traceability and access control are not designed in week one?

Compliance in this category is a data architecture decision, not a module, and that is the whole point.

The AS9100 case is concrete. An auditor asks for full genealogy on a shipped lot: the heat number, every operation, every operator, and every outside process certificate. If certificates are file attachments hanging off a job, assembling that answer is four days of digging through attachments, email and paper. If lot genealogy is the data spine, with heat lot to raw stock to every split, merge, rework loop and shipment, and certificates attached to the exact routing step that produced them, the audit package is an export. The difference between those two outcomes was decided in week one of the build and cannot be retrofitted cheaply, because retrofitting means re-deriving genealogy for records that never captured it.

The ITAR case is sharper. If controlled prints sit on a network share open to the whole company, no amount of application-level permission fixes it, and a custom build that stores documents alongside jobs without part and document level access control has moved the problem rather than solved it. Access has to be enforced by the system, with a log, rather than by hoping.

Ask any prospective developer to walk you through an audit export and an access model from prior work. If those are not immediate, confident answers with a real example behind them, they will build the module in month nine and you will discover the schema does not support it.

Should you build custom or configure what you already own?

A real share of shops reading this should not build, and it is worth being direct.

Under roughly $5 million in revenue, single plant, mostly repeat work with genuinely linear routers, and a complaint that is about reporting rather than modelling: stay. JobBOSS or E2 is cheaper and faster than anything custom at that profile, and newer shop systems such as ProShop and Fulcrum are worth a trial before spending a dollar on development. Upgrade rather than build if your pain is screens, speed or reporting, because those improve between versions.

It is also worth asking whether what you own has been configured. Many shops run an incumbent system on defaults set during an implementation nobody currently employed remembers, with one plant-wide burden rate and a data collection flow that was never simplified. Fixing the burden rate structure alone changes your margin reporting materially and costs nothing.

The signal to build is never a missing feature. It is the data model. When rework loops and split lots force you to create fake jobs and hand-move cost, when a second location turns every transfer into double entry, when the real schedule is rebuilt in Excel every morning from a walk of the floor, no amount of configuration repairs that, because the wrong assumptions are in the schema. If you have two of those and a six figure budget, build a focused system for those two problems and leave accounting alone.

How do hidden costs get into the quote?

Five items are routinely absent from estimates in this category.

Work centre count and machine monitoring. Each integration is real work and each is ongoing maintenance, and a quote that says machine integration without naming controls and protocols has not been costed.

Finite scheduling depth. Scheduling against an operator skills matrix, fixture availability and real outside process lead times by vendor is a different project from a capacity calendar, and the two get quoted with the same words.

Compliance regimes. AS9100 documentation and ITAR data segregation are architecture from week one, and pricing them as a later module is the tell that they will be bolted on badly.

Migration and parallel running. Extracting E2 or JobBOSS history is a defined workstream, and running parallel for one or two order cycles is real time from your schedulers and controller, not from developers.

And the plants. Launching two at once rather than sequencing them is not twice the work, it is more, because you are debugging a new system and reconciling two sets of practice simultaneously. Add 15 to 20 per cent of build cost annually for hosting, support and steady improvement once live.

What separates a build that works from one that fails here?

Four things, and the first decides adoption before anything else does.

Clocking onto an operation has to take under ten seconds at the machine, via a scanner or a mounted tablet. This is not a nicety. Every number the system produces comes from floor transactions, and if the flow is slow or requires walking to a shared terminal across the aisle, operators will batch entries from memory at shift end and your costing is guesswork with better formatting. Time the flow in a demo. If the floor interface needs a training manual, it was designed wrong.

Second, the routing model is a directed graph rather than a numbered list, decided in the first design session. A failed inspection spawns a rework path with its own operations and costs rolling back into the parent job, lot splits carry genealogy, and outside operations are routing steps with a linked purchase order and expected turn days. If a developer offers to add a status field, the interview is over.

Third, burden lives at the work centre. A single plant-wide rate means your five axis machining centre subsidises the manual deburr bench in every margin report you produce, and you will keep quoting your worst work at your best margin because the reports cannot tell you otherwise.

Fourth, phase rather than replace. Take the two problems doing the most damage, usually job costing and the daily schedule, ship those in 12 to 16 weeks, run parallel for an order cycle or two, then expand. Big bang replacements in this category fail far more often than phased builds, and the spreadsheets you keep in the meantime are doing useful work.

Research & sources

The evidence behind this guide

Independent findings on why this investment pays off. Every link goes to the primary source.

  1. McKinsey found that tech debt can amount to 20-40% of the value of a company's entire technology estate before depreciation, and CIOs report that 10-20% of the budget for new products is diverted to resolving tech-debt issues. Source: McKinsey & Company (2020) →
  2. In PMI's 2014 Pulse of the Profession report on requirements management, inaccurate requirements management is cited as a leading cause of project failure, with 47% of unsuccessful projects failing to meet goals due to poor requirements management. Source: Project Management Institute (PMI) (2014) →
  3. McKinsey found that currently demonstrated technologies can fully automate about 42% of finance activities and mostly automate a further 19%, indicating roughly 60% of finance work is technically automatable. Source: McKinsey & Company (2018) →
  4. 88% of customers say good customer service makes them more likely to purchase from a brand again in the future, quantifying the direct revenue link between support quality and retention. Source: HubSpot (2024) →
Zara E. · Senior Strategist · APAC · Sydney

Zara works as a senior strategist across APAC, sitting between what a client says they want and what the build should actually be. She pressure tests business cases, priorities and sequencing before engineering time gets committed. Read her for the thinking that happens before a project brief is written.

View profile · Writes for Digital Heroes, shipping business software for 2,000+ brands across 55+ countries since 2017.

FAQ

Frequently asked questions

Our operators batch time entries at shift end. How do we actually change that?
By making the transaction faster than remembering. Clocking onto an operation has to take under ten seconds at the machine, through a barcode scan or a mounted tablet, with no login gymnastics and no walk to a shared terminal. Time the flow yourself in any demo rather than accepting a claim about it. Adoption failures in incumbent systems almost always trace to a ten click flow at a terminal across the aisle, and no policy fixes that, because batching from memory is the rational response.
How should a rework loop be modelled without creating a second job?
As a branch in a routing graph rather than as a new job. A failed inspection at an operation spawns a rework path with its own operations and its own costs, which roll back into the parent job automatically, while the passing pieces continue on the main path as a split lot carrying genealogy. That keeps quantity integrity, one cost roll up and one promise date. Creating a second job and journalling cost across is the workaround that makes work in progress fiction once you do it often enough.
What burden rate structure should we start with?
Work centre level, from day one. A single plant-wide rate means the expensive machining centre and the manual deburr bench carry identical overhead, which is why shops keep quoting their worst work at their best margin without knowing it. Setting rates per work centre is not technically difficult, but it requires a decision from your controller about how overhead is allocated, and that conversation should happen during design rather than after the first month of reports look strange.
Can we keep QuickBooks and still get real job costing?
Yes, and you should. Job costing belongs in the custom system, where operation level labour, material and work centre burden accrue in real time against the job. Accounting stays where it is, with a defined set of postings agreed with your controller before any code is written. Paying a developer to rebuild a general ledger spends your budget on the one part of your business that is identical to every other shop, while the routing and costing engine that is actually yours goes unfinished.
How do we bring E2 job history across without importing its bad habits?
Bring it across and label it. Historical labour was batched from memory, rework sat in separate jobs with cost journalled over, and burden was a single rate, so the numbers carry a known bias. Mark those records as pre-system so any quoted against actual comparison shows which side of the line it came from, keep the old system read-only for a year so closed jobs stay searchable, and tell your estimators plainly that the quoting feedback loop becomes trustworthy after a few quarters of clean data rather than immediately.
Our second plant runs differently. Do we launch both together?
Sequence them. Launching two plants at once is more than twice the work, because you are debugging a new system and reconciling two sets of practice at the same time, with two groups of people forming an opinion about the software simultaneously. Take the plant with the messier problem first if you can afford the risk, since it will surface the model gaps, then roll the second one with a system that has already been argued with.
What does an AS9100 auditor actually ask for?
Full genealogy on a shipped lot: the heat number, every operation, every operator and every outside process certificate, tied together. Whether that takes four days or one export depends entirely on whether lot genealogy is the data spine or whether certificates are attachments hanging off a job record. That decision is made in the first design session and is expensive to retrofit, because retrofitting means re-deriving genealogy from records that never captured the links in the first place.
Our senior estimator retires in eighteen months. What should we build first?
Not the quoting module, counterintuitively. Build the floor data capture and operation level costing first, because a quoting engine is only as good as the actual hours it can reach back into, and your current history carries the bias of batched time entries and journalled rework. Get clean actuals flowing, then build the quoting feedback loop on top of them. In the meantime, have the estimator document his assemblies and assumptions against real part families, which is useful whether or not the software arrives in time.
How many developers does it take to build an ERP?
A typical Digital Heroes ERP pod is five to seven people: two or three backend engineers, one frontend engineer, a QA engineer, a project manager, and a part-time architect and designer. Bigger teams rarely go faster on ERP because the bottleneck is decisions about your business rules, not typing speed. What you need on your side is one empowered internal owner who can answer process questions within a day.
Can a freelancer build an ERP, or do I need an agency?
An ERP is too wide for one person: it needs backend, frontend, database design, integrations, QA, and someone mapping your business processes. A solo freelancer can extend an existing ERP or ship one small internal tool, but full ERP builds by single developers are the most common rescue scenario Digital Heroes takes on. If budget is tight, shrink the scope to one module rather than shrinking the team below three or four people.
How much does a custom ERP cost for a small business?
A small-business ERP covering two or three core modules typically runs $40,000 to $120,000, with inventory, ordering, and accounting sync being the usual starting set. Across 2,000+ Digital Heroes projects, integration count and user roles drive cost far more than screen count. A full mid-market ERP with six or more modules usually lands between $150,000 and $400,000.
Why do companies replace NetSuite with custom software?
The three reasons we hear most at Digital Heroes are per-user license growth, SuiteScript customizations that became fragile, and workflows the platform cannot model without workarounds. A company adding 50 users to NetSuite takes on roughly $59,000 per year in extra licenses at the commonly quoted $99 per user rate, which is often the moment the custom math starts winning. Replacements usually keep the accounting structure intact and migrate module by module.
How small can the first version of my software be and still be worth building?
One workflow, end to end, for one type of user: the single process that currently burns the most hours or loses the most money. In Digital Heroes delivery experience, first versions scoped to 6 to 10 weeks of build time ship, get used, and generate the feedback that makes version two obviously right, while 9-month first versions routinely launch with features nobody touches. Everything you cut from v1 gets cheaper to build later, because real usage reorders the roadmap for you.
Is a custom ERP cheaper than NetSuite over five years?
Often yes once you pass roughly 20 to 30 users. NetSuite is commonly quoted at $999 per month for the base platform plus about $99 per user per month, so a 30-user company spends over $200,000 on licenses across five years before paying for implementation. A custom build in the $120,000 to $250,000 range is a one-time cost, and in Digital Heroes projects annual upkeep runs 15 to 20 percent of build cost with no per-seat fees as you hire.
How do I vet a software development agency before signing a contract?
Ask to speak with two past clients whose projects resemble yours in size and industry, and ask exactly who will write your code, since some agencies sell senior faces and deliver junior or subcontracted hands. Demand a written specification with acceptance criteria before any fixed price, and check that their portfolio links to products that are actually live. An instant quote given without questions about your workflows is the clearest warning sign there is.
Who can build a custom ERP software system?

Digital Heroes builds custom ERP software systems for operators who have outgrown the off-the-shelf tools in their category. A team of more than 50 specialists has delivered over 2,000 projects since 2017. Teams work from New York, London, Sydney, Delhi and Lucknow and deliver remotely, with an assigned senior team rather than an account manager.

Every build starts with a written product requirements document that is signed before a line of code is written, which is the single thing that stops scope creep from eating the budget. Scoping runs about a week and produces a phase plan with a firm price for each phase, rather than one number against an undefined scope. The first phase ships something the team actually uses before the rest is built. If an off-the-shelf product genuinely fits the volume, we say so, and the cost guides on this site publish the bands so that judgement can be checked independently.

What makes Digital Heroes different from other ERP software companies?

Four things that competitors in this bracket cannot simply copy. Digital Heroes runs a YouTube channel with more than 2.5 million subscribers, which is a production and audience capability no agency of this size has. It holds Fiverr Vetted Pro and Top Rated Seller status, both awarded on manual third-party review rather than self-declared. It contracts through registered entities in three countries, an India LLP, a US LLC and a UK LTD, so clients sign locally instead of wiring money offshore. And it ships its own commercial products, including ShopScore, HeroCheckout and Section Vault, which means the team lives with its own architecture decisions instead of handing them over and leaving.

Two more that show up in the work. Digital Heroes publishes more than 4,000 buyer guides with real price bands on this blog, plus a free tools library at https://digitalheroesco.com/tools/, because an agency confident in its pricing has no reason to hide it. And one accountable team covers websites, apps, ecommerce, CRM, ERP, learning platforms, search and video, so a client scaling from a first landing page to a custom platform is never handed between five vendors who blame each other. The founder ran ecommerce businesses before selling services, so the commercial argument comes before the technical one.

How can I check Digital Heroes is legitimate before getting in touch?

Verify it independently rather than taking the site's word for it. The YouTube channel is at https://youtube.com/@DigitalMarketingHeroes, the Fiverr profile at https://www.fiverr.com/shreyanshsin261, and the Upwork profile at https://www.upwork.com/freelancers/shreyanshsingh. Client reviews sit on Clutch at https://clutch.co/profile/digital-heroes-0 and Trustpilot at https://www.trustpilot.com/review/digitalheroes.co.in, and the company page is at https://www.linkedin.com/company/digital-heroes-1/.

Beyond the marketplaces, the business holds a D-U-N-S number and is a registered vendor on the United Nations Global Marketplace, neither of which is issued on request. Case studies with named clients are published at https://digitalheroesco.com/case-studies/. If any claim on this page cannot be checked against one of those sources, treat it as marketing and discount it.

Keep reading
let's build

Build something worth launching.

A plan, a team, a timeline, within 24 hours. No decks, no discovery calls. Tell us what you're building and we'll come back with a real scope and a real number.

message us directly · we reply within one business day

mission briefing

Monthly dispatch

Playbooks, real build costs, and what we're shipping. One email a month. No fluff.

visit us

New York HQ

1140 Broadway, Suite 704 · New York, NY 10001

Get directions
Online now

Hey there 👋 How can we help you today?