Se hai deciso di gestire le tue finanze con la contabilità in testo semplice, hai già fatto una scelta intelligente. I tuoi dati finanziari vivranno in file leggibili dall'uomo che controlli completamente, tracciati con il version control e liberi da vincoli del fornitore. Ma ora arriva la domanda successiva: quale strumento dovresti usare?
Beancount e hledger sono i due strumenti di contabilità in testo semplice (PTA) più popolari oggi. Entrambi sono open-source, attivamente mantenuti e in grado di gestire tutto, dai budget personali ai portafogli di investimento complessi. Tuttavia, adottano approcci fondamentalmente diversi su come registri, convalidi e analizzi i tuoi dati finanziari.
Questa guida analizza le differenze chiave così puoi scegliere quello che si adatta al tuo flusso di lavoro, al tuo livello di esperienza e alle tue esigenze di monitoraggio finanziario.
La filosofia principale: rigoroso vs. flessibile
La differenza più grande tra Beancount e hledger non è una funzionalità—è una mentalità.
Beancount è l'insegnante severo. Presume che commetterai errori di inserimento dati e costruisce protezioni per individuarli subito. Ogni conto deve essere esplicitamente aperto prima dell'uso. Ogni transazione deve bilanciarsi a zero. Le valute devono seguire un formato rigido. Se qualcosa non sembra corretto, Beancount rifiuterà di elaborare il tuo file finché non lo sistemi.
hledger è l'amico indulgente. Usa una sintassi più rilassata, ti permette di saltare la dichiarazione preventiva dei conti e può persino dedurre le voci di bilanciamento. Puoi iniziare a monitorare le finanze con una configurazione minima e aggiungere gradualmente struttura man mano che le tue esigenze crescono.
Nessuno dei due approcci è oggettivamente migliore. Se apprezzi individuare gli errori prima che si trasformino in ore di debug, la severità di Beancount è una caratteristica. Se vuoi iniziare rapidamente e preferisci la flessibilità, la permissività di hledger è un vantaggio.
Sintassi e formato dei dati
Entrambi gli strumenti memorizzano le transazioni in file di testo semplice, ma le regole di sintassi differiscono in modo significativo.
Sintassi di Beancount
2026-03-15 * "Whole Foods" "Spesa settimanale"
Spese:Cibo:Alimentari 85.42 USD
Passività:CartaDiCredito:VisaRegole chiave:
- Le date usano il formato ISO 8601 (
AAAA-MM-GG) - Le valute devono essere lettere maiuscole (es.,
USD,EUR)—niente simboli come$o€ - I nomi dei conti richiedono almeno due componenti separati da due punti (es.,
Spese:Cibo) - Le descrizioni devono essere stringhe tra virgolette
- Tutti i conti devono essere esplicitamente aperti con una direttiva
open
Sintassi di hledger
2026-03-15 Whole Foods | Spesa settimanale
spese:cibo:alimentari $85.42
passività:carta:credito:visaRegole chiave:
- Formati di data più flessibili
- Simboli di valuta come
$e€sono consentiti - I nomi dei conti possono essere minuscoli e più liberi
- Le descrizioni non richiedono virgolette
- Nessuna necessità di dichiarare preventivamente i conti
Il punto chiave: la sintassi più rigorosa di Beancount significa più lavoro iniziale ma meno ambiguità. La sintassi rilassata di hledger è più facile da iniziare ma richiede più disciplina per mantenere coerenza.
Integrità dei dati e validazione
È qui che Beancount si distingue veramente.
Asserzioni di saldo
Entrambi gli strumenti supportano le asserzioni di saldo—dichiarazioni che verificano che il tuo saldo registrato corrisponda al tuo estratto conto bancario. Ma funzionano in modo diverso.
Beancount usa asserzioni di saldo datate che sono indipendenti dall'ordine. Puoi riorganizzare i tuoi file di transazioni come preferisci e le asserzioni funzionano comunque correttamente. Le asserzioni di hledger dipendono dall'ordine del file, il che significa che spostare le transazioni può romperle.
Tracciamento dell'inventario
Per chiunque monitori investimenti, questo conta molto. Beancount impone una registrazione rigorosa dell'inventario: non puoi vendere azioni che non hai mai acquistato e traccia la base di costo con precisione. Questo previene la "perdita di base di costo"—un bug sottile in cui i tuoi calcoli di plusvalenza si allontanano dalla realtà.
hledger gestisce le materie prime e i lotti ma con meno controllo. È più flessibile, il che significa che è anche più indulgente verso errori che potrebbero passare inosservati fino alla dichiarazione dei redditi.
Categorie di conti
Beancount richiede che ogni conto appartenga a una delle cinque categorie: Attività, Passività, Reddito, Spese o Patrimonio netto. Questo vincolo gli permette di generare automaticamente bilanci patrimoniali e conti economici corretti.
hledger consente gerarchie di conti arbitrarie senza categorie radice obbligatorie. Questo ti dà più libertà ma significa che devi seguire convenzioni manualmente per ottenere report finanziari significativi.
Interfaccia utente e reportistica
Beancount + Fava
La caratteristica distintiva di Beancount è Fava, un'interfaccia web raffinata che offre:
- Grafici e diagrammi interattivi (andamenti del patrimonio netto, ripartizioni delle spese, reddito vs. spese)
- Visualizzazioni treemap per le categorie di spesa
- Filtri potenti per conto, tag, periodo di tempo e beneficiario
- Un linguaggio di query per report personalizzati
- Un editor integrato per i tuoi file di contabilità
Fava è ampiamente considerata la migliore interfaccia utente nell'ecosistema della contabilità in testo semplice. Se sei una persona visiva che vuole dashboard e grafici, questo è un punto importante a favore di Beancount.
Interfacce di hledger
hledger adotta un approccio multi-interfaccia:
- CLI: Reportistica ricca da riga di comando con decine di comandi integrati (
balance,register,incomestatement,cashflowe altro) - hledger-ui: Un'interfaccia basata su terminale per navigare conti e transazioni in modo interattivo
- hledger-web: Un'interfaccia web più semplice per la navigazione di base e l'inserimento dati
La CLI di hledger è più potente immediatamente rispetto a quella di Beancount. Se vivi nel terminale e vuoi report rapidi e scriptabili, hledger fa al caso tuo.
Prestazioni
hledger è scritto in Haskell e elabora circa 25.000 transazioni al secondo. Per la maggior parte degli utenti di finanza personale, entrambi gli strumenti sono effettivamente istantanei. Ma se stai gestendo un grande set di dati—anni di transazioni su più entità—la velocità grezza di hledger gli dà un vantaggio.
Beancount (v3) è stato riscritto in C++ per il parser principale, migliorando significativamente le prestazioni rispetto all'implementazione originale in Python. Per l'uso tipico personale o di piccole imprese, non noterai una differenza.
Estensibilità e plugin
Plugin di Beancount
Beancount ha un sistema di plugin nativo in Python notevolmente potente. I plugin possono:
- Dividere automaticamente le transazioni (es., spese condivise)
- Generare transazioni ricorrenti
- Applicare regole di validazione personalizzate
- Trasformare i dati nella pipeline di elaborazione
L'ecosistema Python significa che puoi sfruttare qualsiasi libreria Python nei tuoi plugin. Questo rende Beancount altamente personalizzabile per scenari finanziari complessi.
Estensioni di hledger
hledger offre estensibilità attraverso:
- Regole di importazione CSV per l'automazione degli estratti conto bancari
- Script di report personalizzati usando l'output della CLI
- Un'API HTTP-JSON per costruire integrazioni
- Comandi aggiuntivi basati su Haskell
Il sistema di importazione CSV di hledger è particolarmente apprezzato—rende l'automazione degli importi degli estratti conto bancari semplice con file di regole che mappano le colonne CSV alle registrazioni dei conti.
Iniziare e curva di apprendimento
hledger: barriera d'ingresso più bassa
hledger è generalmente più facile da iniziare:
- Installa un singolo binario (eccellente supporto multipiattaforma, incluso Windows)
- Crea un file e inizia a registrare transazioni immediatamente
- Nessuna necessità di dichiarare conti o seguire convenzioni di denominazione rigide
- Documentazione completa e ben mantenuta
- Comunità attiva con risorse adatte ai principianti
Beancount: più configurazione, più struttura
Beancount richiede più configurazione iniziale:
- Installa Python e Beancount (e Fava per l'interfaccia web)
- Crea dichiarazioni di conto prima di usarli
- Segui regole di sintassi rigorose fin dal primo giorno
- Impara le cinque categorie di conti
Il compromesso è che questo investimento iniziale ripaga. Un libro mastro Beancount ben strutturato è più facile da mantenere, validare e revisionare man mano che cresce.
Comunità ed ecosistema
Entrambi i progetti hanno comunità attive e di supporto:
- Beancount: Lista di discussione attiva, ecosistema crescente di strumenti di terze parti (importatori, plugin, estensioni Fava) e forte comunità di sviluppatori Python
- hledger: Rilasci frequenti (circa trimestrali), documentazione estesa, canali chat attivi e la comunità più ampia di plaintextaccounting.org
Entrambi gli strumenti beneficiano del movimento più ampio della contabilità in testo semplice, che significa risorse condivise, importatori e conoscenza della comunità.
Migrazione tra strumenti
Se inizi con uno strumento e vuoi passare all'altro in seguito, la migrazione è possibile ma non banale:
- Da hledger a Beancount: Usa
hledger print -o tmp.beancountcome punto di partenza, poi aggiusta la sintassi (aggiungi dichiarazioni di conto, correggi i formati di valuta, ristruttura i nomi dei conti) - Da Beancount a hledger: Lo strumento
bean-reportpuò esportare, anche se di solito sono necessarie correzioni manuali
La filosofia condivisa del testo semplice significa che i tuoi dati non sono mai bloccati. Puoi sempre leggere e convertire i tuoi file, anche se il processo richiede una pulizia manuale.
Tabella di confronto rapido
| Caratteristica | Beancount | hledger |
|---|---|---|
| Linguaggio | Python/C++ | Haskell |
| Rigidità della sintassi | Rigida | Flessibile |
| Dichiarazione dei conti | Richiesta | Opzionale |
| Migliore interfaccia | Fava (web) | CLI + TUI |
| Tracciamento investimenti | Eccellente | Buono |
| Sistema di plugin | Plugin Python | Script + API |
| Importazione CSV | Tramite importatori | Regole integrate |
| Curva di apprendimento | Più ripida | Più dolce |
| Asserzioni di saldo | Indipendenti dall'ordine | Dipendenti dall'ordine del file |
| Prestazioni | Veloce (v3) | Molto veloce |
| Supporto Windows | Buono | Eccellente |
Quale dovresti scegliere?
Scegli Beancount se:
- Vuoi una dashboard web bellissima per visualizzare le tue finanze
- Monitori investimenti e hai bisogno di una gestione precisa della base di costo
- Preferisci un sistema che individua gli errori subito e impone coerenza
- Sei a tuo agio con Python e vuoi una potente estensibilità tramite plugin
- Apprezzi un'organizzazione dei file indipendente dall'ordine
Scegli hledger se:
- Preferisci lavorare nel terminale con report rapidi e scriptabili
- Vuoi iniziare rapidamente con una configurazione minima
- Hai bisogno di un eccellente supporto Windows
- Preferisci una sintassi flessibile che si adatta al tuo stile
- Vuoi rilasci frequenti e manutenzione attiva
La verità onesta: entrambi gli strumenti sono eccellenti. La comunità della contabilità in testo semplice è accogliente indipendentemente dallo strumento che usi, e le competenze che impari con uno si trasferiscono facilmente all'altro. Scegli quello che si adatta al tuo flusso di lavoro, provalo per un mese e aggiusta se necessario.
Semplifica il tuo monitoraggio finanziario con Beancount.io
Che tu scelga Beancount o hledger, la contabilità in testo semplice ti mette al controllo dei tuoi dati finanziari. Se vuoi la potenza di Beancount con una dashboard Fava ospitata, importi bancari automatici e zero gestione dell'infrastruttura, Beancount.io lo rende semplice. Inizia gratuitamente e sperimenta la contabilità in testo semplice senza il sovraccarico di configurazione.