Finance

Purchase order

Purchase order to a supplier.

Schemas: PurchaseOrderDto

Example

{
  "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"
}

Generated from the schema

A purchase order to a supplier. The amounts are costs, because the object is a purchase. The lines are not published, so an expense cannot be attributed to a specific item of a rental. A purchase order can be changed, approved and received, and it needs the purchases add-on. Purchase orders are bounded to the subscription that owns the key.

Attributes

idstring

Unique purchase order identifier.

poNumberstring | null

Purchase order number; null while it is a draft.

statusstring

Purchase order status.

Available options: draft, pending, completed, cancelled

typestring

Purchase order type.

Available options: subrental, stock_purchase, resale_purchase, consumable_purchase, technician, transport, repair, consignment

isDraftboolean

true if the purchase order is still a draft.

poDatestring<date-time> | null

Purchase order date in ISO 8601 UTC; null if not set.

supplierIdstring | null

Supplier identifier; null while a draft has no supplier. Resolve it against /api/v1/contacts.

referencestring | null

Free-form reference of the purchase order; null if it has none.

currencystring

Currency of the purchase order, as an ISO 4217 code.

subTotalstring

Subtotal before discounts and taxes, as a decimal string "1234.50".

Limits: pattern ^-?\d+\.\d{2}$

discountTotalstring

Discount total, as a decimal string "1234.50".

Limits: pattern ^-?\d+\.\d{2}$

taxesPricestring

Tax total, as a decimal string "1234.50".

Limits: pattern ^-?\d+\.\d{2}$

netPricestring

Taxable base, as a decimal string "1234.50".

Limits: pattern ^-?\d+\.\d{2}$

grossPricestring

Total including taxes, as a decimal string "1234.50".

Limits: pattern ^-?\d+\.\d{2}$

totalPaidstring | null

Amount already paid, as a decimal string "1234.50"; null if no payment has been recorded.

Limits: pattern ^-?\d+\.\d{2}$

orderIdstring | null

Associated rental order; null if it has none.

orderNumberstring | null

Number of that order; null if it has none.

projectIdstring | null

Associated project; null if it has none.

repairTicketIdstring | null

Repair ticket that originated the purchase; null if it does not come from one.

notesstring | null

Purchase order notes; null if it has none.

createdAtstring<date-time>

Creation date in ISO 8601 UTC.

updatedAtstring<date-time>

Last modification date in ISO 8601 UTC.

Values

status
draft, pending, completed, cancelled
type
subrental, stock_purchase, resale_purchase, consumable_purchase, technician, transport, repair, consignment

Returned by

Modified by

Was this page helpful?