Les fichiers de règlement Klarna et les journaux de vente Shopify divergent rarement parce que des ventes ont disparu. Ils divergent parce que Klarna règle les commandes capturées selon son calendrier de versement, tandis que Shopify enregistre les commandes au moment de la vente en boutique et leur attribue des références différentes.
Un export Shopify impeccable peut donc sembler faux face à un fichier Klarna tout aussi propre. Une ligne peut porter un nom de commande Shopify. L'autre peut porter un order_id Klarna, un short_order_id, ou l'un des champs de référence marchand. Un remboursement peut tomber dans un règlement ultérieur. Une commande partiellement expédiée peut donner lieu à plusieurs captures. Frais, retenues et annulations peuvent réduire le versement sans qu'aucune ligne de vente correspondante n'existe dans Shopify.
Si vous comparez les deux fichiers ligne par ligne depuis le premier onglet que vous avez exporté, les écarts semblent aléatoires. Ils ne le sont pas. Vous mettez en regard des activités de commande, des activités de règlement et des ajustements de versement comme s'il s'agissait de la même chose.
La solution : séparer d'abord ces niveaux, choisir une seule clé de correspondance, et comparer les montants seulement ensuite.
Identifiez le type d'écart avant de toucher aux données
La plupart des rapprochements échouent pour les mêmes raisons récurrentes. Identifiez laquelle s'applique avant de construire des formules ou de filtrer les lignes non rapprochées.
| Ce que vous voyez à l'écran | Comment Klarna stocke la donnée | Comment Shopify stocke la donnée | Ce qui se passe si vous rapprochez sans vérifier |
|---|---|---|---|
#10482 apparaît dans Shopify, mais aucune valeur identique n'apparaît dans Klarna | order_id = c504a9bb-1948-46d5..., merchant_reference1 = #10482 | Name = #10482 | La commande semble absente si vous avez mis en correspondance Name Shopify avec order_id Klarna |
| La date de commande correspond, mais pas la date de versement | sale_date = 2026-05-02T21:18:00Z, payout_date = 2026-05-04T07:45:00Z | Paid at = 2026-05-02 | La commande semble en retard ou absente alors qu'elle est simplement réglée plus tard |
| Un remboursement existe dans Klarna, mais pas sous la même ligne de capture | type = RETURN, capture_id = "", même order_id que la vente d'origine | Remboursement enregistré sur la commande ou dans l'historique des transactions sous le nom de commande d'origine | Le remboursement semble orphelin si vous utilisez capture_id comme clé principale |
| Klarna affiche des lignes négatives absentes de Shopify | type = FEE, HOLDBACK, CHARGE | Aucune ligne de commande correspondante dans le journal des ventes | Le règlement semble incomplet alors que les ventes sont correctes |
| Un total de commande Shopify donne deux lignes de vente dans Klarna | Deux lignes SALE avec des valeurs capture_id différentes sous un même order_id | Une ligne de commande ou un nom de commande dans le journal des ventes | La commande semble dupliquée ou partiellement manquante si vous ne groupez pas d'abord |
Si vos fichiers correspondent à plus d'une ligne de ce tableau, c'est normal. Klarna et Shopify suivent des étapes différentes du même événement commercial. Le rapprochement fonctionne quand vous décidez quel niveau chaque fichier est censé prouver.
Positionnez chaque fichier au bon niveau d'analyse
Le fichier de règlement Klarna prouve ce que Klarna a inclus dans un versement et pourquoi ce versement a varié. Le journal des ventes Shopify prouve qu'une commande a été créée, payée, remboursée ou ajustée dans la boutique. Ces enregistrements sont liés, mais ils ne sont pas interchangeables.
Utilisez le fichier Klarna pour prouver la composition du règlement, la référence de paiement, et si les frais ont été prélevés sur le versement ou facturés séparément. Utilisez le fichier Shopify pour prouver quelles commandes ont été payées via Klarna, quelle référence de commande correspond à chaque vente, et si des remboursements ou des lignes en double existent.
| Fichier | Champs à conserver | Ce qu'il prouve | Ce qu'il ne prouve pas |
|---|---|---|---|
| Fichier de règlement Klarna | payment_reference, payout_date, type, amount, order_id, short_order_id, merchant_reference1, merchant_reference2, capture_id | Composition du règlement et logique de versement | Que chaque ligne devrait avoir un correspondant Shopify en one-to-one |
| Journal des ventes Shopify | Nom/numéro de commande, passerelle de paiement, date de paiement, date de remboursement, montant, statut | Activité de commandes et de transactions côté boutique | La composition exacte d'un versement Klarna |
C'est ici que beaucoup de rapprochements déraillent. Le comptable attend du fichier de ventes Shopify qu'il explique les frais et les réserves. Il ne peut pas le faire. Puis il attend du fichier de règlement Klarna qu'il se comporte comme un export de commandes. Ce n'est pas son rôle non plus.
Choisissez la clé de correspondance avant les montants
Les montants sont la dernière chose à comparer. Si la clé est mauvaise, des montants identiques ne créent qu'une fausse confiance.
La meilleure clé de correspondance entre les deux systèmes est généralement l'un des champs de référence marchand dans Klarna, car ce sont les valeurs transmises lors de la création de la commande. Si merchant_reference1 ou merchant_reference2 contient le nom ou le numéro de commande Shopify, utilisez-le en premier. Si ces champs sont vides ou peu fiables, la meilleure option suivante est la relation entre short_order_id Klarna et le nom de commande Shopify.
Le champ order_id Klarna reste utile, mais pour regrouper l'activité Klarna sur toute la durée de vie d'une commande : vente, frais, retour, annulation, correction. Ce n'est pas automatiquement le meilleur pont vers Shopify, car Shopify peut ne jamais afficher cet UUID. N'utilisez pas non plus capture_id comme clé principale. Les retours et annulations peuvent ne pas avoir de valeur dans ce champ, et une commande Shopify peut produire plusieurs captures si l'expédition est fractionnée.
| Clé | Utilisation principale | Limite |
|---|---|---|
merchant_reference1 / merchant_reference2 | Correspondance directe avec le nom ou le numéro de commande Shopify | Parfois vide ou renseigné de manière incohérente |
short_order_id | Solution de repli quand Klarna et Shopify exposent la même référence client | Pas toujours identique au nom de commande interne du marchand |
order_id | Regrouper tous les événements Klarna d'une commande | Généralement absent des journaux de ventes Shopify |
capture_id | Diagnostiquer les captures fractionnées et l'activité par expédition | Les retours et annulations peuvent ne pas avoir de valeur ici |
Si vous devez déjà relier commandes boutique et fichiers de versement ailleurs dans votre flux de travail, le problème sous-jacent est identique à celui décrit dans pourquoi la mise en correspondance des commandes Shopify avec les fichiers de versement ralentit : les données ne sont pas fausses, mais les références et le calendrier des événements divergent entre les exports.
Procédez au rapprochement par couches
Une fois la clé choisie, procédez par couches. Ne commencez pas par le total du versement.
1. Isolez les lignes Shopify qui relèvent de Klarna
Filtrez d'abord le journal des ventes Shopify sur la passerelle de paiement concernée. Si le fichier contient des paiements par carte, PayPal, cartes-cadeaux ou commandes manuelles à côté des transactions Klarna, toutes les comparaisons suivantes seront bruitées.
Réduisez ensuite le côté Shopify à une référence de commande, un montant payé, une date de paiement, un montant de remboursement si applicable, et un statut de paiement. Si votre export Shopify répète une commande sur plusieurs lignes de produit, consolidez-la en un enregistrement de niveau commande avant de rapprocher avec Klarna.
2. Séparez les lignes Klarna liées à une commande des lignes de règlement seules
Toutes les lignes Klarna ne sont pas censées correspondre à une ligne de vente Shopify. Séparez les lignes liées à une commande — SALE, RETURN, REVERSAL, REVERSAL_MERCHANT_PROTECTION, CORRECTION et FEE — des lignes de règlement seules : HOLDBACK, RELEASE, CHARGE, CREDIT, COMMISSION et FEE_REFUND. Si vous les mélangez, le rapprochement produit de faux écarts qui sont en réalité des mouvements de réserve ou des ajustements au niveau du versement.
3. Vérifiez d'abord la présence, ensuite les montants, enfin l'impact sur le versement
La présence est le premier test. Demandez si la commande existe des deux côtés sous la clé choisie.
Comparez ensuite l'économie de la commande :
- Vente brute Shopify contre total
SALEKlarna - Remboursements Shopify contre totaux
RETURNetREVERSALKlarna - Lignes de frais Klarna séparément, pas intégrées dans le rapprochement de la vente brute
Quand une commande a produit plusieurs lignes SALE à cause de captures partielles, totalisez-les par order_id avant de comparer à la vente Shopify :
=SOMME.SI(Klarna!$F:$F,F2,Klarna!$H:$H)Ici la colonne F est order_id et H le montant de la ligne. Comparez ce sous-total, pas chaque ligne de capture.
Ce n'est qu'après ces vérifications que vous rattachez le règlement au montant du versement. Cette dernière étape est celle où appartiennent la référence de paiement, la date de versement, les retenues, les libérations et les autres ajustements hors commande.
Voici la vue groupée visée :
| Référence de commande | Journal des ventes Shopify | Vue règlement Klarna | Signification |
|---|---|---|---|
#10482 | Payée 120.00 | SALE 120.00, FEE -3.20 | Commande rapprochée ; les frais expliquent une partie du versement net |
#10483 | Payée 80.00, puis remboursée 80.00 | SALE 80.00, puis RETURN -80.00 | Le délai du remboursement doit être suivi séparément de la vente d'origine |
#10484 | Payée 150.00 | Aucune ligne SALE dans le règlement actuel | Probablement pas encore capturée, pas encore réglée, ou hors plage de dates |
#10485 | Une ligne de commande pour 200.00 | Deux lignes SALE de 120.00 et 80.00 sous un même order_id | Capture partielle ; groupez avant de tester les montants |
La question n'est pas : « Ces deux exports sont-ils identiques ? » Ils ne devraient pas l'être. La question utile est : « Puis-je expliquer chaque différence au bon niveau ? »
Distinguez les règlements différés des vrais écarts
L'erreur la plus coûteuse dans ce flux de travail est de traiter un décalage temporel comme une vente manquante.
Klarna expose au moins trois dates importantes en pratique :
sale_date: quand la commande a été crééecapture_date: quand l'événement a été enregistré et, pour les lignesSALE, quand les marchandises ont été expédiées et la capture effectuéepayout_date: quand Klarna a initié le versement
Les journaux de ventes Shopify se centrent souvent sur la commande ou l'événement de paiement. Une commande valide peut donc apparaître dans Shopify un jour, dans les lignes de capture Klarna un autre jour, et dans le versement encore plus tard.
Utilisez ce tableau de décision quand une ligne semble manquante :
| Schéma | Ce que cela signifie généralement | Que faire |
|---|---|---|
Présente dans Shopify, absente des lignes SALE Klarna, paiement toujours en attente ou non capturé | La commande n'est pas encore réglée | Ne marquez pas comme manquante ; vérifiez le statut de capture et la prochaine fenêtre de règlement |
| Présente dans Shopify, absente de Klarna, mais d'autres passerelles apparaissent dans le même export | Le filtre de passerelle est incorrect | Reconstruisez le sous-ensemble Shopify pour les transactions Klarna uniquement |
Présente dans les lignes SALE Klarna, absente de la clé de correspondance Shopify | Le mapping des références est incorrect | Vérifiez merchant_reference1, merchant_reference2 et le format du nom de commande |
Présente en tant que RETURN ou REVERSAL Klarna dans un règlement ultérieur | Un remboursement ou un litige réduit le versement actuel | Rattachez-la à la commande d'origine et classez-la comme activité négative différée |
C'est aussi là que débute la confusion de fin de mois. Un journal des ventes Shopify d'avril peut contenir des commandes dont l'impact de trésorerie tombe dans un règlement Klarna de mai. Ce ne sont pas de mauvaises données. C'est le calendrier de règlement.
Si votre liste non résolue contient encore un bloc important de lignes négatives ou non rapprochées après avoir séparé les décalages temporels des questions de présence, le problème est souvent la structure des références plutôt que des ventes manquantes. Le même schéma apparaît dans d'autres rapprochements multi-plateformes, notamment lors de la recherche de ventes non rapprochées entre Shopify et un autre export de paiement, où la référence de commande existe mais n'a pas la même forme des deux côtés.
Traitez les lignes qui n'ont pas vocation à correspondre à une commande unique
Certaines lignes Klarna font partie du rapprochement mais pas de la grille de correspondance par commande.
Les lignes FEE sont importantes parce qu'elles expliquent pourquoi les ventes ne sont pas égales au versement. Mais elles ne signifient pas qu'une commande Shopify est manquante. Ce sont des déductions sur l'activité de commande rapprochée.
Les lignes HOLDBACK et RELEASE sont importantes parce qu'elles déplacent des liquidités sans représenter de nouvelles ventes client. Une retenue réduit le versement actuel pour couvrir un risque futur. Une libération restitue des fonds retenus précédemment dans un versement ultérieur. Ni l'une ni l'autre ne doit être testée contre un montant de commande Shopify.
Les lignes CHARGE, CREDIT et COMMISSION relèvent également d'un bucket séparé. Elles peuvent modifier le total du règlement sans que le rapprochement au niveau des commandes ait échoué.
Vérifiez également le type de règlement Klarna. Si le type de règlement marchand est NET, les frais Klarna sont déduits du versement. S'il est GROSS, les frais sont facturés séparément — votre rapprochement des commandes peut être correct même si le calcul du versement diffère d'une attente en règlement net. Ce seul champ change la logique du bouclage final de trésorerie.
Un rapprochement propre produit donc quatre sorties, pas une :
| Sortie | Ce qui s'y trouve |
|---|---|
| Commandes rapprochées | Ventes et remboursements qui concordent selon la clé de commande choisie |
| Règlements différés | Commandes valides dont le règlement ou le versement tombe dans une fenêtre ultérieure |
| Ajustements de règlement seuls | Frais, retenues, libérations, charges, crédits, commissions |
| Vrais écarts | Lignes qui subsistent après les vérifications de référence et de délai |
Si ces quatre groupes sont bien délimités, le rapprochement est terminé. Si tout est encore mélangé dans un onglet de non-rapprochés, le travail n'est pas fini.
Quand refaire le rapprochement chaque mois à la main cesse d'être rentable
Ce flux de travail est efficace. Il répète aussi le même travail à chaque cycle : exporter Shopify, exporter Klarna, supprimer les lignes non-Klarna, choisir à nouveau la même clé, regrouper les commandes avec captures fractionnées, séparer les ajustements de versement, et reconstruire la liste des écarts.
C'est gérable quand le volume est faible et que la composition des versements est stable. Cela devient coûteux quand chaque règlement contient des remboursements différés, des captures partielles, des mouvements de réserve et un nouveau cycle de nettoyage des références.
À ce stade, le goulot d'étranglement n'est plus le jugement comptable. C'est la préparation des fichiers et le tri des écarts — et c'est la partie qui mérite d'être sortie du tableur.
