Salta al contenuto principale

Modellare una società quotata in Beancount

Trasforma il bilancio e il conto economico di una società quotata in una contabilità Beancount bilanciata utilizzando le convenzioni Open Ledger, con un trimestre PepsiCo lavorato e un modello iniziale.

Trasforma il bilancio e il conto economico di un deposito in una contabilità Beancount bilanciata con le stesse convenzioni usate da ogni società Open Ledger.

Questa guida esamina un intero trimestre reale di PepsiCo dall'inizio alla fine. I numeri corrispondono al comunicato sugli utili del secondo trimestre 2026 di PepsiCo. Ogni cifra rimane espressa in milioni di dollari statunitensi (MUSD).

Cosa otterrai

Alla fine avrai una contabilità che verifica il bilancio di fine periodo e registra il conto economico come una singola transazione a somma zero. bea check supera il controllo. I report del conto economico e del bilancio corrispondono ai totali pubblicati nel deposito. Lo stesso schema alimenta ogni società su Open Ledger e ogni post sotto il tag open-ledger.

Scegli l'unità e l'anno fiscale

Imposta operating_currency su un'unità in milioni che corrisponda al deposito. Usa MUSD per i reporter in dollari statunitensi. Usa MEUR, MJPY o un'altra forma M<CCY> quando il deposito riporta in quella valuta.

Un MUSD significa USD 1.000.000. Un saldo di 25998 MUSD significa circa $26,0 miliardi di liquidità.

Metti ogni periodo fiscale nel proprio file sotto una directory per anno. Denomina i file annuali FY2025/FY2025.bean. Denomina i file trimestrali FY2026/FY2026Q2.bean. Includili da main.bean dal più vecchio al più recente.

Apri il piano dei conti

main.bean contiene opzioni, aperture di conti e inclusioni. Non contiene saldi né voci di reddito.

Apri ogni conto su 1970-01-01 in MUSD. Mantieni i nomi principali identici tra le società così i lettori possono confrontare una contabilità con un'altra.

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 e le altre foglie …:Other assorbono i residui. Le voci modellate più quel residuo riconciliano sempre con il subtotale del deposito.

Verifica il bilancio con pad e balance

Pad da Equity:Adjustments il giorno prima della fine del periodo. Verifica il valore del deposito alla data di fine periodo. Scrivi una coppia di pad e balance per ogni conto.

Le attività hanno saldi positivi. Le passività e il patrimonio netto hanno saldi negativi. Le linee residue mantengono un commento che nomina il subtotale del deposito a cui riconciliano.

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

Copri l'intera dichiarazione allo stesso modo: ogni conto di attività e passività, più Equity:CommonStockAndAPIC, Equity:RetainedEarnings e Equity:OtherComprehensiveIncome. Inizia ogni file di periodo con un banner che nomina la società, il periodo, l'unità e l'URL della fonte.

Registra il conto economico come una singola transazione

Data la transazione alla fine del periodo fiscale. Le registrazioni di ricavo sono negative. Le registrazioni di spesa sono positive. Equity:Adjustments assorbe l'utile netto così che la voce sommi a zero.

Metti il controllo aritmetico in un commento sopra la transazione. Il controllo deve dare zero prima di fidarsi della voce.

; 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

I ricavi sono 23.000 MUSD. L'utile netto è 2.592 MUSD. Quando gli altri ricavi netti sono positivi, registrali su Income:OtherNet invece di Expenses:OtherNet. Non usare mai entrambi in un periodo.

Valida e leggi i report

Esegui un controllo sulla contabilità radice:

bea --file main.bean check

Una contabilità pulita esce con codice 0 e nessun output. Preferisci bea --json --no-input --file main.bean check quando vuoi una validità leggibile dalla macchina e richiedi data.valid: true.

Leggi il conto economico per la finestra fiscale dell'azienda, non per un trimestre di calendario che condivide l'etichetta:

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

Apri lo stesso file in Fava per sfogliare il bilancio e il conto economico. Conferma tre cose rispetto al deposito: il commento ; Check: somma a zero, le attività totali equivalgono alle passività totali più il patrimonio netto, e l'utile netto nella transazione equivale all'utile netto del deposito.

Parti dal modello

Clona la forma prima di inventare un nuovo piano dei conti. Il modello vivo qui sotto è una contabilità fittizia di Example Industries Inc. FY2025 in MUSD. Usa gli stessi nomi di conto, schema di pad e balance e transazione unica del conto economico.

Apri Modello di società quotata Example Industries Inc. in una nuova scheda

Scarica questo schema come public-company-starter.bean, poi esegui bea --file public-company-starter.bean check. Il file corrisponde al piano dei conti, ai pad/balance e alle delimitazioni del conto economico sopra: La liquidità termina a 25998 MUSD, i debiti verso fornitori a -8318 MUSD, i ricavi a -23000 MUSD, le imposte sul reddito a 688 MUSD e Equity:Adjustments a -56690 MUSD dopo i pad e la compensazione dell'utile netto. Sostituisci gli importi di PepsiCo con le cifre del tuo deposito e mantieni i nomi dei conti.

Sfoglia ogni società reale su Open Ledger. Copia la struttura del modello, poi sostituisci gli importi fittizi con le cifre del tuo deposito.

Dove andare dopo

Fonte: https://beancount.io/it/docs/model-a-public-company-in-beancount