Перейти к основному содержимому

Примеры рабочих леджеров

Скопируйте шесть проверенных рабочих шаблонов леджеров Beancount: семейные финансы, конвертное бюджетирование, выставление счетов фрилансером, аренда недвижимости, криптовалюта и база стоимости акций.

Скопируйте проверенную структуру счетов из одного из этих шести живых реестров Beancount, затем переименуйте счета и замените вымышленные суммы на свои. Каждый встроенный реестр является публичным, версионируется в Git и проверяется с помощью bea check. Чтобы таким же образом воссоздать отчетность публичной компании, см. Моделирование публичной компании в Beancount.

Начните со скачанного файла​

Пропустите копирование и вставку: шаблоны для домашних финансов, конвертов и фриланса поставляются как готовые к запуску стартовые реестры с вымышленными демонстрационными данными.

  1. Выберите один из шаблонов ниже: домашний — для наличных и карт, конверты — для бюджетных целей, фриланс — для счетов.
  2. Скачайте его файл по ссылке рядом с этим шаблоном.
  3. Проверьте сохраненный файл с помощью bea --file <file> check. Чистый реестр завершает работу с кодом 0 при bea check; ошибки выводятся с ненулевым кодом завершения.
  4. Откройте его с помощью fava и используйте выведенный адрес в браузере.

Повседневные личные финансы​

Используйте один счет активов на каждый банк, один счет обязательств на каждую кредитную карту и счета расходов для вопросов, на которые должны отвечать ваши отчеты. Полный пример также показывает расчет заработной платы, льготы, переводы, сверки остатков и инвестиционные активы.

Открыть Реестр повседневных личных финансов в новой вкладке

Скопируйте эту структуру, когда вам нужен один набор книг для наличных, карт, доходов и обычных расходов:

option "operating_currency" "USD"
 
2026-01-01 open Assets:Bank:Checking USD
2026-01-01 open Liabilities:CreditCard USD
2026-01-01 open Equity:Opening-Balances USD
2026-01-01 open Expenses:Food:Groceries USD
 
2026-01-01 * "Opening balance"
  Assets:Bank:Checking          3,000.00 USD
  Equity:Opening-Balances      -3,000.00 USD
 
2026-01-18 * "Corner Market" "Weekly groceries"
  Liabilities:CreditCard          -71.90 USD
  Expenses:Food:Groceries          71.90 USD
 
2026-01-25 * "Credit card" "Statement payment"
  Liabilities:CreditCard           71.90 USD
  Assets:Bank:Checking            -71.90 USD

Счет кредитной карты отделяет дату покупки от даты оплаты наличными. Добавьте ежемесячную сверку balance для каждого реального счета, чтобы ошибка импорта не смогла скрыться.

Скачайте этот шаблон как household-starter.bean, затем запустите bea --file household-starter.bean check и fava household-starter.bean. Файл соответствует приведенному выше блоку: остаток по расчетному счету — 2928.10 USD, продукты — 71.90 USD, карта — ноль. Замените Corner Market, начальный остаток 3,000.00 и суммы 71.90 на свой банк, карту и расходы.

Конвертное бюджетирование с переносом остатка​

Моделируйте каждый конверт как субсчет капитала, наложенный поверх реального банковского счета. Распределение зарплаты перемещает стоимость внутри капитала, а покупка отражает как движение денежных средств, так и бюджетное решение.

Открыть Реестр конвертного бюджетирования в новой вкладке

Скопируйте дерево Equity:Budget и держите план отдельно от денег:

option "operating_currency" "USD"
 
2026-01-01 open Assets:Bank:Checking USD
2026-01-01 open Income:Salary USD
2026-01-01 open Expenses:Groceries USD
2026-01-01 open Equity:Budget:Unallocated USD
2026-01-01 open Equity:Budget:Groceries USD
 
2026-01-05 * "Acme Corp" "January salary"
  Assets:Bank:Checking          4,100.00 USD
  Income:Salary                -4,100.00 USD
 
2026-01-05 * "Budget" "Fund groceries"
  Equity:Budget:Unallocated      -550.00 USD
  Equity:Budget:Groceries         550.00 USD
 
2026-01-08 * "Whole Foods" "Weekly shop"
  Assets:Bank:Checking           -128.44 USD
  Expenses:Groceries              128.44 USD
  Equity:Budget:Groceries        -128.44 USD
  Equity:Budget:Unallocated       128.44 USD

Две пары в покупке балансируются независимо. Такое разделение позволяет сбросить или перераспределить конверт, не меняя сверенный банковский остаток. Для отображения «план против факта» в Fava используйте вместо этого более простые директивы бюджета.

