EDI 810 — Invoice
Supplier → Flxpoint · Invoice for shipped orders
EDI 810 — Invoice
Purpose
Inform the Retailer of the cost the retailer must pay the supplier for a given order. Originates with the Supplier, sent to FLX, then Retailer gets it.
In Plain English
The 810 is the bill. Once the supplier has shipped an order (confirmed via 856), they send an invoice telling the retailer how much is owed for which items. Flxpoint uses the 810 to reconcile the cost side of the order — matching it against the 850 line prices and the 856 shipment — and then passes it to the retailer's finance or accounting system. Because the 810 drives payment, every element has to be precise: the invoice total must equal the sum of line items plus freight minus allowances, the decimals must follow Flxpoint's implied-decimal convention (TDS and SAC amounts are cents), and the REF*DP department code is mandatory. An 810 that fails validation blocks the payment cycle for that order until the supplier fixes and resends it — which is why the FLX team tracks 810 rejections closely.
Frequency
Within 24 hours of shipment. Hourly recommended, daily minimum.
Business Rules
- Invoice data only accepted for items that have been shipped (856 must come first)
- Must include PO number and UPC/EAN/SKU matching the original 850
- Retailer determines if invoices are for cost of goods only or include shipping/handling
- If supplier ships on retailer's shipping account → no shipping/handling charges in invoice
- Payment terms are between Retailer and Supplier — FLX does not set them
- Invoice date must be current or within 17 months (not future, not too old)
- TDS uses implied decimals: $12.00 →
1200 - IT1 unit price does NOT use implied decimals: $15.95 →
15.95
Segment Hierarchy
ISA Interchange Header GS Group Header (GS01 = "IN") ST Transaction Set Header (ST01 = "810") BIG Beginning Segment for Invoice REF Reference Number - Department (DP, fixed "0000") REF Reference Number - Internal Vendor (IA) — Optional REF Reference Number - Invoice Number (IV) — Optional ITD Terms of Sale DTM Date/Time Reference (011 = Shipped) ┌─ IT1 Loop (repeats per line item) │ IT1 Baseline Item Data │ CTP Pricing Information (optional) │ SAC Service/Charge per item (optional) └─ TDS Total Monetary Value Summary CAD Carrier Detail (optional) ┌─ SAC Loop (summary level) │ SAC Service, Promotion, Allowance, or Charge └─ ┌─ ISS Loop (optional) │ ISS Invoice Shipment Summary └─ CTT Transaction Set Totals SE Transaction Set Trailer GE Group Trailer IEA Interchange Trailer
Segment Overview
| Segment | Name | FLX Status | Notes |
|---|---|---|---|
| ST | Transaction Set Header | Required | ST01 = 810 |
| BIG | Beginning Segment for Invoice | Required | Invoice date, invoice #, PO # |
| REF (DP) | Department Number | Required | Fixed value 0000 |
| REF (IA) | Internal Vendor # | Situational | FLX-assigned vendor number |
| REF (IV) | Invoice Number | Situational | Vendor's invoice reference |
| ITD | Terms of Sale | Situational | Payment terms |
| DTM | Date/Time Reference | Situational | 011 = Ship date |
| IT1 | Line Item Loop | Required | Repeats per invoiced item |
| CTP | Pricing Information (per item) | Not Used | Generic X12 allows; FLX ignores per-item CTP |
| SAC (detail) | Charge per Line Item | Not Used | Generic X12 allows; FLX ignores detail-level SAC |
| TDS | Total Monetary Value | Required | Implied decimals: $12.00 → 1200 |
| CAD | Carrier Detail | Situational | Service level + SCAC + tracking |
| SAC (summary) | Charges/Allowances | Situational | SAC02 whitelist: G821 (Shipping — primary), C310 (Freight), D240 (Freight Assistance), F050 (Other/Misc). Codes outside this list produce warnings. Source: parser rules |
| ISS | Invoice Shipment Summary | Situational | Unit count + weight |
| CTT | Transaction Totals | Required | Count of IT1 segments |
| SE | Transaction Set Trailer | Required |
Segment Specifications
ST - Transaction Set Header
| Element | Name | Length | M/O | Value/Notes |
|---|---|---|---|---|
| ST01 | Transaction Set ID Code | 3 ID | Required | 810 |
| ST02 | Transaction Set Control Number | 9 N | Required | Unique, incremented by 1 |
BIG - Beginning Segment for Invoice
| Element | Name | Length | M/O | Value/Notes |
|---|---|---|---|---|
| BIG01 | Invoice Date | 8 DT | Required | CCYYMMDD. No future dates. No dates >17 months old |
| BIG02 | Invoice Number | 10 AN | Required | Assigned by sender |
| BIG03 | PO Date | 8 DT | Optional | PO Date |
| BIG04 | PO Number | 22 AN | Required | REQUIRED — PO Number from 850 |
REF - Department Number
| Element | Name | Length | M/O | Value/Notes |
|---|---|---|---|---|
| REF01 | Reference Number Qualifier | 2 ID | Required | DP (Department Number) |
| REF02 | Reference Number | 10 AN | Required | 0000 (fixed value) |
REF - Internal Vendor Number (Optional)
| Element | Name | Length | M/O | Value/Notes |
|---|---|---|---|---|
| REF01 | Reference Number Qualifier | 2 ID | Optional | IA (Internal Vendor Number) |
| REF02 | Reference Number | 10 AN | Optional | FLX Assigned Vendor/Supplier # |
REF - Invoice Number (Optional)
| Element | Name | Length | M/O | Value/Notes |
|---|---|---|---|---|
| REF01 | Reference Number Qualifier | 2 ID | Optional | IV (Seller's Invoice Number) |
| REF02 | Reference Number | 10 AN | Optional | Invoice number |
ITD - Terms of Sale/Deferred Terms of Sale
| Element | Name | Length | M/O | Value/Notes |
|---|---|---|---|---|
| ITD01 | Terms Type Code | 2 ID | Required | 01=Basic, 02=EOM, 05=Discount N/A, 08=Basic Discount Offered, 12=10 Days After EOM |
| ITD02 | Terms Basis Date Code | 1 ID | Required | 3 (Invoice Date) |
| ITD03 | Terms Discount Percent | 6 R | Optional | % discount if paid early |
| ITD04 | Terms Discount Due Date | 8 DT | C | Date to qualify for discount. Conditional: required if ITD03 or ITD08 present |
| ITD05 | Terms Discount Days Due | 3 N | C | Days from invoice for discounted payment |
| ITD06 | Terms Net Due Date | 8 DT | Required | Date invoice payment is due in full |
| ITD07 | Terms Net Days | 3 N | Required | Number of days until full amount due |
| ITD08 | Terms Discount Amount | 8 R | C | Dollar amount of discount |
| ITD13 | Day of Month | 3 N | C | For EOM codes (02, 12): days after EOM invoice is due |
Conditional Logic:
- If ITD03 (discount %) present → ITD04, ITD05, or ITD13 required
- If ITD08 (discount $) present → ITD04, ITD05, or ITD13 required
DTM - Date/Time Reference
| Element | Name | Length | M/O | Value/Notes |
|---|---|---|---|---|
| DTM01 | Date/Time Qualifier | 3 ID | Required | 011 (Shipped Date) |
| DTM02 | Date | 8 DT | Required | CCYYMMDD |
IT1 - Baseline Item Data (Repeating Loop)
| Element | Name | Length | M/O | Value/Notes |
|---|---|---|---|---|
| IT101 | Assigned Identifier | 6 AN | Optional | Invoice line number |
| IT102 | Quantity Invoiced | 6 R | Required | Units shipped per line item |
| IT103 | Unit of Measurement Code | 2 ID | Required | EA (Each) |
| IT104 | Unit Price | 8 R | Required | Price per unit. NO implied decimal: $15.95 → 15.95, $29.00 → 29 |
| IT105 | Basis of Unit Price | 2 ID | Required | QT (Quoted/Default), LE (Catalog Price per Each), WE (Wholesale per Each) |
| IT106 | Prod/Serv ID Qualifier | 2 ID | Required | UP (UPC), EN (EAN), SK (SKU), or BP (Buyer's Part Number) |
| IT107 | Prod/Serv ID | 30 AN | Required | MUST match the SKU/UPC/EAN from the 850 |
Not Used by FLX in IT1 Loop:
- CTP (Pricing Information) — Generic X12 supports a
CTPsegment inside the IT1 loop for per-item price breakdowns. FLX does not process this segment — do not include it. - SAC (per line item) — Generic X12 supports allowances and charges at the line-item level. FLX only reads the summary-level SAC segment (outside the IT1 loop) and only for code
G821(outbound freight).
TDS - Total Monetary Value Summary
| Element | Name | Length | M/O | Value/Notes |
|---|---|---|---|---|
| TDS01 | Total Invoice Amount | 10 R | Required | Total of invoice + charges - allowances. Implied decimal: $12.00 → 1200 |
| TDS02 | Amount Subject to Terms Discount | 10 R | Optional | Amount eligible for discount. Implied decimal |
CAD - Carrier Detail (Optional)
| Element | Name | Length | M/O | Value/Notes |
|---|---|---|---|---|
| CAD01 | Transportation Method Type Code | 2 ID | Optional | See 850 TD512 codes (D3, ND, SC, SI, SP) |
| CAD04 | Standard Carrier Alpha Code | 4 AN | Required | If CAD sent, SCAC is required. If not available, don't send CAD |
| CAD07 | Reference Number Qualifier | 2 ID | Optional | BM (Bill of Lading) or CN (Carrier's Reference/PRO) |
| CAD08 | Reference Number | 7-22 AN | C | Required if CAD07 present |
SAC - Service, Promotion, Allowance, or Charge (Shipping) — FLX PDF
| Element | Name | Length | M/O | Value/Notes |
|---|---|---|---|---|
| SAC01 | Allowance or Charge Indicator | 1 ID | Optional | Must be C (Charge) |
| SAC02 | SAC Code | 4 ID | C | Must be G821 (Shipping). Other codes not supported in FLX PDF |
| SAC05 | Amount | 15 N | C | Total shipping charge. Implied decimal: $5.00 → 500 |
SAC — Other Codes in X12 004010 (Not Used by FLX)
| SAC02 Code | Description |
|---|---|
AFEE | Fee |
C310 | Discount |
D240 | Freight |
G740 | Service Charge |
G821 | Shipping |
H750 | Tax - Sales Tax |
Note: FLX only supports G821 for shipping charges. Other SAC codes exist in the X12 standard but FLX does not process them.
FLX only accepts SAC code G821 (Outbound Freight) at summary level. Detail-level SAC (inside the IT1 loop) is ignored. Other X12 examples show codes like D240 (discount) — FLX does not process those.
ISS - Invoice Shipment Summary (Optional)
| Element | Name | Length | M/O | Value/Notes |
|---|---|---|---|---|
| ISS01 | Number of Units Shipped | 6 N | Optional | Total units shipped |
| ISS02 | Unit of Measurement Code | 2 ID | C | EA (Each). Required if ISS01 present |
| ISS03 | Weight | 8 R | Optional | Total weight of shipment |
| ISS04 | Unit of Measurement Code | 2 ID | C | LB (Pound), OZ (Ounce), 50 (Kilograms). Required if ISS03 present |
CTT - Transaction Set Totals
| Element | Name | Length | M/O | Value/Notes |
|---|---|---|---|---|
| CTT01 | Number of Line Items | 6 N | Required | Count of IT1 segments |
SE - Transaction Set Trailer
| Element | Name | Length | M/O | Value/Notes |
|---|---|---|---|---|
| SE01 | Number of Included Segments | 6 N | Required | Including ST and SE |
| SE02 | Transaction Set Control Number | 9 N | Required | Must match ST02 |
Validation Notes
FLX-Specific Requirements vs Generic X12
| Field | FLX Spec | Generic 004010 | Impact |
|---|---|---|---|
| REF*DP | M (always "0000") | Optional | FLX stricter — department number required |
| SAC codes | Whitelist: G821/C310/D240/F050 | Broader X12 list (AFEE, G740, H750, etc.) | FLX processes only codes in the whitelist. G821 remains the primary shipping code. |
| IT1 extra qualifier pairs | Single pair only | Supports multiple qualifier/ID pairs | Generic X12 more permissive |
| CTP segment | Not Used — FLX ignores | Optional (detail level pricing) | Do not include; generic X12 allows but FLX skips |
| SAC at detail level | Not Used — FLX ignores | Optional (per-item charges) | Only summary-level SAC (G821) is processed |
| ISS weight units | LB, OZ, 50 (Kg) | LB, OZ, 50 (Actual Kilograms) | Match |
| IT104 format | NO implied decimal (15.95) | Type R (real number) | Match |
| TDS format | IMPLIED decimal ($12→1200) | Type N2 (2 implied decimals) | Match |
Common Validation Failures
- BIG01 date in future — Rejected
- BIG01 date >17 months old — Rejected
- ITD conditional logic violated — Discount fields without proper pairing
- SAC with unsupported code — May pass generic validation but FLX won't process it
- TDS without implied decimal — Sending 12.00 instead of 1200
Example File
ISA*00* *00* *ZZ*XXXXXX*ZZ*FLXPOINT*120116*0218*U*00401*310000617*0*P*>~GS*IN*XXXXXX*FLXPOINT*20180116*0218*617*X*004010VICS~ST*810*53737~BIG*20180116*123456**75070461~REF*IA*123456~REF*DP*0000~ITD*01*3****20180126*45~DTM*011*20180116~IT1*1*1*EA*14.4*QT*UP*123456789159~TDS*1940~SAC*C*G821***500~ISS*1*CA*4*LB~CTT*1~SE*12*53737~ST*810*53738~BIG*20011109*4857775**75070462~REF*IA*123456~REF*DP*0000~ITD*01*3****20180126*45~DTM*011*20180116~IT1*1*1*EA*27.5*QT*UP*123456789951~IT1*2*1*EA*27.5*QT*UP*123456777777~TDS*6500~SAC*C*G821***500~ISS*1*CA*3*LB~CTT*2~SE*13*53738~GE*2*617~IEA*1*310000617~
Notes:
- Two invoices for the two POs in the 850 example
- Each has $5.00 shipping charge (SACCG821***500)
- First invoice: 1 item @ $14.40, total $19.40 (TDS*1940)
- Second invoice: 2 items @ $27.50 each = $55 + $5 shipping + $5 unrepresented = $65 (TDS*6500)
- The extra $5 cannot currently be represented in an 810 segment
Something unclear?
Ask our AI assistant — it knows this spec and can explain any segment, error, or rule in plain English.