Skip to content
EDI 888 — EDI TransactionPublished Nov 3, 2026

EDI 888 Item Maintenance: Grocery Item Setup Guide

EDI 888 Item Maintenance explained: G53 maintenance types, G39 case data, G55 consumer units, new item and discontinue examples, and how it compares to 832.

The EDI 888 is how a grocery supplier gets an item into a retailer's item file. Before a store can order it, receive it at the back door or scan it at the register, the retailer needs the case code, the consumer UPC, the pack, the size, the weight and the pallet pattern on file. The 888 delivers that data in a structured form, and then keeps it current as packaging changes and items are retired.

This guide covers what the 888 carries, how its maintenance types work, two live examples (a new item setup and a change plus a discontinue), every segment you are likely to map, how it compares to the 832, and the item data errors that later show up as rejected orders and DSD deliveries.

What Is an EDI 888?

An EDI 888 is the Item Maintenance transaction set defined by the ASC X12 standards body. It lets a manufacturer, supplier, broker or agent send finished-goods product information to a trading partner in a consumer goods market, both for new products and for changes to existing product specifications. Like the 894 and 889, it comes from the Uniform Communication Standard (UCS) used in US grocery, so its item segments use the grocery "G" prefix and implementation guides often name the version 004010UCS.

Authoritative references for 888 work:

  • The X12 transaction set catalog defines the 888 structure and segment order, and places it in functional group QG (Product Information) with the 889
  • GS1 US governs the UPCs and GTINs every 888 carries
  • The GS1 GTIN Management Standard decides when a packaging change needs a new GTIN rather than an 888 change to an existing item
  • Each retailer or wholesaler that accepts the 888 publishes an implementation guide listing the segments it requires and the maintenance types it accepts

Who sends it? The supplier side: a manufacturer, its broker, or a data service acting for it.

Who receives it? A grocery retailer or wholesaler, into the merchandising system that holds its item file.

When is it sent? Ahead of a new item's first order, whenever case or consumer unit data changes, and when an item is withdrawn or discontinued. The effective date in the transaction tells the retailer when to apply it.

Why does it matter? Every downstream document matches against the item file. A 875 grocery purchase order can only order what is set up, an 880 grocery invoice line fails if the case code is unknown, and a DSD 894 delivery is held at the back door when the store has never seen the UPC. Bad item data costs money weeks later, far from where it was keyed.

What it does not carry: price changes. The X12 purpose statement sends those to the 879 Price Information set. Some retailers carry cost data in their 888 implementation anyway, so check the guide.

Where the 888 Sits in Grocery Item Setup

Item setup in grocery runs in a fairly fixed order, and the 888 is one step in it:

  1. Commercial agreement. The category buyer accepts the item, agrees cost, and often negotiates new item or slotting allowances.
  2. Item data. The supplier sends the item's identifiers, pack and physical data, on an 888 or through the retailer's chosen catalog route (an 832 Price/Sales Catalog, a GS1 data pool, or a vendor portal).
  3. Cost and price. Cost goes on an 879, an 832, or the retailer's own process.
  4. Launch promotion. Introductory deals arrive on an 889 Promotion Announcement.
  5. Orders and deliveries. The retailer orders on an 875 or 850, or, for direct store delivery, the route driver delivers against the store's item file on an 894.
  6. Ongoing maintenance. Packaging changes, temporary withdrawals and discontinues go back through the 888.

Many large retailers have moved new item setup to GS1 data synchronization or their own portals and use EDI only for some steps. Whether a given chain still takes an 888 is a question for its EDI team, not something to assume.

Interactive Example: New Item Setup (G53 Maintenance Type 003)

A granola manufacturer sets up two new 16 oz items at a grocery chain, effective December 1. The header names the buyer and supplier, each with its own G62 date. The detail opens with G53*003 (add full item detail), then one block per item: G39 for the case (case code, vendor item number, gross weight, dimensions, volume, pallet pattern, pack and size), G69 for the description, and G55 for the consumer unit (UPC, shelf package dimensions, size and the 16-character register description).

Use the Plain English tab for a readable summary, or click any segment to break it down element by element.

Live exampleGrocery Chain (Item Setup)EDI 888

