Skip to content

Verifactu Direct API · invoice types ​

The complete registration body is shown in Getting started. This page only shows what changes for each invoice type (tipo_factura). All example data is fictitious.

F2 — simplified (no recipient) ​

The “receipt”: the customer is not identified. The legal limit is €3,000 (VAT included).

json
{ "serie": "TPV", "numero": "5571", "fecha_expedicion": "2026-02-11",
  "tipo_factura": "F2", "descripcion": "In-store sale",
  "lineas": [ { "base_imponible": "100", "tipo_impositivo": "21", "cuota_repercutida": "21" } ],
  "importe_total": "121" }

F3 — replacement (exchange of a simplified invoice) ​

Converts an issued F2 into a complete invoice by identifying the customer. Reference the simplified invoice or invoices in facturas_sustituidas.

json
{ "serie": "FV", "numero": "1043", "fecha_expedicion": "2026-02-12",
  "tipo_factura": "F3", "descripcion": "Replacement of simplified invoice TPV/5571",
  "nif": "51728340C", "nombre": "Lucía Romero Pardo",
  "lineas": [ { "base_imponible": "100", "tipo_impositivo": "21", "cuota_repercutida": "21" } ],
  "facturas_sustituidas": [ { "serie": "TPV", "numero": "5571", "fecha_expedicion": "2026-02-11" } ],
  "importe_total": "121" }

R1–R5 — corrective invoices ​

A corrective invoice is another registration (tipo_factura R1–R5) that includes the corrected invoices. tipo_rectificativa is required: S (substitution) or I (differences).

By substitution (S) — the corrective invoice contains the final amounts, while importe_rectificacion contains the amounts from the invoice being corrected:

json
{ "serie": "REC", "numero": "31", "fecha_expedicion": "2026-03-18",
  "tipo_factura": "R1", "tipo_rectificativa": "S",
  "descripcion": "Correction of FV/1042 (price adjustment)",
  "nif": "B72648193", "nombre": "Talleres Marverde SL",
  "lineas": [ { "base_imponible": "300", "tipo_impositivo": "21", "cuota_repercutida": "63" } ],
  "importe_rectificacion": { "base_rectificada": "350", "cuota_rectificada": "73.50" },
  "facturas_rectificadas": [ { "serie": "FV", "numero": "1042", "fecha_expedicion": "2026-02-10" } ],
  "importe_total": "363" }

By differences (I) — the corrective invoice contains only the difference (which may be negative), without importe_rectificacion:

json
{ "serie": "REC", "numero": "32", "fecha_expedicion": "2026-03-19",
  "tipo_factura": "R1", "tipo_rectificativa": "I",
  "descripcion": "Correction by differences for FV/1042",
  "nif": "B72648193", "nombre": "Talleres Marverde SL",
  "lineas": [ { "base_imponible": "-50", "tipo_impositivo": "21", "cuota_repercutida": "-10.50" } ],
  "facturas_rectificadas": [ { "serie": "FV", "numero": "1042", "fecha_expedicion": "2026-02-10" } ],
  "importe_total": "-60.50" }

R5 corrects a simplified invoice (the recipient does not have to be identified). For companies, the nif is enough; for individuals, nombre must match the name on their identity document.

Credit invoice (negative invoice) ​

To reverse the financial effect of an invoice, send importe_total and the tax amounts as negative values.

json
{ "serie": "FV", "numero": "1044", "fecha_expedicion": "2026-03-20",
  "tipo_factura": "F1", "descripcion": "Credit for FV/1042",
  "nif": "B72648193", "nombre": "Talleres Marverde SL",
  "lineas": [ { "base_imponible": "-350", "tipo_impositivo": "21", "cuota_repercutida": "-73.50" } ],
  "importe_total": "-423.50" }

Bilteo · Documentation