Preskočiť na hlavný obsah

44 príspevkov označené s "účtovníctvo"

Zobraziť všetky značky

Kúzlo účtovníctva v obyčajnom texte s Beancount

· Čítanie na 5 minút
Mike Thrift
Mike Thrift
Marketing Manager

Objavte kúzlo účtovníctva v obyčajnom texte s Beancount

Banner Beancount.io

Úvod

2023-04-18-úvod-do-beancount

Vitajte vo svete, kde účtovníctvo už nie je náročnou úlohou. Dnes vám predstavujeme Beancount, výkonný, flexibilný a intuitívny nástroj na účtovníctvo v obyčajnom texte. Beancount vám umožňuje prevziať kontrolu nad vašimi financiami tým, že poskytuje transparentný a priamy prístup k správe vašich peňazí.

V tomto komplexnom sprievodcovi sa ponoríme do základov Beancountu, vysvetlíme jeho kľúčové koncepty a prevedieme vás jeho jednoduchými, no výkonnými funkciami. Na konci tohto blogu budete mať pevné pochopenie Beancountu a budete pripravení začať ho používať na organizovanie a analýzu vášho finančného života.

Čo je Beancount?

Beancount je open-source účtovný systém v obyčajnom texte, ktorý vytvoril Martin Blais. Inšpirovaný systémom Ledger od Johna Wiegleyho, Beancount si kladie za cieľ poskytnúť robustnú a spoľahlivú metódu na správu osobných a malých podnikových financií pomocou súborov v obyčajnom texte. S Beancountom môžete ľahko sledovať svoje príjmy, výdavky, investície a oveľa viac.

Prečo Beancount?

Účtovníctvo v obyčajnom texte ponúka niekoľko výhod oproti tradičným účtovným systémom založeným na tabuľkách alebo softvéri:

  • Transparentnosť: Súbory Beancount sú čitateľné pre človeka, čo uľahčuje pochopenie a audit vašich finančných dát.
  • Flexibilita: Beancount možno ľahko prispôsobiť vašim špecifickým potrebám a na správu finančných dát môžete použiť svoj obľúbený textový editor a systém na správu verzií.
  • Prenosnosť: K vašim finančným dátam je možné pristupovať na akomkoľvek zariadení a je ľahké ich prenášať medzi systémami alebo zdieľať s ostatnými.
  • Odolnosť voči budúcnosti: Súbory v obyčajnom texte sú univerzálne kompatibilné, čo zaručuje, že vaše finančné dáta zostanú prístupné, aj keď sa technológia vyvíja.

Kľúčové koncepty Beancountu

Pre efektívne používanie Beancountu je kľúčové pochopiť jeho základné koncepty:

  • Transakcie: Finančné udalosti, ako sú príjmy, výdavky alebo prevody medzi účtami, sa zaznamenávajú ako transakcie.
  • Účty: Transakcie zahŕňajú jeden alebo viac účtov, ako sú aktíva, pasíva, príjmy alebo výdavky.
  • Podvojné účtovníctvo: Beancount vynucuje podvojné účtovníctvo, čím zaisťuje, že každá transakcia má vyrovnané debety a kredity.
  • Direktívy: Beancount používa súbor direktív na definovanie transakcií, otvárania účtov a iných finančných udalostí.

Začíname s Beancountom

Ak chcete začať používať Beancount, postupujte podľa týchto jednoduchých krokov:

  • Nainštalujte Beancount: Nainštalujte Beancount na váš systém pomocou poskytnutých inštalačných pokynov pre váš operačný systém.
  • Vytvorte si súbor Beancount: Vytvorte nový súbor v obyčajnom texte s príponou .beancount (napr. moje_financie.beancount).
  • Definujte si účty: Použite direktívu "open" na definovanie účtov, ktoré budete používať vo svojich transakciách.
  • Zaznamenajte transakcie: Použite direktívu "txn" na zaznamenanie vašich finančných transakcií.

Alebo sa jednoducho zaregistrujte na https://beancount.io. Tu sú niektoré príklady účtovníctva v obyčajnom texte -

Príklad 1: Základná transakcia

2023-04-01 open Assets:Checking
2023-04-01 open Expenses:Groceries

2023-04-10 txn "Grocery Store" "Buying groceries"
Assets:Checking -50.00 USD
Expenses:Groceries 50.00 USD

V tomto príklade otvárame dva účty, Assets:Checking a Expenses:Groceries. Dňa 10. apríla 2023 zaznamenávame transakciu za nákup potravín v hodnote 50 USD. Transakcia znižuje zostatok účtu Assets:Checking o 50 USD (debet) a zvyšuje zostatok účtu Expenses:Groceries o 50 USD (kredit).

Príklad 2: Transakcia príjmov a výdavkov

2023-04-01 open Assets:Checking
2023-04-01 open Income:Salary
2023-04-01 open Expenses:Rent

2023-04-05 txn "Employer" "Salary payment"
Assets:Checking 2000.00 USD
Income:Salary -2000.00 USD

2023-04-06 txn "Landlord" "Monthly rent payment"
Assets:Checking -1000.00 USD
Expenses:Rent 1000.00 USD

V tomto príklade otvárame tri účty: Assets:Checking, Income:Salary a Expenses:Rent. Dňa 5. apríla 2023 zaznamenávame transakciu platby mzdy vo výške 2000 USD. Transakcia zvyšuje zostatok účtu Assets:Checking o 2000 USD (kredit) a znižuje zostatok účtu Income:Salary o 2000 USD (debet). Dňa 6. apríla 2023 zaznamenávame transakciu platby nájomného vo výške 1000 USD. Transakcia znižuje zostatok účtu Assets:Checking o 1000 USD (debet) a zvyšuje zostatok účtu Expenses:Rent o 1000 USD (kredit).

Príklad 3: Prevod medzi účtami

2023-04-01 open Assets:Checking
2023-04-01 open Assets:Savings

2023-04-15 txn "Bank" "Transfer from Checking to Savings"
Assets:Checking -500.00 USD
Assets:Savings 500.00 USD

V tomto príklade otvárame dva účty: Assets:Checking a Assets:Savings. Dňa 15. apríla 2023 zaznamenávame transakciu na prevod 500 USD z bežného účtu na sporiaci účet. Transakcia znižuje zostatok účtu Assets:Checking o 500 USD (debet) a zvyšuje zostatok účtu Assets:Savings o 500 USD (kredit).

Tieto príklady ilustrujú základné koncepty systému podvojného účtovníctva Beancountu. Správnym zaznamenávaním transakcií môžu používatelia udržiavať presné záznamy o svojich finančných aktivitách a generovať správy na získanie prehľadu o svojej finančnej situácii.

Generovanie správ a analýza dát

Beancount prichádza so súborom výkonných nástrojov na generovanie finančných správ, vrátane súvah, výkazov ziskov a strát a ďalších. Môžete tiež použiť Fava, webové používateľské rozhranie pre Beancount, na vizualizáciu a interakciu s vašimi finančnými dátami. https://beancount.io je postavené na Fave s licenciou MIT.

Záver

Prijmite silu a jednoduchosť účtovníctva v obyčajnom texte s Beancountom. Pochopením jeho kľúčových konceptov a dodržiavaním krokov uvedených v tomto sprievodcovi budete na dobrej ceste k ľahkej a presnej správe vašich osobných alebo malých podnikových financií. Keď sa s Beancountom zoznámite, môžete preskúmať pokročilé funkcie a prispôsobenia, aby ste systém prispôsobili svojim jedinečným potrebám.

Či už chcete sledovať svoje výdavky, plánovať do budúcnosti alebo získať prehľad o svojich finančných návykoch, Beancount ponúka flexibilitu a transparentnosť potrebnú na dosiahnutie vašich cieľov. Vďaka svojmu užívateľsky prívetivému prístupu má Beancount potenciál revolučne zmeniť spôsob, akým

Vylepšenie vašej skúsenosti s Beancount pomocou vlastných odkazov a dotazov

· Čítanie na 3 minúty
Mike Thrift
Mike Thrift
Marketing Manager

Beancount, systém podvojného účtovníctva obľúbený medzi vývojármi aj finančnými nadšencami, je silný vo svojej jednoduchosti. Ale pre tých, ktorí chcú väčšiu kontrolu a rýchlejšiu navigáciu v rámci Fava, webového rozhrania Beancount, môžu vlastné odkazy v bočnom paneli a SQL dotazy posunúť váš pracovný postup na vyššiu úroveň.

V tomto sprievodcovi vám ukážeme, ako:

  • Pridať odkazy pre rýchly prístup do bočného panela Fava
  • Používať SQL dotazy pre pokročilé filtrovanie a analýzu
  • Prispôsobiť si pracovný postup pre mesačné prehľady alebo detekciu anomálií

Prečo prispôsobiť Fava?

Fava je už teraz krásne rozhranie na prezeranie vašej účtovnej knihy Beancount, ale ako sa váš denník rozrastá, rastie aj potreba lepších skratiek a inteligentnejších dotazov.

Problémy, ktoré to rieši:

  • Opakované prechádzanie časovými rozsahmi
  • Filtrovanie transakcií naprieč vnorenými účtami
  • Rýchlejšie odhaľovanie záporných zostatkov alebo anomálií

✨ Vlastné odkazy v bočnom paneli

Začnime zlepšovaním vášho každodenného pracovného postupu pomocou jednoduchých skratiek v bočnom paneli. Tieto odkazy sa zobrazujú v ľavom bočnom paneli Fava a môžu vás priamo preniesť na filtrované zobrazenia, ako sú transakcie tohto mesiaca alebo príjmy z minulého mesiaca.

Pridajte tieto riadky do vášho súboru Beancount:

2021-01-01 custom "fava-sidebar-link" "Current Month" "/jump?time=month"
2021-01-01 custom "fava-sidebar-link" "Last Month" "/jump?time=month-1"
2021-01-01 custom "fava-sidebar-link" "Clear All" "/jump?account=&time=&filter="

Čo robia:

  • Aktuálny mesiac: Otvorí zobrazenie transakcií filtrované na aktuálny mesiac.
  • Minulý mesiac: Okamžite prejde na predchádzajúci mesiac – skvelé pre mesačné uzávierky.
  • Vymazať všetko: Resetuje filtre a znova zobrazí všetky záznamy.

Tieto skratky eliminujú manuálne zadávanie času a robia vašu skúsenosť s Fava plynulejšou a personalizovanejšou.

🔍 Vlastné SQL dotazy

Pre hlbší prehľad je SQL rozhranie Fava neuveriteľne výkonné. Tu je dotaz, ktorý nájde všetky záporné zostatky na účtoch, ktoré zodpovedajú určitému vzoru – ideálne na označenie neobvyklých alebo problematických transakcií.

SELECT account, units(sum(position)), sum(position)
WHERE number(units(position)) < 0
AND account ~ '.*:BCM:.*'
AND date >= DATE(2021,12,9)
AND date < DATE(2022,1,9)

