EDI documents
EDI 204 Motor Carrier Load Tender
The EDI 204 is how a shipper offers a truckload to a carrier: stops, dates, equipment, weights and the shipment ID every later message has to repeat. This page covers the B2, S5 and G62 segments, a multi-stop sample with its totals worked out, the envelope, the 990 reply, and what shippers such as the Army and Air Force Exchange Service require.
Updated
What is an EDI 204?
The EDI 204 is the X12 Motor Carrier Load Tender, functional group SM. A shipper, or a transportation system acting for it, offers a shipment to a truckload carrier: the carrier's SCAC, the shipment ID, how freight is paid, the equipment, and every stop with its dates, weights and orders. X12 describes it as a tender to "a full load (truckload) motor carrier" and rules it out for a less-than-truckload bill of lading.
The 204 opens a short transport conversation. The carrier answers with a 990, reports progress with 214 shipment status messages and bills with a 210. Each of those messages carries the shipment ID from B204, so a wrong ID in the tender breaks the matching of every later message. There is no established one-to-one EDIFACT counterpart; X12 to EDIFACT pairings are industry convention, and none is strong for the transport sets.
Where the 204 sits in the order and transport flow
| Step | Document | Direction | What links it to the 204 |
|---|---|---|---|
| 1 | 850 purchase order | Buyer to supplier | PO number, ship-to and the requested delivery date that set the stop |
| 2 | 753 and 754 | Supplier and buyer | Only when the buyer routes the freight; the buyer then sends the 204 |
| 3 | 204 load tender | Shipper to carrier | Opens the load with B204 |
| 4 | 990 response to a load tender | Carrier to shipper | B102 repeats B204; B104 A accepts, D declines |
| 5 | 856 ship notice | Supplier to buyer | Same SCAC in TD5 and the bill of lading in REF BM |
| 6 | 214 and 210 | Carrier to shipper | Status per stop, then the freight invoice |
In the EDI document map the 204 sits with the 990, 214 and 210 on the carrier side. Who sends it depends on the freight terms. Prepaid, the supplier buys the freight and tenders it. Collect, the buyer routes the shipment, tenders the load itself and tells the supplier which carrier comes when.
The segments of a 204
| Segment | Name | What it carries | What goes wrong |
|---|---|---|---|
| B2 | Beginning Segment for Shipment Information Transaction | B202 SCAC (mandatory for the 204), B204 shipment ID up to 30 characters, B206 method of payment: PP prepaid, CC collect | A new B204 on a change, so the carrier books a second load |
| B2A | Set Purpose | B2A01 00 original, 01 cancellation, 04 change; B2A02 LT for a truckload tender | A change sent as 00, which the carrier reads as a new tender |
| L11 | Business Instructions and Reference Number | Bill of lading, PO numbers, the shipper's tender ID | The tender ID of an older version, so the 990 matches nothing |
| G62 (header) | Date/Time | Qualifier 64 must respond by, with time qualifier 1 | A deadline in local time without saying whose |
| N7 | Equipment Details | N702 equipment number, N711 type such as TF dry freight trailer | A reefer load tendered with a dry trailer code |
| S5 | Stop Off Details | S501 stop sequence, S502 LD load or UL unload, weight, units and volume per stop | Stops out of route order; S503 without S504 |
| G62 (stop) | Date/Time | 69 scheduled pickup, 53 deliver not before, 54 deliver no later than | G62 in both the stop loop and the order loop, which the standard forbids |
| N1, N3, N4 | Name and address per stop | SF ship from, ST ship to | A ship-to code that does not match the buyer's location list |
| OID | Order Identification Detail | PO number, packaging, quantity, weight, volume per order | Order weights that do not add up to the stop weight |
| L3 | Total Weight and Charges | Total weight, volume and lading quantity | A total that differs from the sum of the stops |
The stop loop repeats up to 999 times and the order loop inside it up to 999 times. X12 adds two consistency rules: weights and quantities sent at commodity level should add up to the stop, and order-level details should add up to the OID.
A sample 204, with delimiters
The load that carries the 856 sample: Northfield Supply ships PO 4500018236 for Harbor Retail DC 07 on carrier ABCD, shipment SH0004821, bill of lading BOL7730042. The same truck delivers 14 pallets to a second customer in Pittsburgh, so the tender has three stops. Freight is prepaid.
ST*204*0001~
B2**ABCD**SH0004821**PP~
B2A*00*LT~
L11*BOL7730042*BM~
G62*64*20261001*1*1600*LT~
N1*BT*NORTHFIELD SUPPLY~
N7**NA*********TF~
S5*1*LD~
G62*69*20261003*I*0700*LT~
G62*69*20261003*K*1000*LT~
N1*SF*NORTHFIELD SUPPLY~
N3*400 COMMERCE DRIVE~
N4*AURORA*IL*60504*US~
S5*2*UL*18.4*L*1*CT*1.2*E~
G62*53*20261006*G*0700*LT~
G62*54*20261006*L*1000*LT~
N1*ST*HARBOR RETAIL DC 07*92*0007~
N3*1200 DOCK STREET~
N4*COLUMBUS*OH*43215*US~
OID**4500018236**CTN*1*L*18.4*E*1.2~
S5*3*UL*9240*L*14*PL*1120*E~
G62*53*20261006*G*1300*LT~
G62*54*20261006*L*1700*LT~
N1*ST*LAKESIDE HOME DC 3~
N3*85 RIVER ROAD~
N4*PITTSBURGH*PA*15201*US~
OID**LH88120**PLT*14*L*9240*E*1120~
L3*9258.4*G*******1121.2*E*15*L~
SE*29*0001~
Read it field by field. B2 carries the SCAC in B202 and the shipment ID in B204, with an empty element before each, and PP in B206. Stop 1 loads at Aurora between 07:00 and 10:00 on 3 October: qualifier 69 with time qualifiers I and K for the earliest and latest requested pickup time. Stop 2 unloads 1 carton of 18.4 lb and 1.2 cubic feet at DC 07, not before 07:00 and no later than 10:00 on 6 October. Stop 3 unloads 14 pallets of 9,240 lb and 1,120 cubic feet in Pittsburgh. The totals in L3 are the sums: 18.4 plus 9,240 is 9,258.4 lb, 1.2 plus 1,120 is 1,121.2 cubic feet, 1 carton plus 14 pallets is 15 handling units. There are 29 segments from ST to SE, so SE01 is 29.
The respond-by time is 1 October 16:00 and the tender went out at 10:15, so the carrier has 5 hours 45 minutes. That only holds if both sides read LT the same way: Aurora is on Central time and the carrier may not be. DC 07 is on Eastern time, so its window of 07:00 to 10:00 is 06:00 to 09:00 in Aurora. The 214 sample reports arrival at 07:40 and unloading complete at 09:10, inside the window.
The envelope around it
ISA*00* *00* *ZZ*NORTHFIELD *02*ABCD *261001*1015*U*00401*000000452*0*P*>~
GS*SM*NORTHFIELD*ABCD*20261001*1015*452*X*004010~
ST*204*0001~
SE*29*0001~
GE*1*452~
IEA*1*000000452~
The shipper is the sender, the carrier the receiver. Qualifier 02 in ISA07 marks the receiver ID as a SCAC. GS01 is SM. ISA13 has to equal IEA02, GS06 GE02, ST02 SE02, and SE01 has to be the real count of 29; a mismatch rejects the file before the tender is read. ISA15 is P for production and T for test. The carrier returns a 997 for the group and then the 990 as a separate interchange in group GF:
ST*990*0001~
B1*ABCD*SH0004821*20261001*A~
N9*BM*BOL7730042~
SE*4*0001~
What shippers require from carriers
The rules for a 204 come from the shipper's transportation system. The Exchange (Army and Air Force Exchange Service) publishes its 204 and 990 for carriers on its supplier pages; a TMS carrier guide adds the reply rules. Both checked on 3 October 2026.
| Rule | The Exchange, 204 5010, November 2017 | TMS carrier guide, 990 4010, revised June 2021 |
|---|---|---|
| Header references | L11 with TN, transaction reference number, mandatory | The 990 repeats the latest TN tender ID from the 204 |
| Purpose | B2A01 00, 01 or 04; B2A02 LT, truckload carrier only | B104 A accepts, D declines; decline reason in K1 |
| Deadline | G62 64 must respond by, time qualifier 1, time code LT | Not stated |
| Payment | B206 CC collect, MX mixed, PP prepaid | B101 must be the SCAC from the 204, B102 equal to B204 |
| Stops | S5 with LD or UL; weight, units and volume mandatory | Not part of the 990 |
| Orders | OID with a PO number, CTN, PCS or PLT, pounds, cubic feet | Not part of the 990 |
The Exchange's guide drops every segment it does not use, including the hazardous material loops, and makes the L3 totals mandatory. The TMS guide fixes its delimiters to *, ~ and >. Its own sample shows how easily counts slip: the 204 example in it has 33 segments from ST to SE and SE01 says 32. The Exchange's guide is public: 204 Motor Carrier Load Tender, 5010.
What goes wrong with load tenders
- Changes that look like new loads. A change has to keep B204 and set B2A01 to 04. A new shipment ID, or 00 on a change, gives the carrier two loads for one truck.
- Unanswered tenders. No 990 by the respond-by time means no carrier. The shipper's system has to watch the deadline and tender to the next carrier, not wait for a phone call on pickup day.
- Totals that do not add up. L3 against the stops, S5 against the orders in OID. A carrier that plans by weight sees 9,258.4 lb in one place and a different figure in another.
- Local time without a zone. LT at the pickup is Central, LT at DC 07 is Eastern. Stored as one zone, a 07:00 to 10:00 window moves by an hour. The note on dates and time zones covers the conversion.
- IDs that do not reach the 214. The two carrier guides on the 214 page reject a status whose shipment ID differs from B204. When the ERP creates the shipment number after the tender, the 214 cannot be matched.
Handling the 204 in the ERP or TMS
The 204 is built from a planned load: the orders or deliveries assigned to one truck, in stop order, with their weights and volumes. In most ERPs that is the shipment or load record; where the ERP has no load planning, the integration groups the deliveries by carrier and pickup date. B204 has to be a number that never changes for that load, and the SCAC comes from the carrier record. The 990 updates the load status: accepted, declined with the reason in K1, or expired.
We build the 204 into an EDI integration as part of the transport flow: loads built from the shipments in your ERP, one shipment ID from tender to freight invoice, deadlines watched, declined loads raised in the dashboard, and the carrier's 214 status passed on to the order flow. Tell us which carriers you tender to.
Frequently asked questions
What is the difference between an EDI 204 and a 990?
The 204 is the offer: the shipper tenders a load to a carrier. The 990 is the answer: the carrier accepts with B104 A or declines with D, repeating the SCAC and the shipment ID from the 204. Without a 990 before the respond-by time in the 204 header, the shipper treats the load as not accepted and tenders it to the next carrier.
Who sends the EDI 204?
The party that buys the freight: a shipper, its transportation management system or a broker. A supplier that ships prepaid with its own carriers sends it. When the retailer routes the freight, the retailer sends the 204 to the carrier and the supplier receives routing instructions instead, often as a 754.
Can the 204 be used for LTL shipments?
The X12 standard says no: the 204 offers a shipment to a full load (truckload) carrier and is "not to be used" for a less-than-truckload bill of lading, pick-up notification or manifest. Some transportation systems still use it for LTL loads, so the shipper guide decides; the Exchange marks the type of service in AT5, with LTT for less than truckload and TLS for truckload service.
How do you change or cancel a load tender?
Send a new 204 with the same B204 shipment ID and B2A01 04 for a change or 01 for a cancellation. The Exchange ties the header date to the purpose: G6201 01 with time qualifier 0 only on a cancellation, 45 with N only on a change. A new shipment ID creates a second load at the carrier.
Tell us what you need
Tell us which systems you use and what needs to work better. We reply personally within one working day. We help you define the work, then agree the price and timing before you commit.
- You know the price and the timeline before you commit to anything
- We work out the connection that takes the work off your hands
- We handle the build, hosting, monitoring and maintenance
- Your team has less information to retype and fewer discrepancies to chase