Create a Sales Order with Allocations
If you are using the contract-based REST API to integrate MYOB Acumatica with an external system, this external system can create a sales order with allocations in a single API call.
Testing of the Request
Before you test the code below, you need to do the
following to configure your client application and the MYOB Acumatica
instance to be used:
- Deploy a new MYOB Acumatica instance with the U100 dataset. For details on deploying an instance, see To Deploy an MYOB Acumatica Instance.
- To sign in to the instance in the client application, use the tenant name (which you specified when you created the instance) and the HEADOFFICE branch.
- If you use Postman as the client application for testing, in the IntegrationDevelopmentGuide.postman_collection.json collection (which is located in the IntegrationDevelopment\Help folder of the Help-and-Training-Examples repository on GitHub), make sure the collection variables have the proper values.
- On the Enable/Disable Features (CS100000) form, make sure that the Inventory and Order Management, Lot and Serial Tracking, and Advanced SO Invoices features are enabled.
Request
You can use the following example of an HTTP request to create a sales order with
allocations in one call.
Tip:
In the request example below,
<MYOB Acumatica instance URL>
is the URL of the MYOB Acumatica
instance (such as https://my.acumatica.com/MyInstance). You can omit the instance
name in the URL (that is, you can use https://my.acumatica.com) if the instance
is installed in the root of the website.PUT ?$expand=Details,Details/Allocations HTTP/1.1
Host: [<MYOB Acumatica instance URL>]/entity/Default/23.200.001/SalesOrder
Accept: application/json
Content-Type: application/json
{
"CustomerID": {"value": "COFFEESHOP"},
"Description": {"value": "Sales Order with Allocations"},
"Details": [
{
"InventoryID": {"value": "APJAM08"},
"Allocations": [
{
"Allocated": { "value": true },
"AllocWarehouseID": { "value": "WHOLESALE" },
"InventoryID": { "value": "APJAM08" },
"LotSerialNbr": { "value": "116046" },
"Qty": { "value": 1 }
}
]
}
],
"Hold": {"value": true},
"LocationID": {"value": "MAIN"},
"OrderType": {"value": "SO"}
}
Usage Notes
If you specify the values of the Details/Allocations/Qty
fields of a
detail line, do not specify the value of the Details/OrderQty
field
of the same line, so that no empty allocations appear in the created sales
order.