Скачайте этот шаблон как envelope-budgeting-starter.bean, затем запустите bea --file envelope-budgeting-starter.bean check и fava envelope-budgeting-starter.bean. Файл соответствует приведенному выше блоку: остаток по расчетному счету — 3971.56 USD, а конверт Groceries содержит 421.56 USD против -421.56 USD Unallocated. Замените Acme Corp, зарплату 4,100.00 и распределение 550.00 на свои доходы и конверты.

Выставление счетов фрилансером и дебиторская задолженность​

Отражайте счет-фактуру, когда вы зарабатываете выручку, затем закрывайте дебиторскую задолженность, когда клиент платит. Отдельный счет дебиторской задолженности для каждого клиента делает неоплаченные и частично оплаченные счета видимыми как обычные остатки.

Открыть Реестр выставления счетов фрилансером в новой вкладке

Скопируйте дерево дебиторской задолженности и указывайте номер счета-фактуры в обоих событиях:

option "operating_currency" "USD"
 
2026-01-01 open Assets:Bank:Business USD
2026-01-01 open Assets:Receivable:Northwind USD
2026-01-01 open Income:Consulting USD
 
2026-01-09 * "Northwind Traders" "January retainer"
  invoice: "2026-001"
  due: 2026-02-08
  Assets:Receivable:Northwind    6,000.00 USD
  Income:Consulting             -6,000.00 USD
 
2026-02-05 * "Northwind Traders" "Payment — invoice 2026-001"
  invoice: "2026-001"
  Assets:Bank:Business           6,000.00 USD
  Assets:Receivable:Northwind   -6,000.00 USD

Добавляйте налог с продаж на счет обязательств, а не доходов, и перемещайте денежные средства на расчетный налог в резервный актив до его уплаты. Живой реестр показывает оба шаблона, частичные платежи, перевыставленные затраты и списание безнадежного долга.

Скачайте этот шаблон как freelance-starter.bean, затем запустите bea --file freelance-starter.bean check и fava freelance-starter.bean. Файл соответствует приведенному выше блоку: Business содержит 6000.00 USD, Consulting — -6000.00 USD, а дебиторская задолженность — ноль. Замените Northwind Traders, счет-фактуру 2026-001 и суммы 6,000.00 на своих клиентов и счета-фактуры.

Аренда недвижимости и основная сумма ипотеки​

Рассматривайте недвижимость как актив, ипотеку как обязательство, а обеспечительный депозит арендатора как деньги, которые вы должны вернуть. Разделяйте каждый ипотечный платеж на проценты, основную сумму и эскроу, чтобы балансовый отчет и отчет о прибылях и убытках говорили о разных истинах.

Открыть Реестр аренды недвижимости в новой вкладке

Скопируйте группы счетов недвижимости, долга и операций до добавления ежемесячной активности:

option "operating_currency" "USD"
 
1970-01-01 commodity PROP123MAIN
2024-01-01 open Assets:RealEstate:Property PROP123MAIN
2024-01-01 open Assets:Bank:Checking USD
2024-01-01 open Assets:Bank:EscrowImpound USD
2024-01-01 open Liabilities:Mortgage USD
2024-01-01 open Income:RealEstate:Rent USD
2024-01-01 open Expenses:RealEstate:MortgageInterest USD
 
2024-03-15 * "Escrow" "Buy rental property"
  Assets:RealEstate:Property       1 PROP123MAIN {400,000.00 USD}
  Assets:Bank:Checking                       -80,000.00 USD
  Liabilities:Mortgage                      -320,000.00 USD
 
2024-04-01 * "Bank" "Mortgage payment"
  Expenses:RealEstate:MortgageInterest         1,866.67 USD
  Liabilities:Mortgage                           262.39 USD
  Assets:Bank:EscrowImpound                      566.67 USD
  Assets:Bank:Checking                        -2,695.73 USD

Держите отдельно землю, амортизируемую стоимость здания, капитальные улучшения, накопленную амортизацию и операции по эскроу. Руководство по аренде недвижимости объясняет, как эти остатки попадают в отчеты.

Криптовалютные лоты и база стоимости​

Присваивайте каждой покупке стоимость в фигурных скобках и идентифицируйте тот же лот при продаже. Тогда Beancount переносит дату приобретения и базу стоимости по кошелькам, биржам и налогооблагаемым выбытиям вместо сведения инвестиции к одному смешанному остатку.

Открыть Реестр базы стоимости криптовалюты в новой вкладке

Скопируйте товар, счета бирж и явную проводку реализованной прибыли:

option "operating_currency" "USD"
 
1970-01-01 commodity BTC
2024-01-01 open Assets:Crypto:Coinbase:BTC BTC
2024-01-01 open Assets:Crypto:Coinbase:USD USD
2024-01-01 open Expenses:Crypto:Fees:Trading USD
2024-01-01 open Income:Crypto:CapitalGains:ShortTerm USD
 
