Salta al contingut principal

Configuració de Beancount per a startups

Una base pràctica i copiable per a gestionar la comptabilitat d'una startup en text pla. Funciona per a les fases pre-seed fins a la Sèrie A. Això no és assessorament legal ni fiscal.


beancount-setup-for-startups

Dirigir una startup significa portar molts barrets, i un dels més crítics és el de "comptable". Abans que et puguis permetre un programari car o un comptable a temps complet, necessites un sistema que sigui precís, auditable i que no et bloquegi en un ecosistema propietari. Aquí entra Beancount: un sistema de comptabilitat de codi obert i en text pla.

Utilitzar Beancount significa que el teu llibre major financer viu en fitxers de text, just al costat del teu codi en un repositori Git. Està controlat per versions, és transparent i infinitament personalitzable. Aquesta guia proporciona una configuració completa i copiable per a posar en marxa els llibres de la teva startup des de la incorporació fins a la teva Sèrie A, construïda sobre principis de comptabilitat d'exercici sòlids.

1) Què configuraràs

Aquesta guia et guiarà a través de la creació d'una configuració de comptabilitat completa i de qualitat professional. Al final, tindràs:

  • Un llibre major amb una única font de veritat gestionat en Git (main.beancount), que et proporciona un historial complet i auditable de les finances de la teva empresa.
  • Fava per a informes i gràfics bonics. Fava és una interfície web per a Beancount que converteix els teus fitxers de text en estats de resultats interactius, balanços i anàlisis de flux de caixa.
  • Una estructura per a importadors que pots afegir més tard per a automatitzar l'entrada de transaccions des del teu banc, targeta de crèdit, PayPal i comptes de Stripe. Començarem manualment per a aprendre el sistema, i després automatitzarem.
  • Un pla de comptes preparat per a la comptabilitat d'exercici dissenyat per a startups modernes, amb suport integrat per a ingressos diferits, despeses pagades per avançat i obligacions laborals.
  • Primitius per al finançament seed, incloent exemples clars per a registrar notes SAFE (ja sigui com a passiu o patrimoni) i notes convertibles amb interessos.

2) Estructura del projecte (deixa anar al teu repositori)

Comença creant aquesta estructura de directoris dins del repositori Git de la teva empresa. Aquesta organització manté el teu llibre major net i escalable.

/ledger
main.beancount
/includes
accounts.beancount
opening-balances.beancount
policies.beancount
/documents
/bank
/invoices
/receipts
/importers # opcional; afegeix quan automatitzis la ingesta de CSV
bank_importer.py
card_importer.py
  • main.beancount: El fitxer central que ho reuneix tot.
  • /includes: Conté el teu pla de comptes, saldos inicials i polítiques comptables.
  • /documents: Un lloc per a emmagatzemar PDFs d'extractes bancaris, factures i rebuts per a una pista d'auditoria neta.
  • /importers: On viuran els teus futurs scripts de Python per a analitzar els CSVs bancaris.

3) main.beancount mínim i sensat

Aquest és el punt d'entrada per al teu llibre major. Estableix algunes opcions globals i inclou els altres fitxers components. Copia aquest contingut a ledger/main.beancount i personalitza el títol.

option "title" "Llibre Major d'Acme, Inc."
option "operating_currency" "USD"
option "documents" "ledger/documents"

include "includes/accounts.beancount"
include "includes/opening-balances.beancount"
include "includes/policies.beancount"

; Si més endavant afegeixes importadors, afegiràs línies de plugins aquí.
; plugin "beancount.plugins.implicit_prices"

