VeriBaiDocs
Acceder

Ejemplos (TicketBAI)

Un cuerpo de petición completo por cada tipo de factura TicketBAI. Cada uno se ha enviado a Sandbox y ha devuelto 200.

Cada ejemplo es un cuerpo completo para POST /v1/ticketbai/crear, salvo la subsanación y la anulación, que usan su propio endpoint. Copia el ejemplo que corresponda a la operación y sustituye emisor, destinatario, provincia, serie, número y fecha por los tuyos.

Los ejemplos usan provincia: "bizkaia". provincia debe coincidir con la hacienda del emisor. Todos los cuerpos llevan lineas y descripcion en cada línea del desglose: Araba exige lo primero y Gipuzkoa lo segundo, y en las tres provincias se aceptan. Donde una provincia aplica una regla distinta, el caso lo indica.

Todos los cuerpos de esta página se han enviado a Sandbox con la fecha updated de la cabecera y han devuelto 200. Los NIF y los importes son ficticios.

Las reglas de cada campo están en la referencia de TicketBAI. La versión VeriFactu de estos mismos casos está en Ejemplos (VeriFactu).

Factura completa (F1)

Una factura con destinatario identificado y una línea al 21 %. desglose es el resumen fiscal; lineas, los conceptos de la factura. importeTotal va en el nivel superior, con IVA.

POST/v1/ticketbai/crear

curl -X POST https://sandbox.veribai.com/v1/ticketbai/crear \
  -H "x-api-key: TU_CLAVE" \
  -H "Content-Type: application/json" \
  -d '{
    "version": "1.0",
    "provincia": "bizkaia",
    "serie": "A",
    "numero": "12345",
    "fechaExpedicion": "15-09-2026",
    "tipoFactura": "F1",
    "descripcion": "Servicios de consultoría",
    "emisor": {
      "nif": "B00000000",
      "nombre": "Empresa Emisora SL"
    },
    "destinatario": {
      "nif": "B11111119",
      "nombre": "Cliente Ejemplo SL",
      "direccion": "Calle Mayor 1, Bilbao",
      "codigoPostal": "48001"
    },
    "desglose": [
      {
        "descripcion": "Consultoría",
        "baseImponible": "1000.00",
        "tipoImpositivo": "21.00",
        "cuota": "210.00"
      }
    ],
    "lineas": [
      {
        "descripcion": "Consultoría",
        "cantidad": "1",
        "importeUnitario": "1000.00",
        "importeTotal": "1210.00"
      }
    ],
    "importeTotal": "1210.00"
  }'

Factura simplificada (F2)

Sin destinatario. La suma de bases y cuotas del desglose no puede superar los 3.000 €; ver el tope de las simplificadas.

POST/v1/ticketbai/crear

curl -X POST https://sandbox.veribai.com/v1/ticketbai/crear \
  -H "x-api-key: TU_CLAVE" \
  -H "Content-Type: application/json" \
  -d '{
    "version": "1.0",
    "provincia": "bizkaia",
    "serie": "T",
    "numero": "8001",
    "fechaExpedicion": "15-09-2026",
    "tipoFactura": "F2",
    "descripcion": "Venta en tienda",
    "emisor": {
      "nif": "B00000000",
      "nombre": "Empresa Emisora SL"
    },
    "desglose": [
      {
        "descripcion": "Venta en tienda",
        "baseImponible": "24.79",
        "tipoImpositivo": "21.00",
        "cuota": "5.21"
      }
    ],
    "lineas": [
      {
        "descripcion": "Artículo",
        "cantidad": "1",
        "importeUnitario": "24.79",
        "importeTotal": "30.00"
      }
    ],
    "importeTotal": "30.00"
  }'

Factura con varios tipos de IVA

Una línea de desglose por cada tipo impositivo. Cada concepto de lineas lleva su total con el IVA que le corresponde.

POST/v1/ticketbai/crear

