Aller au contenu principal

90 articles tagués avec « Accounting »

Voir tous les tags

Ajustements Comptables dans Beancount : Votre Mise au Point de Fin de Mois

· 5 minutes de lecture
Mike Thrift
Mike Thrift
Marketing Manager

La comptabilité ne se termine pas lorsque la dernière vente arrive en banque. Pour obtenir une image fidèle de la santé de votre entreprise, vous devez effectuer une mise au point de fin de mois. À chaque clôture de période, vous effectuerez des ajustements comptables – des ajustements de journal qui placent correctement les revenus et les dépenses dans la bonne fenêtre temporelle et maintiennent l'honnêteté de votre bilan.

Dans un grand livre Beancount en texte brut, ces écritures cruciales sont transparentes, contrôlées par version et faciles à auditer, transformant une tâche fastidieuse en un processus clair et reproductible.

2022-01-25-adjusting-entries-in-beancount-your-month-end-tune-up


Pourquoi les Ajustements Comptables sont Importants

Effectuer ces ajustements est fondamental pour une comptabilité saine. Ils garantissent que vos états financiers sont exacts et fiables.

  • Exactitude des Charges à Payer : Les ajustements comptables sont le moteur de la comptabilité d'exercice. Ils déplacent les revenus et les coûts dans la période où ils ont été réellement gagnés ou encourus, indépendamment du moment où l'argent a changé de mains. Cela satisfait les principes fondamentaux de la reconnaissance des revenus et de la concordance qui constituent la base de la comptabilité moderne (AccountingCoach.com).

  • Indicateurs Clés de Performance Fiables : Les indicateurs clés de performance ne sont aussi bons que les données qui les sous-tendent. Les mesures telles que la marge brute, le revenu net et les prévisions de trésorerie ne disent la vérité qu'une fois que les reports, les charges à payer et les estimations sont correctement comptabilisés (Corporate Finance Institute).

  • Piste d'Audit Claire : Les ajustements de fin de mois explicites créent un enregistrement clair de votre raisonnement financier. Cela aide les auditeurs (et votre futur vous) à retracer facilement ce qui a changé et pourquoi, renforçant ainsi la confiance dans vos chiffres (Accountingverse).


Six Catégories Courantes (avec des Extraits Beancount)

Voici les six types d'ajustements comptables les plus courants, avec des exemples de la façon de les enregistrer dans votre grand livre Beancount. Notez l'utilisation de métadonnées telles que adj:"accrual" pour faciliter la recherche et l'analyse ultérieure de ces écritures.

1. Produits Constantes

Il s'agit des revenus que vous avez gagnés mais que vous n'avez pas encore facturés ou reçus.

2025-07-31 * "Conseil—Heures de juillet"
Actif:ComptesClients 12000.00 USD
Revenus:Conseil
; adj:"accrual" period:"Jul-25"

2. Charges Constantes

Une dépense que vous avez engagée mais que vous n'avez pas encore payée, comme une facture de services publics qui arrivera le mois prochain.

2025-07-31 * "Avocat—Honoraires de juillet"
Dépenses:Juridique 2500.00 USD
Passif:ChargesàPayer
; adj:"accrual"

3. Produits Reportés (Non Gagnés)

Ceci s'applique lorsqu'un client vous paie à l'avance. Vous comptabilisez une partie de ces revenus au fur et à mesure qu'ils sont gagnés.

2025-07-31 * "Paiement anticipé annuel SaaS (comptabiliser 1/12)"
Passif:ProduitsReportés 833.33 USD
Revenus:SaaS
; adj:"deferral"

4. Charges Payées d'Avance (Reportées)

Lorsque vous payez une dépense d'avance (comme une police d'assurance annuelle), vous en imputez une partie chaque mois.

2025-07-31 * "Assurance—1 mois de dépenses sur les charges payées d'avance"
Dépenses:Assurance 400.00 USD
Actif:ChargesPayéesdAvance
; adj:"deferral"

5. Amortissement

Cette écriture répartit le coût d'une immobilisation (comme un ordinateur ou un véhicule) sur sa durée de vie utile.

2025-07-31 * "Amortissement Mac Studio"
Dépenses:Amortissement 1250.00 USD
Actif:Ordinateurs:AmortissementCumulé
; asset_id:"MAC-03" adj:"estimate"

6. Provision pour Créances Douteuses

Une estimation des comptes clients que vous ne vous attendez pas à recouvrer, qui est comptabilisée comme une perte sur créances irrécouvrables.

2025-07-31 * "Provision pour créances douteuses (2 % des comptes clients)"
Dépenses:CréancesDouteuses 700.00 USD
Actif:ProvisionpourCréancesDouteuses
; basis:"A/R" rate:0.02 adj:"estimate"

Un Flux de Travail Reproductible

Pour que votre clôture de fin de mois soit efficace et sans erreur, adoptez un flux de travail cohérent.

  • Utilisez un fichier séparé. Conservez tous les ajustements pour une période au même endroit, comme ajustements-2025-07.bean. Dans votre fichier de grand livre principal, utilisez une directive include pour l'importer en dernier. Cela garantit que les ajustements sont appliqués juste avant de générer les rapports finaux.

  • Standardisez vos métadonnées. Utilisez toujours des clés et des valeurs de métadonnées cohérentes, comme adj:"accrual|deferral|estimate" et period:"Jul-25". Cela facilite l'interrogation et la révision de types d'ajustements spécifiques.

  • Exécutez une vérification préliminaire. Avant de valider vos modifications dans Git, exécutez bean-check sur votre fichier d'ajustements pour détecter les fautes de frappe ou les écritures non équilibrées.

  • Effectuez une vérification de cohérence sur une seule ligne. Cette requête confirme que tous vos ajustements pour la période s'équilibrent, vous assurant ainsi que vous n'avez pas introduit d'erreurs.

    bean-query main.bean "SELECT account, SUM(number) WHERE meta('adj') AND meta('period') = 'Jul-25' GROUP BY account"

Conseils de Dépannage Rapide 🤔

  • Votre solde Passif:ProduitsReportés augmente-t-il ? Examinez les jalons de votre contrat. Vous pourriez comptabiliser les revenus trop lentement par rapport au travail que vous effectuez.

  • Votre solde Actif:ChargesPayéesdAvance est-il négatif ? Vous le dépensez probablement plus rapidement que ne le permet le calendrier de l'actif. Vérifiez votre calendrier d'amortissement.

  • Votre Délai Moyen de Recouvrement des Créances (DMRC) s'aggrave-t-il après les charges à payer ? Vos produits constatés d'avance pourraient masquer des problèmes de recouvrement sous-jacents. Associez cet indicateur clé de performance à un rapport sur le vieillissement des comptes clients pour repérer les clients qui paient en retard avant que cela ne devienne un problème de trésorerie.


Réflexions Finales

Les ajustements comptables peuvent sembler fastidieux, mais leur valeur devient claire lorsque vous comparez vos comptes de résultat « avant » et « après » – la différence est souvent significative. Avec Beancount, ces ajustements deviennent de petits correctifs consultables que vous pouvez automatiser et examiner comme du code.

Prenez l'habitude de la fin de mois et vos chiffres resteront aussi précis que votre ingénierie.

Bon équilibrage !

Révolutionner la gestion des finances personnelles avec Beancount.io

· 4 minutes de lecture
Mike Thrift
Mike Thrift
Marketing Manager

Les utilisateurs de Beancount utilisent traditionnellement des outils en ligne de commande ou hébergent leurs propres serveurs avec des réseaux privés, où ils doivent opérer via un ordinateur ou un éditeur de texte généraliste sur mobile. Beancount.io réduit les tracas en proposant des applications mobiles Android et iOS open source et un cloud sécurisé, de sorte que votre grand livre n'est désormais qu'à quelques clics de votre empreinte digitale.

Beancount est un langage informatique qui permet la tenue de livres en partie double dans des fichiers texte. Une fois que vous avez défini les transactions financières dans le fichier, il générera divers rapports. Martin Blais, le concepteur de ce langage, soutient que la tenue de livres en ligne de commande présente de nombreux avantages : elle est rapide, portable, ouverte et personnalisable.

Nous sommes entièrement d'accord avec cet argument et partageons le sentiment d'autonomisation qu'apporte le langage Beancount. Et nous voulions faire plus : introduire cette technologie à un plus grand nombre de personnes. Cela signifie que nous devons améliorer la convivialité et la rendre plus accessible à un public plus large.

Accès instantané à votre grand livre Beancount dans le cloud, partout et à tout moment

Tout le monde n'est pas un adepte de la ligne de commande, et c'est pourquoi nous avons créé Beancount.io – le gestionnaire de finances personnelles pour tous. Voici comment cela fonctionne :

Pour les tâches lourdes, les utilisateurs de Beancount peuvent toujours utiliser leurs ordinateurs pour modifier ou consulter le grand livre via leur navigateur en visitant https://beancount.io ou en se synchronisant avec Dropbox. Cela préserve la flexibilité des outils en ligne de commande, sans perdre l'accès multi-appareils de la solution basée sur le cloud.

Pour les opérations quotidiennes légères, comme l'ajout instantané d'une écriture, les utilisateurs de Beancount peuvent utiliser l'application mobile pour se connecter au cloud sécurisé.

Mike Thrift, un ingénieur backend travaillant sur ce produit, déclare :

Avant, je me mettais un rappel tous les jours pour ouvrir mon ordinateur portable et saisir des enregistrements dans mes fichiers Beancount. Maintenant, avec Beancount.io, il est beaucoup plus facile pour moi de modifier mon grand livre quand j'en ai besoin, même lorsque je suis dehors en train d'acheter quelque chose au magasin.

Zhi Li, un ingénieur logiciel de Facebook, nous dit :

J'ai migré tous mes fichiers Beancount vers Beancount.io, et maintenant cela fonctionne parfaitement pour mon usage quotidien. J'ai payé pour les fonctionnalités Pro comme la sauvegarde automatique des données, mais je pense que vous pourriez faire plus pour améliorer le service.

Vous pouvez vous inscrire dès maintenant sur https://beancount.io/sign-up/ ou télécharger l'application iOS ou Android. Nous avons simplifié l'inscription afin de recueillir le minimum d'informations possible pour démarrer le service. Vous obtiendrez ensuite un grand livre vide préconfiguré, prêt à l'emploi pour ajouter une écriture immédiatement.

FAQ

Beancount.io vendrait-il mes données de grand livre à des tiers ?

  • Non. Nous nous engageons à protéger la sécurité et la confidentialité de vos données, et nous ne vendrons jamais vos données de grand livre.

Mes données sont-elles sécurisées ?

  • Oui. Nous protégeons votre e-mail et votre grand livre avec AES256, votre mot de passe avec BCrypt, et vos requêtes réseau avec SSL.

Mes données de grand livre sont-elles chiffrées de bout en bout ?

  • Non. En raison de contraintes techniques, nous devons toujours déchiffrer vos données en mémoire lors de l'indexation du fichier du grand livre sur les serveurs de production. Par conséquent, nous restreignons l'accès direct de tout membre de notre équipe. Malheureusement, nous ne pouvons pas le faire dans Intel SGX ou tout autre coffre-fort de sécurité en raison des coûts élevés.