2024-02-15 * "Coinbase" "Buy 0.10 BTC"
  Assets:Crypto:Coinbase:BTC     0.10 BTC {43,800.00 USD, 2024-02-15}
  Assets:Crypto:Coinbase:USD   -4,380.00 USD
 
2024-08-20 * "Coinbase" "Sell the February lot"
  Assets:Crypto:Coinbase:BTC    -0.10 BTC {43,800.00 USD, 2024-02-15}
  Assets:Crypto:Coinbase:USD    5,900.00 USD
  Expenses:Crypto:Fees:Trading      8.85 USD
  Assets:Crypto:Coinbase:USD       -8.85 USD
  Income:Crypto:CapitalGains:ShortTerm -1,520.00 USD

Переводы между вашими собственными кошельками сохраняют лот, а не создают доход. Живой реестр продолжается через стейкинг, майнинг, децентрализованные финансы и NFT; руководство по запасам объясняет методы учета и уменьшение лота.

В примере с криптовалютой используются статические цены с датами, чтобы вы могли воспроизвести его отчеты. Для ваших собственных поддерживаемых активов в размещенном реестре настройте Live Prices, чтобы автоматически поддерживать котировки оценки. Совпадение символов и валют котировок имеет значение; потоки данных не изменяют эти примеры транзакций.

Лоты акций, дивиденды и дробления​

Акция — это не число, а лот: количество, удерживаемое по известной стоимости, приобретенное в известную дату. Записывайте каждую покупку через брокера с явным {cost, date}, и последующая продажа сможет указать точный лот, который она выбывает, так что Beancount вычислит реализованную прибыль и период владения вместо усреднения двух лотов вместе. Дивиденд остается видимым как доход, а не исчезает в скорректированной цене акции.

Открыть Реестр базы стоимости акций и дивидендов в новой вкладке

Скопируйте брокерскую структуру счетов, датированный лот и продажу конкретного лота:

option "operating_currency" "USD"
option "booking_method" "STRICT"
 
1970-01-01 commodity ACME
2024-01-01 open Assets:Brokerage:Cash USD
2024-01-01 open Assets:Brokerage:ACME ACME
2024-01-01 open Equity:Opening USD
2024-01-01 open Income:Dividends:Qualified USD
2024-01-01 open Income:CapitalGains:LongTerm USD
2024-01-01 open Expenses:Brokerage:Commissions USD
 
2024-01-08 * "Broker" "Wire funding to taxable brokerage account"
  Assets:Brokerage:Cash                  50,000.00 USD
  Equity:Opening                        -50,000.00 USD
 
2024-06-18 * "Broker" "Buy 150 ACME @ $68.20"
  Assets:Brokerage:ACME                        150 ACME {68.20 USD, 2024-06-18}
  Expenses:Brokerage:Commissions              4.95 USD
  Assets:Brokerage:Cash                 -10,234.95 USD
 
2025-03-14 * "Broker" "ACME quarterly cash dividend"
  Assets:Brokerage:Cash                      63.00 USD
  Income:Dividends:Qualified                -63.00 USD
 
2026-02-20 * "Broker" "Sell 60 ACME from the 2024 lot — long-term gain"
  Assets:Brokerage:ACME                        -60 ACME {68.20 USD, 2024-06-18}
  Assets:Brokerage:Cash                   5,778.00 USD
  Expenses:Brokerage:Commissions              4.95 USD
  Assets:Brokerage:Cash                      -4.95 USD
  Income:CapitalGains:LongTerm           -1,686.00 USD
 
2026-02-21 balance Assets:Brokerage:ACME              90 ACME
2026-02-21 balance Assets:Brokerage:Cash      45,601.10 USD

Проводка прибыли — это арифметика, а не подгонка: 60 акций, проданных по 96.30 USD каждая, — это 5,778.00 USD выручки против 4,092.00 USD базы стоимости, и именно дата лота 2024-06-18 делает продажу долгосрочной. Живой реестр продолжается через реинвестированное распределение ETF, дробление 4-к-1, сохраняющее общую базу стоимости, краткосрочную продажу из второго лота и сверки количества акций на конец года. option "booking_method" "STRICT" — это то, что превращает «продать 40 ACME» в ошибку, а не в молчаливое усреднение; руководство по опциям описывает альтернативы.

В примере с акциями используются вымышленные символы, такие как ACME, и статические файлы цен. Не подставляйте поток данных по реальному тикеру вместо вымышленного товара. Выбирайте поддерживаемые пары для ваших собственных активов с помощью Live Prices, сохраняя при этом ручные цены для этого воспроизводимого примера.

Источник: https://beancount.io/ru/docs/examples