quote → cash
FR/EN Contact

Pattern·Intermédiaire··Mis à jour le 05/10/2026

Pattern · Taxe

Taxation pilotée par le profil de facturation

Faire suivre le taux de taxe au profil de facturation plutôt qu’à l’adresse de commande — et savoir pourquoi c’est la bonne lecture du modèle, pas un contournement.

Salesforce docs documenté par SalesforceTerrain constaté sur une vraie orgRecommandé ce que nous recommandonsÀ vérifier non vérifié

Le problème

Un vendeur présent dans plusieurs pays doit faire porter la bonne TVA à chaque facture. Le modèle évident — prendre l’adresse de la transaction — donne des résultats incohérents, parce qu’un même client peut être livré dans un pays et facturé dans un autre.

Le contexte

Une seule entité juridique, des clients dans et hors UE, et une table de taux existante à reprendre. L’exigence : que la finance puisse expliquer n’importe quel taux sur n’importe quelle facture à partir de la seule fiche client.

L’architecture recommandée

Résoudre la taxe depuis le profil de facturation, pas depuis la transaction. Le profil de facturation est l’enregistrement qui répond à « qui est facturé, où, sous quelle identité fiscale » — exactement la question que pose la TVA.

Le taux se résout ensuite au niveau TaxRate sur code × pays, et le traitement porte le code. Avec une seule entité juridique, TaxPolicy.TreatmentSelection = LegalEntity n’a rien pour discriminer : la discrimination doit donc vivre dans les taux.

Mise en œuvre

  1. Donner à chaque compte un profil de facturation avec un pays. Sans BillToContactId, sans payment term sur la commande et sans adresse de livraison, le profil ne produit rien.
  2. Charger les taux avec le bon type d’usage, une ligne par code × pays × période. Les lignes à taux zéro valent la peine d’être chargées explicitement — une ligne absente et une ligne à zéro se ressemblent sur la facture et ne veulent pas dire la même chose.
  3. Attacher la tax policy au produit, pas à la ligne. Un reprice redérive le traitement depuis le produit : tout ce qui n’est posé que sur la ligne est perdu.
  4. Le prouver dans les deux sens avec deux commandes aux adresses différentes et au même profil. Elles doivent rendre le même taux.

Ce que ça coûte

Le coût : un client qui a besoin de deux comportements fiscaux a besoin de deux profils de facturation. En échange, le taux devient explicable depuis un seul enregistrement, et un changement de pays de facturation devient une modification de données plutôt qu’une reconfiguration.

L’alternative — lire l’adresse de la transaction — n’est juste que quand la facture suit toujours la livraison, ce qui est plus rare qu’on ne le croit.

Attention

  • Vérifié en production dans les deux sens : deux commandes avec des adresses différentes et le même profil de facturation rendent le même taux. L’adresse de commande ne commande pas la TVA.
  • Le moteur lit les adresses sur la ligne, jamais sur l’en-tête.
  • Sur une org, la requête fiscale arrivait avec toutes les adresses nulles, ce qui a obligé l’adaptateur à résoudre lui-même le pays depuis le compte de la transaction. Regardez ce que le moteur reçoit réellement avant de concevoir autour.

Composants Salesforce

Ressources Salesforce