Procurement > PurchaseOrder
Creates a Purchase order
Changed onCreate a standalone purchase order (e.g. pushed by an ERP integrator), not linked to any purchase request. The purchase order is pinned to the company's ACTIVE purchase order template version; template fields are addressed by their stable field_key and validated against that version: unknown field keys, missing required fields and reference values that do not resolve in the company are all rejected with a field-keyed 422. A vendor_id or legal_entity_id that does not exist or is not visible to the credential is rejected earlier by the platform resource check (400).
post/api/2026-10-01/resources/procurement/purchase_orders
Request
- Base URLhttps://api.factorialhr.com
- URLhttps://api.factorialhr.com/api/2026-10-01/resources/procurement/purchase_orders
- AuthAPI key in header x-api-key
Request body
Example request
{
"company_id": "1",
"legal_entity_id": "3456",
"vendor_id": "9012",
"currency": "EUR",
"date": "2025-01-15",
"deadline": "2025-02-15",
"status": "draft",
"description": "Office supplies for Q1 2025",
"preferred_payment_method": "banktransfer",
"header_field_values": [
{
"field_key": "cost_center",
"value": "42"
},
{
"field_key": "notes",
"value": "Rack servers for the Berlin DC"
}
],
"line_items": [
{
"position": 0,
"fields": [
{
"field_key": "concept",
"value": "Rack server"
},
{
"field_key": "quantity",
"value": "2"
},
{
"field_key": "unit_price",
"value": "150000"
}
]
}
]
}Response
CREATED
Example response
{
"id": "678432",
"po_number": 2131,
"description": "Office supplies for Q1 2025",
"status": "pending",
"cost": {
"cents": 10000,
"currency": "EUR"
},
"date": "2025-01-15",
"deadline": "2025-02-15",
"vendor_id": "9012",
"purchase_request_id": "5678",
"legal_entity_id": "3456",
"company_id": "1",
"formatted_po_number": "PO-02131",
"preferred_payment_method": "banktransfer",
"po_template_version_id": "1",
"header_field_values_by_key": [
{
"field_key": "delivery_notes",
"value": "Leave at reception"
}
],
"line_items_by_key": [
{
"id": 51,
"position": 0,
"fields": [
{
"field_key": "quantity",
"value": "10"
}
]
}
]
}Changes
- info
endpoint added
- info