Aktuálne k 2026-09-15.
Beancount verzia 3, vydaná v polovici roka 2024, predstavuje významný architektonický vývoj pre populárny nástroj na účtovníctvo v čistom texte. Hoci zachováva spätnú kompatibilitu pre používateľské účtovné súbory, základná štruktúra a sprievodné nástroje prešli podstatnými zmenami. Tu je prehľad toho, čo je nové v Beancount v3 — a čo pribudlo v rámci línie 3.1–3.2 od prvého vydania tohto sprievodcu.
Pre syntax a prvé účtovné knihy si pozrite referenciu syntaxe Beancount a Začíname. Pre hostovaný CLI, ktorý zastrešuje check, query, import a reporty, si pozrite referenciu Beancount CLI.
Modulárnejšia a prehľadnejšia architektúra
Najvýznamnejšou zmenou v Beancount v3 je prechod na modulárnejší ekosystém. Niekoľko kľúčových funkcií, ktoré boli predtým súčasťou jadra, bolo oddelených do samostatných, nezávislých projektov. To robí jadro Beancount štíhlejším a umožňuje sústredenejší vývoj jednotlivých komponentov.
Kľúčové komponenty, ktoré sú teraz samostatnými balíkmi, zahŕňajú:
- beanquery: Výkonný nástroj na dotazy podobné SQL pre vaše účtovné súbory je teraz vo vlastnom balíku.
- beangulp: Toto je nové miesto pre rámec importu údajov, ktorý nahrádza bývalý modul
beancount.ingest. - beanprice: Špecializovaný nástroj na získavanie cien komodít a akcií.
Toto oddelenie znamená, že používatelia budú musieť nainštalovať tieto balíky okrem samotného beancount, aby si zachovali plnú funkčnosť, na ktorú boli zvyknutí vo verzii 2.
Zmeny v nástrojoch príkazového riadka a pracovných postupoch
V súlade s novou modulárnou architektúrou došlo k niekoľkým pozoruhodným zmenám v nástrojoch príkazového riadka:
bean-reportje preč: Tento nástroj bol odstránený. Používatelia sa teraz odporúčajú používaťbean-query(z balíkabeanquery) pre svoje potreby reportovania.- Nový pracovný postup importéra: Príkazy
bean-extractabean-identifyboli odstránené z jadra. Nový prístup sbeangulpje založený na skriptoch. Používatelia si teraz vytvoria vlastné Python skripty na spracovanie importu údajov z externých zdrojov, ako sú bankové výpisy.
Syntax a vylepšenia funkcií
Zatiaľ čo základné účtovné princípy zostávajú rovnaké, Beancount v3 prináša niekoľko vítaných flexibilít do svojej syntaxe:
- Flexibilnejšie kódy mien: Predchádzajúce obmedzenia na dĺžku a znaky pre názvy mien boli uvoľnené. Jednoznakové symboly mien sú teraz podporované.
- Rozšírené transakčné príznaky: Používatelia teraz môžu použiť akékoľvek veľké písmeno od A po Z ako príznak pre transakcie, čo umožňuje jemnejšiu kategorizáciu.
Dôležité je, že tieto zmeny sú spätne kompatibilné, takže vaše existujúce účtovné súbory Beancount v2 budú fungovať bez akýchkoľvek úprav.
C++ prepis a výkon
Jedným z dlhodobých cieľov Beancount bol prepis komponentov kritických pre výkon v C++. Počiatočné vydanie Beancount v3 nezahŕňalo C++ jadro a k 2026-09-15 to stále platí: publikovaná línia PyPI (až po 3.2.3) je stále modulárna Python v3 vetva. Historická práca na C++/Bazel žije na samostatnej vetve cpp a nie je súčasťou balíkov, ktoré používatelia inštalujú z PyPI. Každodenný výkon aktuálnych vydaní v3 je preto v rovnakej triede ako neskoré v2, s postupnými vylepšeniami parsovania a nástrojov, a nie rádovo väčším C++ prepisom.
Od napísania tohto článku (v3.1 → v3.2.x)
Primárne zdroje: súbor projektu CHANGES, GitHub porovnávacie pohľady pre 3.1.0…3.2.0 a PyPI beancount (najnovšie 3.2.3 k 2026-09-15).
- Línia 3.1.x — Pokračujúce balíkovanie a čistenie API po modulárnom rozdelení 3.0 (
beanquery,beangulp,beanpricezostávajú samostatnými inštaláciami). - 3.2.0 (2025-09-14) — Release commit na
beancount/beancount; pozoruhodná práca zameraná na používateľa v tomto okne zahŕňa viacsúborovýbean-format, úpravy tolerancií/presnosti a údržbu wheel/CI (pozri porovnávací odkaz vyššie). - 3.2.1–3.2.3 (2026) — Nadväzujúce binárne a balíkovacie vydania (vrátane testovacieho pokrytia Python 3.14 a scaffolding dokumentácie, ktoré sú spomenuté v súhrne 3.2.1 na mailing liste). Nainštalujte pomocou
pip install -U beancounta pri aktualizácii pridržte sprievodné balíky (beanquery,beangulp) na zodpovedajúcich hlavných verziách.
Fava: Fava 1.30 pridal podporu Beancount 3 (2024-12-29). Fava 1.30.13 (2026-05-19) vypustil podporu Beancount 2 a očakáva beangulp pre importéry. Aktuálna línia PyPI k 2026-09-15 je 1.30.16. Spárujte aktualizácie Fava s účtovnou knihou Beancount 3.
Migrácia z v2 na v3
Pre väčšinu používateľov je migrácia z Beancount v2 na v3 relatívne priamočiara:
- Účtovné súbory: Pre vaše
.beancountsúbory nie sú potrebné žiadne zmeny. - Inštalácia: Budete musieť nainštalovať nové, samostatné balíky, ako je
beanqueryabeangulp, pomocoupip. - Importérske skripty: Ak máte vlastné importéry, budete ich musieť aktualizovať, aby používali nové API
beangulp. To zahŕňa hlavne zmenu základnej triedy, z ktorej vaše importéry dedičia, a úpravu niektorých podpisov metód. - Fava: Populárne webové rozhranie pre Beancount, Fava, bolo aktualizované, aby bolo kompatibilné s v3. Uistite sa, že máte najnovšiu verziu Fava pre plynulý zážitok.
V podstate je Beancount v3 základným vydaním, ktoré zefektívňuje architektúru projektu, robí ho modulárnejším a dlhodobo ľahšie udržiavateľným a rozšíriteľným. Hoci si vyžaduje určité úpravy používateľských pracovných postupov, najmä okolo importu údajov, vytvára základ pre budúci vývoj tohto výkonného účtovného nástroja.