Rozbor:

  • account ~ '.*:BCM:.*': Filtruje účty obsahujúce :BCM: v ich názve.
  • number(units(position)) < 0: Označuje záporné zostatky (napr. prečerpané rozpočty).
  • Filtre dátumu zúžia výsledok na konkrétne 1-mesačné obdobie.

Prípady použitia:

  • Odhalenie chýb, ako sú duplicitné výdavky alebo nesprávne zaúčtovania
  • Audit konkrétneho dodávateľa alebo kategórie
  • Rýchle získanie použiteľných poznatkov pre rozpočtovanie

🛠 Profesionálny tip: Kombinujte odkazy + dotazy

Hoci Fava neumožňuje priame odkazy na vlastné dotazy, môžete si vytvoriť zvyk mesačného prehľadu tak, že:

  • Použijete odkaz „Aktuálny mesiac“ na začatie vášho prehľadu
  • Otvoríte kartu uložených dotazov v inom paneli
  • Prehliadate oboje súčasne – najprv filtrujte, potom sa ponorte hlbšie

Táto kombinácia vám pomôže zachytiť anomálie skôr, než sa rozvinú a zabezpečiť, aby vaša účtovná kniha zostala čistá.

Záverečné myšlienky

Beancount je zámerne minimalistický, ale malé vylepšenia, ako sú tieto, prinášajú obrovské zisky v efektivite. Či už kontrolujete svoj rozpočet, odstraňujete chyby v podivných zostatkoch, alebo jednoducho šetríte kliknutia, vlastné odkazy a SQL dotazy vám poskytnú viac sily a menej trenia.

Bonus: Ak používate vlastné prehľady Fava, môžete si dokonca vytvoriť kompletné panely prispôsobené vašim rituálom osobného financovania.

Pripravení prevziať kontrolu?

Začnite s malým krokom: pridajte odkaz „Aktuálny mesiac“. Potom si vytvorte vlastné dotazy. Vaše budúce ja vám poďakuje.

Chcete viac takýchto tipov? Prihláste sa na odber nášho newslettera alebo preskúmajte ďalšie recepty Beancount na Beancount.io.

Predpovedanie budúcich transakcií v Beancounte

· Čítanie na jednu minútu
Mike Thrift
Mike Thrift
Marketing Manager

Existuje plugin pre beancount na predpovedanie budúcich opakujúcich sa transakcií. Ako ho použiť v beancount.io? Vložte nasledujúci obsah do vášho súboru účtovnej knihy.

; import the plugin
plugin "fava.plugins.forecast"

; add a monthly HOA fee
2022-05-30 # "HOA fee [MONTHLY]"
Expenses:Hoa 1024.00 USD
Assets:Checking -1024.00 USD

Snímka obrazovky pluginu na predpovedanie

2022-05-30-plugin-na-predpovedanie

A potom uvidíte predpoveď v grafe čistého zisku.

Plugin na predpovedanie

Značka [MONTHLY] vyššie znamená, že sa bude opakovať navždy. Ak máte viac podmienok na uplatnenie, skúste [MONTHLY UNTIL 2022-06-01], [MONTHLY REPEAT 5 TIMES], [YEARLY REPEAT 5 TIMES], alebo [WEEKLY SKIP 1 TIME REPEAT 5 TIMES].

Tvorba a sledovanie faktúr pomocou Beancountu

· Čítanie na 5 minút
Mike Thrift
Mike Thrift
Marketing Manager

Textový template, opakovateľný workflow a jeden dopyt na otázku “Kto mi ešte dlhuje?”


2022-02-12-crafting-tracking-invoices-with-beancount

Fakturácia sa môže javiť ako otravná povinnosť, uviaznutá medzi prácou, ktorú ste dokončili, a platbou, na ktorú čakáte. Ale dobrý proces fakturácie je chrbticou zdravého cash flow. Plní dvojitú úlohu: jasne informuje vašich klientov, čo a kedy dlhujú, a zároveň poskytuje vášmu účtovníckemu systému nespochybniteľné fakty, ktoré potrebuje.

Zatiaľ čo špecializované SaaS aplikácie dokážu posielať elegantné, automatizované PDF súbory, často sú spojené s mesačnými poplatkami a uzamknú vaše dáta v proprietárnom sile. Ľahký, textový prístup pomocou Beancountu ponúka silnú alternatívu. Každú faktúru môžete premeniť na jasný súbor účtovných zápisov, čo vám poskytne všetky výhody verziovania, výkonných metadát a okamžitého dopytovania – bez nutnosti predplatného.


Minimálna životaschopná faktúra (Polia, ktoré by ste nikdy nemali vynechať)

Predtým, ako sa dotknete svojej účtovnej knihy, potrebujete profesionálnu faktúru. Formát môže byť jednoduchý, ale obsah musí byť presný. Tieto polia, prevzaté z overenej praxe malých podnikov, sú nevyhnutné.

  • Údaje o predávajúcom: Názov vašej firmy a fyzická adresa.
  • Údaje o klientovi: Meno vášho klienta a (ideálne) jeho adresa.
  • Číslo faktúry: Jedinečné, sekvenčné ID, ktoré sa nikdy nepoužíva opakovane. FA-045 nasleduje po FA-044.
  • Dátum vystavenia a splatnosti: Jasne uveďte, kedy bola faktúra vystavená a kedy sa očakáva platba.
  • Položky faktúry: Jasný popis služieb alebo produktov spolu s množstvom, sadzbou a celkovou sumou za položku.
  • Medzisúčet, daň a celková suma: Ukážte výpočet, aby ho klient mohol ľahko sledovať.
  • Voliteľné poznámky: Miesto na poďakovanie, pokyny na prevod alebo číslo objednávky poskytnuté klientom.

Aby sme vám uľahčili začiatok, vytvorili sme súbor šablón pripravených na úpravu, ktoré obsahujú všetky tieto polia. Verzie tabuliek dokonca vopred vypočítajú celkové sumy za vás.

Stiahnite si naše šablóny tu: beancount.io/invoice‑templates (K dispozícii vo formátoch Google Docs, Word, Sheets, Excel a PDF)


Zaznamenanie faktúry vo vašej účtovnej knihe

Keď pošlete klientovi PDF faktúry, musíte ju zaznamenať v Beancounte. Toto je kľúčový krok, ktorý rozpoznáva príjmy v čase, keď sú zarobené, nie až v čase, keď sú zaplatené. Proces zahŕňa dve odlišné transakcie.

1. Pri vystavení faktúry:

Vytvoríte transakciu, ktorá presunie celkovú sumu z vášho účtu Príjmy na účet Aktíva:Pohľadávky. Týmto sa vo vašich záznamoch vytvorí digitálna pohľadávka.

; 2025‑07‑21 Faktúra #045  Web design sprint pre Acme Corp.
2025-07-21 * "Acme Corp" "FA-045 Web design sprint"
Aktíva:Pohľadávky 3500.00 USD ; splatnosť:2025-08-04
Príjmy:Dizajn:Web
invoice_id: "FA-045"
contact_email: "ap@acme.example"
link: "docs/invoices/2025-07-21_Acme_FA-045.pdf"

Tu zaúčtujete Pohľadávky na strane dlhu a Príjmy na strane mádať. Všimnite si bohaté metadáta: dátum splatnosti, jedinečné invoice_id a dokonca priamy link: na PDF, ktoré ste odoslali.

2. Pri platbe od klienta:

Keď peniaze dorazia na váš bankový účet, zaznamenáte druhú transakciu na "uzavretie" pohľadávky. Týmto sa zostatok presunie z Pohľadávky na váš bežný účet.

2025-08-01 * "Acme Corp" "Platba FA-045"
Aktíva:Banka:BežnýÚčet 3500.00 USD
Aktíva:Pohľadávky
invoice_id: "FA-045"

Zostatok pre FA-045 v Aktíva:Pohľadávky je teraz nula a vaše záznamy sú perfektne vyrovnané.

Pripojte PDF: Kľúč metadát link: je obzvlášť výkonný pri použití s Favou, webovým rozhraním Beancountu. Fava zobrazí klikateľný odkaz priamo v zobrazení transakcie, takže zdrojový dokument je vždy len na jedno kliknutie. Tento workflow bol navrhnutý už v roku 2016 v požiadavke na funkciu (GitHub).


Jeden dopyt na zobrazenie všetkých otvorených faktúr

Takže, kto vám ešte dlhuje peniaze? S týmto systémom nemusíte prehľadávať e-maily ani tabuľky. Potrebujete len jeden jednoduchý dopyt.

Uložte nasledujúci text ako súbor s názvom otvorene-faktury.sql:

SELECT
meta('invoice_id') AS id,
payee,
narration,
date,
number(balance) AS outstanding
WHERE
account = "Aktíva:Pohľadávky"
AND balance != 0
ORDER BY
date;

Teraz ho spustite z príkazového riadku:

bean-query books.beancount otvorene-faktury.sql

Za niekoľko sekúnd získate prehľadný, aktuálny report všetkých neuhradených faktúr, zobrazujúci ID faktúry, klienta, dátum vystavenia a dlžnú sumu. Žiadny ďalší softvér nie je potrebný.


Automatizujte rutinnú prácu

Krása textového formátu spočíva v možnosti skriptovania. Môžete automatizovať zdĺhavé časti tohto workflow.

  • Šablóna + Pandoc = PDF: Udržujte svoju šablónu faktúry v Markdown. Malý Python skript môže vyplniť premenné (meno klienta, položky faktúry, číslo faktúry) a nástroj príkazového riadku Pandoc ho môže okamžite previesť na profesionálny PDF.
  • Git Pre-commit Hook: Ak ukladáte svoju účtovnú knihu v Gite, jednoduchý pre-commit hook môže spustiť kontroly pred uložením vašej práce. Môže overiť, či je každé nové invoice_id jedinečné, či sú transakčné zápisy vyrovnané na nulu a či súbor uvedený v metadátach link: skutočne existuje.
  • Cron Job: Nastavte si plánovanú úlohu (cron job) na spúšťanie vášho dopytu otvorene-faktury.sql každú noc a zasielanie súhrnu e-mailom. Každý deň začnete s presnou informáciou o tom, kto potrebuje priateľské upozornenie.

Realistické upozornenie

Beancount je účtovnícky nástroj, nie fakturačná služba. Nebude automaticky posielať klientom pripomienky platieb ani spracovávať ich platby kreditnou kartou. Workflow je nasledovný: vytvoríte a odošlete faktúru pomocou vami zvolenej metódy (napríklad pomocou vyššie uvedených šablón) a potom zaúčtujete účtovné zápisy vo svojej účtovnej knihe.

Pre väčšinu freelancerov a malých firiem je tento manuálny krok malou cenou za nepriestrelný, auditovateľný a bezplatný účtovnícky systém, ktorý úplne vlastníte a kontrolujete (beancount.io).


Ďalšie kroky

Ste pripravení prevziať kontrolu nad svojou fakturáciou? Tu je návod, ako začať.

  1. Stiahnite si šablónu a použite ju na vytvorenie svojej ďalšej reálnej faktúry. Uistite sa, že používate sekvenčné číslo faktúry.
  2. Ukladajte odoslané PDF súbory do vydeleného priečinka, napríklad docs/invoices/, a použite kľúč metadát link: vo svojej Beancount transakcii na ich odkazovanie.
  3. Uložte dopyt otvorene-faktury.sql a zaraďte jeho spúšťanie do svojho týždenného finančného prehľadu.

