Preskočiť na hlavný obsah
Správa zásob

Správa zásob

Naučte sa, ako efektívne spravovať zásoby v Beancount so zameraním na sledovanie majetku, ako sú akcie a meny, pochopenie obstarávacej ceny a výpočet kapitálových ziskov pre lepšiu výkonnosť portfólia.

Systém zásob v Beancount je výkonná funkcia na sledovanie majetku, ktorý sa v priebehu času nakupuje a predáva, ako sú akcie, podielové fondy alebo cudzie meny. Umožňuje presné sledovanie obstarávacej ceny, ktorá je nevyhnutná na výpočet kapitálových ziskov a pochopenie výkonnosti portfólia. Tento tutoriál pokrýva základné mechanizmy správy zásob vo vašej hlavnej knihe.

Základné koncepty

V jadre správy zásob ide o sledovanie pozícií. „Pozícia“ je jednoducho množstvo komodity držané na účte. Beancount rozlišuje dva základné typy pozícií.

Typy pozícií

  1. Jednoduchá pozícia (bez ceny): Ide o štandardný zápis zostatku. Predstavuje množstvo komodity bez akýchkoľvek súvisiacich obstarávacích nákladov. Je vhodná pre hotovosť alebo jednoduché kontrolné súčty zostatkov.

    Assets:Bank:Checking      100.00 USD
  2. Pozícia s obstarávacou cenou: Tento typ pozície zahŕňa nielen počet jednotiek a komoditu, ale aj cenu, za ktorú bola nadobudnutá. To je základom sledovania zásob. Cena sa uvádza v zložených zátvorkách {}.

    Assets:Invest:VTSAX      10 VTSAX {100.00 USD, "lot-1"}

    V tomto príklade držíme 10 jednotiek VTSAX. Každá jednotka bola nadobudnutá za cenu 100,00 USD. Táto konkrétna dávka akcií je identifikovaná ako „lot“.

Operácie so zásobami

Existujú dve základné operácie, ktoré môžete vykonávať so zásobami:

  1. Prírastky (pridávanie do zásob): Keď kúpite komoditu, zvýšite svoje zásoby. Vytvoríte nový lot s konkrétnym počtom jednotiek a obstarávacou cenou.

    2024-01-15 * "Kúpa akcií"
      Assets:Invest:STOCK     50 STOCK {25.00 USD, "lot-1"}
      Assets:Bank:Checking   -1250.00 USD

    Tu nakupujeme 50 jednotiek STOCK za jednotkovú cenu 25,00 USD. Tým sa vytvorí lot na účte Assets:Invest:STOCK.

  2. Úbytky (odstraňovanie zo zásob): Keď predáte komoditu, znížite svoje zásoby. Musíte určiť, z ktorého lotu predávate. To sa vykoná poskytnutím zodpovedajúcich informácií v zložených zátvorkách.

    2024-01-20 * "Predaj akcií"
      Assets:Invest:STOCK    -25 STOCK {25.00 USD}
      Assets:Bank:Checking    625.00 USD

    V tejto transakcii predávame 25 jednotiek STOCK z lotu, ktorý bol zakúpený za 25,00 USD za jednotku.

Metódy účtovania

Keď znižujete zásoby, Beancount potrebuje pravidlo, ktoré určí, z ktorého konkrétneho lotu sa má odpočítať, ak sa zhoduje viacero lotov alebo ak je zhoda nejednoznačná. Toto pravidlo sa nazýva „metóda účtovania“. Môžete nastaviť predvolenú metódu pre celý súbor alebo ju určiť pre každý účet.

1. STRICT (Prísna) – Predvolená

Metóda STRICT je predvolená a najbezpečnejšia metóda účtovania. Vyžaduje explicitnú a jednoznačnú zhodu.

2024-01-01 open Assets:Invest:STOCK "STRICT"
  • Vyžaduje presnú zhodu lotu: V zápise úbytku ({...}) musíte poskytnúť dostatok informácií na jednoznačnú identifikáciu predávaného lotu.
  • Chyba pri nejednoznačných zhodách: Ak poskytnuté informácie zodpovedajú viacerým lotom, Beancount vyvolá chybu a prinúti vás byť konkrétnejší.
  • Výnimka: Ak zápis úbytku presne odstraňuje celkový počet jednotiek držaný na účte, je povolený prázdny špecifikátor ceny ({}).

