Problems & solutions · Supply Chain

Food Traceability Software Problems: The 7 That Widen a Recall, and How to Avoid Them

Food Traceability Software workflow illustration showing common problems and fixes.
The short answer

The most expensive failure in this category is a build that captures both loading docks and skips the transformation events in between. When the link from supplier lot to finished lot exists only on a clipboard, your recall bracket defaults to every lot made that week rather than the single shift that actually shares the suspect input, and you destroy or hold pallets of good product to be safe. For a processor running a cut-and-blend line, the difference between a one-shift bracket and a one-week bracket is usually the largest single number the software will ever move.

Why does traceability scope stop at receiving and shipping so often?

The commonest scope failure here is a project that instruments the dock at both ends and treats the middle of the plant as a black box. Receiving gets a handheld. Shipping gets a handheld. The wash line, the dice line, the blender and the pack line get nothing, because whoever wrote the scope was thinking about product movement, and at a dock the product identity does not change.

That failure is specific to food because transformation is where the traceability lot code is actually created. A distributor moving sealed cases can genuinely live with dock to dock capture: the lot that arrives is the lot that leaves. A processor cannot. The moment three supplier lots of romaine are washed, blended into one batch and packed into forty finished lots, the link between input and output exists only inside the plant. If you did not capture it there, it does not exist anywhere, and no amount of clever reporting later will reconstruct it.

The fix is to write the scope as a list of Critical Tracking Events rather than a list of screens. Walk the physical process with the quality manager and the line lead, mark every point where product is received, transformed, created or shipped, and require a named capture point for each. If a transformation appears in the process walk but not in the scope document, that is your future recall gap. Arguing about it in week two costs a meeting. Discovering it during a mock recall in month nine costs the project.

What goes wrong when you migrate historical lot and supplier records?

Teams assume the food ERP (Enterprise Resource Planning) export is the historical record. It is not. It holds receipts and shipments, while the batch sheets that connect them sit in photographed clipboards, the certificates of analysis sit as PDFs in a shared drive, and the supplier lot codes appear in five different formats because five different clerks typed them.

The trap unique to food is that you cannot backfill a genealogy graph you never recorded. Prior lots have no transformation links, so importing them into a genealogy schema produces records that look traceable and are not, which is worse than an obvious gap. Meanwhile the rule requires traceability records to be retained for two years, so the old data still has to be answerable during that window.

The fix has three parts. Migrate identity data properly: items, suppliers, ship-from locations, customers and unit conversions, deduplicated and normalised, because every future lot depends on them. Migrate pre-cutover transactional lot records as flat receipts and shipments, explicitly flagged as having no genealogy, so nobody mistakes them for traced product. Then keep the legacy system queryable for the full retention period and write down, before cutover, who runs a trace on a pre-cutover lot and how. Most of the migration effort goes into supplier lot code normalisation, so budget it as its own workstream.

Why do the ERP, WMS (Warehouse Management System) and label printer integrations break after launch?

The integration that fails is almost never the one that was hard to build. It is the lot sync with the food ERP, and it fails quietly. A developer maps the ERP lot field one to one onto the traceability lot code because on day one they look identical. That mapping holds until the first commingled batch, at which point one ERP lot corresponds to several traceability lot codes, and the sync starts creating duplicate lot records that nobody notices for a month.

The second failure is item master drift. Someone in purchasing adds a new SKU in NetSuite or Deacom without the traceability attributes, so product starts flowing through a code path that has no lot requirement, and the first sign is a hole in a trace. The third is label printing. Zebra and SATO integrations are stable until a printer is swapped or firmware changes, and a pack line that cannot print a lot code will keep packing.

The fix is ownership plus monitoring. Decide, field by field, which system is authoritative and never write back to the other, so there is no bidirectional loop to reconcile. Run a nightly divergence report that counts lots present in one system and absent from the other, and route it to a human rather than a log file. Alert when a new item appears in the ERP without traceability attributes, and alert when a printer has not confirmed a print in a shift. None of that is interesting engineering, and it is what keeps the genealogy honest six months after go-live.

What happens when the 24-hour FDA export is not genuinely covered?

Plenty of builds get the genealogy right and then treat the regulatory export as a reporting task for later. The Food Traceability Rule lets the FDA request an electronic sortable spreadsheet of your traceability Key Data Elements, and the clock is 24 hours. A team that has never run that export against real production data will find out under the clock that the ship-from location was captured as free text, or that the reference document number was never required at receiving, or that the export times out on a year of data.

