Problems & solutions · ERP

Oilseed Crush Plant Software Problems: The 5 That Hide Where the Margin Actually Went

Oilseed Crush Plant Software architecture and database illustration showing common problems and fixes.
The short answer

The most expensive failure in crush plant software is computing yield from delivered weight instead of adjusted weight. It is a single line of logic and it makes an accounting difference look like a process problem: extraction appears to drift, the plant manager starts chasing conditioning and solvent settings, and the real cause is that the dry matter you actually bought never matched the tonnes on the scale ticket. In Digital Heroes delivery experience this is the most common modelling error in the category, it survives for months because the number looks plausible, and it quietly discredits every yield conversation the plant has while it lasts.

Why does the scope of a crush plant build get set too small so often?

The project is nearly always sold on the crush margin dashboard, because that is the number everyone wants and it demos in five minutes. So the scope becomes a reporting layer over whatever data already exists, and the plant gets a confident daily figure computed from receiving weights nobody has adjusted and yields nobody has reconciled. That is worse than having no margin number, because people act on it. Runs get pushed, purchases get timed, and the decisions are being made against arithmetic with a known defect.

The reason this happens in crush specifically is that the profit calculation is trivial to describe and hard to source. Beans in, meal and oil and hulls out, adjusted for what the hedge did. Every plant manager can recite it. The components live in a scale and grain accounting system, a control historian, a shift log, contracts, and a workbook held by the commercial team, each with a different close cycle. A dashboard joins those five sources and inherits every weakness in all of them.

The fix is a sequencing rule you should write into the contract: do not build margin reporting before receiving and yield data are clean. Release one is receiving with grading, shrink and discount automation, adjusted inventory, and a daily mass balance. The margin view comes after that, when the inputs can be defended. Plants that invert this order usually end up with a dashboard nobody trusts and a spreadsheet running beside it, which is the exact position they paid to leave.

What goes wrong when grading, shrink and discount rules get encoded?

Beans arrive by truck or rail and are graded on moisture, foreign material, damage and splits, with a shrink and discount schedule converting delivered weight into settled weight and settled value. That schedule is a policy decision with real money in it, and it varies by origination programme, by contract and sometimes by relationship. Encoding it looks like a table exercise and is not.

The first trap is that the schedule in the file and the schedule in practice differ. Somebody has been applying a courtesy on a particular grower, or rounding a moisture band a certain way, and it has been running for years. Import the documented schedule and settlements shift for a set of suppliers who will notice immediately.

The second trap is the one named above: keeping delivered weight as the quantity that feeds inventory and yield rather than the adjusted quantity. Everything downstream inherits it, so extraction efficiency, meal protein economics and crush margin are all computed against a tonnage you did not buy.

The fix is to capture grading at the scale, apply the schedule automatically to produce the settlement, and make the adjusted quantity the number that feeds everything else. Then run the new schedule against three months of historical loads before go live and review every settlement differing from what was paid. Each difference is either an error you have been carrying or an undocumented practice needing a deliberate decision. Exceptions should stay visible afterwards rather than being silently absorbed.

Why do historian and control system integrations break after launch?

The mass balance depends on process and tank data, which means pulling from a historian and an automation layer that were installed for control rather than for accounting. The failure is rarely the connection. It is the meaning of the tags.

Tank levels are calibrated for operations and may not be trustworthy as inventory. A meter reads flow that includes a recycle stream. A tag was renamed during a project three years ago and the old name still exists with stale values. A shift log entry that the balance depends on is entered by hand and is sometimes entered at the end of the week. None of this is visible in a tag list, and all of it produces a balance that fails to close in a way that looks like process loss.

The second breakage is scheduled maintenance. A control system upgrade changes tag naming or scan rates, the interface keeps returning values, and the balance quietly drifts. Because the mass balance never closes perfectly anyway, drift hides inside the normal noise.

The fix starts before the estimate: get the historian data path assessed in the first two weeks rather than assuming a clean interface exists, because on older control systems it is the largest schedule risk in the project. Then build the balance to separate measurement variance from real loss rather than reporting one unexplained figure, and hold a per tag reference with its source, calibration basis and owner. Any developer who assumes the balance will close has not worked in a plant.

What happens when sustainability documentation is not covered?

