Purchase Order /vismanetapi/setting-up-your-integration/how-tos/supplierledgerendpoint/purchaseorder section Common usage example for Endpoint(ScreenId=PO301000) 2025-11-28T09:30:17+01:00 # Purchase Order Common usage example for Endpoint(ScreenId=PO301000) URL: `https://api.finance.visma.net/v1/PurchaseOrder` For information about the ERP logic behind Purchase Orders, please refer to the [ERP Manual Help: Purchase orders](https://help.content.visma.net/Sweden/SE_EN/online-help/o2c/PO/PO301000-ref.html) ## Methods --- ### GET ALL Purchase Orders URL: `https://api.finance.visma.net/v1/PurchaseOrder` #### Query Parameters ##### Supplier=string Lets you search for Purchase Orders registered to one supplier ##### orderStatus=string Lets you define what orderStatuses to return, these are the Statuses of Purchase Order: - On hold - The purchase order is a draft and can be edited manually. - Open - The order was processed in accordance but has not been completed yet. - Pending approval - The purchase order has not been approved by all the assigned persons. - Rejected - The order was rejected by one of the persons assigned to approve it. - Pending printing - Printing is required for the document but has not been performed yet. - Pending e-mail - E-mailing is required for this document, but it has not been performed yet. - Closed - All the ordered goods were received. - Cancelled - The order was cancelled through the “ Cancel order” action - An order with this - status cannot be edited, and purchase receipts cannot be based on it. #### Usage Example This will return Purchase Orders registered on supplier “50000” that are in status OPEN. **GET** `https://api.finance.visma.net/v1/purchaseorder?Supplier=50000&status=open` --- ### POST Purchase Order URL: `https://api.finance.visma.net/v1/purchaseorder` This example shows the minimum fields you should send to be able to post a new Purchase Order, if you are using automatic numbering you can omit the “referenceNumber” field. #### JSON Request body ```json { "orderType": { "value": "RegularOrder" }, "date": { "value": "2019-12-27T09:46:11.202Z" }, "supplier": { "value": "50000" }, "lines": [ { "operation": "Insert", "inventory": { "value": "teststock" }, "lineType": { "value": "GoodsForInventory" }, "warehouse": { "value": "2" }, "uom": { "value": "PALL" }, "orderQty": { "value": 2 }, "unitCost": { "value": 2000 } } ] } ``` If sent successfully, the API will return: ![Created](201created4.png) --- ### PUT Purchase Order URL: `https://api.finance.visma.net/v1/purchaseorder/{purchaseOrder}` When using PUT, you only send the fields you want to update. In the below example, we update the first line of the Credit Note: URL PUT `https://api.finance.visma.net/v1/supplierInvoice/000050`' #### JSON Request body ```json { "lines": [ { "operation": "Update", "lineNumber": { "value": 1 }, "inventory": { "value": "6" }, "orderQty": { "value": 1 } } ] } ``` If successful, the API will return: ![No Content](nocontent3.png) ---