curl -X POST https://sandbox.veribai.com/v1/ticketbai/crear \
  -H "x-api-key: TU_CLAVE" \
  -H "Content-Type: application/json" \
  -d '{
    "version": "1.0",
    "provincia": "bizkaia",
    "serie": "A",
    "numero": "12346",
    "fechaExpedicion": "15-09-2026",
    "tipoFactura": "F1",
    "descripcion": "Suministro de productos alimentarios y material",
    "emisor": {
      "nif": "B00000000",
      "nombre": "Empresa Emisora SL"
    },
    "destinatario": {
      "nif": "B11111119",
      "nombre": "Cliente Ejemplo SL",
      "direccion": "Calle Mayor 1, Bilbao",
      "codigoPostal": "48001"
    },
    "desglose": [
      {
        "descripcion": "Material",
        "baseImponible": "500.00",
        "tipoImpositivo": "21.00",
        "cuota": "105.00"
      },
      {
        "descripcion": "Alimentación",
        "baseImponible": "300.00",
        "tipoImpositivo": "10.00",
        "cuota": "30.00"
      },
      {
        "descripcion": "Pan y leche",
        "baseImponible": "200.00",
        "tipoImpositivo": "4.00",
        "cuota": "8.00"
      }
    ],
    "lineas": [
      {
        "descripcion": "Material",
        "cantidad": "1",
        "importeUnitario": "500.00",
        "importeTotal": "605.00"
      },
      {
        "descripcion": "Alimentación",
        "cantidad": "1",
        "importeUnitario": "300.00",
        "importeTotal": "330.00"
      },
      {
        "descripcion": "Pan y leche",
        "cantidad": "1",
        "importeUnitario": "200.00",
        "importeTotal": "208.00"
      }
    ],
    "importeTotal": "1143.00"
  }'

Factura con descuento en las líneas

descuento es un importe en euros para toda la línea, no un porcentaje. importeUnitario es el precio de tarifa sin IVA e importeTotal el total rebajado con IVA. Aquí, dos unidades a 50,00 € con un 10 % de descuento.

POST/v1/ticketbai/crear

curl -X POST https://sandbox.veribai.com/v1/ticketbai/crear \
  -H "x-api-key: TU_CLAVE" \
  -H "Content-Type: application/json" \
  -d '{
    "version": "1.0",
    "provincia": "bizkaia",
    "serie": "A",
    "numero": "12347",
    "fechaExpedicion": "15-09-2026",
    "tipoFactura": "F1",
    "descripcion": "Licencias de software",
    "emisor": {
      "nif": "B00000000",
      "nombre": "Empresa Emisora SL"
    },
    "destinatario": {
      "nif": "B11111119",
      "nombre": "Cliente Ejemplo SL",
      "direccion": "Calle Mayor 1, Bilbao",
      "codigoPostal": "48001"
    },
    "desglose": [
      {
        "descripcion": "Licencias",
        "baseImponible": "90.00",
        "tipoImpositivo": "21.00",
        "cuota": "18.90"
      }
    ],
    "lineas": [
      {
        "descripcion": "Licencia anual",
        "cantidad": "2",
        "importeUnitario": "50.00",
        "descuento": "10.00",
        "importeTotal": "108.90"
      }
    ],
    "importeTotal": "108.90"
  }'

Factura exenta de IVA

La línea lleva operacionExenta con la causa en lugar de tipo y cuota. E1 es la exención del artículo 20 de la LIVA (sanidad, educación, seguros, alquiler de vivienda).

POST/v1/ticketbai/crear

curl -X POST https://sandbox.veribai.com/v1/ticketbai/crear \
  -H "x-api-key: TU_CLAVE" \
  -H "Content-Type: application/json" \
  -d '{
    "version": "1.0",
    "provincia": "bizkaia",
    "serie": "A",
    "numero": "12348",
    "fechaExpedicion": "15-09-2026",
    "tipoFactura": "F1",
    "descripcion": "Curso de formación profesional",
    "emisor": {
      "nif": "B00000000",
      "nombre": "Empresa Emisora SL"
    },
    "destinatario": {
      "nif": "B11111119",
      "nombre": "Cliente Ejemplo SL",
      "direccion": "Calle Mayor 1, Bilbao",
      "codigoPostal": "48001"
    },
    "desglose": [
      {
        "descripcion": "Formación exenta, art. 20 LIVA",
        "baseImponible": "800.00",
        "operacionExenta": "E1"
      }
    ],
    "lineas": [
      {
        "descripcion": "Curso de formación",
        "cantidad": "1",
        "importeUnitario": "800.00",
        "importeTotal": "800.00"
      }
    ],
    "importeTotal": "800.00"
  }'

Operación no sujeta

calificacionOperacion: "N1" con causaNoSujecion: "OT" declara una operación no sujeta por el artículo 7, 14 u otros de la LIVA. Sin tipo ni cuota.

POST/v1/ticketbai/crear