This is specific to food because the required fields differ by event type. Receiving, transformation, creating and shipping each carry their own Key Data Elements, and a build that models one generic event with optional fields will pass its own tests and fail the actual request. Optional fields get skipped by busy people.

The fix is to make the export a first-class deliverable with its own acceptance criteria, exercised every month. Run a scheduled mock recall against a randomly chosen real lot, produce the sortable spreadsheet, and have somebody who did not build it try to break the output. Make each Key Data Element mandatory at its own event type rather than nullable, so the capture screen refuses an incomplete receipt at the dock instead of a report discovering it a year later. If your team cannot produce the file in under an hour today, the requirement is not covered whatever the specification says.

Should you build custom or configure what you already own?

Some readers should not build, and this is the honest boundary. If you are a single-facility distributor receiving sealed cases and shipping them without transformation, your food ERP's lot module plus a supplier document tool is genuinely sufficient. The lot that comes in is the lot that goes out, so there is no genealogy to reconstruct, and NetSuite, Aptean Ross, Deacom, BatchMaster or Sage will carry the receiving and shipping records you need. Add FoodLogiQ or TraceGains for supplier certificates and you have a defensible position for a short list of Food Traceability List items. Building a genealogy graph for a pass-through operation is over-engineering.

The line moves when transformation enters the picture. Configure first, and only build when two or more of these are true at once: your mock recall takes more than a day; your recall bracket is routinely wider than the actual exposure; you commingle or split lots so the one-in-one-out lot field no longer matches reality; you run more than one facility with different processes; or your team keys the same lot data into three systems every shift. Configuration exhausts itself at exactly the point where the ERP has no place to store the link between an input lot and an output lot, and no amount of custom fields creates one.

How do hidden costs get into the quote?

Quotes in this category understate the physical world. Handheld hardware, mounting, charging and spares for a plant floor are a real line item and get left to the client to discover. Label printer integration is quoted as one printer and delivered against six, each on a different line. Offline capture gets treated as a toggle when it is a design decision that touches every write path, and skipping it means the app is unusable in the cooler, which is where receiving happens.

Then there is supplier onboarding. A quote that includes a supplier portal rarely includes the effort of getting suppliers to use it, or the per-partner electronic data interchange mapping for the high-volume growers where a feed is worth it. GS1 EPCIS support appears late when a retail customer asks for it. A second facility is quoted as a copy of the first and is not. And training is quoted once when a plant runs three shifts.

The fix is a scoping conversation that names counts before price: how many facilities, how many capture points per facility, how many printers, how many suppliers on a feed versus a form, how many shifts, and whether any customer requires GS1 formats today. A vendor who quotes without those numbers is guessing, and the difference between the guess and reality lands on you as a change order.

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

The builds that hold up share four habits. First, the data model is settled before any screen is designed, and it treats genealogy as a graph of transformation events rather than a lot field on an inventory row. Ask a candidate to whiteboard three supplier lots commingled into one batch and split into forty finished lots. If they reach for a flat lot column, they will rebuild the model twice on your budget.

Second, the plant floor is in the design sessions. The person who will scan in a freezer at 5am knows which pallets arrive with unreadable tags and which supplier sends handwritten packing slips, and that detail decides half the interface. Builds designed entirely in a conference room produce capture screens that crews route around, and a routed-around screen is a hole in the trace.

Third, the acceptance test is a mock recall, not a feature checklist. Pick a real lot, run the trace both directions, produce the FDA sortable spreadsheet, and time it. Repeat it monthly forever. Fourth, one facility goes to production and runs a full season before the second one starts, so you learn what the model got wrong while it is still cheap to change.

Finally, settle ownership in writing before kickoff: the repository, the schema and the hosting accounts are yours from the first commit. In this domain the genealogy graph and the regulatory export logic become evidence during a recall, and renting the ability to change them is a poor position to be in the week an inspector calls.

Research & sources

