The EDI 214 is how a carrier keeps a shipper in the loop while freight is moving. Each time a shipment hits a milestone, picked up, departed, arrived, delivered, the carrier sends a 214 with the status, the time, and the location. It is the data behind every "where is my shipment" dashboard and every proactive delay alert. Without it, a shipper is blind between pickup and the delivery receipt.
This guide covers what the 214 reports, the status codes that carry the meaning, the segments you will work with, and how shippers turn the feed into visibility.
What Is an EDI 214?
An EDI 214 is the Transportation Carrier Shipment Status Message defined by the ASC X12 standards body, used by a carrier to report the status and location of a shipment to the shipper or its 3PL at each milestone of the move. It is the tracking feed of freight EDI.
Authoritative references for 214 implementation:
- The X12.org Transaction Sets reference defines the B10 and AT7 segment structure and the status and reason codes used across 214 implementations
- The NMFTA assigns the SCAC carrier codes that identify the reporting carrier on each status message
Who sends it? The carrier moving the freight.
When is it sent? At each status event: pickup, departure, arrival, delivery, and any exception such as a delay.
Why does it matter? The 214 is what turns a tendered load into a tracked shipment. It feeds delivery confirmation, supports on-time-in-full measurement, and lets a shipper act on a delay before the customer notices.
Status Codes: Where the Meaning Lives
A 214 carries one or more status events, each a code with a time and place. The code lives in AT701, the reason lives in AT702, and the date and time live in AT705 and AT706. Everything below unpacks those.
EDI 214 Status Codes (AT7-01): Full List
AT701 holds X12 data element 1650. The codes below are the ones LTL and truckload carriers actually transmit, drawn from published carrier implementation guides.
| Code | Meaning | When you see it |
|---|---|---|
A3 | Returned to shipper | Final status for a returned shipment |
A7 | Refused by consignee | Damage or shortage at the dock |
AF | Carrier departed pickup location (actual pickup) | The shipment is now in the carrier's possession |
AG | Estimated delivery | Usually calculated once, at pickup, and not revised |
AH | Attempted delivery | Driver arrived, could not deliver |
AI | Shipment reconsigned | Consignee changed in flight |
AJ | Tendered for delivery | Available and offered to the consignee |
AM | Loaded on truck | |
AN | Delivered to air freight carrier | Final status when handed to an air carrier |
AV | Available for delivery | At the destination terminal |
B6 | Estimated to arrive at next terminal | En route between terminals |
CA | Shipment cancelled | Final status |
D1 | Completed unloading at delivery location | Many LTL carriers gloss this as plain "delivered" |
J1 | Delivered to a connecting line | Handed to an interline partner, not to the consignee |
K1 | Processing through customs | Import or export hold |
L1 | Loading for delivery | On the trailer at the destination terminal |
OO | Paperwork received, no shipment | Freight and paperwork separated |
P1 | Departed terminal location | |
R1 | Received from prior carrier | Replaces AF on an interline pickup |
S1 | Trailer spotted at consignee location | Drop trailer, not yet unloaded |
SD | Shipment delayed | Pair with AT702 for the reason |
X1 | Arrived at delivery location | |
X3 | Arrived at pickup location | |
X4 | Arrived (on hand) at terminal location | Sent once per terminal, reflects last movement |
X6 | En route to delivery location | Out for delivery |
X9 | Delivery appointment requested | Carrier contacted the consignee |
Carriers gloss the same code differently, and this is the trap. YRC Freight's 214 guide documents D1 as "delivered," while the TForce Freight specification documents it by its canonical X12 meaning, "completed unloading at delivery location." Both are the same code. If you are building a delivery-confirmation rule across multiple carriers, read each carrier's guide rather than assuming a shared definition. The canonical element 1650 list is longer than the set above; carriers implement a subset.
J1 is the one that most often gets misread as a delivery. It means the freight went to a connecting line, so the shipment is still moving and a second carrier now owns it.
EDI 214 Reason Codes (AT7-02)
AT702 holds element 1651. It explains why a status happened, and it is the element that turns "delayed" into something actionable.
| Code | Meaning |
|---|---|
AG | Consignee related |
AJ | Other carrier related |
B5 | Held per consignee |
B8 | Improper unloading facility or equipment |
BE | Road conditions |
BG | Other |
BS | Refused by customer |
CA | Customs, import or export |
HB | Held pending appointment |
NS | Normal status |
RC | Reconsigned |
NS (normal status) on a routine milestone means nothing is wrong. Alerting on every AT702 value produces noise; alert on the exception codes and ignore NS.
AT7 Segment Reference
AT7*X6*NS***20260615*1430*LT
| Element | Ref | Name | Req | Meaning |
|---|---|---|---|---|
| AT701 | 1650 | Shipment Status Code | C | The milestone, for example X6 en route |
| AT702 | 1651 | Shipment Status or Appointment Reason Code | C | Why, for example NS normal status |
| AT703 | 1652 | Shipment Appointment Status Code | C | AB delivery appointment, X9 called |
| AT704 | 1651 | Appointment Reason Code | C | NA normal appointment |
| AT705 | 373 | Date | C | Date of the status event, CCYYMMDD |
| AT706 | 337 | Time | C | Time of the status event, HHMM |
| AT707 | 623 | Time Code | O | Time zone, absent means carrier local time |
AT705 and AT706 are normally local time at the location in the MS1 segment, not UTC and not the shipper's time zone. Normalizing them without reading MS101 and MS102 produces delivery times that drift by hours.
Key Segments Explained
Here are the segments you will work with in a 214 transaction set:
| Segment | Name | Purpose |
|---|---|---|
| ST | Transaction Set Header | Identifies the start of the 214 and assigns a control number |
| B10 | Beginning Segment for Transportation Carrier Shipment Status | The shipment identification number and the carrier SCAC |
| L11 | Business Instructions and Reference Number | The load, PO, or BOL references that tie the status to the order |
| AT7 | Shipment Status Details | The status code, reason code, and the date and time of the event |
| MS1 | Equipment, Shipment, or Real Property Location | The city, state, and country where the event occurred |
| MS2 | Equipment or Container Owner | The carrier equipment reporting the status |
The AT7 segment is the workhorse. Each AT7 carries one status event, so a single 214 can report several milestones, or a stream of 214s can report them one at a time as they happen.
Where the 214 Sits in the Freight Flow
The 214 runs through the middle of the freight transaction, after booking and before billing:
- 204 Motor Carrier Load Tender - Shipper offers the load
- 990 Response to a Load Tender - Carrier accepts
- 214 Shipment Status Message - Carrier reports each milestone as the load moves
- 210 Motor Carrier Freight Invoice - Carrier bills the completed move
The 214 complements the order side: it tracks the truck, while the 856 Ship Notice / ASN tells the buyer what is in the shipment. Together they give end-to-end visibility from dock to delivery.
How Shippers Turn 214 Feeds Into Visibility
A 214 feed is only useful if the status events are matched to the right shipment and the exceptions are surfaced. Raw status messages piling up in an EDI mailbox help no one.
OrderSync reads inbound 214s (and arbitrary-format tracking updates) and ties each status event to its shipment and the order behind it, so delivered confirmations close out automatically and delays surface as exceptions to act on. It is the document layer that makes the status feed legible, not a TMS that controls the freight. Upload a 214 to the free EDI inspector to see it parsed, or book a 15-minute walkthrough to see a status feed turned into shipment visibility.
Frequently Asked Questions
What is an EDI 214 used for?
The 214 is used by a carrier to report shipment status to a shipper: pickup, in transit, arrival, delivery, and exceptions like delays, each with a time and location. It is the EDI feed behind shipment tracking and delivery confirmation.
What are EDI 214 status codes?
Status codes live in AT701 and carry the milestone: AF for actual pickup, X3 for arrived at pickup, X6 for en route to delivery, X1 for arrived at delivery, D1 for completed unloading, and SD for delayed. Each pairs with an AT702 reason code and a date, time, and location. Carriers implement a subset of X12 element 1650 and some gloss the same code differently, so check your carrier's implementation guide before writing rules against a code.
What does J1 mean on an EDI 214?
J1 means the shipment was delivered to a connecting line, also called an interline carrier. It is not a delivery to the consignee. The freight is still moving and a second carrier now has custody. The date and time in AT705 and AT706 are when the handoff happened, and the location in MS101 and MS102 identifies the terminal that made it. Treating J1 as proof of delivery is a common source of false delivery confirmations on interline shipments.
Does D1 mean delivered on an EDI 214?
It depends on the carrier, which is why this one causes trouble. The canonical X12 meaning of D1 is "completed unloading at delivery location." Some carriers, including YRC Freight, document D1 as plain "delivered" in their own implementation guide. Others use it strictly as the unload-complete milestone and signal the actual delivery separately. If you are normalizing status across several carriers, map D1 per carrier rather than globally.
How do I read an EDI 214 file?
Work through it in this order. The B10 segment gives you the shipment reference and the carrier's SCAC. Each LX loop is one status event. Inside it, AT701 is the milestone, AT702 is the reason, and AT705 and AT706 are the date and time in the local time zone of the location. MS1 gives the city and state where the event happened, and MS2 gives the trailer or equipment number. Read the LX loops in order and you have the shipment's timeline. You can paste a raw 214 into the EDI Inspector to see the loops parsed out rather than reading the envelope by hand.
What is the difference between an EDI 214 and an EDI 856?
The 214 reports the carrier's movement of the freight, tracking the truck. The 856 ASN tells the buyer what is in the shipment and how it is packed. The 214 is about transportation status; the 856 is about shipment contents.
How often is an EDI 214 sent?
At each status event, so a shipment generates several 214s over its life: at pickup, in transit, on arrival, and at delivery, plus any exception updates.