Home > EDI Codes > EDI 880

EDI 880 – Grocery Products Invoice

EDI 880 Definition

The EDI 880 transaction set is an electronic Grocery Products Invoice that is used by supplier companies to send payment requests for a shipped product order or a service to a retailer or buyer. Upon receipt of the 880 Grocery Products Invoice, the buyer sends an EDI 997 functional acknowledgment to the supplier.

Sent By: Supplier, Manufacturer, or Distributor

The supplier sends the EDI 880 to the retailer or buyer after goods have been shipped. This is the grocery industry’s version of an invoice and serves as the formal request for payment.

Received By: Retailer or Buyer

The retailer receives the EDI 880 and matches it against the original purchase order and shipment data. If everything aligns, accounts payable can schedule payment. If discrepancies exist, the retailer flags the invoice for review.

What EDI 880 Represents in Real Life

The EDI 880 is not just an invoice. It is the financial document that turns a shipped grocery order into revenue. In the grocery and food distribution industry, EDI 880 is the standard invoice format that carries the same purpose as an EDI 810 but is structured specifically for grocery supply chains with industry-specific segments and data elements.

When an EDI 880 is processed successfully:

      • The retailer’s system matches the invoice against the PO and shipment
      • Accounts payable can schedule payment automatically
      • Discounts and payment terms are applied correctly
      • Discrepancies are flagged early instead of discovered weeks later
      • Cash flow becomes predictable for both the supplier and the retailer

In short, the EDI 880 is how grocery suppliers get paid.

EDI 880 Specification

This X12 Transaction Set contains the format and establishes the data contents of the Grocery Products Invoice Transaction Set (880) for use within the context of an Electronic Data Interchange (EDI) environment. The transaction set can be used to provide for customary and established business and industry practice relative to the billing for grocery products and services provided.

Source: Accredited Standards Committee X12. ASC X12 Standard [Table Data]. Data Interchange Standards Association, Inc., Falls Church, VA. https://x12.org

Components of an EDI 880 Grocery Products Invoice

Each EDI 880 Grocery Products Invoice document contains segments and data elements. Each segment contains at least one data element. Each data element is a data field. Examples of data elements are:

      • Invoice number and date
      • Purchase order number
      • Payment terms and discount details
      • Item information, quantities, and pricing
      • Shipping details

Additional data that may be included in the invoice pertains to:

      • Ship to, bill to, and remit to locations
      • Vendor part numbers and UPC codes
      • Item descriptions
      • Total weight and case count
      • Total invoice amount
      • Allowances, charges, and taxes

 

Other EDI documents that are similar to the Grocery Products Invoice are:

      • EDI 810 – Invoice (general-purpose invoice used across industries)
      • EDI 894 – Delivery/Return Base Records

Other related EDI documents include:

      • EDI 812 – Credit / Debit Adjustment
      • EDI 820 – Payment or Order Remittance
      • EDI 830 – Planning Schedule with Release Capability
      • EDI 832 – Price/Sales Catalog
      • EDI 846 – Inventory Inquiry
      • EDI 850 – Purchase Order
      • EDI 855 – Purchase Order Acknowledgment
      • EDI 856 – Advance Ship Notice
      • EDI 860 – Order Change Request
      • EDI 867 – Product Transfer and Resale Report File Format
      • EDI 870 – Order Status Report
      • EDI 875 – Grocery Products Purchase Order
      • EDI 990 – Response to a Load Tender
      • EDI 997 – Functional Acknowledgement

EDI 880 Sample File Format (Raw EDI File)

ISA*00*          *00*          *12*111111111      *12*222222222      *230627*0935*U*00401*000278000*0*P*>
GS*GP*111111111*222222222*20230527*0935*278100*T*004010UCS
ST*880*278101
G01*20230527*0044621*20230521*708398
G23*01*3***2*20230606*10*20230627*30*40079*40079****2% cash discount for net/10 days
N1*ST*Test Store*9*1111111111700
N3*100 EDI DRIVE
N4*WELLS*ME*04090*USA
N1*RE*John Doe*9*123456789
N3*73 Love Dr
N4*Doylestown*PA*18901
N1*BT*Test Corp*9*0222222221700
N3*PO BOX 12345
N4*PHOENIX*AZ*85038
G17*30*CA*54.54**VN*123*PI*45678
G69*Item 1
G17*60*CA*58.44**VN*124*PI*45679
G69*Item 2
G17*68*CA*87.03**VN*125*PI*45680
G69*Item 3
G17*88*CA*61.52**VN*126*PI*45681
G69*Item 4
G17*72*CA*49.51**VN*127*PI*45682
G69*Item 5
G31*318*CA*439400*LB
G33*2003912
SE*25*278101
GE*1*278100
IEA*1*000278000