Est-ce un service fiable auquel je peux faire confiance pour les prochaines années ?

  • Oui. Nous avons initialement lancé Beancount.io le 4 juillet 2019, et cela fait plus de deux ans que nous exploitons le service de manière sécurisée et fiable. Par conséquent, nous n'avons aucune raison de ne pas poursuivre le service à l'avenir.

Puis-je demander de nouvelles fonctionnalités et parrainer le projet ?

Guide de migration de QuickBooks vers Beancount

· 35 minutes de lecture
Mike Thrift
Mike Thrift
Marketing Manager

Étape 1 : Exportation des données depuis QuickBooks

La migration de cinq années de données commence par l'extraction de tous les enregistrements de QuickBooks dans un format utilisable. QuickBooks Desktop et QuickBooks Online ont des options d'exportation différentes :

2021-12-01-from-quickbooks-to-plain-text-a-migration-playbook

1.1 QuickBooks Desktop – Options d’exportation

IIF (Intuit Interchange Format) : QuickBooks Desktop peut exporter des listes (comme le plan comptable, les clients, les fournisseurs) vers des fichiers texte .IIF. Dans QuickBooks Desktop, allez dans Fichier → Utilitaires → Exporter → Listes vers fichiers IIF, puis sélectionnez les listes dont vous avez besoin (par ex. Plan comptable, Clients, Fournisseurs). Cela produit un fichier texte qui inclut les noms de comptes, les types et les données des listes. IIF est un format propriétaire mais en texte brut, relativement facile à analyser. Utilisez-le pour capturer votre plan comptable et vos listes de contacts pour référence dans Beancount.

Grand livre/Journal général via CSV : Pour les données de transactions, QuickBooks Desktop ne fournit pas d'exportation complète en un clic, mais vous pouvez utiliser les rapports. La méthode recommandée est d'exporter le Journal général (toutes les transactions) sur la plage de dates souhaitée. Dans QuickBooks Desktop, ouvrez Rapports → Comptable et impôts → Journal, définissez les Dates de la première transaction à aujourd'hui, et cliquez sur Exporter → Excel. Enregistrez le résultat en CSV après avoir supprimé les en-têtes/pieds de page du rapport et les colonnes vides. Assurez-vous que les données numériques sont propres : incluez les centimes (par ex. 3.00 et non 3), pas de guillemets supplémentaires, et pas de symboles monétaires ou de doubles négations dans le CSV. Le CSV devrait avoir des colonnes comme Date, N° Trans., Nom, Compte, Mémo, Débit, Crédit, Solde (ou une seule colonne Montant selon le format du rapport).

Astuce : QuickBooks Desktop 2015+ peut également exporter des transactions via la boîte de dialogue Rechercher. Utilisez Édition → Rechercher → Avancé, définissez la plage de dates sur cinq ans, puis exportez les résultats en CSV. Attention : Certaines versions limitent l'exportation à 32 768 lignes. Si vous avez de très grandes quantités de données, exportez année par année (ou par plus petits morceaux) pour éviter la troncature, puis combinez-les plus tard. Assurez-vous que les plages de dates ne se chevauchent pas pour éviter les doublons.

Autres formats (QBO/QFX/QIF) : QuickBooks Desktop peut importer des transactions bancaires via des fichiers .QBO (Web Connect) ou .QFX/.OFX, mais pour exporter depuis QuickBooks, ce ne sont pas des formats typiques. Si votre objectif est d'extraire uniquement les transactions bancaires, vous les avez peut-être déjà en QBO/OFX depuis votre banque. Cependant, pour une exportation complète du grand livre, tenez-vous-en à l'IIF et au CSV. QuickBooks Desktop ne peut pas exporter directement en QIF (Quicken Interchange Format) sans outils tiers. Si vous trouvez un moyen d'obtenir du QIF, notez que certains outils de comptabilité (anciennes versions de Ledger 2.x) pouvaient lire le QIF, mais il est préférable de travailler avec le CSV dans notre processus.

1.2 QuickBooks Online – Options d’exportation

Exportation Excel/CSV intégrée : QuickBooks Online (QBO) fournit un outil Exporter les données. Allez dans Paramètres ⚙ → Outils → Exporter les données. Dans la boîte de dialogue d'exportation, utilisez l'onglet Rapports pour sélectionner les données (par ex. Grand livre général ou Liste des transactions) et l'onglet Listes pour les listes (plan comptable, etc.), choisissez Toutes les dates, et exportez vers Excel. QuickBooks Online téléchargera un ZIP contenant plusieurs fichiers Excel pour les rapports et listes sélectionnés (par exemple, Compte de résultat, Bilan, Grand livre général, Clients, Fournisseurs, Plan comptable, etc.). Vous pouvez ensuite convertir ces fichiers Excel en CSV pour le traitement.

Rapport détaillé des transactions : Si l'exportation par défaut de QBO n'inclut pas un seul fichier de Grand livre général, vous pouvez générer manuellement un rapport détaillé :

  1. Allez dans Rapports et trouvez Détail des transactions par compte (ou Grand livre général dans certaines versions de QBO).
  2. Définissez la Période du rapport sur la plage complète de cinq ans.
  3. Sous les options du rapport, définissez Grouper par = Aucun (pour lister les transactions individuelles sans sous-totaux).
  4. Personnalisez les colonnes pour inclure au moins : Date, Type de transaction, Numéro, Nom (Bénéficiaire/Client), Mémo/Description, Compte, Débit, Crédit (ou une seule colonne Montant), et Solde. Incluez toute classe ou emplacement si utilisé.
  5. Générez le rapport puis Exporter vers Excel.

Cela produit un grand livre détaillé de toutes les transactions. Enregistrez-le en CSV. Chaque ligne représentera une ventilation (écriture) d'une transaction. Vous devrez plus tard regrouper les lignes par transaction pour la conversion.

Plan comptable et autres listes : QuickBooks Online peut exporter le plan comptable via Comptabilité → Plan comptable → Actions groupées → Exporter vers Excel. Faites cela pour obtenir les noms et types de comptes. De même, exportez les Clients, Fournisseurs, etc., si vous souhaitez conserver les noms pour les métadonnées.

API QuickBooks Online (Optionnel) : Pour une approche programmatique, Intuit fournit une API REST pour les données QBO. Les utilisateurs avancés peuvent créer une application QuickBooks Online (nécessite un compte développeur) et utiliser l'API pour récupérer les données en JSON. Par exemple, vous pourriez interroger le point de terminaison Account pour le plan comptable et les points de terminaison de rapport JournalEntry ou GeneralLedger pour les transactions. Il existe des SDK Python comme python-quickbooks qui encapsulent l'API. Cependant, l'utilisation de l'API implique une authentification OAuth et est excessive pour une migration unique, à moins que vous ne préfériez l'automatisation. Pour la plupart des cas, l'exportation manuelle vers CSV/Excel est plus simple et moins sujette aux erreurs.


Étape 2 : Transformation et nettoyage des données

Une fois que vous avez les données QuickBooks en CSV (et/ou IIF), l'étape suivante consiste à les convertir au format de grand livre en texte brut de Beancount. Cela implique d'analyser les exports, de mapper les comptes QuickBooks à un plan comptable Beancount, et de formater les transactions dans la syntaxe Beancount.

2.1 Analyse des exports QuickBooks avec Python

L'utilisation de Python garantira la précision et la reproductibilité de la transformation. Nous décrirons des scripts pour deux tâches clés : l'importation du plan comptable et la conversion des transactions.

Importation et mappage des comptes : Il est crucial de configurer vos comptes dans Beancount avant d'ajouter des transactions. Les comptes QuickBooks ont des types (Banque, Comptes Clients, Dépense, etc.) que nous mapperons à la hiérarchie de Beancount (Actifs, Passifs, Revenus, Dépenses, etc.). Par exemple, nous pouvons utiliser un mappage comme :

# Mappage du type de compte QuickBooks à la catégorie racine de Beancount
AccountTypeMap = {
'BANK': 'Assets', # Compte bancaire -> Actifs
'CCARD': 'Liabilities', # Carte de crédit -> Passifs
'AR': 'Assets', # Comptes clients comme actif
'AP': 'Liabilities', # Comptes fournisseurs comme passif
'FIXASSET': 'Assets', # Immobilisation
'OASSET': 'Assets', # Autre actif
'OCASSET': 'Assets', # Autre actif circulant
'LTLIAB': 'Liabilities',# Passif à long terme
'OCLIAB': 'Liabilities',# Autre passif circulant
'EQUITY': 'Equity', # Capitaux propres
'INC': 'Income', # Revenus
'EXP': 'Expenses', # Dépenses
'EXINC': 'Income', # Autres revenus
'EXEXP': 'Expenses', # Autres dépenses
}

