From 9d23df6a3ba3bd09ed38ec3fd3cd907a98f8667f Mon Sep 17 00:00:00 2001 From: Julien Moutinho Date: Wed, 30 Jul 2014 19:53:22 +0200 Subject: [PATCH] Ajout : doc/ (suite) --- doc/.gitignore | 2 + doc/hledger.fr.slidy.ad | 468 ++++++++++++++++++------------- doc/hledger.fr.slidy.html | 564 ++++++++++++++++++++++---------------- 3 files changed, 600 insertions(+), 434 deletions(-) diff --git a/doc/.gitignore b/doc/.gitignore index 7dcbd51..16fe764 100644 --- a/doc/.gitignore +++ b/doc/.gitignore @@ -1,3 +1,5 @@ old *.zip test.* +static +*.aes diff --git a/doc/hledger.fr.slidy.ad b/doc/hledger.fr.slidy.ad index b66680e..0796c95 100644 --- a/doc/hledger.fr.slidy.ad +++ b/doc/hledger.fr.slidy.ad @@ -45,7 +45,7 @@ Les plus [horizontal] Transparent:: Visibilité de *toutes* les informations. Pérenne:: Compréhensible sans logiciel particulier pour l’exploiter. -Modifiable:: Pas de verrou de validation (plus ou moins illusoire). +Modifiable:: Pas de verrou (plus ou moins illusoire) de validation. Accès:: Pas de changement d’interface non-consenti. Versionnable:: Suivi des modifications, fusion des contributions, et sauvegarde simples. Écrit:: Langage pour s’exprimer clairement (par ex. dans un courriel ou une présentation). @@ -67,7 +67,7 @@ Les moins [horizontal] Modifiable:: -Mais, comme c'est un fichier, un verrou-validant + +Mais, comme c'est un fichier, un véritable verrou validant + peut être mis par une **signature cryptographique**. + [source,sh] @@ -85,7 +85,7 @@ car cela les empêcherait aussi de réaliser des actes ingénieux.__ » + [source,hledger] ---- -2102/03/21 Chèque ; Erreur de date +2102/03/21 Chèque ; Date suspecte 5.Finance:1.Etablissement:1.Valeur:2.Chèque_à_encaisser -145,00 5.Finance:1.Etablissement:2.Banque:001.Courant 145,00 ---- @@ -189,7 +189,7 @@ Les moins Pas tout en un:: Fait de la comptabilité, **et juste** de la comptabilité ; pas un logiciel intégré type ERP (Enterprise Resource Planning) -du genre type https://www.odoo.com/[Odoo] (ancien OpenERP) : +du genre https://www.odoo.com/[Odoo] (anciennement « OpenERP ») : Comptabilité + Point de vente + Facturation + Paye + Gestion de stock + Adhésion + Calendrier + Wiki + ... En ligne de commande:: @@ -222,8 +222,8 @@ include::data/exemple-syntaxe.ledger[] ---- .Conventions usuelles -* Classement des écritures par date -* Classement des flux par signe, puis compte +* Classement des écritures par date. +* Classement des flux par signe, puis compte. === Définition formelle @@ -339,6 +339,12 @@ sys::[hledger accounts --tree -f data/exemple-syntaxe.ledger] % hledger accounts --flat -f data/exemple-syntaxe.ledger sys::[hledger accounts --flat -f data/exemple-syntaxe.ledger] ---- + +[source,sh] +---- +% hledger accounts --tree '^A' -f data/exemple-syntaxe.ledger +sys::[hledger accounts --tree '^A' -f data/exemple-syntaxe.ledger] +---- | [float] **comptes**:: @@ -347,144 +353,41 @@ sys::[hledger accounts --flat -f data/exemple-syntaxe.ledger] latexmath:[$=\{\ (\textbf{compte}\>f)\ \|\ f ← (\textbf{flux}\>e)\ \|\ e ← \mathbb E\ \}$] **compte_parent**:: latexmath:[$:\>c : \textcolor{#D2691E}{\textbf{compte}} → \textcolor{#D2691E}{\textbf{compte}}\>?$] + + = « __plus long compte strictement préfixe d’un compte__ » + latexmath:[$=\>c_{\lbrack0,\cdots,\|c\|-2\rbrack}\ \mbox{si}\ \|c\| \ge 2$] **hiérachie_de_compte**:: latexmath:[$:\>\mathbb c : \textcolor{#D2691E}{\textbf{compte}} → \lbrack\textcolor{#D2691E}{\textbf{compte}}\rbrack$] + + = « __liste des comptes préfixes d’un compte__ » + // = « __ensemble des comptes vers lesquels fluent les écritures et leur comptes parents__ » + latexmath:[$=\>\lbrack{\ c\ :\ \lbrack{\ c\ \|\ c ← (\mathbf{compte\mbox{_}parent}\>{c})}\ \rbrack}\ \rbrack$] |================================== -=== Écrire des écritures (`add`) - -[source,sh] -.Sélection d’un modèle selon le libellé ----- -% hledger add -f /tmp/test.ledger -Adding transactions to journal file /tmp/test.ledger -Any command line arguments will be used as defaults. -Use tab key to complete, readline keys to edit, enter to accept defaults. -An optional (CODE) may follow transaction dates. -An optional ; COMMENT may follow descriptions or amounts. -If you make a mistake, enter < at any prompt to restart the transaction. -To end a transaction, enter . when prompted. -To quit, enter . at a date prompt or press control-d or control-c. -Date [2014/07/30]: 2014/01/01 -Description: Libellé de l’écriture ; UN_TAG:, Autre_tag:Avec_Valeur -Account 1: A:AA -Amount 1: -42 -Account 2: B:BB:BBB -Amount 2 [42.0]: 40 -Account 3: B:A -Amount 3 [2.0]: -Account 4 (or . or enter to finish this transaction): . -2014/01/01 Libellé de l’écriture ; UN_TAG:, Autre_tag:Avec_Valeur - A:AA -42 - B:BB:BBB 40 - B:A 2.0 +=== Filtrer des écritures (`print`) -Save this transaction to the journal ? [y]: y -Saved. -Starting the next transaction (. or ctrl-D/ctrl-C to quit) -Date [2014/01/01]: -Description: Libellé d’une autre écriture -Using this similar transaction for defaults: -2014/01/01 Libellé de l’écriture ; UN_TAG:, Autre_tag:Avec_Valeur - A:AA -42 - B:BB:BBB 40 - B:A 2.0 +++hledger++ permet de filtrer les écritures selon leurs données +(date, libellé, comptes, montants, tags, ...) ; +des expressions rationnelles peuvent être utilisées à cette fin. -Account 1 [A:AA]: -Amount 1 [-42.0]: 100 -Account 2 [B:BB:BBB]: B -Amount 2 [-100.0]: -Account 3 (or . to finish this transaction) [B:A]: . -2014/01/01 Libellé d’une autre écriture - A:AA 100 - B -100.0 +NOTE: Cf. manuel : http://hledger.org/manual#query-arguments[] -Save this transaction to the journal ? [y]: y -Saved. -Starting the next transaction (. or ctrl-D/ctrl-C to quit) -Date [2014/01/01]: . +[source,hledger] ---- - -[source,sh] -.Complètement automatique des comptes +% hledger print 'A' -f data/exemple-syntaxe.ledger +sys::[hledger print 'A' -f data/exemple-syntaxe.ledger] ---- -% hledger add -f data/exemple-plan-comptable.ledger -Adding transactions to journal file /home/julm/admin/cyber.coop/src/tool/hledger/doc/data/exemple-plan-comptable.ledger -Any command line arguments will be used as defaults. -Use tab key to complete, readline keys to edit, enter to accept defaults. -An optional (CODE) may follow transaction dates. -An optional ; COMMENT may follow descriptions or amounts. -If you make a mistake, enter < at any prompt to restart the transaction. -To end a transaction, enter . when prompted. -To quit, enter . at a date prompt or press control-d or control-c. -Date [2014/07/30]: yesterday -Description: Trololo -Account 1: 1.Capital: -1.Capital:0.Fonds 1.Capital:3.Sub_invest_BNR:9.Compte_résultat:1.Equipement -1.Capital:0.Fonds:2.SDR 1.Capital:3.Sub_invest_BNR:9.Compte_résultat:1.Equipement:1.État -1.Capital:0.Fonds:2.SDR:4.Apport 1.Capital:3.Sub_invest_BNR:9.Compte_résultat:1.Equipement:2.Région -1.Capital:0.Fonds:2.SDR:6.Sub_invest_BR 1.Capital:3.Sub_invest_BNR:9.Compte_résultat:1.Equipement:3.Département -1.Capital:0.Fonds:3.ADR 1.Capital:3.Sub_invest_BNR:9.Compte_résultat:1.Equipement:4.Commune -1.Capital:0.Fonds:3.ADR:4.Apport 1.Capital:3.Sub_invest_BNR:9.Compte_résultat:1.Equipement:5.Collectivité_publique -1.Capital:0.Fonds:3.ADR:6.Sub_invest_BR 1.Capital:3.Sub_invest_BNR:9.Compte_résultat:1.Equipement:6.Entreprise_publique -1.Capital:0.Fonds:6.Réserve 1.Capital:3.Sub_invest_BNR:9.Compte_résultat:1.Equipement:7.Organisme_privé -1.Capital:0.Fonds:6.Réserve:3.Statutaire 1.Capital:3.Sub_invest_BNR:9.Compte_résultat:1.Equipement:8.Autre -1.Capital:0.Fonds:6.Réserve:8.Autre 1.Capital:3.Sub_invest_BNR:9.Compte_résultat:2.Autre -1.Capital:1.Report 1.Capital:5.Provision_risque&charge -1.Capital:1.Report:0.Bénéfice 1.Capital:5.Provision_risque&charge:1.Risque -1.Capital:1.Report:5.Financeur 1.Capital:5.Provision_risque&charge:5.Impôt -1.Capital:1.Report:9.Déficit 1.Capital:5.Provision_risque&charge:8.Autre -1.Capital:2.Résultat 1.Capital:5.Provision_risque&charge:8.Autre:2.Congés_à_payer -1.Capital:2.Résultat:0.Bénéfice 1.Capital:6.Emprunt,Dette -1.Capital:2.Résultat:9.Déficit 1.Capital:6.Emprunt,Dette:4.Etablissement_crédit -1.Capital:3.Sub_invest_BNR 1.Capital:6.Emprunt,Dette:5.Dépôt,Caution -1.Capital:3.Sub_invest_BNR:1.Equipement 1.Capital:6.Emprunt,Dette:8.Autre -1.Capital:3.Sub_invest_BNR:1.Equipement:1.État 1.Capital:6.Emprunt,Dette:8.Autre:1.Emprunt -1.Capital:3.Sub_invest_BNR:1.Equipement:2.Région 1.Capital:6.Emprunt,Dette:8.Autre:1.Emprunt:1.Bénévole -1.Capital:3.Sub_invest_BNR:1.Equipement:3.Département 1.Capital:6.Emprunt,Dette:8.Autre:1.Emprunt:2.Salarié-e -1.Capital:3.Sub_invest_BNR:1.Equipement:4.Commune 1.Capital:6.Emprunt,Dette:8.Autre:1.Emprunt:3.Cyclofficine -1.Capital:3.Sub_invest_BNR:1.Equipement:5.Collectivité_publique 1.Capital:6.Emprunt,Dette:8.Autre:1.Emprunt:4.Autre -1.Capital:3.Sub_invest_BNR:1.Equipement:6.Entreprise_publique 1.Capital:6.Emprunt,Dette:8.Autre:7.Dette -1.Capital:3.Sub_invest_BNR:1.Equipement:7.Organisme_privé 1.Capital:9.Fonds_dédiés -1.Capital:3.Sub_invest_BNR:1.Equipement:8.Autre 1.Capital:9.Fonds_dédiés:4.Sub_exploit -1.Capital:3.Sub_invest_BNR:8.Autre 1.Capital:9.Fonds_dédiés:5.Don_affecté -1.Capital:3.Sub_invest_BNR:9.Compte_résultat -Account 1: 1.Capital:6.Emprunt,Dette -1.Capital:6.Emprunt,Dette 1.Capital:6.Emprunt,Dette:8.Autre:1.Emprunt 1.Capital:6.Emprunt,Dette:8.Autre:1.Emprunt:4.Autre -1.Capital:6.Emprunt,Dette:4.Etablissement_crédit 1.Capital:6.Emprunt,Dette:8.Autre:1.Emprunt:1.Bénévole 1.Capital:6.Emprunt,Dette:8.Autre:7.Dette -1.Capital:6.Emprunt,Dette:5.Dépôt,Caution 1.Capital:6.Emprunt,Dette:8.Autre:1.Emprunt:2.Salarié-e -1.Capital:6.Emprunt,Dette:8.Autre 1.Capital:6.Emprunt,Dette:8.Autre:1.Emprunt:3.Cyclofficine -Account 1: 1.Capital:6.Emprunt,Dette:4.Etablissement_crédit -Amount 1: -666 ; Don’t panic -Account 2: 5.Finance: -5.Finance:1.Etablissement 5.Finance:1.Etablissement:2.Banque:002.Livret 5.Finance:8.Virement -5.Finance:1.Etablissement:1.Valeur 5.Finance:3.Caisse 5.Finance:8.Virement:0.Interne -5.Finance:1.Etablissement:1.Valeur:2.Chèque_à_encaisser 5.Finance:3.Caisse:1.Siège 5.Finance:8.Virement:1.Fonds -5.Finance:1.Etablissement:2.Banque:001.Courant 5.Finance:3.Caisse:2.Atelier -Account 2: 5.Finance:1.Etablissement:2.Banque:001.Courant -Amount 2 [666.0]: -Account 3 (or . or enter to finish this transaction): . -2014/07/29 Trololo - 1.Capital:6.Emprunt,Dette:4.Etablissement_crédit -666 ; Don’t panic - 5.Finance:1.Etablissement:2.Banque:001.Courant 666.0 -Save this transaction to the journal ? [y]: y -Saved. -Starting the next transaction (. or ctrl-D/ctrl-C to quit) -Date [2014/07/29]: . +[source,hledger] +---- +% hledger print '^A' -f data/exemple-syntaxe.ledger +sys::[hledger print '^A' -f data/exemple-syntaxe.ledger] ---- -=== Filtrer des écritures (`print`) - -++hledger++ permet de filtrer les écritures selon leurs données -(date, libellé, comptes, montants, tags, ...) ; -des expressions rationnelles peuvent être utilisées à cette fin. - -NOTE: Cf. manuel : http://hledger.org/manual#query-arguments[] +[source,hledger] +---- +% hledger print '^B$' -f data/exemple-syntaxe.ledger +sys::[hledger print '^B$' -f data/exemple-syntaxe.ledger] +---- [horizontal] .Afficher des « journaux auxiliaires » (exemples approximatifs) @@ -518,7 +421,7 @@ hledger print -f $fichier.ledger '^5.Finance:3.Caisse:' ---- hledger print -f $fichier.ledger '6.Charge:(3.Impôt:(1.|3.):|4.Personnel:)' ---- -**À NouVeau**:: +**À nouveau**:: + [source,sh] ---- @@ -552,28 +455,28 @@ cette balance sur toutes les écritures est également nulle. .Balance sur des comptes filtrés par expression rationnelle ---- % hledger balance 'A' -f data/exemple-syntaxe.ledger -sys::[hledger balance 'A' -f data/exemple-syntaxe.ledger | sed -e 's/^[-=]/‑/'] +sys::[hledger balance 'A' -f data/exemple-syntaxe.ledger | sed -e 's/^-/‑/'] ---- [source,sh] .Balance sur un compte racine ---- % hledger balance '^A' -f data/exemple-syntaxe.ledger -sys::[hledger balance '^A' -f data/exemple-syntaxe.ledger | sed -e 's/^[-=]/‑/'] +sys::[hledger balance '^A' -f data/exemple-syntaxe.ledger | sed -e 's/^-/‑/'] ---- [source,sh] .Sans accumulation des soldes d’une période à l’autre ---- % hledger balance --daily -f data/exemple-syntaxe.ledger -sys::[hledger balance --daily -f data/exemple-syntaxe.ledger | sed -e 's/^[-=]/‑/;s/[|]/\\|/g'] +sys::[hledger balance --daily -f data/exemple-syntaxe.ledger | sed -e 's/^-/‑/;s/[|]/\\|/g'] ---- [source,sh] .Avec accumulation des soldes d’une période à l’autre ---- % hledger balance --daily --historical -f data/exemple-syntaxe.ledger -sys::[hledger balance --daily --historical -f data/exemple-syntaxe.ledger | sed -e 's/^[-=]/‑/;s/[|]/\\|/g'] +sys::[hledger balance --daily --historical -f data/exemple-syntaxe.ledger | sed -e 's/^-/‑/;s/[|]/\\|/g'] ---- //[source,sh] @@ -609,29 +512,29 @@ sys::[hledger balance --daily --historical -f data/exemple-syntaxe.ledger | sed |================================== -=== Suivre un compte (`register`) - -[source,sh] -.Suivi de la somme des crédits du compte `5112` ----- -% hledger register -f Paris.2011.hledger 'amt:<0' '^5.Finance:1.Etablissement:1.Valeur:2.Chèque_à_encaisser' -2011/05/23 Remise chq 0994029 ..Chèque_à_encaisser -100,00€ -100,00€ -2011/09/29 Remise chq 1101801 ..Chèque_à_encaisser -20,00€ -120,00€ -2011/11/18 Remise chq 1101802 ..Chèque_à_encaisser -2000,00€ -2120,00€ ----- - -[source,sh] -.Suivi de la somme des débits du compte `5112` +Balance nulle de toute écriture:: +++hledger++ n’accepte aucune écriture qui ne respecte +pas cette contrainte de la tâche comptable : + ++ +« __Pour toute écriture, tout ce qui est [black]_débité_ (+++++) dans ses comptes + +est forcément [black]_crédité_ (++-++) dans ses autres comptes, + +et réciproquement.__ » ++ +* Formellement : latexmath:[$\forall e : \textcolor{#D2691E}{\textbf{\acute{e}criture}}, + \ \textbf{balance}\>(\textbf{flux}\>{e}) = 0$] ++ +[source,hledger] ---- -% hledger register -f Paris.2011.hledger 'amt:>0' '^5.Finance:1.Etablissement:1.Valeur:2.Chèque_à_encaisser' -2011/05/15 Prêt ..Chèque_à_encaisser 100,00€ 100,00€ -2011/09/20 Cotisations ..Chèque_à_encaisser 20,00€ 120,00€ -2011/11/10 Prêt ..Chèque_à_encaisser 2000,00€ 2120,00€ +2014/04/12 + Compte:Crédité -1234,56 + Compte:Débité ; 1234,56 (montant inféré) ---- === Calculer les écritures de clôture et ouverture (`equity`) -++hledger-equity++ calcule une balance de comptes -et en fait deux écritures, respectivement : +++hledger-equity++ est du sucre syntaxique autour de ++hledger balance++, +il calcule une balance de soldes de comptes +et en fait deux écritures aux montants opposés, +respectivement : [horizontal] de clôture:: pour les solder à zéro en fin d’exercice ; d’ouverture:: pour les réinitialiser à leur solde du précédent exercice. @@ -660,8 +563,24 @@ sys::[hledger-equity -f data/exemple-syntaxe.ledger '^B'] | [float] +[source,sh] +.Solde des comptes de gestion et calcul du compte de résultat +---- +% hledger balance --flat '^6' '^7' -f Paris.2011.hledger + 248,87€ 6.Charge:0.Achat:6.Non_stocké:8.Autre_Matière,Fourniture:1.Atelier + 441,46€ 6.Charge:1.Service:3.Location:2.Immobilière + 24,00€ 6.Charge:2.Autre_service:3.Communication:6.Catalogue,Imprimé + 31,25€ 6.Charge:2.Autre_service:7.Service_bancaire + 25,00€ 6.Charge:5.Gestion:8.Divers:6.Cotisation_(vie_statutaire) + -700,00€ 7.Produit:0.Vente:6.Prest’action + -20,00€ 7.Produit:5.Autre_gestion_courante:6.Cotisation + -6,00€ 7.Produit:5.Autre_gestion_courante:8.Divers +‑------------------- + 44,58€ # <-- Résultat déficitaire de 44,58€ +---- + [source,hledger] -.Solde des compte de gestion +.La même chose mais au format ++.ledger++ ---- % hledger-equity '^6' '^7' -f Paris.2011.hledger 2014/07/29 @@ -689,6 +608,29 @@ sys::[hledger-equity -f data/exemple-syntaxe.ledger '^B'] |================================== +=== Suivre un compte (`register`) + +[source,sh] +.Suivi de la somme des crédits du compte `5112` +---- +% hledger register -f Paris.2011.hledger 'amt:<0' '^5.Finance:1.Etablissement:1.Valeur:2.Chèque_à_encaisser' +2011/05/23 Remise chq 0994029 ..Chèque_à_encaisser -100,00€ -100,00€ +2011/09/29 Remise chq 1101801 ..Chèque_à_encaisser -20,00€ -120,00€ +2011/11/18 Remise chq 1101802 ..Chèque_à_encaisser -2000,00€ -2120,00€ +---- + +[source,sh] +.Suivi de la somme des débits du compte `5112` +---- +% hledger register -f Paris.2011.hledger 'amt:>0' '^5.Finance:1.Etablissement:1.Valeur:2.Chèque_à_encaisser' +2011/05/15 Prêt ..Chèque_à_encaisser 100,00€ 100,00€ +2011/09/20 Cotisations ..Chèque_à_encaisser 20,00€ 120,00€ +2011/11/10 Prêt ..Chèque_à_encaisser 2000,00€ 2120,00€ +---- + +NOTE: Si ces deux commandes ne donnent pas le même montant final +c’est qu’il reste des chèques à encaisser. + === Observer des statistiques (`stats`, `activity`) @@ -745,46 +687,162 @@ hledger activity --period daily -f Paris.2012.hledger \| grep '\*\{5\}' |================================== +=== Écrire des écritures (`add`) + +[source,sh] +.Sélection d’un modèle selon le libellé +---- +% hledger add -f /tmp/test.ledger +Adding transactions to journal file /tmp/test.ledger +Any command line arguments will be used as defaults. +Use tab key to complete, readline keys to edit, enter to accept defaults. +An optional (CODE) may follow transaction dates. +An optional ; COMMENT may follow descriptions or amounts. +If you make a mistake, enter < at any prompt to restart the transaction. +To end a transaction, enter . when prompted. +To quit, enter . at a date prompt or press control-d or control-c. +Date [2014/07/30]: 2014/01/01 +Description: Libellé de l’écriture ; UN_TAG:, Autre_tag:Avec_Valeur +Account 1: A:AA +Amount 1: -42 +Account 2: B:BB:BBB +Amount 2 [42.0]: 40 +Account 3: B:A +Amount 3 [2.0]: +Account 4 (or . or enter to finish this transaction): . +2014/01/01 Libellé de l’écriture ; UN_TAG:, Autre_tag:Avec_Valeur + A:AA -42 + B:BB:BBB 40 + B:A 2.0 + +Save this transaction to the journal ? [y]: y +Saved. +Starting the next transaction (. or ctrl-D/ctrl-C to quit) +Date [2014/01/01]: +Description: Libellé d’une autre écriture +Using this similar transaction for defaults: +2014/01/01 Libellé de l’écriture ; UN_TAG:, Autre_tag:Avec_Valeur + A:AA -42 + B:BB:BBB 40 + B:A 2.0 + +Account 1 [A:AA]: +Amount 1 [-42.0]: 100 +Account 2 [B:BB:BBB]: B +Amount 2 [-100.0]: +Account 3 (or . to finish this transaction) [B:A]: . +2014/01/01 Libellé d’une autre écriture + A:AA 100 + B -100.0 + +Save this transaction to the journal ? [y]: y +Saved. +Starting the next transaction (. or ctrl-D/ctrl-C to quit) +Date [2014/01/01]: . +---- + +[source,sh] +.Complètement automatique des comptes +---- +% hledger add -f data/exemple-plan-comptable.ledger +Adding transactions to journal file /home/julm/admin/cyber.coop/src/tool/hledger/doc/data/exemple-plan-comptable.ledger +Any command line arguments will be used as defaults. +Use tab key to complete, readline keys to edit, enter to accept defaults. +An optional (CODE) may follow transaction dates. +An optional ; COMMENT may follow descriptions or amounts. +If you make a mistake, enter < at any prompt to restart the transaction. +To end a transaction, enter . when prompted. +To quit, enter . at a date prompt or press control-d or control-c. +Date [2014/07/30]: yesterday +Description: Trololo +Account 1: 1.Capital: +1.Capital:0.Fonds 1.Capital:3.Sub_invest_BNR:9.Compte_résultat:1.Equipement +1.Capital:0.Fonds:2.SDR 1.Capital:3.Sub_invest_BNR:9.Compte_résultat:1.Equipement:1.État +1.Capital:0.Fonds:2.SDR:4.Apport 1.Capital:3.Sub_invest_BNR:9.Compte_résultat:1.Equipement:2.Région +1.Capital:0.Fonds:2.SDR:6.Sub_invest_BR 1.Capital:3.Sub_invest_BNR:9.Compte_résultat:1.Equipement:3.Département +1.Capital:0.Fonds:3.ADR 1.Capital:3.Sub_invest_BNR:9.Compte_résultat:1.Equipement:4.Commune +1.Capital:0.Fonds:3.ADR:4.Apport 1.Capital:3.Sub_invest_BNR:9.Compte_résultat:1.Equipement:5.Collectivité_publique +1.Capital:0.Fonds:3.ADR:6.Sub_invest_BR 1.Capital:3.Sub_invest_BNR:9.Compte_résultat:1.Equipement:6.Entreprise_publique +1.Capital:0.Fonds:6.Réserve 1.Capital:3.Sub_invest_BNR:9.Compte_résultat:1.Equipement:7.Organisme_privé +1.Capital:0.Fonds:6.Réserve:3.Statutaire 1.Capital:3.Sub_invest_BNR:9.Compte_résultat:1.Equipement:8.Autre +1.Capital:0.Fonds:6.Réserve:8.Autre 1.Capital:3.Sub_invest_BNR:9.Compte_résultat:2.Autre +1.Capital:1.Report 1.Capital:5.Provision_risque&charge +1.Capital:1.Report:0.Bénéfice 1.Capital:5.Provision_risque&charge:1.Risque +1.Capital:1.Report:5.Financeur 1.Capital:5.Provision_risque&charge:5.Impôt +1.Capital:1.Report:9.Déficit 1.Capital:5.Provision_risque&charge:8.Autre +1.Capital:2.Résultat 1.Capital:5.Provision_risque&charge:8.Autre:2.Congés_à_payer +1.Capital:2.Résultat:0.Bénéfice 1.Capital:6.Emprunt,Dette +1.Capital:2.Résultat:9.Déficit 1.Capital:6.Emprunt,Dette:4.Etablissement_crédit +1.Capital:3.Sub_invest_BNR 1.Capital:6.Emprunt,Dette:5.Dépôt,Caution +1.Capital:3.Sub_invest_BNR:1.Equipement 1.Capital:6.Emprunt,Dette:8.Autre +1.Capital:3.Sub_invest_BNR:1.Equipement:1.État 1.Capital:6.Emprunt,Dette:8.Autre:1.Emprunt +1.Capital:3.Sub_invest_BNR:1.Equipement:2.Région 1.Capital:6.Emprunt,Dette:8.Autre:1.Emprunt:1.Bénévole +1.Capital:3.Sub_invest_BNR:1.Equipement:3.Département 1.Capital:6.Emprunt,Dette:8.Autre:1.Emprunt:2.Salarié-e +1.Capital:3.Sub_invest_BNR:1.Equipement:4.Commune 1.Capital:6.Emprunt,Dette:8.Autre:1.Emprunt:3.Cyclofficine +1.Capital:3.Sub_invest_BNR:1.Equipement:5.Collectivité_publique 1.Capital:6.Emprunt,Dette:8.Autre:1.Emprunt:4.Autre +1.Capital:3.Sub_invest_BNR:1.Equipement:6.Entreprise_publique 1.Capital:6.Emprunt,Dette:8.Autre:7.Dette +1.Capital:3.Sub_invest_BNR:1.Equipement:7.Organisme_privé 1.Capital:9.Fonds_dédiés +1.Capital:3.Sub_invest_BNR:1.Equipement:8.Autre 1.Capital:9.Fonds_dédiés:4.Sub_exploit +1.Capital:3.Sub_invest_BNR:8.Autre 1.Capital:9.Fonds_dédiés:5.Don_affecté +1.Capital:3.Sub_invest_BNR:9.Compte_résultat +Account 1: 1.Capital:6.Emprunt,Dette +1.Capital:6.Emprunt,Dette 1.Capital:6.Emprunt,Dette:8.Autre:1.Emprunt 1.Capital:6.Emprunt,Dette:8.Autre:1.Emprunt:4.Autre +1.Capital:6.Emprunt,Dette:4.Etablissement_crédit 1.Capital:6.Emprunt,Dette:8.Autre:1.Emprunt:1.Bénévole 1.Capital:6.Emprunt,Dette:8.Autre:7.Dette +1.Capital:6.Emprunt,Dette:5.Dépôt,Caution 1.Capital:6.Emprunt,Dette:8.Autre:1.Emprunt:2.Salarié-e +1.Capital:6.Emprunt,Dette:8.Autre 1.Capital:6.Emprunt,Dette:8.Autre:1.Emprunt:3.Cyclofficine +Account 1: 1.Capital:6.Emprunt,Dette:4.Etablissement_crédit +Amount 1: -666 ; Don’t panic +Account 2: 5.Finance: +5.Finance:1.Etablissement 5.Finance:1.Etablissement:2.Banque:002.Livret 5.Finance:8.Virement +5.Finance:1.Etablissement:1.Valeur 5.Finance:3.Caisse 5.Finance:8.Virement:0.Interne +5.Finance:1.Etablissement:1.Valeur:2.Chèque_à_encaisser 5.Finance:3.Caisse:1.Siège 5.Finance:8.Virement:1.Fonds +5.Finance:1.Etablissement:2.Banque:001.Courant 5.Finance:3.Caisse:2.Atelier +Account 2: 5.Finance:1.Etablissement:2.Banque:001.Courant +Amount 2 [666.0]: +Account 3 (or . or enter to finish this transaction): . +2014/07/29 Trololo + 1.Capital:6.Emprunt,Dette:4.Etablissement_crédit -666 ; Don’t panic + 5.Finance:1.Etablissement:2.Banque:001.Courant 666.0 + +Save this transaction to the journal ? [y]: y +Saved. +Starting the next transaction (. or ctrl-D/ctrl-C to quit) +Date [2014/07/29]: . +---- == Exercice comptable ifdef::backend-slidy2[>>>] === Plan comptable d’une association -NOTE: Brouillon de documentation @ https://wiki.cyclocoop.org/Comptabilité/Document/Plan_comptable/[] +//NOTE: Brouillon de documentation @ https://wiki.cyclocoop.org/Comptabilité/Document/Plan_comptable/[] [source,hledger] ---- include::data/Cyclofficine.Plan_comptable.hledger[] ---- -=== Comptabiliser en partie double +//[cols="a,a"] +//|================================== +//| +//[float] +//+ +//[source,hledger] +//---- +//01/01 Vélo ; Écriture d’engagement (pièce comptable : facture) +// 7.Produit:0.Vente:1.Produit_fini:1.Vélo -80 +// 5.Finance:1.Etablissement:1.Valeur:2.Chèque_à_encaisser 80 +//01/02 Chèque ; Écriture de paiement (pièce comptable : relevé de compte) +// 5.Finance:1.Etablissement:1.Valeur:2.Chèque_à_encaisser -80 +// 5.Finance:1.Etablissement:2.Banque:001.Courant 80 +//---- +//+ +//NOTE: pour des espèces, transiter par : ++5.Finance:3.Caisse:1.Siège++ -[cols="a,a"] -|================================== -| -[float] -Balance nulle de toute écriture:: -++hledger++ n’accepte aucune écriture qui ne respecte -pas cette contrainte de la tâche comptable : + -+ -« __Pour toute écriture, tout ce qui est [black]_débité_ (+++++) dans ses comptes + -est forcément [black]_crédité_ (++-++) dans ses autres comptes, + -et réciproquement.__ » -+ -* Formellement : latexmath:[$\forall e : \textcolor{#D2691E}{\textbf{\acute{e}criture}}, - \ \textbf{balance}\>(\textbf{flux}\>{e}) = 0$] -+ -[source,hledger] ----- -2014/04/12 - Compte:Crédité -1234,56 - Compte:Débité ; 1234,56 (montant inféré) ----- +//|================================== + +=== Relation de Chasles par écritures d’[black]*engagement* et de [black]*paiement* -| -[float] -Relation de Chasles par écritures d’[black]*engagement* et de [black]*paiement*:: ++hledger++ laisse l’humain s’occuper de ce principe de la tâche comptable qui traduit la réalité temporelle des mouvements d’argent. + @@ -797,20 +855,6 @@ qui traduit la réalité temporelle des mouvements d’argent. 4.Tiers:1.Client:1.Client:1.Bien,Prestation:007.Mairie_du_XI -700,00 5.Finance:1.Etablissement:2.Banque:001.Courant 700,00 ---- -//+ -//[source,hledger] -//---- -//01/01 Vélo ; Écriture d’engagement (pièce comptable : facture) -// 7.Produit:0.Vente:1.Produit_fini:1.Vélo -80 -// 5.Finance:1.Etablissement:1.Valeur:2.Chèque_à_encaisser 80 -//01/02 Chèque ; Écriture de paiement (pièce comptable : relevé de compte) -// 5.Finance:1.Etablissement:1.Valeur:2.Chèque_à_encaisser -80 -// 5.Finance:1.Etablissement:2.Banque:001.Courant 80 -//---- -//+ -//NOTE: pour des espèces, transiter par : ++5.Finance:3.Caisse:1.Siège++ - -|================================== ==== Soldes nuls souhaitables @@ -819,9 +863,9 @@ qui traduit la réalité temporelle des mouvements d’argent. 1. latexmath:[$\sum{\mbox{ventes}} + \sum{\mbox{dons}} = \sum{\mbox{espèces entrées en caisse}} + \sum{\mbox{Chèques à encaisser}}$] + (Total des ventes + dons == Total d’espèces entrée en caisse + chèques à encaisser (5112)) -2. Total chèques à encaisser (5112) == Total remises de chèques à la banque (512) (+/- argent non déposé en banque) +2. Total chèques à encaisser (5112) == Total remises de chèques à la banque (512) (+/- chèques non déposés en banque) + -NOTE: vérifier qu’il ne reste plus de chèque comptabilisés dans le tiroir +NOTE: vérifier qu’il ne reste plus de chèques comptabilisés dans le tiroir 3. Solde du compte caisse (531) == Total entrées espèces en caisse - Total des sorties (remises d’espèces en banque - sorties d’achats - erreur de caisse) @@ -830,10 +874,38 @@ NOTE: vérifier qu’il ne reste plus de chèque comptabilisés dans le tiroir + TODO -== Import et export avec `hledger` +== Import et export avec ++hledger++ + +Comme la plupart des logiciels de comptabilité, +++hledger++ interropère avec le format de tableaux +http://en.wikipedia.org/wiki/Comma-separated_values[CSV] + +++hledger-print-csv++:: ++ +[source,sh] +---- +% hledger-print-csv -f data/exemple-syntaxe.ledger +sys::[hledger-print-csv -f data/exemple-syntaxe.ledger] +---- + +++*.ledger.rules++:: http://hledger.org/manual#csv-files[] ++ +[source,txt] +---- +% cat banque-postale.livret_A.csv.rules +skip 1 +fields date,description,amount +date-format %-d/%-m/%Y + +if .INTERETS ACQUIS DECOMPTE D'INTERETS . + account1 Banque:Postale:Livret_A + account2 Recette:Intérêts:Inflation +---- -* https://github.com/eval/total_recall[] -* https://github.com/quentinsf/icsv2ledger[] +.Pour des besoins plus complexes +- https://github.com/eval/total_recall[] +- https://github.com/quentinsf/icsv2ledger[] +- ou script sur mesure (ex. ++hledger-of-oxygen-csv.pl++) === Feuilles de calculs des documents comptables diff --git a/doc/hledger.fr.slidy.html b/doc/hledger.fr.slidy.html index 67b354a..eb6587d 100644 --- a/doc/hledger.fr.slidy.html +++ b/doc/hledger.fr.slidy.html @@ -6878,7 +6878,7 @@ else @@ -6941,7 +6941,7 @@ Modifiable

