Crea una factura de compra
Registra una factura rebuda d'un proveïdor.
A: header
Paràmetres de capçalera
Clau única generada pel client per garantir la idempotència en els reintents. Et permet reenviar de manera segura la mateixa petició: la primera resposta es cacheja i es retorna sense tornar a executar la mutació. És una cadena opaca per al servidor; qualsevol valor únic de fins a 64 caràcters és vàlid (UUID v7, UUID v4, ULID, nanoid, etc.). Es recomana UUID v7 per coherència amb els identificadors de l'API. La mateixa clau reutilitzada amb un body diferent retorna 409 idempotency_key_reused.
1 <= length <= 64Cos de la petició
application/json
Definicions de TypeScript
Usa el tipus request body a TypeScript.
Cos de la resposta
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
{
"data": {
"id": "01931b3e-7c4a-7f2e-9a8b-3c5d6e7f8a07",
"object": "purchase_invoice",
"external_invoice_number": "INV-2026-001-DI",
"external_id": "ERP-COMPRA-2026-0007",
"internal_code": "GASTO-2026-0007",
"supplier": {
"id": "01931b3e-7c4a-7f2e-9a8b-3c5d6e7f8a02",
"name": "Distribuciones Ibéricas, S.L."
},
"status": "paid",
"issued_on": "2026-01-05",
"received_on": "2026-04-18",
"due_on": "2026-02-04",
"subtotal": 350,
"taxes_total": 73.5,
"total_retention": 0,
"total": 423.5,
"currency": "EUR",
"paid_amount": 423.5,
"pending_amount": 0,
"payment_status": "paid",
"paid_at": "2026-01-10",
"payment_method": "transferencia",
"payment_terms_days": 30,
"bank_account": null,
"expense_account": "6280001",
"expense_category_id": "01931b3e-7c4a-7f2e-9a8b-3c5d6e7f8c01",
"deductible_percentage": 100,
"operation_class": "corriente",
"exclude_347": false,
"tax_period": "2026-Q2",
"is_reverse_charge": false,
"tags": [
"suministros",
"oficina"
],
"custom_fields": [
{
"field": "centro_coste",
"value": "CC-OFICINA"
}
],
"internal_notes": "Revisar con contabilidad antes del cierre trimestral.",
"attachment": {
"filename": "factura-suministros-abril-2026.pdf",
"mime_type": "application/pdf",
"size_bytes": 241,
"download_url": "/v1/purchase_invoices/019e822c-555a-709d-99d7-2cfeac9fc920/file"
},
"lines": [
{
"object": "purchase_invoice_line",
"description": "Material oficina comanda Q1",
"quantity": 1,
"unit_price": 350,
"tax_rate": 21,
"retention_rate": 0,
"subtotal": 350,
"taxes": 73.5,
"retention_amount": 0,
"vat_deductible": true,
"total": 423.5
}
],
"metadata": {
"erp_code": "IVA-GEN",
"ledger_account": "477000"
},
"notes": "Pedido material oficina Q1.",
"created_at": "2026-01-08T10:00:00Z",
"updated_at": "2026-01-10T12:00:00Z"
}
}{
"data": {
"id": "01931b3e-7c4a-7f2e-9a8b-3c5d6e7f8a07",
"object": "purchase_invoice",
"external_invoice_number": "INV-2026-001-DI",
"external_id": "ERP-COMPRA-2026-0007",
"internal_code": "GASTO-2026-0007",
"supplier": {
"id": "01931b3e-7c4a-7f2e-9a8b-3c5d6e7f8a02",
"name": "Distribuciones Ibéricas, S.L."
},
"status": "paid",
"issued_on": "2026-01-05",
"received_on": "2026-04-18",
"due_on": "2026-02-04",
"subtotal": 350,
"taxes_total": 73.5,
"total_retention": 0,
"total": 423.5,
"currency": "EUR",
"paid_amount": 423.5,
"pending_amount": 0,
"payment_status": "paid",
"paid_at": "2026-01-10",
"payment_method": "transferencia",
"payment_terms_days": 30,
"bank_account": null,
"expense_account": "6280001",
"expense_category_id": "01931b3e-7c4a-7f2e-9a8b-3c5d6e7f8c01",
"deductible_percentage": 100,
"operation_class": "corriente",
"exclude_347": false,
"tax_period": "2026-Q2",
"is_reverse_charge": false,
"tags": [
"suministros",
"oficina"
],
"custom_fields": [
{
"field": "centro_coste",
"value": "CC-OFICINA"
}
],
"internal_notes": "Revisar con contabilidad antes del cierre trimestral.",
"attachment": {
"filename": "factura-suministros-abril-2026.pdf",
"mime_type": "application/pdf",
"size_bytes": 241,
"download_url": "/v1/purchase_invoices/019e822c-555a-709d-99d7-2cfeac9fc920/file"
},
"lines": [
{
"object": "purchase_invoice_line",
"description": "Material oficina comanda Q1",
"quantity": 1,
"unit_price": 350,
"tax_rate": 21,
"retention_rate": 0,
"subtotal": 350,
"taxes": 73.5,
"retention_amount": 0,
"vat_deductible": true,
"total": 423.5
}
],
"metadata": {
"erp_code": "IVA-GEN",
"ledger_account": "477000"
},
"notes": "Pedido material oficina Q1.",
"created_at": "2026-01-08T10:00:00Z",
"updated_at": "2026-01-10T12:00:00Z"
}
}{
"error": {
"type": "authentication_error",
"code": "missing_api_key",
"message": "No se ha proporcionado una API key válida en el header Authorization.",
"param": null,
"doc_url": "https://docs.factuarea.com/guides/errors#missing_api_key",
"request_id": "req_01HKQS5N8VR7QXJ9K3T6BWPMZA"
}
}{
"error": {
"type": "authorization_error",
"code": "insufficient_scope",
"message": "Esta API key no tiene el scope requerido para esta operación.",
"param": null,
"doc_url": "https://docs.factuarea.com/guides/errors#insufficient_scope",
"request_id": "req_01HKQS5NBC3P8M1KX4V7SLNHQD"
}
}{
"error": {
"type": "idempotency_error",
"code": "idempotency_key_reused",
"message": "La cabecera `Idempotency-Key` ya se usó con un body distinto. Usa una clave nueva o reenvía exactamente el mismo body.",
"param": null,
"doc_url": "https://docs.factuarea.com/guides/errors#idempotency_key_reused",
"request_id": "req_01HKQS5NHT9A4U7R2E3F8GZWTJ"
}
}{
"error": {
"type": "invalid_request_error",
"code": "parameter_invalid",
"message": "El campo `name` es obligatorio y no puede estar vacío.",
"param": "name",
"doc_url": "https://docs.factuarea.com/guides/errors#parameter_invalid",
"request_id": "req_01HKQS5NGS8Z3T6Q1D2E7FYVSI"
}
}{
"error": {
"type": "rate_limit_error",
"code": "rate_limit_exceeded",
"message": "Has excedido el rate limit de 60 peticiones por minuto. Reintenta tras 30 segundos.",
"param": null,
"doc_url": "https://docs.factuarea.com/guides/errors#rate_limit_exceeded",
"request_id": "req_01HKQS5NKW1C6W9T4G5H0JBZVL"
}
}{
"error": {
"type": "api_error",
"code": "internal_error",
"message": "Ha ocurrido un error inesperado. Si persiste, contacta con soporte adjuntando el request_id.",
"param": null,
"doc_url": "https://docs.factuarea.com/guides/errors#internal_error",
"request_id": "req_01HKQS5NLX2D7X0U5H6J1KCAWM"
}
}Eliminació massiva de factures de compra
Elimina fins a 100 factures de compra per UUID en una sola petició.
Elimina un fitxer d'una factura de compra
Elimina el fitxer original adjunt a una factura de compra i allibera el seu emmagatzematge. Idempotent: té èxit fins i tot quan no hi havia cap fitxer adjunt.