Sales and invoicing

EU VAT Mentions

dolixtva · version 1.0.0

The mandatory VAT statement is printed on your invoices by itself: small business exemption, intra-Community supply, reverse charge, export.

Price
€79 excl. VAT
Dolibarr
19.0 minimum
Version
1.0.0
Licence
GPL v3+
Languages
French, English, German, Dutch

€79 excl. VAT.

Ordering, payment, invoicing and download are handled by the DoliStore.

Buy on the DoliStore — €79 excl. VAT
A German company invoices an Austrian customer who has a VAT number: a part and an on-site job, at 0%. The module prints both statements by itself, in German, in the notes area.
A German company invoices an Austrian customer who has a VAT number: a part and an on-site job, at 0%. The module prints both statements by itself, in German, in the notes area. Screenshot of the French-language interface.
01

What the module does

  • Six situations: small business VAT exemption, intra-EU supply of goods (exempt), services to an EU business (reverse charge), export of goods outside the EU, services to a customer outside the EU, domestic reverse charge (construction…).
  • Automatic detection: company not liable for VAT, exemption statement. Otherwise, only lines at 0% count. Customer in another EU country with a VAT number: intra-Community supply for goods, reverse charge for services. Customer outside the EU: export, or services outside the EU.
  • Mixed invoice, goods and services at 0%: both statements are printed.
  • The statement is the one of your company's country, in the language of the invoice. Example for a German company supplying an Austrian customer: “Steuerfreie innergemeinschaftliche Lieferung (§ 4 Nr. 1 Buchst. b, § 6a UStG).”
  • On the invoice card, the “Printed VAT statement” line shows the statement in advance, or explains why there is none. Warning if the EU customer has no VAT number, or if their country is not set.
  • “VAT statement” attribute on each invoice: left empty, the module chooses by itself; otherwise you force a situation, or “No statement”. It can still be changed on a validated invoice, to regenerate its PDF.
  • Two placements to choose from: the notes area of the PDF (core templates sponge, crabe and octopus), or the __DOLIXTVA_MENTION__ variable, to be placed in the invoice footer free text or in an ODT template.
  • French company under the small business exemption: an option corrects the statement Dolibarr has printed since version 21, “article L. 223-3 du CIBS”, to “TVA non applicable, art. 293 B du CGI”. A translation already customised by the administrator is left untouched.
  • The setup page shows, for your company's country, the text of each situation in French, German and English. The official sources are listed in the SOURCES.md file shipped with the module.
02

Who it is for

Your company is German, Austrian, Belgian or Luxembourgish: Dolibarr prints no VAT statement, and you type it by hand, invoice after invoice.

An invoice without VAT has to say why. A supply to a business customer in another EU country, a reverse-charged service, an export, a small business under the VAT exemption: each case has its statement, and each country has its own text.

Dolibarr only prints an automatic statement for a French company. A German, Austrian, Belgian or Luxembourg company gets nothing: the statement has to be typed by hand, invoice after invoice, and the right one has to be chosen.

Even for a French company, since version 21, Dolibarr prints for the exemption “TVA non applicable, article L. 223-3 du CIBS”. That article is not in force: the move to the Code des impositions sur les biens et services has been postponed to 1 January 2027.

Who it is for: Companies established in Germany, Austria, Belgium, Luxembourg or France that invoice businesses in other EU countries or customers outside the EU, and small businesses under the VAT exemption scheme.

03

What the module does not do

This section appears on all 12 module pages, without exception.

  • Only companies established in France, Belgium, Luxembourg, Germany and Austria are covered. For a company in another country, the module prints nothing and says so.
  • Customer invoices and credit notes only: nothing on quotes, orders or supplier invoices.
  • The module neither calculates nor changes any VAT rate or amount. You set the line to 0%; the module prints the matching statement.
  • The customer's VAT number is only checked as filled in, not validated with the European Commission. EU customer without a number: no statement, and a warning on the invoice card.
  • Sale at 0% to a customer in the same country: no automatic statement. Domestic reverse charge is chosen by hand.
  • Not covered: distance sales to consumers (OSS one-stop shop), margin scheme, special schemes.
  • Statements in French, German and English, and in Dutch for a Belgian company. For a Belgian company, on an invoice in German or English, the mandatory domestic reverse charge text stays in French, and so does the exemption text, followed by a translation in brackets.
  • The notes area only works with a PDF template that prints the public note; the core templates sponge, crabe and octopus have been checked. For another template, use the variable.
  • The “Printed VAT statement” line on the invoice card is displayed in the user's language, not necessarily in the PDF's.
  • The statements for services to a customer outside the EU, and the export statement for a French company, are customary wordings: no official text imposes their wording. The texts follow the official sources listed with the module; they are no substitute for your accountant's advice.
