Пълно ръководство за управление на сметки в Beancount и Fava
Вашият сметкоплан е гръбнакът на вашия Beancount леджър. Добре проектираната йерархия на сметките прави всеки отчет по-ясен, всяка заявка по-бърза и всеки данъчен сезон по-малко болезнен. В това ръководство ще разгледаме всичко, което трябва да знаете за създаването, преглеждането, актуализирането и закриването на сметки в Beancount и Fava -- от основите за начинаещи до напреднали модели.
Петте типа сметки
Beancount използва стандартния модел за двойно счетоводство с точно пет основни типа сметки:
| Тип | Предназначение | Нормален знак | Отчет |
|---|---|---|---|
| Assets | Ресурси, които притежавате (пари в брой, инвестиции, имущество) | Положителен (деб ит) | Баланс |
| Liabilities | Дългове, които дължите (кредитни карти, заеми, ипотеки) | Отрицателен (кредит) | Баланс |
| Equity | Собствен капитал, неразпределена печалба, начални салда | Отрицателен (кредит) | Баланс |
| Income | Източници на приходи (заплата, лихви, дивиденти) | Отрицателен (кредит) | Отчет за приходи и разходи |
| Expenses | Категории разходи (храна, наем, комунални услуги) | Положителен (дебит) | Отчет за приходи и разходи |
Основното счетоводно уравнение винаги е в сила:
Assets + Expenses + Equity + Income + Liabilities = 0
Полезно правило: ако сумите са релевантни само за определен период от време (напр. "Колко похарчих за храна този месец?"), използвайте Income или Expenses. Ако представляват текущо салдо (напр. "Колко има в разплащателната ми сметка?"), изпол звайте Assets или Liabilities.
Конвенции за именуване на сметки
Имената на сметките в Beancount са йерархични идентификатори, разделени с двоеточия. Правилата са:
- Трябва да започват с един от петте основни типа:
Assets,Liabilities,Equity,Income,Expenses - Всеки компонент започва с главна буква или цифра
- Компонентите могат да съдържат букви, цифри и тирета (без интервали или долни черти)
- Необходими са поне два компонента (напр.
Expenses:Food, а не самоExpenses) - Двоеточията (
:) разделят нивата на йерархията
; Валидни имена на сметки
Assets:US:BofA:Checking
Liabilities:CA:RBC:CreditCard
Equity:Retained-Earnings
Income:US:Acme:Salary
Expenses:Food:Groceries
Assets:Crypto:BTC-Holdings
; Невалидни имена на сметки
assets:checking ; основен тип с малка буква
Assets:my checking ; интервалите не са позволени
Expenses ; само един компонент
Препоръчителният модел за именуване на сметки от баланса е:
Тип : Държава : Институция : Сметка : ПодСметка
Например: Assets:US:Vanguard:401k:VTSAX или Liabilities:US:Chase:Sapphire.
За сметки за разходи и приходи изпол звайте именуване по категории:
Expenses:Food:Groceries
Expenses:Housing:Utilities:Electric
Income:US:Employer:Salary
Персонализиране на основните имена
Можете да преименувате петте основни типа за локализация или лично предпочитание:
option "name_assets" "Actifs"
option "name_liabilities" "Passifs"
option "name_equity" "Capital"
option "name_income" "Revenus"
option "name_expenses" "Depenses"
Създаване на сметки (директива Open)
Всяка сметка трябва да бъде декларирана с директива open, преди да можете да осчетоводявате транзакции в нея. Пълният синтаксис е:
YYYY-MM-DD open Account [ConstraintCurrency,...] ["BookingMethod"]
Основно отваряне
2014-05-01 open Assets:US:BofA:Checking
С валутни ограничения
Ограничаването на валутите предотвратява случайно осчетоводяване в грешна валута:
2014-05-01 open Assets:US:BofA:Checking USD
2014-05-01 open Assets:Cash USD,CAD,EUR
2012-03-01 open Assets:US:ETrade:Main:ITOT ITOT
С методи за осчетоводяване
За инвестиционни сметки посочете как се съпоставят лотовете при продажба:
2014-02-11 open Assets:US:ETrade:IVV IVV "FIFO"
2014-02-11 open Assets:US:Schwab:AAPL AAPL "LIFO"
2014-02-11 open Assets:US:Fidelity GOOG "STRICT"
Налични методи за осчетоводяване:
| Метод | Поведение |
|---|---|
"STRICT" | По подразбиране. Изисква точно определяне на лота; грешка при неяснота |
"FIFO" | Първи влязъл, първи излязъл -- намалява най-старите лотове първо |
"LIFO" | Последен влязъл, първи излязъл -- намалява най-новите лотове първо |
"AVERAGE" | Обединява всички лотове и преизчислява средната цена |
"NONE" | Без съпоставяне на лотове; всяка цена се приема |
С метаданни
2013-03-14 open Assets:US:BTrade:HOOLI
category: "taxable"
institution: "BTrade Corp"
account-number: "XX-1234-5678"
Стратегически избор на дати за отваряне
- Използвайте датата си на раждане за универсални сметки като
Expenses:Groceries(това ви дава суми за цял живот) - Използвайте датата на започване на работа за сметки, свързани с трудови доходи
- Използвайте действителната дата на създаване на сметката за институционални сметки (банкови сметки, кредитни карти)
Автоматично отваряне с плъгин
Ако искате да пропуснете ръчните директиви open по време на прототипиране:
plugin "beancount.plugins.auto_accounts"
Това автоматично генерира директиви open за всяка сметка, използвана в транзакции. Това обаче намалява откриването на правописни грешки, затова не се препоръчва за продуктивна употреба.