Problems & solutions · Supply Chain

Drayage Software Problems: The 7 That Cost You Demurrage, Per Diem and Turns

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

The most expensive failure in drayage software is a data model built around loads instead of containers. One box can be a pull, a yard drop, a live unload three days later, an empty return and a chassis flip in between, and a load based system makes those five unrelated records. Last free day ends up typed into a notes field, chassis start date is stored nowhere, and no query can rank containers by dollars at risk in the next 72 hours. A dispatcher then catches the two boxes she happens to look at and misses the third, which runs nine days of demurrage nobody will reimburse. Multiply that by the number that slip through each month and you are paying for the exact leak the software was bought to close.

Why does the model get built around loads instead of containers?

Because everyone in freight software already has a load model, and reusing it looks like a saving. The developer has built a transport management system before, the requirements read like dispatch requirements, and the container looks like an attribute of the move rather than the thing the whole business revolves around. So the build starts with a load table and containers become a field on it.

The failure shows up about two months after go live. Someone asks how many days remain before last free day on every box currently on the ground, and there is no answer, because last free day belongs to a container and the system only knows about legs. Dispatchers respond exactly as they did in the old tool: they create several loads for one box and keep the relationship in their heads.

The fix is a structural decision made before anything is quoted. Container number, size, type, steamship line, bill of lading, vessel, discharge date, last free day, per diem free days, chassis assignment with start and stop timestamps and appointment reference sit on the container. Every leg hangs off it as a child. Only then do the clocks become computable, and only then can you build the single highest value screen in the category: every container ranked by dollars at risk over the next three days. Ask any prospective developer to draw the model before they quote. This one question filters most of the market.

What goes wrong migrating container history and rate tables?

The export is the easy part. Customers, rate tables and open loads come out of Vector, Envase or Compcare without much drama. The problem is that the data you most need is not in fields. Last free day, chassis numbers, seal numbers and per diem terms live in notes fields, typed by different dispatchers in different formats over several years, and a straight import carries them across as unparsed text.

That matters more here than in most industries because your open per diem disputes depend on history. If you cut over on a Monday with eighteen months of chassis activity stranded in free text, you have a new system that cannot defend an invoice arriving from a pool next week for a chassis returned three weeks ago.

Two things fix it. Run a parsing pass over notes fields before cutover, extracting container numbers, dates and chassis references into structured columns, and validate every container number against the ISO 6346 check digit so garbage is caught rather than migrated. Then plan a parallel run where both systems are live and the new one is scored against the old on a sample of moves. Two to three weeks inside the project timeline is realistic for migration and parallel operation together, and a proposal that shows migration as a single line at the end of the plan has not thought about the notes fields.

Why do terminal, chassis and steamship integrations break after launch?

Because none of them are your systems and none of them owe you stability. Terminal portals change session handling, add rate limits, alter page structure and adjust the times slots release. Chassis pool data is the least standardised in the business. Steamship line data ranges from a clean interface to screen scraping, and the scraped ones break without notice.

The predictable mistake is building these integrations as if they were reliable and letting the rest of the system depend on them synchronously. When a terminal portal changes, the appointment automation stops, and because it stopped silently at 4am nobody notices until a driver arrives without a slot.

Build them as fallible sources instead. Every integration writes to a staging record with a fetched timestamp and a health state, the operational screens read the last known good value and show its age, and a failure raises an alert to a named person rather than an entry in a log. Design the appointment automation so a human can take over booking for one terminal without the rest of the system caring. And ask any developer specifically which terminal portals and which chassis pools they have worked with, and what broke. Anyone who has actually done eModal or a terminal interchange receipt portal has stories about sessions and rate limits. Anyone who has not will tell you it is straightforward.

What happens when chassis events and per diem evidence are not covered?

This is where drayage operators bleed quietly. A driver flips a chassis at a yard, nobody records it, and 45 days later an invoice arrives from TRAC or DCLI for days on a chassis you gave back three weeks earlier. Without an event log you cannot dispute it, so you pay. Nobody ever adds up the annual total, which is precisely why it continues.

A chassis field in a transport management system does not solve this. A field records a value, not a history, and the dispute requires a history: out of pool at a timestamp, mounted to a specific container, flipped at a specific yard, returned at a timestamp.

Cover it by making chassis a first class entity with an event log, and capture the events where they happen, which is on the driver's phone. Each event carries geolocation, a photograph and a driver identity. Then reconciliation becomes a report: the pool's charged days against your event log, container by container, with disputes going out with photographic and location evidence attached. Two design points matter. The driver app must work offline with a local queue, because drivers lose signal inside terminals every day and an event that fails to record is worse than no app. And set a retention policy for those photographs and location records at the start, because they are the evidence that wins disputes and they are also personal data about your drivers.

