Sandbox sobre la preproducción de la AEAT · sin tarjeta · Primera factura en 5 minutos
verifactu.co

Quickstart

Tu primera factura verificada en cinco minutos

Cinco llamadas cURL, copiables tal cual. Contra el entorno de preproducción de la AEAT, sin certificado, sin tarjeta y sin emitir nada real.

¿Cuánto se tarda en integrar VeriFactu por API?

La primera factura verificada contra la preproducción de la AEAT son cinco llamadas HTTP. Una integración completa en un ERP existente suele estar en días, no en meses.

Lo que consume el tiempo de una integración directa contra la AEAT no es el código: es el catálogo de rechazos, el formato exacto de la huella, los esquemas XML y el control de flujo. Esa parte es la que te ahorras.

01 Cinco pasos De la clave a la factura verificada

Todo esto ocurre contra el entorno de preproducción de la AEAT. No se emite ninguna factura real y no hace falta certificado.

Paso 1 · la clave
# 1 · Comprueba que la clave funciona
curl https://api.verifactu.co/v1/emisores \\
  -H "Authorization: Bearer sk_test_..."

# → 200 OK · {"datos": [], "total": 0}
Paso 2 · el emisor
# 2 · Da de alta un emisor de pruebas
#    En sandbox usa un NIF de prueba: no toca el censo real.
curl -X POST https://api.verifactu.co/v1/emisores \\
  -H "Authorization: Bearer sk_test_..." \\
  -d '{
    "nif":       "89890001K",
    "nombre":    "EMISOR DE PRUEBAS SL",
    "modalidad": "representacion"
  }'

# → 201 Created · {"id": "emi_3kD1", "nif": "89890001K", ...}
Paso 3 · la factura
# 3 · Registra tu primera factura
curl -X POST https://api.verifactu.co/v1/registros \\
  -H "Authorization: Bearer sk_test_..." \\
  -H "Idempotency-Key: DEMO-0001" \\
  -d '{
    "emisor":   { "nif": "89890001K" },
    "numero":   "DEMO/0001",
    "fecha":    "2026-08-26",
    "tipo":     "F1",
    "base":     100.00,
    "cuota":     21.00,
    "total":    121.00,
    "impuesto": "IVA"
  }'

# → 201 Created
# {"id":"reg_...","estado":"pendiente","huella":"9E1F...","qr":"https://prewww2..."}
Paso 4 · la cadena
# 4 · Mira la cadena que se sometió a SHA-256
#    Es lo primero que hay que revisar si algo no cuadra.
curl https://api.verifactu.co/v1/registros/reg_.../cadena \\
  -H "Authorization: Bearer sk_test_..."

# → IDEmisorFactura=89890001K&NumSerieFactura=DEMO/0001
#   &FechaExpedicionFactura=26-08-2026&TipoFactura=F1
#   &CuotaTotal=21.00&ImporteTotal=121.00&Huella=
#   &FechaHoraHusoGenRegistro=2026-08-26T10:15:00+02:00
Paso 5 · el resultado
# 5 · Espera el resultado de la AEAT
curl https://api.verifactu.co/v1/registros/reg_... \\
  -H "Authorization: Bearer sk_test_..."

# → {"estado":"aceptado","csv":"A1B2C3D4E5F6",
#    "aeat":{"estado_envio":"Correcto"}}

# En producción no hagas polling: registra un webhook.
02 Qué imprimir Lo que va en la factura

Con el 201 ya puedes imprimir. No esperes a la AEAT.

La huella y el QR se calculan en el acto y no cambian con el resultado de la remisión. Bloquear la impresión de la factura hasta que Hacienda conteste es un error de diseño: la remisión puede tardar por control de flujo.

ElementoDe dónde sale
Código QREl campo qr: una URL al validador de la AEAT que codificas como QR.
LeyendaEl campo leyenda, junto al QR, cuando remites en modalidad VERI*FACTU.
HuellaEl campo huella. No es obligatorio imprimirla, pero ayuda en soporte.
Ojo con el entorno del QR. Si dejas cableada la URL de preproducción, tus clientes imprimen facturas cuyo QR lleva a un validador de pruebas donde su factura «no consta». No falla nada visible: simplemente engaña.

Última revisión normativa: Especificaciones de huella AEAT v0.1.2 Revisado por el equipo técnico de verifactu.co