Перейти до основного вмісту

Один допис з тегом "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 обнуляє доходи та витрати, даючи чистий вигляд балансу (Assets, Liabilities, Equity).

Переглянути реєстр усіх записів нарахувань

Якщо потрібно бачити «сирі» транзакції по рахункам зобов’язань:

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

Заключні нотатки

Якщо ви ведете облік за касовим методом, нарахування не потрібні – витрати записуються лише під час їх сплати. Якщо ж ви працюєте за нарахувальним методом, використання наведених шаблонів є критично важливим для відповідності витрат періоду, у якому вони були спожиті.

Наведені приклади мають лише навчальний характер. Завжди консультуйтеся зі своїм бухгалтером щодо специфічних вимог вашої галузі, особливо щодо бонусів, податків на заробітну плату та порогових значень капіталізації.