Textové účtovníctvo neznamená vzdanie sa prehľadnosti alebo kontroly – znamená to len, že databáza je prehľadávateľná pomocou grep. S jednoduchou šablónou a vyššie uvedenými úryvkami kódu budete platení rýchlejšie a zároveň si udržíte bezchybné záznamy.

Úpravy zápisov v Beancount: Vaše mesačné doladenie

· Čítanie na 4 minúty
Mike Thrift
Mike Thrift
Marketing Manager

Účtovníctvo nekončí, keď posledný predaj dorazí do banky. Aby ste získali skutočný obraz o zdraví vášho podnikania, musíte vykonať mesačné doladenie. Pri každej uzávierke obdobia budete robiť úpravy zápisov – úpravy denníka, ktoré správne umiestnia výnosy a náklady do správneho časového okna a udržia vašu súvahu pravdivú.

V jednoduchej textovej účtovnej knihe Beancount sú tieto kľúčové zápisy transparentné, verziované a ľahko auditovateľné, čím sa zdĺhavá úloha mení na jasný a opakovateľný proces.

2022-01-25-adjusting-entries-in-beancount-your-month-end-tune-up


Prečo sú úpravy zápisov dôležité

Vykonávanie týchto úprav je základom pre zdravé účtovníctvo. Zaisťujú, že vaše finančné výkazy sú presné a spoľahlivé.

  • Presnosť časového rozlíšenia: Úpravy zápisov sú motorom účtovníctva v časovom rozlíšení. Presúvajú príjmy a náklady do obdobia, kedy boli skutočne zarobené alebo vynaložené, bez ohľadu na to, kedy došlo k pohybu hotovosti. To spĺňa základné zásady uznania výnosov a párovania, ktoré tvoria základ moderného účtovníctva (AccountingCoach.com).

  • Spoľahlivé KPI: Kľúčové ukazovatele výkonnosti sú len také dobré, ako sú dáta, na ktorých sú založené. Metriky ako hrubá marža, čistý zisk a prognózy cash flow hovoria pravdu až po správnom zaúčtovaní odložení, časového rozlíšenia a odhadov (Corporate Finance Institute).

  • Čistá audítorská stopa: Explicitné mesačné úpravy vytvárajú jasný záznam o vašom finančnom uvažovaní. To pomáha audítorom (a vášmu budúcemu ja) ľahko sledovať, čo sa zmenilo a prečo, čím sa buduje dôvera vo vaše čísla (Accountingverse).


Šesť bežných kategórií (s úryvkami Beancount)

Tu je šesť najbežnejších typov úprav zápisov s príkladmi, ako ich zaznamenať vo vašej účtovnej knihe Beancount. Všimnite si použitie metadát, ako napríklad adj:"časové rozlíšenie", aby ste tieto zápisy mohli neskôr ľahko nájsť a analyzovať.

1. Nárast pohľadávok

Toto je pre výnosy, ktoré ste zarobili, ale ešte ste ich nefakturovali alebo neobdržali platbu.

2025-07-31 * "Konzultácie—júlové hodiny"
Aktíva:Pohľadávky 12000.00 USD
Výnosy:Konzultácie
; adj:"časové rozlíšenie" obdobie:"júl-25"

2. Nárast záväzkov

Náklad, ktorý ste vynaložili, ale ešte ste ho nezaplatili, napríklad účet za energie, ktorý príde budúci mesiac.

2025-07-31 * "Advokát—júlový honorár"
Náklady:Právne 2500.00 USD
Záväzky:NeuhradenéZáväzky
; adj:"časové rozlíšenie"

3. Odložené (nezarobené) výnosy

Toto platí, keď vám klient zaplatí vopred. Časť týchto výnosov účtujete postupne, ako ich zarábate.

2025-07-31 * "Ročná predplatba SaaS (účtovanie 1/12)"
Záväzky:NezarobenéVýnosy 833.33 USD
Výnosy:SaaS
; adj:"odloženie"

4. Predplatené (odložené) náklady

Keď zaplatíte za náklad vopred (napríklad ročné poistenie), každý mesiac účtujete jeho časť.

2025-07-31 * "Poistenie—1 mes. náklad z predplatby"
Náklady:Poistenie 400.00 USD
Aktíva:PredplatenéPoistenie
; adj:"odloženie"

5. Odpisy a amortizácia

Tento zápis rozdeľuje náklady na dlhodobý majetok (ako počítač alebo vozidlo) počas jeho doby použiteľnosti.

2025-07-31 * "Odpisy Mac Studio"
Náklady:Odpisy 1250.00 USD
Aktíva:Počítače:Oprávky
; asset_id:"MAC-03" adj:"odhad"

6. Opravná položka k pochybným pohľadávkam

Odhad pohľadávok, ktoré neočakávate, že vyberiete, ktorý sa účtuje ako náklad na nedobytné pohľadávky.

2025-07-31 * "Opravná položka k nedobytným pohľadávkam (2% z pohľadávok)"
Náklady:NedobytnéPohľadávky 700.00 USD
Aktíva:OpravnáPoložkaKNedobytnýmPohľadávkam
; basis:"pohľadávky" rate:0.02 adj:"odhad"

Opakovateľný pracovný postup

Aby ste udržali svoju mesačnú uzávierku efektívnu a bezchybnú, prijmite konzistentný pracovný postup.

  • Použite samostatný súbor. Uchovávajte všetky úpravy za obdobie na jednom mieste, napríklad úpravy-2025-07.bean. Vo vašom hlavnom súbore účtovnej knihy použite direktívu include na jeho importovanie ako posledný. To zabezpečí, že úpravy sa použijú tesne pred vygenerovaním finálnych reportov.

  • Štandardizujte svoje metadáta. Vždy používajte konzistentné kľúče a hodnoty metadát, ako napríklad adj:"časové rozlíšenie|odloženie|odhad" a obdobie:"júl-25". To uľahčuje dopytovanie a kontrolu konkrétnych typov úprav.

  • Spustite predbežnú kontrolu. Pred potvrdením zmien v Gite spustite bean-check na súbore s úpravami, aby ste zachytili akékoľvek preklepy alebo nevyvážené zaúčtovania.

  • Vykonajte jednoriadkovú kontrolu správnosti. Tento dopyt potvrdzuje, že všetky vaše úpravy za obdobie sú vyvážené, čo vám dáva istotu, že ste nezaviedli chyby.

    bean-query main.bean "SELECT account, SUM(number) WHERE meta('adj') AND meta('obdobie') = 'júl-25' GROUP BY account"

Rýchle tipy na riešenie problémov 🤔

  • Zvyšuje sa váš zostatok Záväzky:NezarobenéVýnosy? Skontrolujte si míľniky zmluvy. Možno účtujete výnosy príliš pomaly v porovnaní s prácou, ktorú dodávate.

  • Je váš zostatok Aktíva:PredplatenéPoistenie záporný? Pravdepodobne ho účtujete rýchlejšie, ako umožňuje harmonogram majetku. Skontrolujte si svoj amortizačný harmonogram.

  • Zhoršuje sa váš DSO (Days Sales Outstanding) po časovom rozlíšení? Vaše časovo rozlíšené výnosy môžu maskovať základné problémy s inkasom. Spárujte tento KPI s prehľadom starnutia pohľadávok, aby ste identifikovali klientov, ktorí platia neskoro, skôr ako sa to stane problémom s cash flow.


Záverečné myšlienky

Úpravy zápisov sa môžu zdať zdĺhavé, ale ich hodnota sa stane krištáľovo jasnou, keď porovnáte svoje výkazy ziskov a strát "pred" a "po" – rozdiel je často významný. S Beancount sa tieto úpravy stanú malými, vyhľadávateľnými záplatami, ktoré môžete automatizovať a kontrolovať rovnako ako kód.

Vytvorte si zvyk mesačnej uzávierky a vaše čísla zostanú rovnako presné ako vaše inžinierstvo.

Príjemné vyvažovanie!

Revolúcia v správe osobných financií s Beancount.io

· Čítanie na 3 minúty
Mike Thrift
Mike Thrift
Marketing Manager

Používatelia Beancountu tradične používajú nástroje príkazového riadka alebo si sami hostujú servery s privátnymi sieťami, kde musia pracovať prostredníctvom počítača alebo všeobecného textového editora na mobilnom zariadení. Beancount.io znižuje komplikácie tým, že prináša open-source mobilné aplikácie pre Android a iOS a zabezpečený cloud, takže váš účtovný denník je teraz len pár ťuknutí od vášho odtlačku prsta.

Beancount je počítačový jazyk, ktorý umožňuje podvojné účtovníctvo v textových súboroch. Akonáhle definujete finančné transakcie v súbore, vygeneruje rôzne správy. Martin Blais, tvorca tohto jazyka, tvrdí, že účtovníctvo prostredníctvom príkazového riadka má mnoho výhod – je rýchle, prenosné, otvorené a prispôsobiteľné.

Dôrazne súhlasíme s týmto argumentom a zdieľame pocit posilnenia, ktorý prináša jazyk Beancount. A chceli sme urobiť viac – predstaviť túto technológiu viacerým ľuďom. To znamená, že musíme zlepšiť použiteľnosť a sprístupniť ju širšiemu publiku.

Okamžitý prístup k vášmu cloudovému účtovnému denníku Beancount kedykoľvek a kdekoľvek.

Nie každý je nadšenec príkazového riadka, a preto sme vytvorili Beancount.io – správcu osobných financií pre každého. Funguje to takto:

Pre náročnú prácu môžu používatelia Beancountu stále používať svoje počítače na úpravu alebo zobrazenie účtovného denníka prostredníctvom svojich prehliadačov navštevujúcich https://beancount.io alebo synchronizáciou s Dropboxom. Tým sa zachováva flexibilita nástrojov príkazového riadka a zároveň sa nestráca prístup k riešeniu založenému na cloude z viacerých zariadení.

Pre každodenné ľahké operácie, ako je okamžité pridanie záznamu, môžu používatelia Beancountu použiť mobilnú aplikáciu na pripojenie k zabezpečenému cloudu.

Mike Thrift, backend inžinier pracujúci na tomto produkte, hovorí:

Kedysi som si každý deň nastavoval pripomienku, aby som si otvoril notebook a zadal záznamy do svojich Beancount súborov. Teraz, s Beancount.io, je pre mňa oveľa jednoduchšie upraviť si účtovný denník kedykoľvek potrebujem, dokonca aj keď som vonku a niečo nakupujem v obchode.

Zhi Li, softvérový inžinier z Facebooku, nám hovorí:

Všetky svoje Beancount súbory som migroval na Beancount.io a teraz to funguje perfektne pre moje každodenné použitie. Zaplatil som za Pro funkcie, ako je automatické zálohovanie dát, ale cítim, že by ste mohli urobiť viac pre zlepšenie služby.