04

How it works

When the PDF is produced, the module looks at the invoice and works out the situation:

  • is your company liable for VAT (setting in SetupCompany/Organization);
  • which lines are at 0%, and are they goods or services;
  • which country the customer is in, and whether they have a VAT number.

It then prints the legal statement of your company’s country, in the language of the invoice.

Situation Detection Example, German company
Small business VAT exemption company not liable for VAT Steuerbefreiung für Kleinunternehmer gemäß § 19 UStG.
Intra-EU supply of goods (exempt) customer in another EU country with a VAT number, product-type line at 0% Steuerfreie innergemeinschaftliche Lieferung (§ 4 Nr. 1 Buchst. b, § 6a UStG).
Services to an EU business (reverse charge) same, service-type line at 0% Steuerschuldnerschaft des Leistungsempfängers.
Export of goods outside the EU customer outside the EU, product-type line at 0% Steuerfreie Ausfuhrlieferung (§ 4 Nr. 1 Buchst. a, § 6 UStG).
Services to a customer outside the EU customer outside the EU, service-type line at 0% Nicht im Inland steuerbare Leistung.
Domestic reverse charge (construction…) never automatic: chosen on the invoice Steuerschuldnerschaft des Leistungsempfängers (§ 13b UStG).

An invoice that mixes goods and services at 0% gets both statements.

Countries covered for the invoicing company: France, Belgium, Luxembourg, Germany, Austria. Languages of the statements: French, German, English, and Dutch for a Belgian company. Each text cites its legal basis; the official sources, consulted on 9 October 2026, are listed in the SOURCES.md file shipped with the module.

On the invoice card

A “Printed VAT statement” line shows in advance the statement that will be printed, or explains why there is none. It also flags an EU customer without a VAT number — without it, the sale is not exempt — or a customer whose country is not set.

A “VAT statement” attribute is added to invoices. Left empty, the module chooses by itself. Otherwise, you force a situation — domestic reverse charge in construction, which the module cannot guess — or “No statement”. It can still be changed on a validated invoice, to regenerate its PDF.

Where the statement is printed

  • In the notes area of the PDF, by default. Checked with the core templates sponge, crabe and octopus.
  • Or through the __DOLIXTVA_MENTION__ variable, which you place in the invoice footer free text or in an ODT template.

French company under the exemption

Dolibarr already prints its own exemption statement: the module does not duplicate it. An option corrects it to “TVA non applicable, art. 293 B du CGI”, in French, English and German.

The module has no screen of its own: its effect shows on the printed invoice.

A German company invoices an Austrian customer who has a VAT number: a spare part and an on-site job, both at 0%. In the notes area, above the lines, the module has printed both statements in German: “Steuerfreie innergemeinschaftliche Lieferung (§ 4 Nr. 1 Buchst. b, § 6a UStG).” for the part, “Steuerschuldnerschaft des Leistungsempfängers.” for the job.

A French company under the VAT exemption, two lines at 0%. Bottom left, the statement Dolibarr prints now reads “* TVA non applicable, art. 293 B du CGI”. The notes area stays empty: the module does not add its own exemption statement for a French company.

The setup page, under Dolibarr 24.0.1, for a French company not liable for VAT: what Dolibarr knows about your company (country, VAT liability), where the statement goes, the correction of the exemption statement — ticked, with the text currently printed — and the module’s own exemption option, unticked. Further down, the page shows the text of each situation in French, German and English.

