EDI 880 EDI TransactionPublished Jun 24, 2026

EDI 880 Grocery Products Invoice: Complete Guide

How the EDI 880 Grocery Products Invoice works: how it differs from the 810, catch-weight and allowance handling, the grocery G-series segments, and the 875 pairing.

The EDI 880 is the invoice built for grocery, where a standard 810 falls short. Grocery distribution runs on catch-weight items billed by actual weight, off-invoice allowances and deals, and case packs that vary. The 880 carries all of that natively, which is why it pairs with the 875 Grocery Products Purchase Order instead of the general 810 Invoice.

This guide covers what the 880 carries, how it differs from the 810, the grocery segments you will work with, and how a supplier produces one accurately.

What Is an EDI 880?

An EDI 880 is the Grocery Products Invoice transaction defined by the ASC X12 standards body, used by a supplier to bill a grocery buyer for delivered products with grocery-specific detail the standard 810 does not represent well. It belongs to the grocery family of EDI documents that pairs with the 875 purchase order.

Authoritative references for 880 implementation:

  • The X12.org Transaction Sets reference defines the grocery G-series segment structure used across 875 and 880 implementations
  • GS1 US governs the UPC and GTIN identifiers and the catch-weight conventions used to bill grocery items

Who sends it? The supplier (the manufacturer or distributor that delivered the goods).

When is it sent? After delivery, to bill the buyer, referencing the originating 875 purchase order.

Why does it matter? A grocery invoice that misstates a catch-weight quantity or drops an agreed allowance is a billing dispute or a deduction. The 880 exists so weight-billed and deal-heavy grocery lines invoice correctly the first time.

How the 880 Differs From the 810

Both are invoices, but the 880 carries grocery realities the 810 was not designed for:

  • Catch-weight billing. Many grocery items (meat, cheese, produce) are ordered by case but billed by actual weight. The 880 carries both the case count and the weight that drives the price.
  • Off-invoice allowances and charges. Grocery runs on promotional deals, slotting, and billbacks. The 880 itemizes allowances and charges at the line and invoice level.
  • Grocery pack and identification. The 880 uses the same grocery identification conventions as the 875, so the invoice lines match the order lines exactly.

If your buyer ordered on an 875, they almost always expect to be billed on an 880, not an 810.

Key Segments Explained

The 880 uses the grocery G-series segments rather than the 810's BIG and IT1 structure. Here are the segments you will work with:

SegmentNamePurpose
STTransaction Set HeaderIdentifies the start of the 880 and assigns a control number
G50Purchase Order IdentificationTies the invoice to the originating 875 purchase order and date
N1NameIdentifies the supplier, the buyer, and the ship-to or store
G17Item Detail (Invoice)The billed line: item by UPC or GTIN, quantity, and unit
G69Line Item DetailFree-form description of the grocery item
G72Allowance or ChargeOff-invoice allowances, deals, and charges at line or invoice level
CTTTransaction TotalsNumber of line items and control totals for the invoice

Catch-weight items carry both the ordered case quantity and the actual weight used for pricing, so the buyer can reconcile the billed amount against what was received.

Where the 880 Sits in the Grocery Order Lifecycle

The 880 closes the grocery order-to-cash loop:

  1. 875 Grocery Products Purchase Order - Buyer orders with catch-weight, sell-by, and pack detail
  2. 856 Ship Notice / ASN - Supplier notifies the buyer of the shipment
  3. 880 Grocery Products Invoice - Supplier bills by actual weight, with allowances applied
  4. 820 Payment/Remittance Advice - Buyer remits and reports what was paid

A mismatch between the 880 and the goods received is a classic retail chargeback or deduction, so the invoice has to reflect actual delivered weight and the agreed deals.

How Suppliers Produce Accurate 880s

Grocery billing breaks when catch-weight and allowances are keyed by hand off a delivery sheet. The math is fiddly, the deals change, and a small error becomes a deduction.

OrderSync generates 880 invoices from your shipment and weight data, applies the agreed allowances and charges, and validates the lines against the originating 875 before the invoice goes out. It reads inbound grocery orders in any format (875, PDF, email, spreadsheet) and outputs valid X12 to your existing EDI client, with no ERP integration required to start. Upload a grocery document to the free EDI inspector to see it parsed, or book a 15-minute walkthrough to see a grocery order billed end to end.

Frequently Asked Questions

What is an EDI 880 used for?

The 880 is the grocery-industry invoice. A supplier uses it to bill a grocery buyer for a delivered order, carrying catch-weight quantities, off-invoice allowances, and grocery pack detail that the standard 810 invoice does not represent well.

What is the difference between an EDI 880 and an EDI 810?

Both are invoices. The 810 is the general invoice; the 880 is the grocery invoice that natively handles catch-weight billing, allowances and charges, and grocery identification. Buyers who order on an 875 typically expect to be billed on an 880.

What is catch-weight on an EDI 880?

Catch-weight means an item is ordered by case but priced and billed by its actual weight, common for meat, cheese, and produce. The 880 carries both the case quantity and the weight used to calculate the line total.

What purchase order does the EDI 880 pair with?

The 880 pairs with the 875 Grocery Products Purchase Order. The 875 places the grocery order and the 880 bills for it, keeping the same grocery-specific item and pack detail across both.

James Darby
Last updated: 6/24/2026