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 freelance, une petite boutique et les finances d'un foyer personnel. 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 snippets Beancount et mettrons en évidence les fonctionnalités utiles (comme les tags personnalisés et les imports automatisés) qui facilitent le suivi. Le ton est pédagogique mais accessible – que vous soyez développeur, professionnel averti en 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 embauchés) et l'argent mis de côté pour les impôts. L'objectif est de rester simple afin que cela évolue avec la croissance de votre activité freelance, sans complexité inutile.
Comptes clés pour un freelance : Un registre 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 en vue des paiements d'impôts (puisqu'aucun employeur ne prélève d'impôts pour vous).
- Income:Client:Nom – Comptes de revenus pour les paiements clients. Vous pouvez créer des sous-comptes par client principal (par exemple,
Income:Client:ACME), ou utiliser un seul compteIncome:Freelanceavec les noms de clients marqués dans les transactions. - Expenses:Business:Contractors – Pour les paiements aux sous-traitants ou au travail externalisé.
- Expenses:Business:Software (et d'autres catégories comme Travel, Supplies) – Pour les dépenses professionnelles régulières (abonnements logiciels, équipement, déplacements chez les clients, 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.
Logique : Cette structure garantit que tout l'argent lié à l'activité professionnelle est suivi dans des comptes dédiés. Les revenus de chaque client sont enregistrés (ce qui permet de voir facilement qui sont 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 accident de 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 tags sans tout réorganiser. Un piège courant consiste à mélanger les transactions personnelles et professionnelles dans un même compte ; en maintenant un compte bancaire professionnel dédié (et le compte d'actif correspondant), la réconciliation et les rapports deviennent plus clairs. Un autre piège à éviter est d'oublier d'enregistrer les transferts d'argent pour les impôts ou les prélèvements du propriétaire – en utilisant des comptes comme TaxSavings et OwnerDraw, chaque dollar est comptabilisé.
Pour exécuter cette configuration sous forme de registre hébergé avec les revenus par client, les créances de factures et une réserve fiscale, consultez Beancount.io pour les freelances.
Fonctionnalités Beancount à mettre en évidence : Les tags et les métadonnées sont extrêmement utiles aux freelances. Par exemple, vous pourriez taguer les 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 permet de filtrer ou d'interroger facilement les transactions d'un client ou d'un projet spécifique (par exemple, en totalisant toutes les dépenses taguées #ProjectX). De plus, les importateurs automatisés de Beancount peuvent simplifier la saisie de 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 il vous suffit d'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 des abonnements logiciels ou des frais de déplacement).
Extrait de registre exemple pour freelance
Voici un snippet Beancount simplifié pour un développeur freelance. Il montre l'ouverture de quelques comptes clés, un paiement entrant d'un client, un paiement à un sous-traitant, une dépense professionnelle typique et un transfert d'argent vers un compte d'épargne fiscale. (En pratique, vous enregistreriez également d'autres dépenses comme les déplacements ou les achats d'équipement de la même manière.)
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 sur un compte non déclaré est une erreur de chargement — ces directives
opensont donc obligatoires, et non 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 open car ils hériteront des devises des transactions (USD dans ce cas). - Paiement de facture d'un client : Le 2025-08-15, une transaction de revenu 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 – c'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 compte généralIncome:Clientset vous fier à ces métadonnées ou au champ Payee 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 sur
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#recurringsi elles se produisent mensuellement, etc.). Dans ce cas, le nom du compte lui-même (Software) le rend explicite. - Paiement à un 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 de trésorerie 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 conserve 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 vers l'épargne fiscale : Le 2025-08-31, le freelance transfère 1 500 $ du compte courant principal 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 va entre deux comptes d'actif. En faisant cela chaque mois ou trimestre, vous accumulez des fonds pour couvrir les impôts estimés. Quand vient le moment de payer réellement les impôts au gouvernement, vous enregistreriez une dépense (disons,Expenses:Taxes) et une déduction du compte TaxSavings (ou Checking). Un piège courant consiste à traiter ce transfert comme une dépense dans vos rapports – rappelez-vous, ce n'est pas une dépense, juste une allocation préventive. Seul le paiement réel de l'impôt à l'IRS/à l'administration fiscale serait une dépense (ou une réduction d'un passif d'impôt 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 tags/métadonnées occasionnels, vous pouvez générer facilement des rapports par client ou par catégorie de dépenses (par exemple, le revenu total par client, le total dépensé en sous-traitants 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 imports automatisés (pour récupérer les transactions bancaires) et le tagage personnalisé pour les projets ou les factures, Beancount peut considérablement réduire la charge de tenue de livres pour les freelances tout en offrant une image claire des finances à tout moment.
Petites Entreprises
Considérons maintenant une petite boutique e-commerce – 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 s'adapter à 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 enregistre les dépenses professionnelles typiques.
Comptes clés pour une boutique e-commerce : En plus des comptes bancaires et de dépenses de base, le registre d'une entreprise de vente au détail inclura des comptes pour suivre les stocks et les flux de ventes :
- 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 n'ont pas encore atteint la banque. Par exemple, lorsqu'un client paie via Stripe, l'argent peut rester dans un compte Stripe avant d'être déposé dans 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 de revient. - 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 resterons simple avec un seul compte de revenus de ventes. - 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 effectivement 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 la marge brute.
- Expenses:Fees – Pour les frais de traitement des paiements et les frais de plateforme (frais Stripe, frais Shopify, frais PayPal, etc. peuvent tous être enregistrés ici). Vous pourriez séparer cela en comptes plus détaillés (par exemple,
Expenses:Fees:StripeetExpenses:Fees:Shopify) si vous le souhaitez, mais un seul compte peut suffire pour tous les frais de transaction. - Expenses:Operating – Dépenses professionnelles générales non liées directement au COGS, comme le marketing, l'hébergement web, les logiciels, les fournitures d'expédition, etc. Celles-ci pourraient être divisé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 une taxe de vente ou une TVA sur les ventes, ce compte de passif suit les taxes collectées mais pas encore reversées au gouvernement. Chaque vente ventilerait alors la portion de taxe dans ce compte. Cela garantit que les taxes collectées ne sont pas comptées comme revenu 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 à la banque ou au stock s'il a apporté de la trésorerie ou du 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'entre pas souvent en jeu.
Logique : Cette configuration sépare le flux des marchandises et de l'argent. Les achats de stock sont initialement enregistrés au bilan (comme actifs) plutôt qu'immédiatement comme dépenses. Ce n'est que lorsque vous vendez des produits que vous passez en charge leur coût (COGS), faisant correspondre le revenu avec la dépense associée pour un calcul approprié du profit. 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 à la réconciliation des dépôts – l'argent passe de Stripe à votre banque par lots, et vous pouvez enregistrer ces transferts sans confusion. Un piège courant pour les nouveaux propriétaires de boutiques est de négliger l'enregistrement approprié du stock – par exemple, passer en charge tous les achats de stock immédiatement. Cela peut convenir pour le suivi de la trésorerie, mais cela fausse votre profit : vous paraîtrez moins rentable les mois où vous vous approvisionnez, 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 sur la vente. Un autre piège est de ne pas tenir compte des frais ou des remboursements, ce qui peut faire que vos soldes bancaires ou Stripe ne correspondent pas à vos 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 versé.
Pour garder les comptes d'une petite entreprise hébergés, avec des rapports que votre comptable peut lire et un grand livre que vous pouvez exporter à tout moment, consultez Beancount.io pour les petites entreprises.
Fonctionnalités Beancount à mettre en évidence : Le suivi des stocks dans Beancount tire parti de 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 le lot de coût que vous réduisez, et Beancount y puise — voir les méthodes d'inventaire et de booking pour l'ensemble complet. La méthode de booking 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 le lot automatiquement (le plus ancien en premier), optez le compte pour FIFO sur 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 écritures de COGS correspondantes (par exemple, en utilisant le même numéro de commande dans les deux transactions, ou un tag partagé comme #order1001 sur la vente et la réduction de stock, ce qui facilite la requête ou la vérification que chaque vente a une écriture de COGS correspondante). De plus, les imports automatisés peuvent aider ici : vous pourriez utiliser un script pour importer les données de vente de Shopify ou les rapports de versement Stripe, ou importer vos relevés bancaires pour capturer les transactions de dépenses et les versements. 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 e-commerce. 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 enregistreriez également d'autres dépenses (comme les frais de plateforme, les coûts publicitaires, etc.) de la même manière que 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 dépenses principaux (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 s'attendre à des unités de marchandise ici, 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 auprès d'un fournisseur à 10 $ chacune, pour un coût total de 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(décaissement). 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 comporte 50 Widgets valorisés à 500 $ au total en stock. (Si vous deviez exécuter un rapport de bilan, le compte Inventory afficherait 50 unités WIDGET d'une valeur de 500 $.) -
Enregistrement d'une vente (commande n° 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 dans Stripe (net des frais). Supposons que le client ait payé 60 $ au total ; Stripe a pris 2 $ de frais, et 58 $ sont maintenant dans notre compte Stripe (à transférer vers notre banque plus tard). Nous enregistrons les 58 $ comme actif dans Stripe.Expenses:Fees 2 USD: les 2 $ de frais sont enregistrés comme dépense professionnelle. Cela garantit que notre compte de résultat reflétera ce coût, et notre actif Stripe plus la dépense de 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 Beancount).
Après cette transaction, l'effet net est : Income:Sales augmenté de 60, un actif supplémentaire de 58 $ (créance sur Stripe) et 2 $ de dépense pour les frais. Si Stripe dépose plus tard les 58 $ dans notre banque, nous enregistrerions un simple transfert comme
Assets:Bank:Checking 58 USD / Assets:Stripe:Balance -58 USDà la date du versement – 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 que tout est 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}. Cela retire 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 indiquer à Beancount quel lot de coût prélever – dans ce cas, cela 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 vers la dépense COGS, qui apparaîtra au compte de résultat, réduisant la marge brute du coût de ces marchandises. (Si nous n'enregistrions pas cela, notre revenu serait surévalué 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 en une seule transaction multi-lignes. Certains préfèrent les séparer comme montré pour la lisibilité et la réconciliation (vous pouvez clairement relier chaque écriture COGS à une commande). Nous avons également repris le numéro de commande dans la narration pour voir facilement que cette écriture COGS correspond à la commande n° 1001. Une bonne pratique consiste à s'assurer que chaque vente a une écriture COGS correspondante lorsque le stock est impliqué – en manquer une signifierait que vos comptages de stock sont erronés. Un piège à éviter est d'oublier de retirer du stock pour une vente, ce qui laisserait votre bilan avec un stock fantôme et vos dépenses sous-évaluées. L'utilisation des fonctionnalités de stock 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 étonnamment robuste. En structurant les comptes pour suivre où est 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 le stock et les ventes ; vous enregistreriez de la même manière d'autres transactions comme le paiement d'une facture internet (Expenses:Operating:Internet vs. Assets:Bank:Checking), la réception d'un prêt ou d'un investissement (Assets:Bank vs. Liabilities:Loan ou Equity:OwnerEquity), ou le paiement de la taxe de vente (Liabilities:SalesTax vs. Assets:Bank lors du reversement). La clé est la cohérence : enregistrez chaque type de transaction avec le même schéma, et Beancount maintiendra les livres équilibrés. Avec des fonctionnalités comme l'import automatisé de données (par exemple, récupérer les frais Stripe mensuels ou les transactions bancaires) et les tags/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 avec la croissance de l'entreprise – 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 une nouvelle place de marché en ligne) sans retravailler tout le système.
Finances Personnelles
Enfin, considérons l'utilisation de Beancount pour les finances personnelles ou du foyer. Cette configuration est destinée à 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 ici 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 compté deux fois ou oublié.
Comptes clés pour les finances personnelles : Un registre de finances personnelles comprendra généralement une variété de comptes d'actif, de passif, 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 des espèces 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 compte de courtage, un régime de retraite 401(k)/IRA, etc. Ceux-ci pourraient être davantage décomposés par types d'investissement ou simplement regroupés en un compte par institution. Par exemple,
Assets:Investments:VanguardIRAouAssets:Investments:Robinhood. Le suivi des investissements peut également impliquer des marchandises pour les actions ou les fonds, mais si c'est trop détaillé, vous pouvez simplement suivre les contributions et les soldes des comptes. - Liabilities:CreditCard:Nom – Un compte par carte de crédit (par exemple,
Liabilities:CreditCard:Visaou par nom de banque). Tous les achats sur la carte sont enregistrés ici (avec une dépense équivalente), 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 auto) peut être suivi avec un compte de passif. Vous enregistreriez le solde du capital et chaque paiement en séparant les intérêts (dépense) et le capital (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 salaires, primes, revenus d'intérêts, dividendes, etc. Les comptes de revenus vous permettent de voir vos gains totaux provenant de diverses sources. (Si votre salaire 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 dépense ou passif – différentes approches existent, mais beaucoup enregistrent simplement le salaire net comme revenu pour simplifier les livres personnels.)
- Expenses: Généralement nombreux, divisés en catégories qui vous sont significatives. Par exemple : Expenses:Housing:Rent, Expenses:Food:Groceries, Expenses:Food:DiningOut, Expenses:Utilities:Electricity, Expenses:Entertainment, Expenses:Travel, Expenses:Taxes, Expenses:Misc – quelles que soient 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 à agréger (par exemple,
Expenses:Foodtotalisera à la fois les courses et les repas au restaurant). La pratique courante est d'avoir une hiérarchie pour les grands groupes (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 égalent 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 profit net accumulé (bien qu'en finances personnelles, vous laissez généralement simplement les revenus moins les dépenses s'ajouter à la valeur nette). Les comptes de capitaux propres sont moins visibles au quotidien mais garantissent l'équilibre de l'équation comptable.
Logique : 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 totalisant Expenses:Food:*), « Combien de dettes me reste-t-il ? » (en regardant les comptes Liabilities) 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 portez une facture d'épicerie de 100 $ à votre carte de crédit, vous l'enregistrez comme dépense et comme augmentation de passif. Plus tard, lorsque vous payez la carte de crédit, vous enregistrez un transfert de votre banque vers la carte – cela rembourse le passif mais ne compte pas deux fois la dépense d'épicerie (qui a déjà été 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 effectivement les 100 $ deux fois. Beancount empêche cela par conception. Un autre piège à éviter est de ne pas réconcilier les comptes : avec Beancount, vous pouvez utiliser des assertions de solde ou la directive balance pour garantir, par exemple, que le solde de votre compte courant dans le registre correspond au relevé bancaire réel. Cela détecte les écritures manquantes ou en double.
Fonctionnalités Beancount à mettre en évidence : Pour les finances personnelles, les imports automatisés 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 les transactions bancaires, les relevés de carte de crédit et même les transactions d'investissement depuis des sources CSV, OFX ou API. Cela signifie que vous passez moins de temps à taper manuellement chaque achat de café. Les tags personnalisés sont utiles pour découper les données d'une manière que les comptes ne permettent pas. Par exemple, taguez toutes les dépenses liées aux vacances avec #vacation2025, qu'il s'agisse de vols, d'hôtels ou de restaurants – puis vous pouvez interroger facilement le coût total de ces vacances. Ou taguez certaines dépenses comme #deductible si vous devez suivre les éléments déductibles fiscalement pour référence ultérieure. Vous pourriez également taguer les factures récurrentes (par exemple, #monthly) pour revoir 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: "path/to/file.jpg" pour noter que vous avez une image de reçu sauvegardée, ou category: "Work Expense" si vous suivez des éléments remboursables). La flexibilité des tags 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.
Passez l'export bancaire du mois dernier dans le convertisseur CSV vers Beancount, ou un téléchargement .ofx, .qfx ou .qif dans OFX & QIF vers Beancount. Pour la plupart des registres personnels, cela suffit, et cela vous montre la forme d'écriture qu'un importateur personnalisé devrait produire.
Extrait de registre exemple pour finances personnelles
Voici un exemple de snippet d'un registre Beancount personnel capturant quelques transactions typiques : une dépense quotidienne portée à une carte de crédit, une facture récurrente payée par compte courant et une contribution à un compte d'investissement pour la retraite. (Pour la brièveté, nous supposons qu'une configuration initiale a été faite pour ouvrir les comptes et enregistrer les revenus salariaux ; 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 d'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 nous limitons à ce qui est nécessaire pour le snippet.
- 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. Le tag#dailyest ajouté pour indiquer qu'il s'agissait d'un poste de dépense quotidien – peut-être que plus tard vous voudrez 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 plutôtAssets:Cash(réduisant les espèces que vous avez en main). S'il s'agissait d'un achat par carte de débit, elle créditeraitAssets:Bank:Checking. La mécanique est similaire, seuls les comptes diffèrent. - 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é#recurringpour marquer qu'il s'agit d'une facture récurrente. Dans un registre complet, vous pourriez avoir une écriture exactement comme celle-ci chaque mois. (Beancount n'a pas de fonctionnalité de transaction récurrente automatique intégrée, mais vous pourriez y parvenir avec des scripts ou simplement copier-coller chaque mois. Les tags aident à vérifier plus tard que vous n'avez pas manqué un mois ou à totaliser rapidement le loyer d'une année.) Certains utilisateurs utilisent la fonctionnalité de transaction périodique via le framework d'importateurs de Beancount pour générer celles-ci automatiquement, mais c'est un usage avancé au-delà de la portée de ce document. L'essentiel est que cette transaction montre clairement où est allé votre argent – une dépense pour le logement – et votre solde bancaire réduit. Un piège à surveiller : si vous partagez des dépenses ou avez des colocataires, vous pourriez ne payer qu'une partie du loyer ; dans ce cas, vous pourriez diviser la transaction entre votre portion et la portion payée par quelqu'un d'autre (en enregistrant éventuellement l'autre portion commeIncome:Reimbursementss'ils vous paient). 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 (trésorerie) à une autre (fonds de retraite). La transaction débite
Assets:Investment:401ket créditeAssets:Bank:Checking. Nous la taguons#retirementpour la clarté. Après cela, le solde de votre 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 par la suite acheter des parts de fonds communs avec cette trésorerie – ce serait une autre transaction dans le compte d'investissement, par exemple l'achat de X parts d'un fonds à un prix Y, la trésorerie 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 – elle construit vos actifs. De nombreux outils de budgétisation compteraient les contributions à la retraite comme des « dépenses » (puisqu'elles quittent votre compte courant), mais en termes comptables, c'est simplement déplacer de l'argent vers une autre poche. Cette distinction vous aide à comprendre le taux d'épargne par rapport aux dépenses.
Pour les investissements enregistrés en unités de titres pris en charge, Live Prices peut maintenir des cotations de valorisation dans un registre hébergé. Un solde de retraite uniquement en trésorerie ne peut pas obtenir de valeurs de marché de titres à partir d'un flux ; enregistrez les avoirs réels et gardez leurs coûts d'achat explicites.
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 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 l'avez payée en totalité) et réduirait votre solde bancaire en conséquence, sans effet sur les comptes de dépenses – parce que vous avez déjà enregistré les dépenses au moment de l'achat. Se souvenir 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 #cc-payment ou similaire) ou inclure la période du 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 tags), 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 baisse, il est allé quelque part (un autre compte augmente). Cela détecte les erreurs et évite le problème courant de « l'argent manquant » dans les outils de suivi plus simples. Avec l'automatisation, vous pouvez importer la plupart des transactions puis simplement les revoir et les classer, ce qui rend 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 de factures avec des amis (en utilisant des comptes de capitaux propres ou des comptes à payer/à recevoir), le suivi de l'amortissement de prêt ou la performance des investissements, si vous choisissez d'explorer ces domaines. Même dans sa forme la plus basique (comme montré dans le snippet), 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 le contrôle total : vous pouvez le scripter, 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 suffisamment simple pour ne pas être une corvée.
En adaptant votre registre Beancount à votre situation – que vous soyez freelance, que vous dirigiez une petite entreprise ou que vous gériez des fonds personnels – vous bénéficiez d'une approche systématique en partie double du suivi financier avec la flexibilité d'un système en texte brut. Ces exemples de configurations démontrent des schémas fondamentaux sur lesquels vous pouvez vous appuyer. À mesure que votre entreprise se développe ou que votre vie financière se complexifie, vous pouvez étendre le plan de comptes ou utiliser des fonctionnalités avancées (comme les budgets, l'analyse des écarts ou la gestion multidevise) selon vos 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. Une fois cela en place, Beancount sera un allié puissant pour comprendre et gérer vos finances, dans tous les secteurs et scénarios personnels. Bonne comptabilité !