
Facturae and FACe for WooCommerce — e-invoices for Spanish administrations
A Facturae 3.2.2 invoice from a WooCommerce order on your own server; Pro signs it with your certificate and sends it to FACe.
- Compatibility
- WordPress 6.4+ · WooCommerce 8.0+ · PHP 7.4+ · HPOS · English, español
- Licence
- a site + a staging copy, annual
- Trial
- 7 days, no card, one per site
- Updated
- November 2026
What Free has,
and what Pro adds
The free version works with no time limit. Pro adds the rest of the features in the table.
Key points
What the free version does
The classic and block checkout get optional fields: the buyer’s NIF/CIF and three DIR3 codes — accounting office (oficina contable), managing body (órgano gestor) and processing unit (unidad tramitadora).
What Pro adds
The certificate of your business (.p12/.pfx or PEM) signs the invoice with a XAdES signature following the Facturae signature policy; the private key is stored encrypted, the password of the file is not stored, and the signature is verified right after signing.
How much it costs
The base version is free. Pro costs 1290 UAH for a one-year licence. A year of updates, technical support and all Pro features.

The trial starts when you ask
A fresh install is the free version, nothing switches on by itself. The “Try Pro for 7 days” button → e-mail → the key right in the window and by e-mail.

One key — a site and a staging copy
Moving the site? Unlink the licence on the old domain and activate it on the new one yourself. A staging copy (staging., dev.) works with the same key and does not take a site slot. For studios — keys for 5 or 25 sites, or unlimited.
Technical requirements
WordPress 6.4+, WooCommerce 8.0+, PHP 7.4+.
A shop in Spain with IVA, IGIC or IPSI taxes.
For Pro signing: a qualified certificate (for example from FNMT); for FACe: an integrator registration.
Version history
Facturae 3.2.2 from the order, NIF and DIR3 codes at the checkout, XSD check, numbering of its own, XML download.
Frequently bought with Facturae and FACe


Spain Couriers for WooCommerce — SEUR, Correos Express, Correos, MRW, GLS and CTT Express

Abandoned Cart Recovery for WooCommerce

