DataShift Logo
Back to schemas
POAPurchaseOrderAcknowledgement

Purchase Order Acknowledgement

Supplier confirmation or change response for a purchase order.

A Purchase Order Acknowledgement records the supplier's response to a buyer order. It can accept, reject, backorder, or qualify order lines, and it carries expected delivery, quantity, price, substitution, and comment details that help the buyer resolve exceptions before shipment.

Lifecycle And Correlation

Lifecycle Position

Follows PO receipt and precedes shipment, giving the buyer an explicit supplier response.

Correlation Guidance

Each acknowledgement should identify the original data.poNumber and preserve data.lineItems[].uniqueLineKey from the PO. Sender intent belongs in supplierLineStatus; system-calculated status belongs in statusType. Lines without a known uniqueLineKey require manual review rather than automatic fallback matching.

Validation Notes

  • Require poaNumber, poNumber, noticeDate, and lineItems before applying acknowledgement logic.
  • Validate confirmationType and supplierLineStatus as separate concepts.
  • For updates, include documentReference so the previous confirmation can be identified.
  • When requireAllLines is enabled, completeness is evaluated by uniqueLineKey only.
  • Keep quantity values numeric and use the same unit of measure context as the source order when applicable.

Mapping Notes

  • Map supplier response intent to supplierLineStatus and allow DataShift to calculate statusType.
  • Preserve the PO uniqueLineKey on every line that is acknowledged.
  • Represent backorders with quantityBackordered and dates instead of free-text only.
  • Use substitution only when the supplier is offering a different item.

Operational Notes

  • Use poaNumber for duplicate detection when the supplier resends the same acknowledgement.
  • Route missing or unknown uniqueLineKey values to manual review instead of guessing from line order.

Implementation Pitfalls

  • Do not expect POA lines without uniqueLineKey to auto-match by lineNumber or item details.
  • Do not acknowledge a line without preserving its correlation reference.
  • Do not map sender intent into statusType; use supplierLineStatus.
  • Do not treat an order-level accept as proof that every line is unchanged when line details are present.

Endpoints

Use the schema endpoint for machine validation and the document page for implementation guidance.

GET

Download Purchase Order Acknowledgement schema

application/schema+jsonapplication/json
/contracts/releases/1.0.6/schemas/purchase-order-acknowledgement.schema.json

Purchase Order Acknowledgement JSON Schema

GET

Purchase Order Acknowledgement

text/html
/schemas/purchase-order-acknowledgement

Purchase Order Acknowledgement documentation page

Model

The contract is shown in reading order. The envelope identifies the document, metadata captures source context, and data contains the business payload and nested line structures.

DataShift-managed systemManaged fields

DataShift populates, preserves, or recalculates these values for correlation, lifecycle matching, validation, and auditability. They are visible in the model so implementers know which fields are controlled by the platform instead of manual partner mappings.

Envelope

PurchaseOrderAcknowledgement
5 fields5 required3 managed

Public canonical Purchase Order Acknowledgement contract used by suppliers to accept, reject, backorder, or qualify purchase order lines.

docType
RequiredDataShift-managed system
object

Canonical document type. For purchase order acknowledgements this value is POA.

POA
correlationId
RequiredDataShift-managed system
string (uuid)

Stable UUID used to trace this acknowledgement against the purchase order lifecycle.

timestamp
RequiredDataShift-managed system
string (date-time)

UTC timestamp indicating when DataShift created the canonical acknowledgement.

Metadata

PurchaseOrderAcknowledgementMetadata
4 fields3 required

Public source metadata retained for integration troubleshooting.

sourceLanguage
Required
enum
jsoncxml
sourceVersion
Required
object

Canonical schema version used to create this document

1.0.6
payloadId
string

Original cXML payload ID

userAgent
Required
object

DataShift Edge version that generated the canonical document

DataShift Edge v1

Data

PurchaseOrderAcknowledgementData
20 fields4 required1 managed

Business payload for the acknowledgement.

poaNumber
Required
string

Supplier-assigned acknowledgement identifier used for duplicate detection and support references.

confirmationType
DataShift-managed system
enum

DataShift-managed order-level acknowledgement outcome calculated from line-level status and tolerance validation.

acceptrejectexceptdetailbackorderedallDetailreplace
operation
enum

Whether this creates, updates, or deletes a confirmation

newupdatedelete
noticeDate
Required
string (date-time)

Date and time the supplier created the acknowledgement.

poNumber
Required
string

Purchase order number being acknowledged.

poVersion
string

Purchase order version being acknowledged.

orderReference
object

Reference to the original purchase order document

Object fieldsExpand
documentId
string
payloadId
string
orderDate
string (date-time)
documentReference
object

Reference to previous confirmation (required for operation=update/delete)

