Вступ до Beancount.io
Цей посібник узагальнює найкращі практики ведення обліку у вигляді звичайного тексту за допомогою потужного інструменту з відкритим кодом – Beancount. Він охоплює основні принципи, базовий та розширений синтаксис, практичні приклади для складних активів і стратегії довгострокового управління книгою обліку.
Частина 1: "Чому" - Основи Розумного Бухгалтерського Обліку
Перш ніж занурюватися в "як", важливо зрозуміти "чому". Ефективний бухгалтерський облік є основою управління особистими фінансами та необхідним кроком до фінансової ясності та свободи.
Вихід за межі Відстеження Витрат: Шлях до Фінансової Ясності
Прості програми для відстеження витрат показують, куди пішли ваші гроші. Надійна система обліку показує вам це та багато іншого: вона надає повну картину вашого фінансового стану, включаючи ваш власний капітал, грошовий потік і результати ваших інвестицій. Основна мета – спостережливість — отримання чіткого, заснованого на даних розуміння вашого фінансового життя, що дозволяє вам приймати обґрунтовані рішення, оцінювати ризики та працювати над довгостроковими цілями, такими як вихід на пенсію.
Чому Подвійний Запис? Сила Збалансованої Системи
На відміну від одинарного бухгалтерського обліку (простий перелік витрат), метод подвійного запису фіксує кожну транзакцію як потік вартості між принаймні двома рахунками. Його основним принципом є фундаментальне бухгалтерське рівняння:
Ця система гарантує, що ваші книги завжди збалансовані, що значно зменшує кількість помилок. Вона надає повну фінансову картину, створюючи важливі звіти, такі як Баланс (чим ви володієте і що винні) і Звіт про прибутки та збитки (що ви заробили та витратили).
Частина 2: Початок роботи з Beancount
Beancount – це потужний інструмент на основі Python для ведення обліку у вигляді звичайного тексту.
Ваш Перший Погляд з Fava на Beancount.io
Beancount.io надає потужне середовище, яке поєднує в собі механізм Beancount з мобільним додатком (iOS, Android) і веб-додатком - Fava, фантастичним веб-інтерфейсом для візуалізації вашої книги обліку. Встановлення не потрібне. Коли ви використовуєте платформу, ви безпосередньо взаємодієте з текстовим редактором для вашого файлу книги обліку (наприклад, main.bean) і бачите, як оновлюються звіти, згенеровані Fava, в режимі реального часу.
Fava бере звичайний текст, який ви пишете, і перетворює його на інтерактивні діаграми, фінансові звіти та списки транзакцій, які можна фільтрувати, надаючи вам чітке уявлення про ваші фінансові звіти.
П'ять Основних Типів Рахунків
Beancount використовує п'ять типів рахунків верхнього рівня, які формують структуру вашої книги обліку:
| Тип Рахунку | Опис | Типовий Баланс |
|---|---|---|
Assets | Те, чим ви володієте (готівка, банківські рахунки, інвестиції, нерухомість). | Позитивний |
Liabilities | Те, що ви винні (заборгованість за кредитною карткою, позики, іпотека). | Негативний |
Income | Звідки надходять гроші (зарплата, премії, відсотки). | Негативний |
Expenses | Куди йдуть гроші (їжа, оренда, подорожі, податки). | Позитивний |
Equity | Ваша чиста вартість; використовується для початкових залишків. | Негативний |
Рівняння Beancount
Beancount застосовує власну версію бухгалтерського рівняння, де сума всіх проводок у всій вашій книзі обліку дорівнює нулю:
Ось чому, за домовленістю, рахунки Доходу, Зобов'язань і Власного капіталу мають від'ємні значення — вони є джерелами коштів, які збільшують ваші Активи та Витрати.
Частина 3: Мова Beancount - Основний Синтаксис
Усі записи в Beancount є директивами, які починаються з дати.
Визначення Рахунків (open) і Товарів
Перш ніж використовувати рахунок, ви повинні оголосити його за допомогою директиви open. Ви також можете вказати валюти або "товари", які він буде містити.
; YYYY-MM-DD open Account:Name [Commodity1, Commodity2, ...]
2020-01-01 open Assets:Bank:US:Chase:Checking USD
2020-01-01 open Liabilities:CreditCard:US:Discover USD
2020-01-01 open Expenses:Food:Groceries
2020-01-01 open Income:Salary:Google
Товари можуть бути реальними валютами (наприклад, USD, JPY) або будь-якою власною одиницею, яку ви визначите, наприклад, милі авіакомпанії (MILES_UA) або тікери акцій (HOOL).
Запис Вашої Першої Транзакції (*)
Транзакції є найпоширенішим записом. Вони починаються з дати, прапорця (* для повної транзакції або ! для неповної), необов'язкового одержувача платежу та опису. Кожен рядок, який іде далі (з відступом у два пробіли), є "проводкою" на рахунок.
; YYYY-MM-DD * "Payee" "Description"
; Account1 Amount Commodity
; Account2 -Amount Commodity
2024-07-28 * "Trader Joe's" "Щот ижневі покупки"
Expenses:Food:Groceries 125.50 USD
Liabilities:CreditCard:US:Discover -125.50 USD
Для зручності, якщо транзакція має лише дві проводки, ви можете пропустити суму у другому рядку, і Beancount обчислить її автоматично.
2024-07-28 * "Trader Joe's" "Щотижневі покупки"
Expenses:Food:Groceries 125.50 USD
Liabilities:CreditCard:US:Discover
Балансування на Рівні Транзакцій: Що ще важливіше для щоденного використання, кожна окрема транзакція також має бути збалансована — сума всіх проводок в межах однієї транзакції має дорівнювати нулю. Якщо транзакція не збалансована, Beancount покаже таку помилку:
