Stripe exporte payment_intent, charge_id, identifiants de virement, commissions et mouvements nets. FreshBooks exporte numéros de factures, noms de clients, dates de règlement, totaux et statuts. Ces deux fichiers peuvent décrire le même règlement client sans partager aucune colonne utilisable pour un rapprochement direct.
C'est là que le rapprochement bloque pour les consultants qui examinent le mois d'un client. Le client dit que FreshBooks affiche la facture comme payée. Stripe confirme que le paiement existe. Le relevé bancaire montre un virement net arrivé deux jours plus tard, pour un montant inférieur. Aucune de ces trois affirmations ne prouve que la facture a bien été rapprochée.
La réponse au niveau des fichiers, c'est de construire le lien vous-même : identifier l'enregistrement Stripe qui correspond au paiement, identifier la ligne FreshBooks qui correspond à la facture ou au règlement, décider si vous rapprochez le montant brut de la facture ou le virement net reçu en banque, puis produire une liste d'écarts qui documente chaque ligne non rapprochée.
Identifier le bon fichier Stripe
Les exports Stripe peuvent se ressembler à l'écran tout en répondant à des questions différentes. Un export de paiements, un export de transactions de solde, un rapport de virements et un export de commissions ne se rapprochent pas de FreshBooks de la même façon.
| Fichier ou vue Stripe | Ce qu'il contient | Fichier FreshBooks qu'il peut appuyer |
|---|---|---|
| Export paiements ou charges | Paiements clients individuels avant règlement du virement | Règlements de factures ou lignes de factures payées |
| Export transactions de solde | Montant brut, commission, net, remboursements et ajustements | Règlements de factures et vérification des commissions ou ajustements |
| Rapport de rapprochement de virements | Le lot arrivé en banque | Rapprochement bancaire ou de trésorerie, pas rapprochement de factures seul |
| Export commissions | Lignes de frais de traitement | Comptabilisation des dépenses ou explication brut-net |
| Export remboursements | Activité de paiement négative | Avoirs, remboursements ou corrections de factures |
Le mauvais export produit la mauvaise réponse. Comparer un total de virement Stripe aux totaux de factures FreshBooks donnera un résultat en dessous : les commissions, les remboursements et les délais de règlement s'intercalent entre la valeur de la facture et la trésorerie. Comparer un export de paiements Stripe au relevé bancaire donnera un résultat trop élevé : la banque reçoit le virement net, pas les lignes de paiement brut des clients.
Pour le rapprochement des factures FreshBooks, commencez par les enregistrements de paiements Stripe. N'introduisez les données de virements et de commissions qu'une fois le rapprochement au niveau facture établi.
Cette distinction compte quand l'infrastructure du client est hétérogène. Un client peut avoir une connexion Stripe fonctionnelle. Un autre exporte FreshBooks manuellement parce que l'intégration a cessé de synchroniser les références de paiement. Le consultant a quand même besoin d'une couche de vérification qui fonctionne à partir des fichiers bruts.
Lire l'export FreshBooks comme un fichier de facturation, pas de trésorerie
Les exports de factures FreshBooks sont construits autour des dossiers de facturation. Selon le rapport, le CSV peut afficher la date d'émission, la date d'échéance, la date de règlement, le nom du client, le numéro de facture, le statut, le total, le solde et les détails de paiement. Ces champs sont utiles, mais ils ne font pas du fichier un journal de trésorerie.
Commencez par séparer les lignes de facturation des lignes de règlement.
| Champ FreshBooks | Comment l'utiliser dans le rapprochement |
|---|---|
| Numéro de facture | Référence FreshBooks la plus fiable quand les métadonnées Stripe la contiennent |
| Nom du client | Vérification secondaire quand aucun numéro de facture commun n'existe |
| Date de facturation | Contexte de facturation uniquement ; pas la date de correspondance de trésorerie |
| Date de règlement | Date utile pour rapprocher le timing du paiement Stripe |
| Total de la facture | Montant brut attendu du client |
| Montant réglé | Montant à comparer avec la valeur du paiement Stripe |
| Solde restant dû | Indique si la différence est un paiement partiel |
| Statut | Exclut les factures brouillon, impayées et annulées du rapprochement de trésorerie |
| Devise | Obligatoire avant toute comparaison de montants |
Ne comparez pas toutes les factures de l'export à Stripe. Filtrez sur les factures payées, partiellement payées ou concernées par la période examinée. Les factures impayées appartiennent aux créances clients. Elles n'ont pas leur place dans le rapprochement des paiements Stripe, sauf si la question est de savoir si FreshBooks a manqué un paiement.
Si l'export FreshBooks est également comparé aux mouvements bancaires, le processus adjacent est le rapprochement des exports de factures FreshBooks avec les relevés bancaires mensuels. Pour le rapprochement Stripe-FreshBooks, restez un niveau plus haut : règlement de facture contre paiement Stripe.
Construire la clé de correspondance à partir des données les plus fiables
La meilleure clé de correspondance est un numéro de facture stocké dans les métadonnées Stripe. C'est le cas quand le paiement a été créé depuis le flux de facturation ou quand le client a transmis le numéro de facture à Stripe dans la description, le statement descriptor ou un champ de métadonnées.
Quand elle existe, utilisez-la en premier.
| Champ Stripe | Champ FreshBooks | Fiabilité de la correspondance |
|---|---|---|
metadata.invoice_number | Numéro de facture | Forte |
description contenant le numéro de facture | Numéro de facture | Forte si le texte est cohérent |
| E-mail du client | E-mail ou contact client | Utile, insuffisant seul |
| Nom du client | Nom du client | Utile, faible avec des clients récurrents |
| Montant | Montant réglé | Utile, faible quand les montants se répètent |
| Date de création | Date de règlement | Utile dans une fenêtre de dates |
| ID de paiement ou de charge | Référence de paiement | Forte uniquement si FreshBooks la stocke |
Si le numéro de facture est absent de Stripe, construisez une clé composite. Une clé composite combine des champs peu fiables seuls mais qui deviennent fiables ensemble.
Utilisez cet ordre de priorité :
- Numéro de facture ou référence de paiement, si présents.
- E-mail client + montant + fenêtre de dates.
- Nom du client + montant + fenêtre de dates.
- Montant + fenêtre de dates + fragment de description.
- Correspondance sur le montant seul, uniquement comme liste de candidats provisoire.
La correspondance sur le montant seul n'est pas un rapprochement terminé. Deux clients peuvent régler 1,500.00 dans la même semaine. Un même client peut payer deux factures du même montant. Une facture de conseil récurrente peut se répéter chaque mois. Le montant réduit le champ de recherche ; il ne prouve pas la correspondance.
La fenêtre de dates demande aussi de la rigueur. L'horodatage created de Stripe correspond au moment où l'événement de paiement s'est produit. La date de règlement dans FreshBooks peut être celle à laquelle la facture a été marquée payée. La date de virement en banque est postérieure. Traiter les trois comme la même date crée de faux écarts.
Pour le rapprochement des règlements de factures, accordez une petite fenêtre entre la date de création du paiement Stripe et la date de règlement FreshBooks. Pour le rapprochement virement-banque, utilisez la date du virement et la date de valeur bancaire. Ce sont deux tests différents.
Normaliser les champs avant tout rapprochement
La première passe doit rendre les deux fichiers comparables sans modifier les enregistrements sources.
Créez une copie de travail ou des colonnes d'aide pour :
| Champ d'aide | Ce qu'il corrige |
|---|---|
| Numéro de facture normalisé | Supprime les espaces, différences de casse, préfixes et ponctuation |
| Nom du client normalisé | Réduit les différences d'orthographe et de casse |
| E-mail client | Donne un identifiant plus stable que le nom du client |
| Montant signé | Aligne les signes débit/crédit entre Stripe et FreshBooks |
| Base du montant | Distingue paiement brut, commission, remboursement, paiement partiel ou virement net |
| Fenêtre de dates | Évite les faux écarts causés par des décalages d'un ou deux jours |
| Devise | Bloque les correspondances accidentelles entre devises |
Pour Numéro de facture normalisé, supprimez le préfixe afin que « INV-1048 » dans FreshBooks et « Invoice 1048 » dans une description Stripe se réduisent au même identifiant :
=SUPPRESPACE(SUBSTITUE(MAJUSCULE(A2),"INV-",""))La colonne A contient le numéro de facture ou le champ description Stripe. Pour Montant signé, convertissez le texte et supprimez le signe :
=ABS(VALEUR(B2))La colonne B contient le champ montant. VALEUR convertit les montants en texte ; ABS normalise le signe quand Stripe affiche des charges positives et FreshBooks peut afficher des crédits négatifs.
C'est là que la recherche classique dans un tableur échoue. Elle suppose que la clé de correspondance existe déjà. Dans ce processus, ce n'est généralement pas le cas. Le travail n'est pas « trouver la colonne commune ». C'est « accumuler assez d'indices pour prouver que deux lignes représentent le même règlement ».
Par exemple :
| Champ Stripe | Valeur |
|---|---|
| charge_id | ch_3R81K2 |
| created | 2026-05-08 22:41:19 UTC |
| customer_email | ops@exampleclient.com |
| description | Payment for Invoice 1048 |
| amount | 2500.00 |
| fee | -76.50 |
| net | 2423.50 |
FreshBooks peut afficher :
| Champ FreshBooks | Valeur |
|---|---|
| invoice number | INV-1048 |
| client | Example Client LLC |
| paid date | 2026-05-09 |
| invoice total | 2500.00 |
| paid amount | 2500.00 |
| status | Paid |
Ces lignes correspondent par numéro de facture et montant brut. Elles ne correspondent pas par date exacte, ni par montant net. Comparer le montant net Stripe au montant réglé FreshBooks crée un faux écart de 76.50. Cet écart, c'est la commission Stripe — pas un règlement de facture manquant.
Distinguer le rapprochement des factures du rapprochement des virements
Stripe ajoute une deuxième couche après le règlement de la facture : le virement. Le paiement peut parfaitement correspondre à la facture FreshBooks tandis que la trésorerie qui arrive en banque est inférieure ou décalée dans le temps.
Maintenez les couches séparées :
| Couche | Source Stripe | Source FreshBooks | Résultat attendu |
|---|---|---|---|
| Règlement de facture | Export paiements ou charges | Factures payées ou enregistrements de règlement | Le montant brut doit correspondre |
| Explication des commissions | Export transactions de solde ou commissions | Vérification de la comptabilisation des dépenses | La commission doit expliquer l'écart brut-net |
| Remboursement ou avoir | Export remboursements ou transaction de solde | Avoir, remboursement ou facture corrigée | L'activité négative doit être classifiée |
| Trésorerie du virement | Rapport de virements | Relevé bancaire ou compte de trésorerie | Le virement net doit correspondre à la banque |
Si un client a réglé une facture de 2,500.00 par carte, FreshBooks peut afficher une facture payée pour 2,500.00. Stripe peut afficher :
| Catégorie Stripe | Montant |
|---|---|
| Paiement brut | 2,500.00 |
| Commission Stripe | -76.50 |
| Net virement | 2,423.50 |
La facture FreshBooks n'est pas incorrecte. Le virement reçu en banque est net de commissions. C'est une question de rapprochement de virement ou bancaire. Le rapprochement de la facture, lui, est déjà résolu.
C'est la même séparation que dans le rapprochement d'un CSV de virement Stripe avec un relevé bancaire : commencez par confirmer le paiement ou le virement comparé, puis expliquez les transactions à l'intérieur du mouvement de trésorerie.
Traiter les écarts dans le bon ordre
Une fois les correspondances directes retirées, les lignes restantes doivent être étiquetées. Ne les laissez pas en « non rapproché ». Cela ne dit rien au client et ne vous donne aucune piste d'audit pour le mois suivant.
Utilisez cette séquence d'écarts :
Numéro de facture présent dans FreshBooks mais absent de Stripe.
Vérifiez si la facture a été réglée hors Stripe, marquée manuellement comme payée, réglée par virement bancaire, ou transférée depuis un autre processeur. Si le moyen de paiement n'était pas Stripe, retirez-la du rapprochement Stripe et classifiez-la séparément.
Paiement Stripe existant sans facture FreshBooks correspondante.
Vérifiez si le numéro de facture était absent des métadonnées, si le nom du client a changé, si le paiement correspondait à un acompte, ou si la facture a été créée après le paiement. Si aucun enregistrement FreshBooks n'existe, c'est un vrai écart comptable.
Même client et même montant, date hors fenêtre.
Vérifiez le décalage UTC, les modifications manuelles de date de règlement et les coupures de fin de mois. Un décalage d'un jour est généralement du timing. Un écart de deux semaines demande une explication.
Même facture, montant différent.
Cherchez un paiement partiel, un trop-perçu, une remise, un traitement fiscal, une conversion de devise ou une commission mal déduite. Ne forcez pas l'égalité entre le total de la facture et le montant réglé quand FreshBooks affiche encore un solde restant dû.
Remboursement présent dans Stripe mais FreshBooks affiche toujours la facture comme payée.
Vérifiez si un avoir ou un remboursement a été enregistré. Si ce n'est pas le cas, le rapprochement de la facture est incomplet : le paiement a été annulé ou réduit par la suite.
Candidats doublons persistants après rapprochement.
Utilisez d'abord le numéro de facture, puis l'e-mail, puis la description, puis la séquence de dates. Si deux lignes restent indistinctes, laissez-les ouvertes comme candidats doublons plutôt que d'en choisir une par intuition.
Le résultat doit informer le prochain réviseur de ce qui s'est passé :
| Statut | Signification | Action |
|---|---|---|
| Rapproché | Le paiement Stripe et la facture FreshBooks concordent en référence et en montant brut | Aucune action |
| Décalage de date | Même règlement, date différente dans la fenêtre attendue | Noter le décalage |
| Explication de commission | Le brut de la facture concorde, le net Stripe est inférieur en raison de la commission | Comptabiliser ou vérifier le traitement de la commission |
| Paiement partiel | Le paiement Stripe ne couvre qu'une partie de la facture | Laisser le solde ouvert |
| FreshBooks uniquement | Facture payée sans paiement Stripe correspondant | Vérifier l'autre moyen de paiement ou la saisie manuelle |
| Stripe uniquement | Paiement Stripe sans facture | Retrouver la facture manquante ou classer le règlement |
| Remboursement manquant | Remboursement Stripe sans avoir ou remboursement dans FreshBooks | Enregistrer ou vérifier le remboursement |
Un consultant n'a pas besoin d'un beau classeur à ce stade. Il lui faut une réponse défendable : quelles factures ont été rapprochées, quels paiements Stripe n'ont pas de facture, quelles factures payées FreshBooks n'ont pas transité par Stripe, et quels écarts relèvent du timing, des commissions, des remboursements ou des paiements partiels.
Exemple concret
Supposons que l'export de paiements Stripe affiche :
| Paiement Stripe | Description | Créé le | Brut | Commission | Net | |
|---|---|---|---|---|---|---|
ch_1001 | ops@northco.test | Invoice 1048 | 2026-05-08 | 2,500.00 | -76.50 | 2,423.50 |
ch_1002 | ap@northco.test | Invoice 1051 | 2026-05-10 | 1,200.00 | -37.20 | 1,162.80 |
ch_1003 | finance@eastco.test | Deposit | 2026-05-12 | 800.00 | -25.10 | 774.90 |
re_2001 | ops@northco.test | Refund INV-1048 | 2026-05-20 | -500.00 | 0.00 | -500.00 |
FreshBooks affiche :
| Facture | Client | Date de règlement | Montant réglé | Solde | Statut |
|---|---|---|---|---|---|
INV-1048 | North Co | 2026-05-09 | 2,500.00 | 0.00 | Paid |
INV-1051 | North Co | 2026-05-10 | 1,200.00 | 0.00 | Paid |
INV-1059 | East Co | 2026-05-12 | 1,600.00 | 800.00 | Partly paid |
Les correspondances sont :
| Facture FreshBooks | Enregistrement Stripe | Résultat | Motif |
|---|---|---|---|
INV-1048 | ch_1001 | Rapproché | Numéro de facture, client et montant brut concordent |
INV-1051 | ch_1002 | Rapproché | Numéro de facture et montant brut concordent |
INV-1059 | ch_1003 | Paiement partiel | Le paiement Stripe couvre 800.00 ; le solde FreshBooks reste 800.00 |
Remboursement INV-1048 | re_2001 | À vérifier | Stripe enregistre un remboursement ultérieur ; FreshBooks a besoin d'un avoir ou d'un remboursement correspondant |
Les montants nets ne sont pas égaux aux montants des factures car des commissions Stripe sont présentes. Cela ne remet pas en cause le rapprochement des factures. Cela crée une deuxième tâche : vérifier que les commissions ont été comptabilisées et que le virement concorde ensuite avec la banque.
La note finale doit ressembler à ceci :
| Catégorie | Nombre | Montant |
|---|---|---|
| Factures payées rapprochées | 2 | 3,700.00 |
| Paiements partiels rapprochés | 1 | 800.00 |
| Commissions Stripe à vérifier | 3 | -138.80 |
| Remboursements nécessitant traitement FreshBooks | 1 | -500.00 |
| Écart inexpliqué | 0 | 0.00 |
C'est un résultat de rapprochement utilisable. Il indique au client que les enregistrements de paiement correspondent aux factures, qu'une facture reste partiellement payée, que les commissions constituent une vérification de comptabilisation distincte, et qu'un remboursement nécessite un traitement dans FreshBooks.
Reproduire le même processus chaque mois
Le processus durable n'est pas lié à la mise en forme d'un export particulier. C'est une séquence :
- Identifier le type de fichier Stripe.
- Identifier si le fichier FreshBooks contient des factures, des règlements, ou les deux.
- Filtrer FreshBooks sur les enregistrements payés et partiellement payés.
- Normaliser les numéros de factures, noms de clients, e-mails, dates, devises et signes.
- Rapprocher d'abord par numéro de facture ou référence de paiement.
- Rapprocher ensuite par e-mail, montant et fenêtre de dates.
- Séparer le rapprochement brut des factures des commissions Stripe et de la trésorerie des virements.
- Étiqueter chaque écart par cause.
- Produire un résumé qu'un autre réviseur peut comprendre sans rouvrir les deux exports.
Voici comment les consultants indépendants rapprochent les paiements Stripe et les factures FreshBooks sans dépendre de la bonne configuration de l'intégration client. Le client peut modifier les colonnes de son export. FreshBooks peut omettre l'identifiant Stripe. Stripe peut virer le règlement deux jours plus tard. Le processus tient quand même parce qu'il teste l'événement métier, pas une correspondance fragile sur une seule colonne.