Môžete sa zaregistrovať teraz na https://beancount.io/sign-up/ alebo si stiahnuť iOS alebo Android aplikáciu. Zjednodušili sme registráciu, aby sme od vás zhromaždili čo najmenej informácií na spustenie služby. Potom získate prednastavený prázdny účtovný denník, ktorý je pripravený na okamžité pridanie záznamu.

Často kladené otázky

Predá beancount.io moje údaje z účtovného denníka tretej strane?

  • Nie. Zaväzujeme sa udržiavať vaše údaje v bezpečí a súkromí a nikdy nepredáme vaše údaje z účtovného denníka.

Sú moje údaje zabezpečené?

  • Áno. Váš e-mail a účtovný denník chránime pomocou AES256, vaše heslo pomocou BCrypt a vaše sieťové požiadavky pomocou SSL.

Sú moje údaje z účtovného denníka šifrované end-to-end?

  • Nie. Z dôvodu technických obmedzení musíme vaše údaje stále dešifrovať do pamäte pri indexovaní súboru účtovného denníka na produkčných serveroch. Preto obmedzujeme priamy prístup akéhokoľvek člena nášho tímu. Bohužiaľ, nemôžeme to urobiť v Intel SGX ani v žiadnom bezpečnostnom trezore kvôli vysokým nákladom.

Je to spoľahlivá služba, ktorej môžem dôverovať v nasledujúcich rokoch?

  • Áno. Beancount.io sme pôvodne spustili 4. júla 2019 a službu prevádzkujeme bezpečne a spoľahlivo už viac ako dva roky. Preto nemáme dôvod nepokračovať v poskytovaní služby aj v budúcnosti.

Môžem požiadať o nové funkcie a sponzorovať projekt?

Manuál pre migráciu z QuickBooks do Beancount

· Čítanie na 29 minút
Mike Thrift
Mike Thrift
Marketing Manager

Fáza 1: Exportovanie údajov z QuickBooks

Migrácia údajov za päť rokov sa začína exportovaním všetkých záznamov z QuickBooks v použiteľnom formáte. QuickBooks Desktop a QuickBooks Online majú rôzne možnosti exportu:

2021-12-01-from-quickbooks-to-plain-text-a-migration-playbook

1.1 QuickBooks Desktop – Možnosti exportu

IIF (Intuit Interchange Format): QuickBooks Desktop dokáže exportovať zoznamy (ako účtovná osnova, zákazníci, dodávatelia) do textových súborov .IIF. V QuickBooks Desktop prejdite na File → Utilities → Export → Lists to IIF, potom vyberte zoznamy, ktoré potrebujete (napr. Chart of Accounts, Customers, Vendors). Týmto získate textový súbor, ktorý obsahuje názvy účtov, typy a údaje zo zoznamov. IIF je proprietárny, ale jednoduchý textový formát, ktorý sa pomerne ľahko spracováva. Použite ho na zachytenie vašej účtovnej osnovy a zoznamov kontaktov ako referencie v Beancount.

Hlavná kniha/Denník cez CSV: Pre transakčné údaje QuickBooks Desktop neposkytuje export všetkých údajov jedným kliknutím, ale môžete použiť reporty. Odporúčanou metódou je exportovať hlavný denník (všetky transakcie) za požadované časové obdobie. V QuickBooks Desktop otvorte Reports → Accountant & Taxes → Journal, nastavte dátumy od najskoršej transakcie po dnešok a kliknite na Export → Excel. Výsledok uložte ako CSV po odstránení všetkých hlavičiek/pätičiek reportu a prázdnych stĺpcov. Uistite sa, že numerické údaje sú čisté: zahrňte centy (napr. 3.00, nie 3), žiadne nadbytočné úvodzovky a žiadne symboly meny alebo dvojité záporné znamienka v CSV. CSV by mal mať stĺpce ako Date, Trans #, Name, Account, Memo, Debit, Credit, Balance (alebo jeden stĺpec Amount v závislosti od formátu reportu).

Tip: QuickBooks Desktop 2015+ môže tiež exportovať transakcie cez dialógové okno Find. Použite Edit → Find → Advanced, nastavte časový rozsah na päť rokov a potom exportujte výsledky do CSV. Upozornenie: Niektoré verzie obmedzujú export na 32 768 riadkov. Ak máte veľmi veľké dáta, exportujte ich rok po roku (alebo v menších častiach), aby ste sa vyhli skráteniu, a neskôr ich spojte. Uistite sa, že sa časové rozsahy neprekrývajú, aby ste predišli duplikátom.

Iné formáty (QBO/QFX/QIF): QuickBooks Desktop môže importovať bankové transakcie cez súbory .QBO (Web Connect) alebo .QFX/.OFX, ale pre export z QuickBooks tieto formáty nie sú typické. Ak je vaším cieľom extrahovať iba bankové transakcie, možno ich už máte vo formáte QBO/OFX od vašej banky. Avšak pre úplný export hlavnej knihy sa držte IIF a CSV. QuickBooks Desktop nemôže priamo exportovať do QIF (Quicken Interchange Format) bez nástrojov tretích strán. Ak nájdete spôsob, ako získať QIF, všimnite si, že niektoré nástroje pre hlavnú knihu (starší Ledger 2.x) dokázali čítať QIF, ale v našom postupe je lepšie pracovať s CSV.

1.2 QuickBooks Online – Možnosti exportu

Vstavaný export do Excel/CSV: QuickBooks Online (QBO) poskytuje nástroj Export Data. Prejdite na Settings ⚙ → Tools → Export Data. V dialógovom okne exportu použite kartu Reports na výber údajov (napr. General Ledger alebo Transaction List) a kartu Lists pre zoznamy (účtovná osnova atď.), vyberte All dates a exportujte do Excelu. QuickBooks Online stiahne ZIP súbor obsahujúci viacero Excel súborov pre vybrané reporty a zoznamy (napríklad Profit and Loss, Balance Sheet, General Ledger, Customers, Vendors, Chart of Accounts atď.). Tieto Excel súbory potom môžete previesť na CSV na ďalšie spracovanie.

Report s detailmi transakcií: Ak predvolený export QBO neobsahuje jeden súbor s hlavnou knihou, môžete manuálne spustiť podrobný report:

  1. Prejdite na Reports a nájdite Transaction Detail by Account (alebo General Ledger v niektorých verziách QBO).
  2. Nastavte Report period na celý päťročný rozsah.
  3. V možnostiach reportu nastavte Group by = None (aby sa zobrazili jednotlivé transakcie bez medzisúčtov).
  4. Prispôsobte stĺpce tak, aby obsahovali aspoň: Date, Transaction Type, Number, Name (Payee/Customer), Memo/Description, Account, Debit, Credit (alebo jeden stĺpec Amount) a Balance. Zahrňte aj triedu alebo lokalitu, ak sa používajú.
  5. Spustite report a potom Export to Excel.

Týmto získate podrobnú hlavnú knihu všetkých transakcií. Uložte ju ako CSV. Každý riadok bude predstavovať jeden rozpis (zápis) transakcie. Neskôr budete musieť zoskupiť riadky podľa transakcií na konverziu.

Účtovná osnova a ďalšie zoznamy: QuickBooks Online môže exportovať účtovnú osnovu cez Accounting → Chart of Accounts → Batch Actions → Export to Excel. Urobte to, aby ste získali názvy a typy účtov. Podobne exportujte zákazníkov, dodávateľov atď., ak chcete preniesť názvy pre metadáta.

QuickBooks Online API (voliteľné): Pre programátorský prístup Intuit poskytuje REST API pre údaje QBO. Pokročilí používatelia si môžu vytvoriť aplikáciu QuickBooks Online (vyžaduje si vývojársky účet) a použiť API na získanie údajov vo formáte JSON. Napríklad, môžete sa dotazovať na koncový bod Account pre účtovnú osnovu a na koncové body reportov JournalEntry alebo GeneralLedger pre transakcie. Existujú Python SDK ako python-quickbooks, ktoré obaľujú API. Avšak použitie API zahŕňa OAuth autentifikáciu a je pre jednorazovú migráciu zbytočne zložité, pokiaľ nepreferujete automatizáciu. Pre väčšinu prípadov je manuálny export do CSV/Excelu jednoduchší a menej náchylný na chyby.


Fáza 2: Transformácia a čistenie údajov

Keď máte údaje z QuickBooks vo formáte CSV (a/alebo IIF), ďalším krokom je ich konverzia do formátu textového denníka Beancount. To zahŕňa spracovanie exportov, mapovanie účtov QuickBooks na účtovnú osnovu Beancount a formátovanie transakcií v syntaxi Beancount.

2.1 Spracovanie exportov z QuickBooks pomocou Pythonu

Použitie Pythonu zabezpečí presnosť a reprodukovateľnosť transformácie. Načrtneme skripty pre dve kľúčové úlohy: importovanie účtovnej osnovy a konverziu transakcií.

Import a mapovanie účtov: Je kľúčové nastaviť si účty v Beancount pred pridaním transakcií. Účty v QuickBooks majú typy (Bank, Accounts Receivable, Expense atď.), ktoré zmapujeme na hierarchiu Beancount (Assets, Liabilities, Income, Expenses atď.). Môžeme použiť napríklad takéto mapovanie:

# Mapovanie typu účtu QuickBooks na koreňovú kategóriu Beancount
AccountTypeMap = {
'BANK': 'Assets',
'CCARD': 'Liabilities',
'AR': 'Assets', # Pohľadávky ako aktíva
'AP': 'Liabilities', # Záväzky ako pasíva
'FIXASSET': 'Assets',
'OASSET': 'Assets', # Ostatné aktíva
'OCASSET': 'Assets', # Ostatné bežné aktíva
'LTLIAB': 'Liabilities', # Dlhodobé záväzky
'OCLIAB': 'Liabilities', # Ostatné bežné záväzky
'EQUITY': 'Equity',
'INC': 'Income',
'EXP': 'Expenses',
'EXINC': 'Income', # Ostatné výnosy
'EXEXP': 'Expenses', # Ostatné náklady
}

