Questa guida sintetizza le migliori pratiche per la contabilità in testo semplice utilizzando Beancount, un potente strumento open-source di contabilità in testo semplice. Copre la filosofia di base, la sintassi dal livello base a quello avanzato, casi studio pratici per asset complessi e strategie di gestione del registro a lungo termine.
Parte 1: Il "Perché" - Fondamenti di una Contabilità Intelligente
Prima di addentrarci nel "come", è fondamentale capire il "perché". Una contabilità efficace è il fondamento della gestione finanziaria personale e un passo necessario verso la chiarezza e la libertà finanziaria.
Oltre il Tracciamento delle Spese: Il Percorso verso la Chiarezza Finanziaria
Le semplici app per il tracciamento delle spese ti dicono dove sono finiti i tuoi soldi. Un sistema contabile robusto ti dice questo e molto di più: fornisce un quadro completo della tua salute finanziaria, inclusi il tuo patrimonio netto, il flusso di cassa e la performance dei tuoi investimenti. L'obiettivo principale è l'osservabilità—acquisire una chiara comprensione basata sui dati della tua vita finanziaria, che ti permette di prendere decisioni informate, valutare i rischi e lavorare verso obiettivi a lungo termine come la pensione.
Perché la Partita Doppia? Il Potere di un Sistema in Equilibrio
A differenza della contabilità a partita singola (un semplice elenco di spese), il metodo della 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 in pareggio, riducendo drasticamente gli errori. Fornisce un quadro finanziario completo generando report essenziali come lo Stato Patrimoniale (cosa possiedi e cosa devi) e il Conto Economico (cosa hai guadagnato e speso).
Parte 2: Introduzione a 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 fornisce un ambiente potente che combina il motore Beancount con un'app mobile (iOS, Android) e un'app web - 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 (ad esempio, main.bean) e vedi i report generati da Fava aggiornarsi in tempo reale.
Fava trasforma il testo semplice che scrivi in grafici interattivi, rendiconti finanziari e liste di transazioni filtrabili, dandoti una visione chiara dei tuoi report finanziari.
I Cinque Tipi di Conto Principali
Beancount utilizza cinque tipi di conto principali, che costituiscono la struttura del tuo registro:
| Tipo di Conto | Descrizione | Saldo Tipico |
|---|---|---|
Assets (Attività) | Cosa possiedi (contanti, conti bancari, investimenti, proprietà). | Positivo |
Liabilities (Passività) | Cosa devi (debiti su carte di credito, prestiti, mutui). | Negativo |
Income (Entrate) | Da dove arriva il denaro (stipendio, bonus, interessi). | Negativo |
Expenses (Uscite) | Dove va il denaro (cibo, affitto, viaggi, tasse). | Positivo |
Equity (Patrimonio Netto) | Il tuo patrimonio netto; utilizzato per i saldi iniziali. | Negativo |
L'Equazione di Beancount
Beancount impone una propria versione dell'equazione contabile in cui la somma di tutte le scritture contabili nell'intero registro è uguale a zero:
Questo è il motivo per cui, per convenzione, i conti Income (Entrate), Liabilities (Passività) e Equity (Patrimonio Netto) hanno valori negativi—sono le fonti di fondi che aumentano le tue Assets (Attività) e Expenses (Uscite).
Parte 3: Il Linguaggio di Beancount - Sintassi di Base
Tutte le voci in Beancount sono direttive che iniziano con una data.
Definire Conti (open) e Merci
Prima di poter utilizzare un conto, devi dichiararlo con la direttiva open. Puoi anche specificare opzionalmente le valute o "merci" che conterrà.
; AAAA-MM-GG open Conto:Nome [Merce1, Merce2, ...]
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 merci possono essere valute reali (ad esempio, USD, JPY) o qualsiasi unità personalizzata tu definisca, 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 successiva (rientrata di due spazi) è una "scrittura contabile" su un conto.
; AAAA-MM-GG * "Beneficiario" "Descrizione"
; Conto1 Importo Merce
; Conto2 -Importo Merce
2024-07-28 * "Trader Joe's" "Spesa settimanale"
Expenses:Food:Groceries 125.50 USD
Liabilities:CreditCard:US:Discover -125.50 USDPer comodità, se una transazione ha solo due scritture contabili, puoi omettere l'importo sulla seconda riga e Beancount lo calcolerà automaticamente.
2024-07-28 * "Trader Joe's" "Spesa settimanale"
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 essere in pareggio—la somma di tutte le scritture contabili all'interno di una singola transazione deve essere zero. Se una transazione non è in pareggio, Beancount mostrerà un errore come questo:

