L'export Stripe contient un champ transaction_id. Le CSV de Xero contient un champ Reference. Ces deux champs peuvent désigner le même paiement — mais Excel ne le sait pas tant que vous n'avez pas construit la correspondance vous-même.

C'est là que le rapprochement commence à se dérégler.

Un comptable freelance travaille rarement avec le même schéma Stripe-Xero pour chaque client. L'un exporte les transactions de solde Stripe. Un autre fournit les transactions de compte Xero. Un troisième vous remet un relevé bancaire, un rapport de virement Stripe et un export de journal manuel Xero avec des plages de dates différentes. La difficulté ne vient pas de Stripe ni de Xero — elle vient du fait que la structure des fichiers change d'un client à l'autre.

La solution n'est pas d'imposer à chaque client un classeur maître. C'est de mettre en place une méthode basée sur les fichiers, capable de s'adapter à des en-têtes, des champs de date, des signes de montant et des colonnes de référence différents.

Ce que montrent réellement les deux fichiers

Stripe et Xero n'exportent pas la même vue de la transaction.

Stripe affiche généralement l'activité de paiement. Selon le type d'export, le fichier peut contenir des encaissements, des remboursements, des frais, des litiges, des mouvements de solde, des identifiants de virement et des montants nets. Xero affiche les écritures comptables. Le CSV de Xero peut contenir des transactions bancaires, des règlements de factures, des lignes de journal, des codes de compte, des noms de contacts, des références et le statut de rapprochement.

Autrement dit, les deux fichiers décrivent le même mouvement de trésorerie sous deux angles différents.

Champ StripeChamp Xero pouvant servir à la correspondanceCe qui peut poser problème
transaction_idReferenceXero peut stocker l'ID Stripe dans un champ texte plus long
payout_idDescription ou référence de relevé bancaireL'identifiant de virement peut ne pas être enregistré dans Xero
createdDateL'horodatage Stripe peut être en UTC tandis que Xero utilise la date de comptabilisation locale
available_onDate ou date bancaireLa date de disponibilité du virement peut différer de la date comptable
grossAmountXero peut enregistrer le montant net reçu plutôt que le montant brut de la vente
feeLigne de charge de fraisLes frais peuvent être absents ou enregistrés en lot mensuel
netMontant de réception bancaireLe net peut correspondre à la banque alors que le brut ne correspond pas aux ventes

Si vous comparez les mauvaises colonnes, des enregistrements parfaitement valides paraissent introuvables.

Prenons un exemple. Un encaissement Stripe peut contenir :

Champ StripeValeur
transaction_idch_3P9K2L
created2026-05-30 23:42:11 UTC
gross400.00
fee-12.20
net387.80
payout_idpo_1AB982

L'export Xero peut afficher :

Champ XeroValeur
Date2026-05-31
Referencech_3P9K2L
DescriptionStripe payment - Customer A
Amount400.00
AccountSales

Ces deux lignes correspondent par identifiant de transaction et par montant brut — mais pas par date, ni par montant net. Si vous rapprochez sur la date et le montant, ce paiement échoue. Si vous rapprochez sur la référence et le montant brut, il passe.

Ce choix, c'est le rapprochement.

Déterminer le type d'export Stripe à rapprocher

N'ouvrez pas les deux fichiers en cherchant un total commun. Commencez par identifier ce que représente le fichier Stripe.

Un export de transactions Stripe, un rapport de rapprochement de virements, un export de transactions de solde et un export de frais ne répondent pas aux mêmes questions.

Type d'export StripeUtilisation principaleCe à quoi le rapprocher
Export de paiements ou d'encaissementsProuver l'activité de ventesRèglements de factures ou écritures de ventes Xero
Export de transactions de soldeExpliquer les mouvements bruts, frais et netsVentes, frais, remboursements et ajustements Xero
Rapport de rapprochement de virementsProuver ce qui est arrivé en banqueCSV du compte bancaire Xero ou relevé bancaire
Rapport de fraisVérifier les frais de traitementCompte de charges de frais Xero
Export de remboursements ou litigesTrouver les réductions manquantes dans les livresÉcritures de remboursement, avoir ou ajustement Xero

Cette étape évite la fausse divergence la plus courante : vouloir faire correspondre les encaissements bruts Stripe avec les réceptions bancaires Xero.

