
A customer service rep forwards an email at 4:47 on a Tuesday: “Where is PO 44821?” The shipping coordinator opens a browser tab. Estes portal. Then Old Dominion. Then the 3PL login, because that order might have shipped out of Carrollton and not Kansas City. Eleven minutes later she has a PRO number and a status line that reads “In Transit.” She pastes it into a reply and hits send. She has not actually answered the question. This is what most companies call supply chain visibility, and it is exactly why visibility budgets keep growing while the phone keeps ringing.
Here is the thesis of this article, stated up front so you can disagree with it early: supply chain visibility is not a dashboard problem. It is an exception-routing problem. Nearly every shipper we talk to already has more shipment data than anyone reads. What they do not have is a system that notices when something went wrong and hands it to a named human before the customer notices first.
The Current Process: Eleven Portals And One Person Who Remembers Things
Map your own operation against this. An order drops in the ERP. Someone rates it — maybe in a portal, maybe by email. A carrier is picked, usually the one that has been picked for that lane since 2019. A BOL gets keyed, sometimes twice. The truck comes. And then the shipment leaves the system entirely.
From that moment forward, the only thing connecting your company to that freight is a human being who remembers to go look. She polls carrier portals. She checks email for a delivery receipt. She keeps a spreadsheet of the six orders that felt sketchy. When a pickup gets missed, nobody finds out until the customer calls, because a missed pickup produces no event — it is the absence of an event, and absences do not send notifications.
That is the entire problem. Your tracking tools report things that happened. Almost nothing in your stack reports things that failed to happen.
Milestones Are Solved. Exceptions Are Not.
This is not our opinion — it is the stated position of the people writing the industry’s data standards. When the NMFTA’s Digital LTL Council laid out its nine-API roadmap, PITT OHIO executive and council chairman Geoff Muessig framed the gap plainly: LTL carriers already do a good job of digitally advising shippers when shipment milestones are successfully passed. Where they can improve is communicating when a shipment exception arises — a missed pickup, a misroute, a liftgate fee appearing on an invoice nobody approved.
The roadmap is public and specific — nine APIs covering quote to cash, including dedicated standards for pickup visibility and in-transit visibility. The eBOL API standard came first, and NMFTA reported early adopters including Estes, Old Dominion, PITT OHIO, R+L, Southeastern and TFI represented roughly 37% of LTL industry revenue at the time of that announcement. The rails are being laid. Most shippers have not connected to them.
The Architecture We’d Build: Route The Exception, Not The Map
Here is the architecture we would build for a shipper doing real LTL and full truckload freight volume. It is deliberately boring.
1. Order enters the system. ERP, WMS or cart — it does not matter, so long as it emits weight, dims, class, origin, destination and a required delivery date.
2. Rate shop happens by API, not by tab. A freight API and TMS layer — in our own builds, FreightPOP sitting on top of the GlobalTranz / Worldwide Express carrier network — returns priced, transit-timed options in seconds.
3. Book and write back. BOL and PRO return to the order record automatically. No second keying. This one step kills most “which PRO belongs to which PO” archaeology.
4. Status flows inbound on a schedule, not on demand. The system polls or receives carrier status for every open shipment. Nobody opens a portal.
5. The exception engine — this is the part people skip. Write rules against the absence of events, not just their presence: no pickup scan by 6 p.m. on the ship date; no movement scan in 48 hours; delivery date now past the promise date; invoiced accessorial not present on the original quote. Each rule fires a ticket with an owner, an account, and a dollar exposure attached.
6. Humans work the queue. Your coordinator stops polling and starts resolving. 7. Reconcile quoted versus invoiced automatically, on every shipment.
The Economics Of Not Knowing
Start with the macro number so you know what pool you are fishing in. CSCMP’s 2025 State of Logistics Report, produced by Kearney and presented by Penske, put U.S. business logistics costs at $2.58 trillion in 2024, or 8.8% of GDP — up 5.4% year over year, and stabilizing at a baseline materially above the 7.4%–7.8% range that prevailed before the pandemic. Logistics is a bigger line on the P&L than it was, and it is staying there.
The waiting has been priced too. The DOT Office of Inspector General’s January 2018 audit of commercial driver detention estimated that a 15-minute increase in average dwell time raises the expected crash rate by 6.2%, and that detention is associated with reductions in annual earnings of $1.1 billion to $1.3 billion for for-hire truckload drivers, plus $250.6 million to $302.9 million in reduced net income for truckload carriers. Detention is a visibility failure with a price tag: nobody upstream knew the dock was backed up in time to do anything about it.
Illustrative example — run your own numbers. Take a shipper moving 400 shipments a month. Assume 12% generate at least one “where is it” inquiry, each burning 11 minutes of coordinator time. That is 48 inquiries × 11 minutes ≈ 8.8 hours a month, roughly 106 hours a year, before a single dollar of expedite or chargeback. At a $32 fully loaded hourly cost, about $3,400 a year in pure lookup labor — small on its own, and that is the point. The labor is never the real number. The real number is the expedited replacement shipment you paid for because you learned about the missed pickup 36 hours late. We will not invent an industry average for that, because a defensible one does not exist.
Where This Falls Apart
Three honest failure modes, including one that cuts against everything above.
The data you are integrating is not as good as the integration. Status codes are inconsistent between carriers, appointment changes happen by phone and never reach the feed, and “Delivered” sometimes posts before the driver is off the dock. An exception engine on unreliable inputs produces confident, well-formatted false alarms — and a queue of false alarms gets ignored inside two weeks.
The underlying measurement problem is real and acknowledged at the federal level. The same OIG audit found that accurate industry-wide data on driver detention do not currently exist, because most stakeholders measure only time beyond the limit written into a shipping contract, and electronic data cannot readily separate detention from legitimate loading. FMCSA has since moved to close that gap with a much larger telematics-based study — its Federal Register notice describes collecting 12 months of data from up to 80 carriers and 2,500 drivers. Anyone selling you precision about dwell today is ahead of the evidence.
And volume matters more than ambition. If you ship 30 times a month from one location on two carriers, do not build this. A shared inbox and a disciplined person will beat a rules engine, and the integration cost will never earn out. In our experience the break-even shows up around consistent multi-carrier, multi-node volume — when no single human can hold the whole board in their head.
The Playbook
If you want to move on this without a six-month project, do it in this order.
Week one: count your exceptions, not your shipments. Pull 60 days of “where is it” emails and expedite invoices. Categorize by failure type — missed pickup, misroute, unquoted accessorial, late delivery. You will usually find three categories carry 80% of the pain. Those three are your first rules. Everything else can wait.
Week two: ask your carriers what they actually publish. Not “do you have an API” — ask for pickup visibility and in-transit visibility against the NMFTA standard, and ask which events they emit versus only show in a portal. Carriers on the published standard are cheap to connect; carriers that are not cost real money to support. That is a legitimate input to how you build your carrier mix.
Week three: write three rules, not thirty. Absence-based, each with an owner and an escalation time. Run them in parallel with your existing process for a month and measure how often the rule beat the human. If it does not, the rule is wrong — fix it, do not add five more.
Then look at your network, not just your data. Visibility tells you a shipment is late out of a single West Coast node into a Zone 5 destination. It cannot fix that. Sometimes the answer is not a better dashboard — it is a second or third fulfillment node that shortens the lane so fewer things go wrong at all. While you build your baseline, BTS publishes freight movement and capacity indicators free.
The end state is the one worth building toward: order enters, freight is rated, carrier selected, shipment booked, tracking flows back, exceptions surface to a named human, delivery confirmed, data reconciled. Your people stop moving data between screens and start managing freight. If you want help designing that layer against your actual carrier mix, that is the work we do in logistics API and automation consulting.
Get a Free Freight and Logistics Review
Tell us what you’re shipping and we’ll show you exactly where the savings are. No consultants. No commitments. Just straight answers from operators who’ve been doing this for 20+ years. Call (866) 854-5341.
