X12 161 — Train Sheet
The 161 carries the rail train sheet: train composition, car order, operational information between rail freight operators.
Purpose
The 161 documents the operational composition of a freight train: train number, locomotive(s), ordered car list with positions, commodity carried, weight, status (loaded / empty), destination per car. It is the B2B instrument between Class I railroads (BNSF, CSX, UP, NS) for operational traceability.
The 161 feeds rail-management systems (TSC — Transportation Service Center) and triggers switching, interchange and billing transactions. Acknowledged by 997, it is a source feed for the 404 (Rail Carrier Shipment Information).
Envelope structure
The 161 travels within the three X12 envelope levels (ISA/IEA,
GS/GE with functional group TS, and ST/SE).
Didactic example in release 004010:
ISA*00* *00* *ZZ*BNSF *ZZ*UPRR *260514*0600*U*00401*000000161*0*P*>~
GS*TS*BNSF*UPRR*20260514*0600*1*X*004010~
ST*161*0001~
BTS*00*TR-2026-44071*20260514*0600~
N1*CA*BNSF RAILWAY*92*BNSF~
N1*CA*UNION PACIFIC*92*UPRR~
N7*GE-AC4400CW*BNSF-7732~
LX*1~
N7*BOXCAR*BNSF-887741*LD~
M7*CL*M7TYPE~
LX*2~
N7*HOPPER*UPRR-552032*MT~
M7*CL*M7TYPE~
SE*11*0001~
GE*1*1~
IEA*1*000000161~ Common segments
- Header —
ST,BTS(Beginning Segment for Train Sheet),DTM. - Operators —
N1*CA(issuing carrier),N1*CA(interchange carrier). - Locomotives —
N7(Equipment Detail) in leading position. - Cars — repeated
LXloop:N7(type / number / statusLDorMT),M7(Seal numbers). - Summary —
SE.
Common pitfalls
- Car order:
LX01must reflect physical position in the train; a lost re-ordering breaks loading and braking calculations on the receiving side. - LD / MT status: encode loaded vs empty via
N7status element — an unmarked empty car generates an erroneous interchange bill. - Seal number:
M7is mandatory for goods under customs custody (HAZMAT, sealed intermodal); without it, the car is quarantined at interchange.
Related transactions
Documentation
The code 161 and the name Train Sheet are public and listed on x12.org/products/transaction-sets. The complete structure of loops, qualifiers and code lists is distributed by DISA via the proprietary Implementation Guides (TR3). ediverse.io covers only public concepts, the envelope and didactic examples.