2. FIFO (First-In, First-Out) – Prvý dnu, prvý von

Metóda FIFO automaticky účtuje úbytky oproti najstarším dostupným lotom ako prvým.

2024-01-01 open Assets:Invest:STOCK "FIFO"
  • Automatické riešenie: Rieši nejednoznačnosť výberom najstarších zodpovedajúcich lotov.
  • Chronologické párovanie: Toto je bežná účtovná metóda, pri ktorej predpokladáte, že predávate majetok, ktorý vlastníte najdlhšie. Toto je vyžadovaná metóda na daňové účely v mnohých krajinách.

3. LIFO (Last-In, First-Out) – Posledný dnu, prvý von

Metóda LIFO je opakom FIFO. Účtuje úbytky oproti najnovším dostupným lotom ako prvým.

2024-01-01 open Assets:Invest:STOCK "LIFO"
  • Obrátené chronologické poradie: Vyberá najnovšie nadobudnuté loty, ktoré zodpovedajú kritériám úbytku.
  • Daňová optimalizácia: V niektorých jurisdikciách možno túto metódu použiť na daňovú optimalizáciu, napríklad predajom akcií s najvyššou obstarávacou cenou ako prvých, aby sa minimalizovali kapitálové zisky.

4. NONE (Žiadna)

Metóda NONE úplne vypína párovanie lotov.

2024-01-01 open Assets:Invest:STOCK "NONE"
  • Žiadne párovanie lotov: Beancount sa nepokúša párovať úbytky s prírastkami.
  • Povoľuje zmiešané znamienka: To umožňuje, aby účet súčasne držal kladné aj záporné zostatky rovnakej komodity. Toto správanie je podobné tomu, ako nástroj Ledger CLI spracováva komodity.

Špecifikácia lotu

„Lot“ je konkrétny blok komodity nadobudnutý v určitom čase a za určitú cenu. Keď vytvárate alebo znižujete pozíciu, môžete podrobne určiť atribúty lotu.

Úplná špecifikácia

Pri zvyšovaní zásob (nákupe) môžete pre lot určiť až tri atribúty:

Assets:Invest:STOCK  10 STOCK {
    100.00 USD,           # Obstarávacia cena (jednotková cena)
    2024-01-15,           # Dátum nadobudnutia
    "identifikátor-lotu"  # Unikátny reťazcový štítok
}

Hoci všetky tri sú voliteľné, poskytnutie aspoň obstarávacej ceny je štandardnou praxou.

Metódy párovania

Pri znižovaní zásob (predaji) používate rovnakú syntax na určenie, z ktorého lotu (lotov) predávate.

  • Párovanie podľa ceny: Toto je najbežnejšia metóda.

    Assets:Invest:STOCK  -5 STOCK {100.00 USD}
  • Párovanie podľa dátumu: Ak sú ceny rovnaké, môžete rozlíšiť pomocou dátumu nadobudnutia.

    Assets:Invest:STOCK  -5 STOCK {2024-01-15}
  • Párovanie podľa štítku: Štítky poskytujú spoľahlivý spôsob identifikácie lotu.

    Assets:Invest:STOCK  -5 STOCK {"identifikátor-lotu"}
  • Párovanie s ľubovoľným lotom: Prázdna sada zátvoriek {} sa bude zhodovať s akýmkoľvek dostupným lotom. Často sa používa s účtovaním FIFO alebo LIFO, kde sa konkrétny lot vyberá automaticky.

    Assets:Invest:STOCK  -5 STOCK {}

Spracovanie cien

Je kľúčové pochopiť rozdiel medzi obstarávacou cenou ({}) a trhovou cenou (@). Slúžia na rôzne účely a nie sú zameniteľné.

Trhová cena vs. obstarávacia cena

  • {cena}: Definuje obstarávaciu cenu majetku. Je súčasťou samotného lotu zásob a používa sa na účtovanie úbytkov a výpočet kapitálových ziskov.
  • @ cena: Anotácia, ktorá zaznamenáva trhovú cenu v čase transakcie. Používa sa na konverzie mien alebo na zaznamenanie trhovej hodnoty k určitému dátumu.