curl -X POST https://sandbox.veribai.com/v1/ticketbai/crear \
  -H "x-api-key: TU_CLAVE" \
  -H "Content-Type: application/json" \
  -d '{
    "version": "1.0",
    "provincia": "bizkaia",
    "serie": "A",
    "numero": "12349",
    "fechaExpedicion": "15-09-2026",
    "tipoFactura": "F1",
    "descripcion": "Indemnización por resolución de contrato",
    "emisor": {
      "nif": "B00000000",
      "nombre": "Empresa Emisora SL"
    },
    "destinatario": {
      "nif": "B11111119",
      "nombre": "Cliente Ejemplo SL",
      "direccion": "Calle Mayor 1, Bilbao",
      "codigoPostal": "48001"
    },
    "desglose": [
      {
        "descripcion": "Indemnización no sujeta, art. 78.Tres LIVA",
        "baseImponible": "2500.00",
        "calificacionOperacion": "N1",
        "causaNoSujecion": "OT"
      }
    ],
    "lineas": [
      {
        "descripcion": "Indemnización",
        "cantidad": "1",
        "importeUnitario": "2500.00",
        "importeTotal": "2500.00"
      }
    ],
    "importeTotal": "2500.00"
  }'

Inversión del sujeto pasivo

calificacionOperacion: "S2": la operación está sujeta y el IVA lo ingresa el destinatario. La línea no lleva tipo ni cuota. Exige destinatario y no se admite en simplificadas.

POST/v1/ticketbai/crear

curl -X POST https://sandbox.veribai.com/v1/ticketbai/crear \
  -H "x-api-key: TU_CLAVE" \
  -H "Content-Type: application/json" \
  -d '{
    "version": "1.0",
    "provincia": "bizkaia",
    "serie": "A",
    "numero": "12350",
    "fechaExpedicion": "15-09-2026",
    "tipoFactura": "F1",
    "descripcion": "Ejecución de obra. Inversión del sujeto pasivo, art. 84.Uno.2.f LIVA",
    "emisor": {
      "nif": "B00000000",
      "nombre": "Empresa Emisora SL"
    },
    "destinatario": {
      "nif": "B11111119",
      "nombre": "Cliente Ejemplo SL",
      "direccion": "Calle Mayor 1, Bilbao",
      "codigoPostal": "48001"
    },
    "desglose": [
      {
        "descripcion": "Ejecución de obra",
        "baseImponible": "15000.00",
        "calificacionOperacion": "S2"
      }
    ],
    "lineas": [
      {
        "descripcion": "Ejecución de obra",
        "cantidad": "1",
        "importeUnitario": "15000.00",
        "importeTotal": "15000.00"
      }
    ],
    "importeTotal": "15000.00"
  }'

Entrega intracomunitaria de bienes (B2B)

Entrega exenta a un empresario de otro Estado miembro: operacionExenta: "E5", destinatario con idOtro de tipo 02 (NIF-IVA) y tipoOperacion: "entrega" en cada línea. Con destinatario extranjero, tipoOperacion es obligatorio en todo el desglose.

POST/v1/ticketbai/crear

curl -X POST https://sandbox.veribai.com/v1/ticketbai/crear \
  -H "x-api-key: TU_CLAVE" \
  -H "Content-Type: application/json" \
  -d '{
    "version": "1.0",
    "provincia": "bizkaia",
    "serie": "A",
    "numero": "12351",
    "fechaExpedicion": "15-09-2026",
    "tipoFactura": "F1",
    "descripcion": "Entrega intracomunitaria de maquinaria",
    "emisor": {
      "nif": "B00000000",
      "nombre": "Empresa Emisora SL"
    },
    "destinatario": {
      "nombre": "Kunde GmbH",
      "direccion": "Hauptstrasse 1, Berlin",
      "codigoPostal": "10115",
      "idOtro": {
        "idType": "02",
        "id": "DE123456789"
      }
    },
    "desglose": [
      {
        "descripcion": "Entrega intracomunitaria de maquinaria",
        "baseImponible": "12000.00",
        "operacionExenta": "E5",
        "tipoOperacion": "entrega"
      }
    ],
    "lineas": [
      {
        "descripcion": "Maquinaria",
        "cantidad": "1",
        "importeUnitario": "12000.00",
        "importeTotal": "12000.00"
      }
    ],
    "importeTotal": "12000.00"
  }'

Prestación de servicios intracomunitaria (B2B)

Servicio a un empresario de otro Estado miembro. Se localiza en destino y no está sujeto al IVA español: calificacionOperacion: "N2" con causaNoSujecion: "RL" y tipoOperacion: "servicios".

POST/v1/ticketbai/crear