Gestire Transazioni in Più Valute (@ e @@)
Beancount eccelle nella contabilità in più valute.
- Usa
@per specificare un prezzo di conversione per unità. - Usa
@@per specificare il costo totale della conversione.
; Acquisto di un volo in EUR con una carta USD
2024-08-01 * "Lufthansa" "Volo per Berlino"
Expenses:Travel:Flights 500.00 EUR @@ 545.00 USD ; 500 EUR mi sono costati 545 USD in totale
Liabilities:CreditCard:US:Discover -545.00 USDParte 4: Garantire l'Accuratezza - L'Arte della Riconciliazione
Una pratica chiave per mantenere un registro accurato è la riconciliazione regolare. Questo comporta il confronto dei saldi nel tuo registro Beancount con gli estratti conto ufficiali delle tue istituzioni finanziarie.
Automatizzare i Controlli con le Asserzioni di Saldo (balance)
La direttiva balance è il tuo strumento principale per i controlli automatizzati. Dichiari che a una data specifica, un conto aveva un saldo particolare. Beancount solleverà un errore se il suo saldo calcolato non corrisponde alla tua asserzione. Questo è prezioso per localizzare rapidamente gli errori.
Nota: L'asserzione di saldo verifica lo stato del conto all'inizio del giorno specificato (prima di qualsiasi transazione in quel giorno).
; Dal tuo estratto conto mensile della carta di credito
2024-08-01 balance Liabilities:CreditCard:US:Discover -1432.78 USDCollegare Documenti Giustificativi (document)
Puoi collegare file esterni come estratti conto bancari o ricevute, creando una traccia verificabile. Fava rende questi collegamenti cliccabili.
2024-08-01 document Liabilities:CreditCard:US:Discover "statements/discover-2024-07.pdf"Correggere Errori e Inizializzare i Saldi
Quando inizi il tuo registro o trovi una discrepanza che non riesci a tracciare, devi fare una rettifica. La pratica standard è utilizzare un conto speciale Equity (Patrimonio Netto).
; Inizializzazione di un conto contanti all'avvio del registro
2020-01-01 * "Saldo Iniziale" "Impostazione conto contanti"
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 patrimoniale. Usala con cautela, poiché può nascondere problemi più grandi. Le rettifiche esplicite sono generalmente più sicure.
Parte 5: Schemi di Transazione Avanzati e Realistici
Tracciare i Debiti: Gestire Crediti e Debiti
La contabilità in partita doppia è perfetta per tracciare i soldi che ti sono dovuti (Assets:Receivables) o che devi (Liabilities:Payable).
Esempio: Paghi una cena di gruppo di $90 e il tuo amico Bob ti deve la sua quota di $45.
-
Registra la spesa iniziale e il credito:
2024-08-05 * "Ristorante" "Cena con Bob" Expenses:Food:Restaurant 45.00 USD ; La tua quota Assets:Receivables:Bob 45.00 USD ; Bob ti deve Assets:Bank:US:Chase:Checking -90.00 USD -
Quando Bob ti ripaga:
2024-08-06 * "Bob" "Mi ha ripagato per la cena" 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 contabili sono perfettamente in pareggio.
Attività vs. Spese: Acquisto di un'Auto e Ammortamento
Un acquisto importante come un'auto non è una semplice spesa; è l'acquisizione di un bene che perde valore nel tempo (ammortamento).
-
Registra l'acquisto come attività:
2023-01-15 * "Concessionario Toyota" "Acquisto di una nuova auto" Assets:Car:ToyotaCamry 30000.00 USD Assets:Bank:US:Chase:Checking -30000.00 USD -
Registra l'ammortamento annuale: Supponi che l'auto perda $3.000 di valore ogni anno. Alla fine dell'anno, registri questo come una spesa.
2023-12-31 * "Ammortamento" "Ammortamento annuale del valore dell'auto" 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 contabilizzato correttamente il costo di utilizzo come spesa per quell'anno.
Parte 6: Approfondimento - Modellare Asset Complessi del Mondo Reale
Caso Studio 1: Contabilità Immobiliare
Una casa è spesso la tua attività e passività più grande. Ecco come modellarla.
-
Crea Conti e una Merce Personalizzata:
2022-01-01 commodity HOUSE_123MAIN name: "Proprietà al 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: Ipotizziamo che tu compri una casa da 100k e un mutuo di $400k.
2022-03-15 * "Società di Rettifica" "Acquisto del 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 le Rate Mensili del Mutuo: La tua rata mensile consiste in una quota capitale (riduce la passività) e una quota interessi (una spesa).
2022-04-01 * "Banca Mutuante" "Rata Mensile Mutuo" Liabilities:Mortgage:HomeLoan 800.00 USD ; Quota capitale Expenses:Home:Interest 1200.00 USD ; Interessi 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 influenzare il tuo patrimonio netto ufficiale (poiché il guadagno non è realizzato fino alla vendita), puoi usare una direttiva di prezzo con una valuta "virtuale".
; Il prezzo di acquisto è la base di costo reale 2022-03-15 price HOUSE_123MAIN 500000.00 USD ; Una stima di mercato aggiornata è una plusvalenza non realizzata 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 immobiliare live con tracciamento del mutuo, ammortamento e vendita della proprietà:
Caso Studio 2: Tracciare le Unità Azionarie Vincolate (RSU)
Le RSU sono una forma comune di compensazione tramite azioni. La loro contabilità comporta il tracciamento della concessione iniziale, degli eventi di maturazione (vesting) e della ritenuta fiscale.
-
Impostazione Iniziale: Crea merci per le azioni maturate (
HOOL) e non maturate (HOOL.UNVEST), insieme ai conti necessari.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:Salary:Hooli:RSU 2021-01-01 open Expenses:Taxes:Federal -
Registra la Concessione Iniziale: Questa transazione mostra il trasferimento della concessione totale in un conto di attività non maturate.
2021-02-01 * "Hooli" "Concessione Iniziale RSU" Assets:Grant:Unvested 1000 HOOL.UNVEST Income:Grant:Awards -1000 HOOL.UNVEST -
Registra un Evento di Maturazione (Vesting): Questa è la transazione chiave. Quando le azioni maturano, riconosci un reddito, paghi le tasse (spesso vendendo alcune azioni) e ricevi le azioni nette. Supponiamo che 100 azioni maturino a $150/azione.
2022-02-01 * "Hooli" "Evento di Maturazione RSU" ; Riconosci il reddito totale di 100 * $150 = $15.000 Income:Salary:Hooli:RSU -15000.00 USD ; Mostra le tasse pagate su questo reddito Expenses:Taxes:Federal 4000.00 USD Expenses:Taxes:State 1000.00 USD ; Ricevi le azioni nette (supponiamo 60 azioni) al loro costo base Assets:Brokerage:Etrade:HOOL 60 HOOL {150.00 USD} ; Le altre 40 azioni sono state vendute per coprire $6000 di tasse. ; Questa transazione bilancia reddito, tasse e azioni ricevute. ; Dobbiamo anche mostrare la riduzione delle azioni non maturate. Assets:Grant:Unvested -100 HOOL.UNVEST Expenses:Grant:Vested 100 HOOL.UNVEST
Questa singola transazione bilanciata modella correttamente l'intero evento: la concessione non maturata viene ridotta, il reddito viene riconosciuto, le tasse vengono pagate e le azioni maturate nette appaiono nel tuo conto di intermediazione con il corretto costo base per futuri calcoli delle plusvalenze.
Parte 7: Gestione del Progetto per il Tuo Registro
Man mano che il tuo registro cresce, l'organizzazione diventa fondamentale.
Usare il Controllo Versione (Git) per Salvaguardare i Tuoi Dati
Poiché il tuo registro è un file di testo, è perfetto per il controllo versione con Git. Questo ti dà una cronologia completa di tutte le modifiche, proteggendoti da cancellazioni o errori accidentali. Attenzione: I tuoi dati finanziari sono estremamente sensibili. Usa un repository privato su servizi come GitHub/GitLab o ospitalo tu stesso.
Organizzare con Tag (#) e Link (^)
Beancount fornisce due modi per raggruppare le transazioni al di là dei conti:
- Tag (
#): Usali per eventi o progetti. Puoi filtrare tutte le transazioni relative a un viaggio specifico, per esempio.2024-07-20 * "Hotel" "Vienna" #viaggio-europa-2024 - Link (
^): Usali per collegare transazioni finanziariamente correlate che avvengono in momenti diversi, come un prelievo di contante 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:
; File del registro principale
; Opzioni globali
option "title" "Il Mio Registro Personale"
option "operating_currency" "USD"
; Includi dichiarazioni di conti e altri file
include "accounts.bean"
include "years/2023.bean"
include "years/2024.bean"
include "events/viaggio-europa-2024.bean"Una strategia organizzativa robusta, in ordine di priorità:
- Per Evento: Crea un file separato per un evento importante e autonomo (ad esempio,
viaggio-europa-2024.bean). - Per Categoria/Beneficiario: Per transazioni altamente regolari e ricorrenti come bollette o stipendio, raggruppale nel loro file (ad esempio,
ricorrente-affitto.bean). - Per Conto: Per transazioni strettamente legate a un conto specifico (interessi, commissioni, pagamenti con carta di credito), considera un file specifico per il 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 ricompensa lo sforzo con una potenza, flessibilità e controllo ineguagliabili sui tuoi dati finanziari. Abbracciando i principi della contabilità in partita doppia e gli strumenti pratici che Beancount fornisce, puoi passare dal semplice tracciamento delle spese a un sistema completo, accurato e profondo di gestione finanziaria personale. Il tuo registro diventa un bene permanente, privato e inestimabile per capire il tuo passato e pianificare il tuo futuro.
Iniziare con Beancount.io
Beancount.io è una piattaforma moderna di gestione finanziaria basata sul cloud che trasforma le tue registrazioni di transazioni in formato testo in rendiconti 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 mentre ottieni preziose informazioni sulla performance dei tuoi investimenti.


