# EDI 410 Rail Freight Invoice: Complete Guide

> EDI 410 rail freight invoice explained: the B3B, N7, N8, L0, L1 and L3 segments, rail charge codes, a live carload invoice and how to audit it.

<QuickAnswer>
The EDI 410 Rail Carrier Freight Details and Invoice is the X12 transaction a railroad sends to bill for a rail movement. B3B carries the invoice number, payment terms, billing date, amount due, due date and the railroad's SCAC, and the detail lists the car, waybill, stations, route and each charge, such as line haul and fuel, totalled in L3.
</QuickAnswer>

**The EDI 410 is a railroad's freight bill as data.** Once a car moves, the railroad that bills the shipment sends a 410 to the party paying the freight: the shipper on prepaid, the consignee on collect, or a third party. It looks a lot like the motor carrier [210](/guides/edi/210-motor-carrier-freight-invoice), with one big difference. A rail invoice is built from a waybill, so it carries the car, the waybill number, the rail stations and the railroads in the route, and those are what you match it on.

This guide covers what the 410 bills, every segment you will map, a live carload invoice that continues our [404](/guides/edi/404-rail-carrier-shipment-information) and [417](/guides/edi/417-rail-carrier-waybill-interchange) examples, how the 410 compares with the 210 and the ocean 310, and the checks that catch rail billing errors.

<EDIGuideCTA
  transactionType="410"
  headline="Rail freight bills trace back to orders"
  body="Every 410 traces back through the waybill and bill of lading to a customer's order. OrderSync reads inbound orders in any format, from EDI 850s to PDFs and emails, matches customers, items and units, and sends clean data to your ERP, so the shipments you pay for start from accurate orders."
/>

## What Is an EDI 410?

