VeriFactu y TicketBAI en una sola API

La tecnología API REST que ya conoces.La alternativa a meses construyéndolo desde cero.La misma API para tus facturas y para las de tus clientes.

Entorno de pruebas gratuito · Facturación a cualquier escala

  1. Validación previa al envío
  2. QR y URL de verificación
  3. Firma (XAdES, SHA) y encadenado
  4. Envío a AEAT o Haciendas Forales
  5. Notificación por Webhook
  6. Factura Registrada
  • Darwinex Zero
  • Eco Laundry
  • System2pay
  • Recalpres

De un simple JSON a una factura con validez fiscal.

1

Envías los datos de la factura

Tu backend hace un POST a nuestra API con los datos de facturación en JSON, ya sea para VeriFactu o TicketBAI.

2

Obtienes el QR al instante

En la misma respuesta llega el QR que podrás añadir a tu factura y su URL de verificación.

3

Y VeriBai se ocupa de todo lo demás

VeriBai valida, firma, encadena y envía el registro a la administración, y te avisa por webhook cuando ésta lo confirma.

Explora la documentación

*Ejemplos simplificados: las peticiones y respuestas no muestran todos los campos del contrato. La referencia completa está en la documentación.

POST /v1/verifactu/crear
{
  "version": "1.0",
  "cabecera": {
    "serie": "A", "numero": "882",
    "fechaExpedicion": "03-04-2026",
    "tipoFactura": "F1", "descripcion": "…"
  },
  "emisor": { "nif": "B76116342", "nombre": "…" },
  "detalleDesglose": [ { "baseImponible": "100.00", … } ],
  "totales": {
    "cuotaTotal": "21.00", "importeTotal": "121.00"
  }
}

// 200 OK
{
  "estado": "aceptada",
  "urlValidacion": "https://www2.agenciatributaria.gob.es/…",
  "qrBase64": "data:image/png;base64,…", …
}

// Webhook · factura.registrada
{
  "datos": {
    "estadoFactura": "registrada", "csvAeat": "…", …
  }
}POST /v1/verifactu/crear
{
  "cabecera": {
    "serie": "A",
    "numero": "882",
    "fechaExpedicion": "03-04-2026"
  },
  "emisor": { "nif": "B76116342" },
  "detalleDesglose": [ … ],
  "totales": {
    "importeTotal": "121.00"
  }
}

// 200 OK
{
  "estado": "aceptada",
  "urlValidacion": "https://…",
  "qrBase64": "data:image/png;…"
}

// Webhook · factura.registrada
{
  "datos": {
    "estadoFactura": "registrada",
    "csvAeat": "…"
  }
}
POST /v1/ticketbai/crear
{
  "provincia": "gipuzkoa",
  "serie": "A", "numero": "882",
  "fechaExpedicion": "03-04-2026",
  "tipoFactura": "F1",
  "emisor": { "nif": "B76116342", "nombre": "…" },
  "desglose": [ { "baseImponible": "100.00", … } ],
  "importeTotal": "121.00"
}

// 200 OK
{
  "estado": "aceptada",
  "idTbai": "TBAI-B76116342-030426-Ijx21+K7AzOQr-026",
  "urlValidacion": "https://tbai.egoitza.gipuzkoa.eus/qr/…",
  "qrBase64": "data:image/png;base64,…", …
}

// Webhook · factura.registrada
{
  "datos": {
    "estadoFactura": "registrada",
    "idRegistroTbai": "TBAI-B76116342-030426…", …
  }
}POST /v1/ticketbai/crear
{
  "provincia": "gipuzkoa",
  "serie": "A",
  "numero": "882",
  "fechaExpedicion": "03-04-2026",
  "emisor": { "nif": "B76116342" },
  "desglose": [ … ],
  "importeTotal": "121.00"
}

// 200 OK
{
  "estado": "aceptada",
  "idTbai": "TBAI-B76116342-0304…",
  "qrBase64": "data:image/png;…"
}

// Webhook · factura.registrada
{
  "datos": {
    "estadoFactura": "registrada",
    "idRegistroTbai": "TBAI-B761…"
  }
}

