Free tool · EDI viewer
EDI 810 invoice explained
The 810 is the invoice in ANSI X12. It bills the goods of a purchase order and refers to it by PO number. Below is a complete 810 with every segment explained, a table of the common segments, and the EDIFACT INVOIC message that does the same job.
810 · Invoice
From BRIGHTLINE to HARBORIND · 2026-11-11 09:00
- Messages
- 1
- Line items
- 3
- Segments
- 27
- Errors / Warnings
- 0 / 0
All checks passed: control numbers match and the segment counts are right.
Annotated sample
An EDI 810, line by line
This 810 bills the order from the 850 page: two lines in full, one line in part, plus freight. Amounts in TDS and SAC have two implied decimals, so 126490 means 1,264.90.
| X12 810 | What it says |
|---|---|
| Envelope | |
ISA*00* *00* *ZZ*BRIGHTLINE *ZZ*HARBORIND *261111*0900*U*00401*000000401*0*T*>~ | Interchange header, this time from the supplier BRIGHTLINE to the buyer HARBORIND: 11 Nov 2026 at 09:00, control number 000000401, test data. |
GS*IN*BRIGHTLINE*HARBORIND*20261111*0900*401*X*004010~ | Functional group. IN = invoices; group control number 401. |
ST*810*0001~ | Start of transaction set 810. |
| Invoice header | |
BIG*20261111*INV-90311*20261103*4500012345~ | Invoice header: invoice date 11 Nov 2026, invoice number INV-90311, then the date and number of the purchase order it bills (4500012345). That PO number ties the invoice to the 850. |
CUR*SE*USD~ | Currency. SE = the seller's currency, US dollars. |
REF*IA*V-20417~ | Reference. IA = the supplier's vendor number at the buyer. |
| Parties | |
N1*RI*Brightline Tools Inc.*92*V-20417~ | Party. RI = remit to, where the payment goes. N3 and N4 give the address. |
N3*400 Example Road~ | Street of the remit-to address. |
N4*Columbus*OH*43215*US~ | City, state, ZIP code and country of the remit-to address. |
N1*BT*Harbor Industrial Supply*92*HIS-001~ | Party. BT = bill-to, who receives and pays the invoice. |
N1*ST*Harbor Industrial Supply DC 2*92*DC02~ | Party. ST = ship-to, where the goods went. |
N3*1200 Example Avenue~ | Street of the ship-to address. |
N4*Springfield*IL*62701*US~ | City, state, ZIP code and country of the ship-to address. |
| Terms and dates | |
ITD*01*3*2**10**30*****2% 10, net 30~ | Payment terms. 01 = basic terms, 3 = counted from the invoice date, 2 % discount within 10 days, net 30 days. The last element repeats this as text. |
DTM*011*20261110~ | Date. 011 = shipped, 10 Nov 2026. |
| Invoice lines | |
IT1*1*120*EA*0.42**VP*BLT-M8-40*BP*100234~ | Invoice line 1: 120 EA at 0.42, with the same vendor (VP) and buyer (BP) part numbers as the order. |
PID*F****Hex bolt M8 x 40 mm, zinc plated~ | Description of line 1. |
IT1*2*30*BX*11.85**VP*GLV-NIT-L*BP*100871~ | Line 2: 30 BX at 11.85. The order asked for 40; the other 10 are backordered (see the 855). |
PID*F****Nitrile gloves, size L, box of 100~ | Description of line 2. |
IT1*3*6*EA*139.00**VP*DRL-18V-K*BP*104552~ | Line 3: 6 EA at 139.00. |
PID*F****Cordless drill 18 V, kit with 2 batteries~ | Description of line 3. |
| Totals and envelope end | |
TDS*126490~ | Invoice total with two implied decimals: 126490 = 1,264.90. That is the lines (50.40 + 355.50 + 834.00 = 1,239.90) plus 25.00 freight. |
SAC*C*D240***2500**********Freight~ | Charge. C = charge (A would be an allowance), D240 = freight, 2500 = 25.00, again with implied decimals. |
CTT*3*156~ | Totals. 3 lines; the quantities add up to 156 (120 + 30 + 6). |
SE*23*0001~ | End of the transaction set: 23 segments, control number 0001. |
GE*1*401~ | End of the group: 1 invoice, control number 401. |
IEA*1*000000401~ | End of the interchange: 1 group, control number 000000401. |
Segment reference
Segments of the 810
Which segments an 810 needs is set by the trading partner's implementation guide. These are the common ones, described in our own words. Rows marked as not in the sample are common but optional.
| Segment | Name | What it holds |
|---|---|---|
| ISA / IEA | Interchange envelope | Sender and receiver IDs, date and time, version, control number, a test or production flag, and the separators. |
| GS / GE | Functional group | Groups messages of one kind (IN here) with application codes and a group control number. |
| ST / SE | Transaction set | Start and end of one invoice. SE counts the segments in between. |
| BIG | Invoice header | Invoice date and number, PO date and PO number, and optionally the invoice type. |
| CUR | Currency | Currency code and whose currency it is. |
| REF | Reference | Extra numbers such as the vendor number, a bill of lading or a contract. |
| N1, N3, N4 | Party loop | Remit-to, bill-to, ship-to or seller, each with ID, name and address. |
| ITD | Payment terms | Discount percentage and days, net days or a due date. |
| DTM | Date | Ship date or other dates. A qualifier says which. |
| IT1 | Invoice line | Line number, invoiced quantity, unit, unit price and pairs of item number type and value. |
| PID | Item description | Description of the line as free text or as a code. |
| TXI | Tax not in the sample | Tax type with amount or rate, for example sales tax. |
| TDS | Invoice total | Total amount with two implied decimals, optionally further amounts such as the amount subject to discount. |
| SAC | Charges and allowances | Freight, handling or discounts with a code and an amount (implied decimals). |
| CTT | Totals | Number of lines and, optionally, the sum of the quantities. |
EDIFACT counterpart
The EDIFACT counterpart: INVOIC
In EDIFACT the invoice is the INVOIC message. Amounts are written with a decimal point in MOA segments with a qualifier, and VAT is part of every line through TAX. The sample is a German invoice with 19 % VAT.
| X12 810 | EDIFACT INVOIC | What it carries |
|---|---|---|
| ISA, GS | UNA, UNB | Envelope: separators, sender, receiver, date and interchange reference. A group level (UNG) is rare in EDIFACT. |
| ST / SE | UNH / UNT | Start and end of the message. UNT counts the segments. |
| BIG | BGM, DTM, RFF | BGM 380 = commercial invoice with the invoice number, DTM 137 the invoice date, RFF ON the order number. |
| DTM | DTM | Other dates, for example 35 = delivery date. |
| REF | RFF | References such as the delivery note (DQ) or the VAT number (VA). |
| CUR | CUX | Currency. |
| N1, N3, N4 | NAD | Parties: SU = supplier, BY = buyer, IV = invoicee. |
| ITD | PAT | Payment terms, here 30 days after the invoice date. |
| IT1 | LIN, PIA, QTY, PRI, MOA | LIN with the GTIN, PIA for other item numbers, QTY 47 the invoiced quantity, PRI the price, MOA 203 the line amount. |
| PID | IMD | Item description. |
| TXI | TAX, MOA | Tax rate per line and in the summary; MOA 124 holds the tax amount. |
| SAC | ALC, MOA | Charges and allowances with their amounts. |
| TDS | MOA | After UNS: MOA 79 = total of the lines, 125 = taxable amount, 176 = tax, 77 = invoice amount. |
| CTT | UNS, CNT | UNS separates the lines from the summary; CNT 2 counts the lines. |
| GE, IEA | UNZ | End of the interchange with the number of messages and the reference from UNB. |
EDIFACT INVOIC sample
UNA:+.? '
UNB+UNOC:3+4012345000016:14+4012345000009:14+261111:0900+INV0001'
UNH+1+INVOIC:D:96A:UN:EAN008'
BGM+380+RE-2026-4471+9'
DTM+137:20261111:102'
DTM+35:20261110:102'
RFF+ON:PO-88231'
RFF+DQ:LS-60231'
NAD+SU+4012345000016::9++Weber Fluidtechnik GmbH+Am Hafen 3+Beispielhausen++54321+DE'
RFF+VA:DE999999999'
NAD+BY+4012345000009::9++Kessler Antriebstechnik GmbH+Industriestrasse 14+Musterstadt++12345+DE'
NAD+IV+4012345000009::9++Kessler Antriebstechnik GmbH Buchhaltung+Industriestrasse 14+Musterstadt++12345+DE'
CUX+2:EUR:4'
PAT+1++5:3:D:30'
LIN+1++4012345111118:EN'
PIA+5+HS-12-2000:SA'
IMD+F++:::Hydraulic hose DN 12, 2000 mm'
QTY+47:25:PCE'
MOA+203:460.00'
PRI+AAA:18.40:CA::1:PCE'
TAX+7+VAT+++:::19+S'
LIN+2++4012345222227:EN'
PIA+5+OR-SET-NBR:SA'
IMD+F++:::O-ring set NBR, 382 pieces'
QTY+47:2:SET'
MOA+203:93.80'
PRI+AAA:46.90:CA::1:SET'
TAX+7+VAT+++:::19+S'
UNS+S'
CNT+2:2'
MOA+77:659.02'
MOA+79:553.80'
MOA+125:553.80'
MOA+176:105.22'
TAX+7+VAT+++:::19+S'
MOA+124:105.22'
UNT+35+1'
UNZ+1+INV0001'Choose “EDIFACT INVOIC” in the viewer's sample menu above to read this message as a table.
Orders by email and PDF
Not every customer can send EDI.
EDI works for the large accounts that have set it up. Most other customers still send purchase orders by email, as a PDF or as a spreadsheet, and someone types them into the ERP. Mercura reads those orders and creates the sales order in your ERP, so they are processed like the orders that come in over EDI.
FAQ
Questions about EDI files.
An EDI 810 is an invoice in the ANSI X12 standard. It carries the invoice number and date, the PO number it bills, the parties, one IT1 segment per invoice line and the total amount in TDS.
TDS amounts have two implied decimal places: the last two digits are cents and the decimal point is left out. 126490 is 1,264.90. SAC amounts work the same way.
BIG04 holds the PO number, and the IT1 lines repeat the buyer's and the vendor's item numbers, so the buyer can match the invoice to the 850 and to the goods received (the three-way match).
INVOIC. The invoice number is in BGM, the dates in DTM, the order number in RFF ON, and the amounts in MOA segments, for example MOA 77 for the invoice amount.
Paste it into the viewer on this page or open the file. You see the invoice lines, the charges and the total, and the viewer checks that the lines, charges and tax add up to the TDS amount. Nothing is uploaded.
Many customers order by email or as a PDF instead of sending an 850. Mercura reads those orders and creates the sales order in your ERP, next to the orders that come in over EDI.
EDI transactions