← Back to Guides

EDI 810 Invoice Processing: Avoiding Three-Way Match Failures

Learn how retailers match 850 purchase orders, 856 ASNs, and 810 invoices to prevent chargebacks and payment delays.

Transaction Types20 min read

What is an EDI 810 Invoice?

The EDI 810 transaction set is the electronic version of a paper invoice. Suppliers send 810 invoices to retailers after shipping goods, requesting payment for the order. The 810 includes invoice details like PO numbers, item descriptions, quantities, prices, allowances, charges, and payment terms.

Here's the critical part: Retailers don't just pay your 810 invoice because you sent it. They run a three-way match to verify that what you're billing matches what they ordered (850 PO) and what you shipped (856 ASN). If the three-way match fails, your invoice gets rejected, payment gets delayed, and you may face chargebacks.

Why Three-Way Match Failures Are Expensive

  • Walmart: Price differences between PO and invoice trigger chargebacks (Code 11)
  • Amazon: Invoice discrepancies result in automatic deductions; 24-hour invoice submission deadline
  • Target: Invalid PO numbers or pricing errors trigger Perfect Order Program penalties
  • Home Depot: Invoice mismatches delay payment by 30-60 days

Understanding the Three-Way Match Process

The three-way match cross-checks three EDI documents to ensure the supplier is billing for exactly what was ordered and shipped:

The Three-Way Match

1

EDI 850

Purchase Order

What the retailer ordered

  • ✓ PO number
  • ✓ Item numbers
  • ✓ Quantities ordered
  • ✓ Unit prices
2

EDI 856

ASN (Advance Ship Notice)

What you actually shipped

  • ✓ PO number reference
  • ✓ Item numbers shipped
  • ✓ Quantities shipped
  • ✓ Carton details
3

EDI 810

Invoice

What you're billing for

  • ✓ PO number reference
  • ✓ Item numbers billed
  • ✓ Quantities billed
  • ✓ Unit prices billed

Retailer's System Checks:

850 PO = 856 ASN = 810 Invoice

If item numbers, quantities, or prices don't match → Invoice rejected or chargeback issued

What Retailers Verify in the Three-Way Match

Field850 PO856 ASN810 InvoiceWhat Happens if Mismatch
PO NumberBEG03PRF01BIG04Invoice rejected — can't match to order
Item NumberPO103LIN03IT107Invoice rejected — unknown item
QuantityPO102SN102IT102Chargeback for over-billing or under-shipping
Unit PricePO104N/AIT104Walmart Code 11: Price difference chargeback
UOM (Unit of Measure)PO103SN103IT103Invoice rejected — UOM mismatch

EDI 810 Invoice Structure: Critical Segments

Understanding the key segments in an 810 invoice helps you avoid three-way match failures. Here are the segments retailers check:

BIG Segment: Beginning Segment for Invoice

The BIG segment identifies the invoice and links it to the original purchase order.

BIG*20251020*INV12345**PO98765*20251015~
  • BIG01 (20251020): Invoice date (YYYYMMDD format)
  • BIG02 (INV12345): Invoice number (your internal invoice ID)
  • BIG03: PO Date (optional but recommended)
  • BIG04 (PO98765): ⚠️ CRITICAL — Purchase Order number from the buyer's 850 PO. This MUST match BEG03 in the original 850.
  • BIG05 (20251015): PO date from original 850

Common Error:

Sending BIG04 with a different PO number than the 850/856 → Invoice rejected because retailer can't match it to an order.

IT1 Segment: Baseline Item Data (Invoice Line Items)

The IT1 segment contains the details for each line item being billed. This is where most three-way match failures occur.

