*API REST › Objetos › Finanzas*

# Orden de compra

> Pedido de compra a un proveedor.

Una orden de compra a un proveedor. Los importes son costes, porque el objeto es una compra. Las líneas no se publican, así que un gasto no se puede atribuir a un artículo concreto de un alquiler. Una orden de compra se puede modificar, aprobar y recibir, y necesita el add-on de compras. Las órdenes de compra están acotadas a la suscripción que posee la clave.

Esquemas: `PurchaseOrderDto`

## Atributos

| Nombre | Tipo | Descripción |
| --- | --- | --- |
| `id` | string | Identificador único del pedido de compra. |
| `poNumber` | string | Número del pedido de compra; null mientras es un borrador. |
| `status` | string | Estado del pedido de compra. `draft`, `pending`, `completed`, `cancelled` |
| `type` | string | Tipo de pedido de compra. `subrental`, `stock_purchase`, `resale_purchase`, `consumable_purchase`, `technician`, `transport`, `repair`, `consignment` |
| `isDraft` | boolean | true si el pedido de compra sigue siendo un borrador. |
| `poDate` | string<date-time> | Fecha del pedido de compra en ISO 8601 UTC; null si no se ha fijado. |
| `supplierId` | string | Identificador del proveedor; null mientras un borrador no tiene proveedor. Resuélvelo contra `/api/v1/contacts`. |
| `reference` | string | Referencia de formato libre del pedido de compra; null si no tiene. |
| `currency` | string | Moneda del pedido de compra, como código ISO 4217. |
| `subTotal` | string | Subtotal antes de descuentos e impuestos, como cadena decimal "1234.50". |
| `discountTotal` | string | Total de descuentos, como cadena decimal "1234.50". |
| `taxesPrice` | string | Total de impuestos, como cadena decimal "1234.50". |
| `netPrice` | string | Base imponible, como cadena decimal "1234.50". |
| `grossPrice` | string | Total con impuestos, como cadena decimal "1234.50". |
| `totalPaid` | string | Importe ya pagado, como cadena decimal "1234.50"; null si no se ha registrado ningún pago. |
| `orderId` | string | Pedido de alquiler asociado; null si no tiene. |
| `orderNumber` | string | Número de ese pedido; null si no tiene. |
| `projectId` | string | Proyecto asociado; null si no tiene. |
| `repairTicketId` | string | Ticket de reparación que originó la compra; null si no procede de uno. |
| `notes` | string | Notas del pedido de compra; null si no tiene. |
| `createdAt` | string<date-time> | Fecha de creación en ISO 8601 UTC. |
| `updatedAt` | string<date-time> | Fecha de la última modificación en ISO 8601 UTC. |

## Valores

| Campo | Valores |
| --- | --- |
| `status` | `draft`, `pending`, `completed`, `cancelled` |
| `type` | `subrental`, `stock_purchase`, `resale_purchase`, `consumable_purchase`, `technician`, `transport`, `repair`, `consignment` |

## Ejemplo

*Purchase order · Generado a partir del esquema*

```json
{
  "id": "id_8f2a1c",
  "poNumber": "string",
  "status": "draft",
  "type": "subrental",
  "isDraft": true,
  "poDate": "2026-09-01T08:00:00Z",
  "supplierId": "string",
  "reference": "string",
  "currency": "EUR",
  "subTotal": "1234.50",
  "discountTotal": "1234.50",
  "taxesPrice": "1234.50",
  "netPrice": "1234.50",
  "grossPrice": "1234.50",
  "totalPaid": "1234.50",
  "orderId": "string",
  "orderNumber": "string",
  "projectId": "string",
  "repairTicketId": "string",
  "notes": "string",
  "createdAt": "2026-09-01T08:00:00Z",
  "updatedAt": "2026-09-01T08:00:00Z"
}
```

## Lo devuelven

- [`GET /api/v1/purchase-orders`](https://docs.filmo.io/es/rest-api/endpoint-reference/purchase-orders/list-purchase-orders) — Listar pedidos de compra
- [`GET /api/v1/purchase-orders/{purchaseOrderId}`](https://docs.filmo.io/es/rest-api/endpoint-reference/purchase-orders/get-a-purchase-order) — Obtener una orden de compra

## Lo modifican

- [`PATCH /api/v1/purchase-orders/{purchaseOrderId}`](https://docs.filmo.io/es/rest-api/endpoint-reference/purchase-orders/update-a-purchase-order) — Actualizar una orden de compra
- [`POST /api/v1/purchase-orders/{purchaseOrderId}/approve`](https://docs.filmo.io/es/rest-api/endpoint-reference/purchase-orders/approve-a-purchase-order) — Aprobar un pedido de compra
- [`POST /api/v1/purchase-orders/{purchaseOrderId}/receive`](https://docs.filmo.io/es/rest-api/endpoint-reference/purchase-orders/receive-material-from-a-purchase-order) — Recibir material de un pedido de compra

---

URL canónica: https://docs.filmo.io/es/rest-api/objects/purchase-order  
Última actualización: 2026-10-25