Към основното съдържание

Моделирайте публична компания в Beancount

Преобразувайте баланса и отчета за приходите и разходите на публична компания в балансиран Beancount ledger, използвайки конвенциите на Open Ledger, с работен пример за тримесечие на PepsiCo и стартов шаблон.

Превърнете баланса и отчета за приходите и разходите от дадена декларация в балансиран Beancount регистър със същите конвенции, които използва всяка компания в Open Ledger.

Това ръководство моделира тримесечния отчет за приходите и разходите на PepsiCo и извадка от баланса от съобщението за приходите на PepsiCo за Q2 2026. Използвайте колоната за 12 седмици, приключваща на 13 юни 2026 г., на отпечатана страница A-1 (PDF страница 6), и баланса към същата дата на A-4 (PDF страница 9). Съобщението е публикувано на 9 юли 2026 г. Всяка цифра остава в милиони щатски долари (MUSD).

Какво получавате​

Завършвате с пет потвърждения на баланса и една транзакция в отчета за приходите и разходите с нулева сума. bea check преминава. Отчетът за приходите и разходите възпроизвежда консолидираната нетна печалба; извадката от баланса обхваща текущите активи и един обединен ред за текущи пасиви. Това не е пълен баланс на компанията. Същият модел захранва всяка компания в Open Ledger и всяка публикация под етикета open-ledger.

Изберете единицата и фискалната година​

Задайте operating_currency на единица в милиони, която съответства на декларацията. Използвайте MUSD за отчитащите се в щатски долари. Използвайте MEUR, MJPY или друга форма M<CCY>, когато декларацията отчита в тази валута.

Един MUSD означава 1 000 000 USD. Баланс от 10251 MUSD означава $10,251 милиарда парични средства.

Отчетеното тримесечие обхваща 12 седмици, или 84 дни, до 13 юни 2026 г. При включително броене това дава 22 март–13 юни 2026 г. Използвайте тези фискални дати, а не април–юни. Колоната за предходната година в баланса е 27 декември 2025 г.; не заменяйте края на фискалната година с 31 декември.

Поставете всеки фискален период в отделен файл под директория за годината. Наименувайте годишните файлове FY2025/FY2025.bean. Наименувайте тримесечните файлове FY2026/FY2026Q2.bean. Включвайте ги от main.bean от най-стария към най-новия.

Отворете сметкоплана​

main.bean съдържа опции, отваряния на сметки и включвания. Той не съдържа баланси и не съдържа записи за приходи.

Отворете всяка сметка на 1970-01-01 в MUSD. Поддържайте основните имена идентични между компаниите, за да могат читателите да сравняват един регистър с друг.

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"

Сметкопланът предоставя имена на сметки за други компании и бъдещи разширения. Неизползваните сметки не предполагат отчетена нула. Само сметките, осчетоводени по-долу, имат съпоставени суми в този пример. Сметките …:Other се нуждаят от ясен изходен ред или изчисление на остатъка; те не са разрешение да измисляте разбивка.

Потвърдете баланса с pad и balance​

Направете pad от Equity:Adjustments в деня преди края на периода. Потвърдете стойността от декларацията на датата на края на периода. Напишете една двойка pad и balance за всяка сметка.

Активите имат положителни баланси. Пасивите имат отрицателни баланси. Тези пет потвърждения съпоставят колоната към 13 юни 2026 г. на A-4:

СметкаСъпоставяне към източника (MUSD)
Assets:Current:CashПарични средства и парични еквиваленти: 10 251
Assets:Current:ShortTermInvestmentsКраткосрочни инвестиции: 465
Assets:Current:AccountsReceivableВземания по сметки и записи, нетно: 13 496
Assets:Current:OtherОбщо текущи активи 32 775 − 10 251 − 465 − 13 496 = 8 563; материални запаси 6 734 + предплатени и други текущи активи 1 829
Liabilities:Current:OtherОбединени задължения към доставчици и други текущи пасиви: −24 504

Съобщението не разделя последния ред на самостоятелни задължения към доставчици и други пасиви. Задръжте общата сума заедно; не осчетоводявайте измислена сума по 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 проверява баланса в началото на датата му. Pad-овете от предходния ден създават синтетични snapshot записи, а не действителни движения на парични средства на 12 юни. Този пример няма по-късни осчетоводявания на активи или пасиви на 13 юни, така че потвърдените суми остават и неговите баланси в края на периода.

Тази извадка пропуска нетекущите активи, краткосрочния дълг и останалите пасиви и собствен капитал. Пълният модел трябва да съпостави и тези редове, включително държавни акции и неконтролиращи участия. Пълните сборове от декларацията са активи 112 189 = пасиви 89 919 + собствен капитал 22 270 MUSD; извадката не възпроизвежда тези сборове. Equity:Adjustments е компенсиращо салдо, а не отчетен собствен капитал на акционерите. Започнете всеки файл за период с банер, указващ компанията, фискалния прозорец, мерната единица и URL на източника.

