Salta al contenuto principale

Il Ciclo Contabile, Stile Beancount

Pubblicato Ultimo aggiornamento 9 minuti di letturaMike ThriftMike Thrift
Il Ciclo Contabile, Stile Beancount

I bilanci non appaiono per magia. Sono il prodotto finale di un processo strutturato e ripetibile noto come ciclo contabile. Sebbene i principi siano universali, gli strumenti che utilizzi possono cambiare radicalmente l'esperienza. Questa guida ti accompagna attraverso il ciclo contabile con un focus su Beancount, il potente strumento di contabilità in testo semplice.

Vedremo come l'approccio basato sul testo di Beancount elimini passaggi noiosi, cosa dovresti automatizzare e quali report ti offrono la visione più chiara della tua salute finanziaria. 🧑‍💻


TL;DR: Il Flusso di Lavoro di Beancount

  • Registrazione & Giornale: Registra ogni transazione come una registrazione a partita doppia pulita nel tuo file di testo .beancount.
  • Validazione & Riconciliazione: Usa le asserzioni balance per confermare che la tua contabilità corrisponda agli estratti conto bancari ed esegui bean-check per individuare errori.
  • Revisione: Genera un bilancio di verifica non rettificato per un rapido controllo di coerenza.
  • Rettifica: Registra scritture per ratei, risconti, ammortamenti e altre voci di fine periodo.
  • Nuova revisione: Controlla il bilancio di verifica rettificato per assicurarti che tutto sia corretto.
  • Pubblicazione & Chiusura: Genera il tuo Conto Economico, Stato Patrimoniale e Rendiconto Finanziario. La chiusura dei conti è facoltativa in Beancount, poiché i report sono sensibili alla data.

Questo flusso può essere visualizzato così:

graph TD
  A[Dati grezzi - esportazioni bancarie, ricevute, fatture] --> B[File Giornale Beancount .beancount]
  B --> C[Validazione & Riconciliazione<br/><code>balance</code> asserzioni · <code>bean-check</code>]
  C --> D[Bilancio di Verifica Non Rettificato<br/><code>bean-query</code> · Fava]
  D --> E[Scritture di Rettifica<br/>ratei · risconti · tasse]
  E --> F[Bilancio di Verifica Rettificato]
  F --> G[Bilanci Civilistici<br/>C.E. · Stato Patrimoniale · Rendiconto Finanziario]
  G --> H[Chiusura - Utile Portato a Nuovo]
  H -- nuovo periodo --> B

Passo 1: Registrare e Registrare le Transazioni

Questo è il passo fondamentale. Ogni evento finanziario—una vendita, un acquisto, una commissione bancaria—deve essere registrato. In Beancount, lo fai creando transazioni in un semplice file di testo, solitamente chiamato main.beancount o organizzato in più file per anno.

Ogni transazione deve seguire le regole della contabilità a partita doppia, il che significa che la somma di tutte le registrazioni deve essere zero. Beancount lo impone per te.

2025-08-10 * "Walmart" "Acquisto forniture per ufficio"
  Expenses:Office:Supplies      45.67 USD
  Assets:Bank:Checking         -45.67 USD
  • Consiglio da Esperto: Usa tag come #project-phoenix o #client-acme per aggiungere dimensioni ai tuoi dati. Questo rende le interrogazioni e i report estremamente flessibili in seguito.

Igiene della Riconciliazione ✅

La funzionalità più potente per garantire l'accuratezza è l'asserzione di saldo. Alla fine di un periodo di rendiconto (es. fine mese), dichiari quale dovrebbe essere il saldo di un conto.

2025-08-31 balance Assets:Bank:Checking  12345.67 USD

Se la somma di tutte le transazioni che interessano Assets:Bank:Checking fino a quella data non è uguale a 12345.67 USD, Beancount genererà un errore. Questa semplice direttiva trasforma la tua contabilità in un documento auto-verificante.

Per chi ricostruisce dati storici, la direttiva pad può creare automaticamente una transazione di bilanciamento per far corrispondere i saldi di apertura con la tua prima asserzione.


Passo 2: "Registrare nella Contabilità" (Un Vantaggio Gratuito!)

Nei sistemi contabili tradizionali, si scrivono prima le scritture in un "giornale", e poi un passaggio separato di "registrazione" copia quei valori nella "contabilità generale".

