Invoices

List all invoices

List your invoices with cursor-based pagination. Supports filtering by status[in], client_id, series_id, issued_on[gte|lte], and total[gte|lte].

get/companies/{company}/invoices

Request

  • Base URL: https://api.factuarea.com/v1
  • URL: https://api.factuarea.com/v1/companies/{company}/invoices
  • 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).

Query parameters

original_invoice_idstring uuid nullable

Public identifier (UUID v7) of an original invoice, to list its corrective invoices.

verifactu_status'no_verifactu' | 'pending' | 'accepted' | 'rejected' | 'null' nullable

VeriFactu status: no_verifactu, pending, accepted or rejected.

is_sent'true' | 'false' | '1' | '0' | 'null' nullable

Delivery filter, independent of the fiscal status: true returns only invoices delivered to the customer and false only the rest.

limitinteger

Number of objects to return, between 1 and 100 (default 25).

starting_afterstring uuid

Cursor for forward pagination: pass the id of the last object on the previous page (the next_cursor of the previous response).

ending_beforestring uuid

Cursor for backward pagination: pass the id of the first object on the current page.

statusstring

Invoice status: draft, scheduled, issued, paid, partially_paid, cancelled, overdue or annulled (sent is an alias of issued).

status[in]string

Comma-separated list of values (CSV).

Invoice status. Comma-separated list; any of the values matches. sent is accepted as an alias of issued in every API version.

client_idstring uuid

Client ID (UUID v7). Exact match on client_id.

client_id[in]string

Comma-separated list of values (CSV).

Client ID (UUID v7). Comma-separated list. Any of the values matches.

series_idstring uuid

Series ID (UUID v7). Exact match on series_id.

series_id[in]string

Comma-separated list of values (CSV).

Series ID (UUID v7). Comma-separated list. Any of the values matches.

created[gte]string date-time

Creation date (ISO 8601). Greater than or equal to the given value.

created[lte]string date-time

Creation date (ISO 8601). Less than or equal to the given value.

created[gt]string date-time

Creation date (ISO 8601). Strictly greater than the given value.

created[lt]string date-time

Creation date (ISO 8601). Strictly less than the given value.

due_on[gte]string date

Due date. Greater than or equal to the given value.

due_on[lte]string date

Due date. Less than or equal to the given value.

due_on[gt]string date

Due date. Strictly greater than the given value.

due_on[lt]string date

Due date. Strictly less than the given value.

total[gte]number

Total amount. Greater than or equal to the given value.

total[lte]number

Total amount. Less than or equal to the given value.

total[gt]number

Total amount. Strictly greater than the given value.

total[lt]number

Total amount. Strictly less than the given value.

currencystring

ISO 4217 currency code (e.g. EUR). Exact match on currency.

currency[in]string

Comma-separated list of values (CSV).

ISO 4217 currency code (e.g. EUR). Comma-separated list. Any of the values matches.

numberstring

Invoice number. Exact match on number.

tagsstring

Classification tag (lowercase slug); tags[in]=a,b matches invoices carrying ANY of the tags. Exact match on tags.

tags[in]string

Comma-separated list of values (CSV).

Classification tag (lowercase slug); tags[in]=a,b matches invoices carrying ANY of the tags. Comma-separated list. Any of the values matches.

paid_on[gte]string date

Payment date. INPUT parameter that keeps its name; the equivalent OUTPUT key is paid_date. Greater than or equal to the given value.

paid_on[lte]string date

Payment date. INPUT parameter that keeps its name; the equivalent OUTPUT key is paid_date. Less than or equal to the given value.

paid_on[gt]string date

Payment date. INPUT parameter that keeps its name; the equivalent OUTPUT key is paid_date. Strictly greater than the given value.

paid_on[lt]string date

Payment date. INPUT parameter that keeps its name; the equivalent OUTPUT key is paid_date. Strictly less than the given value.

sort'created' | '-created' | 'total' | '-total' | 'number' | '-number'

Sort order: created, total, number ascending, or with a - prefix for descending (default -created).

searchstring

Free-text search. Escaped LIKE %term% (case-insensitive, max 80 chars) across the resource's key text columns, combined with the other filters (AND) and compatible with the cursor.

metadataobject

Metadata filter as metadata[key]=value (deepObject): pairs combine with AND, up to 50, keys matching [A-Za-z0-9_.-]{1,64}.

Headers

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.

Response

has_moreboolean required

Whether more pages are available after this one.

next_cursorstring nullable required

Opaque cursor for the next page, or null when has_more is false. The example below shows the shape used by most listings; others return a different one, so pass the value back verbatim instead of validating it.

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"
    }
  ],
  "has_more": true,
  "next_cursor": "01931b3e-7c4a-7f2e-9a8b-3c5d6e7f8a0c"
}

Changes

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