Бухгалтерский цикл, стиль Beancount
Финансовые отчёты не появляются по волшебству. Они являются конечным продуктом структурированного, повторяемого процесса, известного как бухгалтерский цикл. Хотя принципы универсальны, используемые инструменты могут кардинально изменить опыт. Это руководство проведёт вас через бухгалтерский цикл с акцентом на Beancount, мощный инструмент plain‑text бухгалтерии.
Мы посмотрим, как подход Beancount, ориентированный на текст, устраняет утомите льные шаги, что следует автоматизировать и какие отчёты дают самое ясное представление о вашем финансовом здоровье. 🧑💻
TL;DR: Рабочий процесс Beancount
- Capture & Journal: Записывайте каждую операцию как чистую двойную запись в вашем текстовом файле
.beancount
. - Validate & Reconcile: Используйте утверждения
balance
для подтверждения соответствия вашего реестра банковским выпискам и запускайтеbean-check
для обнаружения ошибок. - Review: Сгенерируйте необработанный пробный баланс для быстрой проверки.
- Adjust: Проводите записи для начислений, отложений, амортизации и других статей периода.
- Re-review: Проверьте скорректированный пробный баланс, чтобы убедиться, что всё правильно.
- Publish & Close: Сгенерируйте отчёт о при былях и убытках, баланс и отчёт о движении денежных средств. Закрытие книг в Beancount необязательно, так как отчёты учитывают даты.
Эту схему можно визуализировать так:
Шаг 1: Захват и запись транзакций
Это базовый шаг. Каждое финансовое событие — продажа, покупка, банковская комиссия — должно быть записано. В Beancount вы делаете это, создавая транзакции в простом текстовом файле, обычно названном main.beancount
или разбитом по годам.
Каждая транзакция должна соответствовать правилам двойной записи, то есть сумма всех проводок должна быть нулевой. Beancount проверяет это за вас.
2025-08-10 * "Walmart" "Purchase of office supplies"
Expenses:Office:Supplies 45.67 USD
Assets:Bank:Checking -45.67 USD
- Pro‑Tip: Используйте теги вроде
#project-phoenix
или#client-acme
, чтобы добавить измерения к вашим данным. Это делает запросы и отчёты невероятно гибкими позже.
Гигиена сверки ✅
Самая мощная функция для обеспечения точности — утверждение баланса. В конце отчётного периода (например, в конце месяца) вы указываете, каки м должен быть баланс счёта.
2025-08-31 balance Assets:Bank:Checking 12345.67 USD
Если сумма всех транзакций, влияющих на Assets:Bank:Checking
к этой дате, не равна 12345.67 USD
, Beancount выдаст ошибку. Эта простая директива превращает ваш реестр в самопроверяющийся документ.
Для тех, кто заполняет исторические данные, директива pad
может автоматически создать уравновешивающую транзакцию, чтобы ваши начальные балансы соответствовали первой проверке.