curl -X POST https://sandbox.veribai.com/v1/ticketbai/crear \
  -H "x-api-key: TU_CLAVE" \
  -H "Content-Type: application/json" \
  -d '{
    "version": "1.0",
    "provincia": "bizkaia",
    "serie": "A",
    "numero": "12352",
    "fechaExpedicion": "15-09-2026",
    "tipoFactura": "F1",
    "descripcion": "Desarrollo de software a medida",
    "emisor": {
      "nif": "B00000000",
      "nombre": "Empresa Emisora SL"
    },
    "destinatario": {
      "nombre": "Client SARL",
      "direccion": "Rue de Rivoli 1, Paris",
      "codigoPostal": "75001",
      "idOtro": {
        "idType": "02",
        "id": "FR12345678901"
      }
    },
    "desglose": [
      {
        "descripcion": "Desarrollo de software",
        "baseImponible": "6000.00",
        "calificacionOperacion": "N2",
        "causaNoSujecion": "RL",
        "tipoOperacion": "servicios"
      }
    ],
    "lineas": [
      {
        "descripcion": "Desarrollo de software",
        "cantidad": "1",
        "importeUnitario": "6000.00",
        "importeTotal": "6000.00"
      }
    ],
    "importeTotal": "6000.00"
  }'

Venta a consumidor de otro Estado miembro (B2C)

Por debajo del umbral de 10.000 € anuales de ventas a distancia, la venta tributa en España con IVA español. El destinatario particular se identifica con idOtro de tipo 03 (pasaporte) o 04 (documento oficial de su país), con codigoPais.

POST/v1/ticketbai/crear

curl -X POST https://sandbox.veribai.com/v1/ticketbai/crear \
  -H "x-api-key: TU_CLAVE" \
  -H "Content-Type: application/json" \
  -d '{
    "version": "1.0",
    "provincia": "bizkaia",
    "serie": "W",
    "numero": "5001",
    "fechaExpedicion": "15-09-2026",
    "tipoFactura": "F1",
    "descripcion": "Venta en tienda online",
    "emisor": {
      "nif": "B00000000",
      "nombre": "Empresa Emisora SL"
    },
    "destinatario": {
      "nombre": "Anna Rossi",
      "direccion": "Via Roma 1, Milano",
      "codigoPostal": "20121",
      "idOtro": {
        "codigoPais": "IT",
        "idType": "04",
        "id": "CA12345AB"
      }
    },
    "desglose": [
      {
        "descripcion": "Venta online",
        "baseImponible": "82.64",
        "tipoImpositivo": "21.00",
        "cuota": "17.36",
        "tipoOperacion": "entrega"
      }
    ],
    "lineas": [
      {
        "descripcion": "Artículo",
        "cantidad": "1",
        "importeUnitario": "82.64",
        "importeTotal": "100.00"
      }
    ],
    "importeTotal": "100.00"
  }'

Venta a distancia en régimen OSS

Por encima del umbral, la venta tributa en el país del consumidor y se declara en la ventanilla única (OSS). clavesRegimen: ["17"] y una línea N2 con causaNoSujecion: "IE" (localizada fuera con impuesto extranjero). importeTotal es el importe que paga el cliente, con el IVA de su país incluido; con la causa IE no se cuadra contra el desglose.

POST/v1/ticketbai/crear

curl -X POST https://sandbox.veribai.com/v1/ticketbai/crear \
  -H "x-api-key: TU_CLAVE" \
  -H "Content-Type: application/json" \
  -d '{
    "version": "1.0",
    "provincia": "bizkaia",
    "serie": "W",
    "numero": "5002",
    "fechaExpedicion": "15-09-2026",
    "tipoFactura": "F1",
    "descripcion": "Venta a distancia intracomunitaria, régimen OSS",
    "emisor": {
      "nif": "B00000000",
      "nombre": "Empresa Emisora SL"
    },
    "destinatario": {
      "nombre": "Anna Rossi",
      "direccion": "Via Roma 1, Milano",
      "codigoPostal": "20121",
      "idOtro": {
        "codigoPais": "IT",
        "idType": "04",
        "id": "CA12345AB"
      }
    },
    "clavesRegimen": [
      "17"
    ],
    "desglose": [
      {
        "descripcion": "Venta a distancia, IVA italiano 22 %",
        "baseImponible": "100.00",
        "calificacionOperacion": "N2",
        "causaNoSujecion": "IE",
        "tipoOperacion": "entrega"
      }
    ],
    "lineas": [
      {
        "descripcion": "Artículo",
        "cantidad": "1",
        "importeUnitario": "100.00",
        "importeTotal": "122.00"
      }
    ],
    "importeTotal": "122.00"
  }'

Exportación de bienes

Entrega a un país fuera de la Unión Europea: clavesRegimen: ["02"] (exportación) y operacionExenta: "E2" (artículo 21 de la LIVA). Con la clave 02, todas las líneas del desglose son exentas.