Tus facturas, las de tus clientes,o ambos casos a la vez.

Emitas para tu empresa, para las de tus clientes o para ambas, la integración es la misma. La llamada no cambia. Solo cambia quién figura como emisor en cada petición.

El modelo se elige al crear la cuenta y se puede cambiar después desde el panel.

Autoemisión y emisión para terceros (se abre en una pestaña nueva)

A nombre de tu empresa

Emites tus propias facturas. Un NIF, una cadena de registros, una misma clave API.

  • Das de alta tu empresa (o a ti mismo, si eres autónomo) como emisor y generas la clave API. En TEST emites desde el primer minuto.
  • VeriFactu o TicketBAI, según dónde factures: el sistema lo decide el endpoint al que llamas, con la misma cuenta y la misma clave.
  • En tu panel, app.veribai.com, puedes ver cada factura con su XML firmado, su QR y su estado ante la administración.
Empieza en TEST (se abre en una pestaña nueva)

A nombre de tus clientes

Tu plataforma factura por cada empresa cliente. Una integración, tantos emisores como clientes. También el tuyo, si lo necesitas.

  • Alta de cada cliente desde el panel o vía API. Cada NIF mantiene su propia cadena de registros, con numeración y encadenado independientes.
  • Clientes en territorio común y en el foral dentro de la misma cuenta: para cada factura eliges VeriFactu o TicketBAI con el endpoint, sin cambiar de integración.
  • Tu panel sigue siendo uno, con las facturas de todos tus clientes. Además, puedes dar a cada cliente un acceso propio en clientes.veribai.com: entra con su usuario y ve solo sus facturas, con QR y estado. Lo activas cliente a cliente.
Ver el portal de clientes

Cada factura. Cada provincia.Una sola API.

Cuatro administraciones, cada una con sus reglas, y todas cubiertas. La misma integración para un emisor en Madrid que para uno en Bilbao: los mismos datos de factura, el mismo QR en la respuesta, el mismo webhook de confirmación. Las particularidades de cada administración las absorbe la API.

Guías por territorio
VeriFactu
  • Agencia Tributaria (AEAT)

    Territorio común

Registro de facturación verificable, encadenado y con envío inmediato a la Agencia Tributaria (AEAT).

TicketBAI
  • TicketBAI Araba, Hacienda Foral de Araba

    Araba · Álava

  • Batuz, Hacienda Foral de Bizkaia

    Bizkaia

  • TicketBAI Gipuzkoa, Hacienda Foral de Gipuzkoa

    Gipuzkoa

Un mismo registro para las tres provincias: XML firmado con XAdES, encadenado y con QR, según la especificación TicketBAI. Araba y Gipuzkoa lo reciben directamente; Bizkaia, dentro del envoltorio LROE de Batuz.

Sin certificados que gestionar.

VeriBai está registrado como Colaborador Social de la AEAT y como Software Garante ante las tres haciendas forales. Nuestro certificado hace el trabajo en los dos sistemas: firma cada TicketBAI y presenta cada envío ante la AEAT. Ni tú ni tus clientes tenéis que solicitar, instalar ni renovar certificados digitales.

Tu única tarea es una firma. El modelo de representación que autoriza a VeriBai llega generado y listo: cada emisor lo firma una vez y no vuelve a pensar en certificados.

Cómo funciona la representación

Dos acreditaciones de VeriBai (colaborador social ante la AEAT y software garante TicketBAI) y una única firma tuya, el modelo de representación, convergen en el certificado de VeriBai, que firma y presenta cada registro: el resultado es cada factura firmada y presentada.

  • VeriBai · Registrado

    Colaborador Social

    AEAT · VeriFactu

  • VeriBai · Registrado

    Software Garante

    TicketBAI · Araba, Bizkaia y Gipuzkoa

  • Tú · una vez

    Modelo de Representación

    Generado por VeriBai, listo para firmar

Certificado de VeriBai

Emitido, custodiado y renovado por nosotros.

Factura A-882

Tu cliente, S.L.

firmada y presentada

