Passer au contenu principal

4 articles tagués avec "outils financiers"

Voir tous les tags

Beancount v3 : Quoi de neuf ?

· 4 min de lecture
Mike Thrift
Mike Thrift
Marketing Manager

Beancount version 3, sortie mi-2024, marque une évolution architecturale significative pour l'outil de comptabilité en texte brut populaire. Bien qu'elle maintienne la rétrocompatibilité pour les fichiers de grand livre des utilisateurs, la structure sous-jacente et les outils qui l'accompagnent ont subi des changements substantiels. Voici un aperçu des nouveautés de Beancount v3.

Une architecture plus modulaire et rationalisée

2025-06-06-whats-new-in-beancount-v3

Le changement le plus significatif dans Beancount v3 est le passage à un écosystème plus modulaire. Plusieurs fonctionnalités clés qui étaient auparavant regroupées avec le noyau ont été séparées en projets indépendants. Cela rend le cœur de Beancount plus léger et permet un développement plus ciblé sur les composants individuels.

Les composants clés qui sont maintenant des paquets séparés incluent :

  • beanquery : L'outil de requête puissant de type SQL pour vos fichiers de grand livre est maintenant dans son propre paquet.
  • beangulp : C'est le nouveau foyer du framework d'importation de données, remplaçant l'ancien module beancount.ingest.
  • beanprice : Un outil dédié à la récupération des prix des matières premières et des actions.

Cette séparation signifie que les utilisateurs devront installer ces paquets en plus de beancount lui-même pour conserver toutes les fonctionnalités auxquelles ils étaient habitués dans la version 2.

Changements des outils en ligne de commande et des flux de travail

Reflétant la nouvelle architecture modulaire, il y a des changements notables aux outils en ligne de commande :

  • bean-report a disparu : Cet outil a été supprimé. Les utilisateurs sont maintenant encouragés à utiliser bean-query (du paquet beanquery) pour leurs besoins de reporting.
  • Nouveau flux de travail d'importation : Les commandes bean-extract et bean-identify ont été supprimées du noyau. La nouvelle approche avec beangulp est basée sur des scripts. Les utilisateurs devront maintenant créer leurs propres scripts Python pour gérer l'importation de données provenant de sources externes comme les relevés bancaires.

Améliorations de la syntaxe et des fonctionnalités

Bien que les principes comptables fondamentaux restent les mêmes, Beancount v3 introduit une flexibilité bienvenue dans sa syntaxe :

  • Codes de devise plus flexibles : Les restrictions précédentes sur la longueur et les caractères des noms de devises ont été assouplies. Les symboles de devise à un seul caractère sont maintenant pris en charge.
  • Drapeaux de transaction étendus : Les utilisateurs peuvent maintenant utiliser n'importe quelle lettre majuscule de A à Z comme drapeau pour les transactions, permettant une catégorisation plus granulaire.

Il est important de noter que ces changements sont rétrocompatibles, de sorte que vos fichiers de grand livre Beancount v2 existants fonctionneront sans aucune modification.

La réécriture en C++ et les performances

L'un des objectifs à long terme de Beancount a été la réécriture de ses composants critiques en termes de performance en C++. Bien que ce travail soit en cours, la version initiale de Beancount v3 n'inclut pas le noyau basé sur C++. Cela signifie que pour l'instant, les performances de la v3 sont comparables à celles de la v2. Le code C++ reste dans une branche de développement séparée pour une intégration future.

Migration de la v2 vers la v3

Pour la plupart des utilisateurs, la migration de Beancount v2 vers v3 est relativement simple :

  1. Fichiers de grand livre : Aucune modification n'est nécessaire pour vos fichiers .beancount.
  2. Installation : Vous devrez installer les nouveaux paquets séparés comme beanquery et beangulp en utilisant pip.
  3. Scripts d'importation : Si vous avez des importateurs personnalisés, vous devrez les mettre à jour pour utiliser la nouvelle API beangulp. Cela implique principalement de changer la classe de base dont vos importateurs héritent et d'ajuster certaines signatures de méthode.
  4. Fava : L'interface web populaire pour Beancount, Fava, a été mise à jour pour être compatible avec la v3. Assurez-vous d'avoir la dernière version de Fava pour une expérience fluide.

En substance, Beancount v3 est une version fondamentale qui rationalise l'architecture du projet, la rendant plus modulaire et plus facile à maintenir et à étendre à long terme. Bien qu'elle nécessite quelques ajustements aux flux de travail des utilisateurs, en particulier autour de l'importation de données, elle prépare le terrain pour le développement futur de cet outil de comptabilité puissant.

Annonce du site web Beancount.io v2 : Plus puissant, plus utile

· 3 min de lecture
Mike Thrift
Mike Thrift
Marketing Manager

Nous sommes ravis d'annoncer le lancement du site web entièrement repensé de Beancount.io ! Après des mois de développement minutieux et de retours de notre incroyable communauté, nous avons créé un centre plus intuitif, complet et riche en ressources pour tous vos besoins en comptabilité en texte brut.

Un nouveau look

2025-05-07-beancount-website-v2

Notre page d'accueil repensée reflète notre engagement envers la clarté et la simplicité — les principes mêmes qui rendent la comptabilité en texte brut si puissante. Avec un design épuré et moderne qui met l'accent sur la convivialité, nous avons rendu plus facile que jamais la recherche de ce dont vous avez besoin. La nouvelle identité visuelle représente mieux notre mission : rendre la comptabilité accessible et transparente pour tous, des amateurs aux professionnels de la finance.

Documentation et tutoriels étendus

Nous avons considérablement étendu nos sections de documentation et de tutoriels pour soutenir les utilisateurs à tous les niveaux :

  • Guide de démarrage : Une expérience d'intégration entièrement repensée pour les nouveaux venus dans la comptabilité en texte brut
  • Tutoriels interactifs : Des parcours pas à pas avec des exemples concrets
  • Sujets avancés : Documentation détaillée sur les scénarios comptables complexes, les personnalisations et les intégrations
  • Référence des commandes : Explications complètes de chaque commande et option dans Beancount
  • Dépannage : Problèmes courants et leurs solutions, contribués par nos experts de la communauté

Chaque tutoriel a été soigneusement conçu pour vous guider du concept à la mise en œuvre avec des exemples pratiques que vous pouvez appliquer immédiatement à vos propres livres comptables.

Ressources pour une meilleure comptabilité

Au-delà de la simple explication de l'utilisation de Beancount, nous avons ajouté des ressources pour vous aider à améliorer vos compétences en comptabilité :

Et ensuite ?

Cette refonte du site web n'est que le début. Nous nous engageons à améliorer continuellement l'expérience Beancount en fonction de vos retours. Prochainement :

  • Tutoriels d'intégration supplémentaires pour les services financiers populaires
  • Rénovation des applications mobiles Beancount
  • Plus de contenu localisé pour les utilisateurs internationaux
  • Forum communautaire étendu pour le partage des connaissances
  • Webinaires réguliers sur des sujets comptables avancés

Nous serions ravis de connaître votre avis sur le nouveau site ! Partagez vos commentaires via notre canal communautaire.

Bonne comptabilité !

L'équipe Beancount.io

L'écosystème Beancount : Une analyse complète

· 41 min de lecture
Mike Thrift
Mike Thrift
Marketing Manager

Fonctionnalités Clés et Philosophie de Beancount

