Ajout : doc/ (suite)
[tool/hledger.git] / doc / hledger.fr.slidy.ad
index b66680e..0796c95 100644 (file)
@@ -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