Použitím exportu IIF z QuickBooks Desktop alebo CSV so zoznamom účtov z QBO získame názov a typ každého účtu. Potom:

  • Vytvorte názvy účtov Beancount: QuickBooks niekedy používa dvojbodky (:) v názvoch účtov na označenie podúčtov (napr. „Current Assets:Checking). Beancount používa rovnakú notáciu s dvojbodkou pre hierarchiu. Často môžete názov použiť priamo. Ak názvy účtov v QuickBooks nezačínajú kategóriou, pridajte na začiatok zmapovanú kategóriu. Napríklad účet QuickBooks typu BANK s názvom "Checking" sa v Beancount stane Assets:Checking. Účet EXP (náklady) "Meals" sa stane Expenses:Meals, atď.

  • Zabezpečte platné pomenovanie: Odstráňte alebo nahraďte všetky znaky, ktoré by mohli Beancount zmiasť. QuickBooks povoľuje znaky ako & alebo / v názvoch. Je rozumné odstrániť alebo nahradiť špeciálne znaky (napr. nahradiť & za and, odstrániť lomky alebo medzery). Taktiež zabezpečte, aby boli všetky názvy účtov po transformácii jedinečné – QuickBooks mohol povoliť rovnaký názov podúčtu pod rôznymi nadradenými účtami, čo je v poriadku, ale v Beancount musí byť plný názov (s nadradenými účtami) jedinečný. Ak je to potrebné, premenujte alebo pridajte kvalifikátor na ich rozlíšenie.

  • Výstup otvorení účtov: V Beancount musí byť každý použitý účet otvorený pomocou direktívy open. Môžete si zvoliť dátum pred prvou transakciou (napr. ak migrujete údaje z rokov 2019–2023, použite 2018-12-31 alebo ešte skorší dátum pre všetky otvorenia). Skript zapíše riadky ako: 2018-12-31 open Assets:Checking USD 2018-12-31 open Expenses:Meals USD pre každý účet (za predpokladu, že USD je hlavná mena). Použite príslušnú menu pre každý účet (pozri poznámky o viacerých menách nižšie).

Konverzia transakcií: Hlavnou výzvou je konverzia exportu transakcií z QuickBooks (CSV) na položky Beancount. Každá transakcia v QuickBooks (faktúra, účet, šek, denníkový zápis atď.) môže mať viacero rozpisov (riadkov), ktoré musia byť zoskupené do jednej transakcie Beancount.

Použijeme čítačku CSV v Pythone na iteráciu cez exportované riadky a akumuláciu rozpisov:

import csv
from collections import defaultdict

# Načítanie všetkých riadkov z CSV denníka QuickBooks
rows = []
with open('quickbooks_exported_journal.csv', 'r', encoding='utf-8') as f:
reader = csv.DictReader(f)
for line in reader:
rows.append(line)

# Zoskupenie riadkov podľa transakcie (za predpokladu, že 'Trans #' identifikuje transakcie)
transactions = defaultdict(list)
for line in rows:
trans_id = line.get('Trans #') or line.get('Transaction ID') or line.get('Num')
transactions[trans_id].append(line)

Teraz je transactions slovník, kde každý kľúč je ID/číslo transakcie a hodnota je zoznam rozpisov pre túto transakciu. Ďalej prevedieme každú skupinu do formátu Beancount:

def format_date(qb_date):
# Dátumy v QuickBooks môžu byť vo formáte "12/31/2019"
m, d, y = qb_date.split('/')
return f"{y}-{int(m):02d}-{int(d):02d}"

output_lines = []
for trans_id, splits in transactions.items():
# Zoradenie rozpisov podľa poradia riadkov, ak je to potrebné (zvyčajne sú už v poradí)
splits = sorted(splits, key=lambda x: x.get('Line') or 0)
first = splits[0]
date = format_date(first['Date'])
payee = first.get('Name', "").strip()
memo = first.get('Memo', "").strip()
# Hlavička transakcie
output_lines.append(f"{date} * \"{payee}\" \"{memo}\"")
if first.get('Num'): # zahrnutie referenčného čísla, ak je dostupné
output_lines.append(f" number: \"{first['Num']}\"")
# Prechádzanie každým rozpisom/zápisom
for split in splits:
acct_name = split['Account'].strip()
# Mapovanie názvu účtu QuickBooks na účet Beancount (pomocou predchádzajúceho mapovania)
beancount_acct = account_map.get(acct_name, acct_name)
# Určenie sumy so znamienkom:
amount = split.get('Amount') or ""
debit = split.get('Debit') or ""
credit = split.get('Credit') or ""
if amount:
# Niektoré exporty majú jeden stĺpec Amount (záporný pre kredity)
amt_str = amount
else:
# Ak sú samostatné stĺpce Debit/Credit
amt_str = debit if debit else f"-{credit}"
# Pre istotu odstránenie čiarok v číslach
amt_str = amt_str.replace(",", "")
# Pridanie meny
currency = split.get('Currency') or "USD"
amt_str = f"{amt_str} {currency}"
# Poznámka/popis pre rozpis
line_memo = split.get('Memo', "").strip()
comment = f" ; {line_memo}" if line_memo else ""
output_lines.append(f" {beancount_acct:<40} {amt_str}{comment}")
# Koniec transakcie – prázdny riadok
output_lines.append("")

Logika tohto skriptu robí nasledovné:

  • Formátuje dátum na YYYY-MM-DD pre Beancount.

  • Používa príjemcu (Name) a poznámku (Memo) pre popis transakcie. Napríklad: 2020-05-01 * "ACME Corp" "Platba faktúry" (Ak nie je uvedený príjemca, môžete použiť typ transakcie z QuickBooks alebo nechať príjemcu v prázdnych úvodzovkách).

  • Pridáva metadáta number, ak existuje referenčné číslo (číslo šeku, faktúry atď.).

  • Iteruje cez každý riadok rozpisu:

    • Mapuje názov účtu QuickBooks na účet Beancount pomocou slovníka account_map (naplneného z kroku s účtovnou osnovou).
    • Určuje sumu. V závislosti od vášho exportu môžete mať jeden stĺpec Amount (s kladnými/zápornými hodnotami) alebo samostatné stĺpce Debit a Credit. Kód vyššie zvláda oba prípady. Zabezpečuje, že kredity (strana Dal) sú reprezentované ako záporné sumy pre Beancount (keďže v Beancount sa pre každý zápis používa jedno číslo so znamienkom).
    • Pripojí menu (predpokladá sa USD, pokiaľ nie je prítomný stĺpec s inou menou).
    • Zapíše riadok zápisu Beancount s účtom, sumou a komentárom s poznámkou z riadku. Napríklad: Assets:Checking 500.00 USD ; Deposit Income:Sales -500.00 USD ; Deposit Toto odráža vklad 500 USD (z príjmu na bežný účet).
  • Po vymenovaní všetkých rozpisov oddeľuje transakciu prázdny riadok.

Spracovanie viacerých mien: Ak vaše údaje v QuickBooks obsahujú viacero mien, zahrňte kód meny pri každom zápise (ako je uvedené vyššie). Uistite sa, že účty, ktoré sú v cudzích menách, sú otvorené s touto menou. Napríklad, ak máte bankový účet v EUR, mali by ste zadať open Assets:Bank:Checking EUR a transakcie na tomto účte budú používať EUR. Beancount podporuje denníky s viacerými menami a bude sledovať implicitné konverzie, ale možno budete musieť pridať cenové záznamy pre výmenné kurzy, ak chcete konverziu na základnú menu v reportoch. Odporúča sa tiež deklarovať hlavnú operačnú menu na začiatku súboru Beancount (napr. option "operating_currency" "USD").

Spustenie konverzie: Uložte Python skript (napríklad ako qb_to_beancount.py) a spustite ho na svojich exportovaných súboroch. Mal by vyprodukovať súbor .beancount obsahujúci všetky účty a transakcie.

2.2 Riešenie okrajových prípadov a čistenie údajov

