The EDI 990, Decoded: A Response to a Load Tender Is Where Capacity Actually Gets Committed
The EDI 990 · Response to a Load Tender is the carrier's answer to a 204 · Motor Carrier Load Tender — accept the load, or decline it. It is one of the shortest documents in freight EDI, and it carries the most consequential single bit in the chain: until a 990 acceptance arrives, no truck is committed, no matter how confidently the shipper's system shows the load as covered.
That brevity is the trap. Because the 990 says so little, teams treat it as a formality — a receipt to file — instead of what it is: the moment a tender stops being an offer and becomes a commitment both sides will later audit the 214 · Transportation Carrier Shipment Status Message and the 210 · Motor Carrier Freight Details and Invoice against.
What is the EDI 990 · Response to a Load Tender?
The 990 is an X12 transaction set a motor carrier sends in reply to a 204. It references the tender it answers and states, in essence, one decision: accepted or declined. An acceptance commits the carrier to run the load as tendered — the stops, windows, equipment, and commodity detail in the 204. A decline releases the shipper to tender the load to the next carrier, ideally while there is still time to do so.
Three ideas define it:
- It is the commitment point, not the tender. The 204 · Motor Carrier Load Tender asks. The 990 answers. A load is covered when an acceptance is received and applied — never when the tender is sent.
- A decline is valuable information, delivered on a clock. A fast decline is a gift: it frees the load for re-tender inside its response window. A slow decline, or silence mistaken for acceptance, is how freight misses its pickup.
- It answers a specific tender version. If the 204 changed after it was sent — a moved appointment, an added stop — the 990 accepts the version it references. Accepting version one while the shipper plans version two is a dispute built at the moment of agreement.
A 990 is usually generated by the carrier's transportation system the moment a dispatcher or an automated scoring rule decides on the tender, which is why its timing — not just its content — is operationally meaningful.
How is the 990 different from the 204, the 214, and the 210?
These four documents form one freight chain, and the 990 is its hinge:
- The 204 · Motor Carrier Load Tender opens the chain: the shipper or broker offers the load, with stops, windows, equipment, and commodity detail.
- The 990 · Response to a Load Tender is the answer — accept or decline. It is short, and it is the moment capacity is actually committed or released.
- The 214 · Transportation Carrier Shipment Status Message flows during the trip, but only against an accepted tender: pickup, departure, arrival, and delivery events.
- The 210 · Motor Carrier Freight Details and Invoice closes the money side after delivery, audited against what the accepted 204 promised.
A useful shorthand: the 204 asks, the 990 decides, the 214 narrates, and the 210 bills. Skip the decision, and the narration and the bill are both built on an assumption.
Why does such a short document deserve its own controls?
Because every failure around it is a state failure, not a data failure. The 990 carries almost no detail to get wrong — so when a tender flow breaks here, it breaks because a system recorded the wrong state: a sent tender marked covered, a decline loaded as an acceptance, a timeout nobody noticed, an acceptance applied to the wrong shipment.
Those are bookkeeping errors with physical consequences. A truck is dispatched, or not. A dock crew is scheduled, or not. Spot rates are paid, or not. The document is small; the state it creates runs the day.
Where do 990 flows usually break?
The first break is the unapplied response. The 990 arrives — by EDI, it lands in a mailbox or a queue — but nothing in the shipper's system changes the load's state. The tender still shows as pending while the carrier, having accepted, plans the pickup, or having declined, plans nothing at all. The fix is unglamorous: a response is not received until the load's state reflects it.
The second break is silence treated as soft acceptance. Tender relationships run on response windows. When a window closes with no 990, the correct state is timed out — re-tender now — not "probably fine." Monitoring tender ageing, and treating expiry as an event that changes state automatically, is what separates a recovered load from a missed one.
The third break is the decline that never triggers the next step. A decline should start the routing guide's next move immediately: the next carrier, the spot board, a call. A decline that sits in a queue for a human to notice has spent the one resource tendering cannot recover — time inside the pickup window.
The fourth break is version drift. The tender was updated after the original 204 — a new window agreed by phone — and the carrier's 990 accepts the original. Both sides believe they agree. They agree about different loads. Every post-tender change needs an updated 204, so the acceptance has one unambiguous thing to point at.
What should you check in a 990 flow?
Four checks keep a tender answer honest:
First, state discipline: is every load's state driven by the 990 actually received — accepted, declined, or timed out — rather than by the tender having been sent?
Second, application, not arrival: does an incoming 990 change the load's state automatically, or can a response sit received-but-unapplied while people plan around a stale status?
Third, decline handling: does a decline immediately trigger the next routing step, with the clock visible, instead of waiting for someone to notice it?
Fourth, version integrity: does the acceptance reference the current tender version, and does every change produce an updated 204 for a fresh, unambiguous answer?
A flow that runs those checks makes the shortest document in freight do its full job: turning an offer into a commitment both sides can prove.
Frequently asked questions
Is a load booked when the 204 · Motor Carrier Load Tender is sent?
No. The 204 is the offer. The carrier's 990 · Response to a Load Tender accepting it is what commits capacity — a tender that was sent but never accepted covers nothing.
What is the difference between the EDI 990 and the EDI 997 · Functional Acknowledgment?
The 997 · Functional Acknowledgment says a document was received and passed syntax checks. The 990 is a business decision — accept or decline the load. A 997 for your 204 tells you the tender arrived; only a 990 tells you whether you have a truck.
How fast must a carrier answer with a 990?
It depends on the relationship's routing guide — response windows of minutes to a few hours are common, and an unanswered tender is usually re-tendered to the next carrier when the window closes. That is why a fast decline is more useful than a slow maybe.
What happens after a carrier accepts with a 990?
The carrier executes the pickup and delivery and reports progress with 214 · Transportation Carrier Shipment Status Messages, then invoices with a 210 · Motor Carrier Freight Details and Invoice after delivery. Each later document is checked against the accepted tender.
Can a carrier decline a 990 after accepting?
Not cleanly — an acceptance is the commitment the rest of the chain is built on. A carrier that cannot run an accepted load has to communicate that change explicitly and immediately; silently not showing up turns a state problem into a service failure and, usually, a spot-rate bill for someone.
An offer is not a plan, and a receipt is not an answer. The 990 works when both sides treat its one decision — and its timing — as the state everything else is built on. At SignalEDI, we treat the 990 as the hinge of the freight chain — tender, answer, status, invoice — because freight disputes are won by the side whose states were true. I'm Chris, founder of SignalEDI, and we build EDI that keeps those states honest for shippers, brokers, and the carriers who answer them.
Top comments (0)