1. À quoi sert le module
Quand vous vendez à une entreprise d’un autre pays de l’UE dont le numéro de TVA est actif, vous ne lui facturez pas la TVA : c’est le client qui l’autoliquide. Les particuliers, les entreprises sans numéro valide et les clients de votre propre pays paient la TVA comme d’habitude. PrestaShop ne sait pas faire la différence, car il ne vérifie jamais les numéros de TVA.
Le module vérifie le numéro de TVA de l’adresse du client dans VIES, le registre européen des numéros de TVA tenu par la Commission européenne, et transmet le résultat au calcul des taxes de PrestaShop. Une entreprise vérifiée d’un autre pays de l’UE voit les prix, la livraison et le total de la commande hors TVA ; tous les autres paient la TVA selon vos règles de taxes. Chaque réponse de VIES est enregistrée : un même numéro n’est interrogé qu’une fois par intervalle de vérification au plus. Les délais dépassés, les pannes de VIES et les limites de requêtes sont gérés et journalisés. Chaque commande garde le résultat, et sa facture peut porter une mention d’autoliquidation.
Compatible avec PrestaShop 1.7.8, 8.x et 9.x (PHP 7.2.5 ou plus récent), avec les thèmes Classic et Hummingbird et en multiboutique.
2. Installation
- Téléchargez le module depuis Mon compte → Historique des commandes sur addonspresta.com.
- Dans votre back-office, ouvrez Modules → Gestionnaire de modules et cliquez sur Installer un module.
- Déposez le fichier
ap_vies_v1.1.0.zipet attendez la confirmation. - Cliquez sur Configurer sur la carte du module et regardez le cadre État en haut de la page.
Dès l’installation, le module est actif et Votre pays est le pays par défaut de la boutique. Avant de vous y fier :
- le format d’adresse de chaque pays de l’UE où vous vendez doit contenir le champ Numéro de TVA (International →
Zones géographiques → Pays → Modifier → Format d’adresse, champ
vat_number). Le cadre État liste les pays de l’UE actifs où il manque ; - si le cadre État signale l’ancien réglage de PrestaShop
VATNUMBER_MANAGEMENT, cliquez sur Désactiver l’ancien réglage. Ce réglage vient de l’ancien module « vatnumber » et retire la TVA de tout numéro étranger sans le vérifier.
3. Fonctionnement
Quand VIES est interrogé. Le module vérifie un numéro quand un client enregistre une adresse dans la boutique
(compte ou commande), quand une adresse est enregistrée dans le back-office ou par un autre module, et quand le client
ouvre la page de commande alors que la réponse enregistrée pour l’adresse de taxation du panier dépasse l’intervalle de
vérification. Seuls les numéros des pays de l’UE sont vérifiés. Avant d’interroger VIES, le module retire les espaces,
points et tirets, accepte le numéro avec ou sans son préfixe pays (GR est accepté pour la Grèce, dont le code VIES
est EL) et contrôle le format utilisé dans ce pays : les fautes de frappe évidentes n’atteignent jamais VIES.
Quand la TVA est retirée. Toutes ces conditions doivent être réunies :
- le module est activé et les taxes sont activées dans la boutique ;
- l’adresse a un numéro de TVA et son pays est membre de l’UE, autre que Votre pays ;
- le numéro appartient au pays de l’adresse ;
- VIES a confirmé le numéro, et la confirmation est plus récente que l’intervalle de vérification ou, quand VIES n’a pas pu la confirmer à nouveau, que cet intervalle plus le délai de grâce. La marque d’un employé (Marquer comme valide / Marquer comme non valide) l’emporte sur VIES.
PrestaShop applique alors 0 % aux produits, à la livraison et à l’emballage cadeau de la commande. Dans tous les autres cas, vos règles de taxes s’appliquent sans changement. L’adresse prise en compte est celle que la boutique utilise pour les taxes : l’adresse de livraison, ou l’adresse de facturation si International → Taxes l’indique.
Rapidité. Le calcul des taxes lit seulement les réponses enregistrées dans la base de données et n’attend jamais VIES. Un client n’attend VIES qu’en enregistrant une adresse ou en ouvrant la page de commande avec une réponse périmée, au plus pendant le Délai d’attente.
Erreurs et limites. Quand VIES ou le système d’un État membre ne répond pas, le module garde la dernière réponse, journalise l’erreur et n’envoie aucune nouvelle requête pendant la Pause après une erreur de VIES (un VIES surchargé reçoit d’abord la même requête une seconde fois après une seconde) : vers ce pays après une erreur de son système ou une réponse arrivée trop tard, vers tout VIES après une erreur du service ou de la connexion. Au-delà des Requêtes par minute ou des Requêtes par heure, les vérifications attendent. Chaque vérification retenue est journalisée comme « Non envoyée ». Une panne de VIES ne bloque jamais un client.
Commandes et factures. Quand une commande est passée avec un numéro de TVA, le module garde la réponse de VIES (numéro, décision, numéro de consultation, entreprise, date). La page de la commande dans le back-office l’affiche dans le cadre TVA UE (VIES), et la facture et l’avoir d’une commande hors TVA portent votre mention.
Réseau et confidentialité. Le module se connecte uniquement au service VIES de la Commission européenne
(ec.europa.eu), et seulement pour vérifier un numéro. Il envoie le numéro de TVA et, si vous le saisissez, votre
propre numéro de TVA. Il ne se connecte pas à addonspresta.com, ne modifie pas les tables de PrestaShop et n’ajoute
aucun fichier à votre boutique.
4. Fonctionnalités et réglages
Ouvrez Modules → Gestionnaire de modules → Validation TVA UE (VIES) → Configurer. Le cadre Aide, en haut, renvoie vers ce manuel et vers la page du module sur addonspresta.com, dans la langue de votre back-office.
État
Affiche les problèmes qui empêchent le module de fonctionner comme prévu (taxes désactivées, ancien réglage
VATNUMBER_MANAGEMENT, pays de l’UE sans champ de numéro de TVA, votre pays hors UE), le nombre de requêtes envoyées
depuis une heure, les pauses en cours et le mode test.
Réglages de TVA
Ces réglages suivent la boutique choisie dans l’en-tête du back-office.
- Retirer la TVA pour les entreprises de l’UE vérifiées : désactivez pour facturer la TVA à tous et arrêter les vérifications dans la boutique.
- Votre pays : les clients de ce pays paient toujours la TVA, même avec un numéro valide.
- Votre numéro de TVA : facultatif. S’il est rempli, VIES renvoie à chaque vérification un numéro de consultation, une preuve à présenter à l’administration fiscale. Il figure dans le journal et sur la commande.
- Quand VIES indique que le numéro n’est pas valide : enregistrer l’adresse, facturer la TVA et avertir le client (par défaut), ou refuser l’adresse tant que le numéro n’est pas corrigé ou retiré. Il en va de même pour un numéro au mauvais format. Quand VIES ne répond pas, l’adresse est toujours enregistrée.
- Garder un numéro confirmé vérifié quand VIES ne répond pas : le délai de grâce en heures (de 0 à 720, 72 par défaut), compté après l’intervalle de vérification.
- Accepter un numéro correct quand VIES ne répond pas : désactivé par défaut. Activé, quand VIES ne donne pas de réponse sur un numéro (VIES ou le système du pays est en panne, surchargé ou trop lent), un numéro au bon format pour le pays de l’adresse est accepté : la TVA est retirée, le client est informé que le numéro sera vérifié à nouveau, et la page de la commande la signale « Accepté sans réponse de VIES (format correct) — vérifiez le numéro ». Un numéro que VIES a déclaré non valide, ou une vérification retenue par vos limites, n’est jamais accepté. Vérifiez ces commandes avant d’émettre la facture.
- Mention sur les factures et les avoirs : un texte par langue, 500 caractères au plus, imprimé dans la langue de la commande. Par défaut : « Autoliquidation : TVA due par le preneur. » Adaptez-la à votre situation et aux conseils de votre comptable, par exemple avec l’article de la directive TVA (196 pour les services, 138 pour une livraison intracommunautaire de biens). Laissez-la vide pour n’afficher aucune mention.
Connexion à VIES (toutes les boutiques)
Ces réglages sont communs à toutes les boutiques de l’installation, car VIES voit un seul serveur. Seul un employé qui gère toutes les boutiques peut les modifier.
- Vérifier un numéro à nouveau après : de 5 à 43 200 minutes, 60 par défaut. Jusque-là, la réponse enregistrée est utilisée.
- Délai d’attente : de 1 à 30 secondes, 10 par défaut (certains pays, comme la France, répondent en 4 secondes environ).
- Requêtes par minute et Requêtes par heure : 30 et 500 par défaut.
- Requêtes par visiteur et par heure : 10 par défaut, pour les vérifications déclenchées par un même visiteur de la boutique (un client connecté, ou un invité par adresse IP ; tous les visiteurs d’une même adresse IP peuvent ensemble en envoyer cinq fois plus), afin que personne ne puisse épuiser les limites de votre boutique avec des numéros inventés. Le back-office n’est pas concerné. Le module ne garde qu’une empreinte codée de l’adresse IP, jamais l’adresse elle-même.
- Pause après une erreur de VIES : de 0 à 1 440 minutes, 5 par défaut ; 0 désactive les pauses.
- Conserver le journal pendant : de 1 à 365 jours, 30 par défaut.
- Mode test : utilise le service de test de VIES au lieu du vrai : le numéro
100est valide,200ne l’est pas,300à601renvoient des erreurs de VIES (par exemple301« système du pays indisponible »,500« VIES surchargé »). En mode test, les vrais numéros restent sans réponse. Désactivez-le et supprimez les numéros de test de la liste avant de vendre.
Vérifier un numéro de TVA
Choisissez un pays de l’UE, saisissez un numéro et cliquez sur Vérifier. VIES est interrogé tout de suite, même si le numéro a été vérifié récemment ; les limites et les pauses s’appliquent toujours. Pratique pour tester la connexion ou répondre à un client.
Numéros de TVA
Tous les numéros vérifiés jusqu’ici, avec leur état, le nom et l’adresse de l’entreprise selon VIES, la dernière vérification, la dernière confirmation, la dernière erreur et le nombre d’erreurs d’affilée. Recherchez par numéro ou par entreprise et filtrez par état. Chaque ligne propose :
- Vérifier maintenant : interroge VIES à nouveau ;
- Marquer comme valide / Marquer comme non valide : votre décision l’emporte sur VIES jusqu’à ce que vous cliquiez sur Retirer la marque, par exemple quand le système d’un pays est en panne depuis plusieurs jours et que vous avez vérifié l’entreprise autrement ;
- Supprimer : le module oublie le numéro et le vérifiera à nouveau la prochaine fois qu’un client l’utilisera.
Un numéro vaut pour toutes les boutiques : les marques et Supprimer sont donc réservés à un employé qui gère toutes les boutiques.
Journal
Chaque requête envoyée à VIES, chaque vérification retenue par les limites ou les pauses et chaque marque, avec la date, la boutique, la source (formulaire d’adresse, adresse enregistrée, commande, back-office), le résultat avec son code VIES, la durée en millisecondes et les détails. Cochez Erreurs uniquement pour voir les problèmes. Vider le journal supprime les entrées des boutiques choisies dans l’en-tête ; les entrées plus anciennes que le nombre de jours réglé sont supprimées automatiquement.
5. Multiboutique
Les réglages de TVA suivent la boutique ou le groupe choisi dans l’en-tête du back-office : chaque boutique peut avoir son pays, son numéro de TVA, sa mention sur la facture et son comportement face à un numéro non valide. Les réglages de connexion à VIES, la liste des numéros de TVA et les limites sont communs à toutes les boutiques : un numéro est valide ou non quelle que soit la boutique. Le journal affiche les boutiques choisies dans l’en-tête, avec une colonne Boutique. Un employé qui ne gère pas toutes les boutiques modifie les réglages de TVA seulement avec une de ses boutiques choisie et ne peut pas modifier les réglages de connexion. Une licence couvre toutes les boutiques de l’installation.
6. Désinstallation
Gestionnaire de modules → Validation TVA UE (VIES) → Désinstaller supprime les réglages, la liste des numéros de TVA, le journal et les résultats VIES gardés avec les commandes ; PrestaShop facture alors de nouveau la TVA selon vos règles de taxes. Les factures déjà générées ne changent pas. Utilisez Désactiver pour garder les données.
7. Questions fréquentes et dépannage
Un client avec un numéro de TVA valide paie toujours la TVA. Vérifiez dans l’ordre : le pays du client n’est pas Votre pays ; le numéro figure dans l’adresse utilisée pour les taxes (livraison ou facturation, voir International → Taxes) ; le numéro est Valide dans la liste (sinon, cliquez sur Vérifier maintenant) ; le cadre État ne signale aucun problème. Les prix hors TVA apparaissent une fois l’adresse choisie dans le panier, c’est-à-dire pendant la commande.
Le client ne peut pas saisir de numéro de TVA.
Le champ du numéro de TVA manque dans le format d’adresse de son pays. Ajoutez vat_number dans International →
Zones géographiques → Pays → Modifier → Format d’adresse.
Les numéros allemands renvoient une erreur la nuit. Le système allemand est souvent indisponible dans VIES pendant plusieurs heures la nuit (« Système du pays indisponible »). Les numéros confirmés auparavant gardent les prix hors TVA pendant le délai de grâce. Les nouveaux numéros paient la TVA jusqu’à la réponse de VIES — ou, avec Accepter un numéro correct quand VIES ne répond pas, obtiennent tout de suite les prix hors TVA et sont vérifiés à nouveau plus tard.
Le journal indique « Système du pays indisponible ». Le système de TVA de cet État membre est en panne, ce qui arrive régulièrement pendant les maintenances. Les clients déjà confirmés gardent leurs prix hors TVA pendant le délai de grâce ; les nouveaux numéros sont vérifiés à nouveau après la pause. Si le système reste en panne plusieurs jours, vérifiez l’entreprise autrement et utilisez Marquer comme valide.
Le journal indique « VIES surchargé » ou « Votre serveur est bloqué par VIES ». VIES limite le nombre de requêtes. Baissez les Requêtes par minute et les Requêtes par heure et allongez Vérifier un numéro à nouveau après. Un blocage prend généralement fin au bout d’un moment.
Un client peut-il saisir le numéro de TVA d’une autre entreprise ? VIES confirme qu’un numéro est actif, pas qui l’a saisi. La commande garde le nom et l’adresse de l’entreprise renvoyés par VIES, affichés dans le cadre TVA UE (VIES) de la commande : comparez-les avec l’adresse du client avant d’expédier une grosse commande.
Le module modifie-t-il mes règles de taxes ou mes prix ? Non. Il indique seulement à PrestaShop d’appliquer 0 % pour une entreprise vérifiée d’un autre pays de l’UE. Vos règles de taxes, vos prix et vos groupes de clients restent inchangés.
Des clients disent que leur numéro « n’a pas pu être vérifié » alors que VIES fonctionne. Cherchez « Non envoyée : limite par visiteur atteinte » dans le journal. Les clients connectés sont comptés par leur compte, les invités par leur adresse IP, et tous les visiteurs d’une même adresse ensemble jusqu’à cinq fois la limite. Si votre boutique est derrière un CDN ou un serveur intermédiaire qui masque les adresses des visiteurs, tous les invités partagent la même adresse : faites transmettre la vraie adresse au serveur (par exemple le réglage « real IP » pour Cloudflare chez votre hébergeur) ou augmentez les Requêtes par visiteur et par heure.
Que doit dire la mention sur la facture ? Demandez à votre comptable. Pour les services, on indique en général « Autoliquidation » (article 196 de la directive 2006/112/CE), pour des biens expédiés vers un autre pays de l’UE « Exonération de TVA, article 262 ter I du CGI » en France ou « Livraison intracommunautaire exonérée » (article 138 de la directive).
8. Mises à jour et assistance
Les mises à jour sont gratuites à vie : téléchargez les nouvelles versions depuis Mon compte → Historique des commandes sur addonspresta.com et installez-les comme un nouveau module. Vos réglages, numéros de TVA, journal et données des commandes sont conservés.
L’assistance est incluse pendant 12 mois à compter de la commande : écrivez à mail@addonspresta.com ou utilisez le formulaire de contact d’addonspresta.com (du lundi au vendredi, 10 h – 16 h, heure de Paris ; réponse habituelle sous 2 jours ouvrés). Indiquez votre version de PrestaShop, la version du module et les étapes qui mènent au problème.