Ga naar hoofdinhoud

Eén bericht getagd met "Beancount v3"

Bekijk alle tags

Beancount v3: Wat is er nieuw?

· 3 minuten leestijd
Mike Thrift
Mike Thrift
Marketing Manager

Beancount versie 3, uitgebracht medio 2024, markeert een belangrijke architecturale evolutie voor de populaire platte-tekst boekhoudtool. Hoewel het achterwaartse compatibiliteit voor gebruikersgrootboekbestanden behoudt, hebben de onderliggende structuur en bijbehorende tools aanzienlijke veranderingen ondergaan. Hier is een overzicht van wat er nieuw is in Beancount v3.

Een Modulairdere en Gestroomlijndere Architectuur

2025-06-06-whats-new-in-beancount-v3

De meest significante verandering in Beancount v3 is de overgang naar een modulairder ecosysteem. Verschillende belangrijke functionaliteiten die voorheen gebundeld waren met de kern, zijn afgesplitst in afzonderlijke, onafhankelijke projecten. Dit maakt de kern van Beancount slanker en maakt een meer gerichte ontwikkeling van individuele componenten mogelijk.

De belangrijkste componenten die nu afzonderlijke pakketten zijn, omvatten:

  • beanquery: De krachtige SQL-achtige querytool voor uw grootboekbestanden bevindt zich nu in een eigen pakket.
  • beangulp: Dit is de nieuwe thuisbasis voor het data-importframework, ter vervanging van de voormalige beancount.ingest module.
  • beanprice: Een speciale tool voor het ophalen van prijzen van grondstoffen en aandelen.

Deze scheiding betekent dat gebruikers deze pakketten naast beancount zelf moeten installeren om de volledige functionaliteit te behouden die ze gewend waren in versie 2.

Wijzigingen in Command-Line Tools en Workflows

Als gevolg van de nieuwe modulaire architectuur zijn er enkele opmerkelijke wijzigingen in de command-line tools:

  • bean-report is verdwenen: Deze tool is verwijderd. Gebruikers worden nu aangemoedigd om bean-query (uit het beanquery pakket) te gebruiken voor hun rapportagebehoeften.
  • Nieuwe Importeer Workflow: De bean-extract en bean-identify commando's zijn verwijderd uit de kern. De nieuwe aanpak met beangulp is script-gebaseerd. Gebruikers zullen nu hun eigen Python-scripts maken om het importeren van gegevens uit externe bronnen zoals bankafschriften af te handelen.

Syntax en Functieverbeteringen

Hoewel de kernboekhoudprincipes hetzelfde blijven, introduceert Beancount v3 enkele welkome flexibiliteit in de syntax:

  • Flexibelere Valutacodes: De eerdere beperkingen op de lengte en tekens voor valutanamen zijn versoepeld. Valutasymbolen met één teken worden nu ondersteund.
  • Uitgebreide Transactievlaggen: Gebruikers kunnen nu elke hoofdletter van A tot Z gebruiken als vlag voor transacties, wat een meer gedetailleerde categorisatie mogelijk maakt.

Belangrijk is dat deze wijzigingen achterwaarts compatibel zijn, dus uw bestaande Beancount v2 grootboekbestanden werken zonder enige aanpassingen.

De C++ Herimplementatie en Prestaties

Een van de langetermijndoelen voor Beancount is een herimplementatie van de prestatiekritieke componenten in C++. Hoewel dit werk gaande is, bevat de initiële release van Beancount v3 niet de op C++ gebaseerde kern. Dit betekent dat de prestaties van v3 voorlopig vergelijkbaar zijn met v2. De C++-code blijft in een aparte ontwikkelingsbranch voor toekomstige integratie.

Migreren van v2 naar v3

Voor de meeste gebruikers is de migratie van Beancount v2 naar v3 relatief eenvoudig:

  1. Grootboekbestanden: Er zijn geen wijzigingen nodig voor uw .beancount bestanden.
  2. Installatie: U moet de nieuwe, afzonderlijke pakketten zoals beanquery en beangulp installeren met pip.
  3. Importeer Scripts: Als u aangepaste importeurs heeft, moet u deze bijwerken om de nieuwe beangulp API te gebruiken. Dit omvat voornamelijk het wijzigen van de basisklasse waarvan uw importeurs erven en het aanpassen van enkele methodesignaturen.
  4. Fava: De populaire webinterface voor Beancount, Fava, is bijgewerkt om compatibel te zijn met v3. Zorg ervoor dat u de nieuwste versie van Fava heeft voor een naadloze ervaring.

In essentie is Beancount v3 een fundamentele release die de architectuur van het project stroomlijnt, waardoor het modulairder en gemakkelijker te onderhouden en uit te breiden is op de lange termijn. Hoewel het enkele aanpassingen aan gebruikersworkflows vereist, vooral rond data-import, legt het de basis voor de toekomstige ontwikkeling van deze krachtige boekhoudtool.