Grocery 888 New Item Setup

A manufacturer sets up two new 16 oz granola items at a grocery chain: maintenance type 003 (add), case dimensions, weight, pallet Ti/Hi and pack in G39, consumer UPC and register description in G55

Document
888 Item Maintenance
From / to
PINEHOLLOW → HARBORGROCER
Segments
20
Interchange date
Nov 4, 2026

Raw EDI (X12)

1
ISA*00* *00* *ZZ*PINEHOLLOW *ZZ*HARBORGROCER *261104*0900*U*00401*000000888*0*P*:~
2
GS*QG*PINEHOLLOW*HARBORGROCER*20261104*0900*888*X*004010UCS~
3
ST*888*0001~
4
BGN*00*IM-20261104-01*20261104~
5
N1*BY*HARBOR GROCERY*1*069854900~
6
G62*07*20261201~
7
N1*SU*PINE HOLLOW FOODS*1*081234567~
8
G61*IC*D OKAFOR*TE*5035550142~
9
G62*07*20261201~
10
G53*003~
11
G62*07*20261201~
12
G39*008451200116*VN*PH-GRN-HNY16**14.2*G*L*9.5*IN*12.25*IN*10*IN*0.67*CF*010006*12*16*OZ~
13
G69*HONEY ALMOND GRANOLA 16 OZ~
14
G55*UP*084512001168***9*IN*6*IN*2.25*IN****16*OZ*PH HNY ALM GRNLA~
15
G39*008451200123*VN*PH-GRN-CRN16**14.2*G*L*9.5*IN*12.25*IN*10*IN*0.67*CF*010006*12*16*OZ~
16
G69*CRANBERRY PECAN GRANOLA 16 OZ~
17
G55*UP*084512001236***9*IN*6*IN*2.25*IN****16*OZ*PH CRN PCN GRNLA~
18
SE*16*0001~
19
GE*1*888~
20
IEA*1*000000888~

Human-Readable

Interchange

Sender ID(ZZ)PINEHOLLOW
Receiver ID(ZZ)HARBORGROCER
Date261104
Time0900
Standards IDU
Version00401
Control Number000000888
Acknowledgment RequestedNo
UsageProduction
Included Groups (IEA01)1

Functional Group

Functional IDQGQG
SenderPINEHOLLOW
ReceiverHARBORGROCER
Date20261104
Time0900
Control Number888
Agency CodeX
Version004010UCS
Transactions1
Reported Transaction Count (GE01)1

Transaction 888

Item Maintenance
Transaction Type888
Control Number0001
Segments, ST to SE16
Count in SE0116 (matches)

Segment Detail