IT1*1*100*EA*12.50*PE*UP*012345678905*VN*SKU-ABC-123~
  • IT101 (1): ⚠️ CRITICAL — PO line item number. Must match PO101 from the 850 PO.
  • IT102 (100): ⚠️ CRITICAL — Quantity invoiced. Must not exceed quantity shipped in 856 (SN102).
  • IT103 (EA): ⚠️ CRITICAL — Unit of measure (EA = Each, CA = Case, BX = Box). Must match 850 PO103 and 856 SN103.
  • IT104 (12.50): ⚠️ CRITICAL — Unit price. Must match 850 PO104. Price differences trigger Walmart Code 11 chargebacks.
  • IT105 (PE): Basis of unit price code (PE = Price per each)
  • IT106 (UP): Product ID qualifier (UP = UPC, UK = GTIN, VN = Vendor SKU)
  • IT107 (012345678905): Product identifier (UPC/GTIN). Must match 850 PO107.
  • IT108 (VN): Product ID qualifier (second identifier, e.g., Vendor SKU)
  • IT109 (SKU-ABC-123): Product identifier (Vendor's SKU)

Most Common Three-Way Match Failure:

IT102 quantity invoiced > SN102 quantity shipped in 856 ASN

Example: You shipped 80 units (856 SN102 = 80) but invoiced for 100 units (810 IT102 = 100). Retailer rejects the invoice or issues a chargeback for the 20-unit overage.

TDS Segment: Total Monetary Value Summary

The TDS segment provides the total invoice amount and must match the sum of all IT1 line items plus SAC charges/allowances.

TDS*125000~
  • TDS01 (125000): ⚠️ Total invoice amount in cents ($1,250.00). Must equal: SUM(IT102 × IT104) + SAC charges - SAC allowances.

Common Error:

TDS01 doesn't match calculated total → Invoice rejected. Example: You have 3 line items totaling $1,200 + $50 freight (SAC) = $1,250, but TDS01 = $1,200. The invoice fails validation.

SAC Segment: Service, Promotion, Allowance, or Charge Information

The SAC segment specifies additional charges (freight, fuel surcharge) or allowances (advertising, discounts).

SAC*C*B720***50.00~
  • SAC01 (C): Allowance or charge indicator (C = Charge, A = Allowance)
  • SAC02 (B720): Service/charge code (B720 = Freight, D240 = Fuel surcharge, A260 = Advertising allowance, C930 = Discount)
  • SAC05 (50.00): Amount (for charges, this is positive; for allowances, this is negative)

2025 Kroger Requirement:

Allowance rates must be negative; charge rates must be positive.

Only 1 SAC segment per allowance/charge code allowed on the invoice level. Multiple SAC segments with the same code will cause invoice rejection.

N1 Segment: Party Identification

The N1 segment identifies parties involved in the invoice (bill-to, ship-to, remit-to, etc.).

N1*BT*WALMART INC*92*008479345~
N1*ST*WALMART DC 6023*92*DC6023~
N1*RE*ACME SUPPLIER LLC*92*ACME001~
  • N101: Entity identifier code (BT = Bill-to, ST = Ship-to, RE = Remit-to, II = Issuer of invoice)
  • N102: Party name
  • N103: Identification code qualifier (92 = Assigned by buyer)
  • N104: Identification code (party's ID in retailer's system)

Common Error:

Missing N1*ST (ship-to) segment or incorrect ship-to location code → Invoice can't be matched to correct DC/store. This is especially critical for Walmart, Target, and Home Depot with multiple distribution centers.

CAD Segment: Carrier Detail

The CAD segment specifies transportation details for the shipment being invoiced.

CAD*M*FDEG*FEDEX GROUND~
  • CAD01 (M): Transportation method code (M = Motor/truck)
  • CAD02 (FDEG): SCAC code (Standard Carrier Alpha Code)
  • CAD03 (FEDEX GROUND): Carrier name

Common Three-Way Match Failures and How to Fix Them

❌ Error 1: Quantity Invoiced Exceeds Quantity Shipped

What Happens:

Your 810 invoice shows IT102 = 200 units, but your 856 ASN shows SN102 = 150 units shipped. Retailer rejects invoice or issues chargeback for 50 units.

Root Cause:

You invoiced for the full PO quantity (850 PO102 = 200), but you only shipped 150 units due to backorder or inventory shortage.

Fix:

Invoice only for what you shipped. IT102 in the 810 must match SN102 in the 856. If you shipped 150 units, invoice for 150 units. Send a second 856/810 pair when you ship the remaining 50 units.

❌ Error 2: Price Difference Between PO and Invoice (Walmart Code 11)

What Happens:

Walmart's 850 PO shows PO104 = $10.00 per unit. Your 810 invoice shows IT104 = $10.50 per unit. Walmart issues Code 11 chargeback for the $0.50 difference per unit.

Root Cause:

You raised your prices but didn't get Walmart to issue a new PO with updated pricing. Or you made a data entry error in the 810.

Fix:

IT104 unit price in the 810 must exactly match PO104 in the 850. If prices changed, contact your buyer to issue a new 850 PO with updated pricing before you ship and invoice.

❌ Error 3: Invalid PO Number (BIG04 Mismatch)

What Happens:

Your 810 invoice shows BIG04 = PO12345, but the retailer's system shows PO98765 for this shipment. Invoice rejected—can't match to any order.

Root Cause:

Typo in BIG04, or you referenced an old PO number from a previous shipment.

Fix:

BIG04 in the 810 must match BEG03 in the 850 PO and PRF01 in the 856 ASN. Cross-check all three documents before sending the 810.

❌ Error 4: UPC/GTIN Mismatch

What Happens:

Your 810 invoice shows IT107 = 012345678905, but the 850 PO shows PO107 = 012345678906. Retailer rejects invoice—unknown item.

Root Cause:

Data entry error, or you're using a different UPC variant (case pack UPC vs. each UPC).

Fix:

IT107 UPC/GTIN in the 810 must match PO107 in the 850 and LIN03 in the 856. Verify UPC check digits using MOD 10 validation.

❌ Error 5: UOM (Unit of Measure) Mismatch

What Happens:

Your 850 PO shows PO103 = CA (cases), but your 810 invoice shows IT103 = EA (eaches). Retailer rejects invoice—UOM mismatch.

Root Cause:

You're invoicing in a different UOM than what was ordered. Example: Retailer ordered 10 cases (CA), but you invoiced for 120 eaches (EA).

Fix:

IT103 UOM in the 810 must match PO103 in the 850 and SN103 in the 856. If the retailer ordered in cases, invoice in cases—not eaches.

❌ Error 6: TDS Total Doesn't Match Line Item Sum

What Happens:

Your IT1 line items total $1,250.00, but TDS01 = $1,200.00. Invoice fails validation and is rejected.

Root Cause:

TDS01 calculation error, or you forgot to include SAC charges/allowances in the total.

Fix:

TDS01 = SUM(IT102 × IT104) + SAC charges - SAC allowances. Always recalculate before sending the 810.

❌ Error 7: Duplicate Invoice Submission

What Happens:

You accidentally send the same 810 invoice twice (same BIG02 invoice number). Retailer's system detects duplicate and rejects the second submission.

Root Cause:

Manual error, or your EDI system didn't track that the 810 was already sent.

Fix:

Use unique invoice numbers (BIG02) for every 810. Track sent invoices in your system to prevent duplicates. If you need to correct an invoice, send a new 810 with a different invoice number or use an EDI 876 credit memo to reverse the original.

Retailer-Specific 810 Invoice Requirements

Walmart

  • ✅ Send 810 after 856 ASN is accepted
  • ✅ Use ANSI X12 version 4010 or 5010
  • ⚠️ Code 11 chargeback: Price difference between PO and invoice
  • ⚠️ Three-way match strictly enforced: 850 = 856 = 810
  • ⚠️ Duplicate invoices trigger automatic rejection

Amazon Vendor Central

  • Send 810 within 24 hours of shipment confirmation
  • ✅ Use ANSI X12 version 4010
  • ⚠️ Invoice discrepancies result in automatic deductions
  • ⚠️ Shortage chargebacks if invoiced qty > shipped qty
  • ⚠️ Price mismatch deductions for IT104 ≠ PO104

Target

  • ✅ Send 810 after 856 ASN is accepted
  • ✅ Use ANSI X12 version 4010
  • ⚠️ Invalid PO numbers trigger Perfect Order Program penalties
  • ⚠️ Pricing errors subject to chargeback
  • ⚠️ Missing N1*ST ship-to location → invoice rejection

Home Depot

  • ✅ Send 810 after 856 ASN is accepted
  • ✅ Use ANSI X12 version 4010
  • ⚠️ Invoice mismatches delay payment by 30-60 days
  • ⚠️ Three-way match failures require manual reconciliation
  • ⚠️ Incorrect DC location codes → can't match to shipment

Lowe's

  • ✅ Send 810 after 856 ASN is received
  • ✅ Use ANSI X12 version 4010 or 4030
  • ⚠️ Late invoices subject to chargeback
  • ⚠️ Three-way match strictly enforced
  • ⚠️ UPC/GTIN mismatches → invoice rejection

Costco

  • ✅ Send 810 after 856 ASN is sent
  • ✅ Use ANSI X12 version 4010
  • ✅ SPS Commerce certification required
  • ⚠️ Invoicing errors trigger compliance violations
  • ⚠️ Three-way match failures delay payment

Best Practices: Avoiding 810 Invoice Rejections

Pre-Flight Checklist Before Sending 810

  1. Verify BIG04 PO number matches 850 BEG03 and 856 PRF01 (all three documents must have same PO number)
  2. Confirm IT102 quantities invoiced ≤ SN102 quantities shipped (never invoice more than you shipped)
  3. Check IT104 unit prices match 850 PO104 exactly (down to the penny—no rounding errors)
  4. Validate IT107 UPC/GTIN matches 850 PO107 and 856 LIN03 (use MOD 10 check digit validation)
  5. Ensure IT103 UOM matches 850 PO103 and 856 SN103 (EA, CA, BX must be consistent)
  6. Recalculate TDS01 = SUM(IT102 × IT104) + SAC charges - SAC allowances
  7. Include N1*ST ship-to segment with correct DC/store location code
  8. Use unique BIG02 invoice number (never reuse invoice numbers)
  9. Validate control numbers: ST02 = SE02, GS06 = GE02, ISA13 = IEA02
  10. Send 810 after receiving 997 acceptance for the 856 ASN

Automated Three-Way Match Validation

Many suppliers use EDI software with built-in three-way match validation to catch errors before sending the 810 to the retailer.

Pro Tip: Before transmitting the 810, run an automated check that compares your 810 data against your 850 PO and 856 ASN files. Flag any mismatches in PO number, item number, quantity, price, or UOM.

How PlainEDI Helps You Audit 810 Invoices

Manually reviewing 810 invoices for three-way match errors is time-consuming. PlainEDI converts your 810 EDI files to clean CSV format, making it easy to:

  • Compare 850, 856, and 810 side-by-side in Excel to spot quantity, price, or item number mismatches
  • Validate TDS totals by summing IT1 line items in a spreadsheet
  • Audit SAC charges/allowances to ensure they're included in the TDS total
  • Check for duplicate invoice numbers across multiple 810 files
  • Export 810 data for accounting reconciliation and QuickBooks import

Try PlainEDI's 810 Invoice Converter

Upload your 810 EDI invoice and get instant CSV output with all segments (BIG, IT1, TDS, SAC, N1) clearly labeled. Catch three-way match errors before the retailer does.

Convert 810 to CSV Now →

Frequently Asked Questions

When should I send the 810 invoice after shipping?

Best practice: Send the 810 invoice after you receive a 997 functional acknowledgment confirming your 856 ASN was accepted. Amazon requires 810s within 24 hours of shipment confirmation. Most retailers expect invoices within 24-48 hours after the ASN.

Can I invoice for more than I shipped if I'm sending a backorder later?

No. The 810 IT102 quantity must not exceed the 856 SN102 quantity shipped. If you shipped 100 units now and will ship 50 more later, send two separate 856/810 pairs—one for the 100-unit shipment and another for the 50-unit backorder shipment.

What happens if my 810 invoice is rejected?

The retailer typically sends a 997 functional acknowledgment with error codes, or in some cases, a rejection notice. You'll need to correct the errors and resend the 810 with a new invoice number (BIG02) and new control numbers (ST02, GS06, ISA13). Never reuse control numbers.

How do I correct an invoice that's already been sent?

If the invoice hasn't been paid yet, you can send an EDI 876 credit memo to reverse the original invoice, then send a new corrected 810. Alternatively, some retailers allow you to send an adjusted 810 with a different invoice number (BIG02) and a reference to the original invoice.

Can I send one 810 invoice for multiple POs?

Generally no. Most retailers require one 810 per PO number (BIG04). If you shipped orders for two different POs (e.g., PO12345 and PO67890), send two separate 810 invoices—one for each PO.

What's the difference between TDS and CAD segments?

TDS (Total Monetary Value Summary) contains the total invoice amount in dollars/cents. CAD (Carrier Detail) contains transportation details like carrier name and SCAC code. They serve different purposes—TDS is for accounting, CAD is for logistics.

Can PlainEDI validate my 810 before I send it to the retailer?

Yes! Upload your outbound 810 invoice to PlainEDI. We'll parse it and show you any structural errors, missing segments, or invalid data elements. This helps you catch three-way match failures before the retailer rejects your invoice.

Summary: Mastering 810 Invoice Processing

  • Three-way match = 850 PO = 856 ASN = 810 Invoice (quantities, prices, item numbers must align)
  • BIG04 PO number must match across all three documents—this is the #1 cause of rejections
  • IT102 quantity invoiced ≤ SN102 quantity shipped—never invoice more than you shipped
  • IT104 unit price must match 850 PO104—price differences trigger Walmart Code 11 chargebacks
  • TDS01 total = SUM(IT102 × IT104) + SAC charges - SAC allowances
  • Amazon requires 810 within 24 hours of shipment—late invoices = deductions
  • Use PlainEDI to audit 810 invoices and catch errors before the retailer does

Ready to Eliminate 810 Invoice Errors?

Upload your 810 EDI invoices to PlainEDI and get clean CSV output. Compare against your 850 POs and 856 ASNs to catch three-way match failures before they cost you money.