**An EDI 410 is the Rail Carrier Freight Details and Invoice transaction set defined by [ASC X12](https://x12.org/products/transaction-sets), which can be used to provide detailed information of charges associated with a rail movement.** It travels in functional group `IR` (the `GS01` value).

Authoritative references for 410 work:

- [Stedi's X12 004010 reference for the 410](https://www.stedi.com/edi/x12-004010/410) lists every segment, loop and element in release 004010
- [CN's 410 implementation guide](https://www.cn.ca/-/media/files/customer-centre/customer-centre-documents/410-implementation-guide-4010-en.pdf) shows a railroad's outbound freight invoice in releases 003020 to 004010, with complete samples and its charge code list
- [Railinc's STCC resource](https://go.railinc.com/resources/standard-transportation-commodity-code) describes the commodity codes that rail rates are tied to
- The [NMFTA](https://nmfta.org/what-is-scac-and-how-do-carriers-get-it) issues the SCAC that identifies the billing railroad in `B3B06`

**Who sends it?** The railroad billing the shipment. On an interline move under a through rate, one railroad usually bills the payer and the railroads divide the revenue among themselves through interline settlement.

**Who receives it?** The party paying the freight: the shipper on prepaid, the consignee on collect, or a third party such as a 3PL or freight payment provider.

**When is it sent?** After the railroad rates the waybill. CN's guide, for example, says it collects the day's invoices and transmits them overnight.

**Why does it matter?** Rail freight is billed from the waybill: the car, the weight basis, the STCC, the route and the price authority. The 410 is where any difference between what you tendered on the 404 and what the railroad recorded turns into money.

## What the 410 Bills

- **Line haul.** The base charge for the move, often per car on carload freight, or per hundredweight or per ton under some price authorities.
- **Fuel surcharge.** Often a rate per mile on the route miles, or a percentage, depending on the railroad's fuel program.
- **Accessorials.** Switching, storage in transit, diversion and reconsignment, and similar services. CN's guide notes that it invoices some optional services outside the 410, so ask each railroad which charges come on the 410 and which come another way.
- **Taxes.** Cross-border and Canadian moves can carry tax lines, such as GST, as separate charges.
- **References.** The waybill number and date, the bill of lading number, and any PO or contract numbers the shipper put on the bill of lading.
- **Price authority.** The tariff or contract the charge is rated under, in the `PI` segment, when the railroad sends it.

CN's guide makes a point worth repeating for every railroad: if you need a reference on the invoice to reconcile it, put it on the shipping instructions. The railroad can only copy what it received.

## Interactive Example: Prepaid Carload Invoice

The car from our 404 and 417 examples, `QPLX 450127`, has been delivered to Joliet. The origin railroad (`QPRR`) bills the shipper, who paid the freight.

`B3B` gives the invoice number, prepaid terms, the billing date, the net amount due (6,936.52), the payment due date, the SCAC, rail mode, the shipper's bill of lading number as the shipment ID, pounds and US dollars. `N9` carries the bill of lading and PO, `N7` the car, `N8` the waybill, and `F9`/`D9` the stations. The `N1` loops name the payer (with the railroad's customer code), shipper and consignee, and `R2` the two-railroad route. In the `LX` loop, the first `L0`/`L1` pair bills the line haul at 6,850.00 per car, and the second bills a fuel surcharge of 0.21 per mile on 412 miles (86.52). `L3` totals the invoice. The sample follows the layout of CN's 004010 invoice sample. All names, SCACs, codes, rates 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="410-rail-freight-invoice-carload" />

## 410 Structure at a Glance

The table follows X12 release 004010.

| Area | Segment | Name | Usage in the standard | Notes |
|---|---|---|---|---|
| Heading | **ST** | Transaction Set Header | Mandatory | `ST01` = `410` |
| Heading | **B3B** | Beginning Segment for Carrier's Invoice | Mandatory | Invoice number, terms, dates, amount, SCAC, mode, currency |
| Heading | **C4** | Alternate Amount Due | Optional | Amount due in another currency |
| Heading | **N9** | Reference Identification | Optional, up to 30 | Bill of lading, PO, contract and tax references |
| Heading | **CM / NTE** | Cargo manifest, notes | Optional | Manifest data and free text |
| Heading loop | **N7** | Equipment Details | Mandatory, up to 500 | One per car or container |
| N7 loop | **VC / G4 / M7 / N5 / IC / IM / M12 / GA** | Vehicle, scale, seals, equipment ordered, intermodal, in-bond, grain | Optional | Detail for specific traffic |
| Heading | **N8** | Waybill Reference | Mandatory, up to 499 | Waybill number and date |
| Heading | **F9** | Origin Station | Mandatory | Origin station and codes |
| Heading | **D9** | Destination Station | Mandatory | Destination station and codes |
| Heading loop | **N1 / N2 / N3 / N4 / PER / BL** | Name, address and billing | Optional, up to 10 | Payer, shipper, consignee and others |
| Heading loop | **S1 / S2 / S9** | Stop-off details | Optional | Stop-offs |
| Heading | **R2 / R9** | Route Information, Route Code | Optional | Railroads in the route |
| Heading | **PS** | Protective Service Instructions | Optional | Temperature and protective service |
| Detail loop | **LX** | Assigned Number | Mandatory, up to 25 | Starts each invoice line |
| LX loop | **L5** | Description, Marks and Numbers | Mandatory | Description and STCC |
| L0 loop | **L0** | Line Item - Quantity and Weight | Mandatory, up to 25 | Starts each charge group |
| L0 loop | **MEA / L1 / DTM / PI** | Measurements, rate and charges, dates, price authority | `L1` mandatory | The charges |
| T1 loop | **T1 / T2 / T3 / T6 / T8** | Transit inbound detail | Optional | Transit billing |
| Summary | **L3** | Total Weight and Charges | Mandatory | Invoice totals |
| Summary | **X7** | Customs Information | Optional | Customs data |
| Summary | **SE** | Transaction Set Trailer | Mandatory | Segment count and control number |

Note where the 410 differs from the 210. The car (`N7`), the waybill (`N8`) and the stations (`F9`, `D9`) are mandatory, and each `L1` sits inside an `L0` loop within the `LX` loop. That is why CN's samples send a bare `L0*1` before the fuel surcharge `L1`: each charge opens its own `L0` loop.

## Key Segments Explained

### B3B: Beginning Segment for Carrier's Invoice

```
B3B*QP26110713*PP*20261110*693652*20261210*QPRR*R*NGP-BL-60418*L**USD~
```

| Element | Name | Example | What it means |
|---|---|---|---|
| **B3B01** | Invoice Number | `QP26110713` | The railroad's invoice number |
| **B3B02** | Shipment Method of Payment | `PP` | `PP` prepaid, `CC` collect, `TP` third party pay, `11` Rule 11 shipment |
| **B3B03** | Date | `20261110` | The billing date |
| **B3B04** | Net Amount Due | `693652` | Two implied decimals: 6,936.52 |
| **B3B05** | Date | `20261210` | The payment due date |
| **B3B06** | Standard Carrier Alpha Code | `QPRR` | The billing railroad |
| **B3B07** | Transportation Method/Type Code | `R` | `R` rail. Railroads that bill intermodal on the 410 use other codes |
| **B3B08** | Shipment Identification Number | `NGP-BL-60418` | The shipper's shipment number |
| **B3B09** | Weight Unit Code | `L` | The X12 note says the default is pounds |
| **B3B10** | Correction Indicator | | Set on a corrected or balance-due bill; the railroad's guide lists the codes it sends |
| **B3B11** | Currency Code | `USD` | Currency of the invoice |

`B3B` is a rail-specific beginning segment. It is not the `B3` used in the 210, 310 and 110: the invoice number comes first, the due date has its own element, and the mode and currency are part of the segment. `B3B04` is a numeric field with two implied decimals, so `693652` means 6,936.52.

### N9: Reference Identification

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

CN's guide lists qualifiers such as `BM` bill of lading, `WY` waybill number, `CT` contract number, `CO` customer order number, and tax registration numbers on Canadian invoices. The bill of lading number is the reference most payers match on, because it is the one the shipper created.

### N7 and N8: Car and Waybill

```
N7*QPLX*450127*168000*N*67200******RR~
N8*318204*20261106~
```

`N701` and `N702` are the car's reporting mark and number, `N703`/`N704` the lading weight and qualifier, `N705` the tare, and `N711` the equipment description (`RR` rail car). `N801` is the waybill number and `N802` the waybill date. A 410 can bill many cars (the `N7` loop repeats up to 500 times and `N8` up to 499), so match each car to its own bill of lading and waybill.

### F9, D9 and R2: Stations and Route

```
F9*41720*FORT DODGE*IA~
D9*63115*JOLIET*IL~
R2*QPRR*S*DES MOINES~
R2*QSWR*1~
```

The origin and destination stations carry the railroad's Freight Station Accounting Code in `F901` and `D901` and, when sent, the SPLC in `F908` and `D908`. `R2` lists each railroad with its routing sequence code and interchange junction. The route on the invoice should match the route on your 404 and the 417. If it does not, the rate may not be the one you expected.

### N1 Loop: Payer, Shipper and Consignee

```
N1*PR*NORTHGATE GYPSUM PRODUCTS*25*NGP0071~
N1*SH*NORTHGATE GYPSUM PRODUCTS~
N1*CN*LAKELINE BUILDING SUPPLY~
```

`N101` gives the role: `PR` payer, `SH` shipper, `CN` consignee. CN's guide also sends `SF` ship from and `CO` (its care-of party). `N103` = `25` means `N104` is the carrier's own customer code for the party, which is useful when one company has several billing accounts with the railroad.

### L5, L0 and L1: Lading and Charges

```
LX*1~
L5*1*GYPSUM WALLBOARD*3275440*T~
L0*1***168000*N***336*BDL~
L1*1*6850*PC*685000~
L0*1~
L1*1*0.21*PM*8652****ENS*********412*MR~
```

| Element | Name | Example | What it means |
|---|---|---|---|
| **L503 / L504** | Commodity Code, Qualifier | `3275440` / `T` | The STCC the car was rated on |
| **L004 / L005** | Weight, Weight Qualifier | `168000` / `N` | The billed weight and its basis |
| **L101** | Lading Line Item Number | `1` | Ties the charge to the lading line |
| **L102** | Freight Rate | `6850` | The rate |
| **L103** | Rate/Value Qualifier | `PC` | How the rate applies: `PC` per car, `PM` per mile, `PU` per unit, `CW` per hundredweight, `MN` minimum |
| **L104** | Charge | `685000` | Two implied decimals: 6,850.00 |
| **L108** | Special Charge or Allowance Code | `ENS` | What the charge is, when it is not the line haul |
| **L117 / L118** | Billed/Rated-as Quantity, Qualifier | `412` / `MR` | The quantity the rate was applied to, here 412 miles (`MR` mileage) |

CN's guide lists the `L108` codes it sends, including `ENS` fuel surcharge (the X12 name is energy surcharge, fuel adjustment factor), `SWC` switching charge, `STR` storage in transit, `DIV` diversion and reconsignment, `TER` terminal charge, `GST` goods and services tax, and several provincial carbon tax codes. Other railroads use their own subsets. Build a per-railroad table of the codes you accept and route anything else for review.

### L3: Total Weight and Charges

```
L3*168000*N***693652~
```

| Element | Name | Example | What it means |
|---|---|---|---|
| **L301 / L302** | Weight, Weight Qualifier | `168000` / `N` | Total weight |
| **L305** | Charge | `693652` | Total charges: 6,936.52 |

Add the `L104` charges and compare the sum with `L305` and with `B3B04`. In the sample: 6,850.00 + 86.52 = 6,936.52.

## EDI 410 vs 210, 310, 110 and 810

| Document | Mode | Sent by | Beginning segment | What it adds |
|---|---|---|---|---|
| **410 Rail Carrier Freight Details and Invoice** | Rail | Railroad | `B3B` | Car, waybill, rail stations, route |
| **[210 Motor Carrier Freight Details and Invoice](/guides/edi/210-motor-carrier-freight-invoice)** | Truck | Motor carrier | `B3` | Stops, proof of delivery, accessorials |
| **[310 Freight Receipt and Invoice (Ocean)](/guides/edi/310-freight-receipt-and-invoice-ocean)** | Ocean | Ocean carrier | `B3` | Vessel, ports, containers, bill of lading data |
| **[110 Air Freight Details and Invoice](/guides/edi/110-air-freight-details-and-invoice)** | Air | Air carrier or forwarder | `B3` | Airports, air waybill, chargeable weight |
| **[810 Invoice](/guides/edi/810-invoice)** | n/a | Seller | `BIG` | Bills for goods, not transport |

Some railroads will send a 210 instead of a 410 on request; CN's guide offers both. If your freight audit already reads 210s, ask whether the railroad's 210 carries the car and waybill data you need before choosing it over the 410.

## How to Audit a 410

| Error | What happens | Prevention |
|---|---|---|
| **Invoice cannot be matched** | Bill sits unpaid; the railroad chases payment | Match on bill of lading number, then car and waybill; send the references you need on the 404 |
| **Charges do not add up** | Short payment and disputes | Sum `L104` and compare with `L305` and `B3B04` |
| **Wrong STCC** | Car rated under the wrong price authority | Compare `L503` with the STCC in your contract and on your 404 |
| **Weight basis changed** | Billed on a scale weight you did not expect | Compare `L005` and the weight with your `BNX01` and loading records |
| **Unexpected route** | Different rate or miles | Compare `R2` with your 404 |
| **Fuel surcharge miles wrong** | Overbilled fuel | Check `L117` miles against the route and the railroad's fuel program |
| **Implied decimals misread** | Amounts off by a factor of 100 | Treat `B3B04`, `L104` and `L305` as two implied decimal places |
| **Currency missed** | Canadian dollar bill paid in US dollars, or the reverse | Read `B3B11` and `C4` on every invoice |
| **Corrected bill paid twice** | Duplicate payment | Check `B3B10` and key invoices on number and SCAC |

## 410 Implementation Checklist

Before your first live 410 from a railroad:

- Get the railroad's 410 guide and confirm the X12 version in `GS08` (CN recommends 004010)
- Confirm which charges come on the 410 and which are invoiced separately
- Agree which references will appear in `N9`, and add them to your 404s
- Load the railroad's `L108` charge codes and map them to your freight cost accounts
- Link each 410 to its bill of lading, car and waybill from the [404](/guides/edi/404-rail-carrier-shipment-information) and [417](/guides/edi/417-rail-carrier-waybill-interchange)
- Decide how corrected and balance-due bills are reviewed before payment
- Return a [997](/guides/edi/997-functional-acknowledgment) for each 410; CN's guide makes this mandatory
- If you pay by EDI, agree on the remittance format, such as an [820](/guides/edi/820-payment-order)
- Test a single-car invoice, a multi-car invoice, a correction and a cross-border invoice if you have them

To put rail freight into product cost, our [landed cost calculator](/tools/landed-cost-calculator) shows how freight is allocated across order lines. See the [EDI document types reference](/edi-document-types) for where the transportation sets fit.

## Where OrderSync Fits

Every car on a 410 started as a customer order. The PO numbers in `N9`, the consignee and the quantities your customer expects all depend on that order being captured correctly, 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 410 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 410?

The EDI 410 Rail Carrier Freight Details and Invoice is the X12 transaction a railroad uses to bill for a rail movement. It carries the invoice number, payment terms, amount due and due date in B3B, the car, waybill, stations and route, and each charge with the total.

### What is the difference between EDI 410 and EDI 210?

The 210 is the motor carrier freight invoice and starts with B3. The 410 is the rail freight invoice and starts with B3B. The 410 also requires the car in N7, the waybill in N8 and the origin and destination stations in F9 and D9.

### What is the B3B segment?

B3B is the beginning segment of the 410. B3B01 is the invoice number, B3B02 the payment terms, B3B03 the billing date, B3B04 the net amount due with two implied decimals, B3B05 the payment due date, B3B06 the railroad's SCAC, B3B07 the mode and B3B11 the currency.

### Who receives the EDI 410?

The party paying the freight: the shipper on prepaid shipments, the consignee on collect, or a third party such as a 3PL or freight payment provider.

### How do I match a 410 to a shipment?

Start with the bill of lading number in N9, then confirm the car in N7 and the waybill in N8. Those tie the invoice to your 404 and to any 417 waybill copies you received.

### Why does a 410 have more than one L0 segment?

In the 410, each L1 charge sits inside an L0 loop. A second charge, such as a fuel surcharge, opens a new L0 loop, which is why railroads such as CN send a short L0 segment before it.

### What is the ENS charge code?

ENS is the X12 code for energy surcharge (fuel adjustment factor). Railroads use it for the fuel surcharge, often as a rate per mile with the miles in L117.

### Does the 410 include every rail charge?

Not always. Some railroads bill optional or accessorial services through other channels. CN's guide says certain optional services are invoiced through its web tool rather than the 410, so confirm with each railroad.

</div>
