VeriBaiDocs
Acceder

Introducción

Emite tu primer registro de facturación en el entorno TEST en menos de diez minutos.

VeriBai es una API REST para el cumplimiento de VeriFactu y TicketBAI. Tu software envía los datos de la factura en JSON; VeriBai valida, firma, encadena y remite el registro a la administración que corresponda, y devuelve el código QR listo para incrustar.

Esta página te lleva de cero a tu primer registro en el entorno TEST.

1. Crea tu cuenta

Regístrate en app.veribai.com/registro. La cuenta incluye acceso completo al entorno TEST, sin coste.

2. Obtén tu clave API

Desde el panel, en Claves API, genera una clave para el entorno TEST. Las claves se envían en la cabecera x-api-key de cada petición. Más detalle en Autenticación.

3. Emite tu primera factura

Una petición POST con los datos mínimos es suficiente:

POST/v1/verifactu/crear

curl -X POST https://sandbox.veribai.com/v1/verifactu/crear \
  -H "x-api-key: TU_CLAVE" \
  -H "Content-Type: application/json" \
  -d '{
    "version": "1.0",
    "cabecera": {
      "serie": "A",
      "numero": "12345",
      "fechaExpedicion": "03-04-2026",
      "tipoFactura": "F1",
      "descripcion": "Descripcion de la factura"
    },
    "emisor": {
      "nif": "B76116342",
      "nombre": "Prueba 1 SL"
    },
    "destinatario": {
      "nif": "B17195595",
      "nombre": "Nombre cliente, SL"
    },
    "detalleDesglose": [
      {
        "impuesto": "01",
        "claveRegimen": "01",
        "calificacionOperacion": "S1",
        "baseImponible": "100.00",
        "tipoImpositivo": "21.00",
        "cuotaRepercutida": "21.00"
      }
    ],
    "totales": {
      "cuotaTotal": "21.00",
      "importeTotal": "121.00"
    }
  }'

La pestaña de Python usa el cliente oficial:

pip install veribai

Acepta Decimal y date tal cual y los convierte al formato del cable, que es justo donde se cuelan los errores de un céntimo. El float lo rechaza de plano. Los entornos, los reintentos y el resto del paquete, en Cliente de Python.

Las pestañas de cURL y JavaScript muestran el HTTP en crudo, que es el contrato.

La respuesta llega en el momento, con el QR generado:

{
  "estado": "pendiente_proceso",
  "serieNumero": "A12345",
  "tipoFactura": "F1",
  "importeTotal": "121.00",
  "urlValidacion": "https://…",
  "qrBase64": "iVBORw0KG…"
}

El envío a Hacienda es asíncrono: la petición valida, firma y encola el registro, y la remisión se completa en segundo plano. Consulta el estado final con GET /v1/facturas/{idFactura}/estado.

4. Siguientes pasos