TicketBAI
Qué es TicketBAI
TicketBAI es el sistema de facturación electrónica obligatorio en los territorios forales vascos:
| Territorio | Sistema | Hacienda Foral |
|---|---|---|
| Bizkaia | BATUZ | Hacienda Foral de Bizkaia |
| Gipuzkoa | TicketBAI Gipuzkoa | Hacienda Foral de Gipuzkoa |
| Álava/Araba | TicketBAI Álava | Hacienda Foral de Álava |
Cada factura emitida debe contener:
- Firma XAdES-BES con certificado digital del contribuyente
- Hash SHA-256 encadenado con la factura anterior (cadena inviolable)
- Código QR con el identificador TBAI oficial
- Envío a la Hacienda Foral mediante SOAP antes o al momento de entrega al cliente
Detección automática
Frihet detecta automáticamente si tu empresa está en el País Vasco a partir del código postal de tu perfil fiscal:
| Prefijo | Territorio |
|---|---|
| 48xxx | Bizkaia (BATUZ) |
| 20xxx | Gipuzkoa |
| 01xxx | Álava/Araba |
Si tu código postal no comienza con 48, 20 ni 01, la sección TicketBAI no aparece en los ajustes. Solo se muestra a los usuarios con dirección fiscal en territorio foral.
Activar sandbox
En esta fase, Frihet incluye el modo sandbox completamente funcional:
- Ve a Configuración → TicketBAI
- La sección solo aparece si tu código postal es de un territorio foral
- Haz clic en Probar sandbox para enviar una factura de prueba al entorno de test de la Hacienda Foral
- El resultado muestra el CSV de verificación y el identificador TBAI si la prueba es exitosa
El modo sandbox usa el entorno de pruebas de Bizkaia (pruebasarqueo.bizkaia.eus) y no tiene efectos fiscales reales.
Modo producción
El modo producción requiere un certificado digital emitido por la Diputación Foral correspondiente:
- Bizkaia: Hacienda Foral de Bizkaia — batuz.eus
- Gipuzkoa: Hacienda Foral de Gipuzkoa — gipuzkoa.eus
- Álava/Araba: Hacienda Foral de Álava — araba.eus
El botón Activar producción está desactivado hasta que se complete el soporte de certificados digitales en Frihet (previsto Q3 2026).
Pipeline técnico
Frihet implementa el pipeline completo de TicketBAI en el backend (Cloud Functions):
- Construcción XML — TicketBAI v1.2 per Bizkaia LROE schema
- Firma XAdES-BES — certificado BYOC cifrado con AES-256-GCM en Firestore
- Hash SHA-256 —
emisor|serie|numero|fecha|importe|hashAnterior - Envío SOAP — BATUZ endpoint con cabeceras
eus-bizkaia-n3-* - Validación estricta — BATUZ debe devolver CSV + IdentificadorTBAI (nunca se fabrican valores)
- Código QR — generado a partir del tbaiIdentifier real de BATUZ
- Persistencia — CSV + QR + hash guardados en Firestore bajo
invoices/{id}/tbai/submission
MCP (para agentes IA)
El servidor MCP de Frihet incluye la herramienta ticketbai_status:
ticketbai_status(invoiceId: string)
→ { invoiceId, status, csv, qrUrl, province, tbaiIdentifier, submittedAt }
Devuelve status: "no_submission_yet" si la factura nunca se ha enviado a TicketBAI.
Preguntas frecuentes
¿Es TicketBAI obligatorio para todas las empresas del País Vasco? Sí. Desde las fechas establecidas por cada Hacienda Foral, cualquier software de facturación en territorio foral debe cumplir con TicketBAI. Consulta el calendario de obligatoriedad en la web de tu Hacienda Foral.
¿Es lo mismo que VeriFactu? No. VeriFactu es el sistema de la Agencia Tributaria estatal (AEAT) para el resto de España. TicketBAI es el sistema de las Haciendas Forales vascas. Son sistemas distintos con normativas diferentes. Si tu empresa está en el País Vasco, usas TicketBAI, no VeriFactu.
¿Funciona el sandbox sin certificado? Para la fase de pruebas, el sandbox permite verificar la conectividad y el formato XML sin necesidad de certificado real. Para producción, el certificado es obligatorio.
¿Qué pasa con las empresas en Navarra? Navarra tiene su propio sistema TicketBAI con normativa propia (Hacienda Foral de Navarra). No está incluido en esta versión. Los códigos postales 31xxx no activan la sección TicketBAI en Frihet.