vendredi 25 septembre 2026

À propos

Contact

E-commerce

Autoliquidation de la TVA en B2B intracommunautaire avec WooCommerce

Comment vérifier un numéro de TVA intracommunautaire et exonérer une commande B2B sur WooCommerce, avec la mention légale d'autoliquidation qui doit apparaître sur la facture.

Par Clément Hadrot • 4 novembre 2021 • 5 min de lecture • Aucun commentaire
Autoliquidation de la TVA en B2B intracommunautaire avec WooCommerce

Une entreprise de mobilier de bureau qui vend aussi bien à des particuliers qu’à des entreprises allemandes et belges nous a demandé comment éviter que ses clients professionnels ne paient la TVA française à chaque commande, alors qu’ils gèrent eux-mêmes cette TVA sur leur propre déclaration. C’est exactement le mécanisme de l’autoliquidation en B2B intracommunautaire, et WooCommerce peut parfaitement le gérer une fois que la logique de vérification est en place.

Le principe fiscal est simple sur le papier : une vente de biens entre deux entreprises assujetties à la TVA, situées dans deux pays différents de l’Union européenne, est exonérée de TVA chez le vendeur ; c’est l’acheteur qui autoliquide la taxe dans sa propre déclaration. En pratique, la difficulté est de s’assurer que l’acheteur remplit réellement ces conditions avant d’appliquer l’exonération.

Les conditions à vérifier avant toute exonération

Trois conditions doivent être réunies simultanément pour qu’une vente B2B intracommunautaire soit exonérée de TVA chez le vendeur :

  • L’acheteur est un professionnel identifié à la TVA dans son pays, ce qui se vérifie par son numéro de TVA intracommunautaire ;
  • Le pays de l’acheteur est différent du pays du vendeur, tous deux membres de l’Union européenne ;
  • Le bien est effectivement transporté ou expédié hors du pays du vendeur, ce qui est généralement acquis pour une vente en ligne avec livraison à l’adresse professionnelle indiquée.

Sans ces trois éléments réunis, appliquer une exonération est une erreur qui expose l’entreprise vendeuse à un redressement fiscal, la TVA restant alors due rétroactivement.

Vérifier le numéro de TVA via VIES

Le système VIES (VAT Information Exchange System) de la Commission européenne permet de vérifier en ligne la validité d’un numéro de TVA intracommunautaire. Pour une boutique WooCommerce, cette vérification peut être automatisée via l’API SOAP officielle exposée par VIES, appelée au moment où le client renseigne son numéro sur la page de commande :

function verifier_numero_tva_vies( $pays, $numero ) {
    $client = new SoapClient( 'https://ec.europa.eu/taxation_customs/vies/checkVatService.wsdl' );

    try {
        $reponse = $client->checkVat( [
            'countryCode' => $pays,
            'vatNumber'   => $numero,
        ] );
        return (bool) $reponse->valid;
    } catch ( SoapFault $e ) {
        // Le service VIES est parfois indisponible : prévoir une vérification manuelle en secours
        return null;
    }
}

Une réponse null (service indisponible) ne doit jamais être interprétée comme une validation implicite : en cas d’échec de l’appel, la commande devrait être mise en attente pour vérification manuelle plutôt que de basculer automatiquement en exonération.

L'essentiel à retenir : L'exonération n'est valable qu'entre deux entreprises identifiées à la TVA dans deux pays différents de l'Union ; Le numéro de TVA doit être vérifié via le système VIES avant toute exonération ; La facture doit mentionner explicitement l'autoliquidation, sans quoi l'exonération est irrégulière

Appliquer l’exonération dans WooCommerce

Techniquement, l’exonération se traduit par le basculement de la commande vers une classe de taxe à 0 %, dès lors que le numéro de TVA est validé et que le pays de facturation diffère du pays du vendeur. Un champ personnalisé sur la page de commande recueille le numéro, et un filtre ajuste la classe de taxe appliquée à la commande :

add_filter( 'woocommerce_product_get_tax_class', function ( $tax_class, $product ) {
    if ( WC()->customer && WC()->session->get( 'numero_tva_valide' ) ) {
        $pays_client = WC()->customer->get_billing_country();
        if ( $pays_client !== 'FR' ) {
            return 'zero-rate';
        }
    }
    return $tax_class;
}, 10, 2 );

Il est essentiel que cette bascule reste conditionnée à la validation réelle du numéro et non à sa simple présence dans le champ : un client qui saisit un numéro invalide ou appartenant à une autre entreprise ne doit jamais bénéficier de l’exonération.

La mention obligatoire sur la facture

Une vente exonérée pour cause d’autoliquidation doit obligatoirement porter la mention « Autoliquidation » sur la facture, conformément à l’article 262 ter du Code général des impôts et à la directive européenne 2006/112/CE. L’absence de cette mention rend l’exonération irrégulière du point de vue formel, même si les conditions de fond étaient réunies. Si les factures sont générées via une extension de facturation WooCommerce, il faut vérifier que son modèle de facture inclut bien cette mention conditionnelle :

<?php if ( $commande->get_meta( '_exoneration_tva_intracommunautaire' ) === 'oui' ) : ?>
    <p>Autoliquidation - Article 283-2 du CGI - TVA due par le preneur</p>
<?php endif; ?>

Documenter chaque exonération

En cas de contrôle fiscal, l’entreprise vendeuse doit pouvoir justifier chaque exonération accordée. Il est donc recommandé de conserver, en méta de commande, la trace de la vérification effectuée : numéro de TVA saisi, résultat retourné par VIES, date de la vérification. Cette traçabilité, peu coûteuse à mettre en place au moment du développement, devient précieuse des années plus tard si l’administration fiscale demande des justificatifs.

Notre conseil systématique aux clients B2B : ne jamais faire confiance à une case à cocher « Je suis un professionnel » sans vérification VIES effective. C’est la première chose qu’un contrôleur fiscal demandera de justifier.

En résumé

L’autoliquidation de la TVA en B2B intracommunautaire est un mécanisme fiscal légitime et courant, mais son application dans WooCommerce doit reposer sur une vérification réelle du numéro de TVA via VIES, une bascule conditionnelle de la classe de taxe, et une mention explicite sur la facture. Ce sont ces trois maillons, plus que la complexité technique elle-même, qui déterminent si l’exonération tiendra face à un contrôle.

Partager :

À propos de l'auteur

Clément Hadrot

Développeur WordPress, passionné par Elementor, le FSE et l’automatisation par IA.

Voir tous ses articles

Dans la même veine

À lire aussi