Запись налогов в Beancount (практический подход)
Налоги часто кажутся особым, сложным зверем в мире личных финансов. Но что, если бы это было не так? Что, если их можно рассматривать как любой другой поток денег в вашем реестре? Хорошие новости: можно. Рассматривая налоги как простые перемещения стоимости, ваш реестр Beancount останется чистым, легко запросимым и — самое главное — понятным.
Ниже представлен практический, без лишних усложнений шаблон, который вы можете добавить в файл Beancount для личных или небольших бизнес‑операций. Это простая система для обработки зарплат, налоговых платежей и даже назойливых возвратов, переходящих в новый год. Мы расскажем о необходимых счетах, пройдем через реальные примеры и покажем точные запросы, которые нужно выполнить, чтобы получить нужные ответы.
Основные принципы
Прежде чем погрузиться в код, согласуем несколько простых правил. Эти принципы делают всё логичным и предотвращают будущие головные боли.
-
Разделяйте «что это» и «когда движется наличность». 🗓️
Это самое важное понятие. Налоговый расход относится к году, в котором вы заработали доход (например, 2024), даже если вы оплачиваете его в IRS в апреле 2025 года. Если не отделять момент возникновения расхода от момента выплаты, ваши годовые отчёты будут путаными и вводящими в заблуждение. -
Делайте иерархию счетов простой и скучной. 📁
Назовите счета чётко, исходя из типа налога (например,IncomeTax
,SocialSecurity
). Это делает запросы невероятно простыми. Не захламляйте имена счетов названиями поставщиков или номерами форм, вроде «W‑2» или «1099»; используйте метаданные и теги для этих деталей. -
Применяйте начисление для корректировок в конце года. ⚖️
Даже в личном реестре использование простого начисления в конце года — самый чистый способ сделать отчёты точными. Это значит признавать расход или возврат в правильном году, даже если деньги переместятся только в следующем. Это один небольшой дополнительный шаг, который спасёт вас от умственных гимнастик позже. -
Пишите для своего будущего «я». 🧠
Цель — ясность. Добавляйте детали, такие как налоговый год, к имени счета только если это действительно упрощает запросы. Избегайте создания нового набора счетов каждый год (Expenses:Taxes:2024:Federal
,Expenses:Taxes:2025:Federal
и т.д.), если только у вас нет убедительной причины. Плоская структура обычно легче в управлении.
Минимальный скелет счетов
Вот базовый набор счетов, с которого можно начать. Эта структура ориентирована на США, но вы легко адаптируете названия под налоговую систему своей страны. Просто вставьте эти директивы open
в ваш файл Beancount.
; --- US Federal Income & Payroll Taxes ---
; Для удержаний из вашей зарплаты
2024-01-01 open Expenses:Taxes:Federal:IncomeTax:Withheld USD
; Для оценочных платежей или счетов, которые вы платите напрямую
2024-01-01 open Expenses:Taxes:Federal:IncomeTax:Payments USD
; Для возвратов налогов, которые вы получаете
2024-01-01 open Expenses:Taxes:Federal:IncomeTax:Refunds USD
; Ваши взносы в FICA
2024-01-01 open Expenses:Taxes:Federal:SocialSecurity USD
2024-01-01 open Expenses:Taxes:Federal:Medicare USD
; --- Другие распространённые налоги ---
; Для налогов с продаж/использования, которые вы платите при покупках
2024-01-01 open Expenses:Taxes:Sales USD
; --- Счета для корректировок в конце года (опционально, но рекомендуется!) ---
; Временный счёт‑задолженность для налогов, которые вы должны, но ещё не оплатили
2024-01-01 open Liabilities:AccruedTaxes:Federal:Income USD
; Временный счёт‑актив для возврата, который вам полагается, но ещё не получен
2024-01-01 open Assets:Tax:Receivable USD
Эта настройка отделяет удержанные налоги от прямых платежей и возвратов, делая очевидным, куда ушли ваши деньги. Счета Liabilities
и Assets
— наше секретное оружие для точной отчётности в конце года.
Пример 1: Зарплатный чек
Запишем типичный чек, где налоги удерживаются автоматически. Ключ — сначала зафиксировать валовой доход, а затем показать, как он разделился между налогами и наличными, которые действительно попали на ваш счёт.
2025-07-15 * "Employer Inc." "Salary for first half of July"
Income:Work:Salary -6,000.00 USD
Expenses:Taxes:Federal:IncomeTax:Withheld 1,200.00 USD
Expenses:Taxes:Federal:SocialSecurity 372.00 USD
Expenses:Taxes:Federal:Medicare 87.00 USD
Assets:Cash:Checking 4,341.00 USD
Эта одна транзакция рассказывает всю историю:
- Вы заработали $6 000 валового дохода.
- $1 200 из них отправлены в IRS как федеральный подоходный налог.
- 87 — в Medicare.
- Оставшиеся $4 341 — это ваша чистая зарплата.
Совет: Вы можете добавить метаданные из вашего расчётного листа (например, pay_period_end: "2025-07-15"
) к транзакции для удобного аудита.
Пример 2: Подача декларации (проблема перехода года)
Ситуация, которая ставит людей в тупик: апрель 2025 г., вы подаёте декларацию за 2024 год и обнаруживаете, что после всех удержаний вам ещё нужно доплатить $3 000.
Как это записать? Нужно, чтобы расход учитывался в 2024 году, а платёж наличными произошёл в 2025 году. Ниже два отличных способа.