# EDI 404 Rail Carrier Shipment Information Guide

> EDI 404 explained: the rail bill of lading a shipper sends a railroad, its BX, BNX, M3, N7, F9, D9, R2 and L5 segments, a carload sample and common errors.

<QuickAnswer>
The EDI 404 Rail Carrier Shipment Information is the X12 transaction a shipper sends a railroad to tender a carload or intermodal shipment. It is the electronic rail bill of lading: the car, release instruction, bill of lading number, origin and destination stations, shipper and consignee, the railroads in the route, and the commodity with its STCC code and weight.
</QuickAnswer>

**The EDI 404 is how a shipper tells a railroad "this car is loaded, here is where it goes."** A truck shipper offers a load with a [204 load tender](/guides/edi/204-motor-carrier-load-tender) and the carrier sends a truck. Rail works differently. The car is already on the shipper's siding, the shipper loads it, and the 404 is the bill of lading that releases the car to the railroad, names the route and declares what is inside. The railroad builds its waybill from the 404, and everything it bills later comes from that waybill.

This guide covers what the 404 carries, how rail shipping differs from truck and ocean, every segment you will map, a live carload sample on a two-railroad route, how the 404 relates to the [417 waybill](/guides/edi/417-rail-carrier-waybill-interchange) and the [410 freight invoice](/guides/edi/410-rail-carrier-freight-details-and-invoice), and the errors that hold cars on the siding.

<EDIGuideCTA
  transactionType="404"
  headline="The carload starts with the customer's order"
  body="OrderSync reads inbound purchase orders in any format, from EDI 850s to PDFs, emails and spreadsheets, matches customers, items and units to your catalog, and sends clean orders to your ERP, so the PO and quantities on every bill of lading come from accurate data."
/>

## What Is an EDI 404?