4) Pla de comptes inicial (primer la comptabilitat d'exercici)

El teu pla de comptes és la llista completa de categories per a les transaccions financeres de la teva empresa. Aquesta plantilla inicial està construïda per a la comptabilitat d'exercici, que ofereix una imatge molt més precisa de la salut de la teva empresa que la comptabilitat de caixa.

Posa això a includes/accounts.beancount. No dubtis a eliminar qualsevol compte que no necessitis immediatament.

; --- Actius ---
1970-01-01 open Assets:Bank:Checking USD
1970-01-01 open Assets:Bank:Savings USD
1970-01-01 open Assets:AR USD ; Comptes a cobrar
1970-01-01 open Assets:Prepaid:Software USD
1970-01-01 open Assets:Prepaid:Insurance USD
1970-01-01 open Assets:Deposits USD ; Dipòsits de seguretat
1970-01-01 open Assets:Equipment USD
1970-01-01 open Assets:Intangibles USD
1970-01-01 open Assets:Crypto:BTC BTC
1970-01-01 open Assets:Other

; --- Passius ---
1970-01-01 open Liabilities:AP USD ; Comptes a pagar
1970-01-01 open Liabilities:CreditCard:Corporate USD
1970-01-01 open Liabilities:DeferredRevenue USD
1970-01-01 open Liabilities:Payroll:Withholding USD
1970-01-01 open Liabilities:Payroll:EmployerTaxes USD
1970-01-01 open Liabilities:SalesTax:CA USD
1970-01-01 open Liabilities:SAFE USD
1970-01-01 open Liabilities:NotesPayable USD
1970-01-01 open Liabilities:Other

; --- Patrimoni Net ---
1970-01-01 open Equity:CommonStock USD
1970-01-01 open Equity:APIC USD ; Prima d'emissió
1970-01-01 open Equity:SAFE USD ; Si classifiques els SAFEs com a patrimoni
1970-01-01 open Equity:RetainedEarnings USD
1970-01-01 open Equity:OpeningBalances USD

; --- Ingressos (saldos negatius) ---
1970-01-01 open Income:Revenue:SaaS USD
1970-01-01 open Income:Revenue:Services USD
1970-01-01 open Income:Other USD

; --- Despeses ---
1970-01-01 open Expenses:COGS USD
1970-01-01 open Expenses:Payroll:Wages USD
1970-01-01 open Expenses:Payroll:EmployerTaxes USD
1970-01-01 open Expenses:Benefits USD
1970-01-01 open Expenses:Contractors USD
1970-01-01 open Expenses:Software:Subscriptions USD
1970-01-01 open Expenses:Cloud USD
1970-01-01 open Expenses:Rent USD
1970-01-01 open Expenses:Meals USD
1970-01-01 open Expenses:Travel USD
1970-01-01 open Expenses:Marketing USD
1970-01-01 open Expenses:Legal USD
1970-01-01 open Expenses:Accounting USD
1970-01-01 open Expenses:Insurance USD
1970-01-01 open Expenses:BankFees USD
1970-01-01 open Expenses:Taxes:Income USD
1970-01-01 open Expenses:Taxes:Sales USD
1970-01-01 open Expenses:Other USD

Notes

  • Els comptes d'ingressos són negatius perquè representen crèdits en la comptabilitat de doble entrada. No et preocupis per això; Fava inverteix automàticament els signes als informes, de manera que els teus ingressos apareixeran com un nombre positiu a l'estat de resultats.
  • Mantingues categories estretes i amb propòsit per començar. És molt més fàcil afegir nous comptes més tard que netejar un pla de comptes desordenat i excessivament granular.

5) Saldos inicials (primer dia)

La primera transacció al teu llibre major estableix l'escenari. Registra l'estat inicial dels teus comptes el dia que comences a fer el seguiment. Posa aquesta transacció a includes/opening-balances.beancount, ajustant la data i els imports per a reflectir la teva posició inicial real.

2025-01-01 * "Saldos inicials"
Assets:Bank:Checking 5,000.00 USD
Liabilities:CreditCard:Corporate -500.00 USD
Equity:OpeningBalances -4,500.00 USD

Aquesta entrada estableix que l'empresa va començar amb $5,000 al banc i un saldo de $500 a la seva targeta de crèdit. El compte Equity:OpeningBalances és un compte especial utilitzat per a assegurar-se que la transacció es quadri a zero, tal com ho requereix la comptabilitat de doble entrada.


6) Transaccions comunes de startups (copia i enganxa)

Aquí hi ha receptes per als esdeveniments financers més comuns en una startup en fase inicial. Copia, enganxa i adapta'ls per al teu propi ús.

Compra d'accions pels fundadors (simple, només moneda)

Quan els fundadors compren les seves accions inicials al valor nominal, els diners entren a l'empresa i es registren com a patrimoni. La teva taula de capitalització (Carta, Pulley o un full de càlcul) és la font de veritat per als recomptes d'accions; el llibre major només registra els dòlars.

