Configurazione di Beancount per Startup
Una base pratica, pronta per essere copiata e incollata, per gestire la contabilità della tua startup in testo semplice. Funziona dal pre-seed al Series A. Questo non è un consiglio legale o fiscale.
Gestire una startup significa indossare molti cappelli, e uno dei più critici è quello del "contabile". Prima di poterti permettere software costosi o un commercialista a tempo pieno, hai bisogno di un sistema che sia accurato, verificabile e che non ti chiuda in un ecosistema proprietario. Ecco che arriva Beancount: un sistema di contabilità open-source basato su testo semplice.
Usare Beancount significa che il tuo libro mastro finanziario vive in file di testo, proprio accanto al tuo codice in un repository Git. È versionato, trasparente e infinitamente personalizzabile. Questa guida fornisce una configurazione completa, pronta per essere copiata e incollata, per gestire la contabilità della tua startup dalla costituzione fino al Series A, basata su solidi principi di contabilità per competenza.
1) Cosa configurerai
Questa guida ti guiderà attraverso la creazione di una configurazione contabile completa e professionale. Alla fine, avrai:
- Un libro mastro unico e autorevole gestito in Git (
main.beancount), che ti fornisce una storia completa e verificabile delle finanze della tua azienda. - Fava per report e grafici straordinari. Fava è un'interfaccia web per Beancount che trasforma i tuoi file di testo in interattivi conti economici, stati patrimoniali e analisi del flusso di cassa.
- Una struttura per import che potrai aggiungere in seguito per automatizzare l'inserimento delle transazioni dai tuoi conti bancari, carte di credito, PayPal e Stripe. Inizieremo manualmente per imparare il sistema, poi automatizzeremo.
- Un piano dei conti pronto per la competenza economica progettato per startup moderne, con supporto integrato per ricavi sospesi, costi anticipati e debiti per stipendi.
- Elementi di base per il finanziamento seed, inclusi esempi chiari per registrare SAFE note (sia come passività che come patrimonio netto) e note convertibili con interessi.
2) Struttura del progetto (inserisci nel tuo repo)
Inizia creando questa struttura di directory all'interno del repository Git della tua azienda. Questa organizzazione mantiene il tuo libro mastro pulito e scalabile.
/ledger
main.beancount
/includes
accounts.beancount
opening-balances.beancount
policies.beancount
/documents
/bank
/invoices
/receipts
/importers # opzionale; aggiungi quando automatizzi l'importazione CSV
bank_importer.py
card_importer.pymain.beancount: Il file centrale che unisce tutto./includes: Contiene il tuo piano dei conti, saldi di apertura e politiche contabili./documents: Un posto per memorizzare PDF di estratti conto bancari, fatture e ricevute per una traccia di audit pulita./importers: Dove vivranno i tuoi futuri script Python per l'analisi dei CSV bancari.
3) main.beancount minimale e sensato
Questo è il punto di ingresso per il tuo libro mastro. Imposta alcune opzioni globali e include gli altri file componenti. Copia questo contenuto in ledger/main.beancount e personalizza il titolo.
option "title" "Libro Mastro di Acme, Inc."
option "operating_currency" "USD"
option "documents" "ledger/documents"
include "includes/accounts.beancount"
include "includes/opening-balances.beancount"
include "includes/policies.beancount"
; Se in seguito aggiungerai import, aggiungerai qui le righe dei plugin.
; plugin "beancount.plugins.implicit_prices"4) Piano dei conti iniziale (pronto per la competenza)
Il tuo piano dei conti è l'elenco completo delle categorie per le transazioni finanziarie della tua azienda. Questo modello iniziale è costruito per la contabilità per competenza, che offre un quadro molto più accurato della salute della tua azienda rispetto alla contabilità per cassa.
Mettilo in includes/accounts.beancount. Sentiti libero di rimuovere qualsiasi conto di cui non hai bisogno immediatamente.
; --- Attività (Assets) ---
1970-01-01 open Assets:Bank:Checking USD
1970-01-01 open Assets:Bank:Savings USD
1970-01-01 open Assets:AR USD ; Crediti verso clienti
1970-01-01 open Assets:Prepaid:Software USD ; Costi anticipati: Software
1970-01-01 open Assets:Prepaid:Insurance USD ; Costi anticipati: Assicurazioni
1970-01-01 open Assets:Deposits USD ; Depositi cauzionali
1970-01-01 open Assets:Equipment USD ; Attrezzature
1970-01-01 open Assets:Intangibles USD ; Beni Immateriali
1970-01-01 open Assets:Crypto:BTC BTC
1970-01-01 open Assets:Other ; Altre Attività
; --- Passività (Liabilities) ---
1970-01-01 open Liabilities:AP USD ; Debiti verso fornitori
1970-01-01 open Liabilities:CreditCard:Corporate USD ; Carta di credito aziendale
1970-01-01 open Liabilities:DeferredRevenue USD ; Ricavi sospesi
1970-01-01 open Liabilities:Payroll:Withholding USD ; Debiti per ritenute stipendiali
1970-01-01 open Liabilities:Payroll:EmployerTaxes USD ; Debiti per contributi datoriali
1970-01-01 open Liabilities:SalesTax:CA USD ; Debiti per IVA/Imposte sulle vendite CA
1970-01-01 open Liabilities:SAFE USD
1970-01-01 open Liabilities:NotesPayable USD ; Debiti vs. finanziatori (cambiali)
1970-01-01 open Liabilities:Other ; Altre Passività
; --- Patrimonio Netto (Equity) ---
1970-01-01 open Equity:CommonStock USD ; Capitale Sociale (azioni ordinarie)
1970-01-01 open Equity:APIC USD ; Riserva da sovrapprezzo azioni
1970-01-01 open Equity:SAFE USD ; Se classifichi i SAFE come patrimonio netto
1970-01-01 open Equity:RetainedEarnings USD ; Utili portati a nuovo
1970-01-01 open Equity:OpeningBalances USD ; Saldi di apertura
; --- Ricavi (Income) (saldi negativi) ---
1970-01-01 open Income:Revenue:SaaS USD ; Ricavi SaaS
1970-01-01 open Income:Revenue:Services USD ; Ricavi da Servizi
1970-01-01 open Income:Other USD ; Altri Ricavi
; --- Costi (Expenses) ---
1970-01-01 open Expenses:COGS USD ; Costo del venduto
1970-01-01 open Expenses:Payroll:Wages USD ; Stipendi
1970-01-01 open Expenses:Payroll:EmployerTaxes USD ; Contributi datoriali
1970-01-01 open Expenses:Benefits USD ; Benefit
1970-01-01 open Expenses:Contractors USD ; Consulenti / Partite IVA
1970-01-01 open Expenses:Software:Subscriptions USD ; Abbonamenti Software
1970-01-01 open Expenses:Cloud USD ; Servizi Cloud
1970-01-01 open Expenses:Rent USD ; Affitto
1970-01-01 open Expenses:Meals USD ; Pasti
1970-01-01 open Expenses:Travel USD ; Viaggi
1970-01-01 open Expenses:Marketing USD ; Marketing
1970-01-01 open Expenses:Legal USD ; Spese Legali
1970-01-01 open Expenses:Accounting USD ; Spese Contabili
1970-01-01 open Expenses:Insurance USD ; Assicurazioni
1970-01-01 open Expenses:BankFees USD ; Commissioni Bancarie
1970-01-01 open Expenses:Taxes:Income USD ; Imposte sul Reddito
1970-01-01 open Expenses:Taxes:Sales USD ; Imposte sulle Vendite
1970-01-01 open Expenses:Other USD ; Altri CostiNote
- I conti di ricavo sono negativi perché rappresentano crediti nella contabilità a partita doppia. Non preoccuparti; Fava inverte automaticamente i segni nei report, quindi i tuoi ricavi appariranno come un numero positivo nel conto economico.
- Inizia con categorie ristrette e mirate. È molto più facile aggiungere nuovi conti in seguito che ripulire un piano dei conti disordinato e troppo dettagliato.
5) Saldi di apertura (primo giorno)
La prima transazione nel tuo libro mastro prepara il terreno. Registra lo stato iniziale dei tuoi conti nel giorno in cui inizi a tracciare. Metti questa transazione in includes/opening-balances.beancount, modificando la data e gli importi per riflettere la tua posizione iniziale effettiva.
2025-01-01 * "Saldi di apertura"
Assets:Bank:Checking 5,000.00 USD
Liabilities:CreditCard:Corporate -500.00 USD
Equity:OpeningBalances -4,500.00 USDQuesta registrazione stabilisce che l'azienda ha iniziato con $5.000 in banca e un saldo di $500 sulla carta di credito aziendale. Il conto Equity:OpeningBalances è un conto speciale utilizzato per garantire che la transazione sia in pareggio (somma zero), come richiesto dalla contabilità a partita doppia.
6) Transazioni comuni per startup (copia-incolla)
Ecco le ricette per gli eventi finanziari più comuni in una startup in fase iniziale. Copia, incolla e adattali per il tuo uso.
Acquisto di azioni dei fondatori (semplice, solo valuta)
Quando i fondatori acquistano le loro azioni iniziali al valore nominale, il denaro entra in azienda e viene registrato come patrimonio netto. La tua cap table (Carta, Pulley o un foglio di calcolo) è la fonte ufficiale per il numero di azioni; il libro mastro registra solo i dollari.
2025-01-05 * "Acquisto azioni fondatori al valore nominale"
Assets:Bank:Checking 800.00 USD
Equity:CommonStock -0.80 USD
Equity:APIC -799.20 USD
; 8.000.000 azioni ordinarie @ $0.0001 — conteggi mantenuti fuori dal libro mastro(Opzionale) Traccia le tue azioni come una "merce"
Se vuoi che il libro mastro tracci il numero di azioni emesse, puoi definire le tue azioni come una "merce". Questo è più complesso ma fornisce una registrazione più completa all'interno del libro mastro.
2025-01-05 commodity ACME
name: "Acme, Inc. Azioni Ordinarie"
2025-01-05 * "Emissione azioni fondatori"
Assets:Bank:Checking 800.00 USD
Equity:APIC -799.20 USD
Equity:CommonStock -8.000.000 ACME {0.0001 USD}Incasso SAFE (scegli la classificazione)
Un SAFE (Simple Agreement for Future Equity) può essere trattato come una passività o come una forma di patrimonio netto (specificamente, "equity mezzanino"). Consulta il tuo commercialista per scegliere l'approccio giusto e sii coerente.
; (A) Classificazione come Patrimonio Netto (mezzanino)
2025-02-01 * "SAFE post-money — SeedFund"
Assets:Bank:Checking 500.000,00 USD
Equity:SAFE -500.000,00 USD
; (B) Classificazione come Passività (fino alla conversione)
2025-02-01 * "SAFE post-money — SeedFund"
Assets:Bank:Checking 500.000,00 USD
Liabilities:SAFE -500.000,00 USDQuando si chiude un round con prezzo, riclassificherai il saldo del SAFE in Azioni Privilegiate e Riserva da Sovrapprezzo Azioni sulla base dei documenti di chiusura.
Nota convertibile con interessi maturati
A differenza di un SAFE, una nota convertibile è inequivocabilmente una passività che matura interessi. Registrerai il denaro iniziale e poi contabilizzerai periodicamente (es. trimestralmente) la spesa per interessi.
2025-03-01 * "Nota Convertibile — 6% annuo"
Assets:Bank:Checking 250.000,00 USD
Liabilities:NotesPayable -250.000,00 USD
2025-06-30 * "Maturazione interessi nota Q2"
Expenses:Interest 3.750,00 USD
Liabilities:NotesPayable -3.750,00 USD
; 250.000 * 6% * 0,25 = 3.750Vendita SaaS annuale (ricavo sospeso + riconoscimento mensile)
Questa è una pietra miliare della contabilità per competenza. Quando un cliente paga in anticipo per un anno, non guadagni tutto quel ricavo in una volta. Lo contabilizzi come una passività (DeferredRevenue) e poi riconosci 1/12 ogni mese.
2025-03-10 * "Abbonamento annuale — AcmeCo — INV-001"
Assets:AR 1.200,00 USD
Liabilities:DeferredRevenue -1.200,00 USD
narration: "Pagamento anticipato annuale SaaS"
2025-03-20 * "Pagamento INV-001"
Assets:Bank:Checking 1.200,00 USD
Assets:AR -1.200,00 USD
; Riconoscimento mese 1/12 (ripetere mensilmente o tramite script)
2025-04-01 * "Riconoscimento ricavo 1/12 — INV-001"
Liabilities:DeferredRevenue 100,00 USD
Income:Revenue:SaaS -100,00 USDCosto anticipato e ammortamento
Questo è l'inverso del ricavo sospeso. Quando paghi anticipatamente per un servizio (come software annuale o assicurazione), lo registri come un'attività (Prepaid) e poi "ammortizzi" o spesifichi una parte ogni mese.
2025-03-01 * "Software annuale pagato anticipatamente"
Assets:Prepaid:Software 1.200,00 USD
Assets:Bank:Checking -1.200,00 USD
2025-04-01 * "Ammortamento costo anticipato 1/12"
Expenses:Software:Subscriptions 100,00 USD
Assets:Prepaid:Software -100,00 USDBuste paga (cassa netta, con ritenute + contributi datoriali)
Una registrazione di busta paga ha diverse parti: la spesa lorda per stipendi, la spesa per contributi datoriali, il denaro netto pagato ai dipendenti e la passività per le tasse che hai trattenuto e che devono essere versate allo stato.
2025-04-15 * "Buste paga — 15 Apr"
Expenses:Payroll:Wages 15.000,00 USD
Expenses:Payroll:EmployerTaxes 1.200,00 USD
Liabilities:Payroll:Withholding -4.000,00 USD
Assets:Bank:Checking -12.200,00 USDRiscossione e versamento IVA/Imposta sulle vendite (esempio California)
Quando riscuoti l'IVA/l'imposta sulle vendite, non sono soldi tuoi. Sono una passività che devi allo stato. Registri la passività quando effettui la vendita e la estingui quando versi l'imposta.
2025-05-10 * "Fattura #123 — soggetta a imposta CA"
Assets:AR 1.088,75 USD
Income:Revenue:SaaS -999,00 USD
Liabilities:SalesTax:CA -89,75 USD
2025-06-05 * "Pagamento #123"
Assets:Bank:Checking 1.088,75 USD
Assets:AR -1.088,75 USD
2025-07-20 * "Versamento imposta vendite CA Q2"
Liabilities:SalesTax:CA 89,75 USD
Assets:Bank:Checking -89,75 USDValuta estera (FX) e Criptovalute (leggero)
Beancount gestisce nativamente più valute. Usa le direttive price per registrare i tassi di cambio e la sintassi del costo {} per transazioni specifiche.
2025-03-01 price EUR 1.0832 USD
2025-03-02 * "Addebito AWS EU"
Expenses:Cloud 90,00 EUR
Liabilities:CreditCard:Corporate -90,00 EUR
2025-03-05 * "Acquisto BTC per test"
Assets:Crypto:BTC 0,0200 BTC {3400.00 USD}
Assets:Bank:Checking -3.400,00 USD7) Usare Fava (report con un comando)
Fava è la splendida interfaccia web che rende vivi i dati di Beancount. È la ricompensa per la tua attenta immissione dati.
- Installazione:
$ pip install fava - Esecuzione:
$ fava ledger/main.beancount - Viste utili: Conto Economico (Income Statement), Stato Patrimoniale (Balance Sheet), Registro (Journal) (per filtrare per conto/tag) e Query (per query personalizzate simili a SQL).
Filtri rapidi di Fava:
account:DeferredRevenue: Mostra tutta l'attività nel tuo conto ricavi sospesi.tag:#invoice-001: Tagga le transazioni relative a una fattura specifica e filtrale.from:2025-01-01 to:2025-12-31: Concentrati su un periodo finanziario specifico.
8) Checklist di chiusura mensile (15–45 min)
Alla fine di ogni mese, esegui questa checklist per assicurarti che i tuoi libri siano accurati e aggiornati. Questa disciplina renderà la dichiarazione dei redditi e la due diligence degli investitori un gioco da ragazzi.
- Banche/carte di credito: Importa o inserisci manualmente tutte le transazioni. Reconcilia i saldi con i tuoi estratti conto.
- AR/AP: Registra tutte le fatture emesse e le ricevute; segna gli elementi pagati come liquidati.
- Ricavi: Registra le voci mensili di riconoscimento dei ricavi per tutti i contratti prepagati.
- Costi anticipati: Ammortizza
1/12(o la frazione appropriata) di tutti i costi anticipati. - Buste paga: Registra la scrittura contabile dal report del tuo fornitore di buste paga.
- IVA/Imposta sulle vendite: Registra la tua passività IVA per il mese.
- Strumenti seed: Matura gli interessi su eventuali note convertibili.
- Controlli di coerenza:
- Il tuo Conto Economico mostra ricavi in linea con il tuo MRR/ARR previsto?
- Il tuo tasso di consumo (burn rate) e la tua pista (runway) sono allineati con il tuo piano finanziario?
$ bean-checkviene eseguito senza errori? I report di Fava sembrano corretti?
- Commit su Git con una nota breve e coerente (es.
close: 2025-04).
9) Metadati e documenti (rendi gli audit facili)
Il tuo libro mastro dovrebbe essere auto-documentante. Usa metadati e collega i documenti sorgente per creare una traccia di audit a prova di proiettile. Il te stesso del futuro (e il tuo commercialista) ti ringrazieranno.
- Aggiungi metadati come
payee:,narration:,invoice:,customer:olink:alle transazioni per chiarezza. - Allega PDF sorgente (fatture, ricevute, estratti conto bancari) alla tua cartella
ledger/documents/e collegali usando il tag di metadatidocument:. - Usa tag (
#payroll,#saas,#vendor-aws,#invoice-001) per un facile filtraggio e analisi.
Esempio:
2025-03-10 * "Abbonamento annuale — AcmeCo" #saas #invoice-001
payee: "AcmeCo"
invoice: "INV-001"
document: "documents/invoices/INV-001.pdf"
Assets:AR 1.200,00 USD
Liabilities:DeferredRevenue -1.200,00 USD10) Importa più tardi (quando avrai tempo)
Inizia inserendo le transazioni manualmente per il primo mese o due. Questo è il modo migliore per imparare il sistema e le tue stesse abitudini di spesa. Una volta che ti sentirai a tuo agio, potrai scrivere semplici import Python per automatizzare il processo e ridurre la fatica.
Un tipico ordine di battaglia per gli import:
- CSV Banca →
Assets:Bank:Checking - CSV Carta di Credito →
Liabilities:CreditCard:Corporate - Report Pagamenti Stripe/PayPal → Mappatura ricavi e cassa
Tieni i tuoi import in /ledger/importers e rivedi le transazioni generate come faresti per qualsiasi altra modifica al codice.
11) Politiche (metti in includes/policies.beancount)
Questo file è dove documenti le tue decisioni contabili per coerenza. È un semplice file di testo, ma è cruciale per mantenere la disciplina.
- Base di competenza economica; riconoscere i ricavi SaaS in modo proporzionale.
- Valuta funzionale è USD; registrare i cambi al tasso giornaliero o al tasso di transazione.
- Soglia di capitalizzazione (es., beni oltre
$2.500diventano un elementoAssets:Equipment; altrimenti, vengono spesati immediatamente). - Viaggi/Pasti: Lo scopo aziendale deve essere documentato nel campo
narration. - Registrazione del patrimonio netto: Dichiara esplicitamente se stai usando il metodo solo valuta o azioni-merce.
- SAFE/Note: Documenta la tua classificazione scelta (Passività o Patrimonio Netto).
Esempio policies.beancount:
; Politica: Base di competenza, ricavi sospesi e riconosciuti mensilmente.
; Politica: USD come valuta funzionale. Utili/perdite su cambi derivati da dati di costo/prezzo.
; Politica: Capitalizzare beni materiali oltre $2.500 con ammortamento a quote costanti su 3 anni.
; Politica: I SAFE sono registrati come Passività fino alla conversione in un round con prezzo.12) Risoluzione rapida dei problemi
- I ricavi appaiono negativi nel Registro: È corretto! I ricavi sono un credito. I report di Fava li mostreranno come un numero positivo.
- I saldi non si azzerano: Probabilmente hai una transazione incompleta. Le registrazioni (postings) di una transazione devono sommare a zero. Usa la vista Registro di Fava per trovare il colpevole. Come misura temporanea, puoi aggiungere una gamba di bilanciamento a un conto
Equity:Suspenseper rendere il file valido, poi indagare e risolvere la causa principale. - Disallineamenti FX: Assicurati di avere direttive
priceper le date rilevanti o di specificare la base di costo nella tua valuta operativa, come90.00 EUR {97.49 USD}.
13) Cosa tracciare al di fuori del libro mastro (mantieni i collegamenti)
Beancount è per le tue transazioni finanziarie, ma alcune cose sono meglio gestite in sistemi dedicati. La chiave è collegarle dal tuo libro mastro.
- Cap Table: Usa Carta, Pulley o un foglio di calcolo. Collega i documenti di chiusura firmati dalle tue transazioni di finanziamento in Beancount.
- Consensi del Consiglio, Piano di Equity, Report 409A: Conservali in un luogo sicuro e aggiungi metadati
link:alle transazioni di patrimonio netto pertinenti. - Dichiarazioni dei Redditi: Conserva i PDF finali e collegali da una transazione di chiusura di fine anno.
File iniziale pronto per la copia (tutto-in-uno)
Se preferisci iniziare con un singolo file prima di espanderti alla struttura include, puoi semplicemente incollare il contenuto dei file delle sezioni sopra in un unico grande main.beancount. Puoi sempre rifattorizzarlo in seguito man mano che il tuo libro mastro cresce.
Questo framework fornisce una base solida e scalabile per le finanze della tua startup. Tenendo i tuoi libri in testo semplice sotto controllo di versione, ottieni una trasparenza e un controllo senza pari, preparando la tua azienda alla disciplina finanziaria dal primo giorno.