BGNBeginning Segment
BGN01Transaction Set Purpose Code00
BGN02Reference IdentificationIM-20261104-01
BGN03Date20261104
N1Party Identification
N101Entity CodeBY
N102NameHARBOR GROCERY
N103ID Qualifier1
N104ID Code069854900
G62Date/Time
G6201Date Qualifier07
G6202Date20261201
N1Party Identification
N101Entity CodeSU
N102NamePINE HOLLOW FOODS
N103ID Qualifier1
N104ID Code081234567
G61Contact
G6101Contact Function CodeIC
G6102NameD OKAFOR
G6103Communication Number QualifierTE
G6104Communication Number5035550142
G62Date/Time
G6201Date Qualifier07
G6202Date20261201
G53Maintenance Type
G5301Maintenance Type (001 change, 002 delete, 003 add, 004 withdraw, 005 restore)003
G62Date/Time
G6201Date Qualifier07
G6202Date20261201
G39Item Characteristics, Vendor's Selling Unit
G3901U.P.C. Case Code008451200116
G3902Product ID QualifierVN
G3903Product IDPH-GRN-HNY16
G3905Unit Weight14.2
G3906Weight QualifierG
G3907Weight UnitL
G3908Height9.5
G3909Height UnitIN
G3910Width12.25
G3911Width UnitIN
G3912Length10
G3913Length UnitIN
G3914Volume0.67
G3915Volume UnitCF
G3916Pallet Block and Tiers (per layer + layers)010006
G3917Pack12
G3918Size16
G3919Size UnitOZ
G69Line Item Detail (Description)
G6901Item DescriptionHONEY ALMOND GRANOLA 16 OZ
G55Item Characteristics, Consumer Unit
G5501Product ID QualifierUP
G5502Product ID084512001168
G5505Height9
G5506Height UnitIN
G5507Width6
G5508Width UnitIN
G5509Length2.25
G5510Length UnitIN
G5514Size16
G5515Size UnitOZ
G5516Cash Register DescriptionPH HNY ALM GRNLA
G39Item Characteristics, Vendor's Selling Unit
G3901U.P.C. Case Code008451200123
G3902Product ID QualifierVN
G3903Product IDPH-GRN-CRN16
G3905Unit Weight14.2
G3906Weight QualifierG
G3907Weight UnitL
G3908Height9.5
G3909Height UnitIN
G3910Width12.25
G3911Width UnitIN
G3912Length10
G3913Length UnitIN
G3914Volume0.67
G3915Volume UnitCF
G3916Pallet Block and Tiers (per layer + layers)010006
G3917Pack12
G3918Size16
G3919Size UnitOZ
G69Line Item Detail (Description)
G6901Item DescriptionCRANBERRY PECAN GRANOLA 16 OZ
G55Item Characteristics, Consumer Unit
G5501Product ID QualifierUP
G5502Product ID084512001236
G5505Height9
G5506Height UnitIN
G5507Width6
G5508Width UnitIN
G5509Length2.25
G5510Length UnitIN
G5514Size16
G5515Size UnitOZ
G5516Cash Register DescriptionPH CRN PCN GRNLA
1 functional group1 transactionControl #000000888Valid

Interactive Example: Item Change and Discontinue (001 and 002)

Six weeks later the same supplier sends one 888 with two maintenance actions, both effective January 4. A packaging update made the honey almond case slightly lighter and shorter, so G53*001 (change) carries the updated G39. The 32 oz original is being dropped, so G53*002 (delete) identifies it by case code and item number only.

Live exampleGrocery Chain (Item Setup)EDI 888

Grocery 888 Item Change and Discontinue

One 888 with two maintenance actions: a change (001) to an item's case weight and height after a packaging update, and a delete (002) for a discontinued 32 oz item, both effective the same date

Document
888 Item Maintenance
From / to
PINEHOLLOW → HARBORGROCER
Segments
20
Interchange date
Nov 18, 2026

Raw EDI (X12)

1
ISA*00* *00* *ZZ*PINEHOLLOW *ZZ*HARBORGROCER *261118*1015*U*00401*000000889*0*P*:~
2
GS*QG*PINEHOLLOW*HARBORGROCER*20261118*1015*889*X*004010UCS~
3
ST*888*0001~
4
BGN*00*IM-20261118-01*20261118~
5
N1*BY*HARBOR GROCERY*1*069854900~
6
G62*07*20270104~
7
N1*SU*PINE HOLLOW FOODS*1*081234567~
8
G61*IC*D OKAFOR*TE*5035550142~
9
G62*07*20270104~
10
G53*001~
11
G62*07*20270104~
12
G39*008451200116*VN*PH-GRN-HNY16**13.6*G*L*9.25*IN*12.25*IN*10*IN*0.66*CF*010006*12*16*OZ~
13
G69*HONEY ALMOND GRANOLA 16 OZ~
14
G53*002~
15
G62*07*20270104~
16
G39*008451200130*VN*PH-GRN-OAT32~
17
G69*ORIGINAL OAT GRANOLA 32 OZ~
18
SE*16*0001~
19
GE*1*889~
20
IEA*1*000000889~

Human-Readable

Interchange

Sender ID(ZZ)PINEHOLLOW
Receiver ID(ZZ)HARBORGROCER
Date261118
Time1015
Standards IDU
Version00401
Control Number000000889
Acknowledgment RequestedNo
UsageProduction
Included Groups (IEA01)1

Functional Group

Functional IDQGQG
SenderPINEHOLLOW
ReceiverHARBORGROCER
Date20261118
Time1015
Control Number889
Agency CodeX
Version004010UCS
Transactions1
Reported Transaction Count (GE01)1

Transaction 888

