Перейти до основного вмісту
Beancount.io Logo

Запис податків у Beancount (прагматичний підхід)

Опубліковано Останнє оновлення 8 хв. читанняMike ThriftMike Thrift
Запис податків у Beancount (прагматичний підхід)

Податки можуть здаватися особливою, складною темою у світі особистих фінансів. Але що, якби вони не були такими? Що, якби ви могли ставитися до них так само, як до будь-якого іншого руху грошей у вашому реєстрі? Гарні новини: ви можете. Розглядаючи податки як прості переміщення вартості, ваш реєстр Beancount залишиться чистим, легким для запитів і — найголовніше — зрозумілим.

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


Основні принципи

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

  • Відокремлюйте «що це» від «коли рухаються гроші». 🗓️ Це найважливіша концепція. Податкові витрати належать до року, у якому ви отримали дохід (наприклад, 2024), навіть якщо ви сплачуєте рахунок до податкової служби у квітні 2025 року. Якщо не розділяти час виникнення витрат і час фактичної оплати, ваші звіти за роками стануть заплутаними та оманливими.

  • Тримайте ієрархію рахунків простою та нудною. 📁 Називайте рахунки зрозуміло, залежно від типу податку (наприклад, IncomeTax, SocialSecurity). Це зробить ваші запити надзвичайно простими. Не засмічуйте назви рахунків назвами постачальників або номерами форм, як-от «W-2» чи «1099»; для цих деталей використовуйте метадані та теги.

  • Використовуйте метод нарахування для коригувань на кінець року. ⚖️ Навіть для особистого реєстру простий запис за методом нарахування наприкінці року є найчистішим способом зробити ваші звіти точними. Це означає визнання витрат або повернень у правильному році, навіть якщо гроші рухаються наступного. Це один невеликий додатковий крок, який врятує вас від розумових вправ пізніше.

  • Пишіть для свого майбутнього «я». 🧠 Ваша мета — зрозумілість. Додавайте зайві деталі, як-от податковий рік, до назви рахунку лише тоді, коли це справді полегшує ваші запити. Уникайте створення нового набору рахунків щороку (Expenses:Taxes:2024:Federal, Expenses:Taxes:2025:Federal тощо), якщо у вас немає вагомих причин. Плоска структура часто простіша в управлінні.


Мінімальний каркас рахунків

Ось базовий набір рахунків для початку. Ця структура орієнтована на США, але ви легко можете адаптувати назви під податкову систему вашої країни. Просто додайте ці директиви open у свій файл Beancount.

; --- Федеральні податки на прибуток і зарплатні податки США ---
; Для грошей, утриманих із зарплати
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." "Зарплата за першу половину липня"
  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 з них було надіслано до податкової служби як федеральний податок на прибуток.
  • $372 пішло на соціальне страхування, а $87 — на Medicare.
  • Решта $4,341 — це те, що ви отримали на руки.

Порада: Ви можете додати метадані з вашого розрахункового листа (наприклад, pay_period_end: "2025-07-15") до транзакції для легкого аудиту.


Приклад 2: Подання податкової декларації (проблема переходу року)

Ось сценарій, який часто плутає людей: настає квітень 2025 року, і ви подаєте декларацію за 2024 рік. Ви дізнаєтесь, що після всіх утримань вам все ще потрібно доплатити $3,000.

Як це записати? Ви хочете, щоб витрати були віднесені до 2024 року, але готівковий платіж відбувається у 2025 році. Ось два чудові способи це зробити.

Варіант A: Ручне нарахування у два кроки

Цей метод — чистий Beancount, без додаткових плагінів. Це зрозумілий процес із двох кроків.

Крок 1: Визнайте витрати наприкінці податкового року. Останнього дня 2024 року ви створюєте запис «вирівнювання». Гроші ще не рухаються; ви просто визнаєте витрати та розміщуєте їх на тимчасовому рахунку зобов'язань.

2024-12-31 * "Вирівнювання федерального податку на прибуток за 2024 рік"
  Expenses:Taxes:Federal:IncomeTax:Payments             3,000.00 USD
  Liabilities:AccruedTaxes:Federal:Income             -3,000.00 USD

Тепер ваш звіт про прибутки та збитки за 2024 рік правильно показує ці витрати в $3,000.

Крок 2: Зафіксуйте готівковий платіж, коли він відбувається. У квітні 2025 року, коли ви фактично надсилаєте гроші до податкової служби, ви закриваєте зобов'язання.

2025-04-15 * "IRS" "Платіж за податкову декларацію за 2024 рік"
  Liabilities:AccruedTaxes:Federal:Income              3,000.00 USD
  Assets:Cash:Checking                                -3,000.00 USD

