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.
Contract Shape
Envelope
Identifies the acknowledgement document and traces it against the original order lifecycle.
docTypeAlways POA for purchase order acknowledgement payloads.
correlationIdStable UUID used to trace the acknowledgement against the PO.
metadata.sourceLanguageSource format retained for public troubleshooting context.
Acknowledgement Header
Captures supplier acknowledgement identity, operation, and order-level outcome.
data.poaNumberSupplier-assigned acknowledgement identifier for duplicate detection and support.
data.confirmationTypeOrder-level acknowledgement outcome.
data.noticeDateDate and time the supplier created the acknowledgement.
data.poNumberPurchase order number being acknowledged.
Line Responses
Describes how each ordered line is accepted, rejected, changed, or backordered.
data.lineItems[].lineNumberLine number from the original purchase order.
data.lineItems[].uniqueLineKeyStable line key copied from the original PO.
data.lineItems[].supplierLineStatusSupplier-provided line acknowledgement intent.
data.lineItems[].confirmedQuantityQuantity the supplier confirms for this line.
Adjustments And Context
Provides delivery dates, shipping, tax, contact, address, substitution, and note context.
data.deliveryDateExpected delivery date for the acknowledged order.
data.shippingShipping cost, carrier, route, and delivery terms.
data.lineItems[].substitutionAlternative item offered by the supplier.
data.commentsHuman-readable notes about the confirmation.
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.
- 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 can be matched.
- 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 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.