Oil going into renewable diesel and biodiesel carries documentation obligations that oil going to a food customer never had. Depending on the market and the buyer that means feedstock origin evidence, sustainability certification such as ISCC, chain of custody through the plant, and data supporting a carbon intensity claim. Requirements differ between the federal renewable fuel programme, state low carbon fuel programmes and export markets, and they change, so your compliance adviser is the authority rather than any software vendor.

What does not change is that the evidence must be attached to physical movements and captured at the time. Origin data cannot be retrofitted to loads received last quarter, and plants discover this the first time a renewable buyer sends a document request and the honest answer requires calling farmers. A build scoped without this leaves the plant able to produce the oil and unable to sell it into the market it built for.

The fix is to capture origin and any supplier declaration or certification at receiving, in release one, even if the sustainability reporting itself lands later. Carry it through the mass balance under the chain of custody model your certification requires, generate the evidence pack per shipment, and put expiry management on the declarations so the system warns three weeks before one lapses rather than after a load has been received against it. Running more than one certification scheme at once is a genuine cost multiplier, because each has its own chain of custody rules, so scope that explicitly rather than assuming one implementation covers all of them.

Should you build custom or configure what you already own?

If you run a small mechanical press operation selling meal locally and oil into a spot market, with no hedge position and no renewable fuel customers, do not build. The arithmetic fits in a spreadsheet and the discipline you need is bookkeeping. If your commercial system already produces a reliable daily position and the only gap is plant yield, that is a narrower and cheaper project than a platform.

Be specific about why the packaged options fall short rather than dismissing them. Packaged process manufacturing systems model recipes and work orders competently, and if you have one, configure its production module before building anything. Where it stops is that it does not produce a daily crush margin from adjusted receipts and does not carry feedstock origin documentation. Your grain accounting and scale system genuinely owns receiving, shrink and settlement, and rebuilding that is usually waste, so integrate it and let it stay the record for loads. The same applies to contract management if your commercial system handles it well.

The build case is the join. You are crushing continuously with a hedge position against physical, selling into renewable fuel buyers with documentation obligations, and your monthly close regularly produces surprises nobody can explain. The clearest single symptom is that your plant manager and your commercial lead routinely disagree about the numbers, which is expensive in ways that never appear on a report.

How do hidden costs get into the quote?

A first release covering receiving with shrink and discount automation, adjusted inventory, a daily mass balance from process data and the crush margin calculation runs $80,000 to $160,000 over 12 to 18 weeks. A full platform adding contracts, loadout with quality certificates, position reporting, sustainability documentation and rail management runs $200,000 to $500,000 across 8 to 14 months. Four things move the number and none of them are surprises if anyone asks.

Multiple plants is the first, and it is not linear, because grading practice and discount schedules differ between sites more than owners expect. Multiple certification schemes running simultaneously is the second, since each carries its own chain of custody rules. Rail and barge logistics is the third and deserves to be scoped as its own workstream rather than assumed: rail brings car management, placement and release timing, and demurrage exposure that accrues quietly. Integration with a legacy control system that has no clean data path is the fourth, and it is the one most often discovered after signing.

The way to hold the estimate is to make it name your historian product, your scale and grain accounting system, your certification schemes and whether release one includes rail. A quote that says process integration without naming the control system is a quote that will move.

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

Order of work, first. Receiving, then adjusted inventory, then mass balance, then margin, then position and certification. Every plant that has tried to start at the top has ended up rebuilding from the bottom anyway, at full price.

Second, an explicit boundary around the hedge. The right scope is reporting and reconciliation: physical inventory and open contracts by commodity and delivery period, with the hedge position brought in from your broker or trading system, so net exposure is one picture built from one set of source data. That is what stops commercial and plant arguing from different numbers. Any developer offering to automate trading decisions should be declined, and the boundary belongs in the written scope rather than in a conversation.

Third, treat the mass balance not closing as the normal condition. The design that works separates measurement variance from unexplained loss and categorises losses rather than reporting one plug, because the categorisation is what turns a drift in extraction into a conversation on Wednesday instead of a discovery in next month's board pack.

Finally, settle ownership before kickoff: repository, cloud accounts and the right to hire anyone else to continue the work. At Digital Heroes the client owns the code from the first commit. When the system produces the margin and position numbers your commercial decisions run on, needing a supplier's permission to change a calculation is a dependency no plant should accept.

