Exemples de configurations pour freelances, petites entreprises et finances personnelles
Dans ce guide, nous explorons comment adapter un registre Beancount à différents besoins : un professionnel indépendant, une petite entreprise de boutique et les finances personnelles d'un ménage. Chaque scénario comporte des structures de comptes et des considérations uniques. Nous expliquerons la logique derrière chaque configuration, fournirons des exemples de code Beancount et mettrons en évidence des fonctionnalités utiles (comme les balises personnalisées et les importations automatisées) qui facilitent le suivi. Le ton est instructif mais accessible – que vous soyez développeur, professionnel féru de technologie ou passionné de finance, ces exemples vous aideront à appliquer Beancount dans le monde réel.
Freelances
Les freelances (comme les développeurs de logiciels ou les graphistes) jonglent souvent avec plusieurs clients et dépenses de projet. Une configuration Beancount simple peut aider à suivre les revenus de chaque client, les dépenses professionnelles (y compris les sous-traitants éventuels) et l'argent mis de côté pour les impôts. L'objectif est de rester simple pour que cela évolue à mesure que votre activité indépendante grandit, sans complexité inutile.
Comptes clés pour un freelance : Un registre de freelance sépare généralement les finances professionnelles des finances personnelles. Par exemple, vous pourriez utiliser :
- Assets:Business:Checking – Un compte bancaire professionnel pour tous les paiements clients et les dépenses professionnelles.
- Assets:Business:TaxSavings – Un compte d'épargne pour mettre de côté une partie des revenus pour les impôts (puisqu'aucun employeur ne retient les impôts pour vous).
- Income:Client:Nom – Comptes de revenus pour les paiements clients. Vous pouvez créer des sous-comptes par client majeur (par exemple,
Income:Client:ACME), ou utiliser un seul compteIncome:Freelanceavec les noms de clients tagués dans les transactions. - Expenses:Business:Contractors – Pour les paiements aux sous-traitants ou aux travaux externalisés.
- Expenses:Business:Software (et autres catégories comme Travel, Supplies) – Pour les dépenses professionnelles régulières (abonnements logiciels, équipement, déplacements sur site client, etc.).
- Equity:OwnerDraw – (Optionnel) Pour enregistrer les transferts de bénéfices de l'entreprise vers vous personnellement. Cela aide à distinguer les fonds professionnels des fonds personnels lorsque vous vous payez.
Raison d'être : Cette structure garantit que tout l'argent lié à l'activité est suivi dans des comptes dédiés. Les revenus de chaque client sont enregistrés (ce qui permet de voir facilement vos meilleurs clients), et les dépenses sont catégorisées pour les déductions fiscales. Mettre de côté les impôts dans un compte d'actif séparé (ou enregistrer un passif pour les impôts dus) évite de dépenser par erreur l'argent qui sera dû au gouvernement. Le registre reste simple : si vous acquérez de nouveaux clients ou catégories de dépenses, vous pouvez ajouter de nouveaux comptes ou utiliser des balises sans réorganiser tout. Un piège courant est de mélanger les transactions personnelles et professionnelles dans un seul compte ; en maintenant un compte professionnel dédié (et un compte d'actif correspondant), le rapprochement et les rapports deviennent plus propres. Un autre piège à éviter est d'oublier d'enregistrer les transferts de fonds pour les impôts ou les retraits du propriétaire – en utilisant des comptes comme TaxSavings et OwnerDraw, chaque euro est comptabilisé.
Fonctionnalités Beancount à mettre en avant : Les balises et les métadonnées sont extrêmement utiles pour les freelances. Par exemple, vous pourriez taguer des transactions avec un numéro de projet ou de facture, ou utiliser un champ de métadonnées pour noter le nom du client si vous choisissez de ne pas utiliser de comptes de revenus séparés par client. Cela facilite le filtrage ou l'interrogation des transactions pour un client ou un projet spécifique (par exemple, additionner toutes les dépenses taguées #ProjetX). De plus, les importateurs automatisés de Beancount peuvent simplifier la saisie des données – par exemple, vous pourriez configurer un importateur pour vos relevés bancaires ou de carte de crédit afin d'ingérer les transactions dans votre registre, puis simplement ajouter les noms de comptes de dépenses ou de revenus appropriés. Cela fait gagner du temps lorsque vous avez de nombreuses petites transactions (comme les abonnements logiciels ou les frais de déplacement).
Extrait de registre exemple pour freelance
Voici un extrait Beancount simplifié pour un développeur freelance. Il montre l'ouverture de quelques comptes clés, un paiement entrant d'un client, un paiement sortant à un sous-traitant, une dépense professionnelle typique et le transfert d'argent vers un compte d'épargne fiscale. (En pratique, vous devriez également enregistrer d'autres dépenses comme les voyages ou les achats d'équipement de manière similaire.)
1970-01-01 open Assets:Business:Checking
1970-01-01 open Assets:Business:TaxSavings
1970-01-01 open Income:Client:ACME
1970-01-01 open Expenses:Business:Contractors
1970-01-01 open Expenses:Business:Software
; Client income – payment for an invoice
2025-08-15 * "Invoice payment from ACME Corp"
invoice: "INV-2025-08-15"
Assets:Business:Checking 5000 USD
Income:Client:ACME -5000 USD
; Regular expense – e.g. software subscription for the business
2025-08-05 * "GitHub Subscription"
Expenses:Business:Software 15 USD
Assets:Business:Checking -15 USD
; Contractor expense – paying a subcontractor for help
2025-08-20 * "Contractor payment – Jane Doe"
Expenses:Business:Contractors 2000 USD
Assets:Business:Checking -2000 USD
; Tax withholding – moving money to tax savings
2025-08-31 * "Set aside Q3 taxes" #tax
Assets:Business:TaxSavings 1500 USD
Assets:Business:Checking -1500 USDDécomposons ce qui se passe :
- Nous ouvrons les comptes nécessaires en haut (avec une date de début). Beancount exige que chaque compte soit ouvert avant d'être utilisé – une écriture vers un compte non déclaré est une erreur de chargement – ces directives
opensont donc obligatoires, pas un choix de style. Les comptesAssets:Business:CheckingetAssets:Business:TaxSavingscontiendront des soldes en USD ; les comptes de revenus et de dépenses peuvent être laissés sans devise dans la directive d'ouverture car ils hériteront des devises des transactions (USD dans ce cas). - Paiement de facture client : Le 2025-08-15, une transaction de revenus enregistre un paiement client de $5 000 pour une facture. Nous créditons
Income:Client:ACME(les revenus augmentent avec un montant négatif en partie double) et débitons le compte courant. Un champ de métadonnéesinvoice: "INV-2025-08-15"est inclus pour noter le numéro de facture – cela est optionnel mais montre comment vous pouvez attacher des informations supplémentaires à une transaction. Vous pourriez également taguer cette transaction avec#ACMEou#client-ACMEpour un filtrage rapide. Si vous aviez plusieurs clients, vous pourriez utiliser un compteIncome:Clientsgénéral et vous fier à ces métadonnées ou au champ Payeur pour distinguer les clients, au lieu de créer de nombreux sous-comptes. - Dépense professionnelle (logiciel) : Le 2025-08-05, nous enregistrons une dépense de $15 pour un abonnement GitHub (peut-être pour des dépôts privés ou d'autres services). L'écriture va vers
Expenses:Business:Softwareet réduit le compte courant professionnel. Les petites dépenses récurrentes comme celle-ci pourraient être taguées (par exemple, nous avons ajouté#taxsur la transaction fiscale ci-dessous ; de même, vous pourriez taguer certaines dépenses comme#recurrentsi elles se produisent mensuellement, etc.). Dans ce cas, le nom du compte lui-même (Software) rend cela clair. - Paiement sous-traitant : Le 2025-08-20, le freelance a payé un sous-traitant (Jane Doe) $2 000. Cela est enregistré comme une dépense dans
Expenses:Business:Contractorset une sortie d'argent du compte courant. Vous pourriez inclure le nom du sous-traitant dans la narration (comme nous l'avons fait) ou comme champ de métadonnées (par exemple,contractor: "Jane Doe"). Cela maintient une piste d'audit de qui vous avez payé et pourquoi (utile si vous avez besoin de détails lors de la déclaration fiscale ou de la budgétisation). - Transfert d'épargne fiscale : Le 2025-08-31, le freelance transfère $1 500 du compte courant vers un compte d'épargne fiscale dédié. Nous avons tagué cette transaction avec
#taxpour la visibilité. Ce n'est pas une dépense (vous déplacez simplement votre propre argent), donc cela se fait entre deux comptes d'actifs. En faisant cela chaque mois ou trimestre, vous accumulez des fonds pour couvrir les impôts estimés. Lorsqu'il est temps de réellement payer les impôts au gouvernement, vous enregistreriez une dépense (par exemple,Expenses:Taxes) et une déduction du compte TaxSavings (ou Checking). Un piège courant est de traiter ce transfert comme une dépense dans vos rapports – rappelez-vous, ce n'est pas une dépense, seulement une allocation de précaution. Seul le paiement réel des impôts à l'administration fiscale serait une dépense (ou une réduction d'un passif fiscal accumulé si vous le suivez de cette façon).
Résumé : Le registre Beancount d'un freelance met l'accent sur la simplicité et la clarté. Tous les revenus et sorties liés à l'activité sont enregistrés méthodiquement. En utilisant des noms de comptes significatifs et des balises/métadonnées occasionnelles, vous pouvez générer facilement des rapports par client ou par catégorie de dépenses (par exemple, revenu total par client, dépenses totales en sous-traitance cette année, etc.). Cette configuration est évolutive – vous pouvez ajouter de nouveaux clients ou catégories de dépenses à mesure que votre activité évolue. Avec des fonctionnalités comme les importations automatisées (pour récupérer les transactions bancaires) et le tagage personnalisé pour les projets ou les factures, Beancount peut grandement réduire la charge de tenue de livres pour les freelances tout en offrant une image claire des finances à tout moment.
Petites Entreprises
Ensuite, considérons une petite entreprise de commerce électronique de boutique – par exemple, une boutique en ligne qui vend des articles artisanaux. Ce scénario ajoute de la complexité comme la gestion des stocks, le coût des marchandises vendues (COGS) et la gestion des processeurs de paiement en ligne. Beancount peut accueillir cela avec une structure de comptes réfléchie et une méthode d'enregistrement des transactions. Nous utiliserons un cas où l'entreprise suit les produits en stock, enregistre les ventes via une plateforme en ligne (comme Shopify avec Stripe pour les paiements) et consigne les dépenses professionnelles typiques.
Comptes clés pour une boutique de commerce électronique : En plus des comptes bancaires et de dépenses de base, un registre d'entreprise de vente au détail comprendra des comptes pour suivre les stocks et les flux de vente :
- Assets:Bank:Checking – Le compte courant de l'entreprise (pour payer les fournisseurs, les dépenses d'exploitation et recevoir les transferts des processeurs de paiement).
- Assets:Stripe:Balance (ou Assets:PayPal, etc.) – Un compte de compensation pour les fonds collectés via les paiements en ligne qui ne sont pas encore arrivés à la banque. Par exemple, lorsqu'un client paie via Stripe, l'argent peut rester sur un compte Stripe avant d'être déposé sur votre banque par lots.
- Assets:Inventory:Produit – Comptes de stock pour vos produits. Vous pouvez traiter chaque produit (ou catégorie de produits) comme une marchandise dans Beancount pour suivre les quantités en main. Par exemple,
Assets:Inventory:Widgetspourrait contenir la quantité d'articles "Widget" actuellement en stock, valorisée à leur prix coûtant. - Income:Sales – Enregistre les revenus des ventes de produits. Vous pourriez utiliser des sous-comptes pour différents canaux de vente (par exemple,
Income:Sales:OnlinevsIncome:Sales:InStore) si l'entreprise avait plusieurs canaux, mais nous garderons cela simple avec un seul compte de revenus de vente. - Expenses:COGS – Coût des marchandises vendues, pour capturer le coût de base des articles en stock lorsqu'ils sont vendus. Ce compte montrera efficacement combien le stock vendu vous a coûté (en tant que propriétaire d'entreprise) sur une période. C'est un composant clé pour calculer le bénéfice brut.
- Expenses:Fees – Pour les frais de traitement des paiements et les frais de plateforme (frais Stripe, frais Shopify, frais PayPal, etc. tous peuvent être enregistrés ici). Vous pourriez séparer cela en comptes plus détaillés (par exemple,
Expenses:Fees:StripeetExpenses:Fees:Shopify) si souhaité, mais un seul compte peut suffire pour tous les frais de transaction. - Expenses:Operating – Dépenses générales de l'entreprise non directement liées au COGS, comme le marketing, l'hébergement web, les logiciels, les fournitures d'expédition, etc. Celles-ci pourraient être décomposées en sous-comptes (par exemple,
Expenses:Marketing,Expenses:WebHosting,Expenses:Shipping) pour analyser différents centres de coûts. - Liabilities:SalesTax – (Optionnel, si applicable) Si l'entreprise doit collecter la taxe de vente ou la TVA sur les ventes, ce compte de passif suit les taxes collectées mais non encore reversées au gouvernement. Chaque vente devrait alors séparer la partie fiscale dans ce compte. Cela garantit que les taxes collectées ne sont pas comptées comme revenus et sont réservées pour le paiement aux autorités fiscales.
- Equity:OwnerEquity – (Optionnel) Représente l'investissement du propriétaire et les bénéfices non distribués. Lorsque l'entreprise a été créée, tout financement initial par le propriétaire serait crédité ici (avec un débit vers la banque ou le stock si le propriétaire a contribué en espèces ou en stock). De plus, si le propriétaire retire des bénéfices (distributions), cela pourrait être enregistré contre ce compte de capitaux propres. Cela maintient le bilan équilibré mais pour les opérations quotidiennes, cela n'intervient pas souvent.
Raison d'être : Cette configuration sépare le flux des biens et de l'argent. Les achats de stock sont initialement enregistrés au bilan (comme des actifs) plutôt que immédiatement comme des dépenses. Seulement lorsque vous vendez des produits, vous dépensez leur coût (COGS), alignant les revenus avec les dépenses liées pour un calcul correct du bénéfice. Les revenus des ventes sont enregistrés au prix de vente brut, tandis que les frais sont enregistrés séparément afin que vous puissiez voir à la fois le revenu brut et les frais payés (et donc le revenu net). L'utilisation d'un compte de compensation comme Assets:Stripe:Balance aide à rapprocher les dépôts – l'argent passe de Stripe à votre banque en bloc, et vous pouvez enregistrer ces transferts sans confusion. Un piège courant pour les nouveaux propriétaires de boutique est de négliger l'enregistrement correct des stocks – par exemple, dépenser tous les achats de stock immédiatement. Cela peut être acceptable pour le suivi des flux de trésorerie, mais cela fausse votre bénéfice : vous paraîtrez moins rentable les mois où vous stockez, et plus rentable les mois où vous vendez, même si le stock a été acheté plus tôt. En utilisant un compte d'actif de stock et le COGS, vous alignez le coût avec la vente. Un autre piège est de ne pas comptabiliser les frais ou les remboursements, ce qui peut faire que vos soldes bancaires ou Stripe ne correspondent pas aux revenus enregistrés. Nous évitons cela en enregistrant explicitement les frais et en utilisant le compte d'actif Stripe pour suivre ce que Stripe doit ou a payé.
Fonctionnalités Beancount à mettre en avant : Le suivi des stocks dans Beancount exploite sa capacité à gérer les marchandises et les coûts. Chaque produit peut être un symbole de marchandise (par exemple, WIDGET), vous permettant d'enregistrer à la fois la quantité et le coût unitaire. Lorsque vous vendez des articles, vous nommez quel lot de coût vous réduisez, et Beancount en tire — voir méthodes de comptabilité d'inventaire et de réservation pour l'ensemble complet. La méthode de réservation par défaut est STRICT, qui exige que le lot soit non ambigu ; c'est pourquoi l'exemple le nomme explicitement avec {10 USD}. Pour que Beancount choisisse automatiquement le lot (le plus ancien d'abord), optez pour le compte en FIFO dans sa directive open : open Assets:Inventory:Widgets WIDGET "FIFO". Nous utiliserons la forme STRICT explicite dans l'exemple. Vous pouvez également utiliser des métadonnées ou des liens pour relier les ventes et leurs entrées COGS correspondantes (par exemple, en utilisant le même numéro de commande dans les deux transactions, ou une balise partagée comme #commande1001 sur la vente et la réduction du stock, ce qui facilite l'interrogation ou la vérification que chaque vente a une entrée COGS correspondante). De plus, les importations automatisées peuvent aider ici : vous pourriez utiliser un script pour importer les données de vente depuis Shopify ou les rapports de paiement Stripe, ou importer vos relevés bancaires pour attraper les dépenses et les paiements. Automatiser ces tâches répétitives de saisie de données signifie que vous passez plus de temps à analyser et moins à taper des chiffres.
Extrait de registre exemple pour petite entreprise
Voici un exemple Beancount condensé pour notre boutique de commerce électronique. Nous illustrons l'achat de stock, l'enregistrement d'une vente (avec les frais du processeur de paiement déduits), et l'enregistrement du coût des marchandises vendues pour cette vente. En pratique, vous devriez également enregistrer d'autres dépenses (comme les frais de plateforme, les coûts publicitaires, etc.) de manière similaire à l'exemple de frais montré. Nous supposons l'USD comme devise et un produit appelé "Widget" que nous suivons comme marchandise en stock.
1970-01-01 open Assets:Bank:Checking
1970-01-01 open Assets:Stripe:Balance
1970-01-01 open Assets:Inventory:Widgets WIDGET
1970-01-01 open Income:Sales
1970-01-01 open Expenses:COGS
1970-01-01 open Expenses:Fees
; Purchase inventory (50 units of Widget at $10 cost each)
2025-03-10 * "Bought 50 Widgets from SupplierCo"
Assets:Inventory:Widgets 50 WIDGET {10 USD}
Assets:Bank:Checking -500 USD
; Sale to customer (Order #1001 via online store, 2 Widgets sold)
2025-04-05 * "Sale Order #1001 (2x Widget via Shopify)"
Assets:Stripe:Balance 58 USD ; net payment received after fees
Expenses:Fees 2 USD ; processing fee (Stripe)
Income:Sales -60 USD ; revenue for 2 Widgets (@ $30 each)
; Cost of goods sold for the above sale (2 Widgets at $10 cost each)
2025-04-05 * "COGS for Order #1001 (2x Widget)"
Expenses:COGS 20 USD
Assets:Inventory:Widgets -2 WIDGET {10 USD}Voici ce qui se passe étape par étape :
-
Ouverture des comptes : Nous ouvrons le compte courant, le compte de solde Stripe, un compte de stock pour les Widgets (déclaré avec la marchandise
WIDGETpour suivre les unités), et les comptes de revenus et de dépenses de base (Sales, COGS, Fees). En déclarantAssets:Inventory:Widgets WIDGET, nous signalons que ce compte contiendra des quantités de la marchandise "WIDGET". Cela garantit que Beancount sait y attendre des unités de marchandise, et nous pouvons attacher un coût à ces unités. -
Achat de stock : Le 2025-03-10, nous achetons du stock – 50 unités de Widget d'un fournisseur à $10 chacune, coûtant au total $500. La transaction débite
Assets:Inventory:Widgetsavec50 WIDGET {10 USD}. Cela signifie que 50 unités de la marchandise WIDGET, chacune avec un coût enregistré de 10 USD, sont ajoutées au compte de stock. Le crédit estAssets:Bank:Checking -500 USD(sortie de trésorerie). Remarquez que nous n'avons pas touché directement à un compte de dépenses ici ; nous capitalisons l'achat comme actif de stock. Maintenant, notre bilan a 50 Widgets valorisés à $500 au total en stock. (Si vous exécutiez un rapport de solde, le compte Inventory afficherait 50 unités WIDGET d'une valeur de $500.) -
Enregistrement d'une vente (Commande #1001) : Le 2025-04-05, nous enregistrons une vente de 2 Widgets via notre boutique en ligne. La narration inclut un numéro de commande pour la clarté. Cette transaction implique trois écritures :
Assets:Stripe:Balance 58 USD: argent reçu de la vente, mais actuellement sur Stripe (net des frais). Supposons que le client a payé $60 au total ; Stripe a pris $2 de frais, et $58 sont maintenant sur notre compte Stripe (à transférer plus tard sur notre banque). Nous enregistrons les $58 comme un actif chez Stripe.Expenses:Fees 2 USD: les $2 de frais sont enregistrés comme une dépense professionnelle. Cela garantit que notre compte de résultat reflète ce coût, et notre actif Stripe plus les frais égalent ensemble le paiement total du client.Income:Sales -60 USD: nous enregistrons $60 de revenus de ventes. (Les comptes de revenus augmentent avec des crédits, d'où le montant négatif dans la notation de Beancount).
Après cette transaction, l'effet net est : Income:Sales en hausse de 60, un actif supplémentaire de $58 (créance sur Stripe), et $2 de dépenses pour les frais. Si Stripe dépose plus tard les $58 sur notre banque, nous enregistrerions un simple transfert comme
Assets:Bank:Checking 58 USD / Assets:Stripe:Balance -58 USDà la date du paiement – cela déplace l'actif du compte Stripe vers la banque, sans impact sur les revenus ou les dépenses (juste un déplacement d'actifs). Nous n'avons pas montré ce transfert ci-dessus, mais c'est une étape importante dans la tenue de livres réelle pour maintenir votre compte Stripe à $0 une fois tout transféré. -
Enregistrement du COGS pour la vente : Également le 2025-04-05, nous avons une transaction séparée pour enregistrer le coût des 2 Widgets vendus. Nous débitons
Expenses:COGS 20 USDet créditonsAssets:Inventory:Widgets -2 WIDGET {10 USD}. Ce que cela fait, c'est retirer 2 unités du stock (chacune avait un coût de $10 comme enregistré précédemment, donc $20 au total). Nous spécifions{10 USD}pour dire à Beancount quel lot de coût utiliser – dans ce cas, il correspond au lot que nous avons ajouté le 2025-03-10. Maintenant, le compte de stock aura 48 Widgets restants, et un coût associé de $480. Les $20 sont déplacés dans la dépense COGS, qui apparaîtra sur le compte de résultat, réduisant le bénéfice brut du coût de ces biens. (Si nous ne l'enregistrions pas, nos revenus seraient surestimés par rapport aux dépenses.) Nous utilisons une transaction séparée pour la clarté, mais il est également possible de combiner la vente et le COGS dans une seule transaction multi-lignes. Certains préfèrent les séparer comme montré pour la lisibilité et le rapprochement (vous pouvez clairement lier chaque entrée COGS à une commande). Nous avons également fait écho du numéro de commande dans la narration pour voir facilement que cette entrée COGS correspond à la Commande #1001. Une bonne pratique est de s'assurer que chaque vente a une entrée COGS correspondante lorsque le stock est impliqué – en manquer une signifierait que vos comptes de stock sont faussés. Un piège à éviter est d'oublier de retirer le stock pour une vente, ce qui laisserait votre bilan avec du stock fantôme et vos dépenses sous-estimées. L'utilisation des fonctionnalités d'inventaire de Beancount (la notation{}de coût) aide à détecter si vous essayez de retirer plus d'unités que vous n'en avez en main (le logiciel générera une erreur dans ce cas).
Résumé : Une petite entreprise utilisant Beancount peut maintenir un système comptable remarquablement robuste. En structurant les comptes pour suivre où se trouve l'argent, d'où il vient et comment les coûts circulent, vous obtenez une image précise de la rentabilité. Notre exemple a montré comment gérer les stocks et les ventes ; vous enregistreriez de même d'autres transactions comme payer une facture Internet (Expenses:Operating:Internet vs. Assets:Bank:Checking), recevoir un prêt ou un investissement (Assets:Bank vs. Liabilities:Loan ou Equity:OwnerEquity), ou payer la taxe de vente (Liabilities:SalesTax vs. Assets:Bank lors du reversement). La clé est la cohérence : enregistrer chaque type de transaction avec le même modèle, et Beancount gardera les livres équilibrés. Avec des fonctionnalités comme l'importation automatisée de données (par exemple, tirer les frais mensuels Stripe ou les transactions bancaires) et des balises/liens personnalisés (pour corréler les transactions liées comme les ventes et les remboursements), le système peut être à la fois flexible et efficace. Le résultat est un registre organisé qui peut évoluer à mesure que l'entreprise grandit – vous pouvez ajouter de nouveaux comptes de stock de produits, de nouvelles catégories de dépenses ou des flux de revenus supplémentaires (disons un nouveau marché en ligne) sans refondre tout le système.
Finances Personnelles
Enfin, considérons l'utilisation de Beancount pour les finances personnelles ou du ménage. Cette configuration vise un individu ou une famille gérant les dépenses quotidiennes, les comptes bancaires, les cartes de crédit, les prêts et les investissements. L'accent est mis sur le suivi de où va votre argent (dépenses), d'où il vient (revenus) et comment il est épargné ou investi (actifs et passifs). Beancount peut remplacer ou compléter les applications de budgétisation en offrant une vue transparente et personnalisable de vos finances, avec la rigueur de la comptabilité en partie double garantissant que rien n'est double-compté ou oublié.
Comptes clés pour les finances personnelles : Un registre de finances personnelles comprendra généralement une variété de comptes d'actifs, de passifs, de revenus et de dépenses :
- Assets:Bank:Checking – Votre compte courant principal pour les dépôts de revenus et les paiements de factures.
- Assets:Bank:Savings – Compte d'épargne pour le fonds d'urgence ou des objectifs spécifiques. (Vous pourriez avoir plusieurs comptes d'épargne ou d'investissement – chacun peut être un compte d'actif).
- Assets:Cash – Si vous utilisez de l'argent liquide pour les dépenses, vous pourriez avoir un compte de caisse pour suivre les retraits et les dépenses en espèces.
- Assets:Investments:Courtier – Comptes d'investissement, comme un courtage, un 401(k)/IRA de retraite, etc. Ceux-ci pourraient être davantage décomposés par types d'investissement ou simplement regroupés comme un seul compte par institution. Par exemple,
Assets:Investments:VanguardIRAouAssets:Investments:Robinhood. Suivre les investissements peut également impliquer des marchandises pour les actions ou les fonds, mais si cela est trop détaillé, vous pouvez simplement suivre les contributions et les soldes de comptes. - Liabilities:CreditCard:Nom – Un compte par carte de crédit (par exemple,
Liabilities:CreditCard:Visaou par nom de banque). Tous les achats effectués sur la carte sont enregistrés ici (avec une dépense égale), et les paiements à la carte sont des transferts qui réduisent ce passif. - Liabilities:Loan:Nom – Tout prêt (prêt étudiant, hypothèque, prêt automobile) peut être suivi avec un compte de passif. Vous enregistreriez le solde du principal et chaque paiement en séparant les intérêts (dépense) et le principal (réduction du passif). C'est un aspect avancé, mais important pour une image financière complète.
- Income:Salary (et/ou Income:Bonus, Income:Interest, etc.) – Pour enregistrer les chèques de paie, les bonus, les revenus d'intérêts, les dividendes, etc. Les comptes de revenus vous permettent de voir vos gains totaux provenant de diverses sources. (Si votre chèque de paie a déjà des impôts prélevés, vous pourriez enregistrer le dépôt net sur le compte courant comme revenu, ou enregistrer le brut et les retenues fiscales comme une dépense ou un passif – différentes approches existent, mais beaucoup enregistrent simplement le salaire net comme revenu pour simplifier dans les livres personnels.)
- Expenses: Typiquement nombreux, divisés en catégories qui vous parlent. Par exemple : Expenses:Housing:Rent, Expenses:Food:Groceries, Expenses:Food:DiningOut, Expenses:Utilities:Electricity, Expenses:Entertainment, Expenses:Travel, Expenses:Taxes, Expenses:Misc – toutes les catégories qui reflètent vos habitudes de dépenses. Vous pouvez être aussi granulaire ou général que vous le souhaitez. La hiérarchie des comptes aide à l'agrégation (par exemple,
Expenses:Foodtotalisera à la fois l'épicerie et les restaurants). La pratique courante est d'avoir une hiérarchie pour les groupes majeurs (Logement, Alimentation, Transport, Santé, etc.). - Equity:Opening-Balances – Utilisé pour initialiser les soldes des comptes lorsque vous démarrez votre registre (afin que tous les actifs moins les passifs soient égaux à votre valeur nette de départ enregistrée dans les capitaux propres). Après le démarrage, vous pourriez également utiliser Equity:Retained-Earnings ou similaire pour représenter le bénéfice net accumulé (bien qu'en finances personnelles, vous laissez simplement les revenus moins les dépenses se répercuter sur la valeur nette). Les comptes de capitaux propres sont moins visibles au quotidien mais garantissent que l'équation comptable est équilibrée.
Raison d'être : La configuration des finances personnelles consiste à capturer votre vie financière dans un système cohérent. Chaque compte ci-dessus sert à séparer différents types de finances afin que vous puissiez répondre à des questions comme "Combien ai-je dépensé en nourriture ce mois-ci ?" (en additionnant Expense:*), "Combien de dettes me reste-t-il ?" (en regardant les comptes de passifs), ou "Quelle est ma valeur nette ?" (Actifs moins Passifs). Un grand avantage de la partie double ici est la précision : par exemple, lorsque vous facturez une facture d'épicerie de $100 à votre carte de crédit, vous l'enregistrez comme une dépense et une augmentation de passif. Plus tard, lorsque vous payez la carte de crédit, vous enregistrez un transfert de votre banque vers la carte – cela réduit le passif mais ne double-compte pas la dépense d'épicerie (déjà enregistrée). Un piège courant sans partie double est de traiter le paiement de la carte de crédit comme une dépense en soi, comptant efficacement les $100 deux fois. Beancount l'empêche par conception. Un autre piège à éviter est de ne pas rapprocher les comptes : avec Beancount, vous pouvez utiliser des assertions de solde ou la directive balance pour garantir, par exemple, que votre solde de compte courant dans le registre correspond au relevé bancaire réel. Cela détecte les entrées manquantes ou en double.
Fonctionnalités Beancount à mettre en avant : Pour les finances personnelles, les importations automatisées sont particulièrement utiles en raison du volume de transactions. Vous pouvez utiliser le framework d'importateurs de Beancount ou des scripts communautaires pour importer des transactions bancaires, des relevés de carte de crédit, et même des transactions d'investissement à partir de sources CSV, OFX ou API. Cela signifie que vous passez moins de temps à taper manuellement chaque achat de café. Les balises personnalisées sont utiles pour découper les données de manière que les comptes ne le feraient pas. Par exemple, taguez toutes les dépenses liées aux vacances avec #vacances2025 qu'elles soient des vols, des hôtels ou des restaurants – puis vous pouvez interroger le coût total de ces vacances facilement. Ou taguez certaines dépenses comme #deductible si vous devez suivre les éléments déductibles d'impôts pour une référence ultérieure. Vous pourriez également taguer les factures récurrentes (par exemple, #mensuel) pour examiner tous vos abonnements et coûts fixes annuellement. Les métadonnées peuvent être utilisées pour attacher des notes ou des reçus (par exemple, receipt: "chemin/vers/fichier.jpg" pour noter que vous avez une image de reçu sauvegardée, ou category: "Dépense professionnelle" si vous suivez des éléments remboursables). La flexibilité des balises et des métadonnées signifie que vous pouvez adapter le système à vos besoins de suivi personnels sans créer des dizaines de comptes supplémentaires.
:::astuce Essayez le convertisseur avant d'écrire un importateur
Exécutez l'exportation bancaire du mois dernier via le convertisseur CSV vers Beancount, ou un téléchargement .ofx, .qfx ou .qif via OFX & QIF vers Beancount. Pour la plupart des registres personnels, cela suffit, et cela vous montre la forme d'entrée qu'un importateur personnalisé devrait produire.
:::
Extrait de registre exemple pour finances personnelles
Voici un extrait exemple d'un registre Beancount personnel capturant quelques transactions typiques : une dépense quotidienne facturée à une carte de crédit, une facture récurrente payée depuis le compte courant, et une contribution à un compte d'investissement de retraite. (Par souci de concision, nous supposons qu'une configuration initiale a été faite pour ouvrir les comptes et enregistrer tout revenu salarial ; ici, nous nous concentrons sur le côté dépenses et épargne.)
1970-01-01 open Assets:Bank:Checking
1970-01-01 open Liabilities:CreditCard:Visa
1970-01-01 open Expenses:Food:Coffee
1970-01-01 open Expenses:Housing:Rent
1970-01-01 open Assets:Investment:401k
; Daily spending example (coffee on a credit card)
2025-09-10 * "Starbucks Coffee" #daily
Expenses:Food:Coffee 5.50 USD
Liabilities:CreditCard:Visa -5.50 USD
; Recurring monthly bill (rent paid from checking)
2025-09-01 * "Apartment Rent September" #recurring
Expenses:Housing:Rent 1200 USD
Assets:Bank:Checking -1200 USD
; Retirement contribution (transfer from checking to 401k investment)
2025-09-15 * "401(k) Contribution" #retirement
Assets:Investment:401k 500 USD
Assets:Bank:Checking -500 USDInterprétons ces transactions :
- Ouverture des comptes : Nous ouvrons le compte courant, un compte de carte de crédit Visa, un compte de dépenses Café (comme exemple de sous-catégorie des dépenses Alimentation), un compte de dépenses Loyer, et un compte d'investissement 401k. Dans un registre réel, vous ouvririez tous les comptes que vous prévoyez d'utiliser (épargne, autres catégories de dépenses, revenus, etc.). Nous gardons juste ce qui est nécessaire pour l'extrait.
- Dépense quotidienne – café : Le 2025-09-10, un achat de café de $5,50 est enregistré. La dépense est catégorisée sous
Expenses:Food:Coffee, et comme elle a été payée avec une carte de crédit Visa, nous créditons (augmentons)Liabilities:CreditCard:Visa. La balise#quotidienest ajoutée pour indiquer qu'il s'agit d'un élément de dépense quotidien – peut-être voudrez-vous plus tard filtrer toutes les dépenses discrétionnaires quotidiennes. Remarquez qu'après cela, le compte de carte de crédit affichera un solde de $5,50 (ce qui signifie que vous devez $5,50 à Visa). Si vous aviez payé ce café en espèces, la transaction créditerait à la placeAssets:Cash(réduisant l'argent liquide que vous avez en main). S'il s'agissait d'un achat par carte de débit, cela créditeraitAssets:Bank:Checking. La mécanique est similaire, juste des comptes différents. - Facture récurrente – loyer : Le 2025-09-01, nous enregistrons le paiement du loyer mensuel de $1 200. Cela sort du compte courant (créditant
Assets:Bank:Checking) et est catégorisé commeExpenses:Housing:Rent. Nous l'avons tagué#récurrentpour marquer qu'il s'agit d'une facture répétitive. Dans un registre complet, vous pourriez avoir une entrée comme celle-ci chaque mois. (Beancount n'a pas de fonctionnalité automatique de transaction récurrente intégrée, mais vous pourriez y parvenir avec des scripts ou simplement copier-coller chaque mois. Les balises aident à vous assurer plus tard que vous n'avez pas manqué un mois ou à additionner rapidement un an de loyers.) Certains utilisateurs utilisent la fonctionnalité de transaction périodique via le framework d'importateurs Beancount pour générer cela automatiquement, mais c'est une utilisation avancée hors de la portée ici. La clé est que cette transaction montre clairement où votre argent est allé – une dépense pour le logement – et votre solde bancaire réduit. Un piège à surveiller : si vous partagez les dépenses ou avez des colocataires, vous ne payez peut-être qu'une partie du loyer ; dans ce cas, vous pourriez diviser la transaction en votre part et celle que quelqu'un d'autre paie (en enregistrant éventuellement l'autre part commeIncome:Reimbursementss'ils vous remboursent). Dans notre cas simple, nous payons le montant total. - Contribution à la retraite : Le 2025-09-15, $500 sont déplacés du compte courant vers un compte d'investissement 401(k). Ce n'est pas une dépense mais plutôt un transfert d'actifs d'une forme (espèces) à une autre (fonds de retraite). La transaction débite
Assets:Investment:401ket créditeAssets:Bank:Checking. Nous la taguons#retraitepour la clarté. Après cela, votre solde de compte courant diminuera de 500, et le solde de votre compte 401k dans le registre augmentera de ce que 500 USD représente (selon la façon dont vous suivez les investissements, vous pourriez ensuite acheter des unités de fonds communs avec cet argent – cela serait une autre transaction dans le compte d'investissement, par exemple, acheter X actions d'un fonds au prix Y, avec l'argent sortant de l'actif 401k). Dans un registre personnel de base, vous pourriez simplement traiter le 401k comme un compte d'épargne et mettre à jour son solde périodiquement ou enregistrer des contributions comme celle-ci et peut-être utiliser des cotations de prix pour la croissance. L'important est que cette transaction est un transfert, pas une dépense – cela construit vos actifs. De nombreux outils de budgétisation compteraient les contributions à la retraite comme des "dépenses" (puisque cela quitte votre compte courant), mais en termes comptables, c'est juste déplacer de l'argent vers une autre poche. Cette distinction vous aide à comprendre le taux d'épargne par rapport aux dépenses.
Si nous avions une transaction pour payer la facture de carte de crédit, elle ressemblerait à un transfert d'argent du compte courant vers le passif de la carte de crédit (par exemple, Liabilities:CreditCard:Visa 100 USD / Assets:Bank:Checking -100 USD). Cela ramènerait le solde de la carte de crédit à la baisse (peut-être à zéro si vous la payez en totalité) et réduirait votre solde bancaire en conséquence, sans effet sur les comptes de dépenses – car vous avez déjà enregistré les dépenses au moment de l'achat. Se rappeler de gérer les cartes de crédit de cette façon est crucial pour un suivi précis des finances personnelles. Vous pourriez également taguer le paiement (certains utilisent #paiement-carte ou similaire) ou inclure la période de relevé dans la narration pour la clarté.
Résumé : Un registre de finances personnelles dans Beancount aide à imposer discipline et structure à votre suivi d'argent. En catégorisant les transactions avec des comptes (et éventuellement des balises), vous pouvez produire des rapports perspicaces : dépenses mensuelles par catégorie, totaux annuels, combien vous avez épargné, etc. L'approche en partie double signifie que chaque dollar est comptabilisé : si le solde d'un compte diminue, il est allé quelque part (un autre compte augmente). Cela détecte les erreurs et prévient le problème courant "d'argent manquant" dans les outils de suivi plus simples. Avec l'automatisation, vous pouvez importer la plupart des transactions et ensuite simplement les examiner et les classer, rendant la maintenance tout à fait faisable. Au fil du temps, vous construisez un journal financier complet – il peut même gérer des choses comme le partage des factures avec des amis (en utilisant des comptes de capitaux propres ou des comptes à payer/à recevoir), le suivi de l'amortissement des prêts, ou la performance des investissements, si vous choisissez de vous étendre dans ces domaines. Même à son niveau le plus basique (comme montré dans l'extrait), Beancount vous donne de la clarté sur les dépenses quotidiennes, les obligations récurrentes et les progrès vers des objectifs à long terme (comme l'épargne retraite). Et comme c'est du texte brut, vous avez un contrôle total : vous pouvez le script, l'interroger, ou l'intégrer à d'autres outils (comme l'interface web Fava pour une vue conviviale). En bref, cette configuration transforme vos finances personnelles en données que vous pouvez analyser et en lesquelles vous pouvez avoir confiance, tout en restant assez simple pour ne pas être une corvée.
En adaptant votre registre Beancount à votre situation – que vous soyez freelance, que vous gériez une petite entreprise ou que vous géreriez des fonds personnels – vous bénéficiez d'une approche systématique de partie double pour le suivi financier avec la flexibilité d'un système en texte brut. Ces configurations d'exemple démontrent des modèles de base sur lesquels vous pouvez construire. À mesure que vous développez votre entreprise ou que votre vie financière devient plus complexe, vous pouvez étendre le plan comptable ou utiliser des fonctionnalités avancées (comme les budgets, l'analyse de variance ou la gestion multi-devises) selon les besoins. La clé est de commencer avec une structure propre et logique (comme celles montrées) et d'enregistrer les transactions de manière cohérente. Avec cela en place, Beancount sera un allié puissant pour comprendre et gérer vos finances, à travers les secteurs et les scénarios personnels. Bonne comptabilité !