Turn a filing's balance sheet and income statement into a balanced Beancount ledger with the same conventions every Open Ledger company uses.
This guide models PepsiCo’s quarterly income statement and a partial balance-sheet excerpt from the PepsiCo Q2 2026 earnings release. Use the 12-week column ending June 13, 2026 on printed page A-1 (PDF page 6), and the same-date balance sheet on A-4 (PDF page 9). The release was published July 9, 2026. Every figure stays in millions of US dollars (MUSD).
What you get
You finish with five balance assertions and one zero-sum income-statement transaction. bea check passes. The income statement reproduces consolidated net income; the balance-sheet excerpt covers current assets and one combined current-liability line. It is not a complete company balance sheet. The same pattern powers every company on the Open Ledger and every post under the open-ledger tag.
Pick the unit and fiscal year
Set operating_currency to a millions unit that matches the filing. Use MUSD for US-dollar reporters. Use MEUR, MJPY, or another M<CCY> form when the filing reports in that currency.
One MUSD means USD 1,000,000. A balance of 10251 MUSD means $10.251 billion of cash.
The reported quarter contains 12 weeks, or 84 days, through June 13, 2026. Counting inclusively gives March 22–June 13, 2026. Use those fiscal dates rather than April–June. The balance sheet’s prior-year column is December 27, 2025; do not replace fiscal year ends with December 31.
Put each fiscal period in its own file under a year directory. Name annual files FY2025/FY2025.bean. Name quarterly files FY2026/FY2026Q2.bean. Include them from main.bean oldest first.
Open the chart of accounts
main.bean holds options, account opens, and includes. It holds no balances and no income entries.
Open every account on 1970-01-01 in MUSD. Keep the core names identical across companies so readers can diff one ledger against another.
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"The chart provides account names for other companies and later extensions. Unused accounts do not imply a reported zero. Only the accounts posted below have amounts mapped in this example. …:Other accounts need an explicit source line or residual calculation; they are not a license to invent a split.
Assert the balance sheet with pad and balance
Pad from Equity:Adjustments on the day before period end. Assert the filing's value on the period-end date. Write one pad and balance pair per account.
Assets carry positive balances. Liabilities carry negative balances. These five assertions map the June 13, 2026 column on A-4:
| Account | Source mapping (MUSD) |
|---|---|
Assets:Current:Cash | Cash and cash equivalents: 10,251 |
Assets:Current:ShortTermInvestments | Short-term investments: 465 |
Assets:Current:AccountsReceivable | Accounts and notes receivable, net: 13,496 |
Assets:Current:Other | Total current assets 32,775 − 10,251 − 465 − 13,496 = 8,563; inventories 6,734 + prepaid and other current assets 1,829 |
Liabilities:Current:Other | Combined accounts payable and other current liabilities: −24,504 |
The release does not split the last line into standalone accounts payable and other liabilities. Keep the aggregate together; do not post an invented amount to 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 liabilitiesBeancount checks a balance at the start of its date. The prior-day pads create synthetic snapshot entries, not actual cash movements on June 12. This example has no later asset or liability postings on June 13, so the asserted amounts also remain its closing balances.
This excerpt omits noncurrent assets, short-term debt and the remaining liabilities and equity. A complete model must map those lines too, including treasury stock and noncontrolling interests. The filing’s complete totals are assets 112,189 = liabilities 89,919 + equity 22,270 MUSD; the excerpt does not reproduce those totals. Equity:Adjustments is a balancing offset, not reported shareholders’ equity. Start each period file with a banner naming the company, fiscal window, unit and source URL.
Record the income statement as one transaction
Date the transaction on the fiscal period end. Income postings are negative. Expense postings are positive. Equity:Adjustments absorbs net income so the entry sums to zero.
Put the arithmetic check in a comment above the transaction. The check must evaluate to zero before you trust the entry.
; 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 offsetMap A-1’s quarterly column as follows: revenue 24,181 minus cost of sales 11,070 gives gross profit 13,111. Subtract selling, general and administrative expenses of 9,088 to get operating profit 4,023; the impairment line is zero. The release does not disclose a separate quarterly R&D line, so leave Expenses:ResearchAndDevelopment unused.
Pension and retiree medical benefits income of 59 offsets net interest expense and other of 230. Post their net expense, 171, to Expenses:OtherNet. This gives pretax income of 3,852. Tax of 848 leaves consolidated net income of 3,004 MUSD. If the same aggregation instead yields net income in another period, use Income:OtherNet for the aggregate and leave Expenses:OtherNet unused.
The release also reports net income attributable to PepsiCo of 2,981 MUSD. The bridge is 3,004 − 23 attributable to noncontrolling interests = 2,981. This transaction models the consolidated measure; the 23 is an allocation of profit, not another expense. Do not substitute 2,981 as its balancing offset.
Validate and read the reports
Run a check on the root ledger:
bea --file main.bean checkA clean ledger exits 0 with no output. Prefer bea --json --no-input --file main.bean check when you want machine-readable validity and require data.valid: true.
Read the income statement for the company's fiscal window, not a calendar quarter that happens to share the label:
bea --json --no-input --file main.bean report income-statement --time '2026-03-22 - 2026-06-13'Open the same file in Fava to browse the balance sheet and income statement. Check arithmetic and source agreement separately: the ; Check: comment sums to zero, each posted amount matches its mapped source, and the report shows consolidated net income of 3,004 MUSD. A wrong revenue amount can still balance if the offset is also wrong. Only after extending this excerpt into a complete model should its balance-sheet totals equal the filing’s totals.
Start from the template
Clone the shape before you invent a new chart. The live template below is a fictional Example Industries Inc. FY2025 ledger in MUSD. It uses the same account names, pad and balance pattern, and single income-statement transaction.
Download the real PepsiCo excerpt as public-company-starter.bean, then run bea --file public-company-starter.bean check. It combines the three Beancount fences above, separately from the fictional live template. Cash ends at 10251 MUSD, combined payables and other current liabilities at -24504 MUSD, Revenue at -24181 MUSD, and Income Tax at 848 MUSD. The five pads offset 32775 − 24504 = 8271 MUSD to Equity:Adjustments; adding the consolidated profit offset leaves -5267 MUSD there. That offset is not a filing line. The download is a partial balance-sheet example, not PepsiCo’s full ledger. Replace its figures and fiscal dates with your own source mappings.
Browse every real company on the Open Ledger. Copy the template's structure, then replace the fictional amounts with figures from your filing.
Where to go next
- Study more live company ledgers on the Open Ledger.
- Read earnings walkthroughs under the open-ledger tag.
- Copy personal-finance patterns from Working Ledger Examples when you need a household or freelance starter instead of a 10-K.
- Review Financial Reporting Templates for income-statement and balance-sheet report shape in smaller books.