01 / Product · Open source
Verifactu, inside your own code.
A Python library that generates Spanish tax-authority invoicing records from your own software: chained hash, tax QR, validated XML and submission. No middleman and no per-invoice fees.
$ pip install traazza
From there, generating a chained record and its QR is a handful of lines inside your own application.
Modules
The whole record lifecycle, in one library.
Each piece works on its own: generate only the hash, only the XML, or the full flow.
Chained SHA-256 hash
Every record carries the hash of the previous one. Altering an invoice breaks the chain and it shows.
Official tax QR
Generates the QR code the invoice must carry, with the fields and format the tax authority expects.
XML validated against the XSD
Builds the record XML and validates it against the official schemas before anything is sent.
SOAP submission to the AEAT
Client for the Spanish tax authority web service, with both the test and production environments.
XAdES signing and event log
Optional modules for electronic signing and for the system event log.
Command line included
A CLI to generate, validate and debug records without writing code.
Resources
Guides and documentation.
Written while integrating against the tax authority's real systems. Currently in Spanish.
FAQ
Questions about Traazza and Verifactu.
Technical information for developers, not legal or tax advice.
What is Verifactu?
Is Traazza a complete invoicing system?
Do I need a digital certificate?
Is it safe? Can I audit it?
What does it cost?
Need it integrated?
I integrate Traazza into existing invoicing software and ERPs. Tell me how your system invoices.