810

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

code
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

SegmentNameFLX StatusNotes
STTransaction Set HeaderRequiredST01 = 810
BIGBeginning Segment for InvoiceRequiredInvoice date, invoice #, PO #
REF (DP)Department NumberRequiredFixed value 0000
REF (IA)Internal Vendor #SituationalFLX-assigned vendor number
REF (IV)Invoice NumberSituationalVendor's invoice reference
ITDTerms of SaleSituationalPayment terms
DTMDate/Time ReferenceSituational011 = Ship date
IT1Line Item LoopRequiredRepeats per invoiced item
CTPPricing Information (per item)Not UsedGeneric X12 allows; FLX ignores per-item CTP
SAC (detail)Charge per Line ItemNot UsedGeneric X12 allows; FLX ignores detail-level SAC
TDSTotal Monetary ValueRequiredImplied decimals: $12.00 → 1200
CADCarrier DetailSituationalService level + SCAC + tracking
SAC (summary)Charges/AllowancesSituationalSAC02 whitelist: G821 (Shipping — primary), C310 (Freight), D240 (Freight Assistance), F050 (Other/Misc). Codes outside this list produce warnings. Source: parser rules
ISSInvoice Shipment SummarySituationalUnit count + weight
CTTTransaction TotalsRequiredCount of IT1 segments
SETransaction Set TrailerRequired

Segment Specifications

ST - Transaction Set Header

ElementNameLengthM/OValue/Notes
ST01Transaction Set ID Code3 IDRequired810
ST02Transaction Set Control Number9 NRequiredUnique, incremented by 1

BIG - Beginning Segment for Invoice

ElementNameLengthM/OValue/Notes
BIG01Invoice Date8 DTRequiredCCYYMMDD. No future dates. No dates >17 months old
BIG02Invoice Number10 ANRequiredAssigned by sender
BIG03PO Date8 DTOptionalPO Date
BIG04PO Number22 ANRequiredREQUIRED — PO Number from 850

REF - Department Number

ElementNameLengthM/OValue/Notes
REF01Reference Number Qualifier2 IDRequiredDP (Department Number)
REF02Reference Number10 ANRequired0000 (fixed value)

REF - Internal Vendor Number (Optional)

ElementNameLengthM/OValue/Notes
REF01Reference Number Qualifier2 IDOptionalIA (Internal Vendor Number)
REF02Reference Number10 ANOptionalFLX Assigned Vendor/Supplier #

REF - Invoice Number (Optional)

