X12 Transaction Sets

A reference guide to the most common ANSI X12 transaction sets supported on x12port — what each one is, who uses it, and when it's sent. See the full interactive reference at /dev/tx-sets.

What is a Transaction Set?

In X12 EDI, a transaction set is a standardised electronic document. Each transaction set has a three-digit number (e.g. 850) and defines the structure, required segments, and allowed values for that document type. Transaction sets travel inside a GS/GE functional group envelope.

Common Transaction Sets by Industry

Retail, eCommerce & Consumer Goods

SetNameDirectionWhen sent
850Purchase OrderRetailer → SupplierWhen a retailer places an order
855Purchase Order AcknowledgmentSupplier → RetailerTo accept, reject, or partially accept an 850
856Ship Notice / ASNSupplier → RetailerWhen a shipment leaves the warehouse — required by most large retailers before goods arrive
810InvoiceSupplier → RetailerTo bill for shipped goods
820Payment Order / Remittance AdviceRetailer → SupplierTo confirm payment and reconcile against invoices
753Request for Routing InstructionsSupplier → RetailerTo ask the retailer which carrier to use
754Routing InstructionsRetailer → SupplierRetailer's response with carrier and routing details
997Functional AcknowledgmentBothRequired — confirms receipt of any functional group; sent within 24–48 hours of receiving any document

Transportation & Logistics

SetNameDirectionWhen sent
204Motor Carrier Load TenderShipper → CarrierTo offer a freight load to a carrier
211Motor Carrier Bill of LadingCarrier → ShipperFormal receipt for freight accepted for transport
214Shipment Status MessageCarrier → ShipperIn-transit status updates (picked up, in transit, delivered)
990Response to a Load TenderCarrier → ShipperCarrier accepts or rejects a 204 load tender
210Motor Carrier Freight Details and InvoiceCarrier → ShipperFreight invoice after delivery

3PL & Warehouse

SetNameWhen sent
940Warehouse Shipping OrderRetailer/Shipper → 3PL to instruct a shipment
943Warehouse Stock Transfer Shipment AdviceSender notifies 3PL of incoming inventory transfer
944Warehouse Stock Transfer Receipt Advice3PL confirms receipt of inventory
945Warehouse Shipping Advice3PL confirms a shipment went out in response to a 940
947Warehouse Inventory Adjustment Advice3PL notifies of inventory adjustments (damage, returns, etc.)

Healthcare

SetNameWhen sent
270Eligibility, Coverage, or Benefit InquiryProvider → Payer to verify a patient's benefits
271Eligibility, Coverage, or Benefit ResponsePayer → Provider with benefit details
837Health Care ClaimProvider → Payer to submit a claim
835Health Care Claim Payment / RemittancePayer → Provider with payment and explanation of benefits
277Health Care Claim StatusPayer → Provider with claim status update

The 997 Functional Acknowledgment

The 997 is unique — it's required in virtually every EDI trading relationship, regardless of industry. Any time you receive a functional group (a set of transaction sets inside a GS/GE envelope), you must send back a 997 within the timeframe specified in your trading partner agreement (typically 24–48 hours).

A 997 can acknowledge the entire group as AK901=A (Accepted), AK901=E (Accepted with errors), or AK901=R (Rejected). Failing to send 997s will result in your partner flagging your connection as non-compliant.

Viewing the full reference

The interactive transaction set browser at /dev/tx-sets lists all supported sets, filterable by industry and direction. Each entry shows the segment loop structure and common element descriptions.

✨ x12port Assistant
Free AI support • No credits needed
Hi! I’m the x12port AI Assistant. Ask me anything about EDI, your account, or how to use x12port. 👋