Promotions

  • Training Management — Run your training organization in Dolibarr

    Training Management is the business application built into Dolibarr for professional training providers. You manage your catalog, sessions, trainers and learners, produce regulatory documents, and track sales and quality — all from a modern interface designed for day-to-day pedagogical and administrative teams.

    350.00 €  (700€)
  • INTERVENTION PLUS - Complete Management of Interventions

    The “Intervention Plus” module is a revolutionary tool that simplifies and optimizes intervention management, from planning to invoicing. Designed for sales and technical teams, it offers a complete suite of features to ensure transparent and efficient monitoring of each intervention.

    250.00 €  (500€)

New products

  • Nonprofit & Association Management for Dolibarr

    AssoExpert extends Dolibarr's native Members module with everything that makes up the daily life of a French law-1901 non-profit: compliant tax receipts, membership fees and reminders, general meetings, donations and grants. No Dolibarr core file is modified: the module plugs in cleanly through a dedicated Association tab, a tab on every member's record, menus and scheduled tasks.

    70.00 €
  • PSimport

    Command-line tools for migrating data from a PrestaShop store—categories, customers, products, downloadable files, and orders—to Dolibarr using the Webservice API and staging tables.

    100.00 €

VERI*FACTU - Spain Electronic Invoicing (Royal Decree 1007/2023)

mp23914d20260311115726

VERI*FACTU electronic invoicing module for Dolibarr compliant with Spanish Royal Decree 1007/2023. Automatic submission to AEAT, QR codes, digital signatures, NIF/VIES verification and full fiscal traceability.

450.00 €
Excl. tax

  • Author EasySoft Tech SL
  • Module version 1.5.11
  • Release date 03/11/2026
  • Access to download and updates 1 year
  • How to contact support info@easysoft.es
  • Compatibility Dolibarr V10+   -   PHP7.4 - 8.3
  • Last update 07/28/2026 07:45 AM

More info...

EasySoft Tech - Software solutions that drive your business

Turn your Dolibarr into a billing system compliant with Spanish RD 1007/2023

Billing record, chained hash and QR code on every invoice. With the two modes the law allows: real-time submission to the Spanish Tax Agency, or local custody signed with XAdES.

2 modes
VERI*FACTU and NO VERI*FACTU
V@lide
XAdES-EPES signature validated in the official validator
34
deterministic QA simulators
V16–V23
PHP 7.4 to 8.3

The problem it solves

Building the XML and sending it to the Tax Agency is the easy part, and it is where most implementations stop. The expensive part arrives the day a submission does not go as planned: that is when a validated invoice ends up with no billing record, or when the hash chain breaks without anyone noticing until the next submission.

What you run into What it costs you
The Tax Agency returns an undetermined error —20009— and does not say whether the record went through Resend and you duplicate the record (error 3000). Don't resend and you are left with a validated invoice and no billing record at all
Dolibarr's native recurring-invoice scheduled task generates the whole batch in a single transaction One failure and the rollback reverts the entire block: invoices the Tax Agency had already accepted go back to draft. Those are the ghost invoices
Two simultaneous submissions read the same previous hash The chain forks and stops being strictly sequential, which is exactly what Art. 13 of Order HAC/1177/2024 requires
The QR code is only drawn on the PDF template shipped with the module Either you replace the template you have been invoicing with for years, or you hand out invoices without the mandatory QR code
You validate fifty invoices in a batch and number 12 fails With a single global transaction, one failure drags the other 49 down with it
You have the proforma module enabled Validating a proforma submits it to the Tax Agency as an F1 invoice, when it is not an issued invoice at all (Art. 6 RD 1007/2023)

This module does more than build the XML and send it: it takes care of what happens when the submission does not go as planned, which is where compliance actually breaks.

BOTH MODES THE LAW ALLOWS

NO VERI*FACTU mode too, with signed local custody

Spanish regulation allows two ways to comply, and the module implements both, switchable from the settings page. In VERI*FACTU mode, every invoice is submitted to the Tax Agency the moment you validate it. In NO VERI*FACTU mode nothing is submitted in real time: each record is signed and kept on your own server, and is only handed over if the Tax Agency requires it.