Research & sources

The evidence behind this guide

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

  1. Across more than 5,400 IT projects studied by McKinsey and the University of Oxford BT Centre, large IT projects ran on average 45% over budget and 7% over schedule while delivering 56% less value than predicted. Source: McKinsey & Company / University of Oxford (BT Centre for Major Programme Management) (2012) →
  2. Standish's 2015 CHAOS research found roughly a third of software projects (about 36% by the Modern definition) fully succeed on time, on budget, and on scope, with top success drivers including executive support, user involvement, and clear requirements/business objectives. Source: Standish Group (CHAOS Report) (2015) →
  3. The NRF discontinued its long-running annual shrink report, stating that a broad study of retail shrink 'is no longer sufficient for capturing the key challenges and needs of the industry' - important context that qualifies how POS/shrink benchmarks should be cited going forward. Source: Retail Dive (2024) →
  4. One in four US employees report lacking career advancement opportunities; 48% of employees who participated in mentorship programs report high job satisfaction versus 29% of non-participants, and access to advancement opportunities ranges from 33% at organizations under 10 employees to 74% at those with 1,000+. Source: Gallup (2025) →
Ryan P. · Senior UX Designer · APAC · Sydney

Ryan designs user experience for APAC projects: mapping how people move through a system, testing whether the path holds up, and reworking it when it does not. Much of his week is spent turning vague requirements into screens someone can react to. Expect posts grounded in how users actually behave.

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

FAQ

Frequently asked questions

Our extraction numbers look like they are drifting. How do we tell if it is real?

Check which weight the yield calculation uses before you touch the process. If it runs on delivered tonnes rather than the adjusted quantity after shrink and grade discounts, the drift may be entirely an accounting artefact that moves with the moisture profile of incoming beans. Recompute a month of yields on adjusted weight and compare. If the drift disappears, you have an accounting fix; if it persists, it is worth a process investigation.

Why should we not build the crush margin dashboard first?

Because a confident number computed from unreliable inputs is worse than no number, and people will act on it. Receiving and yield data underpin everything downstream, so they are the correct first release even though they are the least interesting to demonstrate. Plants that start with the dashboard typically end up with something nobody trusts and a spreadsheet running beside it, which is the situation the project was meant to end.

Our discount schedule on paper is not what we actually pay. What do we do?

Find the difference before go live rather than after. Run the documented schedule against three months of historical loads and review every settlement that differs from what was paid. Each difference is either an error you have been carrying or an undocumented practice, and both need a decision from someone with authority. Suppliers notice settlement changes immediately, so this is a commercial conversation as much as a data one.

How do we know if our historian data is usable for a mass balance?

Get it assessed in the first two weeks of the project rather than assuming a clean interface exists, because on older control systems this is the largest single schedule risk. The specific things to check are whether tank levels are calibrated well enough to serve as inventory, whether any meter reading includes a recycle stream, and whether renamed tags from past projects still return stale values. Each of those produces a balance that fails in a way resembling process loss.

Can we add renewable fuel documentation later once we win that customer?

The reporting can wait. The capture cannot. Origin evidence and supplier declarations have to be recorded at receiving, and they cannot be retrofitted to loads received last quarter, so a plant that defers the whole thing discovers on the first buyer document request that the answer requires calling farmers. Put origin and declaration capture into release one with expiry warnings, and build the evidence pack generation when the market actually requires it.

Should the software replace our scale and grain accounting system?

Usually not. That system genuinely owns receiving, grading and settlement, and rebuilding it is expensive work with little competitive return. The better pattern is to integrate it, let it remain the record for loads, and build the layer that joins adjusted receipts to process yields, product movements and position. The same logic applies to grain contract management if your commercial system already handles it well.

How do we scope the hedge side without a developer touching trading?

Write the boundary into the scope document, not just into the conversation. The deliverable is a position report showing physical inventory and open contracts by commodity and delivery period alongside the hedge position brought in from your broker or trading system. It is reconciliation and reporting only. Decline any proposal that includes automating trading decisions, and keep the commercial team as the authority on the position itself.

Does rail need to be in the first release?

Only if rail volume dominates your loadout, and it is reasonable to defer if truck does. Rail is its own workstream: car management, placement and release timing, and demurrage that accrues quietly when nobody is watching. Plants commonly find rail visibility pays for itself in avoided demurrage, but it adds real scope, so treat it as a costed phase rather than a feature assumed into the first number.

