Skip to main content

Overview

Purchase order import creates PO headers and line items in one request. Each PO row requires header keys plus at least one line in lines[].

Quick Start

  1. Build purchaseOrders[] with PO headers and nested lines.
  2. POST to /api/import/purchase-orders.
  3. Poll /api/import/status/[jobId] for row-level failures.

Header Fields

Better Data FieldTypeRequiredExampleDescription
externalPoNumberstringYESPO-100245Unique PO number (idempotent key).
supplierIdstringYESSUP-ACMESupplier code.
destinationLocationIdstringYESDC-WESTDestination location code.
statusstringNoPENDINGOptional status, defaults to PENDING.
linesarrayYES[{...}]PO line records.

Line Fields (lines[])

Better Data FieldTypeRequiredExampleDescription
skuIdstringYESSKU-001SKU identifier.
quantitynumberYES500Ordered quantity.
unitCostnumberYES4.25Unit cost for total-cost calculation.

Validation Rules

  • purchaseOrders[] must be present and non-empty.
  • Header requires externalPoNumber, supplierId, destinationLocationId, and non-empty lines[].
  • Line numbering is derived by array position (1..n).

Common Errors

ErrorMeaningHow to fix
purchaseOrders[] is requiredMissing PO array.Send { "purchaseOrders": [ ... ] }.
required fields missingHeader missing key fields or lines array is empty.Fill required header keys and at least one line.