POST/v1/ticketbai/crear

curl -X POST https://sandbox.veribai.com/v1/ticketbai/crear \
  -H "x-api-key: TU_CLAVE" \
  -H "Content-Type: application/json" \
  -d '{
    "version": "1.0",
    "provincia": "bizkaia",
    "serie": "A",
    "numero": "12353",
    "fechaExpedicion": "15-09-2026",
    "tipoFactura": "F1",
    "descripcion": "Exportación de componentes electrónicos",
    "emisor": {
      "nif": "B00000000",
      "nombre": "Empresa Emisora SL"
    },
    "destinatario": {
      "nombre": "Buyer Inc",
      "direccion": "1 Market St, San Francisco",
      "codigoPostal": "94105",
      "idOtro": {
        "codigoPais": "US",
        "idType": "06",
        "id": "US987654321"
      }
    },
    "clavesRegimen": [
      "02"
    ],
    "desglose": [
      {
        "descripcion": "Exportación, art. 21 LIVA",
        "baseImponible": "45000.00",
        "operacionExenta": "E2",
        "tipoOperacion": "entrega"
      }
    ],
    "lineas": [
      {
        "descripcion": "Componentes electrónicos",
        "cantidad": "1",
        "importeUnitario": "45000.00",
        "importeTotal": "45000.00"
      }
    ],
    "importeTotal": "45000.00"
  }'

Prestación de servicios a un país tercero

Servicio a un empresario establecido fuera de la Unión Europea. Se localiza fuera del territorio de aplicación del impuesto: N2 con causa RL y tipoOperacion: "servicios".

POST/v1/ticketbai/crear

curl -X POST https://sandbox.veribai.com/v1/ticketbai/crear \
  -H "x-api-key: TU_CLAVE" \
  -H "Content-Type: application/json" \
  -d '{
    "version": "1.0",
    "provincia": "bizkaia",
    "serie": "A",
    "numero": "12354",
    "fechaExpedicion": "15-09-2026",
    "tipoFactura": "F1",
    "descripcion": "Servicios de asesoría técnica",
    "emisor": {
      "nif": "B00000000",
      "nombre": "Empresa Emisora SL"
    },
    "destinatario": {
      "nombre": "Consulting Ltd",
      "direccion": "1 King Street, London",
      "codigoPostal": "EC2V 8AU",
      "idOtro": {
        "codigoPais": "GB",
        "idType": "06",
        "id": "GB123456789"
      }
    },
    "desglose": [
      {
        "descripcion": "Asesoría técnica",
        "baseImponible": "3200.00",
        "calificacionOperacion": "N2",
        "causaNoSujecion": "RL",
        "tipoOperacion": "servicios"
      }
    ],
    "lineas": [
      {
        "descripcion": "Asesoría técnica",
        "cantidad": "1",
        "importeUnitario": "3200.00",
        "importeTotal": "3200.00"
      }
    ],
    "importeTotal": "3200.00"
  }'

Factura con recargo de equivalencia

Venta a un comerciante minorista en recargo de equivalencia. La línea S1 añade tipoRecargoEquivalencia y cuotaRecargoEquivalencia, y el recargo forma parte de importeTotal y del total de cada concepto. Exige un destinatario con NIF español. En Araba no se admite en servicios y solo con las claves 01, 07 o 52.

POST/v1/ticketbai/crear

curl -X POST https://sandbox.veribai.com/v1/ticketbai/crear \
  -H "x-api-key: TU_CLAVE" \
  -H "Content-Type: application/json" \
  -d '{
    "version": "1.0",
    "provincia": "bizkaia",
    "serie": "A",
    "numero": "12355",
    "fechaExpedicion": "15-09-2026",
    "tipoFactura": "F1",
    "descripcion": "Suministro de mercancía a comercio minorista",
    "emisor": {
      "nif": "B00000000",
      "nombre": "Empresa Emisora SL"
    },
    "destinatario": {
      "nif": "12345678Z",
      "nombre": "Comercio Minorista",
      "direccion": "Calle Mayor 2, Bilbao",
      "codigoPostal": "48001"
    },
    "desglose": [
      {
        "descripcion": "Mercancía",
        "baseImponible": "1000.00",
        "tipoImpositivo": "21.00",
        "cuota": "210.00",
        "tipoRecargoEquivalencia": "5.20",
        "cuotaRecargoEquivalencia": "52.00"
      }
    ],
    "lineas": [
      {
        "descripcion": "Mercancía",
        "cantidad": "1",
        "importeUnitario": "1000.00",
        "importeTotal": "1262.00"
      }
    ],
    "importeTotal": "1262.00"
  }'

