Начисленные расходы в Beancount: Практическое руководство (с примерами записей, готовыми к копированию)
Начисленные расходы звучат абстрактно, пока не начнут накапливаться к концу месяца. Они являются краеугольным камнем правильного начисленного учета, обеспечивая, чтобы ваши финансовые отчёты отражали экономическую реальность, а не только момент передачи наличных. Ниже — понятный, ориентированный на Beancount, пошаговый разбор того, что это такое, почему это важно и как именно их записывать, отменять и отчитываться в вашем текстовом регистре.
TL;DR ⚡
- Начисленные расходы — это затраты, понесённые в текущем периоде, но ещё не оплаченные. Они фиксируются как обязательство д о момента выхода наличных.
- В Beancount это просто: дебетируется счёт
Expenses:
и кредитируется счётLiabilities:Accrued:
. Позже обязательство снимается при оплате.- Для отчёта можно увидеть, что вы должны на конкретную дату, запустив
bean-query
с параметрамиCLOSE ON
иCLEAR
для получения чистого снимка баланса.
Что такое начисленный расход?
Начисленный расход — это стоимость, которую бизнес уже понёс, но ещё не оплатил. Он фиксируется в момент получения услуги или возникновения стоимости, даже если счёт ещё не пришёл или оплата ещё не требуется. Эта практика следует принципу соответствия начисленного учёта, согласно которому расходы должны учитываться в том же периоде, что и связанные с ними доходы.
Типичные примеры:
- Заработная плата, начисленная сотрудникам к концу месяца, но выплачиваемая в следующем.
- Коммунальные услуги (электричество, вода), использованные в декабре, но выставленные в счёт только в январе.
- Процент по кредиту, накопившийся за месяц, но ещё не списанный со счёта.
Фиксируя эти затраты в момент их возникновения, вы получаете более правдивую картину финансовой эффективности компании за данный период.
Как Beancount воспринимает это (за 30 секунд)
Beancount — это система двойной записи в виде простого текста. Всё представлено датированными директивами или транзакциями в файле. Система построена на пяти базовых типах счетов: Assets, Liabilities, Equity, Income и Expenses.
Записи всегда упорядочены по дате. Важный момент: проверки balance
выполняются до обработки транзакций того же дня. Это нужно учитывать при размещении проверок и обратных записей.
Наконец, язык bean-query
предоставляет мощный, похожий на SQL, способ генерации отчётов. Операторы OPEN ON
, CLOSE ON
и CLEAR
позволяют создавать точные «по состоянию на» представления финансовой отчётности.
План счетов (рекомендация)
Чистая иерархическая структура плана счетов — ваш лучший помощник. Для начисленных расходов структура проста. Вам понадобится:
- Счёт расходов: например,
Expenses:Utilities
,Expenses:Payroll:Wages
- Соответствующий счёт обязательств: например,
Liabilities:Accrued:Utilities
,Liabilities:Accrued:Payroll
- Счёт наличных: например,
Assets:Bank:Checking
Beancount принуждает к использованию пяти верхнеуровневых типов счетов. Организованные имена упрощают запросы и отчёты.
Основной шаблон (без плагинов, без магии)
Это самый прямой способ работы с начислениями в Beancount. Он состоит из двух шагов: начисление расхода в конце месяца и снятие обязательства при оплате.
Шаг 1: Начислить расход в конце месяца
В последний день периода фиксируем расход и создаём обязательство.
2025-02-28 * "Accrue February electricity" #accrual
Expenses:Utilities 120.00 USD
Liabilities:Accrued:Utilities
Шаг 2: Снять начисление при оплате
Когда приходит счёт и вы его оплачиваете, повторно не трогаете счёт расходов. Вместо этого дебетируете счёт обязательств, чтобы очистить его.
2025-03-05 * "Pay Feb electricity - City Power"
Liabilities:Accrued:Utilities 120.00 USD
Assets:Bank:Checking
Это самый чистый подход для небольших команд. Он правильно размещает расход в феврале и не дублирует его в марте. Обратите внимание, что в Beancount оставление одной суммы пустой заставляет систему автоматически сбалансировать транзакцию.
Альтернатива: Обратная запись в первый день следующего месяца
Если вам ближе классический стиль «авто‑отмены», можно разместить противоположную запись к начислению в первый день следующего месяца, а затем обычным способом записать реальный счёт поставщика.
Шаг 1: Начислить в конце месяца (как выше)
2025-02-28 * "Accrue February electricity" #accrual
Expenses:Utilities 120.00 USD
Liabilities:Accrued:Utilities
Шаг 2: Отменить в первый день следующего месяца
2025-03-01 * "Reverse Feb electricity accrual" #reversal
Liabilities:Accrued:Utilities 120.00 USD
Expenses:Utilities
Шаг 3: Записать оплату как обычно
2025-03-05 * "City Power - February bill"
Expenses:Utilities 120.00 USD
Assets:Bank:Checking
Внимание к проверкам: Помните, что проверки balance
оцениваются до транзакций того же дня. Если хотите проверить баланс Liabilities:Accrued:Utilities
, разместите проверку на 2025-02-28
для подтверждения начисления или на 2025-03-01
после отмены, чтобы убедиться, что он равен нулю. Размещение её до отмены 1‑го марта вызовет ложный сбой.
Шесть типовых начислений (шаблоны для копирования) 📋
Ниже — готовые примеры для распространённых бизнес‑начислений.