Item Maintenance
Transaction Type888
Control Number0001
Segments, ST to SE16
Count in SE0116 (matches)

Segment Detail

BGNBeginning Segment
BGN01Transaction Set Purpose Code00
BGN02Reference IdentificationIM-20261118-01
BGN03Date20261118
N1Party Identification
N101Entity CodeBY
N102NameHARBOR GROCERY
N103ID Qualifier1
N104ID Code069854900
G62Date/Time
G6201Date Qualifier07
G6202Date20270104
N1Party Identification
N101Entity CodeSU
N102NamePINE HOLLOW FOODS
N103ID Qualifier1
N104ID Code081234567
G61Contact
G6101Contact Function CodeIC
G6102NameD OKAFOR
G6103Communication Number QualifierTE
G6104Communication Number5035550142
G62Date/Time
G6201Date Qualifier07
G6202Date20270104
G53Maintenance Type
G5301Maintenance Type (001 change, 002 delete, 003 add, 004 withdraw, 005 restore)001
G62Date/Time
G6201Date Qualifier07
G6202Date20270104
G39Item Characteristics, Vendor's Selling Unit
G3901U.P.C. Case Code008451200116
G3902Product ID QualifierVN
G3903Product IDPH-GRN-HNY16
G3905Unit Weight13.6
G3906Weight QualifierG
G3907Weight UnitL
G3908Height9.25
G3909Height UnitIN
G3910Width12.25
G3911Width UnitIN
G3912Length10
G3913Length UnitIN
G3914Volume0.66
G3915Volume UnitCF
G3916Pallet Block and Tiers (per layer + layers)010006
G3917Pack12
G3918Size16
G3919Size UnitOZ
G69Line Item Detail (Description)
G6901Item DescriptionHONEY ALMOND GRANOLA 16 OZ
G53Maintenance Type
G5301Maintenance Type (001 change, 002 delete, 003 add, 004 withdraw, 005 restore)002
G62Date/Time
G6201Date Qualifier07
G6202Date20270104
G39Item Characteristics, Vendor's Selling Unit
G3901U.P.C. Case Code008451200130
G3902Product ID QualifierVN
G3903Product IDPH-GRN-OAT32
G69Line Item Detail (Description)
G6901Item DescriptionORIGINAL OAT GRANOLA 32 OZ
1 functional group1 transactionControl #000000889Valid

888 Structure at a Glance

The 888 has a short header and a nested detail section: one loop per maintenance action, one loop per item inside it, and an optional consumer unit loop inside each item.

AreaSegmentNameUsageNotes
HeaderSTTransaction Set HeaderMandatoryST01 = 888
HeaderBGNBeginning SegmentOptionalPurpose, reference number, date
Header loopN1NameMandatory, repeatsOne loop per party (buyer, supplier, broker)
Header loopN2, N3, N4Name and addressOptional
Header loopN9Reference IdentificationOptional
Header loopG61ContactOptionalItem data contact
Header loopNTENoteOptional
Header loopG93Price Bracket IdentificationOptional
Header loopG62Date/TimeMandatoryOne per N1 loop
Header loopLM / LQCode Source and Industry CodeOptionalIndustry code lists
Detail loopG53Maintenance TypeMandatory, repeatsAdd, change, delete and others
Detail loopG62Date/TimeOptionalEffective date for this action
Item loopG39Item Characteristics, Vendor's Selling UnitMandatory, repeatsThe case
Item loopG69Line Item Detail, DescriptionOptional
Item loopG23, G36, G26, G43, G24, G40, G22, G46Terms, pricing and promotionOptionalUsed where the retailer's guide asks
Item loopH1Hazardous MaterialOptional
Item loopG54, N9, UIT, MEA, TD1Module, references, units, measurementsOptional
Item loopN1, PALName and pallet informationOptional loop
Consumer unit loopG55Item Characteristics, Consumer UnitOptional loopThe shelf unit
Consumer unit loopG69, QTYDescription and quantityOptional
TrailerSETransaction Set TrailerMandatorySegment count and control number

In the envelope, GS01 is QG and GS08 is commonly 004010UCS or the release named in the retailer's guide. As with every grocery set, a retailer's guide can make an optional segment required.

