3 points par GN⁺ 2024-09-17 | 1 commentaires | Partager sur WhatsApp
  • Plain Text Accounting (PTA) est une méthode qui consiste à enregistrer les données comptables dans des fichiers texte brut et à les traiter avec des outils conviviaux en ligne de commande comme Ledger, hledger et Beancount ; ce site est un portail qui rassemble les ressources associées en un seul endroit
  • L’activité de la communauté est répartie entre Matrix/IRC, forums, Reddit, Lemmy, Hacker News, Mastodon, X, Bluesky, ce qui permet de suivre les questions, les actualités et les échanges par projet via plusieurs canaux
  • Les ressources d’apprentissage sont organisées en comparaison d’applications, documentation officielle, bases de la comptabilité, guides d’introduction, aide-mémoire, cookbook, FAQ, slides et vidéos, afin que les débutants en PTA puissent progresser étape par étape
  • L’écosystème applicatif s’articule autour de Ledger, Beancount et hledger, avec plusieurs implémentations et des matrices de fonctionnalités ; les trois outils principaux reposent respectivement sur C++/Python/Haskell et ont un historique de versions allant jusqu’en 2025~2026
  • Des outils pour l’import et la conversion, les plugins d’éditeur, la facturation, la récupération de prix, le reporting, le suivi du temps, les UI, les workflows et les bibliothèques permettent d’intégrer les données de comptabilité en texte brut dans divers environnements de travail

Concept du PTA et rôle de plaintextaccounting.org

  • Plain Text Accounting est une approche de la tenue de livres et de la comptabilité reposant sur des fichiers texte brut et des logiciels efficaces et orientés ligne de commande comme Ledger, hledger et Beancount
  • plaintextaccounting.org sert de portail vers les outils, la documentation et les pratiques de la communauté PTA
  • Il est possible de suivre les mises à jour du dépôt du site, et des informations sur les rapports financiers et le soutien y sont également fournies

Communauté et canaux de discussion

  • Les échanges en temps réel passent par Matrix avec #plaintextaccounting, l’espace Matrix plaintextaccounting, et le canal IRC #plaintextaccounting sur Libera Chat
  • Les discussions et actualités sont réparties sur plusieurs canaux publics
  • Sur Stack Exchange, des tags ledger-cli et hledger ainsi que des liens de recherche sont proposés
  • Des mailing lists et salons de discussion par projet sont aussi référencés, ainsi que This Week In Hledger

Documentation et ressources d’apprentissage

  • Les ressources de comparaison d’applications incluent une liste d’apps PTA, une matrice de fonctionnalités, une FAQ « quelle application PTA choisir ? » et une Syntax Quick Reference
  • La documentation officielle des apps renvoie vers Ledger, hledger, Beancount, rustledger, Ledger(Go), Tackler et la documentation pta
  • Les ressources de bases comptables incluent la FAQ PTA, les Accounting basics/links de hledger, la Double-Entry Counting Method de Beancount et « Accounting for Computer Scientists », entre autres
  • Les ressources d’introduction sont réparties selon différents points d’entrée
  • Des sections séparées rassemblent aussi les aide-mémoire, cookbook, FAQ, slides et vidéos ; la section vidéo mentionne qu’il est difficile de trouver des vidéos PTA sur YouTube

