Create Sales Order
Required privilege: Demand / Edit
Content-Type: application/json
CSRF header required: X-XSRF-TOKEN
Request Body
{
"SO List Number": "SO-2024-100",
"SO List Document Status": "Open",
"SO List Order Date": "2024-03-15",
"Customer Number": "CUST-004",
"Sales Order Id": null,
"details": [
{
"id": null,
"Item Number": "ITEM-A",
"Sub Item Number": null,
"Warehouse Number": "WH-01",
"Ship To Number": "ST-09",
"SO Details Price": 25.00,
"SO Details Quantity": 150,
"SO Details Document Status": "Open",
"SO Details Order Date": "2024-03-15",
"SO Details Ship Date": "2024-03-22",
"SO Details Tracking": null,
"SO Details Unique Id": null
}
]
}
| Field |
Type |
Required |
Description |
SO List Number |
string |
Yes |
Unique SO document number |
SO List Document Status |
string |
Yes |
Initial status |
SO List Order Date |
string | null |
No |
ISO 8601 date |
Customer Number |
string |
Yes |
Customer reference code - must exist in Customer Master |
Sales Order Id |
integer | null |
No |
Set to null for new orders |
Detail Line Fields
| Field |
Type |
Required |
Description |
id |
integer | null |
No |
null for new lines |
Item Number |
string |
Yes |
Item reference code - must exist in Item Master |
Sub Item Number |
string | null |
No |
Sub-item reference |
Warehouse Number |
string |
Yes |
Fulfilling warehouse - all lines must share the same warehouse |
Ship To Number |
string |
Yes |
Customer ship-to location - must exist in Ship To Master |
SO Details Price |
number | null |
No |
Unit sale price |
SO Details Quantity |
number |
Yes |
Ordered quantity |
SO Details Document Status |
string |
Yes |
Line status |
SO Details Order Date |
string | null |
No |
ISO 8601 date |
SO Details Ship Date |
string | null |
No |
ISO 8601 date - must be ≥ Order Date |
SO Details Tracking |
string | null |
No |
BOL / tracking reference |
SO Details Unique Id |
string | null |
No |
External unique identifier |
Validation Rules
| Rule |
Error Code |
details must not be empty |
OrderList.NoItems |
All line items must share the same Warehouse Number |
OrderList.MultipleWarehouses |
Order Date ≤ Ship Date |
SalesOrderDetails.OrderDateAfterShip |
Customer Number must exist |
CustomerMaster.NotFound |
Item Number must exist |
ItemMaster.NotFound |
Warehouse Number must exist |
WarehouseMaster.NotFound |
Ship To Number must exist |
ShipToMaster.NotFound |
Response
{
"message": "Sales order created successfully.",
"notification_type": "Success"
}
If tables are locked during integration: notification_type is Warning.
Code Examples
CSRF=$(grep csrf_access_token cookies.txt | awk '{print $NF}')
curl -b cookies.txt -X POST https://acme.knosc.com/api/sales-order \
-H "Content-Type: application/json" \
-H "X-XSRF-TOKEN: $CSRF" \
-d '{
"SO List Number": "SO-2024-100",
"SO List Document Status": "Open",
"SO List Order Date": "2024-03-15",
"Customer Number": "CUST-004",
"Sales Order Id": null,
"details": [{
"Item Number": "ITEM-A",
"Warehouse Number": "WH-01",
"Ship To Number": "ST-09",
"SO Details Quantity": 150,
"SO Details Document Status": "Open"
}]
}'