Beancount est un système de comptabilité en partie double, open-source, qui utilise des fichiers texte brut pour enregistrer les transactions. À la base, Beancount traite votre grand livre comme un ensemble de données défini par une grammaire simple et stricte. Chaque événement financier (transactions, ouvertures de comptes, prix des marchandises, etc.) est une directive dans un fichier texte, que Beancount analyse en une base de données d'écritures en mémoire. Cette conception applique le principe de la partie double : chaque transaction doit équilibrer les débits et les crédits entre les comptes. Le résultat est un grand livre très transparent et vérifiable que vous pouvez contrôler par version, inspecter et interroger facilement.

2025-04-15-beancount-ecosystem

Philosophie – exactitude et minimalisme : La conception de Beancount privilégie l'intégrité des données et la simplicité. Son créateur, Martin Blais, décrit Beancount comme "pessimiste" en supposant que l'utilisateur fera des erreurs et impose ainsi des vérifications et des contraintes supplémentaires. Par exemple, Beancount ne vous permettra pas de retirer des actifs qui n'ont jamais été ajoutés (empêchant les soldes négatifs de titres ou de liquidités) et peut exiger que chaque compte soit ouvert avant utilisation. Il ne possède pas le concept de "postings" virtuels ou automatiquement équilibrés de Ledger – un choix intentionnel pour forcer des écritures entièrement équilibrées. Beancount "met le paquet" sur l'exactitude avec plus de vérifications croisées que ce que la comptabilité en partie double de base ne fournit. Cette approche prudente séduit les utilisateurs qui "ne se font pas trop confiance" et souhaitent que le logiciel détecte leurs erreurs.

