Comment gérer vos finances avec le mode Ledger dans Emacs

Image mise en avant Emacs Ledger 00

Le mode Ledger est un package dans Emacs pour le programme de comptabilité en ligne de commande Ledger. Cela permet aux utilisateurs d’Emacs d’utiliser les puissantes fonctionnalités de Ledger depuis le confort de leur éditeur de texte préféré.

Table des matières

  • Pourquoi utiliser le mode Ledger et faire votre comptabilité dans Emacs ?
  • Comment fonctionne Ledger
  • Définir des catégories de comptes dans Ledger
  • Installer Ledger
  • Utiliser le mode Ledger dans Emacs
  • Questions fréquentes

Lisez aussi : Qu’est-ce que Doom Emacs et comment l’installer

Pourquoi utiliser le mode Ledger et faire votre comptabilité dans Emacs ?

Le mode Ledger est simple et intuitif à utiliser. Il équilibre automatiquement vos finances et vous avertit lorsqu’il y a un problème avec vos enregistrements. Il vous permet également de catégoriser vos dépenses et vos sources de revenus qui peuvent ensuite être triées et analysées depuis le package lui-même.

Exemple de rapport du mode Ledger Emacs 02

En termes simples, le mode Ledger est un ajout brillant pour quelqu’un qui utilise Emacs comme suite de productivité. Il élimine le besoin de tableurs tout en vous permettant d’utiliser les données de Ledger dans d’autres parties de votre expérience Emacs.

Emacs fonctionne sur le principe de l’interopérabilité. Cela signifie que toutes les données produites dans Emacs peuvent être réutilisées dans n’importe quel autre package à l’intérieur. Dans ce sens, le mode Ledger permet à ses utilisateurs de créer et de combiner les données que vous avez écrites pour Ledger avec d’autres outils dans Emacs.

Interopérabilité Emacs 03

Cela vous permet, par exemple, de créer des documents Org Mode qui lient à la fois des e-mails archivés et des fichiers Ledger. Non seulement cela, mais vous pouvez également facilement copier vos entrées Ledger dans vos e-mails et vice versa. Tout cela parce que les entrées dans le mode Ledger sont du texte brut et qu’Emacs peut facilement les déplacer vers n’importe quel tampon.

Exemple d'interopérabilité 04

Lisez aussi : Comment utiliser l’e-mail dans Emacs

L’utilitaire Ledger

Comme discuté ci-dessus, le mode Ledger d’Emacs est juste un moyen d’accéder à l’utilitaire de ligne de commande Ledger. Avec cela, il est important de savoir ce qu’est le programme Ledger et ce qu’il peut faire par défaut.

Lisez aussi : Comment gérer Git dans Emacs avec Magit

Comment fonctionne Ledger

Ledger est un programme simple qui lit des livres de comptes en texte brut et crée des rapports comptables à partir de ceux-ci. Contrairement aux programmes de comptabilité traditionnels, il ne crée ni ne modifie de fichiers de base de données. Cela fait de Ledger une solution légère et flexible pour garder un œil sur votre situation financière.

Traditionnel vs Ledger Emacs 05

La façon dont Ledger rend cela possible est qu’il s’attend à ce que chaque entrée dans le fichier suive un format spécifique. Considérez l’exemple suivant :

2022/02/16 Dépenses  
    Dépenses:Nourriture:Déjeuner                          140 PHP  
    Dépenses:Nourriture:Snack                          50  PHP  
    Actifs:Fiat:Espèces                            -190 PHP

Ici, Ledger s’attend à trois choses du fichier texte brut :

  • Une ligne de titre qui spécifie une date et un nom pour l’entrée du livre. Dans ce cas, j’ai ajouté une entrée de dépenses le 16 février.
  • Un groupe de comptes qui montre d’où vient l’argent et où il est allé. Dans ce cas, j’ai utilisé mon actif en espèces et je l’ai déplacé vers un compte de dépenses.
  • La valeur de l’argent que j’ai déplacé. Ici, j’ai déplacé mon actif en espèces deux fois pour mon déjeuner et mon snack. Cependant, tout a été pris en une seule fois de mes actifs à la fin de la journée.