Key Segments Explained

BGN: Beginning Segment

BGN*00*IM-20261104-01*20261104~

BGN01 is the transaction set purpose (00 = original), BGN02 your reference number for this maintenance file, and BGN03 the date it was created. Use a reference that is unique per file, so the retailer can tell you exactly which 888 a rejection refers to.

N1 and G62: Parties and Their Dates

N1*BY*HARBOR GROCERY*1*069854900~
G62*07*20261201~
N1*SU*PINE HOLLOW FOODS*1*081234567~
G61*IC*D OKAFOR*TE*5035550142~
G62*07*20261201~

Each N1 loop names one party: here BY for the buying retailer and SU for the supplier, identified by DUNS (N103 = 1). In 004010 each N1 loop must close with a G62 date. The sample uses qualifier 07 (effective date); which date and qualifier your retailer expects in that position is set by its guide. G61 names the person to call about the item data, with a communication qualifier (TE = telephone) and number.

G53: Maintenance Type

G53*003~

G53 has one element, the maintenance type code, and it sets what happens to every item in the loop that follows. The codes grocery suppliers use most:

CodeMeaningTypical use
003Add Full Item DetailNew item setup, with full case and consumer unit data
001ChangeUpdated weight, dimensions, pallet pattern or description
002DeleteItem discontinued at this retailer
004Withdraw Item (Temporary)Temporarily unavailable, for example a seasonal or supply gap
005Restore ItemBring back a withdrawn item
CEPChange Excluding PriceChange where price is explicitly not affected
PRIPrice Change OnlyPrice-only update, where the retailer takes prices on the 888

The X12 code list for this element is long and shared with other industries, so most of it does not apply. The retailer's guide lists the handful it accepts. A G62 right after G53 gives the effective date for that action.

G39: Item Characteristics, Vendor's Selling Unit

G39 describes the case: the unit you sell to the retailer and the retailer orders.

G39*008451200116*VN*PH-GRN-HNY16**14.2*G*L*9.5*IN*12.25*IN*10*IN*0.67*CF*010006*12*16*OZ~
ElementNameExampleWhat it means
G3901U.P.C. Case Code008451200116The 12-character grocery case code. The X12 note describes a leading system code (00, 06 or 07 for US grocery) followed by the 5-digit manufacturer and 5-digit case number
G3902Product/Service ID QualifierVNWhat the next element is. VN = vendor item number
G3903Product/Service IDPH-GRN-HNY16Your item number
G3904Special Handling CodeHandling requirements, where the retailer uses them
G3905Unit Weight14.2Case weight
G3906Weight QualifierGG = gross weight
G3907Weight Unit CodeLL = pounds
G3908 / G3909Height and unit9.5 / INCase height in inches
G3910 / G3911Width and unit12.25 / INCase width
G3912 / G3913Length and unit10 / INCase length
G3914 / G3915Volume and unit0.67 / CFCubic feet. Should agree with the three dimensions
G3916Pallet Block and Tiers010006First three digits: cases per layer. Last three: layers per pallet. Here 10 x 6 = 60 cases
G3917Pack12Consumer units per case
G3918 / G3919Size and unit16 / OZSize of each consumer unit

G39 continues past position 19 with color, order sizing factor, alternate tiers, a second product ID pair, a second weight, inner pack and packaging code. Send those only when the retailer's guide asks. The standard pairs several elements (a weight needs its qualifier and unit; a dimension needs its unit), so a value without its partner is a syntax error, not just a data gap.

G69: Line Item Detail, Description

G69*HONEY ALMOND GRANOLA 16 OZ~

A free-form description of up to 45 characters. Retailers often build their own item description from it, so keep it consistent with the label.

G55: Item Characteristics, Consumer Unit

G55 describes the unit the shopper buys. It sits in its own loop under the G39 it belongs to.