Should you build custom or configure what you already own?

Configure if you run under about 25 trucks out of one terminal with one chassis pool. Envase, Vector and Compcare cover dispatch and invoicing at a small fraction of build cost, and at that size your volume does not generate enough clock management pain to justify custom code. If your plan is to stay exactly this size, the answer stays the same and you should ignore anyone telling you otherwise.

The genuine limit of those products is what they choose to model. They model a load and they model an invoice, both competently. They do not model a chassis event log, a per diem exposure figure per container, or automated appointment booking against your own priority rules, because those require the container to be the root entity. That is an architectural choice made years ago in their products, not a feature gap you can configure around.

Build when the signals appear together: past roughly 40 trucks or 150 containers a week, two or more terminals, someone whose job is substantially copying data between systems, and no ability to produce a per diem dispute with evidence. One signal decides it on its own. If you have already bought a second tool to compensate for the first, a separate appointment bot, a separate yard sheet, a separate billing spreadsheet, you are already paying for a custom system. It is just unintegrated and held together by people.

How do hidden costs get into the quote?

Terminal count is the biggest and the most commonly flattened. Every terminal portal is its own integration with its own behaviour, and a quote that prices "terminal integration" as one line is pricing whichever one the developer looked at. Ask for it per terminal, with the first one priced after a short discovery spike rather than before.

The driver app is the second. A bilingual app with offline capability, photo capture and a sync that resolves conflicts is a real piece of engineering, and it is usually described in a proposal as a single bullet. It is also the capture point for the chassis evidence that pays for the project, so it should not be cut.

Third is document extraction for delivery orders. Extraction itself is well understood, but the surrounding work is not free: a watched inbox, per field confidence scoring, a review queue for low confidence fields, and per sender learning so a forwarder's repeated layout stops reaching the queue. Fourth is multi entity billing if you run separate operating authorities per port, which changes invoicing, reporting and access control together. And if you move bonded or in bond freight, scope the customs filing touchpoints explicitly rather than discovering them after launch.

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

The builds that work start narrow and prove a number. One terminal, one chassis pool, the container model with clocks, and the dollars at risk screen. That screen either finds boxes your dispatchers were missing in the first fortnight or it does not, and if it does, the rest of the programme funds itself in an easy internal conversation rather than a capital request.

They also treat the driver app as infrastructure rather than a nice addition, because without field capture the chassis reconciliation has no data and the strongest financial argument disappears. And they design every external integration to fail visibly, with a last refreshed timestamp on screen, so a dispatcher knows whether she is looking at live terminal availability or a value from yesterday afternoon.

The failures share one pattern: a twelve month programme with nothing live until the end, usually because the plan tried to cover every terminal and every customer at once. By month eight the terminals have changed their portals, the requirements have drifted and the operation has built new workarounds. Ship something that computes a clock in the first quarter, then expand. Finally, settle ownership before kickoff. The repository in your organisation, the infrastructure in your cloud account, and container and chassis history exportable from day one. A developer proposing to host your operational data on their platform with no exit path is selling lock in, not a custom build.

Research & sources

The evidence behind this guide

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

  1. McKinsey estimates that digitizing the supply chain (Supply Chain 4.0) can cut lost sales by up to 75%, reduce inventories by up to 75%, and lower supply chain operational costs by up to 30%, with up to 30% lower transport and warehousing costs. Source: McKinsey & Company (2016) →
  2. Poor software quality cost the US economy an estimated $2.41 trillion in 2022, including roughly $1.52 trillion in accumulated technical debt, driven partly by unsuccessful development projects and low-quality legacy systems. Source: Consortium for Information & Software Quality (CISQ) - Herb Krasner (2022) →
  3. The average developer spends more than 17 hours a week dealing with maintenance issues such as debugging and refactoring, and about four of those hours on 'bad code' - waste that equates to nearly $85 billion annually worldwide in opportunity cost. Source: Stripe (2018) →
  4. Criteo's Global Commerce Review found retail apps convert at 18% versus 4% on mobile web (roughly 4.5x), and travel apps convert at 20% versus 6% on mobile web (about 3.3x). Source: Criteo (2017) →
Aditya V. · Senior Shopify Engineer · Delhi

Aditya builds and maintains Shopify stores at Digital Heroes: theme development, Liquid work, app integrations and the custom features merchants ask for once a template stops fitting. His posts are hands on, aimed at store owners who want to know what a request really involves.

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

FAQ

Frequently asked questions