Ces deux montants ne sont pas censés être égaux.

Les encaissements bruts Stripe sont calculés avant les frais, les remboursements, les litiges et le calendrier des virements. Les réceptions bancaires Xero ne montrent que les liquidités effectivement reçues. Si le client enregistre l'activité Stripe nette, la ligne bancaire Xero sera inférieure au montant brut Stripe. Ce n'est pas forcément une erreur — cela signifie qu'il faut expliquer le passage du brut au net.

Pour une méthode plus approfondie au niveau du virement, appliquez la même logique que pour le rapprochement d'un CSV de virement Stripe avec un relevé bancaire : partez du dépôt bancaire, identifiez le virement, puis détaillez les transactions qu'il contient.

Définir la clé de correspondance avant de lancer les formules

La clé de correspondance est le champ qui prouve que deux lignes représentent le même événement.

Pour Stripe et Xero, la meilleure clé est généralement l'identifiant de transaction Stripe si Xero l'a enregistré. Celui-ci peut apparaître dans Xero sous la forme Reference, Invoice Number, Description, Payment Reference, ou d'une note saisie manuellement.

Si Xero ne contient pas l'identifiant de transaction Stripe, utilisez une clé composite. Une clé composite combine des champs qui, pris isolément, sont fragiles, mais qui ensemble sont fiables.

Voici quelques combinaisons utiles :

Clé compositeQuand elle fonctionne
Montant + client/contact + créneau de datesCorrespondance des paiements clients individuels
ID de virement + montant netCorrespondance des dépôts de virement
Numéro de facture + montant brutCorrespondance des paiements Stripe avec les règlements de factures Xero
Référence de commande + montantCorrespondance des paiements e-commerce comptabilisés dans Xero
Créneau de dates + montant + fragment de descriptionCorrespondance des lignes de flux bancaire sans identifiant de transaction

Le créneau de dates est important car les dates Stripe et Xero diffèrent souvent. Un paiement capturé tard le soir en UTC peut apparaître le lendemain dans Xero. Un virement peut regrouper des paiements sur plusieurs jours. Un dépôt bancaire peut s'enregistrer après que Stripe a marqué le virement comme disponible.

N'utilisez donc pas une correspondance sur la date exacte, sauf si vous avez confirmé que les deux fichiers utilisent la même base de dates.

Pour ce type de traitement, créez quatre champs auxiliaires avant toute comparaison :

Champ auxiliaireObjectif
Référence normaliséeSupprime les espaces, les différences de casse et le texte de description supplémentaire autour de l'ID
Créneau de datesAutorise une tolérance de un à trois jours en cas de décalage de calendrier
Montant signéRend comparables les signes débit et crédit
Base de montantIndique si le montant est brut, correspond à des frais, au net, à un remboursement ou à un ajustement

Pour le champ Référence normalisée, la formule de base est :

Formule
=SUPPRESPACE(SUBSTITUE(MAJUSCULE(A2),CAR(160)," "))

La colonne A contient le champ de référence : l'identifiant de transaction Stripe, l'identifiant de virement ou le numéro de facture. SUPPRESPACE supprime les espaces courants ; CAR(160) couvre l'espace insécable que Xero exporte parfois. Si l'ID Stripe apparaît dans une description plus longue comme « Payment ch_3P9K2L for client », extrayez-le avec STXT avant la normalisation. Pour le champ Montant signé, utilisez ABS(CNUM(B2)) : CNUM convertit les montants au format texte, ABS supprime la différence de signe.

C'est là que RECHERCHEV combiné à SUPPRESPACE échoue souvent. SUPPRESPACE gère les espaces superflus. Elle ne résout pas le vrai problème : les deux fichiers ne stockent pas forcément le même événement dans la même colonne, à la même date, ni selon la même base de montant.

Séparer brut, frais, remboursements et net avant de comparer les totaux

Un rapprochement Stripe-Xero ne se construit pas autour d'un total unique et d'une seule formule. Il faut une structure intermédiaire.

Organisez-le selon ces couches :