Počas transformácie dávajte pozor na tieto bežné úskalia a ako ich riešiť:

  • Nesúlad názvov účtov: QuickBooks môže mať názvy účtov, ktoré sú v konflikte s hierarchickými názvami Beancount. Napríklad, QuickBooks môže mať dva rôzne nadradené účty, každý s podúčtom s názvom "Poistenie". V Beancount musí byť Expenses:Insurance jedinečný. Vyriešte to premenovaním jedného z nich (napr. "Poistenie-Vozidlo" vs. "Poistenie-Zdravotne") pred exportom alebo ich zmapujte na jedinečné účty Beancount vo vašom skripte. Konzistentné konvencie pomenovania (žiadne špeciálne znaky a použitie hierarchie) vám ušetria bolesti hlavy. V prípade potreby použite prístup s premapovacím súborom: udržiavajte CSV alebo slovník starého názvu → nový názov Beancount a aplikujte ho počas konverzie (náš príkladový kód používa account_map a mohol by načítať prepisy zo súboru).

  • Dátumy a formáty: Uistite sa, že všetky dátumy sú konzistentne formátované. Skript vyššie normalizuje M/D/Y na ISO formát. Taktiež dávajte pozor na problémy s fiškálnym vs. kalendárnym rokom, ak váš päťročný rozsah prekračuje koniec roka. Beancount sa nestará o hranice fiškálneho roka, ale neskôr možno budete chcieť rozdeliť súbory podľa rokov pre pohodlie.

  • Numerická presnosť: QuickBooks pracuje s menou na centy, takže práca v centoch je zvyčajne v poriadku. Všetky sumy by ideálne mali mať dve desatinné miesta v CSV. Ak sa nejaké sumy zmenili na celé čísla (bez desatinnej časti) alebo majú čiarky/zátvorky (pre záporné hodnoty), vyčistite ich v skripte (odstráňte čiarky, preveďte (100.00) na -100.00, atď.). Export CSV, ak je vykonaný správne (podľa pokynov), by sa mal týmto problémom s formátovaním vyhnúť.

  • Záporné sumy a znamienka: Reporty v QuickBooks niekedy zobrazujú záporné hodnoty ako -100.00 alebo (100.00) alebo dokonca --100.00 v niektorých exportoch do Excelu. Krok čistenia by mal tieto prípady zvládnuť. Uistite sa, že strany Má dať (debit) a Dal (credit) každej transakcie sa vynulujú. Beancount to bude vynucovať (ak nie je vyrovnaná, pri importe vyhodí chybu).

  • Duplicitné transakcie: Ak ste museli exportovať transakcie v dávkach (napr. rok po roku alebo účet po účte), dávajte pozor, aby ste ich zlúčili bez prekrytia. Skontrolujte, či prvá transakcia jedného roka nie je zároveň poslednou z predchádzajúcej dávky, atď. Je ľahké omylom duplikovať niekoľko transakcií na hraniciach. Ak máte podozrenie na duplikáty, môžete zoradiť výsledné položky Beancount podľa dátumu a hľadať identické položky, alebo použiť jedinečné značky transakcií Beancount na ich odhalenie. Jednou stratégiou je zahrnúť čísla transakcií z QuickBooks ako metadáta (napr. použiť Trans # alebo číslo faktúry ako značku txn alebo metadáta quickbooks_id) a potom zabezpečiť, aby neexistovali žiadne duplikáty týchto ID.

  • Nevyrovnané rozpisy / Prechodné účty: QuickBooks môže mať zvláštne prípady, ako transakciu s nevyrovnanosťou, ktorú QuickBooks automaticky upravil na účet „Opening Balance Equity“ alebo „Retained Earnings“. Napríklad pri nastavovaní počiatočných zostatkov účtov QuickBooks často zaúčtuje rozdiely na účet vlastného imania. Tieto sa objavia v exportovaných transakciách. Beancount bude vyžadovať explicitné vyrovnanie. Možno budete musieť zaviesť účet vlastného imania pre počiatočné zostatky (bežne Equity:Opening-Balances), aby ste zrkadlili QuickBooks. Je dobrým zvykom mať na prvý deň vášho denníka položku počiatočných zostatkov, ktorá stanoví počiatočné zostatky všetkých účtov (pozri Fázu 5).

  • Okrajové prípady viacerých mien: Ak používate viacero mien, export z QuickBooks môže uvádzať všetky sumy v domácej mene alebo v ich natívnej mene. Ideálne je získať údaje v natívnej mene pre každý účet (reporty z QuickBooks Online to zvyčajne robia). V Beancount každý zápis nesie menu. Ak QuickBooks poskytol výmenné kurzy alebo konverziu na domácu menu, môžete ich ignorovať a spoľahnúť sa na cenové záznamy Beancount. Ak QuickBooks neexportoval výmenné kurzy, možno budete chcieť manuálne pridať cenové záznamy (napr. pomocou direktívy price v Beancount) pre kľúčové dátumy, aby sa zhodovalo ocenenie. Avšak pre základnú integritu denníka stačí, že transakcie sa vyrovnávajú vo svojich pôvodných menách – nerealizované zisky/straty nemusia byť explicitne zaznamenané, pokiaľ nechcete rovnaké reporty.

  • Pohľadávky / Záväzky: QuickBooks sleduje detaily faktúr a účtov (dátumy splatnosti, stav platby atď.), ktoré sa v jednoduchom denníku úplne neprenesú. Získate transakcie pohľadávok (A/R) a záväzkov (A/P) (faktúry zvyšujúce A/R, platby znižujúce A/R atď.), ale nie dokumenty faktúr alebo zostatky zákazníkov podľa faktúr. V dôsledku toho by ste po migrácii mali overiť, že zostatky vašich účtov A/R a A/P v Beancount sa rovnajú otvoreným zostatkom zákazníkov/dodávateľov v QuickBooks. Ak potrebujete sledovať faktúry, môžete použiť metadáta Beancount (napr. zahrnúť značku invoice alebo odkaz). Čísla faktúr z QuickBooks by sa mali preniesť v poliach Num alebo Memo – náš skript zachováva Num ako number: "..." v metadátach transakcie.

  • Neaktívne alebo zrušené účty: Export IIF môže obsahovať neaktívne účty (ak ste sa rozhodli ich zahrnúť). Je v poriadku ich importovať (budú mať len nulový zostatok, ak boli skutočne neaktívne, a žiadne transakcie). Po poslednom dátume transakcie ich môžete v Beancount označiť ako uzavreté pomocou direktívy close. To udržuje váš denník uprataný. Napríklad: 2023-12-31 close Expenses:OldAccount ; zrušený po migrácii Toto je voliteľné a slúži hlavne na čistotu.

Dôkladným čistením a mapovaním údajov, ako je uvedené vyššie, získate súbor denníka Beancount, ktorý štrukturálne zrkadlí vaše údaje z QuickBooks. Ďalším krokom je overenie, či aj numericky zrkadlí QuickBooks.


Fáza 3: Validácia a odsúhlasenie údajov

Validácia je kritickou fázou pri migrácii účtovných údajov. Musíme zabezpečiť, aby sa denník Beancount zhodoval s účtovnými knihami QuickBooks do posledného centu. Možno použiť niekoľko stratégií a nástrojov:

3.1 Odsúhlasenie pomocou súvahovej skúšky (predvahy)

Report súvahovej skúšky (predvahy) uvádza konečné zostatky všetkých účtov (s uvedením strany Má dať a Dal alebo kladných/záporných hodnôt) a mal by sa vynulovať. Spustenie súvahovej skúšky v oboch systémoch pre rovnaký dátum je najrýchlejší spôsob, ako potvrdiť celkovú presnosť.

  • V QuickBooks: Spustite report Trial Balance pre posledný deň posledného roka (napr. 31. decembra 2023). Tento report zobrazuje zostatok každého účtu. Exportujte ho alebo si poznačte kľúčové čísla.

  • V Beancount: Použite reportovanie v Beancount na vygenerovanie súvahovej skúšky. Jedna jednoduchá metóda je cez príkazový riadok:

    bean-report migrated.beancount balances

    Report balances je súvahová skúška uvádzajúca všetky účty a ich zostatky. Môžete tiež otvoriť súbor vo Fava (webové rozhranie Beancount) a pozrieť sa do sekcie Balances alebo Balance Sheet. Zostatok každého účtu v Beancount by sa mal zhodovať so súvahovou skúškou z QuickBooks. Napríklad, ak QuickBooks ukazuje Pohľadávky = 5 000 USD, potom účet Assets:Accounts Receivable v Beancount by mal mať celkovú sumu 5 000 USD (Má dať). Ak Výnosy z predaja = 200 000 USD, účet Income:Sales v Beancount by mal ukazovať 200 000 USD (Dal, čo sa môže zobraziť ako -200 000, ak používate súvahovú skúšku, ktorá prezentuje stranu Dal ako záporné hodnoty).

Ak existujú nezrovnalosti, nájdite ich:

  • Skontrolujte, či celý účet chýba alebo je navyše (zabudli sme na nejaký účet alebo sme zahrnuli taký, ktorý bol už pred migračným obdobím zrušený?).
  • Ak je zostatok nesprávny, prejdite do detailov: QuickBooks môže spustiť Account QuickReport alebo detail hlavnej knihy pre daný účet a môžete to porovnať s registrom Beancount pre daný účet (bean-report migrated.beancount register -a NazovUctu). Niekedy rozdiely pochádzajú z chýbajúcej transakcie alebo duplikátu.

Taktiež overte, že súčet všetkých účtov je v súvahovej skúške Beancount nula (vypíše sa celkový súčet, ktorý by mal byť nula alebo veľmi blízko nuly). Beancount vynucuje podvojné účtovníctvo, takže ak máte akúkoľvek nenulovú nevyrovnanosť, znamená to, že aktíva mínus pasíva-vlastné imanie sa nevynulovali, čo naznačuje problém (čo by QuickBooks normálne tiež nepovolil, ale mohlo by sa stať, ak by boli niektoré údaje vynechané).

3.2 Porovnanie zostatkov na účtoch

Okrem súvahovej skúšky môžete porovnať konkrétne finančné výkazy:

  • Súvaha: Spustite súvahu v QuickBooks pre konečný dátum a súvahu v Beancount (bean-report migrated.beancount balsheet). Je to podobné ako súvahová skúška, ale organizované podľa aktív, pasív a vlastného imania. Čísla by sa mali zhodovať po kategóriách. Pre podrobnejšiu kontrolu porovnajte celkové sumy hlavných účtov: hotovosť, pohľadávky, dlhodobý majetok, záväzky, vlastné imanie atď.

  • Výkaz ziskov a strát: Spustite výkaz ziskov a strát za päťročné obdobie (alebo rok po roku) v QuickBooks a v Beancount (bean-report migrated.beancount income pre výkaz ziskov a strát za celé obdobie). Čistý zisk z Beancount by sa mal rovnať QuickBooks pre každé obdobie. Ak ste migrovali všetkých päť rokov, kumulatívny čistý zisk by sa mal zhodovať. Môžete tiež porovnať jednotlivé celkové výnosy a náklady, aby ste sa uistili, že žiadna kategória nebola vynechaná alebo zdvojená.

  • Náhodné vzorkovanie transakcií: Vyberte niekoľko náhodných transakcií (najmä z každého roka a každého hlavného účtu) a overte, či boli správne migrované. Napríklad, nájdite faktúru spred 3 rokov v QuickBooks a potom vyhľadajte jej sumu alebo poznámku v súbore Beancount (keďže všetky transakcie sú textové, môžete otvoriť súbor .beancount v textovom editore alebo použiť vyhľadávacie nástroje). Skontrolujte, či sa dátum, sumy a účty zhodujú. To pomáha odhaliť akékoľvek problémy s formátovaním dátumu alebo nesprávne zmapované účty.

3.3 Automatizované kontroly integrity

Využite vlastné nástroje na validáciu v Beancount:

  • bean-check: Spustite bean-check migrated.beancount. Tento príkaz spracuje súbor a nahlási akékoľvek chyby v syntaxi alebo vyrovnaní. Ak skript niečo prehliadol, napríklad neotvorený účet alebo nevyrovnanú transakciu, bean-check to označí. Čistý prechod (žiadny výstup) znamená, že súbor je aspoň vnútorne konzistentný.

  • Tvrdenia o zostatku: Môžete pridať explicitné tvrdenia o zostatku (balance assertions) v denníku pre kľúčové účty ako dodatočnú kontrolu. Napríklad, ak poznáte zostatok na bankovom účte k určitému dátumu, pridajte riadok: 2023-12-31 balance Assets:Bank:Checking 10000.00 USD Potom bean-check zabezpečí, že v denníku k danému dátumu je zostatok skutočne 10 000 USD. Je to voliteľné, ale môže byť užitočné pre veľmi dôležité účty. Mohli by ste vziať konečné zostatky z QuickBooks (napr. na konci každého roka) a potvrdiť ich v súbore Beancount. Ak nejaké tvrdenie zlyhá, Beancount nahlási rozdiel.

  • Postupná kontrola súvahovej skúšky: Ak preferujete, môžete vykonať kontrolu po obdobiach. Pre každý rok porovnajte čistú zmenu. Napríklad, čistý zisk v QuickBooks 2020 vs. Beancount 2020 atď., aby ste sa uistili, že každý rok sa správne uzavrel do vlastného imania (QuickBooks automaticky presúva čistý zisk do nerozdeleného zisku každý nový rok; v Beancount uvidíte len kumulatívne vlastné imanie). Ak uvidíte rozdiely, môže to naznačovať problém v údajoch konkrétneho roka.

  • Počty transakcií a duplikáty: Spočítajte počet transakcií v QuickBooks vs. Beancount. QuickBooks nezobrazuje priamy počet ľahko, ale môžete to odhadnúť spočítaním riadkov v CSV (každá hlavička transakcie vs. rozpisy). V Beancount je rýchly spôsob spočítať výskyty txn alebo * " v súbore. Mali by byť rovnaké alebo o niečo vyššie ako v QuickBooks (ak ste pridali transakcie počiatočných zostatkov alebo úpravy). Významný nesúlad znamená, že niečo mohlo byť vynechané alebo duplikované. Naše použitie jedinečných ID v metadátach môže pomôcť: ak máte podozrenie na duplikáty, prehľadajte súbor Beancount a hľadajte rovnaké číslo šeku alebo faktúry, ktoré sa objavuje dvakrát, hoci by nemalo.

  • Stav odsúhlasenia: V našom skripte sme zahrnuli metadáta rec: "y" alebo "n" na základe stavu odsúhlasenia v QuickBooks (ako rec v príklade). Toto nie je štandardná funkcia Beancount (Beancount nesleduje odsúhlasené/čakajúce položky rovnakým spôsobom ako Ledger), ale môže to byť užitočná metadáta. Môžete overiť, či sú prítomné všetky transakcie, ktoré boli odsúhlasené v QuickBooks. Nakoniec, opätovné odsúhlasenie bankových účtov v Beancount (pomocou vašich výpisov) by mohlo byť konečným dôkazom, že nič nechýba.

Vykonaním týchto validácií si vybudujete dôveru, že migrácia zachovala údaje. Venujte tejto fáze dostatok času – je ľahšie opraviť anomálie teraz ako o mesiace neskôr, keď sa už na účtovné knihy bude spoliehať. Bežné problémy pri zlyhaní validácie: chýbajúci počiatočný zostatok účtu, transakcia s dátumom mimo rozsahu alebo obrátené znamienko pri zápise. Všetky sú po identifikácii opraviteľné.


Fáza 4: Finalizácia a zápis do denníka Beancount

Po vyčistení a validácii je čas formalizovať údaje do štruktúry denníka Beancount. „Finalizácia“ tu znamená dokončenie súborov denníka a potenciálne ich uloženie do systému správy verzií pre auditovateľnosť.

4.1 Organizácia súborov denníka a konfigurácie

Rozhodnite sa, ako štruktúrovať súbory denníka Beancount. Pre päť rokov údajov môžete všetko nechať v jednom súbore alebo ich rozdeliť podľa rokov alebo kategórií. Bežná a prehľadná štruktúra je:

  • Hlavný súbor denníka: napr. ledger.beancount – Toto je vstupný bod, ktorý môže include (zahŕňať) ďalšie súbory. Môže obsahovať globálne možnosti a potom zahŕňať ročné súbory.
  • Súbor s účtami: Definujte účtovnú osnovu a počiatočné zostatky. Napríklad, accounts.beancount so všetkými direktívami open (ako ich vygeneroval skript). Tu môžete tiež uviesť komodity (meny).
  • Súbory s transakciami: Jeden na každý rok, napr. 2019.beancount, 2020.beancount, atď., obsahujúce transakcie pre daný rok. Týmto sa každý súbor udrží v zvládnuteľnej veľkosti a umožňuje vám zamerať sa na jeden rok, ak je to potrebné. Alternatívne ich môžete rozdeliť podľa subjektu alebo účtu, ale časové delenie je pre finančné údaje jednoduché.

Príklad hlavného súboru:

option "title" "Môj firemný denník"
option "operating_currency" "USD"

include "accounts.beancount"
include "2019.beancount"
include "2020.beancount"
...
include "2023.beancount"

Týmto spôsobom sa všetky údaje agregujú pri spúšťaní reportov, ale udržiavate si poriadok.

Beancount nevyžaduje viacero súborov – môžete mať jeden veľký súbor – ale vyššie uvedená štruktúra zlepšuje prehľadnosť a správu verzií. Podľa osvedčených postupov Beancount je dobré používať jasné hlavičky sekcií a logicky zoskupovať súvisiace položky.

4.2 Nastavenie počiatočných zostatkov a vlastného imania

Ak vaša migrácia nezačína od absolútnej nuly, budete musieť riešiť počiatočné zostatky. Dva scenáre:

  • Účtovníctvo začínajúce od nuly: Ak päťročné obdobie začína pri založení podniku (napr. začali ste používať QuickBooks v januári 2019 so všetkými účtami na nule okrem počiatočného vlastného imania), potom možno nebudete potrebovať samostatnú transakciu počiatočných zostatkov. Prvé transakcie v roku 2019 (ako počiatočné financovanie na bankový účet) prirodzene vytvoria počiatočné zostatky. Len sa uistite, že akýkoľvek počiatočný kapitál alebo predchádzajúci nerozdelený zisk sú zaúčtované cez transakcie vlastného imania.

  • Účtovníctvo v priebehu (čiastočná história): Ak ste začali s QuickBooks skôr a rok 2019 je stredobodom, potom k 1. januáru 2019 mal každý účet prenesený zostatok. QuickBooks by ich mal ako počiatočné zostatky alebo nerozdelený zisk. V Beancount je typické vytvoriť položku počiatočných zostatkov deň pred začiatkom vášho obdobia:

    • Použite účet vlastného imania s názvom Equity:Opening-Balances (alebo podobne) na vyrovnanie súčtu všetkých počiatočných súm.
    • Príklad: ak k 31.12.2018 bola hotovosť 10 000 USD, pohľadávky 5 000 USD a záväzky 3 000 USD (strana Dal), napísali by ste transakciu: 2018-12-31 * "Počiatočné zostatky" Assets:Cash 10000.00 USD Assets:AccountsReceivable 5000.00 USD Liabilities:AccountsPayable -3000.00 USD Equity:Opening-Balances -12000.00 USD Týmto zostane účet Opening-Balances so záporným súčtom (–12k USD), čo vyrovná položku. Teraz všetky účty aktív/pasív začínajú rok 2019 so správnymi zostatkami. Toto by malo zrkadliť akýkoľvek „Nerozdelený zisk“ alebo prenesené zostatky z QuickBooks.
    • Alternatívne použite direktívy pad a balance v Beancount: Pre každý účet môžete použiť pad z účtu Opening-Balances a potvrdiť zostatok. Je to automatizovanejší spôsob. Napríklad: 2018-12-31 pad Assets:Cash Equity:Opening-Balances 2018-12-31 balance Assets:Cash 10000.00 USD Toto povie Beancount, aby vložil akúkoľvek potrebnú položku (na účet Opening-Balances), aby bola hotovosť k danému dátumu 10 000 USD. Urobte to pre každý účet. Výsledok je podobný, ale napísanie explicitnej transakcie ako v prvej metóde je tiež jednoduché.
  • Nerozdelený zisk: QuickBooks explicitne neexportuje transakciu „Nerozdelený zisk“ – iba ho vypočíta. Po migrácii si môžete všimnúť, že Equity:Retained Earnings je nula, ak ste ho nevytvorili. V Beancount je nerozdelený zisk len ziskom z predchádzajúcich rokov. Môžete si vybrať vytvorenie účtu Nerozdelený zisk a previesť do neho zisky z predchádzajúcich rokov prvý deň každého nového roka, alebo jednoducho nechať vlastné imanie byť súčtom všetkých príjmov/nákladov (čo sa objaví v sekcii Vlastné imanie v reportoch). Pre transparentnosť niektorí používatelia ročne účtujú uzávierkové položky. Je to voliteľné a slúži hlavne na prezentáciu. Keďže sme migrovali všetky transakcie, zisk za každý rok sa prirodzene zvinie, ak spustíte report pre každý rok.

  • Porovnávacie kontroly: Po nastavení počiatočných zostatkov spustite súvahu k začiatočnému dátumu, aby ste sa uistili, že je všetko správne (mala by ukazovať tieto počiatočné zostatky oproti počiatočnému vlastnému imaniu, ktoré sa vynulujú).

4.3 Finalizácia a správa verzií

Teraz, keď sú údaje vo formáte Beancount a štruktúrované, je rozumné uložiť súbory do repozitára systému správy verzií (napr. git). Každá zmena v denníku môže byť sledovaná a máte auditnú stopu všetkých úprav. Toto je hlavná výhoda textového účtovníctva. Napríklad v QuickBooks nemusia byť zmeny ľahko porovnateľné, ale v Beancount môžete vidieť rozdiely riadok po riadku. Ako poznamenávajú niektorí používatelia, s Beancount získate transparentnosť a schopnosť vrátiť zmeny, ak je to potrebné – každá položka môže byť viazaná na históriu zmien.

Zvážte označenie commitu tejto počiatočnej migrácie ako v1.0 alebo podobne, aby ste vedeli, že predstavuje stav účtovných kníh tak, ako boli importované z QuickBooks. V budúcnosti budete zadávať nové transakcie priamo do Beancount (alebo ich importovať z bankových výpisov atď.) a môžete používať bežné postupy vývoja softvéru (commitovanie mesačne alebo denne, používanie vetiev na experimenty atď.).

Nastavenie Fava alebo iných nástrojov: Fava je webové rozhranie pre Beancount, ktoré uľahčuje prezeranie reportov. Po commite spustite fava ledger.beancount, aby ste si prezreli finančné výkazy a porovnali ich s vašimi reportami z QuickBooks ešte raz. V používateľskom rozhraní si môžete ľahšie všimnúť malé rozdiely (napríklad účet, ktorý by mal byť na nule, ale ukazuje malý zostatok, naznačuje chýbajúcu uzávierkovú položku alebo zblúdilú transakciu).

Konvencie pomenovania a konzistencia: Teraz máte plnú kontrolu, takže zabezpečte konzistenciu:

  • Všetky účty by mali mať jasné názvy, začínajúce veľkými písmenami názvov kategórií (Assets, Liabilities atď.). Ak niektoré vyzerajú zvláštne (napr. Assets:assets:SomeAccount kvôli nesúladu veľkosti písmen z QuickBooks), premenujte ich v súbore s účtami a aktualizujte transakcie (rýchle nájdenie/nahradenie v súbore to dokáže, alebo použite bean-format v Beancount alebo multi-kurzor editora).
  • Symboly komodít (kódy mien) by mali byť konzistentné. Pre USD používajte všade USD (nie $ alebo US$). Pre ostatné používajte štandardné kódy (EUR, GBP atď.). Táto konzistencia je dôležitá pre vyhľadávanie cien a reporty v Beancount.
  • Odstráňte akékoľvek dočasné alebo fiktívne účty, ktoré mohli byť vytvorené (napríklad, ak ste v skripte použili Expenses:Miscellaneous pre neznáme účty ako záchytnú sieť, pokúste sa ich eliminovať správnym zmapovaním všetkých účtov).

Ukončenie práce s QuickBooks: V tomto bode by ste mali mať paralelné účtovné knihy v Beancount, ktoré sa zhodujú s QuickBooks. Niektorí sa rozhodnú prevádzkovať oba systémy paralelne na krátke obdobie, aby sa uistili, že nič nebolo vynechané. Ale ak je validácia solídna, môžete „uzavrieť“ účtovné knihy v QuickBooks:

  • Ak ide o firemné prostredie, zvážte export všetkých zdrojových dokumentov z QuickBooks (faktúry, účty, potvrdenky) pre záznamy, keďže tieto v Beancount nebudú existovať, pokiaľ ich nepripojíte manuálne.
  • Uchovajte si zálohu údajov z QuickBooks (súbor spoločnosti aj exportované súbory).
  • V budúcnosti udržiavajte denník Beancount ako primárny systém záznamov.

Uložením údajov do denníka Beancount ste dokončili migračný proces. Posledným krokom je vykonanie auditu a preukázanie konzistentnosti finančných výkazov, aby ste uspokojili seba (a akýchkoľvek zainteresovaných strán alebo audítorov), že migrácia bola úspešná.


Fáza 5: Audit po migrácii a príklady

Na ilustráciu úspechu migrácie pripravte porovnanie finančných výkazov pred a po a prípadne porovnanie rozdielov v transakciách. Toto poskytne dôkaz, že účtovné knihy sú konzistentné.

5.1 Overenie finančných výkazov

Vytvorte kľúčové finančné reporty z QuickBooks aj Beancount pre rovnaké dátumy a porovnajte ich:

  • Súvaha k 31. decembru 2023: Porovnajte celkové sumy aktív, pasív a vlastného imania riadok po riadku. Mali by sa zhodovať. Napríklad, ak QuickBooks ukázal Celkové aktíva = 150 000 USD a Celkové pasíva + Vlastné imanie = 150 000 USD, súvaha Beancount by mala ukazovať rovnaké celkové sumy. Ak ste účty štruktúrovali trochu inak (povedzme, že ste zlúčili niektoré podúčty), zohľadnite to pri porovnaní alebo rozdeľte na ďalšiu úroveň, aby ste sa uistili, že súčty sú rovnaké.

  • Výkaz ziskov a strát 2019–2023: Uistite sa, že celkové príjmy, celkové náklady a čistý zisk za každý rok (alebo za celý rozsah) sú identické. Menšie rozdiely by mohli vzniknúť, ak QuickBooks robil nejaké zaokrúhľovanie v reportoch, ale transakcie zvyčajne nesú centy presne, takže čistý zisk by mal byť presný. Ak sa zisk niektorého roka líši, prejdite do detailov údajov toho roka – často je to indikátor chýbajúcej alebo duplicitnej položky v danom období.

  • Rozdiely v súvahovej skúške: Ak je to možné, vytvorte tabuľku, kde uvediete každý účet a zostatok z QuickBooks oproti Beancount. Keďže očakávame, že sa budú zhodovať, mohol by to byť stĺpec so samými nulami. Toto je v podstate krížová kontrola súvahovej skúšky, o ktorej sme hovorili, ale jej zapísanie pomáha pri dokumentácii.

5.2 Príklad porovnania (pred vs. po)

Nižšie je príklad úryvku demonštrujúceho konzistentnosť údajov. Povedzme, že naša súvahová skúška z QuickBooks k 31. decembru 2023 bola:

ÚčetZostatok QuickBooks (31. 12. 2023)
Aktíva
  Assets:Bank:Checking12 500,00 USD (Má dať)
  Assets:Accounts Receivable3 200,00 USD (Má dať)
Pasíva
  Liabilities:Credit Card-1 200,00 USD (Dal)
  Liabilities:Loans Payable-5 000,00 USD (Dal)
Vlastné imanie
  Equity:Opening-Balances-7 500,00 USD (Dal)
  Equity:Retained Earnings-2 000,00 USD (Dal)
  Equity:Current Year Profit0,00 USD

V Beancount, po importovaní a zaúčtovaní všetkých transakcií do roku 2023, výstup bean-report balances (súvahová skúška) je:

ÚčetZostatok Beancount (31. 12. 2023)
Aktíva
  Assets:Bank:Checking12 500,00 USD (Má dať)
  Assets:Accounts Receivable3 200,00 USD (Má dať)
Pasíva
  Liabilities:Credit Card-1 200,00 USD (Dal)
  Liabilities:Loans Payable-5 000,00 USD (Dal)
Vlastné imanie
  Equity:Opening-Balances-7 500,00 USD (Dal)
  Equity:Retained Earnings-2 000,00 USD (Dal)
  Equity:Profit (2019-2023)0.00 USD

(Poznámka: Sekcie vlastného imania môžu byť štruktúrované odlišne; kľúčové je, aby sa celkové sumy zhodovali. Tu „Zisk (2019-2023)“ v Beancount hrá úlohu zisku bežného roka/nerozdeleného zisku spolu, pričom ukazuje nulu, pretože zisk bol uzavretý do Nerozdeleného zisku.)

Ako je vidieť, každý účet sa zhoduje na cent. Súčet strany Má dať sa rovná súčtu strany Dal na oboch stranách.

Dodatočne, ak spustíme výkaz ziskov a strát za rok 2023:

  • QuickBooks: Príjmy 50 000 USD, Náklady 48 000 USD, Čistý zisk 2 000 USD.
  • Beancount: Príjmy 50 000 USD, Náklady 48 000 USD, Čistý zisk 2 000 USD (ktorý bol potom uzavretý do Nerozdeleného zisku alebo sa objavuje v sekcii Vlastné imanie v koncoročnej súvahe).

Môžete vytvoriť porovnanie rozdielov transakcií, ak je to potrebné, ale keďže údaje z QuickBooks nie sú vo forme denníka, je efektívnejšie spoliehať sa na reporty. Mohli by ste zoradiť CSV z QuickBooks aj transakcie z Beancount podľa dátumu a porovnať kľúčové polia ako finálnu kontrolu (to sa dá urobiť v Exceli alebo pomocou skriptu). Avšak, vzhľadom na to, že dôverujeme našej predchádzajúcej validácii, kontrola finančných výkazov je zvyčajne dostatočná.

5.3 Tipy pre audit

  • Ak audítor alebo zainteresovaná strana potrebuje uistenie, prezentujte finančné výkazy pred a po vedľa seba. Transparentnosť Beancount môže v skutočnosti zjednodušiť audity, pretože môžete rýchlo vystopovať každé číslo z výkazu späť k zdrojovej položke (najmä pomocou funkcie prechodu do detailov vo Fava).
  • Uchovajte si zálohu QuickBooks a exportované CSV súbory ako súčasť vašej auditnej stopy. Zdokumentujte akékoľvek úpravy vykonané počas migrácie (napríklad „Premenovaný účet X na Y pre konzistenciu“ alebo „Rozdelená transakcia Z na dve položky pre prehľadnosť“, ak ste takéto zmeny urobili).
  • V budúcnosti implementujte pravidelné kontroly v Beancount. Napríklad, mesačné odsúhlasenie bankových účtov a potvrdenie ich konečného zostatku pomáha odhaliť akékoľvek problémy s údajmi alebo chyby v zápisoch. Migrácia poskytuje dobrý základ; udržiavanie disciplíny v novom systéme zabezpečí pokračujúcu presnosť.

Nakoniec, oslávte dokončenie migrácie: úspešne ste preniesli päť rokov účtovných údajov z QuickBooks do Beancount. Údaje sú teraz v ľahkom, verziovanom textovom formáte s plnou integritou podvojného účtovníctva. Exportovali ste údaje, transformovali ich pomocou Python skriptov, overili integritu prostredníctvom súvahových skúšok a reportov a uložili ich do dobre organizovaného denníka Beancount. Tento komplexný proces zabezpečuje, že denník Beancount je presnou a vernou replikou vašich účtovných kníh z QuickBooks za päťročné obdobie, čo vám pripravuje pôdu pre zjednodušené účtovníctvo v budúcnosti.

Predstavujeme podporu viacerých súborov v Beancount

· Čítanie na jednu minútu
Mike Thrift
Mike Thrift
Marketing Manager

Mnoho našich zákazníkov sa nás od februára pýtalo, ako pridať viacero súborov do jednej účtovnej knihy. Potrebujú štruktúru súborov na archiváciu alebo kategorizáciu transakcií. Takže, konečne, po niekoľkých mesiacoch práce s radosťou oznamujeme, že táto funkcia je vydaná zadarmo.

Tu je návod, ako ju použiť:

Súbor > vytvoriť nový súbor

2021-09-24-multi-file-one-ledger

Prejdite na kartu editora súborov na ľavom navigačnom bočnom paneli. Potom v rozbaľovacej ponuke "Súbor" kliknite na "Vytvoriť nový súbor".

Súbor > vytvoriť nový súbor

Pomenujte svoj nový súbor

Dajte svojmu súboru platný názov a uložte ho. Všetky názvy súborov musia končiť na ".bean".

Pomenujte svoj nový súbor

Zahrňte súbor

Tu je kľúčový krok, musíte zahrnúť novo vytvorený súbor do main.bean.

Napríklad, ak ste pridali stock.bean, potom v main.bean uveďte include "stock.bean".

Zahrňte súbor

Obnovte a prejdite na súbor

Obnovte stránku a uvidíte, že súbor sa objaví v rozbaľovacej ponuke "Súbor".

Obnovte a prejdite na súbor

Premenujte alebo odstráňte súbor

Keď prejdete na súbor, môžete ho premenovať alebo odstrániť v rozbaľovacej ponuke "Upraviť".

Premenujte alebo odstráňte súbor

Máte problémy?

Pýtajte sa na https://t.me/beancount.

Aktualizácia Fava na verziu 1.19: Kľúčové zmeny a vylepšenia

· Čítanie na jednu minútu
Mike Thrift
Mike Thrift
Marketing Manager

Aktualizovali sme open-source softvér Fava s licenciou MIT na verziu 1.19. Tu sú zmeny od našej poslednej aktualizácie:

  • v1.19 (2021-05-18)
    • migrácia z možností conversion a interval na možnosť default-page
    • pridanie možnosti invert-income-liabilities-equity
    • aktualizácia na CodeMirror 6
    • pridáva bulharský preklad
    • ďalšie drobné vylepšenia a opravy chýb
  • v1.18 (2021-01-16)
    • niekoľko drobných vylepšení a rôznych opráv chýb.

Cítite sa nadšene? Vyskúšajte to teraz na https://beancount.io/ledger/

2021-07-16-upgrade-fava-to-1-19

Máte otázky? Sme tu pre vás na https://t.me/beancount :)

Pochopenie amortizácie v Beancount

· Čítanie na jednu minútu
Mike Thrift
Mike Thrift
Marketing Manager

Amortizácia rozkladá platby na mnoho splátok v čase. V beancount.io môžete na to použiť plugin fava.plugins.amortize_over.

2021-01-09-amortize

Bez amortizácie, ak chcete poistiť svoje auto na 6 mesiacov s nákladmi 600 USD, musíte to zaznamenať ako jednorazový náklad k určitému dátumu.

2017-06-01 open Assets:Bank:Checking
2017-06-01 open Assets:Prepaid-Expenses
2017-06-01 open Expenses:Insurance:Auto


2017-06-01 * "Zaplatiť poistenie auta"
Assets:Bank:Checking -600.00 USD
Assets:Prepaid-Expenses

Avšak s amortizáciou môžete alokovať náklad na šesť mesiacov umiestnením plugin "fava.plugins.amortize_over" na začiatok súboru a použitím amortize_months: 6 pre transakciu.

plugin "fava.plugins.amortize_over"

2020-06-01 open Assets:Bank:Checking
2020-06-01 open Assets:Prepaid-Expenses
2020-06-01 open Expenses:Insurance:Auto

2020-06-01 * "Amortizovať poistenie auta na šesť mesiacov"
amortize_months: 6
Assets:Prepaid-Expenses -600.00 USD
Expenses:Insurance:Auto

A potom v denníku uvidíte, že transakcia je rozdelená na 6 zaúčtovaní.

2020-11-01 * Amortizovať poistenie auta na šesť mesiacov (6/6) am
2020-10-01 * Amortizovať poistenie auta na šesť mesiacov (5/6) am
2020-09-01 * Amortizovať poistenie auta na šesť mesiacov (4/6) am
2020-08-01 * Amortizovať poistenie auta na šesť mesiacov (3/6) am
2020-07-01 * Amortizovať poistenie auta na šesť mesiacov (2/6) am
2020-06-01 * Amortizovať poistenie auta na šesť mesiacov (1/6) am

Snímka obrazovky transakcie amortizácie