Principales apps PTA et comparaison des fonctionnalités

  • Pour se lancer dans le PTA, on peut essayer une ou plusieurs applications listées sur le site, et en général la migration des données entre apps est possible
  • La liste actuelle des principales apps regroupe plusieurs projets
    • Ledger : C++, lancé en 2003, dernière release en 2025, environ 245 contributeurs, environ 5.9k stars
    • Beancount : Python, lancé en 2008, dernière release en 2026, environ 103 contributeurs, environ 5.5k stars
    • hledger : Haskell, lancé en 2007, dernière release en 2026, environ 194 contributeurs, environ 4.4k stars
    • Transity, Ledger(Go), Abandon, zhang, Tackler, rustledger, knut, acc, ledg figurent également dans la liste actuelle
  • Les projets anciens ou inactifs sont répertoriés séparément : placc, budget-cli, mynt, awk-pta, pta, blossom, .Net Ledger, monescript, Penny, UMM, cl-ledger, etc.
  • La matrice de fonctionnalités de Ledger, hledger et Beancount a été mise à jour en 2024-09 et compare l’interface utilisateur, l’installation, l’aide, les formats d’entrée/sortie, les commandes, la configuration, l’extensibilité, les noms de comptes, les budgets, les graphiques, la récupération de prix, les requêtes, la validation, etc.
  • Les différences clés se concentrent sur les éléments qui influencent directement le choix de l’outil
    • Les CLI associées sont ledger pour Ledger, hledger pour hledger et beanquery pour Beancount
    • La facilité d’installation et de configuration est marquée yes pour Ledger/hledger et no pour Beancount
    • hledger propose des formats de sortie text/html/csv/tsv/fods/beancount/sql/json
    • La validation de Beancount est indiquée comme toujours stricte, tandis que Ledger et hledger sont signalés comme configurables

Écosystème logiciel

  • La section IA inclut accountant24, un agent IA local-first multimodèle utilisant hledger, ainsi qu’un article de configuration utilisant Claude Code comme couche d’agents avec hledger et un vault Obsidian
  • Les distributions et configurations alternatives incluent Full-fledged hledger, hledger-flow, Lazy Beancount, hledger-youtube-business, rtrLEDGER et docker-finance
  • Les outils de conversion et d’import de données occupent une place importante ; en plus de la conversion CSV intégrée de Ledger et hledger, sont listés l’outil d’import de Beancount v2, banks2ledger, beancount-import, beancount2ledger, hledger2beancount, ledger2beancount, plaid2text, etc.
    • Des sous-sections distinctes recensent aussi les outils pour migrer depuis GnuCash, Intuit/QuickBooks/QIF, KMyMoney et YNAB vers *ledger ou Beancount
  • Les outils de génération de données servent à créer des transactions de prix, des amortissements, des intérêts, des écritures récurrentes ou des postings de gains/pertes en capital
  • Les plugins d’éditeur sont classés pour Emacs, JetBrains IDE, Nano, Sublime, TextMate, Vim et VS Code
    • Exemples : ledger-mode, beancount-mode, hledger-mode, vim-ledger, vim-beancount, hledger-vscode, vscode-beancount
  • Parmi les outils de formatage figurent beancount-black, beancount-black web app et hledger-fmt
  • Côté facturation, on trouve kairos, un outil Go qui génère des factures à partir de fichiers timedot hledger

UI, reporting, workflows et bibliothèques

  • Les outils de récupération de prix incluent bean-price de Beancount, hledger-stockquotes, ledger-get-prices, pricehist ainsi que des outils de cotations boursières et de taux de change basés sur Yahoo Finance
  • Les outils de reporting s’étendent aux budgets, à l’analyse de patrimoine, aux rapports d’écart, au taux de rentabilité interne, aux graphiques, aux diagrammes de Sankey, à la sortie PDF et au calcul des plus-values
  • Les outils de suivi du temps incluent org, un hook Taskwarrior, le CSV de Toggl, la conversion timeclock et des exemples de suivi du temps basés sur hledger
  • Les UI terminal prennent en charge la saisie, la consultation et l’édition de transactions avec hledger add, hledger-ui, hledger-iadd, bean-add, ledger xact, puffin, regdel, etc.
  • Des UI GUI, web et mobile sont également référencées comme outils séparés
    • Web : fava, hledger-web, Paisa, BeanHub
    • Mobile : Beancount Mobile CE, beancount-mobile, NanoLedger, cashier, cone, MoLe
    • GUI : fruit-credits, Ledgera, Prudent, Surebeans, etc.
  • La section workflows traite de configurations générant des journaux hledger à partir de CSV, ou de piles Docker pour suivre et produire des rapports sur des finances traditionnelles et crypto
  • La section bibliothèques rassemble des composants de développement comme le parseur Beancount, l’API BeanHub, hledger-lib, l’API JSON de hledger-web, node-hledger, pyhledger, etc., pour parser, interroger, produire des rapports et intégrer des fichiers PTA

