La comptabilité en texte brut emprunte son vocabulaire à la comptabilité en partie double et y ajoute une poignée de termes propres à Beancount. Ce glossaire définit les termes que vous rencontrerez en lisant cette documentation ou votre propre fichier de grand livre, chacun accompagné d'un court exemple lorsque cela aide. Chaque entrée dispose de son propre lien, vous pouvez donc pointer un collègue directement vers une définition.
Compte
Un compte est un compartiment 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 d'organisation 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'engagement enregistre les revenus lorsqu'ils sont acquis 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. L'engagement donne une image plus fidèle de la performance d'une période, c'est pourquoi une facture que vous avez envoyée en mars appartient à mars même si le client paie en mai.
Amortissement
L'amortissement répartit un seul paiement important sur les périodes qu'il couvre réellement, de sorte que chaque mois porte sa juste part 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 rédigez soit les écritures réparties à la main, soit vous les générez avec un plugin — voir Amortize.
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, de sorte que votre relevé bancaire devient
un contrôle automatique de vos livres. Si le solde calculé diffère de plus que la
tolérance de l'assertion, Beancount échoue bruyamment en indiquant les montants attendu
et réel. Cette tolérance est d'une unité du dernier chiffre que vous avez écrit —
4.27 RGAGX accepte tout de 4,26 à 4,28 — et un ~ devant la devise fixe la vôtre.
Parsemer une assertion par compte et par relevé est le moyen le moins coûteux de
garder un grand livre fiable.
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 grand livre est un fichier en texte brut que vous modifiez dans n'importe quel éditeur de texte et validez avec un outil en ligne de commande. Il vous offre 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. Comme le grand livre est du texte, il vit volontiers dans Git aux côtés 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 interroger votre grand livre. 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 modifiez. Consultez le
guide du langage de requête pour la grammaire
complète.
Méthode de comptabilisation
Une méthode d'affectation est la règle que Beancount applique lorsqu'une réduction doit
choisir quels lots existants prélever. Beancount 3.2.3 accepte sept noms : STRICT
(la valeur par 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 s'analyse, mais lève
AVERAGE method is not supported dès qu'elle doit comptabiliser une réduction. La
méthode que vous choisissez change vos plus-values réalisées, alors choisissez celle
que votre juridiction fiscale attend et gardez-la stable.
Gestion des stocks exécute les sept sur les mêmes lots, et
publie le grand livre qui échoue sous AVERAGE.
Plan comptable
Un plan comptable est la liste complète des comptes utilisés par votre grand livre,
avec la structure qui les organise. Dans Beancount il n'y a pas de fichier de plan
comptable séparé — l'ensemble des directives open est votre plan comptable. Le
concevoir correctement dès le départ évite beaucoup de renommages plus tard ; voir
Configurations propres à chaque 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é, ce qui vous permet de retirer 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. Fermer les comptes inutilisés garde les
rapports lisibles à mesure qu'un grand livre vieillit.
2026-03-31 close Assets:US:OldBank:CheckingCommodité
Une marchandise est toute unité de valeur suivie par votre grand livre — une devise
comme USD, un symbole boursier comme AAPL, un actif crypto comme BTC, ou quelque
chose que vous inventez tel que VACATION-DAYS. Beancount ne convertit jamais entre
marchandises à votre insu, donc un montant est toujours un nombre associé à la
marchandise 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'actif.
Coût de base
La base de coût est ce que vous avez réellement payé pour une position, enregistrée
dans la devise avec laquelle vous avez payé et portée avec la position aussi longtemps
que vous la détenez. 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. Comme la base voyage avec la position, les plus-values
découlent de l'arithmétique lorsque vous vendez. Voir
Gestion des stocks.
Directive
Une directive est une instruction dans un fichier Beancount, généralement datée, et ce
sont les directives qui composent un grand livre. Douze types 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 directives datées par date avant de les
traiter, vous pouvez donc les conserver dans l'ordre qui se lit le mieux ; une
directive non datée prend effet là où elle est écrite.
Comptabilité en partie double
La comptabilité en partie double est la pratique consistant à enregistrer chaque événement économique sous forme d'au moins deux écritures correspondantes, de sorte que leurs poids s'annulent toujours. L'argent n'est jamais créé ni détruit — il ne fait que circuler entre les comptes, c'est pourquoi cette technique détecte des erreurs qu'une liste à colonne unique ne repérerait jamais. Un poids est le montant propre d'une écriture, ou son coût ou prix converti en une seule devise, de sorte que deux contreparties dans des marchandises différentes s'annulent tout de même. Beancount applique la règle strictement : 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 par enveloppes met de l'argent de côté pour un objectif avant que vous ne le dépensiez, de sorte que chaque catégorie a sa propre limite au lieu de rivaliser pour un solde commun. Le nom vient des enveloppes en papier que les gens remplissaient autrefois de liquidités le jour de la paie. Dans un grand livre 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, un éditeur de requêtes et un formulaire de saisie, servis à partir de votre fichier de grand livre. Il est essentiellement en lecture et s'exécute localement, il change donc 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 décrit ce que vous pouvez y faire.
Inventaire
Un inventaire est l'ensemble des positions qu'un compte détient actuellement, chacune avec sa propre marchandise et, le cas échéant, sa propre base de coût et date d'acquisition. Un compte de courtage qui a acheté trois fois la même action détient trois lots distincts dans un seul inventaire, pas un seul nombre combiné. Garder les lots distincts est ce qui rend possibles des calculs de plus-values exacts.
Journal
Le journal est la liste chronologique de tout ce qui s'est produit dans vos livres — le flux brut des transactions, par ordre de date, avant tout regroupement ou synthèse. C'est la vue que vous parcourez lorsque vous voulez répondre à « qu'ai-je réellement fait en mars ? ». La page journal de Fava est généralement l'endroit le plus rapide pour repérer une écriture mal catégorisée.
Registre
Un grand livre est l'ensemble complet des écritures comptables d'une entité, ce qui dans Beancount signifie votre fichier en texte brut (plus tout ce qu'il inclut). Le mot désigne à la fois l'ensemble du livre de comptes et le nom du fichier lui-même. Comme c'est du texte, un grand livre peut être comparé, revu, dupliqué et fusionné comme du code source.
Lot
Un lot est une acquisition spécifique d'une marchandise, identifiée par sa base de coût 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 plus-values réalisées exactement plutôt que 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é
La narration est la description en texte libre de l'objet d'une transaction, écrite comme deuxième chaîne entre guillemets sur la ligne de transaction. Elle est destinée aux humains : « Loyer mensuel », « Courses et ménage ». Beancount ne l'analyse pas, mais c'est ce que vous lirez lorsque l'écriture n'aura plus de sens dans six mois.
Directive d'ouverture
Une directive open déclare un compte, la date à partir de laquelle il devient
utilisable, et éventuellement les marchandises qu'il peut détenir et la méthode
d'affectation 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
compte tout nouveau. Restreindre les marchandises autorisées transforme toute une autre
classe d'erreurs en erreurs explicites.
2026-01-01 open Assets:US:Broker:VTI VTI "FIFO"Pad
Une directive pad indique à Beancount d'insérer le montant nécessaire pour que la
prochaine assertion de solde d'un compte réussisse, en comptabilisant la différence sur
un second compte. Elle existe pour exactement un usage : ouvrir un grand livre en cours
de vie sans reconstituer des années d'historique. Un padding au-delà de cette
configuration initiale signifie généralement qu'une véritable erreur est dissimulée.
Bénéficiaire
Le bénéficiaire est la personne ou l'entité avec qui vous avez effectué la transaction,
écrit comme 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 par bénéficiaire et les importateurs automatisés.
Beancount traite le bénéficiaire comme facultatif ; une transaction peut ne porter
qu'une narration.
Comptabilité en texte brut
La comptabilité en texte brut est la pratique consistant à tenir vos livres dans un fichier texte lisible par l'humain sous contrôle de version, traité par des outils en ligne de commande open source. Elle échange une interface cliquer-glisser contre la durabilité, l'auditabilité et l'automatisation : vos données survivent à tout fournisseur, chaque changement est un diff vérifiable, 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 pendant le traitement de votre
fichier, ce qui lui permet d'ajouter, transformer ou valider des directives avant que
les rapports ne soient construits. Les plugins sont le moyen d'implémenter des
prévisions, des échéanciers d'amortissement et des contrôles personnalisés sans changer
le langage de base. Vous en activez un avec une ligne plugin autonome en haut de votre
grand livre, jamais avec une option — option "plugin" "…" est rejeté avec
Option 'plugin' may not be set. Le guide
Plugin de prévision déroule un exemple concret.
Écriture
Une écriture est une contrepartie d'une transaction : un compte, un montant, et
éventuellement un coût ou un prix. Ce qui doit s'annuler au sein d'une transaction n'est
pas les montants bruts mais leurs poids : un montant simple se pondère 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,
car les accolades simples contiennent le coût d'une unité. Au plus une écriture peut
laisser son montant vide, auquel cas Beancount calcule le montant d'équilibrage pour
vous. Voir Précision et tolérances pour les règles complètes des
poids.
Directive de prix
Une directive price enregistre le taux de change entre deux marchandises à une date,
ce qui permet à Beancount de convertir une position en sa valeur de marché dans les
rapports. Une directive price est une donnée de référence pure : elle ne déplace
aucun argent et n'appartient à aucune transaction. Ne la confondez pas avec le prix @
écrit à l'intérieur d'une écriture, qui est de l'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 price, un portefeuille s'équilibre toujours au coût mais
ne peut pas être valorisé au marché.
2026-06-30 price VTI 271.40 USDCours en direct fournit des directives price gérées pour les actifs
pris en charge dans les grands livres hébergés. Votre propre prix l'emporte pour la
même date et la même paire, y compris la paire réciproque. Un prix géré à une date
ultérieure peut néanmoins s'appliquer à une valorisation ultérieure.
Rapprochement
Le rapprochement est l'acte de prouver que vos livres concordent avec un document externe tel qu'un relevé bancaire ou de courtage. Dans la 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 grand livre qui se rapproche proprement chaque mois est un grand livre à partir duquel vous pouvez remplir vos impôts sans crainte.
Étiquettes et liens
Les tags et les liens sont les deux étiquettes que vous attachez aux transactions pour
les regrouper hors de la hiérarchie de comptes : un tag avec # marque un thème tel
que #trip-japan, et un lien avec ^ associe des écritures liées telles que
^invoice-2026-014. Les tags répondent à « montrez-moi tout ce qui entre dans cette
catégorie » ; les liens répondent à « montrez-moi les écritures qui appartiennent à cet
événement ». Les deux sont filtrables dans Fava et interrogeables en BQL — voir
Filtrage et recherche.
Transaction
Une transaction est un événement économique daté accompagné des écritures qui
l'enregistrent, et c'est la directive que vous écrirez le plus souvent. Elle porte un
indicateur (* pour confirmé, ! pour à vérifier), un bénéficiaire facultatif, une
narration, et deux ou plusieurs écritures dont les poids s'annulent. Tout le reste dans
un fichier Beancount existe pour déclarer, contrôler 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 côte à côte la syntaxe de chaque directive.