Questa guida sintetizza le migliori pratiche per la contabilità in testo semplice utilizzando il potente strumento open-source di contabilità in testo semplice, Beancount. Copre la filosofia fondante, la sintassi dalle basi alle funzionalità avanzate, casi di studio pratici per asset complessi e strategie di gestione del registro a lungo termine.
Parte 1: Il "Perché" - Fondamenti della Contabilità Intelligente
Prima di addentrarci nel "come", è fondamentale comprendere il "perché". Una contabilità efficace è il fondamento della gestione finanziaria personale e un passo necessario verso la chiarezza e la libertà finanziaria.
Oltre il Monitoraggio delle Spese: Il Percorso verso la Chiarezza Finanziaria
Le semplici app di monitoraggio delle spese ti dicono dove sono finiti i tuoi soldi. Un sistema contabile robusto ti dice questo e molto altro: fornisce un quadro completo della tua salute finanziaria, incluso il tuo patrimonio netto, il flusso di cassa e la performance dei tuoi investimenti. L'obiettivo principale è l'osservabilità: ottenere una comprensione chiara e basata sui dati della tua vita finanziaria, che ti permetta di prendere decisioni informate, valutare il rischio e lavorare verso obiettivi a lungo termine come la pensione.
Perché la Partita Doppia? Il Potere di un Sistema Bilanciato
A differenza della contabilità in partita semplice (una semplice lista di spese), il metodo in partita doppia registra ogni transazione come un flusso di valore tra almeno due conti. Il suo principio fondamentale è l'equazione contabile di base:
Questo sistema garantisce che i tuoi libri contabili siano sempre bilanciati, riducendo drasticamente gli errori. Fornisce un quadro finanziario completo generando report essenziali come lo Stato Patrimoniale (quello che possiedi e devi) e il Conto Economico (quello che hai guadagnato e speso).
Parte 2: Iniziare con Beancount
Beancount è un potente strumento basato su Python per la contabilità in testo semplice.
Il Tuo Primo Sguardo con Fava su Beancount.io
Beancount.io offre un ambiente potente che combina il motore di Beancount con un'app mobile (iOS, Android) e una web app - Fava, una fantastica interfaccia web per visualizzare il tuo registro. Non è necessaria alcuna installazione. Quando usi la piattaforma, interagisci direttamente con un editor di testo per il tuo file di registro (es. main.bean) e vedi i report generati da Fava aggiornarsi in tempo reale.
Fava prende il testo che scrivi e lo trasforma in grafici interattivi, prospetti finanziari ed elenchi di transazioni filtrabili, offrendoti una visione chiara dei tuoi report finanziari.
Oppure inizia dal terminale con bea
Se preferisci lavorare da una shell, bea è la riga di comando di Beancount.io. Non serve un account: installala con brew install bex-co/tap/bea o uv tool install beancount-io, e crea, valida, interroga e produce report sullo stesso file di testo semplice. La guida rapida alla CLI ti porta a un primo registro in pochi minuti, e Il tuo primo mese con bea chiude un mese intero dall'inizio alla fine.
I Cinque Tipi di Conto Principali
Beancount utilizza cinque tipi di conto di primo livello, che formano la struttura del tuo registro:
| Tipo di conto | Descrizione | Saldo tipico |
|---|---|---|
Assets | Quello che possiedi (liquidità, conti bancari, investimenti, immobili). | Positivo |
Liabilities | Quello che devi (debiti su carta di credito, prestiti, mutui). | Negativo |
Income | Da dove arrivano i soldi (stipendio, bonus, interessi). | Negativo |
Expenses | Dove vanno i soldi (cibo, affitto, viaggi, tasse). | Positivo |
Equity | Il tuo patrimonio netto; usato per i saldi iniziali. | Negativo |
L'Equazione di Beancount
Beancount applica la propria versione dell'equazione contabile, in cui la somma di tutte le registrazioni sull'intero registro è uguale a zero:
Ecco perché, per convenzione, i conti Income, Liabilities e Equity contengono valori negativi: sono le fonti di fondi che aumentano i tuoi Assets e Expenses.
Parte 3: Il Linguaggio di Beancount - Sintassi Principale
Tutte le voci in Beancount sono direttive che iniziano con una data.
Definire i Conti (open) e le Commodity
Prima di poter usare un conto, devi dichiararlo con la direttiva open. Puoi anche specificare opzionalmente le valute o "commodity" che conterrà.
; YYYY-MM-DD open Account:Name [Commodity1, Commodity2, ...]
2020-01-01 open Assets:Bank:US:Chase:Checking USD
2020-01-01 open Liabilities:CreditCard:US:Discover USD
2020-01-01 open Expenses:Food:Groceries
2020-01-01 open Income:Salary:GoogleLe commodity possono essere valute del mondo reale (es. USD, JPY) o qualsiasi unità personalizzata che definisci, come miglia aeree (MILES_UA) o ticker azionari (HOOL).
Registrare la Tua Prima Transazione (*)
Le transazioni sono la voce più comune. Iniziano con una data, un flag (* per una transazione completa o ! per una incompleta), un beneficiario opzionale e una descrizione. Ogni riga che segue (rientrata di due spazi) è una "registrazione" su un conto.
; YYYY-MM-DD * "Payee" "Description"
; Account1 Amount Commodity
; Account2 -Amount Commodity
2024-07-28 * "Trader Joe's" "Weekly groceries"
Expenses:Food:Groceries 125.50 USD
Liabilities:CreditCard:US:Discover -125.50 USDPer comodità, se una transazione ha solo due registrazioni, puoi omettere l'importo sulla seconda riga e Beancount lo calcolerà automaticamente.
2024-07-28 * "Trader Joe's" "Weekly groceries"
Expenses:Food:Groceries 125.50 USD
Liabilities:CreditCard:US:DiscoverBilanciamento a livello di transazione: Ancora più importante per l'uso quotidiano, anche ogni singola transazione deve bilanciarsi: la somma di tutte le registrazioni all'interno di una singola transazione deve essere uguale a zero. Se una transazione non è bilanciata, Beancount mostrerà un errore come questo:

