Everything you'd want to know before you install.
A detailed look at how Intra-Community VAT VIES Validation & B2B Reverse Charge works, why we built it the way we did, and the thinking behind the features above.
Why this module
Selling B2B within the European Union comes with a precise obligation: only invoice tax-free (reverse charge) if the customer's VAT number is genuinely valid, and be able to prove it. In practice, many shops exempt without checking, or check without keeping any proof. During an audit, the authorities request the evidence of the VIES consultation at the time of sale — and its absence can lead to a reassessment of the uncollected VAT. This module automates the whole chain: verification, exemption, and above all evidence.
Real-time VIES verification
As soon as a customer enters their VAT number on the address or registration form, the module queries the European Commission's official VIES database. A badge appears immediately: valid number (with the business name returned by VIES), invalid, wrong format, or service temporarily unavailable. Communication goes over SOAP and falls back to the REST API when needed, with a controlled timeout so the checkout is never blocked.
Automatic, compliant reverse charge
When a business customer established in another Member State has a validated, recent VAT number in the journal, their order is invoiced at 0% VAT through PrestaShop's native reverse-charge mechanism. No tax rule to create manually, no risk of a wrong rate. The tax calculation path never makes a network call: it relies only on the evidence already recorded, to stay fast and reliable.
An evidence journal built for audits
Every VIES consultation is recorded in a dedicated journal: date and time, country, VAT number, result, business name and address, official consultation number, channel (address, registration, order, cron, manual) and IP address. The journal is strictly read-only — no deletion is possible from the interface — because an audit trail is only worth anything if it is tamper-evident. A snapshot is also stored at the precise moment each order is validated, tying every tax-free invoice to its proof. The journal is even kept if you uninstall the module.
The official consultation number
The single most important point during an audit. By entering your own VAT number in the configuration, the module queries VIES in checkVatApprox mode with a requester identifier: the European database then returns an official, timestamped consultation number, which formally proves that you verified the customer on that date. It is the strongest piece of evidence you can present to the tax authorities.
Legal mention and back office
When an invoice is genuinely issued at 0% VAT and valid proof exists, the reverse-charge legal mention is printed automatically on the PDF, in the customer's language and with the verification references. In the back office, a panel on the order page shows the VIES status, the business name and the consultation number, with direct access to the journal and its CSV export.
Robust and configurable
You decide what happens if VIES is momentarily unavailable: accept the order without exemption (default) or block it. Validity, cache and revalidation windows are configurable, a secured cron task refreshes the evidence for recurring customers, and real-time checks are protected by rate limiting. The module is built without Composer, in PSR-4, with dependency-free vanilla JavaScript.
There are no reviews yet.