Couche de rapprochementSource StripeSource XeroRésultat attendu
Ventes brutesEncaissements ou paiementsVentes ou règlements de facturesDoivent correspondre après prise en compte des décalages de calendrier
FraisColonne de frais Stripe ou export de fraisCompte de charges de frais marchandDoivent correspondre ou être listés comme manquants
RemboursementsLignes de remboursementRemboursements, avoirs ou ajustementsDoivent correspondre par référence ou par montant
LitigesLignes de litigeÉcritures de débit ou d'ajustementDoivent être enregistrés séparément
Virement netRapport de virementCompte bancaire Xero ou CSV bancaireDoit correspondre aux liquidités déposées

Supposons que Stripe affiche :

Catégorie StripeMontant
Encaissements bruts8,000.00
Frais-248.00
Remboursements-300.00
Virement net7,452.00

Xero affiche :

Catégorie XeroMontant
Recettes de ventes8,000.00
Frais Stripe comptabilisés-248.00
Remboursements comptabilisés0.00
Réception bancaire7,452.00

La réception bancaire est correcte. Les ventes sont correctes. Les frais sont corrects. L'entrée manquante, c'est l'écriture de remboursement.

Si vous partez du constat « Stripe ne correspond pas à Xero », vous n'avez aucune réponse. Si vous séparez les couches, la réponse est précise : un remboursement existe dans Stripe et n'a pas été comptabilisé dans Xero.

C'est la conclusion qu'un client peut exploiter.

Traiter le CSV de Xero avant qu'il ne fausse la correspondance

Les exports Xero varient selon le rapport, la plage de dates, le compte et les colonnes sélectionnés. Cela compte, car une formule construite pour un export peut silencieusement pointer vers la mauvaise colonne dans l'export suivant.

Avant de lancer la correspondance, vérifiez ces points :

VérificationPourquoi c'est important
En-têtes de colonnesReference, Description et Invoice Number peuvent porter des valeurs de correspondance différentes
Format de dateXero peut exporter des dates locales tandis que Stripe utilise des champs horodatés en UTC
Signes de montantLes réceptions et les paiements peuvent être exportés en positif ou en négatif selon le rapport
Filtre de compteUn export de compte bancaire ne contient pas toutes les écritures de frais ou de remboursements
Statut de rapprochementLes lignes non rapprochées dans Xero peuvent être des paiements valides en attente de correspondance bancaire
Modifications manuellesLes références saisies par le client peuvent être incohérentes d'un mois à l'autre

Si le fichier Xero est un export de compte bancaire, rapprochez-le avec les virements Stripe ou l'activité nette côté banque. Si c'est un export de règlements de factures, rapprochez-le avec les encaissements ou les enregistrements de paiement Stripe. Si c'est un export de grand livre, séparez d'abord les codes de compte pour que ventes, frais, remboursements et réceptions bancaires ne soient pas dans la même comparaison.

Le type de fichier détermine la logique de correspondance.

C'est aussi pour ça qu'un traitement qui fonctionnait pour le client du mois dernier peut échouer ce mois-ci. L'export vient toujours de Xero, mais ce n'est plus le même rapport. Si les en-têtes ou les comptes inclus ont changé, l'ancienne formule de recherche n'est plus fiable.

Pour plus de détails sur ce problème d'export spécifique, consultez la différence entre les exports de relevé bancaire Xero et les CSV bancaires bruts.

Mettre en place une méthode reproductible pour chaque client

Pour un comptable freelance, la vraie question n'est pas « Puis-je rapprocher ce fichier Stripe avec ce CSV Xero ? »

La vraie question est de savoir si la méthode tiendra avec le prochain client.

Suivez la même séquence à chaque fois, même quand les colonnes changent :

  1. Identifier le type d'export Stripe.
  2. Identifier le type d'export Xero.
  3. Choisir la base de montant : brut, frais, remboursement, litige ou net.
  4. Choisir la clé de correspondance la plus fiable disponible.
  5. Normaliser les références et les signes de montant.
  6. Appliquer un créneau de dates là où les décalages de virement ou de fuseau horaire s'appliquent.
  7. Faire correspondre d'abord les références exactes.
  8. Faire correspondre ensuite les clés composites.
  9. Distinguer les décalages de calendrier attendus des enregistrements réellement manquants.
  10. Produire une liste d'exceptions en indiquant la raison de chaque ligne rejetée.

La liste d'exceptions est la partie qui compte le plus.

Elle ne doit pas dire :