The evidence behind this guide

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

  1. Across 1,471 IT projects the average cost overrun was 27%, but one in six projects was a 'black swan' with an average cost overrun of 200% and a schedule overrun of nearly 70%. Source: Harvard Business Review (Bent Flyvbjerg & Alexander Budzier, University of Oxford) (2011) →
  2. Global retail loses an estimated $1.73 trillion annually to inventory distortion (out-of-stocks and overstocks), equal to about 6.5% of global retail sales, despite $172 billion spent on improvements in the past year. Source: IHL Group (2025) →
  3. This analysis cites IDC research that companies lose 20-30% of revenue annually to inefficiencies caused by data silos, Gartner's estimate that poor data quality costs organizations at least $12.9 million per year on average, and a Salesforce benchmark that 80% of IT leaders say data silos hinder digital transformation - illustrating the business case for integrating systems. Source: Cherry Bekaert (citing IDC, Gartner, Salesforce, DATAVERSITY) (2024) →
  4. The average number of formal learning hours used per employee fell to 13.7 in 2024, down from 17.4 in 2023, a decline the report attributes partly to a shift toward informal and on-the-job learning not captured in the formal-hours metric. Source: Association for Talent Development (ATD) (2025) →
James M. · Senior Strategist · Fintech · London

James covers financial services work, where a feature request usually arrives attached to a compliance requirement. He is worth reading if you are scoping payments, lending or account software and need to know which decisions are technical, which are regulatory and which are simply expensive.

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

FAQ

Frequently asked questions

