Aller au contenu principal

Modéliser une entreprise cotée dans Beancount

Transformer le bilan et le compte de résultat d'une entreprise cotée en un grand livre Beancount équilibré selon les conventions Open Ledger, avec un trimestre PepsiCo travaillé et un modèle de départ.

Transformez le bilan et le compte de résultat d'un dépôt en un grand livre Beancount équilibré en suivant les mêmes conventions que celles utilisées par chaque entreprise du Open Ledger.

Ce guide détaille un trimestre réel de PepsiCo de bout en bout. Les chiffres correspondent au communiqué de résultats du T2 2026 de PepsiCo. Tous les montants restent en millions de dollars américains (MUSD).

Ce que vous obtenez

Vous terminez avec un grand livre qui vérifie le bilan de fin de période et enregistre le compte de résultat comme une seule transaction à somme nulle. bea check passe. Les rapports du compte de résultat et du bilan correspondent aux totaux publiés dans le dépôt. Le même schéma alimente chaque entreprise du Open Ledger et chaque article sous le tag open-ledger.

Choisir l'unité et l'exercice fiscal

Définissez operating_currency sur une unité en millions qui correspond au dépôt. Utilisez MUSD pour les entreprises qui rapportent en dollars américains. Utilisez MEUR, MJPY ou une autre forme M<CCY> lorsque le dépôt est libellé dans cette devise.

Un MUSD signifie 1 000 000 USD. Un solde de 25998 MUSD représente environ 26,0 milliards de dollars de trésorerie.

Placez chaque période fiscale dans son propre fichier sous un répertoire d'année. Nommez les fichiers annuels FY2025/FY2025.bean. Nommez les fichiers trimestriels FY2026/FY2026Q2.bean. Incluez-les dans main.bean de la plus ancienne à la plus récente.

Ouvrir le plan comptable

main.bean contient les options, les ouvertures de comptes et les inclusions. Il ne contient aucun solde ni aucune écriture de revenus.

Ouvrez chaque compte le 1970-01-01 en MUSD. Gardez les noms de base identiques entre les entreprises afin que les lecteurs puissent comparer un grand livre à un autre.

option "title" "PepsiCo, Inc. Financial Statements FY2021-FY2026Q2"
option "operating_currency" "MUSD"
 
; Currency convention:
;   MUSD = Millions of USD (custom unit for readability)
;   1 MUSD = USD 1,000,000
;   Example: "1000 MUSD" means USD 1,000,000,000
;   All figures sourced from PepsiCo, Inc. annual reports / filings.
;   Fiscal years end Dec 31 (52/53-week year; Dec 31 shown).
 
; ── ASSETS ──────────────────────────────────────────────────────────────────
1970-01-01 open Assets:Current:Cash                        MUSD
1970-01-01 open Assets:Current:ShortTermInvestments        MUSD
1970-01-01 open Assets:Current:AccountsReceivable          MUSD
1970-01-01 open Assets:Current:Other                       MUSD
1970-01-01 open Assets:NonCurrent:PropertyPlantEquipment   MUSD
1970-01-01 open Assets:NonCurrent:Goodwill                 MUSD
1970-01-01 open Assets:NonCurrent:IntangibleAssets         MUSD
1970-01-01 open Assets:NonCurrent:Other                    MUSD
 
; ── LIABILITIES ─────────────────────────────────────────────────────────────
1970-01-01 open Liabilities:Current:AccountsPayable        MUSD
1970-01-01 open Liabilities:Current:ShortTermDebt          MUSD
1970-01-01 open Liabilities:Current:DeferredRevenue        MUSD
1970-01-01 open Liabilities:Current:Other                  MUSD
1970-01-01 open Liabilities:NonCurrent:LongTermDebt        MUSD
1970-01-01 open Liabilities:NonCurrent:Other               MUSD
 
; ── EQUITY ──────────────────────────────────────────────────────────────────
1970-01-01 open Equity:OpeningBalance                      MUSD  ; FY2021 initialization
1970-01-01 open Equity:Adjustments                         MUSD  ; year-over-year BS differences
1970-01-01 open Equity:CommonStockAndAPIC                  MUSD
1970-01-01 open Equity:RetainedEarnings                    MUSD
1970-01-01 open Equity:OtherComprehensiveIncome            MUSD
 
; ── INCOME ──────────────────────────────────────────────────────────────────
1970-01-01 open Income:Revenue                             MUSD
1970-01-01 open Income:OtherNet                            MUSD  ; net other income (interest income, etc.)
 
; ── EXPENSES ────────────────────────────────────────────────────────────────
1970-01-01 open Expenses:CostOfRevenue                     MUSD
1970-01-01 open Expenses:ResearchAndDevelopment            MUSD
1970-01-01 open Expenses:SellingGeneralAdministrative      MUSD
1970-01-01 open Expenses:OtherNet                          MUSD
1970-01-01 open Expenses:IncomeTax                         MUSD
 
include "FY2026/FY2026Q2.bean"

Assets:Current:Other et les autres feuilles …:Other absorbent les résidus. Les postes modélisés plus ce résidu correspondent toujours au sous-total du dépôt.

Vérifier le bilan avec pad et balance

Faites un pad depuis Equity:Adjustments la veille de la fin de période. Vérifiez la valeur du dépôt à la date de fin de période. Écrivez une paire pad et balance par compte.

