Create a Bill for Particular Lines of a Purchase Order
If you are using the contract-based REST API to integrate MYOB Acumatica with an external system, this external system can create bills for particular lines of purchase orders. For details about the processing of inventory purchases, see Purchases of Stock Items: General Information.
To create an AP bill for particular lines of a purchase order, you need to specify the line
numbers in the request by using the POLine property of the
BillDetail detail entity of the Bill
entity.
Note: If you want to add all lines of a purchase order to an AP bill, in
the BillDetail detail entity of the Bill
entity, you need to specify only the order type and number of the purchase
order.
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.
- On the Enable/Disable Features (CS100000) form, make sure that the Inventory and Order Management feature is enabled.
- 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.
- 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.
Tip: Make sure the financial periods are open for the year for which you are
creating an AP bill. If the financial periods are not open, the creation of the AP
fill fails with an error, such as Post Period cannot be empty. For details
about how to open financial periods, see an example in Opening Financial Periods: Process Activity.
Request
You can use the following example of an HTTP request to create an AP bill for a line of a purchase order.
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 ?$select=ReferenceNbr,Details/POOrderNbr,Details/POOrderNbr,
Details/InventoryID,Details/Qty&$expand=Details HTTP/1.1
Host: [<MYOB Acumatica instance URL>]/entity/Default/23.200.001/Bill
Accept: application/json
Content-Type: application/json
{
"Vendor": {
"value": "PRINTICO"
},
"VendorRef": {
"value": "123"
},
"Description": {
"value": "Bill for particular lines of a purchase order"
},
"Details": [
{
"POOrderType": {
"value": "Normal"
},
"POOrderNbr": {
"value": "000001"
},
"POLine": {
"value": 1
},
"Qty":
{
"value": 5
}
}
]
}