Our ERP already has lot tracking. Why would we need anything else?
Standard ERP lot tracking assumes one lot in and one lot out, which is accurate for a pass-through distributor and wrong for a processor. When you wash, blend or repack, several supplier lots become one batch and that batch becomes many finished lots, and the ERP has no field to hold that link. That missing link is what forces a recall bracket to widen to a whole week of production, because nobody can prove which finished lots are clean.
How do we test that our traceability system can actually meet the 24-hour request?
Run a scheduled mock recall every month against a randomly chosen real lot, produce the sortable spreadsheet export, and time it end to end. Have someone who did not build the system read the output and try to break it, checking that ship-from location, reference document and traceability lot code are populated on every row. If it takes more than an hour today, the requirement is not covered regardless of what the specification claims.
What is the most common gap found during a mock recall?
The transformation event. Receiving and shipping usually get captured because they happen at a dock where somebody is already scanning, while the batch or blend step lives on paper. Without it there is no genealogy, so a forward trace stops at the plant door. The second most common gap is a Key Data Element that was modelled as optional and therefore skipped by busy operators.
Can we phase this build across our plants instead of doing all of them at once?
Yes, and you should. Put one facility fully into production and run it through a busy season before the second starts, because every plant has process quirks that will change the model, and you want to learn that on one site rather than four. Choose the facility with the most transformation first, since it stresses the genealogy design hardest.
Why does our lot data drift between the new system and the ERP after go-live?
Almost always a bidirectional sync where both systems can write the same field. On day one an ERP lot and a traceability lot code look identical, so they get mapped one to one, and the mapping breaks the first time you commingle. Pick one authoritative system per field, never write back, and run a nightly divergence report that counts lots present in one system and missing from the other.
Do we really need offline capture on the plant floor?
In a cooler, a freezer or an older concrete building, yes. A cloud application that assumes a live connection fails exactly where receiving and packing happen, and crews revert to paper that never gets keyed in. Offline-first affects every write path, so it is a design decision at the start rather than a feature added later, and it needs an explicit conflict rule for two terminals scanning the same lot.
How long should we keep the legacy system running after cutover?
Plan for the full record retention window the rule sets, which is two years, because a trace on a pre-cutover lot still has to be answerable. Import old receipts and shipments as flat records flagged as having no genealogy, so nobody mistakes them for traced product, and write down who runs a legacy trace and how before you switch over.
Is a supplier portal worth building, or will suppliers ignore it?
Small growers routinely ignore portals, so treat adoption as the scope rather than the software. Map an EDI or API feed once for your high-volume suppliers where the volume justifies it, and for everyone else capture the Key Data Elements at your own dock through barcode scanning, document extraction on the packing slip, or a short structured form. A portal nobody logs into produces the same paper problem with an extra login.
How long does it take to build a custom web or mobile app from scratch?
Plan on 8 to 16 weeks for a focused first version and 4 to 9 months for a larger platform, which is the typical spread across Digital Heroes builds. The first 2 to 3 weeks go to discovery and design before any production code ships. The two things that stretch timelines most are integrations with legacy systems and slow feedback from your side, not developer speed.
What should I prepare before contacting a software development agency?
A one-page brief beats a 40-page requirements document: the business problem in plain words, who will use the system, the 5 to 10 workflows it must handle, the tools it must connect to, and your budget range and deadline driver. You do not need wireframes, a specification, or technical vocabulary; producing those is the agency's job during discovery. Stating a budget range up front is the single best move, because it gets you honest scoping instead of a quote engineered to win the meeting.
How do I calculate whether custom software will pay for itself?
Divide the build cost by the monthly benefit, where benefit is hours saved times loaded hourly cost, plus subscription fees replaced, plus any revenue the software unlocks. Three staff saving 10 hours a week each at a $40 loaded rate is about $62,000 a year, which pays back a $60,000 build in roughly 12 months. Across Digital Heroes internal-tool projects, 12 to 24 months is the normal payback range, and anything projecting under 6 months usually means the spreadsheet is hiding costs.
We run everything on spreadsheets and Airtable. How do we know it's time for custom software?
The reliable signals are re-typing the same data into multiple tools, one employee acting as human middleware between systems, and errors appearing in handoffs between teams. Hard limits force the issue too: Airtable's Team plan caps at 50,000 records per base, and Business costs $45 per seat per month, so a 20-person team pays about $10,800 a year for a tool it has already outgrown. When workarounds consume more hours than the tools save, the spreadsheet era is over.
Who owns the code when an agency builds my supply chain software?
You should own it outright, with full IP assignment on payment written into the contract, and you should walk away from any agency that only licenses the software to you. Insist on the code living in a repository under your own GitHub or GitLab account from day one, not handed over at the end. Digital Heroes contracts assign all custom code, database schemas, and documentation to the client; the only carve-outs should be clearly listed open source libraries.
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.
Why do companies replace generic SCM software with custom systems?
The usual trigger is workflow mismatch: generic SCM tools model a standard distributor, so anything unusual, like mixed lot and serial tracking, consignment inventory, or customer-specific routing rules, ends up managed in spreadsheets beside the system. Companies also leave when per-user pricing punishes growth or the vendor's API cannot support needed integrations. In Digital Heroes projects, the number of spreadsheets living around the official system is the most reliable signal a team has outgrown its off-the-shelf tool.
How big a development team does a supply chain software project need?
A typical build runs with 4 to 6 people: a project lead or analyst, two or three developers, a QA engineer, and a part-time designer. Digital Heroes staffs most supply chain MVPs this way for 10 to 14 weeks, then drops to 1 or 2 people for maintenance after launch. Bigger is not better here; past 7 or 8 people on a single-product build, coordination overhead usually cancels the added speed.
Will an app built for 10 users survive growing to 500?
Yes, if it is built on standard cloud infrastructure with a sound data model, because moving from 10 to 500 users is a hosting configuration change, not a rebuild. The scaling decisions that actually hurt are made early and invisibly: how the database is structured, how accounts and permissions are modeled, and whether background work is queued properly. Ask your agency how the system would handle ten times the load; the right answer is boring and specific, and a promise to cross that bridge later means you will pay for the bridge twice.
We are a growing distributor. Should we pick SAP Business One or go custom?
If you need full accounting, purchasing, and inventory in one system today, SAP Business One is the faster path; if your pain is operational workflows the ERP handles badly, custom is usually the better spend. Business One gives you a proven ledger and stock control, but changing its workflows means paying certified consultants, and the customization quotes Digital Heroes clients share commonly run $150 to $250 per hour for changes you never own. A pattern Digital Heroes builds often is Business One or QuickBooks as the financial core with a custom order, warehouse, or logistics layer on top.
Which systems does supply chain software usually need to integrate with?
The standard set is your accounting or ERP system (QuickBooks, NetSuite, SAP), your sales channels (Shopify, Amazon, or a B2B portal), carriers and 3PLs for rates and tracking (UPS, FedEx, or an aggregator like EasyPost), and warehouse hardware such as barcode scanners and label printers. EDI connections to large retail customers are their own workstream. In Digital Heroes scoping, integration work is commonly 30 to 50 percent of total project effort, so listing every connected system upfront is the single best way to get an accurate quote.
Who can build a custom supply chain software system?

Digital Heroes builds custom supply chain 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 supply chain 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?