Ces trois hypothèses de base font en sorte que vous pouvez facilement adapter Ledger à n’importe quelle situation. Par exemple, Ledger peut traiter à la fois des devises et des marchandises. Cela le rend utile pour les personnes qui ne suivent pas seulement leurs habitudes de dépenses, mais aussi leurs investissements.

Lisez aussi : Comment utiliser Emacs pour RSS avec Elfeed

Définir des catégories de comptes dans Ledger

Une chose importante à noter est que les catégories pour chaque transaction dans Ledger sont complètement arbitraires. Cependant, la pratique générale de suivi des finances personnelles peut être divisée en cinq parties :

  • Le compte Actifs est constitué des marchandises et des devises que vous possédez. Cela peut être soit une seule devise, soit un mélange de devises, d’actions et d’inventaires d’articles.
  • Le compte Dépenses est constitué des marchandises que vous avez achetées avec vos actifs.
  • Le compte Revenus est l’endroit où vous pouvez tirer de l’argent de vos sources de richesse. Par exemple, vous pouvez attacher le salaire que vous recevez sous ce compte.
  • Le compte Passifs est l’endroit où vous pouvez assigner toutes les marchandises que vous devez actuellement.
  • Le compte Capitaux propres est un compte spécial que vous pouvez utiliser pour déterminer votre valeur nette actuelle. Cela est couramment utilisé lors de la création d’un solde d’ouverture dans Ledger.

Vous pouvez spécifier davantage une transaction en ajoutant un deux-points (:) après chacune de ces cinq catégories. Par exemple, une transaction avec l’étiquette Dépenses:Nourriture:Déjeuner peut être représentée par une hiérarchie à trois niveaux.

Exemple de hiérarchie Emacs Ledger 06

Lisez aussi : 5 fonctionnalités cachées que vous pouvez utiliser pour améliorer Emacs

Installer Ledger

Cela dit, l’installation de Ledger est simple. Vous pouvez le trouver dans les dépôts de la plupart des distributions Linux. Par exemple, vous pouvez installer Ledger sur Debian et Ubuntu en utilisant apt :

sudo apt install ledger

Pour Fedora, vous pouvez utiliser dnf :

sudo dnf install ledger

Sur Arch Linux, vous pouvez utiliser pacman :

sudo pacman -S ledger

Dans mon cas, j’utilise Debian, donc je vais installer Ledger via apt.

Installation de Ledger 1 Emacs Ledger 07

Lisez aussi : Comment utiliser IRC dans Emacs avec ERC

Utiliser le mode Ledger dans Emacs

Pour utiliser le programme Ledger avec Emacs, vous devez installer son package compagnon, le mode Ledger. Ce package est disponible dans le dépôt ELPA par défaut. Ainsi, vous pouvez déjà l’installer via le gestionnaire de packages d’Emacs.

Site Web Elpa Emacs Ledger 08

  1. Pour ce faire, vous pouvez appuyer sur Alt + X et taper package-install. Cela ouvrira un tampon de commande où vous pouvez taper le package que vous souhaitez ajouter à Emacs. Tapez ledger-mode.
  2. À partir de là, Emacs téléchargera et compilera le code source du package. Après cela, vous pouvez maintenant utiliser Ledger dans Emacs via le mode Ledger.

Mode Ledger installé Emacs Ledger 09

Créer votre premier Ledger dans Emacs

Par défaut, le mode Ledger s’active automatiquement lorsque Emacs ouvre un fichier se terminant par .ledger.

  1. Ainsi, vous pouvez commencer à créer votre propre fichier ledger dans Emacs en appuyant sur Control + X, Control + F.

  2. Cela ouvrira un tampon où vous pouvez taper le nom du fichier que vous souhaitez créer. Tapez example.ledger.

  3. Après cela, Emacs créera le fichier “example.ledger” dans le répertoire actuel et l’ouvrira pour vous. À partir de là, vous pouvez commencer à remplir votre fichier ledger avec vos transactions.

