[[!sidebar var=TOC content=""" **Sommaire** [[!toc levels=3]]"""]] **`hledger`**: un programme simple pour comptabiliser de la monnaie, du temps, des votes ou tout autre commodité, utilisant un simple fichier de texte brut et les puissants principes de la [[comptabilité]] en partie-double. # Resources * `http://hledger.org/` # Installation ## Sur Debian Wheezy % echo 'PATH="$HOME/.cabal/bin:$PATH"' >>~/.profile % exit # NOTE: recharge ~/.profile % sudo apt-get install ghc cabal-install % cabal update % cabal install cabal # NOTE: met à jour cabal % sudo apt-get install libncurses5-dev libtinfo-dev zlib1g-dev % cabal install happy # NOTE: anticipe une dépendance exécutable % cabal install hledger % cabal install alex # NOTE: anticipe une dépendance exécutable % cabal install warp-2.0.3.4 hledger-web # NOTE: aide cabal à sélectionner un warp qui fonctionne ## Mise-à-jour % cabal install --reinstall hledger hledger-web ## Version de développement % git clone http://github.com/simonmichael/hledger.git ~/src/hledger % cd ~/src/hledger % cabal install --reinstall --force-reinstalls \ --disable-library-profiling \ --disable-executable-profiling \ ./hledger-lib ./hledger ./hledger-web ## Installer un script [[hledger]] si besoin % echo 'PATH="$HOME/src/hledger/extra:$PATH"' >>~/.profile % exit # NOTE: recharge ~/.profile % ghc ~/src/hledger/extra/hledger-SCRIPT.hs **NOTE** : notamment `hledger-equity` et `hledger-print-csv`. * * * # Utilisation * Manuel : ## Syntaxe d’un `FICHIER.hledger` Un `FICHIER.hledger` est un fichier de texte brut respectant une syntaxe préçise qui forme une succession d’écritures comptables, ordonnées librement. NOTE: tout ce qui suit le caractère « `;` » est un commentaire libre. Une écriture a grosso-modo pour exemple général : 2014/01/01 Libellé de l’écriture ; UN_TAG:, UN_autre_TAG:, encore_UN_tag:Avec_Valeur Nom:de:Compte 1,000.00€ Et:Encore:un:Autre:Nom:de:Compte 100.00€ Autre:Nom:de:Compte -500.00€ Encore:un:Nom:de:Compte -600.00€ **ATTENTION** : la date doit commencer en début de ligne, chaque nom de compte doit être précédé d’un blanc sur une ligne propre, et chaque montant doit suivre un nom de compte et au moins deux espaces, il n’est pas nécessaire que les montants soient alignés. Un compte peut prendre n’importe quel nom et le caractère « `:` » symbolise le séparateur hiérarchique de l’arborescence des comptes. Une écriture peut donc ventiler sur plusieurs comptes, mais doit toujours être balancée à 0, il est même donc possible d’ommettre un des montants, qui sera inféré comme l’opposé de la somme des autres. Les [tags](http://hledger.org/manual#tags) peuvent être utiles pour filtrer certaines écritures comme les **Opérations Diverses** (tag `OD:`) ou les **À nouveaux** (tag `ANV:`), ou stocker certaines informations de manière un minimun structurée. ## Plan comptable Le plan comptable d’une [[cyclofficine]] : * Documentation : [[Comptabilité/Document/Plan_comptable]] * Référence [[hledger]] : [[Comptabilité/Document/Plan_comptable/Cyclofficine.Plan_comptable.hledger]] ## Édition d’un `FICHIER.hledger` Apprendre à utiliser un éditeur de texte conçu pour manipuler du texte structuré, s’avère — ici comme ailleurs — un investissement hautement rentable pour sculpter tout fichier texte : * * * * ### ViM Une coloration syntaxique et un complètement des comptes sont possibles ainsi : % mkdir -p ~/.vim/syntax % wget -P ~/.vim/syntax/ % cat >>~/.vimrc < ### Importer d’[[Oxygène]] dans [[hledger]] % hledger-print-csv -f Plan_comptable.hledger >Plan_comptable.csv % iconv -f latin1 -t utf8 EXPORT.oxygen.hledger Ressources : * * #### Corrections particulières Substitutions de noms de compte à effectuer sur `EXPORT.Oxygen.hledger` dans le cas des années 2011-2013 des [[cyclofficine]]s : % sed -i EXPORT.oxygen.hledger \ -e 's/^\t401[^ ]* /\t4.Tiers:0.Fournisseur:1.Fournisseur:1.Bien,Prestation /' \ -e 's/^\t512 /\t5.Finance:1.Etablissement:2.Banque:001.Courant /'