Запишете отчета за приходите и разходите като една транзакция​

Дата на транзакцията е краят на фискалния период. Записите за приходи са отрицателни. Записите за разходи са положителни. Equity:Adjustments поглъща нетната печалба, така че записът да се сумира до нула.

Поставете аритметичната проверка в коментар над транзакцията. Проверката трябва да се изчисли до нула, преди да се доверите на записа.

; 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

Съпоставете тримесечната колона на A-1, както следва: приходи 24 181 минус цена на продажбите 11 070 дава брутна печалба 13 111. Извадете разходите за продажби, общи и административни разходи от 9 088, за да получите оперативна печалба 4 023; редът за обезценка е нула. Съобщението не разкрива отделен тримесечен ред за R&D, така че оставете Expenses:ResearchAndDevelopment неизползвана.

Доходът от пенсионни и медицински придобивки за пенсионирани от 59 компенсира нетните лихвени разходи и други от 230. Осчетоводете техния нетен разход, 171, по Expenses:OtherNet. Това дава печалба преди данъци от 3 852. Данък от 848 оставя консолидирана нетна печалба от 3 004 MUSD. Ако същото агрегиране вместо това даде нетна печалба в друг период, използвайте Income:OtherNet за общата сума и оставете Expenses:OtherNet неизползвана.

Съобщението също отчита нетна печалба, приписваща се на PepsiCo, от 2 981 MUSD. Мостът е 3 004 − 23, приписващи се на неконтролиращи участия = 2 981. Тази транзакция моделира консолидираната мярка; 23 е разпределение на печалбата, а не друг разход. Не замествайте с 2 981 като компенсиращо салдо.

Валидирайте и прочетете отчетите​

Стартирайте проверка на основния регистър:

bea --file main.bean check

Чистият регистър завършва с код 0 без изход. Предпочитайте bea --json --no-input --file main.bean check, когато искате машинно четим резултат за валидност и изисквате data.valid: true.

Прочетете отчета за приходите и разходите за фискалния прозорец на компанията, а не за календарно тримесечие, което случайно споделя етикета:

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

Отворете същия файл във Fava, за да разгледате баланса и отчета за приходите и разходите. Проверявайте аритметиката и съответствието с източника поотделно: коментарът ; Check: се сумира до нула, всяка осчетоводена сума съответства на съпоставения си източник, а отчетът показва консолидирана нетна печалба от 3 004 MUSD. Грешна сума за приходи може все още да се балансира, ако компенсиращото салдо също е грешно. Едва след като разширите тази извадка в пълен модел, сборовете на баланса му трябва да се равняват на сборовете от декларацията.

Започнете от шаблона​

Клонирайте формата, преди да измислите нов сметкоплан. Живият шаблон по-долу е фиктивен регистър на Example Industries Inc. за FY2025 в MUSD. Той използва същите имена на сметки, модела pad и balance и единната транзакция на отчета за приходите и разходите.

Отворете Шаблон за публична компания Example Industries Inc. в нов раздел

Изтеглете реалната извадка от PepsiCo като public-company-starter.bean, след което стартирайте bea --file public-company-starter.bean check. Тя комбинира трите Beancount блока по-горе, отделно от фиктивния жив шаблон. Паричните средства завършват на 10251 MUSD, обединените задължения към доставчици и други текущи пасиви на -24504 MUSD, приходите на -24181 MUSD, а данъкът върху дохода на 848 MUSD. Петте pad-а компенсират 32775 − 24504 = 8271 MUSD към Equity:Adjustments; добавянето на компенсиращото салдо на консолидираната печалба оставя -5267 MUSD там. Това компенсиращо салдо не е ред от декларацията. Изтеглянето е пример за частичен баланс, а не пълният регистър на PepsiCo. Заменете неговите цифри и фискални дати със собствените си съпоставяния към източници.

Разгледайте всяка реална компания в Open Ledger. Копирайте структурата на шаблона, след което заменете фиктивните суми с цифри от вашата декларация.

Къде да продължите​

  • Разгледайте още живи регистри на компании в Open Ledger.
  • Прочетете разбори на приходи под етикета open-ledger.
  • Копирайте модели за лични финанси от Работещи примери за регистри, когато имате нужда от начален шаблон за домакинство или фрийлансър вместо 10-K.
  • Прегледайте Шаблони за финансово отчитане за формата на отчета за приходите и разходите и баланса в по-малки счетоводни книги.

Източник: https://beancount.io/bg/docs/model-a-public-company-in-beancount