Spanish e-invoicing infrastructure for developers

Spanish FacturaE and XAdES by hand are months of hell.

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

One API call, legally compliant XML

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.

  • XAdES signing & canonicalization XAdES-EPES with the facturae_3_1 policy, signed properties and certificate handling — all done. Upload your .pfx once.
  • XSD validation before FACe rejects it Every XML validated against the official FacturaE 3.2.2 schema, plus NIF check digits and IVA math. Invalid XML never reaches FACe.
  • FACe submission with DIR3 Submit to FACe and track status: registered, validated, accepted, paid. No SOAP pipeline to build yourself.
Explore Kreyo FacturaE →
POST /facturae/v1/generate

  "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" 
↓
factura-F-2026-0042.xml
<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>
VeriFactu

The same platform is ready for VeriFactu

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

EXT
Kreyo Extract

On the receiving side: extract structured data from Spanish invoices with AI. NIF and VIES validation, tax compliance scoring.

Explore Extract →
PDF
Kreyo PDF

The same invoice JSON, rendered as a pixel-perfect PDF. HTML, Markdown or templates in — PDF out.

Explore PDF →
B2B
Phase 1 live
Kreyo B2B

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

Invoicing operations, plus banking

Kreyo is the infrastructure for Spanish electronic invoicing — and the operations around it. Coming as the platform grows:

Bank reconciliation

Match payments to invoices with deterministic, auditable logic — including the messy cases (partial payments, many-to-one).

SEPA files

Generate SEPA payment files (AEB cuadernos) straight from your invoicing data.

Get your free API key

Free tier for all products. No credit card required.