Contents
The Purchase Orders endpoint manages procurement — listing open POs, retrieving details, creating new orders, and finalizing received orders.
{
"poNo": "PO-2025-0042",
"vendor": "Acme Fasteners",
"orderDate": "2025-05-15T00:00:00Z",
"expectedDate": "2025-06-01T00:00:00Z",
"status": "Open",
"totalLines": 3,
"totalValue": 4250.00,
"lines": [
{
"lineNo": 1,
"shortID": "BOLT-M8-30",
"description": "M8 x 30mm Hex Bolt",
"units": 1000,
"unitsReceived": 0,
"unitPrice": 0.45,
"warehouse": 1,
"warehouseName": "Main"
}
]
}| Field | Type | Description |
|---|---|---|
poNo | string | Purchase order number |
vendor | string | Vendor name |
orderDate | datetime | Date the PO was created |
expectedDate | datetime | Expected delivery date |
status | string | Open, Partial, or Closed |
totalLines | integer | Number of line items |
totalValue | decimal | Total PO value |
lines | array | Line items (detail response only) |
| Field | Type | Description |
|---|---|---|
lineNo | integer | Line sequence number |
shortID | string | Part short ID |
description | string | Part description |
units | decimal | Quantity ordered |
unitsReceived | decimal | Quantity received to date |
unitPrice | decimal | Per-unit price |
warehouse | integer | Warehouse ID |
warehouseName | string | Warehouse name |
GET /PurchaseOrderReturns open purchase orders. Maximum page size is 50.
| Field | Type | Required | Description |
|---|---|---|---|
page | integer | No | Page number (default 1) |
pageSize | integer | No | Results per page (max 50) |
sort | string | No | Field to sort by |
direction | string | No | asc or desc |
startDate | datetime | No | Filter by order date on or after |
endDate | datetime | No | Filter by order date on or before |
{
"value": [
{
"poNo": "PO-2025-0042",
"vendor": "Acme Fasteners",
"orderDate": "2025-05-15T00:00:00Z",
"expectedDate": "2025-06-01T00:00:00Z",
"status": "Open",
"totalLines": 3,
"totalValue": 4250.00
},
{
"poNo": "PO-2025-0041",
"vendor": "Central Supply Co.",
"orderDate": "2025-05-10T00:00:00Z",
"expectedDate": "2025-05-28T00:00:00Z",
"status": "Partial",
"totalLines": 8,
"totalValue": 12740.50
}
],
"totalCount": 28,
"page": 1,
"pageSize": 25,
"pageCount": 2,
"hasMore": true
}GET /PurchaseOrder/{id}Returns the full PO with header details and all line items.
{
"poNo": "PO-2025-0042",
"vendor": "Acme Fasteners",
"orderDate": "2025-05-15T00:00:00Z",
"expectedDate": "2025-06-01T00:00:00Z",
"status": "Open",
"totalLines": 3,
"totalValue": 4250.00,
"lines": [
{
"lineNo": 1,
"shortID": "BOLT-M8-30",
"description": "M8 x 30mm Hex Bolt",
"units": 1000,
"unitsReceived": 0,
"unitPrice": 0.45,
"warehouse": 1,
"warehouseName": "Main"
},
{
"lineNo": 2,
"shortID": "NUT-M8",
"description": "M8 Hex Nut",
"units": 1000,
"unitsReceived": 0,
"unitPrice": 0.22,
"warehouse": 1,
"warehouseName": "Main"
},
{
"lineNo": 3,
"shortID": "WSHR-M8",
"description": "M8 Flat Washer",
"units": 2000,
"unitsReceived": 0,
"unitPrice": 0.12,
"warehouse": 1,
"warehouseName": "Main"
}
]
}POST /PurchaseOrderCreates a new purchase order via the system import procedure. At least one line is required.
{
"vendorID": 12,
"poNumber": "PO-2025-0043",
"lines": [
{
"shortID": "BOLT-M8-30",
"units": 1000,
"unitPrice": 0.45,
"warehouse": 1
},
{
"shortID": "NUT-M8",
"units": 1000,
"unitPrice": 0.22,
"warehouse": 1
}
]
}| Field | Type | Required | Description |
|---|---|---|---|
vendorID | integer | Yes | Vendor record ID |
poNumber | string | Yes | PO number (must be unique) |
lines | array | Yes | One or more line items |
lines[].shortID | string | Yes | Part short ID |
lines[].units | decimal | Yes | Quantity to order |
lines[].unitPrice | decimal | Yes | Per-unit price |
lines[].warehouse | integer | Yes | Destination warehouse ID |
{
"poNo": "PO-2025-0043",
"vendor": "Acme Fasteners",
"orderDate": "2025-05-31T14:22:00Z",
"expectedDate": null,
"status": "Open",
"totalLines": 2,
"totalValue": 670.00
}POST /PurchaseOrder/FinalizeMarks a PO as complete. Optionally creates a backorder for any lines with undelivered quantity.
{
"poNumber": "PO-2025-0042",
"createBackorder": true
}| Field | Type | Required | Description |
|---|---|---|---|
poNumber | string | Yes | PO number to finalize |
createBackorder | boolean | Yes | true to create a backorder for short-received lines |
{
"poNo": "PO-2025-0042",
"status": "Closed",
"backorderCreated": true,
"backorderPoNo": "PO-2025-0042-BO1"
}| Action | Required Permission |
|---|---|
| List / Get POs | Preview PO (SecurityID 18) |
| Create / Finalize | Create/Modify PO (SecurityID 42) |
On this page