French company under the small business VAT exemption: the statement Dolibarr prints at the bottom of the invoice is corrected to “TVA non applicable, art. 293 B du CGI” (VAT not applicable).
French company under the small business VAT exemption: the statement Dolibarr prints at the bottom of the invoice is corrected to “TVA non applicable, art. 293 B du CGI” (VAT not applicable). Screenshot of the French-language interface.
05

Settings

In SetupModules/ApplicationsEU VAT Mentions. The page is reserved for administrators.

Setting Default Effect
Where the statement goes on the PDF notes area Or “Variable __DOLIXTVA_MENTION__ only”: nothing is added to the notes area, the statement only appears where you place the variable.
Correct the exemption statement Dolibarr prints (France) unticked French company only. Replaces Dolibarr’s text with “* VAT not applicable, art. 293 B CGI (France)” and its French and German equivalents, as SetupTranslation would do.
Also print the exemption statement for a French company unticked French company only. Useful with an ODT or custom template: Dolibarr’s PDF templates already print their own statement.

Country and VAT liability are not set here: the module reads them in SetupCompany/Organization.

The setup page: what Dolibarr knows about your company, where the statement goes, and the correction of the French exemption statement.
The setup page: what Dolibarr knows about your company, where the statement goes, and the correction of the French exemption statement. Screenshot of the French-language interface.
06

Security and safeguards

  • Nothing is written to the invoice: the statement is added to the public note in memory, just before the PDF is produced, then the original note is put back.
  • No invented text: without a text for a given country and situation, nothing is printed.
  • A translation already customised is left untouched: if the administrator has already replaced the exemption statement in SetupTranslation, the correction skips it and says so. On removal, only the rows placed by the module are deleted.
  • Setup page reserved for administrators, and saving protected by Dolibarr’s anti-CSRF token.
07

What you get

What the module writes to your installation
Database tables createdNo table. On activation, the module adds a “VAT statement” complementary attribute to invoices (field dolixtva_case, so a column of llx_facture_extrafields) and stores its settings as constants. If you turn on the correction of the French statement, the corrected text is stored in Dolibarr's overwritten translations (table llx_overwrite_trans), as SetupTranslation would do.
PermissionsNo permission of its own. The module adds no page and no menu: the statement follows Dolibarr's permissions on invoices. The setup page is reserved for administrators.
Uninstalling
  • Disable the module in SetupModules/Applications. Statements are no longer added to PDFs, and the “VAT statement” attribute is no longer displayed.
  • If the correction of the French statement was on, it is removed: Dolibarr prints its own text again.
  • The “VAT statement” attribute, with the choices already made on invoices, and the module's settings are not deleted.
  • PDFs already produced keep their statement. Regenerated after deactivation, they no longer have it.
  • The dolixtva folder, to be placed in htdocs/custom/ or uploaded as a zip from HomeSetupModules/Applications, “Deploy/install external app/module” tab.
  • The translations present in langs/: fr_FR, en_US, de_DE, and nl_NL for the statements of a Belgian company only (the rest of the interface in Dutch comes from English).
  • README.md, ChangeLog.md, and SOURCES.md: the official sources of each statement.
  • GPL v3 or later licence, full and readable source code.
  • No table is created.
  • On activation, the module adds the “VAT statement” complementary attribute to invoices (a column of llx_facture_extrafields). Only the choice you make there is saved on the invoice.
  • Settings are stored as Dolibarr constants.
  • If you turn on the correction of the French statement, the corrected text is stored in Dolibarr’s overwritten translations (llx_overwrite_trans).
  • On deactivation: statements are no longer added to PDFs, the correction of the French statement is removed, and the attribute is no longer displayed. The attribute, with the choices already made, and the settings remain in the database. PDFs already produced keep their statement.
  • No outgoing connection: nothing is sent anywhere.
08

Compatibility

The module descriptor only declares a minimum version. No upper bound is written in the code: the versions below are those on which the module has actually been run.

Compatibility of the EU VAT Mentions module
Dolibarr versionsDolibarr 19.0 minimum. Tested on 19.0.4, 20.0.4, 21, 22, 23.0.4 and 24.0.1.
Minimum PHP7.4
Dolibarr modules to enableInvoices
LicenceGPL v3 or later, full source code
LanguagesFrench, English, German, Dutch
MenuNo menu. On the invoice card, a “Printed VAT statement” line and the “VAT statement” attribute. Settings: SetupModules/ApplicationsEU VAT Mentions.
09

