Create an RMA Order for a Return
If you are using the contract-based REST API to integrate MYOB Acumatica with an external system, this external system can create a return merchandise authorization (RMA) order—that is, a return order of the RM type.
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 and Advanced SO Invoices features are enabled.
- Prepare a sales order, shipment, and an invoice as follows:Tip:If you use the IntegrationDevelopmentGuide.postman_collection.json Postman collection for testing, you do not need to perform the following configuration steps because they are performed in the pre-request script.
- On the Sales Orders (SO301000) form, create a sales order to sell one SWB-32OZ-GBT item from the Retail warehouse to the FRUITICO customer.
- On the form toolbar, click Create Shipment to create a shipment for the sales order.
- In the Specify Shipment Parameters dialog box, which opens, specify today's date as the shipment date and Retail as the warehouse, and click OK.
- On the Shipments (SO302000) form, which opens, click Confirm Shipment and then click Prepare Invoice.
- On the Invoices (SO303000) form, which opens, click Release. In this example, the invoice number is supposed to be 000126.
Request
You can use the following example of an HTTP request to create a return order of the
RM type for the FRUITICO customer. According to the order, an
SWB-32OZ-GBT item will be returned, and a PEARJAM96 item will be
sold to the customer.
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 HTTP/1.1
Host: [<Acumatica ERP instance URL>]/entity/Default/23.200.001/SalesOrder
Accept: application/json
Content-Type: application/json
{
"CustomerID": { "value": "FRUITICO" },
"OrderType": { "value": "RM" },
"Details": [
{
"Branch": { "value": "HEADOFFICE" },
"InvoiceNbr": { "value": "000126" },
"Operation": { "value": "Receipt" },
"InventoryID": { "value": "SWB-32OZ-GBT" },
"OrderQty": { "value": -1 },
"UOM": { "value": "EA" },
"WarehouseID": { "value": "WHOLESALE" },
"AutoCreateIssue": { "value": false }
},
{
"Branch": { "value": "HEADOFFICE" },
"Operation": { "value": "Issue" },
"InventoryID": { "value": "PEARJAM96" },
"OrderQty": { "value": 1 },
"UOM": { "value": "PIECE" },
"WarehouseID": { "value": "RETAIL" },
"AutoCreateIssue": { "value": false }
}
]
}