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 when available. Header references identify the invoiced purchase orders and shipment notice; line references make quantity, price, tax, and credit/debit reconciliation precise.
Contract Shape
Envelope
Identifies the invoice document and traces it through order, shipment, and payment workflows.
docTypeAlways INV for invoice payloads.
correlationIdStable UUID used to trace the invoice against order and shipment workflows.
metadata.sourceLanguageSource format retained for public troubleshooting context.
Invoice Header
Captures invoice identity, purpose, dates, operation, and document references.
data.invoiceNumberSupplier-generated invoice number.
data.invoiceDateDate and time the supplier issued the invoice.
data.purposeStandard invoice, credit memo, or debit memo purpose.
data.poReferences[]Purchase orders being invoiced.
Parties And Payment
Describes seller, billing, sold-to, ship-to, remit-to, contact, and payment term context.
data.supplierSupplier or seller issuing the invoice.
data.billToBuyer billing party.
data.remitToAddress and optional bank details for payment.
data.paymentTermsPayment terms, net days, and early payment discounts.
Lines And Summary
Captures invoice line quantities, prices, tax, discounts, freight, and totals.
data.lineItems[]Invoice lines with quantity, unit price, subtotal, tax, and currency.
data.lineItems[].uniqueLineKeyStable line key from the original purchase order.
data.invoiceSummaryInvoice subtotal, tax, gross, net, due amount, and currency.
data.invoiceSummary.taxBreakdown[]Tax breakdown by type, rate, taxable amount, and jurisdiction.
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 tax totals against taxBreakdown when a breakdown is supplied.
Mapping Notes
- Map PO references at the header and preserve uniqueLineKey at the line level when available.
- Use asnReference when invoicing against a dispatched shipment.
- Represent freight, handling, discounts, gross, net, and due amount as explicit fields.
- 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 line number alone.
