- Utilisation de Beancount pour consigner pendant 10 ans des finances personnelles dans de simples fichiers texte, avec environ 45�0 lignes de données et 10�0 transactions gérées
- En y consacrant 30 à 45 minutes par mois, import des fichiers CSV de relevés bancaires puis organisation manuelle et automatique, avec séparation par année pour préserver la lisibilité
- Développement en interne d'une bibliothèque d'import Python pour les banques allemandes, intégrée à Beancount, dont une partie est toujours maintenue aujourd'hui
- Constatant les difficultés des débutants avec Beancount, rédaction d'un guide d'introduction pour débutants, qui a reçu un accueil positif dans la communauté
- Toutes les données sont stockées sur son appareil local et dans un dépôt Git, offrant davantage de pérennité et de contrôle qu'une application ou un service spécifique
Structure du grand livre Beancount sur 10 ans
- Gestion des données financières avec Beancount depuis 2016, avec un total de 45�11 lignes d'entrées stockées dans 16 fichiers
.beancount
- Le fichier
main.beancount sert de centre, avec des fichiers annuels reliés via include
- Le total représente environ 995 transactions, dont 1943 postings (écritures)
- Il existe 1�86 comptes (accounts) au total, mais il ne s'agit pas de véritables comptes bancaires : ce sont des comptes de classification virtuels
- Exemple : il est possible de créer des comptes par poste détaillé, comme les dépenses au supermarché, les revenus ou les services par abonnement
- 507 documents PDF sont joints aux transactions, ce qui permet de retrouver facilement les reçus correspondants lors de la déclaration fiscale
- Le nombre de postings par année est passé de 715 en 2016 à 251 en 2023, 2023 étant l'année la plus active
Procédure de gestion mensuelle
- Environ 30 à 45 minutes sont consacrées chaque mois à télécharger les relevés bancaires en CSV puis à les importer dans Beancount
- Le format CSV est utilisé car il est plus facile à parser que le PDF
- Un importer basé sur Python convertit les données CSV au format Beancount
- Après ajout des transactions converties au fichier
.beancount, ajustement pour que le solde revienne à 0 selon le principe de la comptabilité en partie double
- Une partie est classée automatiquement, une autre ajustée manuellement
- Au début de la nouvelle année, les transactions de l'année précédente sont déplacées dans un fichier
<year>.beancount, puis incluses dans main.beancount pour la gestion
- L'ensemble de l'historique des transactions est organisé sous forme de fichiers texte dans un seul répertoire
Développement d'un importer Beancount pour les banques allemandes
- Beancount ne connaît pas nativement le format des relevés bancaires, une conversion est donc nécessaire via une classe importer
- Comme l'auteur utilise des comptes bancaires allemands, il a développé lui-même plusieurs importers
- Les trois premières bibliothèques sont encore activement maintenues et utilisées
D'utilisateur à auteur
- La documentation de Beancount est volumineuse, mais la barrière à l'entrée reste élevée pour les débutants
- Fort de l'expérience acquise par essais et erreurs, l'auteur a rédigé un guide d'introduction
- Disponible sur personalfinancespython.com
- Mentionné sur la page external contributions de la documentation officielle de Beancount
- Les avis des lecteurs ont été positifs
Conclusion
- Toutes les données financières sont stockées dans des fichiers texte locaux versionnés avec Git
- Les données résident sur son propre appareil et ne dépendent d'aucune application ou d'aucun service spécifique
- Il est possible de les analyser librement à l'aide des outils de l'écosystème Beancount
- Cette approche de plaintext accounting constitue une forme puissante de gestion financière pouvant durer plus longtemps que n'importe quelle application
Aucun commentaire pour le moment.