Actualitzat a 2026-09-15.
Beancount versió 3, publicada a mitjan 2024, marca una evolució arquitectònica significativa per a la popular eina de comptabilitat en text pla. Tot i que manté la compatibilitat cap enrere per als fitxers de llibre major de l'usuari, l'estructura subjacent i les eines que l'acompanyen han patit canvis substancials. Aquí teniu un desglossament del que hi ha de nou a Beancount v3 — i el que ha arribat a la línia 3.1–3.2 des que es va publicar aquesta guia.
Per a la sintaxi i els primers llibres majors, vegeu la referència de sintaxi de Beancount i Començar. Per a la CLI allotjada que embolcalla la comprovació, la consulta, la importació i els informes, vegeu la referència de la CLI de Beancount.
Una arquitectura més modular i simplificada
El canvi més significatiu de Beancount v3 és el pas a un ecosistema més modular. Diverses funcionalitats clau que anteriorment estaven incloses al nucli s'han separat en projectes independents. Això fa que el nucli de Beancount sigui més lleuger i permet un desenvolupament més centrat en els components individuals.
Els components clau que ara són paquets separats inclouen:
- beanquery: La potent eina de consulta semblant a SQL per als vostres fitxers de llibre major ara és al seu propi paquet.
- beangulp: Aquesta és la nova ubicació per al marc d'importació de dades, que substitueix l'antic mòdul
beancount.ingest. - beanprice: Una eina dedicada per obtenir preus de mercaderies i accions.
Aquesta separació vol dir que els usuaris hauran d'instal·lar aquests paquets a més de beancount per conservar la funcionalitat completa a la qual estaven acostumats a la versió 2.
Canvis a les eines de línia d'ordres i als fluxos de treball
Reflectint la nova arquitectura modular, hi ha alguns canvis notables a les eines de línia d'ordres:
bean-reportha desaparegut: Aquesta eina s'ha eliminat. Ara es recomana als usuaris que utilitzinbean-query(del paquetbeanquery) per a les seves necessitats d'informes.- Nou flux de treball d'importació: Els comandaments
bean-extractibean-identifys'han eliminat del nucli. El nou enfocament ambbeangulpes basa en scripts. Els usuaris hauran de crear els seus propis scripts de Python per gestionar la importació de dades de fonts externes com ara extractes bancaris.
Millores de sintaxi i funcionalitats
Tot i que els principis comptables bàsics continuen sent els mateixos, Beancount v3 introdueix una flexibilitat benvinguda a la seva sintaxi:
- Codis de moneda més flexibles: S'han relaxat les restriccions anteriors sobre la longitud i els caràcters per als noms de moneda. Ara es permeten símbols de moneda d'un sol caràcter.
- Marques de transacció ampliades: Els usuaris ara poden utilitzar qualsevol lletra majúscula de la A a la Z com a marca per a les transaccions, cosa que permet una categorització més granular.
Important: aquests canvis són compatibles cap enrere, de manera que els vostres fitxers de llibre major existents de Beancount v2 funcionaran sense cap modificació.
La reescriptura en C++ i el rendiment
Un dels objectius a llarg termini de Beancount ha estat una reescriptura dels seus components crítics per al rendiment en C++. La versió inicial de Beancount v3 no incloïa un nucli en C++, i a data de 2026-09-15 això continua sent cert: la línia publicada a PyPI (fins a 3.2.3) és encara la branca modular de Python v3. El treball històric en C++/Bazel viu en una branca cpp separada i no forma part dels paquets que els usuaris instal·len des de PyPI. El rendiment quotidià de les versions v3 actuals és, per tant, de la mateixa classe que el de les darreres v2, amb millores incrementals de l'analitzador i de les eines, més que no pas una reescriptura en C++ d'un ordre de magnitud.
Des que es va escriure això (v3.1 → v3.2.x)
Fonts primàries: el fitxer CHANGES del projecte, vistes de comparació de GitHub per a 3.1.0…3.2.0, i PyPI beancount (l'última 3.2.3 a data de 2026-09-15).
- Línia 3.1.x — Neteja continuada de l'empaquetatge i de l'API després de la divisió modular de la 3.0 (
beanquery,beangulp,beanpricecontinuen sent instal·lacions separades). - 3.2.0 (2025-09-14) — Commit de publicació a
beancount/beancount; treball notable orientat a l'usuari en aquesta finestra incloubean-formatmulti-fitxer, refinaments de tolerància/precisió, i manteniment de wheels/CI (vegeu l'enllaç de comparació anterior). - 3.2.1–3.2.3 (2026) — Publicacions binàries i d'empaquetatge posteriors (incloent-hi cobertura de proves per a Python 3.14 i estructura de documentació esmentada al resum de la 3.2.1 a la llista de correu). Instal·leu amb
pip install -U beancounti fixeu els companys (beanquery,beangulp) a majors coincidents en actualitzar.
Fava: Fava 1.30 va afegir suport per a Beancount 3 (2024-12-29). Fava 1.30.13 (2026-05-19) va eliminar el suport per a Beancount 2 i espera beangulp per als importadors. La línia actual de PyPI a data de 2026-09-15 és 1.30.16. Combineu les actualitzacions de Fava amb un llibre major de Beancount 3.
Migració de v2 a v3
Per a la majoria d'usuaris, la migració de Beancount v2 a v3 és relativament senzilla:
- Fitxers de llibre major: No cal cap canvi als vostres fitxers
.beancount. - Instal·lació: Haureu d'instal·lar els nous paquets separats com ara
beanqueryibeangulpambpip. - Scripts d'importació: Si teniu importadors personalitzats, haureu d'actualitzar-los per utilitzar la nova API de
beangulp. Això implica principalment canviar la classe base de la qual hereten els vostres importadors i ajustar algunes signatures de mètodes. - Fava: La popular interfície web per a Beancount, Fava, s'ha actualitzat per ser compatible amb v3. Assegureu-vos de tenir l'última versió de Fava per a una experiència fluida.
En essència, Beancount v3 és una versió fonamental que simplifica l'arquitectura del projecte, fent-la més modular i més fàcil de mantenir i ampliar a llarg termini. Tot i que requereix alguns ajustos als fluxos de treball de l'usuari, especialment al voltant de la importació de dades, estableix les bases per al desenvolupament futur d'aquesta potent eina comptable.





