Drayage Software Problems: The 7 That Cost You Demurrage, Per Diem and Turns
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.
The evidence behind this guide
Independent findings on why this investment pays off. Every link goes to the primary source.
- 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) →
- 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) →
- 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) →
- 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 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.
Frequently asked questions
We already run Envase or Vector. Can we keep it and build only the missing parts?
How do we recover last free day and chassis data trapped in notes fields?
What happens to appointment automation when a terminal changes its portal?
Is the driver app worth building, or can we manage on messaging apps?
How long does it take before we see anything useful?
Can document extraction really handle the delivery orders our customers send?
What compliance requirements should be in scope from the start?
What should we ask a developer to prove before we sign?
Who owns the code when an agency builds my software?
When is SAP actually a better choice than building custom supply chain software?
Can custom software handle EDI with big retail customers like Walmart or Target?
Can I build my product on a no-code tool like Bubble instead of hiring developers?
We are a growing distributor. Should we pick SAP Business One or go custom?
Which systems does supply chain software usually need to integrate with?
What does it cost to keep custom software running after launch?
Can we migrate years of data out of our current system into new custom software?
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.