Aller au contenu principal

Tutoriel Beancount : installation et premier grand livre

Installez Beancount, créez votre premier fichier de grand livre, configurez les comptes et les options, puis validez — un parcours de premier succès.

Prêt à prendre le contrôle de vos finances ? Ce guide vous permettra de démarrer avec Beancount en quelques minutes. Vous apprendrez à créer votre premier journal, à configurer les comptes essentiels et à enregistrer vos premières transactions.

Vue du journal beancount.io listant les transactions en partie double en texte brut avec des filtres par type de directive

Explorer le journal en direct →

Configuration initiale​

Créer votre premier journal​

; Basic structure for a new ledger
2024-01-01 open Assets:Checking
2024-01-01 open Equity:Opening-Balances
 
2024-01-02 * "Initial Deposit"
  Assets:Checking           100.00 USD
  Equity:Opening-Balances

Configuration essentielle​

option "title" "Personal Finance Ledger"
option "operating_currency" "USD"

Organisation des fichiers​

Structure recommandée​

; 1. Configuration Options
option "title" "Personal Ledger"
option "operating_currency" "USD"
 
; 2. Account Declarations
2024-01-01 open Assets:Checking    USD
2024-01-01 open Assets:Savings     USD
2024-01-01 open Expenses:Food      USD
2024-01-01 open Equity:Opening-Balances
 
; 3. Initial Balances
; Pad fills the gap up to Equity:Opening-Balances, so it must be dated
; before the assertion. Balance assertions are checked at the start of
; their day, so assert the next morning.
2024-01-01 pad Assets:Checking Equity:Opening-Balances
2024-01-02 balance Assets:Checking 1000.00 USD
 
; 4. Transactions
2024-01-15 * "Grocery Store" "Weekly groceries"
  Expenses:Food            50.00 USD
  Assets:Checking

Organisation des sections​

  1. Comptes éternels

    2024-01-01 open Liabilities:Payables    USD
    2024-01-01 open Assets:Receivables      USD
  2. Comptes bancaires

    2024-01-01 open Assets:Bank:Checking     USD
    2024-01-01 open Assets:Bank:Savings      USD
    2024-01-01 open Income:Bank:Interest     USD
  3. Comptes de placement

    2024-01-01 open Assets:Investment:Cash    USD
    2024-01-01 open Assets:Investment:Stocks  VTSAX
    2024-01-01 open Income:Investment:Dividend USD

Validation et rapports​

Validation de base​

# Check for errors (exits 0 when clean)
bea --file ledger.beancount check
 
# Browse balances, reports, and charts in the web interface
fava ledger.beancount

bea check est le validateur : il renvoie le code de sortie 0 lorsque le journal est propre ; sinon, il liste chaque erreur et renvoie un code non nul. Installez-le avec le démarrage rapide de la CLI. Fava est l'interface web — lancez-le et ouvrez l'adresse http://localhost:5000 affichée pour accéder au bilan, au compte de résultat et aux journaux de comptes.

Rapports courants​

Beancount 3 produit des rapports via l'interface web de Fava, la commande unique bea report, ou des requêtes ad hoc avec bea query, qui utilise le langage de requête Beancount. Beancount 3 a supprimé ses anciennes commandes de rapport et web ; bea report et Fava les remplacent.

# Balance sheet, in one command
bea --file ledger.beancount report balance-sheet
 
# Income statement, in one command
bea --file ledger.beancount report income-statement
 
# Balance-sheet numbers: balances by asset, liability, and equity account
bea --file ledger.beancount query "SELECT account, sum(position) AS balance WHERE account ~ '^(Assets|Liabilities|Equity)' GROUP BY account ORDER BY account"
 
# Income-statement numbers: totals by income and expense account
bea --file ledger.beancount query "SELECT account, sum(position) AS total WHERE account ~ '^(Income|Expenses)' GROUP BY account ORDER BY account"
 
# One account's journal, with a running balance
bea --file ledger.beancount query "SELECT date, narration, position, balance WHERE account = 'Assets:Checking'"

Gestion des soldes initiaux​

Exemple de pad​

2024-01-01 open Assets:Checking    USD
2024-01-01 open Equity:Opening-Balances
 