Installation

  1. Get the module from the DoliStore and download the zip file.
  2. In Dolibarr: HomeSetupModules/Applications“Deploy/install external app/module” tab, then upload the zip. Otherwise, unzip the dolixtva folder into htdocs/custom/.
  3. Enable “EU VAT Mentions” in the list of modules. The Invoices module must be enabled. The “VAT statement” attribute is added to invoices at that point.
  4. Check in SetupCompany/Organization the company's country and the “Sales tax used” option: the module relies on these two settings.
  5. In the module's setup page, choose where the statement goes. For a French company, decide on the correction of the exemption statement.

The details — permissions on the custom folder, shared hosting, upgrades, uninstalling — are on the page Installation and upgrades.

10

Frequently asked questions

Which Dolibarr versions does this module work on?

The descriptor requires Dolibarr 19.0 minimum and PHP 7.4 minimum. The module's test suite passed without errors on 19.0.4, 20.0.4, 21, 22, 23.0.4 and 24.0.1, with the printed text checked in each PDF. If you have any doubt about your version, write before buying.

How does the module choose the statement?

It checks whether your company is liable for VAT, then the invoice lines at 0%: goods or services. It then looks at the customer's country and VAT number. Customer in another EU country with a number: intra-Community supply or reverse charge. Customer outside the EU: export, or services outside the EU. Customer in the same country: nothing automatic. The “Printed VAT statement” line on the invoice card shows the result before you produce the PDF.

What about reverse charge in construction?

The module cannot guess it: a sale at 0% to a customer in the same country can have several causes. Choose “Domestic reverse charge (construction…)” in the invoice's “VAT statement” attribute. The same attribute lets you force any situation, or print no statement at all.

My company is French and under the small business VAT exemption. What does the module do?

For a French company, Dolibarr already prints its own exemption statement, and the module does not duplicate it. Since version 21, that text cites “article L. 223-3 du CIBS”, an article that is not in force: the move to the Code des impositions sur les biens et services has been postponed to 1 January 2027. An option in the module replaces it with “TVA non applicable, art. 293 B du CGI”, in French, English and German. Unticking the option, or disabling the module, restores the original text.

Does the module change my invoices in the database?

No. The statement is added to the public note in memory, just before the PDF is produced, then the original note is put back. The stored public note is never changed. Only the choice made in the “VAT statement” attribute is saved on the invoice.

What if I uninstall?

Statements are no longer added to new PDFs. The correction of the French statement, if you had turned it on, is removed. The “VAT statement” attribute and the settings remain in the database. PDFs already produced keep their statement.

Who handles support, and how do updates work?

Support is provided by the person who wrote the module, at support@dolix.fr. Ordering, payment, the invoice and the download are handled by the DoliStore, where new versions are published.

11

Version history

Taken from the module’s ChangeLog.md file: a single source.

1.0.09 October 2026

First version: mandatory VAT statement printed automatically on invoices and credit notes, for companies established in France, Belgium, Luxembourg, Germany and Austria, in the language of the document (French, German, English; Dutch for Belgium). Six situations, detected from the company's VAT status, the customer's country and VAT number, and the type of the lines at 0%, with a forced choice possible invoice by invoice. Preview of the statement on the invoice card. __DOLIXTVA_MENTION__ variable for the footer and ODT templates. Option to correct the exemption statement that Dolibarr 21 to 24 prints for French companies. Sourced texts, consulted on 9 October 2026.

12

Support for this module

Write to support@dolix.fr. The person who wrote the module is the one who replies.

Reply within two working days. This is not an on-call service.

To include in your message

  • The exact Dolibarr version.
  • The module concerned and its version — here dolixtva 1.0.0.
  • What you did, and what you expected.
  • The error message copied exactly, or a screenshot.
  • How Dolibarr is installed, if you know.

This module is on sale on the DoliStore.

Ordering, payment, invoicing and download are handled by the DoliStore.

Buy on the DoliStore — €79 excl. VAT
Also

The other modules