PS PrestaShop Intermédiaire

Validation TVA Intracommunautaire VIES & Autoliquidation B2B

Installer et configurer la vérification VIES, l'autoliquidation automatique et le journal de preuves audit-proof.

Mis à jour Version du module 1.0.0

Ce module vérifie les numéros de TVA intracommunautaire auprès de la base VIES de la Commission européenne, applique automatiquement l’autoliquidation (facture à 0 % de TVA) pour vos clients professionnels d’un autre pays de l’UE, et conserve un journal de preuves horodaté — la pièce que l’administration fiscale réclame en cas de contrôle.

La donnée la plus importante à configurer est votre propre numéro de TVA : sans lui, VIES ne délivre pas de numéro de consultation officiel, qui est la preuve la plus solide en cas de contrôle.

Prérequis

  • PrestaShop 8.0 à 9.x, en contexte simple ou multiboutique.
  • PHP 7.4 à 8.3. L’extension SOAP est recommandée ; à défaut, le module bascule automatiquement sur l’API REST de VIES.
  • Un accès sortant HTTPS vers ec.europa.eu depuis votre serveur.

Installation

  1. Depuis le back-office, allez dans Modules > Module Manager > Téléverser un module.
  2. Sélectionnez le fichier ZIP du module et lancez l’installation.
  3. Cliquez sur Configurer une fois l’installation terminée.

L’installation crée la table du journal des consultations et un onglet Journal VIES sous le menu Commandes.

Configuration

Votre numéro de TVA marchand

Renseignez le numéro de TVA de votre entreprise dans le champ prévu. Dès qu’il est présent, chaque vérification interroge VIES avec un identifiant demandeur : la base retourne alors un numéro de consultation officiel horodaté, opposable à l’administration. C’est le réglage le plus important de la page.

Pays d’établissement

Indiquez le pays depuis lequel vous facturez. L’autoliquidation ne s’applique qu’aux clients établis dans un autre pays de l’UE : une commande vers votre propre pays reste taxée normalement.

Activer l’exonération (autoliquidation)

Active ou désactive le passage automatique à 0 % de TVA. Désactivée, la vérification et le journal continuent de fonctionner, mais la taxe n’est jamais modifiée — utile pour une phase d’observation.

Vérification en temps réel

Active le badge de validation instantané sur le formulaire d’adresse et, si vous l’activez, sur le champ d’inscription. Le contrôle est déclenché à la saisie, avec un court délai anti-rebond.

Comportement si VIES est indisponible

Deux options :

  • Accepter (par défaut) : la commande passe sans appliquer l’exonération. C’est l’option la plus prudente commercialement — vous ne perdez pas la vente.
  • Bloquer : la validation échoue tant que VIES n’a pas confirmé le numéro.

Dans les deux cas, l’indisponibilité est journalisée et peut être revérifiée plus tard par le cron.

Fenêtres de validité, cache et revalidation

  • Validité : durée pendant laquelle une preuve valide en journal autorise l’exonération sans nouvel appel.
  • Cache : durée pendant laquelle une vérification récente est réutilisée plutôt que de rappeler VIES.
  • Revalidation : âge au-delà duquel le cron re-vérifie un numéro.

Groupe client B2B (optionnel)

Si vous choisissez un groupe, tout client dont le numéro de TVA est validé y est automatiquement ajouté — pratique pour appliquer des tarifs ou des règles B2B.

Texte de la mention légale sur facture

La mention d’autoliquidation imprimée sur les factures à 0 % est personnalisable dans les cinq langues. Vous pouvez utiliser les variables %vat% (numéro de TVA du client), %date% (date de vérification), %consultation% (numéro de consultation) et %name% (nom du professionnel).

La vérification côté client

Lorsqu’un client saisit son numéro de TVA au checkout ou à l’inscription, un badge s’affiche : valide (avec le nom du professionnel retourné par VIES), invalide, format incorrect, ou VIES indisponible. Si le numéro est valide et que le client est établi dans un autre pays de l’UE, sa commande est facturée hors taxe.

Le journal de preuves

Chaque consultation est enregistrée dans Commandes > Journal VIES : date et heure, pays, numéro de TVA, résultat, nom du professionnel, numéro de consultation officiel, canal (adresse, inscription, commande, cron, manuel) et adresse IP.

Le journal est en lecture seule : aucune suppression n’est possible, et la table est conservée même après désinstallation du module. Une piste d’audit n’a de valeur que si elle est inaltérable.

Au moment de la validation d’une commande, un instantané de preuve est enregistré et rattaché au numéro de commande, ce qui relie chaque facture hors taxe à sa preuve. Le panneau VIES sur la fiche commande affiche ce statut en un coup d’œil.

Export CSV

Depuis l’écran du journal, le bouton d’export génère un fichier CSV de toutes les consultations, à remettre tel quel à votre expert-comptable ou à l’administration.

Revalidation automatique (cron)

La page de configuration affiche une URL de cron sécurisée par un jeton. Appelez-la une fois par jour pour re-vérifier les numéros de TVA dont la dernière consultation devient ancienne. Chaque passage traite jusqu’à 25 numéros.

Exemple d’entrée crontab :

0 4 * * * curl -s "https://votre-boutique/index.php?fc=module&module=dfviesb2b&controller=cron&token=VOTRE_JETON" > /dev/null

La mention légale sur la facture

La mention d’autoliquidation s’imprime automatiquement sur la facture PDF, dans la langue du client, uniquement lorsque la facture est réellement établie à 0 % de TVA et qu’une preuve valide existe en journal. Aucune mention n’est ajoutée sur une facture taxée normalement.

Dépannage

Aucun numéro de consultation n’apparaît

Vérifiez que votre numéro de TVA marchand est bien renseigné : sans lui, VIES répond mais ne délivre pas de numéro de consultation officiel.

Le badge reste sur « VIES indisponible »

Le service VIES connaît des interruptions régulières côté Commission européenne. Vérifiez aussi que votre serveur peut joindre ec.europa.eu en HTTPS. Le cron rattrapera les numéros non vérifiés.

L’exonération ne s’applique pas

Assurez-vous que le client est établi dans un autre pays de l’UE que le vôtre, que son numéro est valide et récent en journal, et que l’exonération est activée dans la configuration.

Ce module automatise la vérification, l’exonération et la constitution des preuves. Il ne remplace pas votre expert-comptable : vous restez responsable de vos obligations fiscales.

Cette page vous a-t-elle été utile ?

Toujours bloqué ? Contactez le support