Send invoice data, get FacturaE 3.2.2 XML signed with XAdES. Validated against official XSD. Ready for FACe.
Free tier — 50 invoices/month, no credit card required.
Edit the JSON and generate live. No API key, no certificate — real FacturaE 3.2.2 XML, validated against the official XSD.
Press “Generate” to call the live API and see the signed, XSD-valid XML. Every one of these is a week you don't spend reading AEAT PDFs. Kreyo handles them all behind one endpoint.
Enveloped XAdES-EPES signature, exclusive C14N canonicalization, signed properties, the facturae_3_1 signature policy with its exact digest. Get one byte wrong and FACe rejects the whole invoice.
The FacturaE 3.2.2 schema is strict about element order, types and totals. We validate every document before it leaves, plus NIF check digits and IVA math, so invalid XML never reaches Hacienda.
Load a .pfx, build the certificate chain, reference the right signature policy, embed signing time and signer role. All the parts of the spec that have no good examples online.
The FACe web service is SOAP, needs DIR3 codes (oficina contable, órgano gestor, unidad tramitadora) and returns a registro number and a status lifecycle. We wrap it in a single REST call.
You can. Here's what it actually costs.
A deep-dive on signing FacturaE with XAdES-EPES in .NET is coming to the blog. The short version: it's the kind of work you want to do once, well — or not at all.
B2G is already mandatory. B2B has dates: 2027 and 2028. VeriFactu is planned for October 2028 (pending regulatory approval).
All invoices to Spanish public administrations must be FacturaE, submitted via FACe. No exceptions.
The B2B mandate is fulfilled before the AEAT in UBL EN 16931 format, not FacturaE. FacturaE remains valid for public administrations (FACe) and for private exchange agreed between the parties. For the B2B mandate: Kreyo B2B →
Real-time invoice reporting to the AEAT, planned for October 2028 (pending regulatory approval).
50 invoices/month free. No certificate required for unsigned XML. Add signing when you're ready.
Get your API key →From JSON to signed XML to FACe submission in a single integration.
Same invoice JSON as Kreyo PDF. No XML knowledge needed. The output of Kreyo Extract feeds directly in.
Upload your .pfx certificate once. Every invoice signed automatically with XAdES-EPES and the facturae_3_1 policy.
Every XML validated against the official FacturaE 3.2.2 schema before delivery. Invalid XML never reaches FACe.
Submit to FACe with DIR3 codes. Track status: registered → validated → accepted → paid. Full history.
NIF check digits, IVA rate validation, math consistency, business rules. Catches errors before Hacienda does.
Extract data from a received invoice → generate compliant XML. Full document cycle in two API calls.
From ERP integrations to gestorías, anyone who needs compliant XML at scale.
Add FacturaE compliance to your product with one API integration. No XML parsing in your codebase.
Generate compliant XML for all your clients automatically. Sign with each client's certificate.
Submit FacturaE to FACe without building the pipeline yourself. Track status and get registro number.
Offer electronic invoicing to your Spanish customers. One integration, compliant for all your clients.
Every Kreyo product runs on a single shared pool of operations — no separate plans per product.
50 invoices/month, no certificate required to start.
Need visual PDF invoices too? Same JSON, different output. Check out Kreyo PDF →
Receiving invoices? Extract data with AI. Check out Kreyo Extract →