Factuarea API
Facturas de compra

Registrar un pago de factura de compra

Registrar pago de factura de compra.

POST
/purchase_invoices/{purchase_invoice}/payments
AuthorizationBearer <token>

En: header

Parámetros de ruta

purchase_invoice*string

Cuerpo de la petición

application/json

Definiciones de TypeScript

Usa el tipo request body en TypeScript.

Cuerpo de la respuesta

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