ORDERS Purchase order message (D98A)
This is the standard EDIFACT D98A spec, with 60 loops and 173 segment positions, as OpenEDI JSON, an ediFabric C# template and an ediFabric Native model. To change it for a trading partner, customize it in the EDI Spec Builder.
Use the ORDERS spec in your code
ediFabric .NET
Add the C# template and its common files to your project, or reference the template NuGet package, and read ORDERS files into TSORDERS objects. See ediFabric .NET.
ediFabric Native
Native supports X12 today, and EDIFACT is coming. When it's available, map version D98A to this Native model with set_map to parse ORDERS files to JSON from Python, Java, C or C#. See ediFabric Native.
OpenEDI
Select Customize in Spec Builder to copy the spec under your own name, change it for your partner, and parse files against it in EdiNation, ediFabric Native or ediFabric Cloud. Read about OpenEDI.
Generate ORDERS classes in Python, Java, Node.js, Go, Rust or C
The OpenEDI file describes each ORDERS as JSON. To work with ORDERS data as typed objects, generate classes from the OpenEDI file in your language; the root class is TSORDERS. The classes keep the loops, segments, lengths and code lists, but not the EDI data formats. Read more in Generate a class from OpenEDI.
Python: datamodel-code-generator. Node.js: openapi-typescript. Java, Go, Rust and C: OpenAPI Generator.
For a sample file, the same data as JSON, and code to parse, validate and generate the ORDERS, see the ORDERS transaction guide.
ORDERS structure
Loops and segments of the standard ORDERS, with their usage and maximum repeats.
| ID | Name | Usage | Max use |
|---|---|---|---|
| UNH | Message Header | Optional | 1 |
| BGM | BEGINNING OF MESSAGE | Mandatory | 1 |
| DTM | DATE/TIME/PERIOD | Mandatory | 35 |
| PAI | PAYMENT INSTRUCTIONS | Optional | 1 |
| ALI | ADDITIONAL INFORMATION | Optional | 5 |
| IMD | ITEM DESCRIPTION | Optional | 999 |
| FTX | FREE TEXT | Optional | 99 |
| Loop RFF | REFERENCE | Optional | 9999 |
| RFF | REFERENCE | Mandatory | 1 |
| DTM | DATE/TIME/PERIOD | Optional | 5 |
| Loop NAD | NAME AND ADDRESS | Optional | 99 |
| NAD | NAME AND ADDRESS | Mandatory | 1 |
| LOC | PLACE/LOCATION IDENTIFICATION | Optional | 25 |
| FII | FINANCIAL INSTITUTION INFORMATION | Optional | 5 |
| Loop RFF | REFERENCE | Optional | 99 |
| RFF | REFERENCE | Mandatory | 1 |
| DTM | DATE/TIME/PERIOD | Optional | 5 |
| Loop DOC | DOCUMENT/MESSAGE DETAILS | Optional | 5 |
| DOC | DOCUMENT/MESSAGE DETAILS | Mandatory | 1 |
| DTM | DATE/TIME/PERIOD | Optional | 5 |
| Loop CTA | CONTACT INFORMATION | Optional | 5 |
| CTA | CONTACT INFORMATION | Mandatory | 1 |
| COM | COMMUNICATION CONTACT | Optional | 5 |
| Loop TAX | DUTY/TAX/FEE DETAILS | Optional | 5 |
| TAX | DUTY/TAX/FEE DETAILS | Mandatory | 1 |
| MOA | MONETARY AMOUNT | Optional | 1 |
| LOC | PLACE/LOCATION IDENTIFICATION | Optional | 5 |
| Loop CUX | CURRENCIES | Optional | 5 |
| CUX | CURRENCIES | Mandatory | 1 |
| PCD | PERCENTAGE DETAILS | Optional | 5 |
| DTM | DATE/TIME/PERIOD | Optional | 5 |
| Loop PAT | PAYMENT TERMS BASIS | Optional | 10 |
| PAT | PAYMENT TERMS BASIS | Mandatory | 1 |
| DTM | DATE/TIME/PERIOD | Optional | 5 |
| PCD | PERCENTAGE DETAILS | Optional | 1 |
| Loop MOA | MONETARY AMOUNT | Optional | 9999 |
| MOA | MONETARY AMOUNT | Mandatory | 1 |
| GIR | RELATED IDENTIFICATION NUMBERS | Optional | 9 |
| Loop TDT | DETAILS OF TRANSPORT | Optional | 10 |
| TDT | DETAILS OF TRANSPORT | Mandatory | 1 |
| Loop LOC | PLACE/LOCATION IDENTIFICATION | Optional | 10 |
| LOC | PLACE/LOCATION IDENTIFICATION | Mandatory | 1 |
| DTM | DATE/TIME/PERIOD | Optional | 5 |
| Loop TOD | TERMS OF DELIVERY OR TRANSPORT | Optional | 5 |
| TOD | TERMS OF DELIVERY OR TRANSPORT | Mandatory | 1 |
| LOC | PLACE/LOCATION IDENTIFICATION | Optional | 2 |
| Loop PAC | PACKAGE | Optional | 99 |
| PAC | PACKAGE | Mandatory | 1 |
| MEA | MEASUREMENTS | Optional | 5 |
| Loop PCI | PACKAGE IDENTIFICATION | Optional | 5 |
| PCI | PACKAGE IDENTIFICATION | Mandatory | 1 |
| RFF | REFERENCE | Optional | 1 |
| DTM | DATE/TIME/PERIOD | Optional | 5 |
| GIN | GOODS IDENTITY NUMBER | Optional | 10 |
| Loop EQD | EQUIPMENT DETAILS | Optional | 10 |
| EQD | EQUIPMENT DETAILS | Mandatory | 1 |
| HAN | HANDLING INSTRUCTIONS | Optional | 5 |
| MEA | MEASUREMENTS | Optional | 5 |
| FTX | FREE TEXT | Optional | 5 |
| Loop SCC | SCHEDULING CONDITIONS | Optional | 10 |
| SCC | SCHEDULING CONDITIONS | Mandatory | 1 |
| FTX | FREE TEXT | Optional | 5 |
| RFF | REFERENCE | Optional | 5 |
| Loop QTY | QUANTITY | Optional | 10 |
| QTY | QUANTITY | Mandatory | 1 |
| DTM | DATE/TIME/PERIOD | Optional | 5 |
| Loop APR | ADDITIONAL PRICE INFORMATION | Optional | 25 |
| APR | ADDITIONAL PRICE INFORMATION | Mandatory | 1 |
| DTM | DATE/TIME/PERIOD | Optional | 5 |
| RNG | RANGE DETAILS | Optional | 1 |
| Loop ALC | ALLOWANCE OR CHARGE | Optional | 99 |
| ALC | ALLOWANCE OR CHARGE | Mandatory | 1 |
| ALI | ADDITIONAL INFORMATION | Optional | 5 |
| DTM | DATE/TIME/PERIOD | Optional | 5 |
| Loop QTY | QUANTITY | Optional | 1 |
| QTY | QUANTITY | Mandatory | 1 |
| RNG | RANGE DETAILS | Optional | 1 |
| Loop PCD | PERCENTAGE DETAILS | Optional | 1 |
| PCD | PERCENTAGE DETAILS | Mandatory | 1 |
| RNG | RANGE DETAILS | Optional | 1 |
| Loop MOA | MONETARY AMOUNT | Optional | 2 |
| MOA | MONETARY AMOUNT | Mandatory | 1 |
| RNG | RANGE DETAILS | Optional | 1 |
| Loop RTE | RATE DETAILS | Optional | 1 |
| RTE | RATE DETAILS | Mandatory | 1 |
| RNG | RANGE DETAILS | Optional | 1 |
| Loop TAX | DUTY/TAX/FEE DETAILS | Optional | 5 |
| TAX | DUTY/TAX/FEE DETAILS | Mandatory | 1 |
| MOA | MONETARY AMOUNT | Optional | 1 |
| Loop RCS | REQUIREMENTS AND CONDITIONS | Optional | 999 |
| RCS | REQUIREMENTS AND CONDITIONS | Mandatory | 1 |
| RFF | REFERENCE | Optional | 5 |
| DTM | DATE/TIME/PERIOD | Optional | 5 |
| FTX | FREE TEXT | Optional | 99999 |
| Loop DGS | DANGEROUS GOODS | Optional | 999 |
| DGS | DANGEROUS GOODS | Mandatory | 1 |
| FTX | FREE TEXT | Optional | 5 |
| Loop CTA | CONTACT INFORMATION | Optional | 99 |
| CTA | CONTACT INFORMATION | Mandatory | 1 |
| COM | COMMUNICATION CONTACT | Optional | 5 |
| Loop LIN | LINE ITEM | Optional | 200000 |
| LIN | LINE ITEM | Mandatory | 1 |
| PIA | ADDITIONAL PRODUCT ID | Optional | 25 |
| IMD | ITEM DESCRIPTION | Optional | 99 |
| MEA | MEASUREMENTS | Optional | 99 |
| QTY | QUANTITY | Optional | 99 |
| PCD | PERCENTAGE DETAILS | Optional | 5 |
| ALI | ADDITIONAL INFORMATION | Optional | 5 |
| DTM | DATE/TIME/PERIOD | Optional | 35 |
| MOA | MONETARY AMOUNT | Optional | 10 |
| GIN | GOODS IDENTITY NUMBER | Optional | 1000 |
| GIR | RELATED IDENTIFICATION NUMBERS | Optional | 1000 |
| QVR | QUANTITY VARIANCES | Optional | 1 |
| DOC | DOCUMENT/MESSAGE DETAILS | Optional | 99 |
| PAI | PAYMENT INSTRUCTIONS | Optional | 1 |
| FTX | FREE TEXT | Optional | 99 |
| Loop CCI | CHARACTERISTIC/CLASS ID | Optional | 999 |
| CCI | CHARACTERISTIC/CLASS ID | Mandatory | 1 |
| CAV | CHARACTERISTIC VALUE | Optional | 10 |
| MEA | MEASUREMENTS | Optional | 10 |
| Loop PAT | PAYMENT TERMS BASIS | Optional | 10 |
| PAT | PAYMENT TERMS BASIS | Mandatory | 1 |
| DTM | DATE/TIME/PERIOD | Optional | 5 |
| PCD | PERCENTAGE DETAILS | Optional | 1 |
| Loop MOA | MONETARY AMOUNT | Optional | 9999 |
| MOA | MONETARY AMOUNT | Mandatory | 1 |
| GIR | RELATED IDENTIFICATION NUMBERS | Optional | 9 |
| Loop PRI | PRICE DETAILS | Optional | 25 |
| PRI | PRICE DETAILS | Mandatory | 1 |
| CUX | CURRENCIES | Optional | 1 |
| APR | ADDITIONAL PRICE INFORMATION | Optional | 1 |
| RNG | RANGE DETAILS | Optional | 1 |
| DTM | DATE/TIME/PERIOD | Optional | 5 |
| Loop RFF | REFERENCE | Optional | 9999 |
| RFF | REFERENCE | Mandatory | 1 |
| DTM | DATE/TIME/PERIOD | Optional | 5 |
| Loop PAC | PACKAGE | Optional | 99 |
| PAC | PACKAGE | Mandatory | 1 |
| MEA | MEASUREMENTS | Optional | 5 |
| QTY | QUANTITY | Optional | 5 |
| DTM | DATE/TIME/PERIOD | Optional | 5 |
| Loop RFF | REFERENCE | Optional | 1 |
| RFF | REFERENCE | Mandatory | 1 |
| DTM | DATE/TIME/PERIOD | Optional | 5 |
| Loop PCI | PACKAGE IDENTIFICATION | Optional | 5 |
| PCI | PACKAGE IDENTIFICATION | Mandatory | 1 |
| RFF | REFERENCE | Optional | 1 |
| DTM | DATE/TIME/PERIOD | Optional | 5 |
| GIN | GOODS IDENTITY NUMBER | Optional | 10 |
| Loop LOC | PLACE/LOCATION IDENTIFICATION | Optional | 9999 |
| LOC | PLACE/LOCATION IDENTIFICATION | Mandatory | 1 |
| QTY | QUANTITY | Optional | 1 |
| PCD | PERCENTAGE DETAILS | Optional | 1 |
| DTM | DATE/TIME/PERIOD | Optional | 5 |
| Loop TAX | DUTY/TAX/FEE DETAILS | Optional | 10 |
| TAX | DUTY/TAX/FEE DETAILS | Mandatory | 1 |
| MOA | MONETARY AMOUNT | Optional | 1 |
| LOC | PLACE/LOCATION IDENTIFICATION | Optional | 5 |
| Loop NAD | NAME AND ADDRESS | Optional | 999 |
| NAD | NAME AND ADDRESS | Mandatory | 1 |
| LOC | PLACE/LOCATION IDENTIFICATION | Optional | 5 |
| Loop RFF | REFERENCE | Optional | 99 |
| RFF | REFERENCE | Mandatory | 1 |
| DTM | DATE/TIME/PERIOD | Optional | 5 |
| Loop DOC | DOCUMENT/MESSAGE DETAILS | Optional | 5 |
| DOC | DOCUMENT/MESSAGE DETAILS | Mandatory | 1 |
| DTM | DATE/TIME/PERIOD | Optional | 5 |
| Loop CTA | CONTACT INFORMATION | Optional | 5 |
| CTA | CONTACT INFORMATION | Mandatory | 1 |
| COM | COMMUNICATION CONTACT | Optional | 5 |
| Loop ALC | ALLOWANCE OR CHARGE | Optional | 99 |
| ALC | ALLOWANCE OR CHARGE | Mandatory | 1 |
| ALI | ADDITIONAL INFORMATION | Optional | 5 |
| DTM | DATE/TIME/PERIOD | Optional | 5 |
| Loop QTY | QUANTITY | Optional | 1 |
| QTY | QUANTITY | Mandatory | 1 |
| RNG | RANGE DETAILS | Optional | 1 |
| Loop PCD | PERCENTAGE DETAILS | Optional | 1 |
| PCD | PERCENTAGE DETAILS | Mandatory | 1 |
| RNG | RANGE DETAILS | Optional | 1 |
| Loop MOA | MONETARY AMOUNT | Optional | 2 |
| MOA | MONETARY AMOUNT | Mandatory | 1 |
| RNG | RANGE DETAILS | Optional | 1 |
| Loop RTE | RATE DETAILS | Optional | 1 |
| RTE | RATE DETAILS | Mandatory | 1 |
| RNG | RANGE DETAILS | Optional | 1 |
| Loop TAX | DUTY/TAX/FEE DETAILS | Optional | 5 |
| TAX | DUTY/TAX/FEE DETAILS | Mandatory | 1 |
| MOA | MONETARY AMOUNT | Optional | 1 |
| Loop TDT | DETAILS OF TRANSPORT | Optional | 10 |
| TDT | DETAILS OF TRANSPORT | Mandatory | 1 |
| Loop LOC | PLACE/LOCATION IDENTIFICATION | Optional | 10 |
| LOC | PLACE/LOCATION IDENTIFICATION | Mandatory | 1 |
| DTM | DATE/TIME/PERIOD | Optional | 5 |
| Loop TOD | TERMS OF DELIVERY OR TRANSPORT | Optional | 5 |
| TOD | TERMS OF DELIVERY OR TRANSPORT | Mandatory | 1 |
| LOC | PLACE/LOCATION IDENTIFICATION | Optional | 2 |
| Loop EQD | EQUIPMENT DETAILS | Optional | 10 |
| EQD | EQUIPMENT DETAILS | Mandatory | 1 |
| HAN | HANDLING INSTRUCTIONS | Optional | 5 |
| MEA | MEASUREMENTS | Optional | 5 |
| FTX | FREE TEXT | Optional | 5 |
| Loop SCC | SCHEDULING CONDITIONS | Optional | 100 |
| SCC | SCHEDULING CONDITIONS | Mandatory | 1 |
| FTX | FREE TEXT | Optional | 5 |
| RFF | REFERENCE | Optional | 5 |
| Loop QTY | QUANTITY | Optional | 10 |
| QTY | QUANTITY | Mandatory | 1 |
| DTM | DATE/TIME/PERIOD | Optional | 5 |
| Loop RCS | REQUIREMENTS AND CONDITIONS | Optional | 999 |
| RCS | REQUIREMENTS AND CONDITIONS | Mandatory | 1 |
| RFF | REFERENCE | Optional | 5 |
| DTM | DATE/TIME/PERIOD | Optional | 5 |
| FTX | FREE TEXT | Optional | 99999 |
| Loop STG | STAGES | Optional | 10 |
| STG | STAGES | Mandatory | 1 |
| Loop QTY | QUANTITY | Optional | 3 |
| QTY | QUANTITY | Mandatory | 1 |
| MOA | MONETARY AMOUNT | Optional | 1 |
| Loop DGS | DANGEROUS GOODS | Optional | 999 |
| DGS | DANGEROUS GOODS | Mandatory | 1 |
| FTX | FREE TEXT | Optional | 5 |
| Loop CTA | CONTACT INFORMATION | Optional | 99 |
| CTA | CONTACT INFORMATION | Mandatory | 1 |
| COM | COMMUNICATION CONTACT | Optional | 5 |
| UNS | SECTION CONTROL | Mandatory | 1 |
| MOA | MONETARY AMOUNT | Optional | 12 |
| CNT | CONTROL TOTAL | Optional | 10 |
| Loop ALC | ALLOWANCE OR CHARGE | Optional | 10 |
| ALC | ALLOWANCE OR CHARGE | Mandatory | 1 |
| ALI | ADDITIONAL INFORMATION | Optional | 1 |
| MOA | MONETARY AMOUNT | Mandatory | 2 |
| UNT | Message Trailer | Optional | 1 |