Factura de autónomo con retención de IRPF

La retención viaja aparte, en retencionSoportada. importeTotal es la base más el IVA, antes de descontar el IRPF: aquí 665.50, no 583.00. Un total con la retención descontada deja de cuadrar con el desglose y devuelve 400.

POST/v1/ticketbai/crear

curl -X POST https://sandbox.veribai.com/v1/ticketbai/crear \
  -H "x-api-key: TU_CLAVE" \
  -H "Content-Type: application/json" \
  -d '{
    "version": "1.0",
    "provincia": "bizkaia",
    "serie": "A",
    "numero": "12356",
    "fechaExpedicion": "15-09-2026",
    "tipoFactura": "F1",
    "descripcion": "Honorarios profesionales",
    "emisor": {
      "nif": "B00000000",
      "nombre": "Empresa Emisora SL"
    },
    "destinatario": {
      "nif": "B11111119",
      "nombre": "Cliente Ejemplo SL",
      "direccion": "Calle Mayor 1, Bilbao",
      "codigoPostal": "48001"
    },
    "desglose": [
      {
        "descripcion": "Honorarios",
        "baseImponible": "550.00",
        "tipoImpositivo": "21.00",
        "cuota": "115.50"
      }
    ],
    "lineas": [
      {
        "descripcion": "Honorarios profesionales",
        "cantidad": "1",
        "importeUnitario": "550.00",
        "importeTotal": "665.50"
      }
    ],
    "retencionSoportada": "82.50",
    "importeTotal": "665.50"
  }'

Régimen especial de bienes usados (REBU)

clavesRegimen: ["03"]. La base imponible es el margen de beneficio, no el precio de venta, e importeTotal es el precio que paga el cliente. Con esta clave, importeTotal no se cuadra contra el desglose ni contra lineas.

POST/v1/ticketbai/crear

curl -X POST https://sandbox.veribai.com/v1/ticketbai/crear \
  -H "x-api-key: TU_CLAVE" \
  -H "Content-Type: application/json" \
  -d '{
    "version": "1.0",
    "provincia": "bizkaia",
    "serie": "A",
    "numero": "12357",
    "fechaExpedicion": "15-09-2026",
    "tipoFactura": "F1",
    "descripcion": "Venta de vehículo usado. Régimen especial de bienes usados",
    "emisor": {
      "nif": "B00000000",
      "nombre": "Empresa Emisora SL"
    },
    "destinatario": {
      "nif": "12345678Z",
      "nombre": "María García López",
      "direccion": "Calle Mayor 3, Bilbao",
      "codigoPostal": "48001"
    },
    "clavesRegimen": [
      "03"
    ],
    "desglose": [
      {
        "descripcion": "Margen de la operación",
        "baseImponible": "1652.89",
        "tipoImpositivo": "21.00",
        "cuota": "347.11"
      }
    ],
    "lineas": [
      {
        "descripcion": "Vehículo usado",
        "cantidad": "1",
        "importeUnitario": "9000.00",
        "importeTotal": "9000.00"
      }
    ],
    "importeTotal": "9000.00"
  }'

Rectificativa por sustitución

Una R1 con rectificativa.tipo: "S" sustituye por completo a la factura rectificada. El desglose e importeTotal llevan los importes correctos definitivos, y rectificativa.importes los de la factura que se rectifica. Cuándo rectificar y cuándo subsanar: Rectificar y anular.

POST/v1/ticketbai/crear

curl -X POST https://sandbox.veribai.com/v1/ticketbai/crear \
  -H "x-api-key: TU_CLAVE" \
  -H "Content-Type: application/json" \
  -d '{
    "version": "1.0",
    "provincia": "bizkaia",
    "serie": "R",
    "numero": "301",
    "fechaExpedicion": "22-09-2026",
    "tipoFactura": "R1",
    "descripcion": "Rectificativa por sustitución de la factura A-12345",
    "emisor": {
      "nif": "B00000000",
      "nombre": "Empresa Emisora SL"
    },
    "destinatario": {
      "nif": "B11111119",
      "nombre": "Cliente Ejemplo SL",
      "direccion": "Calle Mayor 1, Bilbao",
      "codigoPostal": "48001"
    },
    "rectificativa": {
      "tipo": "S",
      "facturasRectificadas": [
        {
          "serie": "A",
          "numero": "12345",
          "fechaExpedicion": "15-09-2026"
        }
      ],
      "importes": {
        "baseRectificada": "1000.00",
        "cuotaRectificada": "210.00"
      }
    },
    "desglose": [
      {
        "descripcion": "Consultoría",
        "baseImponible": "900.00",
        "tipoImpositivo": "21.00",
        "cuota": "189.00"
      }
    ],
    "lineas": [
      {
        "descripcion": "Consultoría",
        "cantidad": "1",
        "importeUnitario": "900.00",
        "importeTotal": "1089.00"
      }
    ],
    "importeTotal": "1089.00"
  }'