G55*UP*084512001168***9*IN*6*IN*2.25*IN****16*OZ*PH HNY ALM GRNLA~
ElementNameExampleWhat it means
G5501Product/Service ID QualifierUPUP = 12-digit UPC consumer package code
G5502Product/Service ID084512001168The UPC the register scans, with its check digit
G5503 / G5504Second ID qualifier and IDAn optional second identifier
G5505 to G5510Height, width, length and units9, 6, 2.25 INShelf package dimensions, used for planograms
G5511 / G5512Volume and unitOptional
G5513PackOptional
G5514 / G5515Size and unit16 / OZNet content as labeled
G5516Cash Register Item DescriptionPH HNY ALM GRNLAWhat prints on the receipt. The X12 note limits it to 16 characters

Later G55 elements cover a second register description, coupon family code, dated product number of days (shelf life), deposit value, a prepriced flag, color, weights, a third identifier, a longer description, inner pack and packaging code. These are the fields stores use for receipts, shelf tags, coupons and bottle deposits, so they matter more than their position suggests.

Optional Item Segments

  • G23, G36, G26, G43, G24, G40, G22, G46 carry terms, price list references, pricing conditions, promotion areas and allowances. A retailer that takes cost and launch deals on the 888 says so in its guide. Most send promotions on the 889.
  • H1 identifies hazardous material, for items such as aerosols or lighter fluid.
  • MEA and TD1 add measurements and shipping weight beyond what G39 holds.
  • N1 / PAL give pallet information, sometimes per ship-from location.
  • LM / LQ carry industry code lists (for example, product category codes) named by the retailer.

Case vs Consumer Unit, and When You Need a New GTIN

The 888 keeps two levels apart: G39 is the case, G55 is the consumer unit inside it. Most item data mistakes come from mixing them up, such as a case weight in a consumer unit field, a consumer UPC in the case code, or a pack that does not match the case code's actual contents.

The harder question is when a change belongs in an 888 001 change and when it needs a new item. The GS1 GTIN Management Standard sets the rules. Among them:

  • A change of over 20% to any physical dimension or to gross weight requires a new GTIN
  • A change in the number of items in a case requires a new GTIN for the case
  • A change in declared net content (the 16 oz on the label) requires a new GTIN

So the change sample above (a case that got about 4% lighter and 3% shorter) is a legitimate 888 change, and GS1 still expects trading partners to be told about it. Going from 12 to 8 bags per case is not an 888 change. It is a new case code, set up with 003, and the old one discontinued with 002. Sending a pack change as 001 against the old case code is how a retailer ends up receiving 8 when its system expects 12.

EDI 888 vs 832, 879 and 889

DocumentSent byPurposeNotes
888 Item MaintenanceManufacturer, supplier, brokerAdd, change, withdraw or delete items, with case and consumer unit detailGrocery-specific G39 and G55 segments; no price changes
832 Price/Sales CatalogVendorPublish a catalog with item IDs, descriptions, attributes and pricesGeneral-purpose; used across retail, distribution and grocery
879 Price InformationSupplierCommunicate cost and price changesThe X12 home for price changes the 888 excludes
889 Promotion AnnouncementManufacturer, brokerAnnounce deals, allowances, dates and performance conditionsReferences the items the 888 set up
846 Inventory InquirySupplierReport stock availabilityInventory, not item master data

The short version: the 832 is the general catalog document, and plenty of retailers, grocery included, take it for item setup. The 888 is the older grocery-specific route, with a richer case and consumer unit structure built for grocery receiving and store systems. Which one you send is the retailer's choice. If both are offered, the 888 maps more naturally to grocery case data, and the 832 is easier to reuse across non-grocery customers.

Common 888 Errors and How to Prevent Them

ErrorWhat happensPrevention
UPC check digit wrong in G5502Item rejected, or set up with a code that never scansValidate check digits before sending, never key them
Case and consumer codes swappedOrders and receipts match the wrong levelMap G3901 from the case GTIN and G5502 from the unit UPC, from separate source fields
Pack change sent as 001Retailer receives a different count than its item file saysFollow GS1 rules: new case code, 003 add, 002 for the old one
Dimensions and volume disagreeWarehouse slotting and cube calculations go wrongCompute G3914 from the three dimensions
Pallet pattern in the wrong formatRetailer reads 6 layers of 10 as 10 layers of 6, or rejects itSend G3916 as six digits: cases per layer, then layers
Register description too longTruncated or rejectedKeep G5516 within 16 characters
Effective date too closeItem not live when the first order or delivery arrivesSend with the lead time in the retailer's guide
Discontinue sent but item still orderedOrders for an item the retailer has deletedConfirm the last order date with the buyer before sending 002
Missing paired elementsSyntax rejection on the 997Send each value with its qualifier and unit

