Beancount v3: Какво е новото?
Beancount версия 3, пусната в средата на 2024 г., отбелязва значителна архитектурна еволюция за популярния инструмент за счетоводство в обикновен текст. Въпреки че поддържа обратна съвместимост за потребителските файлове с регистри, основната структура и придружаващите инструменти са претърпели съществени промени. Ето преглед на новостите в Beancount v3.
По-модулна и оптимизирана архитектура
Най-значителната промяна в Beancount v3 е преминаването към по-модулна екосистема. Няколко ключови функционалности, които преди това бяха пакетирани с ядрото, са отделени в самостоятелни, независими проекти. Това прави ядрото на Beancount по-леко и позволява по-фокусирано развитие на отделни компоненти.
Ключовите компоненти, които сега са отделни пакети, включват:
- beanquery: Мощният SQL-подобен инструмент за заявки за вашите файлове с регистри вече е в собствен пакет.
- beangulp: Това е новият дом за рамката за импортиране на данни, заместваща бившия модул
beancount.ingest. - beanprice: Специализиран инструмент за извл ичане на цени на стоки и акции.
Това разделение означава, че потребителите ще трябва да инсталират тези пакети в допълнение към beancount сам по себе си, за да запазят пълната функционалност, с която са свикнали във версия 2.
Промени в инструментите на командния ред и работните потоци
Отразявайки новата модулна архитектура, има някои забележителни промени в инструментите на командния ред:
bean-reportе премахнат: Този инструмент е премахнат. Потребителите вече се насърчават да използватbean-query(от пакетаbeanquery) за своите нужди от отчети.- Нов работен поток за импортиране: Командите
bean-extractиbean-identifyса премахнати от ядрото. Новият подход сbeangulpе базиран на скриптове. Потребителите вече ще създават свои собствени Python скриптове за обработка на импортирането на данни от външни източници като банкови извлечения.
Подобрения в синтаксиса и функциите
Докато основните счетоводни принципи остават същите, Beancount v3 въвежда известна желана гъвкавост в своя синтаксис:
- По-гъвкави кодове на валути: Предишните ограничения за дължината и символите на имената на валутите са облекчени. Вече се поддържат едносимволни валутни символи.
- Разширени флагове за транзакции: Потребителите вече могат да използват всяка главна буква от А до Я като флаг за транзакции, което позволява по-детайлна категоризация.
Важно е, че тези промени са обратно съвместими, така че вашите съществуващи Beancount v2 файлове с регистри ще работят без никакви модификации.