Rectificativa por diferencias

Una R1 con rectificativa.tipo: "I" declara solo la diferencia respecto a la factura rectificada. Un descuento posterior o una devolución llevan importes negativos. No lleva rectificativa.importes.

POST/v1/ticketbai/crear

curl -X POST https://sandbox.veribai.com/v1/ticketbai/crear \
  -H "x-api-key: TU_CLAVE" \
  -H "Content-Type: application/json" \
  -d '{
    "version": "1.0",
    "provincia": "bizkaia",
    "serie": "R",
    "numero": "302",
    "fechaExpedicion": "22-09-2026",
    "tipoFactura": "R1",
    "descripcion": "Abono parcial de la factura A-12345",
    "emisor": {
      "nif": "B00000000",
      "nombre": "Empresa Emisora SL"
    },
    "destinatario": {
      "nif": "B11111119",
      "nombre": "Cliente Ejemplo SL",
      "direccion": "Calle Mayor 1, Bilbao",
      "codigoPostal": "48001"
    },
    "rectificativa": {
      "tipo": "I",
      "facturasRectificadas": [
        {
          "serie": "A",
          "numero": "12345",
          "fechaExpedicion": "15-09-2026"
        }
      ]
    },
    "desglose": [
      {
        "descripcion": "Abono",
        "baseImponible": "-100.00",
        "tipoImpositivo": "21.00",
        "cuota": "-21.00"
      }
    ],
    "lineas": [
      {
        "descripcion": "Abono parcial",
        "cantidad": "1",
        "importeUnitario": "-100.00",
        "importeTotal": "-121.00"
      }
    ],
    "importeTotal": "-121.00"
  }'

Rectificativa por crédito incobrable (R3)

R3 corresponde al artículo 80.4 de la LIVA. Solo se admite cuando han pasado al menos seis meses desde cada factura rectificada. Con menos, la API responde 400 R3_TIMING_ERROR.

POST/v1/ticketbai/crear

curl -X POST https://sandbox.veribai.com/v1/ticketbai/crear \
  -H "x-api-key: TU_CLAVE" \
  -H "Content-Type: application/json" \
  -d '{
    "version": "1.0",
    "provincia": "bizkaia",
    "serie": "R",
    "numero": "303",
    "fechaExpedicion": "22-09-2026",
    "tipoFactura": "R3",
    "descripcion": "Rectificativa por crédito incobrable de la factura A-11890",
    "emisor": {
      "nif": "B00000000",
      "nombre": "Empresa Emisora SL"
    },
    "destinatario": {
      "nif": "B11111119",
      "nombre": "Cliente Ejemplo SL",
      "direccion": "Calle Mayor 1, Bilbao",
      "codigoPostal": "48001"
    },
    "rectificativa": {
      "tipo": "I",
      "facturasRectificadas": [
        {
          "serie": "A",
          "numero": "11890",
          "fechaExpedicion": "10-03-2026"
        }
      ]
    },
    "desglose": [
      {
        "descripcion": "Crédito incobrable",
        "baseImponible": "-1000.00",
        "tipoImpositivo": "21.00",
        "cuota": "-210.00"
      }
    ],
    "lineas": [
      {
        "descripcion": "Crédito incobrable",
        "cantidad": "1",
        "importeUnitario": "-1000.00",
        "importeTotal": "-1210.00"
      }
    ],
    "importeTotal": "-1210.00"
  }'

Rectificativa de una factura simplificada (R5)

Rectifica una F2. Como la simplificada, no lleva destinatario.

POST/v1/ticketbai/crear

curl -X POST https://sandbox.veribai.com/v1/ticketbai/crear \
  -H "x-api-key: TU_CLAVE" \
  -H "Content-Type: application/json" \
  -d '{
    "version": "1.0",
    "provincia": "bizkaia",
    "serie": "RT",
    "numero": "91",
    "fechaExpedicion": "22-09-2026",
    "tipoFactura": "R5",
    "descripcion": "Devolución del ticket T-7990",
    "emisor": {
      "nif": "B00000000",
      "nombre": "Empresa Emisora SL"
    },
    "rectificativa": {
      "tipo": "I",
      "facturasRectificadas": [
        {
          "serie": "T",
          "numero": "7990",
          "fechaExpedicion": "12-09-2026"
        }
      ]
    },
    "desglose": [
      {
        "descripcion": "Devolución",
        "baseImponible": "-24.79",
        "tipoImpositivo": "21.00",
        "cuota": "-5.21"
      }
    ],
    "lineas": [
      {
        "descripcion": "Devolución de artículo",
        "cantidad": "1",
        "importeUnitario": "-24.79",
        "importeTotal": "-30.00"
      }
    ],
    "importeTotal": "-30.00"
  }'