Custody here is built to survive an audit, not to get by. The signature is XAdES-EPES with the Spanish government (AGE) Signature Policy, applied to the record node exactly as the Tax Agency's technical specification requires, and validated in V@lide, the official validator. Art. 9 event records are generated against the official XSD, with their own hash chain independent from the invoice chain, and the periodic summary fires on its own.

When an Art. 18 requirement arrives, the module gathers the signed records for the period and lets you choose: download the ZIP ready to file through the Tax Agency portal, or transmit it directly over SOAP to the requirement service — a channel verified against the Tax Agency's pre-production environment. And since in custody mode the original lives only on your server, the module uses a SHA-256 hash to watch that no file has been lost or tampered with, and reminds you of your retention responsibility.

It fits where you already work

No parallel screens: the tax status of each invoice lives on the Dolibarr invoice card itself, next to everything else.

Dolibarr invoice card with the VERI*FACTU tab, the tax QR code next to the reference and the VERI*FACTU Data block showing the submission status and CSV code
The tax QR code next to the reference, and the "VERI*FACTU Data" block with the submission status and the CSV code returned by the Tax Agency.
VERI*FACTU Area of the module with cards for issued invoices, direct query against the Tax Agency portal and help with the tax field guide
The "VERI*FACTU Area": submission list with statuses, direct query against the Tax Agency portal, and the guide to tax fields, regime keys and common errors.
Module administration panel with tabs for settings, certificate management, downloads, ghost invoice detection, telemetry and change log
Administration panel: licence, active environment and configuration status at a glance, with tabs for certificates, ghost invoice detection, telemetry and the change log.

Compared to a minimal implementation

Dimension Build the XML and send it This module
Modes Real-time submission only VERI*FACTU and NO VERI*FACTU with local custody, switchable from the settings
If the Tax Agency fails The invoice is left half-done Flagged as pending, retried by cron and reconciled by asking the Tax Agency whether the record went through
Concurrent submissions Forked chain A lock per entity and environment serialises read-anchor, submit and persist-hash; if it cannot acquire it, the submission is deferred rather than breaking the order
Ghost invoices Not addressed Dedicated detector, individual or bulk synchronisation, and explicit quarantine when human intervention is required
QR on the PDF Only on its own template Injected via hook into any active PDF template, plus ODT and TakePos receipts
Recurring invoices The native cron, with its global transaction Redirects the native task to a version with one transaction per invoice, and reverts it when the module is disabled
Requirement Not addressed Art. 18 covered: signed ZIP to file through the portal, or direct SOAP transmission preserving each record's signature
SIF events Not addressed Art. 9 event records validated against the official XSD, with periodic summary and their own chain
Checking counterparties Manually, once the Tax Agency rejects Spanish tax ID against the Tax Agency census, EU VAT number against VIES and ROI, with an automatic badge on the thirdparty card
Verification Manual testing 34 deterministic simulators, plus a test bench running the real code against a real database and a simulated Tax Agency

What you get

You comply whichever mode you pick
Issue, cancellation and R1–R5 corrective records with a chained hash, and every official type: F1 full, F2 simplified and F3 substitution, with correction by substitution or by differences. SOAP submission or signed local custody, your call.
It survives the Tax Agency going down
One isolated transaction per invoice, retry cron, reconciliation of undetermined responses, idempotent resend that never duplicates a record, ghost invoice detector, and pending states with their own label so you know what is missing.
The QR appears on the invoice you actually send
Injected into any active Dolibarr PDF template, not just the module's own, plus ODT and TakePos receipts. Three sizes compliant with the specification (30, 35 and 40 mm), configurable position and optional verification text underneath.
You always know whether you are compliant
Compliance dashboard with the active mode, certificate and chain status, integrity check of the custodied files, certificate expiry alert and a downloadable responsible declaration.
Customer data checked before you invoice
Spanish tax ID against the Tax Agency census, with a colour-coded badge on the thirdparty card and a button to fix the name; EU VAT number against VIES for all 27 member states, plus ROI lookup. One by one or in bulk.
Your certificate, handled properly
PKCS#12 (.pfx and .p12) with automatic extraction through native PHP, without depending on your hosting allowing external OpenSSL. Private key encrypted in the database, TLS-verified communications, and the option to host the certificate on an external server.

