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 réglementaire en un grand livre Beancount équilibré avec les mêmes conventions que celles utilisées par chaque société de l'Open Ledger.

Ce guide modélise le compte de résultat trimestriel de PepsiCo et un extrait partiel du bilan issu du communiqué de résultats du T2 2026 de PepsiCo. Utilisez la colonne de 12 semaines se terminant le 13 juin 2026 à la page imprimée A-1 (page 6 du PDF), et le bilan à la même date en A-4 (page 9 du PDF). Le communiqué a été publié le 9 juillet 2026. Chaque montant reste exprimé en millions de dollars américains (MUSD).

Ce que vous obtenez​

Vous terminez avec cinq assertions de solde et une transaction de compte de résultat à somme nulle. bea check passe. Le compte de résultat reproduit le résultat net consolidé ; l'extrait du bilan couvre l'actif circulant et une ligne combinée de passif circulant. Ce n'est pas un bilan complet de la société. Le même schéma alimente chaque société de l'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 correspondant au dépôt réglementaire. Utilisez MUSD pour les émetteurs en dollars américains. Utilisez MEUR, MJPY ou une autre forme M<CCY> lorsque le dépôt réglementaire déclare dans cette devise.

Un MUSD signifie 1 000 000 USD. Un solde de 10251 MUSD correspond à 10,251 milliards de dollars de trésorerie.

Le trimestre déclaré couvre 12 semaines, soit 84 jours, jusqu'au 13 juin 2026. En comptant inclusivement, cela donne du 22 mars au 13 juin 2026. Utilisez ces dates fiscales plutôt que avril–juin. La colonne de l'exercice précédent du bilan est le 27 décembre 2025 ; ne remplacez pas les fins d'exercice fiscal par le 31 décembre.

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 depuis main.bean, du plus ancien au plus récent.

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 résultat.

Ouvrez chaque compte au 1970-01-01 en MUSD. Gardez les noms de comptes principaux identiques d'une société à l'autre afin que les lecteurs puissent comparer un grand livre avec un autre.

option "title" "PepsiCo, Inc. FY2026Q2 income statement and partial balance sheet"
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
;   Source: PepsiCo Q2 2026 earnings release, A-1 and A-4.
;   Fiscal quarter: 2026-03-22 through 2026-06-13 (12 weeks).
;   Partial balance sheet: current assets and combined payables only.
 
; ── 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  ; opening balances when needed
1970-01-01 open Equity:Adjustments                         MUSD  ; balancing offset for this statement model
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"

Le plan comptable fournit des noms de comptes pour d'autres sociétés et extensions ultérieures. Les comptes inutilisés n'impliquent pas un zéro déclaré. Seuls les comptes mouvementés ci-dessous ont des montants mappés dans cet exemple. Les comptes …:Other nécessitent une ligne source explicite ou un calcul résiduel ; ce n'est pas une licence pour inventer une répartition.

Vérifier le bilan avec pad et balance​

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

Les actifs portent des soldes positifs. Les passifs portent des soldes négatifs. Ces cinq assertions mappent la colonne du 13 juin 2026 en A-4 :

CompteMappage source (MUSD)
Assets:Current:CashTrésorerie et équivalents de trésorerie : 10 251
Assets:Current:ShortTermInvestmentsPlacements à court terme : 465
Assets:Current:AccountsReceivableCréances clients et effets à recevoir, nets : 13 496
Assets:Current:OtherTotal actif circulant 32 775 − 10 251 − 465 − 13 496 = 8 563 ; stocks 6 734 + charges constatées d'avance et autres actifs circulants 1 829
Liabilities:Current:OtherComptes fournisseurs et autres passifs circulants combinés : −24 504

Le communiqué ne sépare pas la dernière ligne en comptes fournisseurs autonomes et autres passifs. Gardez l'agrégat ensemble ; ne mouvementez pas un montant inventé sur Liabilities:Current:AccountsPayable.

; PepsiCo, Inc. FY2026Q2 — 2026-03-22 through 2026-06-13; MUSD
; Source: https://investors.pepsico.com/docs/pepsico-5v9wci20/media/Files/investors/q2-2026-earnings-release.pdf
; A-4, 2026-06-13 column: partial balance-sheet snapshot
2026-06-12 pad Assets:Current:Cash                        Equity:Adjustments
2026-06-13 balance Assets:Current:Cash                     10251 MUSD
 
2026-06-12 pad Assets:Current:ShortTermInvestments        Equity:Adjustments
2026-06-13 balance Assets:Current:ShortTermInvestments     465 MUSD
 
2026-06-12 pad Assets:Current:AccountsReceivable          Equity:Adjustments
2026-06-13 balance Assets:Current:AccountsReceivable       13496 MUSD
 
2026-06-12 pad Assets:Current:Other                       Equity:Adjustments
2026-06-13 balance Assets:Current:Other                    8563 MUSD  ; 32775 - 10251 - 465 - 13496 = 6734 + 1829
 
2026-06-12 pad Liabilities:Current:Other                  Equity:Adjustments
2026-06-13 balance Liabilities:Current:Other               -24504 MUSD  ; combined payables and other current liabilities

Beancount vérifie un solde au début de sa date. Les pads de la veille créent des écritures de snapshot synthétiques, pas des mouvements de trésorerie réels le 12 juin. Cet exemple n'a aucune écriture ultérieure d'actif ou de passif le 13 juin, donc les montants assertis restent aussi ses soldes de clôture.