Verifactu for WooCommerce — AEAT invoicing records and the tax QR
Full module description
Facturae for WooCommerce turns a shop order into a Facturae 3.2.2 file, the format Spanish public administrations take. It all happens on your own server, with no third-party invoicing service. At the checkout the buyer types the NIF/CIF and the three DIR3 codes of the administration, and the order gets a “Facturae” box with buttons. Pro signs the file with your business certificate and sends it to FACe, the general entry point for e-invoices of the Spanish State administration.
What the free version does
The classic and block checkout get optional fields: the buyer’s NIF/CIF and three DIR3 codes — accounting office (oficina contable), managing body (órgano gestor) and processing unit (unidad tramitadora). The control letter of a Spanish NIF is checked. The Facturae box on the order makes the invoice: issuer and buyer, lines with quantity and unit price, coupons as line discounts, shipping and fees, taxes grouped by rate, payment term and IBAN. IVA, IGIC (Canary Islands) and IPSI (Ceuta and Melilla) are supported. Every file is validated against the Facturae 3.2.2 XSD bundled with the plugin before it is saved: a file that does not pass is not saved, and you see why. A series and a counter of your own never give the same number twice and never leave a gap because of a refused invoice. The NIF, the DIR3 codes, the proposing body and the file reference (expediente) can be corrected in the order box and the invoice made again with the same number. The XML is downloaded from the order screen.
What Pro adds
The certificate of your business (.p12/.pfx or PEM) signs the invoice with a XAdES signature following the Facturae signature policy; the private key is stored encrypted, the password of the file is not stored, and the signature is verified right after signing. A refund of an invoiced order gets its corrective invoice (factura rectificativa) in a separate series, pointing at the invoice it corrects. Invoices can be made automatically — when the order is Processing or Completed — signed and attached to the e-mails sent to the buyer. The signed invoice is sent to FACe (the supplier REST API): the registry number and status are kept on the order and refreshed every hour, and a cancellation request, with or without a reason, can be made from the order. This needs a qualified certificate and an integrator registration in the FACe portal. There is a zip export of the files of chosen orders or of a period, and a journal of what was signed, sent and answered.
Good to know before you start
- The file made by the free version is not signed: entry points such as FACe ask for a signature, so sign it with your own tool or use Pro.
- Signing needs a qualified certificate of your business with an exportable private key (.p12/.pfx or PEM). EC keys are not supported; an old .p12 with RC2 on OpenSSL 3 has to be exported again.
- FACe needs a registration as an integrator in the FACe integrators portal and the certificate added to a platform there. Without it, making and signing still work.
- The FACe environment is the test one by default; production is an explicit choice in the settings.
- An invoice is a legal document: the correctness of totals and taxes stays with the shop. When the invoice total differs from the order, the module warns but does not block.
- Not implemented: recargo de equivalencia, IRPF withholding, exempt operations with their legal reason, euro equivalent for foreign currency, attachments to FACe, the FACe invoice repository and FACeB2B.
- The tax period of a corrective invoice is the calendar month of the corrected invoice; a shop that files quarterly can change it with the filter ccfe_corrective_data.
- If another plugin already numbers your invoices, Facturae needs a separate series.
- Alongside our Verifactu module (records for AEAT): they do different jobs — Verifactu sends records to AEAT, Facturae sends invoices to administrations; the NIF saved by Verifactu is read as a fallback.
How it works, step by step
- In WooCommerce → Facturae enter your business data (NIF/CIF, name, address), the series and the shop tax, and save.
- The buyer types the NIF and DIR3 codes at the checkout, or you type them in the order box.
- On the order press “Make the invoice” and download the XML.
- In Pro upload the certificate, sign the invoice and press “Send to FACe”; the status is refreshed every hour.
Under the hood
- The Facturae 3.2.2 and xmldsig schemas ship with the plugin; making and checking the invoice calls no external service.
- The FACe transport is the supplier REST API (/providers/v1) with a JWT RS256 token signed by your certificate.
- The private key is stored encrypted (AES-256); the password of the file is not stored.
- The hourly status check takes the invoices checked least recently, so every open invoice is followed.
- Classic and block checkout, HPOS; languages: English, español.
How to install
- Plugins → Add New → Upload Plugin: choose the zip and activate it.
- WooCommerce → Facturae: enter your business data, the series and save.
- Make an invoice on an order that has the buyer’s NIF.
- For Pro, upload the certificate on the “Signature and FACe” tab.
The module is not on wordpress.org yet: the free version and Pro are one archive from this page. Without a key it works as the free version.
Questions
about the module
Didn't find the answer? Message us on Telegram and we'll reply within a business day.
Is this an official plugin of the Spanish administration?
No. It is an independent tool made by us; Facturae and FACe belong to the Spanish administration and we are not affiliated with it.
Is the invoice signed in the free version?
No. The XAdES signature with your certificate is a Pro feature. The file of the free version can be signed with your own tool.
Can I send to FACe without Pro?
No, sending to FACe is in Pro. The free version makes and checks the file that you download.
What do I need for FACe?
A qualified certificate of your business and a registration as an integrator in the FACe integrators portal with the certificate added.
What happens on a refund?
In Pro a refund by lines gets a corrective invoice in a separate series; a refund of a bare amount goes to the journal with an explanation.
What happens after the trial?
Pro switches off, the free part keeps working.
No reviews yet. Be the first.
No questions yet. Ask one — we answer within 24 hours.
Not quite what you are looking for?
We build custom modules for WordPress, WooCommerce, OpenCart and Shopify. Tell us about the task and we'll prepare an estimate.
Order a custom module
Buying the module
—
Charged in UAH; your bank converts it to your currency. EUR price is approximate.



