Item data errors rarely fail loudly at the 888. They show up as rejected order lines, retail chargebacks for receiving mismatches, and DSD deliveries held at the door. The EDI inspector lays out every G39 and G55 element by name, which makes it quick to check a sample file before you send it to a new retailer.

888 Implementation Checklist

  • Confirm the retailer accepts the 888 at all, or wants an 832, a GS1 data pool or its portal instead
  • Get its 888 implementation guide and the maintenance type codes it accepts
  • Confirm the parties and identifiers it wants in the N1 loops, and the date qualifier for each G62
  • Confirm which G39 and G55 elements are required (many retailers require dimensions, Ti/Hi and register description)
  • Pull case and consumer unit data from one item master, with GTIN check digits validated
  • Agree how cost reaches it: 879, 832, the 888 itself, or outside EDI
  • Test an add, a change and a delete, and check the 997 and any 824 application advice that comes back
  • Set a rule for pack and net content changes: new GTIN, not an 888 change

If you are new to grocery EDI, our grocery EDI requirements guide and the EDI document types reference show how the 888 fits next to the order, invoice and delivery documents.

Keeping Orders Matched to Your Item Data With OrderSync

Item setup is only worth doing if the orders that follow match it. In practice, grocery and food suppliers receive orders as EDI 875s and 850s, but also as emails, PDFs and spreadsheets from wholesalers, independents and DSD accounts, each with its own item codes and units.

OrderSync reads those orders in any format, matches each line to your catalog by UPC, case code or the customer's own item number, converts units, and outputs valid X12 or clean data to your ERP. Paste any 888 into the free EDI inspector to see it parsed with a plain-English summary, read more about EDI for grocery and retail suppliers, or book a 15-minute walkthrough to see your own orders processed.

Frequently Asked Questions

What is an EDI 888 document?

The EDI 888 Item Maintenance is an X12 transaction set used in grocery and consumer goods to set up new items at a retailer or wholesaler, change existing item details, or withdraw and discontinue items. It carries case and consumer unit identifiers, pack, size, weight, dimensions and pallet pattern.

Who sends an EDI 888?

The supplier side sends it: a manufacturer, its broker or agent, or a data service acting for the manufacturer. The receiver is the grocery retailer or wholesaler that keeps the item file its orders, receiving and stores rely on.

What is the difference between EDI 888 and EDI 832?

Both set up and maintain items. The 832 Price/Sales Catalog is a general-purpose catalog used across industries and can include prices. The 888 is the grocery-specific UCS set, with separate case (G39) and consumer unit (G55) segments and no price changes, which go on the 879. The retailer decides which it accepts.

What does the G53 segment mean in an EDI 888?

G53 is the maintenance type. Its single element says what happens to the items that follow: 003 adds full item detail, 001 changes an item, 002 deletes it, 004 withdraws it temporarily and 005 restores it. The retailer's guide lists which codes it accepts.

What is the G39 segment?

G39 describes the vendor's selling unit, usually the case: its 12-character UPC case code, your item number, gross weight, height, width, length, volume, pallet blocks and tiers, pack and size. It is the segment every 888 item loop starts with.

Can I send a pack size change as an 888 change?

Usually not. Under the GS1 GTIN Management Standard, a change in the number of items in a case needs a new case GTIN. Set up the new case with maintenance type 003 and discontinue the old one with 002, rather than changing the old item with 001.

Does the EDI 888 include prices?

The X12 standard leaves price changes out of the 888 and sends them on the 879 Price Information set. Some retailers' implementations carry cost or pricing segments in the 888 anyway, so the retailer's guide is the authority for your trading relationship.

What functional group code does the EDI 888 use?

The 888 uses functional group QG (Product Information) in GS01, the same group as the 889 Promotion Announcement. Grocery retailers commonly name the version 004010UCS in GS08, but the version is set by each retailer's implementation guide.

James Darby
Last updated: 11/3/2026

Related Resources