Понимание бухгалтерских проводок в Beancount
Бухгалтерские проводки — это основа двойной записи, и в Beancount каждая транзакция *
, которую вы пишете, является проводкой. Это руководство объясняет основные понятия — дебет и кредит, корректирующие и обратные проводки — и показывает, как они чисто отображаются в простом текстовом синтаксисе Beancount. Вы научитесь вести точный учет с минимальными формальностями.
Краткое напоминание: Что такое бухгалтерская проводка?
Бухгалтерская проводка — это формальная, датированная запис ь финансовой транзакции. Она выражается в терминах дебета и кредита, которые поддерживают баланс базового уравнения бухгалтерского учета:
В системе двойной записи каждая транзакция затрагивает как минимум два счета, и сумма дебетов должна равняться сумме кредитов. Это простое правило делает последующие финансовые отчёты, такие как отчёт о прибылях и убытках и баланс, надёжными и точными.
Дебет и кредит за одну минуту
Концепции дебета и кредита могут сначала сбивать с толку, но они сводятся к нескольким простым правилам. Думайте так: «откуда пришла стоимость?» (кредит) и «куда ушла стоимость?» (дебет).
Ниже — шпаргалка, как они увеличивают пять основных типов счетов:
Тип счета | Увеличивается |
---|---|
Активы | Дебет |
Расходы | Дебет |
Обязательства | Кредит |
Капитал | Кредит |
Доход | Кредит |
Как выглядит бухгалтерская проводка в Beancount
Beancount использует простые, читаемые человеком текстовые директивы для записи транзакций. Каждая транзакция должна балансировать к нулю для каждой валюты (например, USD, EUR, акции AAPL). Beancount выдаст ошибку, если баланс нарушен.
Пример базовой транзакции покупки кофе:
2025-09-10 * "Coffee Bar" "Team coffee"
Expenses:Food:Coffee 18.00 USD
Assets:Bank:Checking -18.00 USD
Обратите внимание, как две строки‑постинга (строки с аккаунтами) суммируются к нулю: $18.00 + (-$18.00) = 0
.
Вы можете добавить мощный контекст непосредственно в описание, используя теги (например, #clientX
) для фильтрации и ссылки (например, ^INV-2025-001
) для соединения связанных записей.
Например, как связать счёт‑фактуру с её оплатой:
; Сначала фиксируем выставленный клиенту счёт‑фактуру
2025-09-15 * "Acme Corp" "Invoice 2025-001 #clientX ^INV-2025-001"
Assets:AccountsReceivable 1000.00 USD
Income:Consulting -1000.00 USD
; Позже фиксируем оплату и связываем её с оригинальной фактурой
2025-09-28 * "Acme Corp" "Payment on ^INV-2025-001"
Assets:Bank:Checking 1000.00 USD
Assets:AccountsReceivable -1000.00 USD
Тег #clientX
позволяет легко отфильтровать все транзакции этого клиента, а ссылка ^INV-2025-001
создаёт связь между двумя записями, которую можно проследить в отчётах.
Часто используемые бухгалтерские проводки (готовые к вставке)
Ниже представлены несколько типовых бизнес‑транзакций, отформатированных для Beancount.
Вложение наличных владельцем
Владелец вносит личные средства для запуска бизнеса.
2025-01-01 * "Owner" "Initial capital contribution"
Assets:Bank:Checking 10000.00 USD
Equity:Owner-Capital -10000.00 USD
Продажа наличными с НДС
Клиент платит наличными за товар, включая 8 % налога с продаж, который позже нужно перечислить в бюджет.
2025-01-05 * "Walk-in Customer" "Cash sale with 8% tax"
Assets:Cash 108.00 USD
Income:Sales -100.00 USD
Liabilities:Tax:Sales -8.00 USD
Продажа в кредит (счёт‑фактура) и её погашение
Вы оказываете услугу, выставляете счёт‑фактуру клиенту, а затем получаете оплату.
2025-01-10 * "Acme Corp" "Consulting invoice ^INV-2025-002"
Assets:AccountsReceivable 2500.00 USD
Income:Consulting -2500.00 USD
2025-01-30 * "Acme Corp" "Payment on ^INV-2025-002"
Assets:Bank:Checking 2500.00 USD
Assets:AccountsReceivable -2500.00 USD
Расход по кредитной карте
Вы покупаете офисные принадлежности с помощью корпоративной кредитной карты.
2025-01-12 * "OfficeMax" "Supplies on credit card"
Expenses:Office:Supplies 75.00 USD
Liabilities:CreditCard -75.00 USD
Зарплата (упрощённая модель)
Вы проводите расчёт зарплаты, фиксируя валовую заработную плату, удержания налогов и чистый платёж из банка.
2025-01-31 * "Payroll" "January wages and withholdings"
Expenses:Payroll:Wages 2000.00 USD
Liabilities:Taxes:Withheld -400.00 USD
Assets:Bank:Checking -1600.00 USD
Ежемесячная амортизация
Вы фиксируете ежемесячный расход амортизации для актива, например ноутбука.
2025-01-31 * "Depreciation" "Laptop, straight-line"
Expenses:Depreciation 100.00 USD
Assets:Equipment:AccumDepr -100.00 USD
Предоплата расходов и их ежемесячная амортизация
Вы оплачиваете годовую страховку сразу, а затем признаёте расход за один месяц.
; 1. Оплата годовой страховки
2025-01-01 * "InsureCo" "Annual insurance premium"
Assets:Prepaid:Insurance 1200.00 USD
Assets:Bank:Checking -1200.00 USD
; 2. Признание одного месяца расходов в конце января
2025-01-31 * "InsureCo" "Amortize 1/12 of insurance"
Expenses:Insurance 100.00 USD
Assets:Prepaid:Insurance -100.00 USD
Неотложенный доход и его ежемесячное признание
Клиент предоплачивает 3‑месячную подписку. Вы фиксируете поступление наличных, а затем признаёте доход за каждый месяц.
; 1. Предоплата за услугу
2025-02-01 * "Subscriber" "3-month plan prepaid"
Assets:Bank:Checking 300.00 USD
Liabilities:Unearned:Subs -300.00 USD
; 2. Признание дохода за первый месяц после оказания услуги
2025-02-28 * "Recognition" "Recognize month 1 of 3"
Liabilities:Unearned:Subs 100.00 USD
Income:Subscriptions -100.00 USD
Резерв под безнадёжные долги и списание
Вы создаёте резерв под потенциально невозвратные счета, а затем списываете конкретный безнадёжный счёт.
; 1. Создание резерва в размере 2 % от дебиторской задолженности
2025-03-31 * "Provision" "2% of A/R for doubtful accounts"
Expenses:BadDebt 200.00 USD
Assets:AllowanceForDoubtful -200.00 USD
; 2. Списание конкретного счёта, который не будет оплачен
2025-04-15 * "Write-off" "Customer XYZ invoice"
Assets:AllowanceForDoubtful 150.00 USD
Assets:AccountsReceivable -150.00 USD
Периодическая инвентаризация и корректировка COGS
В конце периода вы рассчитываете себестоимость проданных товаров (COGS), корректируя счёт запасов.
2025-03-31 * "COGS adjustment" "Periodic inventory method"
Expenses:COGS 4500.00 USD
Assets:Inventory -4500.00 USD
Корректирующие проводки vs. Обратные проводки
Корректирующие проводки фиксируются в конце учётного периода (месяца или квартала) для правильного сопоставления доходов и расходов с тем периодом, в котором они фактически заработаны или понесены. Это включает начисления, отложенные операции и оценки, такие как амортизация.
Обратные проводки — это необязательные записи, делаемые в первый день нового периода, которые полностью отменяют конкретную корректирующую запись предыдущего периода. Их цель — упростить бухгалтерию. Отменив начисление, вы можете записать последующую денежную операцию обычным способом, не вспоминая о необходимости распределять её между счетом обязательств.
Пример: Начисление и обратная запись коммунальных услуг
Предположим, вам нужно зафиксировать расход на коммунальные услуги за январь, но счёт придёт только в феврале.
; 1. Начисление оценочного расхода в конце января
2025-01-31 * "Accrual" "Estimate January utilities expense"
Expenses:Utilities 500.00 USD
Liabilities:Accrued:Utilities -500.00 USD
; 2. (Опционально) Обратная запись начисления в первый день следующего периода
2025-02-01 * "Reversal" "Undo January utilities accrual"
Liabilities:Accrued:Utilities 500.00 USD
Expenses:Utilities -500.00 USD
; 3. Фактическая оплата счета, когда он приходит в феврале
; Счёт составляет $520. Благодаря обратной записи вы можете
; полностью записать сумму в расход без дополнительных действий.
; Чистый расход за февраль будет $520 - $500 = $20.
2025-02-10 * "City Utilities" "Payment for January bill"
Expenses:Utilities 520.00 USD
Assets:Bank:Checking -520.00 USD
Примечание: В примере из исходного т екста показано разделение окончательной оплаты. Метод обратных записей — это альтернатива, упрощающая запись окончательной оплаты.
Чек‑лист для каждой бухгалтерской проводки в Beancount
Следуйте этим шагам, чтобы ваши записи были чистыми и корректными:
- Начинайте с даты (ГГГГ‑ММ‑ДД) и флага транзакции (
*
). - Добавьте контрагента и описательное описание. Используйте
#теги
и^ссылки
для удобного поиска. - Укажите как минимум две строки‑постинга, которые в сумме дают ноль для каждой валюты.
- Применяйте правильные имена счетов из пяти типов:
Assets
,Liabilities
,Equity
,Income
,Expenses
. - При необходимости добавляйте метаданные, например
document: "invoices/INV-2025-001.pdf"
для трассируемости.
Распространённые ошибки (и как Beancount их предотвращает)
- Несбалансированные постинги: Если дебет и кредит не суммируются к нулю, Beancount отклонит запись. Это ключевая функция, предотвращающая ошибки. Вы даже можете оставить одну сумму пустой — Beancount автоматически вычислит её.
- Неправильный знак у счета: Легко забыть, что
Income
,Equity
иLiabilities
увеличиваются кредитом (обычно отрицательные числа в Beancount). Ошибочный знак приведёт к странному виду отчётов, но правило баланса всё равно защитит от критических ошибок. - Отсутствие связей между записями: Если забыть связать счёт‑фактуру с её оплатой, будет сложнее отследить, что осталось непогашенным. Последовательное использование
^ссылок
решает эту проблему, создавая проверяемый след.
Что дальше?
- Язык Beancount и правила баланса: Погрузитесь глубже в официальную документацию.
- Шпаргалка по синтаксису: Удобный справочник всех директив Beancount.
- Вводный курс по дебету/кредиту: Отличный старт, если вы новичок в правилах бухгалтерского учёта.
- Корректирующие и обратные проводки: Более подробные статьи о теории учёта.
Приложение: Сопоставление бухгалтерского языка и синтаксиса Beancount
Эта быстрая справка поможет сопоставить бухгалтерские инструкции с синтаксисом Beancount.
Бухгалтерская инструкция | Действие в Beancount |
---|---|
Дебетировать расход | Положительная сумма в счёт Expenses: |
Кредитировать обязательство | Отрицательная сумма в счёт Liabilities: |
Начислить доход | Assets:AccountsReceivable + Income:* - |
Отложить доход | Assets:Bank:* + Liabilities:Unearned:* - |
Признать отложенный доход | Liabilities:Unearned:* + Income:* - |
С этими шаблонами и примерами вы сможете моделировать почти любое бизнес‑событие в Beancount, гарантируя, что ваши финансовые отчёты будут точными и предсказуемыми.