Перейти до основного вмісту
Beancount.io Logo

Змоделюйте публічну компанію в Beancount

Перетворіть баланс і звіт про прибутки та збитки публічної компанії на збалансовану книгу в Beancount, використовуючи конвенції Open Ledger, з реальним кварталом PepsiCo та шаблоном для початку.

Перетворіть баланс і звіт про прибутки та збитки зі звітності на збалансовану книгу в Beancount, використовуючи ті самі конвенції, які застосовуються в кожній компанії на Open Ledger.

Цей посібник покроково розглядає один реальний квартал PepsiCo від початку до кінця. Цифри відповідають звіту про прибутки PepsiCo за Q2 2026. Усі суми в мільйонах доларів США (MUSD).

Що ви отримаєте

Ви завершите з книгою, яка підтверджує баланс на кінець періоду та фіксує звіт про прибутки як одну транзакцію з нульовою сумою. Перевірка bea check проходить успішно. Звіти про прибутки та баланс збігаються з опублікованими підсумками зі звітності. Той самий підхід використовується для кожної компанії на Open Ledger та в кожному дописі під тегом open-ledger.

Оберіть одиницю виміру та фінансовий рік

Встановіть operating_currency на одиницю в мільйонах, яка відповідає звітності. Використовуйте MUSD для компаній, що звітують у доларах США. Використовуйте MEUR, MJPY або іншу форму M<CCY>, якщо звітність подана у цій валюті.

Один MUSD означає 1 000 000 USD. Баланс 25998 MUSD означає приблизно $26,0 млрд готівки.

Помістіть кожен фінансовий період в окремий файл у каталозі року. Називайте річні файли FY2025/FY2025.bean. Називайте квартальні файли FY2026/FY2026Q2.bean. Підключайте їх у main.bean від найстарішого до найновішого.

Відкрийте план рахунків

main.bean містить опції, відкриття рахунків та включення. Він не містить балансів і записів про доходи.

Відкрийте кожен рахунок на 1970-01-01 у MUSD. Зберігайте основні назви однаковими для всіх компаній, щоб читачі могли порівнювати книги між собою.

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 та інші кінцеві рахунки …:Other поглинають залишки. Змодельовані рядки плюс цей залишок завжди збігаються з проміжним підсумком зі звітності.

Підтвердіть баланс за допомогою pad і balance

Виконайте pad з Equity:Adjustments за день до кінця періоду. Підтвердіть значення зі звітності на дату кінця періоду. Запишіть одну пару pad і balance для кожного рахунку.

Активи мають додатні баланси. Зобов'язання та власний капітал мають від'ємні баланси. Залишкові рядки мають коментар, який вказує на проміжний підсумок зі звітності, до якого вони зводяться.

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

Покрийте всю звітність так само: кожен рахунок активів і зобов'язань, а також Equity:CommonStockAndAPIC, Equity:RetainedEarnings і Equity:OtherComprehensiveIncome. Почніть кожен файл періоду з баннера, який вказує компанію, період, одиницю виміру та URL джерела.

Зафіксуйте звіт про прибутки як одну транзакцію

Датируйте транзакцію на кінець фінансового періоду. Проводки по доходах — від'ємні. Проводки по витратах — додатні. Equity:Adjustments поглинає чистий прибуток, щоб запис зводився до нуля.

Помістіть арифметичну перевірку в коментар над транзакцією. Перевірка має давати нуль, перш ніж довіряти запису.

; 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

Дохід становить 23 000 MUSD. Чистий прибуток — 2 592 MUSD. Якщо інший дохід має додатне сальдо, проведіть його на Income:OtherNet замість Expenses:OtherNet. Ніколи не використовуйте обидва рахунки в одному періоді.

Перевірте та прочитайте звіти

Запустіть перевірку кореневої книги:

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-04-01 - 2026-06-30'

Відкрийте той самий файл у Fava, щоб переглянути баланс і звіт про прибутки. Підтвердьте три речі відповідно до звітності: коментар ; Check: дає нуль, загальні активи дорівнюють сумі зобов'язань і власного капіталу, а чистий прибуток у транзакції дорівнює чистому прибутку зі звітності.

Почніть із шаблону

Скопіюйте структуру, перш ніж створювати новий план рахунків. Наведений нижче живий шаблон — це книга вигаданої компанії Example Industries Inc. за FY2025 у MUSD. Він використовує ті самі назви рахунків, схему pad і balance та єдину транзакцію звіту про прибутки.

Відкрити Шаблон публічної компанії Example Industries Inc. у новій вкладці

Завантажте цю схему як public-company-starter.bean, а потім запустіть bea --file public-company-starter.bean check. Файл відповідає плану рахунків, pad/balance та межам звіту про прибутки вище: Cash закінчується на 25998 MUSD, Accounts Payable — на -8318 MUSD, Revenue — на -23000 MUSD, Income Tax — на 688 MUSD, а Equity:Adjustments — на -56690 MUSD після pad і компенсації чистого прибутку. Замініть суми PepsiCo на цифри з вашої звітності та збережіть назви рахунків.

Перегляньте всі реальні компанії на Open Ledger. Скопіюйте структуру шаблону, а потім замініть вигадані суми на цифри з вашої звітності.

Куди далі

  • Вивчіть більше живих книг компаній на Open Ledger.
  • Читайте розбори звітності під тегом open-ledger.
  • Скопіюйте приклади для особистих фінансів із Working Ledger Examples, якщо вам потрібен стартер для домогосподарства або фрілансера, а не 10-K.
  • Перегляньте Financial Reporting Templates для форми звіту про прибутки та балансу в менших книгах.

Джерело: https://beancount.io/uk/docs/model-a-public-company-in-beancount