The EDI 990 is the carrier's yes or no to a load. When a shipper, retailer or broker sends a 204 Motor Carrier Load Tender, the carrier answers with a 990. It is one of the shortest documents in freight EDI, sometimes only two or three segments between ST and SE, but until it arrives the load is not booked, and a decline that goes unnoticed becomes a missed pickup.
This guide covers what the 990 says, the segments and codes you will map, two live examples (an acceptance and a decline), how it differs from the 997 and the 204, and the errors that leave loads uncovered.
What Is an EDI 990?
An EDI 990 is the Response to a Load Tender transaction set defined by ASC X12, used by a motor carrier to answer a 204 that was sent as a load tender. The standard describes it as the response to a 204 used as a load tender, carrying general information about a specific shipment. It travels in functional group GF (the GS01 value) and most implementations use X12 004010, the same release as the 204 it answers.
Authoritative references for 990 work:
- The X12 transaction set catalog defines the 990 and its segment order, and Stedi's X12 004010 reference for the 990 lists every segment, element and code value
- The National Motor Freight Traffic Association (NMFTA) issues the SCAC that identifies the responding carrier in
B101 - Each shipper or broker publishes a 990 implementation guide that sets which action codes it accepts, which references it wants back, and how long the carrier has to answer
Who sends it? The carrier that received the 204.
Who receives it? The party that tendered the load: a shipper, a retailer moving collect freight, a broker or a 3PL.
When is it sent? After the carrier decides, and before any respond-by deadline the 204 carries (often a G62 with qualifier 64, must respond by). The shipper's guide sets the window.
Why does it matter? A load is not covered until the carrier accepts. A fast decline lets the shipper move to the next carrier on its routing guide while there is still time to make the pickup.
Accept or Decline: the Reservation Action Code
The decision lives in B104, the Reservation Action Code. The X12 code list for that element has seven values:
| Code | X12 name | How it is used |
|---|---|---|
A | Reservation Accepted | The carrier takes the load as tendered |
D | Reservation Cancelled | Used by carriers to decline the tender |
B | Conditional Acceptance | Accepted with conditions; only if the shipper's guide allows it |
C | Counter Proposal Made | The carrier proposes different terms; rarely supported |
N | New | Rarely used on a 990 |
R | Delete | Rarely used on a 990 |
U | Change | Rarely used on a 990 |
Many shipper guides support only A and D. If a carrier sends B or C to a shipper whose system only reads A and D, the load can sit in limbo, so agree the list before go-live.
Interactive Example: 990 Accepting a Load Tender
This continues the story from our 204 guide. The retailer tendered truckload TL-90217 (one pickup at Lakeshore Home Goods in Grand Rapids, two drops at its DCs) to carrier QTLX. The carrier accepts: B1 gives its SCAC, echoes the shipment number from the 204's B204, dates the response and sends action code A. N9 returns the carrier's own reference for the load (CN, which the carrier will also use as the PRO on its 214 status messages and 210 invoice), and G62 confirms the scheduled pickup. The sample uses X12 004010. All names, IDs and SCACs are fictional.
Use the Plain English tab for a readable summary, or click any segment to break it down element by element.
Carrier 990 Accepting a Load Tender
Carrier QTLX accepts truckload TL-90217: B1 echoes the shipper's shipment ID with reservation action code A, N9 returns the carrier's own reference, and G62 confirms the scheduled pickup
- Document
- 990 Response to a Load Tender
- From / to
- QTLX → BIGBOXRETAIL
- Segments
- 9
- Interchange date
- Nov 6, 2026
Raw EDI (X12)
Human-Readable
Interchange
Functional Group
Transaction 990
Response to a Load TenderSegment Detail
Interactive Example: 990 Declining a Load Tender
The day before, the retailer had offered the same load to RDGX, the first carrier on its routing guide for that lane. That carrier declined with action code D and a K1 remark explaining why. The retailer's system read the decline and tendered the load to QTLX next.
Carrier 990 Declining a Load Tender
The first carrier on the routing guide declines the same load with reservation action code D and a K1 remark giving the reason, so the shipper re-tenders to the next carrier
- Document
- 990 Response to a Load Tender
- From / to
- RDGX → BIGBOXRETAIL
- Segments
- 9
- Interchange date
- Nov 5, 2026
Raw EDI (X12)
Human-Readable
Interchange
Functional Group
Transaction 990
Response to a Load TenderSegment Detail
The K1 remark is free text. It helps a person, but a system cannot act on it, so do not build logic on its wording.
990 Structure at a Glance
The table follows X12 004010.
| Area | Segment | Name | Usage | Notes |
|---|---|---|---|---|
| Heading | ST | Transaction Set Header | Mandatory | ST01 = 990 |
| Heading | B1 | Beginning Segment for Booking or Pick-up/Delivery | Mandatory | SCAC, shipment number, date, action code |
| Heading | N9 | Reference Identification | Optional, 1 | One reference, often the carrier's load or PRO number |
| Heading | G62 | Date/Time | Optional, up to 6 | Confirmed pickup or delivery dates |
| Heading | N7 | Equipment Details | Optional, 1 | The equipment assigned, when known |
| Heading | L9 | Charge Detail | Optional, up to 40 | Charges, used by some guides |
| Heading | V9 | Event Detail | Optional, up to 10 | Event codes, used by some guides for decline reasons |
| Heading | K1 | Remarks | Optional, up to 10 | Free-text comments |
| Loop 0100 | S5 / N9 / G62 / K1 | Stop Off Details | Optional, up to 999 | Stop-level confirmation, used by some guides |
| Summary | SE | Transaction Set Trailer | Mandatory | Segment count and control number |
Only B1 is required between the envelope segments. Everything else is there for the shipper's guide to ask for.
Key Segments Explained
B1: Beginning Segment for Booking or Pick-up/Delivery
B1*QTLX*TL-90217*20261106*A~
| Element | Name | Example | What it means |
|---|---|---|---|
| B101 | Standard Carrier Alpha Code | QTLX | The SCAC of the carrier sending the 990 |
| B102 | Shipment Identification Number | TL-90217 | Mandatory. The shipment number from the 204's B204 |
| B103 | Date | 20261106 | The standard describes it as the booking date accepted by the carrier |
| B104 | Reservation Action Code | A | A accept, D decline; see the table above |
B102 is how the shipper matches the response to its tender. If it does not match a B204 the shipper sent to that SCAC, the 990 is an orphan. Carriers should copy the value exactly, including dashes and leading zeros.
N9: Reference Identification
N9*CN*QTLX-TL-558210~
| Element | Name | Example | What it means |
|---|---|---|---|
| N901 | Reference Identification Qualifier | CN | CN carrier's reference (PRO), LO load planning number, BM bill of lading, or the qualifier the guide names |
| N902 | Reference Identification | QTLX-TL-558210 | The reference value |
The 990 allows only one N9 in the heading. Guides commonly use it to get the carrier's own reference back, because that is the number the carrier will quote on status messages and invoices.
G62: Date/Time
G62*69*20261113*U*0700~
G6201 qualifies the date (69 scheduled pick-up, 70 scheduled delivery) and G6203 the time (U scheduled pick-up time, X scheduled delivery time). Some guides want the carrier to confirm the pickup it is committing to; others ignore any dates on a 990.
K1: Remarks
K1*NO DRY VAN CAPACITY GRAND RAPIDS 11/13~
K101 and K102 carry free text. Use them for the reason behind a decline or a condition on an acceptance, and keep the coded decision in B104.
990 vs 997 vs 204
| Document | Sent by | What it tells you |
|---|---|---|
| 204 Motor Carrier Load Tender | Shipper | Here is a load: stops, freight, timing, terms |
| 997 Functional Acknowledgment | Carrier | The 204 arrived and passed syntax checks |
| 990 Response to a Load Tender | Carrier | The carrier accepts or declines the load |
A 997 says nothing about whether the carrier will haul the load. Only the 990 does. Treat a 204 that has a 997 but no 990 as uncovered.
Where the 990 Sits in the Freight Flow
- 204 Motor Carrier Load Tender: the shipper offers the load
- 990 Response to a Load Tender: the carrier accepts or declines; on a decline, back to step 1 with the next carrier
- 211 Motor Carrier Bill of Lading or a paper BOL: the shipper documents the freight at pickup
- 214 Shipment Status: the carrier reports pickup, transit and delivery events
- 210 Motor Carrier Freight Invoice: the carrier bills the move
On LTL freight into retail DCs, the carrier may also send the consignee a 212 delivery trailer manifest before delivery. On retail collect freight, the retailer passes the booked carrier to its supplier with a 754 Routing Instructions.
Common 990 Errors and How to Prevent Them
| Error | What happens | Prevention |
|---|---|---|
B102 does not match the 204 | Response cannot be matched; load shows as unanswered | Copy B204 from the tender exactly |
| 997 treated as acceptance | Load assumed covered; no truck arrives | Track 990s, not 997s, as the booking signal |
| No 990 before the respond-by deadline | Tender expires and moves to the next carrier | Alert on any 204 without a 990 as the G62*64 deadline approaches |
Unsupported action code (B, C, U) | Shipper's system ignores the response | Agree the action code list in the guide; many support only A and D |
| Decline reason only in free text | Shipper cannot report on why loads are declined | Agree a coded reason (some guides use V9 or a reference qualifier) alongside K1 |
| Acceptance sent for a cancelled tender | Carrier dispatches a truck to a load that no longer exists | Process 204 cancellations (B2A01 = 01) before answering |
Wrong SCAC in B101 | Response attributed to another carrier | Send the SCAC the shipper tendered to in B202 |
990 Implementation Checklist
- Confirm each partner's 990 guide, X12 release and
GS01=GF - Confirm which action codes the partner accepts in
B104 - Agree which reference goes back in
N9and with which qualifier - Confirm the response window and how the 204 states it
- Decide whether to confirm dates in
G62or stops in theS5loop - Agree how decline reasons are sent
- Match every outbound 204 to its 990 and alert on declines and silence
- Test an acceptance, a decline, and a response to a changed and a cancelled tender
Our EDI document types reference shows how the transportation sets sit next to the order, ship notice and invoice documents, and the SCAC code glossary entry explains how carriers are identified.
Where OrderSync Fits
A 990 confirms the truck. What goes on that truck, and where it goes, comes from purchase orders that arrived as EDI 850s or 875s, PDFs, emails or spreadsheets and had to be entered correctly before anything could ship.
OrderSync reads those inbound orders in any format, matches customers, items and units to your catalog, and outputs clean ERP data or valid X12, so the loads you tender start from accurate orders. Paste any 990 into the free EDI inspector to see it parsed segment by segment with a plain-English summary, or book a 15-minute walkthrough to see your own orders processed.
Frequently Asked Questions
What is an EDI 990 used for?
The 990 is used by a motor carrier to answer a 204 load tender. It tells the shipper whether the carrier accepts or declines the load, and usually returns the carrier's own reference number for it.
What are the EDI 990 accept and decline codes?
They are in B104, the Reservation Action Code. A means reservation accepted. D, which X12 names reservation cancelled, is the code carriers use to decline. The code list also includes B conditional acceptance and C counter proposal, but many shipper guides accept only A and D.
What is the difference between an EDI 204 and an EDI 990?
The 204 is the load tender the shipper sends to offer a load. The 990 is the carrier's response that accepts or declines it. The 990's B102 echoes the 204's B204 shipment number so the two can be matched.
Is a 997 enough to confirm a load?
No. A 997 only confirms that the 204 was received and passed syntax checks. The carrier commits to the load with a 990 accept code.
What happens when a carrier declines an EDI 204?
The shipper tenders the load to the next carrier, usually the next one on its routing guide for that lane, by sending a new 204 to that carrier's SCAC. Systems that read the 990 decline code can do this without anyone picking up the phone.
How fast does a carrier have to send a 990?
The shipper sets the window, either in its implementation guide or in the tender itself with a must-respond-by date and time in G62. The guide also says what happens when no 990 arrives in time; typically the load moves to the next carrier.
Can a carrier change the load in a 990?
The code list includes conditional acceptance and counter proposal, but many shippers do not process them. If the load needs to change, the usual route is to decline or call, and the shipper sends a changed 204.