Skill rapprochement-bancaire
Lit 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.
Quand utiliser
- Demande explicite de rapprochement d'un client / d'un mois.
- Après un reclassement de pièce → recalcul du mois concerné.
- Après l'ajout d'un mois d'historique.
Ne pas utiliser pour :
- Classer / déplacer des documents →
organisation-documents. - Programmer ou envoyer des relances →
relances. - Émettre des factures →
facturation.
Workflow
- Charger les transactions depuis
clients/<slug>/<AAAA>/<MM>/bank-statements/(tous les fichiers du dossier). - Charger les factures du mois (in + out) depuis
index.jsondu client. Inclure aussi les factures des mois adjacents (M-1 et M+1) pour les paiements qui débordent. - Matcher transactions ↔ factures (cf.
references/matching-rules.md). - Détecter les anomalies (cf.
references/csv-schema.md). - Écrire
clients/<slug>/<AAAA>/<MM>/rapprochement.csv(cf.references/csv-schema.md). - Mettre à jour la colonne « Statut paiement » de
followup.mdpour les matchesfortetmoyen. - Rapport au comptable.
Matching (résumé)
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.
Output — CSV
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.
Mise à jour de followup.md
Pour chaque match fort ou moyen sur une facture out :
- Trouver la ligne dans la section
## Émises ce moisdefollowup.mddu mois d'origine de la facture (pas celui de la transaction). - Mettre à jour la colonne « Statut paiement » :
fort→payée <AAAA-MM-JJ>moyen→payée ? <AAAA-MM-JJ>paiement_partiel→partielle (X%)
- Vider « Prochaine relance » si statut devient
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.
Communication avec le comptable
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.
Garde-fous
- Lecture seule sur les sources :
bank-statements/,invoices/*,index.json,clients.json. - Écritures localisées :
rapprochement.csv+ colonne paiement defollowup.md+audit.logdu client. Rien d'autre. - Aucun déplacement de fichier — si un classement est mauvais, ce skill le remonte en anomalie, c'est
organisation-documentsqui corrige. - Pas de PII dans les logs : numéros de facture, montants, dates OK ; libellés complets de transaction et IBAN interdits.
- Idempotent : données inchangées → CSV identique octet pour octet.
Références complémentaires
references/matching-rules.md— cascade de matching, normalisation, fuzzy label, fenêtre de date, cas limitesreferences/csv-schema.md— colonnes du CSV, enumanomalie, locale fr-FR, préservation decommentaire