We already run Envase or Vector. Can we keep it and build only the missing parts?
Often yes, and it is usually the cheaper first move. Keep dispatch and invoicing where they are, and build the container object with its clocks, the chassis event log and the driver capture app alongside, reading from and writing back to the incumbent system. You get the demurrage and per diem visibility without a cutover, and you learn whether the full replacement is justified before committing to it.
How do we recover last free day and chassis data trapped in notes fields?
With a parsing pass before migration rather than a manual clean up afterwards. Notes fields typically contain container numbers, dates and chassis references in inconsistent formats, and a targeted extraction run recovers most of it into structured columns. Validate every container number against the ISO 6346 check digit during the pass so bad numbers are flagged rather than migrated, and expect a review queue for the records the parser cannot resolve confidently.
What happens to appointment automation when a terminal changes its portal?
It stops, and the question is whether it stops loudly or quietly. Design the automation so each terminal is independent, so a failure raises an alert to a named person, and so a human can take over booking for that terminal without affecting the others. Every screen showing terminal data should carry the age of the value, because a dispatcher acting on yesterday's availability is a worse outcome than a dispatcher who knows the feed is down.
Is the driver app worth building, or can we manage on messaging apps?
Past roughly 40 trucks it is worth building, and the reason is not messaging. The app is the capture point for chassis in and out events with geolocation and photographs, which is the evidence that lets you dispute per diem invoices instead of paying them. It has to work offline with a local queue, because drivers lose signal inside terminals every day, and events captured without connectivity have to sync cleanly later.
How long does it take before we see anything useful?
A focused first release covering the container model with clocks, chassis events, appointment automation for one or two terminals, document extraction and a driver app ships in 12 to 16 weeks in our delivery experience. The constraint is rarely engineering speed. It is terminal and chassis pool integration, which depends on portals and partners you do not control, so sequence the work so the dollars at risk screen goes live before the harder integrations are finished.
Can document extraction really handle the delivery orders our customers send?
Yes, and it is the clearest automation win in drayage, provided you build the surrounding process rather than just the extraction. You need a watched inbox, per field confidence scoring, a review queue that surfaces only low confidence fields, and per sender learning so a forwarder sending the same layout every week stops appearing in the queue. Container number validation against the check digit is free and catches transposed digits before a driver wastes a turn.
What compliance requirements should be in scope from the start?
Hours of service under the Federal Motor Carrier Safety Administration rules is the baseline, which means electronic logging device data needs to reach dispatch planning rather than sit in a separate application. If you move bonded or in bond freight, customs filing touchpoints belong in scope explicitly. And any driver app collecting location and photographs needs a stated retention policy, since that evidence is exactly what wins per diem disputes and is also personal data about your drivers.
What should we ask a developer to prove before we sign?
Ask them to draw the data model before quoting. If loads sit at the root and containers are an attribute, they have built freight software rather than drayage software. Then ask which specific terminal portals and chassis pools they have integrated and what broke, and how the driver app behaves when it loses signal inside a terminal. Vague answers to those three mean you will be paying for their education.
Who owns the code when an agency builds my software?
You should, completely, through a written intellectual property assignment that transfers everything on final payment; without that clause, copyright stays with whoever wrote the code by default. Insist that the repository lives in your own GitHub organization from day one and that hosting, domains, and third-party accounts are registered to you. Also check for licenses to the agency's proprietary frameworks buried in the contract, because those can make switching vendors practically impossible even when you own your own code.
When is SAP actually a better choice than building custom supply chain software?
Choose SAP when you need a full ERP, operate in a heavily audited industry that expects standard systems, or run global operations where localization, tax, and compliance content matter more than workflow fit. SAP's strength is breadth: finance, manufacturing, and supply chain in one validated suite. Custom wins when your edge lives in a specific workflow, like how you allocate inventory or route orders, that SAP would force you to bend to its standard process. Many Digital Heroes clients keep SAP as the system of record and build custom operational tools around it.
Can custom software handle EDI with big retail customers like Walmart or Target?
Yes, and this is one of the most common reasons distributors go custom, because retailer scorecards penalize late or malformed documents. The typical build covers EDI 850 purchase orders in, 855 acknowledgments, 856 advance ship notices, and 810 invoices out, usually through a network like SPS Commerce or TrueCommerce rather than raw AS2. In Digital Heroes builds, onboarding your first major retailer adds 4 to 8 weeks and $10,000 to $25,000, with each additional trading partner far cheaper once the pipeline exists.
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.
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.
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.
Can we migrate years of data out of our current system into new custom software?
Almost always yes, through CSV exports or the vendor's API, and migration should be scoped as its own workstream with field mapping, a dry run, and a planned cutover window rather than an afterthought. The real time sink is rarely moving the data; it is cleaning it, since years of duplicates, free-text fields, and inconsistent formats surface all at once. Pull a full export from your current vendor before committing to anything new, because some SaaS plans restrict exports on lower tiers.
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?