La comptabilité en texte brut emprunte son vocabulaire à la comptabilité en partie double et ajoute quelques mots spécifiques à Beancount. Ce glossaire définit les termes que vous rencontrerez en lisant ces documents ou votre propre fichier de registre, chacun avec un court exemple lorsque cela aide. Chaque entrée possède son propre lien, afin que vous puissiez pointer un collègue directement vers une définition.
Compte
Un compte est un conteneur nommé qui suit un flux de valeur, écrit sous forme de hiérarchie séparée par des deux-points sous l'un des cinq types racines : Assets, Liabilities, Equity, Income ou Expenses. La hiérarchie constitue toute la structure organisatrice de vos livres — Assets:US:BofA:Checking et Expenses:Food:Restaurant se trient et se cumulent automatiquement. Chaque compte doit être déclaré avant d'être utilisé. Voir Syntaxe du langage Beancount pour les règles de nommage.
Comptabilité d'exercice
La comptabilité d'exercice enregistre les revenus lorsqu'ils sont gagnés et les dépenses lorsqu'elles sont engagées, indépendamment du moment où les liquidités bougent réellement. La comptabilité de trésorerie fait l'inverse : elle ne reconnaît les deux que lorsque l'argent change de mains. La comptabilité d'exercice donne une image plus fidèle de la performance d'une période, c'est pourquoi une facture envoyée en mars appartient à mars, même si le client paie en mai.
Amortissement
L'amortissement répartit un paiement unique important sur les périodes qu'il couvre réellement, afin que chaque mois assume sa part équitable du coût. Une prime d'assurance annuelle payée en janvier est une dépense des douze mois, pas seulement de janvier. Dans Beancount, vous écrivez soit les écritures fractionnées à la main, soit vous les générez avec un plugin — voir Amortir.
Assertion de solde
Une assertion de solde est une directive balance qui indique ce que le solde d'un compte doit être au début d'une date donnée, afin que votre relevé bancaire devienne une vérification automatique de vos livres. Si le solde calculé diffère de plus que la tolérance de l'assertion, Beancount échoue bruyamment avec les montants attendus et réels. Cette tolérance est une unité de la dernière décimale que vous avez écrite — 4.27 RGAGX accepte tout entre 4.26 et 4.28 — et un ~ avant la devise définit la vôtre. Parsemer une assertion par compte et par relevé est le moyen le moins coûteux de garder un registre digne de confiance.
2026-01-01 balance Assets:US:BofA:Checking 4,321.00 USDBeancount
Beancount est un système de comptabilité en partie double open source dont le registre est un fichier en texte brut que vous éditez dans n'importe quel éditeur de texte et validez avec un outil en ligne de commande. Il fournit une syntaxe stricte et analysable, un langage de requête et une interface web, sans base de données ni format de fichier propriétaire. Parce que le registre est du texte, il vit heureux dans Git à côté de votre code. Commencez par Introduction à Beancount.
Langage de requête Beancount
Le langage de requête Beancount, généralement abrégé BQL, est le langage de type SQL que vous utilisez pour poser des questions à votre registre. Il s'exécute sur les directives analysées plutôt que sur une base de données, donc SELECT account, sum(position) WHERE year = 2026 répond immédiatement à partir du même fichier que vous éditez. Lisez le guide du langage de requête pour la grammaire complète.
Méthode de comptabilisation
Une méthode de comptabilisation est la règle que Beancount applique lorsqu'une réduction doit choisir quels lots existants retirer. Beancount 3.2.3 accepte sept noms : STRICT (le défaut, où vous identifiez vous-même le lot), STRICT_WITH_SIZE, NONE, FIFO, LIFO, HIFO et AVERAGE. Définissez-en une par compte sur sa directive open, ou pour tout le fichier avec option "booking_method". Six des sept sont implémentées : AVERAGE se parse, mais lève AVERAGE method is not supported dès qu'elle doit comptabiliser une réduction. La méthode que vous choisissez modifie vos gains en capital réalisés, donc choisissez celle que votre juridiction fiscale attend et gardez-la stable. Gestion des inventaires exécute les sept sur les mêmes lots et publie le registre qui échoue sous AVERAGE.
Plan comptable
Un plan comptable est la liste complète des comptes que votre registre utilise, avec la structure qui les organise. Dans Beancount, il n'y a pas de fichier de plan séparé — l'ensemble des directives open est votre plan comptable. Le concevoir bien tôt évite beaucoup de renommages plus tard ; voir Configurations spécifiques par secteur pour des points de départ.
Directive de clôture
Une directive close marque la date après laquelle un compte ne peut plus être utilisé, c'est ainsi que vous retirez un compte bancaire ou un prêt remboursé sans supprimer son historique. Les transactions passées restent valides et rapportables ; seules les nouvelles écritures sont rejetées. Clôturer les comptes inutilisés garde les rapports lisibles à mesure que le registre vieillit.
2026-03-31 close Assets:US:OldBank:CheckingCommodité
Une commodité est toute unité de valeur que votre registre suit — une devise comme USD, un ticker d'action comme AAPL, un actif crypto comme BTC, ou quelque chose que vous inventez tel que VACATION-DAYS. Beancount ne convertit jamais entre commodités dans votre dos, donc un montant est toujours un nombre associé à la commodité dans laquelle il est libellé. Une directive commodity facultative vous permet d'attacher des métadonnées telles qu'un nom ou une classe d'actifs.
Coût de base
Le coût de base est ce que vous avez réellement payé pour une position, enregistré dans la devise avec laquelle vous avez payé et porté avec la position aussi longtemps que vous la possédez. Beancount l'écrit entre accolades — 10 AAPL {150.00 USD} signifie dix actions acquises à 150 dollars chacune. Doublez les accolades et le nombre devient le total plutôt que le prix unitaire, donc 10 AAPL {{1,500.00 USD}} enregistre le même lot. Parce que la base voyage avec la position, les gains en capital découlent de l'arithmétique lorsque vous vendez. Voir Gestion des inventaires.
Directive
Une directive est une instruction dans un fichier Beancount, généralement datée, et les directives constituent un registre. Douze sortes portent une date : open, close, balance, price, note, document, pad, event, commodity, custom, query et la transaction elle-même. Quelques-unes n'en portent pas et agissent sur le fichier plutôt que sur un jour — option, include, plugin et la paire pushtag/poptag. Beancount trie les datées par date avant traitement, donc vous pouvez les garder dans l'ordre qui se lit le mieux ; une non datée prend effet là où elle est écrite.
Comptabilité en partie double
La comptabilité en partie double est la pratique d'enregistrer chaque événement économique sous forme d'au moins deux écritures correspondantes, afin que leurs poids s'additionnent toujours à zéro. L'argent n'est jamais créé ni détruit — il se déplace seulement entre comptes, c'est pourquoi cette technique attrape les erreurs qu'une liste à colonne unique ne verrait jamais. Un poids est le montant propre d'une écriture, ou son coût ou prix reconverti en une seule devise, donc deux jambes dans des commodités différentes s'annulent quand même. Beancount applique strictement cette règle : une transaction dont les écritures ne s'équilibrent pas est une erreur, pas un avertissement.
2026-03-02 * "Bank" "Buy euros"
Assets:US:BofA:EUR 100.00 EUR @ 1.08 USD
Assets:US:BofA:Checking -108.00 USDBudget enveloppes
Le budget enveloppes met de côté de l'argent pour un but avant de le dépenser, afin que chaque catégorie ait sa propre limite au lieu de se disputer un solde commun. Le nom vient des enveloppes papier que les gens remplissaient de cash le jour de paie. Dans un registre en texte brut, vous modélisez les enveloppes avec des comptes dédiés ou des directives de budget — voir Budgets.
Fava
Fava est l'interface web de Beancount : graphiques, bilans, comptes de résultat, éditeur de requêtes et formulaire de saisie, servis depuis votre fichier de registre. Elle est principalement en lecture et s'exécute localement, donc elle change la façon dont vous voyez vos livres sans changer la façon dont vous les enregistrez. beancount.io héberge une version gérée aux côtés de ses propres outils ; le guide Fonctionnalités de l'interface couvre ce que vous pouvez y faire.
Inventaire
Un inventaire est la collection de positions qu'un compte détient actuellement, chacune avec sa propre commodité et, le cas échéant, son propre coût de base et sa date d'acquisition. Un compte de courtage qui a acheté la même action trois fois détient trois lots séparés dans un seul inventaire, pas un nombre fusionné. Garder les lots distincts est ce qui rend possibles des calculs de gains précis.
Journal
Le journal est la liste chronologique de tout ce qui s'est passé dans vos livres — le flux brut de transactions, par ordre de date, avant tout regroupement ou résumé. C'est la vue que vous parcourez lorsque vous voulez répondre "qu'est-ce que j'ai réellement fait en mars ?". La page journal de Fava est généralement l'endroit le plus rapide pour repérer une entrée mal catégorisée.
Registre
Un registre est l'ensemble complet des enregistrements comptables pour une entité, ce qui dans Beancount signifie votre fichier en texte brut (plus tout ce qu'il inclut). Le mot sert aussi de nom pour l'ensemble du livre de comptes et le nom du fichier lui-même. Parce qu'il est en texte, un registre peut être comparé, relu, ramifié et fusionné comme du code source.
Lot
Un lot est une acquisition spécifique d'une commodité, identifiée par son coût de base et sa date d'acquisition. Acheter le même ETF en janvier puis à nouveau en juin crée deux lots, et vendre plus tard signifie choisir quel lot vous vendez. Les lots sont la raison pour laquelle Beancount peut calculer les gains réalisés exactement au lieu de les approximer.
2026-06-15 * "Broker" "Buy VTI"
Assets:US:Broker:VTI 5 VTI {260.00 USD, 2026-06-15}
Assets:US:Broker:Cash -1,300.00 USDLibellé
Le libellé est la description en texte libre de ce à quoi servait une transaction, écrite comme la deuxième chaîne entre guillemets sur la ligne de transaction. Il est pour les humains : "Loyer mensuel", "Épicerie et ménage". Beancount ne le parse pas, mais c'est ce que vous lirez lorsque l'entrée n'aura plus de sens dans six mois.
Directive d'ouverture
Une directive open déclare un compte, la date à laquelle il commence à être utilisable, et facultativement les commodités qu'il peut détenir et la méthode de comptabilisation qu'il utilise. Beancount exige que chaque compte soit ouvert avant sa première écriture, ce qui empêche une faute de frappe de créer silencieusement un tout nouveau compte. Restreindre les commodités autorisées transforme toute une autre classe d'erreurs en erreurs.
2026-01-01 open Assets:US:Broker:VTI VTI "FIFO"Pad
Une directive pad dit à Beancount d'insérer le montant nécessaire pour faire réussir la prochaine assertion de solde sur un compte, en comptabilisant la différence sur un deuxième compte. Elle existe pour exactement un travail : ouvrir un registre en cours de vie sans reconstruire des années d'historique. Un padding au-delà de cette configuration initiale signifie généralement qu'une vraie erreur est maquillée.
Bénéficiaire
Le bénéficiaire est avec qui vous avez transigé, écrit comme la première chaîne entre guillemets sur une ligne de transaction. Garder les bénéficiaires cohérents — toujours "Whole Foods", jamais parfois "WholeFoods" — est ce qui fait fonctionner les rapports basés sur les bénéficiaires et les importateurs automatisés. Beancount traite le bénéficiaire comme facultatif ; une transaction peut ne porter qu'un libellé.
Comptabilité en texte brut
La comptabilité en texte brut est la pratique de tenir vos livres dans un fichier texte lisible par un humain sous contrôle de version, traité par des outils open source en ligne de commande. Elle échange une interface à cliquer pour la durabilité, l'auditabilité et l'automatisation : vos données survivent à tout fournisseur, chaque changement est un diff examinable, et n'importe quel script peut les lire. Beancount, Ledger et hledger sont les trois implémentations les plus connues.
Plugin
Un plugin est un module Python que Beancount charge lors du traitement de votre fichier, lui permettant d'ajouter, transformer ou valider des directives avant que les rapports soient construits. Les plugins sont comment la prévision, les calendriers d'amortissement et les vérifications personnalisées sont implémentés sans changer le langage de base. Vous en activez un avec une ligne plugin autonome en haut de votre registre, jamais avec une option — option "plugin" "…" est rejeté avec Option 'plugin' may not be set. Le guide Plugin de prévision parcourt un exemple réel.
Écriture
Une écriture est une jambe d'une transaction : un compte, un montant, et facultativement un coût ou un prix. Ce qui doit s'additionner à zéro dans une transaction n'est pas les montants bruts mais leurs poids : un montant simple pèse lui-même, 10 FUND @ 38.46 USD pèse 384.60 USD, et 10 FUND {384.61 USD} pèse 3,846.10 USD, parce que les accolades simples contiennent le coût d'une unité. Au plus une écriture peut laisser son montant vide, auquel cas Beancount calcule le chiffre d'équilibrage pour vous. Voir Précision & tolérances pour les règles complètes de poids.
Directive de prix
Une directive price enregistre le taux de change entre deux commodités à une date, c'est ainsi que Beancount convertit une position à sa valeur de marché dans les rapports. Une directive price est une donnée de référence pure : elle ne déplace pas d'argent et n'appartient à aucune transaction. Ne la confondez pas avec le prix @ écrit dans une écriture, qui est arithmétique — il donne à 10 FUND @ 38.46 USD un poids de 384.60 USD et décide donc si la transaction s'équilibre. Sans directives de prix, un portefeuille s'équilibre toujours au coût mais ne peut pas être valorisé au marché.
2026-06-30 price VTI 271.40 USDRapprochement
Le rapprochement est l'acte de prouver que vos livres concordent avec un enregistrement externe tel qu'un relevé bancaire ou de courtage. En comptabilité en texte brut, il est largement mécanique : ajoutez une assertion de solde pour chaque date de relevé et laissez l'outil vous dire si les chiffres correspondent. Un registre qui se rapproche proprement chaque mois est un registre sur lequel vous pouvez produire vos impôts sans crainte.
Étiquettes et liens
Les étiquettes et liens sont les deux étiquettes que vous attachez aux transactions pour les regrouper en dehors de la hiérarchie de comptes : une étiquette avec # marque un thème tel que #trip-japan, et un lien avec ^ relie des entrées associées telles que ^invoice-2026-014. Les étiquettes répondent "montre-moi tout dans cette catégorie" ; les liens répondent "montre-moi les entrées qui appartiennent à cet événement". Les deux sont filtrables dans Fava et interrogables dans BQL — voir Filtrage et recherche.
Transaction
Une transaction est un événement économique daté avec les écritures qui l'enregistrent, et c'est la directive que vous écrirez le plus souvent. Elle porte un drapeau (* pour confirmé, ! pour à vérifier), un bénéficiaire facultatif, un libellé, et deux ou plusieurs écritures dont les poids s'additionnent à zéro. Tout le reste dans un fichier Beancount existe pour déclarer, vérifier ou annoter des transactions.
2026-02-14 * "Blue Bottle" "Coffee with Dana"
Expenses:Food:Coffee 9.50 USD
Assets:US:BofA:Checking -9.50 USDToujours bloqué sur un mot ? Le Centre d'aide indexe tous les guides de ce site, et l'Aide-mémoire met la syntaxe de chaque directive côte à côte.