X12 810 Invoice EDI Template Generator
An X12 810 is the electronic invoice that closes the order-to-cash loop for suppliers selling to retailers, OEMs and distributors. This generator builds a clean 004010 skeleton with the ISA/GS envelope, header, line and summary segments so you can test a map or send a sample to a partner.
Fill in
X12 810 Invoice (version 004010)
ISA*00* *00* *ZZ*NETRAYMFG *ZZ*ACMERETAIL *261020*0915*U*00401*000000417*0*P*>~ GS*IN*NETRAYMFG*ACMERETAIL*20261020*0915*417*X*004010~ ST*810*0001~ BIG*20261020*INV-2026-10482*20261003*4500219876~ N1*ST*ACME RETAIL DC 12*92*DC0012~ ITD*01*3*****30~ DTM*011*20261020~ IT1*1*240*EA*12.50**BP*BRK-1001~ TDS*300000~ CTT*1~ SE*9*0001~ GE*1*417~ IEA*1*000000417~
Segment count in SE01 is 9 for this skeleton (ST through SE inclusive). If you add IT1 lines, N1 loops, TXI or SAC segments, recount and update SE01 and CTT01. TDS01 is the total in cents with an implied two decimals (300000 = 3,000.00). Your trading partner's implementation guide overrides this skeleton for qualifiers, required segments and version.
Automate invoice EDI from your ERP
Optional: we can review your billing data and show how 810 generation and testing could be automated.
Optional. The tool and every export work without this. No spam.
How to use the generator
Fill the envelope fields first: the ISA sender and receiver IDs must be exactly 15 characters, padded with spaces, and the interchange control number must be nine digits. Then enter the invoice number, the customer PO, ship-to details, terms, one line item and the invoice total in cents. The output updates as you type; copy it into a .edi file or your mapping tool. For multiple lines, repeat the IT1 segment and increment the line number, then recount segments.
- ISA is fixed width: 106 characters including the terminator
- Control numbers in ISA13/IEA02 and GS06/GE02 must match
- Use one invoice per ST/SE transaction set
- Send test invoices with ISA15 set to T, not P
What each segment does
BIG carries the invoice date, invoice number, PO date and PO number. N1 loops identify parties: ST for ship-to, BT for bill-to, RE for remit-to. ITD holds payment terms: ITD01 is the terms type, ITD02 the basis date code (3 is invoice date), ITD03 and ITD05 hold discount percent and days, and ITD07 holds net days. IT1 is the baseline line item with quantity, unit of measure, unit price and product qualifiers such as BP for buyer part number or VP for vendor part. TDS is the invoice total and CTT the line count.
Common mistakes and ERP notes
The most frequent rejections are a wrong SE01 count, a total in TDS that does not equal the sum of lines plus taxes and charges, and a PO number that does not match the buyer's records, which causes a three-way match failure in their AP system. Decimal handling trips up map developers: TDS is implied-decimal while IT104 uses an explicit decimal. In SAP the 810 usually originates from billing output via the INVOIC IDoc; in Oracle EBS it comes from the e-Commerce Gateway or B2B; in Infor SyteLine and Epicor it comes from the EDI module or an integration layer.
Frequently Asked Questions
What is the difference between an 810 and an EDIFACT INVOIC?
Both are electronic invoices. The 810 is the ANSI X12 transaction set used mainly in North America, while INVOIC is the UN/EDIFACT message used in Europe and many global supply chains. They carry the same business content but use different syntax, segments and code lists.
Should I send the 810 before or after the ASN?
Most partners expect the 856 ASN when goods ship and the 810 invoice at or after shipment, depending on terms and their implementation guide. Some retailers match the invoice to the ASN and the PO, so mismatched quantities cause chargebacks. Always follow the partner's guide.
Why is TDS in cents?
TDS01 is defined as a numeric field with two implied decimal places, so 3000.00 is sent as 300000. Sending a decimal point there is a common error that makes the partner's parser reject or misread the total.
Does this tool validate against a partner guide?
No. It produces a structurally correct skeleton using common qualifiers. Required segments, qualifiers and code values vary by trading partner, so test with the partner and use their implementation guide as the final authority.
If your 810 maps are hand maintained and every new partner means a new spreadsheet, we can help automate the mapping and testing against your ERP data.
Related Tools
X12 855 Purchase Order Acknowledgment Generator
Generate an 855 PO acknowledgment skeleton that accepts, changes or rejects a line, with matching envelope and control numbers.
Supply Chain & InventoryEDI Transaction Set Reference (850, 855, 856, 810, 997, 940, 945)
A searchable lookup of common X12 transaction sets with GS01 functional codes, typical direction and the segments that carry the business data.
Supply Chain & InventoryEDI X12 Field Mapping Specification Worksheet
Document each X12 segment and element, its ERP source or target field, rule and requirement, then export the spec to Excel.
Supply Chain & InventoryEDI 997 Functional Acknowledgment Reject Log Worksheet
Log every rejected or partially accepted 997 with the AK3/AK4 error, root cause, owner and resend status, and export it to Excel.
More Supply Chain & Inventory tools
See all- Oracle Fusion Inventory Turns and Carrying Cost Calculator
- Distribution ERP Fill Rate Calculator
- Distributor Rebate Tracking Worksheet
- Branch Transfer Planning Worksheet
- Distributor Slow-Moving Inventory Review Worksheet
- Distributor Vendor Performance Scorecard Worksheet
- Distributor GMROI Calculator
- Distributor Backorder Cost and Fill Rate Calculator
- EOQ with Vendor Minimum Order Calculator