Install
openclaw skills install rapprochement-bancaireBank reconciliation for French accounting firms. Reconciles bank statement transactions with previously classified invoices for a given client. Produces a CSV per (client, month) listing matched payments, unpaid invoices, orphan payments, and anomalies (amount mismatch, duplicate, suspicious label). Updates the « Statut paiement » column of followup.md. INVOKE to compute or recompute reconciliation for a client over a given month.
openclaw skills install rapprochement-bancairerapprochement-bancaireLit les bank-statements et les factures déjà classées par
organisation-documents. Produit un CSV par (client, mois) + met à jourfollowup.md. C'est tout.
Ne pas utiliser pour :
organisation-documents.relances.facturation.clients/<slug>/<AAAA>/<MM>/bank-statements/ (tous les fichiers du dossier).index.json du client. Inclure aussi les factures des mois adjacents (M-1 et M+1) pour les paiements qui débordent.references/matching-rules.md).references/csv-schema.md).clients/<slug>/<AAAA>/<MM>/rapprochement.csv (cf. references/csv-schema.md).followup.md pour les matches fort et moyen.Score agrégé par transaction = montant × 0,5 + label × 0,3 + date × 0,2.
| Score | Confiance | Action |
|---|---|---|
| ≥ 0,85 | fort | Match dans CSV + update followup payée <date> |
| 0,65 – 0,85 | moyen | Match dans CSV + update followup payée ? <date> |
| 0,45 – 0,65 | faible | Suggestion dans CSV, pas d'update followup |
| < 0,45 | aucun | Transaction reste unmatched |
Sens cohérent obligatoire : crédit ↔ facture vente, débit ↔ facture achat. Jamais de cross-match.
Détails (normalisation, fuzzy label, fenêtre date ±30 j, cas limites frais bancaires / salaires / multi-paiements / multi-comptes) → references/matching-rules.md.
clients/<slug>/<AAAA>/<MM>/rapprochement.csv
UTF-8 avec BOM, séparateur ;, décimal ,, CRLF. Réécrit en entier à chaque invocation (idempotent). Seule la colonne commentaire est préservée entre runs.
Schéma complet (16 colonnes, enum anomalie : paiement_orphelin, encaissement_sans_facture, facture_non_payee, montant_incoherent, doublon_paiement, paiement_partiel, match_ambigu, etc.) → references/csv-schema.md.
followup.mdPour chaque match fort ou moyen sur une facture out :
## Émises ce mois de followup.md du mois d'origine de la facture (pas celui de la transaction).fort → payée <AAAA-MM-JJ>moyen → payée ? <AAAA-MM-JJ>paiement_partiel → partielle (X%)payée.Ne pas créer followup.md s'il n'existe pas (responsabilité de facturation). Juste écrire le CSV dans ce cas.
Ne pas toucher aux autres colonnes ni à la section ## À émettre.
Mêmes règles que organisation-documents : vocab métier, jamais de jargon technique (OFX, pipeline, scores numériques bruts, paths absolus).
Silence par défaut si zéro anomalie sur l'invocation. Sinon, synthèse compacte :
🔍 Rapprochement — 3 anomalies à revoir
- ACME SA / Avril : 1 paiement orphelin (1 248 € le 12/04, sans facture)
- Trendex Tech / Mars : facture impayée F-2026-03-008, 850 €, échéance dépassée de 8 j
- Foo SAS / Avril : montant incohérent F-2026-04-021 (facture 720 €, paiement 700 € — escompte ?)
Détails dans
clients/<slug>/<AAAA>/<MM>/rapprochement.csv.
Vocabulaire métier : rapprochement, paiement, encaissement, prélèvement, virement, facture, échéance, escompte, acompte, partiel, doublon, orphelin, anomalie, à revoir.
bank-statements/, invoices/*, index.json, clients.json.rapprochement.csv + colonne paiement de followup.md + audit.log du client. Rien d'autre.organisation-documents qui corrige.references/matching-rules.md — cascade de matching, normalisation, fuzzy label, fenêtre de date, cas limitesreferences/csv-schema.md — colonnes du CSV, enum anomalie, locale fr-FR, préservation de commentaire