Dos acreditaciones nuestras y una firma tuya: todo lo que hace falta para que cada factura salga firmada y presentada.

El cumplimiento fiscal en España es complejo.

La parte compleja ya está resuelta. Cinco etapas entre tu JSON y la confirmación en tu sistema, cada una con las reglas de cada administración ya aplicadas.

  1. POST /v1/{sistema}/crear

    Tu backend envía el JSON con los datos de la factura

  2. 01

    Validación y QR

    Los datos pasan las reglas de cada administración antes de salir: los errores se detectan aquí, no en Hacienda. El QR oficial vuelve en la misma respuesta.

  3. 02

    Conversión a XML

    El JSON se convierte al esquema oficial de cada sistema; en Bizkaia, el XML viaja dentro del envoltorio LROE que exige Batuz.

  4. 03

    Firma y encadenado

    Cada registro queda enlazado con el anterior: en TicketBAI, mediante la firma delegada XAdES-EPES con plena validez legal; en VeriFactu, mediante la huella SHA-256. Sin gestionar certificados propios.

  5. 04

    Envío y respuesta

    Envío vía SOAP a la AEAT y por HTTPS a las haciendas forales, con colas de reintento y DLQs: si la administración no responde, el envío se reintenta y ningún registro se pierde.

  6. 05

    Notificación por webhook

    Cuando Hacienda confirma el registro, tu sistema es notificado al instante: un POST firmado con HMAC a tu URL, con reintentos automáticos. Sin polling.

  7. factura.registrada

    Tu backend recibe la confirmación

El cumplimiento fiscal en España es complejo.

La parte compleja ya está resuelta. Cinco etapas entre tu JSON y la confirmación en tu sistema, cada una con las reglas de cada administración ya aplicadas.

  1. POST /v1/{sistema}/crearTu backend envía el JSON con los datos de la factura
  2. 01

    Validación y QR

    Los datos pasan las reglas de cada administración antes de salir: los errores se detectan aquí, no en Hacienda. El QR oficial vuelve en la misma respuesta.

  3. 02

    Conversión a XML

    El JSON se convierte al esquema oficial de cada sistema; en Bizkaia, el XML viaja dentro del envoltorio LROE que exige Batuz.

  4. 03

    Firma y encadenado

    Cada registro queda enlazado con el anterior: en TicketBAI, mediante la firma delegada XAdES-EPES con plena validez legal; en VeriFactu, mediante la huella SHA-256. Sin gestionar certificados propios.

  5. 04

    Envío y respuesta

    Envío vía SOAP a la AEAT y por HTTPS a las haciendas forales, con colas de reintento y DLQs: si la administración no responde, el envío se reintenta y ningún registro se pierde.

  6. 05

    Notificación por webhook

    Cuando Hacienda confirma el registro, tu sistema es notificado al instante: un POST firmado con HMAC a tu URL, con reintentos automáticos. Sin polling.

  7. factura.registradaTu backend recibe la confirmación

Todo lo que hace la API, a la vista.

Cada factura emitida por la API puede consultarse en dos aplicaciones, según quién necesite verla. Sin escribir una línea de código.

clientes.veribai.com
app.veribai.com

Diseñado para resistir.

Tus facturas son obligaciones legales, no peticiones cualquiera. La infraestructura que las firma y remite está construida en consecuencia.

Redundante por diseño

Cada componente de la infraestructura está replicado en tres centros de datos físicamente independientes (zonas de disponibilidad de AWS). Sin punto único de fallo, sin ventanas de mantenimiento.

Residencia de datos en España

Las facturas se procesan y almacenan en la región de AWS en España: baja latencia desde cualquier punto del país y datos bajo jurisdicción española. Las copias de recuperación ante desastres se replican en Irlanda, dentro de la UE. Originales y copias comparten una durabilidad de diseño del 99,999999999 %.

De una factura a una flota de TPVs

La misma API sirve a una gestoría que factura cada mes y a una cadena con miles de terminales. Para emisores de gran volumen existe el modo Alta capacidad: cada dispositivo lleva su propia cadena de registros, y un terminal saturado nunca retrasa a los demás.