-Pas de verrou de validation (plus ou moins illusoire). +Pas de verrou (plus ou moins illusoire) de validation.

@@ -7068,7 +7068,7 @@ Modifiable

-Mais, comme c’est un fichier, un verrou-validant
+Mais, comme c’est un fichier, un véritable verrou validant
peut être mis par une signature cryptographique.

@@ -7102,7 +7102,7 @@ car cela les empêcherait aussi de réaliser des actes ingénieux. »

-2102/03/21 Chèque ; Erreur de date
+2102/03/21 Chèque ; Date suspecte
 	5.Finance:1.Etablissement:1.Valeur:2.Chèque_à_encaisser  -145,00
 	5.Finance:1.Etablissement:2.Banque:001.Courant            145,00
 
@@ -7353,7 +7353,7 @@ Pas tout en un

Fait de la comptabilité, et juste de la comptabilité ; pas un logiciel intégré type ERP (Enterprise Resource Planning) -du genre type Odoo (ancien OpenERP) : +du genre Odoo (anciennement « OpenERP ») : Comptabilité + Point de vente + Facturation + Paye + Gestion de stock + Adhésion + Calendrier + Wiki + …

@@ -7439,12 +7439,12 @@ qui forme une succession d’écritures comptables, classées librement.

Conventions usuelles
@@ -7708,6 +7708,12 @@ A:AA B B:A B:BB:BBB +
+
+
+% hledger accounts --tree '^A' -f data/exemple-syntaxe.ledger
+A
+  AA
 