Tu sú tri scenáre:

  1. Anotácia trhovej ceny (konverzia): Použite @ na konverziu z jednej meny na druhú.

    Assets:Forex     1000 USD @ 0.85 EUR
  2. Obstarávacia cena (nadobudnutie): Použite {} pri nákupe majetku na stanovenie jeho obstarávacej ceny.

    Assets:Invest    10 STOCK {100.00 USD}
  3. Obe (predaj so záznamom ceny): Pri predaji majetku použite {} na identifikáciu predávaného lotu a @ na zaznamenanie predajnej ceny. To umožňuje automatický výpočet kapitálových ziskov.

    Assets:Invest    -10 STOCK {100.00 USD} @ 105.00 USD

    Tento zápis predáva 10 STOCK z lotu, ktorý stál 100,00 USD za kus, za predajnú cenu 105,00 USD za kus.

Pravidlá používania cien

  1. Anotácie trhovej ceny (@) neovplyvňujú, ktorý lot sa zaúčtuje. Párovanie lotov sa riadi výlučne obstarávacou cenou ({}) a metódou účtovania účtu.
  2. Symbol @ sa používa iba na:
  • Konverzie mien.
  • Zaznamenanie trhovej hodnoty majetku v čase transakcie.
  • Poskytnutie predajnej ceny na výpočet kapitálových ziskov.

Konfigurácia

Metódy účtovania môžete nakonfigurovať globálne alebo na základe jednotlivých účtov.

Globálna metóda účtovania

Môžete nastaviť predvolenú metódu účtovania pre celý súbor Beancount pomocou direktívy option.

option "booking_method" "STRICT"

Dostupné možnosti sú "STRICT", "FIFO", "LIFO" a "NONE".

Predefinovanie pre jednotlivé účty

Často je užitočné mať rôzne metódy pre rôzne účty. Môžete napríklad chcieť FIFO pre dôchodkový účet, ale STRICT pre sprostredkovateľský účet podliehajúci dani, aby ste zabezpečili predaj konkrétnych daňových lotov. Metódu účtovania môžete nastaviť pri otváraní účtu.

2024-01-01 open Assets:Retirement:401K "FIFO"
2024-01-01 open Assets:Taxable:Stock  "STRICT"

Osvedčené postupy

  1. Organizácia zásob: Aby ste udržali svoju hlavnú knihu čistú a jednoduchú, dôrazne sa odporúča používať samostatné účty pre každú jedinečnú komoditu, ktorú vlastníte.

    # DOBRÉ: Samostatné účty podľa komodity
    Assets:Invest:VTSAX    ; Len pozície VTSAX tu
    Assets:Invest:VFIAX    ; Len pozície VFIAX tu

    Vyhnite sa miešaniu rôznych akcií alebo fondov na rovnakom účte, pretože to komplikuje správu zásob.

  2. Správa lotov:

  • Používajte zmysluplné štítky pre loty, najmä pre konkrétne transakcie, ako je daňovo-stratový zber alebo zamestnanecké akciové granty.

    Assets:Invest:STOCK  10 STOCK {100.00 USD, "tax-loss-harvest-2024"}
  • Dokumentujte svoje obchody komentármi. Vďaka tomu bude vaša hlavná kniha neskôr ľahšie čitateľná a pochopiteľná.

    Assets:Invest:STOCK  -10 STOCK {100.00 USD} @ 110.00 USD ; Zisk: 10%
  1. Ladenie: Ak sa stretnete s chybami alebo neočakávaným správaním, Beancount poskytuje nástroje na kontrolu stavu vašich zásob.
  • Skontrolovať stav zásob: Nástroj bean-doctor vám môže ukázať presný stav všetkých zásob v akomkoľvek bode vášho súboru.

    Nahraďte <LINENO> číslom riadku tesne po transakcii, aby ste videli jej účinok.

  • Overiť párovanie lotov: Nástroj bean-check validuje celý váš súbor. Zachytí všetky chyby účtovania, ako napríklad nejednoznačné zhody lotov v režime STRICT.