Auditer sa copropriété avec Claude Code

Deux cent soixante-quatre fichiers de factures, dix-huit contrats, aucun export : vérifier les comptes d'une copropriété commence par aller chercher les pièces. Récit d'un audit fait avec Claude Code, du téléchargement au courrier d'anomalies.

Le rapport d'audit, avec les montants en jeu, les problèmes restants et qui doit agir
Le rapport d'audit, mis à jour à chaque pièce éclaircie. Noms de la copropriété et du syndic retirés de la capture.

Au conseil syndical, on vote le budget et on approuve les comptes. Pour le faire sérieusement, il faut regarder les factures. Celles de ma copropriété ne nous étaient pas transmises : elles étaient seulement consultables sur l'extranet du syndic, dossier par dossier, PDF par PDF.

Je voulais répondre à une question simple : ce que la copropriété a payé sur l'exercice correspond-il à des factures réelles, qui la concernent, une seule fois ? Pour y répondre, il fallait d'abord rassembler les pièces, puis les lire, puis les rapprocher des comptes.

Récupérer les pièces

L'extranet range les documents dans des dossiers qui se déplient un par un : chaque clic déclenche une requête et injecte le contenu, parfois des sous-dossiers qu'il faut déplier à leur tour. J'ai décrit ce fonctionnement à Claude Code dans un cahier des charges, et il a écrit un script Playwright en TypeScript qui se connecte, déplie tout, puis télécharge chaque PDF.

Une consigne de ce cahier a beaucoup compté : ne pas appeler directement l'adresse interne qui sert les sous-dossiers, mais simuler les clics. Les identifiants changent à chaque session ; imiter l'utilisatrice est plus simple et plus solide que rejouer des requêtes. Le script attend une demi-seconde entre deux fichiers, reproduit l'arborescence de l'extranet sur le disque et écrit un rapport. Premier passage : 155 PDF trouvés, 155 téléchargés.

Lire des scans sans les envoyer

Une partie des factures sont des PDF avec du texte : `pdftotext` suffit. Les autres sont des scans, c'est-à-dire des images. Pour ceux-là, Claude a converti les pages en images, puis les a fait lire par le moteur de reconnaissance de caractères (OCR) intégré à Windows, appelé depuis un petit script PowerShell. Aucun service en ligne, aucune installation : des factures qui portent des noms et des montants ne quittent pas l'ordinateur.

Ensuite, chaque fournisseur a son format. Les extractions se font fournisseur par fournisseur, avec des expressions régulières : numéro, date, montant TTC, objet. Chaque ligne de l'inventaire garde une colonne « Source » qui dit si la valeur vient du texte du PDF ou de l'OCR. Un chiffre lu sur un scan se vérifie à l'œil avant de servir d'argument.

Rapprocher des comptes

L'inventaire est un classeur, un onglet par fournisseur. Le vrai travail commence quand on le rapproche de l'état des dépenses édité par le syndic : là, on voit ce qui a été comptabilisé, et pas seulement ce qui traîne dans les dossiers. Ce rapprochement a trié le désordre en deux familles.

  • Le désordre de classement : cinq factures présentes deux fois, des documents d'autres copropriétés gérées par le même syndic, des factures d'électricité d'un bâtiment voisin rangées chez nous. Comptabilisés ou non, ils brouillent la lecture.
  • Ce qui compte vraiment : des pièces comptabilisées sans justificatif, des charges rattachées au mauvais poste.

Le rapport final distingue donc ce qui est réglé de ce qui reste, et pour chaque point restant, qui doit agir. Un bouton copie les demandes à envoyer au syndic, et un courrier d'anomalies reprend la liste.

L'électricité, mois par mois

Les parties communes ont sept compteurs. Pour comparer les consommations, il fallait les reconstituer mois par mois, et les factures n'y suffisaient pas toujours. Le script suit un ordre de préférence écrit noir sur blanc : d'abord la différence entre deux relevés d'index, la mesure la plus fiable ; à défaut, l'histogramme des treize derniers mois imprimé sur la facture, utile quand le mois n'existe qu'en scan ; à défaut, les kilowattheures facturés sur une période incomplète, marqués « partiel ».

Le tableau de bord de l'électricité des parties communes : moyenne mensuelle par bâtiment et par compteur, puis la consommation mois par mois
Le tableau de bord de l'électricité des parties communes : moyenne mensuelle par bâtiment et par compteur, puis la consommation mois par mois

Les décisions en route

  • Ne rien supprimer. Les doublons et les pièces étrangères ont été déplacés et signalés, jamais effacés. Un audit doit pouvoir montrer d'où il part.
  • Sauvegarder avant chaque changement. Huit copies datées du même jour : avant les pénalités de retard, avant les impayés, avant la réorganisation du rapport. Quand on modifie un outil d'audit pendant l'audit, on doit pouvoir revenir en arrière.
  • Les montants qui comptent sont ceux de la comptabilité. Pour l'exercice clos, le rapport retient les montants réellement comptabilisés, pas ceux des PDF.
  • Dire qui doit agir. Une liste d'anomalies sans destinataire ne bouge pas. Chaque point porte son interlocuteur : le syndic, ou le conseil syndical qui vérifie sur place.

Le désordre des dossiers cache souvent l'essentiel : une pièce qui manque, une charge mal rattachée.

L'audit continue au rythme des réponses du syndic : le rapport se met à jour à chaque pièce éclaircie. Claude n'a pas audité la copropriété à ma place. Il m'a rendu lisibles des centaines de pages, et c'est moi qui ai pu poser les bonnes questions.

Dans l'atelier aussi