Zaznamenávanie daní v Beancount (praktický spôsob)
Dane môžu pôsobiť ako špeciálne, komplikované stvorenie vo svete osobných financií. Ale čo ak by to tak nebolo? Čo ak by ste ich mohli považovať za rovnako jednoduchý tok peňazí vo vašom hlavnom knihači? Dobrú správu: môžete. Keď dane vnímate ako jednoduché pohyby hodnoty, váš Beancount hlavný knihač zostane čistý, ľahko dotazovateľný a – najdôležitejšie – pochopiteľný.
Nižšie nájdete praktický, bezpretentívny vzor, ktorý môžete vložiť do osobného alebo malého firemného Beancount súboru. Ide o jednoduchý systém na spracovanie výplatných páskov, daňových platieb a dokonca aj tých otravných vrátení, ktoré prechádzajú do nového roka. Pokryjeme základné účty, ktoré potrebujete, prejdeme reálnymi príkladmi a ukážeme vám presné dotazy, ktoré spustíte, aby ste získali požadované odpovede.
Základné princípy
Predtým, než sa ponoríme do kódu, dohodnime sa na niekoľkých jednoduchých pravidlách. Tieto princípy udržujú veci logické a predchádzajú budúcim bolestiam hlavy.
-
Oddeliť „čo to je“ od „kedy sa peniaze pohybujú“. 🗓️
Toto je najdôležitejší koncept. Daňový výdavok patrí do roku, v ktorom ste zarobili príjem (napr. 2024), aj keď faktúru uhradíte IRS v apríli 2025. Ak neoddelíte načasovanie výdavku od načasovania platby, vaše ročné správy budú neprehľadné a zavádzajúce. -
Udržiavať hierarchiu účtov nudnú a jednoduchú. 📁
Pomenúvajte svoje účty jasne podľa typu dane (napr.IncomeTax
,SocialSecurity
). To robí vaše dotazy neuveriteľne jednoduché. Neplňte názvy účtov menami predajcov alebo číslami formulárov ako „W‑2“ alebo „1099“; použite metadáta a značky pre tieto detaily. -
Prijmite akruálne účtovanie pre úpravy na konci roka. ⚖️
Aj pre osobný hlavný knihač je použitie jednoduchého akruálneho zápisu na konci roka najčistejším spôsobom, ako zabezpečiť presnosť správ. Znamená to uznať výdavok alebo vrátenie v správnom roku, aj keď peniaze sa pohybujú až v nasledujúcom. Je to malý extra krok, ktorý vás neskôr zachráni pred mentálnymi akrobáciami. -
Píšte pre svojho budúceho ja. 🧠
Vaším cieľom je jasnosť. Pridávajte ďalšie detaily, ako je daňový rok, do názvu účtu len vtedy, keď skutočne uľahčia vaše dotazy. Vyhnite sa vytváraniu novej sady účtov každý rok (Expenses:Taxes:2024:Federal
,Expenses:Taxes:2025:Federal
atď.), pokiaľ nemáte presvedčivý dôvod. Plochá štruktúra je často jednoduchšia na správu.
Minimálny kostra účtov
Tu je základná sada účtov, s ktorou môžete začať. Táto štruktúra je orientovaná na USA, ale názvy môžete ľahko prispôsobiť daňovému systému svojej krajiny. Stačí vložiť tieto open
direktívy do svojho Beancount súboru.
; --- US Federal Income & Payroll Taxes ---
; For money withheld from your paycheck
2024-01-01 open Expenses:Taxes:Federal:IncomeTax:Withheld USD
; For estimated payments or tax-day bills you pay directly
2024-01-01 open Expenses:Taxes:Federal:IncomeTax:Payments USD
; For tax refunds you receive
2024-01-01 open Expenses:Taxes:Federal:IncomeTax:Refunds USD
; Your FICA contributions
2024-01-01 open Expenses:Taxes:Federal:SocialSecurity USD
2024-01-01 open Expenses:Taxes:Federal:Medicare USD
; --- Other Common Taxes ---
; For sales/use taxes you pay on purchases
2024-01-01 open Expenses:Taxes:Sales USD
; --- Accounts for Year-End Adjustments (Optional but Recommended!) ---
; A temporary holding account for taxes you owe but haven't paid yet
2024-01-01 open Liabilities:AccruedTaxes:Federal:Income USD
; A temporary holding account for a refund you're owed but haven't received
2024-01-01 open Assets:Tax:Receivable USD
Táto štruktúra oddeľuje odvedené dane od priamych platieb a vrátení, čo uľahčuje vidieť presne, kam vaše peniaze išli. Účty Liabilities
a Assets
sú našou tajnou zbraňou pre presné ročné reportovanie.
Príklad 1: Výplata
Zaúčtujte typickú výplatu, kde sú dane odvedené automaticky. Kľúčom je najprv zaznamenať hrubú mzdu, potom ukázať, ako bola rozdelená medzi dane a hotovosť, ktorá skutočne dopadla na váš bankový účet.
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
Táto jedna transakcia rozpráva celý príbeh:
- Zarobili ste 6 000 USD hrubej mzdy.
- 1 200 USD bolo odoslaných IRS ako federálna daň z príjmu.
- 372 USD išlo na Social Security a 87 USD na Medicare.
- Zvyšných 4 341 USD je to, čo ste si vzali domov.
Tip: K transakcii môžete pripojiť metadáta z výplatnej pásky (napr. pay_period_end: "2025-07-15"
), aby ste mali jednoduchý auditný reťazec.
Príklad 2: Podanie daňového priznania (problém prekrývania rokov)
Scenár, ktorý ľudí často zaskočí: je apríl 2025 a podávate daňové priznanie za 2024. Zistíte, že po všetkých odpočtoch ešte dlžíte ďalších 3 000 USD.
Ako to zaznamenať? Chcete, aby výdavok spadal do roku 2024, ale platba sa uskutočnila v roku 2025. Tu sú dva výborné spôsoby.
Možnosť A: Manuálny dvojkrokový akrual
Tento spôsob je čistý Beancount, žiadne pluginy nie sú potrebné. Ide o jasný dvojkrokový proces.
Krok 1: Uznať výdavok na konci daňového roka.
Posledný deň roku 2024 vytvoríte „true‑up“ zápis. Peniaze sa ešte nepohybujú; len uznávate výdavok a parkujete ho v dočasnom účte záväzkov.
2024-12-31 * "Federal income tax true-up for 2024"
Expenses:Taxes:Federal:IncomeTax:Payments 3,000.00 USD
Liabilities:AccruedTaxes:Federal:Income -3,000.00 USD
Teraz váš výkaz príjmov za 2024 správne ukazuje tento výdavok.
Krok 2: Zaznamenať platbu, keď nastane.
V apríli 2025, keď skutočne pošlete peniaze IRS, vyčistíte záväzok.
2025-04-15 * "IRS" "Payment for 2024 tax return"
Liabilities:AccruedTaxes:Federal:Income 3,000.00 USD
Assets:Cash:Checking -3,000.00 USD
Vaše správy za 2024 sú správne a cash flow za 2025 je správny. Perfektné! Tento rovnaký vzor funguje opačne pre vrátenie – stačí použiť Assets:Tax:Receivable
namiesto účtu záväzkov.
Možnosť B: Automatizácia pomocou pluginu
Ak radšej máte platbu v jednej transakcii, úžasný komunitný plugin beancount_reds_plugins.effective_date
vám pomôže. Umožňuje priradiť odlišný „efektívny dátum“ k jednej položke.
Najprv povolte plugin vo vašom hlavnom Beancount súbore:
plugin "beancount_reds_plugins.effective_date"
Potom môžete napísať jedinú transakciu. Plugin ju automaticky rozdelí na pozadí, aby boli vaše správy presné.
; One entry; the plugin handles the rest
2025-04-15 * "IRS" "Payment for 2024 tax return"
Assets:Cash:Checking -3,000.00 USD
Expenses:Taxes:Federal:IncomeTax:Payments 3,000.00 USD
effective_date: 2024-12-31
Tu je hotovostná časť zaznamenaná 15. apríla 2025, ale výdavková časť retroaktívne aplikovaná k 31. decembru 2024. Dosiahne rovnaký výsledok ako Možnosť A s iným pracovným tokom.
Čo s DPH?
Pre väčšinu osobných hlavných kníh je DPH jednoduchá. Ak ju nevyžadujete späť, stačí ju oddeliť ako vlastný výdavok pri nákupe.
2025-07-19 * "Local Grocery Store"
Expenses:Groceries 12.32 USD
Expenses:Taxes:Sales 1.28 USD
Assets:Cash:Checking -13.60 USD
Takto ľahko sledujete, koľko míňate na daň z predaja počas roka. Ak prevádzkujete podnik, ktorý pracuje s DPH, použili by ste formálnejší systém s účtami záväzkov a pohľadávok, ale princíp zostáva rovnaký.
Dotazy, ktoré skutočne použijete
Celý zmysel tejto štruktúry je urobiť získavanie odpovedí jednoduchým. Tu je niekoľko BQL dotazov, ktoré vám ukážu daňový obraz.
1. Aká bola moja celková federálna daň z príjmu za rok 2024?
SELECT cost(sum(position))
WHERE account "Expenses:Taxes:Federal:IncomeTax"
AND date >= 2024-01-01 AND date < 2025-01-01;
2. Ako sa tento celkový súčet rozdeľuje medzi odvedené, platby a vrátenia?
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. Mám nejaké nevyrovnané daňové záväzky alebo pohľadávky? (Užitočné na kontrolu vašej práce!)
SELECT account, units(sum(position))
WHERE account "Liabilities:AccruedTaxes" OR account "Assets:Tax"
GROUP BY account
ORDER BY account;
Ak tento dotaz vráti nenulové zostatky, znamená to, že máte akruálne položky, ktoré ešte nie sú vyrovnané.
Rýchle FAQ
-
Potrebujem naozaj účty podľa rokov, ako
Expenses:Taxes:2024
?
Pravdepodobne nie. Metóda akruálneho účtovania (alebo plugin) udržiava plochú štruktúru čistú a čitateľnú. Vytvorte ročné účty len vtedy, ak vám to uľahčuje konkrétne dotazy. -
Môže Beancount vypočítať moje dane za mňa?
Nie priamo, ale môže pripraviť dáta. Niektorí pokročilí používatelia píšu skripty, ktoré odosielajú výsledky BQL dotazov do daňového softvéru – skvelé na odhadovanie záväzku počas roka. -
Je toto daňové poradenstvo?
Nie. Ide o vzor účtovania pre organizáciu vašich dát. Účtovanie je spoľahlivé, ale vždy sa poraďte s daňovým odborníkom ohľadom vašej konkrétnej situácie.
Kontrolný zoznam na vloženie
Pripravený na štart?
- ✅ Pridajte kostru účtov do svojho Beancount súboru (a prispôsobte názvy pre svoju krajinu).
- ✅ Zaúčtujte výplaty začatím s hrubým príjmom a rozdelením daní.
- ✅ Na konci roka akrujte akékoľvek doplatky alebo vrátenia pomocou účtu záväzkov/pohľadávok (alebo použite plugin
effective_date
). - ✅ Sledujte vrátenia ako pohľadávky a vyrovnajte ich, keď peniaze dorazia.
- ✅ Spustite vyššie uvedené BQL dotazy, aby ste pred podaním overili svoje sumy.
Udržujte to nudné, udržujte to konzistentné a vaša daňová sezóna sa nakoniec bude cítiť ako ďalšia časť vášho finančného príbehu – nie ako hádanka, ktorú treba vyriešiť.