Operates on Purchase Orders. In the Zuper client app this module is labeled "Purchase Order" for most companies, and "Material Order" for companies in the roofing industry — the API and data shape are identical either way. Purchase Orders and Work Orders (Service Orders) share the exact same underlying schema and endpoints; they're distinguished only by the purchase_order_type field (PURCHASE_ORDER here) and the /purchase_orders vs /service_orders route prefix. Status transitions are validated against a fixed transition matrix — an unreachable transition is rejected with 400. FULFILLED is not a valid status for a Work Order (Service Order); use WORK_COMPLETED instead.
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||
Available Statuses:
'DRAFT','SUBMITTED',
'APPROVED',
'REJECTED',
'CANCELED',
'SENT_TO_VENDOR',
'VENDOR_APPROVED',
'VENDOR_REJECTED',
'FULFILLED',
'PARTIALLY_FULFILLED'