Can a custom ERP integrate with the tools we already use, like QuickBooks or Shopify?
Yes, and keeping tools that already work well is usually the right call. The integrations we build most often are QuickBooks or Xero for accounting, Shopify or WooCommerce for orders, ShipStation for fulfillment, and Salesforce or HubSpot for CRM. A typical integration adds $5,000 to $15,000 to the build depending on how much two-way syncing the workflow needs.
Is SAP overkill for a mid-sized company?
For most companies under about 500 employees, yes. SAP S/4HANA is built for multi-entity, multi-country enterprises with implementations measured in years and seven figures, while SAP Business One, the mid-market product, still forces your processes into its mold. If your competitive edge lives in how you operate, a custom ERP scoped to your actual workflows ships faster and costs a fraction of an SAP program.
What are the biggest mistakes first-time software buyers make?
Choosing the lowest bid, paying more than 30-40% upfront instead of on milestones, skipping a written specification, and having no maintenance plan for after launch. The most expensive of the four in Digital Heroes rescue projects is the missing spec: without written acceptance criteria, done becomes an argument instead of a checklist, and every disagreement resolves in the vendor's favor. Fix those four and you have avoided most of the ways these projects fail.
Can I start with one ERP module instead of the full system?
Yes, and it is how most successful custom ERP projects at Digital Heroes begin. We build the single module causing the worst pain first, typically inventory or order management, get it live in 10 to 14 weeks, and let it prove ROI before the next phase gets funded. Starting with one module also derisks data migration because you move one dataset at a time.
Can custom software connect to the tools we already use, like QuickBooks, Stripe, and Google Workspace?
Yes, and connecting your existing tools is one of the main reasons to build custom: mainstream platforms like QuickBooks, Stripe, Shopify, and Google Workspace all publish documented APIs. Budget 1 to 3 weeks of work per integration depending on API quality and how much data flows in both directions. Ask any vendor whether they have integrated with your specific tools before, because quirks like QuickBooks' OAuth token handling and API rate limits get learned on someone's project, and it should not be yours.
What does it cost to keep custom software running after launch?
Budget 15-20% of the original build cost per year, which on a $100,000 system means $15,000 to $20,000 for security patches, dependency updates, bug fixes, and small improvements as real usage reveals what the spec missed. Cloud hosting for a typical business application adds $50 to $300 a month on top. Skipping maintenance does not save the money; in Digital Heroes rescue work, unmaintained systems typically need a far more expensive rebuild within about three years.
Is customizing Odoo cheaper than building an ERP from scratch?
Usually yes in year one, and often no by year three if your workflows sit far from Odoo's assumptions. Odoo's published pricing starts around $25 per user per month and the Community edition is free, but heavy customization means every version upgrade can break your modules and needs paid rework. If you expect to rewrite more than about a third of the core flows, a scratch build with clean ownership tends to cost less over the life of the system.
Does it matter which tech stack the agency wants to use?
Yes, but not in the way most buyers expect: the goal is boring, popular technology such as React, Node.js or Python, and PostgreSQL, because any future team can maintain it and hiring a replacement developer takes days, not months. The red flag is an agency-proprietary framework or an unusual language, which welds you to that one vendor no matter what your contract says about code ownership. A useful test: could you find three freelancers fluent in this stack within a week? If not, push back.
Can I build my product on a no-code tool like Bubble instead of hiring developers?
For testing whether anyone wants the product, yes, and Bubble's paid plans start at $29 a month, which is the cheapest validation you will ever buy. The ceiling arrives with complex data relationships, heavy integrations, performance at a few thousand users, and the fact that you cannot export a Bubble app to servers you control. A path many Digital Heroes clients take: prove demand on no-code, then rebuild custom once revenue justifies it, treating the no-code version as a paid prototype rather than a foundation.
Can a custom ERP meet compliance requirements like SOC 2 or GDPR?
Yes, and often more cleanly than a shared SaaS platform because you control exactly where data lives and who touches it. The build includes role-based access control, full audit logs, encryption at rest and in transit, and data residency in whatever region your regulator requires. If you need SOC 2 attestation, tell the agency before development starts, since audit logging is far cheaper to design in than to bolt on.
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?