Title: Factulit VeriFactu
Author: factulit
Published: <strong>29 août 2026</strong>
Last modified: 7 septembre 2026

---

Recherche d’extensions

![](https://ps.w.org/factulit-verifactu/assets/banner-772x250.png?rev=3672260)

![](https://ps.w.org/factulit-verifactu/assets/icon-256x256.png?rev=3672260)

# Factulit VeriFactu

 Par [factulit](https://profiles.wordpress.org/factulit/)

[Télécharger](https://downloads.wordpress.org/plugin/factulit-verifactu.2.6.0.zip)

 * [Détails](https://fr.wordpress.org/plugins/factulit-verifactu/#description)
 * [Avis](https://fr.wordpress.org/plugins/factulit-verifactu/#reviews)
 *  [Installation](https://fr.wordpress.org/plugins/factulit-verifactu/#installation)
 * [Développement](https://fr.wordpress.org/plugins/factulit-verifactu/#developers)

 [Support](https://wordpress.org/support/plugin/factulit-verifactu/)

## Description

Factulit VeriFactu is the free plugin that connects WooCommerce to [Factulit](https://factulit.es),
a Spanish VeriFactu invoicing service. Keep managing orders and refunds in WooCommerce
while Factulit generates the invoices, chained billing records and AEAT submissions.

**What the plugin does**

 * Syncs orders, customers and the order-status catalog with your Factulit account.
 * Lets you decide which WooCommerce statuses invoice, cancel or refund before explicitly
   activating invoicing.
 * Generates hash-chained billing records in Factulit and submits them to the Spanish
   Tax Agency (AEAT).
 * Tracks full and partial refunds against the corresponding invoice, with per-line
   detail.
 * Keeps pending work in a local retry queue and shows connection health and exact
   progress.
 * Gives eligible customers a protected « View invoices » action in WooCommerce 
   My Account and order views.
 * Declares compatibility with WooCommerce High-Performance Order Storage (HPOS /
   custom order tables).

**Who it is for**

Spanish WooCommerce stores that issue invoices for online sales and want Factulit
to handle billing-record generation, hash chaining and AEAT submission.

**An account with Factulit is required**

This plugin is free, but it is a client for the Factulit SaaS. Without a Factulit
account and a valid API key, it will not generate invoices or send anything to AEAT;
it only prepares and queues data locally. [Create your account](https://factulit.es)
and follow the guided connection, series and activation steps. The service has a
Free plan for up to 50 invoices per month and paid plans for higher volume; see 
the [current plans and limits](https://factulit.es/precios).

#### External services

This plugin relies on the external **Factulit** SaaS (https://factulit.es) to generate
invoices, billing records and AEAT submissions. It has a free tier and paid plans(
https://factulit.es/precios). Configuring the plugin means accepting the Factulit
Terms and Conditions and Privacy Policy.

The plugin communicates only with the two fixed Factulit API endpoints: `https://
api.sandbox-factulit.es/api` for Demo and `https://api.factulit.es/api` for Production.
The active endpoint is part of the server-issued, versioned connection binding; 
it changes atomically together with the binding generation and the environment-specific
API credential. The settings screen never accepts an arbitrary API URL, and a queued
row always keeps the endpoint and binding under which it was created. Moving from
Demo to Production uses this same installed plugin and never redirects old Demo 
rows to Production. It sends:

 * **Customer data**, when a customer record is synced: first name, last name, email,
   phone, tax ID (NIF/NIE/CIF), address, postal code and city.
 * **Order data**, when an order is synced: the order and its line items, needed
   to generate the corresponding invoice.
 * **Invoice-link data**, when a customer opens the WooCommerce order list or an
   order: up to 50 WooCommerce order IDs are sent through `invoice-availability`.
   When the customer selects « View invoices », that order ID is sent through `invoice-
   access` and Factulit returns a short-lived viewer URL. The browser is redirected
   only to the HTTPS viewer for the active Factulit environment (`vf.factulit.es`
   in Production or `sandbox-factulit.es` in Demo); the plugin never exposes the
   API key to the browser.
 * **Order-status catalog data**: the list of WooCommerce order statuses used in
   your store, so their fiscal classification (which statuses trigger an invoice,
   a cancellation or a refund) can be configured on the Factulit side.
 * **Connection and version data**, at most once every 12 hours: the installed plugin
   version, the WooCommerce/CMS version, the store’s site URL, the URL of this store’s
   sync (cron) endpoint and the bearer token that protects that endpoint. The version
   data is used to tell you when a newer plugin version is available. The endpoint
   URL and its token are what allow Factulit to call your store back to run a sync;
   without them the service cannot reach your store. That token is generated by 
   the plugin, is specific to your store, and can be rotated at any time from the
   plugin’s settings screen, which invalidates the previous one.

This data exchange is required for the plugin to function: it is how your store’s
orders become VeriFactu invoices and billing records. No data is sent to Factulit
before you configure a valid API key.

Terms and Conditions: https://factulit.es/condiciones-de-contratacion
 Privacy Policy:
https://factulit.es/politica-de-privacidad

## Captures d’écrans

[⌊Settings screen: connection status, API key field, and the fiscal-classification
notice pointing to the Factulit panel.⌉⌊Settings screen: connection status, API 
key field, and the fiscal-classification notice pointing to the Factulit panel.⌉[

Settings screen: connection status, API key field, and the fiscal-classification
notice pointing to the Factulit panel.

[⌊Sync screen: synchronisation health, exact order progress, the three sync channels,
the "Sync now" action and recovery actions when needed.⌉⌊Sync screen: synchronisation
health, exact order progress, the three sync channels, the "Sync now" action and
recovery actions when needed.⌉[

Sync screen: synchronisation health, exact order progress, the three sync channels,
the « Sync now » action and recovery actions when needed.

[⌊Update notice: the inline admin notice shown when a newer plugin version is available,
with release notes.⌉⌊Update notice: the inline admin notice shown when a newer plugin
version is available, with release notes.⌉[

Update notice: the inline admin notice shown when a newer plugin version is available,
with release notes.

[⌊Cron block: the read-only cron endpoint URL and the "Rotate cron token" action.⌉⌊
Cron block: the read-only cron endpoint URL and the "Rotate cron token" action.⌉[

Cron block: the read-only cron endpoint URL and the « Rotate cron token » action.

[⌊Factulit dashboard with demo sales, invoicing and VeriFactu status.⌉⌊Factulit 
dashboard with demo sales, invoicing and VeriFactu status.⌉[

Factulit dashboard with demo sales, invoicing and VeriFactu status.

[⌊AEAT registration and invoice status in Factulit, using demo data.⌉⌊AEAT registration
and invoice status in Factulit, using demo data.⌉[

AEAT registration and invoice status in Factulit, using demo data.

## Installation

 1. Install and activate WooCommerce if it is not already active.
 2. Install the plugin through the WordPress plugins screen, or upload the plugin files
    to `/wp-content/plugins/factulit-verifactu/`.
 3. Activate Factulit VeriFactu through the « Plugins » screen.
 4. Go to the « Factulit VeriFactu » menu and enter your Factulit API key. If you do
    not have a Factulit account yet, sign up at https://factulit.es.
 5. Configure the fiscal classification of your order statuses from your Factulit account(
    which statuses generate an invoice, a cancellation or a refund).
 6. Use « Sync now » for an initial manual sync. From then on, Factulit triggers the
    synchronisation of your store automatically while the connection is active — you
    do not need to set up any server cron.

## FAQ

### How does synchronisation work? Do I need to set up a cron job?

Synchronisation has three channels:

 * **Automatic.** Factulit calls the protected store endpoint while the connection
   is active.
 * **Store cron (recommended fallback).** Your hosting calls the same endpoint, 
   so it continues working if a firewall blocks incoming Factulit calls. The settings
   screen provides the protected URL for wget or curl.
 * **Manual.** « Sync now » processes pending data in batches and shows live progress.

The settings screen records the last successful run of each channel.

### Do I need a Factulit account to use this plugin?

Yes. The plugin only prepares and queues WooCommerce data locally; invoices, billing
records and AEAT submissions are generated by the Factulit service, which requires
an account and a valid API key.

### What data does the plugin send to Factulit?

Customer data needed to issue an invoice (name, email, phone, tax ID, address, postal
code, city), order data, up to 50 order IDs when checking invoice availability, 
the selected order ID when opening its invoices, your store’s order-status catalog,
and, at most once every 12 hours, connection and version data: installed plugin 
version, WooCommerce/CMS version, site URL, the sync endpoint URL and the bearer
token protecting it. See the « External services » section above for the full disclosure.

### Is it compatible with WooCommerce High-Performance Order Storage (HPOS)?

Yes. The plugin explicitly declares compatibility with the `custom_order_tables`
feature, and it is tested with HPOS both enabled and disabled.

### In which languages is the plugin available?

The source language is English. The direct-download build includes a Spanish (es_ES)
translation. The WordPress.org build uses language packs from translate.wordpress.
org, so Spanish availability there depends on the translation project.

### How do customers open their invoices?

When Factulit reports invoices for an order, WooCommerce shows a protected « View
invoices » action to the order owner. The plugin requests a short-lived viewer link
without exposing the API key to the browser.

## Avis

Il n’y a aucun avis pour cette extension.

## Contributeurs/contributrices & développeurs/développeuses

« Factulit VeriFactu » est un logiciel libre. Les personnes suivantes ont contribué
à cette extension.

Contributeurs

 *   [ factulit ](https://profiles.wordpress.org/factulit/)

[Traduisez « Factulit VeriFactu » dans votre langue.](https://translate.wordpress.org/projects/wp-plugins/factulit-verifactu)

### Le développement vous intéresse ?

[Parcourir le code](https://plugins.trac.wordpress.org/browser/factulit-verifactu/),
consulter le [SVN dépôt](https://plugins.svn.wordpress.org/factulit-verifactu/),
ou s’inscrire au [journal de développement](https://plugins.trac.wordpress.org/log/factulit-verifactu/)
par [RSS](https://plugins.trac.wordpress.org/log/factulit-verifactu/?limit=100&mode=stop_on_copy&format=rss).

## Journal des modifications

#### 2.6.0

 * Adds an optional buyer-role meta field for Factulit’s per-order simplified-invoice
   checks; no role or invoice type is inferred.

#### 2.5.0

 * Every order now travels with its payment date, so Factulit can apply the ECB 
   exchange rate in force when a foreign-currency order was actually paid.

#### 2.4.0

 * New « Order fields » section: point Factulit at the exact checkout field holding
   the tax ID when your store uses its own (for example billing_cif).
 * Recognises more tax ID field names out of the box, including billing_cif.
 * Optional field for an invoice-request checkbox, so that the buyer choice travels
   with the order.
 * Every order now tells Factulit how it was created (checkout, admin, API), so 
   orders created in the back-office can be billed on their own profile without 
   any extra field.
 * Optional field for a sales-channel tag of your own, to route each channel to 
   its own billing profile.

#### 2.3.6

 * Automatic syncs launched by Factulit now work in smaller, time-boxed rounds.
 * Faster queue counters on stores with a long synchronisation history.

#### 2.3.5

 * The settings screen no longer contacts Factulit while it renders.
 * Retries customer records stuck after a failed real-time sync.

#### 2.3.0

 * Reports refunded shipping as its own fiscal line when WooCommerce supplies an
   unambiguous tax breakdown; otherwise Factulit requests manual review.

## Méta

 *  Version **2.6.0**
 *  Dernière mise à jour **il y a 11 heures**
 *  Installations actives **Moins de 10**
 *  Version de WordPress ** 6.1 ou plus **
 *  Testé jusqu’à **7.1**
 *  Version de PHP ** 7.4 ou plus **
 *  Langue
 * [English (US)](https://wordpress.org/plugins/factulit-verifactu/)
 * Étiquettes
 * [aeat](https://fr.wordpress.org/plugins/tags/aeat/)[invoices](https://fr.wordpress.org/plugins/tags/invoices/)
   [spain](https://fr.wordpress.org/plugins/tags/spain/)[verifactu](https://fr.wordpress.org/plugins/tags/verifactu/)
   [woocommerce](https://fr.wordpress.org/plugins/tags/woocommerce/)
 *  [Vue avancée](https://fr.wordpress.org/plugins/factulit-verifactu/advanced/)

## Évaluations

Aucun avis n’a encore été envoyé.

[Votre avis](https://wordpress.org/support/plugin/factulit-verifactu/reviews/#new-post)

[Tout voir](https://wordpress.org/support/plugin/factulit-verifactu/reviews/)

## Contributeurs

 *   [ factulit ](https://profiles.wordpress.org/factulit/)

## Support

Quelque chose à dire ? Besoin d’aide ?

 [Voir le forum de support](https://wordpress.org/support/plugin/factulit-verifactu/)