Options minimales, cohérence maximale : Contrairement à la myriade d'options de ligne de commande et de réglage de Ledger, Beancount opte pour le minimalisme. Il y a très peu d'options globales, et aucune ne modifie la sémantique des transactions en dehors du fichier du grand livre. Toute configuration qui affecte la comptabilité (comme les méthodes de coût de base des marchandises ou les hypothèses de comptabilisation) est effectuée dans le fichier via des directives ou des plugins, garantissant que le chargement du même fichier produit toujours les mêmes résultats, quelle que soit la manière dont les rapports sont générés. Cette conception évite la complexité des nombreux réglages de Ledger et les interactions subtiles entre eux. La philosophie de Beancount est qu'un outil de comptabilité doit être un pipeline stable et déterministe du fichier d'entrée aux rapports. Il y parvient en traitant le grand livre comme un flux ordonné de directives qui peuvent être traitées séquentiellement par programme. Même les éléments que Ledger traite comme une syntaxe spéciale (comme les soldes d'ouverture ou les relevés de prix) sont des directives de première classe dans le modèle de données de Beancount, ce qui rend le système hautement extensible.

Extensibilité via les plugins et le langage de requête : Beancount est implémenté en Python et fournit des points d'intégration pour injecter une logique personnalisée dans le pipeline de traitement. Les utilisateurs peuvent écrire des plugins en Python qui opèrent sur le flux de transactions (par exemple, pour appliquer une règle personnalisée ou générer des écritures automatiques). Ces plugins s'exécutent au fur et à mesure que le fichier est traité, étendant efficacement les fonctionnalités de base de Beancount sans avoir besoin de modifier le code source. Beancount inclut également un puissant langage de requête (inspiré de SQL) pour analyser et manipuler le grand livre. L'outil bean-query traite le grand livre analysé comme une base de données et vous permet d'exécuter des requêtes analytiques dessus – par exemple, sommer les dépenses par catégorie ou extraire toutes les transactions pour un bénéficiaire donné. Dans Beancount 3.x, cette capacité de requête a été déplacée dans un package beanquery autonome, mais du point de vue de l'utilisateur, elle offre toujours des rapports flexibles via des requêtes de type SQL.

Texte brut et contrôle de version : En tant qu'outil de comptabilité en texte brut, Beancount met l'accent sur le contrôle par l'utilisateur et la longévité des données. Le grand livre est simplement un fichier texte .beancount que vous pouvez modifier dans n'importe quel éditeur de texte. Cela signifie que toute votre historique financier est stocké sous une forme lisible par l'homme, et vous pouvez le placer sous Git ou un autre VCS pour suivre les changements au fil du temps. Les utilisateurs conservent souvent leur fichier Beancount sous contrôle de version pour maintenir une piste d'audit de chaque modification (avec des messages de commit décrivant les changements). Cette approche s'aligne sur la philosophie de Beancount selon laquelle les données comptables, en particulier les finances personnelles ou de petites entreprises, doivent être transparentes et "pérennes" – non enfermées dans une base de données propriétaire. Selon les propres mots de Martin Blais, Beancount est un "travail d'amour" conçu pour être simple, durable et gratuit pour la communauté. Il a été développé pour la première fois vers 2007 et a évolué à travers des réécritures majeures (v1 à v2, et maintenant v3 en 2024) pour affiner sa conception tout en préservant sa philosophie fondamentale de minimalisme et d'exactitude.

Outils, Plugins et Extensions dans l'écosystème Beancount

L'écosystème Beancount s'est enrichi d'un vaste ensemble d'outils, plugins et extensions qui améliorent les fonctionnalités de base du grand livre. Ils couvrent l'importation de données, l'édition des grands livres, la visualisation de rapports et l'ajout de fonctionnalités comptables spécialisées. Vous trouverez ci-dessous un aperçu des composants clés et des modules complémentaires dans l'univers Beancount :

Utilitaires d'importation de données (Importateurs)

L'un des besoins les plus importants pour une utilisation pratique est l'importation de transactions depuis les banques, les cartes de crédit et d'autres institutions financières. Beancount fournit un cadre d'importation et des scripts d'importation contribués par la communauté à cette fin. Dans Beancount 2.x, le module intégré beancount.ingest (avec des commandes comme bean-extract et bean-identify) était utilisé pour définir des plugins d'importation en Python et les appliquer aux relevés téléchargés. Dans Beancount 3.x, cela a été remplacé par un projet externe appelé Beangulp. Beangulp est un cadre d'importateurs dédié qui a évolué à partir de beancount.ingest et est maintenant la méthode recommandée pour automatiser l'importation de transactions pour Beancount 3.0. Il permet d'écrire des scripts Python ou des outils en ligne de commande qui lisent des fichiers externes (comme des relevés CSV ou PDF) et produisent des écritures Beancount. Cette nouvelle approche découple la logique d'importation du cœur de Beancount – par exemple, l'ancienne commande bean-extract a été supprimée dans la v3, et vos scripts d'importation produisent eux-mêmes des transactions via l'interface CLI de Beangulp.

Des dizaines d'importateurs prêts à l'emploi existent pour différentes banques et formats, contribués par la communauté. Il existe des scripts d'importation pour des institutions du monde entier – d'Alipay et WeChat Pay en Chine, à diverses banques européennes (Commerzbank, ING, ABN AMRO, etc.), aux banques américaines comme Chase et Amex. Beaucoup d'entre eux sont rassemblés dans des dépôts publics (souvent sur GitHub) ou dans des paquets comme beancount-importers. Par exemple, le projet Tarioch Beancount Tools (tariochbctools) fournit des importateurs pour les banques suisses et britanniques et gère même les importations de transactions crypto. Un autre exemple est Lazy Beancount, qui regroupe un ensemble d'importateurs courants (pour Wise, Monzo, Revolut, IBKR, etc.) et fournit une configuration basée sur Docker pour une automatisation facile. Quelle que soit la banque ou le service financier que vous utilisez, il y a de fortes chances que quelqu'un ait écrit un importateur Beancount pour cela – ou vous pouvez écrire le vôtre en utilisant le cadre de Beangulp. La flexibilité de Python signifie que les importateurs peuvent gérer l'analyse des fichiers CSV/Excel, les téléchargements OFX/QIF, ou même le scraping d'APIs, puis émettre des transactions au format Beancount standardisé.

Édition et Intégration aux Éditeurs

Étant donné que les journaux Beancount sont de simples fichiers texte, les utilisateurs exploitent souvent leurs éditeurs de texte ou IDEs préférés pour les gérer. L'écosystème propose des plugins de support d'éditeur pour faciliter cette expérience. Il existe des extensions pour de nombreux éditeurs populaires qui ajoutent la coloration syntaxique, l'auto-complétion des noms de comptes et la vérification des erreurs en temps réel :

  • Emacs Beancount-Mode : Un mode majeur Emacs (beancount-mode) est disponible pour éditer les fichiers .beancount, offrant des fonctionnalités telles que la coloration syntaxique et l'intégration avec le vérificateur de Beancount. Il peut même exécuter bean-check en arrière-plan afin que les erreurs dans le grand livre (comme une transaction déséquilibrée) soient signalées au fur et à mesure que vous éditez.
  • Extension VS Code : Une extension Beancount sur le VSCode Marketplace offre des commodités similaires aux utilisateurs de Visual Studio Code. Elle prend en charge la coloration syntaxique, l'alignement des montants, l'auto-complétion pour les comptes/bénéficiaires, et même des vérifications de solde à la volée lorsque vous enregistrez le fichier. Elle peut également s'intégrer à Fava, vous permettant de lancer l'interface web de Fava depuis VSCode.
  • Des plugins ou modes existent également pour Vim, Atom et d'autres éditeurs. Par exemple, il existe une grammaire Tree-sitter pour Beancount, qui alimente la coloration syntaxique dans les éditeurs modernes et a même été adoptée dans le composant d'édition web de Fava. En bref, quel que soit votre environnement d'édition, la communauté a probablement fourni un plugin pour rendre l'édition des fichiers Beancount pratique et sans erreur.

Pour la saisie rapide de transactions en dehors des éditeurs traditionnels, il existe également des outils comme Bean-add et les applications mobiles. Bean-add est un outil en ligne de commande qui permet d'ajouter une nouvelle transaction via une invite ou une ligne de commande unique, gérant les suggestions de date et de compte. Sur mobile, un projet appelé Beancount Mobile offre une interface simple pour saisir des transactions en déplacement (par exemple, enregistrer un achat en espèces depuis votre téléphone). De plus, un Bot Telegram Beancount existe pour capturer les transactions via la messagerie – vous pouvez envoyer un message avec les détails de la transaction, et le bot le formate dans votre fichier de grand livre.

Interfaces Web et Outils de Visualisation

(Fava) L'interface web de Fava fournit un tableau de bord interactif pour Beancount, présentant des rapports comme un compte de résultat avec des visualisations (montré ici comme une arborescence des dépenses par catégorie) ainsi que des tableaux de comptes et de soldes.

L'interface principale de Beancount est Fava, une interface web moderne. Fava fonctionne comme une application web locale qui lit votre fichier Beancount et produit une expérience interactive riche dans votre navigateur. Elle offre une suite complète de rapports : bilan, compte de résultat, valeur nette au fil du temps, avoirs en portefeuille, graphiques de performance, budgets, et plus encore – tout cela prêt à l'emploi. Les utilisateurs citent souvent Fava comme une raison majeure de choisir Beancount plutôt que d'autres outils de comptabilité en texte brut. Avec une seule commande (fava ledger.beancount), vous pouvez parcourir vos finances avec des graphiques et des tableaux au lieu de texte. Fava prend en charge des fonctionnalités telles que : l'exploration détaillée des comptes, le filtrage des transactions par bénéficiaire ou étiquette, un éditeur de requêtes (pour que vous puissiez exécuter des requêtes Beancount et voir les résultats dans le navigateur), et même un éditeur web intégré pour votre grand livre. Elle est très utilisable, rendant la comptabilité en texte brut accessible à ceux qui préfèrent les interfaces visuelles.

En coulisses, Fava est écrit en Python (Flask pour le backend) et JavaScript (Svelte pour le frontend). Elle a son propre cycle de publication et est activement maintenue. Notamment, Fava a suivi le rythme de développement de Beancount – par exemple, Fava 1.30 a ajouté le support de Beancount v3, passant à l'utilisation interne des nouveaux paquets beanquery et beangulp. (Elle prend toujours en charge Beancount 2 pour les grands livres plus anciens.) L'accent mis par Fava sur la convivialité inclut des touches agréables comme l'auto-complétion dans l'éditeur web, et une interface utilisateur élégante avec un mode sombre et des graphiques réactifs. Il existe également un dérivé appelé Fava-GTK, qui intègre Fava dans une application de bureau pour les utilisateurs de GNOME/Linux qui préfèrent une sensation d'application native.

Au-delà de Fava, d'autres options de visualisation et d'analyse existent. Étant donné que les données Beancount peuvent être exportées ou interrogées sous forme de tableaux, les utilisateurs exploitent souvent des outils comme les notebooks Jupyter ou Pandas pour des analyses personnalisées. Par exemple, un utilisateur décrit l'extraction de données de Beancount via l'interface de requête dans un DataFrame Pandas pour préparer un rapport personnalisé. Il existe également des scripts contribués par la communauté pour des rapports spécifiques – par exemple, un outil d'analyse de l'allocation de portefeuille ou un graphique de contrôle de processus pour les dépenses par rapport à la valeur nette. Cependant, pour la plupart des gens, Fava offre une puissance de reporting plus que suffisante sans avoir besoin d'écrire du code. Elle prend même en charge les extensions : vous pouvez y déposer des fichiers Python qui ajoutent de nouvelles pages de rapport ou des graphiques à Fava. Une extension notable est fava-envelope pour la budgétisation par enveloppes au sein de Fava. Globalement, Fava sert de centre de visualisation central de l'écosystème Beancount.

Utilitaires et scripts en ligne de commande

Beancount est livré avec divers outils en ligne de commande (en particulier dans l'ancienne branche v2, dont certains ont été réduits dans la v3). Ces outils opèrent sur votre fichier de grand livre pour le vérifier ou générer des rapports spécifiques en texte ou en HTML :

  • bean-check : un validateur qui vérifie les erreurs de syntaxe ou les erreurs comptables dans le fichier. L'exécution de bean-check myfile.beancount vous alertera de tout déséquilibre, compte manquant ou autre problème, et ne produira rien si le fichier est exempt d'erreurs.
  • bean-format : un formateur qui organise votre grand livre en alignant les chiffres dans des colonnes soignées, un peu comme l'exécution d'un formateur de code sur du code source. Cela aide à maintenir le fichier propre et lisible.
  • bean-query : un shell interactif ou un outil de traitement par lots pour exécuter le langage de requête de Beancount sur votre grand livre. Vous pouvez l'utiliser pour produire des rapports tabulaires personnalisés (par ex., bean-query myfile.beancount "SELECT account, sum(amount) WHERE ...").
  • bean-report : un générateur de rapports polyvalent (en v2) capable de produire des rapports prédéfinis (bilan, compte de résultat, balance de vérification, etc.) sur la console ou dans des fichiers. Par exemple, bean-report file.beancount balances imprimerait les soldes des comptes. (En pratique, bon nombre de ces rapports textuels ont été supplantés par la présentation plus agréable de Fava.)
  • bean-web / bean-bake : une ancienne interface web qui servait les rapports sur localhost ou les "cuisait" (générait) en tant que fichiers HTML statiques. Ceux-ci étaient principalement utilisés avant que Fava ne devienne populaire ; bean-web fournissait une vue web basique des mêmes rapports que bean-report pouvait générer. Dans Beancount 3, bean-web a été supprimé (car Fava est maintenant l'interface web recommandée, offrant une expérience supérieure).
  • bean-example : un utilitaire pour générer un fichier de grand livre exemple (utile pour les nouveaux utilisateurs afin de voir un modèle d'écritures Beancount).
  • bean-doctor : un outil de débogage capable de diagnostiquer les problèmes dans votre grand livre ou votre environnement.

Il est important de noter qu'à partir de Beancount v3, bon nombre de ces outils ont été déplacés hors du projet principal. Le paquet Beancount principal a été rationalisé, et des outils comme le moteur de requête et les importateurs ont été scindés en paquets séparés (beanquery, beangulp, etc.) pour faciliter la maintenance. Par exemple, la fonctionnalité de bean-query est maintenant fournie par l'outil beanquery qui est installé séparément. Du point de vue de l'utilisateur, la fonctionnalité reste disponible ; elle a simplement été modularisée. La communauté Arch Linux a noté ce changement lors de la mise à jour de Fava : le paquet Fava a ajouté des dépendances à beanquery et beangulp pour prendre en charge Beancount 3.x. Cette approche modulaire permet également à d'autres membres de la communauté de contribuer à ces outils auxiliaires plus indépendamment du cycle de publication de Beancount.

Plugins et Extensions Beancount

Une force remarquable de l'écosystème Beancount est son système de plugins. En ajoutant une ligne plugin "module.name" dans votre fichier Beancount, vous pouvez intégrer une logique Python personnalisée qui s'exécute pendant le traitement du grand livre. La communauté a créé de nombreux plugins pour étendre les capacités de Beancount :

  • Qualité des données et règles : Des exemples incluent beancount-balexpr qui vous permet d'affirmer des équations impliquant plusieurs comptes (par exemple, Actif A + Actif B = Passif X), et beancount-checkclosed qui insère automatiquement des assertions de solde lorsque vous clôturez un compte pour s'assurer qu'il est à zéro. Il existe même un plugin pour s'assurer que les transactions dans le fichier sont triées par date (autobean.sorted) afin de détecter les entrées désordonnées.
  • Automatisation : Le plugin beancount-asset-transfer peut générer des écritures de transfert en nature entre comptes (utile pour déplacer des actions entre courtiers tout en préservant le prix de revient). Un autre, autobean.xcheck, recoupe votre grand livre Beancount avec des relevés externes pour détecter les écarts.
  • Transactions récurrentes et budgets : Le plugin « repeat » ou d'interpolation d'Akuukis permet de définir des transactions récurrentes ou de répartir une dépense annuelle sur plusieurs mois. Pour la budgétisation, l'extension fava-envelope (utilisée via Fava) prend en charge la méthodologie de budgétisation par enveloppes en texte brut. Il existe également MiniBudget de Frank Davies – un petit outil autonome inspiré de Beancount pour aider à la budgétisation pour un usage personnel ou pour les petites entreprises.
  • Fiscalité et rapports : Certains plugins aident à la comptabilité fiscale, comme celui qui classe automatiquement les plus-values en court ou long terme. Un autre (fincen_114 de Justus Pendleton) génère un rapport FBAR pour les contribuables américains ayant des comptes étrangers, illustrant comment les données Beancount peuvent être utilisées pour les rapports réglementaires.
  • Dépôts de plugins communautaires : Il existe des ensembles de plugins organisés tels que beancount-plugins (par Dave Stephens) se concentrant sur des éléments comme les écritures d'amortissement, et beancount-plugins-zack (par Stefano Zacchiroli) qui incluent divers utilitaires comme les directives de tri.

En plus des plugins, d'autres outils utilitaires gravitant autour de Beancount répondent à des besoins spécifiques. Par exemple, beancount-black est un auto-formateur similaire au formateur de code Black, mais pour les fichiers de grand livre Beancount. Il existe un Bot Beancount (Telegram/Mattermost) pour ajouter des transactions via le chat comme mentionné, et un workflow Alfred pour macOS pour ajouter rapidement des transactions à votre fichier. Un outil nommé Pinto offre une interface en ligne de commande « suralimentée » avec saisie interactive (comme un bean-add amélioré). Pour ceux qui migrent depuis d'autres systèmes, des convertisseurs existent (YNAB2Beancount, CSV2Beancount, GnuCash2Beancount, Ledger2Beancount) pour aider à importer des données d'ailleurs.

En résumé, l'écosystème Beancount est assez vaste. Le Tableau 1 ci-dessous liste quelques outils et extensions majeurs avec leurs rôles :

Outil/ExtensionDescription
Fava (interface web)Application web complète pour visualiser et modifier les livres Beancount. Fournit des rapports interactifs (bilan, revenus, etc.), des graphiques et des capacités de requête. Un atout majeur pour l'ergonomie de Beancount.
Beangulp (cadre d'importation)Cadre d'importation autonome pour Beancount v3, remplaçant l'ancien module d'ingestion. Aide à convertir les relevés bancaires (CSV, PDF, etc.) en écritures Beancount à l'aide de scripts de plugins.
Beanquery (outil de requête)Moteur de requête autonome de type SQL pour les données Beancount. Remplace bean-query dans la v3, permettant des requêtes avancées sur les transactions et les soldes via une syntaxe SELECT-FROM-WHERE familière.
Bean-check / Bean-formatOutils CLI essentiels pour valider un fichier Beancount (vérifier les erreurs) et le formater automatiquement pour la cohérence. Utile pour maintenir un grand livre correct et propre.
Plugins d'éditeur (Emacs, VSCode, Vim, etc.)Plugins/modes qui ajoutent la prise en charge de la syntaxe Beancount et le linting dans les éditeurs de texte. Améliorent l'expérience d'édition manuelle des fichiers .beancount avec des fonctionnalités comme l'auto-complétion et la mise en évidence des erreurs en temps réel.
Importateurs communautairesCollections de scripts d'importation bancaire (nombreux sur GitHub) couvrant des banques aux États-Unis, en UE, en Asie, et plus encore. Permettent aux utilisateurs d'ingérer automatiquement les transactions de leurs institutions financières dans Beancount.
Plugins (extensions de grand livre)Plugins optionnels intégrés aux fichiers pour appliquer des règles ou ajouter des fonctionnalités (par exemple, partage de dépenses, écritures récurrentes, assertions de solde personnalisées). Écrits en Python et exécutés pendant le traitement du fichier pour la personnalisation.
Convertisseurs (Outils de migration)Utilitaires pour convertir des données d'autres formats vers Beancount, par exemple de GnuCash ou Ledger CLI au format Beancount. Facilitent l'adoption de Beancount sans partir de zéro.

Comparaison avec Ledger, hledger et les systèmes similaires

Beancount appartient à la famille des outils de comptabilité en partie double en texte brut, parmi lesquels Ledger CLI (Ledger de John Wiegley) et hledger sont proéminents. Bien que tous ces systèmes partagent l'idée fondamentale de fichiers de grand livre en texte brut et de la comptabilité en partie double, ils diffèrent par leur syntaxe, leur philosophie et la maturité de leur écosystème. Le tableau suivant met en évidence les principales différences entre Beancount, Ledger et hledger :

AspectBeancount (Python)Ledger CLI (C++)hledger (Haskell)
Syntaxe et structure de fichierSyntaxe stricte et structurée définie par une grammaire formelle (BNF). Les transactions comportent des lignes explicites date flag "Bénéficiaire" "Libellé" et des écritures avec des quantités ; tous les comptes doivent être explicitement ouverts/définis. Pas d'écritures implicites ; chaque transaction doit s'équilibrer.Syntaxe plus libre. Le bénéficiaire/la description se trouve généralement sur la même ligne que la date. Permet un certain équilibrage implicite (par exemple, une transaction à une seule écriture peut impliquer une seconde écriture vers un compte par défaut). Les noms de compte peuvent être utilisés sans déclaration préalable. Offre de nombreuses options de ligne de commande qui peuvent affecter l'analyse (par exemple, les hypothèses d'année, les règles de fusion des marchandises).Suit largement la syntaxe de Ledger avec des différences mineures. hledger est une réimplémentation des fonctionnalités principales de Ledger en Haskell, de sorte que le format du journal est très similaire à celui de Ledger (avec quelques extensions et une analyse plus stricte par défaut). Par exemple, hledger est un peu plus strict concernant les dates et la syntaxe des marchandises que Ledger, mais pas autant que Beancount.
PhilosophieConservateur et Pédant. Met l'accent sur la détection des erreurs utilisateur et le maintien de l'intégrité des données avant tout. Impose de nombreuses vérifications (assertions de solde, suivi des lots) par défaut. Configuration minimale – approche "une seule façon de faire" pour la cohérence. Conçu comme une bibliothèque avec des plugins pour l'extensibilité (traite les données du grand livre comme un flux à traiter, permettant une logique Python personnalisée).Optimiste et Flexible. Fait confiance à l'utilisateur pour saisir les données correctement ; moins de contraintes intégrées par défaut. Hautement personnalisable avec des dizaines d'options et de drapeaux de commande pour ajuster le comportement. Tend à être un outil monolithique avec des fonctionnalités intégrées (rapports, graphiques) et utilise un langage spécifique au domaine au sein du grand livre pour des éléments tels que les transactions automatisées et les transactions périodiques. L'extensibilité se fait généralement via des scripts externes ou le langage de requête intégré plutôt que par des API de plugins.Pragmatique et Cohérent. Vise à rendre l'approche de Ledger accessible à un public plus large avec un comportement prévisible. hledger privilégie par défaut une plus grande cohérence (pas d'hypothèses d'équilibrage sans comptes explicites) et présente moins de pièges que les modes les plus permissifs de Ledger. Il dispose d'un sous-ensemble des fonctionnalités de Ledger (certaines des options plus exotiques de Ledger ne sont pas prises en charge), mais en ajoute certaines des siennes (comme une interface web et l'importation CSV intégrées). Met l'accent sur la stabilité et l'exactitude, mais sans système de plugins comme celui de Beancount.
Transactions et équilibrageComptabilité en partie double stricte : chaque transaction doit avoir des débits et des crédits totaux égaux. Ne permet pas les écritures déséquilibrées ou les espaces réservés (pas d'"écritures virtuelles" qui s'auto-équilibrent). Applique également l'indépendance de l'ordre : le grand livre peut être trié par date arbitrairement car les assertions de solde sont liées à la date, ne dépendant pas de l'ordre du fichier. Le suivi des coûts pour les marchandises est rigoureux – lorsque vous vendez des actifs, vous devez spécifier les lots ou Beancount appliquera FIFO/LIFO de manière à ce que vous ne puissiez pas retirer quelque chose que vous n'avez pas ajouté.Permet plus de souplesse dans les transactions. Ledger autorise les écritures "virtuelles" (utilisant des crochets [ ] ou des parenthèses) qui ne nécessitent pas de compte d'équilibrage explicite – souvent utilisées pour gérer la budgétisation ou l'équilibrage implicite des capitaux propres. Il est possible dans Ledger de saisir une transaction incomplète (en omettant un côté) et de laisser Ledger déduire le montant d'équilibrage. De plus, Ledger n'applique pas strictement le retrait d'actifs lot par lot ; il soustraira volontiers d'un solde global de marchandises même si des lots spécifiques n'ont pas été suivis. Cela facilite, par exemple, la comptabilité au coût moyen, mais signifie que Ledger ne vous empêchera pas de faire des erreurs comme vendre plus d'actions que vous n'en avez dans un lot donné.
Inventaire et coût de baseSuivi précis des lots. Beancount associe les informations de coût aux lots de marchandises (par exemple, achat de 10 actions à 100 $ chacune), et lors de la réduction d'un inventaire, il exige la correspondance d'un lot spécifique ou l'utilisation d'une stratégie définie. Il garantit que les gains en capital

Cas d'utilisation de Beancount

Beancount est suffisamment polyvalent pour être utilisé pour le suivi des finances personnelles ainsi que (dans certains cas) pour la comptabilité des petites entreprises. Son approche fondamentale de la comptabilité en partie double est la même dans les deux cas, mais l'échelle et les pratiques spécifiques peuvent différer.

Finances personnelles

De nombreux utilisateurs de Beancount l'emploient pour gérer leurs finances individuelles ou familiales. Une configuration typique de finances personnelles dans Beancount pourrait inclure des comptes courants et d'épargne, des cartes de crédit, des investissements, des prêts, des catégories de revenus (salaire, intérêts, etc.) et des catégories de dépenses (loyer, épicerie, divertissement, etc.). Les utilisateurs enregistrent les transactions quotidiennes soit manuellement (en saisissant les reçus, les factures, etc.), soit en les important à partir de relevés bancaires à l'aide des outils d'importation abordés précédemment. Les avantages que Beancount apporte aux finances personnelles sont les suivants :

  • Consolidation et analyse : Toutes vos transactions peuvent résider dans un seul fichier texte (ou un ensemble de fichiers) qui représente des années d'historique financier. Cela facilite l'analyse des tendances à long terme. Avec le langage de requête de Beancount ou avec Fava, vous pouvez répondre en quelques secondes à des questions comme « Combien ai-je dépensé en voyages au cours des 5 dernières années ? » ou « Quel est mon budget moyen mensuel pour l'épicerie ? ». Un utilisateur a noté qu'après être passé à Beancount, « l'analyse des données financières (dépenses, dons, impôts, etc.) est triviale », que ce soit via Fava ou en interrogeant les données et en utilisant des outils comme Pandas. En substance, votre grand livre devient une base de données financière personnelle que vous pouvez interroger à volonté.
  • Budgétisation et planification : Bien que Beancount n'impose pas de système de budgétisation, vous pouvez en implémenter un. Certains utilisateurs pratiquent la budgétisation par enveloppes en créant des comptes budgétaires ou en utilisant le plugin fava-envelope. D'autres utilisent simplement des rapports périodiques pour comparer les dépenses aux objectifs. Comme il s'agit de texte brut, l'intégration de Beancount avec des outils de budgétisation externes ou des tableurs est simple (exportation de données ou utilisation des sorties CSV des requêtes).
  • Suivi des investissements et de la valeur nette : Beancount excelle dans le suivi des investissements grâce à sa gestion robuste des prix de revient et des prix du marché. Vous pouvez enregistrer les achats/ventes d'actions, de crypto-monnaies, etc., avec les détails des coûts, puis utiliser les directives Prices pour suivre la valeur marchande. Fava peut afficher un graphique de l'évolution de la valeur nette et une répartition du portefeuille par classe d'actifs. C'est extrêmement utile pour la gestion de patrimoine personnelle – vous obtenez des informations similaires à celles que fournissent des outils commerciaux comme Mint ou Personal Capital, mais entièrement sous votre contrôle. La gestion multi-devises est également intégrée, donc si vous détenez des devises étrangères ou des crypto-monnaies, Beancount peut les suivre et les convertir pour les rapports.
  • Rapprochement et exactitude : Les finances personnelles impliquent souvent un rapprochement avec les relevés bancaires. Avec Beancount, on peut régulièrement rapprocher les comptes en utilisant des assertions de solde ou la fonctionnalité de documents. Par exemple, chaque mois, vous pourriez ajouter une entrée balance Assets:Bank:Checking <date> <balance> pour confirmer que votre grand livre correspond au relevé de la banque à la fin du mois. L'outil bean-check (ou l'affichage des erreurs de Fava) vous alertera si les choses ne correspondent pas. Un utilisateur mentionne effectuer un rapprochement mensuel de tous les comptes, ce qui « aide à détecter toute activité inhabituelle » – une bonne pratique d'hygiène financière personnelle que Beancount facilite.
  • Automatisation : Les personnes averties en technologie ont automatisé une grande partie de leur flux de travail de finances personnelles avec Beancount. En utilisant des importateurs, des tâches cron et peut-être un peu de Python, vous pouvez configurer votre système de sorte que, par exemple, chaque jour vos transactions bancaires soient récupérées (certains utilisent OFX ou des API) et ajoutées à votre fichier Beancount, catégorisées par des règles. Au fil du temps, votre grand livre est majoritairement mis à jour automatiquement, et vous n'avez qu'à le réviser et l'ajuster si nécessaire. Un membre de la communauté sur Hacker News a partagé qu'après 3 ans, leurs livres Beancount étaient « 95 % automatiques ». Ce niveau d'automatisation est possible grâce à l'ouverture du texte brut de Beancount et à ses capacités de script.

Les utilisateurs de finances personnelles choisissent souvent Beancount plutôt que des tableurs ou des applications car il leur confère la propriété complète des données (pas de dépendance à un service cloud qui pourrait fermer – une préoccupation, par exemple, lorsque Mint a été abandonné) et parce que la profondeur des informations est plus grande lorsque toutes vos données sont intégrées. La courbe d'apprentissage n'est pas triviale – il faut apprendre les bases de la comptabilité et la syntaxe Beancount – mais des ressources comme la documentation officielle et les tutoriels communautaires aident les nouveaux venus à démarrer. Une fois configuré, beaucoup trouvent que cela apporte une tranquillité d'esprit d'avoir une image claire et fiable de leurs finances à tout moment.

Comptabilité des petites entreprises

L'utilisation de Beancount pour une petite entreprise (ou une organisation à but non lucratif, un club, etc.) est moins courante que pour un usage personnel, mais c'est tout à fait possible et certains l'ont fait avec succès. Le cadre de la comptabilité en partie double de Beancount est en fait le même système qui sous-tend la comptabilité d'entreprise, mais sans certaines des fonctionnalités de niveau supérieur que les logiciels comptables dédiés offrent (comme les modules de facturation ou les intégrations de paie). Voici comment Beancount peut s'intégrer dans le contexte d'une petite entreprise :

  • Grand Livre et États Financiers : Une petite entreprise peut considérer le fichier Beancount comme son grand livre. Vous auriez des comptes d'actif pour les comptes bancaires, les créances clients, peut-être les stocks ; des comptes de passif pour les cartes de crédit, les emprunts, les dettes fournisseurs ; des capitaux propres pour le capital du propriétaire ; des comptes de produits pour les ventes ou les services ; et des comptes de charges pour toutes les dépenses de l'entreprise. En tenant ce grand livre, vous pouvez produire un Compte de Résultat (Profits et Pertes) et un Bilan à tout moment en utilisant les rapports ou les requêtes de Beancount. En fait, les rapports intégrés de Beancount ou Fava peuvent générer un bilan et un compte de résultat en quelques secondes, parfaitement conformes aux principes comptables. Cela peut être suffisant pour une petite entreprise afin d'évaluer sa rentabilité, sa situation financière et ses flux de trésorerie (avec un peu de requêtes pour les flux de trésorerie, car les tableaux de flux de trésorerie directs ne sont pas intégrés mais peuvent être dérivés).
  • Factures et Clients (A/R), Fournisseurs (A/P) : Beancount ne dispose pas de système de facturation intégré ; les utilisateurs géreraient généralement la facturation en externe (par exemple, créer des factures dans Word ou une application de facturation), puis enregistreraient les résultats dans Beancount. Par exemple, lorsque vous émettez une facture, vous enregistreriez une écriture débitant les Comptes Clients et créditant les Produits. Lorsque le paiement arrive, vous débitez Caisse/Banque et créditez les Comptes Clients. De cette façon, vous pouvez suivre les créances en suspens en consultant le solde du compte Clients. Il en va de même pour les factures fournisseurs (A/P). Bien que cela soit plus manuel qu'un logiciel comptable spécialisé (qui pourrait envoyer des rappels ou s'intégrer aux e-mails), c'est parfaitement réalisable. Certains utilisateurs ont partagé des modèles ou des flux de travail sur la façon dont ils gèrent les factures avec Beancount et s'assurent de ne pas oublier les factures ouvertes (par exemple, en utilisant des métadonnées ou des requêtes personnalisées pour lister les factures impayées).
  • Stocks ou Coût des Marchandises Vendues : Pour les entreprises vendant des produits, Beancount peut suivre les achats et les ventes de stocks, mais cela nécessite des écritures rigoureuses. Vous pourriez utiliser les fonctionnalités de Stocks et de comptabilité analytique des coûts : l'achat de stocks augmente un compte d'actif (avec le coût attaché aux articles), la vente déplace le coût vers une charge (CMV) et enregistre les revenus. Parce que Beancount insiste sur l'appariement des lots, il forcera une réduction correcte des stocks avec le bon coût, ce qui peut en fait garantir l'exactitude de vos calculs de marge brute si cela est bien fait. Cependant, il n'y a pas de suivi automatisé des UGS ou quoi que ce soit de ce genre – tout est au niveau financier (quantité et coût).
  • Paie et Transactions Complexes : Beancount peut enregistrer les transactions de paie (charge salariale, retenues fiscales, etc.), mais le calcul de ces chiffres pourrait être effectué en externe ou via un autre outil, puis simplement enregistré dans Beancount. Pour une très petite entreprise (disons un ou deux employés), c'est gérable. Vous enregistreriez, par exemple, une seule écriture de journal par période de paie qui ventile les salaires, les impôts retenus, les charges patronales, l'argent versé, etc. Faire cela manuellement est similaire à la façon dont on pourrait le faire dans les écritures de journal de QuickBooks – cela nécessite une connaissance des comptes à impacter.
  • Multi-utilisateur et Audit : Un défi dans un environnement commercial est de savoir si plusieurs personnes doivent accéder aux livres ou si un comptable doit les examiner. Puisque Beancount est un fichier texte, il n'est pas multi-utilisateur en temps réel. Cependant, héberger le fichier dans un dépôt Git peut permettre la collaboration : chaque personne peut modifier et valider, et les différences peuvent être fusionnées.
  • Conformité réglementaire : Pour la déclaration fiscale ou la conformité, les données de Beancount peuvent être utilisées pour générer les rapports nécessaires, mais cela peut nécessiter des requêtes personnalisées ou des plugins. Nous avons vu un exemple de plugin communautaire pour les rapports de conformité du gouvernement indien, et un autre pour les rapports FBAR du FinCEN. Cela montre qu'avec des efforts, Beancount peut être adapté pour répondre à des exigences de reporting spécifiques. Les petites entreprises dans les juridictions ayant des exigences simples (comptabilité de caisse, ou comptabilité d'engagement de base) peuvent certainement tenir leurs livres dans Beancount et produire des états financiers pour les déclarations de revenus. Cependant, des fonctionnalités comme les tableaux d'amortissement ou l'amortissement pourraient vous obliger à écrire vos propres écritures ou à utiliser un plugin (les plugins d'amortissement de Dave Stephens, par exemple, aident à automatiser cela). Il n'y a pas d'interface graphique pour "cliquer sur amortir un actif" comme dans certains logiciels comptables ; vous coderiez l'amortissement comme des transactions (ce qui, d'une certaine manière, le démystifie – tout est une écriture que vous pouvez inspecter).

En pratique, de nombreux propriétaires de petites entreprises axées sur la technologie ont utilisé Beancount (ou Ledger/hledger) s'ils préfèrent le contrôle et la transparence à la commodité de QuickBooks. Une discussion sur Reddit a noté que pour la comptabilité standard des petites entreprises avec un volume limité de transactions, Beancount fonctionne bien. Le facteur limitant est généralement le niveau de confort – si le propriétaire de l'entreprise (ou son comptable) est à l'aise avec un outil basé sur du texte. Un avantage est le coût : Beancount est gratuit, tandis que les logiciels comptables peuvent être coûteux pour une petite entreprise. D'autre part, le manque de support officiel et la nature "faites-le vous-même" signifient qu'il convient mieux à ceux qui sont à la fois propriétaires d'entreprise et quelque peu techniquement enclins. Pour les freelances ou les entrepreneurs individuels ayant des compétences en programmation, Beancount peut être un choix attrayant pour gérer leurs finances sans dépendre des services de comptabilité en ligne.

Des approches hybrides sont également possibles : certaines petites entreprises utilisent un système officiel pour les factures ou la paie, mais importent périodiquement les données dans Beancount pour l'analyse et l'archivage. De cette façon, elles bénéficient du meilleur des deux mondes – conformité et facilité pour les opérations quotidiennes, plus la puissance de Beancount pour une vue d'ensemble consolidée.

En résumé, Beancount peut gérer la comptabilité des petites entreprises, à condition que l'utilisateur soit prêt à gérer manuellement des choses que les logiciels commerciaux automatisent. Il assure un haut degré de transparence – vous comprenez profondément vos livres parce que vous les écrivez – et pour un utilisateur diligent, il peut produire des livres impeccables. Les utilisateurs personnels et professionnels bénéficient des forces fondamentales de Beancount : un moteur comptable fiable, une piste d'audit complète et une flexibilité pour s'adapter à des scénarios uniques (via le scripting et les plugins). Qu'il s'agisse de suivre un budget domestique ou les finances d'une startup, Beancount offre une boîte à outils pour le faire avec précision et transparence.

Communauté et activité de développement

Beancount dispose d'une communauté dédiée et d'une histoire de développement qui reflète sa nature open source, de niche mais passionnée. Voici les points clés concernant sa communauté, ses mainteneurs et les projets connexes :

  • Maintenance du projet : L'auteur principal de Beancount est Martin Blais, qui a initié le projet vers 2007 et l'a guidé à travers de multiples versions. Le développement a longtemps été un effort solitaire (mis à part les contributions de correctifs de la communauté). La philosophie de Martin était de construire un outil de comptabilité "utile pour moi d'abord, ainsi que pour les autres, de la manière la plus simple et la plus durable". Cette motivation personnelle a maintenu le projet comme une œuvre d'amour. En 2025, Martin Blais est toujours le mainteneur principal (son nom apparaît sur les commits et il répond aux questions sur la liste de diffusion/le suivi des problèmes), mais l'écosystème autour de Beancount compte de nombreux autres contributeurs dans leurs projets respectifs.

  • GitHub et dépôts : Le code source est hébergé sur GitHub sous le dépôt beancount/beancount. Le projet est sous licence GPL-2.0 et a attiré un nombre modeste de contributeurs au fil des ans. Mi-2024, Beancount Version 3 a été officiellement publiée comme la nouvelle branche stable. Cette version a impliqué la séparation de certains composants : par exemple, le dépôt beangulp (pour les importateurs) et le dépôt beanquery (pour l'outil de requête) font désormais partie de l'organisation GitHub beancount, maintenus de manière quelque peu indépendante. Le dépôt principal de Beancount se concentre sur le moteur comptable principal et l'analyseur de fichiers. En 2025, le GitHub de Beancount montre des discussions actives sur les problèmes et un développement continu – bien que le volume ne soit pas élevé, les problèmes et les requêtes de tirage (pull requests) arrivent au compte-gouttes, et des mises à jour occasionnelles sont effectuées pour corriger des bogues ou affiner des fonctionnalités.

  • Développement de Fava : Fava, l'interface web, a commencé comme un projet distinct (créé par Dominic Aumayr, qui en a déposé le copyright en 2016). Il a sa propre communauté de contributeurs et est également sur GitHub sous beancount/fava. Les mainteneurs et contributeurs de Fava (par exemple Jakob Schnetz, Stefan Otte, et d'autres ces dernières années) ont activement amélioré l'interface, avec des versions tous les quelques mois. Le chat Gitter de Fava (lié sur la documentation de Fava) et le suivi des problèmes GitHub sont des lieux où les utilisateurs et les développeurs discutent des nouvelles fonctionnalités ou des bogues. Le projet accueille les contributions, comme en témoigne une note dans le CHANGELOG remerciant plusieurs membres de la communauté pour leurs PRs. L'alignement étroit de Fava avec le développement de Beancount (tel que l'ajout rapide du support pour Beancount v3 et la nouvelle syntaxe beanquery) indique une bonne collaboration entre les deux projets.

  • Listes de diffusion et forums : Beancount dispose d'une liste de diffusion officielle (précédemment sur Google Groupes, intitulée "Beancount" ou parfois discutée sur la liste générale de Ledger). Cette liste de diffusion est une mine d'informations – les utilisateurs posent des questions sur la modélisation de certains scénarios, signalent des bogues et partagent des astuces. Martin Blais est connu pour répondre sur la liste de diffusion avec des explications détaillées. De plus, la communauté plus large de la Comptabilité en Texte Brut se chevauche fortement. La liste de diffusion de Ledger CLI traite souvent des questions sur Beancount également, et il existe un forum sur plaintextaccounting.org ainsi qu'un subreddit r/plaintextaccounting où les sujets Beancount sont fréquemment abordés. Les utilisateurs sur ces plateformes discutent des comparaisons, partagent leurs configurations personnelles et aident les nouveaux venus. Le ton général de la communauté est très coopératif – les utilisateurs de Beancount aident souvent les utilisateurs de Ledger et vice versa, reconnaissant que tous ces outils ont des objectifs similaires.

  • Groupes de discussion : Outre les listes de diffusion, il existe des canaux de discussion comme le Slack/Discord Plaintext Accounting (organisé par la communauté) et le Gitter de Fava. Ce sont des moyens moins formels et plus en temps réel d'obtenir de l'aide ou de discuter de fonctionnalités. Par exemple, on peut se connecter sur Slack pour demander si quelqu'un a un importateur pour une banque spécifique. Il existe également un canal Matrix/IRC (historiquement #ledger ou #beancount sur IRC) où certains utilisateurs de longue date sont présents. Bien que moins peuplés que les communautés de logiciels grand public, ces canaux comptent des personnes bien informées qui peuvent souvent répondre à des questions comptables obscures.

  • Contributeurs et membres clés de la communauté : Quelques noms se distinguent dans la communauté Beancount :

    • "Redstreet" (Red S) : Un contributeur prolifique qui a écrit de nombreux plugins (comme beancount-balexpr, sellgains, et d'autres) et fournit souvent du support. Il maintient également un ensemble de scripts d'importation et un outil appelé bean-download pour récupérer des relevés.
    • Vasily M (Evernight) : Auteur de certains frameworks d'importation et plugins comme beancount-valuation, et des contributions à Fava concernant les investissements.
    • Stefano Zacchiroli (zack) : Un développeur Debian qui a créé le mode beancount pour Emacs et son propre dépôt de plugins. Il a également plaidé pour la comptabilité en texte brut dans les milieux universitaires.
    • Simon Michael : Bien que principalement le responsable de hledger, il gère plaintextaccounting.org qui inclut Beancount. Cette pollinisation croisée a contribué à faire connaître Beancount aux utilisateurs de Ledger/hledger.
    • Frank hell (Tarioch) : Contributeur des Tarioch Beancount Tools, un ensemble majeur d'importateurs et de récupérateurs de prix, en particulier pour les institutions européennes.
    • Siddhant Goel : Un membre de la communauté qui écrit des articles de blog sur Beancount (par exemple, son guide sur la migration vers la v3) et maintient certains importateurs. Ses articles de blog ont aidé de nombreux nouveaux utilisateurs.

    Ceux-ci et bien d'autres contribuent du code, de la documentation et de l'aide sur les forums, rendant l'écosystème dynamique malgré sa taille relativement modeste.

  • Statistiques GitHub et forks : Le dépôt GitHub de Beancount a accumulé quelques centaines d'étoiles (indiquant l'intérêt) et de forks. Les forks notables de Beancount lui-même sont rares – il n'y a pas de fork divergent bien connu qui essaie d'être "Beancount mais avec la fonctionnalité X". Au lieu de cela, lorsque les utilisateurs voulaient quelque chose de différent, ils ont soit écrit un plugin, soit utilisé un autre outil (comme hledger) plutôt que de forker Beancount. On pourrait considérer hledger comme une sorte de fork de Ledger (pas de Beancount) et Beancount lui-même comme une réinterprétation indépendante des idées de Ledger, mais au sein du dépôt de Beancount, il n'y a pas de grands projets de scission. La communauté s'est généralement regroupée autour du dépôt principal et l'a étendu via l'interface de plugin au lieu de fragmenter la base de code. Cela est probablement dû au fait que Martin Blais était ouvert aux contributions externes (sa documentation contient même une section reconnaissant les contributions et modules externes) et que l'architecture de plugin a rendu inutile le maintien d'un fork pour la plupart des nouvelles fonctionnalités.

  • Ressources communautaires : Il existe plusieurs ressources de haute qualité pour apprendre et utiliser Beancount, créées par la communauté :

    • La documentation Beancount sur GitHub Pages (et les Google Docs source que Martin maintient) – très complète, incluant la théorie comptable et comment Beancount l'implémente.

    • De nombreux articles de blog et notes personnelles – par exemple, LWN.net a publié un article "Counting beans… with Beancount", et de nombreux blogs personnels (tels que listés dans la section "Blog Posts" d'Awesome Beancount) partagent des expériences et des astuces. Ceux-ci contribuent à développer les connaissances et à attirer de nouveaux utilisateurs.

    • Conférences et présentations : Beancount a été présenté lors de meetups et de conférences (par exemple, une conférence PyMunich 2018 sur la gestion des finances avec Python/Beancount). De telles conférences présentent l'outil à un public plus large et suscitent souvent l'intérêt sur des forums comme Hacker News.

  • Projets connexes notables : Outre Fava, d'autres projets liés à Beancount ont leurs propres communautés :

    • Le site Plain Text Accounting – maintenu par Simon Michael, il regroupe des informations sur tous ces outils et dispose d'un forum où les gens partagent leur utilisation de divers outils, y compris Beancount.
    • Intégration d'outils financiers : Certains utilisateurs intègrent Beancount avec des outils de business intelligence ou des bases de données. Par exemple, un fil de discussion Google Groups détaille l'utilisation de PostgreSQL avec les données Beancount via des fonctions personnalisées. Bien que ce ne soit pas grand public, cela montre l'esprit expérimental de la communauté à repousser les capacités de Beancount (par exemple, pour gérer de très grands ensembles de données ou des requêtes complexes au-delà des fonctionnalités intégrées).

En résumé, la communauté de Beancount, bien que plus petite que celles des grands projets open source, est très engagée et compétente. Le projet bénéficie d'un flux constant d'améliorations et de canaux de support très utiles. L'éthos collaboratif (partage d'importateurs, écriture de plugins, réponse aux questions) signifie qu'un nouvel arrivant en 2025 peut s'appuyer sur un travail antérieur étendu et la sagesse de la communauté pour configurer son système comptable. Le développement est actif au sens de l'écosystème – versions de Fava, développement de plugins, etc. – même si les changements du cœur sont plus occasionnels. La croissance de l'écosystème (comme en témoigne la liste Awesome Beancount de dizaines d'outils) témoigne d'une communauté saine rendant Beancount toujours plus performant.

Développements récents et fonctionnalités à venir

En 2025, l'écosystème Beancount a connu des développements significatifs au cours des deux dernières années, et des

Réintroduction du Plan Gratuit pour les Nouveaux Clients

· 2 min de lecture
Mike Thrift
Mike Thrift
Marketing Manager

Nous sommes ravis d'annoncer qu'à partir du 1er mai 2023, nous réintroduirons le plan gratuit pour les nouveaux clients. Cette décision fait suite à des améliorations significatives apportées à notre plateforme et à l'optimisation de nos ressources afin de mieux servir tous nos clients, qu'ils soient gratuits ou payants.

Présentation du Nouveau Plan Gratuit pour les Nouveaux Clients

Le plan gratuit a toujours été une partie essentielle de notre vision visant à fournir un service accessible et convivial pour tous. Nous sommes convaincus que les changements que nous avons apportés au cours des derniers mois nous permettront d'offrir une expérience encore meilleure à nos utilisateurs tout en maintenant la qualité de service pour nos clients du plan Pro.

2023-04-28-début-du-service-pour-les-utilisateurs-gratuits

Les nouveaux clients qui s'inscrivent après le 1er mai 2023 auront accès au plan Gratuit.

Votre soutien et votre fidélité ont été essentiels pour rendre cette réintroduction du plan gratuit financièrement possible. C'est grâce à vos contributions que nous avons pu investir dans notre infrastructure et nos systèmes de support, nous assurant de pouvoir continuer à fournir le service de haute qualité que vous attendez tout en élargissant l'accès à notre plateforme pour les nouveaux utilisateurs. Votre engagement envers notre vision nous a aidés à grandir et à évoluer, et nous sommes vraiment reconnaissants de votre partenariat continu. Ensemble, nous bâtissons une communauté florissante et donnons aux utilisateurs de tous horizons les moyens d'atteindre leurs objectifs.

Si vous avez des questions ou des préoccupations, n'hésitez pas à nous contacter. Nous sommes toujours là pour écouter vos commentaires et résoudre tout problème que vous pourriez rencontrer. Merci pour votre soutien continu, et nous sommes impatients de vous offrir le meilleur service possible.