Rapprocher l'état de compte d'un fournisseur
Le fournisseur de gypse vous envoie son état de compte : 9 539,28 . Il relance pour une facture de 2017 que vous avez payée depuis longtemps, il en réclame une que personne n'a jamais reçue, et un montant ne concorde pas. Faire ce rapprochement à la main, facture par facture, prend une heure, chaque mois et pour chaque fournisseur.Dans cette recette, nous allons rapprocher automatiquement l'état de compte d'un fournisseur avec Acomba : lire le solde et les factures ouvertes dans Acomba, les comparer ligne par ligne à l'état reçu, retrouver le paiement qui a réglé une facture réclamée, et expliquer l'écart au cent près.Ce que vous allez apprendrelire le solde d'un fournisseur et l'âge de ses factures, tels qu'Acomba les calcule ;
lister ses factures ouvertes et les comparer à son état de compte ;
retrouver le paiement qui a réglé une facture, et les factures réglées par un paiement ;
suivre l'historique des transactions et du solde sur une période.
une clé API en lecture : cette recette n'écrit rien dans Acomba ;
le module Comptes fournisseurs actif ;
l'état de compte du fournisseur, en fichier CSV : une ligne par facture qu'il considère ouverte (numero;solde) ;
vos factures fournisseurs saisies dans Acomba avec le numéro de facture du fournisseur : c'est la clé du rapprochement.
Avant de comparer, voyons la logique. Le fournisseur et vous tenez chacun la liste des factures ouvertes. Une facture présente des deux côtés au même solde concorde. Toutes les autres expliquent une partie de l'écart : une facture que vous avez payée mais qu'il croit ouverte, une facture qu'il réclame mais que vous n'avez jamais reçue, une facture ouverte chez vous qu'il ne réclame plus, ou un montant différent.
Étape 1 : le solde selon Acomba#
Commençons par le chiffre à défendre : le solde que vous devez au fournisseur. GET /api/suppliers/aging/{code} le donne tel qu'Acomba le calcule (balance_total), avec le compte fournisseurs et la répartition par âge.L'âge des comptes classe les factures par date de facture, comme le rapport d'Acomba. Pour un état à une date passée (fin de mois, par exemple), ajoutez as_of=2026-09-30 : les transactions postérieures sont exclues.
Étape 2 : les factures ouvertes, une par une#
Le solde ne suffit pas pour comparer : il faut le détail. GET /api/suppliers/{code}/unpaid-invoices liste chaque facture ouverte avec son numéro (celui du fournisseur), son échéance et son solde. Les crédits non utilisés y figurent aussi, avec is_credit: true et un solde négatif.summary.total_due égale le balance_total de l'étape 1. Ici, les tranches d'âge sont calculées par échéance : elles diffèrent de celles de l'âge des comptes, pas le total.
Étape 3 : la preuve de paiement#
Le fournisseur réclame la facture 446192, que vous ne trouvez pas dans vos factures ouvertes. Lisez-la par son numéro, en précisant le fournisseur (un même numéro peut exister chez deux fournisseurs), puis demandez les paiements qui l'ont réglée.Réponse 200 (affectations, extrait)
La facture a été réglée par le paiement 472 du 16 janvier 2018. Pour envoyer au fournisseur le détail complet de ce paiement, listez les factures qu'il a réglées :Une facture introuvable (réponse 404) n'a jamais été saisie dans Acomba : facture pas reçue, ou pas encore entrée.
Étape 4 : l'historique du compte#
Pour discuter d'une période précise, le relevé donne chaque transaction (factures, crédits, paiements) avec le solde courant. opening_balance est le solde au début de la période ; closing_balance, à la fin, égale le solde de l'âge des comptes.
Le script complet#
Assemblons le rapprochement : ce script lit l'état de compte du fournisseur, le compare aux factures ouvertes dans Acomba, cherche la preuve de paiement des factures réclamées à tort et vérifie que les écarts expliquent toute la différence de solde.Exemple d'état de compte (etat_gypnord.csv, extrait) :numero;solde
30207;375.70
30208;275.70
31050;512.40
446192;4731.77
$ python rapprochement.py GYPNORD etat_gypnord.csv
Gypse du Nord inc. (GYPNORD), au 2026-10-11
Solde selon Acomba 5,598.59 $ (compte 2101)
Solde selon le fournisseur 9,539.28 $
15 facture(s) concordent ; 4 écart(s)
30207 fournisseur 375.70 $ Acomba 275.70 $ montant différent (facturé 275.70 $, payé 0.00 $)
31050 fournisseur 512.40 $ Acomba 0.00 $ absente d'Acomba : facture jamais reçue ou pas encore saisie
446192 fournisseur 4,731.77 $ Acomba 0.00 $ payée chez nous : paiement 472 du 2018-01-16 (Paiement direct, 4,731.77 $)
30707 fournisseur 0.00 $ Acomba 1,403.48 $ ouverte chez nous, absente de son état
Écart total : 3,940.69 $ ; expliqué ligne par ligne : 3,940.69 $
Bon à savoir#
Le numéro de facture fait le lien. Saisissez dans Acomba le numéro exact du fournisseur, sans préfixe ni zéros ajoutés ; sinon la facture passe pour « absente » des deux côtés.
Un paiement récent peut ne pas encore figurer chez le fournisseur : une facture « payée chez nous » quelques jours avant la date de son état n'est qu'un décalage.
Les crédits non utilisés sont dans les factures ouvertes avec un solde négatif ; s'ils manquent sur l'état du fournisseur, demandez-lui de les appliquer.
Factures archivées : include_archived=true cherche aussi les paiements archivés. Après une épuration dans Acomba, les affectations d'une vieille facture peuvent avoir disparu ; le script la signale alors « sans paiement affecté ».
Âge des comptes et factures ouvertes : même total, mais les tranches diffèrent (date de facture d'un côté, échéance de l'autre). Ne mélangez pas les deux.
Les écritures du jour (pas encore reportées) sont comprises dans le solde et les factures ouvertes.
Et voilà#
Votre rapprochement est fait en quelques secondes : le solde d'Acomba en regard de celui du fournisseur, chaque écart classé et expliqué, la preuve de paiement prête à lui envoyer, et la certitude que les écarts listés expliquent toute la différence. Modified at 2026-10-12 00:11:55