Collecter les adresses des clients
Stripe Tax doit accéder à la localisation de votre client pour calculer automatiquement la taxe. Cette exigence s’applique même si vous ne disposez pas encore d’une immatriculation permettant de collecter les taxes. Ce guide vous aide à décider quelles informations d’adresse collecter auprès de votre client et comment gérer les différences régionales.
Formats d’adresse pris en charge
Chaque adresse de facturation et de livraison possède des champs line1
, line2
, city
, state
, postal_code
et country
, pour ligne 1, ligne 2, ville, état, code postal et pays. Les tableaux ci-dessous décrivent les formats d’adresse pris en charge lors du calcul de la taxe.
Utilisez l’un des formats d’adresse ci-dessus pour nous permettre de reconnaître systématiquement les adresses de vos clients. Le champ du pays doit toujours être un code pays ISO valide.
L’adresse de vos clients client que nous utilisons
Stripe Tax utilise une seule adresse comme localisation de votre client pour calculer la taxe. Nous choisissons la même adresse, que vous vendiez un produit numérique, un service ou un bien expédié.
Nous utilisons le premier élément valide de la liste ci-dessous pour déterminer la localisation de votre client :
- Nous utilisons l’adresse de livraison de votre client si elle n’est pas vide. L’utilisation d’une adresse qui n’est pas assez précise pour calculer la taxe génère un état
requires_location_inputs
. - Nous utilisons l’adresse de facturation de votre client si elle n’est pas vide. L’utilisation d’une adresse qui n’est pas assez précise pour calculer la taxe génère un état
requires_location_inputs
. - Si la transaction est associée à un moyen de paiement documenté par des informations de facturation complètes, nous utilisons cette adresse de facturation.
- Si les informations de facturation associées au moyen de paiement sont incomplètes ou manquantes, nous déduisons l’adresse de facturation à partir des informations fournies, combinées aux données du moyen de paiement lui-même (par exemple, en utilisant le code pays de l’émetteur de la carte pour déterminer le pays si le client ne l’indique pas).
- Nous pouvons aussi géolocaliser l’adresse IP du client et définir cet emplacement comme l’emplacement de votre client. Nous enregistrons le résultat de cette géolocalisation et le réutilisons lors de futures transactions relative au même client.
Le moyen de paiement associé à la transaction est le premier qui est défini dans cette liste :
- Le moyen de paiement par défaut de la facture.
- Le moyen de paiement par défaut de l’abonnement
- Le moyen de paiement par défaut du client
Gestion des localisations non reconnues
Si la localisation du client n’est pas reconnue pour une facture avec le paramètre automatic_tax[enabled]=true
, la finalisation échoue et aucune tentative de paiement n’est effectuée. Lorsque la finalisation a lieu au cours d’une requête API, par exemple lors de la création d’un abonnement ou de l’envoi d’une facture, Stripe renvoie une erreur customer_tax_location_invalid
. En revanche, lorsqu’elle se produit de manière asynchrone (par exemple, à l’occasion du renouvellement d’un abonnement), Stripe envoie un webhook invoice.finalization_failed
et la facture reste à l’état de brouillon.
Finalisation des factures avec des échecs de finalisation
La façon dont vous devez traiter les erreurs customer_tax_location_invalid
dépend du fait que vous collectiez ou non une localisation reconnue du client. Si tel est le cas, laissez Stripe Tax activé. Sinon, désactivez Stripe Tax pour les factures et les abonnements concernés.
Pour collecter une localisation client reconnue :
- Mettez à jour l’adresse du client. Fournissez suffisamment d’informations sur la localisation de votre client. Par exemple, un code pays et un code d’État ne suffisent pas pour calculer la taxe applicable aux États-Unis.
- Vérifiez que la localisation du client est reconnue en vous assurant que la valeur de
customer.tax.automatic_tax
est définie sursupported
ounot_collecting
. - Finalisez la facture concernée.
Pour poursuivre sans localisation client reconnue :
- Mettez à jour la facture concernée sur
automatic_tax[enabled]=false
. - Mettez à jour l’abonnement concerné sur
automatic_tax[enabled]=false
. - Finalisez la facture concernée.
Détection des échecs de la finalisation asynchrone des factures
Lorsqu’une facture ne peut pas être finalisée en raison d’une localisation non reconnue, Stripe envoie un webhook invoice.finalization_failed
avec automatic_tax[status] = 'requires_location_inputs'
. Lorsque vous utilisez des abonnements, nous vous recommandons d’écouter les événements liés aux abonnements et aux factures, car la plupart des activités s’opèrent de manière asynchrone.
Prévention des échecs de finalisation des factures
Pour prévenir les échecs de finalisation des factures en raison d’une localisation non reconnue :
- Avant de modifier un abonnement existant en le basculant de
automatic_tax[enabled]=false
surautomatic_tax[enabled]=true
, vérifiez que la localisation du client est reconnue. Dans le cas contraire, mettez-la à jour et vérifiez-la avant d’activer Stripe Tax pour l’abonnement. - Après avoir mis à jour un client dont l’abonnement est configuré sur
automatic_tax[enabled]=true
, vérifiez que la valeur decustomer.tax.automatic_tax
est définie sursupported
ounot_collecting
.
Note
Nous vous recommandons de recueillir l’adresse complète de vos clients pour obtenir le résultat le plus précis possible pour la taxe calculée et pour minimiser le nombre d’échecs dans sa collecte.
Considérations régionales particulières
La complexité des taxes varie largement selon les régions. La plupart des pays ont un seul ensemble de règles fiscales pour l’ensemble du pays. Aux États-Unis, les règles et les taux de la taxe de vente varient selon les États, certains États comptant des centaines de districts qui fixent leurs propres taux. Au Canada, le type de taxe et le taux d’imposition varient selon la province.
États-Unis (US)
Codes postaux
Stripe Tax prend en charge le calcul de la taxe de vente avec seulement un code postal américain simple à cinq chiffres. Le champ du pays doit contenir le code pays ISO « US ». Nous utilisons le centre géographique de la zone couverte par le code postal (ce qui correspond à l’emplacement moyen des adresses situées dans cette zone) comme localisation de votre client. Le taux de taxe à ce point peut différer du taux de taxe à l’adresse complète de votre client. Le fait qu’un code postal seul soit suffisant pour identifier le taux de taxe correct à appliquer dépend de l’État considéré.
Nous vous déconseillons de vous fier uniquement à un code postal dans les États suivants : Arizona, Colorado, Oklahoma, Alabama, Missouri, Texas, Illinois, Washington, Kansas, Nouveau-Mexique, Louisiane, Arkansas, Californie, Alaska, Dakota du Sud, Dakota du Nord, Utah, Nebraska et Virginie occidentale.
Note
Nous vous recommandons de recueillir une adresse complète dans les États où vous êtes autorisés à percevoir des taxes de vente locales.
Adresses IP
N’utilisez pas l’adresse IP seule pour déterminer le montant des taxes à percevoir, car le lieu associé à l’adresse IP peut être assez éloigné du lieu où votre client l’utilise réellement. Utilisez plutôt l’endpoint de la prochaine facture pour lui communiquer une estimation de la taxe qu’il devra payer avant de recueillir une adresse de facturation ou de livraison.
Europe et Union européenne (UE)
Territoires exclus
En Europe, ce sont les administrations fiscales de chaque pays qui imposent la taxe, et non les autorités au niveau infranational. Le taux de taxe du pays ne s’applique pas dans un petit nombre de régions, même si elles sont physiquement situées dans un pays qui impose la taxe. Par exemple, le code postal italien « 00120 » identifie la Cité du Vatican, où la TVA italienne ne s’applique pas.
Collectez le code postal ou l’État de votre client pour permettre à Stripe Tax de déterminer si votre client est situé dans un territoire exclu.
Voir la liste des territoires exclus pris en charge par Stripe Tax.
Canada
Pour permettre à Stripe Tax de déterminer le taux de taxe applicable et de collecter les montants de taxe dus au Canada, vous devez recueillir la province ou le code postal du client.