**These specifications are a base model. All customers are responsible for ensuring their map or EDI is compliant with their trading partner's most current specifications.
X12 875 Grocery Products Purchase Order
X12 Release 4010Revised December 1, 2023
This Draft Standard for Trial Use contains the format establishes the data contents of the Grocery Products Purchase Order Transaction Set (875) for use within the context of an Electronic Data Interchange (EDI) environment. This transaction set can be used to provide for customary and established grocery industry practice relative to the placement of purchase orders for finished goods in a retail or wholesale consumer market. This standard can be used by a retailer or wholesaler organization to request delivery of finished goods from a broker or supplier organization. This transaction set should not be used to convey purchase order changes or purchase order acknowledgement information.
Delimiters
~ Segment
* Element
> Component
EDI sample
Interchange Control Header
RequiredMax use 1
To start and identify an interchange of zero or more functional groups and interchange-related control segments
Example
ISA*00* *00* *XX*XXXXXXXXXXXXXXX*XX*XXXXXXXXXXXXXXX*250328*0929*U*00401*000000000*X*X*>~
Authorization Information Qualifier
Required
Identifier (ID)
Code to identify the type of information in the Authorization Information
00
No Authorization Information Present (No Meaningful Information in I02)
Authorization Information
Required
String (AN)
Min 10Max 10
Information used for additional identification or authorization of the interchange sender or the data in the interchange; the type of information is set by the Authorization Information Qualifier (I01)
Security Information Qualifier
Required
Identifier (ID)
Code to identify the type of information in the Security Information
00
No Security Information Present (No Meaningful Information in I04)
Security Information
Required
String (AN)
Min 10Max 10
This is used for identifying the security information about the interchange sender or the data in the interchange; the type of information is set by the Security Information Qualifier (I03)
Interchange ID Qualifier
Required
Identifier (ID)
Min 2Max 2
Qualifier to designate the system/method of code structure used to designate the sender or receiver ID element being qualified
Codes
Interchange Sender ID
Required
String (AN)
Min 15Max 15
Identification code published by the sender for other parties to use as the receiver ID to route data to them; the sender always codes this value in the sender ID element
Interchange ID Qualifier
Required
Identifier (ID)
Min 2Max 2
Qualifier to designate the system/method of code structure used to designate the sender or receiver ID element being qualified
Codes
Interchange Receiver ID
Required
String (AN)
Min 15Max 15
Identification code published by the receiver of the data; When sending, it is used by the sender as their sending ID, thus other parties sending to them will use this as a receiving ID to route data to them
Interchange Date
Required
Date (DT)
YYMMDD format
Date of the interchange
Interchange Time
Required
Time (TM)
HHMM format
Time of the interchange
Interchange Control Standards Identifier
Required
Identifier (ID)
Code to identify the agency responsible for the control standard used by the message that is enclosed by the interchange header and trailer
U
U.S. EDI Community of ASC X12, TDCC, and UCS
Interchange Control Version Number
Required
Identifier (ID)
This version number covers the interchange control segments
00401
Draft Standards for Trial Use Approved for Publication by ASC X12 Procedures Review Board through October 1997
Interchange Control Number
Required
Numeric (N0)
Min 9Max 9
A control number assigned by the interchange sender
Acknowledgment Requested
Required
Identifier (ID)
Min 1Max 1
Code sent by the sender to request an interchange acknowledgment (TA1)
0
No Acknowledgment Requested
1
Interchange Acknowledgment Requested
Usage Indicator
Required
Identifier (ID)
Min 1Max 1
Code to indicate whether data enclosed by this interchange envelope is test, production or information
I
Information
P
Production Data
T
Test Data
Component Element Separator
Required
String (AN)
Min 1Max 1
Type is not applicable; the component element separator is a delimiter and not a data element; this field provides the delimiter used to separate component data elements within a composite data structure; this value must be different than the data element separator and the segment terminator
>
Component Element Separator
Functional Group Header
RequiredMax use 1
To indicate the beginning of a functional group and to provide control information
Example
GS*OG*XX*XXXXX*20250328*0717*0*XX*004010UCS~
Functional Identifier Code
Required
Identifier (ID)
Code identifying a group of application related transaction sets
OG
Order Group - Grocery (875, 876)
Application Sender's Code
Required
String (AN)
Min 2Max 15
Code identifying party sending transmission; codes agreed to by trading partners
Application Receiver's Code
Required
String (AN)
Min 2Max 15
Code identifying party receiving transmission. Codes agreed to by trading partners
Date
Required
Date (DT)
CCYYMMDD format
Date expressed as CCYYMMDD
Time
Required
Time (TM)
HHMM, HHMMSS, HHMMSSD, or HHMMSSDD format
Time expressed in 24-hour clock time as follows: HHMM, or HHMMSS, or HHMMSSD, or HHMMSSDD, where H = hours (00-23), M = minutes (00-59), S = integer seconds (00-59) and DD = decimal seconds; decimal seconds are expressed as follows: D = tenths (0-9) and DD = hundredths (00-99)
Group Control Number
Required
Numeric (N0)
Min 1Max 9
Assigned number originated and maintained by the sender
Responsible Agency Code
Required
Identifier (ID)
Min 1Max 2
Code used in conjunction with Data Element 480 to identify the issuer of the standard
T
Transportation Data Coordinating Committee (TDCC)
X
Accredited Standards Committee X12
Version / Release / Industry Identifier Code
Required
String (AN)
Code indicating the version, release, subrelease, and industry identifier of the EDI standard being used, including the GS and GE segments; if code in DE455 in GS segment is X, then in DE 480 positions 1-3 are the version number; positions 4-6 are the release and subrelease, level of the version; and positions 7-12 are the industry or trade association identifiers (optionally assigned by user); if code in DE455 in GS segment is T, then other formats are allowed
004010UCS
Heading
010
Transaction Set Header
RequiredMax use 1
To indicate the start of a transaction set and to assign a control number
Example
ST*875*0001~
Transaction Set Identifier Code
Required
Identifier (ID)
Code uniquely identifying a Transaction Set
- The transaction set identifier (ST01) used by the translation routines of the interchange partners to select the appropriate transaction set definition (e.g., 810 selects the Invoice Transaction Set).
875
Grocery Products Purchase Order
Transaction Set Control Number
Required
Numeric (N)
Min 4Max 9
Identifying control number that must be unique within the transaction set functional group assigned by the originator for a transaction set
020
Purchase Order Identification
RequiredMax use 1
To transmit identifying dates and numbers for this transaction set
Usage notes
Example: G50N20110117*432329~
Example
G50*N*20231201*XXXX~
Order Status Code
Required
Identifier (ID)
Code identifying purpose of transaction set
N
Original
X
Passive (ES3)
Date
Required
Date (DT)
CCYYMMDD format
Date expressed as CCYYMMDD
- G5002 is the date assigned by the purchaser to the purchase order.
Purchase Order Number
Required
String (AN)
Min 1Max 22
Identifying number for Purchase Order assigned by the orderer/purchaser
040
Contact
OptionalMax use 3
To identify a person or office to whom communications should be directed
Usage notes
This contact in BD01 so may not be C&S employee.
Example: G61ICJOHN PHELANTE18022574371~
Example
G61*IC*XXX*TE*XXX~
If either Communication Number Qualifier (G61-03) or Communication Number (G61-04) is present, then the other is required
Contact Function Code
Required
Identifier (ID)
Code identifying the major duty or responsibility of the person or group named
IC
Information Contact
Name
Required
String (AN)
Min 1Max 60
Free-form name
Communication Number Qualifier
Optional
Identifier (ID)
Code identifying the type of communication number
- G6103 qualifies G6104.
TE
Telephone
Communication Number
Optional
String (AN)
Min 1Max 80
Complete communications number including country or area code when applicable
050
Date/Time Delivery Requested on This Date
OptionalMax use 10
To specify pertinent dates and times
Usage notes
Example: G620220110118~
Example
G62*02*20231202~
Variants (all may be used)
G62Date/Time Requested Ship Date/Pick-up Date
Date Qualifier
Required
Identifier (ID)
Code specifying type of date
02
Delivery Requested on This Date
Date
Optional
Date (DT)
CCYYMMDD format
Date expressed as CCYYMMDD
Usage notes
Delivery Date
050
Date/Time Requested Ship Date/Pick-up Date
OptionalMax use 1
To specify pertinent dates and times
Example
G62*10*20231202~
Variants (all may be used)
G62Date/Time Delivery Requested on This Date
Date Qualifier
Required
Identifier (ID)
Code specifying type of date
10
Requested Ship Date/Pick-up Date
Date
Optional
Date (DT)
CCYYMMDD format
Date expressed as CCYYMMDD
Usage notes
Requested Ship Date
060
Note/Special Instruction
OptionalMax use 20
To transmit information in a free-form format, if necessary, for comment or special instruction
Usage notes
Examples:
NTEORIS/W 432327-9~
NTEGENTHIS PURCHASE ORDER INCORPORATES BY REFERENCE THE C&S VENDOR CONDITIONS OF SALE~
Example
NTE*SPH*XXX~
Note Reference Code
Optional
Identifier (ID)
Code identifying the functional area or purpose for which the note applies
GEN
General Information
ORI
Order Instructions
SPH
Special Handling
Description
Required
String (AN)
Min 1Max 80
A free-form description to clarify the related data elements and their content
070
Transportation Instructions
OptionalMax use 1
To specify transportation instructions relating to the shipment
Usage notes
Example: G66T***NONE~
Example
G66**H*****XX~
Transportation Method/Type Code
Optional
Identifier (ID)
Code specifying the method or type of transportation for the shipment
H
Customer Pickup (Backhaul)
T
Delivery (Best Way - Shipper's Option)
F.O.B. Point
Optional
String (AN)
Min 1Max 30
Descriptive name of F.O.B. point
080
Terms of Sale
OptionalMax use 20
To specify the terms of sale
- The G23 segment can be used at the header level or detail level, but not both.
When it is used at the detail level, there must be at least one occurrence of the G23 segment for each iteration of the G68 segment.
Usage notes
Example: G2301201*0.0215**16~
Example
G23*01*2**01*000000*20231202*00*20231202*0*000000000*000*00000***XXX~
At least one of Terms Net Due Date (G23-08) or Terms Net Days (G23-09) is required
Terms Type Code
Required
Identifier (ID)
Code identifying type of payment terms
- If G2301 equals "04" (deferred or installment) then either G2313 or G2314 is required and the data in the segment pertains only to the portion of the invoice described in G2313 or G2314. If G2301 equals "11" (elective) then G2304 is required. If G2301 is not equal to "05"' (discount not applicable) then (G2305 or G2310) and (G2306 or G2307) is required. If G2301 equals "ZZ" (other) then G2315 is required. Multiple use of this segment when G2301 equals "04" (deferred or installment) always implies an "AND" relationship. When G2301 equals "06" (mixed) or "11" (elective) an "OR" relationship is always implied.
01
Basic
Terms Basis Date Code
Required
Identifier (ID)
Code identifying the beginning of the terms period
2
Delivery Date
Terms Due Date Qualifier
Optional
Identifier (ID)
Code identifying the method to be used for payment in conjunction with due date
01
Mailed by Date (Postmark Date)
Terms Discount Percent
Optional
Decimal number (R)
Min 1Max 6
Terms discount percentage, expressed as a percent, available to the purchaser if an invoice is paid on or before the Terms Discount Due Date
Usage notes
0.02 Should be 2
Terms Discount Due Date
Optional
Date (DT)
CCYYMMDD format
Date payment is due if discount is to be earned expressed in format CCYYMMDD
Terms Discount Days Due
Optional
Numeric (N0)
Min 1Max 3
Number of days in the terms discount period by which payment is due if terms discount is earned
Usage notes
15
Terms Net Due Date
Optional
Date (DT)
CCYYMMDD format
Date when total invoice amount becomes due expressed in format CCYYMMDD
Terms Net Days
Optional
Numeric (N0)
Min 1Max 3
Number of days until total invoice amount is due (discount not applicable)
Usage notes
16
Terms Discount Amount
Optional
Numeric (N2)
Min 1Max 10
Total amount of terms discount
- G2310 is a memo figure requiring specific payment performance and therefore should not be negative.
Discounted Amount Due
Optional
Numeric (N2)
Min 1Max 10
Amount of invoice due if paid by terms discount due date (total invoice or installment amount less cash discount)
Amount Subject to Terms Discount
Optional
Numeric (N2)
Min 1Max 10
Amount upon which the terms discount amount is calculated
Free Form Message
Optional
String (AN)
Min 1Max 60
Free-form text
0100 Loop
RequiredMax >1
090
Name
RequiredMax use 1
To identify a party by type of organization, name, and code
- One occurrence of the N1 loop must be used to identify the party to whom the merchandise is to be shipped.
Usage notes
Examples:
N1BTC&S WHOLESALE GROCERS90018424670001~
N1STC&S WHOLESALE GROCERS90018424670076~
Example
N1*ST*X*9*XXXXX~
At least one of Name (N1-02) or Identification Code Qualifier (N1-03) is required
If either Identification Code Qualifier (N1-03) or Identification Code (N1-04) is present, then the other is required
Entity Identifier Code
Required
Identifier (ID)
Code identifying an organizational entity, a physical location, property or an individual
BO
Broker
BT
Bill-to-Party
ST
Ship To
VN
Vendor
Name
Optional
String (AN)
Min 1Max 60
Free-form name
Usage notes
C&S WHOLESALE GROCERS, INC
Identification Code Qualifier
Optional
Identifier (ID)
Code designating the system/method of code structure used for Identification Code (67)
9
D-U-N-S+4, D-U-N-S Number with Four Character Suffix
Identification Code
Optional
String (AN)
Min 2Max 80
Code identifying a party or other code
- This segment, used alone, provides the most efficient method of providing organizational identification. To obtain this efficiency the "ID Code" (N104) must provide a key to the table maintained by the transaction processing party.
Usage notes
D-U-N-S Number (See duns listing)
100
Additional Name Information
OptionalMax use 1
To specify additional names or those longer than 35 characters in length
Usage notes
Examples:
N2BETHLEMEN PO'S 0504707~
N2BETHLEMEN PO'S 432~
Example
N2*XXXXXX~
Name
Required
String (AN)
Min 1Max 60
Free-form name
Usage notes
Memo – Vendor Number , Buyer Number
110
Address Information
OptionalMax use 2
To specify the location of the named party
Usage notes
Examples:
N3OLD FERRY ROAD~
N34820 HANOVERVILLE RD~
Example
N3*XX~
Address Information
Required
String (AN)
Min 1Max 55
Address information
120
Geographic Location
OptionalMax use 1
To specify the geographic place of the named party
Usage notes
Examples:
N4BRATTLEBOROVT05301~
N4BETHLEHEMPA18017~
Example
N4*XXXXXXX*XX*XXXX~
City Name
Optional
String (AN)
Min 2Max 30
Free-form text for city name
- A combination of either N401 through N404, or N405 and N406 may be adequate to specify a location.
State or Province Code
Optional
Identifier (ID)
Min 2Max 2
Code (Standard State/Province) as defined by appropriate government agency
- N402 is required only if city name (N401) is in the U.S. or Canada.
Postal Code
Optional
Identifier (ID)
Min 3Max 15
Code defining international postal zone code excluding punctuation and blanks (zip code for United States)
0200 Loop
OptionalMax >1
130
Allowance or Charge
RequiredMax use 1
To specify allowances, charges, or services
Usage notes
Example: G7250406******-19550
Example
G72*47*06******000000000000000~
Allowance or Charge Code
Required
Identifier (ID)
Code identifying the type of allowance or charge
47
Price and Marketing Allowance
499
Other Allowance
504
Freight Charge
Allowance or Charge Method of Handling Code
Required
Identifier (ID)
Code indicating method of handling for an allowance or charge
02
Off Invoice (Credit to C&S)
06
Charge to be Paid by Customer
Allowance or Charge Total Amount
Optional
Numeric (N2)
Min 1Max 15
Total dollar amount for the allowance or charge
Usage notes
PO total level allowance for freight.
140
Allowance or Charge Description
OptionalMax use 10
To describe the allowance or charge in free-form format
Usage notes
Example: G73*FREIGHT CHARGE
Example
G73*XXXXX~
Free-form Description
Required
String (AN)
Min 1Max 45
Free-form descriptive text
Usage notes
Description of Allowance/Charge
Detail
0300 Loop
RequiredMax >1
010
Line Item Detail - Product
RequiredMax use 1
To specify basic and most frequently used purchase order line item data
Usage notes
Example: G68210CA18.12007615020203IN993937~
Example
G68*0000*EA*000000*XXXXXXXXXXXX*IN*XXXX~
At least one of U.P.C. Case Code (G68-04) or Product/Service ID Qualifier (G68-05) is required
If either Product/Service ID Qualifier (G68-05) or Product/Service ID (G68-06) is present, then the other is required
Quantity Ordered
Required
Decimal number (R)
Min 1Max 15
Quantity ordered
Unit or Basis for Measurement Code
Required
Identifier (ID)
Code specifying the units in which a value is being expressed, or manner in which a measurement has been taken
- G6802 qualifies G6801.
CA
Case
EA
Each (Number of retail selling units)
LB
Pound
PL
Pallet/Unit Load
Item List Cost
Optional
Decimal number (R)
Min 1Max 9
Gross unit cost within the appropriate price bracket for a line item
U.P.C. Case Code
Optional
String (AN)
Min 12Max 12
Code (Universal Product Code - U.P.C.) including two high order digits identifying the "system" (U.S. Grocery = 00, 06 or 07; U.S. Drug = 03); using the U.S. Grocery system, the next ten digits are: Manufacturer (5) Case Code (5)
Usage notes
UPC Case Code (2-5-5 format)
Product/Service ID Qualifier
Optional
Identifier (ID)
Code identifying the type/source of the descriptive number used in Product/Service ID (234)
IN
Buyer's Item Number
Product/Service ID
Optional
String (AN)
Min 1Max 48
Identifying number for a product or service
Usage notes
C&S Internal Product Code
020
Line Item Detail - Description
OptionalMax use 5
To describe an item in free-form format
Usage notes
Example: G69*ACTII BTR 94% FF 3PK~
Example
G69*X~
Free-form Description
Required
String (AN)
Min 1Max 45
Free-form descriptive text
Usage notes
Product Description
030
Line Item Detail - Miscellaneous
OptionalMax use 2
To provide for miscellaneous information relative to a line item
Usage notes
Example: G70129OZ*****021005~
Example
G70*0000*000*QT******000000~
If either Size (G70-02) or Unit or Basis for Measurement Code (G70-03) is present, then the other is required
Pack
Optional
Numeric (N0)
Min 1Max 6
The number of inner containers, or number of eaches if there are no inner containers, per outer container
Size
Optional
Decimal number (R)
Min 1Max 8
Size of supplier units in pack
Unit or Basis for Measurement Code
Optional
Identifier (ID)
Code specifying the units in which a value is being expressed, or manner in which a measurement has been taken
CT
Count
EA
Each
FO
Fluid Ounce
GA
Gallon
LB
Pound
OZ
Ounce
PT
Pint
QT
Quart
Pallet Block and Tiers
Optional
Numeric (N0)
Min 6Max 6
Code indicating pallet and load structure; first three digits indicate the number of cases per layer, last three digits indicate the number of layers per pallet
Usage notes
Ti/Hi
0310 Loop
OptionalMax >1
060
Allowance or Charge
RequiredMax use 1
To specify allowances, charges, or services
Usage notes
Example: G724702**1.10*CA~
Example
G72*499*06***0000000*00000*CA*0~
If either Allowance or Charge Quantity (G72-06) or Unit or Basis for Measurement Code (G72-07) is present, then the other is required
Allowance or Charge Code
Required
Identifier (ID)
Code identifying the type of allowance or charge
47
Price and Marketing Allowance
499
Other Allowance
504
Freight Charge
Allowance or Charge Method of Handling Code
Required
Identifier (ID)
Code indicating method of handling for an allowance or charge
02
Off Invoice
06
Charge to be Paid by Customer
Allowance or Charge Rate
Optional
Decimal number (R)
Min 1Max 15
Allowance or Charge Rate per Unit
Usage notes
1.10 Allowance due per case.
Allowance or Charge Quantity
Optional
Decimal number (R)
Min 1Max 10
Quantity basis when allowance or charge quantity is different from the purchase order or invoice quantity
Usage notes
Quantity is used from G68-01.
Unit or Basis for Measurement Code
Optional
Identifier (ID)
Code specifying the units in which a value is being expressed, or manner in which a measurement has been taken
CA
Case
Allowance or Charge Total Amount
Optional
Numeric (N2)
Min 1Max 15
Total dollar amount for the allowance or charge
070
Allowance or Charge Description
OptionalMax use 10
To describe the allowance or charge in free-form format
Usage notes
Example: G73*START:20110103END:20110624FP:~
Example
G73*X~
Free-form Description
Required
String (AN)
Min 1Max 45
Free-form descriptive text
Usage notes
Used with corresponding Allow/Charge Segment.
Summary
010
Total Purchase Order
RequiredMax use 1
To specify summary details of total items shipped in terms of quantity, weight, and volume, and to specify payment method
Usage notes
Example: G76210CA1818.6LB98.7CU**380520~
Example
G76*00000*CA*0000000*LB*000*CU**0000~
If either Weight (G76-03) or Unit or Basis for Measurement Code (G76-04) is present, then the other is required
If either Volume (G76-05) or Unit or Basis for Measurement Code (G76-06) is present, then the other is required
Quantity Ordered
Required
Decimal number (R)
Min 1Max 15
Quantity ordered
Usage notes
Total Cases Ordered On PO
Unit or Basis for Measurement Code
Required
Identifier (ID)
Code specifying the units in which a value is being expressed, or manner in which a measurement has been taken
- G7602 qualifies G7601.
CA
Cases
Weight
Optional
Decimal number (R)
Min 1Max 10
Numeric value of weight
Unit or Basis for Measurement Code
Optional
Identifier (ID)
Code specifying the units in which a value is being expressed, or manner in which a measurement has been taken
LB
Pound
Volume
Optional
Decimal number (R)
Min 1Max 8
Value of volumetric measure
Unit or Basis for Measurement Code
Optional
Identifier (ID)
Code specifying the units in which a value is being expressed, or manner in which a measurement has been taken
CU
Cubic Feet
Amount
Optional
Numeric (N2)
Min 1Max 15
Monetary amount
- G7608 indicates the total monetary amount of the purchase order as determined by the buyer.
Usage notes
Total monetary amount of PO
020
Transaction Set Trailer
RequiredMax use 1
To indicate the end of the transaction set and provide the count of the transmitted segments (including the beginning (ST) and ending (SE) segments)
Example
SE*00000000*0001~
Number of Included Segments
Required
Numeric (N0)
Min 1Max 10
Total number of segments included in a transaction set including ST and SE segments
Transaction Set Control Number
Required
Numeric (N)
Min 4Max 9
Identifying control number that must be unique within the transaction set functional group assigned by the originator for a transaction set
Functional Group Trailer
RequiredMax use 1
To indicate the end of a functional group and to provide control information
Example
GE*00000*000000000~
Number of Transaction Sets Included
Required
Numeric (N0)
Min 1Max 6
Total number of transaction sets included in the functional group or interchange (transmission) group terminated by the trailer containing this data element
Group Control Number
Required
Numeric (N0)
Min 1Max 9
Assigned number originated and maintained by the sender
Interchange Control Trailer
RequiredMax use 1
To define the end of an interchange of zero or more functional groups and interchange-related control segments
Example
IEA*000*000000000~
Number of Included Functional Groups
Required
Numeric (N0)
Min 1Max 5
A count of the number of functional groups included in an interchange
Interchange Control Number
Required
Numeric (N0)
Min 9Max 9
A control number assigned by the interchange sender
Was this article helpful?
That’s Great!
Thank you for your feedback
Sorry! We couldn't be helpful
Thank you for your feedback
Feedback sent
We appreciate your effort and will try to fix the article