*Workflows › Reference › Actions › Purchasing*

# Update purchase order

> Changes the header data of an existing purchase order: supplier, project, order, date, type, references and notes. Lines and amounts are not changed here.

## At a glance

| Property | Value |
| --- | --- |
| Domain | `purchaseOrders` |
| Group in the editor | Purchasing › Purchase orders |
| Runs as | The owner of the workflow, with their permissions |
| Permission | Edit access to Purchases. Administrators always pass; a module outside the plan blocks everyone. |
| Add-on | Purchases |
| Destructive | No: the public MCP catalogue does not mark it as destructive |
| Also available in | REST API, MCP (`filmo_purchase_orders_update`) |

ACTION `purchaseOrders.update`

## Inputs

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `purchaseOrderId` | string | Yes | **Purchase order.** Only a purchase order that is draft, pending or completed, and not locked, can be updated. |
| `supplierId` | string | No | Supplier |
| `projectId` | string | No | Project |
| `orderId` | string | No | Order |
| `poDate` | string | No | Date |
| `type` | enum<string> | No |  `subalquiler`, `compra_stock`, `compra_para_venta`, `compra_consumible`, `tecnico`, `transporte`, `reparacion`, `consignment` |
| `supplierQuoteRef` | string | No | Supplier's quote number |
| `reference` | string | No | Internal reference |
| `notes` | string | No |  |

## Outputs

| Name | Type | Description |
| --- | --- | --- |
| `id` | string |  |
| `subscriptionId` | string |  |
| `poNumber` | string |  |
| `seriesId` | string |  |
| `seriesName` | string |  |
| `isDraft` | boolean |  |
| `status` | enum<string> |  `draft`, `pending`, `completed`, `canceled` |
| `poDate` | string |  |
| `type` | enum<string> |  `subalquiler`, `compra_stock`, `compra_para_venta`, `compra_consumible`, `tecnico`, `transporte`, `reparacion`, `consignment` |
| `supplierId` | string |  |
| `supplier` | json |  |
| `supplierQuoteRef` | string |  |
| `reference` | string |  |
| `currency` | string |  |
| `exchangeRate` | number |  |
| `exchangeRateDate` | string |  |
| `resourceSets` | json |  |
| `setOrder` | string[] |  |
| `discount` | json |  |
| `subTotal` | number |  |
| `discountTotal` | number |  |
| `productDiscountTotal` | number |  |
| `globalDiscountTotal` | number |  |
| `taxesPrice` | number |  |
| `taxBreakdown` | json |  |
| `netPrice` | number |  |
| `grossPrice` | number |  |
| `taxesType` | string |  |
| `notes` | string |  |
| `cancelReason` | string |  |
| `customFields` | json |  |
| `incidentId` | string |  |
| `repairTicketId` | string |  |
| `repairTicketLineId` | string |  |
| `orderId` | string |  |
| `projectId` | string |  |
| `isLocked` | boolean |  |
| `lockedAt` | string |  |
| `lockedBy` | string |  |
| `approvedAt` | string |  |
| `approvedBy` | string |  |
| `sentAt` | string |  |
| `sentBy` | string |  |
| `closedAt` | string |  |
| `closedBy` | string |  |
| `canceledAt` | string |  |
| `canceledBy` | string |  |
| `createdAt` | string |  |
| `updatedAt` | string |  |
| `createdBy` | string |  |
| `updatedBy` | string |  |
| `url` | string |  |

---

Canonical URL: https://docs.filmo.io/workflows/reference/actions/purchaseorders-update  
Last updated: 2026-10-25