; Pad account to match a known balance
2024-01-01 pad Assets:Checking Equity:Opening-Balances
 
; Assert the known balance the next day: assertions are evaluated at the
; start of their date, and the pad transaction must fall before it
2024-01-02 balance Assets:Checking 1525.00 USD

Une assertion balance vérifie le compte au début de sa date, elle doit donc être datée après le pad (ou toute transaction) qu'elle doit inclure. Dater le pad et l'assertion balance le même jour laisse le pad inutilisé et l'assertion en déficit — Beancount signale Unused Pad entry et Balance failed. Le compte Equity:Opening-Balances doit être ouvert avant de servir de compte de contrepartie au pad.

Clôture de compte​

2024-01-01 open Assets:OldBank:Checking   USD
2024-06-30 close Assets:OldBank:Checking  ; Account closed

Déduplication des transactions​

Gestion des transferts​

; Credit card payment - combined view
2024-01-15 * "Credit Card Payment"
  Assets:Checking            -500.00 USD
  Liabilities:CreditCard     500.00 USD
 
; Flag for pending match
2024-01-15 * "Pending CC Payment"
  ! Assets:Checking         -500.00 USD
  Liabilities:CreditCard    500.00 USD

Assertions de solde​

; Regular balance checks prevent duplicates
2024-01-31 balance Assets:Checking    2150.25 USD
2024-01-31 balance Liabilities:CreditCard  -350.00 USD

Bonnes pratiques​

  1. Organisation des fichiers

    • Conservez un fichier principal au début
    • Utilisez des en-têtes de section clairs
    • Regroupez les comptes associés
  2. Noms de comptes

    • Utilisez des conventions de nommage cohérentes
    • Incluez des préfixes de pays/institution
    • Maintenez une hiérarchie logique
  3. Vérification des soldes

    • Effectuez des assertions de solde régulières
    • Utilisez des pads à bon escient
    • Suivez les clôtures de comptes
  4. Gestion des devises

    • Déclarez les devises de fonctionnement
    • Utilisez des codes de commodité cohérents
    • Spécifiez les contraintes de devises

Prochaines étapes​

Maintenant que vous avez configuré un journal de base :

  1. Enregistrez des transactions régulières : Commencez par vos dépenses et revenus quotidiens
  2. Configurez les imports de comptes bancaires : Utilisez les imports CSV ou les connexions bancaires pour automatiser la saisie. Collez un export de relevé bancaire dans le convertisseur CSV vers Beancount pour obtenir des écritures équilibrées dans votre navigateur, ou utilisez OFX & QIF vers Beancount pour les téléchargements .ofx, .qfx et .qif.
  3. Copiez une structure éprouvée : Téléchargez un fichier de démarrage prêt à l'emploi depuis les sections ménage, budget par enveloppes ou freelance des exemples de journaux fonctionnels, puis adaptez les modèles immobiliers et de placement de la même galerie
  4. Apprenez la syntaxe avancée : Explorez la référence de syntaxe pour des scénarios plus complexes
  5. Générez vos premiers rapports : Utilisez les fonctionnalités de l'interface pour créer des rapports financiers et analyser vos dépenses
  6. Travaillez depuis le terminal : Installez l'outil en ligne de commande bea avec le démarrage rapide de la CLI, puis clôturez un mois complet de bout en bout dans Votre premier mois avec bea

Référence rapide​

Types de comptes courants :

  • Assets:Bank:Checking - Votre compte courant
  • Expenses:Food:Groceries - Dépenses d'épicerie
  • Income:Salary:Company - Revenus d'emploi
  • Liabilities:CreditCard:Visa - Dette de carte de crédit

Commandes essentielles :

  • bea --file ledger.beancount check - Valide votre journal (renvoie un code non nul en cas d'erreur)
  • bea --file ledger.beancount report balance-sheet - Affiche un bilan
  • bea --file ledger.beancount query "SELECT ..." - Interroge les soldes et les transactions
  • fava ledger.beancount - Lance l'interface web pour les rapports et les graphiques

Ces lignes directrices établissent une base solide pour gérer vos finances personnelles avec Beancount. Prêt à ajouter votre première transaction ? Consultez notre guide des transactions dans l'interface.

Source : https://beancount.io/fr/docs/Basics/getting-started