What an EDI 810 is
The 810 is the X12 invoice. X12 describes it as the transaction set for billing goods and services. The supplier sends it when the goods or services are delivered, or at another time the two companies agreed. The buyer's accounts payable team matches it against the purchase order and the receipt before paying.
The 810 segment by segment
This table follows the example in the viewer above, the invoice for the shipment on the 856 page:
| Segment | What it carries | In the example |
|---|---|---|
| ISA | The interchange header: sender and receiver IDs, date and time, the control number, and the delimiters | ISA*00* *00* *ZZ*QUILLFIELD *ZZ*FERROVA... |
| GS | The functional group header: the group code, the version, and the group control number | GS*IN*QUILLFIELD*FERROVALE*20261014*1640*554*X*004010~ |
| ST | The start of one transaction set, with its number and control number | ST*810*0001~ |
| BIG | The invoice: invoice date and number, purchase order date and number | BIG*20261014*INV-260418*20261005*4500012345~ |
| CUR | The currency of the amounts | CUR*SE*USD~ |
| REF | A reference number, such as BM for the bill of lading | REF*BM*QF-BOL-88213~ |
| N1, N3, N4 | The parties, such as remit-to and ship-to, with addresses | N1*RI*Quillfield Enclosures Inc.*92*V-20417~ and 1 more |
| ITD | Payment terms: discount percent and days, net days | ITD*01*3*2**10**30~ |
| DTM | A date, such as 011 for shipped | DTM*011*20261014~ |
| IT1 | One invoice line: quantity, unit, unit price, and product IDs | IT1*1*12*EA*412.50**BP*FIS-71402*VP*QE-1614-8-SS~ and 3 more |
| PID | The description of the line above it | PID*F****Stainless steel wall-mount enclosure, NEMA 4X, 16 x ... and 3 more |
| TDS | The invoice total in cents, with two implied decimals | TDS*913600~ |
| SAC | An allowance or a charge, such as D240 for freight | SAC*C*D240***18500**********Freight~ |
| ISS | The number of units shipped | ISS*86*EA~ |
| CTT | The number of lines and a hash total of the quantities | CTT*4*86~ |
| SE | The end of the set: the number of segments from ST to SE, and ST's control number | SE*23*0001~ |
| GE and IEA | The ends of the group and the interchange, each with its count and control number | GE*1*554~ |
How the TDS total works
TDS01 is the invoice total, and it is written with two implied decimal places and no decimal point: 913600 means 9,136.00. 3M's 810 guide defines it as the total including charges and less allowances, before any terms discount. The US Department of Veterans Affairs guide spells out the implied decimals. SAC05, the amount of an allowance or charge, is written the same way.
The viewer reads TDS01 in cents, adds up the lines, allowances, charges, and taxes, and says when the two disagree.
The example explained
BIG*20261014*INV-260418*20261005*4500012345~ is invoice INV-260418, dated October 14, 2026, for purchase order 4500012345 of October 5, 2026. It bills what the 856 shipped, so line 2 carries 12 of the 20 ordered:
| Line | Quantity | Unit price | Amount |
|---|---|---|---|
| 1 | 12 | 412.50 | 4,950.00 |
| 2 | 12 | 268.00 | 3,216.00 |
| 3 | 12 | 38.75 | 465.00 |
| 4 | 50 | 6.40 | 320.00 |
| Freight (SAC D240) | 185.00 | ||
| Total, TDS01 | 9,136.00 |
The lines come to 8,951.00. SAC*C*D240***18500... adds a 185.00 freight charge, coded D240, so TDS*913600~ carries 9,136.00. ITD repeats the terms of the order, and CTT counts 4 lines and 86 units.
Get paid on orders that never needed retyping
ThriveAI's order desk reads purchase orders that arrive by email and matches each line to your items and that customer's prices. It drafts the ERP order for a person to approve. Derik will tell you what a four-week build would cover.
See order desk automationAllowances, charges, and taxes
SAC carries an allowance or a charge, on the whole invoice or on one line. In 3M's 810 guide, SAC01 is A for an allowance or C for a charge, and SAC05 is the amount, in cents like TDS01. SAC02 names the reason, such as D240 for freight, and SAC15 can describe it in words. TXI carries a tax amount when the invoice includes tax. The viewer adds charges and taxes to the lines, and takes allowances away, before it compares the result with TDS01.
Buyers differ here: Ariba's sample repeats line taxes as an invoice total after TDS, and Wakefern rejects a repeated charge. The viewer accepts a TDS01 that matches either way of counting.
How an 810 meets the buyer's purchase order
The buyer's system matches each invoice line to the purchase order and to what was received, and pays when the three agree. SAP Ariba, for example, raises an exception when the invoiced quantity is above the received quantity, and the exception has to be cleared before payment. Ariba's 810 guide also asks that the purchase order date in BIG03, when sent, match the order.
Invoice the quantities the 856 shipped. In the example, line 2 bills the 12 that shipped, and the 8 on backorder go on a later invoice when they ship. The guide to AI invoice processing covers the same match on the receiving side, for invoices that arrive as PDFs.
Common reasons an 810 is rejected
Kroger's invoicing standards name out-of-balance invoices as the top reason its auto pay system rejects invoices. The rest of the list comes from the same kind of public guides:
- Out of balance. TDS01 does not equal the lines plus charges, less allowances. The viewer runs this check.
- No purchase order number. Kroger's error codes treat a missing PO number as fatal.
- Zero quantity or zero cost on a line, which Kroger's standards say causes a rejection.
- A charge listed twice. Wakefern's guide rejects a line-level SAC repeated at the summary level.
- More billed than received. Invoice the quantities the 856 shipped, not the quantities ordered.
Where the 810 sits in order to cash
The 810 follows the 856 ship notice, and the buyer's 820 payment closes the cycle, with a 997 after each document. The guide to the quote to cash process starts the chain at the quote, and the order to cash guide starts it at the order.
Where AI helps
An 810 bills the order the supplier holds, so a mistake keyed into that order reaches the invoice. When customers email their purchase orders instead of sending EDI, ThriveAI's order desk reads each one. It matches the lines to your items and that customer's prices, and drafts the ERP order for a person to approve. The invoice then starts from an order that was checked line by line.