A Purchase Order Acknowledgment (855) is sent by a supplier to confirm, reject, or provide status on a received purchase order.
| Field | Type | Required | Description |
|---|---|---|---|
purchaseOrderNumber |
string | ✓ | Purchase order number being acknowledged |
acknowledgmentNumber |
string | Supplier-assigned acknowledgment or sales order reference number | |
releaseNumber |
string | Release number identifying a specific release against a blanket or contract purchase order | |
purpose |
string | Intended purpose of the acknowledgment transaction (e.g., original acknowledgment, change, cancellation, or confirmation of backorder availability) Values: original cancellation change replace confirmation |
|
status |
string | ✓ | Overall status of the purchase order acknowledgment (BAK02) Values: accepted changed rejected |
statusReasonCode |
string | Reason code explaining why the order was rejected, if applicable Values: discontinued invalidAddress invalidBillToCode invalidItemNumber invalidPrice invalidItemQuantity invalidShipFrom invalidShipMethod invalidShipToName invalidShipToAddress1 invalidShipToAddress2 invalidShipToCity invalidShipToStateOrProvince invalidShipToPostalCode invalidShipToCountry itemRecall itemSetupIssue mainlandOnly missingLineItemId missingOrderId missingShipId naturalDisaster outOfStock seasonalOrEndOfLife shippingInFull systemIssue taxNexusIssue transportationIssuePrepaid transportationIssueCollect undeliverableAddress weather |
|
statusNote |
object | Additional notes or comments about the acknowledgment | |
description |
string | Brief description or title of the note | |
text |
array of string | Array of text lines for the note content | |
detailLevel |
string | Indicates how much line-item detail this acknowledgment carries: all lines, no lines, or only the lines the sender changed from the original purchase order. Primarily for recipients of the acknowledgment, who use it to decide whether to rely on lineItems or fall back to the original purchase order for any unlisted line. This is the detail axis of BAK02 and is orthogonal to status — e.g. an accepted order can be acknowledged with full detail (AD) or with no detail (AK). Values: all none exceptionsOnly |
|
dates |
object | Important dates such as scheduled ship date and estimated delivery date | |
purchaseOrderDate |
unknown | Date the purchase order was issued | |
estimatedDeliveryDate |
unknown | Estimated date of delivery to the buyer | |
requestedPickupDate |
unknown | Requested date for pickup by carrier | |
scheduledShipDate |
unknown | Scheduled date for shipment | |
salesOrderDate |
unknown | Date the supplier created the corresponding sales order in their system. Uncommon — the more typical BAK09 usage (acknowledgment creation date) is handled in mapping and not exposed as a field. | |
parties |
object | Parties involved in the acknowledgment. Includes contact information where available. | |
buyer |
object | Buying party who is purchasing the product or service | |
name |
string | Party name or company name | |
additionalName1 |
string | Additional name line 1 | |
additionalName2 |
string | Additional name line 2 | |
identificationCode |
string | Party identification code value | |
identificationCodeType |
string | Type of identification code Values: sendersId receiversId duns plantCode dunsPlus4 drugEnforcementAdmin telephone federalReserveRouting standardAddressSAN healthIndustryHIN warehouse schoolId memberId stateLicenseId globalLocationId |
|
addressLine1 |
string | Street address line 1 | |
addressLine2 |
string | Street address line 2 | |
addressLine3 |
string | Street address line 3 | |
addressLine4 |
string | Street address line 4 | |
city |
string | City name | |
stateOrProvinceCode |
string | State or province code | |
postalCode |
string | Postal or ZIP code | |
countryCode |
string | Country code (ISO) | |
zoneType |
string | Address zone type Values: residential commercial |
|
contacts |
array | Contact persons for this party | |
type |
string | ✓ | Type of contact. Default to 'primary' for party-level (N1_loop) PER segments and context-routed header-level PER segments — the parent party's role provides the context. Use other types only to distinguish multiple contacts within a single party (e.g. 'hazmat' for HM, 'shipping' for SD). Values: primary customerRelations orderInquiry department shipping receiving hazmat |
name |
string | Contact person name | |
phoneNumber |
string | Contact phone number. Default source is the comm-number paired with a TE qualifier (PER03/04, PER05/06, or PER07/08). If the partner guideline note on the comm-number element labels the value as a different comm type (e.g. "Fax #", "Email"), follow the note and route accordingly. | |
faxNumber |
string | Contact fax number. Default source is the comm-number paired with an FX qualifier (PER03/04, PER05/06, or PER07/08). If the partner guideline note on a comm-number element labels its value as fax even when the qualifier is TE/EM, follow the note and route the value here. | |
email |
string | Contact email address. Default source is the comm-number paired with an EM qualifier (PER03/04, PER05/06, or PER07/08). If the partner guideline note on the comm-number element labels the value as a different comm type, follow the note and route accordingly. | |
shipTo |
object | Ship-to location where goods will be delivered | |
name |
string | Party name or company name | |
additionalName1 |
string | Additional name line 1 | |
additionalName2 |
string | Additional name line 2 | |
identificationCode |
string | Party identification code value | |
identificationCodeType |
string | Type of identification code Values: sendersId receiversId duns plantCode dunsPlus4 drugEnforcementAdmin telephone federalReserveRouting standardAddressSAN healthIndustryHIN warehouse schoolId memberId stateLicenseId globalLocationId |
|
addressLine1 |
string | Street address line 1 | |
addressLine2 |
string | Street address line 2 | |
addressLine3 |
string | Street address line 3 | |
addressLine4 |
string | Street address line 4 | |
city |
string | City name | |
stateOrProvinceCode |
string | State or province code | |
postalCode |
string | Postal or ZIP code | |
countryCode |
string | Country code (ISO) | |
zoneType |
string | Address zone type Values: residential commercial |
|
contacts |
array | Contact persons for this party | |
type |
string | ✓ | Type of contact. Default to 'primary' for party-level (N1_loop) PER segments and context-routed header-level PER segments — the parent party's role provides the context. Use other types only to distinguish multiple contacts within a single party (e.g. 'hazmat' for HM, 'shipping' for SD). Values: primary customerRelations orderInquiry department shipping receiving hazmat |
name |
string | Contact person name | |
phoneNumber |
string | Contact phone number. Default source is the comm-number paired with a TE qualifier (PER03/04, PER05/06, or PER07/08). If the partner guideline note on the comm-number element labels the value as a different comm type (e.g. "Fax #", "Email"), follow the note and route accordingly. | |
faxNumber |
string | Contact fax number. Default source is the comm-number paired with an FX qualifier (PER03/04, PER05/06, or PER07/08). If the partner guideline note on a comm-number element labels its value as fax even when the qualifier is TE/EM, follow the note and route the value here. | |
email |
string | Contact email address. Default source is the comm-number paired with an EM qualifier (PER03/04, PER05/06, or PER07/08). If the partner guideline note on the comm-number element labels the value as a different comm type, follow the note and route accordingly. | |
shipFrom |
object | Ship-from location where goods will originate | |
name |
string | Party name or company name | |
additionalName1 |
string | Additional name line 1 | |
additionalName2 |
string | Additional name line 2 | |
identificationCode |
string | Party identification code value | |
identificationCodeType |
string | Type of identification code Values: sendersId receiversId duns plantCode dunsPlus4 drugEnforcementAdmin telephone federalReserveRouting standardAddressSAN healthIndustryHIN warehouse schoolId memberId stateLicenseId globalLocationId |
|
addressLine1 |
string | Street address line 1 | |
addressLine2 |
string | Street address line 2 | |
addressLine3 |
string | Street address line 3 | |
addressLine4 |
string | Street address line 4 | |
city |
string | City name | |
stateOrProvinceCode |
string | State or province code | |
postalCode |
string | Postal or ZIP code | |
countryCode |
string | Country code (ISO) | |
zoneType |
string | Address zone type Values: residential commercial |
|
contacts |
array | Contact persons for this party | |
type |
string | ✓ | Type of contact. Default to 'primary' for party-level (N1_loop) PER segments and context-routed header-level PER segments — the parent party's role provides the context. Use other types only to distinguish multiple contacts within a single party (e.g. 'hazmat' for HM, 'shipping' for SD). Values: primary customerRelations orderInquiry department shipping receiving hazmat |
name |
string | Contact person name | |
phoneNumber |
string | Contact phone number. Default source is the comm-number paired with a TE qualifier (PER03/04, PER05/06, or PER07/08). If the partner guideline note on the comm-number element labels the value as a different comm type (e.g. "Fax #", "Email"), follow the note and route accordingly. | |
faxNumber |
string | Contact fax number. Default source is the comm-number paired with an FX qualifier (PER03/04, PER05/06, or PER07/08). If the partner guideline note on a comm-number element labels its value as fax even when the qualifier is TE/EM, follow the note and route the value here. | |
email |
string | Contact email address. Default source is the comm-number paired with an EM qualifier (PER03/04, PER05/06, or PER07/08). If the partner guideline note on the comm-number element labels the value as a different comm type, follow the note and route accordingly. | |
supplier |
object | Supplier or vendor fulfilling the order | |
name |
string | Party name or company name | |
additionalName1 |
string | Additional name line 1 | |
additionalName2 |
string | Additional name line 2 | |
identificationCode |
string | Party identification code value | |
identificationCodeType |
string | Type of identification code Values: sendersId receiversId duns plantCode dunsPlus4 drugEnforcementAdmin telephone federalReserveRouting standardAddressSAN healthIndustryHIN warehouse schoolId memberId stateLicenseId globalLocationId |
|
addressLine1 |
string | Street address line 1 | |
addressLine2 |
string | Street address line 2 | |
addressLine3 |
string | Street address line 3 | |
addressLine4 |
string | Street address line 4 | |
city |
string | City name | |
stateOrProvinceCode |
string | State or province code | |
postalCode |
string | Postal or ZIP code | |
countryCode |
string | Country code (ISO) | |
zoneType |
string | Address zone type Values: residential commercial |
|
contacts |
array | Contact persons for this party | |
type |
string | ✓ | Type of contact. Default to 'primary' for party-level (N1_loop) PER segments and context-routed header-level PER segments — the parent party's role provides the context. Use other types only to distinguish multiple contacts within a single party (e.g. 'hazmat' for HM, 'shipping' for SD). Values: primary customerRelations orderInquiry department shipping receiving hazmat |
name |
string | Contact person name | |
phoneNumber |
string | Contact phone number. Default source is the comm-number paired with a TE qualifier (PER03/04, PER05/06, or PER07/08). If the partner guideline note on the comm-number element labels the value as a different comm type (e.g. "Fax #", "Email"), follow the note and route accordingly. | |
faxNumber |
string | Contact fax number. Default source is the comm-number paired with an FX qualifier (PER03/04, PER05/06, or PER07/08). If the partner guideline note on a comm-number element labels its value as fax even when the qualifier is TE/EM, follow the note and route the value here. | |
email |
string | Contact email address. Default source is the comm-number paired with an EM qualifier (PER03/04, PER05/06, or PER07/08). If the partner guideline note on the comm-number element labels the value as a different comm type, follow the note and route accordingly. | |
billTo |
object | Bill-to party for invoicing purposes | |
name |
string | Party name or company name | |
additionalName1 |
string | Additional name line 1 | |
additionalName2 |
string | Additional name line 2 | |
identificationCode |
string | Party identification code value | |
identificationCodeType |
string | Type of identification code Values: sendersId receiversId duns plantCode dunsPlus4 drugEnforcementAdmin telephone federalReserveRouting standardAddressSAN healthIndustryHIN warehouse schoolId memberId stateLicenseId globalLocationId |
|
addressLine1 |
string | Street address line 1 | |
addressLine2 |
string | Street address line 2 | |
addressLine3 |
string | Street address line 3 | |
addressLine4 |
string | Street address line 4 | |
city |
string | City name | |
stateOrProvinceCode |
string | State or province code | |
postalCode |
string | Postal or ZIP code | |
countryCode |
string | Country code (ISO) | |
zoneType |
string | Address zone type Values: residential commercial |
|
contacts |
array | Contact persons for this party | |
type |
string | ✓ | Type of contact. Default to 'primary' for party-level (N1_loop) PER segments and context-routed header-level PER segments — the parent party's role provides the context. Use other types only to distinguish multiple contacts within a single party (e.g. 'hazmat' for HM, 'shipping' for SD). Values: primary customerRelations orderInquiry department shipping receiving hazmat |
name |
string | Contact person name | |
phoneNumber |
string | Contact phone number. Default source is the comm-number paired with a TE qualifier (PER03/04, PER05/06, or PER07/08). If the partner guideline note on the comm-number element labels the value as a different comm type (e.g. "Fax #", "Email"), follow the note and route accordingly. | |
faxNumber |
string | Contact fax number. Default source is the comm-number paired with an FX qualifier (PER03/04, PER05/06, or PER07/08). If the partner guideline note on a comm-number element labels its value as fax even when the qualifier is TE/EM, follow the note and route the value here. | |
email |
string | Contact email address. Default source is the comm-number paired with an EM qualifier (PER03/04, PER05/06, or PER07/08). If the partner guideline note on the comm-number element labels the value as a different comm type, follow the note and route accordingly. | |
termsOfSale |
object | Payment terms and conditions | |
type |
string | Type of payment terms Values: basic basicDiscountOffered discountNotApplicable endOfMonth endOfMonth10 extended instant fixedDate proximo mutuallyDefined |
|
basisDate |
string | Date basis for calculating payment terms Values: invoiceDate receiptOfGoods deliveryDate shipDate mutuallyDefined gageApprovalDate specifiedDate acceptanceDate invoiceTransmissionDate effectiveDate |
|
discountPercent |
string | Discount percentage if paid early | |
discountDaysDue |
integer | Number of days to qualify for discount | |
discountDueDate |
unknown | Date by which payment must be made for discount | |
dayOfMonth |
integer | Day of month for payment | |
netDaysDue |
integer | Number of days until payment is due | |
netDueDate |
unknown | Date when payment is due | |
discountAmount |
string | Fixed discount amount | |
description |
string | Description of payment terms | |
paymentMethodType |
string | Method of payment Values: check letterOfCredit wireTransfer corporateTradePayment specialAccount directPayOthers |
|
references |
object | Reference numbers associated with the purchase order being acknowledged | |
accountNumber |
object | Account number or credit reference for the order | |
value |
string | The reference identifier value | |
description |
string | Additional description or context for the reference | |
arrivalCode |
object | Code indicating arrival information or instructions | |
value |
string | The reference identifier value | |
description |
string | Additional description or context for the reference | |
associatedPurchaseOrderNumber |
object | Related or parent purchase order number | |
value |
string | The reference identifier value | |
description |
string | Additional description or context for the reference | |
reservationNumber |
object | Reservation number | |
value |
string | The reference identifier value | |
description |
string | Additional description or context for the reference | |
customerOrderNumber |
object | Customer-assigned order number for tracking | |
value |
string | The reference identifier value | |
description |
string | Additional description or context for the reference | |
deliveryReference |
object | Reference number for delivery coordination | |
value |
string | The reference identifier value | |
description |
string | Additional description or context for the reference | |
divisionId |
object | Identifier for the business division placing the order | |
value |
string | The reference identifier value | |
description |
string | Additional description or context for the reference | |
departmentNumber |
object | Department number within the buying organization | |
value |
string | The reference identifier value | |
description |
string | Additional description or context for the reference | |
freightPayerReference |
object | Freight payer reference number | |
value |
string | The reference identifier value | |
description |
string | Additional description or context for the reference | |
internalCustomerNumber |
object | Internal customer identifier used by the buyer | |
value |
string | The reference identifier value | |
description |
string | Additional description or context for the reference | |
vendorNumber |
object | Vendor or supplier identifier assigned by the buyer | |
value |
string | The reference identifier value | |
description |
string | Additional description or context for the reference | |
merchandiseTypeCode |
object | Code classifying the type of merchandise | |
value |
string | The reference identifier value | |
description |
string | Additional description or context for the reference | |
pricingQuote |
object | Pricing quote reference number | |
value |
string | The reference identifier value | |
description |
string | Additional description or context for the reference | |
promotionNumber |
object | Promotional campaign or deal identifier | |
value |
string | The reference identifier value | |
description |
string | Additional description or context for the reference | |
storeNumber |
object | Retail store location identifier | |
value |
string | The reference identifier value | |
description |
string | Additional description or context for the reference | |
thirdPartyReferenceNumber |
object | Reference number from a third-party system | |
value |
string | The reference identifier value | |
description |
string | Additional description or context for the reference | |
warehouseStorageLocation |
object | Warehouse or storage location identifier | |
value |
string | The reference identifier value | |
description |
string | Additional description or context for the reference | |
carrierDetails |
object | Carrier and shipping details for the acknowledgment | |
routing |
array | Carrier routing and transportation method details | |
sequenceType |
string | Sequence in the routing chain Values: origin 1stAfterOrigin 4thAfterOrigin haulage |
|
standardCarrierAlphaCode |
string | SCAC code identifying the carrier | |
customCarrierCode |
string | Custom carrier identifier | |
transportationMethod |
string | Method of transportation. EDIFACT: prefer C001.8179 (transportMeansDescriptionCode) — its means/vessel-level codes match this enum directly. Fall back to C220.8067 (transportModeNameCode) ONLY when 8179 is absent; 8067 carries broad-mode codes only (1=Maritime, 2=Rail, 3=Road, 4=Air, 5=Mail, 6=Multimodal, 7=Fixed installation, 8=Inland water) which map loosely: 1→ocean, 2→rail, 3→supplierTruck, 4→air. Granular enum values (airExpress, oceanContainerized, trailer, etc.) cannot be recovered from 8067 — emit a SCHEMA GAP if neither path carries the partner value. Values: air airExpress airFreightForward backhaul bestWay commonCarrier consolidation customerPickup expeditedTruck lessThanTrailerLoad mail ocean oceanContainerized parcelPost privateCarrier rail shipperAgent supplierTruck trailer mutuallyDefined |
|
locationType |
string | Type of routing location Values: inStore receiversLocation allPoints portOfArrival portOfEmbarkation origin mutuallyDefined |
|
location |
string | Routing location identifier or name | |
description |
string | Description of routing details | |
serviceLevel |
string | Service level for shipping Values: deliveryConfirmation doorService economy eveningService expedited firstClass ground groundHundredWeight international metro morning nextDayAir nextDayHundredWeight nextDayEvening nextDayMorning1030 nextDayMorning930 nextDaySaturday overnight poBoxZipCode priorityMail priorityMailInsured proofOfDelivery sameDay saturdayService secondDay secondDayHundredWeight secondDayAir secondDaySaturday standard standardGround threeDay |
|
orderStatus |
string | Order shipping status Values: shipCompleteOnDate complete partialShipment shipPartialBackorderToShipOnDate partialShipOnDate shipped backordered mutuallyDefined availableScheduledToShip availableNoShipSchedule multiPickup availableToShipUnBilledQuantity stopOff |
|
transitDirectionType |
string | Direction of transit Values: buyerToSeller sellerToBuyer subcontractorToSeller sellerToDropShipLocation sellToForwarder sellerToSubcontractor mutuallyDefined |
|
transitTimeType |
string | Unit for transit time Values: calendarDays hours workingDays |
|
transitTime |
string | Expected transit time value | |
freeOnBoard |
array | FOB (Free on Board) terms and conditions | |
methodOfPayment |
string | Freight payment method Values: airCollect airPrepaid paidByBuyer collect mutuallyAgreed portOfCall halfPrepaid mixed serviceFreightNoCharge advancePrepaid customerPickupBackhaul prepaidChargeCustomer prepaidBySeller paidBySeller pickup thirdPartyPay |
|
locationType |
string | Type of FOB location Values: cityAndState country destination origin stateProvince warehouse |
|
locationDescription |
string | Description of FOB location | |
titlePassageType |
string | Type of title passage location Values: cityAndState country destination origin stateProvince warehouse |
|
titlePassageDescription |
string | Description of title passage location | |
transportationTermsSource |
string | Source of transportation terms Values: incoTerms tradeTerms mutuallyDefined |
|
transportationTerms |
string | Incoterms or trade terms code Values: costAndFreight costInsuranceAndFreight carriageAndInsurancePaidTo carriagePaidTo deliveredAtFrontier deliverDutyPaid deliverDutyUnpaid deliveredDutyUnpaid deliveredExQuay deliveredExShip domesticallySupplied exQuay exShip exWorks freeAlongsideShip freeCarrier freightCarriageInsurancePaidTo freightCarriagePaidTo freeOnBoard freeOnRail freeOnTruck nonPrivilegedForeign privilegedForeign mutuallyDefined |
|
riskOfLoss |
string | Risk of loss transfer point Values: toDestinationBuyer toFreightEqPointSeller toPoolPointSeller toDestinationSeller mutuallyDefined |
|
description |
string | Additional FOB description | |
allowances |
array | Allowances or discounts applied to the order | |
type |
string | ✓ | Type of allowance or charge Values: advertising defectiveAllowance discount freight handling newStore other promotionalAllowance quantityDiscount rebate restocking serviceAtPickupOrDelivery shipping shippingAndHandling swell unsaleableMerchandiseAllowance volume warehouse |
amount |
string | Fixed amount of allowance or charge | |
percent |
string | Percentage of allowance or charge | |
percentBasis |
string | Basis for calculating percentage Values: basePrice |
|
methodOfHandling |
string | How the charge is handled Values: collect paidByVendor paidByCustomer prepaid |
|
description |
string | Description of the allowance or charge | |
charges |
array | Additional charges applied to the order | |
type |
string | ✓ | Type of allowance or charge Values: advertising defectiveAllowance discount freight handling newStore other promotionalAllowance quantityDiscount rebate restocking serviceAtPickupOrDelivery shipping shippingAndHandling swell unsaleableMerchandiseAllowance volume warehouse |
amount |
string | Fixed amount of allowance or charge | |
percent |
string | Percentage of allowance or charge | |
percentBasis |
string | Basis for calculating percentage Values: basePrice |
|
methodOfHandling |
string | How the charge is handled Values: collect paidByVendor paidByCustomer prepaid |
|
description |
string | Description of the allowance or charge | |
lineItems |
array | Line items with their acknowledgment status and details | |
purchaseOrderLineId |
string | Line item identifier from the original purchase order | |
productIds |
object | ✓ | Product identification codes such as UPC, SKU, or vendor item number |
buyerItemNumber |
string | Buyer-assigned item number | |
vendorItemNumber |
string | Vendor-assigned item number (EDIFACT LIN/PIA supplier's item number) | |
gtin12 |
string | GTIN-12 (UPC-A) barcode | |
gtin13 |
string | GTIN-13 (EAN) barcode | |
gtin14 |
string | GTIN-14 (ITF-14) case code barcode | |
caseCode |
string | Case code identifier | |
drugCode |
string | National Drug Code (NDC) | |
standardBookNumber |
string | ISBN or standard book number | |
buyerItemIds |
array | Additional buyer product identifiers | |
type |
string | ✓ | Type of product identifier Values: catalog manufacturerPart sku style |
value |
string | ✓ | Product identifier value |
vendorItemIds |
array | Additional vendor product identifiers | |
type |
string | ✓ | Type of product identifier Values: catalog manufacturerPart sku style |
value |
string | ✓ | Product identifier value |
productAttributes |
object | Product attributes such as color, size, and description | |
description |
string | General product description. Sourced from X12 PID05 when PID02="08" (Product Description, general) or when PID02 is absent. In EDIFACT, sourced from EVERY IMD composite for this line item where itemDescriptionCode="SP" (Product) — there may be MULTIPLE matching IMD repetitions per line item, and ALL of them must be included. Within each matching IMD, concatenate itemDescription + itemDescription_1 (the continuation field) with a single space; then $join those per-IMD strings across ALL matching IMDs with a single space separator. Do NOT pick only the first matching IMD — partners commonly split a long description across multiple IMD segments because each itemDescription element is capped at 35 characters. The qualifier code "SP" (or X12 "08") is positional — it identifies which IMDs carry the product description, and must NOT be reported as a schema gap. | |
shortDescription |
string | {"description":"Short product description"} | |
brand |
string | Brand or label name for the product | |
colorCode |
string | Color code identifier | |
colorDescription |
string | Color description text | |
sizeCode |
string | Size code identifier | |
sizeDescription |
string | Size description text | |
materialCode |
string | Material code identifier | |
materialDescription |
string | Material description text | |
materialAttributes |
object | ||
type |
string | Material type or classification | |
grade |
string | Material grade or quality tier (e.g., prime, excessPrime, waste) | |
annealMethod |
string | Annealing method applied to the material | |
temper |
string | Heat treatment or mechanical processing state of the material | |
finish |
string | Surface finish or texture applied to the material | |
outerCoating |
string | Outer surface coating or plating | |
innerCoating |
string | Inner surface coating or plating | |
surfaceProtection |
string | Surface protection method or specification | |
treatment |
string | Chemical or mechanical treatment applied to the material | |
weld |
string | Welding specification or classification for the material | |
processCode |
string | Process code identifier | |
processDescription |
string | Process description text | |
height |
string | Product height dimension | |
length |
string | Product length dimension | |
width |
string | Product width dimension | |
dimensionUOM |
string | Unit of measure for product dimensions Values: standardCubicFoot boardFeet hundredBoardFeet cubicDecimeter cubicCentimeter cubicFeet cubicInches centimeter cubicMeter cubicYard decimeter foot hundredFeet hundredFeetLinear hundredSquareFeet hundredYards inch linearFoot linearMeter linearYard millimeter meter squareFoot squareInches squareMeter squareYard thousandSquareInches thousandFeetLinear thousandFeetBoard tenSquareFeet thousandSquareFeet yard |
|
orderQuantity |
object | Quantity originally requested on the purchase order. Compare against an accepted action's quantity to detect changes. | |
value |
string | ✓ | Numeric quantity value |
unitOfMeasure |
string | Unit of measure for the quantity Values: assembly assortment bag bale ball bar barrel belt bin block boardFeet bolt book bottle box bulk bundle bushel cake can card carton cartridge case cassette celsius cell centigram centiliter centimeter coil combo cone container count cover display dozen drum each flakeTon foot gallon gram gramsPerLiter inch kilogram kit knots linearFoot liter meter milliliter monetaryValue ocularInsertSystem order ounce packPAK package pad pail pair pairInches palletLift palletUnitLoad person piece pint pound poundEquivalent poundGross quart reel roll section set sheet sixPack squareFoot syringe thousand threePack tote tube unit vial |
|
orderUnitPrice |
string | Unit price originally requested on the purchase order. Compare against an accepted action's unitCostPrice to detect price changes. | |
requestedShipDate |
unknown | Ship date originally requested on the purchase order. Compare against an accepted action's scheduledShipDate to detect date changes. | |
requestedDeliveryDate |
unknown | Delivery date originally requested on the purchase order. Compare against an accepted action's estimatedDeliveryDate to detect date changes. | |
carrierDetails |
object | Carrier and shipping details for this line item | |
routing |
array | Carrier routing information for this line item | |
sequenceType |
string | Sequence in the routing chain Values: origin 1stAfterOrigin 4thAfterOrigin haulage |
|
standardCarrierAlphaCode |
string | SCAC code identifying the carrier | |
customCarrierCode |
string | Custom carrier identifier | |
transportationMethod |
string | Method of transportation. EDIFACT: prefer C001.8179 (transportMeansDescriptionCode) — its means/vessel-level codes match this enum directly. Fall back to C220.8067 (transportModeNameCode) ONLY when 8179 is absent; 8067 carries broad-mode codes only (1=Maritime, 2=Rail, 3=Road, 4=Air, 5=Mail, 6=Multimodal, 7=Fixed installation, 8=Inland water) which map loosely: 1→ocean, 2→rail, 3→supplierTruck, 4→air. Granular enum values (airExpress, oceanContainerized, trailer, etc.) cannot be recovered from 8067 — emit a SCHEMA GAP if neither path carries the partner value. Values: air airExpress airFreightForward backhaul bestWay commonCarrier consolidation customerPickup expeditedTruck lessThanTrailerLoad mail ocean oceanContainerized parcelPost privateCarrier rail shipperAgent supplierTruck trailer mutuallyDefined |
|
locationType |
string | Type of routing location Values: inStore receiversLocation allPoints portOfArrival portOfEmbarkation origin mutuallyDefined |
|
location |
string | Routing location identifier or name | |
description |
string | Description of routing details | |
serviceLevel |
string | Service level for shipping Values: deliveryConfirmation doorService economy eveningService expedited firstClass ground groundHundredWeight international metro morning nextDayAir nextDayHundredWeight nextDayEvening nextDayMorning1030 nextDayMorning930 nextDaySaturday overnight poBoxZipCode priorityMail priorityMailInsured proofOfDelivery sameDay saturdayService secondDay secondDayHundredWeight secondDayAir secondDaySaturday standard standardGround threeDay |
|
orderStatus |
string | Order shipping status Values: shipCompleteOnDate complete partialShipment shipPartialBackorderToShipOnDate partialShipOnDate shipped backordered mutuallyDefined availableScheduledToShip availableNoShipSchedule multiPickup availableToShipUnBilledQuantity stopOff |
|
transitDirectionType |
string | Direction of transit Values: buyerToSeller sellerToBuyer subcontractorToSeller sellerToDropShipLocation sellToForwarder sellerToSubcontractor mutuallyDefined |
|
transitTimeType |
string | Unit for transit time Values: calendarDays hours workingDays |
|
transitTime |
string | Expected transit time value | |
freeOnBoard |
array | FOB (Free on Board) terms and conditions for this line item | |
methodOfPayment |
string | Freight payment method Values: airCollect airPrepaid paidByBuyer collect mutuallyAgreed portOfCall halfPrepaid mixed serviceFreightNoCharge advancePrepaid customerPickupBackhaul prepaidChargeCustomer prepaidBySeller paidBySeller pickup thirdPartyPay |
|
locationType |
string | Type of FOB location Values: cityAndState country destination origin stateProvince warehouse |
|
locationDescription |
string | Description of FOB location | |
titlePassageType |
string | Type of title passage location Values: cityAndState country destination origin stateProvince warehouse |
|
titlePassageDescription |
string | Description of title passage location | |
transportationTermsSource |
string | Source of transportation terms Values: incoTerms tradeTerms mutuallyDefined |
|
transportationTerms |
string | Incoterms or trade terms code Values: costAndFreight costInsuranceAndFreight carriageAndInsurancePaidTo carriagePaidTo deliveredAtFrontier deliverDutyPaid deliverDutyUnpaid deliveredDutyUnpaid deliveredExQuay deliveredExShip domesticallySupplied exQuay exShip exWorks freeAlongsideShip freeCarrier freightCarriageInsurancePaidTo freightCarriagePaidTo freeOnBoard freeOnRail freeOnTruck nonPrivilegedForeign privilegedForeign mutuallyDefined |
|
riskOfLoss |
string | Risk of loss transfer point Values: toDestinationBuyer toFreightEqPointSeller toPoolPointSeller toDestinationSeller mutuallyDefined |
|
description |
string | Additional FOB description | |
allowances |
array | Allowances or discounts applied to this line item | |
type |
string | ✓ | Type of allowance or charge Values: advertising defectiveAllowance discount freight handling newStore other promotionalAllowance quantityDiscount rebate restocking serviceAtPickupOrDelivery shipping shippingAndHandling swell unsaleableMerchandiseAllowance volume warehouse |
amount |
string | Fixed amount of allowance or charge | |
percent |
string | Percentage of allowance or charge | |
percentBasis |
string | Basis for calculating percentage Values: basePrice |
|
methodOfHandling |
string | How the charge is handled Values: collect paidByVendor paidByCustomer prepaid |
|
description |
string | Description of the allowance or charge | |
charges |
array | Additional charges applied to this line item | |
type |
string | ✓ | Type of allowance or charge Values: advertising defectiveAllowance discount freight handling newStore other promotionalAllowance quantityDiscount rebate restocking serviceAtPickupOrDelivery shipping shippingAndHandling swell unsaleableMerchandiseAllowance volume warehouse |
amount |
string | Fixed amount of allowance or charge | |
percent |
string | Percentage of allowance or charge | |
percentBasis |
string | Basis for calculating percentage Values: basePrice |
|
methodOfHandling |
string | How the charge is handled Values: collect paidByVendor paidByCustomer prepaid |
|
description |
string | Description of the allowance or charge | |
isChanged |
boolean | Whether this line differs from the original purchase order — true when the sender changed quantity, price, ship/delivery date, or the item itself (substitution), or when the line is rejected, backordered, or on hold; false when the line is accepted exactly as ordered. A recipient-facing rollup of the line's actions that pairs with the header detailLevel field: when detailLevel is 'exceptionsOnly', only lines with isChanged=true are present. | |
actions |
array | ✓ | Actions taken on this line item (accepted, rejected, or backordered) |
status |
string | The fields available for each item in this array depend on the value of status ("accepted", "rejected", "backordered", "onHold"). Expand a value below to see its specific fields. |
|
statusNote |
object | Additional notes or comments about the acceptance | |
description |
string | Brief description or title of the note | |
text |
array of string | Array of text lines for the note content | |
quantity |
object | Confirmed quantity for this line item. When sending: include only if changing from the original purchase order. When receiving: always populated via mapping — compare against the line item's orderQuantity to detect changes. | |
value |
string | ✓ | Numeric quantity value |
unitOfMeasure |
string | Unit of measure for the quantity Values: assembly assortment bag bale ball bar barrel belt bin block boardFeet bolt book bottle box bulk bundle bushel cake can card carton cartridge case cassette celsius cell centigram centiliter centimeter coil combo cone container count cover display dozen drum each flakeTon foot gallon gram gramsPerLiter inch kilogram kit knots linearFoot liter meter milliliter monetaryValue ocularInsertSystem order ounce packPAK package pad pail pair pairInches palletLift palletUnitLoad person piece pint pound poundEquivalent poundGross quart reel roll section set sheet sixPack squareFoot syringe thousand threePack tote tube unit vial |
|
scheduledShipDate |
unknown | Scheduled date for shipment | |
estimatedDeliveryDate |
unknown | Estimated date of delivery | |
unitCostPrice |
string | Confirmed unit price for this line item. When sending: include only if changing from the original purchase order. When receiving: always populated via mapping — compare against the line item's orderUnitPrice to detect price changes. | |
substitutedItem |
object | Details of a substitute item being shipped instead | |
productIds |
object | ✓ | Product identifiers for the substituted item |
buyerItemNumber |
string | Buyer-assigned item number | |
vendorItemNumber |
string | Vendor-assigned item number (EDIFACT LIN/PIA supplier's item number) | |
gtin12 |
string | GTIN-12 (UPC-A) barcode | |
gtin13 |
string | GTIN-13 (EAN) barcode | |
gtin14 |
string | GTIN-14 (ITF-14) case code barcode | |
caseCode |
string | Case code identifier | |
drugCode |
string | National Drug Code (NDC) | |
standardBookNumber |
string | ISBN or standard book number | |
buyerItemIds |
array | Additional buyer product identifiers | |
type |
string | ✓ | Type of product identifier Values: catalog manufacturerPart sku style |
value |
string | ✓ | Product identifier value |
vendorItemIds |
array | Additional vendor product identifiers | |
type |
string | ✓ | Type of product identifier Values: catalog manufacturerPart sku style |
value |
string | ✓ | Product identifier value |
statusReasonCode |
string | Reason code explaining why the item was rejected Values: discontinued invalidAddress invalidBillToCode invalidItemNumber invalidPrice invalidItemQuantity invalidShipFrom invalidShipMethod invalidShipToName invalidShipToAddress1 invalidShipToAddress2 invalidShipToCity invalidShipToStateOrProvince invalidShipToPostalCode invalidShipToCountry itemRecall itemSetupIssue mainlandOnly missingLineItemId missingOrderId missingShipId naturalDisaster outOfStock seasonalOrEndOfLife shippingInFull systemIssue taxNexusIssue transportationIssuePrepaid transportationIssueCollect undeliverableAddress weather |
|
statusNote |
object | Additional notes or comments about the rejection | |
description |
string | Brief description or title of the note | |
text |
array of string | Array of text lines for the note content | |
quantity |
object | Quantity being rejected | |
value |
string | ✓ | Numeric quantity value |
unitOfMeasure |
string | Unit of measure for the quantity Values: assembly assortment bag bale ball bar barrel belt bin block boardFeet bolt book bottle box bulk bundle bushel cake can card carton cartridge case cassette celsius cell centigram centiliter centimeter coil combo cone container count cover display dozen drum each flakeTon foot gallon gram gramsPerLiter inch kilogram kit knots linearFoot liter meter milliliter monetaryValue ocularInsertSystem order ounce packPAK package pad pail pair pairInches palletLift palletUnitLoad person piece pint pound poundEquivalent poundGross quart reel roll section set sheet sixPack squareFoot syringe thousand threePack tote tube unit vial |
|
statusReasonCode |
string | Reason code explaining why the item is backordered Values: discontinued invalidAddress invalidBillToCode invalidItemNumber invalidPrice invalidItemQuantity invalidShipFrom invalidShipMethod invalidShipToName invalidShipToAddress1 invalidShipToAddress2 invalidShipToCity invalidShipToStateOrProvince invalidShipToPostalCode invalidShipToCountry itemRecall itemSetupIssue mainlandOnly missingLineItemId missingOrderId missingShipId naturalDisaster outOfStock seasonalOrEndOfLife shippingInFull systemIssue taxNexusIssue transportationIssuePrepaid transportationIssueCollect undeliverableAddress weather |
|
statusNote |
object | Additional notes or comments about the backorder | |
description |
string | Brief description or title of the note | |
text |
array of string | Array of text lines for the note content | |
quantity |
object | Quantity being backordered | |
value |
string | ✓ | Numeric quantity value |
unitOfMeasure |
string | Unit of measure for the quantity Values: assembly assortment bag bale ball bar barrel belt bin block boardFeet bolt book bottle box bulk bundle bushel cake can card carton cartridge case cassette celsius cell centigram centiliter centimeter coil combo cone container count cover display dozen drum each flakeTon foot gallon gram gramsPerLiter inch kilogram kit knots linearFoot liter meter milliliter monetaryValue ocularInsertSystem order ounce packPAK package pad pail pair pairInches palletLift palletUnitLoad person piece pint pound poundEquivalent poundGross quart reel roll section set sheet sixPack squareFoot syringe thousand threePack tote tube unit vial |
|
scheduledShipDate |
unknown | Scheduled date for shipment of backordered items | |
estimatedDeliveryDate |
unknown | Estimated delivery date for backordered items | |
statusNote |
object | Additional notes or comments about the hold | |
description |
string | Brief description or title of the note | |
text |
array of string | Array of text lines for the note content | |
quantity |
object | Quantity on hold | |
value |
string | ✓ | Numeric quantity value |
unitOfMeasure |
string | Unit of measure for the quantity Values: assembly assortment bag bale ball bar barrel belt bin block boardFeet bolt book bottle box bulk bundle bushel cake can card carton cartridge case cassette celsius cell centigram centiliter centimeter coil combo cone container count cover display dozen drum each flakeTon foot gallon gram gramsPerLiter inch kilogram kit knots linearFoot liter meter milliliter monetaryValue ocularInsertSystem order ounce packPAK package pad pail pair pairInches palletLift palletUnitLoad person piece pint pound poundEquivalent poundGross quart reel roll section set sheet sixPack squareFoot syringe thousand threePack tote tube unit vial |
{
"type": "855_PURCHASE_ORDER_ACKNOWLEDGMENT",
"stream": "test",
"senderId": "SELLERISA",
"receiverId": "BUYERISA",
"message": {
"purchaseOrderNumber": "PO5786344061670677",
"status": "accepted",
"statusNote": {
"description": "Order Confirmation",
"text": [
"Order acknowledged with exceptions on lines 3 and 5.",
"Purple toothpaste is out of stock and cannot be backordered per PO instructions.",
"Placeholder SKU substituted with equivalent test product."
]
},
"dates": {
"purchaseOrderDate": "2026-02-12",
"scheduledShipDate": "2026-02-19",
"estimatedDeliveryDate": "2026-02-21"
},
"parties": {
"shipFrom": {
"name": "Toothpaste Warehouse West",
"identificationCode": "WH-WEST-01",
"identificationCodeType": "warehouse",
"addressLine1": "2200 Distribution Pkwy",
"city": "Edison",
"stateOrProvinceCode": "NJ",
"postalCode": "08817",
"countryCode": "US",
"contacts": [
{
"type": "shipping",
"name": "Fulfillment Desk",
"phoneNumber": "732-555-0100",
"email": "[email protected]"
}
]
},
"supplier": {
"name": "Toothpaste Co.",
"identificationCode": "4875905",
"identificationCodeType": "sendersId",
"addressLine1": "500 Oral Care Blvd",
"city": "Newark",
"stateOrProvinceCode": "NJ",
"postalCode": "07102",
"countryCode": "US",
"contacts": [
{
"type": "primary",
"name": "Order Management",
"phoneNumber": "973-555-0200",
"email": "[email protected]"
}
]
}
},
"termsOfSale": {
"type": "basic",
"basisDate": "deliveryDate",
"discountPercent": "1",
"discountDaysDue": 45,
"description": "Net 45 Days"
},
"references": {
"vendorNumber": {
"value": "4875905"
},
"departmentNumber": {
"value": "011"
}
},
"lineItems": [
{
"purchaseOrderLineId": "1",
"productIds": {
"buyerItemNumber": "10000002",
"gtin12": "002837465832"
},
"productAttributes": {
"description": "Green toothpaste"
},
"actions": [
{
"status": "accepted",
"quantity": {
"value": "5",
"unitOfMeasure": "each"
},
"unitCostPrice": "101.00",
"scheduledShipDate": "2026-02-19",
"estimatedDeliveryDate": "2026-02-21"
}
]
},
{
"purchaseOrderLineId": "2",
"productIds": {
"buyerItemNumber": "10000004",
"gtin12": "002837465837"
},
"productAttributes": {
"description": "Orange toothpaste"
},
"actions": [
{
"status": "accepted",
"quantity": {
"value": "20",
"unitOfMeasure": "each"
},
"unitCostPrice": "88.00",
"scheduledShipDate": "2026-02-19",
"estimatedDeliveryDate": "2026-02-21"
}
]
},
{
"purchaseOrderLineId": "3",
"productIds": {
"buyerItemNumber": "10000003",
"gtin12": "002837465836"
},
"productAttributes": {
"description": "Purple toothpaste"
},
"actions": [
{
"status": "rejected",
"statusReasonCode": "outOfStock",
"statusNote": {
"description": "Out of Stock",
"text": [
"Purple toothpaste is currently unavailable.",
"Do-not-backorder instruction honored. Please reorder when stock replenishes."
]
},
"quantity": {
"value": "5",
"unitOfMeasure": "each"
}
}
]
},
{
"purchaseOrderLineId": "4",
"productIds": {
"buyerItemNumber": "10000001",
"gtin12": "002837465831"
},
"productAttributes": {
"description": "Yellow toothpaste"
},
"actions": [
{
"status": "accepted",
"quantity": {
"value": "10",
"unitOfMeasure": "each"
},
"unitCostPrice": "95.00",
"scheduledShipDate": "2026-02-19",
"estimatedDeliveryDate": "2026-02-21",
"statusNote": {
"description": "Price Adjustment",
"text": ["Unit price reduced from $100.00 to $95.00 per promotional agreement."]
}
}
]
},
{
"purchaseOrderLineId": "5",
"productIds": {
"buyerItemNumber": "ORDERFUL-TEST-SKU-005",
"gtin12": "012345678005"
},
"productAttributes": {
"description": "Placeholder product for scenario testing"
},
"actions": [
{
"status": "accepted",
"quantity": {
"value": "5",
"unitOfMeasure": "each"
},
"unitCostPrice": "19.99",
"scheduledShipDate": "2026-02-19",
"estimatedDeliveryDate": "2026-02-21",
"substitutedItem": {
"productIds": {
"buyerItemNumber": "ORDERFUL-TEST-SKU-005A",
"gtin12": "012345678015"
}
},
"statusNote": {
"description": "Substitution",
"text": ["Original test SKU replaced with updated revision SKU-005A at same price."]
}
}
]
}
]
}
}