What it is used for

  • Companies required to comply from 1 January 2027 and self-employed professionals from 1 July 2027, with a test environment available right now.
  • Retail with a point of sale: TakePos automatically issues an F2 simplified invoice, with its own series and a QR code on the receipt.
  • Businesses invoicing across the EU that need the VAT number checked against VIES before issuing.
  • Accounting firms validating in batches that need one rejection not to drag the rest of the batch down.
  • Subscription businesses that cannot afford a global rollback halfway through the monthly run.
  • Taxpayers who prefer not to submit in real time and keep their signed records in custody, handing them over only on request.
  • Construction and professional services, with income tax withholdings and equivalence surcharge in the tax breakdown.

Getting started

1
Install the module and enable it. Beforehand, if you like, run the bundled compatibility checker to verify your server's PHP version and extensions.
2
Upload your digital certificate and fill in your tax details. Settings are revealed in stages — basic, additional, QR and advanced — so you are not hit with everything at once.
3
Pick your mode: VERI*FACTU or local custody. In the test environment, simulate the submission of an invoice to see the exact record that would be generated, without transmitting anything.
4
Validate your invoices as you always have. Record, hash and QR code are produced on their own; you only open the VERI*FACTU tab if you want the detail.

Requirements

Dolibarr V16 to V23. It installs from V10, but the VERI*FACTU invoice list and its area require V16 or later
PHP 7.4 to 8.3, with curl, openssl, json and xml
Database MySQL 5.7+ or MariaDB 10.3+. Not supported on PostgreSQL: hash chaining and chain serialisation rely on MySQL/MariaDB-specific SQL
Certificate A valid digital certificate in .pfx or .p12 format, and outbound Internet access to the Tax Agency services
Licence GNU General Public License v3.0 · 365 days of access to updates

Before you buy

Can I read it and adapt it?
Yes. It ships under GNU GPL v3 and you get the full source code. With one caveat we would rather tell you before you buy: because the module acts as a billing system and EasySoft Tech S.L. is listed as the software producer, it includes a code integrity check and activation through a key tied to your domain. Modifying it is your right; just bear in mind that doing so changes the code hash the responsible declaration rests on.
How do I try it without taking risks?
By working against the Tax Agency test environment, which is where the module operates while the obligation has not yet come into force for you. You also have submission simulation: it generates the complete record that would be transmitted — even for a draft invoice — without sending anything. Even so, let's be clear: validating an invoice creates real tax data in your ERP, so run your first tests on a copy.
What if something does not fit my installation?
Write to us at info@easysoft.es before buying and we will look at it with you: Dolibarr version, database engine, type of certificate and how you invoice today. We would rather tell you it does not fit than sell you something you cannot use.
What happens when the 365 days run out?
The module you have installed keeps working. What expires is access to new versions and downloads. For a module chasing living legislation, with a timetable that has already shifted once, keeping the subscription is the sensible choice: when the Tax Agency changes a schema, the update reaches you.
Does it force me to change my invoice template?
No. The QR code is injected via hook into whichever PDF template you already use, and it also works with ODT. You can keep issuing invoices with your usual design.

Actively maintained

This module was not published and left to drift. Every release goes through 34 deterministic simulators that pin the expected behaviour by contract, and real incidents become tests before they are considered closed. This is how the work is done here:

  • An integration test bench that runs the real code against a real database and a simulated Tax Agency server, reproducing outages and undetermined responses, and rolling everything back afterwards.
  • Adversarial review of every fix: we try to break our own patch before shipping it, and whatever surfaces gets hardened in the same release.
  • Validation against the Tax Agency's official XSD schemas and its pre-production environment, with the signature checked in V@lide.
  • Built-in updater: it checks for a new version, verifies the integrity of the downloaded package and takes a backup before applying it.

The version-by-version detail is in the change log, available from the module's own administration tab.

24
modules published on Dolistore
GPLv3
complete source code
3
interface languages
365
days of updates

Does it fit the way you invoice?

Tell us your case — Dolibarr version, type of certificate, whether you use a point of sale or recurring invoicing — and we will tell you whether this module works for you. And if it does not, we will tell you that too.

info@easysoft.es www.easysoft.es



If you think this module is a fork of another one (published after the first one) or violates some terms or conditions of use (for users or vendors), you can make a report at dolistore@dolibarr.org