@@ -7726,6 +7732,7 @@ B:BB:BBB

$:\>c : \textcolor{#D2691E}{\textbf{compte}} → \textcolor{#D2691E}{\textbf{compte}}\>?$
+ = « plus long compte strictement préfixe d’un compte »
$=\>c_{\lbrack0,\cdots,|c|-2\rbrack}\ \mbox{si}\ |c| \ge 2$

@@ -7735,6 +7742,7 @@ B:BB:BBB

$:\>\mathbb c : \textcolor{#D2691E}{\textbf{compte}} → \lbrack\textcolor{#D2691E}{\textbf{compte}}\rbrack$
+ = « liste des comptes préfixes d’un compte »
$=\>\lbrack{\ c\ :\ \lbrack{\ c\ |\ c ← (\mathbf{compte\mbox{_}parent}\>{c})}\ \rbrack}\ \rbrack$

@@ -7749,135 +7757,8 @@ B:BB:BBB
-

4.2. Écrire des écritures (add)

- -
-
-
Sélection d’un modèle selon le libellé
-
-% hledger add -f /tmp/test.ledger
-Adding transactions to journal file /tmp/test.ledger
-Any command line arguments will be used as defaults.
-Use tab key to complete, readline keys to edit, enter to accept defaults.
-An optional (CODE) may follow transaction dates.
-An optional ; COMMENT may follow descriptions or amounts.
-If you make a mistake, enter < at any prompt to restart the transaction.
-To end a transaction, enter . when prompted.
-To quit, enter . at a date prompt or press control-d or control-c.
-Date [2014/07/30]: 2014/01/01
-Description: Libellé de l’écriture ; UN_TAG:, Autre_tag:Avec_Valeur
-Account 1: A:AA
-Amount  1: -42
-Account 2: B:BB:BBB
-Amount  2 [42.0]: 40
-Account 3: B:A
-Amount  3 [2.0]:
-Account 4 (or . or enter to finish this transaction): .
-2014/01/01 Libellé de l’écriture    ; UN_TAG:, Autre_tag:Avec_Valeur
-    A:AA               -42
-    B:BB:BBB            40
-    B:A                2.0
-
-Save this transaction to the journal ? [y]: y
-Saved.
-Starting the next transaction (. or ctrl-D/ctrl-C to quit)
-Date [2014/01/01]:
-Description: Libellé d’une autre écriture
-Using this similar transaction for defaults:
-2014/01/01 Libellé de l’écriture    ; UN_TAG:, Autre_tag:Avec_Valeur
-    A:AA               -42
-    B:BB:BBB            40
-    B:A                2.0
-
-Account 1 [A:AA]:
-Amount  1 [-42.0]: 100
-Account 2 [B:BB:BBB]: B
-Amount  2 [-100.0]:
-Account 3 (or . to finish this transaction) [B:A]: .
-2014/01/01 Libellé d’une autre écriture
-    A:AA           100
-    B           -100.0
-
-Save this transaction to the journal ? [y]: y
-Saved.
-Starting the next transaction (. or ctrl-D/ctrl-C to quit)
-Date [2014/01/01]: .
-
-
-
Complètement automatique des comptes
-
-% hledger add -f data/exemple-plan-comptable.ledger
-Adding transactions to journal file /home/julm/admin/cyber.coop/src/tool/hledger/doc/data/exemple-plan-comptable.ledger
-Any command line arguments will be used as defaults.
-Use tab key to complete, readline keys to edit, enter to accept defaults.
-An optional (CODE) may follow transaction dates.
-An optional ; COMMENT may follow descriptions or amounts.
-If you make a mistake, enter < at any prompt to restart the transaction.
-To end a transaction, enter . when prompted.
-To quit, enter . at a date prompt or press control-d or control-c.
-Date [2014/07/30]: yesterday
-Description: Trololo
-Account 1: 1.Capital:
-1.Capital:0.Fonds                                                                  1.Capital:3.Sub_invest_BNR:9.Compte_résultat:1.Equipement
-1.Capital:0.Fonds:2.SDR                                                            1.Capital:3.Sub_invest_BNR:9.Compte_résultat:1.Equipement:1.État
-1.Capital:0.Fonds:2.SDR:4.Apport                                                   1.Capital:3.Sub_invest_BNR:9.Compte_résultat:1.Equipement:2.Région
-1.Capital:0.Fonds:2.SDR:6.Sub_invest_BR                                            1.Capital:3.Sub_invest_BNR:9.Compte_résultat:1.Equipement:3.Département
-1.Capital:0.Fonds:3.ADR                                                            1.Capital:3.Sub_invest_BNR:9.Compte_résultat:1.Equipement:4.Commune
-1.Capital:0.Fonds:3.ADR:4.Apport                                                   1.Capital:3.Sub_invest_BNR:9.Compte_résultat:1.Equipement:5.Collectivité_publique
-1.Capital:0.Fonds:3.ADR:6.Sub_invest_BR                                            1.Capital:3.Sub_invest_BNR:9.Compte_résultat:1.Equipement:6.Entreprise_publique
-1.Capital:0.Fonds:6.Réserve                                                        1.Capital:3.Sub_invest_BNR:9.Compte_résultat:1.Equipement:7.Organisme_privé
-1.Capital:0.Fonds:6.Réserve:3.Statutaire                                           1.Capital:3.Sub_invest_BNR:9.Compte_résultat:1.Equipement:8.Autre
-1.Capital:0.Fonds:6.Réserve:8.Autre                                                1.Capital:3.Sub_invest_BNR:9.Compte_résultat:2.Autre
-1.Capital:1.Report                                                                 1.Capital:5.Provision_risque&charge
-1.Capital:1.Report:0.Bénéfice                                                      1.Capital:5.Provision_risque&charge:1.Risque
-1.Capital:1.Report:5.Financeur                                                     1.Capital:5.Provision_risque&charge:5.Impôt
-1.Capital:1.Report:9.Déficit                                                       1.Capital:5.Provision_risque&charge:8.Autre
-1.Capital:2.Résultat                                                               1.Capital:5.Provision_risque&charge:8.Autre:2.Congés_à_payer
-1.Capital:2.Résultat:0.Bénéfice                                                    1.Capital:6.Emprunt,Dette
-1.Capital:2.Résultat:9.Déficit                                                     1.Capital:6.Emprunt,Dette:4.Etablissement_crédit
-1.Capital:3.Sub_invest_BNR                                                         1.Capital:6.Emprunt,Dette:5.Dépôt,Caution
-1.Capital:3.Sub_invest_BNR:1.Equipement                                            1.Capital:6.Emprunt,Dette:8.Autre
-1.Capital:3.Sub_invest_BNR:1.Equipement:1.État                                     1.Capital:6.Emprunt,Dette:8.Autre:1.Emprunt
-1.Capital:3.Sub_invest_BNR:1.Equipement:2.Région                                   1.Capital:6.Emprunt,Dette:8.Autre:1.Emprunt:1.Bénévole
-1.Capital:3.Sub_invest_BNR:1.Equipement:3.Département                              1.Capital:6.Emprunt,Dette:8.Autre:1.Emprunt:2.Salarié-e
-1.Capital:3.Sub_invest_BNR:1.Equipement:4.Commune                                  1.Capital:6.Emprunt,Dette:8.Autre:1.Emprunt:3.Cyclofficine
-1.Capital:3.Sub_invest_BNR:1.Equipement:5.Collectivité_publique                    1.Capital:6.Emprunt,Dette:8.Autre:1.Emprunt:4.Autre
-1.Capital:3.Sub_invest_BNR:1.Equipement:6.Entreprise_publique                      1.Capital:6.Emprunt,Dette:8.Autre:7.Dette
-1.Capital:3.Sub_invest_BNR:1.Equipement:7.Organisme_privé                          1.Capital:9.Fonds_dédiés
-1.Capital:3.Sub_invest_BNR:1.Equipement:8.Autre                                    1.Capital:9.Fonds_dédiés:4.Sub_exploit
-1.Capital:3.Sub_invest_BNR:8.Autre                                                 1.Capital:9.Fonds_dédiés:5.Don_affecté
-1.Capital:3.Sub_invest_BNR:9.Compte_résultat
-Account 1: 1.Capital:6.Emprunt,Dette
-1.Capital:6.Emprunt,Dette                                   1.Capital:6.Emprunt,Dette:8.Autre:1.Emprunt                 1.Capital:6.Emprunt,Dette:8.Autre:1.Emprunt:4.Autre
-1.Capital:6.Emprunt,Dette:4.Etablissement_crédit            1.Capital:6.Emprunt,Dette:8.Autre:1.Emprunt:1.Bénévole      1.Capital:6.Emprunt,Dette:8.Autre:7.Dette
-1.Capital:6.Emprunt,Dette:5.Dépôt,Caution                   1.Capital:6.Emprunt,Dette:8.Autre:1.Emprunt:2.Salarié-e
-1.Capital:6.Emprunt,Dette:8.Autre                           1.Capital:6.Emprunt,Dette:8.Autre:1.Emprunt:3.Cyclofficine
-Account 1: 1.Capital:6.Emprunt,Dette:4.Etablissement_crédit
-Amount  1: -666 ; Don’t panic
-Account 2: 5.Finance:
-5.Finance:1.Etablissement                                5.Finance:1.Etablissement:2.Banque:002.Livret            5.Finance:8.Virement
-5.Finance:1.Etablissement:1.Valeur                       5.Finance:3.Caisse                                       5.Finance:8.Virement:0.Interne
-5.Finance:1.Etablissement:1.Valeur:2.Chèque_à_encaisser  5.Finance:3.Caisse:1.Siège                               5.Finance:8.Virement:1.Fonds
-5.Finance:1.Etablissement:2.Banque:001.Courant           5.Finance:3.Caisse:2.Atelier
-Account 2: 5.Finance:1.Etablissement:2.Banque:001.Courant
-Amount  2 [666.0]:
-Account 3 (or . or enter to finish this transaction): .
-2014/07/29 Trololo
-    1.Capital:6.Emprunt,Dette:4.Etablissement_crédit          -666    ;  Don’t panic
-    5.Finance:1.Etablissement:2.Banque:001.Courant           666.0
-
-Save this transaction to the journal ? [y]: y
-Saved.
-Starting the next transaction (. or ctrl-D/ctrl-C to quit)
-Date [2014/07/29]: .
-
-
- -
- -
-

4.3. Filtrer des écritures (print)

- +

4.2. Filtrer des écritures (print)

+
@@ -7894,6 +7775,37 @@ des expressions rationnelles peuvent être utilisées à cette fin.

Cf. manuel : http://hledger.org/manual#query-arguments
+
+
+% hledger print 'A' -f data/exemple-syntaxe.ledger
+2014/01/01 Libellé de l’écriture    ; UN_TAG:, Autre_tag:Avec_Valeur
+    A:AA           -42.00€    ; flux créditant
+    B:BB:BBB        40.00€    ; flux débitant
+    B:A              2.00€    ; flux débitant ventilé
+
+2014/01/02 Libellé d’une autre écriture
+    A:AA       100.00€    ; UN_TAG_de_flux:
+    B         -100.00€    ; ATTENTION: au moins deux espaces requises entre le compte et le montant
+
+
+
+% hledger print '^A' -f data/exemple-syntaxe.ledger
+2014/01/01 Libellé de l’écriture    ; UN_TAG:, Autre_tag:Avec_Valeur
+    A:AA           -42.00€    ; flux créditant
+    B:BB:BBB        40.00€    ; flux débitant
+    B:A              2.00€    ; flux débitant ventilé
+
+2014/01/02 Libellé d’une autre écriture
+    A:AA       100.00€    ; UN_TAG_de_flux:
+    B         -100.00€    ; ATTENTION: au moins deux espaces requises entre le compte et le montant
+
+
+
+% hledger print '^B$' -f data/exemple-syntaxe.ledger
+2014/01/02 Libellé d’une autre écriture
+    A:AA       100.00€    ; UN_TAG_de_flux:
+    B         -100.00€    ; ATTENTION: au moins deux espaces requises entre le compte et le montant
+
Afficher des « journaux auxiliaires » (exemples approximatifs)
@@ -7957,7 +7869,7 @@ hledger print -f
-À NouVeau +À nouveau
@@ -7985,8 +7897,8 @@ hledger print -f
-

4.4. Calculer des soldes (balance)

- +

4.3. Calculer des soldes (balance)

+
Balance changes in2014/01/01-2014/01/02: || 2014/01/01-2014/01/012014/01/02-2014/01/02 -‑=========++=============================================== +==========++=============================================== A:AA || -42.00€ 100.00€ B || 0 -100.00€ B:A || 2.00€ 0 @@ -8056,7 +7968,7 @@ Balance changes in2014 Ending balances (historical)in2014/01/01-2014/01/02: || 2014/01/012014/01/02 -‑=========++========================= +==========++========================= A:AA || -42.00€ 58.00€ B || 0 -100.00€ B:A || 2.00€ 2.00€ @@ -8114,42 +8026,52 @@ Ending balances (historical
-
- -
- -
-

4.5. Suivre un compte (register)

- -
-
-
Suivi de la somme des crédits du compte 5112
-
-% hledger register -f Paris.2011.hledger 'amt:<0' '^5.Finance:1.Etablissement:1.Valeur:2.Chèque_à_encaisser'
-2011/05/23 Remise chq 0994029   ..Chèque_à_encaisser      -100,00€      -100,00€
-2011/09/29 Remise chq 1101801   ..Chèque_à_encaisser       -20,00€      -120,00€
-2011/11/18 Remise chq 1101802   ..Chèque_à_encaisser     -2000,00€     -2120,00€
-
+
+
+Balance nulle de toute écriture +
+
+

+hledger n’accepte aucune écriture qui ne respecte +pas cette contrainte de la tâche comptable :
+

+
+
+

« Pour toute écriture, tout ce qui est débité (+) dans ses comptes
+est forcément crédité (-) dans ses autres comptes,
+et réciproquement.
 »

+
+
+
    +
  • + +Formellement : $\forall e : \textcolor{#D2691E}{\textbf{\acute{e}criture}}, + \ \textbf{balance}\>(\textbf{flux}\>{e}) = 0$ +
    -
    Suivi de la somme des débits du compte 5112
    -% hledger register -f Paris.2011.hledger 'amt:>0' '^5.Finance:1.Etablissement:1.Valeur:2.Chèque_à_encaisser'
    -2011/05/15 Prêt                 ..Chèque_à_encaisser       100,00€       100,00€
    -2011/09/20 Cotisations          ..Chèque_à_encaisser        20,00€       120,00€
    -2011/11/10 Prêt                 ..Chèque_à_encaisser      2000,00€      2120,00€
    +2014/04/12
    +	Compte:Crédité  -1234,56
    +	Compte:Débité ;  1234,56 (montant inféré)
     
    +
  • +
+
+
-

4.6. Calculer les écritures de clôture et ouverture (equity)

- +

4.4. Calculer les écritures de clôture et ouverture (equity)

+
-

hledger-equity calcule une balance de comptes -et en fait deux écritures, respectivement :

+

hledger-equity est du sucre syntaxique autour de hledger balance, +il calcule une balance de soldes de comptes +et en fait deux écritures aux montants opposés, +respectivement :

@@ -8229,7 +8151,22 @@ cellspacing="0" cellpadding="4"> equity:opening balances 58.00€
-
Solde des compte de gestion
+
Solde des comptes de gestion et calcul du compte de résultat
+
+% hledger balance --flat '^6' '^7' -f Paris.2011.hledger
+             248,87€  6.Charge:0.Achat:6.Non_stocké:8.Autre_Matière,Fourniture:1.Atelier
+             441,46€  6.Charge:1.Service:3.Location:2.Immobilière
+              24,00€  6.Charge:2.Autre_service:3.Communication:6.Catalogue,Imprimé
+              31,25€  6.Charge:2.Autre_service:7.Service_bancaire
+              25,00€  6.Charge:5.Gestion:8.Divers:6.Cotisation_(vie_statutaire)
+            -700,00€  7.Produit:0.Vente:6.Prest’action
+             -20,00€  7.Produit:5.Autre_gestion_courante:6.Cotisation
+              -6,00€  7.Produit:5.Autre_gestion_courante:8.Divers
+‑-------------------
+              44,58€ # <-- Résultat déficitaire de 44,58€
+
+
+
La même chose mais au format .ledger
 % hledger-equity '^6' '^7' -f Paris.2011.hledger
 2014/07/29
@@ -8263,8 +8200,41 @@ cellspacing="0" cellpadding="4">
 
-

4.7. Observer des statistiques (stats, activity)

- +

4.5. Suivre un compte (register)

+ +
+
+
Suivi de la somme des crédits du compte 5112
+
+% hledger register -f Paris.2011.hledger 'amt:<0' '^5.Finance:1.Etablissement:1.Valeur:2.Chèque_à_encaisser'
+2011/05/23 Remise chq 0994029   ..Chèque_à_encaisser      -100,00€      -100,00€
+2011/09/29 Remise chq 1101801   ..Chèque_à_encaisser       -20,00€      -120,00€
+2011/11/18 Remise chq 1101802   ..Chèque_à_encaisser     -2000,00€     -2120,00€
+
+
+
Suivi de la somme des débits du compte 5112
+
+% hledger register -f Paris.2011.hledger 'amt:>0' '^5.Finance:1.Etablissement:1.Valeur:2.Chèque_à_encaisser'
+2011/05/15 Prêt                 ..Chèque_à_encaisser       100,00€       100,00€
+2011/09/20 Cotisations          ..Chèque_à_encaisser        20,00€       120,00€
+2011/11/10 Prêt                 ..Chèque_à_encaisser      2000,00€      2120,00€
+
+
+ + + +
+Note +Si ces deux commandes ne donnent pas le même montant final +c’est qu’il reste des chèques à encaisser.
+
+
+ +
+ +
+

4.6. Observer des statistiques (stats, activity)

+
--period daily /*

"+slidefootnotes+"

");}/*]]>*/
+
+

4.7. Écrire des écritures (add)

+ +
+
+
Sélection d’un modèle selon le libellé
+
+% hledger add -f /tmp/test.ledger
+Adding transactions to journal file /tmp/test.ledger
+Any command line arguments will be used as defaults.
+Use tab key to complete, readline keys to edit, enter to accept defaults.
+An optional (CODE) may follow transaction dates.
+An optional ; COMMENT may follow descriptions or amounts.
+If you make a mistake, enter < at any prompt to restart the transaction.
+To end a transaction, enter . when prompted.
+To quit, enter . at a date prompt or press control-d or control-c.
+Date [2014/07/30]: 2014/01/01
+Description: Libellé de l’écriture ; UN_TAG:, Autre_tag:Avec_Valeur
+Account 1: A:AA
+Amount  1: -42
+Account 2: B:BB:BBB
+Amount  2 [42.0]: 40
+Account 3: B:A
+Amount  3 [2.0]:
+Account 4 (or . or enter to finish this transaction): .
+2014/01/01 Libellé de l’écriture    ; UN_TAG:, Autre_tag:Avec_Valeur
+    A:AA               -42
+    B:BB:BBB            40
+    B:A                2.0
+
+Save this transaction to the journal ? [y]: y
+Saved.
+Starting the next transaction (. or ctrl-D/ctrl-C to quit)
+Date [2014/01/01]:
+Description: Libellé d’une autre écriture
+Using this similar transaction for defaults:
+2014/01/01 Libellé de l’écriture    ; UN_TAG:, Autre_tag:Avec_Valeur
+    A:AA               -42
+    B:BB:BBB            40
+    B:A                2.0
+
+Account 1 [A:AA]:
+Amount  1 [-42.0]: 100
+Account 2 [B:BB:BBB]: B
+Amount  2 [-100.0]:
+Account 3 (or . to finish this transaction) [B:A]: .
+2014/01/01 Libellé d’une autre écriture
+    A:AA           100
+    B           -100.0
+
+Save this transaction to the journal ? [y]: y
+Saved.
+Starting the next transaction (. or ctrl-D/ctrl-C to quit)
+Date [2014/01/01]: .
+
+
+
Complètement automatique des comptes
+
+% hledger add -f data/exemple-plan-comptable.ledger
+Adding transactions to journal file /home/julm/admin/cyber.coop/src/tool/hledger/doc/data/exemple-plan-comptable.ledger
+Any command line arguments will be used as defaults.
+Use tab key to complete, readline keys to edit, enter to accept defaults.
+An optional (CODE) may follow transaction dates.
+An optional ; COMMENT may follow descriptions or amounts.
+If you make a mistake, enter < at any prompt to restart the transaction.
+To end a transaction, enter . when prompted.
+To quit, enter . at a date prompt or press control-d or control-c.
+Date [2014/07/30]: yesterday
+Description: Trololo
+Account 1: 1.Capital:
+1.Capital:0.Fonds                                                                  1.Capital:3.Sub_invest_BNR:9.Compte_résultat:1.Equipement
+1.Capital:0.Fonds:2.SDR                                                            1.Capital:3.Sub_invest_BNR:9.Compte_résultat:1.Equipement:1.État
+1.Capital:0.Fonds:2.SDR:4.Apport                                                   1.Capital:3.Sub_invest_BNR:9.Compte_résultat:1.Equipement:2.Région
+1.Capital:0.Fonds:2.SDR:6.Sub_invest_BR                                            1.Capital:3.Sub_invest_BNR:9.Compte_résultat:1.Equipement:3.Département
+1.Capital:0.Fonds:3.ADR                                                            1.Capital:3.Sub_invest_BNR:9.Compte_résultat:1.Equipement:4.Commune
+1.Capital:0.Fonds:3.ADR:4.Apport                                                   1.Capital:3.Sub_invest_BNR:9.Compte_résultat:1.Equipement:5.Collectivité_publique
+1.Capital:0.Fonds:3.ADR:6.Sub_invest_BR                                            1.Capital:3.Sub_invest_BNR:9.Compte_résultat:1.Equipement:6.Entreprise_publique
+1.Capital:0.Fonds:6.Réserve                                                        1.Capital:3.Sub_invest_BNR:9.Compte_résultat:1.Equipement:7.Organisme_privé
+1.Capital:0.Fonds:6.Réserve:3.Statutaire                                           1.Capital:3.Sub_invest_BNR:9.Compte_résultat:1.Equipement:8.Autre
+1.Capital:0.Fonds:6.Réserve:8.Autre                                                1.Capital:3.Sub_invest_BNR:9.Compte_résultat:2.Autre
+1.Capital:1.Report                                                                 1.Capital:5.Provision_risque&charge
+1.Capital:1.Report:0.Bénéfice                                                      1.Capital:5.Provision_risque&charge:1.Risque
+1.Capital:1.Report:5.Financeur                                                     1.Capital:5.Provision_risque&charge:5.Impôt
+1.Capital:1.Report:9.Déficit                                                       1.Capital:5.Provision_risque&charge:8.Autre
+1.Capital:2.Résultat                                                               1.Capital:5.Provision_risque&charge:8.Autre:2.Congés_à_payer
+1.Capital:2.Résultat:0.Bénéfice                                                    1.Capital:6.Emprunt,Dette
+1.Capital:2.Résultat:9.Déficit                                                     1.Capital:6.Emprunt,Dette:4.Etablissement_crédit
+1.Capital:3.Sub_invest_BNR                                                         1.Capital:6.Emprunt,Dette:5.Dépôt,Caution
+1.Capital:3.Sub_invest_BNR:1.Equipement                                            1.Capital:6.Emprunt,Dette:8.Autre
+1.Capital:3.Sub_invest_BNR:1.Equipement:1.État                                     1.Capital:6.Emprunt,Dette:8.Autre:1.Emprunt
+1.Capital:3.Sub_invest_BNR:1.Equipement:2.Région                                   1.Capital:6.Emprunt,Dette:8.Autre:1.Emprunt:1.Bénévole
+1.Capital:3.Sub_invest_BNR:1.Equipement:3.Département                              1.Capital:6.Emprunt,Dette:8.Autre:1.Emprunt:2.Salarié-e
+1.Capital:3.Sub_invest_BNR:1.Equipement:4.Commune                                  1.Capital:6.Emprunt,Dette:8.Autre:1.Emprunt:3.Cyclofficine
+1.Capital:3.Sub_invest_BNR:1.Equipement:5.Collectivité_publique                    1.Capital:6.Emprunt,Dette:8.Autre:1.Emprunt:4.Autre
+1.Capital:3.Sub_invest_BNR:1.Equipement:6.Entreprise_publique                      1.Capital:6.Emprunt,Dette:8.Autre:7.Dette
+1.Capital:3.Sub_invest_BNR:1.Equipement:7.Organisme_privé                          1.Capital:9.Fonds_dédiés
+1.Capital:3.Sub_invest_BNR:1.Equipement:8.Autre                                    1.Capital:9.Fonds_dédiés:4.Sub_exploit
+1.Capital:3.Sub_invest_BNR:8.Autre                                                 1.Capital:9.Fonds_dédiés:5.Don_affecté
+1.Capital:3.Sub_invest_BNR:9.Compte_résultat
+Account 1: 1.Capital:6.Emprunt,Dette
+1.Capital:6.Emprunt,Dette                                   1.Capital:6.Emprunt,Dette:8.Autre:1.Emprunt                 1.Capital:6.Emprunt,Dette:8.Autre:1.Emprunt:4.Autre
+1.Capital:6.Emprunt,Dette:4.Etablissement_crédit            1.Capital:6.Emprunt,Dette:8.Autre:1.Emprunt:1.Bénévole      1.Capital:6.Emprunt,Dette:8.Autre:7.Dette
+1.Capital:6.Emprunt,Dette:5.Dépôt,Caution                   1.Capital:6.Emprunt,Dette:8.Autre:1.Emprunt:2.Salarié-e
+1.Capital:6.Emprunt,Dette:8.Autre                           1.Capital:6.Emprunt,Dette:8.Autre:1.Emprunt:3.Cyclofficine
+Account 1: 1.Capital:6.Emprunt,Dette:4.Etablissement_crédit
+Amount  1: -666 ; Don’t panic
+Account 2: 5.Finance:
+5.Finance:1.Etablissement                                5.Finance:1.Etablissement:2.Banque:002.Livret            5.Finance:8.Virement
+5.Finance:1.Etablissement:1.Valeur                       5.Finance:3.Caisse                                       5.Finance:8.Virement:0.Interne
+5.Finance:1.Etablissement:1.Valeur:2.Chèque_à_encaisser  5.Finance:3.Caisse:1.Siège                               5.Finance:8.Virement:1.Fonds
+5.Finance:1.Etablissement:2.Banque:001.Courant           5.Finance:3.Caisse:2.Atelier
+Account 2: 5.Finance:1.Etablissement:2.Banque:001.Courant
+Amount  2 [666.0]:
+Account 3 (or . or enter to finish this transaction): .
+2014/07/29 Trololo
+    1.Capital:6.Emprunt,Dette:4.Etablissement_crédit          -666    ;  Don’t panic
+    5.Finance:1.Etablissement:2.Banque:001.Courant           666.0
+
+Save this transaction to the journal ? [y]: y
+Saved.
+Starting the next transaction (. or ctrl-D/ctrl-C to quit)
+Date [2014/07/29]: .
+
+
+ +
+

5. Exercice comptable

@@ -8337,14 +8434,6 @@ hledger activity --period daily 5.1. Plan comptable d’une association
-
-
- - -
-Note -Brouillon de documentation @ https://wiki.cyclocoop.org/Comptabilité/Document/Plan_comptable/
-
 ; Plan comptable d’une Cyclofficine
@@ -8757,59 +8846,20 @@ hledger activity --period daily 
 
 
-

5.2. Comptabiliser en partie double

- +

5.2. Relation de Chasles par écritures d’engagement et de paiement

+
-
- --- - - - - - -
-
-Balance nulle de toute écriture -
-
-

-hledger n’accepte aucune écriture qui ne respecte -pas cette contrainte de la tâche comptable :
-

-

« Pour toute écriture, tout ce qui est débité (+) dans ses comptes
-est forcément crédité (-) dans ses autres comptes,
-et réciproquement.
 »

+

hledger laisse l’humain s’occuper de ce principe de la tâche comptable +qui traduit la réalité temporelle des mouvements d’argent.

+
+
+
+
+

+

-
    -
  • - -Formellement : $\forall e : \textcolor{#D2691E}{\textbf{\acute{e}criture}}, - \ \textbf{balance}\>(\textbf{flux}\>{e}) = 0$ - -
    -
    -2014/04/12
    -	Compte:Crédité  -1234,56
    -	Compte:Débité ;  1234,56 (montant inféré)
    -
    -
  • -
-
-
-
-Relation de Chasles par écritures d’engagement et de paiement -
-
-

-hledger laisse l’humain s’occuper de ce principe de la tâche comptable -qui traduit la réalité temporelle des mouvements d’argent. -

 01/01 Prestation ; Écriture d’engagement (pièce comptable : facture)
@@ -8819,12 +8869,6 @@ qui traduit la réalité temporelle des mouvements d’argent.
 	4.Tiers:1.Client:1.Client:1.Bien,Prestation:007.Mairie_du_XI  -700,00
 	5.Finance:1.Etablissement:2.Banque:001.Courant                 700,00
 
-
-
-
@@ -8847,14 +8891,14 @@ qui traduit la réalité temporelle des mouvements d’argent.
  • -Total chèques à encaisser (5112) == Total remises de chèques à la banque (512) (+/- argent non déposé en banque) +Total chèques à encaisser (5112) == Total remises de chèques à la banque (512) (+/- chèques non déposés en banque)
    - +
    Note vérifier qu’il ne reste plus de chèque comptabilisés dans le tiroirvérifier qu’il ne reste plus de chèques comptabilisés dans le tiroir
  • @@ -8885,7 +8929,50 @@ Solde du compte caisse (531) == Total entrées espèces en caisse - Total des so

    6. Import et export avec hledger

    -
      +
      +
      +

      Comme la plupart des logiciels de comptabilité, +hledger interropère avec le format de tableaux +CSV

      +
      +
      +
      +
      +hledger-print-csv +
      +
      +
      +
      +% hledger-print-csv -f data/exemple-syntaxe.ledger
      +"nth","date","date2","status","code","description","comment","account","amount","commodity","credit","debit","status","posting-comment"
      +"0","2014/01/01","","","","Libellé de l’écriture","UN_TAG:, Autre_tag:Avec_Valeur","A:AA","-42.00","€","42.00","","","flux créditant"
      +"0","2014/01/01","","","","Libellé de l’écriture","UN_TAG:, Autre_tag:Avec_Valeur","B:BB:BBB","40.00","€","","40.00","","flux débitant"
      +"0","2014/01/01","","","","Libellé de l’écriture","UN_TAG:, Autre_tag:Avec_Valeur","B:A","2.00","€","","2.00","","flux débitant ventilé"
      +"1","2014/01/02","","","","Libellé d’une autre écriture","","A:AA","100.00","€","","100.00","","UN_TAG_de_flux:"
      +"1","2014/01/02","","","","Libellé d’une autre écriture","","B","-100.00","€","100.00","","","ATTENTION: au moins deux espaces requises entre le compte et le montant"
      +
      +
      +
      +*.ledger.rules +
      +
      +

      +http://hledger.org/manual#csv-files +

      +
      +
      +% cat banque-postale.livret_A.csv.rules
      +skip 1
      +fields date,description,amount
      +date-format %-d/%-m/%Y
      +
      +if .INTERETS ACQUIS DECOMPTE D'INTERETS  .
      +        account1 Banque:Postale:Livret_A
      +        account2 Recette:Intérêts:Inflation
      +
      +
      +
      +
      Pour des besoins plus complexes
    @@ -9156,8 +9248,8 @@ Chercher des écritures doublonnes.
    -- 2.20.1