1 commentaires

 
GN⁺ 2024-09-17
Avis sur Hacker News
  • Les systèmes qui exigent une catégorisation stricte immédiate ne conviennent pas à tout le monde. Dans une entreprise où je travaillais auparavant, on utilisait une approche en deux temps : d’abord, on notait brièvement dans iPhone Notes des choses comme -50 Alice tools, +20 Bob returned loan, puis un script analysait plus tard la date, les mots-clés, la contrepartie et les rubriques d’analyse internes pour les convertir en modèles de comptabilité en partie double
    Les éléments que le script ne parvenait pas à comprendre étaient catégorisés manuellement et, si nécessaire, ajoutés à la liste de règles ; il existait aussi des tables de correspondance par personne pour qu’Alice et Bob n’aient pas besoin d’utiliser le même vocabulaire
    Il est difficile d’imaginer que quelqu’un qui fait la queue, conduit ou discute au moment où l’argent change de mains remplisse à chaque fois un format du type Cat1:cat2:cat3. Au final, il y a de fortes chances qu’il revienne à une courte note ou à un message de chat, ou qu’il essaie de remplir tout ça “de mémoire”, sans doute le week-end plutôt qu’en fin de journée

    • Cette approche ressemble tout de même à de la comptabilité en texte brut. Je fais presque la même chose : je ne saisis pas directement dans le fichier de journal, je passe par KMyMoney, puis je convertis en fichier ledger avec un script
      Avec des outils textuels, on peut créer librement le flux que l’on veut, par exemple en ajoutant un script qui prend les notes iPhone et les transforme au format ledger ; du coup, cela me paraît un peu étrange de présenter ça comme une plainte
    • Nous non plus, nous ne saisissons pas directement les fichiers ledger ; plutôt que de convertir des notes en format libre, nous écrivons le compte à appliquer dans le champ mémo des applications bancaires et de l’application de notes de frais Zoho
      Chaque trimestre, nous téléchargeons des CSV depuis les comptes bancaires, les cartes de crédit et Zoho, puis un script Ruby lit le champ mémo et convertit le tout en fichier ledger. Le script et le résultat demandent quelques ajustements, mais c’est automatisé à plus de 95 %
      En bonus, nous ajoutons aussi au fichier ledger des contrôles de cohérence, par exemple vérifier que le solde correspond à celui fourni par la banque et que les écritures se situent bien dans la période courante
  • J’utilise ledger-cli depuis près de 20 ans, depuis le moment où je me suis mis à mon compte, et même si ce n’est pas parfait, j’en suis très satisfait. Tout est en texte brut, donc je peux le traiter avec des scripts, le lire dans VIM et extraire facilement les données
    Le fichier ledger de l’une de mes sociétés actuelles est un fichier texte brut de 2 Mo qui contient les transactions depuis 2016. Je n’ai pas trouvé énormément de valeur à pousser très loin la granularité des comptes/catégories, mais pour le suivi global, cet outil m’a été indispensable
    Apprendre la comptabilité en partie double utilisée par des outils comme ledger a aussi été amusant ; avec le recul, ce n’était pas difficile et cela me semble être une compétence utile toute la vie

    • Je n’utilise pas encore ce genre d’outil, mais comme QuickBooks et ma banque ont raté quelques transactions et que je suis en train de faire le ménage, cet article est tombé à point nommé
      Pour ma stratégie de comptes/catégories, j’aligne les catégories de dépenses sur celles que l’Agence du revenu du Canada demande dans les déclarations fiscales. Au début, j’avais créé des catégories logiques comme frais d’hébergement ou coûts de prototypage/fabrication, mais après avoir dû les remapper pendant des années vers les catégories de l’ARC, j’ai compris qu’aligner dès le départ la catégorisation sur la fiscalité simplifiait énormément la déclaration de fin d’année
    • Quand j’ai vendu ma maison, la société d’entiercement m’a envoyé un chèque de remboursement d’environ 3 000 dollars au titre du décompte de clôture, mais je ne l’ai jamais reçu. Je ne m’en suis rendu compte que 5 ans plus tard, après avoir commencé à utiliser ledger-cli
    • +1 pour ledger. C’est le meilleur outil que j’aie utilisé jusqu’ici, et le fait qu’il soit scriptable est énorme. Depuis que je l’utilise, ma gestion fiscale est exacte depuis plus de deux ans
    • En y repensant, mon plus grand regret tient à une limite générale du texte brut : l’absence de pièces jointes. J’ai créé mon propre système pour référencer certains fichiers, ainsi qu’une application Mac qui, lorsqu’on dépose un fichier sur une transaction, le copie dans un dossier défini et ajoute un tag à la transaction
      Si les données avaient été dans SQLite, cela aurait été bien plus facile à implémenter, mais on aurait alors perdu l’avantage de pouvoir les modifier directement avec un éditeur de texte
  • Grâce aux LLM, il est devenu beaucoup plus facile de tenir régulièrement une comptabilité en texte brut. C’est particulièrement utile pour éviter la saisie manuelle lors de l’import de relevés bancaires dans hledger
    J’utilise un fichier JSON qui mappe les transactions bancaires vers des comptes hledger ; lorsqu’une transaction n’a pas encore de mapping, un script Python génère un prompt pour Claude. Claude consulte la liste des comptes, propose un mapping pour la nouvelle transaction, puis renvoie l’écriture hledger correspondante
    Ensuite, un autre script affiche proprement les écritures hledger des transactions bancaires du mois, et je les finalise après quelques minutes de retouches. Les consignes de mapping qui, autrefois, seraient devenues un tas fragile de regex et de conditions peuvent aussi être écrites en langage naturel

    • Tu considères que les LLM ne sont pas fragiles ? Et envoyer ses informations bancaires à Anthropic, c’est tout de même assez audacieux
  • J’ai aimé utiliser Beancount, apprendre au passage, écrire des outils d’import de données et manipuler moi-même la comptabilité. Mais cela fait presque un an que je n’ai pas importé les données pour la dernière fois ; je voulais le faire chaque mois, mais même avec pas mal d’automatisation, cela prend 30 à 60 minutes et c’est pénible

    • J’aimerais que les banques ne fassent pas activement obstacle à l’export de données. J’avais autrefois créé un script qui rétro-ingénierait le processus de connexion via OCR et nettoyait les écritures incorrectes, mais le coût de maintenance était trop élevé
      Quand la validation mobile est devenue nécessaire en plus, j’ai simplement abandonné
    • J’ai vécu exactement la même chose avec GnuCash. Quand on le fait chaque semaine, ça va ; rater 1 à 3 semaines reste supportable, mais au-delà, l’effort pour rattraper le retard grossit comme une boule de neige
      Cela fait aussi environ un an que je n’ai rien importé, et pour relancer le système, la seule solution qui me vient à l’esprit est de découper le travail en petits morceaux, en important un mois à la fois sur plusieurs jours
    • Si tu peux accepter un léger malaise, Plaid vaut le coup d’œil. Il existait une offre de test suffisante pour un usage personnel, avec jusqu’à 100 comptes connectés
      https://plaid.com/
    • Avec teller.io, la configuration est généralement beaucoup plus simple qu’avec Plaid. Je l’utilise pour synchroniser mes relevés bancaires Chase et mes relevés de carte de crédit vers Google Sheets
  • J’utilise ledger pour la tenue de livres et la comptabilité personnelle, ainsi que pour plusieurs LLC. Si vous êtes à l’aise avec le terminal, que vous maîtrisez bien la CLI, que vous utilisez souvent vim ou emacs, les bases de sed/awk, et des scripts bash/python/perl/ruby, il y a de fortes chances que vous soyez bien plus satisfait en apprenant ledger et la comptabilité en partie double qu’avec votre méthode actuelle.
    reckon est utile pour importer rapidement les transactions : https://github.com/cantino/reckon
    Découper le problème avec include est aussi une bonne idée. bal --dc peut sembler un peu familier à un comptable américain, mais beaucoup ne comprennent pas vraiment la façon dont ledger utilise les nombres négatifs ; il m’a donc été plus simple d’écrire quelques scripts pour convertir en style débit/crédit. J’ai été surpris de voir à quel point les comptables avec qui j’ai travaillé avaient du mal avec les abstractions.

    • Je suis d’accord avec les deux premiers conseils. Le troisième semble aussi intéressant, mais je n’en ai jamais eu besoin.
      Si je devais ajouter un seul conseil, ce serait de tout regrouper avec un Makefile ou quelque chose d’équivalent. On se retrouve vite avec beaucoup de fichiers de transactions séparés par compte, et les commandes pour inclure les bons fichiers peuvent devenir longues.
      Même pour les différents graphes et scripts de synthèse, je ne me souviens pas toujours de la syntaxe exacte ; avec make, on peut appeler des choses comme make cashflow, make balance 'A=Checking', make balance-plot 'A=retirement'.
  • J’ai écrit plusieurs articles de recettes pratiques pour utiliser Ledger efficacement dans des situations plus complexes que celles couvertes par le tutoriel de base : https://felixcrux.com/blog/ledger-practices

    • En tant que gros utilisateur de ledger, je trouve ces recettes excellentes. J’utilise un schéma où je suis finement les clients et les fournisseurs, et où les paiements et encaissements doivent être affectés à des projets précis et à des catégories au sein de ces projets.
      Lors de l’import des transactions bancaires, je les affecte d’abord à un compte portant le nom de la contrepartie, puis un script utilise ledger print pour produire un second fichier journal par contrepartie, qui inverse la transaction d’origine et la place temporairement sous les sous-comptes du projet Unknown et de la catégorie Unknown.
      Ensuite, la personne chargée de la comptabilité rapproche la transaction d’une facture précise et l’affecte à un compte Project:Category, en scindant si nécessaire un paiement unique entre plusieurs projets/catégories. En incluant tous les journaux de transactions bancaires et les journaux de contreparties, ledger bal permet de vérifier que le traitement comptable est terminé.
  • La comptabilité en texte brut est formidable, mais je pense que, pour beaucoup de gens, le plus grand obstacle est de télécharger les données bancaires dans un format standard.
    Les banques ne prendront probablement pas en charge activement autre chose que CSV ou Excel, et les plateformes d’agrégation de données comme Yodlee ou Plaid ne sont pas vraiment accueillantes pour l’open source ou les utilisateurs amateurs.
    Il y avait autrefois une société appelée Wesabe (https://en.wikipedia.org/wiki/Wesabe) qui avait créé un logiciel de synchronisation bancaire depuis le desktop. Elle a été de fait évincée par Mint.com, mais cette approche me revient encore en tête et me semble possible aussi en open source.

    • hledger dispose d’un outil pour convertir des CSV assez arbitraires en transactions : https://hledger.org/1.40/hledger.html#csv
      Je ne l’ai pas encore essayé, mais après avoir passé quatre heures sur plusieurs jours à aider une société SaaS de comptabilité avec ses problèmes de connexion bancaire, je serais volontiers prêt à y consacrer du temps.
      À chaque rapprochement de transactions, on se bat contre un système dont on ne peut ni voir l’intérieur ni corriger directement le comportement. J’en viens à douter que l’effort en vaille la peine, et s’il existe un outil correct, je préférerais gérer les CSV moi-même. Pour mémoire, cette société a qualifié cela de « chose normale » et n’a même pas remboursé.
    • J’ai découvert récemment Paisa, qui est en gros une bonne interface posée au-dessus de ledger-cli. L’import est très pratique : on téléverse un fichier de type CSV, on regarde l’aperçu, puis on écrit un script qui transforme chaque ligne au format texte de ledger.
      Il y a aussi du linting et, si le résultat convient, on peut enregistrer le script pour réimporter à tout moment. L’outil prend aussi en charge le téléchargement des prix des commodities pour suivre des choses comme des actions.
      Les graphiques ne sont pas assez génériques à mon goût, donc j’exporte les données ailleurs, mais pour la saisie de données, c’est excellent.
    • J’ai déjà eu le cas où les relevés PDF que la banque est légalement tenue de fournir ne correspondaient pas au CSV. En plus, le CSV contient rarement des données de solde.
      Je télécharge donc les PDF pour en extraire les données, mais c’est inutilement pénible. Pour fournir un PDF facile à lire par une machine, il suffirait de suivre quelques règles simples afin que 3 ou 4 champs de transaction et quelques champs de relevé comme la date et le solde puissent être extraits sans heuristiques fragiles.
      Un PDF brandé et agréable à lire pour un humain n’est pas incompatible avec un PDF facile à lire par une machine.
    • Au Royaume-Uni, il existe Open Banking, une API standard pour l’accès aux données bancaires : https://www.openbanking.org.uk/
    • Dans mon pays, toutes les transactions arrivent par SMS, j’avais donc créé un système avec Tasker pour intercepter les SMS et les enregistrer dans un fichier CSV. Ce CSV était placé dans un dossier synchronisé avec mon desktop via SyncThing.
      J’avais prévu de traiter ces données pour les intégrer à mon système comptable, mais je ne l’ai jamais fait ; puis mon téléphone est tombé en panne et j’ai aussi perdu l’action Tasker. Je n’ai plus la motivation de le réimplémenter.
  • Les domaines associés existent toujours. Article de 2023 : https://news.ycombinator.com/item?id=36022005, article de 2021 : https://news.ycombinator.com/item?id=28420797, article de 2016 : https://news.ycombinator.com/item?id=11164330
    On peut trouver d’autres mentions du concept sur https://hn.algolia.com/?q=Plain+Text+Accounting.

  • Je me demande comment les autres utilisent réellement les outils de comptabilité en texte brut. Est-ce pour comprendre leurs habitudes de dépense et changer de comportement, pour suivre les coûts, les revenus et le patrimoine net, ou bien est-ce le processus ordonné en lui-même qui les attire ?
    Chaque fois que je vois ce sujet, je ressens à la fois l’envie de m’y plonger complètement et la culpabilité de ne pas avoir tenu mes tentatives précédentes dans la durée. En ce moment, je n’ai pas mis à jour mon grand livre personnel depuis un mois et demi, donc la culpabilité l’emporte
    Au fond, je ne suis pas sûr de savoir pourquoi je l’utilise, et avec le temps j’ai l’impression d’enregistrer les transactions juste pour les enregistrer

    • Je m’en sers toujours pour les règlements de groupe improvisés. Dans des situations comme un voyage à trois, il est beaucoup plus simple de répartir les dépenses le jour même ou plus tard dans la semaine, et d’accumuler les dettes réciproques puis de les solder quand c’est nécessaire. Ces dépenses chaotiques sont très difficiles à suivre autrement
      C’est similaire pour les frais professionnels. Je paie du matériel ou des services avec ma carte, puis je fais une note plus tard et on me rembourse en espèces ou par virement. Cela dit, ça ne fonctionne pas dans certains pays ou certaines entreprises
      Pour les dépenses personnelles du quotidien, la banque et l’expérience me donnent déjà une bonne idée, donc je n’ai pas besoin d’aller jusqu’à la comptabilité. Il faut une motivation financière, pas émotionnelle. Quand on sait que si l’on abandonne la comptabilité, un ami risque de faire disparaître plusieurs centaines de dollars en verres, ou que l’entreprise récupérera gratuitement un câble HDMI, on saisit les montants sans hésiter. Si la comptabilité personnelle marche moins bien, c’est parce que ce qu’on perd, ce n’est pas de l’argent, seulement de l’analyse
    • Étant indépendant, j’utilise Beancount pour les comptes de mon activité et mon portefeuille d’actions. J’aime son approche plus stricte, et son UI web, Fava, est pratique pour les rapports et les visualisations
      J’ai aussi quelques scripts qui automatisent des tâches comme l’import des transactions Wise ou le suivi des taux de change. Mais je n’ai pas la discipline nécessaire pour l’utiliser pour les dépenses personnelles quotidiennes ou la gestion du budget
    • Je ne m’en sers pas comme outil de motivation pour changer mes habitudes de dépense, mais j’aime conserver un historique de tous mes comptes et actifs. Cela me donne une meilleure compréhension de ma situation financière globale, et je crée des comptes virtuels à l’intérieur de comptes d’épargne liquides pour répartir le solde par postes à amortir, comme l’entretien de la voiture ou l’assurance
    • J’utilise hledger pour plusieurs usages : suivre les créances clients, classer les dépenses comme l’alimentation, les restaurants, les livres et les abonnements à des magazines, connaître le solde actuel de comptes dans plusieurs devises, suivre l’argent prêté à d’autres personnes et les cadeaux, ainsi que des enveloppes virtuelles d’épargne pour des objectifs comme les voyages, les cadeaux ou l’investissement
      Voir combien je gaspillais chaque jour au restaurant, puis calculer ce que cette somme aurait donné avec les intérêts composés si je l’avais placée dans un fonds indiciel, m’a beaucoup aidé à réduire cette habitude. Je peux aussi distinguer les créances clients, la trésorerie réelle et la trésorerie basée sur les revenus attendus
      Le fait de découper mentalement le solde du compte d’épargne, par exemple « objectif d’investissement 40 %, cadeaux 1 % », m’a évité de voir un gros solde et de le dépenser impulsivement. J’ai aussi un programme qui génère des graphiques sur la croissance du patrimoine et la hausse ou la baisse des dépenses par catégorie, ajoute des notes sur le fait que ces changements ont eu ou non un effet net positif sur ma vie, puis exporte tout cela vers une page web ; je m’en sers chaque année pour définir les prochains objectifs
      J’ai aussi un script Python qui convertit le fichier ledger en Excel pour l’envoyer à mon comptable pour la déclaration annuelle d’impôts. Le fichier ledger de l’activité professionnelle est séparé ; je ne le gère pas directement à la main, mais j’exporte les données depuis le logiciel du comptable pour faire mes propres calculs à la maison
      Dans l’entreprise, je l’utilise pour prévoir la trésorerie en estimant comment les dépenses évolueront avec la croissance du chiffre d’affaires, détecter les anomalies de dépenses par département, décider s’il faut recruter davantage ou augmenter les dépenses marketing, et calculer des indicateurs comme le ROIC
      La comptabilité en partie double aide à importer les relevés bancaires, générer le ledger, puis repérer les incohérences comptables. Je sépare les comptes par usage, comme les dépenses discrétionnaires, les avantages employés ou les intrants de l’activité, avec un versement hebdomadaire depuis le compte principal afin de vérifier les anomalies
      Par le passé, un comptable a manqué de transparence et a inscrit de fausses dépenses dans les comptes pour donner l’impression d’économiser beaucoup d’impôts ; cela s’est terminé au tribunal, avec une grosse amende et des pénalités de retard. Désormais, je ne fais pas confiance au comptable et je vérifie toujours
      J’ai beaucoup de scripts d’automatisation qui importent Stripe, les relevés bancaires, les écritures du comptable, etc., et je les rapproche en Python pour trouver les incohérences. En tant que programmeur, la comptabilité en texte brut me convient bien, et j’ai construit au fil des années mon propre système par-dessus hledger