Configuration de Beancount pour les Startups
Une base pratique, copier-coller pour gérer les livres comptables de votre startup en texte brut. Fonctionne de la pré-amorçage au Series A. Ceci n'est pas un conseil juridique ou fiscal.
Diriger une startup signifie porter plusieurs casquettes, et l'une des plus critiques est celle de « comptable ». Avant de pouvoir vous offrir un logiciel coûteux ou un comptable à temps plein, vous avez besoin d'un système précis, vérifiable, et qui ne vous enfermera pas dans un écosystème propriétaire. Voici Beancount : un système de comptabilité open-source et en texte brut.
Utiliser Beancount signifie que votre grand livre financier vit dans des fichiers texte, aux côtés de votre code dans un dépôt Git. C'est versionné, transparent et infiniment personnalisable. Ce guide fournit une configuration complète et copier-coller pour gérer les livres de votre startup, de l'incorporation jusqu'au Series A, basée sur des principes solides de comptabilité d'exercice.
1) Ce que vous allez mettre en place
Ce guide vous accompagnera dans la création d'une configuration comptable complète et de qualité professionnelle. À la fin, vous aurez :
- Un grand livre unique source de vérité géré dans Git (
main.beancount), vous offrant un historique complet et vérifiable des finances de votre entreprise. - Fava pour de magnifiques rapports et graphiques. Fava est une interface web pour Beancount qui transforme vos fichiers texte en comptes de résultat, bilans et analyses de flux de trésorerie interactifs.
- Une structure pour les importateurs que vous pourrez ajouter plus tard pour automatiser la saisie des transactions depuis vos comptes bancaires, cartes de crédit, PayPal et Stripe. Nous commencerons manuellement pour apprendre le système, puis nous automatiserons.
- Un plan comptable prêt pour la comptabilité d'exercice, conçu pour les startups modernes, avec un support intégré pour les revenus différés, les charges payées d'avance et les dettes de paie.
- Des éléments de base pour le financement d'amorçage, y compris des exemples clairs pour enregistrer les SAFE (comme passif ou capitaux propres) et les billets convertibles avec intérêts.
2) Structure du projet (à déposer dans votre dépôt)
Commencez par créer cette structure de répertoires dans le dépôt Git de votre entreprise. Cette organisation maintient votre grand livre propre et évolutif.
/ledger
main.beancount
/includes
accounts.beancount
opening-balances.beancount
policies.beancount
/documents
/bank
/invoices
/receipts
/importers # optionnel ; à ajouter lorsque vous automatiserez l'ingestion CSV
bank_importer.py
card_importer.pymain.beancount: Le fichier central qui rassemble tout./includes: Contient votre plan comptable, vos soldes d'ouverture et vos politiques comptables./documents: Un espace pour stocker les PDF de relevés bancaires, factures et reçus pour une piste d'audit claire./importers: Où vos futurs scripts Python pour analyser les CSV bancaires vivront.
3) Un main.beancount minimal et sensé
C'est le point d'entrée de votre grand livre. Il définit quelques options globales et inclut les autres fichiers composants. Copiez ce contenu dans ledger/main.beancount et personnalisez le titre.
option "title" "Acme, Inc. Ledger"
option "operating_currency" "USD"
option "documents" "ledger/documents"
include "includes/accounts.beancount"
include "includes/opening-balances.beancount"
include "includes/policies.beancount"
; Si vous ajoutez plus tard des importateurs, vous ajouterez des lignes de plugin ici.
; plugin "beancount.plugins.implicit_prices"4) Plan comptable de départ (comptabilité d'exercice d'abord)
Votre plan comptable est la liste complète des catégories pour les transactions financières de votre entreprise. Ce modèle de départ est conçu pour la comptabilité d'exercice, qui donne une image bien plus précise de la santé de votre entreprise que la comptabilité de caisse.
Placez ceci dans includes/accounts.beancount. N'hésitez pas à supprimer les comptes dont vous n'avez pas besoin immédiatement.
; --- Actifs ---
1970-01-01 open Assets:Bank:Checking USD
1970-01-01 open Assets:Bank:Savings USD
1970-01-01 open Assets:AR USD ; Comptes clients
1970-01-01 open Assets:Prepaid:Software USD
1970-01-01 open Assets:Prepaid:Insurance USD
1970-01-01 open Assets:Deposits USD ; Dépôts de garantie
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
; --- Passifs ---
1970-01-01 open Liabilities:AP USD ; Comptes fournisseurs
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
; --- Capitaux propres ---
1970-01-01 open Equity:CommonStock USD
1970-01-01 open Equity:APIC USD ; Prime d'émission
1970-01-01 open Equity:SAFE USD ; Si vous classez les SAFE en capitaux propres
1970-01-01 open Equity:RetainedEarnings USD
1970-01-01 open Equity:OpeningBalances USD
; --- Revenus (soldes négatifs) ---
1970-01-01 open Income:Revenue:SaaS USD
1970-01-01 open Income:Revenue:Services USD
1970-01-01 open Income:Other USD
; --- Dépenses ---
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 USDNotes
- Les comptes de revenus sont négatifs car ils représentent des crédits en comptabilité en partie double. Ne vous inquiétez pas ; Fava inverse automatiquement les signes dans les rapports, donc vos revenus apparaîtront comme un nombre positif au compte de résultat.
- Gardez des catégories étroites et utiles au départ. Il est beaucoup plus facile d'ajouter de nouveaux comptes plus tard que de nettoyer un plan comptable désordonné et trop granulaire.
5) Soldes d'ouverture (premier jour)
La première transaction de votre grand livre pose le décor. Elle enregistre l'état initial de vos comptes le jour où vous commencez le suivi. Placez cette transaction dans includes/opening-balances.beancount, en ajustant la date et les montants pour refléter votre position de départ réelle.
2025-01-01 * "Soldes d'ouverture"
Assets:Bank:Checking 5 000,00 USD
Liabilities:CreditCard:Corporate -500,00 USD
Equity:OpeningBalances -4 500,00 USDCette écriture établit que l'entreprise a commencé avec 5 000 $ à la banque et un solde de 500 $ sur sa carte de crédit. Le compte Equity:OpeningBalances est un compte spécial utilisé pour garantir que la transaction équilibre à zéro, comme l'exige la comptabilité en partie double.
6) Transactions courantes de startup (copier-coller)
Voici des recettes pour les événements financiers les plus courants dans une startup en phase de démarrage. Copiez, collez et adaptez-les à votre usage.
Achat d'actions par le fondateur (simple, en devise uniquement)
Lorsque les fondateurs achètent leurs actions initiales à la valeur nominale, l'argent entre dans l'entreprise et est enregistré comme capitaux propres. Votre tableau de capitalisation (Carta, Pulley ou une feuille de calcul) est la source de vérité pour le nombre d'actions ; le grand livre ne comptabilise que les dollars.
2025-01-05 * "Achat d'actions du fondateur à la valeur nominale"
Assets:Bank:Checking 800,00 USD
Equity:CommonStock -0,80 USD
Equity:APIC -799,20 USD
; 8 000 000 actions ordinaires @ 0,0001 $ — comptes maintenus hors grand livre(Optionnel) Suivre vos propres actions comme une marchandise
Si vous souhaitez que le grand livre suive le nombre d'actions émises, vous pouvez définir votre action comme une « marchandise ». C'est plus complexe mais fournit un enregistrement plus complet dans le grand livre.
2025-01-05 commodity ACME
name: "Acme, Inc. Common"
2025-01-05 * "Émission d'actions du fondateur"
Assets:Bank:Checking 800,00 USD
Equity:APIC -799,20 USD
Equity:CommonStock -8 000 000 ACME {0,0001 USD}Entrée de fonds SAFE (choisir la classification)
Un SAFE (Simple Agreement for Future Equity) peut être traité soit comme un passif, soit comme une forme de capitaux propres (plus précisément, « capitaux propres mezzanine »). Consultez votre comptable pour choisir la bonne approche et soyez cohérent.
; (A) Classification en capitaux propres (mezzanine)
2025-02-01 * "SAFE post-money — SeedFund"
Assets:Bank:Checking 500 000,00 USD
Equity:SAFE -500 000,00 USD
; (B) Classification en passif (jusqu'à conversion)
2025-02-01 * "SAFE post-money — SeedFund"
Assets:Bank:Checking 500 000,00 USD
Liabilities:SAFE -500 000,00 USDLorsqu'un tour de table à prix se clôture, vous reclasserez le solde du SAFE en actions privilégiées et prime d'émission en fonction des documents de clôture.
Billet convertible avec intérêts courus
Contrairement à un SAFE, un billet convertible est sans ambiguïté un passif qui accumule des intérêts. Vous enregistrerez les liquidités initiales puis comptabiliserez périodiquement la charge d'intérêts (par exemple, trimestriellement).
2025-03-01 * "Billet convertible — 6% annuel"
Assets:Bank:Checking 250 000,00 USD
Liabilities:NotesPayable -250 000,00 USD
2025-06-30 * "Intérêts courus du billet T2"
Expenses:Interest 3 750,00 USD
Liabilities:NotesPayable -3 750,00 USD
; 250 000 * 6% * 0,25 = 3 750Vente SaaS annuelle (revenus différés + reconnaissance mensuelle)
C'est une pierre angulaire de la comptabilité d'exercice. Lorsqu'un client paie d'avance pour une année, vous ne gagnez pas tous ces revenus d'un coup. Vous les comptabilisez comme un passif (DeferredRevenue) puis vous reconnaissez 1/12ème chaque mois.
2025-03-10 * "Abonnement annuel — AcmeCo — INV-001"
Assets:AR 1 200,00 USD
Liabilities:DeferredRevenue -1 200,00 USD
narration: "Prépaiement SaaS annuel"
2025-03-20 * "Paiement INV-001"
Assets:Bank:Checking 1 200,00 USD
Assets:AR -1 200,00 USD
; Reconnaître le mois 1/12 (répéter mensuellement ou via script)
2025-04-01 * "Reconnaissance de revenus 1/12 — INV-001"
Liabilities:DeferredRevenue 100,00 USD
Income:Revenue:SaaS -100,00 USDCharge payée d'avance et amortissement
C'est l'inverse des revenus différés. Lorsque vous payez d'avance pour un service (comme un logiciel annuel ou une assurance), vous l'enregistrez comme un actif (Prepaid) puis vous « amortissez » ou comptabilisez une partie en charge chaque mois.
2025-03-01 * "Logiciel annuel payé d'avance"
Assets:Prepaid:Software 1 200,00 USD
Assets:Bank:Checking -1 200,00 USD
2025-04-01 * "Amortissement du prépaiement 1/12"
Expenses:Software:Subscriptions 100,00 USD
Assets:Prepaid:Software -100,00 USDPaie (liquidités nettes, avec retenues + charges patronales)
Une écriture de paie comporte plusieurs parties : la charge de salaire brut, la charge fiscale patronale, les liquidités nettes versées aux employés, et le passif pour les impôts retenus qui doivent être reversés au gouvernement.
2025-04-15 * "Paie — 15 avril"
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 USDPerception et reversement de la taxe de vente (exemple CA)
Lorsque vous percevez la taxe de vente, ce n'est pas votre argent. C'est un passif que vous devez à l'État. Vous enregistrez le passif lorsque vous effectuez la vente et vous le soldez lorsque vous reversez la taxe.
2025-05-10 * "Facture #123 — CA imposable"
Assets:AR 1 088,75 USD
Income:Revenue:SaaS -999,00 USD
Liabilities:SalesTax:CA -89,75 USD
2025-06-05 * "Paiement #123"
Assets:Bank:Checking 1 088,75 USD
Assets:AR -1 088,75 USD
2025-07-20 * "Reversement taxe de vente CA T2"
Liabilities:SalesTax:CA 89,75 USD
Assets:Bank:Checking -89,75 USDFX et crypto (léger)
Beancount gère nativement plusieurs devises. Utilisez les directives price pour enregistrer les taux de change et la syntaxe de coût {} pour des transactions spécifiques.
2025-03-01 price EUR 1,0832 USD
2025-03-02 * "Frais AWS UE"
Expenses:Cloud 90,00 EUR
Liabilities:CreditCard:Corporate -90,00 EUR
2025-03-05 * "Achat de BTC pour tests"
Assets:Crypto:BTC 0,0200 BTC {3400,00 USD}
Assets:Bank:Checking -3 400,00 USD7) Utiliser Fava (rapports en une commande)
Fava est la brillante interface web qui donne vie aux données Beancount. C'est la récompense de votre saisie minutieuse.
- Installation :
$ pip install fava - Exécution :
$ fava ledger/main.beancount - Vues utiles : Compte de résultat (Income Statement), Bilan (Balance Sheet), Journal (pour filtrer par compte/étiquette), et Requête (Query) (pour des requêtes personnalisées de type SQL).
Filtres Fava rapides :
account:DeferredRevenue: Afficher toute l'activité de votre compte de revenus différés.tag:#invoice-001: Étiqueter les transactions liées à une facture spécifique et les filtrer.from:2025-01-01 to:2025-12-31: Se concentrer sur une période financière spécifique.
8) Liste de vérification de clôture mensuelle (15 à 45 min)
À la fin de chaque mois, parcourez cette liste de vérification pour vous assurer que vos livres sont exacts et à jour. Cette discipline rend la période fiscale et la diligence des investisseurs un jeu d'enfant.
- Banque/cartes de crédit : Importez ou saisissez manuellement toutes les transactions. Conciliez les soldes avec vos relevés.
- AR/AP : Comptabilisez toutes les factures émises et les factures reçues ; marquez les articles payés comme soldés.
- Revenus : Comptabilisez les écritures mensuelles de reconnaissance de revenus pour tous les contrats prépayés.
- Prépaiements : Amortissez
1/12ème(ou la fraction appropriée) de toutes les charges payées d'avance. - Paie : Comptabilisez l'écriture de journal à partir du rapport de votre fournisseur de paie.
- Taxe de vente : Comptabilisez votre passif de taxe de vente pour le mois.
- Instruments d'amorçage : Accumulez les intérêts sur tout billet convertible.
- Vérifications de cohérence :
- Votre chiffre d'affaires au compte de résultat correspond-il approximativement à votre MRR/ARR attendu ?
- Votre taux de consommation et votre piste de financement correspondent-ils à votre plan financier ?
$ bean-checks'exécute-t-il sans erreur ? Les rapports de Fava semblent-ils corrects ?
- Commitez dans Git avec une note brève et cohérente (par exemple,
close: 2025-04).
9) Métadonnées et documents (faciliter les audits)
Votre grand livre doit être auto-documenté. Utilisez des métadonnées et liez les documents sources pour créer une piste d'audit infaillible. Vous-même (et votre comptable) nous remercierez plus tard.
- Ajoutez des métadonnées comme
payee:,narration:,invoice:,customer:, oulink:aux transactions pour plus de clarté. - Joignez les PDF sources (factures, reçus, relevés bancaires) à votre dossier
ledger/documents/et liez-les en utilisant la balise de métadonnéesdocument:. - Utilisez des étiquettes (
#payroll,#saas,#vendor-aws,#invoice-001) pour faciliter le filtrage et l'analyse.
Exemple :
2025-03-10 * "Abonnement annuel — 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) Importer plus tard (quand vous avez le temps)
Commencez par saisir les transactions manuellement pendant le premier ou les deux premiers mois. C'est la meilleure façon d'apprendre le système et vos propres habitudes de dépenses. Une fois à l'aise, vous pouvez écrire de simples importateurs Python pour automatiser le processus et réduire les tâches répétitives.
Un ordre de bataille typique pour les importateurs :
- CSV bancaire →
Assets:Bank:Checking - CSV de carte de crédit →
Liabilities:CreditCard:Corporate - Rapports de paiement Stripe/PayPal → Mappage des revenus et des espèces
Gardez vos importateurs dans /ledger/importers et examinez leurs transactions générées comme vous le feriez pour tout autre changement de code.
11) Politiques (à mettre dans includes/policies.beancount)
Ce fichier est l'endroit où vous documentez vos décisions comptables pour plus de cohérence. C'est un simple fichier texte, mais il est crucial pour maintenir la discipline.
- Comptabilité d'exercice ; reconnaître les revenus SaaS au prorata.
- Devise fonctionnelle est l'USD ; enregistrer le FX au taux du jour ou au taux de transaction.
- Seuil de capitalisation (par exemple, les articles de plus de
2 500 $deviennent un articleAssets:Equipment; sinon, ils sont passés en charge immédiatement). - Déplacements/Repas : Le but professionnel doit être documenté dans le champ
narration. - Enregistrement des capitaux propres : Indiquez explicitement si vous utilisez la méthode devise uniquement ou actions-marchandise.
- SAFE/billets : Documentez votre classification choisie (Passif ou Capitaux propres).
Exemple policies.beancount :
; Politique : Comptabilité d'exercice, revenus différés et reconnus mensuellement.
; Politique : USD comme devise fonctionnelle. Les gains/pertes de change sont dérivés des données de coût/prix.
; Politique : Capitaliser les actifs corporels de plus de 2 500 $ avec un amortissement linéaire sur 3 ans.
; Politique : Les SAFE sont enregistrés comme passifs jusqu'à leur conversion lors d'un tour de table à prix.12) Dépannage rapide
- Les revenus semblent négatifs dans le Journal : C'est correct ! Les revenus sont un crédit. Les rapports Fava les afficheront comme un nombre positif.
- Les soldes ne s'équilibrent pas à zéro : Vous avez probablement une transaction incomplète. Les postings d'une transaction doivent totaliser zéro. Utilisez la vue Journal de Fava pour trouver le coupable. En mesure temporaire, vous pouvez ajouter une jambe d'équilibrage à un compte
Equity:Suspensepour rendre le fichier valide, puis enquêter et corriger la cause racine. - Écarts de change : Assurez-vous d'avoir des directives
pricepour les dates concernées ou de spécifier la base de coût dans votre devise de fonctionnement, comme90,00 EUR {97,49 USD}.
13) Ce qu'il faut suivre en dehors du grand livre (garder les liens)
Beancount est destiné à vos transactions financières, mais certaines choses sont mieux gérées dans des systèmes dédiés. La clé est de les lier depuis votre grand livre.
- Tableau de capitalisation : Utilisez Carta, Pulley ou une feuille de calcul. Liez les documents de clôture signés de vos transactions de financement dans Beancount.
- Consentements du conseil, plan d'équité, rapports 409A : Stockez-les dans un endroit sécurisé et ajoutez des métadonnées
link:aux transactions d'équité pertinentes. - Déclarations fiscales : Stockez les PDF finaux et liez-les à partir d'une transaction de clôture de fin d'année.
Fichier de départ copier-coller (tout-en-un)
Si vous préférez commencer avec un seul fichier avant de passer à la structure d'inclusion, vous pouvez simplement coller le contenu des fichiers des sections ci-dessus dans un grand main.beancount. Vous pourrez toujours le refactoriser plus tard à mesure que votre grand livre grandit.
Ce cadre fournit une base solide et évolutive pour les finances de votre startup. En gardant vos livres en texte brut sous contrôle de version, vous gagnez une transparence et un contrôle inégalés, préparant votre entreprise à la discipline financière dès le premier jour.