Lisez aussi : Comment créer de belles diapositives Beamer avec Emacs

Créer votre solde d’ouverture dans Emacs

Pour commencer à suivre vos finances dans Ledger, vous devez d’abord fournir votre solde actuel. Vous pouvez le faire en déduisant ce que vous avez actuellement et ce que vous devez à un compte de capitaux propres. Par exemple, voici le solde d’ouverture de quelqu’un avec un certain nombre d’actifs et de passifs :

2022/02/10* Solde d'ouverture  
    Actifs:Bitcoin:Épargne                     0.045 BTC  
    Actifs:Bitcoin:Courant               0.00050712 BTC  
    Actifs:Fiat:Courant                   15,000.00 PHP  
    Actifs:Fiat:Épargne                   255,944.00 PHP  
    Passifs:Fiat:Prêt Auto            -450,000.00 PHP  
    Passifs:Fiat:Crédit à Payer        -5,000.00 PHP  
    Passifs:Fiat:Prêt Immobilier           -755,831.34 PHP  
    Capitaux propres:Solde d'ouverture

La structure de l’entrée d’ouverture Ledger est similaire à l’exemple ci-dessus avec une différence clé. Ici, nous avons ajouté un astérisque avant le titre de l’entrée pour indiquer à Ledger que cette transaction est déjà “claire”. Cela signifie que Ledger peut ajouter et déduire de ces comptes.

Vérifiez votre solde actuel

Une fois cela fait, vous pouvez maintenant tester si Ledger détecte correctement votre fichier.

  1. Pour ce faire, vous pouvez appuyer sur Control + C, Control + O, Control + R. Cela invitera le mode Ledger à générer un rapport pour vous.
  2. Tapez bal pour afficher le solde courant.

Exemple de solde Emacs Ledger 11

  1. Cela produira une hiérarchie de tous les comptes que vous avez ajoutés à votre fichier Ledger. Tous ces comptes devraient, alors, totaliser zéro à la dernière ligne.

Ajouter de nouvelles transactions

Une fois cela fait, vous pouvez maintenant ajouter de nouvelles transactions à votre fichier ledger.

  1. Vous pouvez le faire en appuyant sur Control + C, Control + A. Cela indiquera au mode Ledger que vous souhaitez créer une nouvelle transaction.
  2. Il vous demandera ensuite la date que vous souhaitez pour cette transaction. Cela est utile si vous émettez des chèques qui ne seront encaissés qu’après une certaine date. Dans mon cas, je veux utiliser la date actuelle, donc je vais appuyer sur Entrée ici.

Date de nouvelle transaction Emacs Ledger 12

  1. À partir de là, le mode Ledger vous demandera le nom d’une transaction précédemment enregistrée. Vous pouvez utiliser cette fonctionnalité si vous effectuez des paiements récurrents et que vous souhaitez simplement copier une transaction précédente. Dans mon cas, je veux créer une nouvelle transaction, donc j’ai également appuyé sur Entrée ici.

Transactions précédentes Emacs Ledger 13

  1. Avec cela, le mode Ledger créera une nouvelle ligne vide avec la date actuelle. Vous pouvez alors ajouter la transaction que vous souhaitez effectuer à partir de là. Par exemple, j’ai ajouté la transaction suivante après mon solde d’ouverture :
2022/02/10* Solde d'ouverture  
   Actifs:PHP:Courant                     5,000.00 PHP  
   Actifs:PHP:Épargne                     10,000.00 PHP  
   Passifs:PHP:Crédit à Payer         -5,000.00 PHP  
   Capitaux propres:Solde d'ouverture  
  
2022/02/11 Ma première transaction  
   Dépenses:Nourriture:Snack                       250.00 PHP  
   Actifs:PHP:Courant                      -250.00 PHP

Exemple de nouvelles transactions Emacs Ledger 14