Con Beancount, il tuo file .beancount è sia il giornale che la contabilità generale. Quando scrivi e salvi una transazione, l'hai già registrata. Non esiste un passaggio separato. Questa immediatezza è un vantaggio fondamentale della contabilità in testo semplice: ciò che vedi è ciò che ottieni.


Passo 3: Preparare un Bilancio di Verifica Non Rettificato

Prima di iniziare a fare rettifiche, hai bisogno di un rapido controllo "torna tutto?". Un bilancio di verifica è un semplice report che elenca ogni conto e il suo saldo totale. Il totale complessivo di tutti i saldi dare deve essere uguale al totale complessivo di tutti i saldi avere.

Puoi generarlo con una semplice interrogazione:

bean-query main.beancount \
  "SELECT account, sum(position) GROUP BY 1 ORDER BY 1"

Oppure, per un approccio più visivo, apri la tua contabilità in Fava (l'interfaccia web per Beancount) e naviga al report "Bilancio di Verifica". Cerca qualsiasi cosa insolita—un conto patrimoniale con saldo avere, o un conto economico con un valore strano.


Passo 4: Registrare le Scritture di Rettifica

Le scritture di rettifica sono fondamentali per una rendicontazione accurata secondo il principio di competenza economica. Assicurano che i ricavi siano riconosciuti quando maturati e i costi quando sostenuti, indipendentemente da quando avviene lo scambio di denaro.

Le rettifiche comuni includono:

  • Ratei: Registrare ricavi che hai maturato ma non hai ancora fatturato, o un costo che hai sostenuto ma non hai ancora pagato.
  • Risconti: Gestire i pagamenti anticipati. Se un cliente ti paga per un anno di servizio in anticipo, lo registri come passività (Liabilities:UnearnedRevenue) e riconosci 1/12 come ricavo ogni mese.
  • Voci Non Monetarie: Registrare elementi come l'ammortamento dei beni.
  • Correzioni: Correggere errori o contabilizzare elementi mancanti dai flussi bancari, come un piccolo pagamento di interessi.

Esempio: Rateo Attivo

Hai completato un progetto il 31 agosto ma non invierai la fattura fino a settembre. Per riconoscere il ricavo nel periodo corretto (agosto), effettui una scrittura di rettifica:

2025-08-31 * "Rateo attivo per progetto cliente #1042"
  Assets:AccountsReceivable      3000.00 USD
  Income:Consulting             -3000.00 USD

Esempio: Registrazione Ammortamento

La tua azienda ha un piano di ammortamento per i suoi beni. Alla fine del periodo, registri il costo:

2025-12-31 * "Ammortamento annuale attrezzature informatiche"
  Expenses:Depreciation                  4800.00 USD
  Assets:Fixed:AccumulatedDepreciation  -4800.00 USD

Passo 5: Eseguire un Bilancio di Verifica Rettificato e Validare

Una volta inserite le scritture di rettifica, esegui di nuovo il report del bilancio di verifica. Questo è il tuo Bilancio di Verifica Rettificato. Fornisce la serie finale di numeri che verranno utilizzati per creare i bilanci.

Questo è anche il momento perfetto per eseguire il controllo di coerenza integrato di Beancount:

bean-check main.beancount

Questo comando verifica tutta la sintassi, le regole di bilanciamento e le asserzioni. Se viene eseguito senza alcun output, la tua contabilità è meccanicamente corretta.


Passo 6: Pubblicare i Bilanci 📊

Questa è la ricompensa. Utilizzando i numeri del tuo bilancio di verifica rettificato, puoi ora generare i report finanziari chiave. Fava è il modo più semplice per farlo, poiché fornisce report interattivi e dettagliati pronti all'uso.

  • Conto Economico (Profitti e Perdite): Mostra i tuoi ricavi e costi in un periodo, risultando nel tuo utile o perdita netta.
  • Stato Patrimoniale: Un'istantanea di ciò che possiedi (Attività) e ciò che devi (Passività), oltre al tuo patrimonio netto (Capitale Proprio), a una data specifica.
  • Rendiconto Finanziario: Concilia la tua liquidità iniziale con quella finale mostrando da dove è arrivato il denaro e dove è andato.

Per report personalizzati, puoi utilizzare il linguaggio di interrogazione Beancount (BQL). Ecco un'interrogazione per un conto economico mensile:

-- C.E. per agosto 2025
SELECT account, sum(position)
WHERE account ~ '^(Income|Expenses)'
  AND date >= 2025-08-01 AND date <= 2025-08-31
GROUP BY account ORDER BY account;

Passo 7: Chiusura dei Conti (Facoltativa)

Nella contabilità tradizionale, il processo di "chiusura" comporta la creazione di scritture contabili per azzerare tutti i conti temporanei (Ricavi e Costi) e trasferire l'utile netto in un conto di patrimonio netto chiamato Utile Portato a Nuovo. Questo resetta formalmente i conti temporanei per l'anno successivo.

In Beancount, questo passaggio è solitamente inutile. I report di Fava sono sensibili alla data; se richiedi un C.E. per il 2025, utilizzerà solo i dati del 2025. I saldi non "si accumulano". La maggior parte degli utenti lascia semplicemente i saldi così come sono.

Tuttavia, se devi effettuare una chiusura formale per conformità o rendicontazione agli azionisti, puoi farlo con una semplice transazione di fine anno che sposta il totale dei saldi di ricavi e costi in Equity:Retained-Earnings.


Una Checklist Pratica per la Chiusura Mensile

Ecco una checklist ripetibile per chiudere i tuoi conti ogni mese utilizzando Beancount.

flowchart TD
  cap[Registra Transazioni] --> rec[Riconcilia Conti]
  rec --> review[Revisione Non Rettificata]
  review --> adj[Registra Rettifiche]
  adj --> atb[Revisione Rettificata & Validazione]
  atb --> pub[Pubblica Report]
  pub --> wrap[Finalizzazione & Archiviazione]
  wrap --> cap
  • Registrazione: Importa tutte le transazioni bancarie e delle carte di credito. Inserisci manualmente eventuali spese in contanti o voci extra.
  • Riconciliazione: Aggiungi asserzioni balance per tutti i conti correnti, carte di credito e conti prestiti, abbinandoli ai tuoi estratti conto.
  • Revisione: Esamina il bilancio di verifica non rettificato in Fava. Indaga su eventuali saldi strani o inaspettati. Controlla le fatture non pagate scadute (Assets:AccountsReceivable) o le bollette (Liabilities:AccountsPayable).
  • Rettifica: Registra scritture per ricavi/costi rateali, ricavi riscontati e eventuali correzioni necessarie.
  • Validazione: Esegui bean-check. Rivedi il bilancio di verifica rettificato finale.
  • Pubblicazione: Genera il C.E. e lo Stato Patrimoniale. Inviali agli stakeholder o salvali per i tuoi archivi.
  • Finalizzazione: Facoltativamente, esegui una scrittura di chiusura se la tua azienda lo richiede. Archivia una copia dei tuoi file .beancount per il periodo.

Perché Beancount Eccelle nel Ciclo Contabile

  • Trasparenza e Verificabilità: La tua contabilità è un file di testo. Puoi usare git per il controllo versione della tua storia finanziaria, rivedere le modifiche con diff e collaborare con il tuo commercialista in un formato chiaro e inequivocabile.
  • Controllo Totale: Definisci tu il tuo piano dei conti. Non sei vincolato alla struttura di un fornitore di software. I tuoi dati sono tuoi, per sempre, in un formato aperto.
  • Potenza Ineguagliabile: La combinazione di interrogazioni simili a SQL (BQL) e una ricca interfaccia web (Fava) ti offre un potere senza pari per sezionare, analizzare e comprendere i tuoi dati finanziari.

Frammenti Copia-Incolla per Iniziare

Piano dei Conti Semplice:

option "title" "La Mia Contabilità Personale"
option "operating_currency" "USD"
 
;; --- Conti ---
1970-01-01 open Assets:Bank:Checking
1970-01-01 open Assets:AccountsReceivable
1970-01-01 open Liabilities:CreditCard
1970-01-01 open Liabilities:UnearnedRevenue
1970-01-01 open Equity:Owner:Capital
1970-01-01 open Equity:Retained-Earnings
1970-01-01 open Income:Consulting
1970-01-01 open Expenses:Office:Supplies
1970-01-01 open Expenses:Software
1970-01-01 open Expenses:Depreciation

Interrogazione BQL Utile:

-- Trova tutti i clienti con un saldo insoluto
SELECT payee, sum(position)
WHERE account = 'Assets:AccountsReceivable'
GROUP BY payee
HAVING sum(position) > 0
ORDER BY sum(position) DESC;

Mappando l'atemporale ciclo contabile sui moderni strumenti basati su testo di Beancount, ottieni un sistema robusto, trasparente e costruito per durare. Buona contabilità!

Condividi questo articolo