{"openapi":"3.1.0","info":{"title":"DataShift EDI API","version":"1.0.11","description":"DataShift EDI exposes the public canonical contracts used to exchange order, acknowledgement, shipment, and invoice payloads between buyers, suppliers, and downstream business systems. Use this reference when building an integration, validating payloads, investigating failed documents, or mapping a partner format into the DataShift canonical model.\n\n## What This Reference Covers\n\n- Public JSON Schema contracts for the supported canonical EDI documents.\n\n- Human-readable document guidance for lifecycle position, required fields, validation notes, mapping notes, and common implementation pitfalls.\n\n- Field-level models generated from the same public contracts used by the schema download endpoints.\n\n- Operational guidance for validation errors, manual review, compatibility, and versioning.\n\n## Document Lifecycle\n\nThe canonical lifecycle starts with a Purchase Order (PO), continues through a Purchase Order Acknowledgement (POA), may include one or more Advance Shipping Notices (ASN), and is reconciled by an Invoice (INV). Not every trading relationship uses every document, but when documents are present they should preserve the same business references and line correlation keys across the lifecycle.\n\n## Canonical Payload Shape\n\nEvery canonical document uses the same top-level envelope: `docType`, `correlationId`, `timestamp`, `metadata`, and `data`. The `data` object contains the business payload for the specific document type. Partner-specific values that are not part of the canonical core belong in `extrinsics`.\n\n## Correlation\n\nUse `correlationId` to trace a document across systems and support workflows. DataShift manages `data.lineItems[].uniqueLineKey` for connector-side line correlation where needed, and automatic cross-document line matching uses `uniqueLineKey` only. External senders should provide the business line references required by the document page, but array position, item description, item id, quantity, and display line number are not automatic match keys.\n\n## Validation Expectations\n\nValidate payloads against the JSON Schema before sending test or production traffic. Required fields, enum values, numeric precision, date formats, and `additionalProperties: false` constraints are part of the public contract. Validation errors should be logged with `correlationId`, business document number, document type, and affected line key where available.\n\n## Schemas And Models\n\nThe Schemas section exposes downloadable JSON Schema contracts. The Models section expands each canonical object and nested component. Schema properties are ordered to match the public contract rather than alphabetically.\n\n## Events And Errors\n\nError documentation describes validation failures, manual-resolution cases, retryability, and support-safe remediation context.\n\n## Recommended Starting Point\n\nStart with the document page for the payload you are implementing, then inspect the corresponding model and schema download endpoint. For a full order lifecycle implementation, work in this order: PO, POA, ASN, then INV. Validate representative examples locally before sending test traffic, and include `correlationId`, business document numbers, and line keys in your logs.\n\n**Next:** [Schemas - Download Purchase Order schema](#tag/Schemas/operation/getPurchaseOrderSchema)","x-datashift-schema-version":"1.0.11","x-datashift-contracts-version":"4.1.26","x-datashift-schema-versions":{"purchase-order.schema.json":"1.0.10","purchase-order-acknowledgement.schema.json":"1.0.9","advance-shipping-notice.schema.json":"1.0.6","invoice.schema.json":"1.0.11"}},"servers":[{"url":"https://docs.datashift.com.au/edi","description":"Public EDI developer documentation"}],"tags":[{"name":"Schemas","description":"Canonical public EDI schema references."},{"name":"Documents","description":"Document lifecycle and payload examples."}],"paths":{"/contracts/releases/1.0.10/schemas/purchase-order.schema.json":{"get":{"tags":["Schemas"],"summary":"Download Purchase Order schema","description":"Returns the immutable public JSON Schema contract for Purchase Order canonical payloads at schema version 1.0.10.","operationId":"getPurchaseOrderSchema","responses":{"200":{"description":"Purchase Order JSON Schema","content":{"application/schema+json":{"schema":{"$ref":"#/components/schemas/PurchaseOrder"}},"application/json":{"schema":{"$ref":"#/components/schemas/PurchaseOrder"}}}}}}},"/schemas/purchase-order":{"get":{"tags":["Documents"],"summary":"Purchase Order","description":"A Purchase Order is the buyer's authoritative request for goods or services. It establishes the business order number, requested delivery timing, parties, ship-to and bill-to details, ordered lines, pricing, totals, and partner extension values that downstream acknowledgement, shipment, and invoice documents must preserve.\n\n## Lifecycle Position\n\nStarts the order lifecycle and creates the references used by POA, ASN, and INV documents.\n\n## Correlation Guidance\n\nTreat data.poNumber as the business reference and data.lineItems[].uniqueLineKey as the durable line reference. Downstream documents must carry the original uniqueLineKey when a line is acknowledged, shipped, packed, or invoiced; automatic line matching does not fall back to display line numbers, item identifiers, descriptions, quantities, or array position.\n\n## Validation Notes\n\n- Require buyer, supplier, billTo, shipTo, lineItems, and orderTotals before accepting the document.\n- Validate operation against the supported new, update, and delete values.\n- Use ISO 4217 currency values consistently across line and order totals.\n- Keep date-time values timezone-aware so requested delivery timing is not shifted.\n\n## Mapping Notes\n\n- Map source order identifiers to data.poNumber and preserve the source revision in data.poVersion when present.\n- Create or preserve uniqueLineKey for each line before sending downstream documents; do not rely on lineNumber, item id, description, quantity, or array index as an automatic match key.\n- Map ship-to address details even when the order is direct ship or dropship.\n- Place partner-only values in data.extrinsics instead of overloading canonical fields.\n\n## Common Pitfalls\n\n- Do not use array position as a line identifier.\n- Do not infer the supplier from a trading connection alone; keep the supplier party explicit.\n- Do not collapse tax-inclusive and tax-exclusive amounts into a single value.\n\n## Schema\n\nDownload the JSON Schema from `/edi/contracts/releases/1.0.3/schemas/purchase-order.schema.json`.","operationId":"readPurchaseOrderDocumentation","externalDocs":{"description":"Open the Purchase Order documentation page","url":"/schemas/purchase-order"},"responses":{"200":{"description":"Purchase Order documentation page","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/contracts/releases/1.0.9/schemas/purchase-order-acknowledgement.schema.json":{"get":{"tags":["Schemas"],"summary":"Download Purchase Order Acknowledgement schema","description":"Returns the immutable public JSON Schema contract for Purchase Order Acknowledgement canonical payloads at schema version 1.0.9.","operationId":"getPurchaseOrderAcknowledgementSchema","responses":{"200":{"description":"Purchase Order Acknowledgement JSON Schema","content":{"application/schema+json":{"schema":{"$ref":"#/components/schemas/PurchaseOrderAcknowledgement"}},"application/json":{"schema":{"$ref":"#/components/schemas/PurchaseOrderAcknowledgement"}}}}}}},"/schemas/purchase-order-acknowledgement":{"get":{"tags":["Documents"],"summary":"Purchase Order Acknowledgement","description":"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.\n\n## Lifecycle Position\n\nFollows PO receipt and precedes shipment, giving the buyer an explicit supplier response.\n\n## Correlation Guidance\n\nEach 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.\n\n## Validation Notes\n\n- Require poaNumber, poNumber, noticeDate, and lineItems before applying acknowledgement logic.\n- Validate confirmationType and supplierLineStatus as separate concepts.\n- For updates, include documentReference so the previous confirmation can be identified.\n- When requireAllLines is enabled, completeness is evaluated by uniqueLineKey only.\n- Keep quantity values numeric and use the same unit of measure context as the source order when applicable.\n\n## Mapping Notes\n\n- Map supplier response intent to supplierLineStatus and allow DataShift to calculate statusType.\n- Preserve the PO uniqueLineKey on every line that is acknowledged.\n- Represent backorders with quantityBackordered and dates instead of free-text only.\n- Use substitution only when the supplier is offering a different item.\n\n## Common Pitfalls\n\n- Do not expect POA lines without uniqueLineKey to auto-match by lineNumber or item details.\n- Do not acknowledge a line without preserving its correlation reference.\n- Do not map sender intent into statusType; use supplierLineStatus.\n- Do not treat an order-level accept as proof that every line is unchanged when line details are present.\n\n## Schema\n\nDownload the JSON Schema from `/edi/contracts/releases/1.0.3/schemas/purchase-order-acknowledgement.schema.json`.","operationId":"readPurchaseOrderAcknowledgementDocumentation","externalDocs":{"description":"Open the Purchase Order Acknowledgement documentation page","url":"/schemas/purchase-order-acknowledgement"},"responses":{"200":{"description":"Purchase Order Acknowledgement documentation page","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/contracts/releases/1.0.6/schemas/advance-shipping-notice.schema.json":{"get":{"tags":["Schemas"],"summary":"Download Advance Shipping Notice schema","description":"Returns the immutable public JSON Schema contract for Advance Shipping Notice canonical payloads at schema version 1.0.6.","operationId":"getAdvanceShippingNoticeSchema","responses":{"200":{"description":"Advance Shipping Notice JSON Schema","content":{"application/schema+json":{"schema":{"$ref":"#/components/schemas/AdvanceShippingNotice"}},"application/json":{"schema":{"$ref":"#/components/schemas/AdvanceShippingNotice"}}}}}}},"/schemas/advance-shipping-notice":{"get":{"tags":["Documents"],"summary":"Advance Shipping Notice","description":"An Advance Shipping Notice describes goods that have been dispatched or are planned for dispatch. It separates authoritative shipped lines from carton allocation details so receiving, fulfilment, and invoice reconciliation can reason about what moved and how it was packed.\n\n## Lifecycle Position\n\nFollows PO acknowledgement and precedes receipt, giving the buyer shipment detail before goods arrive.\n\n## Correlation Guidance\n\nUse data.lineItems[] as the authoritative shipped line list. Packages should reference those lines through data.packages[].lineReferences[] using uniqueLineKey for automatic correlation; package line references do not replace shipped line data.\n\n## Validation Notes\n\n- Require dispatchAdviceNumber, noticeDate, shipmentDate, carrier, shipFrom, shipTo, and lineItems.\n- Validate package SSCC values when supplied.\n- Require each package line reference to include quantity and uniqueLineKey for automatic line correlation.\n- Keep unitOfMeasure aligned between lineItems and package lineReferences.\n\n## Mapping Notes\n\n- Map shipped quantities to data.lineItems[] first, then map carton allocation to packages[].lineReferences[].\n- Preserve PO uniqueLineKey values on shipped lines and package line references.\n- Use shipmentIdentifiers for tracking and transport references instead of comments.\n- Map SCAC and other carrier codes to carrier.identifiers[] rather than overloading carrier name or shipment comments.\n- Represent partial and complete fulfilment through fulfillmentType.\n\n## Common Pitfalls\n\n- Do not use package item arrays as authoritative ASN line data.\n- Do not treat packageId as an SSCC; map SSCC values to data.packages[].sscc.\n- Do not infer line fulfilment from carton count alone.\n- Do not match ASN lines to PO lines by lineNumber, array index, item id, description, or quantity.\n\n## Schema\n\nDownload the JSON Schema from `/edi/contracts/releases/1.0.3/schemas/advance-shipping-notice.schema.json`.","operationId":"readAdvanceShippingNoticeDocumentation","externalDocs":{"description":"Open the Advance Shipping Notice documentation page","url":"/schemas/advance-shipping-notice"},"responses":{"200":{"description":"Advance Shipping Notice documentation page","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/contracts/releases/1.0.11/schemas/invoice.schema.json":{"get":{"tags":["Schemas"],"summary":"Download Invoice schema","description":"Returns the immutable public JSON Schema contract for Invoice canonical payloads at schema version 1.0.11.","operationId":"getInvoiceSchema","responses":{"200":{"description":"Invoice JSON Schema","content":{"application/schema+json":{"schema":{"$ref":"#/components/schemas/Invoice"}},"application/json":{"schema":{"$ref":"#/components/schemas/Invoice"}}}}}}},"/schemas/invoice":{"get":{"tags":["Documents"],"summary":"Invoice","description":"An Invoice requests payment for supplied goods or services and gives the buyer enough line, tax, freight, discount, payment, and reference detail to reconcile against purchase orders, shipment notices, and accounts payable controls.\n\n## Lifecycle Position\n\nFollows fulfilment and supports financial reconciliation, payment approval, and exception handling.\n\n## Correlation Guidance\n\nInvoice lines should reference the original PO or ASN line with uniqueLineKey for automatic reconciliation. Header references identify the invoiced purchase orders and shipment notice; line references make quantity, price, tax, and credit/debit reconciliation precise.\n\n## Validation Notes\n\n- Require invoiceNumber, invoiceDate, purpose, supplier, billTo, lineItems, and invoiceSummary.\n- Validate purpose before applying credit memo, debit memo, or cancellation logic.\n- Keep line currency and summary currency explicit and consistent unless a documented multi-currency process applies.\n- Validate supplier tax identity through supplier.taxRegistrations and payment routing through remitTo.bankDetails when those controls are required.\n- Validate tax totals against taxBreakdown when a breakdown is supplied.\n\n## Mapping Notes\n\n- Map PO references at the header and preserve uniqueLineKey at the line level for automatic PO, POA, and ASN reconciliation.\n- Use asnReference only when the invoice is explicitly tied to a dispatched shipment; do not fabricate it when the source does not provide an ASN reference.\n- Represent line totals as grossAmount, taxAmount, and netAmount where practical; represent summary totals as grossAmount, taxAmount, shippingAmount, netAmount, and dueAmount.\n- Use documentReference for credit/debit memos or cancellations tied to a previous invoice.\n\n## Common Pitfalls\n\n- Keep tax, freight, and line totals explicit for reconciliation.\n- Do not rely only on invoice-level totals when line-level tax or credits are present.\n- Do not assume an invoice without uniqueLineKey can be safely matched by invoiceLineNumber, poLineReference, item id, description, quantity, or array position.\n\n## Schema\n\nDownload the JSON Schema from `/edi/contracts/releases/1.0.4/schemas/invoice.schema.json`.","operationId":"readInvoiceDocumentation","externalDocs":{"description":"Open the Invoice documentation page","url":"/schemas/invoice"},"responses":{"200":{"description":"Invoice documentation page","content":{"text/html":{"schema":{"type":"string"}}}}}}}},"components":{"schemas":{"PurchaseOrder":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://docs.datashift.com.au/edi/contracts/releases/1.0.10/schemas/purchase-order.schema.json","title":"PurchaseOrder","description":"Public canonical Purchase Order contract used to represent a buyer's order before acknowledgement, shipment, and invoice events.","version":"1.0.10","type":"object","required":["docType","correlationId","timestamp","metadata","data"],"properties":{"docType":{"const":"PO","x-datashift-managed":true,"x-datashift-system":true,"description":"Canonical document type. For purchase orders this value is PO.","x-order":1},"correlationId":{"type":"string","format":"uuid","description":"Stable UUID used to trace this purchase order through downstream acknowledgements, shipments, invoices, and support workflows.","x-datashift-managed":true,"x-datashift-system":true,"x-order":2},"timestamp":{"type":"string","format":"date-time","description":"UTC timestamp indicating when DataShift created the canonical document.","x-datashift-managed":true,"x-datashift-system":true,"x-order":3},"metadata":{"$ref":"#/components/schemas/PurchaseOrderMetadata"},"data":{"$ref":"#/components/schemas/PurchaseOrderData"}},"additionalProperties":false,"examples":[{"docType":"PO","correlationId":"8d359a0f-3e5a-4d36-a87c-f2748b1d6b43","timestamp":"2026-05-16T00:00:00Z","metadata":{"sourceLanguage":"cxml","sourceVersion":"1.0.10","payloadId":"po-example-10001","userAgent":"DataShift Edge v1"},"data":{"poNumber":"PO-10001","poVersion":"1","operation":"new","orderDate":"2026-05-16T00:00:00Z","requestedDeliveryDate":"2026-05-23T00:00:00Z","buyer":{"id":"BUYER-AU","name":"Example Buyer Pty Ltd","taxRegistrations":{"type":"ABN","value":"12345678901"}},"supplier":{"id":"SUPPLIER-AU","name":"Example Supplier Pty Ltd","taxRegistrations":{"type":"ABN","value":"98765432109"}},"billTo":{"addressee":"Example Buyer Accounts","street1":"1 Market Street","city":"Sydney","state":"NSW","postalCode":"2000","country":"AU"},"shipTo":{"addressee":"Example Distribution Centre","street1":"10 Warehouse Road","city":"Melbourne","state":"VIC","postalCode":"3000","country":"AU"},"lineItems":[{"lineNumber":1,"uniqueLineKey":"PO-10001-1","supplierItemId":"SUP-001","buyerItemId":"BUY-001","description":"Example product","quantity":10,"unitOfMeasure":"EA","unitPrice":1500000,"currency":"AUD","lineAmountExTax":150000,"lineAmountInclTax":165000}],"orderTotals":{"subtotal":150000,"taxAmount":15000,"totalAmount":165000,"currency":"AUD"},"extrinsics":{"department":"Operations"}}}]},"PurchaseOrderMetadata":{"type":"object","description":"Public source metadata retained for integration troubleshooting without exposing tenant or credential details.","required":["sourceLanguage","sourceVersion","userAgent"],"properties":{"sourceLanguage":{"type":"string","enum":["json","cxml"],"x-order":1},"sourceVersion":{"const":"1.0.10","description":"Canonical schema version used to create this document","x-order":2},"payloadId":{"type":"string","description":"Original cXML payload ID","x-order":3},"userAgent":{"const":"DataShift Edge v1","description":"DataShift Edge version that generated the canonical document","x-order":4}},"additionalProperties":false,"x-order":4,"title":"PurchaseOrderMetadata"},"PurchaseOrderData":{"type":"object","required":["poNumber","poVersion","operation","orderDate","requestedDeliveryDate","buyer","supplier","billTo","shipTo","lineItems","orderTotals"],"properties":{"poNumber":{"type":"string","description":"Buyer-issued purchase order number. Use this as the primary business reference.","x-order":1},"poVersion":{"type":"string","description":"Buyer-issued version or revision for this purchase order.","x-order":2},"operation":{"type":"string","enum":["new","update","delete"],"description":"Standard document operation. Legacy PO change requests map to update.","x-enum-descriptions":{"new":"Creates a new purchase order.","update":"Updates a previously issued purchase order.","delete":"Deletes or cancels a previously issued purchase order."},"x-order":3},"orderType":{"type":"string","enum":["regular","blanket","release","standing"],"description":"Type of purchase order","x-order":4},"orderDate":{"type":"string","format":"date-time","description":"Date and time the buyer issued the order.","x-order":5},"requestedDeliveryDate":{"type":"string","format":"date-time","description":"Buyer-requested delivery date for the order.","x-order":6},"comments":{"type":"string","description":"General order comments or instructions","x-order":7},"dropship":{"type":"boolean","description":"Indicates if this is a direct ship/dropship order. When true, shipping address should be included in outbound mappings (e.g., NetSuite sales orders).","x-order":8},"buyer":{"title":"Party Definition","description":"Party placing the order.","type":"object","properties":{"id":{"type":"string","x-order":1},"name":{"type":"string","x-order":2},"taxRegistrations":{"type":"object","description":"Australian tax registrations for the party","required":["type","value"],"properties":{"type":{"type":"string","enum":["ABN"],"x-order":1},"value":{"type":"string","x-order":2}},"additionalProperties":false,"x-order":3},"contact":{"type":"object","properties":{"name":{"type":"string","x-order":1},"phone":{"type":"string","x-order":2},"email":{"type":"string","anyOf":[{"format":"email"},{"const":""}],"x-order":3},"role":{"type":"string","x-order":4}},"additionalProperties":false,"x-order":4},"address":{"title":"Address Definition","description":"Standard address structure for DataShift canonical documents","type":"object","properties":{"addressId":{"type":"string","x-order":1},"addressee":{"type":"string","x-order":2},"street1":{"type":"string","x-order":3},"street2":{"type":"string","x-order":4},"city":{"type":"string","x-order":5},"state":{"type":"string","x-order":6},"postalCode":{"type":"string","x-order":7},"country":{"type":"string","enum":["AU"],"x-order":8}},"required":["street1","city","state","postalCode","country"],"additionalProperties":false,"x-order":5}},"required":["id","name"],"additionalProperties":false,"x-order":9},"supplier":{"title":"Party Definition","description":"Party expected to fulfil the order.","type":"object","properties":{"id":{"type":"string","x-order":1},"name":{"type":"string","x-order":2},"taxRegistrations":{"type":"object","description":"Australian tax registrations for the party","required":["type","value"],"properties":{"type":{"type":"string","enum":["ABN"],"x-order":1},"value":{"type":"string","x-order":2}},"additionalProperties":false,"x-order":3},"contact":{"type":"object","properties":{"name":{"type":"string","x-order":1},"phone":{"type":"string","x-order":2},"email":{"type":"string","anyOf":[{"format":"email"},{"const":""}],"x-order":3},"role":{"type":"string","x-order":4}},"additionalProperties":false,"x-order":4},"address":{"title":"Address Definition","description":"Standard address structure for DataShift canonical documents","type":"object","properties":{"addressId":{"type":"string","x-order":1},"addressee":{"type":"string","x-order":2},"street1":{"type":"string","x-order":3},"street2":{"type":"string","x-order":4},"city":{"type":"string","x-order":5},"state":{"type":"string","x-order":6},"postalCode":{"type":"string","x-order":7},"country":{"type":"string","enum":["AU"],"x-order":8}},"required":["street1","city","state","postalCode","country"],"additionalProperties":false,"x-order":5}},"required":["id","name"],"additionalProperties":false,"x-order":10},"billTo":{"title":"Address Definition","description":"Billing destination supplied by the buyer.","type":"object","properties":{"addressId":{"type":"string","x-order":1},"addressee":{"type":"string","x-order":2},"street1":{"type":"string","x-order":3},"street2":{"type":"string","x-order":4},"city":{"type":"string","x-order":5},"state":{"type":"string","x-order":6},"postalCode":{"type":"string","x-order":7},"country":{"type":"string","enum":["AU"],"x-order":8}},"required":["street1","city","state","postalCode","country"],"additionalProperties":false,"x-order":11},"shipTo":{"title":"Address Definition","description":"Delivery destination for the ordered goods.","type":"object","properties":{"addressId":{"type":"string","x-order":1},"addressee":{"type":"string","x-order":2},"street1":{"type":"string","x-order":3},"street2":{"type":"string","x-order":4},"city":{"type":"string","x-order":5},"state":{"type":"string","x-order":6},"postalCode":{"type":"string","x-order":7},"country":{"type":"string","enum":["AU"],"x-order":8}},"required":["street1","city","state","postalCode","country"],"additionalProperties":false,"x-order":12},"shipping":{"type":"object","description":"Commercial freight charges and instructions.","properties":{"amount":{"description":"Integer amount in ISO 4217 minor units (e.g. AUD in cents, exponent 2: 561.02 -> 56102). Negative for credits or adjustments.","type":"integer","x-datashift-money":"minor","x-order":1},"currency":{"title":"Currency Enumeration","description":"ISO 4217 currency codes supported by DataShift canonical schemas","type":"string","enum":["AUD"],"x-order":2},"carrier":{"type":"string","x-order":3},"route":{"type":"string","description":"Shipping route method","x-order":4},"shippingInstructions":{"type":"string","description":"Detailed shipping instructions","x-order":5},"buyerAcctNumber":{"type":"string","x-order":6},"incoTerms":{"type":"string","enum":["cfr","cif","cip","cpt","daf","dap","ddp","ddu","dpu","deq","des","exw","fas","fca","fob"],"x-order":7}},"additionalProperties":false,"x-order":13},"lineItems":{"type":"array","minItems":1,"description":"Ordered product lines. DataShift manages uniqueLineKey for cross-document line correlation where needed.","items":{"$ref":"#/components/schemas/PurchaseOrderLineItem"},"x-order":14},"orderTotals":{"$ref":"#/components/schemas/PurchaseOrderTotals"},"extrinsics":{"type":"object","description":"Partner-specific extension fields that are not part of the canonical core contract.","additionalProperties":{"x-additionalPropertiesName":"extensionField","description":"Partner-specific extension value."},"x-order":16}},"additionalProperties":false,"description":"Business payload for the purchase order.","x-order":5,"title":"PurchaseOrderData"},"PurchaseOrderLineItem":{"type":"object","required":["lineNumber","supplierItemId","buyerItemId","quantity","unitOfMeasure","unitPrice","currency","lineAmountExTax","lineAmountInclTax"],"properties":{"lineNumber":{"type":"integer","description":"Buyer line number from the purchase order.","x-order":1},"uniqueLineKey":{"type":"string","description":"DataShift-managed stable line key used by DataShift connectors to correlate PO, POA, ASN, and INV lines.","x-datashift-managed":true,"x-datashift-system":true,"x-order":2},"supplierItemId":{"type":"string","x-order":3},"supplierItemAuxiliaryId":{"type":"string","description":"Supplier's alternate/auxiliary part ID","x-order":4},"buyerItemId":{"type":"string","x-order":5},"description":{"type":"string","x-order":6},"quantity":{"type":"number","multipleOf":0.01,"description":"Ordered quantity for this line.","x-order":7},"unitOfMeasure":{"title":"REC20 Unit of Measure Codes","description":"Unit of measure code for the ordered quantity.","type":"string","enum":["AY","BG","BL","BR","BLL","E2","BO","BX","BJ","BE","KA","CA","CG","CT","CQ","CS","CMT","CL","CH","MTQ","CY","DAY","DC","DZN","DR","EA","FOT","GRM","HUR","CEN","INH","JR","KGM","KMT","KT","LN","LK","LTR","MTR","TNE","MLT","MMT","MON","PK","PD","PL","PR","D97","C62","PG","LBR","RL","RO","SA","SE","SET","ST","SO","MTK","U3","MIL","TU","WEE"],"x-order":8},"unitPrice":{"description":"Integer unit price at ISO 4217 minor-unit scale + 2 (e.g. AUD, exponent 2 -> 1/10000: 5.2185 -> 52185). Carries sub-minor precision; not rounded to minor units.","type":"integer","x-datashift-money":"rate","x-order":9},"currency":{"title":"Currency Enumeration","description":"ISO 4217 currency code for line pricing.","type":"string","enum":["AUD"],"x-order":10},"lineAmountExTax":{"description":"Integer amount in ISO 4217 minor units (e.g. AUD in cents, exponent 2: 561.02 -> 56102). Negative for credits or adjustments.","type":"integer","x-datashift-money":"minor","x-order":11},"lineAmountInclTax":{"description":"Integer amount in ISO 4217 minor units (e.g. AUD in cents, exponent 2: 561.02 -> 56102). Negative for credits or adjustments.","type":"integer","x-datashift-money":"minor","x-order":12},"requestedDeliveryDate":{"type":"string","format":"date-time","x-order":13},"priceBasisQuantityQuantity":{"type":"number","description":"Price basis quantity","x-order":14},"priceBasisQuantityConversionFactor":{"type":"number","description":"Price basis conversion factor","x-order":15},"priceBasisQuantityUnitOfMeasure":{"type":"string","description":"Price basis unit of measure","x-order":16},"classificationDomain":{"type":"string","description":"Product classification domain","x-order":17},"classificationCode":{"type":"string","description":"Product classification code","x-order":18},"comments":{"type":"string","description":"Line item specific comments","x-order":19}},"additionalProperties":false,"title":"PurchaseOrderLineItem"},"PurchaseOrderTotals":{"type":"object","required":["subtotal","taxAmount","totalAmount","currency"],"properties":{"subtotal":{"description":"Integer amount in ISO 4217 minor units (e.g. AUD in cents, exponent 2: 561.02 -> 56102). Negative for credits or adjustments.","type":"integer","x-datashift-money":"minor","x-order":1},"taxAmount":{"description":"Integer amount in ISO 4217 minor units (e.g. AUD in cents, exponent 2: 561.02 -> 56102). Negative for credits or adjustments.","type":"integer","x-datashift-money":"minor","x-order":2},"totalAmount":{"description":"Integer amount in ISO 4217 minor units (e.g. AUD in cents, exponent 2: 561.02 -> 56102). Negative for credits or adjustments.","type":"integer","x-datashift-money":"minor","x-order":3},"currency":{"title":"Currency Enumeration","description":"ISO 4217 currency codes supported by DataShift canonical schemas","type":"string","enum":["AUD"],"x-order":4}},"additionalProperties":false,"description":"Order-level subtotal, tax, and total amounts.","x-order":15,"title":"PurchaseOrderTotals"},"PurchaseOrderAcknowledgement":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://docs.datashift.com.au/edi/contracts/releases/1.0.9/schemas/purchase-order-acknowledgement.schema.json","title":"PurchaseOrderAcknowledgement","description":"Public canonical Purchase Order Acknowledgement contract used by suppliers to accept, reject, backorder, or qualify purchase order lines.","version":"1.0.9","type":"object","required":["docType","correlationId","timestamp","metadata","data"],"properties":{"docType":{"const":"POA","x-datashift-managed":true,"x-datashift-system":true,"description":"Canonical document type. For purchase order acknowledgements this value is POA.","x-order":1},"correlationId":{"type":"string","format":"uuid","x-datashift-managed":true,"x-datashift-system":true,"description":"Stable UUID used to trace this acknowledgement against the purchase order lifecycle.","x-order":2},"timestamp":{"type":"string","format":"date-time","description":"UTC timestamp indicating when DataShift created the canonical acknowledgement.","x-datashift-managed":true,"x-datashift-system":true,"x-order":3},"metadata":{"$ref":"#/components/schemas/PurchaseOrderAcknowledgementMetadata"},"data":{"$ref":"#/components/schemas/PurchaseOrderAcknowledgementData"}},"additionalProperties":false,"examples":[{"docType":"POA","correlationId":"347ed126-1456-4f0e-84f4-b16f018f6e61","timestamp":"2026-05-16T01:00:00Z","metadata":{"sourceLanguage":"cxml","sourceVersion":"1.0.9","payloadId":"poa-example-10001","userAgent":"DataShift Edge v1"},"data":{"poaNumber":"POA-10001","confirmationType":"accept","noticeDate":"2026-05-16T01:00:00Z","poNumber":"PO-10001","poVersion":"1","deliveryDate":"2026-05-23T00:00:00Z","lineItems":[{"lineNumber":1,"uniqueLineKey":"PO-10001-1","supplierLineStatus":"accept","supplierItemId":"SUP-001","buyerItemId":"BUY-001","originalQuantity":10,"confirmedQuantity":10,"unitOfMeasure":"EA","unitPrice":1500000,"currency":"AUD","lineTotalExTax":150000,"lineTotalInclTax":165000}],"extrinsics":{"supplierPortalReference":"ACK-7788"}}}]},"PurchaseOrderAcknowledgementMetadata":{"type":"object","description":"Public source metadata retained for integration troubleshooting.","required":["sourceLanguage","sourceVersion","userAgent"],"properties":{"sourceLanguage":{"type":"string","enum":["json","cxml"],"x-order":1},"sourceVersion":{"const":"1.0.9","description":"Canonical schema version used to create this document","x-order":2},"payloadId":{"type":"string","description":"Original cXML payload ID","x-order":3},"userAgent":{"const":"DataShift Edge v1","description":"DataShift Edge version that generated the canonical document","x-order":4}},"additionalProperties":false,"x-order":4,"title":"PurchaseOrderAcknowledgementMetadata"},"PurchaseOrderAcknowledgementData":{"type":"object","required":["poNumber","noticeDate","lineItems","poaNumber"],"properties":{"poaNumber":{"type":"string","description":"Supplier-assigned acknowledgement identifier used for duplicate detection and support references.","x-order":1},"confirmationType":{"type":"string","enum":["accept","reject","except","detail","backordered","allDetail","replace"],"description":"DataShift-managed order-level acknowledgement outcome calculated from line-level status and tolerance validation.","x-datashift-managed":true,"x-datashift-system":true,"x-enum-descriptions":{"accept":"The order is accepted without exceptions.","reject":"The order is rejected.","except":"The order is accepted with exceptions.","detail":"The response contains line-level detail updates.","backordered":"The order or line is backordered.","allDetail":"Every line is acknowledged with detail.","replace":"This acknowledgement replaces an earlier acknowledgement."},"x-order":2},"operation":{"type":"string","enum":["new","update","delete"],"default":"new","description":"Whether this creates, updates, or deletes a confirmation","x-order":3},"noticeDate":{"type":"string","format":"date-time","description":"Date and time the supplier created the acknowledgement.","x-order":4},"poNumber":{"type":"string","description":"Purchase order number being acknowledged.","x-order":5},"poVersion":{"type":"string","description":"Purchase order version being acknowledged.","x-order":6},"orderReference":{"type":"object","description":"Reference to the original purchase order document","properties":{"documentId":{"type":"string","x-order":1},"payloadId":{"type":"string","x-order":2},"orderDate":{"type":"string","format":"date-time","x-order":3}},"additionalProperties":false,"x-order":7},"documentReference":{"type":"object","description":"Reference to previous confirmation (required for operation=update/delete)","properties":{"documentId":{"type":"string","x-order":1},"payloadId":{"type":"string","x-order":2}},"additionalProperties":false,"x-order":8},"deliveryDate":{"type":"string","format":"date-time","description":"Expected delivery business date-time. Valid ISO offsets are allowed.","x-order":9},"dropship":{"type":"boolean","description":"Indicates if this is a direct ship/dropship order","x-order":10},"invoiceId":{"type":"string","description":"Optional supplier-generated invoice ID associated with this confirmation","x-order":11},"shipping":{"type":"object","description":"Commercial freight charges and instructions.","properties":{"amount":{"description":"Integer amount in ISO 4217 minor units (e.g. AUD in cents, exponent 2: 561.02 -> 56102). Negative for credits or adjustments.","type":"integer","x-datashift-money":"minor","x-order":1},"currency":{"title":"Currency Enumeration","description":"ISO 4217 currency codes supported by DataShift canonical schemas","type":"string","enum":["AUD"],"x-order":2},"carrier":{"type":"string","description":"Carrier name","x-order":3},"route":{"type":"string","description":"Shipping route method","x-order":4},"shippingInstructions":{"type":"string","description":"Detailed shipping instructions","x-order":5},"buyerAcctNumber":{"type":"string","description":"Buyer's shipping account number","x-order":6},"incoTerms":{"type":"string","enum":["cfr","cif","cip","cpt","daf","dap","ddp","ddu","dpu","deq","des","exw","fas","fca","fob"],"description":"International Commercial Terms","x-order":7}},"additionalProperties":false,"x-order":12},"tax":{"type":"object","description":"Tax adjustments from original order","properties":{"amount":{"description":"Integer amount in ISO 4217 minor units (e.g. AUD in cents, exponent 2: 561.02 -> 56102). Negative for credits or adjustments.","type":"integer","x-datashift-money":"minor","x-order":1},"currency":{"title":"Currency Enumeration","description":"ISO 4217 currency codes supported by DataShift canonical schemas","type":"string","enum":["AUD"],"x-order":2}},"additionalProperties":false,"x-order":13},"total":{"type":"object","description":"Order total adjustments","properties":{"amount":{"description":"Integer amount in ISO 4217 minor units (e.g. AUD in cents, exponent 2: 561.02 -> 56102). Negative for credits or adjustments.","type":"integer","x-datashift-money":"minor","x-order":1},"currency":{"title":"Currency Enumeration","description":"ISO 4217 currency codes supported by DataShift canonical schemas","type":"string","enum":["AUD"],"x-order":2}},"additionalProperties":false,"x-order":14},"contacts":{"type":"array","description":"Contact information for various roles","items":{"type":"object","required":["role"],"properties":{"role":{"type":"string","enum":["shipFrom","shipTo","billTo","technicalSupport","customerService","sales","buyer"],"x-order":1},"name":{"type":"string","x-order":2},"email":{"type":"string","anyOf":[{"format":"email"},{"const":""}],"x-order":3},"phone":{"type":"string","x-order":4}},"additionalProperties":false},"x-order":15},"billTo":{"title":"Address Definition","description":"Standard address structure for DataShift canonical documents","type":"object","properties":{"addressId":{"type":"string","x-order":1},"addressee":{"type":"string","x-order":2},"street1":{"type":"string","x-order":3},"street2":{"type":"string","x-order":4},"city":{"type":"string","x-order":5},"state":{"type":"string","x-order":6},"postalCode":{"type":"string","x-order":7},"country":{"type":"string","enum":["AU"],"x-order":8}},"required":["street1","city","state","postalCode","country"],"additionalProperties":false,"x-order":16},"shipTo":{"title":"Address Definition","description":"Standard address structure for DataShift canonical documents","type":"object","properties":{"addressId":{"type":"string","x-order":1},"addressee":{"type":"string","x-order":2},"street1":{"type":"string","x-order":3},"street2":{"type":"string","x-order":4},"city":{"type":"string","x-order":5},"state":{"type":"string","x-order":6},"postalCode":{"type":"string","x-order":7},"country":{"type":"string","enum":["AU"],"x-order":8}},"required":["street1","city","state","postalCode","country"],"additionalProperties":false,"x-order":17},"comments":{"type":"string","maxLength":2000,"description":"Human-readable notes about this confirmation","x-order":18},"lineItems":{"type":"array","minItems":1,"description":"Acknowledgement lines. DataShift manages uniqueLineKey correlation where needed.","items":{"$ref":"#/components/schemas/PurchaseOrderAcknowledgementLineItem"},"x-order":19},"extrinsics":{"type":"object","description":"Partner-specific extension fields that are not part of the canonical core contract.","additionalProperties":{"x-additionalPropertiesName":"extensionField","description":"Partner-specific extension value."},"x-order":20}},"additionalProperties":false,"description":"Business payload for the acknowledgement.","x-order":5,"title":"PurchaseOrderAcknowledgementData"},"PurchaseOrderAcknowledgementLineItem":{"type":"object","required":["lineNumber"],"properties":{"lineNumber":{"type":"integer","description":"Line number from the original purchase order.","x-order":1},"uniqueLineKey":{"type":"string","description":"DataShift-managed stable line key from the original purchase order, used by internal connectors for cross-document correlation.","x-datashift-managed":true,"x-datashift-system":true,"x-order":2},"statusType":{"type":"string","enum":["accept","reject","backordered","unknown","detail","allDetail"],"description":"System-calculated status based on tolerance validation. Not mappable by sender; use supplierLineStatus for sender intent.","x-datashift-managed":true,"x-datashift-system":true,"x-order":3},"supplierLineStatus":{"type":"string","enum":["accept","reject","backordered","unknown"],"default":"unknown","description":"Supplier-provided line acknowledgement intent. Defaults to unknown when omitted or blank.","x-enum-descriptions":{"accept":"The line is accepted.","reject":"The line is rejected.","backordered":"The line is backordered.","unknown":"The supplier cannot confirm the line status."},"x-order":4},"supplierItemId":{"type":"string","description":"Supplier's part/item number","x-order":5},"supplierItemAuxiliaryId":{"type":"string","description":"Supplier's alternate/auxiliary part ID","x-order":6},"buyerItemId":{"type":"string","description":"Buyer's part/item number","x-order":7},"gtin":{"type":"string","pattern":"^[0-9]{8,14}$","description":"Global Trade Item Number (GTIN-8, GTIN-12, GTIN-13, or GTIN-14)","x-order":8},"description":{"type":"string","description":"Item description","x-order":9},"originalQuantity":{"type":"number","multipleOf":0.01,"description":"Quantity originally ordered","x-order":10},"confirmedQuantity":{"type":"number","multipleOf":0.01,"description":"Quantity the supplier confirms for this line.","x-order":11},"quantityBackordered":{"type":"number","multipleOf":0.01,"description":"Quantity backordered by the supplier","x-order":12},"unitOfMeasure":{"title":"REC20 Unit of Measure Codes","description":"UN/ECE Recommendation 20 unit of measure codes for DataShift canonical documents","type":"string","enum":["AY","BG","BL","BR","BLL","E2","BO","BX","BJ","BE","KA","CA","CG","CT","CQ","CS","CMT","CL","CH","MTQ","CY","DAY","DC","DZN","DR","EA","FOT","GRM","HUR","CEN","INH","JR","KGM","KMT","KT","LN","LK","LTR","MTR","TNE","MLT","MMT","MON","PK","PD","PL","PR","D97","C62","PG","LBR","RL","RO","SA","SE","SET","ST","SO","MTK","U3","MIL","TU","WEE"],"x-order":13},"unitPrice":{"description":"Integer unit price at ISO 4217 minor-unit scale + 2 (e.g. AUD, exponent 2 -> 1/10000: 5.2185 -> 52185). Carries sub-minor precision; not rounded to minor units.","type":"integer","x-datashift-money":"rate","x-order":14},"currency":{"title":"Currency Enumeration","description":"ISO 4217 currency codes supported by DataShift canonical schemas","type":"string","enum":["AUD"],"x-order":15},"unitPriceUom":{"type":"string","description":"Unit of measure for price basis (e.g., price per 100)","x-order":16},"lineTotalExTax":{"description":"Integer amount in ISO 4217 minor units (e.g. AUD in cents, exponent 2: 561.02 -> 56102). Negative for credits or adjustments.","type":"integer","x-datashift-money":"minor","x-order":17},"lineTotalInclTax":{"description":"Integer amount in ISO 4217 minor units (e.g. AUD in cents, exponent 2: 561.02 -> 56102). Negative for credits or adjustments.","type":"integer","x-datashift-money":"minor","x-order":18},"classificationDomain":{"type":"string","description":"Product classification domain","x-order":19},"classificationCode":{"type":"string","description":"Product classification code","x-order":20},"shipmentDate":{"type":"string","format":"date-time","description":"Expected or actual shipment date for this line","x-order":21},"deliveryDate":{"type":"string","format":"date-time","description":"Expected delivery date for this line","x-order":22},"rejectionReason":{"type":"string","description":"Reason for rejection or backorder","x-order":23},"substitution":{"type":"object","description":"Substitute item details if supplier is offering an alternative","properties":{"supplierItemId":{"type":"string","x-order":1},"buyerItemId":{"type":"string","x-order":2},"description":{"type":"string","x-order":3},"quantity":{"type":"number","multipleOf":0.01,"x-order":4},"unitOfMeasure":{"title":"REC20 Unit of Measure Codes","description":"UN/ECE Recommendation 20 unit of measure codes for DataShift canonical documents","type":"string","enum":["AY","BG","BL","BR","BLL","E2","BO","BX","BJ","BE","KA","CA","CG","CT","CQ","CS","CMT","CL","CH","MTQ","CY","DAY","DC","DZN","DR","EA","FOT","GRM","HUR","CEN","INH","JR","KGM","KMT","KT","LN","LK","LTR","MTR","TNE","MLT","MMT","MON","PK","PD","PL","PR","D97","C62","PG","LBR","RL","RO","SA","SE","SET","ST","SO","MTK","U3","MIL","TU","WEE"],"x-order":5},"unitPrice":{"description":"Integer unit price at ISO 4217 minor-unit scale + 2 (e.g. AUD, exponent 2 -> 1/10000: 5.2185 -> 52185). Carries sub-minor precision; not rounded to minor units.","type":"integer","x-datashift-money":"rate","x-order":6}},"additionalProperties":false,"x-order":24},"comments":{"type":"string","maxLength":500,"description":"Line-level comments","x-order":25}},"additionalProperties":false,"title":"PurchaseOrderAcknowledgementLineItem"},"AdvanceShippingNotice":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://docs.datashift.com.au/edi/contracts/releases/1.0.6/schemas/advance-shipping-notice.schema.json","title":"AdvanceShippingNotice","description":"Public canonical Advance Shipping Notice contract used to describe goods shipped against one or more purchase orders.","version":"1.0.6","type":"object","required":["docType","correlationId","timestamp","metadata","data"],"properties":{"docType":{"const":"ASN","x-datashift-managed":true,"x-datashift-system":true,"description":"Canonical document type. For advance shipping notices this value is ASN.","x-order":1},"correlationId":{"type":"string","format":"uuid","x-datashift-managed":true,"x-datashift-system":true,"description":"Stable UUID used to trace this shipment notice through fulfilment and invoice workflows.","x-order":2},"timestamp":{"type":"string","format":"date-time","description":"UTC timestamp indicating when DataShift created the canonical shipment notice.","x-datashift-managed":true,"x-datashift-system":true,"x-order":3},"metadata":{"$ref":"#/components/schemas/AdvanceShippingNoticeMetadata"},"data":{"$ref":"#/components/schemas/AdvanceShippingNoticeData"}},"additionalProperties":false,"examples":[{"docType":"ASN","correlationId":"cab103da-1713-4976-80c4-f1b47f62b523","timestamp":"2026-05-16T02:00:00Z","metadata":{"sourceLanguage":"cxml","sourceVersion":"1.0.6","payloadId":"asn-example-10001","userAgent":"DataShift Edge v1"},"data":{"dispatchAdviceNumber":"ASN-10001","poNumber":"PO-10001","noticeDate":"2026-05-16T02:00:00Z","shipmentDate":"2026-05-16T03:00:00Z","deliveryDate":"2026-05-23T00:00:00Z","fulfillmentType":"partial","carrier":{"name":"Example Freight","serviceType":"Road"},"shipFrom":{"addressee":"Example Supplier Warehouse","street1":"20 Supplier Street","city":"Adelaide","state":"SA","postalCode":"5000","country":"AU"},"shipTo":{"addressee":"Example Distribution Centre","street1":"10 Warehouse Road","city":"Melbourne","state":"VIC","postalCode":"3000","country":"AU"},"lineItems":[{"lineNumber":1,"uniqueLineKey":"PO-10001-1","supplierItemId":"SUP-001","buyerItemId":"BUY-001","quantity":6,"unitOfMeasure":"EA"}],"packages":[{"packageId":"CARTON-1","sscc":"193123456789012345","lineReferences":[{"uniqueLineKey":"PO-10001-1","quantity":6,"unitOfMeasure":"EA"}]}],"extrinsics":{"warehouseWave":"WAVE-42"}}}]},"AdvanceShippingNoticeMetadata":{"type":"object","description":"Public source metadata retained for integration troubleshooting.","required":["sourceLanguage","sourceVersion","userAgent"],"properties":{"sourceLanguage":{"type":"string","enum":["json","cxml"],"x-order":1},"sourceVersion":{"const":"1.0.6","description":"Canonical schema version used to create this document","x-order":2},"payloadId":{"type":"string","description":"Original cXML payload ID","x-order":3},"userAgent":{"const":"DataShift Edge v1","description":"DataShift Edge version that generated the canonical document","x-order":4}},"additionalProperties":false,"x-order":4,"title":"AdvanceShippingNoticeMetadata"},"AdvanceShippingNoticeData":{"type":"object","required":["dispatchAdviceNumber","poNumber","noticeDate","shipmentDate","carrier","shipFrom","shipTo","lineItems"],"properties":{"dispatchAdviceNumber":{"type":"string","description":"Supplier-assigned shipment or dispatch advice identifier.","x-order":1},"poNumber":{"type":"string","description":"Primary purchase order number this shipment fulfils.","x-order":2},"operation":{"type":"string","enum":["new","update","delete"],"default":"new","description":"Whether this is a new shipment notice, an update, or a cancellation","x-order":3},"noticeDate":{"type":"string","format":"date-time","description":"Date and time the supplier created the shipment notice.","x-order":4},"shipmentDate":{"type":"string","format":"date-time","description":"Date and time the goods left the supplier.","x-order":5},"deliveryDate":{"type":"string","format":"date-time","description":"Expected delivery date and time.","x-order":6},"requestedDeliveryDate":{"type":"string","format":"date-time","description":"Buyer's originally requested delivery date","x-order":7},"shipmentType":{"type":"string","enum":["actual","planned"],"description":"Whether this is an actual shipment or a planned/estimated one","x-order":8},"fulfillmentType":{"type":"string","enum":["partial","complete"],"description":"Whether this shipment fulfils all or part of the referenced order.","x-enum-descriptions":{"partial":"The shipment fulfils part of the referenced order.","complete":"The shipment fulfils the referenced order in full."},"x-order":9},"serviceLevel":{"type":"string","description":"Level of shipping service (e.g., overnight, ground, express)","x-order":10},"documentReference":{"type":"object","description":"Reference to previous ship notice (required for operation=update/delete)","properties":{"documentId":{"type":"string","x-order":1},"payloadId":{"type":"string","x-order":2}},"additionalProperties":false,"x-order":11},"poReferences":{"type":"array","description":"References to purchase orders being fulfilled by this shipment","items":{"type":"object","required":["poNumber"],"properties":{"poNumber":{"type":"string","x-order":1},"poVersion":{"type":"string","x-order":2},"documentId":{"type":"string","x-order":3},"payloadId":{"type":"string","x-order":4},"orderDate":{"type":"string","format":"date-time","x-order":5}},"additionalProperties":false},"x-order":12},"carrier":{"type":"object","required":["name"],"description":"Carrier and service details for the shipment.","properties":{"name":{"type":"string","description":"Carrier company name","x-order":1},"identifiers":{"type":"array","description":"Carrier identification codes","items":{"type":"object","required":["domain","value"],"properties":{"domain":{"type":"string","enum":["SCAC","IATA","AAR","UIC","EAN","DUNS","companyName"],"description":"Domain/type of identifier","x-order":1},"value":{"type":"string","x-order":2}},"additionalProperties":false},"x-order":2},"serviceType":{"type":"string","description":"Type of shipping service","x-order":3}},"additionalProperties":false,"x-order":13},"shipmentIdentifiers":{"type":"array","description":"Tracking numbers and shipment identifiers (consignment note, bill of lading, etc.)","items":{"type":"object","required":["domain","value"],"properties":{"domain":{"type":"string","enum":["trackingNumber","billOfLading","proNumber","airWaybill","containerNumber"],"description":"Type of shipment identifier","x-order":1},"value":{"type":"string","x-order":2}},"additionalProperties":false},"x-order":14},"termsOfDelivery":{"type":"object","description":"Delivery terms and conditions","properties":{"incoTerms":{"type":"string","enum":["cfr","cif","cip","cpt","daf","dap","ddp","ddu","dpu","deq","des","exw","fas","fca","fob"],"description":"International Commercial Terms","x-order":1},"fobPoint":{"type":"string","x-order":2},"description":{"type":"string","x-order":3}},"additionalProperties":false,"x-order":15},"shipFrom":{"title":"Address Definition","description":"Shipment origin.","type":"object","properties":{"addressId":{"type":"string","x-order":1},"addressee":{"type":"string","x-order":2},"street1":{"type":"string","x-order":3},"street2":{"type":"string","x-order":4},"city":{"type":"string","x-order":5},"state":{"type":"string","x-order":6},"postalCode":{"type":"string","x-order":7},"country":{"type":"string","enum":["AU"],"x-order":8}},"required":["street1","city","state","postalCode","country"],"additionalProperties":false,"x-order":16},"shipTo":{"title":"Address Definition","description":"Shipment destination.","type":"object","properties":{"addressId":{"type":"string","x-order":1},"addressee":{"type":"string","x-order":2},"street1":{"type":"string","x-order":3},"street2":{"type":"string","x-order":4},"city":{"type":"string","x-order":5},"state":{"type":"string","x-order":6},"postalCode":{"type":"string","x-order":7},"country":{"type":"string","enum":["AU"],"x-order":8}},"required":["street1","city","state","postalCode","country"],"additionalProperties":false,"x-order":17},"contacts":{"type":"array","description":"Contact information for various roles","items":{"type":"object","required":["role"],"properties":{"role":{"type":"string","enum":["shipFrom","shipTo","carrierCorporate","technicalSupport","customerService"],"x-order":1},"name":{"type":"string","x-order":2},"email":{"type":"string","anyOf":[{"format":"email"},{"const":""}],"x-order":3},"phone":{"type":"string","x-order":4}},"additionalProperties":false},"x-order":18},"comments":{"type":"string","maxLength":2000,"description":"Human-readable notes about this shipment","x-order":19},"reason":{"type":"string","enum":["return"],"description":"Reason for shipment if not a standard delivery (e.g., return)","x-order":20},"lineItems":{"type":"array","minItems":1,"description":"Authoritative shipped line data. Packages reference these lines; they do not replace them. DataShift manages uniqueLineKey correlation where needed.","items":{"$ref":"#/components/schemas/AdvanceShippingNoticeLineItem"},"x-order":21},"packages":{"type":"array","description":"Physical package or carton detail used for carton allocation and SSCC labelling.","items":{"$ref":"#/components/schemas/AdvanceShippingNoticePackage"},"x-order":22},"hazardInfo":{"type":"array","description":"Hazardous materials information","items":{"type":"object","properties":{"unNumber":{"type":"string","x-order":1},"hazardClass":{"type":"string","x-order":2},"description":{"type":"string","x-order":3}},"additionalProperties":false},"x-order":23},"extrinsics":{"type":"object","description":"Partner-specific extension fields that are not part of the canonical core contract.","additionalProperties":{"x-additionalPropertiesName":"extensionField","description":"Partner-specific extension value."},"x-order":24}},"additionalProperties":false,"description":"Business payload for the shipment notice.","x-order":5,"title":"AdvanceShippingNoticeData"},"AdvanceShippingNoticeLineItem":{"type":"object","required":["quantity"],"properties":{"lineNumber":{"type":"integer","description":"Line number from the purchase order being fulfilled.","x-order":1},"shipNoticeLineNumber":{"type":"integer","description":"Sequence number of this line within the ship notice","x-order":2},"uniqueLineKey":{"type":"string","description":"DataShift-managed stable line key from the original purchase order, used by internal connectors for cross-document correlation.","x-datashift-managed":true,"x-datashift-system":true,"x-order":3},"supplierItemId":{"type":"string","description":"Supplier's part or item number","x-order":4},"buyerItemId":{"type":"string","description":"Buyer's part or item number","x-order":5},"gtin":{"type":"string","description":"GS1 Global Trade Item Number","x-order":6},"description":{"type":"string","description":"Item description","x-order":7},"quantity":{"type":"number","multipleOf":0.01,"description":"Quantity shipped on this line.","x-order":8},"unitOfMeasure":{"title":"REC20 Unit of Measure Codes","description":"UN/ECE REC20 unit of measure code","type":"string","enum":["AY","BG","BL","BR","BLL","E2","BO","BX","BJ","BE","KA","CA","CG","CT","CQ","CS","CMT","CL","CH","MTQ","CY","DAY","DC","DZN","DR","EA","FOT","GRM","HUR","CEN","INH","JR","KGM","KMT","KT","LN","LK","LTR","MTR","TNE","MLT","MMT","MON","PK","PD","PL","PR","D97","C62","PG","LBR","RL","RO","SA","SE","SET","ST","SO","MTK","U3","MIL","TU","WEE"],"x-order":9},"countryOfOrigin":{"type":"string","enum":["AU"],"description":"Country where the item was manufactured","x-order":10},"batchInfo":{"type":"object","description":"Lot or batch tracking information","properties":{"batchId":{"type":"string","x-order":1},"productionDate":{"type":"string","format":"date","x-order":2},"expirationDate":{"type":"string","format":"date","x-order":3}},"additionalProperties":false,"x-order":11},"serialNumbers":{"type":"array","items":{"type":"string"},"description":"Serial numbers for individually serialised items","x-order":12}},"additionalProperties":false,"title":"AdvanceShippingNoticeLineItem"},"AdvanceShippingNoticePackage":{"type":"object","required":["packageId"],"properties":{"packageId":{"type":"string","description":"Supplier or warehouse package identifier unique within this shipment.","x-order":1},"sscc":{"type":"string","pattern":"^[0-9]{18}$","description":"Serial Shipping Container Code for the carton or logistic unit.","x-order":2},"packagingCode":{"type":"string","description":"Type of packaging (e.g., BOX, PAL, CTN)","x-order":3},"grossWeight":{"type":"object","description":"Total weight of package including contents","properties":{"value":{"type":"number","multipleOf":0.001,"x-order":1},"unit":{"type":"string","enum":["KG","LB","OZ","G"],"x-order":2}},"additionalProperties":false,"x-order":4},"netWeight":{"type":"object","description":"Weight of contents only","properties":{"value":{"type":"number","multipleOf":0.001,"x-order":1},"unit":{"type":"string","enum":["KG","LB","OZ","G"],"x-order":2}},"additionalProperties":false,"x-order":5},"dimensions":{"type":"object","description":"Physical dimensions of the package","properties":{"length":{"type":"number","multipleOf":0.01,"x-order":1},"width":{"type":"number","multipleOf":0.01,"x-order":2},"height":{"type":"number","multipleOf":0.01,"x-order":3},"unit":{"type":"string","enum":["CM","IN","M","FT"],"x-order":4}},"additionalProperties":false,"x-order":6},"lineReferences":{"type":"array","description":"References to authoritative lineItems packed inside this package.","items":{"type":"object","required":["quantity"],"anyOf":[{"required":["lineNumber"]},{"required":["uniqueLineKey"]}],"properties":{"lineNumber":{"type":"integer","x-order":1},"uniqueLineKey":{"type":"string","description":"DataShift-managed line key from the original purchase order for internal connector correlation","x-datashift-managed":true,"x-datashift-system":true,"x-order":2},"quantity":{"type":"number","multipleOf":0.01,"description":"Quantity of this line item packed in this carton","x-order":3},"unitOfMeasure":{"title":"REC20 Unit of Measure Codes","description":"Unit of measure for the quantity — must match the parent line item's unitOfMeasure","type":"string","enum":["AY","BG","BL","BR","BLL","E2","BO","BX","BJ","BE","KA","CA","CG","CT","CQ","CS","CMT","CL","CH","MTQ","CY","DAY","DC","DZN","DR","EA","FOT","GRM","HUR","CEN","INH","JR","KGM","KMT","KT","LN","LK","LTR","MTR","TNE","MLT","MMT","MON","PK","PD","PL","PR","D97","C62","PG","LBR","RL","RO","SA","SE","SET","ST","SO","MTK","U3","MIL","TU","WEE"],"x-order":4}},"additionalProperties":false},"x-order":7}},"additionalProperties":false,"title":"AdvanceShippingNoticePackage"},"Invoice":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://docs.datashift.com.au/edi/contracts/releases/1.0.11/schemas/invoice.schema.json","title":"Invoice","description":"Public canonical Invoice contract used to request payment for goods or services supplied against purchase orders and shipments.","version":"1.0.11","type":"object","required":["docType","correlationId","timestamp","metadata","data"],"properties":{"docType":{"const":"INV","x-datashift-managed":true,"x-datashift-system":true,"description":"Canonical document type. For invoices this value is INV.","x-order":1},"correlationId":{"type":"string","format":"uuid","x-datashift-managed":true,"x-datashift-system":true,"description":"Stable UUID used to trace this invoice through order, shipment, and payment workflows.","x-order":2},"timestamp":{"type":"string","format":"date-time","description":"UTC timestamp indicating when DataShift created the canonical invoice.","x-datashift-managed":true,"x-datashift-system":true,"x-order":3},"metadata":{"$ref":"#/components/schemas/InvoiceMetadata"},"data":{"$ref":"#/components/schemas/InvoiceData"}},"additionalProperties":false,"examples":[{"docType":"INV","correlationId":"43e7580b-e592-46bb-a3d0-dbf8997758d9","timestamp":"2026-05-16T04:00:00Z","metadata":{"sourceLanguage":"cxml","sourceVersion":"1.0.11","payloadId":"inv-example-10001","userAgent":"DataShift Edge v1"},"data":{"invoiceNumber":"INV-10001","poNumber":"PO-10001","invoiceDate":"2026-05-16T04:00:00Z","dueDate":"2026-06-15T00:00:00Z","purpose":"standard","poReferences":[{"poNumber":"PO-10001","poVersion":"1"}],"supplier":{"id":"SUPPLIER-AU","name":"Example Supplier Pty Ltd","taxRegistrations":{"type":"ABN","value":"98765432109"},"address":{"addressee":"Example Supplier Pty Ltd","street1":"20 Supplier Street","city":"Adelaide","state":"SA","postalCode":"5000","country":"AU"}},"billTo":{"addressee":"Example Buyer Accounts","street1":"1 Market Street","city":"Sydney","state":"NSW","postalCode":"2000","country":"AU"},"lineItems":[{"invoiceLineNumber":1,"uniqueLineKey":"PO-10001-1","poLineReference":1,"supplierItemId":"SUP-001","buyerItemId":"BUY-001","description":"Example product","quantity":10,"unitOfMeasure":"EA","unitPrice":1500000,"subtotal":150000,"taxAmount":15000,"currency":"AUD"}],"invoiceSummary":{"taxAmount":15000,"grossAmount":165000,"netAmount":165000,"dueAmount":165000,"currency":"AUD"},"extrinsics":{"accountsReference":"AP-10001"}}}]},"InvoiceMetadata":{"type":"object","description":"Public source metadata retained for integration troubleshooting.","required":["sourceLanguage","sourceVersion","userAgent"],"properties":{"sourceLanguage":{"type":"string","enum":["json","cxml"],"x-order":1},"sourceVersion":{"const":"1.0.11","description":"Canonical schema version used to create this document","x-order":2},"payloadId":{"type":"string","description":"Original cXML payload ID","x-order":3},"userAgent":{"const":"DataShift Edge v1","description":"DataShift Edge version that generated the canonical document","x-order":4}},"additionalProperties":false,"x-order":4,"title":"InvoiceMetadata"},"InvoiceData":{"type":"object","required":["invoiceNumber","poNumber","invoiceDate","purpose","supplier","billTo","lineItems","invoiceSummary"],"properties":{"invoiceNumber":{"type":"string","description":"Supplier-generated invoice number.","x-order":1},"poNumber":{"type":"string","description":"Primary purchase order number this invoice bills against.","x-order":2},"invoiceDate":{"type":"string","format":"date-time","description":"Date and time the supplier issued the invoice.","x-order":3},"dueDate":{"type":"string","format":"date-time","description":"Payment due date.","x-order":4},"purpose":{"type":"string","enum":["standard","creditMemo","debitMemo","lineLevelCreditMemo","lineLevelDebitMemo"],"default":"standard","description":"Invoice business purpose.","x-enum-descriptions":{"standard":"Standard invoice requesting payment.","creditMemo":"Document reducing a previously invoiced amount.","debitMemo":"Document increasing a previously invoiced amount.","lineLevelCreditMemo":"Line-level credit against a previous invoice.","lineLevelDebitMemo":"Line-level debit against a previous invoice."},"x-order":5},"operation":{"type":"string","enum":["new","update","delete"],"default":"new","description":"Whether this creates, updates, or deletes an invoice","x-order":6},"invoiceOrigin":{"type":"string","enum":["supplier","buyer"],"description":"Whether invoice was originated by supplier or buyer (ERS)","x-order":7},"isInformationOnly":{"type":"boolean","default":false,"description":"If true, invoice is for information only and no action required","x-order":8},"isERS":{"type":"boolean","default":false,"description":"Evaluated Receipt Settlement invoice","x-order":9},"documentReference":{"type":"object","description":"Reference to previous invoice (for credit/debit memos or cancellations)","properties":{"invoiceId":{"type":"string","x-order":1},"invoiceDate":{"type":"string","format":"date-time","x-order":2},"documentId":{"type":"string","x-order":3},"payloadId":{"type":"string","x-order":4}},"additionalProperties":false,"x-order":10},"poReferences":{"type":"array","description":"Purchase orders being invoiced.","items":{"type":"object","required":["poNumber"],"properties":{"poNumber":{"type":"string","x-order":1},"poVersion":{"type":"string","x-order":2},"documentId":{"type":"string","x-order":3},"payloadId":{"type":"string","x-order":4},"orderDate":{"type":"string","format":"date-time","x-order":5}},"additionalProperties":false},"x-order":11},"asnReference":{"type":"object","description":"Shipment notice reference when invoicing against a dispatched shipment.","properties":{"shipmentId":{"type":"string","x-order":1},"shipmentDate":{"type":"string","format":"date-time","x-order":2},"documentId":{"type":"string","x-order":3},"payloadId":{"type":"string","x-order":4}},"additionalProperties":false,"x-order":12},"supplier":{"title":"Party Definition","description":"Supplier or seller issuing the invoice.","type":"object","properties":{"id":{"type":"string","x-order":1},"name":{"type":"string","x-order":2},"taxRegistrations":{"type":"object","description":"Australian tax registrations for the party","required":["type","value"],"properties":{"type":{"type":"string","enum":["ABN"],"x-order":1},"value":{"type":"string","x-order":2}},"additionalProperties":false,"x-order":3},"contact":{"type":"object","properties":{"name":{"type":"string","x-order":1},"phone":{"type":"string","x-order":2},"email":{"type":"string","anyOf":[{"format":"email"},{"const":""}],"x-order":3},"role":{"type":"string","x-order":4}},"additionalProperties":false,"x-order":4},"address":{"title":"Address Definition","description":"Standard address structure for DataShift canonical documents","type":"object","properties":{"addressId":{"type":"string","x-order":1},"addressee":{"type":"string","x-order":2},"street1":{"type":"string","x-order":3},"street2":{"type":"string","x-order":4},"city":{"type":"string","x-order":5},"state":{"type":"string","x-order":6},"postalCode":{"type":"string","x-order":7},"country":{"type":"string","enum":["AU"],"x-order":8}},"required":["street1","city","state","postalCode","country"],"additionalProperties":false,"x-order":5}},"required":["id","name"],"additionalProperties":false,"x-order":13},"billTo":{"title":"Address Definition","description":"Buyer billing party.","type":"object","properties":{"addressId":{"type":"string","x-order":1},"addressee":{"type":"string","x-order":2},"street1":{"type":"string","x-order":3},"street2":{"type":"string","x-order":4},"city":{"type":"string","x-order":5},"state":{"type":"string","x-order":6},"postalCode":{"type":"string","x-order":7},"country":{"type":"string","enum":["AU"],"x-order":8}},"required":["street1","city","state","postalCode","country"],"additionalProperties":false,"x-order":14},"soldTo":{"allOf":[{"title":"Address Definition","description":"Standard address structure for DataShift canonical documents","type":"object","properties":{"addressId":{"type":"string","x-order":1},"addressee":{"type":"string","x-order":2},"street1":{"type":"string","x-order":3},"street2":{"type":"string","x-order":4},"city":{"type":"string","x-order":5},"state":{"type":"string","x-order":6},"postalCode":{"type":"string","x-order":7},"country":{"type":"string","enum":["AU"],"x-order":8}},"required":["street1","city","state","postalCode","country"],"additionalProperties":false}],"description":"Sold-to party (may differ from bill-to)","x-order":15},"shipTo":{"title":"Address Definition","description":"Standard address structure for DataShift canonical documents","type":"object","properties":{"addressId":{"type":"string","x-order":1},"addressee":{"type":"string","x-order":2},"street1":{"type":"string","x-order":3},"street2":{"type":"string","x-order":4},"city":{"type":"string","x-order":5},"state":{"type":"string","x-order":6},"postalCode":{"type":"string","x-order":7},"country":{"type":"string","enum":["AU"],"x-order":8}},"required":["street1","city","state","postalCode","country"],"additionalProperties":false,"x-order":16},"remitTo":{"type":"object","description":"Address where payment should be sent","properties":{"addressId":{"type":"string","x-order":1},"addressee":{"type":"string","x-order":2},"street1":{"type":"string","x-order":3},"street2":{"type":"string","x-order":4},"city":{"type":"string","x-order":5},"state":{"type":"string","x-order":6},"postalCode":{"type":"string","x-order":7},"country":{"type":"string","enum":["AU"],"x-order":8},"bankDetails":{"type":"object","properties":{"bankName":{"type":"string","x-order":1},"accountName":{"type":"string","x-order":2},"accountNumber":{"type":"string","x-order":3},"bsb":{"type":"string","x-order":4},"swift":{"type":"string","x-order":5},"iban":{"type":"string","x-order":6}},"additionalProperties":false,"x-order":9}},"additionalProperties":false,"x-order":17},"shipping":{"type":"object","description":"Commercial freight charges and instructions for the invoice.","properties":{"amount":{"description":"Integer amount in ISO 4217 minor units (e.g. AUD in cents, exponent 2: 561.02 -> 56102). Negative for credits or adjustments.","type":"integer","x-datashift-money":"minor","x-order":1},"currency":{"title":"Currency Enumeration","description":"ISO 4217 currency codes supported by DataShift canonical schemas","type":"string","enum":["AUD"],"x-order":2},"carrier":{"type":"string","x-order":3},"route":{"type":"string","x-order":4},"shippingInstructions":{"type":"string","x-order":5},"buyerAcctNumber":{"type":"string","x-order":6},"incoTerms":{"type":"string","enum":["cfr","cif","cip","cpt","daf","dap","ddp","ddu","dpu","deq","des","exw","fas","fca","fob"],"x-order":7}},"additionalProperties":false,"x-order":18},"shipmentDetails":{"type":"object","description":"Actual dispatch and tracking information for the invoiced goods","properties":{"carrier":{"type":"string","x-order":1},"trackingNumber":{"type":"string","x-order":2},"shippingDate":{"type":"string","format":"date-time","x-order":3}},"additionalProperties":false,"x-order":19},"paymentTerms":{"type":"object","description":"Payment terms and conditions","properties":{"description":{"type":"string","description":"Human-readable payment terms (e.g., 'Net 30', '2/10 Net 30')","x-order":1},"netDays":{"type":"integer","description":"Number of days until payment is due","x-order":2},"discountTerms":{"type":"array","description":"Early payment discount tiers","items":{"type":"object","properties":{"discountPercent":{"type":"number","multipleOf":0.01,"description":"Discount percentage (e.g., 2 for 2%)","x-order":1},"discountDays":{"type":"integer","description":"Days within which discount applies","x-order":2},"discountDueDate":{"type":"string","format":"date","description":"Specific date by which discount applies","x-order":3}},"additionalProperties":false},"x-order":3}},"additionalProperties":false,"x-order":20},"contacts":{"type":"array","description":"Contact information for various roles","items":{"type":"object","required":["role"],"properties":{"role":{"type":"string","enum":["issuerOfInvoice","soldTo","billTo","remitTo","shipFrom","shipTo"],"x-order":1},"name":{"type":"string","x-order":2},"email":{"type":"string","anyOf":[{"format":"email"},{"const":""}],"x-order":3},"phone":{"type":"string","x-order":4}},"additionalProperties":false},"x-order":21},"comments":{"type":"string","maxLength":2000,"description":"Invoice-level comments or notes","x-order":22},"lineItems":{"type":"array","minItems":1,"items":{"$ref":"#/components/schemas/InvoiceLineItem"},"description":"Invoice lines. DataShift manages uniqueLineKey correlation back to PO and ASN lines where needed.","x-order":23},"invoiceSummary":{"$ref":"#/components/schemas/InvoiceSummary"},"extrinsics":{"type":"object","description":"Partner-specific extension fields that are not part of the canonical core contract.","additionalProperties":{"x-additionalPropertiesName":"extensionField","description":"Partner-specific extension value."},"x-order":25}},"additionalProperties":false,"description":"Business payload for the invoice.","x-order":5,"title":"InvoiceData"},"InvoiceLineItem":{"type":"object","required":["invoiceLineNumber","quantity","unitPrice","subtotal","currency"],"properties":{"invoiceLineNumber":{"type":"integer","description":"Supplier's line number for this invoice line.","x-order":1},"uniqueLineKey":{"type":"string","description":"DataShift-managed stable line key from the original purchase order.","x-datashift-managed":true,"x-datashift-system":true,"x-order":2},"poLineReference":{"type":"integer","description":"Line number from the purchase order being invoiced.","x-order":3},"asnLineReference":{"type":"integer","description":"Line number from the ship notice","x-order":4},"supplierItemId":{"type":"string","description":"Supplier's part/item number","x-order":5},"buyerItemId":{"type":"string","description":"Buyer's part/item number","x-order":6},"description":{"type":"string","description":"Item description","x-order":7},"quantity":{"type":"number","multipleOf":0.01,"description":"Quantity invoiced.","x-order":8},"unitOfMeasure":{"title":"REC20 Unit of Measure Codes","description":"UN/ECE Recommendation 20 unit of measure codes for DataShift canonical documents","type":"string","enum":["AY","BG","BL","BR","BLL","E2","BO","BX","BJ","BE","KA","CA","CG","CT","CQ","CS","CMT","CL","CH","MTQ","CY","DAY","DC","DZN","DR","EA","FOT","GRM","HUR","CEN","INH","JR","KGM","KMT","KT","LN","LK","LTR","MTR","TNE","MLT","MMT","MON","PK","PD","PL","PR","D97","C62","PG","LBR","RL","RO","SA","SE","SET","ST","SO","MTK","U3","MIL","TU","WEE"],"x-order":9},"unitPrice":{"description":"Integer unit price at ISO 4217 minor-unit scale + 2 (e.g. AUD, exponent 2 -> 1/10000: 5.2185 -> 52185). Carries sub-minor precision; not rounded to minor units.","type":"integer","x-datashift-money":"rate","x-order":10},"subtotal":{"description":"Line subtotal before tax and adjustments.","type":"integer","x-datashift-money":"minor","x-order":11},"taxAmount":{"description":"Integer amount in ISO 4217 minor units (e.g. AUD in cents, exponent 2: 561.02 -> 56102). Negative for credits or adjustments.","type":"integer","x-datashift-money":"minor","x-order":12},"taxRate":{"type":"number","multipleOf":0.01,"description":"Tax rate as percentage (e.g., 10 for 10%)","x-order":13},"discountAmount":{"description":"Integer amount in ISO 4217 minor units (e.g. AUD in cents, exponent 2: 561.02 -> 56102). Negative for credits or adjustments.","type":"integer","x-datashift-money":"minor","x-order":14},"shippingAmount":{"description":"Integer amount in ISO 4217 minor units (e.g. AUD in cents, exponent 2: 561.02 -> 56102). Negative for credits or adjustments.","type":"integer","x-datashift-money":"minor","x-order":15},"grossAmount":{"description":"Integer amount in ISO 4217 minor units (e.g. AUD in cents, exponent 2: 561.02 -> 56102). Negative for credits or adjustments.","type":"integer","x-datashift-money":"minor","x-order":16},"netAmount":{"description":"Integer amount in ISO 4217 minor units (e.g. AUD in cents, exponent 2: 561.02 -> 56102). Negative for credits or adjustments.","type":"integer","x-datashift-money":"minor","x-order":17},"currency":{"title":"Currency Enumeration","description":"ISO 4217 currency code for this line.","type":"string","enum":["AUD"],"x-order":18},"manufacturerPartId":{"type":"string","description":"Manufacturer's part number","x-order":19},"manufacturerName":{"type":"string","description":"Manufacturer name","x-order":20},"countryOfOrigin":{"type":"string","enum":["AU"],"description":"Country where item was manufactured","x-order":21},"serialNumbers":{"type":"array","items":{"type":"string"},"description":"Serial numbers for serialized items","x-order":22},"batchId":{"type":"string","description":"Lot/batch ID","x-order":23},"classification":{"type":"array","description":"Product classification codes","items":{"type":"object","properties":{"domain":{"type":"string","enum":["UNSPSC","HS","commodity"],"description":"Classification scheme","x-order":1},"code":{"type":"string","x-order":2}},"additionalProperties":false},"x-order":24},"comments":{"type":"string","maxLength":500,"description":"Line-level comments","x-order":25}},"additionalProperties":false,"title":"InvoiceLineItem"},"InvoiceSummary":{"type":"object","required":["taxAmount","dueAmount","currency"],"description":"Invoice totals, tax, discounts, and amount due.","properties":{"shippingAmount":{"description":"Integer amount in ISO 4217 minor units (e.g. AUD in cents, exponent 2: 561.02 -> 56102). Negative for credits or adjustments.","type":"integer","x-datashift-money":"minor","x-order":1},"specialHandlingAmount":{"description":"Integer amount in ISO 4217 minor units (e.g. AUD in cents, exponent 2: 561.02 -> 56102). Negative for credits or adjustments.","type":"integer","x-datashift-money":"minor","x-order":2},"taxAmount":{"description":"Integer amount in ISO 4217 minor units (e.g. AUD in cents, exponent 2: 561.02 -> 56102). Negative for credits or adjustments.","type":"integer","x-datashift-money":"minor","x-order":3},"taxBreakdown":{"type":"array","description":"Tax breakdown by type/jurisdiction","items":{"type":"object","properties":{"taxType":{"type":"string","enum":["GST","VAT","salesTax","excise","other"],"description":"Type of tax","x-order":1},"taxRate":{"type":"number","multipleOf":0.01,"description":"Tax rate as percentage","x-order":2},"taxableAmount":{"description":"Integer amount in ISO 4217 minor units (e.g. AUD in cents, exponent 2: 561.02 -> 56102). Negative for credits or adjustments.","type":"integer","x-datashift-money":"minor","x-order":3},"taxAmount":{"description":"Integer amount in ISO 4217 minor units (e.g. AUD in cents, exponent 2: 561.02 -> 56102). Negative for credits or adjustments.","type":"integer","x-datashift-money":"minor","x-order":4},"jurisdiction":{"type":"string","description":"Tax jurisdiction (e.g., state, country)","x-order":5},"description":{"type":"string","x-order":6}},"additionalProperties":false},"x-order":4},"discountAmount":{"description":"Integer amount in ISO 4217 minor units (e.g. AUD in cents, exponent 2: 561.02 -> 56102). Negative for credits or adjustments.","type":"integer","x-datashift-money":"minor","x-order":5},"grossAmount":{"description":"Integer amount in ISO 4217 minor units (e.g. AUD in cents, exponent 2: 561.02 -> 56102). Negative for credits or adjustments.","type":"integer","x-datashift-money":"minor","x-order":6},"netAmount":{"description":"Integer amount in ISO 4217 minor units (e.g. AUD in cents, exponent 2: 561.02 -> 56102). Negative for credits or adjustments.","type":"integer","x-datashift-money":"minor","x-order":7},"depositAmount":{"description":"Integer amount in ISO 4217 minor units (e.g. AUD in cents, exponent 2: 561.02 -> 56102). Negative for credits or adjustments.","type":"integer","x-datashift-money":"minor","x-order":8},"dueAmount":{"description":"Integer amount in ISO 4217 minor units (e.g. AUD in cents, exponent 2: 561.02 -> 56102). Negative for credits or adjustments.","type":"integer","x-datashift-money":"minor","x-order":9},"currency":{"title":"Currency Enumeration","description":"ISO 4217 currency codes supported by DataShift canonical schemas","type":"string","enum":["AUD"],"x-order":10}},"additionalProperties":false,"x-order":24,"title":"InvoiceSummary"}}}}