Se rendre au contenu
Tutos Odoo › Ventes › TVA et positions fiscales
Tuto interactif · Paramétrer · 5 min

TVA sur les ventes dans Odoo : belge, intracommunautaire, cocontractant

Pour appliquer la bonne TVA à un client dans Odoo : ouvrez Facturation › Configuration › Positions fiscales. Le plan belge fournit Intracommunautaire, posée seule pour un client européen avec n° de TVA (21% devient 0%), et Cocontractant, à choisir à la main dans Position fiscale sur la fiche client. Faites valider ce choix par votre comptable.

Par Loïc Vina Ranchel, Kameos · Mis à jour le · Odoo 20.0, 19.0 et 18.0

Écrans d’Odoo 20.0. Changez de version pour voir les différences.Simulateur et texte avec les libellés d’Odoo 19.0.Simulateur et texte avec les libellés d’Odoo 18.0.
En brefPositions fiscales›Intracommunautaire›Taxes›Client›Position fiscale›Cocontractant
En brefPositions fiscales›Intracommunautaire›Taxes›Client›Mettre à jour les taxes›Cocontractant
En brefPositions fiscales›Correspondance de taxes›Client›Mettre à jour les taxes›Cocontractant

Le pas à pas

Les étapes en détail

  1. Contrôler la TVA par défaut

    Ouvrez l'application Facturation, menu Configuration › Paramètres, bloc Taxes. Sous Taxes par défaut, Taxe de vente donne la TVA que reçoit un nouveau produit : avec le plan comptable belge, 21%. Taxe d'achat vaut 21% M. Ne changez pas ce réglage pour un client étranger : c'est le rôle des positions fiscales. Le menu Paramètres est réservé à l'administrateur.

  2. Ouvrir les positions fiscales

    Menu Configuration › Positions fiscales (sous le titre Comptabilité). Le plan comptable belge en crée six : National, Intracommunautaire, UE B2C, Extracommunautaire, Cocontractant et Non déductible. Trois d'entre elles s'appliquent seules, car Détecter automatiquement est coché : National, Intracommunautaire, UE B2C et Extracommunautaire. Cocontractant et Non déductible ne se posent qu'à la main.

    Odoo 18Le plan belge de la V18 crée cinq positions : Belgique B2B, EU B2C, Intracommunautaire, Importation/Exportation et Cocontractant. Cocontractant n'y est pas appliquée automatiquement non plus.
  3. Lire ce que fait Intracommunautaire

    Ouvrez la fiche. Détecter automatiquement est coché, Numéro d'identification fiscale requis aussi, et le Groupe de pays est TVA Union européenne. Le bouton Taxes liste les taxes concernées : 0% EU M (biens) remplace 21%, 12%, 6% et 0% ; 0% EU S (services) remplace 21% S et ses équivalents. L'onglet Correspondance de comptes fait passer les ventes de Ventes de marchandises en Belgique vers Ventes livraisons intracommunautaires.

    Odoo 19Même fiche, mais la case s'appelle TVA requise et les mentions légales ne forment pas un onglet : le champ Mentions légales... se trouve sous la fiche.
    Odoo 18Pas de bouton Taxes : la correspondance se lit dans l'onglet Correspondance de taxes, avec deux colonnes Taxe sur le produit et Taxe à appliquer. La case s'appelle TVA requise et le groupe de pays est Union européenne.
  4. Choisir le client du devis

    Dans le devis, choisissez un client dont la fiche a le pays Pays-Bas et un numéro de TVA néerlandais. Odoo cherche une position automatique qui correspond au pays, au groupe de pays et au numéro de TVA. Il trouve Intracommunautaire. Sans numéro de TVA, cette position ne convient pas : Odoo prend alors une autre position automatique, UE B2C dans le plan belge.

    Odoo 19Même principe.
    Odoo 18Même principe. Les positions automatiques se classent par le pays, le groupe de pays et le numéro de TVA de la fiche.
  5. Vérifier la position et le total

    Ouvrez l'onglet Autres informations, groupe Facturation : Position fiscale affiche Intracommunautaire. Sur les lignes, la taxe 21% est devenue 0% EU M et le total passe de 1 560,90 € à 1 290,00 € pour la table. Pour un service dont la taxe est 21% S, Odoo prend 0% EU S.

    Odoo 19Les lignes déjà saisies gardent 21% quand le client change. À côté de Position fiscale, cliquez sur Mettre à jour les taxes et confirmez par Ok : les lignes sont recalculées. Le lien disparaît quand le devis est confirmé.
    Odoo 18Comme en V19 : cliquez sur Mettre à jour les taxes à côté de Position fiscale, puis sur Ok. Le lien disparaît quand le devis est confirmé.
  6. Poser Cocontractant sur une fiche client

    Menu Commandes › Clients, ouvrez la fiche, onglet Ventes & Achats, groupe Information fiscale : choisissez Cocontractant dans Position fiscale. Détecter automatiquement est décoché sur cette position : Odoo ne la pose jamais seul. Elle remplace les taxes de vente par 0% Cocont (vente cocontractant, par exemple travaux immobiliers B2B) et ajoute sur la facture une mention d'autoliquidation.

  7. Faire valider par le comptable

    Une position fiscale décide si la TVA est facturée ou non. Odoo applique la règle que vous lui donnez, il ne juge pas si la vente la mérite. Faites valider les cas intracommunautaire, cocontractant et export par votre comptable, avant la première facture.

Ce qui change selon la version

Odoo 20Odoo 19Odoo 18
Correspondance de taxesbouton Taxesbouton Taxesonglet
Case « requis »Numéro fiscal requisTVA requiseTVA requise
Client changé sur un devislignes recalculéesbouton à cliquerbouton à cliquer
Mentions légalesongletsous la fichesous la fiche
Position belge de baseNationalNationalBelgique B2B
Position hors UEExtracommunautaireExtracommunautaireImportation/Exportation
Groupe de paysTVA Union européenneTVA Union européenneUnion européenne

Votre façon de vendre ne rentre pas dans un tuto ?

Acomptes, tarifs par client, signature en ligne, lien avec le stock et la compta : chez Kameos, on paramètre Odoo pour la manière dont vous travaillez déjà.

Parlons de votre cas →