**An EDI 404 is the Rail Carrier Shipment Information transaction set defined by [ASC X12](https://x12.org/products/transaction-sets), used to transmit rail-carrier-specific bill of lading information to a railroad.** The X12 description of the set calls it the initial tender of a shipment between a consignor and a rail carrier. It travels in functional group `SR` (the `GS01` value).

Authoritative references for 404 work:

- [Stedi's X12 004010 reference for the 404](https://www.stedi.com/edi/x12-004010/404) lists every segment, loop and element in release 004010
- [CN's 404 implementation guides](https://cn.ca/-/media/files/customer-centre/customer-centre-documents/canada-to-us-8050-en.pdf) show a real railroad's requirements, including the transborder data US Customs and Border Protection requires on rail shipments entering the United States
- [Railinc's Standard Transportation Commodity Code (STCC) resource](https://go.railinc.com/resources/standard-transportation-commodity-code) describes the seven-digit commodity codes railroads use to describe and rate freight
- The [NMFTA](https://nmfta.org/what-is-scac-and-how-do-carriers-get-it) issues the Standard Carrier Alpha Codes (SCACs) used for railroads in the route
- Each railroad publishes its own 404 guide, which sets the version, the references it requires, how it spells stations, and how it handles corrections

**Who sends it?** The shipper, or a 3PL, transload operator or logistics provider shipping on its behalf.

**Who receives it?** The origin railroad. On an interline move it is the first railroad in the route that receives the 404; it then passes the waybill to the other carriers.

**When is it sent?** When the car or container is loaded and ready to be pulled, or ahead of time with a scheduled release. The `M3` segment says which.

**Why does it matter?** The railroad cannot move or bill a loaded car without shipping instructions. A late 404 leaves a loaded car sitting on your track. A wrong station, route, weight or commodity code becomes a wrong waybill, a misrouted car, or a freight bill you have to dispute.

## How Rail Shipping Differs From Truck and Ocean

If you already ship by truck or ocean, most of the 404's vocabulary will look familiar. The shape of the move does not.

| | Truck (204, 211, 214, 210) | Rail (404, 417, 410) | Ocean (300, 301, 304, 310, 315) |
|---|---|---|---|
| **How the move starts** | Shipper tenders a load; carrier accepts and sends a truck | Shipper loads a car on its siding or at a ramp, then releases it with a 404 | Shipper books space, then sends shipping instructions |
| **Equipment** | Trailer, identified by the carrier | Rail car or intermodal container, identified by reporting mark and number | Container, identified by ISO 6346 owner prefix and number |
| **Locations** | Street addresses and stops | Rail stations, often coded with an FSAC or SPLC | Ports and places coded with UN/LOCODEs |
| **Route** | Usually one carrier | Often several railroads, each named in `R2` with the interchange junction | Vessel and voyage, with transshipment ports |
| **Commodity** | NMFC class for LTL | Seven-digit STCC | Description, often with an HS code |
| **Freight bill** | [210](/guides/edi/210-motor-carrier-freight-invoice) | [410](/guides/edi/410-rail-carrier-freight-details-and-invoice) | [310](/guides/edi/310-freight-receipt-and-invoice-ocean) |

Two rail ideas matter most when you map a 404. First, a rail car is identified by its **reporting mark** (the equipment initial, two to four letters) and number, and that pair is the key railroads use to match your 404 to the physical car. Second, a shipment can pass between railroads at **interchange junctions**, and the 404 must name every railroad in order, or tell the origin railroad to choose the route.

## The Rail Document Flow

A typical carload move between two railroads runs like this:

1. **Car placed.** The railroad places an empty car on the shipper's siding, or the shipper picks up an intermodal container.
2. **Car loaded.** The shipper loads, seals and weighs it.
3. **Shipper sends the 404.** It names the car, seal, weight, stations, parties, route and commodity, and releases the car for movement.
4. **Railroad creates the waybill.** The origin railroad turns the 404 into its waybill, with its own waybill number and date.
5. **Waybill passed along the route.** The origin railroad sends a [417 Rail Carrier Waybill Interchange](/guides/edi/417-rail-carrier-waybill-interchange) to the connecting railroads, and some railroads send it to customers too.
6. **Car moves.** It is pulled, interchanged at the junction and delivered to the consignee's track or a team track.
7. **Railroad bills.** The party paying the freight receives a [410 Rail Carrier Freight Details and Invoice](/guides/edi/410-rail-carrier-freight-details-and-invoice), or a [210](/guides/edi/210-motor-carrier-freight-invoice) if the railroad offers it, and returns a [997](/guides/edi/997-functional-acknowledgment).

Railroads differ on how they accept shipping instructions. Most also take them through a customer web portal, and some shippers send rail bills of lading on an [858 Shipment Information](/guides/edi/858-shipment-information) instead of a 404. Ask each railroad which it supports before you build a map.

## Interactive Example: Prepaid Carload on a Two-Railroad Route

A gypsum wallboard plant in Fort Dodge, Iowa ships one loaded car to a building supply distributor in Joliet, Illinois. The origin railroad (SCAC `QPRR`) hands the car to a connecting railroad (`QSWR`) at Des Moines. Freight is prepaid, so the shipper pays.

`BX` sets rail mode, prepaid terms, the origin railroad, pounds, and a single bill of lading. `BNX` declares shipper-certified scale weight and single shipment billing. `M3` releases the car now. `N9` carries the bill of lading number with its date and the customer's PO. `N7` names the car (reporting mark `QPLX`, number `450127`) with its net lading weight, and `M7` its seal. `F9` and `D9` give the origin and destination stations. The `N1` loops name the shipper with a contact, the consignee and the payer of freight. Two `R2` segments give the route and junction, and `L5`/`L0` describe 336 bundles of wallboard with the STCC. All names, SCACs, reporting marks and numbers are fictional.

Use the **Plain English** tab for a readable summary, or click any segment to break it down element by element.

<EDISample id="404-rail-bill-of-lading-carload" />

## 404 Structure at a Glance

The table follows X12 release 004010 and lists the segments most 404s use. The standard has many more: motor vehicle control (`VC`) for finished vehicles, intermodal chassis and movement detail (`IC`, `IM`), empty car disposition (`E1` loop), transit (`T1` loop), export (`X1`), customs (`X7`, `XH`) and a full hazardous materials loop (`LS`/`LH1`/`LE`).

| Area | Segment | Name | Usage in the standard | Notes |
|---|---|---|---|---|
| Heading | **ST** | Transaction Set Header | Mandatory | `ST01` = `404` |
| Heading | **ZC1** | Beginning Segment for Data Correction or Change | Optional | Corrections to an earlier 404 |
| Heading | **BX** | General Shipment Information | Optional | Purpose, mode, payment, SCAC, weight unit |
| Heading | **BNX** | Rail Shipment Information | Optional | Weight basis and billing type |
| Heading | **M3** | Release | Mandatory | Release now, later, or billing only |
| Heading | **N9** | Reference Identification | Mandatory, up to 30 | Bill of lading, PO and other references |
| Heading | **DTM** | Date/Time Reference | Optional, up to 5 | Other dates |
| Heading loop | **N7** | Equipment Details | Mandatory, up to 500 | One per car or container |
| N7 loop | **M7** | Seal Numbers | Optional | Seals on the car |
| Heading | **F9** | Origin Station | Mandatory | Where the car starts |
| Heading | **D9** | Destination Station | Mandatory | Where it is delivered |
| Heading loop | **N1 / N2 / N3 / N4 / REF / PER / BL** | Name, address and billing | Mandatory, up to 10 | Shipper, consignee, payer and others |
| Heading loop | **S1 / S2 / S9** | Stop-off details | Optional | Stop-off for partial loading or unloading |
| Heading | **R2** | Route Information | Optional, up to 13 | One per railroad in the route |
| Heading | **H3 / PS** | Special handling, protective service | Optional | Handling and temperature instructions |
| Detail loop | **LX** | Assigned Number | Mandatory, up to 25 | One per lading line |
| LX loop | **L5** | Description, Marks and Numbers | Mandatory | Description and STCC |
| LX loop | **L0 / MEA / L1 / PI** | Quantity, weight, measurements, rates | Optional | Weight and packages; rates if the shipper sends them |
| Summary | **L3** | Total Weight and Charges | Optional | Totals |
| Summary | **SE** | Transaction Set Trailer | Mandatory | Segment count and control number |

Railroads often run later releases. CN's current 404 guides, for example, use release 008050. The core segments in this guide keep their meaning across releases, but check `GS08` and the railroad's guide before you reuse a map.

## Key Segments Explained

### BX: General Shipment Information

```
BX*00*R*PP**QPRR*L*B*N~
```

| Element | Name | Example | What it means |
|---|---|---|---|
| **BX01** | Transaction Set Purpose Code | `00` | `00` original. Railroads list the codes they accept for changes and cancellations |
| **BX02** | Transportation Method/Type Code | `R` | `R` rail. Intermodal guides may use other codes, such as `X` intermodal (piggyback) |
| **BX03** | Shipment Method of Payment | `PP` | `PP` prepaid, `CC` collect, `11` Rule 11 shipment, `TP` third party pay |
| **BX04** | Shipment Identification Number | | A shipper's shipment number, when the railroad asks for one |
| **BX05** | Standard Carrier Alpha Code | `QPRR` | The railroad receiving the 404 |
| **BX06** | Weight Unit Code | `L` | `L` pounds, `K` kilograms |
| **BX07** | Shipment Qualifier | `B` | How this shipment relates to others; CN's guide uses `B` for a bill of lading for an individual shipment |
| **BX08** | Section Seven Code | `N` | Whether Section 7 of the bill of lading terms is in effect; `N` not in effect |

Later `BX` elements cover customs documentation handling and confidential billing. Send them only when the railroad's guide asks for them.

### BNX: Rail Shipment Information

```
BNX*S**S~
```

| Element | Name | Example | What it means |
|---|---|---|---|
| **BNX01** | Shipment Weight Code | `S` | Where the weight comes from: `S` shipper certified scale weight, `R` carrier scale weight, `A` shipper's weight agreement, `E` estimated weight |
| **BNX03** | Billing Code | `S` | The type of bill: `S` single shipment billing, `M` multiple shipment billing, `U` unit train billing |

The weight code matters at billing time. If you declare shipper scale weights, you are telling the railroad to rate on your weights. If the railroad weighs the car, its weight wins.

### M3: Release

```
M3*R*20261106*1430~
```

| Element | Name | Example | What it means |
|---|---|---|---|
| **M301** | Release Code | `R` | `R` released with billing data, `S` scheduled future release, `U` unscheduled release, `B` not released (billing data only), `H` hold a previously released shipment |
| **M302** | Date | `20261106` | Date of release, or the estimated release date on `U` |
| **M303** | Time | `1430` | Time of release |

`M3` is the switch that lets the railroad pull the car. A 404 sent with `B` gives the railroad billing data only, and the car stays put until it is released.

### N9: Reference Identification

```
N9*BM*NGP-BL-60418**20261106*1430~
N9*PO*LBS-778120~
```

| Element | Name | Example | What it means |
|---|---|---|---|
| **N901** | Reference Identification Qualifier | `BM` | `BM` bill of lading, `PO` purchase order |
| **N902** | Reference Identification | `NGP-BL-60418` | The reference value |
| **N904** | Date | `20261106` | The bill of lading date |
| **N905** | Time | `1430` | The bill of lading time |

Most railroads require at least one `N9*BM`. CN's guide notes that the bill of lading number is carried onto its freight invoice and remittance documents, so it is the number your accounts payable team will match on later. Send your PO numbers here too if you want to see them on the 410.

### N7 and M7: Equipment and Seals

```
N7*QPLX*450127*168000*N*******RR~
M7*NG0418827~
```

| Element | Name | Example | What it means |
|---|---|---|---|
| **N701** | Equipment Initial | `QPLX` | The car's reporting mark. A mark ending in `X` is a privately owned car |
| **N702** | Equipment Number | `450127` | The car number |
| **N703** | Weight | `168000` | Lading weight |
| **N704** | Weight Qualifier | `N` | `N` actual net weight |
| **N711** | Equipment Description Code | `RR` | `RR` rail car. The code list also has specific car types, such as `BX` boxcar, `HC` covered hopper and `TN` tank car |
| **M701** | Seal Number | `NG0418827` | The seal applied after loading |

The reporting mark and number are how the railroad ties your 404 to the car it is about to pull. A single transposed digit means the railroad holds a car with no bill, and a bill with no car.

### F9 and D9: Origin and Destination Stations

```
F9**FORT DODGE*IA~
D9**JOLIET*IL~
```

| Element | Name | Example | What it means |
|---|---|---|---|
| **F901 / D901** | Freight Station Accounting Code | | The railroad's code for the station (FSAC), when you know it |
| **F902 / D902** | City Name | `FORT DODGE` | The station name |
| **F903 / D903** | State or Province Code | `IA` | State or province |
| **F908 / D908** | Standard Point Location Code | | The SPLC for the station |

Rail stations are not street addresses. Railroads expect the station name spelled the way their station list spells it, and some want the FSAC or SPLC as well. Get the spellings from each railroad and store them as master data, rather than typing them per shipment.

### N1 Loop: Shipper, Consignee and Payer

```
N1*SH*NORTHGATE GYPSUM PRODUCTS~
PER*IC*DANA REYES*TE*515-555-0142*EM*SHIPPING@NORTHGATEGYPSUM.EXAMPLE~
N1*CN*LAKELINE BUILDING SUPPLY~
N1*PF*NORTHGATE GYPSUM PRODUCTS~
```

`N101` gives each party's role: `SH` shipper, `CN` consignee, `PF` party to receive freight bill. Cross-border guides add customs parties, such as `XU` for a US customs broker in CN's transborder guide. Railroads often ask for a `PER` contact on the shipper so they can call about a bill that will not process.

### R2: Route Information

```
R2*QPRR*S*DES MOINES~
R2*QSWR*1~
```

| Element | Name | Example | What it means |
|---|---|---|---|
| **R201** | Standard Carrier Alpha Code | `QPRR` | The railroad |
| **R202** | Routing Sequence Code | `S` | Its place in the route: `S` origin carrier on the shipper's routing, `R` origin carrier on a Rule 11 shipment, `1` first carrier after origin, `2` second, and so on |
| **R203** | City Name | `DES MOINES` | The junction where this railroad hands the car to the next one |

Send one `R2` per railroad, in order. CN's guide requires the junction on every `R2` except the last. If you want the origin railroad to choose the route, its guide will say how to ask.

### LX, L5 and L0: Lading

```
LX*1~
L5*1*GYPSUM WALLBOARD*3275440*T~
L0*1***168000*N***336*BDL~
```

| Element | Name | Example | What it means |
|---|---|---|---|
| **L502** | Lading Description | `GYPSUM WALLBOARD` | The commodity description |
| **L503** | Commodity Code | `3275440` | The seven-digit STCC |
| **L504** | Commodity Code Qualifier | `T` | `T` STCC |
| **L004 / L005** | Weight, Weight Qualifier | `168000` / `N` | Net weight of the line |
| **L008 / L009** | Lading Quantity, Packaging Form Code | `336` / `BDL` | 336 bundles |

The STCC drives the rate. Railinc maintains the code list, and each railroad's price authority (tariff or contract) is tied to STCCs. A code that does not match your contract rates the car at a different price, so take the STCC from your rail contract and keep it on the item master. Hazardous materials have their own STCCs and also need the hazardous materials loop (`LS`, `LH1` to `LH4`, `LE`).

## 404 vs 858, 204, 211 and 417

| Document | Mode | Sent by | Sent to | Purpose |
|---|---|---|---|---|
| **404 Rail Carrier Shipment Information** | Rail | Shipper | Origin railroad | Rail bill of lading and release |
| **[858 Shipment Information](/guides/edi/858-shipment-information)** | Any | Shipper | Carrier | General bill of lading data; some rail shippers use it instead of a 404 |
| **[204 Motor Carrier Load Tender](/guides/edi/204-motor-carrier-load-tender)** | Truck | Shipper | Motor carrier | Offers a load for the carrier to accept or decline |
| **[211 Motor Carrier Bill of Lading](/guides/edi/211-motor-carrier-bill-of-lading)** | Truck | Shipper | Motor carrier | Truck bill of lading |
| **[417 Rail Carrier Waybill Interchange](/guides/edi/417-rail-carrier-waybill-interchange)** | Rail | Railroad | Other railroads or customers | The railroad's waybill built from the 404 |
| **[410 Rail Carrier Freight Details and Invoice](/guides/edi/410-rail-carrier-freight-details-and-invoice)** | Rail | Railroad | Freight payer | Freight bill for the move |

The 404 has no accept-or-decline step. A truck carrier can refuse a 204 with a [990](/guides/edi/990-response-to-load-tender), but a car on a railroad's network is already in the railroad's hands once it is released. Problems come back as rejected bills, holds and calls, not as a declined tender.

## Common 404 Errors and How to Prevent Them

| Error | What happens | Prevention |
|---|---|---|
| **Car initial or number wrong** | The railroad cannot match the bill to the car; the car sits | Scan or pick the car from the railroad's placement list instead of typing it |
| **Station spelled differently from the railroad's list** | Bill rejected or set aside for manual review | Store each railroad's station names, FSACs and SPLCs as master data |
| **Route missing a junction** | Railroad cannot build the interline waybill | Send `R203` on every `R2` except the last, unless the guide says otherwise |
| **Wrong STCC** | Car rated at the wrong price, or rejected for no price authority | Keep the contract STCC on the item master; never derive it from the description |
| **Weight basis not what you expect** | You are billed on carrier scale weight you did not plan for | Set `BNX01` to match your weight agreement with the railroad |
| **404 sent with a hold or billing-only code** | Loaded car is not pulled | Check `M301` before sending; alert on any car not pulled by the next switch |
| **Duplicate 404 for the same car** | Two waybills, two bills | Send corrections with the purpose code or `ZC1` the railroad specifies, not a second original |
| **Missing transborder data** | Cross-border car held at the border | Follow the railroad's customs requirements for parties, value, origin country and seals |

## 404 Implementation Checklist

Before your first live 404 with a railroad:

- Get the railroad's 404 guide and confirm the X12 version in `GS08` and the ISA qualifiers it expects
- Confirm the references it requires in `N9`, starting with the bill of lading number and date
- Load its station spellings, FSACs and SPLCs for every origin and destination you use
- Map the STCC for every product you ship by rail, from your rail contract
- Agree on weight basis (`BNX01`) and billing type (`BNX03`)
- Decide how you send corrections and cancellations, and test them
- Store reporting mark, number, seal and bill of lading number against the order so the [410](/guides/edi/410-rail-carrier-freight-details-and-invoice) can be matched later
- If you ship hazardous materials or cross a border, test those 404s separately
- Confirm the 997 the railroad will return for each 404
- Test an original, a correction, a cancellation, a multi-car bill and an interline route

For how rail sets fit next to retail documents, see our [EDI document types reference](/edi-document-types). For the paper document the 404 replaces, see the [bill of lading glossary entry](/glossary/bill-of-lading).

## Where OrderSync Fits

A carload ships because a customer ordered it. The PO in your 404's `N9`, the consignee in `N1` and the quantity in `L0` all come from that order, whether it arrived as an EDI 850, a PDF, an email or a spreadsheet.

OrderSync reads inbound orders in any format, matches customers, items and units to your catalog, and outputs clean ERP data or valid X12. Paste any 404 into the [free EDI inspector](/edi-inspector) to see it parsed segment by segment with a plain-English summary and any structural errors explained, or [book a 15-minute walkthrough](/book-call) to see your own orders processed.

## Frequently Asked Questions

<div className="not-prose">

### What is an EDI 404?

The EDI 404 Rail Carrier Shipment Information is the X12 transaction a shipper sends to a railroad to tender a rail shipment. It works as the electronic rail bill of lading and carries the car, release instruction, bill of lading number, stations, parties, route and commodity.

### Is the EDI 404 a rail bill of lading?

Yes. X12 describes it as rail-carrier-specific bill of lading information and as the initial tender of a shipment between a consignor and a rail carrier. The railroad builds its waybill from it.

### What is the difference between EDI 404 and EDI 204?

The 204 offers a load to a motor carrier, which can accept or decline it with a 990. The 404 releases a car that is already loaded on the railroad's network and gives the railroad the bill of lading data it needs to move and bill it.

### What is the difference between EDI 404 and EDI 417?

The shipper sends the 404 to the origin railroad. The railroad turns it into a waybill and sends the 417 Rail Carrier Waybill Interchange to the other railroads in the route, and in some cases to customers.

### What is an STCC code in a 404?

The Standard Transportation Commodity Code is a seven-digit commodity code maintained by Railinc. It goes in L503 with qualifier T in L504, and railroads use it to find the price that applies to the shipment.

### What are the F9 and D9 segments?

F9 is the origin station and D9 the destination station. Each carries a city and state or province, and can carry the railroad's Freight Station Accounting Code (FSAC) and the Standard Point Location Code (SPLC).

### How do I list more than one railroad in a 404?

Send one R2 segment per railroad in route order. R201 is the railroad's SCAC, R202 its place in the route (S for the origin carrier on the shipper's routing, then 1, 2 and so on), and R203 the junction where it hands the car to the next railroad.

### Which X12 version does the 404 use?

It depends on the railroad. Many guides use 004010, and some railroads run much later releases; CN's current 404 guides use 008050. The version is named in GS08 of each functional group.

</div>
