Actualitzat a 2026-09-15.
Per a un catàleg mantingut d'importadors, plugins, editors i fonts de preus, comença per Awesome Beancount. Per a fluxos de treball pràctics de la comunitat, consulta la mostra comunitària. Per a la CLI allotjada que envolta check, query, import i reports, consulta la referència de la CLI Beancount; l'anàlisi orientada a Fava es troba a Solucions: analítiques.
Funcionalitat Bàsica i Filosofia de Beancount
Beancount és un sistema de comptabilitat de doble entrada de codi obert que utilitza fitxers de text pla per registrar transaccions. En el seu nucli, Beancount tracta el seu llibre major com un conjunt de dades definit per una gramàtica simple i estricta. Cada esdeveniment financer (transaccions, obertures de comptes, preus de mercaderies, etc.) és una directiva en un fitxer de text, que Beancount analitza en una base de dades en memòria d'entrades. Aquest disseny aplica el principi de doble entrada: cada transacció ha de balancejar débits i crèdits entre comptes. El resultat és un llibre major altament transparent i auditable que pots controlar amb versions, inspeccionar i consultar fàcilment.
Filosofia – correcció i minimalisme: El disseny de Beancount prioritza la integritat de les dades i la simplicitat. El seu creador, Martin Blais, descriu Beancount com "pessimista" en assumir que l'usuari cometrà errors i, per tant, imposa comprovacions i restriccions addicionals. Per exemple, Beancount no permetrà eliminar actius que mai no s'han afegit (evitant saldos negatius d'accions o efectiu) i pot obligar que cada compte s'obri abans d'utilitzar-lo. No té el concepte de "postings virtuals" o automàticament balancejats de Ledger – una elecció intencionada per forçar entrades completament balancejades. Beancount efectivament "va a fons" en la correcció amb més comprovacions creuades que la doble entrada bàsica. Aquest enfocament cautelós atrau usuaris que "no es refien massa de si mateixos" i volen que el programari detecti els seus errors.
Opcions mínimes, màxima consistència: En contrast amb la multitud de banderes de línia d'ordres i opcions d'ajust de Ledger, Beancount opta pel minimalisme. Hi ha molt poques opcions globals, i cap que canviï la semàntica de les transaccions fora del fitxer del llibre major. Tota la configuració que afecta la comptabilitat (com els mètodes de base de cost de mercaderies o les suposicions de reserva) es fa al fitxer mitjançant directivas o plugins, assegurant que carregar el mateix fitxer sempre produeixi els mateixos resultats independentment de com es generin els informes. Aquest disseny evita la complexitat dels molts botons de Ledger i les interaccions subtils entre ells. La filosofia de Beancount és que una eina de comptabilitat hauria de ser un pipeline estable i determinista des del fitxer d'entrada fins als informes. Aconsegueix això tractant el llibre major com un flux ordenat de directivas que es pot processar programàticament en seqüència. Fins i tot coses que Ledger tracta com a sintaxi especial (com saldos inicials o declaracions de preus) són directivas de primera classe en el model de dades de Beancount, cosa que fa que el sistema sigui altament extensible.
Extensibilitat mitjançant plugins i llenguatge de consulta: Beancount està implementat en Python i proporciona enllaços per injectar lògica personalitzada al pipeline de processament. Els usuaris poden escriure plugins en Python que operen sobre el flux de transaccions (per exemple, per aplicar una regla personalitzada o generar entrades automàtiques). Aquests plugins s'executen mentre es processa el fitxer, estenent efectivament la funcionalitat bàsica de Beancount sense necessitat de modificar el codi font. Beancount també inclou un llenguatge de consulta potent (inspirat en SQL) per analitzar el llibre major. L'eina bean-query tracta el llibre major analitzat com una base de dades i et permet executar consultes analítiques – per exemple, sumar despeses per categoria o extreure totes les transaccions per a un beneficiari determinat. A Beancount 3.x, aquesta capacitat de consulta es va moure a un paquet independent beanquery, però des de la perspectiva de l'usuari encara proporciona informes flexibles mitjançant consultes semblants a SQL.
Text pla i control de versions: Com a eina de comptabilitat en text pla, Beancount emfatitza el control de l'usuari i la longevitat de les dades. El llibre major és simplement un fitxer de text .beancount que pots editar en qualsevol editor de text. Això significa que tota la teva història financera s'emmagatzema en una forma llegible per humans, i pots posar-la a Git o un altre sistema de control de versions per seguir els canvis al llarg del temps. Els usuaris sovint mantenen el seu fitxer Beancount sota control de versions per mantenir un rastre d'auditoria de cada edició (amb missatges de commit que descriuen els canvis). Aquest enfocament s'alinea amb la filosofia de Beancount que les dades de comptabilitat, especialment les finances personals o de petites empreses, haurien de ser transparents i "a prova de futur" – no tancades en una base de dades propietària. En paraules de Martin Blais, Beancount és una "obra d'amor" construïda per ser simple, duradora i gratuïta per a la comunitat. Es va desenvolupar per primera vegada al voltant de 2007 i ha evolucionat a través de reescriptures importants (v1 a v2, i ara v3 el 2024) per refinar el seu disseny mentre preserva la seva filosofia bàsica de minimalisme i correcció.
Eines, Plugins i Extensions a l'Ecosistema Beancount
L'ecosistema Beancount ha crescut amb un ric conjunt d'eines, plugins i extensions que milloren la funcionalitat bàsica del llibre major. Cobreixen la importació de dades, l'edició de llibres majors, la visualització d'informes i l'addició de funcions de comptabilitat especialitzades. A continuació es mostra una visió general dels components clau i complements al món Beancount:
Utilitats d'Importació de Dades (Importadors)
Una de les necessitats més importants per a l'ús pràctic és importar transaccions de bancs, targetes de crèdit i altres institucions financeres. Beancount proporciona un marc d'importació i scripts d'importació contribuïts per la comunitat per a aquest propòsit. A Beancount 2.x, el mòdul integrat beancount.ingest (amb ordres com bean-extract i bean-identify) s'utilitzava per definir plugins d'importació en Python i aplicar-los a extractes descarregats. A Beancount 3.x, això s'ha substituït per un projecte extern anomenat Beangulp. Beangulp és un marc d'importadors dedicat que va evolucionar des de beancount.ingest i ara és la manera recomanada d'automatitzar la importació de transaccions per a Beancount 3.0. Permet escriure scripts de Python o eines de línia d'ordres que llegeixen fitxers externs (com extractes CSV o PDF) i generen entrades Beancount. Aquest nou enfocament desacobla la lògica d'importació del nucli de Beancount – per exemple, l'antiga ordre bean-extract s'ha eliminat a v3, i en lloc seu els teus scripts d'importació produeixen transaccions mitjançant la interfície de línia d'ordres de Beangulp.
Existeixen dotzenes d'importadors ja fets per a diferents bancs i formats, contribuïts per la comunitat. Hi ha scripts d'importació per a institucions de tot el món – des d'Alipay i WeChat Pay a la Xina, fins a diversos bancs europeus (Commerzbank, ING, ABN AMRO, etc.), fins a bancs dels EUA com Chase i Amex. Molts d'aquests es recullen en repositoris públics (sovint a GitHub) o en paquets com beancount-importers. Per exemple, el projecte Tarioch Beancount Tools (tariochbctools) proporciona importadors per a bancs suïssos i britànics i fins i tot gestiona importacions de transaccions cripto. Un altre exemple és Lazy Beancount, que empaqueta un conjunt d'importadors comuns (per a Wise, Monzo, Revolut, IBKR, etc.) i proporciona una configuració basada en Docker per a una automatització fàcil. No importa quin banc o servei financer utilitzis, és probable que algú hagi escrit un importador Beancount per a ell – o pots escriure'n un tu mateix utilitzant el marc de Beangulp. La flexibilitat de Python significa que els importadors poden gestionar la interpretació de fitxers CSV/Excel, descàrregues OFX/QIF, o fins i tot raspallar APIs, i després emetre transaccions en el format estandarditzat Beancount.
Edició i Integració amb Editors
Com que els llibres majors de Beancount són només text, els usuaris sovint aprofiten els seus editors de text o IDEs preferits per mantenir-los. L'ecosistema proporciona plugins de suport d'editors per fer aquesta experiència més fluida. Hi ha extensions per a molts editors populars que afegeixen resaltat de sintaxi, compleció automàtica de noms de comptes i comprovació d'errors en temps real:
- Beancount-Mode per a Emacs: Un mode principal d'Emacs (
beancount-mode) està disponible per editar fitxers .beancount, oferint funcions com coloració de sintaxi i integració amb el verificador de Beancount. Fins i tot pot executarbean-checken segon pla perquè els errors al llibre major (com una transacció no balancejada) es marquin mentre edites. - Extensió de VS Code: Una extensió Beancount al Marketplace de VSCode proporciona conveniències similars per als usuaris de Visual Studio Code. Dona suport a resaltat de sintaxi, alineació d'imports, compleció automàtica per a comptes/beneficiaris, i fins i tot comprovacions de saldo sobre la marxa quan deses el fitxer. També es pot integrar amb Fava, permetent llançar la interfície web de Fava des de VSCode.
- També existeixen plugins o modes per a Vim, Atom i altres editors. Per exemple, hi ha una gramàtica Tree-sitter per a Beancount, que alimenta el resaltat de sintaxi en editors moderns i fins i tot es va adoptar al component d'edició web de Fava. En resum, sigui quin sigui el teu entorn d'edició, la comunitat probablement ha proporcionat un plugin per fer l'edició de fitxers Beancount convenient i lliure d'errors.
Per a l'entrada ràpida de transaccions fora dels editors tradicionals, també hi ha eines com Bean-add i aplicacions mòbils. Bean-add és una eina de línia d'ordres que permet afegir una nova transacció mitjançant un prompt o una ordre d'una línia, gestionant suggeriments de dates i comptes. A mòbil, un projecte anomenat Beancount Mobile proporciona una interfície senzilla per introduir transaccions sobre la marxa (per exemple, registrar una compra en efectiu des del teu telèfon). A més, existeix un Bot de Telegram per a Beancount per capturar transaccions mitjançant missatges – pots enviar un missatge amb els detalls de la transacció, i el bot el formata al teu fitxer de llibre major.
Frontends Web i Eines de Visualització
(Fava) La interfície web de Fava proporciona un tauler interactiu per a Beancount, amb informes com un compte de resultats amb visualitzacions (mostrat aquí com un arbre de despeses per categoria) al costat de taules de comptes i saldos.
El frontend insígnia per a Beancount és Fava, una interfície web moderna. Fava s'executa com una aplicació web local que llegeix el teu fitxer Beancount i produeix una experiència interactiva rica al teu navegador. Ofereix un conjunt complet d'informes: balanç de situació, compte de resultats, patrimoni net al llarg del temps, cartera d'inversions, gràfics de rendiment, pressupostos i més – tot de sèrie. Els usuaris sovint citen Fava com una raó principal per triar Beancount sobre altres eines de comptabilitat en text pla. Amb una sola ordre (fava ledger.beancount), pots navegar per les teves finances amb gràfics i taules en lloc de text. Fava admet funcions com: aprofundir en comptes, filtrar transaccions per beneficiari o etiqueta, un editor de consultes (perquè puguis executar consultes Beancount i veure resultats al navegador), i fins i tot un editor web integrat per al teu llibre major. És molt utilitzable, fent que la comptabilitat en text pla sigui accessible per a aquells que prefereixen interfícies visuals.
Sota el capó, Fava està escrit en Python (Flask al backend) i JavaScript (Svelte al frontend). Té el seu propi cicle de versions i es manté activament. Notablement, Fava ha seguit el ritme del desenvolupament de Beancount – per exemple, Fava 1.30 va afegir suport per a Beancount v3, canviant a utilitzar els nous paquets beanquery i beangulp internament. A partir de Fava 1.30.13 (2026-05-19) (changelog), el suport per a Beancount 2 es va eliminar completament — el Fava actual de PyPI (1.30.16 a data de 2026-09-15) espera un llibre major Beancount 3 i importadors basats en beangulp. L'enfocament de Fava en la utilitat inclou detalls agradables com l'autocompleció a l'editor web, i una interfície elegant amb mode fosc i gràfics responsius. També hi ha una derivació anomenada Fava-GTK, que empaqueta Fava en una aplicació d'escriptori per a usuaris de GNOME/Linux que prefereixen la sensació d'una aplicació nativa.
Més enllà de Fava, hi ha altres opcions de visualització i anàlisi. Com que les dades de Beancount es poden exportar o consultar com a taules, els usuaris sovint aprofiten eines com quaderns Jupyter o Pandas per a anàlisis personalitzades. Per exemple, un usuari descriu extreure dades de Beancount mitjançant la interfície de consulta a un DataFrame de Pandas per preparar un informe personalitzat. També hi ha scripts contribuïts per la comunitat per a informes específics – per exemple, una eina d'anàlisi d'assignació de cartera o un gràfic de control de processos per a despeses vs. patrimoni net. No obstant això, per a la majoria de la gent Fava proporciona prou poder d'informes sense necessitat d'escriure codi. Fins i tot admet extensions: pots afegir fitxers Python que afegeixin noves pàgines d'informe o gràfics a Fava. Una extensió notable és fava-envelope per a pressupostació per sobres dins de Fava. En general, Fava serveix com el centre de visualització central de l'ecosistema Beancount.
Utilitats de Línia d'Ordres i Scripts
Beancount ve amb diverses eines CLI (especialment a la branca v2 més antiga, algunes de les quals es van retallar a v3). Aquestes eines operen sobre el teu fitxer de llibre major per verificar-lo o generar informes específics en text o HTML:
- bean-check: un validador que comprova errors de sintaxi o comptabilitat al fitxer. Executar
bean-check myfile.beancountt'alertarà de qualsevol desequilibri, compte absent o altre problema, i no genera res si el fitxer està lliure d'errors. - bean-format: un formatador que endreça el teu llibre major alineant els números en columnes netes, com executar un formatador de codi sobre codi font. Això ajuda a mantenir el fitxer net i llegible.
- bean-query: una shell interactiva o eina per lots per executar el llenguatge de consulta de Beancount sobre el teu llibre major. Pots utilitzar-lo per produir informes tabulars personalitzats (per exemple,
bean-query myfile.beancount "SELECT account, sum(amount) WHERE ..."). - bean-report: un generador d'informes versàtil (a v2) que pot generar informes predefinits (balanç de situació, compte de resultats, balanç de comprovació, etc.) a la consola o a fitxers. Per exemple,
bean-report file.beancount balancesimprimiria els saldos dels comptes. (A la pràctica, molts d'aquests informes de text han estat substituïts per la presentació més agradable de Fava.) - bean-web / bean-bake: una interfície web més antiga que servia els informes a
localhosto els "couia" com a fitxers HTML estàtics. Aquests s'utilitzaven principalment abans que Fava es popularitzés; bean-web proporcionava una vista web bàsica dels mateixos informes que bean-report podia generar. A Beancount 3, bean-web s'ha eliminat (ja que Fava és el frontend web recomanat ara, oferint una experiència superior). - bean-example: una utilitat per generar un fitxer de llibre major d'exemple (útil per a nouvinguts per veure una plantilla d'entrades Beancount).
- bean-doctor: una eina de depuració que pot diagnosticar problemes al teu llibre major o entorn.
Val la pena notar que a partir de Beancount v3, moltes d'aquestes eines es van moure fora del projecte principal. El paquet bàsic de Beancount es va racionalitzar, i eines com el motor de consultes i els importadors es van dividir en paquets separats (beanquery, beangulp, etc.) per facilitar el manteniment. Per exemple, la funcionalitat de bean-query ara la proporciona l'eina beanquery que s'instal·la per separat. Des de la perspectiva de l'usuari, la funcionalitat continua disponible; només s'ha modularitzat. La comunitat d'Arch Linux va notar aquest canvi en actualitzar Fava: el paquet Fava va afegir dependències de beanquery i beangulp per donar suport a Beancount 3.x. Aquest enfocament modular també permet que altres membres de la comunitat contribueixin a aquestes eines auxiliars més independentment del cicle de versions de Beancount.
Plugins i Extensions de Beancount
Una fortalesa destacada de l'ecosistema Beancount és el sistema de plugins. Afegint una línia plugin "module.name" al teu fitxer Beancount, pots incorporar lògica Python personalitzada que s'executa durant el processament del llibre major. La comunitat ha creat molts plugins per estendre les capacitats de Beancount:
- Qualitat de dades i regles: Exemples inclouen
beancount-balexprque et permet afirmar equacions que involucren múltiples comptes (per exemple, Actiu A + Actiu B = Passiu X), ibeancount-checkclosedque insereix automàticament afirmacions de saldo quan tanques un compte per assegurar que netegi a zero. Fins i tot hi ha un plugin per assegurar que les transaccions al fitxer estiguin ordenades per data (autobean.sorted) per detectar entrades fora d'ordre. - Automatització: El plugin
beancount-asset-transferpot generar entrades de transferència en espècie entre comptes (útil per moure accions entre corredors preservant la base de cost). Un altre,autobean.xcheck, fa comprovacions creuades del teu llibre major Beancount contra extractes externs per detectar discrepàncies. - Transaccions recurrents i pressupostos: El plugin "repeat" o interpolate d'Akuukis permet definir transaccions recurrents o repartir una despesa anual entre mesos. Per a pressupostos, l'extensió
fava-envelope(utilitzada a través de Fava) admet la metodologia de pressupostació per sobres en text pla. També hi ha MiniBudget de Frank Davies – una petita eina independent inspirada en Beancount per ajudar amb pressupostos per a ús personal o de petites empreses. - Impostos i informes: Alguns plugins ajuden amb la comptabilitat fiscal, com un que classifica les plusvàlues en curt vs. llarg termini automàticament. Un altre (
fincen_114de Justus Pendleton) genera un informe FBAR per a contribuents dels EUA amb comptes estrangers, il·lustrant com es poden aprofitar les dades de Beancount per a informes regulatoris. - Repositoris de plugins comunitaris: Hi ha conjunts de plugins curats com beancount-plugins (de Dave Stephens) que se centren en coses com entrades de depreciació, i beancount-plugins-zack (de Stefano Zacchiroli) que inclouen diversos ajudants com ordenació de directivas.
A més dels plugins, altres eines d'utilitat que orbiten Beancount aborden necessitats específiques. Per exemple, beancount-black és un autoformattedor similar al formatador de codi Black, però per a fitxers de llibre major Beancount. Hi ha un Bot Beancount (Telegram/Mattermost) per afegir transaccions via xat com s'ha mencionat, i un flux de treball Alfred per a macOS per afegir ràpidament transaccions al teu fitxer. Una eina anomenada Pinto ofereix una CLI "supercarregada" amb entrada interactiva (com un bean-add millorat). Per a aquells que migren des d'altres sistemes, existeixen convertidors (YNAB2Beancount, CSV2Beancount, GnuCash2Beancount, Ledger2Beancount) per ajudar a portar dades d'altres llocs.
En resum, l'ecosistema Beancount és bastant extens. La Taula 1 a continuació llista algunes eines i extensions principals amb els seus rols:
| Eina/Extensió | Descripció |
|---|---|
| Fava (interfície web) | Aplicació web amb totes les funcions per veure i editar llibres Beancount. Proporciona informes interactius (balanç de situació, resultats, etc.), gràfics i capacitats de consulta. Gran impulsor d'usabilitat per a Beancount. |
| Beangulp (marc d'importació) | Marc d'importador independent per a Beancount v3, substituint el mòdul ingest més antic. Ajuda a convertir extractes bancaris (CSV, PDF, etc.) en entrades Beancount mitjançant scripts de plugin. |
| Beanquery (eina de consulta) | Motor de consulta independent semblant a SQL per a dades Beancount. Substitueix bean-query a v3, permetent consultes avançades de transaccions i saldos mitjançant una sintaxi familiar SELECT-FROM-WHERE. |
| Bean-check / Bean-format | Eines CLI bàsiques per validar un fitxer Beancount (comprovar errors) i autoformatar-lo per a la consistència. Útils per mantenir un llibre major correcte i net. |
| Plugins d'Editors (Emacs, VSCode, Vim, etc.) | Plugins/modes que afegeixen suport de sintaxi Beancount i linting en editors de text. Milloren l'experiència d'editar manualment fitxers .beancount amb funcions com autocompleció i resaltat d'errors en viu. |
| Importadors Comunitaris | Col·leccions de scripts d'importació bancària (molts a GitHub) que cobreixen bancs als EUA, UE, Àsia i més. Permeten als usuaris ingerir automàticament transaccions de les seves institucions financeres a Beancount. |
| Plugins (Extensions del llibre major) | Plugins opcionals al fitxer per aplicar regles o afegir funcionalitat (per exemple, compartir despeses, entrades recurrents, afirmacions de saldo personalitzades). Escrits en Python i executats durant el processament del fitxer per a personalització. |
| Convertidors (Eines de migració) | Utilitats per convertir dades d'altres formats a Beancount, per exemple de GnuCash o Ledger CLI al format Beancount. Faciliten adoptar Beancount sense començar de zero. |
| CLI bea (Beancount.io) | CLI allotjada i amigable localment (bea check, bea query, bea import, bea report, …) documentada a la referència CLI. Envolta les eines de Beancount 3 per a operacions diàries del llibre major. |
| Open Ledger | Llibres majors públics d'empreses publicats com a fitxers Beancount i incrustats en publicacions de resultats — consulta /open-ledger i la mostra comunitària per veure com viatgen els llibres en text pla. |
CLI Allotjada i Open Ledger (afegit 2026)
Dues peces que eren fines o faltaven quan es va redactar aquesta visió general per primera vegada ara es troben al flux de treball quotidià de Beancount.io:
- CLI
bea— La referència de la CLI Beancount i la iniciació ràpida a la CLI cobreixen validar llibres majors, executar BQL, importar fitxers bancaris i produir informes sense haver de gestionar punts d'entradabean-*separats. Prefereixbea check/bea queryquan segueixis exemples de la documentació actual. - Open Ledger — Els períodes fiscals públics d'empreses seleccionades viuen com a repositoris Beancount i apareixen mitjançant incrustacions de llibres majors al blog. Explora l'inventari a /open-ledger; el tutorial de modelatge és Modela una empresa pública a Beancount.
Comparació amb Ledger, hledger i Sistemes Similars
Beancount pertany a la família d'eines de comptabilitat de doble entrada en text pla, entre les quals Ledger CLI (el Ledger de John Wiegley) i hledger són prominents. Tot i que tots aquests sistemes comparteixen la idea bàsica de fitxers de llibre major en text pla i comptabilitat de doble entrada, difereixen en sintaxi, filosofia i maduresa de l'ecosistema. La taula següent destaca les diferències clau entre Beancount, Ledger i hledger:
| Aspecte | Beancount (Python) | Ledger CLI (C++) | hledger (Haskell) |
|---|---|---|---|
| Sintaxi i Estructura del Fitxer | Sintaxi estricta i estructurada definida per una gramàtica formal (BNF). Les transaccions tenen línies explícites date flag "Beneficiari" "Narració" i postings amb quantitats; tots els comptes han d'obrir-se/definir-se explícitament. Sense postings implícits; cada transacció ha de balancejar. | Sintaxi més lliure. El beneficiari/descripció normalment a la mateixa línia que la data. Permet cert balanceig implícit (com una transacció amb un sol posting pot implicar un segon posting a un compte per defecte). Els noms de compte es poden utilitzar sense declaració prèvia. Ofereix moltes opcions de línia d'ordres que poden afectar la interpretació (per exemple, suposicions d'any, regles de fusió de mercaderies). | Segueix en gran part la sintaxi de Ledger amb diferències menors. hledger és una reimplementació de les funcions bàsiques de Ledger en Haskell, així que el format del diari és molt similar al de Ledger (amb algunes extensions i una interpretació més estricta per defecte). Per exemple, hledger és una mica més estricte sobre dates i sintaxi de mercaderies que Ledger, però no tan estricte com Beancount. |
| Filosofia | Conservadora i Pedant. Emfatitza detectar errors de l'usuari i mantenir la integritat de les dades per sobre de tot. Imposa moltes comprovacions (afirmacions de saldo, seguiment de lots) per defecte. Configuració mínima – enfocament "una manera de fer-ho" per a la consistència. Dissenyat com una biblioteca amb plugins per a l'extensibilitat (tracta les dades del llibre major com un flux a processar, permetent lògica Python personalitzada). | Optimista i Flexible. Confia que l'usuari introdueixi les dades correctament; menys restriccions integrades per defecte. Altament personalitzable amb dotzenes d'opcions i banderes d'ordres per ajustar el comportament. Tendeix a ser una eina monolítica amb funcions integrades (informes, gràfics) i utilitza un llenguatge específic de domini dins del llibre major per a coses com transaccions automatitzades i transaccions periòdiques. L'extensibilitat normalment és mitjançant scripts externs o el llenguatge de consulta integrat en lloc d'APIs de plugin. | Pragmàtica i Consistent. Pretén portar l'enfocament de Ledger a un públic més ampli amb comportament previsible. hledger per defecte és més consistent (sense suposicions de balanceig sense comptes explícits) i té menys perills que els modes més permissius de Ledger. Té un subconjunt de les funcions de Ledger (algunes de les opcions més exòtiques de Ledger no són compatibles), però n'afegeix algunes de pròpies (com una interfície web i importació CSV integrada). Emfatitza l'estabilitat i la correcció, però sense un sistema de plugins com el de Beancount. |
| Transaccions i Balanceig | Doble entrada estricta: cada transacció ha de tenir totals iguals de débits i crèdits. No permet entrades desequilibrades ni marcadors de posició (sense "postings virtuals" que s'auto-balancegin). També aplica independència d'ordenació: el llibre major es pot ordenar per data arbitràriament perquè les afirmacions de saldo estan limitades per data, no depenen de l'ordre del fitxer. El seguiment de costos per a mercaderies és rigorós – quan vens actius, has d'especificar lots o Beancount aplicarà FIFO/LIFO de manera que no puguis eliminar alguna cosa que no vas afegir. | Permet més indulgència a les transaccions. Ledger permet "postings virtuals" (utilitzant claudàtors [ ] o parèntesis) que no requereixen un compte de balanceig explícit – sovint utilitzats per gestionar pressupostos o balanceig d'equitat implícit. És possible a Ledger introduir una transacció incompleta (ometent un costat) i deixar que Ledger infereixi l'import de balanceig. A més, Ledger no aplica estrictament l'eliminació d'actius lot per lot; restarà feliçment d'un saldo de mercaderies agregat fins i tot si no es van seguir lots específics. Això facilita, per exemple, la comptabilitat de cost mitjà, però significa que Ledger no t'aturarà de cometre errors com vendre més accions de les que tens en un lot determinat. | Similar a Ledger en permetre postings virtuals i balanceig implícit, però amb un comportament més consistent. hledger aplica regles d'interpretació més estrictes que Ledger però és més indulgent que Beancount. |
| Inventari i Base de Cost | Seguiment precís de lots. Beancount adjunta informació de cost als lots de mercaderies (per exemple, compra de 10 accions a 100 dòlars cadascuna), i en reduir un inventari requereix coincidir amb un lot específic o utilitzar una estratègia definida. Assegura que les plusvàlues i les bases de cost es calculin correctament per disseny. El mètode de cost mitjà no és el predeterminat tret que escriguis explícitament la lògica, perquè Beancount tracta cada lot de manera distintiva per preservar la precisió. | Inventari més abstracte. Ledger tracta els imports de mercaderies més fluidament; per defecte tots els lots es fusionen als informes (només mostra quantitats totals). Proporciona opcions per informar per lot o cost mitjà si cal, però això és una qüestió d'informes. Històricament, Ledger no utilitzava la informació de cost per aplicar el balanceig en transaccions de múltiples mercaderies, cosa que podia portar a càlculs subtils incorrectes de plusvàlues. No obstant això, la flexibilitat de Ledger permet als usuaris triar FIFO, LIFO, mitjà, etc., en el moment de l'informe mitjançant banderes de línia d'ordres. | Similar a Ledger amb gestió d'inventari flexible. hledger pot seguir lots quan s'especifiquen però no aplica el seguiment lot per lot tan estrictament com Beancount. Els càlculs de plusvàlues estan disponibles però requereixen més configuració manual. |
| Informes i UI | Principalment a través de Fava (UI web) i bean-query/bean-report. Fava ofereix un tauler web polit amb gràfics, fent Beancount molt amigable per a l'anàlisi. També admet informes textuals i consultes semblants a SQL mitjançant bean-query. Sense TUI oficial (interfície de text), però la integració amb editors/IDEs cobreix aquest buit. | Informes principalment basats en CLI. Ledger té moltes ordres d'informe integrades (balance, register, stats, etc.) que generen text al terminal. Pot produir gràfics (ASCII o via gnuplot) i fins i tot té complements per a informes HTML, però no té una interfície web oficial mantinguda com a part del projecte. (Hi ha hagut intents de tercers per a UIs web de Ledger, però cap tan prominent com Fava per a Beancount.) Per a una UI, els usuaris depenen del terminal o potser GUIs com Ledger-Live (un projecte separat). | Ofereix tant CLI com una UI web simple. hledger hereta els informes CLI de Ledger (amb ordres similars) i addicionalment proporciona hledger-web, una interfície web bàsica per veure comptes i transaccions al navegador. hledger-web no és tan ric en funcions com Fava, però dóna una visió general de només lectura. hledger també té hledger-ui, una interfície basada en curses per a ús interactiu. |
| Extensibilitat i Plugins | Alta extensibilitat via Python. L'API de plugins permet executar codi Python arbitrari durant el processament del llibre major, cosa que significa que els usuaris poden implementar funcions personalitzades sense modificar el nucli. L'ecosistema de plugins (per a pressupostos, etc.) ho demostra. També, un pot escriure scripts de Python per utilitzar les biblioteques de Beancount per a informes personalitzats. | Extensibilitat de nivell inferior. Ledger es pot estendre escrivint els teus propis scripts que analitzen la sortida de Ledger o utilitzant el seu llenguatge de consulta intern de maneres enginyoses. També té funcions com transaccions automatitzades (regles que generen automàticament postings donats disparadors al diari) i transaccions periòdiques, que són tipus d'extensibilitat integrada dins del fitxer del llibre major. Però no ofereix una API per injectar codi arbitrari al motor de comptabilitat – no és una biblioteca de la mateixa manera (tot i que libledger existeix per a desenvolupadors de C++). | Extensibilitat moderada. hledger omet deliberadament les funcions de transaccions automatitzades/periòdiques de Ledger per mantenir les coses més simples, però proporciona eines com hledger-import per a la conversió d'altres formats i permet complements. Estant escrit en Haskell, s'utilitza com a biblioteca en alguns projectes, però escriure plugins personalitzats no és tan directe com l'enfocament de Beancount. En lloc seu, hledger se centra a cobrir necessitats comunes (informes, web, UI) dins del seu conjunt d'eines oficial. |
| Comunitat i Desenvolupament | Activa però principalment impulsada per un autor (Martin Blais) i un petit grup de col·laboradors. Les versions principals són poc freqüents (v2 va ser estable durant ~6 anys, després v3 el 2024). La comunitat contribueix mitjançant plugins i eines (Fava originalment era un projecte de tercers que es va tornar integral). La llista de correu de Beancount i GitHub són actius amb discussions, i la base d'usuaris ha crescut gràcies a l'atractiu de Fava per a no desenvolupadors. | Llarga història (Ledger data de 2003) i ús ampli entre enginyers. Originalment un projecte d'una sola persona (Wiegley), va veure molts col·laboradors al llarg del temps. El desenvolupament de Ledger s'ha alentit en els darrers anys; és estable però amb menys funcions noves (el focus s'ha desplaçat al manteniment). La llista de correu ledger-cli és un centre per a totes les discussions de comptabilitat en text pla (incloent Beancount i hledger). Existeixen moltes eines i scripts al voltant de Ledger, però l'ecosistema no és tan unificat (sense un "Ledger GUI" únic, etc., tot i que existeixen múltiples esforços independents). | Comunitat creixent, amb Simon Michael liderant el desenvolupament d'hledger. hledger té versions anuals i millores constants, sovint seguint els canvis de funcions de Ledger però també forjant el seu propi camí. Gaudeix de popularitat entre usuaris que volen el poder de Ledger amb més previsibilitat. La comunitat tendeix a superposar-se amb la de Ledger (plaintextaccounting.org cobreix ambdues). L'ecosistema d'hledger inclou complements com hledger-flow (per a automatització de fluxos de treball) i es beneficia d'estar escrit en Haskell (atraient aquells d'aquesta comunitat). |
En resum, Beancount es diferencia amb el seu èmfasi en l'estrictesa, l'extensibilitat basada en plugins i una interfície web amigable. Ledger continua sent l'eina clàssica, altament flexible, afavorida pels puristes de la línia d'ordres i aquells que necessiten velocitat màxima (el motor C++ de Ledger és molt ràpid en fitxers enormes). hledger proporciona un terme mitjà – gran part de la funcionalitat de Ledger amb una mica més d'estructura i una UI web oficialment compatible (si bé simple). Els tres comparteixen els avantatges de la comptabilitat en text pla (auditabilitat, versionat Git, dades planes), però l'ecosistema de Beancount (especialment amb Fava) ha fet que sigui més accessible per a l'usuari mitjà en els darrers anys. D'altra banda, els usuaris de Ledger/hledger de vegades prefereixen la seva relativa simplicitat de configuració (sense necessitat de Python) i l'estabilitat provada de fa temps. En última instància, triar entre ells es redueix a preferències personals: els qui valoren la correcció rigorosa i un ecosistema ric sovint s'inclinen cap a Beancount, mentre que els qui volen eines lleugeres centrades al terminal podrien quedar-se amb Ledger o hledger.
Escenaris d'Ús per a Beancount
Beancount és prou versàtil per utilitzar-se per al seguiment de finances personals així com (en alguns casos) per a comptabilitat de petites empreses. El seu enfocament bàsic de doble entrada és el mateix en ambdós escenaris, però l'escala i les pràctiques específiques poden diferir.
Finances Personals
Molts usuaris de Beancount l'utilitzen per gestionar les seves finances individuals o familiars. Una configuració típica de finances personals a Beancount podria incloure comptes per a compte corrent i estalvis, targetes de crèdit, inversions, préstecs, categories d'ingressos (salari, interessos, etc.) i categories de despeses (lloguer, queviures, entreteniment, etc.). Els usuaris registren transaccions diàries manualment (introduint rebuts, factures, etc.) o important des d'extractes bancaris utilitzant les eines d'importació discutides anteriorment. Els beneficis que Beancount aporta a les finances personals inclouen:
- Consolidació i Anàlisi: Totes les teves transaccions poden viure en un únic fitxer de text (o un conjunt de fitxers) que representa anys d'història financera. Això facilita analitzar tendències a llarg termini. Amb el llenguatge de consulta de Beancount o amb Fava, pots respondre preguntes com "Quant he gastat en viatges en els darrers 5 anys?" o "Quin és el meu cost mitjà mensual de queviures?" en segons. Un usuari va notar que després de canviar a Beancount, "l'anàlisi de dades financeres (despeses, donacions, impostos, etc.) és trivial" ja sigui a través de Fava o consultant les dades i utilitzant eines com Pandas. En essència, el teu llibre major es converteix en una base de dades financera personal que pots consultar lliurement.
- Pressupostació i Planificació: Tot i que Beancount no imposa un sistema de pressupostos, pots implementar-ne un. Alguns usuaris fan pressupostació per sobres creant comptes de pressupost o utilitzant el plugin
fava-envelope. D'altres simplement utilitzen informes periòdics per comparar despeses amb objectius. Com que és text pla, integrar Beancount amb eines de pressupostos externes o fulls de càlcul és senzill (exportant dades o utilitzant sortides CSV de consultes). - Inversions i Seguiment del Patrimoni Net: Beancount excel·leix en el seguiment d'inversions gràcies al seu maneig robust de bases de cost i preus de mercat. Pots registrar compres/vendes d'accions, cripto, etc., amb detalls de cost, i després utilitzar directivas
Pricesper seguir el valor de mercat. Fava pot mostrar un gràfic de patrimoni net al llarg del temps i un desglossament de cartera per classe d'actiu. Això és enormement útil per a la gestió de riquesa personal – obteniu informació similar a la que proporcionen eines comercials com Mint o Personal Capital, però completament sota el teu control. Per a una visió classificada d'aquests taulers, consulta el resum d'alternatives a Mint i el resum d'alternatives a Empower / Personal Capital. El maneig de múltiples monedes també està integrat, així que si tens monedes estrangeres o cripto, Beancount pot seguir-les i convertir-les per a informes. - Conciliació i Precisió: Les finances personals sovint impliquen conciliar amb extractes bancaris. Amb Beancount, es poden conciliar comptes regularment utilitzant afirmacions de saldo o la funció de documents. Per exemple, cada mes podries afegir una entrada
balance Assets:Banc:Compte_Corrent <data> <saldo>per confirmar que el teu llibre major coincideix amb l'extracte del banc al final del mes. L'einabean-check(o la visualització d'errors de Fava) t'alertarà si les coses no quadren. Un usuari menciona fer una conciliació mensual de tots els comptes, cosa que "ajuda a detectar qualsevol activitat inusual" – una bona pràctica d'higiene de finances personals que Beancount facilita. - Automatització: Individus amb coneixements tècnics han automatitzat gran part del seu flux de treball de finances personals amb Beancount. Utilitzant importadors, treballs cron i potser una mica de Python, pots configurar el teu sistema perquè, per exemple, cada dia es baixin les transaccions bancàries (alguns utilitzen OFX o APIs) i s'afegeixin al teu fitxer Beancount, categoritzades per regles. Amb el temps, el teu llibre major esdevé majoritàriament autoactualitzat, i només has de revisar i ajustar quan calgui. Un membre de la comunitat a Hacker News va compartir que després de 3 anys, els seus llibres Beancount eren "95% automàtics". Aquest nivell d'automatització és possible gràcies a l'obertura del text pla i les capacitats de scripting de Beancount.
Els usuaris de finances personals sovint trien Beancount sobre fulls de càlcul o aplicacions perquè els dóna propietat completa de les dades (sense dependre d'un servei al núvol que podria desaparèixer – una preocupació, ja que Mint es va discontinuar, per exemple) i perquè la profunditat de la visió és més gran quan tens totes les teves dades integrades. La corba d'aprenentatge és no trivial – cal aprendre comptabilitat bàsica i la sintaxi de Beancount – però recursos com la documentació oficial i tutorials de la comunitat ajuden els nouvinguts a començar. Un cop configurat, molts troben que aporta tranquil·litat tenir una imatge clara i fiable de les seves finances en tot moment.
Comptabilitat de Petites Empreses
Utilitzar Beancount per a una petita empresa (o organització sense ànim de lucre, club, etc.) és menys comú que l'ús personal, però és certament possible i alguns ho han fet amb èxit. El marc de doble entrada de Beancount és de fet el mateix sistema que sustenta la comptabilitat corporativa, només que sense algunes de les funcions de nivell superior que proporciona el programari de comptabilitat dedicat (com mòduls de facturació o integracions de nòmines). Aquí tens com Beancount pot encaixar en un context de petita empresa:
- Llibre Major General i Estats Financers: Una petita empresa pot tractar el fitxer Beancount com el seu llibre major general. Tindries comptes d'actiu per a comptes bancaris, comptes a cobrar, potser inventari; comptes de passiu per a targetes de crèdit, préstecs, comptes a pagar; patrimoni per al capital del propietari; comptes d'ingressos per a vendes o serveis; i comptes de despeses per a totes les despeses empresarials. Mantenint aquest llibre major, pots produir un Compte de Resultats (Pèrdues i Guanys) i un Balanç de Situació en qualsevol moment utilitzant els informes o consultes de Beancount. De fet, els informes integrats de Beancount o Fava poden generar un balanç i un P&L en segons que estan perfectament alineats amb els principis de comptabilitat. Això pot ser suficient perquè una petita operació avaluï la rendibilitat, la posició financera i el flux d'efectiu (amb una mica de consulta per al flux d'efectiu, ja que els estats de flux d'efectiu directes no estan integrats però es poden derivar).
- Factures i Comptes a Cobrar/Pagar: Beancount no té un sistema de facturació integrat; els usuaris normalment gestionarien la facturació fora (per exemple, crear factures a Word o una aplicació de factures) i després registrar els resultats a Beancount. Per exemple, quan emets una factura, registraríes una entrada debitant Comptes a Cobrar i acreditant Ingressos. Quan arriba el pagament, débites Efectiu/Banc i acredites Comptes a Cobrar. D'aquesta manera, pots seguir els comptes a cobrar pendents mirant el saldo del compte de Comptes a Cobrar. El mateix s'aplica a les factures (Comptes a Pagar). Tot i que és més manual que el programari de comptabilitat especialitzat (que podria enviar recordatoris o integrar-se amb correus electrònics), és perfectament factible. Alguns usuaris han compartit plantilles o fluxos de treball sobre com gestionen factures amb Beancount i s'asseguren de no perdre's factures obertes (per exemple, utilitzant metadades o consultes personalitzades per llistar factures impagades).
- Inventari o Cost de Mercaderies Venudes: Per a empreses que venen productes, Beancount pot seguir compres i vendes d'inventari, però requereix entrades disciplinades. Podries utilitzar les funcions d'
Inventarii comptabilitat de costos: comprar inventari augmenta un compte d'actiu (amb cost adjunt als articles), vendre'l mou el cost a una despesa (CMV) i registra ingressos. Com que Beancount insisteix a coincidir lots, aplicarà la reducció adequada de l'inventari amb el cost correcte, cosa que de fet pot assegurar que els teus càlculs de benefici brut siguin precisos si es fa bé. No obstant això, no hi ha seguiment automatitzat de SKU ni res – tot és a nivell financer (quantitat i cost). - Nòmines i Transaccions Complexes: Beancount pot registrar transaccions de nòmines (despesa de salaris, retencions d'impostos, etc.), però calcular aquestes xifres podria fer-se externament o mitjançant una altra eina, i després només registrar-les a Beancount. Per a una empresa molt petita (digues un o dos empleats), això és manejable. Registraríes, per exemple, una sola entrada de diari per període de pagament que desglossa sous, impostos retinguts, despesa d'impost de l'empresari, efectiu pagat, etc. Fer-ho manualment és similar a com es podria fer en entrades de diari de QuickBooks – requereix coneixement de quins comptes tocar.
- Multi-usuari i Auditoria: Un repte en un entorn empresarial és si diverses persones necessiten accedir als llibres o si un comptable necessita revisar-los. Com que Beancount és un fitxer de text, no és multi-usuari en temps real. No obstant això, allotjar el fitxer en un repositori Git pot habilitar la col·laboració: cada persona pot editar i fer commit, i les diferències es poden fusionar.
- Compliment Regulatori: Per a la declaració d'impostos o el compliment, les dades de Beancount es poden utilitzar per generar els informes necessaris, però pot requerir consultes o plugins personalitzats. Hem vist un exemple de plugin comunitari per a informes de compliment del govern indi, i un per a informes FBAR de FinCEN. Això mostra que, amb esforç, Beancount es pot adaptar per satisfer requisits d'informes específics. Les petites empreses en jurisdiccions amb requisits simples (comptabilitat d'efectiu, o meritació bàsica) certament poden mantenir llibres a Beancount i produir estats financers per a declaracions d'impostos. No obstant això, funcions com calendaris de depreciació o amortització podrien requerir escriure les teves pròpies entrades o utilitzar un plugin (els plugins de depreciació de Dave Stephens ajuden a automatitzar-ho, per exemple). No hi ha una GUI per "fer clic a depreciar actiu" com en alguns programaris de comptabilitat; codificaries la depreciació com a transaccions (cosa que d'alguna manera ho desmitifica – tot és una entrada que pots inspeccionar).
A la pràctica, molts propietaris de petites empreses amb orientació tecnològica han utilitzat Beancount (o Ledger/hledger) si prefereixen el control i la transparència sobre la conveniència de QuickBooks. Una discussió a Reddit va assenyalar que per a la comptabilitat estàndard de petites empreses amb un volum limitat de transaccions, Beancount funciona bé. El factor limitant sol ser el nivell de comoditat – si el propietari de l'empresa (o el seu comptable) està còmode amb una eina basada en text. Un avantatge és el cost: Beancount és gratuït, mentre que el programari de comptabilitat pot ser costós per a una petita empresa. D'altra banda, la manca de suport oficial i la naturalesa de fer-ho tu mateix significa que és més adequat per a aquells que són alhora el propietari de l'empresa i una mica inclinats tècnicament. Per a autònoms o propietaris únics amb habilitats de programació, Beancount pot ser una opció atractiva per gestionar finances sense dependre de serveis de comptabilitat al núvol.
Enfocaments híbrids també són possibles: algunes petites empreses utilitzen un sistema oficial per a factures o nòmines, però periòdicament importen les dades a Beancount per a anàlisi i arxiu. D'aquesta manera obtenen el millor de tots dos mons – compliment i facilitat per a operacions diàries, més el poder de Beancount per a una visió consolidada.
En resum, Beancount pot gestionar la comptabilitat de petites empreses, sempre que l'usuari estigui disposat a gestionar manualment coses que el programari comercial automatitza. Assegura un alt grau de transparència – entens profundament els teus llibres perquè els escrius – i per a un usuari diligent, pot produir llibres impecables. Tant els usuaris personals com empresarials es beneficien de les fortaleses bàsiques de Beancount: un motor de comptabilitat fiable, rastre d'auditoria complet i flexibilitat per adaptar-se a escenaris únics (mitjançant scripting i plugins). Ja sigui seguint un pressupost domèstic o les finances d'una startup, Beancount ofereix un conjunt d'eines per fer-ho amb precisió i obertura.
Comunitat i Activitat de Desenvolupament
Beancount té una comunitat dedicada i una història de desenvolupament que reflecteix la seva naturalesa de codi obert, de nínxol però apassionada. A continuació es mostren punts clau sobre la seva comunitat, mantenidors i projectes relacionats:
-
Manteniment del Projecte: L'autor principal de Beancount és Martin Blais, que va començar el projecte al voltant de 2007 i l'ha guiat a través de múltiples versions. El desenvolupament durant molt de temps va ser en gran part un esforç d'una sola persona (a part de les contribucions comunitàries de pegats). La filosofia de Martin era construir una eina de comptabilitat "útil per a mi primer, així com per als altres, de la manera més simple i duradora". Aquesta motivació personal va mantenir el projecte en marxa com una obra d'amor. A partir de 2025, Martin Blais encara és el mantenidor principal (el seu nom apareix als commits i respon preguntes a la llista de correu/seguidor de problemes), però l'ecosistema al voltant de Beancount té molts altres col·laboradors en els seus respectius projectes.
-
GitHub i Repositoris: El codi font està allotjat a GitHub sota el repositori
beancount/beancount. El projecte té llicència GPL-2.0 i ha atret un nombre modest de col·laboradors al llarg dels anys. A mitjan 2024, Beancount Versió 3 es va llançar oficialment com la nova branca estable. Aquest llançament va implicar dividir alguns components: per exemple, el repositori beangulp (per a importadors) i el repositori beanquery (per a l'eina de consulta) ara formen part de l'organització GitHubbeancount, mantinguts de manera més aviat independent. El repositori principal de Beancount se centra en el motor de comptabilitat bàsic i l'analitzador de fitxers. A partir de 2025, el GitHub de Beancount mostra discussions actives de problemes i algun desenvolupament continu – tot i que no amb un volum elevat, els problemes i sol·licituds de pull arriben a poc a poc, i es fan actualitzacions ocasionals per corregir errors o refinar funcions. -
Desenvolupament de Fava: Fava, la interfície web, va començar com un projecte separat (creat per Dominic Aumayr, que el va registrar el 2016). Té la seva pròpia comunitat de col·laboradors i també és a GitHub sota
beancount/fava. Els mantenidors i col·laboradors de Fava (per exemple, Jakob Schnetz, Stefan Otte i altres en els darrers anys) han estat millorant activament la interfície, amb versions cada pocs mesos. El xat de Gitter de Fava (enllaçat a la documentació de Fava) i el seguidor de problemes de GitHub són llocs on usuaris i desenvolupadors discuteixen noves funcions o errors. El projecte accepta contribucions, com ho demostra una nota del CHANGELOG que agraeix a diversos membres de la comunitat els seus PRs. L'estreta alineació de Fava amb el desenvolupament de Beancount (com afegir ràpidament suport per a Beancount v3 i la nova sintaxi de beanquery) indica una bona col·laboració entre els dos projectes. -
Llistes de Correu i Fòrums: Beancount té una llista de correu oficial (abans a Google Groups, titulada "Beancount" o de vegades discutida a la llista general de Ledger). Aquesta llista de correu és un tresor de coneixement – els usuaris fan preguntes sobre com modelar certs escenaris, informen errors i comparteixen consells. Se sap que Martin Blais respon a la llista de correu amb explicacions detallades. A més, la comunitat més àmplia de Comptabilitat en Text Pla se superposa molt. La llista de correu de Ledger CLI sovint entreté preguntes sobre Beancount també, i hi ha un fòrum a plaintextaccounting.org i un subreddit r/plaintextaccounting on els temes de Beancount surten amb freqüència. Els usuaris en aquestes plataformes discuteixen comparacions, comparteixen configuracions personals i ajuden els nouvinguts. El to general de la comunitat és molt cooperatiu – els usuaris de Beancount sovint ajuden els usuaris de Ledger i viceversa, reconeixent que totes aquestes eines tenen objectius similars.
-
Grups de Xat: A més de les llistes de correu, hi ha canals de xat com el Slack/Discord de Comptabilitat en Text Pla (organitzat per la comunitat) i el Gitter de Fava. Aquests són menys formals, més en temps real, per obtenir ajuda o discutir funcions. Per exemple, un podria entrar al Slack per preguntar si algú té un importador per a un banc específic. També hi ha un canal de Matrix/IRC (històricament #ledger o #beancount a IRC) on alguns usuaris de llarga durada són presents. Tot i que no són tan poblats com les comunitats de programari convencional, aquests canals tenen persones amb coneixements que sovint poden respondre preguntes de comptabilitat obscures.
-
Col·laboradors i Membres Clau de la Comunitat: Alguns noms destaquen a la comunitat Beancount:
- "Redstreet" (Red S): Un col·laborador prolífic que ha escrit molts plugins (com
beancount-balexpr,sellgainsi altres) i sovint proporciona suport. També manté un conjunt de scripts d'importació i una eina anomenadabean-downloadper baixar extractes. - Vasily M (Evernight): Autor d'alguns marcs d'importació i plugins com
beancount-valuation, i contribucions a Fava relacionades amb inversions. - Stefano Zacchiroli (zack): Un desenvolupador de Debian que va crear el beancount-mode per a Emacs i el seu propi repositori de plugins. Ha defensat la comptabilitat en text pla en entorns acadèmics també.
- Simon Michael: Tot i que principalment el líder d'hledger, gestiona plaintextaccounting.org que inclou Beancount. Aquesta pol·linització creuada va ajudar a portar Beancount a l'atenció dels usuaris de Ledger/hledger.
- Frank hell (Tarioch): Col·laborador de les Tarioch Beancount Tools, un conjunt important d'importadors i cercadors de preus especialment per a institucions europees.
- Siddhant Goel: Un membre de la comunitat que escriu un blog sobre Beancount (per exemple, la seva guia per migrar a v3) i manté alguns importadors. Les seves publicacions al blog han ajudat molts nous usuaris.
Aquests i molts altres contribueixen amb codi, documentació i ajuda als fòrums, fent que l'ecosistema sigui vibrant malgrat la seva mida relativament petita.
- "Redstreet" (Red S): Un col·laborador prolífic que ha escrit molts plugins (com
-
Estadístiques de GitHub i Forks: El repositori GitHub de Beancount ha acumulat uns quants centenars d'estrelles (indicant interès) i forks. Els forks notables de Beancount mateix són rars – no hi ha un fork divergent conegut que intenti ser "Beancount però amb la funció X". En lloc seu, quan els usuaris volien alguna cosa diferent, o bé escrivien un plugin o utilitzaven una altra eina (com hledger) en lloc de fer fork de Beancount. Un podria considerar hledger una mena de fork de Ledger (no de Beancount) i Beancount mateix una reimaginació independent de les idees de Ledger, però dins del repositori de Beancount no hi ha grans projectes escindits. La comunitat generalment s'ha aglutinat al voltant del repositori principal i l'ha estès mitjançant la interfície de plugins en lloc de fragmentar el codi base. Això és probablement perquè Martin Blais era obert a contribucions externes (els seus documents fins i tot tenen una secció reconeixent contribucions i mòduls externs) i l'arquitectura de plugins feia innecessari mantenir un fork per a la majoria de noves funcions.
-
Recursos Comunitaris: Hi ha diversos recursos d'alta qualitat per aprendre i utilitzar Beancount creats per la comunitat:
-
La documentació de Beancount a GitHub Pages (i els Google Docs font que Martin manté) – molt completa, incloent teoria sobre comptabilitat i com Beancount la implementa.
-
Nombroses publicacions de blog i notes personals – per exemple, LWN.net va tenir un article "Counting beans… with Beancount", i molts blogs personals (com es llisten a la secció "Blog Posts" d'Awesome Beancount) comparteixen experiències i consells. Aquests ajuden a construir coneixement i atraure nous usuaris.
-
Xerrades i presentacions: Beancount s'ha presentat a trobades i conferències (per exemple, una xerrada de PyMunich 2018 sobre gestionar finances amb Python/Beancount). Aquestes xerrades presenten l'eina a públics més amplis i sovint desperten interès en fòrums com Hacker News.
-
-
Projectes Relacionats Notables: A part de Fava, alguns altres projectes relacionats amb Beancount tenen les seves pròpies comunitats:
- Lloc de Comptabilitat en Text Pla – mantingut per Simon Michael, agrega informació sobre totes aquestes eines i té un fòrum on la gent comparteix ús per a diverses eines incloent Beancount.
- Integració amb eines financeres: Alguns usuaris integren Beancount amb eines d'intel·ligència empresarial o bases de dades. Per exemple, un fil de Google Groups detalla l'ús de PostgreSQL amb dades de Beancount mitjançant funcions personalitzades. Tot i que no és corrent, mostra l'esperit experimental de la comunitat per empènyer les capacitats de Beancount (per exemple, per gestionar conjunts de dades molt grans o consultes complexes més enllà de les integrades).
En resum, la comunitat de Beancount, tot i que més petita que les de grans projectes de codi obert, és altament compromesa i amb coneixements. El projecte gaudeix d'un flux constant de millores i canals de suport molt útils. L'ethos col·laboratiu (compartir importadors, escriure plugins, respondre preguntes) significa que un nouvingut el 2025 pot confiar en una extensa feina prèvia i saviesa comunitària per configurar el seu sistema de comptabilitat. El desenvolupament és actiu en el sentit de l'ecosistema – versions de Fava, desenvolupament de plugins, etc. – fins i tot si els canvis al nucli són més ocasionals. El creixement de l'ecosistema (com ho demostra la llista d'Awesome Beancount de dotzenes d'eines) parla d'una comunitat saludable que fa Beancount cada cop més capaç.
Desenvolupaments Recents i Funcions Properes
Per a la investigació de Beancount.io sobre automatització de comptabilitat, visita Bean Labs per explorar els seus registres i mètodes d'investigació.
A data de 2026-09-15, l'ecosistema Beancount continua evolucionant en la línia modular v3. Aquí hi ha desenvolupaments notables des del tall v3 de mitjan 2024 i el que encara es troba al full de ruta:
-
Beancount 3.2.x (2025–2026): Després que 3.0 modularitzés la pila, PyPI va avançar a través de 3.2.0 (2025-09-14) i posteriors 3.2.1–3.2.3 versions d'empaquetatge (CHANGES, PyPI). El treball visible per a l'usuari en aquesta finestra inclou format, refinaments de tolerància/precisió i una cobertura més àmplia de Python/CI – no una reescriptura del nucli C++. Combina les actualitzacions amb les versions principals corresponents de
beanquery/beangulp. -
Llançament de Beancount 3.0 (2024): Després d'un llarg període en què Beancount 2.x era l'estàndard, la versió 3 es va llançar oficialment a mitjan 2024. Aquest va ser una fita important perquè v3 representa una simplificació i modernització del codi base. Martin Blais havia imaginat v3 com una oportunitat per "reorganitzar i simplificar" encara més el sistema. Tot i que originalment es pensava que seria una gran reescriptura, a la pràctica l'actualització per als usuaris no va ser massa disruptiva. Els principals canvis van ser sota el capó: un nou analitzador, algunes millores de rendiment i l'extracció de components opcionals del nucli. El llançament es va fer de manera gradual (v3 havia estat en beta des de 2022, però al juliol de 2024 es va convertir en la versió estable recomanada). Usuaris com Siddhant Goel van informar que migrar de 2.x a 3.x va ser "majoritàriament sense incidents" amb només uns quants canvis de flux de treball.
-
Modularització – eines traslladades a paquets separats: Un dels grans canvis amb Beancount 3 és que moltes eines que solien viure al repositori monolític es van escindir. Per exemple, bean-query ara el proporciona el paquet
beanquery, i beancount.ingest es va substituir pel paquetbeangulp. Ordres combean-extractibean-identify(per a imports) es van eliminar del Beancount bàsic. En lloc seu, la filosofia és utilitzar scripts independents per importar. Això significa que si actualitzes a v3, instal·laríesbeangulpi executaríes scripts d'importació (cada importador és bàsicament un petit programa) en lloc de tenir un fitxer de configuració centralbean-extract. De manera similar, les consultes s'executen mitjançantbeanqueryque es pot instal·lar i actualitzar independentment del nucli de Beancount. Aquest enfocament modular es va dissenyar per facilitar el manteniment i fomentar contribucions comunitàries. També va aprimar el nucli de Beancount, de manera que el nucli se centra purament en la interpretació i la lògica de comptabilitat, mentre que la funcionalitat auxiliar pot evolucionar per separat. Des de la perspectiva de l'usuari, després d'actualitzar, cal ajustar ordres (per exemple, utilitzarbean-queryde beanquery, o utilitzar Fava que ho abstrau de totes maneres). El changelog de Fava nota explícitament aquests canvis: Fava ara depèn de beanquery i beangulp, i gestiona els fluxos de treball d'importació de manera diferent per a Beancount 3 vs 2. -
Millores de Rendiment: El rendiment va ser una motivació per revisitar el disseny de Beancount. El pla v3 (com s'ha descrit al document "Objectius de V3" de Martin) incloïa optimitzar l'analitzador i possiblement fer el procés de càrrega més ràpid i menys intensiu en memòria. Cap al 2025, algunes d'aquestes millores s'han materialitzat. Anècdoticament, usuaris amb llibres majors molt grans (desenes de milers de transaccions, o moltes operacions d'accions) han informat de millor rendiment amb la versió més recent. Per exemple, un usuari que tracta amb "transaccions de microinversió" que va enfrontar problemes de rendiment va notar aquestes preocupacions al Google Group – aquest tipus de comentaris probablement va informar v3. El nou analitzador és més eficient i escrit d'una manera més clara, cosa que es podria estendre en el futur. A més, Fava 1.29 va passar a un mecanisme de vigilància de fitxers més eficient (utilitzant la biblioteca
watchfiles) per millorar la capacitat de resposta quan canvia el llibre major. De cara al futur, la comunitat podria explorar la interpretació incremental (només reprocessar les parts canviades del fitxer en lloc de tot) per gestionar llibres majors grans més ràpidament – això es va insinuar als documents com una idea de "servidor Beancount / reserva incremental". -
Millores en el Seguiment d'Inversions: Hi ha hagut treball continu per millorar els informes d'inversions i cartera. Per exemple, el maneig de base de cost mitjà vs. FIFO es va discutir llargament. Tot i que Beancount aplica la coincidència de lots, alguns usuaris prefereixen el cost mitjà per a certes jurisdiccions. Existeix una proposta i discussió sobre fer més flexible la reserva de base de cost (possiblement mitjançant un plugin o opció). Cap al 2025, no hi ha cap commutador integrat per al cost mitjà, però la base a v3 (el redisseny de la reserva) facilita que els plugins ho implementin. Un plugin comunitari "Minimitzador de Guanys" es va llançar i pot suggerir quins lots vendre per minimitzar impostos, mostrant el tipus d'eines avançades que es construeixen al voltant de les inversions. Fava també va afegir funcions com una extensió de resum de cartera (amb càlculs de taxa de retorn). Pel que fa a les funcions properes, es pot esperar més en aquest domini: possiblement suggeriments automatitzats de reequilibri de cartera o anàlisi de risc, probablement com a eines externes que llegeixen dades de Beancount (ja que totes les dades hi són).
-
Nous Plugins i Extensions: L'ecosistema de plugins creix contínuament. Addicions notables recents inclouen:
- Eines d'informes de pressupost – per exemple, un informador de pressupost CLI simple si no s'utilitza la UI de Fava.
- Xifratge i seguretat – la configuració fava-encrypt, que permet allotjar Fava en línia amb el llibre major xifrat en repòs, es va introduir, abordant la preocupació d'allotjar les teves finances.
- Plugins de qualitat de vida – com
autobean-format(un nou formatador que pot gestionar més casos límit interpretant i reimprimint el fitxer), i integració debeanchecken editors (flymake per a Emacs).
De cara al futur, és probable que la comunitat continuï omplint buits mitjançant plugins. Per exemple, podríem veure més plugins relacionats amb impostos (alguns usuaris han compartit scripts per calcular coses com vendes de rentat o informes fiscals locals específics).
-
Possibles Funcions Properes: Basant-nos en discussions al seguidor de problemes i la llista de correu, unes quantes idees són a l'horitzó (tot i que no garantides):
- Resolució de Temps: Actualment, Beancount només segueix dates (sense marques de temps) per a les transaccions. Hi ha hagut preguntes sobre afegir hora (per a operacions borsàries o ordenació de transaccions del mateix dia). Martin Blais va decidir explícitament que les marques de temps subdiàries estaven fora d'abast per mantenir les coses simples. Això és poc probable que canviï aviat – així que les versions properes probablement no afegiran resolució de temps, mantenint-se en la postura que si necessites temps, l'incorpores a la narració o un compte.
- Edició GUI millorada: Fava millora contínuament les seves capacitats d'edició. Una possibilitat és un editor web més complet (amb autosuggestió, potser una entrada basada en formularis per a noves transaccions). La base utilitzant tree-sitter a l'editor de Fava es va establir. Podríem veure que Fava es converteix no només en un visualitzador sinó en un editor més potent, reduint la necessitat d'obrir un editor de text per a moltes tasques.
- Millor suport multi-llibre major: Alguns usuaris mantenen múltiples fitxers Beancount (per a diferents entitats o per dividir personal vs. empresarial). Ara mateix, incloure fitxers és possible però tenia limitacions (plugins en fitxers inclosos, etc.). Un plugin recent
autobean.includees va crear per incloure de manera segura llibres majors externs. En el futur, podríem veure suport de primera classe per a configuracions multi-fitxer – potser un concepte de "projecte" Beancount amb múltiples fitxers (això es suggereix per funcions com la configuracióbeancount.mainBeanFilede l'extensió de VSCode). Això ajudaria aquells que porten comptabilitat multi-entitat o volen modularitzar el seu llibre major. - Càlcul en Temps Real o Incremental: A mesura que els llibres majors creixen, la capacitat de recalcular informes ràpidament esdevé important. Hi ha una idea d'un servidor Beancount que es manté en execució i actualitza resultats a mesura que canvien les transaccions. Això podria manifestar-se com una optimització a Fava o un dimoni que els plugins d'editor puguin consultar. Potser una versió futura de Fava aprofitarà un procés Beancount en execució contínua per fer la UI més responsiva per a llibres majors enormes.
- Comptabilitat de Fons / Funcions per a Entitats Sense Ànim de Lucre: Hi va haver una proposta de millora sobre comptabilitat de fons a Beancount. Les organitzacions sense ànim de lucre tenen necessitats de comptabilitat (fons restringits vs. no restringits) que potencialment es podrien modelar amb la jerarquia d'etiquetes o comptes de Beancount. La discussió no ha portat encara a funcions integrades, però si més organitzacions sense ànim de lucre adopten Beancount, això podria impulsar noves capacitats (potser només pràctiques recomanades documentades o plugins per al seguiment de saldos de fons).
-
Perspectiva a Llarg Termini: Martin Blais va insinuar que veu el futur de Beancount en fer del nucli més un motor i moure més funcionalitat a plugins. Això és consistent amb el que veiem (modularització a v3). Així doncs, una "funció propera" en termes filosòfics és major extensibilitat – possiblement fins i tot permetre que els plugins defineixin nous tipus de directivas o estenguin la sintaxi de maneres controlades. Si això passa, el nucli de Beancount podria romandre relativament petit i estable, mentre que l'ecosistema proporciona la majoria de la nova funcionalitat com a complements. Això podria portar a un mercat de plugins o una llista més centralitzada de plugins perquè els usuaris puguin triar (la llista d'Awesome Beancount és un començament per a això).
En conclusió, l'ecosistema Beancount el 2026 és actiu i evolucionant. El llançament de Beancount 3.0 va ser un esdeveniment fundacional important; la línia 3.2.x i la postura només-Beancount-3 de Fava (des de 1.30.13) són la base pràctica per citar avui. Les millores en rendiment, eines i usabilitat (especialment mitjançant Fava i la CLI bea) continuen reduint la barrera d'entrada. Tot i que Beancount continua sent una eina que requereix certa experiència, ara és molt més accessible que fa uns anys, gràcies a aquests desenvolupaments. Les funcions properes probablement se centraran a refinar l'experiència – rendiment més ràpid, millors integracions i extensions especialitzades – en lloc de canvis dràstics a la filosofia bàsica. La trajectòria de la comunitat suggereix que Beancount continuarà madurant com la peça central de la comptabilitat en text pla, aconseguint un equilibri entre el poder auster de la comptabilitat de doble entrada i la conveniència del programari modern. Com va dir un usuari a Hacker News, la comptabilitat en text pla et dóna "superpoders" per entendre les teves finances – i les millores recents i futures de Beancount pretenen fer que aquests superpoders siguin més fàcils d'utilitzar per a tothom.
Fonts: Documentació i repositori de Beancount; Documentació i changelog de Fava; "Una Comparació de Beancount i Ledger" de Martin Blais; Llista de recursos d'Awesome Beancount; Experiències d'usuaris i informes de la comunitat; Versions de paquets PyPI comprovades el 2026-09-15.