What Each Line in the EDI 880 Sample Means

Each segment in an EDI 880 serves a specific purpose. Here is a breakdown of the sample file above:

ISA – Interchange Control Header. Opens the EDI envelope. Contains the sender ID (111111111), receiver ID (222222222), date (230627), time (0935), control number (000278000), and standards version (00401).

GS – Functional Group Header. Identifies the type of transaction (GP = Grocery Products Invoice) and groups one or more 880 transactions together. Note the UCS version identifier (004010UCS) which is specific to the grocery industry.

ST – Transaction Set Header. Marks the beginning of the 880 transaction. The “880” identifies the document type and “278101” is the unique transaction set control number.

G01 – Invoice Identification. Contains the invoice date (20230527), invoice number (0044621), purchase order date (20230521), and purchase order number (708398). This links the invoice back to the original order.

G23 – Payment Terms. Defines how and when payment is due. In this sample: terms type (01), terms net days (3), discount days (2), discount due date (20230606), net due date (20230627), and the terms description “2% cash discount for net/10 days.”

N1*ST – Ship To Name. Identifies the destination (ST = Ship To). “Test Store” with identification code qualifier 9 (DUNS number) and code 1111111111700.

N3 / N4 (Ship To) – Ship To Address. N3 contains the street address (100 EDI Drive) and N4 contains the city (Wells), state (ME), ZIP code (04090), and country (USA).

N1*RE – Remit To Name. Identifies where payment should be sent (RE = Remit To). “John Doe” with DUNS code 123456789.

N3 / N4 (Remit To) – Remit To Address. 73 Love Dr, Doylestown, PA 18901.

N1*BT – Bill To Name. Identifies the billing party (BT = Bill To). “Test Corp” with code 0222222221700.

N3 / N4 (Bill To) – Bill To Address. PO Box 12345, Phoenix, AZ 85038.

G17 – Grocery Item Detail. The core line item segment. Contains quantity invoiced, unit of measure (CA = Case), unit price, vendor number (VN), and pack indicator/item code (PI). For example, G17*30*CA*54.54**VN*123*PI*45678 means 30 cases at $54.54 per case for vendor item 123.

G69 – Item Description. A free-form text description of the line item (e.g., “Item 1”, “Item 2”). Each G69 follows its corresponding G17 segment.

G31 – Total Invoice Quantity. Summary of the invoice: 318 total cases (CA) weighing 439,400 LB (pounds).

G33 – Total Invoice Amount. The total dollar amount of the invoice: $2,003,912 (in cents, so $20,039.12).

SE – Transaction Set Trailer. Closes the 880 transaction. Contains the segment count (25 segments) and the matching control number from the ST segment.

GE – Functional Group Trailer. Closes the functional group. Indicates 1 transaction set was included in this group.

IEA – Interchange Control Trailer. Closes the entire EDI envelope. Confirms 1 functional group and the matching interchange control number from the ISA segment.

What an EDI 880 Looks Like Inside Elevate

Although the raw EDI 880 is machine-readable, our cloud-based EDI platform Elevate presents the grocery invoice in a clean, readable format for business users.

Inside Elevate, teams can see:

      • Invoice number and date
      • Related purchase order number
      • Line items, quantities, case counts, and pricing
      • Payment terms and discount details
      • Ship to, bill to, and remit to details
      • Total invoice amount and weight
      • Status of delivery and processing

This visibility helps accounting, operations, and support teams troubleshoot invoice issues quickly without reading raw EDI.

EDI 880 Grocery Products Invoice in Elevate

How to Start Sending EDI 880

If your business supplies grocery products and needs to start sending EDI 880 invoices to retailers, here is a general roadmap:

  1. Understand your retailer’s requirements: Each grocery retailer will have a specific EDI implementation guide that outlines the segments, data elements, and codes they expect in the 880. Pay close attention to payment terms, allowance structures, and UCS version requirements.
  2. Choose an EDI platform: You need EDI software to translate your billing data into the ANSI X12 880 format. Cloud-based platforms like Elevate make this straightforward with transparent pricing, no contracts, and end-to-end support.
  3. Map your data: Connect the fields in your ERP or accounting system to the corresponding EDI 880 segments. This includes invoice details, line items, pricing, payment terms, ship-to/bill-to/remit-to addresses, and total amounts.
  4. Test with your retailer: Before going live, send test 880 transactions to your retailer to validate that the data maps correctly and meets their requirements. Most retailers require a testing phase before production.
  5. Go live and monitor: Once testing is complete, begin sending production 880s. Monitor for errors, acknowledgment failures (997s), and payment discrepancies. A good EDI platform will alert you to issues in real time.