Cet extrait omet les actifs non courants, la dette à court terme et les passifs et capitaux propres restants. Un modèle complet doit également mapper ces lignes, y compris les actions autodétenues et les intérêts minoritaires. Les totaux complets du dépôt réglementaire sont : actifs 112 189 = passifs 89 919 + capitaux propres 22 270 MUSD ; l'extrait ne reproduit pas ces totaux. Equity:Adjustments est un ajustement d'équilibrage, pas les capitaux propres déclarés. Commencez chaque fichier de période par une bannière nommant la société, la fenêtre fiscale, l'unité et l'URL 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 pour que l'écriture somme à zéro.

Placez la vérification arithmétique dans un commentaire au-dessus de la transaction. La vérification doit donner zéro avant que vous ne fassiez confiance à l'écriture.

; Check: -24181 + 11070 + 9088 + 171 + 848 + 3004 = 0
 
2026-06-13 * "PepsiCo, Inc." "FY2026Q2 Income Statement"
  Income:Revenue                         -24181 MUSD
  Expenses:CostOfRevenue                   11070 MUSD
  Expenses:SellingGeneralAdministrative     9088 MUSD
  Expenses:OtherNet                         171 MUSD  ; 230 expense - 59 pension income
  Expenses:IncomeTax                        848 MUSD
  Equity:Adjustments                       3004 MUSD  ; consolidated net income offset

Mappez la colonne trimestrielle de A-1 comme suit : chiffre d'affaires 24 181 moins coût des ventes 11 070 donne une marge brute de 13 111. Soustrayez les frais de vente, généraux et administratifs de 9 088 pour obtenir un résultat d'exploitation de 4 023 ; la ligne de dépréciation est nulle. Le communiqué ne divulgue pas de ligne R&D trimestrielle distincte, donc laissez Expenses:ResearchAndDevelopment inutilisé.

Le produit des prestations de retraite et de santé des retraités de 59 compense les charges d'intérêts nettes et autres de 230. Mouvementez leur charge nette, 171, sur Expenses:OtherNet. Cela donne un résultat avant impôts de 3 852. L'impôt de 848 laisse un résultat net consolidé de 3 004 MUSD. Si la même agrégation donne plutôt un résultat net dans une autre période, utilisez Income:OtherNet pour l'agrégat et laissez Expenses:OtherNet inutilisé.

Le communiqué déclare aussi un résultat net attribuable à PepsiCo de 2 981 MUSD. Le pont est 3 004 − 23 attribuables aux intérêts minoritaires = 2 981. Cette transaction modélise la mesure consolidée ; le 23 est une affectation du profit, pas une charge supplémentaire. Ne substituez pas 2 981 comme ajustement d'équilibrage.

Valider et lire les rapports​

Lancez une vérification sur le grand livre racine :

bea --file main.bean check

Un grand livre propre se termine avec le code 0 et sans sortie. Préférez bea --json --no-input --file main.bean check lorsque vous voulez une validité lisible par machine et exigez data.valid: true.

Lisez le compte de résultat pour la fenêtre fiscale de la société, pas pour un trimestre calendaire qui porte par hasard le même libellé :

bea --json --no-input --file main.bean report income-statement --time '2026-03-22 - 2026-06-13'

Ouvrez le même fichier dans Fava pour parcourir le bilan et le compte de résultat. Vérifiez l'arithmétique et la concordance avec la source séparément : le commentaire ; Check: somme à zéro, chaque montant mouvementé correspond à sa source mappée, et le rapport affiche un résultat net consolidé de 3 004 MUSD. Un montant de chiffre d'affaires erroné peut toujours équilibrer si l'ajustement est également erroné. Ce n'est qu'après avoir étendu cet extrait en un modèle complet que ses totaux de bilan devraient égaler les totaux du dépôt réglementaire.

Partir du modèle​

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

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

Téléchargez le véritable extrait PepsiCo sous public-company-starter.bean, puis lancez bea --file public-company-starter.bean check. Il combine les trois blocs Beancount ci-dessus, séparément du modèle live fictif. La trésorerie termine à 10 251 MUSD, les comptes fournisseurs et autres passifs circulants combinés à −24 504 MUSD, le chiffre d'affaires à −24 181 MUSD, et l'impôt sur le résultat à 848 MUSD. Les cinq pads compensent 32 775 − 24 504 = 8 271 MUSD vers Equity:Adjustments ; l'ajout de l'ajustement du résultat consolidé y laisse −5 267 MUSD. Cet ajustement n'est pas une ligne du dépôt réglementaire. Le téléchargement est un exemple partiel de bilan, pas le grand livre complet de PepsiCo. Remplacez ses montants et ses dates fiscales par vos propres mappages sources.

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

Pour aller plus loin​

  • Étudiez davantage de grands livres de sociétés réelles sur l'Open Ledger.
  • Lisez les analyses de résultats sous le tag open-ledger.
  • Copiez les schémas de finances personnelles dans Exemples de grand livre de travail lorsque vous avez besoin d'un modèle pour un ménage ou un indépendant plutôt que d'un 10-K.
  • Consultez les Modèles de reporting financier pour la forme des rapports de compte de résultat et de bilan dans des comptabilités plus petites.

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