Invoice
Supplier billing document for ordered or shipped goods.
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.
Lifecycle And Correlation
Lifecycle Position
Follows fulfilment and supports financial reconciliation, payment approval, and exception handling.
Correlation Guidance
Invoice 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.
Validation Notes
- Require invoiceNumber, invoiceDate, purpose, supplier, billTo, lineItems, and invoiceSummary.
- Validate purpose before applying credit memo, debit memo, or cancellation logic.
- Keep line currency and summary currency explicit and consistent unless a documented multi-currency process applies.
- Validate supplier tax identity through supplier.taxRegistrations and payment routing through remitTo.bankDetails when those controls are required.
- Validate tax totals against taxBreakdown when a breakdown is supplied.
Mapping Notes
- Map PO references at the header and preserve uniqueLineKey at the line level for automatic PO, POA, and ASN reconciliation.
- 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.
- Represent line totals as grossAmount, taxAmount, and netAmount where practical; represent summary totals as grossAmount, taxAmount, shippingAmount, netAmount, and dueAmount.
- Use documentReference for credit/debit memos or cancellations tied to a previous invoice.
Operational Notes
- Use invoiceNumber with supplier identity for duplicate detection and accounts payable support.
- Route line correlation gaps to review instead of reconciling by item description or line order.
Implementation Pitfalls
- Keep tax, freight, and line totals explicit for reconciliation.
- Do not rely only on invoice-level totals when line-level tax or credits are present.
- Do not assume an invoice without uniqueLineKey can be safely matched by invoiceLineNumber, poLineReference, item id, description, quantity, or array position.
Endpoints
Use the schema endpoint for machine validation and the document page for implementation guidance.
GETDownload Invoice schema
application/schema+jsonapplication/json/contracts/releases/1.0.8/schemas/invoice.schema.jsonInvoice JSON Schema
GETInvoice
text/html/schemas/invoiceInvoice 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 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
InvoicePublic canonical Invoice contract used to request payment for goods or services supplied against purchase orders and shipments.
docTypeCanonical document type. For invoices this value is INV.
INVcorrelationIdStable UUID used to trace this invoice through order, shipment, and payment workflows.
timestampUTC timestamp indicating when DataShift created the canonical invoice.
metadatadataMetadata
InvoiceMetadataPublic source metadata retained for integration troubleshooting.
sourceLanguagejsoncxmlsourceVersionCanonical schema version used to create this document
1.0.8payloadIdOriginal cXML payload ID
userAgentDataShift Edge version that generated the canonical document
DataShift Edge v1Data
InvoiceDataBusiness payload for the invoice.
invoiceNumberSupplier-generated invoice number.
poNumberPrimary purchase order number this invoice bills against.
invoiceDateDate and time the supplier issued the invoice.
dueDatePayment due date.
purposeInvoice business purpose.
standardcreditMemodebitMemolineLevelCreditMemolineLevelDebitMemooperationWhether this creates, updates, or deletes an invoice
newupdatedeleteinvoiceOriginWhether invoice was originated by supplier or buyer (ERS)
supplierbuyerisInformationOnlyIf true, invoice is for information only and no action required
isERSEvaluated Receipt Settlement invoice
documentReferenceReference to previous invoice (for credit/debit memos or cancellations)
Object fieldsExpandCollapse
invoiceIdinvoiceDatedocumentIdpayloadIdpoReferencesPurchase orders being invoiced.
Object fieldsExpandCollapse
poNumberpoVersiondocumentIdpayloadIdorderDateasnReferenceShipment notice reference when invoicing against a dispatched shipment.
Object fieldsExpandCollapse
shipmentIdshipmentDatedocumentIdpayloadIdsupplierSupplier or seller issuing the invoice.
Object fieldsExpandCollapse
idnametaxRegistrationsAustralian tax registrations for the party
contactaddressStandard address structure for DataShift canonical documents
billToBuyer billing party.
Object fieldsExpandCollapse
addressIdaddresseestreet1street2citystatepostalCodecountryAUsoldToSold-to party (may differ from bill-to)
shipToStandard address structure for DataShift canonical documents
Object fieldsExpandCollapse
addressIdaddresseestreet1street2citystatepostalCodecountryAUremitToAddress where payment should be sent
Object fieldsExpandCollapse
addressIdaddresseestreet1street2citystatepostalCodecountryAUbankDetailsshippingCommercial freight charges and instructions for the invoice.
Object fieldsExpandCollapse
amountcurrencyISO 4217 currency codes supported by DataShift canonical schemas
AUDcarrierrouteshippingInstructionsbuyerAcctNumberincoTermscfrcifcipcptdafdapddpddudpudeqdesexwfasfcafobshipmentDetailsActual dispatch and tracking information for the invoiced goods
Object fieldsExpandCollapse
carriertrackingNumbershippingDatepaymentTermsPayment terms and conditions
Object fieldsExpandCollapse
descriptionHuman-readable payment terms (e.g., 'Net 30', '2/10 Net 30')
netDaysNumber of days until payment is due
discountTermsEarly payment discount tiers
contactsContact information for various roles
Object fieldsExpandCollapse
roleissuerOfInvoicesoldTobillToremitToshipFromshipTonameemailphonecommentsInvoice-level comments or notes
lineItemsInvoice lines. DataShift manages uniqueLineKey correlation back to PO and ASN lines where needed.
invoiceSummaryextrinsicsPartner-specific extension fields that are not part of the canonical core contract.
Line Items
InvoiceLineIteminvoiceLineNumberSupplier's line number for this invoice line.
uniqueLineKeyDataShift-managed stable line key from the original purchase order.
poLineReferenceLine number from the purchase order being invoiced.
asnLineReferenceLine number from the ship notice
supplierItemIdSupplier's part/item number
buyerItemIdBuyer's part/item number
descriptionItem description
quantityQuantity invoiced.
unitOfMeasureUN/ECE Recommendation 20 unit of measure codes for DataShift canonical documents
AYBGBLBRBLLE2BOBXBJBEKACACGCTCQCSCMTCLCHMTQCYDAYDCDZNDREAFOTGRMHURCENINHJRKGMKMTKTLNLKLTRMTRTNEMLTMMTMONPKPDPLPRD97C62PGLBRRLROSASESETSTSOMTKU3MILTUWEEunitPriceUnit price
subtotalLine subtotal before tax and adjustments.
taxAmountTax amount for this line
taxRateTax rate as percentage (e.g., 10 for 10%)
discountAmountDiscount amount for this line
shippingAmountShipping charge for this line
grossAmountSubtotal + tax + shipping before discounts
netAmountGross amount minus discounts
currencyISO 4217 currency code for this line.
AUDmanufacturerPartIdManufacturer's part number
manufacturerNameManufacturer name
countryOfOriginCountry where item was manufactured
AUserialNumbersSerial numbers for serialized items
batchIdLot/batch ID
classificationProduct classification codes
Object fieldsExpandCollapse
domainClassification scheme
UNSPSCHScommoditycodecommentsLine-level comments
Summary
InvoiceSummaryInvoice totals, tax, discounts, and amount due.
shippingAmountTotal shipping charges
specialHandlingAmountSpecial handling charges
taxAmountTotal tax amount
taxBreakdownTax breakdown by type/jurisdiction
Object fieldsExpandCollapse
taxTypeType of tax
GSTVATsalesTaxexciseothertaxRateTax rate as percentage
taxableAmountAmount subject to this tax
taxAmountCalculated tax amount
jurisdictionTax jurisdiction (e.g., state, country)
descriptiondiscountAmountTotal discount amount
grossAmountSubtotal + tax + shipping + handling before discounts
netAmountGross amount minus discounts
depositAmountPrepayment/deposit already received
dueAmountAmount due (net - deposits)
currencyISO 4217 currency codes supported by DataShift canonical schemas
AUD