2025-01-05 * "Compra d'accions pels fundadors @ par"
Assets:Bank:Checking 800.00 USD
Equity:CommonStock -0.80 USD
Equity:APIC -799.20 USD
; 8,000,000 comú @ $0.0001 — recomptes mantinguts fora del llibre major

(Opcional) Fes el seguiment de les teves pròpies accions com a mercaderia

Si vols que el llibre major faci el seguiment del nombre d'accions emeses, pots definir les teves accions com a "mercaderia". Això és més complex, però proporciona un registre més complet al llibre major.

2025-01-05 commodity ACME
name: "Acme, Inc. Common"

2025-01-05 * "Emissió d'accions dels fundadors"
Assets:Bank:Checking 800.00 USD
Equity:APIC -799.20 USD
Equity:CommonStock -8,000,000 ACME {0.0001 USD}

Entrada de diners SAFE (tria la classificació)

Un SAFE (Simple Agreement for Future Equity) es pot tractar com a passiu o com a forma de patrimoni (específicament, "patrimoni mezzanine"). Consulta amb el teu comptable per a triar l'enfocament correcte i ser coherent.

; (A) Classificació de patrimoni (mezzanine)
2025-02-01 * "SAFE post-money — SeedFund"
Assets:Bank:Checking 500,000.00 USD
Equity:SAFE -500,000.00 USD

; (B) Classificació de passiu (fins a la conversió)
2025-02-01 * "SAFE post-money — SeedFund"
Assets:Bank:Checking 500,000.00 USD
Liabilities:SAFE -500,000.00 USD

Quan es tanca una ronda amb preu, reclassificaràs el saldo SAFE a Accions Preferents i Prima d'Emissió addicional basant-te en els documents de tancament.

Nota convertible amb interessos meritats

A diferència d'un SAFE, una nota convertible és inequívocament un passiu que merita interessos. Registraràs els diners inicials i després registraràs les despeses per interessos periòdicament (per exemple, trimestralment).

2025-03-01 * "Nota Convertible — 6% anual"
Assets:Bank:Checking 250,000.00 USD
Liabilities:NotesPayable -250,000.00 USD

2025-06-30 * "Meritar interessos de la nota Q2"
Expenses:Interest 3,750.00 USD
Liabilities:NotesPayable -3,750.00 USD
; 250,000 * 6% * 0.25 = 3,750

Venda anual de SaaS (ingressos diferits + reconeixement mensual)

Aquesta és una pedra angular de la comptabilitat d'exercici. Quan un client paga per avançat un any, no guanyes tots aquests ingressos alhora. Ho registres com a passiu (DeferredRevenue) i després reconeixes 1/12 part cada mes.

2025-03-10 * "Subscripció anual — AcmeCo — INV-001"
Assets:AR 1,200.00 USD
Liabilities:DeferredRevenue -1,200.00 USD
narration: "SaaS pagament anual per avançat"

2025-03-20 * "Pagament INV-001"
Assets:Bank:Checking 1,200.00 USD
Assets:AR -1,200.00 USD

; Reconeix el mes 1/12 (repeteix mensualment o fes-ho amb un script)
2025-04-01 * "Reconeixement d'ingressos 1/12 — INV-001"
Liabilities:DeferredRevenue 100.00 USD
Income:Revenue:SaaS -100.00 USD

Despeses pagades per avançat i amortització

Això és el contrari dels ingressos diferits. Quan pagues per avançat un servei (com ara programari o assegurança anual), ho registres com a actiu (Prepaid) i després "amortitzes" o carregues una part cada mes.

2025-03-01 * "Programari anual pagat per avançat"
Assets:Prepaid:Software 1,200.00 USD
Assets:Bank:Checking -1,200.00 USD

2025-04-01 * "Amortitzar pagament per avançat 1/12"
Expenses:Software:Subscriptions 100.00 USD
Assets:Prepaid:Software -100.00 USD

