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

Примери за работещи счетоводни книги

Копирайте шест работещи, валидирани модела на Beancount счетоводни книги: домакински финанси, бюджетиране с пликове, фактуриране на свободна практика, наем на недвижим имот, крипто и данъчна основа на акции.

Копирайте доказана структура на сметки от една от тези шест работещи Beancount счетоводни книги, след което преименувайте сметките и заменете фиктивните суми със своите. Всяка вградена счетоводна книга е публична, версионирана в Git и валидирана с bea check. За да възпроизведете по същия начин подадена документация на публична компания, вижте Моделиране на публична компания в Beancount.

Започнете от изтеглен файл​

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

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

Всекидневни лични финанси​

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

Отворете Счетоводна книга за всекидневни лични финанси в нов раздел

Копирайте тази структура, когато искате един набор от книги за пари в брой, карти, приходи и обичайни разходи:

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, а пликът за хранителни стоки държи 421.56 USD срещу -421.56 USD неразпределени. Заменете 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

Преводите между собствените ви портфейли запазват партидата, вместо да създават приход. Работещата счетоводна книга продължава през staking, mining, децентрализирани финанси и NFT; ръководството за инвентар обяснява методите за осчетоводяване и намаляването на партиди.

Примерът с крипто използва статични датирани цени, за да можете да възпроизведете отчетите му. За собствените си поддържани holdings в хоствана счетоводна книга настройте 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 и статични файлове с цени. Не заменяйте фиктивна стока с емисия на реален тикер. Изберете поддържани двойки за собствените си holdings с Live Prices, като същевременно запазите ръчните цени за този възпроизводим пример.

Източник: https://beancount.io/bg/docs/examples