Python

Réconciliation de deux exports comptables

Merge outer avec indicator entre l'export banque et l'export compta : écritures absentes de part et d'autre, écarts de montant au centime, et tableau des lignes à pointer.

Cas d'usage

Clôture mensuelle : sortir en une commande la liste exacte des écritures à justifier au lieu de pointer à la main.

Prérequis

Python 3.9+, pandas

Python
import pandas as pd

banque = pd.read_csv("banque_juin.csv")    # ref, montant
compta = pd.read_csv("compta_juin.csv")
m = banque.merge(compta, on="ref", how="outer",
                 suffixes=("_bq", "_cp"), indicator=True)

absentes_cp = m[m["_merge"] == "left_only"]
absentes_bq = m[m["_merge"] == "right_only"]
communes = m[m["_merge"] == "both"]
ecarts = communes[(communes["montant_bq"] - communes["montant_cp"]).abs() > 0.01]

print("Réconciliation banque / comptabilité — juin")
print(f"  écritures banque    : {len(banque):>5}")
print(f"  écritures compta    : {len(compta):>5}")
print(f"  absentes en compta  : {len(absentes_cp):>5}")
print(f"  absentes en banque  : {len(absentes_bq):>5}")
print(f"  écarts de montant   : {len(ecarts):>5}")
print(ecarts[["ref", "montant_bq", "montant_cp"]].head(3).to_string(index=False))

Résultat

Réconciliation banque / comptabilité — juin
  écritures banque    :  1482
  écritures compta    :  1479
  absentes en compta  :     8
  absentes en banque  :     5
  écarts de montant   :     3
      ref  montant_bq  montant_cp
 VIR-0841     1250.00     1205.00
 CHQ-0112      890.50      980.50
 PRL-2203       49.99       49.90
ComptabilitémergeRéconciliationpandas

Snippets liés

Retour au Data Lab