Aislamiento entre clientes

Los registros de cada emisor se procesan en su propia cadena, en orden y por separado de los demás. El pico de otro cliente, un Black Friday o un cierre de trimestre, no frena tus envíos.

Custodia de XML y QR

Cada XML firmado y cada código QR quedan archivados durante siete años e incluidos en las copias de seguridad. Disponibles cuando los necesites, por API o desde el panel web.

Lo que dicen los equipos que ya están en producción.

01 / 05
«Queríamos llegar a 2027 con VeriFactu resuelto y capaz de gestionar los miles de facturas que emitimos cada mes. La integración fue cuestión de días.»
Alex CaricolCEO · RecalpresB2B Ecommerce
«Un solo contrato de API para VeriFactu y TicketBAI. La documentación respondía antes que el soporte.»
Head of engineering[Empresa C]Plataforma SaaS · Gestorías

Empieza gratis en TEST.

Activa producción cuando estés listo. Sin costes de alta ni permanencia.

Empieza aquí

Pruebas

El entorno TEST, para desarrollar y probar la integración.

Gratis
  • Acceso completo a la API
  • XXX facturas de prueba al mes
  • VeriFactu y TicketBAI en entorno TEST
Crear cuenta gratuita

Producción

Para emitir facturas con validez fiscal.

A medida
  • Precio según volumen de emisión
  • Firma delegada incluida
  • Soporte técnico incluido
Hablar con el equipo

Preguntas frecuentes

No. VeriBai es un sistema para cumplir con VeriFactu y TicketBAI: genera el registro de facturación, lo firma, lo remite a Hacienda y devuelve el código QR que debe llevar la factura. La factura la sigue emitiendo tu software. La vía principal es la API, para que un programa de facturación incorpore el cumplimiento a su producto sin construirlo desde cero. Un negocio pequeño también puede emitir sus registros desde el panel web, sin programar, y añadir el QR a las facturas que ya hace con su herramienta actual.

No. La normativa regula el registro de facturación: un documento XML firmado y encadenado que se remite a Hacienda. La factura que entregas a tu cliente la sigue generando tu software, incorporando el QR y la referencia del registro que devuelve la API.

Depende de la hacienda ante la que tributa cada emisor. Territorio común: VeriFactu (AEAT). Araba, Bizkaia y Gipuzkoa: TicketBAI ante su hacienda foral. Si tu software tiene clientes en ambos territorios necesita los dos sistemas. Con VeriBai es la misma integración, con un endpoint por sistema.

Las sociedades deben cumplir desde el 1 de enero de 2027; los autónomos, desde el 1 de julio de 2027. TicketBAI ya es obligatorio en Araba, Bizkaia y Gipuzkoa. Integrar antes permite probar en TEST y certificar tu software sin presión de plazos.

No para operar: VeriBai firma y remite los registros con sus propios certificados. El certificado del emisor solo hace falta una vez, para que su representante legal firme el documento de representación.

Con el documento de representación que exige cada administración: el Anexo I de la AEAT para VeriFactu y el modelo de cada hacienda foral para TicketBAI. VeriBai lo genera con los datos de cada cliente; lo firma su representante legal con su certificado, desde tu panel o desde el portal de clientes. En TEST no hace falta. En producción, ningún registro sale sin él.

Cualquier stack que haga peticiones HTTPS: la API es REST con JSON, sin SDK obligatorio ni certificados propios. Una petición POST desde tu backend basta para emitir el primer registro en TEST.

Es posible. Implica firma XAdES-BES, esquemas XML distintos por administración, el envoltorio LROE de Bizkaia, encadenado de hashes y mantenimiento continuo ante cambios normativos. VeriBai existe para que ese trabajo especializado no viva en tu roadmap.

Ver todas las preguntas frecuentes →

¿Otra pregunta? Escríbenos a soporte@veribai.com.

Tú construyes el producto.

Del cumplimiento nos ocupamos nosotros. Cuenta gratuita, entorno de pruebas completo, producción cuando tú decidas.