Need help with EDI 880 implementation and more?

Elevate handles every step from trading partner setup to ERP connection to ongoing invoice monitoring. No IT team required.

Real-World Example: Supplier Invoicing a Grocery Retailer

A grocery retailer orders 318 cases across five products from a food distributor.

      • The retailer sends an EDI 875 Grocery Products Purchase Order to the supplier
      • The supplier ships the order and sends an EDI 856 Advance Ship Notice
      • Elevate generates an EDI 880 Grocery Products Invoice based on shipped quantities
      • The invoice is sent electronically to the retailer
      • The retailer’s system matches it against the PO and ASN
      • Payment terms are applied automatically in this case, 2% discount if paid within 10 days
      • Payment is scheduled without manual review

If the invoice matches perfectly, no one touches it.

Why EDI 880 Accuracy Is Critical

Invoice errors in the grocery industry are expensive and time-sensitive — perishable goods add urgency to every transaction.

Common problems include:

      • Quantity mismatches between shipped and invoiced amounts
      • Pricing discrepancies against the original PO
      • Incorrect payment terms or discount calculations
      • Missing or wrong PO references
      • Wrong remit-to or bill-to addresses

These issues lead to:

      • Payment delays
      • Short pays and deductions
      • Chargebacks from retailers
      • Manual reconciliation work
      • Strained supplier-retailer relationships

A clean EDI 880 dramatically reduces these issues and keeps cash flowing.

Common Challenges with EDI 880 Grocery Products Invoices

      • Different grocery retailers require different 880 formats and field mappings
      • Allowances, promotions, and deal codes vary by retailer and by product
      • Catch-weight items require variable pricing that differs from the PO
      • Multi-stop deliveries complicate invoice-to-shipment matching
      • UCS version requirements differ from standard X12 implementations
      • ERP migrations change accounting rules and break existing mappings

Flexible EDI systems handle these scenarios without breaking the flow.

FAQs

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

Both are invoices, but the EDI 880 is designed specifically for the grocery industry. It uses grocery-specific segments (like G01, G17, G23, G31, G33) and follows the UCS (Uniform Communication Standard) conventions. The EDI 810 is a general-purpose invoice used across all industries. If your trading partner is a grocery retailer, they will likely require the 880.

2. Who sends EDI 880?

The supplier, manufacturer, or distributor sends the EDI 880 to the grocery retailer or buyer after goods have been shipped.

3. What is the difference between an EDI 880 and an EDI 875?

EDI 875 (Grocery Products Purchase Order) is the retailer’s order sent to the supplier. EDI 880 is the supplier’s invoice sent back to the retailer in response. EDI 875 starts the transaction; the 880 closes it financially.

4. Is the EDI 880 required?

If you supply grocery products to a retailer that uses EDI, the 880 is typically required. Most major grocery retailers expect their suppliers to invoice electronically using the 880 format rather than the general 810.

5. What happens after an 880 is sent?

The retailer receives the 880, responds with an EDI 997 Functional Acknowledgment, and matches the invoice against the original purchase order and shipment data. If everything aligns, payment is scheduled according to the terms specified in the invoice.

6. What does UCS mean in the context of EDI 880?

UCS stands for Uniform Communication Standard. It is a set of EDI standards developed specifically for the grocery industry. The EDI 880 follows UCS conventions, which is why the GS segment in the sample file references “004010UCS” rather than just “004010.”

7. Can EDI 880 include allowances and promotions?

Yes. The 880 supports allowance and charge segments that can reflect trade promotions, volume discounts, freight charges, and other adjustments common in the grocery industry. These are typically negotiated between the supplier and retailer and reflected in the invoice.

8. What EDI version does 880 use?

The EDI 880 follows the ANSI X12 standard with UCS conventions. The most commonly used version is 4010UCS, though the specific version depends on your trading partner’s requirements.

Read next

The EDI 940 transaction set is an electronic Warehouse Shipping Order that is used by a supplier to inform a remote warehouse when to ship an order/orders to a buyer.

Was this article helpful?
YesNo