Object fieldsExpand
documentId
string
payloadId
string
deliveryDate
string (date-time)

Expected delivery business date-time. Valid ISO offsets are allowed.

dropship
boolean

Indicates if this is a direct ship/dropship order

invoiceId
string

Optional supplier-generated invoice ID associated with this confirmation

shipping
object

Commercial freight charges and instructions.

Object fieldsExpand
amount
number
currency
enum

ISO 4217 currency codes supported by DataShift canonical schemas

AUD
carrier
string

Carrier name

route
string

Shipping route method

shippingInstructions
string

Detailed shipping instructions

buyerAcctNumber
string

Buyer's shipping account number

incoTerms
enum

International Commercial Terms

cfrcifcipcptdafdapddpddudpudeqdesexwfasfcafob
tax
object

Tax adjustments from original order

Object fieldsExpand
amount
number
currency
enum

ISO 4217 currency codes supported by DataShift canonical schemas

AUD
total
object

Order total adjustments

Object fieldsExpand
amount
number
currency
enum

ISO 4217 currency codes supported by DataShift canonical schemas

AUD
contacts
object[]

Contact information for various roles

Object fieldsExpand
role
Required
enum
shipFromshipTobillTotechnicalSupportcustomerServicesalesbuyer
name
string
email
string
phone
string
billTo
object

Standard address structure for DataShift canonical documents

Object fieldsExpand
addressId
string
addressee
string
street1
Required
string
street2
string
city
Required
string
state
Required
string
postalCode
Required
string
country
Required
enum
AU
shipTo
object

Standard address structure for DataShift canonical documents

Object fieldsExpand
addressId
string
addressee
string
street1
Required
string
street2
string
city
Required
string
state
Required
string
postalCode
Required
string
country
Required
enum
AU
comments
string

Human-readable notes about this confirmation

lineItems
Required

Acknowledgement lines. DataShift manages uniqueLineKey correlation where needed.

extrinsics
object

Partner-specific extension fields that are not part of the canonical core contract.

Line Responses

PurchaseOrderAcknowledgementLineItem
25 fields1 required2 managed
lineNumber
Required
integer

Line number from the original purchase order.

uniqueLineKey
DataShift-managed system
string

DataShift-managed stable line key from the original purchase order, used by internal connectors for cross-document correlation.

statusType
DataShift-managed system
enum

System-calculated status based on tolerance validation. Not mappable by sender; use supplierLineStatus for sender intent.

acceptrejectbackorderedunknowndetailallDetail
supplierLineStatus
enum

Supplier-provided line acknowledgement intent. Defaults to unknown when omitted or blank.

acceptrejectbackorderedunknown
supplierItemId
string

Supplier's part/item number

supplierItemAuxiliaryId
string

Supplier's alternate/auxiliary part ID

buyerItemId
string

Buyer's part/item number

gtin
string

Global Trade Item Number (GTIN-8, GTIN-12, GTIN-13, or GTIN-14)

description
string

Item description

originalQuantity
number

Quantity originally ordered

confirmedQuantity
number

Quantity the supplier confirms for this line.

quantityBackordered
number

Quantity backordered by the supplier

unitOfMeasure
enum

UN/ECE Recommendation 20 unit of measure codes for DataShift canonical documents

AYBGBLBRBLLE2BOBXBJBEKACACGCTCQCSCMTCLCHMTQCYDAYDCDZNDREAFOTGRMHURCENINHJRKGMKMTKTLNLKLTRMTRTNEMLTMMTMONPKPDPLPRD97C62PGLBRRLROSASESETSTSOMTKU3MILTUWEE
unitPrice
number

Confirmed unit price (if different from order)

currency
enum

ISO 4217 currency codes supported by DataShift canonical schemas

AUD
unitPriceUom
string

Unit of measure for price basis (e.g., price per 100)

lineTotalExTax
number
lineTotalInclTax
number
classificationDomain
string

Product classification domain

classificationCode
string

Product classification code

shipmentDate
string (date-time)

Expected or actual shipment date for this line

deliveryDate
string (date-time)

Expected delivery date for this line

rejectionReason
string

Reason for rejection or backorder

substitution
object

Substitute item details if supplier is offering an alternative

Object fieldsExpand
supplierItemId
string
buyerItemId
string
description
string
quantity
number
unitOfMeasure
enum

UN/ECE Recommendation 20 unit of measure codes for DataShift canonical documents

AYBGBLBRBLLE2BOBXBJBEKACACGCTCQCSCMTCLCHMTQCYDAYDCDZNDREAFOTGRMHURCENINHJRKGMKMTKTLNLKLTRMTRTNEMLTMMTMONPKPDPLPRD97C62PGLBRRLROSASESETSTSOMTKU3MILTUWEE
unitPrice
number
comments
string

Line-level comments