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

Одна запись с тегом "financial reporting"

Посмотреть все теги

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

· 7 минут чтения
Mike Thrift
Mike Thrift
Marketing Manager

Начисленные расходы звучат абстрактно, пока не начнут накапливаться к концу месяца. Они являются краеугольным камнем правильного начисленного учета, обеспечивая, чтобы ваши финансовые отчёты отражали экономическую реальность, а не только момент передачи наличных. Ниже — понятный, ориентированный на Beancount, пошаговый разбор того, что это такое, почему это важно и как именно их записывать, отменять и отчитываться в вашем текстовом регистре.

TL;DR ⚡

  • Начисленные расходы — это затраты, понесённые в текущем периоде, но ещё не оплаченные. Они фиксируются как обязательство до момента выхода наличных.
  • В Beancount это просто: дебетируется счёт Expenses: и кредитируется счёт Liabilities:Accrued:. Позже обязательство снимается при оплате.
  • Для отчёта можно увидеть, что вы должны на конкретную дату, запустив bean-query с параметрами CLOSE ON и CLEAR для получения чистого снимка баланса.

2025-08-24-accrued-expenses-in-beancount-a-practical-guide

Что такое начисленный расход?

Начисленный расход — это стоимость, которую бизнес уже понёс, но ещё не оплатил. Он фиксируется в момент получения услуги или возникновения стоимости, даже если счёт ещё не пришёл или оплата ещё не требуется. Эта практика следует принципу соответствия начисленного учёта, согласно которому расходы должны учитываться в том же периоде, что и связанные с ними доходы.

Типичные примеры:

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

Фиксируя эти затраты в момент их возникновения, вы получаете более правдивую картину финансовой эффективности компании за данный период.

Как 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-29 * "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

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

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

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