Update Allocations in a Return for Credit
By using the REST API, you can update allocations in a return for credit in MYOB Acumatica (that is, a sales order of the RC type). You may need to update allocations if multiple units of the returned item had different lot or serial numbers assigned. You can view the updated return for credit on the Sales Orders (SO301000) form.
System Preparation
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 SalesDemo dataset. For details on deploying an instance, see Instance Deployment: To Deploy an Instance with Demo Data.
- On the Enable/Disable Features (CS100000) form, make sure that the Inventory and Order Management and Lot and Serial Tracking features are enabled.
- If you are using Postman as the client application for testing, in the IntegrationDevelopmentGuide.postman_collection.json collection, make sure that the collection’s variables have the proper values. This collection is located in the IntegrationDevelopment\Help folder of the Help-and-Training-Examples repository on GitHub.
- To sign in to the instance in the client application, use the tenant name (which you specified when you created the instance) and the PRODWHOLE branch.
- Execute the request that is described in Create a Return for Credit for Items with Lot or Serial Numbers.
Request
You can use the following request example to update allocations in a return for credit through the REST API. In this example, you will update the AR013967 return for credit, which was created in Create a Return for Credit for Items with Lot or Serial Numbers, as follows:
- You identify the detail line to be updated by using the inventory ID, invoice number, and line number.
- You identify the allocation line to be updated by using the line number, split line number, order number, and order type. (You can obtain these values from the return for credit that you have retrieved by using the REST API.)
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 /entity/Default/24.200.001/SalesOrder?
$expand=Details,Details/Allocations HTTP/1.1
Host: [<MYOB Acumatica instance URL>]
Accept: application/json
Content-Type: application/json
{
"OrderNbr": { "value": "AR013967" },
"OrderType": { "value": "RC" },
"Details": [
{
"InventoryID": { "value": "FOODTEA06" },
"InvoiceNbr": { "value": "AR013584" },
"LineNbr": { "value": 3 },
"Allocations": [
{
"LineNbr": { "value": 3 },
"LotSerialNbr": { "value": "LREX15098" },
"OrderNbr": { "value": "AR013967" },
"OrderType": { "value": "RC" },
"SplitLineNbr": { "value": 5 }
}
],
"WarehouseID": { "value": "WHOLESALE" }
}
]
}