Nòmina (efectiu net, amb retencions + impostos de l'empresari)

Una entrada de nòmina té diverses parts: la despesa salarial bruta, la despesa fiscal de l'empresari, l'efectiu net pagat als empleats i el passiu pels impostos que has retingut i que s'han de remetre al govern.

2025-04-15 * "Nòmina — 15 d'abril"
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 USD

Recaptació i remesa de l'impost sobre les vendes (exemple CA)

Quan recaptes l'impost sobre les vendes, no són els teus diners. És un passiu que deus a l'estat. Registres el passiu quan fas la venda i el neteges quan remetes l'impost.

2025-05-10 * "Factura #123 — CA imposable"
Assets:AR 1,088.75 USD
Income:Revenue:SaaS -999.00 USD
Liabilities:SalesTax:CA -89.75 USD

2025-06-05 * "Pagament #123"
Assets:Bank:Checking 1,088.75 USD
Assets:AR -1,088.75 USD

2025-07-20 * "Remetre l'impost sobre les vendes de CA Q2"
Liabilities:SalesTax:CA 89.75 USD
Assets:Bank:Checking -89.75 USD

FX i crypto (lleuger)

Beancount gestiona múltiples divises de forma nativa. Utilitza directives price per a registrar els tipus de canvi i la sintaxi de cost {} per a transaccions específiques.

2025-03-01 price EUR 1.0832 USD

2025-03-02 * "Càrrec AWS EU"
Expenses:Cloud 90.00 EUR
Liabilities:CreditCard:Corporate -90.00 EUR

2025-03-05 * "Comprar BTC per provar"
Assets:Crypto:BTC 0.0200 BTC {3400.00 USD}
Assets:Bank:Checking -3,400.00 USD

7) Utilitzant Fava (informes en una ordre)

Fava és la brillant interfície web que fa que les dades de Beancount cobrin vida. És la recompensa per la teva acurada entrada de dades.

  • Instal·lar: $ pip install fava
  • Executar: $ fava ledger/main.beancount
  • Vistes útils: Estat de Resultats, Balanç, Diari (per a filtrar per compte/etiqueta) i Consulta (per a consultes personalitzades semblants a SQL).

Filtres ràpids de Fava:

  • account:DeferredRevenue: Mostra tota l'activitat al teu compte d'ingressos diferits.
  • tag:#invoice-001: Etiqueta les transaccions relacionades amb una factura específica i filtra-les.
  • from:2025-01-01 to:2025-12-31: Centra't en un període financer específic.

8) Llista de verificació de tancament mensual (15–45 min)

Al final de cada mes, repassa aquesta llista de verificació per a assegurar-te que els teus llibres són precisos i estan al dia. Aquesta disciplina facilita l'hora dels impostos i la diligència deguda dels inversors.

  • Banc/targetes de crèdit: Importa o introdueix manualment totes les transaccions. Concilia els saldos amb els teus extractes.
  • AR/AP: Publica totes les factures emeses i factures rebudes; marca els elements pagats com a liquidats.
  • Ingressos: Publica les entrades de reconeixement d'ingressos mensuals per a tots els contractes pagats per avançat.
  • Pagaments per avançat: Amortitza 1/12 part (o la fracció apropiada) de totes les despeses pagades per avançat.
  • Nòmina: Reserva l'entrada de diari de l'informe del teu proveïdor de nòmines.
  • Impost sobre les vendes: Reserva el teu passiu per l'impost sobre les vendes del mes.
  • Instruments seed: Merita interessos sobre qualsevol nota convertible.
  • Comprovacions de sentit comú:
    • Els ingressos del teu estat de resultats coincideixen aproximadament amb el teu MRR/ARR esperat?
    • La teva taxa de consum i el teu runway s'alineen amb el teu pla financer?
    • S'executa $ bean-check sense errors? Els informes de Fava semblen correctes?
  • Fer commit a Git amb una nota concisa i consistent (per exemple, tancament: 2025-04).

9) Metadades i documents (facilitar les auditories)

El teu llibre major hauria de ser auto-documentat. Utilitza metadades i enllaça a documents font per a crear una pista d'auditoria a prova de bales. El teu futur jo (i el teu comptable) t'ho agrairan.

  • Afegeix metadades com payee:, narration:, invoice:, customer: o link: a les transaccions per a més claredat.
  • Adjunta PDFs font (factures, rebuts, extractes bancaris) a la teva carpeta ledger/documents/ i enllaça'ls utilitzant l'etiqueta de metadades document:.
  • Utilitza etiquetes (#payroll, #saas, #vendor-aws, #invoice-001) per a facilitar el filtratge i l'anàlisi.

Exemple:

2025-03-10 * "Subscripció anual — 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 USD

10) Importa més tard (quan tinguis temps)