Lisez aussi : 7 meilleurs lecteurs USENET pour Linux

Générer des rapports de base

  1. Comme discuté ci-dessus, vous pouvez appuyer sur Control + C, Control + O, Control + R pour générer un rapport. En plus de bal, cependant, vous pouvez également utiliser un certain nombre d’autres commandes pour générer différents rapports à partir de Ledger.
  2. Par exemple, vous pouvez taper account et le nom du compte pour créer un relevé de compte pour une catégorie spécifique. Dans mon cas, j’ai tapé “Actifs” pour créer un relevé pour ma catégorie d’actifs.

État des actifs Emacs Ledger 15

  1. D’autre part, vous pouvez taper payee pour afficher toutes les transactions intitulées avec la chaîne que vous avez fournie. Par exemple, je peux taper “snack” pour n’afficher que toutes les transactions contenant le mot snack.

Payee Snack Emacs Ledger 16

  1. Enfin, vous pouvez taper reg pour produire un rapport d’enregistrement de l’ensemble du ledger. C’est un rapport de solde plus détaillé où Ledger suit chaque marchandise et comment elles s’équilibrent toutes.

Exemple de registre Emacs Ledger 17

Félicitations ! Vous savez maintenant comment utiliser Emacs pour vous aider à suivre vos finances. Vous avez également appris à connaître le programme Ledger et comment vous pouvez l’utiliser pour créer des rapports détaillés sur votre situation financière.

Lisez aussi : 5 packages Emacs utiles pour une meilleure productivité

Questions fréquentes

1. Ledger renvoie une erreur indiquant que mon ledger n’est pas équilibré. Qu’est-ce que j’ai mal fait ?

Cela peut être dû à un certain nombre de problèmes. Le plus courant, cependant, est que vous avez oublié de clôturer une transaction dans le ledger. Une façon de corriger cela est de vérifier s’il y a des transactions qui n’ont pas de valeur négative.

Une valeur négative dans Ledger signifie que vous retirez un montant d’un compte. D’autre part, une valeur positive signifie que vous y ajoutez. Ces deux valeurs représentent un flux d’actifs et il est nécessaire d’équilibrer vos comptes dans Ledger.

Cela signifie que pour chaque transaction que vous effectuerez dans Ledger, vous devez avoir une valeur positive et une valeur négative.

2. Ledger n’est-il utilisable qu’avec des actifs du monde réel ?

Pas du tout. Comme discuté ci-dessus, tous les comptes utilisés dans Ledger sont complètement arbitraires. Cela signifie que bien que les exemples de ce guide pointent vers des actifs du monde réel, vous pouvez également utiliser Ledger pour suivre des actifs virtuels.

Par exemple, voici un extrait d’un ledger qui suit des actifs dans un jeu MMO populaire, EVE Online :

2022/01/04 Profits de l'entreprise  
      Principal:Actifs:Liquide:ISK            150,000,000.00 ISK  
      Alt 1:Revenus:Extraction de minerai           -10,000,000.00 ISK  
      Alt 1:Revenus:Commerce de station      -40,000,000.00 ISK  
      Alt 2:Revenus:Exploitation de données (0.0)-100,000,000.00 ISK  
  
2022/01/07 Coûts d'entretien  
      Alt 1:Dépenses:Assurance de vaisseau          10,000.00 ISK  
      Alt 2:Dépenses:Nouveau vaisseau            53,450,000.00 ISK  
      Principal:Actifs:Liquide:ISK            -53,460,000.00 ISK

3. Est-il possible d’inverser l’ordre des transactions comme dans un relevé bancaire ?

Oui et non. Vous pouvez inverser l’ordre des transactions dans les rapports que Ledger génère. Cependant, vous ne pouvez pas inverser l’ordre des transactions dans votre fichier Ledger. Pour faire le premier, vous pouvez appuyer sur Shift + R tout en étant dans un tampon de rapport pour inverser son ordre.

Crédit d’image : Unsplash