Mauvais résultatPourquoi ça ne fonctionne pas
Non correspondantNe donne aucune raison
ÉcartNe précise pas si c'est le montant, la date ou la référence qui ne correspond pas
Vérifier manuellementRenvoie le travail au comptable

Elle doit dire :

Meilleur résultatCe qu'il indique
Remboursement Stripe manquant dans XeroComptabiliser ou vérifier le remboursement
Réception Xero sans identifiant de transaction StripeVérifier si le paiement a été effectué en dehors de Stripe
Même référence, montant différentVérifier le traitement des frais ou le paiement partiel
Même montant, date hors toléranceVérifier le calendrier du virement ou la date de comptabilisation
Virement Stripe correspond à la banque, mais frais manquantsComptabiliser les frais marchands séparément

C'est la différence entre une feuille de calcul qui colorie des cellules et un rapport de rapprochement qui clôt la question.

Ce que doit montrer un rapport de rapprochement complet

Le rapport final doit prouver trois choses.

Premièrement, la trésorerie est expliquée. Le virement Stripe ou l'activité nette doit correspondre au compte bancaire Xero ou à l'écriture côté banque.

Deuxièmement, les revenus sont expliqués. Les encaissements bruts Stripe doivent correspondre aux ventes ou aux règlements de factures Xero, compte tenu des décalages de calendrier.

Troisièmement, les écarts sont classés. Frais, remboursements, litiges, décalages de date, écritures manquantes dans Xero et références manquantes dans Stripe ne doivent pas se retrouver dans un même lot inexpliqué.

Un rapport utile ressemble à ceci :

SectionContenu
RésuméTotal Stripe, total Xero, écart expliqué, écart inexpliqué
Lignes correspondantesEnregistrements concordant par référence, montant et créneau de dates acceptable
Décalages de dateMême transaction, décalage de calendrier acceptable
Écarts de montantMême transaction, montant non concordant
Absent de XeroEnregistrements Stripe introuvables dans le CSV de Xero
Absent de StripeEnregistrements Xero introuvables dans l'export Stripe
Pont frais/remboursements/litigesRéductions attendues du brut au net
Liste d'actions clientÉcritures à comptabiliser, corriger ou confirmer

Si le rapport ne peut pas expliquer pourquoi un écart existe, le rapprochement n'est pas terminé. Le client n'a pas besoin d'une feuille de calcul colorée. Il a besoin de savoir si les livres sont erronés, si le calendrier de Stripe diffère, ou si un enregistrement manque.

Là où le traitement échoue généralement

La plupart des rapprochements Stripe-Xero ratés tombent sur l'un de ces cinq points.

On compare le mauvais total Stripe avec le mauvais total Xero. Les encaissements bruts sont comparés aux réceptions bancaires, ou les virements aux ventes. Les montants diffèrent parce qu'ils représentent des étapes différentes du flux de paiement.

La clé de correspondance est enfouie dans un champ de description. Xero peut inclure l'ID Stripe, mais pas dans une colonne de référence propre. Si la formule ne regarde que Reference, des correspondances valides échouent.

Les dates sont traitées comme exactes alors qu'il s'agit de champs de calendrier. L'heure de transaction Stripe, la date de disponibilité Stripe, la date de virement, la date bancaire et la date de comptabilisation Xero ne sont pas interchangeables.

Les frais sont comptabilisés en net plutôt que séparément. Le montant bancaire peut correspondre, tandis que les comptes de ventes et de frais restent erronés.

La méthode dépend de la structure d'un seul client. Copier la formule du mois dernier dans un nouveau classeur client présuppose les mêmes en-têtes, les mêmes signes et les mêmes références. Cette hypothèse est souvent fausse.

La solution n'est pas une meilleure formule de recherche. C'est une méthode qui nomme le type de fichier, nomme la base de montant, et produit un rapport d'exceptions classé.

Rapprocher les données Stripe avec les exports CSV de Xero, c'est d'abord cesser de traiter les deux fichiers comme deux versions d'un même tableau. Ils ne le sont pas. Stripe enregistre les mouvements de paiement. Xero enregistre les écritures comptables. Le rapprochement tient quand vous définissez le pont entre les deux, que vous correspondez sur la bonne clé, et que vous expliquez chaque écart dans un rapport que le client peut exploiter.