Sooner or later a good shipper tells you: "We tender by EDI. Can you accept 204s and send 214s?" If you're a fleet of 10 to 500 trucks, that question is the moment where direct freight either gets easier or slips to a broker who can answer yes. This guide covers EDI for trucking companies in plain English: what the four core documents do, what shippers actually measure, what it costs, and how to say yes without hiring an IT department.
EDI (Electronic Data Interchange) is system-to-system document exchange. Instead of the shipper emailing you a rate con and your dispatcher re-keying it, the shipper's system drops the load straight into yours, and your system sends status and invoices straight back. The format is a decades-old standard called ANSI X12, and every document type has a three-digit number.
Large shippers and most big 3PLs built their operations around EDI long ago. When they say "EDI required," it's usually not negotiable; their routing guide and freight-audit system expect it. The good news: for a carrier, you only need to understand four documents.
Follow one load from tender to payment and the whole thing clicks.
| Document | Name | Direction | What it does |
|---|---|---|---|
| EDI 204 | Motor Carrier Load Tender | Shipper → You | The load offer: stops, appointment windows, equipment, weight, commodity, references, and often the rate |
| EDI 990 | Response to a Load Tender | You → Shipper | Accept (code A) or decline (code D) inside the shipper's tender window |
| EDI 214 | Shipment Status Message | You → Shipper | Milestones: arrived at pickup, departed, en route, arrived at delivery, delivered, plus delays |
| EDI 210 | Freight Details and Invoice | You → Shipper | Your invoice: linehaul, fuel surcharge, accessorials, with the references the shipper needs to match it |
A fifth document, the EDI 997 (Functional Acknowledgment), runs underneath all of them. It's a receipt. It confirms a document arrived and parsed; it does not mean the load was accepted or the invoice approved. Don't confuse a 997 for a 990.
The 204 is the shipper offering you a specific load. It carries a shipment ID that every later document must reference. One wrinkle that trips up carriers: a 204 can be an original, a change, or a cancellation (purpose codes 00, 04, 01). If your system treats a change as a new load, you'll end up with duplicate loads on the board and a driver showing up for freight that was rescheduled. Your TMS has to match the change to the load it already created.
Shippers time-box tenders. If your 990 doesn't come back before the window closes, the load rolls to the next carrier in the routing guide, and your "tender acceptance" score takes the hit even if you would have taken it. Many shippers benchmark primary carriers at 80 to 90 percent tender acceptance. Fall below that for a quarter and you'll see your volume quietly reallocated.
This is the one that repeats. A typical dry van load generates five or six 214s, each with an AT7 status code: X3 (arrived at pickup), AF (departed pickup), X6 (en route), X1 (arrived at delivery), D1 (completed unloading). Delays go out as SD. Shippers grade you on whether these show up on time and in the right order. A steady stream of 214s is also why their customer service team stops calling your dispatch desk at 7am.
The 210 goes straight into the shipper's payables and gets auto-audited against the 204. If the linehaul matches the tendered rate and the references line up (shipment ID, BOL, your PRO number), it clears. If you bill $1,400 against a $1,200 tender with no approved accessorial code for the difference, the whole invoice stalls, not just the disputed line. That's the practical reason to get detention and lumper approvals before you invoice.
It's not bureaucracy for its own sake. From the shipper's side:
Here's the part most small carriers miss: when a broker hauls that same shipper's freight, the broker is the carrier on paper. The broker's 214s are built from your check calls and your driver's tracking. If you can send 214s yourself, you can be the direct carrier, and the margin the broker was earning for passing status updates along is yours.
There are four ways documents move between you and a shipper, and the cost structure matters more than the acronym:
| Connection | How it works | Typical cost pattern | Fits when |
|---|---|---|---|
| VAN | Each party has a mailbox on a network that stores and forwards documents | Mailbox/access fee plus usage, often billed per document or per kilocharacter | The shipper already lives on a VAN |
| AS2 | Direct, encrypted point-to-point connection with signed receipts | Software or hosted service plus certificate setup; no per-document network fee | High-volume shippers that require direct connections |
| SFTP | Files dropped on a secure server on a schedule | Cheap to connect; monitoring and retries are on you | 3PL platforms that batch files |
| API-based EDI provider | A provider translates X12 to and from your TMS and manages partner connections | Per trading partner or subscription, sometimes plus usage | Carriers who want it to work inside their TMS without running translation software |
What that looks like in dollars varies a lot. Some TMS vendors bundle a fixed number of "customer EDIs" into tiered plans that start around $1,000 a month and climb past $4,000 for three or more trading partners. Others charge a one-time setup fee per trading partner (commonly a few hundred to a couple thousand dollars), a monthly module fee, and a small per-transaction fee. Modern API-based providers have pulled the setup cost down substantially because the translation is already built for the common shipper specs.
Do the math against the freight. One dedicated lane at 10 loads a week and $300 more margin per load than the brokered version is $150,000 a year. EDI is a rounding error next to that. The mistake is paying enterprise EDI pricing before you have the shipper, or stalling the shipper for three months while you figure it out.
Here's the sequence that works for a 20-truck fleet with no IT staff.
When EDI relationships go bad, it's almost always one of these:
The reason EDI feels intimidating is that most of the material about it is written for programmers. For a carrier it boils down to: loads come in automatically, you accept them quickly, your trucks report where they are, and your invoices match what was tendered. That's dispatch, driver tracking, and billing done well, with a standard format on the wire.
That's also why it belongs inside your TMS. Truckpedia handles EDI and shipper connections as part of the same system that runs dispatch, the driver app, and invoicing, so a 204 lands on the dispatch board as a load, 214s go out as your driver moves through stops, and the 210 is generated from the same load record you'd invoice from anyway. No separate translator, no re-keying. If you've got a shipper asking for EDI right now and you'd rather not spend a quarter figuring it out, book a demo and bring their implementation guide. We'll tell you exactly what it would take.