Ваші звіти за 2024 рік правильні, а рух грошей за 2025 рік також коректний. Ідеально! Той самий шаблон працює у зворотному напрямку для повернення — просто використовуйте Assets:Tax:Receivable замість рахунку зобов'язань.

Варіант B: Автоматизація за допомогою плагіна

Якщо ви віддаєте перевагу оформленню платежу в одній транзакції, чудовий плагін від спільноти під назвою beancount_reds_plugins.effective_date може допомогти. Він дозволяє призначити іншу «дату набуття чинності» окремому рядку.

Спочатку увімкніть плагін у своєму основному файлі Beancount: plugin "beancount_reds_plugins.effective_date"

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

; Один запис; плагін робить решту
2025-04-15 * "IRS" "Платіж за податкову декларацію за 2024 рік"
  Assets:Cash:Checking                                 -3,000.00 USD
  Expenses:Taxes:Federal:IncomeTax:Payments             3,000.00 USD
    effective_date: 2024-12-31

Тут готівкова частина записується 15 квітня 2025 року, але частина витрат ретроактивно застосовується до 31 грудня 2024 року. Це дає той самий результат, що й Варіант A, але з іншим робочим процесом.


Що з податком з продажів?

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

2025-07-19 * "Місцевий продуктовий магазин"
  Expenses:Groceries                                      12.32 USD
  Expenses:Taxes:Sales                                     1.28 USD
  Assets:Cash:Checking                                   -13.60 USD

Це дозволяє легко відстежувати, скільки ви витрачаєте на податок з продажів протягом року. Якщо ви ведете бізнес, що працює з ПДВ, вам знадобиться формальніша система з рахунками до сплати та до отримання, але принцип той самий.


Запити, які ви справді використовуватимете

Суть цієї структури — зробити отримання відповідей простим. Ось кілька BQL-запитів, щоб побачити вашу податкову картину.

1. Який був мій загальний федеральний податок на прибуток за 2024 рік?

SELECT cost(sum(position))
WHERE account ~ "Expenses:Taxes:Federal:IncomeTax"
  AND date >= 2024-01-01 AND date < 2025-01-01;

2. Як ця сума розподілилася між утриманнями, платежами та поверненнями?

SELECT account, cost(sum(position))
WHERE account ~ "Expenses:Taxes:Federal:IncomeTax"
  AND date >= 2024-01-01 AND date < 2025-01-01
GROUP BY account
ORDER BY account;

3. Чи маю я непогашені податкові борги або суми до отримання? (Корисно для перевірки вашої роботи!)

SELECT account, units(sum(position))
WHERE account ~ "Liabilities:AccruedTaxes" OR account ~ "Assets:Tax"
GROUP BY account
ORDER BY account;

Якщо цей запит повертає ненульові залишки, це означає, що у вас є нарахування, які ще не врегульовані.


Короткі поширені запитання

  • Чи справді мені потрібні рахунки з роками, як-от Expenses:Taxes:2024? Ймовірно, ні. Метод нарахування (або плагін) підтримує плоску структуру рахунків чистою та зрозумілою. Створюйте рахунки за роками лише тоді, коли це полегшує написання ваших конкретних запитів.

  • Чи може Beancount розрахувати мої податки за мене? Безпосередньо ні, але він може підготувати дані. Деякі досвідчені користувачі пишуть скрипти для передачі результатів BQL-запитів у програмне забезпечення для розрахунку податків, що чудово підходить для оцінки ваших зобов'язань протягом року.

  • Чи це податкова консультація? Ні. Це шаблон бухгалтерського обліку для організації ваших даних. Облік є коректним, але вам завжди слід консультуватися з податковим фахівцем щодо порад, специфічних для вашої ситуації.


Ваш контрольний список

Готові почати?

  1. Додайте каркас рахунків у свій файл Beancount (і адаптуйте назви під свою країну).
  2. Записуйте зарплати, починаючи з валового доходу та розподіляючи податкові проводки.
  3. Наприкінці року нарахуйте будь-які вирівнювання для платежів або повернень, використовуючи рахунок зобов'язань/активів (або плагін effective_date).
  4. Відстежуйте повернення як суми до отримання та закривайте їх, коли надходять гроші.
  5. Виконуйте наведені вище BQL-запити, щоб перевірити свої підсумки перед поданням декларації.

Тримайте все простим, будьте послідовними — і ваш податковий сезон нарешті стане лише ще однією частиною вашої фінансової історії, а не загадкою, яку потрібно розв'язати.

Поділитися цією статтею