Invoices

Schedule an invoice

Reserve the issuance of a draft invoice for a future instant (scheduled_for).

  • The invoice moves to scheduled and keeps its BORRADOR number; no series number is consumed yet.
  • Only a draft can be scheduled and the date must be in the future (422).
  • issue_and_send also emails the client if it has an email on file.
post/companies/{company}/invoices/{invoice}/schedule

Request

  • Base URL: https://api.factuarea.com/v1
  • URL: https://api.factuarea.com/v1/companies/{company}/invoices/{invoice}/schedule
  • Auth: one of:
    • HTTP bearer
    • API key in header X-API-Key

Path parameters

companystring uuid required

Public identifier (UUID v7) of the company. Get it from GET /v1/me (data.scope[].id).

invoicestring uuid required

Public identifier (UUID v7) of the invoice.

Headers

Idempotency-Keystring
Example:01928f10-7c0e-7c4a-9b7d-2f8a6e3c1d4b

Client-generated opaque key (up to 255 characters; UUID v7 recommended) that makes retries safe: the first response is cached and replayed for repeats without re-executing the mutation. Reusing a key with a different body returns 422 idempotency_key_reused; the values of secret fields (password, secret…) count as part of the body, so retrying with a corrected secret under the same key is a different request, never the replay of the earlier answer. See the Idempotency guide.

Factuarea-Versionstring date
Example:2026-06-01

Pin the API version (YYYY-MM-DD, Stripe-style date versioning) for this request; omit to use the key's pinned version, or the latest if none. Unsupported version → 400 unsupported_api_version; malformed → 400 parameter_invalid_format. The effective version is echoed in the Factuarea-Version response header. See the Versioning guide.

Request body

scheduled_forstring date-time required

Instant at which the invoice will be issued, as an ISO 8601 date-time strictly in the future. An explicit offset (Z, +01:00) is honoured; without one it is read in Europe/Madrid.

scheduled_action'issue' | 'issue_and_send' required

What happens at scheduled_for: issue issues the invoice without sending it; issue_and_send issues it and emails it to the customer. draft is still accepted as an alias of issue in every API version (it always meant "issue without sending").

Response

Example response

{
  "data": {
    "id": "01931b3e-7c4a-7f2e-9a8b-3c5d6e7f8a42",
    "object": "invoice",
    "number": "FAC-2026-00042",
    "is_number_assigned": true,
    "type": "F1",
    "series": {
      "id": "01931b3e-7c4a-7f2e-9a8b-3c5d6e7f8b02",
      "code": "FAC-2026"
    },
    "client": {
      "id": "01931b3e-7c4a-7f2e-9a8b-3c5d6e7f8a01",
      "name": "Acme Soluciones SL"
    },
    "status": "paid",
    "price_list_id": "01931b3e-7c4a-7f2e-9a8b-3c5d6e7f8b10",
    "price_list_name": "Tarifa profesional 2026",
    "issued_on": "2026-03-15",
    "due_on": "2026-04-14",
    "operation_on": null,
    "subtotal": "1000.00",
    "taxes_total": "210.00",
    "total_vat": "210.00",
    "total_retention": "0.00",
    "total_surcharge": "0.00",
    "total": "1210.00",
    "total_disbursements": "0.00",
    "total_to_pay": "1210.00",
    "currency": "EUR",
    "notes": "Servicios profesionales marzo 2026.",
    "external_id": "ERP-2026-0042",
    "lines": [
      {
        "object": "invoice_line",
        "description": "Consultoría técnica (10 h)",
        "additional_description": "Auditoría inicial e informe de mejoras",
        "product": {
          "id": "01931b3e-7c4a-7f2e-9a8b-3c5d6e7f8b03",
          "name": "Consultoría técnica (hora)"
        },
        "quantity": 10,
        "unit_price": "100.0000",
        "tax_rate": 21,
        "retention_rate": 0,
        "surcharge_rate": 0,
        "discount_percent": 0,
        "subtotal": "1000.00",
        "taxes": "210.00",
        "total": "1210.00",
        "variant": null,
        "presentation": null,
        "item_kind": "service",
        "commercial_unit_code": "HUR",
        "base_unit_code": "HUR",
        "conversion_factor": "1.000000",
        "base_quantity": "10.0000",
        "counted_quantity": null,
        "counted_unit": null,
        "price_list_id": "01931b3e-7c4a-7f2e-9a8b-3c5d6e7f8b10",
        "price_list_name": "Tarifa profesional 2026",
        "price_source": "price_list",
        "price_unit_code": "HUR",
        "configuration": null,
        "options": [],
        "price_semantics": "per_commercial_unit",
        "price_adjustment_total": "0.0000",
        "option_adjustments_absorbed": false,
        "indirect_tax_regime": "iva",
        "aeat_tax_code": "S1",
        "line_type": "NORMAL"
      }
    ],
    "metadata": {
      "order_id": "PO-2026-0042"
    },
    "tags": [
      "consultoria",
      "cliente-vip"
    ],
    "custom_fields": [
      {
        "field": "centro_coste",
        "value": "CC-2026-001"
      },
      {
        "field": "numero_pedido",
        "value": "PO-2026-0042"
      }
    ],
    "operation_regime": "general",
    "exemption_reason": null,
    "legal_mentions": [],
    "exclude_347": false,
    "verifactu_status": "accepted",
    "paid_amount": "1210.00",
    "pending_amount": "0.00",
    "payments": {
      "detail": [
        {
          "id": "01931b3e-7c4a-7f2e-9a8b-3c5d6e7f8a90",
          "object": "payment",
          "invoice_id": "01931b3e-7c4a-7f2e-9a8b-3c5d6e7f8a42",
          "amount": "1210.00",
          "payment_date": "2026-03-20",
          "payment_method": "bank_transfer",
          "payment_method_text": "Transferencia bancaria",
          "reference": "TRF-2026-0042",
          "notes": null,
          "is_reversed": false,
          "reversed_at": null,
          "reversal_reason": null,
          "reversal_reason_text": null,
          "reversal_note": null,
          "created_at": "2026-03-20T10:30:00Z",
          "updated_at": "2026-03-20T10:30:00Z"
        }
      ],
      "total": "1210.00",
      "pending": "0.00"
    },
    "is_corrective": false,
    "corrective": null,
    "payment": {
      "method": "bank_transfer",
      "reference": "TRF-2026-0042",
      "date": "2026-03-20"
    },
    "public_link": {
      "object": "public_link",
      "url": "https://app.factuarea.com/d/01931b3e-7c4a-7f2e-9a8b-3c5d6e7f8a42",
      "id": "01931b3e-7c4a-7f2e-9a8b-3c5d6e7f8a42",
      "enabled": true,
      "expires_at": "2026-09-15T23:59:59Z",
      "max_days": 120
    },
    "substituted_by": null,
    "recurring": null,
    "paid_recorded_at": "2026-03-20T10:30:00Z",
    "paid_date": "2026-03-20",
    "issued_at": "2026-03-15T11:45:00Z",
    "sent_at": "2026-03-15T11:47:12Z",
    "sent_via": "email",
    "is_sent": true,
    "voided_at": null,
    "void_reason": null,
    "scheduled_for": null,
    "scheduled_action": null,
    "channel": null,
    "source_store_id": null,
    "origin": "native",
    "created_at": "2026-03-15T11:30:00Z",
    "updated_at": "2026-03-20T10:30:00Z"
  }
}

Changes

No recorded changes to this operation across all 1 revision of this API.