B2B Module with VIES Validation & EU VAT Exemption for PrestaShop
Turn your PrestaShop into a full-featured B2B platform: validated company registration, real-time VIES VAT check, private shop and intra-EU VAT exemption.
An order comes in from a Portuguese company and up pops the usual question: do I take the VAT off or not? Answering it correctly is easy once you know what it actually depends on. The problem is that almost everyone thinks it depends on the customer, and it does not.
You can invoice without VAT when three things are true at the same time:
The VAT does not vanish: the buyer declares it in their own country. And since 2020 all three conditions carry equal weight; if one fails, the exemption falls even if the other two are perfect. This is not minor paperwork, it is the condition itself.
None of them has anything to do with your shop: it is the rule, and it is not intuitive.
It does not depend on who the customer is, but on who they are and where the parcel goes. That «and» is what breaks nearly every home-made fix.
The most common fix is creating a 0 % customer group and dropping the European customers into it. It works until the first exception, and the first exception shows up immediately: that same customer asks you to send the order to their warehouse down the road, or changes the delivery address at the last step.
The group says who the customer is. But the exemption also depends on where the goods are going, so the decision has to be made on every order, not once on the customer record. That is what the module does: it looks at the actual order —the customer, their checked number and the delivery address— and decides whether that shipment carries VAT or not.
And it does it through the shop's normal machinery: it invents no prices and edits no amounts by hand, it just tells PrestaShop which tax applies. That way the accounts and the reports still add up, which is what your accountant will thank you for.
A VAT-free invoice that does not explain why it carries no VAT is incomplete. Both European numbers have to appear, yours and the customer's, plus a line stating that the buyer accounts for the VAT (the usual wording mentions the reverse charge or Article 138 of the European directive).
It is one line of text. And it is the first line anyone coming to review your books will look at.
It is always the same one: not charging VAT because the customer says they are a European company. Without checking the number, without storing that check and without being able to prove the goods left the country.
If that gets reviewed, the VAT you did not charge comes out of your pocket, with a surcharge on top, and there is nobody left to claim it from: that order shipped eighteen months ago. Which is why the whole approach runs the other way round: check first, always store it, and decide order by order.
With the pieces in place, day to day nobody has to remember anything. The customer signs up and their number is checked automatically; you approve the account; and from then on every order goes out with or without VAT depending on where it is headed, with nobody eyeballing it.
The difference shows up mostly in what stops happening: reissued invoices, emails saying «I was charged VAT and I should not have been», and that folder of odd cases you go through at the end of every quarter.
The exemption rule resolved on every order, the VAT check and the log of lookups are all part of the same B2B module. Install it, configure your countries, and there are no more judgement calls at invoicing time.
Turn your PrestaShop into a full-featured B2B platform: validated company registration, real-time VIES VAT check, private shop and intra-EU VAT exemption.
A customer in Lisbon and one in Madrid should not see the same price, and today they do. Here is how each visitor sees…
A PDF in the footer no longer complies. You need a button, a form and an acknowledgement with date and time. What the…
No images to solve, no third-party cookies and no extra line in your privacy policy. What a shop gains by changing…