Перейти к основному содержимому

Начисленные расходы в Beancount: Практическое руководство (с примерами записей, готовыми к копированию)

Опубликовано Обновлено 7 мин чтенияMike ThriftMike Thrift
Начисленные расходы в 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‑го марта вызовет ложный сбой.

Шесть типовых начислений (шаблоны для копирования) 📋​

Ниже — готовые примеры для распространённых бизнес‑начислений.

1. Аренда, ещё не выставленная в счёт​

2025-01-31 * "Accrue January rent" #accrual
  Expenses:Rent                   3000.00 USD
  Liabilities:Accrued:Rent

2. Заработная плата, начисленная, но не выплаченная​

2025-03-31 * "Accrue March wages" #accrual
  Expenses:Payroll:Wages          8500.00 USD
  Liabilities:Accrued:Payroll

3. Оплата отпуска (PTO), начисленная​

2025-03-31 * "Accrue PTO earned in March" #accrual
  Expenses:Payroll:PTO             900.00 USD
  Liabilities:Accrued:Payroll

4. Процент по кредиту, начисленный​

2025-02-28 * "Accrue monthly loan interest" #accrual
  Expenses:Interest                210.00 USD
  Liabilities:Accrued:Interest

5. Профессиональные услуги (аудит/юридические)​

2025-12-31 * "Accrue year-end audit fees" #accrual
  Expenses:Professional:Audit     4200.00 USD
  Liabilities:Accrued:Professional

6. Коммунальные услуги, использованные, но не выставленные в счёт​

2025-04-30 * "Accrue April utilities" #accrual
  Expenses:Utilities                95.00 USD
  Liabilities:Accrued:Utilities

Отчётность: «Что я должен на определённую дату?»​

bean-query — ваш инструмент для получения ответов. Ниже показано, как получить корректный снимок баланса по начисленным расходам.

Получить все балансы начисленных обязательств на конец периода​

Этот запрос выдаёт баланс каждого счёта начисленных обязательств на 31 марта 2025 г.

bean-query main.beancount '
  SELECT account, UNITS(SUM(position)) AS balance
  FROM OPEN ON 2025-01-01 CLOSE ON 2025-04-01 CLEAR
  WHERE account   "^Liabilities:Accrued"
  GROUP BY 1
  ORDER BY 1;
'
  • OPEN ON задаёт начальные остатки в начале периода.
  • CLOSE ON отсекает транзакции до указанной даты (исключительно). Поэтому используем 2025-04-01, чтобы включить данные до 2025-03-31.
  • CLEAR обнуляет доходы и расходы, давая чистый вид баланса (Активы, Обязательства, Капитал).

Просмотр реестра всех записей начислений​

Если нужен список всех транзакций по начисленным счетам:

bean-query main.beancount '
  SELECT date, payee, narration, position
  WHERE account   "^Liabilities:Accrued"
  ORDER BY date;
'

Получить суммарный итог по всем начислениям​

Для быстрого резюме общей суммы задолженности:

bean-query main.beancount '
  SELECT UNITS(SUM(position)) AS total_accruals
  FROM OPEN ON 2025-01-01 CLOSE ON 2025-04-01 CLEAR
  WHERE account   "^Liabilities:Accrued";
'

Управление и «подводные камни» в Beancount​

  • Время проверок баланса: Как уже упоминалось, проверки выполняются в начале дня. Запись 2025-03-01 balance ... срабатывает до любых транзакций 1‑го марта. Планируйте соответственно.
  • Именование и иерархия: Чистое дерево вида Liabilities:Accrued:* — не только для красоты. Оно упрощает запросы и делает отчёты сразу понятными.
  • Pad с осторожностью: Директива pad может исправлять начальные остатки, но не используйте её для «исправления» регулярных начислений. Явные записи обеспечивают прозрачный аудит‑трейл.
  • Отчёты «по состоянию на»: Для снимков баланса всегда предпочтительно OPEN … CLOSE … CLEAR в bean-query. Это исключает влияние доходов и расходов на итоговые обязательства.

Предоплата vs. Начисление (быстрый контраст)​

Легко перепутать. Это зеркальные ситуации:

  • Начисленный расход: Услуга получена сейчас, деньги выплачиваются позже → образуется обязательство.
  • Предоплаченный расход: Деньги выплачены сейчас, услуга получена позже → образуется актив.

Логика учёта в Beancount одинаковая; меняются лишь счета (Assets:Prepaid:* vs. Liabilities:Accrued:*).

Шаблон для вставки в начало файла​

Ниже — директивы open, необходимые для примеров в этой статье. Добавьте их в начало вашего файла‑регистра.

; --- Accounts (open once) ---
2025-01-01 open Assets:Bank:Checking
2025-01-01 open Expenses:Utilities
2025-01-01 open Expenses:Payroll:Wages
2025-01-01 open Expenses:Interest
2025-01-01 open Expenses:Professional:Audit
2025-01-01 open Liabilities:Accrued:Utilities
2025-01-01 open Liabilities:Accrued:Payroll
2025-01-01 open Liabilities:Accrued:Interest
2025-01-01 open Liabilities:Accrued:Professional

Заключительные замечания​

Если вы ведёте книги по кассовому методу, начисления вовсе не нужны — расходы фиксируются в момент оплаты. При начисленном методе использование вышеописанных шаблонов необходимо для сопоставления затрат с периодом их потребления.

Приведённые примеры носят общий образовательный характер. Консультируйтесь с бухгалтером по отраслевым нюансам, особенно в отношении бонусов, налогов на зарплату и порогов капитализации.

Источник: https://beancount.io/ru/blog/2025/08/24/accrued-expenses-in-beancount-a-practical-guide

Опубликовано: 24 августа 2025 г.

Обновлено: 15 сентября 2026 г.