En utilisant l'export IIF de QuickBooks Desktop ou le CSV de la liste de comptes de QBO, nous récupérons le nom et le type de chaque compte. Ensuite :

  • Créez les noms de compte Beancount : QuickBooks utilise parfois des deux-points (:) dans les noms de compte pour désigner des sous-comptes (par ex., "Actifs circulants:Chèques"). Beancount utilise la même notation pour la hiérarchie. Vous pouvez souvent réutiliser le nom directement. Si les noms de compte QuickBooks ne commencent pas par une catégorie, préfixez la catégorie mappée. Par exemple, un compte QuickBooks de type BANK nommé "Chèques" deviendra Actifs:Chèques dans Beancount. Un compte EXP (dépense) "Repas" devient Dépenses:Repas, etc.

  • Assurez une dénomination valide : Supprimez ou remplacez tout caractère qui pourrait perturber Beancount. QuickBooks autorise des caractères comme & ou / dans les noms. Il est sage de supprimer ou de remplacer les caractères spéciaux (par ex., remplacer & par et, supprimer les barres obliques ou les espaces). Assurez-vous également que tous les noms de compte sont uniques après la transformation – QuickBooks peut avoir autorisé le même nom de sous-compte sous différents parents, ce qui est acceptable, mais dans Beancount, le nom complet (avec les parents) doit être unique. Si nécessaire, renommez ou ajoutez un qualificateur pour les distinguer.

  • Générez les ouvertures de compte : Dans Beancount, chaque compte utilisé doit être ouvert avec une directive open. Vous pouvez choisir une date antérieure à votre première transaction (par ex., si vous migrez des données de 2019 à 2023, utilisez 2018-12-31 ou une date encore plus précoce pour toutes les ouvertures). Le script écrira des lignes comme : 2018-12-31 open Actifs:Chèques USD 2018-12-31 open Dépenses:Repas USD pour chaque compte (en supposant que l'USD est la devise principale). Utilisez la devise appropriée pour chaque compte (voir les notes sur le multi-devises ci-dessous).

Conversion des transactions : Le principal défi est de convertir l'export de transactions QuickBooks (CSV) en entrées Beancount. Chaque transaction QuickBooks (facture, facture fournisseur, chèque, écriture de journal, etc.) peut avoir plusieurs ventilations (lignes) qui doivent être regroupées en une seule transaction Beancount.

Nous utiliserons le lecteur CSV de Python pour itérer sur les lignes exportées et accumuler les ventilations :

import csv
from collections import defaultdict

# Lire toutes les lignes du CSV du Journal de QuickBooks
rows = []
with open('journal_exporte_quickbooks.csv', 'r', encoding='utf-8') as f:
reader = csv.DictReader(f)
for line in reader:
rows.append(line)

# Regrouper les lignes par transaction (en supposant que 'N° Trans.' identifie les transactions)
transactions = defaultdict(list)
for line in rows:
trans_id = line.get('N° Trans.') or line.get('ID Transaction') or line.get('Num')
transactions[trans_id].append(line)

Maintenant, transactions est un dictionnaire où chaque clé est un ID/numéro de transaction et la valeur est la liste des ventilations pour cette transaction. Ensuite, nous convertissons chaque groupe en Beancount :

def format_date(qb_date):
# Les dates QuickBooks peuvent être comme "12/31/2019"
m, d, y = qb_date.split('/')
return f"{y}-{int(m):02d}-{int(d):02d}"

output_lines = []
for trans_id, splits in transactions.items():
# Trier les ventilations par ordre de ligne si nécessaire (elles sortent généralement dans l'ordre)
splits = sorted(splits, key=lambda x: x.get('Ligne') or 0)
first = splits[0]
date = format_date(first['Date'])
payee = first.get('Nom', "").strip()
memo = first.get('Mémo', "").strip()
# En-tête de la transaction
output_lines.append(f'{date} * "{payee}" "{memo}"')
if first.get('Num'): # inclure le numéro de référence si disponible
output_lines.append(f' number: "{first["Num"]}"')
# Boucle sur chaque ventilation/écriture
for split in splits:
acct_name = split['Compte'].strip()
# Mapper le nom du compte QuickBooks au compte Beancount (en utilisant le mappage précédent)
beancount_acct = account_map.get(acct_name, acct_name)
# Déterminer le montant avec le signe :
amount = split.get('Montant') or ""
debit = split.get('Débit') or ""
credit = split.get('Crédit') or ""
if amount:
# Certains exports ont une seule colonne Montant (négative pour les crédits)
amt_str = amount
else:
# Si des colonnes Débit/Crédit séparées
amt_str = debit if debit else f"-{credit}"
# Supprimer les virgules dans les nombres par sécurité
amt_str = amt_str.replace(",", "")
# Ajouter la devise
currency = split.get('Devise') or "USD"
amt_str = f"{amt_str} {currency}"
# Mémo/description pour la ventilation
line_memo = split.get('Mémo', "").strip()
comment = f" ; {line_memo}" if line_memo else ""
output_lines.append(f" {beancount_acct:<40} {amt_str}{comment}")
# Fin de la transaction – ligne vide
output_lines.append("")

Cette logique de script effectue les opérations suivantes :

  • Formate la date en YYYY-MM-DD pour Beancount.
  • Utilise le bénéficiaire (Nom) et le mémo pour la narration de la transaction. Par exemple : 2020-05-01 * "ACME Corp" "Paiement de facture" (S'il n'y a pas de bénéficiaire, vous pourriez utiliser le Type de transaction QuickBooks ou laisser les guillemets vides).
  • Ajoute une métadonnée number s'il y a un numéro de référence (n° de chèque, n° de facture, etc.).
  • Itère sur chaque ligne de ventilation :
    • Mappe le nom du compte QuickBooks au compte Beancount à l'aide d'un dictionnaire account_map (rempli à partir de l'étape du plan comptable).
    • Détermine le montant. Selon votre export, vous pourriez avoir une seule colonne Montant (avec des valeurs positives/négatives) ou des colonnes Débit et Crédit séparées. Le code ci-dessus gère les deux cas. Il s'assure que les crédits sont représentés comme des montants négatifs pour Beancount (puisque dans Beancount, un seul nombre avec signe est utilisé par écriture).
    • Ajoute la devise (en supposant USD sauf si une colonne de devise différente est présente).
    • Écrit la ligne d'écriture Beancount avec le compte, le montant, et un commentaire avec le mémo de la ligne. Par exemple : Actifs:Chèques 500.00 USD ; Dépôt Revenus:Ventes -500.00 USD ; Dépôt Cela reflète un dépôt de 500 $ (des Revenus vers le compte Chèques).
  • Après avoir listé toutes les ventilations, une ligne vide sépare la transaction.

Gestion multi-devises : Si vos données QuickBooks impliquent plusieurs devises, incluez le code de la devise sur chaque écriture (comme montré ci-dessus). Assurez-vous que les comptes en devises étrangères sont ouverts avec cette devise. Par exemple, si vous avez un compte bancaire en EUR, vous généreriez open Actifs:Banque:CompteCourant EUR et les transactions dans ce compte utiliseront l'EUR. Beancount prend en charge les grands livres multi-devises et suivra les conversions implicites, mais vous pourriez avoir besoin d'ajouter des entrées de prix pour les taux de change si vous voulez une conversion vers une devise de base dans les rapports. Il est également recommandé de déclarer votre devise opérationnelle principale en haut du fichier Beancount (par ex., option "operating_currency" "USD").

Exécution de la conversion : Enregistrez le script Python (par exemple, sous le nom qb_vers_beancount.py) et exécutez-le sur vos fichiers exportés. Il devrait produire un fichier .beancount contenant tous les comptes et transactions.

2.2 Gestion des cas particuliers et nettoyage des données

Pendant la transformation, soyez attentif à ces pièges courants et à la manière de les gérer :

  • Incohérences de noms de compte : QuickBooks peut avoir des noms de compte qui entrent en conflit avec les noms hiérarchiques de Beancount. Par exemple, QuickBooks pourrait avoir deux comptes parents différents, chacun avec un sous-compte nommé "Assurance". Dans Beancount, Dépenses:Assurance doit être unique. Résolvez ce problème en renommant l'un d'eux (par ex., "Assurance-Véhicule" vs "Assurance-Santé") avant l'exportation ou mappez-les à des comptes Beancount uniques dans votre script. Des conventions de nommage cohérentes (pas de caractères spéciaux et utilisation de la hiérarchie) vous épargneront des maux de tête. Utilisez l'approche du fichier de remappage si nécessaire : maintenez un CSV ou un dictionnaire de ancien nom → nouveau nom Beancount et appliquez-le lors de la conversion (notre exemple de code utilise un account_map et pourrait charger des substitutions depuis un fichier).

  • Dates et formats : Assurez-vous que toutes les dates sont formatées de manière cohérente. Le script ci-dessus normalise M/J/A au format ISO. Faites également attention aux problèmes d'exercice fiscal par rapport à l'année civile si votre période de cinq ans traverse une fin d'année. Beancount ne se soucie pas des limites de l'exercice fiscal, mais vous voudrez peut-être plus tard diviser les fichiers par année pour plus de commodité.

  • Précision numérique : QuickBooks gère la monnaie avec des centimes, donc travailler en centimes est généralement correct. Tous les montants devraient idéalement avoir deux décimales dans le CSV. Si des montants se sont transformés en entiers (pas de décimale) ou ont des virgules/parenthèses (pour les négatifs), nettoyez-les dans le script (supprimez les virgules, convertissez (100.00) en -100.00, etc.). L'export CSV, s'il est fait correctement (selon les instructions), devrait déjà éviter ces problèmes de formatage.

  • Montants négatifs et signes : Les rapports QuickBooks affichent parfois les négatifs comme -100.00 ou (100.00) ou même --100.00 dans certains exports Excel. L'étape de nettoyage devrait gérer cela. Assurez-vous que les débits et les crédits de chaque transaction s'équilibrent à zéro. Beancount l'imposera (s'il n'est pas équilibré, il lèvera une erreur à l'importation).

  • Doublons de transactions : Si vous avez dû exporter les transactions par lots (par ex., année par année ou compte par compte), faites attention de les fusionner sans chevauchement. Vérifiez que la première transaction d'une année n'est pas aussi la dernière du lot précédent, etc. Il est facile de dupliquer accidentellement quelques transactions aux limites. Si vous suspectez des doublons, vous pouvez trier les entrées Beancount finales par date et rechercher des entrées identiques, ou utiliser les balises de transaction uniques de Beancount pour les attraper. Une stratégie consiste à inclure les numéros de transaction QuickBooks comme métadonnées (par ex., utiliser le N° Trans. ou le numéro de facture comme une balise txn ou une métadonnée quickbooks_id) puis s'assurer qu'il n'y a pas de doublons de ces ID.

  • Ventilations non équilibrées / Comptes d'attente : QuickBooks peut avoir des cas étranges comme une transaction avec un déséquilibre que QuickBooks a auto-ajusté vers un compte "Capitaux propres d'ouverture" ou "Bénéfices non répartis". Par exemple, lors de la configuration des soldes de compte initiaux, QuickBooks impute souvent les différences à un compte de capitaux propres. Celles-ci apparaîtront dans les transactions exportées. Beancount exigera un équilibrage explicite. Vous pourriez avoir besoin d'introduire un compte de capitaux propres pour les soldes d'ouverture (communément CapitauxPropres:Soldes-Ouverture) pour refléter QuickBooks. Il est de bonne pratique d'avoir une écriture de solde d'ouverture le premier jour de votre grand livre qui établit les soldes de départ de tous les comptes (voir Étape 5).

  • Cas particuliers multi-devises : Si vous utilisez le multi-devises, l'export de QuickBooks peut lister tous les montants dans la devise de base ou dans leur devise native. Idéalement, obtenez les données dans la devise native pour chaque compte (les rapports de QuickBooks Online le font généralement). Dans Beancount, chaque écriture porte une devise. Si QuickBooks a fourni des taux de change ou une conversion en devise de base, vous pourriez les ignorer et vous fier aux entrées de prix de Beancount. Si QuickBooks n'a pas exporté les taux de change, vous voudrez peut-être ajouter manuellement des enregistrements de prix (par ex., en utilisant la directive price de Beancount) pour les dates clés afin de faire correspondre l'évaluation. Cependant, pour l'intégrité de base du grand livre, il suffit que les transactions s'équilibrent dans leurs devises d'origine – les gains/pertes latents n'ont pas besoin d'être explicitement enregistrés à moins que vous ne vouliez les mêmes rapports.

  • Comptes clients / Comptes fournisseurs : QuickBooks suit les détails des factures et des factures fournisseurs (dates d'échéance, statut de paiement, etc.) qui ne seront pas entièrement transférés dans un grand livre simple. Vous obtiendrez les transactions de Comptes Clients (A/R) et Comptes Fournisseurs (A/P) (les factures augmentant les A/R, les paiements diminuant les A/R, etc.), mais pas les documents de facturation ou les soldes clients par facture. Par conséquent, après la migration, vous devriez vérifier que les soldes de vos comptes A/R et A/P dans Beancount sont égaux aux soldes ouverts des clients/fournisseurs dans QuickBooks. Si vous devez suivre les factures, vous pouvez utiliser les métadonnées de Beancount (par ex., inclure une balise facture ou un lien). Les numéros de facture QuickBooks devraient être passés dans les champs Num ou Mémo – notre script préserve le Num en tant que number: "..." dans les métadonnées de la transaction.

  • Comptes inactifs ou clôturés : L'export IIF peut inclure des comptes inactifs (si vous avez choisi de les inclure). C'est bien de les importer (ils n'auront simplement aucune transaction et un solde nul s'ils sont vraiment inactifs). Vous pouvez les marquer comme clôturés dans Beancount après la date de la dernière transaction avec une directive close. Cela garde votre grand livre propre. Par exemple : 2023-12-31 close Dépenses:AncienCompte ; clôturé après migration Ceci est facultatif et principalement pour la propreté.

En nettoyant et en mappant soigneusement les données comme ci-dessus, vous aurez un fichier de grand livre Beancount qui reflète structurellement vos données QuickBooks. L'étape suivante consiste à vérifier qu'il reflète également numériquement QuickBooks.


Étape 3 : Validation et rapprochement des données

La validation est une étape critique dans une migration de données comptables. Nous devons nous assurer que le grand livre Beancount correspond aux livres de QuickBooks au centime près. Plusieurs stratégies et outils peuvent être utilisés :

3.1 Rapprochement de la balance de vérification

Un rapport de balance de vérification (ou balance comptable) liste les soldes de clôture de tous les comptes (avec débits et crédits ou positif/négatif indiqué) et devrait totaliser zéro. Lancer une balance de vérification dans les deux systèmes pour la même date est le moyen le plus rapide de confirmer l'exactitude globale.

  • Dans QuickBooks : Lancez un rapport de Balance de vérification pour le dernier jour de la dernière année (par ex., le 31 décembre 2023). Ce rapport montre le solde de chaque compte. Exportez-le ou notez les chiffres clés.

  • Dans Beancount : Utilisez les rapports de Beancount pour générer une balance de vérification. Une méthode simple est via la ligne de commande :

    bean-report migre.beancount balances

    Le rapport balances est une balance de vérification listant tous les comptes et leurs soldes. Vous pouvez également ouvrir le fichier dans Fava (l'interface web de Beancount) et regarder la section Soldes ou Bilan. Le solde de chaque compte dans Beancount doit correspondre à la balance de vérification de QuickBooks. Par exemple, si QuickBooks montre _Comptes Clients = 5 000 ,alorslecompteActifs:ComptesClientsdeBeancountdevraittotaliser5000_ , alors le compte Actifs:ComptesClients de Beancount devrait totaliser 5 000 (débit). Si*Revenus de Ventes = 200 000 ,lecompteRevenus:VentesdansBeancountdevraitafficher200000* , le compte Revenus:Ventes dans Beancount devrait afficher 200 000 (crédit, qui pourrait s'afficher comme -200 000 si vous utilisez une balance de vérification qui présente les crédits comme des négatifs).

S'il y a des divergences, identifiez-les :

  • Vérifiez si un compte entier est manquant ou en trop (avons-nous oublié un compte ou inclus un qui était déjà clôturé avant la période de migration ?).
  • Si un solde est incorrect, analysez plus en détail : QuickBooks peut lancer un Rapport rapide de compte ou un détail de grand livre pour ce compte, et vous pouvez comparer avec le registre de Beancount pour ce compte (bean-report migre.beancount register -a NomDuCompte). Parfois, les différences proviennent d'une transaction manquante ou d'un doublon.

Vérifiez également que la somme de tous les comptes est nulle dans la balance de vérification de Beancount (il imprime un total qui devrait être zéro ou très proche de zéro). Beancount impose la partie double, donc si vous avez un déséquilibre non nul, cela signifie que les actifs moins les passifs et les capitaux propres ne totalisent pas zéro, indiquant un problème (ce que QuickBooks ne permettrait normalement pas non plus, mais qui pourrait arriver si des données ont été perdues).

3.2 Comparaisons des soldes de comptes

Au-delà de la balance de vérification, vous pouvez comparer des états financiers spécifiques :

  • Bilan : Lancez un Bilan de QuickBooks pour la date finale et un bilan de Beancount (bean-report migre.beancount balsheet). C'est similaire à la balance de vérification mais organisé par Actifs, Passifs, Capitaux propres. Les chiffres devraient correspondre par catégorie. Pour une vérification plus granulaire, comparez les totaux des comptes principaux : trésorerie, comptes clients, immobilisations, comptes fournisseurs, capitaux propres, etc.

  • Compte de résultat : Lancez un Compte de résultat pour la période de cinq ans (ou année par année) dans QuickBooks et dans Beancount (bean-report migre.beancount income pour un compte de résultat sur la période complète). Le résultat net de Beancount devrait être égal à celui de QuickBooks pour chaque période. Si vous avez migré les cinq années, le résultat net cumulé devrait correspondre. Vous pouvez également comparer les totaux de revenus et de dépenses individuels pour vous assurer qu'aucune catégorie n'a été manquée ou doublée.

  • Échantillonnage aléatoire de transactions : Choisissez quelques transactions au hasard (surtout de chaque année et de chaque compte majeur) et vérifiez qu'elles ont été migrées correctement. Par exemple, trouvez une facture d'il y a 3 ans dans QuickBooks, puis recherchez son montant ou son mémo dans le fichier Beancount (comme toutes les transactions sont du texte, vous pouvez ouvrir le fichier .beancount dans un éditeur de texte ou utiliser des outils de recherche). Vérifiez que la date, les montants et les comptes correspondent. Cela aide à détecter les problèmes de formatage de date ou les comptes mal mappés.

3.3 Contrôles d’intégrité automatisés

Tirez parti des propres outils de validation de Beancount :

  • bean-check : Exécutez bean-check migre.beancount. Cela analysera le fichier et signalera toute erreur de syntaxe ou d'équilibrage. Si le script a manqué quelque chose comme un compte non ouvert ou une transaction non équilibrée, bean-check le signalera. une exécution sans erreur (pas de sortie) signifie que le fichier est au moins cohérent en interne.

  • Assertions de solde : Vous pouvez ajouter des assertions de solde explicites dans le grand livre pour les comptes clés comme vérification supplémentaire. Par exemple, si vous connaissez le solde du compte bancaire à une certaine date, ajoutez une ligne : 2023-12-31 balance Actifs:Banque:Chèques 10000.00 USD Ensuite, bean-check s'assurera que dans le grand livre, à cette date, le solde est bien de 10 000 $. C'est facultatif mais peut être utile pour les comptes de haute importance. Vous pourriez prendre les soldes de clôture de QuickBooks (par ex., fin de chaque année) et les affirmer dans le fichier Beancount. Si une assertion échoue, Beancount signalera une différence.

  • Suivi de la balance de vérification : Si vous préférez, vous pouvez faire une vérification période par période. Pour chaque année, comparez la variation nette. Par exemple, le résultat net dans QuickBooks 2020 par rapport à Beancount 2020, etc., pour s'assurer que chaque année s'est correctement clôturée en capitaux propres (QuickBooks reporte automatiquement le résultat net dans les Bénéfices non répartis chaque nouvelle année ; dans Beancount, vous verrez simplement les capitaux propres cumulés). Si vous voyez des différences, cela peut indiquer un problème dans les données d'une année spécifique.

  • Nombre de transactions et doublons : Comptez le nombre de transactions dans QuickBooks par rapport à Beancount. QuickBooks n'affiche pas facilement un décompte direct, mais vous pouvez l'estimer en comptant les lignes dans le CSV (chaque en-tête de transaction par rapport aux ventilations). Dans Beancount, un moyen rapide est de compter les occurrences de txn ou * " dans le fichier. Ils devraient être égaux ou légèrement supérieurs à QuickBooks (si vous avez ajouté des transactions de solde d'ouverture ou des ajustements). un écart significatif signifie que quelque chose a pu être omis ou dupliqué. Notre utilisation d'ID uniques dans les métadonnées peut aider : si vous suspectez des doublons, recherchez dans le fichier Beancount le même numéro de chèque ou de facture apparaissant deux fois alors qu'il ne le devrait pas.

  • Statut de rapprochement : Nous avons inclus une métadonnée rec: "y" ou "n" basée sur le statut de rapprochement de QuickBooks dans notre script (comme rec dans l'exemple). Ce n'est pas une fonctionnalité standard de Beancount (Beancount ne suit pas le statut pointé/en attente de la même manière que Ledger), mais cela peut être une métadonnée utile. Vous pourriez vérifier que toutes les transactions qui ont été rapprochées dans QuickBooks sont présentes. En fin de compte, rapprocher à nouveau les comptes bancaires dans Beancount (en utilisant vos relevés) pourrait être la preuve finale que rien ne manque.

En effectuant ces validations, vous gagnez en confiance que la migration a préservé les données. Prenez votre temps avec cette étape – il est plus facile de corriger les anomalies maintenant que des mois plus tard, lorsque les livres pourraient être utilisés. Les problèmes courants si la validation échoue : le solde d'ouverture d'un compte manquant, une transaction datée en dehors de la plage, ou une inversion de signe sur une écriture. Tous sont réparables une fois identifiés.


Étape 4 : Finalisation du grand livre Beancount

Après le nettoyage et la validation, il est temps de formaliser les données dans la structure de votre grand livre Beancount. "Finaliser" ici signifie à la fois terminer les fichiers du grand livre et potentiellement les enregistrer dans un système de gestion de versions pour l'auditabilité.

4.1 Organisation des fichiers du grand livre et configuration

Décidez comment structurer les fichiers du grand livre Beancount. Pour cinq ans de données, vous pouvez tout garder dans un seul fichier ou diviser par année ou par catégorie. Une structure commune et claire est :

  • Fichier de grand livre principal : par ex., grand_livre.beancount – C'est le point d'entrée qui peut include d'autres fichiers. Il peut contenir des options globales puis inclure des fichiers annuels.
  • Fichier des comptes : Définissez le plan comptable et les soldes d'ouverture. Par exemple, comptes.beancount avec toutes les directives open (telles que générées par le script). Vous pourriez également lister les commodités (devises) ici.
  • Fichiers de transactions : Un par an, par ex., 2019.beancount, 2020.beancount, etc., contenant les transactions pour cette année. Cela maintient chaque fichier à une taille gérable et vous permet de vous concentrer sur une année si nécessaire. Alternativement, vous pouvez diviser par entité ou par compte, mais la division temporelle est simple pour les données financières.

Exemple de fichier principal :

option "title" "Grand livre de mon entreprise"
option "operating_currency" "USD"

include "comptes.beancount"
include "2019.beancount"
include "2020.beancount"
...
include "2023.beancount"

De cette façon, toutes les données sont agrégées lorsque vous lancez des rapports, mais vous maintenez l'ordre.

Beancount ne nécessite pas plusieurs fichiers – vous pourriez avoir un seul grand fichier – mais la structure ci-dessus améliore la clarté et la gestion de versions. Selon les meilleures pratiques de Beancount, il est bon d'utiliser des en-têtes de section clairs et de regrouper logiquement les entrées connexes.

4.2 Définition des soldes d’ouverture et des capitaux propres

Si votre migration ne part pas d'un zéro absolu, vous devrez gérer les soldes d'ouverture. Deux scénarios :

  • Livres partant de zéro : Si la période de cinq ans commence à la création de l'entreprise (par ex., vous avez commencé à utiliser QuickBooks en janvier 2019 avec tous les comptes à zéro sauf les capitaux propres initiaux), alors vous n'aurez peut-être pas besoin d'une transaction de solde d'ouverture séparée. Les premières transactions en 2019 (comme le financement initial sur un compte bancaire) établiront naturellement les soldes de départ. Assurez-vous simplement que tout capital initial ou bénéfices non répartis antérieurs sont comptabilisés via des transactions de capitaux propres.

  • Livres en cours de route (historique partiel) : Si vous avez commencé à utiliser QuickBooks plus tôt et que 2019 est un point intermédiaire, alors au 1er janvier 2019, chaque compte avait un solde à reporter. QuickBooks les aurait comme soldes d'ouverture ou bénéfices non répartis. Dans Beancount, il est typique de créer une écriture de Soldes d'Ouverture la veille de votre date de début :

    • Utilisez un compte de capitaux propres appelé CapitauxPropres:Soldes-Ouverture (ou similaire) pour contrebalancer la somme de tous les montants d'ouverture.
    • Exemple : si au 31/12/2018, la Trésorerie était de 10 000 etlesComptesClientsde5000et les Comptes Clients de 5 000 et les Comptes Fournisseurs de 3 000 (creˊdit),vouseˊcririezunetransaction:20181231"Soldesdouverture"Actifs:Treˊsorerie10000.00USDActifs:ComptesClients5000.00USDPassifs:ComptesFournisseurs3000.00USDCapitauxPropres:SoldesOuverture12000.00USDCelalaisseSoldesOuvertureaveclasommeneˊgative(12k(crédit), vous écririez une transaction : `2018-12-31 * "Soldes d'ouverture"` ` Actifs:Trésorerie 10000.00 USD` ` Actifs:ComptesClients 5000.00 USD` ` Passifs:ComptesFournisseurs -3000.00 USD` ` CapitauxPropres:Soldes-Ouverture -12000.00 USD` Cela laisse Soldes-Ouverture avec la somme négative (–12k) qui équilibre l'écriture. Maintenant, tous les comptes d'actifs/passifs commencent 2019 avec les bons soldes. Cela devrait refléter tout "Bénéfices non répartis" de QuickBooks ou les soldes reportés.
    • Alternativement, utilisez les directives pad et balance de Beancount : Pour chaque compte, vous pouvez le pad (remplir) depuis Soldes-Ouverture et affirmer le solde. C'est une manière plus automatisée. Par exemple : 2018-12-31 pad Actifs:Trésorerie CapitauxPropres:Soldes-Ouverture 2018-12-31 balance Actifs:Trésorerie 10000.00 USD Cela dit à Beancount d'insérer toute écriture nécessaire (vers Soldes-Ouverture) pour que la Trésorerie soit égale à 10000 USD à cette date. Faites cela pour chaque compte. Le résultat est similaire, mais écrire une transaction explicite comme dans la première méthode est également simple.
  • Bénéfices non répartis : QuickBooks n'exporte pas explicitement de transaction de "Bénéfices non répartis" – il le calcule simplement. Après la migration, vous pourriez remarquer que CapitauxPropres:BénéficesNonRépartis est à zéro si vous ne l'avez pas créé. Dans Beancount, les bénéfices non répartis sont simplement les bénéfices des années précédentes. Vous pouvez choisir de créer un compte de Bénéfices non répartis et d'y transférer les bénéfices antérieurs le premier jour de chaque nouvelle année, ou simplement laisser les capitaux propres être la somme de tous les revenus/dépenses (qui apparaît dans la section Capitaux Propres des rapports). Pour la transparence, certains utilisateurs passent des écritures de clôture annuellement. C'est facultatif et principalement pour la présentation. Puisque nous avons migré toutes les transactions, le bénéfice de chaque année s'accumulera naturellement si vous lancez un rapport par an.

  • Vérifications comparatives : Après avoir défini les soldes d'ouverture, lancez un bilan à la date de début pour vous assurer que tout est correct (il devrait montrer ces soldes d'ouverture par rapport aux Capitaux d'ouverture s'équilibrant à zéro).

4.3 Finalisation et gestion de versions

Maintenant que les données sont au format Beancount et structurées, il est sage de commiter les fichiers dans un dépôt de gestion de versions (par ex., git). Chaque changement au grand livre peut être suivi, et vous avez une piste d'audit de toutes les modifications. C'est un avantage majeur de la comptabilité en texte brut. Par exemple, dans QuickBooks, les changements peuvent ne pas être facilement "diffables", mais dans Beancount, vous pouvez voir les différences ligne par ligne. Comme le notent certains utilisateurs, avec Beancount, vous obtenez la transparence et la capacité d'annuler des changements si nécessaire – chaque écriture peut être liée à un historique de changements.

Pensez à marquer le commit de cette migration initiale comme v1.0 ou similaire, afin de savoir qu'il représente l'état des livres tels qu'importés de QuickBooks. À l'avenir, vous entrerez de nouvelles transactions directement dans Beancount (ou importerez depuis des flux bancaires, etc.), et vous pourrez utiliser des pratiques normales de développement logiciel (commiter mensuellement ou quotidiennement, utiliser des branches pour des expériences, etc.).

Configuration de Fava ou d'autres outils : Fava est une interface web pour Beancount qui facilite la consultation des rapports. Après avoir commité, exécutez fava grand_livre.beancount pour parcourir les états financiers et les comparer une dernière fois avec vos rapports QuickBooks. Vous pourriez repérer plus facilement de petites différences dans une interface utilisateur (par exemple, un compte qui devrait être à zéro mais qui affiche un petit solde indique une écriture de clôture manquante ou une transaction parasite).

Conventions de nommage et cohérence : Vous avez maintenant le contrôle total, alors assurez la cohérence :

  • Tous les comptes doivent avoir des noms clairs, commençant par des noms de catégorie en majuscules (Actifs, Passifs, etc.). Si certains semblent étranges (par ex., Actifs:actifs:UnCompte en raison d'une incohérence de casse de QuickBooks), renommez-les dans le fichier des comptes et mettez à jour les transactions (un rechercher/remplacer rapide sur le fichier peut le faire, ou utilisez bean-format de Beancount ou le multi-curseur de l'éditeur).
  • Les symboles de commodité (codes de devise) doivent être cohérents. Pour l'USD, utilisez USD partout (pas $ ou US$). Pour les autres, utilisez les codes standard (EUR, GBP, etc.). Cette cohérence est importante pour les recherches de prix et les rapports de Beancount.
  • Supprimez tous les comptes temporaires ou factices qui auraient pu être créés (par exemple, si vous avez utilisé Dépenses:Divers pour les comptes inconnus dans le script comme fourre-tout, essayez de les éliminer en mappant correctement tous les comptes).

Clôture de QuickBooks : À ce stade, vous devriez avoir des livres parallèles dans Beancount qui correspondent à QuickBooks. Certains choisissent de faire fonctionner les deux systèmes en parallèle pendant une courte période pour s'assurer que rien n'a été manqué. Mais si la validation est solide, vous pouvez "clôturer" les livres QuickBooks :

  • S'il s'agit d'un environnement d'entreprise, envisagez d'exporter tous les documents sources de QuickBooks (factures, factures fournisseurs, reçus) pour vos archives, car ils n'existeront pas dans Beancount à moins que vous ne les attachiez manuellement.
  • Conservez une sauvegarde des données QuickBooks (à la fois le fichier de l'entreprise et les fichiers d'exportation).
  • À l'avenir, maintenez le grand livre Beancount comme système d'enregistrement principal.

En finalisant les données dans le grand livre Beancount, vous avez terminé le processus de migration. L'étape finale consiste à effectuer un audit et à démontrer la cohérence des états financiers, pour vous satisfaire (ainsi que tout intervenant ou auditeur) que la migration a réussi.


Étape 5 : Audit post-migration et exemples

Pour illustrer le succès de la migration, préparez une comparaison avant/après des états financiers et éventuellement un diff des transactions. Cela fournit la preuve que les livres sont cohérents.

5.1 Vérification des états financiers

Produisez les principaux rapports financiers de QuickBooks et de Beancount pour les mêmes dates et comparez :

  • Bilan au 31 décembre 2023 : Comparez les totaux des Actifs, Passifs et Capitaux propres ligne par ligne. Ils devraient correspondre. Par exemple, si QuickBooks montrait Total Actifs = 150 000 etTotalPassifs+Capitauxpropres=150000** et **Total Passifs + Capitaux propres = 150 000 , le bilan de Beancount devrait montrer les mêmes totaux. Si vous avez structuré les comptes légèrement différemment (disons que vous avez fusionné certains sous-comptes), ajustez pour cela dans la comparaison ou descendez au niveau suivant pour vous assurer que les sommes sont égales.

  • Compte de résultat 2019–2023 : Assurez-vous que le total des Revenus, le total des Dépenses et le Résultat Net pour chaque année (ou toute la période) sont identiques. Des différences mineures pourraient survenir si QuickBooks a fait des arrondis sur les rapports, mais les transactions portent généralement les centimes exactement, donc le résultat net devrait être exact. Si le bénéfice d'une année diffère, analysez les données de cette année – c'est souvent un indicateur d'une entrée manquante ou en double dans cette période.

  • Différences de la balance de vérification : Si possible, créez une feuille de calcul où vous listez chaque compte et le solde de QuickBooks par rapport à Beancount. Comme nous nous attendons à ce qu'ils correspondent, cela pourrait être une colonne entièrement à zéro. C'est essentiellement la contre-vérification de la balance que nous avons discutée, mais le mettre par écrit aide à le documenter.

5.2 Exemple de comparaison (Avant vs Après)

Voici un exemple de fragment démontrant la cohérence des données. Disons que notre balance de vérification QuickBooks pour le 31 décembre 2023 était :

CompteSolde QuickBooks (31 déc. 2023)
Actifs
Actifs:Banque:Chèques12 500,00 $ (débit)
Actifs:ComptesClients3 200,00 $ (débit)
Passifs
Passifs:CarteDeCrédit-1 200,00 $ (crédit)
Passifs:Emprunts-5 000,00 $ (crédit)
Capitaux propres
CapitauxPropres:Soldes-Ouverture-7 500,00 $ (crédit)
CapitauxPropres:BénéficesNonRépartis-2 000,00 $ (crédit)
CapitauxPropres:RésultatDeLExercice0,00 $

Dans Beancount, après avoir importé et enregistré toutes les transactions jusqu'en 2023, un bean-report balances (balance de vérification) donne :

CompteSolde Beancount (31 déc. 2023)
Actifs
Actifs:Banque:Chèques12,500.00 USD (débit)
Actifs:ComptesClients3,200.00 USD (débit)
Passifs
Passifs:CarteDeCrédit-1,200.00 USD (crédit)
Passifs:Emprunts-5,000.00 USD (crédit)
Capitaux propres
CapitauxPropres:Soldes-Ouverture-7,500.00 USD (crédit)
CapitauxPropres:BénéficesNonRépartis-2,000.00 USD (crédit)
CapitauxPropres:Bénéfice (2019-2023)0.00 USD

(Note : Les sections de capitaux propres peuvent être structurées différemment ; la clé est que les totaux s'alignent. Ici, "Bénéfice (2019-2023)" dans Beancount joue le rôle du bénéfice de l'année en cours/bénéfices non répartis combinés, montrant zéro car le bénéfice a été clôturé dans les Bénéfices non répartis.)

Comme montré, chaque compte correspond au centime près. La somme des débits est égale à la somme des crédits des deux côtés.

De plus, si nous lançons un Compte de résultat pour 2023 :

  • QuickBooks : Revenus 50 000 $, Dépenses 48 000 $, Résultat Net 2 000 $.
  • Beancount : Revenus 50 000 $, Dépenses 48 000 $, Résultat Net 2 000 $ (qui a ensuite été clôturé en Bénéfices non répartis ou apparaît sous Capitaux propres dans le bilan de fin d'année).

Vous pouvez créer un diff des transactions si nécessaire, mais comme les données QuickBooks ne sont pas sous forme de grand livre, il est plus efficace de se fier aux rapports. On pourrait trier à la fois le CSV de QuickBooks et les transactions Beancount par date et comparer les champs clés comme vérification finale (cela peut être fait dans Excel ou avec un script). Cependant, étant donné que nous faisons confiance à notre validation antérieure, la vérification des états financiers est généralement suffisante.

5.3 Conseils pour l’audit

  • Si un auditeur ou un intervenant a besoin d'être rassuré, présentez les états financiers avant et après côte à côte. La transparence de Beancount peut en fait simplifier les audits car vous pouvez tracer chaque chiffre d'un état à l'écriture source rapidement (en particulier en utilisant la fonctionnalité d'exploration de Fava).
  • Conservez la sauvegarde de QuickBooks et les CSV exportés dans le cadre de votre piste d'audit. Documentez tous les ajustements effectués pendant la migration (par exemple, "Renommé le compte X en Y pour la cohérence" ou "Divisé la transaction Z en deux écritures pour plus de clarté" si vous avez fait de tels changements).
  • À l'avenir, mettez en place des contrôles réguliers dans Beancount. Par exemple, le rapprochement mensuel des comptes bancaires et une assertion de leur solde de clôture aident à détecter tout problème de données ou erreur de saisie. La migration donne une bonne base ; maintenir la discipline dans le nouveau système assurera une précision continue.

Enfin, célébrez l'achèvement de la migration : vous avez réussi à transférer cinq ans de données comptables de QuickBooks à Beancount. Les données sont maintenant dans un format texte léger, versionné, avec une intégrité complète de la partie double. Vous avez exporté les données, les avez transformées avec des scripts Python, validé l'intégrité par des balances de vérification et des rapports, et les avez finalisées dans un grand livre Beancount bien organisé. Ce processus complet garantit que le grand livre Beancount est une réplique exacte et fidèle de vos livres QuickBooks sur la période de cinq ans, vous préparant pour une comptabilité simplifiée à l'avenir.

Présentation de la prise en charge multi-fichiers dans Beancount

· 2 minutes de lecture
Mike Thrift
Mike Thrift
Marketing Manager

Beaucoup de nos clients nous demandent depuis février comment ajouter plusieurs fichiers à un seul grand livre. Ils ont besoin de la structure de fichiers pour archiver ou catégoriser les transactions. Ainsi, après plusieurs mois de travail, nous sommes heureux d'annoncer que cette fonctionnalité est désormais disponible gratuitement.

Voici comment l'utiliser :

Fichier > créer un nouveau fichier

2021-09-24-multi-file-one-ledger

Accédez à l'onglet de l'éditeur de fichiers dans la barre latérale de navigation gauche. Ensuite, suivez le menu déroulant "Fichier" et cliquez sur "Créer un nouveau fichier".

Fichier > créer un nouveau fichier

Nommez votre nouveau fichier

Donnez un nom de fichier valide à votre fichier et enregistrez-le. Tous les noms de fichiers doivent se terminer par ".bean".

Nommez votre nouveau fichier

Inclure le fichier

Voici une étape cruciale : vous devez inclure le fichier nouvellement créé dans main.bean.

Par exemple, si vous avez ajouté stock.bean, spécifiez include "stock.bean" dans main.bean.

Inclure le fichier

Actualiser et naviguer vers le fichier

Actualisez la page, et vous verrez le fichier apparaître dans le menu déroulant "Fichier".

Actualiser et aller au fichier

Renommer ou supprimer le fichier

Une fois dans le fichier, vous pouvez le renommer ou le supprimer via le menu déroulant "Modifier".

Renommer ou supprimer le fichier

Vous rencontrez des problèmes ?

Posez vos questions sur https://t.me/beancount.

Mise à niveau de Fava vers la version 1.19 : Changements et améliorations clés

· Une minute de lecture
Mike Thrift
Mike Thrift
Marketing Manager

Nous avons mis à niveau le logiciel open source Fava, sous licence MIT, vers la version 1.19. Voici les changements depuis notre dernière mise à jour :

  • v1.19 (18-05-2021)
    • migration des options conversion et interval vers l'option default-page
    • ajout de l'option invert-income-liabilities-equity
    • mise à niveau vers CodeMirror 6
    • ajout d'une traduction bulgare
    • autres petites améliorations et corrections de bugs
  • v1.18 (16-01-2021)
    • quelques petites améliorations et diverses corrections de bugs.

Envie d'essayer ? Lancez-vous dès maintenant sur https://beancount.io/ledger/

2021-07-16-upgrade-fava-to-1-19

Des questions ? Nous sommes là pour vous sur https://t.me/beancount :)

Comprendre l'amortissement dans Beancount

· 2 minutes de lecture
Mike Thrift
Mike Thrift
Marketing Manager

L'amortissement répartit les paiements en plusieurs versements sur une période donnée. Dans beancount.io, vous pouvez utiliser le plugin fava.plugins.amortize_over pour y parvenir.

2021-01-09-amortize

Sans amortissement, si vous souhaitez assurer votre voiture pour 6 mois avec un coût de 600 $. Vous devez enregistrer cela comme une dépense unique pour une date donnée.

2017-06-01 open Assets:Bank:Checking
2017-06-01 open Assets:Prepaid-Expenses
2017-06-01 open Expenses:Insurance:Auto


2017-06-01 * "Payer l'assurance auto"
Assets:Bank:Checking -600.00 USD
Assets:Prepaid-Expenses

Cependant, avec l'amortissement, vous pouvez répartir la dépense sur six mois en plaçant plugin "fava.plugins.amortize_over" en haut du fichier et en utilisant amortize_months: 6 pour la transaction.

plugin "fava.plugins.amortize_over"

2020-06-01 open Assets:Bank:Checking
2020-06-01 open Assets:Prepaid-Expenses
2020-06-01 open Expenses:Insurance:Auto

2020-06-01 * "Amortir l'assurance auto sur six mois"
amortize_months: 6
Assets:Prepaid-Expenses -600.00 USD
Expenses:Insurance:Auto

Et ensuite dans le Journal, vous verrez que la transaction est divisée en 6 écritures.

2020-11-01 * Amortir l'assurance auto sur six mois (6/6) am
2020-10-01 * Amortir l'assurance auto sur six mois (5/6) am
2020-09-01 * Amortir l'assurance auto sur six mois (4/6) am
2020-08-01 * Amortir l'assurance auto sur six mois (3/6) am
2020-07-01 * Amortir l'assurance auto sur six mois (2/6) am
2020-06-01 * Amortir l'assurance auto sur six mois (1/6) am

Capture d'écran de la transaction d'amortissement

Présentation des applications mobiles Beancount pour iOS et Android

· 2 minutes de lecture
Mike Thrift
Mike Thrift
Marketing Manager

Nous sommes ravis d'annoncer une étape majeure dans l'évolution de Beancount : le lancement de nos applications mobiles dédiées pour les plateformes iOS et Android ! Cette version répond directement à l'une des demandes les plus fréquentes de notre communauté – la capacité de gérer votre grand livre efficacement sur les appareils mobiles.

Application iOS Beancount

Fonctionnalités Clés

  • Saisie Rapide des Transactions : Ajoutez facilement de nouvelles transactions en déplacement
  • Rapports Financiers Mobiles : Accédez à vos informations financières n'importe où, n'importe quand
  • Édition Directe du Grand Livre : Accès complet à votre fichier de grand livre via une vue web optimisée
  • Synchronisation Multiplateforme : Maintenez la cohérence de vos données financières sur tous vos appareils

2020-08-19-application-mobile-beancount

Développement Axé sur la Communauté

Cette version ne marque que le début de notre parcours mobile. Nous nous engageons à faire évoluer ces applications en fonction de vos besoins et de vos retours. Rejoignez notre communauté dynamique sur Telegram à https://t.me/beancount pour discuter de Beancount, partager votre expérience et aider à façonner les fonctionnalités futures.

Notre Vision

Chez Beancount, notre mission est de permettre à chacun d'atteindre un meilleur contrôle et une meilleure compréhension financière. Ces applications mobiles représentent une étape significative vers cet objectif, avec de nombreuses autres fonctionnalités et outils passionnants sur notre feuille de route.

télécharger depuis l'App Storetélécharger depuis le Play Store

Bénéfice net 101 — et comment le suivre dans Beancount

· 5 minutes de lecture
Mike Thrift
Mike Thrift
Marketing Manager

De tous les chiffres qui décrivent une entreprise, un se démarque des autres : le bénéfice net. C’est la mesure ultime de la rentabilité, le fameux « résultat net ». Mais qu’est-ce que cela signifie réellement, et comment pouvez-vous le suivre avec précision en utilisant un système de comptabilité en texte brut comme Beancount ?

Décomposons cela.

2020-03-12-bénéfice-net-101-comment-le-suivre-dans-beancount

Que signifie réellement le bénéfice net ?

Essentiellement, le bénéfice net est l’argent qui reste après avoir payé absolument tout ce qui est nécessaire pour gérer votre entreprise. Cela comprend le coût des marchandises vendues (CMV), toutes les dépenses d’exploitation, les intérêts sur la dette et les impôts.

C’est l’indicateur unique le plus clair de la santé financière d’une entreprise. C’est un chiffre essentiel pour tout le monde :

  • Les prêteurs l’examinent pour évaluer votre capacité à rembourser les prêts.
  • Les investisseurs le considèrent comme la source de dividendes potentiels ou le capital disponible pour la croissance.
  • Les fondateurs s’y appuient pour comprendre leur piste financière et élaborer des plans de réinvestissement stratégiques.

Un bénéfice net positif signifie que vous êtes rentable. Un bénéfice net négatif signifie que vous perdez de l’argent. C’est aussi simple que cela.

La formule de base (choisissez le niveau de détail dont vous avez besoin)

Vous pouvez calculer le bénéfice net avec différents degrés de granularité. Le choix dépend du niveau de détail de l’analyse dont vous avez besoin.

  • Formule complète : Chiffre d’affaires – CMV – Dépenses d’exploitation – Intérêts – Impôts = Bénéfice net
  • Formule standard : Chiffre d’affaires – CMV – Dépenses = Bénéfice net
  • Formule rapide et approximative : Revenus totaux – Dépenses totales = Bénéfice net

Un conseil rapide sur les coûts : Quelle est la différence entre le CMV et les dépenses d’exploitation ? Le CMV (coût des marchandises vendues) couvre les coûts directs liés à la production de vos biens ou services (p. ex., matières premières, main-d’œuvre directe). Les dépenses d’exploitation couvrent tout le reste qui permet à l’entreprise de fonctionner : salaires, loyer, abonnements à des logiciels, assurances, etc.

Un mini-exemple

Concrétisons cela. Imaginez qu’une petite entreprise de torréfaction de café ait obtenu les résultats suivants le mois dernier.

ÉlémentMontantExemple de compte du grand livre
Chiffre d’affaires60 000 $Revenus:Ventes
CMV (grains de café verts)20 000 $Dépenses:CMV
Dépenses d’exploitation18 000 $Dépenses:Exploitation:*
Intérêts (sur le prêt pour l’équipement)1 000 $Dépenses:Intérêts
Impôts1 000 $Dépenses:Impôts

En utilisant la formule complète, le calcul est simple :

Beˊneˊfice;net=60000Bénéfice ;net = 60 000 - 20 000 18000- 18 000 - 1 000 1000- 1 000 = 20 000 $$

L’entreprise a généré un bénéfice réel de 20 000 $ pour le mois.

Comment le saisir dans Beancount

La structure de Beancount est parfaite pour cela. En organisant vos comptes de manière logique, le calcul du bénéfice net devient un sous-produit automatique d’une bonne tenue des livres.

  • Étiquetez tous les revenus sous un compte parent Revenus, comme Revenus:Ventes ou Revenus:Services.
  • Répartissez vos dépenses pour distinguer les coûts directs et indirects. Utilisez Dépenses:CMV pour les coûts directs et des sous-comptes comme Dépenses:Exploitation:Salaires ou Dépenses:Exploitation:Logiciels pour tout le reste.
  • Comptabilisez les intérêts et les impôts dans leurs propres comptes (Dépenses:Intérêts, Dépenses:Impôts). Cela simplifie grandement les analyses futures, en particulier pour la préparation des déclarations de revenus.
  • Soldez vos livres régulièrement. L’équation comptable fondamentale, Actif = Passif + Capitaux propres, doit toujours être vraie.

À la fin d’une période (p. ex., un mois), vous pouvez utiliser des assertions balance pour confirmer l’état de vos comptes. Ces entrées ne déplacent pas d’argent; elles déclarent ce que le solde devrait être, et bean-check signalera une erreur si ce n’est pas le cas.

; 2025-07-31 Entreprise de torréfaction de café — Clôture de juillet
2025-07-31 balance Actif:Banque:Exploitation 42000.00 USD
2025-07-31 balance Dépenses:CMV 20000.00 USD
2025-07-31 balance Dépenses:Exploitation 18000.00 USD
2025-07-31 balance Dépenses:Intérêts 1000.00 USD
2025-07-31 balance Dépenses:Impôts 1000.00 USD
2025-07-31 balance Revenus:Ventes -60000.00 USD

Requête de bénéfice net sur une seule ligne

C’est là que la magie opère. Avec un grand livre bien structuré, vous pouvez calculer votre bénéfice net pour n’importe quelle période avec une seule commande.

bean-query books.beancount \
"SELECT period, sum(number) WHERE account =~ '^(Revenus|Dépenses)' \
AND year = 2025 GROUP BY month"

Cette requête additionne toutes les valeurs de vos comptes Revenus et Dépenses pour 2025 et les regroupe par mois. Dans Beancount, les revenus sont représentés par des nombres négatifs et les dépenses par des nombres positifs, de sorte que le résultat sera le négatif de votre bénéfice net.

Mieux encore, vous n’avez même pas besoin d’exécuter cette requête manuellement. Fava, l’interface Web pour Beancount, la tracera automatiquement pour vous dans sa vue Rapports → Compte de résultat.

Des informations rapides que vous pouvez automatiser

Parce que votre grand livre n’est qu’un fichier texte, vous pouvez construire des flux de travail automatisés puissants autour de celui-ci.

  • Résumé mensuel par courriel : Configurez une tâche cron pour exécuter bean-report books.beancount income_statement > bénéfice-net.txt, puis envoyez-vous le fichier texte résultant par courriel le premier de chaque mois.
  • Alerte de rentabilité : Utilisez un hook Git pre-commit qui exécute une requête pour vérifier la rentabilité du mois à ce jour. Vous pouvez le programmer pour refuser la validation si le bénéfice net est négatif, vous obligeant à prendre acte d’un mois déficitaire.
  • Modélisation de scénarios : Vous voulez tester la résistance de votre entreprise ? Il suffit de copier books.beancount dans scenarios/récession.bean, de réduire vos entrées Revenus de 20 % et de réexécuter votre requête de bénéfice net pour voir l’impact instantanément.

Points clés à retenir

  • Le bénéfice net est votre véritable résultat net. L’objectif est de le maintenir positif et de comprendre son évolution dans le temps.
  • Beancount rend les calculs sous-jacents explicites, consultables et contrôlés par version. Il n’y a pas de formules cachées.
  • Avec une structure de compte disciplinée et une seule requête, vous saurez toujours si votre entreprise gagne réellement de l’argent.

Introduction à Beancount.io

· 6 minutes de lecture
Mike Thrift
Mike Thrift
Marketing Manager

Pourquoi la tenue de livres moderne est importante

Gérez-vous toujours vos investissements avec des feuilles de calcul ? Bien que les feuilles de calcul soient polyvalentes, elles peuvent devenir lourdes et sujettes aux erreurs à mesure que votre portefeuille d'investissement s'étoffe. Découvrez Beancount.io – une plateforme de suivi des investissements sophistiquée mais conviviale, conçue spécifiquement pour la gestion des portefeuilles d'actions et de cryptomonnaies. Conçu pour les ingénieurs et les minimalistes financiers, Beancount.io combine des fonctionnalités puissantes avec une interface intuitive pour simplifier votre expérience de suivi des investissements.

2019-09-07-introduction-to-beancount

Expenses

Income Statement

Balance Sheet

La comptabilité en partie double : le fondement de l'exactitude

Beancount.io est construit sur les principes de la comptabilité en partie double – une méthodologie éprouvée utilisée par les institutions financières du monde entier. Ce système assure une exactitude mathématique grâce à un concept simple mais puissant : chaque transaction financière doit s'équilibrer parfaitement.

En comptabilité en partie double, chaque transaction nécessite au moins deux écritures – un débit (+) et un crédit (-) – sur différents comptes. Ce système de vérification intégré rend pratiquement impossible l'enregistrement de transactions déséquilibrées, garantissant ainsi que vos registres financiers restent exacts et fiables.

1970-01-01 open Income:BeancountCorp
1970-01-01 open Assets:Cash
1970-01-01 open Expenses:Food
1970-01-01 open Assets:Receivables:Alice
1970-01-01 open Assets:Receivables:Bob
1970-01-01 open Assets:Receivables:Charlie
1970-01-01 open Liabilities:CreditCard

2019-05-31 * "BeancountCorp" "Salary of May 15th to May 31st"
Income:BeancountCorp -888 USD
Assets:Cash 888 USD

2019-07-12 * "Popeyes chicken sandwiches" "dinner with Alice, Bob, and Charlie"
Expenses:Food 20 USD
Assets:Receivables:Alice 20 USD
Assets:Receivables:Bob 20 USD
Assets:Receivables:Charlie 20 USD
Liabilities:CreditCard -80 USD

Comme vous pouvez le voir dans les deux exemples ci-dessus, chaque transaction doit respecter l'équation comptable.

Assets = Liabilities + Equity(aka Net Assets)

Nous avons utilisé la syntaxe Beancount de Martin Blais et le projet web Fava de Jakob Schnitzer pour construire ce site web. Et il vous alertera si une transaction comporte des lignes dont la somme n'est pas nulle.

Alerte d'erreur

Maintenant, vous comprenez comment nous assurons la justesse du grand livre. Mais vous vous demandez peut-être ce que sont ces "comptes" ?

Comprendre les comptes : l'analogie du seau d'eau

Considérez vos comptes financiers comme un système de seaux d'eau interconnectés, où l'argent circule comme de l'eau entre eux. Cette analogie rend la comptabilité en partie double intuitive : lorsque vous transférez de l'argent d'un compte à un autre, c'est comme verser de l'eau d'un seau à un autre – le montant total d'eau (argent) dans le système reste constant.

Beancount.io introduit cinq types de comptes.

  1. Revenus — Leur montant est toujours négatif ou au débit. C'est parce que vous gagnez de l'argent, et que l'argent est débité du compte "Revenus" et crédité sur vos "Actifs".
  2. Dépenses — Leur montant est toujours positif ou au crédit. C'est parce que vous dépensez de l'argent, et que l'argent circule des "Actifs" ou "Passifs" vers les "Dépenses".
  3. Passifs — Leur montant est positif ou nul. Vos dettes de carte de crédit en sont un bon exemple, qui augmentent et diminuent par cycles.
  4. Actifs — Leur montant est positif ou nul. Votre argent liquide ou vos maisons ont toujours une certaine valeur.
  5. Capitaux propres — Vos actifs nets. Le système les calculera automatiquement pour vous. Capitaux propres = Actifs - Passifs et cela reflète votre richesse.

Vous pouvez maintenant ouvrir vos comptes personnalisés avec les mots-clés ci-dessus :

1970-01-01 open Assets:Cash
1970-01-01 open Assets:Stock:Robinhood
1970-01-01 open Assets:Crypto:Coinbase
1970-01-01 open Expenses:Transportation:Taxi
1970-01-01 open Equity:OpeningBalance

Suivi avancé des investissements avec les actifs

Beancount.io excelle dans le suivi des investissements diversifiés, des actions aux cryptomonnaies. Explorons comment il gère les scénarios d'investissement complexes. Par exemple, voici comment vous enregistreriez l'achat de 10 Bitcoins à 100 $ chacun en 2014 :

2014-08-08 * "Buy 10 Bitcoin"
Assets:Trade:Cash -1000.00 USD
Assets:Trade:Positions 10 BTC {100.00 USD}

Et puis trois ans plus tard, vous les vendez (initialement avec un coût de 100 $ par unité annoté avec {100.00 USD}) au prix de 10 000 $ par unité annoté avec @ 10,000.00 USD.

2017-12-12 * "Sell 2 Bitcoin"
Assets:Trade:Positions -2 BTC {100.00 USD} @ 10,000.00 USD
Assets:Trade:Cash 20,000.00 USD
Income:Trade:PnL -19,800.00 USD

Ou la même transaction avec @@ 20,000.00 USD signifie qu'au prix de 20 000 $ au total.

2017-12-12 * "Sell 2 Bitcoin"
Assets:Trade:Positions -2 BTC {100.00 USD} @@ 20,000.00 USD
Assets:Trade:Cash 20,000.00 USD
Income:Trade:PnL -19,800.00 USD

La somme de toutes les lignes de la transaction, y compris -2 BTC {100.00 USD}, est toujours, comme toujours, nulle.

L'étiquette de coût {100.00 USD} est importante car vous auriez pu acheter le même actif à des coûts différents.

100 BTC {10.00 USD, 2012-08-08}
10 BTC {100.00 USD, 2014-08-08}

Si vous souhaitez simplifier le processus, vous pouvez configurer le compte au début avec FIFO ou LIFO. FIFO signifie "premier entré, premier sorti", tandis que LIFO signifie "dernier entré, premier sorti". Aux États-Unis, l'IRS utilise la méthode FIFO pour calculer votre P&L (profits et pertes) et vos impôts en conséquence.

1970-01-01 open Assets:Trade:Positions "FIFO"

Et puis lorsque vous le vendez en abrégé comme -2 BTC {}, Beancount appliquera automatiquement la stratégie FIFO et vendra l'actif le plus ancien.

Démarrer avec Beancount.io

Beancount.io est une plateforme moderne de gestion financière basée sur le cloud qui transforme vos enregistrements de transactions textuels en états financiers complets, y compris les comptes de résultat, les bilans et les balances de vérification. En combinant la fiabilité des fichiers en texte brut avec de puissants outils de visualisation, Beancount.io vous aide à maintenir un contrôle précis sur votre vie financière tout en obtenant des informations précieuses sur la performance de vos investissements.

Commencez votre parcours financier avec Beancount.io - Gratuit pendant notre période promotionnelle !

Bases de la comptabilité avec Beancount : la voie de la clarté grâce au texte brut

· 9 minutes de lecture
Mike Thrift
Mike Thrift
Marketing Manager

On ne peut pas diriger une entreprise si l'on ne sait pas où va l'argent. Une comptabilité précise transforme les approximations en informations concrètes. (Investopedia)

Tout propriétaire d'entreprise, indépendant ou fondateur de startup est finalement confronté à la même réalité : le chaos financier est un frein à la croissance. Sans une image claire de vos flux de trésorerie, vous naviguez à l'aveugle. Mais que se passerait-il si vous pouviez gérer vos finances avec la même précision et le même contrôle que vous appliquez à votre code ? Découvrez Beancount, un système de comptabilité puissant et open-source qui fonctionne avec des fichiers texte brut.

2019-03-24-bookkeeping-basics

Ce guide vous présentera les principes fondamentaux de la comptabilité et vous montrera comment créer un flux de travail financier robuste, léger et transparent à l'aide de Beancount.

Qu'est-ce que la comptabilité ?

Fondamentalement, la comptabilité est l'enregistrement systématique et continu de chaque transaction financière effectuée par une entreprise. C'est la discipline quotidienne du suivi des revenus, des dépenses, de l'actif (ce que vous possédez) et du passif (ce que vous devez).

Dans le monde de Beancount, ces enregistrements ne sont pas enfermés dans un logiciel propriétaire. Ils résident dans des fichiers texte brut simples et lisibles par l'homme. Cette approche vous permet de gérer l'historique de vos finances avec des outils comme Git, tout comme vous le feriez avec un projet logiciel. Chaque entrée est régie par la règle de la partie double, un système élégant qui vérifie automatiquement votre travail et garantit que vos comptes sont toujours corrects. (beancount)

Pourquoi est-ce important ?

Une comptabilité méticuleuse n'est pas seulement une question d'ordre administratif, c'est un avantage stratégique.

  • Confiance en matière fiscale : Lorsque la saison des impôts arrive, des registres propres sont votre meilleur allié. L'administration fiscale exige une documentation claire des revenus et des déductions. Un grand livre bien tenu signifie que vous pouvez déclarer vos impôts en toute confiance et réduire considérablement la durée de tout audit potentiel. (IRS)
  • Des décisions plus éclairées : Vos prix sont-ils suffisamment élevés ? Un contrat de service spécifique est-il réellement rentable ? Les coûts d'abonnement deviennent-ils incontrôlables ? Les états financiers, tels que le compte de résultat et le bilan, révèlent les fuites de prix, les coûts excessifs et les problèmes de trésorerie, donnant aux gestionnaires et aux investisseurs les données dont ils ont besoin pour prendre des décisions intelligentes. (Investopedia)
  • Financement facilité : Les prêteurs et les investisseurs ne prennent pas de décisions basées sur leur intuition. Avant de virer des fonds, ils vous demanderont des états financiers. Une bonne comptabilité vous permet de générer un bilan ou un compte de résultat en quelques secondes, démontrant votre professionnalisme et votre santé financière. (Investopedia)
  • Alertes aux fraudes et aux erreurs : Le rapprochement régulier de vos comptes avec vos relevés bancaires est votre première ligne de défense contre les erreurs. Cette simple habitude vous aide à détecter rapidement les frais en double, les erreurs bancaires ou les activités frauduleuses, avant qu'ils ne deviennent des problèmes importants. (IRS)

Un plan en sept étapes pour une comptabilité en texte brut

Prêt à commencer ? Voici comment construire votre système de comptabilité Beancount à partir de zéro.

1. Séparer les comptes professionnels et personnels

C'est la première étape non négociable. Ouvrez un compte courant professionnel dédié et, si nécessaire, une carte de crédit professionnelle. Le mélange des fonds crée un cauchemar pour la comptabilité et peut brouiller les lignes de responsabilité entre vous et votre entreprise. Une séparation nette est essentielle pour des déductions précises et une protection juridique. (Small Business Administration)

Dans Beancount, vous déclarez l'existence de ces comptes avec une directive open :

; Solde d'ouverture de vos comptes
2025-07-22 open Assets:Bank:Business USD
2025-07-22 open Assets:Bank:Personal USD

2. Choisir un système de comptabilité

Beancount utilise la méthode de la partie double, la référence en matière de comptabilité depuis des siècles. Le principe est simple : chaque transaction affecte au moins deux comptes. Pour chaque débit d'un compte, il doit y avoir un crédit correspondant sur un autre. La magie de ce système est que la somme de tous vos comptes doit toujours être égale à zéro. Beancount applique cette règle automatiquement, ce qui signifie qu'une faute de frappe ou une erreur logique sera immédiatement signalée. Vous ne pouvez littéralement pas avoir de comptes déséquilibrés. (beancount)

3. Choisir une méthode comptable

Vous avez deux choix principaux :

  • Comptabilité de caisse : Vous enregistrez les revenus lorsque vous recevez l'argent et les dépenses lorsque vous les payez. C'est plus simple et reflète directement votre flux de trésorerie.
  • Comptabilité d'engagement : Vous enregistrez les revenus lorsque vous les gagnez (par exemple, lorsqu'une facture est envoyée) et les dépenses lorsque vous les engagez (par exemple, lorsque vous recevez une facture). Cette méthode donne une image plus fidèle de la santé financière et de la performance d'une entreprise, en particulier pour les entreprises en croissance. (Investopedia)

Voici un exemple de transaction d'engagement dans Beancount. Vous comptabilisez le revenu lorsque la facture est envoyée, en déplaçant la valeur dans Assets:AccountsReceivable. Lorsque le client paie, vous déplacez l'argent de AccountsReceivable vers votre compte bancaire.

; Exemple d'engagement : facture émise, paiement ultérieur
2025-07-22 * "Facture de design #101"
Assets:AccountsReceivable 3000.00 USD
Income:Design

2025-08-15 * "Le client paie la facture #101"
Assets:Bank:Business 3000.00 USD
Assets:AccountsReceivable

4. Rassembler vos outils

La beauté de Beancount réside dans sa nature minimaliste et modulaire. Vos outils de base comprennent :

  • Éditeur + Git : Votre éditeur de texte préféré pour enregistrer les transactions et Git pour le contrôle de version, vous donnant un historique complet et vérifiable de chaque modification.
  • bean-report / bean-balance / Fava : Des outils en ligne de commande comme bean-report et la superbe interface web Fava vous offrent des états financiers instantanés, des tableaux de bord et de puissantes capacités de filtrage.
  • Importateurs : Un riche écosystème d'importateurs créés par la communauté peut se connecter à vos flux bancaires via CSV, Plaid ou des API pour des services comme Stripe et PayPal, automatisant une grande partie de la saisie des données.

5. Catégoriser chaque transaction

Un « plan comptable » bien organisé est l'épine dorsale d'un reporting pertinent. Définissez des catégories qui ont du sens pour votre entreprise, en utilisant des comptes hiérarchiques pour la granularité. Ensuite, lorsque vous enregistrez des transactions, catégorisez-les méticuleusement.

2025-07-30 * "Facture mensuelle AWS"
Expenses:Hosting:AWS 124.50 USD
Assets:Bank:Business
tag: "ops"

Dans cet exemple, la dépense est clairement classée sous Expenses:Hosting:AWS. L'utilisation de tag: "ops" permet également des rapports transversaux, comme la visualisation de toutes les dépenses opérationnelles quelle que soit leur catégorie principale. (IRS)

6. Stocker les documents sources en toute sécurité

L'administration fiscale accepte volontiers les copies numériques des reçus et des factures. Numérisez les reçus papier ou transférez les factures par courriel dans un dossier dédié dans un stockage cloud (comme Google Drive ou Dropbox). Ensuite, créez un lien vers le fichier directement dans votre entrée Beancount en utilisant les métadonnées. Cela crée un enregistrement hermétique et autonome.

; Image du reçu liée comme métadonnée
2025-07-18 * "Déjeuner d'équipe"
Expenses:Meals 85.10 USD
Assets:Bank:Business
receipt: "receipts/2025-07-18-team-lunch.jpg"

7. Faire de la comptabilité une habitude

La cohérence est essentielle. La procrastination transforme la comptabilité en une corvée stressante et chronophage. Réservez un créneau horaire récurrent - une « journée Bean » hebdomadaire ou mensuelle - pour importer les transactions, rapprocher les comptes et examiner vos rapports financiers. Cette simple routine transforme la comptabilité d'une course trimestrielle en un bilan de santé rapide et stimulant pour votre entreprise. (IRS)

Faire soi-même ou faire appel à un professionnel ?

  • Faire soi-même : Pour les indépendants ou les petites entreprises dont le volume de transactions est prévisible, une approche « faire soi-même » avec Beancount est incroyablement efficace. Il est toujours judicieux d'avoir une brève consultation ponctuelle avec un expert-comptable pour valider votre plan comptable et vous assurer que vous êtes sur la bonne voie.
  • Examen professionnel : À mesure que votre entreprise se développe, que les transactions se complexifient ou que le risque de conformité augmente, faire appel à un comptable ou à un expert-comptable professionnel pour des examens périodiques est inestimable. Vous pouvez continuer à utiliser Beancount comme source principale de données et simplement exporter les rapports dont ils ont besoin.

Liste de contrôle de démarrage rapide

  • Ouvrir des comptes bancaires professionnels distincts.
  • Cloner le référentiel de démarrage Beancount et définir vos comptes dans accounts.bean.
  • Choisir la comptabilité de caisse ou d'engagement et s'y tenir.
  • Configurer des importateurs pour automatiser la saisie des données de votre banque (CSV), Stripe, PayPal, etc.
  • Étiqueter et rédiger des narrations claires pour chaque transaction.
  • Rapprocher votre grand livre avec les relevés bancaires chaque semaine ou chaque mois.
  • Générer des rapports mensuels sur les revenus, le bilan et les flux de trésorerie à l'aide de Fava ou de bean-report.
  • Sauvegarder régulièrement vos fichiers .bean (Git + stockage hors site).

Lectures complémentaires

Prêt à commencer ? Installez Beancount, validez votre première entrée et troquez le brouillard des feuilles de calcul pour la clarté du texte brut. Bonne comptabilité !