Kreyo does it in one endpoint: send invoice JSON, get back FacturaE 3.2.2 XML, signed with XAdES and validated against the official schema, ready for FACe.
And when VeriFactu arrives, you're already set.
FacturaE is where Spanish e-invoicing starts: mandatory for the public sector since 2015, and the hardest part to build by hand. Kreyo takes care of the parts that hurt.
"invoice_number": "F-2026-0042", "issuer": "nif": "B12345678" , "recipient": "nif": "P2800100G" , "line_items": [ "unit_price": 150.00, "tax_rate": 21.0 ], "signing": "certificate_id": "cert_a1b2c3d4"
<fe:Facturae> <FileHeader><SchemaVersion>3.2.2</SchemaVersion></FileHeader> ... signed, XSD-valid, FACe-ready ... <ds:Signature><ds:SignatureValue>MIIBnDCC...</ds:SignatureValue></ds:Signature> </fe:Facturae>
Real-time AEAT reporting is planned for October 2028 (pending regulatory approval). Build on Kreyo now and you submit registros with the same API key: SHA-256 chain, XMLDSig signature, mutual TLS, QR URL.
Explore Kreyo VeriFactu →Also part of the platform
On the receiving side: extract structured data from Spanish invoices with AI. NIF and VIES validation, tax compliance scoring.
Explore Extract →The same invoice JSON, rendered as a pixel-perfect PDF. HTML, Markdown or templates in — PDF out.
Explore PDF →Mandatory B2B e-invoicing: UBL EN 16931 generation, validation and status messages from the same JSON. Submission to the AEAT once it publishes its web service.
See status and calendar →On the roadmap
Kreyo is the infrastructure for Spanish electronic invoicing — and the operations around it. Coming as the platform grows:
Match payments to invoices with deterministic, auditable logic — including the messy cases (partial payments, many-to-one).
Generate SEPA payment files (AEB cuadernos) straight from your invoicing data.
Free tier for all products. No credit card required.