Huella SHA-256 encadenada
Cada registro incorpora la huella del anterior, haciendo la cadena inalterable. Validada al carácter contra los ejemplos oficiales de la AEAT.
Proyecto open source · Python · MIT
Traazza es una librería open source en Python para integrar Verifactu en tu propio software: huella encadenada, QR tributario, XML, validación y módulos opcionales de envío/firma. Tus facturas no pasan por servidores de terceros y no pagas una cuota por NIF.
● Núcleo técnico validado con material oficial · envío probado en entorno de pruebas AEAT
Qué hace
Desde la huella encadenada y el QR hasta el XML, la validación y los módulos opcionales de envío/firma. Núcleo ligero, auditable y pensado para integrarse en software propio.
Cada registro incorpora la huella del anterior, haciendo la cadena inalterable. Validada al carácter contra los ejemplos oficiales de la AEAT.
Genera la URL de cotejo y el código QR con el formato y el nivel de corrección que exige la norma, listo para imprimir en la factura.
Registros de alta y anulación conformes al diseño de la AEAT, validados contra los esquemas oficiales incluidos en el propio paquete.
Cliente con certificado (mTLS), reintentos con reintento seguro (idempotencia) y lectura de la respuesta con su CSV. Envío probado contra el entorno de pruebas de la AEAT.
Para el modo no verificable: firma XAdES del registro y un log de eventos encadenado. Opcionales, solo si tu caso los necesita.
El comando traazza genera QR, calcula la cadena, produce el XML y valida ficheros contra el esquema oficial, sin escribir código.
Seguridad y confianza
La facturación es un terreno delicado: registros fiscales, datos de clientes y obligaciones legales. Estos son los criterios con los que está construida.
Traazza se ejecuta dentro de tu propia infraestructura. Tus facturas y los datos de tus clientes no pasan por servidores de terceros ni por ninguna nube intermediaria.
Todo el código es público bajo licencia MIT. Cualquiera —tú, tu equipo o un tercero— puede leerlo, revisarlo y verificar exactamente qué hace antes de confiarle nada.
La huella SHA-256 encadenada implica que alterar una factura pasada rompe toda la cadena posterior. Es el mecanismo antifraude que exige el reglamento, implementado tal cual.
La huella se validó al carácter contra los ejemplos oficiales, y el XML se valida contra los XSD oficiales de la Agencia Tributaria incluidos en el paquete. Nada se da por bueno sin contrastar.
El envío se ha probado contra el entorno de pruebas de la AEAT, obteniendo respuestas aceptadas con CSV. Es una validación técnica real, sin presentar Traazza como un SIF cerrado ni como asesoramiento fiscal.
El certificado electrónico lo aporta y custodia el emisor; Traazza nunca lo incorpora ni lo envía a ningún sitio. La responsabilidad y el control quedan siempre de tu lado.
Para quién
Traazza es una herramienta técnica, pero resuelve un problema que afecta a cualquiera que emita facturas en España.
Empezar
Disponible en PyPI. El núcleo funciona sin dependencias; los extras se instalan según lo que necesites.
$ pip install traazza# Con extras opcionales: # pip install "traazza[qr]" -> imagen del QR # pip install "traazza[envio]" -> envío a la AEAT # pip install "traazza[firma]" -> firma XAdES from traazza.modelos import Emisor, Cadena, LineaDesglose from traazza import qr, xml cadena = Cadena(Emisor("89890001K", "Empresa SL")) factura = cadena.alta( num_serie="2026/A-1", fecha_expedicion="01-01-2026", tipo_factura="F1", cuota_total="21.00", importe_total="121.00", descripcion_operacion="Venta", desglose=[LineaDesglose("100.00", "21.00", "21.00")]) print(factura.huella) # huella encadenada print(qr.url_desde_registro(factura)) # URL del QR
Estado del proyecto
Traazza está pensada para desarrolladores, ERPs, TPVs, eCommerce y equipos técnicos que necesitan una base Verifactu auditable, no una caja negra.
Puedo ayudarte a integrar Traazza, revisar la arquitectura Verifactu de tu software o diseñar un flujo completo con Python, FastAPI, automatización y trazabilidad técnica.
Preguntas frecuentes
Las cuestiones que más se repiten al integrar Verifactu, respondidas sin rodeos.
Verifactu es el sistema de la Agencia Tributaria (Real Decreto 1007/2023) que obliga a que los programas de facturación generen un registro inalterable y encadenado de cada factura, con una huella y un código QR, y que puedan remitirlo a la AEAT. Su objetivo es evitar el software de doble uso y el fraude.
No. Traazza es una librería para desarrolladores que integran Verifactu en su propio software. Quien la integra pasa a ser el "productor del SIF" y asume la declaración responsable y las obligaciones legales; Traazza no emite facturas en nombre de nadie ni se presenta como un SIF cerrado. Es una herramienta, no el sistema completo.
No, se confunden mucho pero son cosas distintas. Verifactu (antifraude, RD 1007/2023) regula los registros de facturación y su remisión a Hacienda. La factura electrónica B2B obligatoria (Ley "Crea y Crece") regula el intercambio de facturas entre empresas en formato electrónico. Una empresa puede tener que cumplir ambas, pero son normativas separadas.
Solo para el envío en vivo a la AEAT, que exige un certificado electrónico cualificado del emisor. Generar la huella, el QR y el XML no requiere ningún certificado, así que puedes integrar y probar casi todo sin él.
Sí. Es de código abierto con licencia MIT, de modo que cualquiera puede leer y auditar exactamente qué hace. La huella SHA-256 encadenada hace los registros inalterables, el XML se valida contra los esquemas oficiales de la AEAT y todo se ejecuta en tu propia infraestructura: tus facturas no pasan por servidores de terceros.
Es gratis y open source (MIT). No hay cuota por NIF, por factura ni por volumen. El coste es el de integrarla en tu software, como cualquier otra librería.
Traazza está en desarrollo activo. El núcleo de huella, QR y XML está orientado a integraciones técnicas y validaciones. El uso en producción depende del certificado, del entorno del emisor, de la integración concreta y de la revisión fiscal/técnica del productor del SIF.
Está escrita en Python y se instala con pip install traazza. El núcleo no tiene dependencias externas; los módulos de imagen del QR, envío y firma se instalan como extras opcionales solo si los usas.
Código abierto, trazabilidad, pruebas, documentación y enfoque de producto. Si buscas una integración seria de Verifactu, automatización o IA aplicada a negocio, podemos hablarlo.