Gestire Transazioni Multi-Valuta (@ e @@)
Beancount eccelle nella contabilità multi-valuta.
- Usa
@per specificare un prezzo di conversione per unità. - Usa
@@per specificare il costo totale della conversione.
; Buying a flight in EUR with a USD card
2024-08-01 * "Lufthansa" "Flight to Berlin"
Expenses:Travel:Flights 500.00 EUR @@ 545.00 USD ; 500 EUR cost me 545 USD in total
Liabilities:CreditCard:US:Discover -545.00 USDParte 4: Garantire l'Accuratezza - L'Arte della Riconciliazione
Una pratica fondamentale per mantenere un registro accurato è la riconciliazione regolare. Ciò comporta il confronto dei saldi nel tuo registro Beancount con gli estratti conto ufficiali delle tue istituzioni finanziarie.
Automazione dei Controlli con le Verifiche di Saldo (balance)
La direttiva balance è il tuo strumento principale per i controlli automatizzati. Dichiari che a una data specifica un conto aveva un determinato saldo. Beancount genererà un errore se il saldo calcolato non corrisponde alla tua asserzione. Questo è inestimabile per individuare rapidamente gli errori.
Nota: L'asserzione di saldo verifica lo stato del conto all'inizio del giorno specificato (prima di qualsiasi transazione di quel giorno).
; From your monthly credit card statement
2024-08-01 balance Liabilities:CreditCard:US:Discover -1432.78 USDCollegare Documenti di Supporto (document)
Puoi collegarti a file esterni come estratti conto bancari o ricevute, creando una traccia verificabile. Fava rende questi link cliccabili.
2024-08-01 document Liabilities:CreditCard:US:Discover "statements/discover-2024-07.pdf"Correggere gli Errori e Inizializzare i Saldi
Quando inizi il tuo registro o trovi una discrepanza che non riesci a rintracciare, devi fare una rettifica. La pratica standard è usare un conto Equity speciale.
; Initializing a cash account when starting your ledger
2020-01-01 * "Initial Balance" "Setting up cash account"
Assets:Cash:Wallet 200.00 USD
Equity:Opening-Balances -200.00 USDIl conto Equity:Opening-Balances contiene importi che entrano nel tuo registro da fonti sconosciute o esterne.
Per correzioni rapide in cui la discrepanza esatta non è importante, la direttiva pad può regolare automaticamente il saldo di un conto per soddisfare una successiva asserzione balance, registrando la differenza su un conto di capitale. Usala con cautela, poiché può nascondere problemi più grandi. Le rettifiche esplicite sono generalmente più sicure.
Parte 5: Modelli di Transazione Avanzati e Realistici
Tracciare i Debiti: Gestire Crediti e Debiti
La contabilità in partita doppia è perfetta per tracciare il denaro che ti è dovuto (Assets:Receivables) o che devi (Liabilities:Payable).
Esempio: Paghi una cena di gruppo da $90 e il tuo amico Bob ti deve la sua quota di $45.
-
Registra la spesa iniziale e il credito:
2024-08-05 * "Dinner Place" "Dinner with Bob" Expenses:Food:Restaurant 45.00 USD ; Your share Assets:Receivables:Bob 45.00 USD ; Bob owes you Assets:Bank:US:Chase:Checking -90.00 USD -
Quando Bob ti rimborsa:
2024-08-06 * "Bob" "Paid me back for dinner" Assets:Bank:US:Chase:Checking 45.00 USD Assets:Receivables:Bob -45.00 USD
Il conto Assets:Receivables:Bob ora è a zero e i tuoi libri sono perfettamente bilanciati.
Attività vs. Spese: Acquisto di un'Auto e Ammortamento
Un acquisto importante come un'auto non è una semplice spesa; è l'acquisizione di un'attività che perde valore nel tempo (ammortamento).
-
Registra l'acquisto come attività:
2023-01-15 * "Toyota Dealer" "Purchase of a new car" Assets:Car:ToyotaCamry 30000.00 USD Assets:Bank:US:Chase:Checking -30000.00 USD -
Registra l'ammortamento annuale: Supponi di stimare che l'auto perda $3.000 di valore ogni anno. Alla fine dell'anno, registri questo come una spesa.
2023-12-31 * "Depreciation" "Annual car value depreciation" Expenses:Depreciation:Car 3000.00 USD Assets:Car:ToyotaCamry -3000.00 USD
Dopo questa voce, il tuo conto Assets:Car:ToyotaCamry riflette correttamente il nuovo valore dell'auto ($27.000) e hai correttamente contabilizzato il costo d'uso come spesa per quell'anno.
Parte 6: Approfondimento - Modellare Attività Complesse del Mondo Reale
Caso di Studio 1: Contabilità per Immobili
Una casa è spesso il tuo asset e la tua passività più grandi. Ecco come modellarla.
-
Crea conti e una commodity personalizzata:
2022-01-01 commodity HOUSE_123MAIN name: "Property at 123 Main St" 2022-01-01 open Assets:Property:Home:123Main HOUSE_123MAIN 2022-01-01 open Liabilities:Mortgage:HomeLoan USD 2022-01-01 open Expenses:Home:Interest 2022-01-01 open Expenses:Home:PropertyTax -
Registra l'acquisto: Supponiamo che tu acquisti una casa da $500k con un anticipo di $100k e un mutuo di $400k.
2022-03-15 * "Settlement Company" "Purchase of 123 Main St" Assets:Property:Home:123Main 1 HOUSE_123MAIN {500000.00 USD} Assets:Bank:DownPayment -100000.00 USD Liabilities:Mortgage:HomeLoan -400000.00 USD -
Registra i pagamenti mensili del mutuo: Il tuo pagamento mensile è composto da capitale (riduce la passività) e interessi (una spesa).
2022-04-01 * "Mortgage Bank" "Monthly Mortgage Payment" Liabilities:Mortgage:HomeLoan 800.00 USD ; Principal Expenses:Home:Interest 1200.00 USD ; Interest Assets:Bank:US:Chase:Checking -2000.00 USD -
Tracciare l'apprezzamento (plusvalenze non realizzate): Il valore di mercato di una casa cambia. Per tracciarlo senza influire sul tuo patrimonio netto ufficiale (poiché la plusvalenza non è realizzata finché non vendi), puoi usare una direttiva di prezzo con una valuta "virtuale".
Per gli asset di mercato e le coppie di valute supportati, Prezzi in tempo reale può mantenere le quotazioni di valutazione in un registro ospitato. Le singole proprietà hanno comunque bisogno delle tue valutazioni e dei prezzi datati, come nell'esempio seguente.
; The purchase price is the real cost basis 2022-03-15 price HOUSE_123MAIN 500000.00 USD ; An updated market estimate is an unrealized gain 2024-01-01 price HOUSE_123MAIN 550000.00 USD.UNREALIZED
Questo ti permette di vedere il valore stimato nei grafici di Fava senza gonfiare impropriamente il tuo stato patrimoniale.
Esplora un registro di esempio immobiliare in tempo reale con tracciamento del mutuo, ammortamento e vendita della proprietà:
Caso di Studio 2: Tracciare le Unità Azionarie Vincolate (RSU)
Le RSU sono una forma comune di compenso azionario. Contabilizzarle comporta il tracciamento della concessione iniziale, degli eventi di maturazione e della ritenuta fiscale.
-
Configurazione iniziale: Crea commodity per le azioni maturate (
HOOL) e non maturate (HOOL.UNVEST), insieme a ogni conto toccato dalle voci successive. Dichiararle tutte in anticipo è ciò che rende le due transazioni seguenti caricabili autonomamente.2021-01-01 commodity HOOL 2021-01-01 commodity HOOL.UNVEST 2021-01-01 open Assets:Brokerage:Etrade:HOOL HOOL 2021-01-01 open Assets:Grant:Unvested HOOL.UNVEST 2021-01-01 open Income:Grant:Awards HOOL.UNVEST 2021-01-01 open Expenses:Grant:Vested HOOL.UNVEST 2021-01-01 open Income:Salary:Hooli:RSU USD 2021-01-01 open Expenses:Taxes:Federal USD 2021-01-01 open Expenses:Taxes:State USD -
Registra la concessione iniziale: Questa transazione mostra la concessione totale che si sposta in un conto di attività non maturate. Nulla è ancora tassabile, quindi l'intera voce è denominata nella commodity di tracciamento
HOOL.UNVEST.2021-02-01 * "Hooli" "Initial RSU Grant" Assets:Grant:Unvested 1000 HOOL.UNVEST Income:Grant:Awards -1000 HOOL.UNVEST -
Registra un evento di maturazione: Questa è la transazione chiave. Quando le azioni maturano, tu riconosci un reddito, il datore di lavoro trattiene azioni per pagare le tasse e tu mantieni il resto. Supponi che 100 azioni maturino a $150,00, quindi:
- Compenso lordo: 100 × $150,00 = $15.000,00
- Azioni trattenute per le tasse: 40 × $150,00 = $6.000,00 (federali $4.800,00 + statali $1.200,00)
- Azioni che mantieni: 60 × $150,00 = $9.000,00 di base di costo
- Liquidità per te: $0,00 — l'intera ritenuta è pagata in azioni
Tali importi sono la voce e si riconciliano: $6.000,00 di tasse più $9.000,00 di azioni trattenute sono esattamente i $15.000,00 di reddito.
2022-02-01 * "Hooli" "RSU Vesting Event" ; Ordinary income: 100 shares * $150.00 Income:Salary:Hooli:RSU -15000.00 USD ; Tax withheld, funded by 40 of the 100 shares (40 * $150.00 = $6,000.00) Expenses:Taxes:Federal 4800.00 USD Expenses:Taxes:State 1200.00 USD ; The 60 shares you keep, at their $150.00 vesting-day basis Assets:Brokerage:Etrade:HOOL 60 HOOL {150.00 USD} ; Retire the 100 unvested units the grant was tracking Assets:Grant:Unvested -100 HOOL.UNVEST Expenses:Grant:Vested 100 HOOL.UNVEST
Questa singola transazione bilanciata modella l'intero evento: la concessione non maturata è ridotta, il reddito è riconosciuto, le tasse sono trattenute e le 60 azioni nette maturate appaiono nel tuo conto di intermediazione con la base di costo corretta per i futuri calcoli delle plusvalenze.
Due dettagli valgono la pena di essere copiati nel tuo registro. Primo, scrivi la ritenuta conto per conto invece di lasciare che un conto di bilanciamento generalista la assorba — se le registrazioni federali e statali non sommano al valore delle azioni trattenute, la transazione non si bilancerà e Beancount te lo segnalerà. Secondo, non lasciare una riga vuota tra le registrazioni: una riga vuota termina la transazione e Beancount segnala un errore di sintassi sulle registrazioni che seguono.
Se il tuo datore di lavoro vende le azioni trattenute sul mercato aperto invece di riprenderle al prezzo di maturazione, la vendita è una transazione separata — una riduzione di Assets:Brokerage:Etrade:HOOL contro liquidità — e qualsiasi differenza tra il prezzo di vendita e la base di $150,00 è una piccola plusvalenza o minusvalenza. Tienila fuori dalla voce di maturazione.
Parte 7: Gestione del Progetto per il Tuo Registro
Man mano che il tuo registro cresce, l'organizzazione diventa fondamentale.
Usare il Controllo di Versione (Git) per Proteggere i Tuoi Dati
Poiché il tuo registro è un file di testo, è perfetto per il controllo di versione con Git. Questo ti offre una cronologia completa di tutte le modifiche, proteggendoti da cancellazioni o errori accidentali. Attenzione: I tuoi dati finanziari sono altamente sensibili. Usa un repository privato su servizi come GitHub/GitLab, oppure ospitalo tu stesso.
Organizzare con Tag (#) e Collegamenti (^)
Beancount offre due modi per raggruppare le transazioni oltre ai conti:
- Tag (
#): Usali per eventi o progetti. Puoi filtrare tutte le transazioni relative a un viaggio specifico, ad esempio.2024-07-20 * "Hotel" "Vienna" #trip-europe-2024 - Link (
^): Usali per collegare transazioni finanziariamente correlate che avvengono in momenti diversi, come un prelievo di contanti e la relativa commissione bancaria.
Una Strategia Scalabile per Strutturare i Tuoi File (include)
Un singolo file enorme è difficile da gestire. Usa la direttiva include per dividere il tuo registro in più file.
main.bean:
; Main ledger file
; Global options
option "title" "My Personal Ledger"
option "operating_currency" "USD"
; Include account declarations and other files
include "accounts.bean"
include "years/2023.bean"
include "years/2024.bean"
include "events/trip-europe-2024.bean"Una strategia organizzativa robusta, in ordine di precedenza:
- Per evento: Crea un file separato per un evento importante e autosufficiente (es.
trip-europe-2024.bean). - Per categoria/beneficiario: Per transazioni molto regolari e ricorrenti come bollette o stipendio, raggruppale in un file dedicato (es.
recurring-rent.bean). - Per conto: Per le transazioni strettamente legate a un conto specifico (interessi, commissioni, pagamenti con carta di credito), considera un file specifico per conto.
- Per data: Per tutte le altre transazioni generali, una semplice suddivisione per anno (
2024.bean) o mese (2024/07.bean) è efficace.
Parte 8: Conclusione
Beancount offre una curva di apprendimento ripida ma ripaga lo sforzo con potenza, flessibilità e controllo impareggiabili sui tuoi dati finanziari. Abbracciando i principi della contabilità in partita doppia e gli strumenti pratici che Beancount offre, puoi passare dal semplice monitoraggio delle spese a un sistema completo, accurato e ricco di informazioni di gestione finanziaria personale. Il tuo registro diventa un asset permanente, privato e inestimabile per comprendere il tuo passato e pianificare il tuo futuro.
Iniziare con Beancount.io
Beancount.io è una moderna piattaforma cloud di gestione finanziaria che trasforma i tuoi record di transazioni basati su testo in prospetti finanziari completi, inclusi conti economici, stati patrimoniali e bilanci di verifica. Combinando l'affidabilità dei file di testo semplice con potenti strumenti di visualizzazione, Beancount.io ti aiuta a mantenere un controllo preciso sulla tua vita finanziaria, ottenendo al contempo preziose informazioni sulla performance dei tuoi investimenti.
Inizia il tuo percorso finanziario con Beancount.io — consulta i piani e i prezzi attuali per sapere cosa include ogni livello.

Esplora il registro in tempo reale →

Esplora il registro in tempo reale →
