The EDI 832 is the catalog behind every order a buyer sends you. Before a retailer or distributor can put your item on an 850, its item file needs the UPC, the pack, the cost and the description. The 832 is one of the main ways that data gets there, and the item numbers and costs in it are the ones the buyer will later check your invoices against.
This guide covers what the 832 carries, how full catalogs and changes work, three live examples (a new item catalog, a grocery item setup and a price change), every segment you will map, how the 832 compares with the 888, 879 and 845, and the catalog errors that come back as rejected orders and deductions.
What Is an EDI 832?
An EDI 832 is the Price/Sales Catalog transaction set defined by the ASC X12 standards body, used to furnish or request the prices of goods or services in the form of a catalog. In practice a supplier sends it to a buyer to publish item data: identifiers, descriptions, measurements, pack configuration and prices, for new items, changed items and discontinued items.
Authoritative references for 832 work:
- The X12 transaction set catalog lists the 832 with the 888, 879 and 845 that cover parts of the same job
- The Stedi X12 004010 reference for the 832 shows the segment order and loops, and its BCT segment page defines the header elements
- GS1 US governs the UPCs and GTINs most 832 lines carry, and the GS1 GTIN Management Standard decides when a product change needs a new GTIN
- Each buyer publishes its own 832 guide, which sets the identifiers, price types and attributes it requires
Who sends it? Usually the supplier or manufacturer. Some buyers also send 832s to their own customers, for example a distributor publishing its catalog to dealers.
When is it sent? Before the first order for a new item, whenever an item or price changes, and when an item is discontinued. Some buyers also ask for a periodic full catalog.
Why does it matter? The buyer's item file is what its POs, receiving and invoice matching run on. A wrong UPC fails the order line; a wrong pack makes every quantity off by the case size; a cost the buyer never loaded turns into a pricing deduction on an 812.
Full Catalogs, Changes and Item Actions
Two levels of the 832 say what the receiver should do with the data:
- The whole transaction.
BCT10is the transaction set purpose code:00original,04change,05replace. A05full catalog tells the receiver this file is the complete current list. - Each item. The
G53segment, right afterLIN, gives the maintenance type for that item:003add full item detail,001change,002delete,PRIprice change only,CEPchange excluding price. WhereBCT10andG53disagree, the X12 note saysG53takes precedence.
Many buyers use only some of these. One may take adds and changes on 832s and handle discontinues in its vendor portal; another may want a full catalog every quarter. The buyer's guide decides.
Interactive Example: New Items on a Sales Catalog
A home goods supplier publishes two new items to a retailer. BCT01 SC marks a sales catalog, BCT02 is the catalog number and BCT09 its description, and DTM*007 says the data is effective December 1. Each item has a UPC and vendor item number in LIN, G53*003 (add), a description in PID, the item weight in MEA, the case pack, size, gross weight and dimensions in PO4, and wholesale and MSRP prices in CTP.
Use the Plain English tab for a readable summary, or click any segment to break it down element by element.
Vendor 832 Sales Catalog (New Items)
A sales catalog (BCT01 SC) adding two items (G53 003) with UPC and vendor item number, description, item weight, case pack and dimensions in PO4, and wholesale and MSRP prices in CTP
- Document
- 832 Price/Sales Catalog
- From / to
- PINEHOLLOW → HARBORLANE
- Segments
- 24
- Interchange date
- Nov 5, 2026
Raw EDI (X12)
Human-Readable
Interchange
Functional Group
Transaction 832
Price/Sales CatalogSegment Detail
The cleanser's MSRP of $9.99 on a $5.50 wholesale cost is an 81.6% markup, which is a 44.9% margin for the retailer; the markup calculator shows that conversion for any pair of prices.
Interactive Example: Grocery New Item Setup
Grocery buyers order cases and sell consumer units, so they want both codes. Each LIN carries the case GTIN-14 (UK), the consumer UPC (UP) and the vendor item number. PO4 gives 12 per case of 18 oz, with the case gross weight and dimensions, CTP gives the wholesale cost, and G39 repeats the case dimensions in the grocery vendor selling unit segment.
Grocery 832 New Item Setup with Case GTINs
A grocery supplier sets up two items: GTIN-14 case codes (UK) alongside consumer UPCs in LIN, case pack and gross weight in PO4, case dimensions in G39, and wholesale case cost in CTP
- Document
- 832 Price/Sales Catalog
- From / to
- VALLEYCREST → CEDARRIDGEGRO
- Segments
- 22
- Interchange date
- Nov 5, 2026
Raw EDI (X12)
Human-Readable
Interchange
Functional Group
Transaction 832
Price/Sales CatalogSegment Detail
Grocery retailers that use the UCS item documents may ask for this data on an 888 Item Maintenance instead, with costs on an 879 Price Information.
Interactive Example: Price Change Only
Most price changes do not need a full catalog. This 832 is a price catalog (BCT01 PC) sent as a change (BCT10 04), revision 2 of the same catalog number. DTM*007 sets the effective date, January 1, 2027, and each of the three items carries G53*PRI (price change only) with its new wholesale and MSRP prices and nothing else.
Incremental 832 Price Change
A price catalog change (BCT01 PC, BCT10 04) effective 2027-01-01 in DTM*007: three items flagged price change only (G53 PRI) with new wholesale and MSRP prices and no item attributes
- Document
- 832 Price/Sales Catalog
- From / to
- PINEHOLLOW → HARBORLANE
- Segments
- 21
- Interchange date
- Nov 5, 2026
Raw EDI (X12)
Human-Readable
Interchange
Functional Group
Transaction 832
Price/Sales CatalogSegment Detail
The receiver keeps every other attribute from the earlier catalog and applies the new prices on the effective date.
832 Structure at a Glance
| Area | Segment | Name | Usage | Notes |
|---|---|---|---|---|
| Header | ST | Transaction Set Header | Mandatory | ST01 = 832 |
| Header | BCT | Beginning Segment for Price/Sales Catalog | Mandatory | Catalog purpose, number, version, description, transaction purpose |
| Header | CTP, REF, PER, DTM | Pricing, references, contact, dates | Optional | Effective date usually goes in DTM*007 |
| Header | CUR, ITD, LDT, SAC, FOB | Currency, terms, lead time, charges, FOB | Optional | Catalog-wide commercial terms |
| Header N1 loop | N1 to N4 | Parties | Optional | Supplier, buyer |
| LIN loop | LIN | Item Identification | Repeats | UPC, GTIN, vendor and buyer item numbers |
| LIN loop | G53 | Maintenance Type | Optional | Add, change, delete or price-only for this item |
| LIN loop | DTM, REF | Dates, references | Optional | Item-level effective or discontinue dates |
| LIN loop | PID | Product/Item Description | Optional, repeats | Free-form or coded descriptions |
| LIN loop | MEA | Measurements | Optional | Weight and dimensions |
| LIN loop | PKG, PO4 | Packaging, Item Physical Details | Optional | Pack, size, case weight and dimensions |
| LIN loop | G55 | Item Characteristics, Consumer Unit | Optional | Consumer unit detail |
| CTP loop | CTP | Pricing Information | Repeats, up to 100 | One per price type or quantity break |
| CTP loop | DTM, G40, CUR | Price dates, bracket prices, currency | Optional | Dates or brackets for that price |
| G39 loop | G39 | Item Characteristics, Vendor's Selling Unit | Optional | Case-level codes, weights and dimensions |
| LIN loop | PKL, LFG, SLN loops | Multi-pack, hazmat, sublines | Optional | Used where the buyer's guide asks |
| Summary | CTT | Transaction Totals | Optional | Number of LIN items |
| Summary | SE | Transaction Set Trailer | Mandatory | Segment count and control number |
Key Segments Explained
BCT: Beginning Segment for Price/Sales Catalog
BCT*SC*PHC-SPR27*1******SPRING 2027 CATALOG*00~
| Element | Name | Example | What it means |
|---|---|---|---|
| BCT01 | Catalog Purpose Code | SC | Type of catalog (see below) |
| BCT02 | Catalog Number | PHC-SPR27 | Up to 15 characters |
| BCT03 | Catalog Version Number | 1 | Up to 15 characters |
| BCT04 | Catalog Revision Number | Up to 6 characters | |
| BCT05 | Unit of Measure | Rarely used | |
| BCT06 to BCT08 | Catalog Number, Version, Revision | A second catalog reference, such as the catalog being superseded | |
| BCT09 | Description | SPRING 2027 CATALOG | Free-form name, up to 80 characters |
| BCT10 | Transaction Set Purpose Code | 00 | 00 original, 04 change, 05 replace |
BCT01 has five codes in 004010:
| Code | Meaning |
|---|---|
CP | Customized Catalog |
PC | Price Catalog |
PS | Price Sheet |
RC | Resale Catalog |
SC | Sales Catalog |
There is no add, change or delete code in BCT01. Those actions live in BCT10 and G53.
LIN: Item Identification
LIN*1*UK*10012345678902*UP*012345678905*VN*VCF-OAT-18~
LIN01 is the line number, followed by qualifier and ID pairs. Common qualifiers: UP UPC consumer package code, UK GTIN-14 shipping container code, EN EAN-13, VN vendor item number, IN buyer item number. Send every identifier the buyer's guide lists, in the order it lists them, and validate the check digit on every UPC and GTIN with a check digit calculator before you send.
G53: Maintenance Type
G53*003~ marks a new item with full detail. 001 is a change, 002 a delete, PRI a price change only and CEP a change that excludes price. G53 is a single three-character element, and it overrides BCT10 for its item.
PID: Product/Item Description
PID*F*08***SPRING CLEANSER 8 OZ~
PID01 F means free-form text in PID05 (up to 80 characters). PID02 is a characteristic code: 08 product, GEN general description, TRN trade name. Buyers often want several PIDs per item: a short register description, a long description, a brand.
MEA and PO4: Measurements and Pack
MEA*PD*WT*0.6*LB~
PO4*12*8*OZ*CTN*G*7.8*LB***10*8*6*IN~
MEA gives one measurement per segment: MEA02 says what (WT weight, HT height, WD width, LN length), MEA03 the value and MEA04 the unit.
| Element | Name | Example | What it means |
|---|---|---|---|
| PO401 | Pack | 12 | Inner units per outer pack |
| PO402 | Size | 8 | Size of each inner unit |
| PO403 | Unit of Measure | OZ | Unit for the size |
| PO404 | Packaging Code | CTN | Carton |
| PO405 | Weight Qualifier | G | Gross weight |
| PO406 | Gross Weight per Pack | 7.8 | Case weight |
| PO407 | Unit of Measure | LB | Weight unit |
| PO410 to PO412 | Length, Width, Height | 10, 8, 6 | Case dimensions |
| PO413 | Unit of Measure | IN | Dimension unit |
| PO414 | Inner Pack | Inner packs per case, for two-level packs |
The X12 example for PO4 is a carton of 24 twelve-ounce packages: pack 24, size 12, unit OZ. The pack in PO401 is what every later order quantity is multiplied by, so it has to match what the buyer's system thinks a case is.
CTP: Pricing Information
CTP**WHL*5.50*1*EA~
| Element | Name | Example | What it means |
|---|---|---|---|
| CTP01 | Class of Trade Code | Optional, for prices by trade class | |
| CTP02 | Price Identifier Code | WHL | The kind of price (see below) |
| CTP03 | Unit Price | 5.50 | The price |
| CTP04 | Quantity | 1 | Quantity the price applies to, or a quantity break |
| CTP05 | Unit of Measure | EA | Unit for that quantity. Required with CTP04 |
| CTP06, CTP07 | Multiplier Qualifier, Multiplier | A discount factor, for example 0.90 for 10% off |
Common CTP02 price identifiers:
| Code | Meaning |
|---|---|
WHL | Wholesale price |
MSR | Manufacturer's suggested retail |
RTL | Retail price |
RES | Resale price |
LPR | List price |
CON | Contract price |
PRP | Promotional price |
NET | Net item price |
UCP | Unit cost price |
CAT | Catalog price |
Two codes are often mixed up. RES is resale price and RTL is retail price; PRO is producer's price, not promotional, which is PRP. Use the codes in the buyer's guide, because its item file loads each price type into a specific field.
G39: Item Characteristics, Vendor's Selling Unit
G39**UK*10012345678902*****8*IN*9.5*IN*12.5*IN~
G39 describes the unit the vendor sells, usually the case. G3902 and G3903 identify it (here by GTIN-14), G3905 to G3907 give a weight, and G3908 to G3913 give height, width and length with their units. Later elements carry volume, pallet tiers and blocks, pack and size. It comes from the grocery item documents and is used mostly by grocery and foodservice buyers.
CTT: Transaction Totals
CTT*2~ counts the LIN items. Some buyers check it against the lines received before they load anything.
EDI 832 vs 888, 879, 845 and 846
| Document | Sent by | Purpose | Typical use |
|---|---|---|---|
| 832 Price/Sales Catalog | Supplier | Items, attributes and prices in one document | General purpose across retail, distribution and grocery |
| 888 Item Maintenance | Supplier or broker | Set up, change or discontinue grocery items | Grocery buyers that use the UCS item documents |
| 879 Price Information | Supplier or broker | Item cost changes with effective dates | Grocery cost changes, alongside the 888 |
| 845 Price Authorization | Manufacturer | Contract prices for named end customers | Distributor contract pricing and chargebacks |
| 846 Inventory Inquiry/Advice | Supplier | Stock available for the items in the catalog | Drop ship and replenishment |
| EDIFACT PRICAT | Supplier | Price/sales catalogue in UN/EDIFACT | UK and European buyers |
The short version: the 832 tells a buyer what it can order and what it will pay. The 888 and 879 split that job for grocery. The 845 tells a distributor what someone else will pay and promises to make up the difference.
Where the 832 Sits in the Order Lifecycle
- 832 Price/Sales Catalog: you publish items and prices; the buyer loads them
- 850 Purchase Order: the buyer orders by the item numbers and units it loaded
- 855 Purchase Order Acknowledgment: you confirm, or reject lines for items not on file
- 856 Ship Notice/ASN: you ship, with the same identifiers
- 810 Invoice: you bill at the cost the buyer loaded from your catalog
- 812 Credit/Debit Adjustment: if the invoice cost does not match the buyer's file, the difference often comes back here
Some buyers answer a catalog with an 824 Application Advice listing items they rejected, for example for an invalid GTIN or a missing attribute.
Common 832 Errors and How to Prevent Them
| Error | What happens | Prevention |
|---|---|---|
| Invalid UPC or GTIN check digit | Item rejected at load | Validate every identifier before sending |
| Catalog number longer than 15 characters | BCT fails validation | Keep BCT02 and BCT03 within 15 characters; put names in BCT09 |
Action codes put in BCT01 or BCT05 | Catalog rejected or misread | Use BCT10 for the file and G53 for each item |
| Pack in PO4 differs from the buyer's case | Every order quantity off by the case size | Confirm pack, inner pack and selling unit before the first 832 |
| Wrong price identifier | Wholesale loaded as retail, or the reverse | Map each price to the buyer's codes; watch RES, RTL, PRO and PRP |
| No effective date on a price change | New cost applied early, late or never | Send DTM*007 and agree lead time with the buyer |
| Discontinued items simply left out | Stale items stay orderable | Send G53*002 or the buyer's discontinue process |
| Cost in the 832 differs from the 810 | Pricing deductions | Invoice from the same price list the catalog came from |
832 Implementation Checklist
- Get the buyer's 832 guide and confirm the X12 version
- Confirm which
BCT01,BCT10andG53codes it accepts - List the identifiers it requires in
LIN, and in what order - Confirm the price identifiers it loads and whether it wants quantity breaks
- Confirm pack, inner pack and dimension rules, and whether it wants
PO4,G39or both - Agree how far ahead price changes must arrive, and how discontinues are sent
- Ask whether it replies with an 824 for rejected items
- Test an add, a change, a price-only change and a delete before going live
Keeping Catalogs and Orders in Step With OrderSync
The 832 sets what your buyers can order. Every order after it has to match: the right item numbers, units, packs and costs, whatever format it arrives in. OrderSync reads incoming orders in any format, from EDI 850s and 875s to emails, PDFs and spreadsheets, matches customers, items and units to your catalog, and outputs valid X12 or clean data for your ERP. It can also generate 832 catalogs from your item master, mapped to each partner's guide.
To check an 832 before you send it, paste it into the free EDI inspector to see every item parsed with its identifiers, pack and prices, and any structural errors explained. You can also book a 15-minute walkthrough to see your own orders processed.
Frequently Asked Questions
What is an EDI 832 used for?
The 832 sends a buyer a supplier's catalog: item identifiers, descriptions, pack, dimensions and prices. Buyers load it to set up new items, update prices and discontinue items, so their purchase orders, receiving and invoice matching use the same data you do.
What does the BCT segment mean in an EDI 832?
BCT is the 832 header. BCT01 is the catalog type (SC sales catalog, PC price catalog, PS price sheet, RC resale catalog, CP customized catalog), BCT02 to BCT04 are the catalog number, version and revision, BCT09 is a description and BCT10 is the transaction purpose (00 original, 04 change, 05 replace).
How do I send only price changes on an EDI 832?
Send the 832 as a change, with BCT10 set to 04, an effective date in DTM*007, and only the changed items. Mark each with G53 PRI (price change only) and send its new CTP prices. Some grocery buyers want price changes on an 879 instead.
What is the difference between EDI 832 and EDI 879?
The 832 can carry the full item record and its prices in one document. The 879 Price Information carries cost changes only, with effective dates, and is used mostly in grocery alongside the 888, where item details are already on file.
What is the difference between EDI 832 and EDI 888?
Both set up and maintain items. The 888 Item Maintenance is the grocery UCS document, with case and consumer unit detail and no prices. The 832 is the general-purpose catalog and can include prices. The buyer's guide says which it takes.
How often should I send an EDI 832?
Whenever an item is added, changed or discontinued, and whenever a price changes, early enough for the buyer's lead time. Some buyers also ask for a periodic full catalog to catch drift between your item file and theirs; their guide sets the schedule.
Which price codes go in the CTP segment?
CTP02 is the price identifier. Common codes are WHL wholesale, MSR manufacturer's suggested retail, RTL retail, RES resale, LPR list, CON contract, PRP promotional and NET net price. CTP03 is the price, and CTP04 and CTP05 give the quantity and unit it applies to.