Перейти до основного вмісту

Робочі приклади леджерів

Скопіюйте шість живих, перевірених шаблонів леджерів 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. Файл відповідає наведеному блоку: рахунок checking закінчується на 2928.10 USD, продукти на 71.90 USD, а картка на нулі. Замініть Corner Market, початковий залишок 3,000.00 та суми 71.90 на ваші власні банк, картку та витрати.

Конвертне бюджeтування з перенесенням залишків​

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

Відкрити Леджер конвертного бюджетування у новій вкладці

Скопіюйте дерево 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. Файл відповідає наведеному блоку: рахунок checking закінчується на 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/uk/docs/examples