Factura en sustitución de simplificadas (F3)

El cliente pide una factura completa por compras que ya tienen ticket. La F3 identifica las simplificadas que sustituye en rectificativa.facturasSustituidas. No es una rectificativa: no lleva tipo ni facturasRectificadas.

POST/v1/ticketbai/crear

curl -X POST https://sandbox.veribai.com/v1/ticketbai/crear \
  -H "x-api-key: TU_CLAVE" \
  -H "Content-Type: application/json" \
  -d '{
    "version": "1.0",
    "provincia": "bizkaia",
    "serie": "A",
    "numero": "12358",
    "fechaExpedicion": "22-09-2026",
    "tipoFactura": "F3",
    "descripcion": "Factura en sustitución de los tickets T-8003 y T-8004",
    "emisor": {
      "nif": "B00000000",
      "nombre": "Empresa Emisora SL"
    },
    "destinatario": {
      "nif": "B11111119",
      "nombre": "Cliente Ejemplo SL",
      "direccion": "Calle Mayor 1, Bilbao",
      "codigoPostal": "48001"
    },
    "rectificativa": {
      "facturasSustituidas": [
        {
          "serie": "T",
          "numero": "8003",
          "fechaExpedicion": "15-09-2026"
        },
        {
          "serie": "T",
          "numero": "8004",
          "fechaExpedicion": "16-09-2026"
        }
      ]
    },
    "desglose": [
      {
        "descripcion": "Compras en tienda",
        "baseImponible": "49.58",
        "tipoImpositivo": "21.00",
        "cuota": "10.42"
      }
    ],
    "lineas": [
      {
        "descripcion": "Compras en tienda",
        "cantidad": "1",
        "importeUnitario": "49.58",
        "importeTotal": "60.00"
      }
    ],
    "importeTotal": "60.00"
  }'

Subsanación de un registro

Corrige datos mal informados de un registro ya remitido sin cambiar la operación. El cuerpo es el de crear con los datos corregidos y la misma identidad (serie, numero, fechaExpedicion). Aquí se corrige el nombre del destinatario de la factura A-12345.

PUT/v1/ticketbai/subsanar

curl -X PUT https://sandbox.veribai.com/v1/ticketbai/subsanar \
  -H "x-api-key: TU_CLAVE" \
  -H "Content-Type: application/json" \
  -d '{
    "version": "1.0",
    "provincia": "bizkaia",
    "serie": "A",
    "numero": "12345",
    "fechaExpedicion": "15-09-2026",
    "tipoFactura": "F1",
    "descripcion": "Servicios de consultoría",
    "emisor": {
      "nif": "B00000000",
      "nombre": "Empresa Emisora SL"
    },
    "destinatario": {
      "nif": "B11111119",
      "nombre": "Cliente Ejemplo Sociedad Limitada",
      "direccion": "Calle Mayor 1, Bilbao",
      "codigoPostal": "48001"
    },
    "desglose": [
      {
        "descripcion": "Consultoría",
        "baseImponible": "1000.00",
        "tipoImpositivo": "21.00",
        "cuota": "210.00"
      }
    ],
    "lineas": [
      {
        "descripcion": "Consultoría",
        "cantidad": "1",
        "importeUnitario": "1000.00",
        "importeTotal": "1210.00"
      }
    ],
    "importeTotal": "1210.00"
  }'

Anulación de una factura

Deja sin efecto un registro remitido. El cuerpo es plano e incluye provincia. serie, numero y fechaExpedicion deben coincidir exactamente con la factura original. Una factura con rectificativas no se puede anular. Aquí se anula el ticket T-8001, la simplificada de esta página.

POST/v1/ticketbai/anular

curl -X POST https://sandbox.veribai.com/v1/ticketbai/anular \
  -H "x-api-key: TU_CLAVE" \
  -H "Content-Type: application/json" \
  -d '{
    "provincia": "bizkaia",
    "nifEmisor": "B00000000",
    "serie": "T",
    "numero": "8001",
    "fechaExpedicion": "15-09-2026"
  }'