Purchase Order API
Create, read, update, and delete purchase orders to vendors.
Endpoints
| Method | Endpoint | Description |
|---|---|---|
GET | /record/v1/purchaseOrder | List purchase orders |
GET | /record/v1/purchaseOrder/{id} | Get specific PO |
POST | /record/v1/purchaseOrder | Create PO |
PATCH | /record/v1/purchaseOrder/{id} | Update PO |
DELETE | /record/v1/purchaseOrder/{id} | Delete PO |
Key Fields
| Field | Type | Description | Required |
|---|---|---|---|
id | string | Internal ID | - |
tranId | string | PO number | Auto-generated |
entity | object | Vendor | Yes |
tranDate | string | PO date | Yes |
dueDate | string | Expected delivery date | No |
orderStatus | object | PO status | Read-only |
subsidiary | object | Subsidiary | Yes (OneWorld) |
location | object | Receiving location | No |
currency | object | Currency | Yes |
total | number | Total amount (read-only) | - |
terms | object | Payment terms | No |
memo | string | Memo | No |
item | collection | Line items | Yes |
Example: Create Purchase Order
POST /record/v1/purchaseOrder
Content-Type: application/json
{
"entity": {
"id": "789"
},
"tranDate": "2025-12-25",
"dueDate": "2026-01-15",
"subsidiary": {
"id": "1"
},
"currency": {
"id": "1"
},
"location": {
"id": "1"
},
"terms": {
"id": "5"
},
"memo": "Restock inventory for Q1 2026",
"item": {
"items": [
{
"item": { "id": "789" },
"quantity": 100,
"rate": 25.00,
"amount": 2500.00
},
{
"item": { "id": "790" },
"quantity": 50,
"rate": 50.00,
"amount": 2500.00
}
]
}
}
PO Statuses
| Status | Next Step |
|---|---|
PENDING_APPROVAL | Approve PO |
PENDING_RECEIPT | Create item receipt |
PARTIALLY_RECEIVED | Receive remaining items |
PENDING_BILLING | Create vendor bill |
PARTIALLY_BILLED | Create remaining bills |
PENDING_BILL_PART_RECEIVED | Receive items & bill |
FULLY_BILLED | Complete |
CLOSED | Closed |
CANCELLED | Cancelled |
Query Filters
Find Pending Approval
GET /record/v1/purchaseOrder?q=orderStatus='PENDING_APPROVAL'
Find by Vendor
GET /record/v1/purchaseOrder?q=entity='789'
Find by Date Range
GET /record/v1/purchaseOrder?q=tranDate BETWEEN '2025-01-01' AND '2025-12-31'
See Also
- Item Receipt - Receive PO items
- Vendor Bill - Bill against POs
- Vendor - Vendor records