ElementNameLengthM/OValue/Notes
REF01Reference Number Qualifier2 IDOptionalIV (Seller's Invoice Number)
REF02Reference Number10 ANOptionalInvoice number

ITD - Terms of Sale/Deferred Terms of Sale

ElementNameLengthM/OValue/Notes
ITD01Terms Type Code2 IDRequired01=Basic, 02=EOM, 05=Discount N/A, 08=Basic Discount Offered, 12=10 Days After EOM
ITD02Terms Basis Date Code1 IDRequired3 (Invoice Date)
ITD03Terms Discount Percent6 ROptional% discount if paid early
ITD04Terms Discount Due Date8 DTCDate to qualify for discount. Conditional: required if ITD03 or ITD08 present
ITD05Terms Discount Days Due3 NCDays from invoice for discounted payment
ITD06Terms Net Due Date8 DTRequiredDate invoice payment is due in full
ITD07Terms Net Days3 NRequiredNumber of days until full amount due
ITD08Terms Discount Amount8 RCDollar amount of discount
ITD13Day of Month3 NCFor 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

ElementNameLengthM/OValue/Notes
DTM01Date/Time Qualifier3 IDRequired011 (Shipped Date)
DTM02Date8 DTRequiredCCYYMMDD

IT1 - Baseline Item Data (Repeating Loop)

ElementNameLengthM/OValue/Notes
IT101Assigned Identifier6 ANOptionalInvoice line number
IT102Quantity Invoiced6 RRequiredUnits shipped per line item
IT103Unit of Measurement Code2 IDRequiredEA (Each)
IT104Unit Price8 RRequiredPrice per unit. NO implied decimal: $15.95 → 15.95, $29.00 → 29
IT105Basis of Unit Price2 IDRequiredQT (Quoted/Default), LE (Catalog Price per Each), WE (Wholesale per Each)
IT106Prod/Serv ID Qualifier2 IDRequiredUP (UPC), EN (EAN), SK (SKU), or BP (Buyer's Part Number)
IT107Prod/Serv ID30 ANRequiredMUST match the SKU/UPC/EAN from the 850

Not Used by FLX in IT1 Loop:

  • CTP (Pricing Information) — Generic X12 supports a CTP segment 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

ElementNameLengthM/OValue/Notes
TDS01Total Invoice Amount10 RRequiredTotal of invoice + charges - allowances. Implied decimal: $12.00 → 1200
TDS02Amount Subject to Terms Discount10 ROptionalAmount eligible for discount. Implied decimal

CAD - Carrier Detail (Optional)

ElementNameLengthM/OValue/Notes
CAD01Transportation Method Type Code2 IDOptionalSee 850 TD512 codes (D3, ND, SC, SI, SP)
CAD04Standard Carrier Alpha Code4 ANRequiredIf CAD sent, SCAC is required. If not available, don't send CAD
CAD07Reference Number Qualifier2 IDOptionalBM (Bill of Lading) or CN (Carrier's Reference/PRO)
CAD08Reference Number7-22 ANCRequired if CAD07 present

SAC - Service, Promotion, Allowance, or Charge (Shipping) — FLX PDF

ElementNameLengthM/OValue/Notes
SAC01Allowance or Charge Indicator1 IDOptionalMust be C (Charge)
SAC02SAC Code4 IDCMust be G821 (Shipping). Other codes not supported in FLX PDF
SAC05Amount15 NCTotal shipping charge. Implied decimal: $5.00 → 500

SAC — Other Codes in X12 004010 (Not Used by FLX)

SAC02 CodeDescription
AFEEFee
C310Discount
D240Freight
G740Service Charge
G821Shipping
H750Tax - 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)

ElementNameLengthM/OValue/Notes
ISS01Number of Units Shipped6 NOptionalTotal units shipped
ISS02Unit of Measurement Code2 IDCEA (Each). Required if ISS01 present
ISS03Weight8 ROptionalTotal weight of shipment
ISS04Unit of Measurement Code2 IDCLB (Pound), OZ (Ounce), 50 (Kilograms). Required if ISS03 present

CTT - Transaction Set Totals

ElementNameLengthM/OValue/Notes
CTT01Number of Line Items6 NRequiredCount of IT1 segments

SE - Transaction Set Trailer

ElementNameLengthM/OValue/Notes
SE01Number of Included Segments6 NRequiredIncluding ST and SE
SE02Transaction Set Control Number9 NRequiredMust match ST02

Validation Notes

FLX-Specific Requirements vs Generic X12

FieldFLX SpecGeneric 004010Impact
REF*DPM (always "0000")OptionalFLX stricter — department number required
SAC codesWhitelist: G821/C310/D240/F050Broader X12 list (AFEE, G740, H750, etc.)FLX processes only codes in the whitelist. G821 remains the primary shipping code.
IT1 extra qualifier pairsSingle pair onlySupports multiple qualifier/ID pairsGeneric X12 more permissive
CTP segmentNot Used — FLX ignoresOptional (detail level pricing)Do not include; generic X12 allows but FLX skips
SAC at detail levelNot Used — FLX ignoresOptional (per-item charges)Only summary-level SAC (G821) is processed
ISS weight unitsLB, OZ, 50 (Kg)LB, OZ, 50 (Actual Kilograms)Match
IT104 formatNO implied decimal (15.95)Type R (real number)Match
TDS formatIMPLIED decimal ($12→1200)Type N2 (2 implied decimals)Match

Common Validation Failures

  1. BIG01 date in future — Rejected
  2. BIG01 date >17 months old — Rejected
  3. ITD conditional logic violated — Discount fields without proper pairing
  4. SAC with unsupported code — May pass generic validation but FLX won't process it
  5. TDS without implied decimal — Sending 12.00 instead of 1200

Example File

EDI · 004010VICS
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.