Comença introduint les transaccions manualment durant el primer mes o dos. Aquesta és la millor manera d'aprendre el sistema i els teus propis patrons de despesa. Un cop estiguis còmode, pots escriure importadors senzills de Python per a automatitzar el procés i reduir la feina.

Un ordre de batalla típic de l'importador:

  1. CSV bancari → Assets:Bank:Checking
  2. CSV de la targeta de crèdit → Liabilities:CreditCard:Corporate
  3. Informes de pagament de Stripe/PayPal → Mapeig d'ingressos i efectiu

Mantingues els teus importadors a /ledger/importers i revisa les seves transaccions generades com ho faries amb qualsevol altre canvi de codi.


11) Polítiques (posar a includes/policies.beancount)

Aquest fitxer és on documentes les teves decisions comptables per a la coherència. És un fitxer de text senzill, però és crucial per a mantenir la disciplina.

  • Base de comptabilitat d'exercici; reconèixer els ingressos de SaaS pro rata.
  • La moneda funcional és USD; registra FX a la taxa diària o a la taxa de transacció.
  • Llindar de capitalització (per exemple, els elements de més de $2,500 es converteixen en un element Assets:Equipment; en cas contrari, es carreguen immediatament com a despesa).
  • Viatges/Àpats: El propòsit comercial s'ha de documentar al camp narration.
  • Registre de patrimoni: Indica explícitament si estàs utilitzant el mètode només moneda o acció-mercaderia.
  • SAFEs/notes: Documenta la teva classificació triada (Passiu o Patrimoni).

Exemple policies.beancount:

; Política: Base de comptabilitat d'exercici, ingressos diferits i reconeguts mensualment.
; Política: Moneda funcional USD. Les pèrdues/guanys de FX es deriven de les dades de cost/preu.
; Política: Capitalitzar els actius tangibles de més de $2,500 amb una depreciació lineal de 3 anys.
; Política: Els SAFEs es registren com a passius fins a la conversió en una ronda amb preu.

12) Resolució de problemes ràpida

  • Els ingressos semblen negatius al Diari: Això és correcte! Els ingressos són un crèdit. Els informes de Fava el mostraran com un nombre positiu.
  • Saldos que no es posen a zero: Probablement tens una transacció incompleta. Les publicacions d'una transacció s'han de sumar a zero. Utilitza la vista Diari de Fava per a trobar el culpable. Com a mesura temporal, pots afegir una cama d'equilibri a un compte Equity:Suspense per a fer que el fitxer sigui vàlid, i després investigar i corregir la causa arrel.
  • Desajustos de FX: Assegura't de tenir directives price per a les dates rellevants o que especifiques la base de cost en la teva moneda operativa, com ara 90.00 EUR {97.49 USD}.

13) Què fer el seguiment fora del llibre major (mantingues els enllaços)

Beancount és per a les teves transaccions financeres, però algunes coses es gestionen millor en sistemes dedicats. La clau és enllaçar-los des del teu llibre major.

  • Taula de capitalització: Utilitza Carta, Pulley o un full de càlcul. Enllaça als documents de tancament signats des de les teves transaccions de finançament a Beancount.
  • Consentiments del consell, Pla d'equitat, Informes 409A: Emmagatzema'ls en un lloc segur i afegeix metadades link: a les transaccions de patrimoni rellevants.
  • Declaracions d'impostos: Emmagatzema els PDFs finals i enllaça'ls des d'una transacció de tancament de final d'any.

Fitxer inicial llest per copiar (tot en un)

Si prefereixes començar amb un sol fitxer abans d'expandir-te a l'estructura d'inclusió, pots simplement enganxar el contingut dels fitxers de les seccions anteriors en un gran main.beancount. Sempre pots refactoritzar-lo més tard a mesura que creixi el teu llibre major.

Aquest marc proporciona una base sòlida i escalable per a les finances de la teva startup. En mantenir els teus llibres en text pla sota control de versions, guanyes una transparència i un control sense precedents, preparant la teva empresa per a la disciplina financera des del primer dia.