Les actifs ont des soldes positifs. Les passifs et les capitaux propres ont des soldes négatifs. Les lignes résiduelles conservent un commentaire indiquant le sous-total du dépôt auquel elles se rapprochent.

2026-06-29 pad Assets:Current:Cash                        Equity:Adjustments
2026-06-30 balance Assets:Current:Cash                     25998 MUSD
 
2026-06-29 pad Assets:Current:ShortTermInvestments        Equity:Adjustments
2026-06-30 balance Assets:Current:ShortTermInvestments     15600 MUSD
 
2026-06-29 pad Assets:Current:AccountsReceivable          Equity:Adjustments
2026-06-30 balance Assets:Current:AccountsReceivable       10398 MUSD
 
2026-06-29 pad Assets:Current:Other                       Equity:Adjustments
2026-06-30 balance Assets:Current:Other                    15604 MUSD  ; current assets residual (67600 total current)
 
2026-06-29 pad Liabilities:Current:AccountsPayable        Equity:Adjustments
2026-06-30 balance Liabilities:Current:AccountsPayable     -8318 MUSD

Couvrez l'intégralité du relevé de la même manière : chaque compte d'actif et de passif, plus Equity:CommonStockAndAPIC, Equity:RetainedEarnings et Equity:OtherComprehensiveIncome. Commencez chaque fichier de période par une bannière indiquant le nom de l'entreprise, la période, l'unité et l'URL de la source.

Enregistrer le compte de résultat comme une seule transaction

Datez la transaction à la fin de la période fiscale. Les écritures de produits sont négatives. Les écritures de charges sont positives. Equity:Adjustments absorbe le résultat net afin que l'écriture soit à somme nulle.

Placez la vérification arithmétique dans un commentaire au-dessus de la transaction. La vérification doit être égale à zéro avant de faire confiance à l'écriture.

; Check: -23000 + 10350 + 400 + 8740 + 230 + 688 + 2592 = 0 ✓
 
2026-06-30 * "PepsiCo, Inc." "FY2026Q2 Income Statement"
  Income:Revenue                         -23000 MUSD
  Expenses:CostOfRevenue                   10350 MUSD
  Expenses:ResearchAndDevelopment          400 MUSD
  Expenses:SellingGeneralAdministrative    8740 MUSD
  Expenses:OtherNet                        230 MUSD
  Expenses:IncomeTax                       688 MUSD
  Equity:Adjustments                      2592 MUSD  ; net income offset

Le chiffre d'affaires est de 23 000 MUSD. Le résultat net est de 2 592 MUSD. Lorsque les autres produits sont nets positifs, imputez-les à Income:OtherNet plutôt qu'à Expenses:OtherNet. N'utilisez jamais les deux dans une même période.

Valider et lire les rapports

Exécutez une vérification sur le grand livre racine :

bea --file main.bean check

Un grand livre propre sort avec le code 0 et sans affichage. Privilégiez bea --json --no-input --file main.bean check lorsque vous souhaitez une validité lisible par machine et exigez data.valid: true.

Lisez le compte de résultat pour la fenêtre fiscale de l'entreprise, et non pour un trimestre civil qui partage le même nom :

bea --json --no-input --file main.bean report income-statement --time '2026-04-01 - 2026-06-30'

Ouvrez le même fichier dans Fava pour parcourir le bilan et le compte de résultat. Confirmez trois choses par rapport au dépôt : le commentaire ; Check: donne une somme nulle, le total des actifs est égal au total des passifs plus les capitaux propres, et le résultat net dans la transaction est identique à celui du dépôt.

Partir du modèle

Reproduisez la structure avant d'inventer un nouveau plan. Le modèle actif ci-dessous est un grand livre fictif d'Example Industries Inc. pour l'exercice FY2025 en MUSD. Il utilise les mêmes noms de comptes, le même schéma pad et balance, et la même transaction unique pour le compte de résultat.

Ouvrir Modèle d'entreprise cotée d'Example Industries Inc. dans un nouvel onglet

Téléchargez ce schéma sous public-company-starter.bean, puis exécutez bea --file public-company-starter.bean check. Le fichier correspond aux cadres du plan, des pads/balances et du compte de résultat ci-dessus : la trésorerie se termine à 25 998 MUSD, les comptes fournisseurs à -8 318 MUSD, le chiffre d'affaires à -23 000 MUSD, l'impôt sur le revenu à 688 MUSD, et Equity:Adjustments à -56 690 MUSD après les pads et le décalage du résultat net. Remplacez les montants de PepsiCo par ceux de votre dépôt et conservez les noms de comptes.

Parcourez chaque entreprise réelle sur le Open Ledger. Copiez la structure du modèle, puis remplacez les montants fictifs par ceux de votre dépôt.

Pour aller plus loin

  • Étudiez davantage de grands livres d'entreprises réelles sur le Open Ledger.
  • Lisez les analyses de résultats sous le tag open-ledger.
  • Copiez des modèles de finances personnelles depuis Working Ledger Examples si vous avez besoin d'un départ pour un ménage ou un indépendant plutôt qu'un 10-K.
  • Consultez Financial Reporting Templates pour la forme des rapports de compte de résultat et de bilan dans de plus petits livres.

Source : https://beancount.io/fr/docs/model-a-public-company-in-beancount