[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).
[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]
+
[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
----
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::
----
.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
% 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**::
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)
----
hledger print -f $fichier.ledger '6.Charge:(3.Impôt:(1.|3.):|4.Personnel:)'
----
-**À NouVeau**::
+**À nouveau**::
+
[source,sh]
----
.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]
|==================================
-=== 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.
|
[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
|==================================
+=== 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`)
|==================================
+=== É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.
+
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
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)
+
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
<div id="header" class="slide hledgersplash">\r
<h1>Informatiser une comptabilité avec confiance</h1>\r
<span id="author">git://git.autogeree.net/tool/hledger</span><br />\r
-<span id="revnumber">version 61f2b02</span>\r
+<span id="revnumber">version 2014.07.30</span>\r
<br /><span id="revremark"></span>\r
</div>\r
</div></div>\r
</td>\r
<td class="hdlist2">\r
<p style="margin-top: 0;">\r
-Pas de verrou de validation (plus ou moins illusoire).\r
+Pas de verrou (plus ou moins illusoire) de validation.\r
</p>\r
</td>\r
</tr>\r
</td>\r
<td class="hdlist2">\r
<p style="margin-top: 0;">\r
-Mais, comme c’est un fichier, un verrou-validant<br />\r
+Mais, comme c’est un fichier, un véritable verrou validant<br />\r
peut être mis par une <strong>signature cryptographique</strong>.\r
</p>\r
<div class="listingblock incremental">\r
</p>\r
<div class="listingblock incremental">\r
<div class="content"><pre>\r
-<span class="hledgerTransactionDate">2102/03/21</span> <span class="hledgerTransactionDescription">Chèque </span><span class="hledgerTransactionComment">; Erreur de date</span>\r
+<span class="hledgerTransactionDate">2102/03/21</span> <span class="hledgerTransactionDescription">Chèque </span><span class="hledgerTransactionComment">; Date suspecte</span>\r
<span class="hledgerPostingAccount"> </span><span class="hledgerNumber">5</span><span class="hledgerPostingAccount">.Finance</span><span class="hledgerAccountSeparator">:</span><span class="hledgerNumber">1</span><span class="hledgerPostingAccount">.Etablissement</span><span class="hledgerAccountSeparator">:</span><span class="hledgerNumber">1</span><span class="hledgerPostingAccount">.Valeur</span><span class="hledgerAccountSeparator">:</span><span class="hledgerNumber">2</span><span class="hledgerPostingAccount">.Chèque_à_encaisser</span><span class="hledgerPostingAmount"> -</span><span class="hledgerNumber">145</span><span class="hledgerPostingAmount">,</span><span class="hledgerNumber">00</span>\r
<span class="hledgerPostingAccountOdd"> </span><span class="hledgerNumberOdd">5</span><span class="hledgerPostingAccountOdd">.Finance</span><span class="hledgerAccountSeparatorOdd">:</span><span class="hledgerNumberOdd">1</span><span class="hledgerPostingAccountOdd">.Etablissement</span><span class="hledgerAccountSeparatorOdd">:</span><span class="hledgerNumberOdd">2</span><span class="hledgerPostingAccountOdd">.Banque</span><span class="hledgerAccountSeparatorOdd">:</span><span class="hledgerNumberOdd">001</span><span class="hledgerPostingAccountOdd">.Courant</span><span class="hledgerPostingAmountOdd"> </span><span class="hledgerNumberOdd">145</span><span class="hledgerPostingAmountOdd">,</span><span class="hledgerNumberOdd">00</span>\r
</pre></div></div>\r
<p>\r
Fait de la comptabilité, <strong>et juste</strong> de la comptabilité ;\r
pas un logiciel intégré type ERP (Enterprise Resource Planning)\r
-du genre type <a href="https://www.odoo.com/">Odoo</a> (ancien OpenERP) :\r
+du genre <a href="https://www.odoo.com/">Odoo</a> (anciennement « OpenERP ») :\r
Comptabilité + Point de vente + Facturation + Paye + Gestion de stock + Adhésion + Calendrier + Wiki + …\r
</p>\r
</dd>\r
<div class="title">Conventions usuelles</div><ul class=" incremental">\r
<li>\r
<span>\r
-Classement des écritures par date\r
+Classement des écritures par date.\r
</span>\r
</li>\r
<li>\r
<span>\r
-Classement des flux par signe, puis compte\r
+Classement des flux par signe, puis compte.\r
</span>\r
</li>\r
</ul>\r
B\r
B:A\r
B:BB:BBB\r
+</pre></div></div>\r
+<div class="listingblock incremental">\r
+<div class="content"><pre>\r
+% hledger accounts <span class="Special">--tree</span> <span class="Statement">'</span><span class="Constant">^A</span><span class="Statement">'</span> <span class="Special">-f</span> data/exemple-syntaxe.ledger\r
+A\r
+ AA\r
</pre></div></div></div></td>\r
<td align="left" valign="top"><div><div class="dlist"><dl class=" incremental">\r
<dt class="hdlist1">\r
<dd>\r
<p>\r
<span class=" LaTeX ">$:\>c : \textcolor{#D2691E}{\textbf{compte}} → \textcolor{#D2691E}{\textbf{compte}}\>?$</span><br />\r
+ = « <em>plus long compte strictement préfixe d’un compte</em> »<br />\r
<span class=" LaTeX ">$=\>c_{\lbrack0,\cdots,|c|-2\rbrack}\ \mbox{si}\ |c| \ge 2$</span>\r
</p>\r
</dd>\r
<dd>\r
<p>\r
<span class=" LaTeX ">$:\>\mathbb c : \textcolor{#D2691E}{\textbf{compte}} → \lbrack\textcolor{#D2691E}{\textbf{compte}}\rbrack$</span><br />\r
+ = « <em>liste des comptes préfixes d’un compte</em> »<br />\r
\r
<span class=" LaTeX ">$=\>\lbrack{\ c\ :\ \lbrack{\ c\ |\ c ← (\mathbf{compte\mbox{_}parent}\>{c})}\ \rbrack}\ \rbrack$</span>\r
</p>\r
</div><div class="slide">\r
\r
<div class="sect2">\r
-<h1 id="_écrire_des_écritures_code_add_code">4.2. Écrire des écritures (<code>add</code>)</h1>\r
-<script type="text/javascript">/*<![CDATA[*/subslide=1;nextclass="sect2";nexttitle="4.2. Écrire des écritures (<code>add</code>)";slidefootnotes="";/*]]>*/</script>\r
-<div class="sectionbody">\r
-<div class="listingblock incremental">\r
-<div class="title">Sélection d’un modèle selon le libellé</div>\r
-<div class="content"><pre>\r
-% hledger add <span class="Special">-f</span> /tmp/test.ledger\r
-Adding transactions to journal file /tmp/test.ledger\r
-Any command line arguments will be used as defaults.\r
-Use tab key to complete, readline keys to edit, enter to accept defaults.\r
-An optional <span class="PreProc">(</span><span class="Special">CODE</span><span class="PreProc">)</span> may follow transaction dates.\r
-An optional ; COMMENT may follow descriptions or amounts.\r
-If you make a mistake, enter <span class="Statement"><</span> at any prompt to restart the transaction.\r
-To end a transaction, enter<span class="Statement"> . </span>when prompted.\r
-To quit, enter<span class="Statement"> . </span>at a date prompt or press control-d or control-c.\r
-Date <span class="Statement">[</span><span class="Constant">2014</span>/<span class="Constant">07</span>/<span class="Constant">30</span><span class="Statement">]</span>: <span class="Constant">2014</span>/<span class="Constant">01</span>/<span class="Constant">01</span>\r
-Description: Libellé de l’écriture ; UN_TAG:, Autre_tag:Avec_Valeur\r
-Account <span class="Constant">1</span>: A:AA\r
-Amount <span class="Constant">1</span>: <span class="Constant">-42</span>\r
-Account <span class="Constant">2</span>: B:BB:BBB\r
-Amount <span class="Constant">2</span> <span class="Statement">[</span>42.0<span class="Statement">]</span>: <span class="Constant">40</span>\r
-Account <span class="Constant">3</span>: B:A\r
-Amount <span class="Constant">3</span> <span class="Statement">[</span>2.0<span class="Statement">]</span>:\r
-Account <span class="Constant">4</span> <span class="PreProc">(</span><span class="Special">or . or enter to finish this transaction</span><span class="PreProc">)</span>: .\r
-<span class="Constant">2014</span>/<span class="Constant">01</span>/<span class="Constant">01</span> Libellé de l’écriture ; UN_TAG:, Autre_tag:Avec_Valeur\r
- A:AA <span class="Constant">-42</span>\r
- B:BB:BBB <span class="Constant">40</span>\r
- B:A 2.0\r
-\r
-Save this transaction to the journal ? <span class="Statement">[</span>y<span class="Statement">]</span>: y\r
-Saved.\r
-Starting the next transaction <span class="PreProc">(</span><span class="Special">. or ctrl-D/ctrl-C to quit</span><span class="PreProc">)</span>\r
-Date <span class="Statement">[</span><span class="Constant">2014</span>/<span class="Constant">01</span>/<span class="Constant">01</span><span class="Statement">]</span>:\r
-Description: Libellé d’une autre écriture\r
-Using this similar transaction <span class="Statement">for </span>defaults:\r
-<span class="Constant">2014</span>/<span class="Constant">01</span>/<span class="Constant">01</span> Libellé de l’écriture <span class="Statement">;</span> UN_TAG:, Autre_tag:Avec_Valeur\r
- A:AA <span class="Constant">-42</span>\r
- B:BB:BBB <span class="Constant">40</span>\r
- B:A 2.0\r
-\r
-Account <span class="Constant">1</span> <span class="Statement">[</span>A:AA<span class="Statement">]</span>:\r
-Amount <span class="Constant">1</span> <span class="Statement">[</span>-42.0<span class="Statement">]</span>: <span class="Constant">100</span>\r
-Account <span class="Constant">2</span> <span class="Statement">[</span>B:BB:BBB<span class="Statement">]</span>: B\r
-Amount <span class="Constant">2</span> <span class="Statement">[</span>-100.0<span class="Statement">]</span>:\r
-Account <span class="Constant">3</span> <span class="Statement">(</span>or<span class="Statement"> . </span>to finish this transaction<span class="Statement">)</span> <span class="Statement">[</span>B:A<span class="Statement">]</span>: .\r
-<span class="Constant">2014</span>/<span class="Constant">01</span>/<span class="Constant">01</span> Libellé d’une autre écriture\r
- A:AA <span class="Constant">100</span>\r
- B -100.0\r
-\r
-Save this transaction to the journal ? <span class="Statement">[</span>y<span class="Statement">]</span>: y\r
-Saved.\r
-Starting the next transaction <span class="Statement">(</span>. or ctrl-D/ctrl-C to quit<span class="Statement">)</span>\r
-Date <span class="Statement">[</span><span class="Constant">2014</span>/<span class="Constant">01</span>/<span class="Constant">01</span><span class="Statement">]</span>: .\r
-</pre></div></div>\r
-<div class="listingblock incremental">\r
-<div class="title">Complètement automatique des comptes</div>\r
-<div class="content"><pre>\r
-% hledger add <span class="Special">-f</span> data/exemple-plan-comptable.ledger\r
-Adding transactions to journal file /home/julm/admin/cyber.coop/src/tool/hledger/doc/data/exemple-plan-comptable.ledger\r
-Any command line arguments will be used as defaults.\r
-Use tab key to complete, readline keys to edit, enter to accept defaults.\r
-An optional <span class="PreProc">(</span><span class="Special">CODE</span><span class="PreProc">)</span> may follow transaction dates.\r
-An optional ; COMMENT may follow descriptions or amounts.\r
-If you make a mistake, enter <span class="Statement"><</span> at any prompt to restart the transaction.\r
-To end a transaction, enter<span class="Statement"> . </span>when prompted.\r
-To quit, enter<span class="Statement"> . </span>at a date prompt or press control-d or control-c.\r
-Date <span class="Statement">[</span><span class="Constant">2014</span>/<span class="Constant">07</span>/<span class="Constant">30</span><span class="Statement">]</span>: yesterday\r
-Description: Trololo\r
-Account <span class="Constant">1</span>: 1.Capital:\r
-1.Capital:0.Fonds 1.Capital:3.Sub_invest_BNR:9.Compte_résultat:1.Equipement\r
-1.Capital:0.Fonds:2.SDR 1.Capital:3.Sub_invest_BNR:9.Compte_résultat:1.Equipement:1.État\r
-1.Capital:0.Fonds:2.SDR:4.Apport 1.Capital:3.Sub_invest_BNR:9.Compte_résultat:1.Equipement:2.Région\r
-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\r
-1.Capital:0.Fonds:3.ADR 1.Capital:3.Sub_invest_BNR:9.Compte_résultat:1.Equipement:4.Commune\r
-1.Capital:0.Fonds:3.ADR:4.Apport 1.Capital:3.Sub_invest_BNR:9.Compte_résultat:1.Equipement:5.Collectivité_publique\r
-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\r
-1.Capital:0.Fonds:6.Réserve 1.Capital:3.Sub_invest_BNR:9.Compte_résultat:1.Equipement:7.Organisme_privé\r
-1.Capital:0.Fonds:6.Réserve:3.Statutaire 1.Capital:3.Sub_invest_BNR:9.Compte_résultat:1.Equipement:8.Autre\r
-1.Capital:0.Fonds:6.Réserve:8.Autre 1.Capital:3.Sub_invest_BNR:9.Compte_résultat:2.Autre\r
-1.Capital:1.Report 1.Capital:5.Provision_risque&charge\r
-1.Capital:1.Report:0.Bénéfice 1.Capital:5.Provision_risque&charge:1.Risque\r
-1.Capital:1.Report:5.Financeur 1.Capital:5.Provision_risque&charge:5.Impôt\r
-1.Capital:1.Report:9.Déficit 1.Capital:5.Provision_risque&charge:8.Autre\r
-1.Capital:2.Résultat 1.Capital:5.Provision_risque&charge:8.Autre:2.Congés_à_payer\r
-1.Capital:2.Résultat:0.Bénéfice 1.Capital:6.Emprunt,Dette\r
-1.Capital:2.Résultat:9.Déficit 1.Capital:6.Emprunt,Dette:4.Etablissement_crédit\r
-1.Capital:3.Sub_invest_BNR 1.Capital:6.Emprunt,Dette:5.Dépôt,Caution\r
-1.Capital:3.Sub_invest_BNR:1.Equipement 1.Capital:6.Emprunt,Dette:8.Autre\r
-1.Capital:3.Sub_invest_BNR:1.Equipement:1.État 1.Capital:6.Emprunt,Dette:8.Autre:1.Emprunt\r
-1.Capital:3.Sub_invest_BNR:1.Equipement:2.Région 1.Capital:6.Emprunt,Dette:8.Autre:1.Emprunt:1.Bénévole\r
-1.Capital:3.Sub_invest_BNR:1.Equipement:3.Département 1.Capital:6.Emprunt,Dette:8.Autre:1.Emprunt:2.Salarié-e\r
-1.Capital:3.Sub_invest_BNR:1.Equipement:4.Commune 1.Capital:6.Emprunt,Dette:8.Autre:1.Emprunt:3.Cyclofficine\r
-1.Capital:3.Sub_invest_BNR:1.Equipement:5.Collectivité_publique 1.Capital:6.Emprunt,Dette:8.Autre:1.Emprunt:4.Autre\r
-1.Capital:3.Sub_invest_BNR:1.Equipement:6.Entreprise_publique 1.Capital:6.Emprunt,Dette:8.Autre:7.Dette\r
-1.Capital:3.Sub_invest_BNR:1.Equipement:7.Organisme_privé 1.Capital:9.Fonds_dédiés\r
-1.Capital:3.Sub_invest_BNR:1.Equipement:8.Autre 1.Capital:9.Fonds_dédiés:4.Sub_exploit\r
-1.Capital:3.Sub_invest_BNR:8.Autre 1.Capital:9.Fonds_dédiés:5.Don_affecté\r
-1.Capital:3.Sub_invest_BNR:9.Compte_résultat\r
-Account <span class="Constant">1</span>: 1.Capital:6.Emprunt,Dette\r
-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\r
-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\r
-1.Capital:6.Emprunt,Dette:5.Dépôt,Caution 1.Capital:6.Emprunt,Dette:8.Autre:1.Emprunt:2.Salarié-e\r
-1.Capital:6.Emprunt,Dette:8.Autre 1.Capital:6.Emprunt,Dette:8.Autre:1.Emprunt:3.Cyclofficine\r
-Account <span class="Constant">1</span>: 1.Capital:6.Emprunt,Dette:4.Etablissement_crédit\r
-Amount <span class="Constant">1</span>: <span class="Constant">-666</span> ; Don’t panic\r
-Account <span class="Constant">2</span>: 5.Finance:\r
-5.Finance:1.Etablissement 5.Finance:1.Etablissement:2.Banque:002.Livret 5.Finance:8.Virement\r
-5.Finance:1.Etablissement:1.Valeur 5.Finance:3.Caisse 5.Finance:8.Virement:0.Interne\r
-5.Finance:1.Etablissement:1.Valeur:2.Chèque_à_encaisser 5.Finance:3.Caisse:1.Siège 5.Finance:8.Virement:1.Fonds\r
-5.Finance:1.Etablissement:2.Banque:001.Courant 5.Finance:3.Caisse:2.Atelier\r
-Account <span class="Constant">2</span>: 5.Finance:1.Etablissement:2.Banque:001.Courant\r
-Amount <span class="Constant">2</span> <span class="Statement">[</span>666.0<span class="Statement">]</span>:\r
-Account <span class="Constant">3</span> <span class="PreProc">(</span><span class="Special">or . or enter to finish this transaction</span><span class="PreProc">)</span>: .\r
-<span class="Constant">2014</span>/<span class="Constant">07</span>/<span class="Constant">29</span> Trololo\r
- 1.Capital:6.Emprunt,Dette:4.Etablissement_crédit <span class="Constant">-666</span> ; Don’t panic\r
- 5.Finance:1.Etablissement:2.Banque:001.Courant 666.0\r
-\r
-Save this transaction to the journal ? <span class="Statement">[</span>y<span class="Statement">]</span>: y\r
-Saved.\r
-Starting the next transaction <span class="PreProc">(</span><span class="Special">. or ctrl-D/ctrl-C to quit</span><span class="PreProc">)</span>\r
-Date <span class="Statement">[</span><span class="Constant">2014</span>/<span class="Constant">07</span>/<span class="Constant">29</span><span class="Statement">]</span>: .\r
-</pre></div></div>\r
-</div></div>\r
-<script type="text/javascript">/*<![CDATA[*/if (slidefootnotes != ''){document.write("<hr/><p>"+slidefootnotes+"</p>");}/*]]>*/</script>\r
-</div><div class="slide">\r
-\r
-<div class="sect2">\r
-<h1 id="_filtrer_des_écritures_code_print_code">4.3. Filtrer des écritures (<code>print</code>)</h1>\r
-<script type="text/javascript">/*<![CDATA[*/subslide=1;nextclass="sect2";nexttitle="4.3. Filtrer des écritures (<code>print</code>)";slidefootnotes="";/*]]>*/</script>\r
+<h1 id="_filtrer_des_écritures_code_print_code">4.2. Filtrer des écritures (<code>print</code>)</h1>\r
+<script type="text/javascript">/*<![CDATA[*/subslide=1;nextclass="sect2";nexttitle="4.2. Filtrer des écritures (<code>print</code>)";slidefootnotes="";/*]]>*/</script>\r
<div class="sectionbody">\r
<div class="paragraph">\r
<div class="incremental">\r
<td class="content">Cf. manuel : <a href="http://hledger.org/manual#query-arguments">http://hledger.org/manual#query-arguments</a></td>\r
</tr></table>\r
</div>\r
+<div class="listingblock incremental">\r
+<div class="content"><pre>\r
+% hledger print 'A' -f data/exemple-syntaxe.ledger\r
+<span class="hledgerTransactionDate">2014/01/01</span> <span class="hledgerTransactionDescription">Libellé de l’écriture </span><span class="hledgerTransactionComment">; </span><span class="hledgerTag">UN_TAG:</span><span class="hledgerTransactionComment">, </span><span class="hledgerTag">Autre_tag:</span><span class="hledgerTagValue">Avec_Valeur</span>\r
+<span class="hledgerPostingAccount"> A</span><span class="hledgerAccountSeparator">:</span><span class="hledgerPostingAccount">AA</span><span class="hledgerPostingAmount"> -</span><span class="hledgerNumber">42</span><span class="hledgerPostingAmount">.</span><span class="hledgerNumber">00</span><span class="hledgerPostingAmount">€</span> <span class="hledgerTransactionComment">; flux créditant</span>\r
+<span class="hledgerPostingAccountOdd"> B</span><span class="hledgerAccountSeparatorOdd">:</span><span class="hledgerPostingAccountOdd">BB</span><span class="hledgerAccountSeparatorOdd">:</span><span class="hledgerPostingAccountOdd">BBB</span><span class="hledgerPostingAmountOdd"> </span><span class="hledgerNumberOdd">40</span><span class="hledgerPostingAmountOdd">.</span><span class="hledgerNumberOdd">00</span><span class="hledgerPostingAmountOdd">€</span> <span class="hledgerTransactionComment">; flux débitant</span>\r
+<span class="hledgerPostingAccount"> B</span><span class="hledgerAccountSeparator">:</span><span class="hledgerPostingAccount">A</span><span class="hledgerPostingAmount"> </span><span class="hledgerNumber">2</span><span class="hledgerPostingAmount">.</span><span class="hledgerNumber">00</span><span class="hledgerPostingAmount">€</span> <span class="hledgerTransactionComment">; flux débitant ventilé</span>\r
+\r
+<span class="hledgerTransactionDate">2014/01/02</span> <span class="hledgerTransactionDescription">Libellé d’une autre écriture</span>\r
+<span class="hledgerPostingAccount"> A</span><span class="hledgerAccountSeparator">:</span><span class="hledgerPostingAccount">AA</span><span class="hledgerPostingAmount"> </span><span class="hledgerNumber">100</span><span class="hledgerPostingAmount">.</span><span class="hledgerNumber">00</span><span class="hledgerPostingAmount">€</span> <span class="hledgerTransactionComment">; </span><span class="hledgerTag">UN_TAG_de_flux:</span>\r
+<span class="hledgerPostingAccountOdd"> B</span><span class="hledgerPostingAmountOdd"> -</span><span class="hledgerNumberOdd">100</span><span class="hledgerPostingAmountOdd">.</span><span class="hledgerNumberOdd">00</span><span class="hledgerPostingAmountOdd">€</span> <span class="hledgerTransactionComment">; </span><span class="hledgerTag">ATTENTION:</span><span class="hledgerTagValue"> au moins deux espaces requises entre le compte et le montant</span>\r
+</pre></div></div>\r
+<div class="listingblock incremental">\r
+<div class="content"><pre>\r
+% hledger print '^A' -f data/exemple-syntaxe.ledger\r
+<span class="hledgerTransactionDate">2014/01/01</span> <span class="hledgerTransactionDescription">Libellé de l’écriture </span><span class="hledgerTransactionComment">; </span><span class="hledgerTag">UN_TAG:</span><span class="hledgerTransactionComment">, </span><span class="hledgerTag">Autre_tag:</span><span class="hledgerTagValue">Avec_Valeur</span>\r
+<span class="hledgerPostingAccount"> A</span><span class="hledgerAccountSeparator">:</span><span class="hledgerPostingAccount">AA</span><span class="hledgerPostingAmount"> -</span><span class="hledgerNumber">42</span><span class="hledgerPostingAmount">.</span><span class="hledgerNumber">00</span><span class="hledgerPostingAmount">€</span> <span class="hledgerTransactionComment">; flux créditant</span>\r
+<span class="hledgerPostingAccountOdd"> B</span><span class="hledgerAccountSeparatorOdd">:</span><span class="hledgerPostingAccountOdd">BB</span><span class="hledgerAccountSeparatorOdd">:</span><span class="hledgerPostingAccountOdd">BBB</span><span class="hledgerPostingAmountOdd"> </span><span class="hledgerNumberOdd">40</span><span class="hledgerPostingAmountOdd">.</span><span class="hledgerNumberOdd">00</span><span class="hledgerPostingAmountOdd">€</span> <span class="hledgerTransactionComment">; flux débitant</span>\r
+<span class="hledgerPostingAccount"> B</span><span class="hledgerAccountSeparator">:</span><span class="hledgerPostingAccount">A</span><span class="hledgerPostingAmount"> </span><span class="hledgerNumber">2</span><span class="hledgerPostingAmount">.</span><span class="hledgerNumber">00</span><span class="hledgerPostingAmount">€</span> <span class="hledgerTransactionComment">; flux débitant ventilé</span>\r
+\r
+<span class="hledgerTransactionDate">2014/01/02</span> <span class="hledgerTransactionDescription">Libellé d’une autre écriture</span>\r
+<span class="hledgerPostingAccount"> A</span><span class="hledgerAccountSeparator">:</span><span class="hledgerPostingAccount">AA</span><span class="hledgerPostingAmount"> </span><span class="hledgerNumber">100</span><span class="hledgerPostingAmount">.</span><span class="hledgerNumber">00</span><span class="hledgerPostingAmount">€</span> <span class="hledgerTransactionComment">; </span><span class="hledgerTag">UN_TAG_de_flux:</span>\r
+<span class="hledgerPostingAccountOdd"> B</span><span class="hledgerPostingAmountOdd"> -</span><span class="hledgerNumberOdd">100</span><span class="hledgerPostingAmountOdd">.</span><span class="hledgerNumberOdd">00</span><span class="hledgerPostingAmountOdd">€</span> <span class="hledgerTransactionComment">; </span><span class="hledgerTag">ATTENTION:</span><span class="hledgerTagValue"> au moins deux espaces requises entre le compte et le montant</span>\r
+</pre></div></div>\r
+<div class="listingblock incremental">\r
+<div class="content"><pre>\r
+% hledger print '^B$' -f data/exemple-syntaxe.ledger\r
+<span class="hledgerTransactionDate">2014/01/02</span> <span class="hledgerTransactionDescription">Libellé d’une autre écriture</span>\r
+<span class="hledgerPostingAccount"> A</span><span class="hledgerAccountSeparator">:</span><span class="hledgerPostingAccount">AA</span><span class="hledgerPostingAmount"> </span><span class="hledgerNumber">100</span><span class="hledgerPostingAmount">.</span><span class="hledgerNumber">00</span><span class="hledgerPostingAmount">€</span> <span class="hledgerTransactionComment">; </span><span class="hledgerTag">UN_TAG_de_flux:</span>\r
+<span class="hledgerPostingAccountOdd"> B</span><span class="hledgerPostingAmountOdd"> -</span><span class="hledgerNumberOdd">100</span><span class="hledgerPostingAmountOdd">.</span><span class="hledgerNumberOdd">00</span><span class="hledgerPostingAmountOdd">€</span> <span class="hledgerTransactionComment">; </span><span class="hledgerTag">ATTENTION:</span><span class="hledgerTagValue"> au moins deux espaces requises entre le compte et le montant</span>\r
+</pre></div></div>\r
<div class="hdlist"><div class="title">Afficher des « journaux auxiliaires » (exemples approximatifs)</div><table><tbody class=" incremental">\r
<tr>\r
<td class="hdlist1">\r
</tr>\r
<tr>\r
<td class="hdlist1">\r
-<strong>À NouVeau</strong>\r
+<strong>À nouveau</strong>\r
<br />\r
</td>\r
<td class="hdlist2">\r
</div><div class="slide">\r
\r
<div class="sect2">\r
-<h1 id="_calculer_des_soldes_code_balance_code">4.4. Calculer des soldes (<code>balance</code>)</h1>\r
-<script type="text/javascript">/*<![CDATA[*/subslide=1;nextclass="sect2";nexttitle="4.4. Calculer des soldes (<code>balance</code>)";slidefootnotes="";/*]]>*/</script>\r
+<h1 id="_calculer_des_soldes_code_balance_code">4.3. Calculer des soldes (<code>balance</code>)</h1>\r
+<script type="text/javascript">/*<![CDATA[*/subslide=1;nextclass="sect2";nexttitle="4.3. Calculer des soldes (<code>balance</code>)";slidefootnotes="";/*]]>*/</script>\r
<div class="sectionbody">\r
<div class="tableblock">\r
<table rules="all"\r
Balance changes <span class="Error">in</span> <span class="Constant">2014</span>/<span class="Constant">01</span>/<span class="Constant">01-2014</span>/<span class="Constant">01</span>/<span class="Constant">02</span>:\r
\r
|| <span class="Constant">2014</span>/<span class="Constant">01</span>/<span class="Constant">01-2014</span>/<span class="Constant">01</span>/<span class="Constant">01</span> <span class="Constant">2014</span>/<span class="Constant">01</span>/<span class="Constant">02-2014</span>/<span class="Constant">01</span>/<span class="Constant">02</span>\r
-‑<span class="Statement">=========</span>++<span class="Statement">===============================================</span>\r
+<span class="Statement">==========</span>++<span class="Statement">===============================================</span>\r
A:AA || -42.00€ 100.00€\r
B || <span class="Constant">0</span> -100.00€\r
B:A || 2.00€ <span class="Constant">0</span>\r
Ending balances <span class="PreProc">(</span><span class="Special">historical</span><span class="PreProc">)</span> <span class="Error">in</span> <span class="Constant">2014</span>/<span class="Constant">01</span>/<span class="Constant">01-2014</span>/<span class="Constant">01</span>/<span class="Constant">02</span>:\r
\r
|| <span class="Constant">2014</span>/<span class="Constant">01</span>/<span class="Constant">01</span> <span class="Constant">2014</span>/<span class="Constant">01</span>/<span class="Constant">02</span>\r
-‑<span class="Statement">=========</span>++<span class="Statement">=========================</span>\r
+<span class="Statement">==========</span>++<span class="Statement">=========================</span>\r
A:AA || -42.00€ 58.00€\r
B || <span class="Constant">0</span> -100.00€\r
B:A || 2.00€ 2.00€\r
</tbody>\r
</table>\r
</div>\r
-</div></div>\r
-<script type="text/javascript">/*<![CDATA[*/if (slidefootnotes != ''){document.write("<hr/><p>"+slidefootnotes+"</p>");}/*]]>*/</script>\r
-</div><div class="slide">\r
-\r
-<div class="sect2">\r
-<h1 id="_suivre_un_compte_code_register_code">4.5. Suivre un compte (<code>register</code>)</h1>\r
-<script type="text/javascript">/*<![CDATA[*/subslide=1;nextclass="sect2";nexttitle="4.5. Suivre un compte (<code>register</code>)";slidefootnotes="";/*]]>*/</script>\r
-<div class="sectionbody">\r
-<div class="listingblock incremental">\r
-<div class="title">Suivi de la somme des crédits du compte <code>5112</code></div>\r
-<div class="content"><pre>\r
-% hledger register <span class="Special">-f</span> Paris.2011.hledger <span class="Statement">'</span><span class="Constant">amt:<0</span><span class="Statement">'</span> <span class="Statement">'</span><span class="Constant">^5.Finance:1.Etablissement:1.Valeur:2.Chèque_à_encaisser</span><span class="Statement">'</span>\r
-<span class="Constant">2011</span>/<span class="Constant">05</span>/<span class="Constant">23</span> Remise chq <span class="Constant">0994029</span> ..Chèque_à_encaisser <span class="Constant">-100</span>,<span class="Constant">00</span>€ <span class="Constant">-100</span>,<span class="Constant">00</span>€\r
-<span class="Constant">2011</span>/<span class="Constant">09</span>/<span class="Constant">29</span> Remise chq <span class="Constant">1101801</span> ..Chèque_à_encaisser <span class="Constant">-20</span>,<span class="Constant">00</span>€ <span class="Constant">-120</span>,<span class="Constant">00</span>€\r
-<span class="Constant">2011</span>/<span class="Constant">11</span>/<span class="Constant">18</span> Remise chq <span class="Constant">1101802</span> ..Chèque_à_encaisser <span class="Constant">-2000</span>,<span class="Constant">00</span>€ <span class="Constant">-2120</span>,<span class="Constant">00</span>€\r
-</pre></div></div>\r
+<div class="dlist"><dl class=" incremental">\r
+<dt class="hdlist1">\r
+Balance nulle de toute écriture\r
+</dt>\r
+<dd>\r
+<p>\r
+<code>hledger</code> n’accepte aucune écriture qui ne respecte\r
+pas cette contrainte de la tâche comptable :<br />\r
+</p>\r
+<div class="paragraph">\r
+<div class="incremental">\r
+<p>« <em>Pour toute écriture, tout ce qui est <em><span class="black">débité</span></em> (<code>+</code>) dans ses comptes<br />\r
+est forcément <em><span class="black">crédité</span></em> (<code>-</code>) dans ses autres comptes,<br />\r
+et réciproquement.</em> »</p>\r
+</div>\r
+</div>\r
+<ul class=" incremental">\r
+<li>\r
+<span>\r
+Formellement : <span class=" LaTeX ">$\forall e : \textcolor{#D2691E}{\textbf{\acute{e}criture}},\r
+ \ \textbf{balance}\>(\textbf{flux}\>{e}) = 0$</span>\r
+</span>\r
<div class="listingblock incremental">\r
-<div class="title">Suivi de la somme des débits du compte <code>5112</code></div>\r
<div class="content"><pre>\r
-% hledger register <span class="Special">-f</span> Paris.2011.hledger <span class="Statement">'</span><span class="Constant">amt:>0</span><span class="Statement">'</span> <span class="Statement">'</span><span class="Constant">^5.Finance:1.Etablissement:1.Valeur:2.Chèque_à_encaisser</span><span class="Statement">'</span>\r
-<span class="Constant">2011</span>/<span class="Constant">05</span>/<span class="Constant">15</span> Prêt ..Chèque_à_encaisser <span class="Constant">100</span>,<span class="Constant">00</span>€ <span class="Constant">100</span>,<span class="Constant">00</span>€\r
-<span class="Constant">2011</span>/<span class="Constant">09</span>/<span class="Constant">20</span> Cotisations ..Chèque_à_encaisser <span class="Constant">20</span>,<span class="Constant">00</span>€ <span class="Constant">120</span>,<span class="Constant">00</span>€\r
-<span class="Constant">2011</span>/<span class="Constant">11</span>/<span class="Constant">10</span> Prêt ..Chèque_à_encaisser <span class="Constant">2000</span>,<span class="Constant">00</span>€ <span class="Constant">2120</span>,<span class="Constant">00</span>€\r
+<span class="hledgerTransactionDate">2014/04/12</span>\r
+<span class="hledgerPostingAccount"> Compte</span><span class="hledgerAccountSeparator">:</span><span class="hledgerPostingAccount">Crédité</span><span class="hledgerPostingAmount"> -</span><span class="hledgerNumber">1234</span><span class="hledgerPostingAmount">,</span><span class="hledgerNumber">56</span>\r
+<span class="hledgerPostingAccountOdd"> Compte</span><span class="hledgerAccountSeparatorOdd">:</span><span class="hledgerPostingAccountOdd">Débité</span> <span class="hledgerTransactionComment">; 1234,56 (montant inféré)</span>\r
</pre></div></div>\r
+</li>\r
+</ul>\r
+</dd>\r
+</dl></div>\r
</div></div>\r
<script type="text/javascript">/*<![CDATA[*/if (slidefootnotes != ''){document.write("<hr/><p>"+slidefootnotes+"</p>");}/*]]>*/</script>\r
</div><div class="slide">\r
\r
<div class="sect2">\r
-<h1 id="_calculer_les_écritures_de_clôture_et_ouverture_code_equity_code">4.6. Calculer les écritures de clôture et ouverture (<code>equity</code>)</h1>\r
-<script type="text/javascript">/*<![CDATA[*/subslide=1;nextclass="sect2";nexttitle="4.6. Calculer les écritures de clôture et ouverture (<code>equity</code>)";slidefootnotes="";/*]]>*/</script>\r
+<h1 id="_calculer_les_écritures_de_clôture_et_ouverture_code_equity_code">4.4. Calculer les écritures de clôture et ouverture (<code>equity</code>)</h1>\r
+<script type="text/javascript">/*<![CDATA[*/subslide=1;nextclass="sect2";nexttitle="4.4. Calculer les écritures de clôture et ouverture (<code>equity</code>)";slidefootnotes="";/*]]>*/</script>\r
<div class="sectionbody">\r
<div class="paragraph">\r
<div class="incremental">\r
-<p><code>hledger-equity</code> calcule une balance de comptes\r
-et en fait deux écritures, respectivement :</p>\r
+<p><code>hledger-equity</code> est du sucre syntaxique autour de <code>hledger balance</code>,\r
+il calcule une balance de soldes de comptes\r
+et en fait deux écritures aux montants opposés,\r
+respectivement :</p>\r
</div>\r
</div>\r
<div class="hdlist"><table><tbody class=" incremental">\r
equity:opening balances 58.00€\r
</pre></div></div></div></td>\r
<td align="left" valign="top"><div><div class="listingblock incremental">\r
-<div class="title">Solde des compte de gestion</div>\r
+<div class="title">Solde des comptes de gestion et calcul du compte de résultat</div>\r
+<div class="content"><pre>\r
+% hledger balance <span class="Special">--flat</span> <span class="Statement">'</span><span class="Constant">^6</span><span class="Statement">'</span> <span class="Statement">'</span><span class="Constant">^7</span><span class="Statement">'</span> <span class="Special">-f</span> Paris.2011.hledger\r
+ <span class="Constant">248</span>,<span class="Constant">87</span>€ 6.Charge:0.Achat:6.Non_stocké:8.Autre_Matière,Fourniture:1.Atelier\r
+ <span class="Constant">441</span>,<span class="Constant">46</span>€ 6.Charge:1.Service:3.Location:2.Immobilière\r
+ <span class="Constant">24</span>,<span class="Constant">00</span>€ 6.Charge:2.Autre_service:3.Communication:6.Catalogue,Imprimé\r
+ <span class="Constant">31</span>,<span class="Constant">25</span>€ 6.Charge:2.Autre_service:7.Service_bancaire\r
+ <span class="Constant">25</span>,<span class="Constant">00</span>€ 6.Charge:5.Gestion:8.Divers:6.Cotisation_<span class="PreProc">(</span><span class="Special">vie_statutaire</span><span class="PreProc">)</span>\r
+ <span class="Constant">-700</span>,<span class="Constant">00</span>€ 7.Produit:0.Vente:6.Prest’action\r
+ <span class="Constant">-20</span>,<span class="Constant">00</span>€ 7.Produit:5.Autre_gestion_courante:6.Cotisation\r
+ <span class="Constant">-6</span>,<span class="Constant">00</span>€ 7.Produit:5.Autre_gestion_courante:8.Divers\r
+‑-------------------\r
+ <span class="Constant">44</span>,<span class="Constant">58</span>€ <span class="Comment"># <-- Résultat déficitaire de 44,58€</span>\r
+</pre></div></div>\r
+<div class="listingblock incremental">\r
+<div class="title">La même chose mais au format <code>.ledger</code></div>\r
<div class="content"><pre>\r
% hledger-equity '^6' '^7' -f Paris.2011.hledger\r
<span class="hledgerTransactionDate">2014/07/29</span>\r
</div><div class="slide">\r
\r
<div class="sect2">\r
-<h1 id="_observer_des_statistiques_code_stats_code_code_activity_code">4.7. Observer des statistiques (<code>stats</code>, <code>activity</code>)</h1>\r
-<script type="text/javascript">/*<![CDATA[*/subslide=1;nextclass="sect2";nexttitle="4.7. Observer des statistiques (<code>stats</code>, <code>activity</code>)";slidefootnotes="";/*]]>*/</script>\r
+<h1 id="_suivre_un_compte_code_register_code">4.5. Suivre un compte (<code>register</code>)</h1>\r
+<script type="text/javascript">/*<![CDATA[*/subslide=1;nextclass="sect2";nexttitle="4.5. Suivre un compte (<code>register</code>)";slidefootnotes="";/*]]>*/</script>\r
+<div class="sectionbody">\r
+<div class="listingblock incremental">\r
+<div class="title">Suivi de la somme des crédits du compte <code>5112</code></div>\r
+<div class="content"><pre>\r
+% hledger register <span class="Special">-f</span> Paris.2011.hledger <span class="Statement">'</span><span class="Constant">amt:<0</span><span class="Statement">'</span> <span class="Statement">'</span><span class="Constant">^5.Finance:1.Etablissement:1.Valeur:2.Chèque_à_encaisser</span><span class="Statement">'</span>\r
+<span class="Constant">2011</span>/<span class="Constant">05</span>/<span class="Constant">23</span> Remise chq <span class="Constant">0994029</span> ..Chèque_à_encaisser <span class="Constant">-100</span>,<span class="Constant">00</span>€ <span class="Constant">-100</span>,<span class="Constant">00</span>€\r
+<span class="Constant">2011</span>/<span class="Constant">09</span>/<span class="Constant">29</span> Remise chq <span class="Constant">1101801</span> ..Chèque_à_encaisser <span class="Constant">-20</span>,<span class="Constant">00</span>€ <span class="Constant">-120</span>,<span class="Constant">00</span>€\r
+<span class="Constant">2011</span>/<span class="Constant">11</span>/<span class="Constant">18</span> Remise chq <span class="Constant">1101802</span> ..Chèque_à_encaisser <span class="Constant">-2000</span>,<span class="Constant">00</span>€ <span class="Constant">-2120</span>,<span class="Constant">00</span>€\r
+</pre></div></div>\r
+<div class="listingblock incremental">\r
+<div class="title">Suivi de la somme des débits du compte <code>5112</code></div>\r
+<div class="content"><pre>\r
+% hledger register <span class="Special">-f</span> Paris.2011.hledger <span class="Statement">'</span><span class="Constant">amt:>0</span><span class="Statement">'</span> <span class="Statement">'</span><span class="Constant">^5.Finance:1.Etablissement:1.Valeur:2.Chèque_à_encaisser</span><span class="Statement">'</span>\r
+<span class="Constant">2011</span>/<span class="Constant">05</span>/<span class="Constant">15</span> Prêt ..Chèque_à_encaisser <span class="Constant">100</span>,<span class="Constant">00</span>€ <span class="Constant">100</span>,<span class="Constant">00</span>€\r
+<span class="Constant">2011</span>/<span class="Constant">09</span>/<span class="Constant">20</span> Cotisations ..Chèque_à_encaisser <span class="Constant">20</span>,<span class="Constant">00</span>€ <span class="Constant">120</span>,<span class="Constant">00</span>€\r
+<span class="Constant">2011</span>/<span class="Constant">11</span>/<span class="Constant">10</span> Prêt ..Chèque_à_encaisser <span class="Constant">2000</span>,<span class="Constant">00</span>€ <span class="Constant">2120</span>,<span class="Constant">00</span>€\r
+</pre></div></div>\r
+<div class="admonitionblock incremental">\r
+<table><tr>\r
+<td class="icon">\r
+<img src="./icons/note.png" alt="Note" />\r
+</td>\r
+<td class="content">Si ces deux commandes ne donnent pas le même montant final\r
+c’est qu’il reste des chèques à encaisser.</td>\r
+</tr></table>\r
+</div>\r
+</div></div>\r
+<script type="text/javascript">/*<![CDATA[*/if (slidefootnotes != ''){document.write("<hr/><p>"+slidefootnotes+"</p>");}/*]]>*/</script>\r
+</div><div class="slide">\r
+\r
+<div class="sect2">\r
+<h1 id="_observer_des_statistiques_code_stats_code_code_activity_code">4.6. Observer des statistiques (<code>stats</code>, <code>activity</code>)</h1>\r
+<script type="text/javascript">/*<![CDATA[*/subslide=1;nextclass="sect2";nexttitle="4.6. Observer des statistiques (<code>stats</code>, <code>activity</code>)";slidefootnotes="";/*]]>*/</script>\r
<div class="sectionbody">\r
<div class="tableblock">\r
<table rules="all"\r
<script type="text/javascript">/*<![CDATA[*/if (slidefootnotes != ''){document.write("<hr/><p>"+slidefootnotes+"</p>");}/*]]>*/</script>\r
</div><div class="slide">\r
\r
+<div class="sect2">\r
+<h1 id="_écrire_des_écritures_code_add_code">4.7. Écrire des écritures (<code>add</code>)</h1>\r
+<script type="text/javascript">/*<![CDATA[*/subslide=1;nextclass="sect2";nexttitle="4.7. Écrire des écritures (<code>add</code>)";slidefootnotes="";/*]]>*/</script>\r
+<div class="sectionbody">\r
+<div class="listingblock incremental">\r
+<div class="title">Sélection d’un modèle selon le libellé</div>\r
+<div class="content"><pre>\r
+% hledger add <span class="Special">-f</span> /tmp/test.ledger\r
+Adding transactions to journal file /tmp/test.ledger\r
+Any command line arguments will be used as defaults.\r
+Use tab key to complete, readline keys to edit, enter to accept defaults.\r
+An optional <span class="PreProc">(</span><span class="Special">CODE</span><span class="PreProc">)</span> may follow transaction dates.\r
+An optional ; COMMENT may follow descriptions or amounts.\r
+If you make a mistake, enter <span class="Statement"><</span> at any prompt to restart the transaction.\r
+To end a transaction, enter<span class="Statement"> . </span>when prompted.\r
+To quit, enter<span class="Statement"> . </span>at a date prompt or press control-d or control-c.\r
+Date <span class="Statement">[</span><span class="Constant">2014</span>/<span class="Constant">07</span>/<span class="Constant">30</span><span class="Statement">]</span>: <span class="Constant">2014</span>/<span class="Constant">01</span>/<span class="Constant">01</span>\r
+Description: Libellé de l’écriture ; UN_TAG:, Autre_tag:Avec_Valeur\r
+Account <span class="Constant">1</span>: A:AA\r
+Amount <span class="Constant">1</span>: <span class="Constant">-42</span>\r
+Account <span class="Constant">2</span>: B:BB:BBB\r
+Amount <span class="Constant">2</span> <span class="Statement">[</span>42.0<span class="Statement">]</span>: <span class="Constant">40</span>\r
+Account <span class="Constant">3</span>: B:A\r
+Amount <span class="Constant">3</span> <span class="Statement">[</span>2.0<span class="Statement">]</span>:\r
+Account <span class="Constant">4</span> <span class="PreProc">(</span><span class="Special">or . or enter to finish this transaction</span><span class="PreProc">)</span>: .\r
+<span class="Constant">2014</span>/<span class="Constant">01</span>/<span class="Constant">01</span> Libellé de l’écriture ; UN_TAG:, Autre_tag:Avec_Valeur\r
+ A:AA <span class="Constant">-42</span>\r
+ B:BB:BBB <span class="Constant">40</span>\r
+ B:A 2.0\r
+\r
+Save this transaction to the journal ? <span class="Statement">[</span>y<span class="Statement">]</span>: y\r
+Saved.\r
+Starting the next transaction <span class="PreProc">(</span><span class="Special">. or ctrl-D/ctrl-C to quit</span><span class="PreProc">)</span>\r
+Date <span class="Statement">[</span><span class="Constant">2014</span>/<span class="Constant">01</span>/<span class="Constant">01</span><span class="Statement">]</span>:\r
+Description: Libellé d’une autre écriture\r
+Using this similar transaction <span class="Statement">for </span>defaults:\r
+<span class="Constant">2014</span>/<span class="Constant">01</span>/<span class="Constant">01</span> Libellé de l’écriture <span class="Statement">;</span> UN_TAG:, Autre_tag:Avec_Valeur\r
+ A:AA <span class="Constant">-42</span>\r
+ B:BB:BBB <span class="Constant">40</span>\r
+ B:A 2.0\r
+\r
+Account <span class="Constant">1</span> <span class="Statement">[</span>A:AA<span class="Statement">]</span>:\r
+Amount <span class="Constant">1</span> <span class="Statement">[</span>-42.0<span class="Statement">]</span>: <span class="Constant">100</span>\r
+Account <span class="Constant">2</span> <span class="Statement">[</span>B:BB:BBB<span class="Statement">]</span>: B\r
+Amount <span class="Constant">2</span> <span class="Statement">[</span>-100.0<span class="Statement">]</span>:\r
+Account <span class="Constant">3</span> <span class="Statement">(</span>or<span class="Statement"> . </span>to finish this transaction<span class="Statement">)</span> <span class="Statement">[</span>B:A<span class="Statement">]</span>: .\r
+<span class="Constant">2014</span>/<span class="Constant">01</span>/<span class="Constant">01</span> Libellé d’une autre écriture\r
+ A:AA <span class="Constant">100</span>\r
+ B -100.0\r
+\r
+Save this transaction to the journal ? <span class="Statement">[</span>y<span class="Statement">]</span>: y\r
+Saved.\r
+Starting the next transaction <span class="Statement">(</span>. or ctrl-D/ctrl-C to quit<span class="Statement">)</span>\r
+Date <span class="Statement">[</span><span class="Constant">2014</span>/<span class="Constant">01</span>/<span class="Constant">01</span><span class="Statement">]</span>: .\r
+</pre></div></div>\r
+<div class="listingblock incremental">\r
+<div class="title">Complètement automatique des comptes</div>\r
+<div class="content"><pre>\r
+% hledger add <span class="Special">-f</span> data/exemple-plan-comptable.ledger\r
+Adding transactions to journal file /home/julm/admin/cyber.coop/src/tool/hledger/doc/data/exemple-plan-comptable.ledger\r
+Any command line arguments will be used as defaults.\r
+Use tab key to complete, readline keys to edit, enter to accept defaults.\r
+An optional <span class="PreProc">(</span><span class="Special">CODE</span><span class="PreProc">)</span> may follow transaction dates.\r
+An optional ; COMMENT may follow descriptions or amounts.\r
+If you make a mistake, enter <span class="Statement"><</span> at any prompt to restart the transaction.\r
+To end a transaction, enter<span class="Statement"> . </span>when prompted.\r
+To quit, enter<span class="Statement"> . </span>at a date prompt or press control-d or control-c.\r
+Date <span class="Statement">[</span><span class="Constant">2014</span>/<span class="Constant">07</span>/<span class="Constant">30</span><span class="Statement">]</span>: yesterday\r
+Description: Trololo\r
+Account <span class="Constant">1</span>: 1.Capital:\r
+1.Capital:0.Fonds 1.Capital:3.Sub_invest_BNR:9.Compte_résultat:1.Equipement\r
+1.Capital:0.Fonds:2.SDR 1.Capital:3.Sub_invest_BNR:9.Compte_résultat:1.Equipement:1.État\r
+1.Capital:0.Fonds:2.SDR:4.Apport 1.Capital:3.Sub_invest_BNR:9.Compte_résultat:1.Equipement:2.Région\r
+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\r
+1.Capital:0.Fonds:3.ADR 1.Capital:3.Sub_invest_BNR:9.Compte_résultat:1.Equipement:4.Commune\r
+1.Capital:0.Fonds:3.ADR:4.Apport 1.Capital:3.Sub_invest_BNR:9.Compte_résultat:1.Equipement:5.Collectivité_publique\r
+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\r
+1.Capital:0.Fonds:6.Réserve 1.Capital:3.Sub_invest_BNR:9.Compte_résultat:1.Equipement:7.Organisme_privé\r
+1.Capital:0.Fonds:6.Réserve:3.Statutaire 1.Capital:3.Sub_invest_BNR:9.Compte_résultat:1.Equipement:8.Autre\r
+1.Capital:0.Fonds:6.Réserve:8.Autre 1.Capital:3.Sub_invest_BNR:9.Compte_résultat:2.Autre\r
+1.Capital:1.Report 1.Capital:5.Provision_risque&charge\r
+1.Capital:1.Report:0.Bénéfice 1.Capital:5.Provision_risque&charge:1.Risque\r
+1.Capital:1.Report:5.Financeur 1.Capital:5.Provision_risque&charge:5.Impôt\r
+1.Capital:1.Report:9.Déficit 1.Capital:5.Provision_risque&charge:8.Autre\r
+1.Capital:2.Résultat 1.Capital:5.Provision_risque&charge:8.Autre:2.Congés_à_payer\r
+1.Capital:2.Résultat:0.Bénéfice 1.Capital:6.Emprunt,Dette\r
+1.Capital:2.Résultat:9.Déficit 1.Capital:6.Emprunt,Dette:4.Etablissement_crédit\r
+1.Capital:3.Sub_invest_BNR 1.Capital:6.Emprunt,Dette:5.Dépôt,Caution\r
+1.Capital:3.Sub_invest_BNR:1.Equipement 1.Capital:6.Emprunt,Dette:8.Autre\r
+1.Capital:3.Sub_invest_BNR:1.Equipement:1.État 1.Capital:6.Emprunt,Dette:8.Autre:1.Emprunt\r
+1.Capital:3.Sub_invest_BNR:1.Equipement:2.Région 1.Capital:6.Emprunt,Dette:8.Autre:1.Emprunt:1.Bénévole\r
+1.Capital:3.Sub_invest_BNR:1.Equipement:3.Département 1.Capital:6.Emprunt,Dette:8.Autre:1.Emprunt:2.Salarié-e\r
+1.Capital:3.Sub_invest_BNR:1.Equipement:4.Commune 1.Capital:6.Emprunt,Dette:8.Autre:1.Emprunt:3.Cyclofficine\r
+1.Capital:3.Sub_invest_BNR:1.Equipement:5.Collectivité_publique 1.Capital:6.Emprunt,Dette:8.Autre:1.Emprunt:4.Autre\r
+1.Capital:3.Sub_invest_BNR:1.Equipement:6.Entreprise_publique 1.Capital:6.Emprunt,Dette:8.Autre:7.Dette\r
+1.Capital:3.Sub_invest_BNR:1.Equipement:7.Organisme_privé 1.Capital:9.Fonds_dédiés\r
+1.Capital:3.Sub_invest_BNR:1.Equipement:8.Autre 1.Capital:9.Fonds_dédiés:4.Sub_exploit\r
+1.Capital:3.Sub_invest_BNR:8.Autre 1.Capital:9.Fonds_dédiés:5.Don_affecté\r
+1.Capital:3.Sub_invest_BNR:9.Compte_résultat\r
+Account <span class="Constant">1</span>: 1.Capital:6.Emprunt,Dette\r
+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\r
+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\r
+1.Capital:6.Emprunt,Dette:5.Dépôt,Caution 1.Capital:6.Emprunt,Dette:8.Autre:1.Emprunt:2.Salarié-e\r
+1.Capital:6.Emprunt,Dette:8.Autre 1.Capital:6.Emprunt,Dette:8.Autre:1.Emprunt:3.Cyclofficine\r
+Account <span class="Constant">1</span>: 1.Capital:6.Emprunt,Dette:4.Etablissement_crédit\r
+Amount <span class="Constant">1</span>: <span class="Constant">-666</span> ; Don’t panic\r
+Account <span class="Constant">2</span>: 5.Finance:\r
+5.Finance:1.Etablissement 5.Finance:1.Etablissement:2.Banque:002.Livret 5.Finance:8.Virement\r
+5.Finance:1.Etablissement:1.Valeur 5.Finance:3.Caisse 5.Finance:8.Virement:0.Interne\r
+5.Finance:1.Etablissement:1.Valeur:2.Chèque_à_encaisser 5.Finance:3.Caisse:1.Siège 5.Finance:8.Virement:1.Fonds\r
+5.Finance:1.Etablissement:2.Banque:001.Courant 5.Finance:3.Caisse:2.Atelier\r
+Account <span class="Constant">2</span>: 5.Finance:1.Etablissement:2.Banque:001.Courant\r
+Amount <span class="Constant">2</span> <span class="Statement">[</span>666.0<span class="Statement">]</span>:\r
+Account <span class="Constant">3</span> <span class="PreProc">(</span><span class="Special">or . or enter to finish this transaction</span><span class="PreProc">)</span>: .\r
+<span class="Constant">2014</span>/<span class="Constant">07</span>/<span class="Constant">29</span> Trololo\r
+ 1.Capital:6.Emprunt,Dette:4.Etablissement_crédit <span class="Constant">-666</span> ; Don’t panic\r
+ 5.Finance:1.Etablissement:2.Banque:001.Courant 666.0\r
+\r
+Save this transaction to the journal ? <span class="Statement">[</span>y<span class="Statement">]</span>: y\r
+Saved.\r
+Starting the next transaction <span class="PreProc">(</span><span class="Special">. or ctrl-D/ctrl-C to quit</span><span class="PreProc">)</span>\r
+Date <span class="Statement">[</span><span class="Constant">2014</span>/<span class="Constant">07</span>/<span class="Constant">29</span><span class="Statement">]</span>: .\r
+</pre></div></div>\r
+</div></div>\r
+<script type="text/javascript">/*<![CDATA[*/if (slidefootnotes != ''){document.write("<hr/><p>"+slidefootnotes+"</p>");}/*]]>*/</script>\r
+</div><div class="slide">\r
+\r
<div class="sect1">\r
<h1 id="_exercice_comptable">5. Exercice comptable</h1>\r
<script type="text/javascript">/*<![CDATA[*/subslide=1;nextclass="sect1";nexttitle="5. Exercice comptable";slidefootnotes="";/*]]>*/</script>\r
<h1 id="_plan_comptable_d_une_association">5.1. Plan comptable d’une association</h1>\r
<script type="text/javascript">/*<![CDATA[*/subslide=1;nextclass="sect2";nexttitle="5.1. Plan comptable d’une association";slidefootnotes="";/*]]>*/</script>\r
<div class="sectionbody">\r
-<div class="admonitionblock incremental">\r
-<table><tr>\r
-<td class="icon">\r
-<img src="./icons/note.png" alt="Note" />\r
-</td>\r
-<td class="content">Brouillon de documentation @ <a href="https://wiki.cyclocoop.org/Comptabilité/Document/Plan_comptable/">https://wiki.cyclocoop.org/Comptabilité/Document/Plan_comptable/</a></td>\r
-</tr></table>\r
-</div>\r
<div class="listingblock incremental">\r
<div class="content"><pre>\r
<span class="Comment">; Plan comptable d’une Cyclofficine</span>\r
</div><div class="slide">\r
\r
<div class="sect2">\r
-<h1 id="_comptabiliser_en_partie_double">5.2. Comptabiliser en partie double</h1>\r
-<script type="text/javascript">/*<![CDATA[*/subslide=1;nextclass="sect2";nexttitle="5.2. Comptabiliser en partie double";slidefootnotes="";/*]]>*/</script>\r
+<h1 id="_relation_de_chasles_par_écritures_d_strong_span_class_black_engagement_span_strong_et_de_strong_span_class_black_paiement_span_strong">5.2. Relation de Chasles par écritures d’<strong><span class="black">engagement</span></strong> et de <strong><span class="black">paiement</span></strong></h1>\r
+<script type="text/javascript">/*<![CDATA[*/subslide=1;nextclass="sect2";nexttitle="5.2. Relation de Chasles par écritures d’<strong><span class="black">engagement</span></strong> et de <strong><span class="black">paiement</span></strong>";slidefootnotes="";/*]]>*/</script>\r
<div class="sectionbody">\r
-<div class="tableblock">\r
-<table rules="all"\r
-width="100%"\r
-frame="border"\r
-cellspacing="0" cellpadding="4">\r
-<col width="50%" />\r
-<col width="50%" />\r
-<tbody class="incremental">\r
-<tr>\r
-<td align="left" valign="top"><div><div class="dlist"><dl class=" incremental">\r
-<dt class="hdlist1">\r
-Balance nulle de toute écriture\r
-</dt>\r
-<dd>\r
-<p>\r
-<code>hledger</code> n’accepte aucune écriture qui ne respecte\r
-pas cette contrainte de la tâche comptable :<br />\r
-</p>\r
<div class="paragraph">\r
<div class="incremental">\r
-<p>« <em>Pour toute écriture, tout ce qui est <em><span class="black">débité</span></em> (<code>+</code>) dans ses comptes<br />\r
-est forcément <em><span class="black">crédité</span></em> (<code>-</code>) dans ses autres comptes,<br />\r
-et réciproquement.</em> »</p>\r
+<p><code>hledger</code> laisse l’humain s’occuper de ce principe de la tâche comptable\r
+qui traduit la réalité temporelle des mouvements d’argent.</p>\r
+</div>\r
+</div>\r
+<div class="paragraph">\r
+<div class="incremental">\r
+<p>+</p>\r
</div>\r
</div>\r
-<ul class=" incremental">\r
-<li>\r
-<span>\r
-Formellement : <span class=" LaTeX ">$\forall e : \textcolor{#D2691E}{\textbf{\acute{e}criture}},\r
- \ \textbf{balance}\>(\textbf{flux}\>{e}) = 0$</span>\r
-</span>\r
-<div class="listingblock incremental">\r
-<div class="content"><pre>\r
-<span class="hledgerTransactionDate">2014/04/12</span>\r
-<span class="hledgerPostingAccount"> Compte</span><span class="hledgerAccountSeparator">:</span><span class="hledgerPostingAccount">Crédité</span><span class="hledgerPostingAmount"> -</span><span class="hledgerNumber">1234</span><span class="hledgerPostingAmount">,</span><span class="hledgerNumber">56</span>\r
-<span class="hledgerPostingAccountOdd"> Compte</span><span class="hledgerAccountSeparatorOdd">:</span><span class="hledgerPostingAccountOdd">Débité</span> <span class="hledgerTransactionComment">; 1234,56 (montant inféré)</span>\r
-</pre></div></div>\r
-</li>\r
-</ul>\r
-</dd>\r
-</dl></div></div></td>\r
-<td align="left" valign="top"><div><div class="dlist"><dl class=" incremental">\r
-<dt class="hdlist1">\r
-Relation de Chasles par écritures d’<strong><span class="black">engagement</span></strong> et de <strong><span class="black">paiement</span></strong>\r
-</dt>\r
-<dd>\r
-<p>\r
-<code>hledger</code> laisse l’humain s’occuper de ce principe de la tâche comptable\r
-qui traduit la réalité temporelle des mouvements d’argent.\r
-</p>\r
<div class="listingblock incremental">\r
<div class="content"><pre>\r
<span class="hledgerTransactionDate">01/01</span> <span class="hledgerTransactionDescription">Prestation </span><span class="hledgerTransactionComment">; Écriture d’engagement (pièce </span><span class="hledgerTag">comptable :</span><span class="hledgerTagValue"> facture)</span>\r
<span class="hledgerPostingAccount"> </span><span class="hledgerNumber">4</span><span class="hledgerPostingAccount">.Tiers</span><span class="hledgerAccountSeparator">:</span><span class="hledgerNumber">1</span><span class="hledgerPostingAccount">.Client</span><span class="hledgerAccountSeparator">:</span><span class="hledgerNumber">1</span><span class="hledgerPostingAccount">.Client</span><span class="hledgerAccountSeparator">:</span><span class="hledgerNumber">1</span><span class="hledgerPostingAccount">.Bien,Prestation</span><span class="hledgerAccountSeparator">:</span><span class="hledgerNumber">007</span><span class="hledgerPostingAccount">.Mairie_du_XI</span><span class="hledgerPostingAmount"> -</span><span class="hledgerNumber">700</span><span class="hledgerPostingAmount">,</span><span class="hledgerNumber">00</span>\r
<span class="hledgerPostingAccountOdd"> </span><span class="hledgerNumberOdd">5</span><span class="hledgerPostingAccountOdd">.Finance</span><span class="hledgerAccountSeparatorOdd">:</span><span class="hledgerNumberOdd">1</span><span class="hledgerPostingAccountOdd">.Etablissement</span><span class="hledgerAccountSeparatorOdd">:</span><span class="hledgerNumberOdd">2</span><span class="hledgerPostingAccountOdd">.Banque</span><span class="hledgerAccountSeparatorOdd">:</span><span class="hledgerNumberOdd">001</span><span class="hledgerPostingAccountOdd">.Courant</span><span class="hledgerPostingAmountOdd"> </span><span class="hledgerNumberOdd">700</span><span class="hledgerPostingAmountOdd">,</span><span class="hledgerNumberOdd">00</span>\r
</pre></div></div>\r
-</dd>\r
-</dl></div></div></td>\r
-</tr>\r
-</tbody>\r
-</table>\r
-</div>\r
</div></div>\r
<script type="text/javascript">/*<![CDATA[*/if (slidefootnotes != ''){document.write("<hr/><p>"+slidefootnotes+"</p>");}/*]]>*/</script>\r
</div><div class="slide">\r
</li>\r
<li>\r
<span>\r
-Total chèques à encaisser (5112) == Total remises de chèques à la banque (512) (+/- argent non déposé en banque)\r
+Total chèques à encaisser (5112) == Total remises de chèques à la banque (512) (+/- chèques non déposés en banque)\r
</span>\r
<div class="admonitionblock incremental">\r
<table><tr>\r
<td class="icon">\r
<img src="./icons/note.png" alt="Note" />\r
</td>\r
-<td class="content">vérifier qu’il ne reste plus de chèque comptabilisés dans le tiroir</td>\r
+<td class="content">vérifier qu’il ne reste plus de chèques comptabilisés dans le tiroir</td>\r
</tr></table>\r
</div>\r
</li>\r
<h1 id="_import_et_export_avec_code_hledger_code">6. Import et export avec <code>hledger</code></h1>\r
<script type="text/javascript">/*<![CDATA[*/subslide=1;nextclass="sect1";nexttitle="6. Import et export avec <code>hledger</code>";slidefootnotes="";/*]]>*/</script>\r
<div class="sectionbody">\r
-<ul class=" incremental">\r
+<div class="paragraph">\r
+<div class="incremental">\r
+<p>Comme la plupart des logiciels de comptabilité,\r
+<code>hledger</code> interropère avec le format de tableaux\r
+<a href="http://en.wikipedia.org/wiki/Comma-separated_values">CSV</a></p>\r
+</div>\r
+</div>\r
+<div class="dlist"><dl class=" incremental">\r
+<dt class="hdlist1">\r
+<code>hledger-print-csv</code>\r
+</dt>\r
+<dd>\r
+<div class="listingblock incremental">\r
+<div class="content"><pre>\r
+% hledger-<span class="Statement">print</span><span class="Constant">-csv -f data/exemple-syntaxe.ledger</span>\r
+<span class="Statement">"</span><span class="Constant">nth</span><span class="Statement">"</span>,<span class="Statement">"</span><span class="Constant">date</span><span class="Statement">"</span>,<span class="Statement">"</span><span class="Constant">date2</span><span class="Statement">"</span>,<span class="Statement">"</span><span class="Constant">status</span><span class="Statement">"</span>,<span class="Statement">"</span><span class="Constant">code</span><span class="Statement">"</span>,<span class="Statement">"</span><span class="Constant">description</span><span class="Statement">"</span>,<span class="Statement">"</span><span class="Constant">comment</span><span class="Statement">"</span>,<span class="Statement">"</span><span class="Constant">account</span><span class="Statement">"</span>,<span class="Statement">"</span><span class="Constant">amount</span><span class="Statement">"</span>,<span class="Statement">"</span><span class="Constant">commodity</span><span class="Statement">"</span>,<span class="Statement">"</span><span class="Constant">credit</span><span class="Statement">"</span>,<span class="Statement">"</span><span class="Constant">debit</span><span class="Statement">"</span>,<span class="Statement">"</span><span class="Constant">status</span><span class="Statement">"</span>,<span class="Statement">"</span><span class="Constant">posting-comment</span><span class="Statement">"</span>\r
+<span class="Statement">"</span><span class="Constant">0</span><span class="Statement">"</span>,<span class="Statement">"</span><span class="Constant">2014/01/01</span><span class="Statement">"</span>,<span class="Statement">""</span>,<span class="Statement">""</span>,<span class="Statement">""</span>,<span class="Statement">"</span><span class="Constant">Libellé de l</span><span class="Special">’</span><span class="Constant">écriture</span><span class="Statement">"</span>,<span class="Statement">"</span><span class="Constant">UN_TAG:, Autre_tag:Avec_Valeur</span><span class="Statement">"</span>,<span class="Statement">"</span><span class="Constant">A:AA</span><span class="Statement">"</span>,<span class="Statement">"</span><span class="Constant">-42.00</span><span class="Statement">"</span>,<span class="Statement">"</span><span class="Special">€</span><span class="Statement">"</span>,<span class="Statement">"</span><span class="Constant">42.00</span><span class="Statement">"</span>,<span class="Statement">""</span>,<span class="Statement">""</span>,<span class="Statement">"</span><span class="Constant">flux créditant</span><span class="Statement">"</span>\r
+<span class="Statement">"</span><span class="Constant">0</span><span class="Statement">"</span>,<span class="Statement">"</span><span class="Constant">2014/01/01</span><span class="Statement">"</span>,<span class="Statement">""</span>,<span class="Statement">""</span>,<span class="Statement">""</span>,<span class="Statement">"</span><span class="Constant">Libellé de l</span><span class="Special">’</span><span class="Constant">écriture</span><span class="Statement">"</span>,<span class="Statement">"</span><span class="Constant">UN_TAG:, Autre_tag:Avec_Valeur</span><span class="Statement">"</span>,<span class="Statement">"</span><span class="Constant">B:BB:BBB</span><span class="Statement">"</span>,<span class="Statement">"</span><span class="Constant">40.00</span><span class="Statement">"</span>,<span class="Statement">"</span><span class="Special">€</span><span class="Statement">"</span>,<span class="Statement">""</span>,<span class="Statement">"</span><span class="Constant">40.00</span><span class="Statement">"</span>,<span class="Statement">""</span>,<span class="Statement">"</span><span class="Constant">flux débitant</span><span class="Statement">"</span>\r
+<span class="Statement">"</span><span class="Constant">0</span><span class="Statement">"</span>,<span class="Statement">"</span><span class="Constant">2014/01/01</span><span class="Statement">"</span>,<span class="Statement">""</span>,<span class="Statement">""</span>,<span class="Statement">""</span>,<span class="Statement">"</span><span class="Constant">Libellé de l</span><span class="Special">’</span><span class="Constant">écriture</span><span class="Statement">"</span>,<span class="Statement">"</span><span class="Constant">UN_TAG:, Autre_tag:Avec_Valeur</span><span class="Statement">"</span>,<span class="Statement">"</span><span class="Constant">B:A</span><span class="Statement">"</span>,<span class="Statement">"</span><span class="Constant">2.00</span><span class="Statement">"</span>,<span class="Statement">"</span><span class="Special">€</span><span class="Statement">"</span>,<span class="Statement">""</span>,<span class="Statement">"</span><span class="Constant">2.00</span><span class="Statement">"</span>,<span class="Statement">""</span>,<span class="Statement">"</span><span class="Constant">flux débitant ventilé</span><span class="Statement">"</span>\r
+<span class="Statement">"</span><span class="Constant">1</span><span class="Statement">"</span>,<span class="Statement">"</span><span class="Constant">2014/01/02</span><span class="Statement">"</span>,<span class="Statement">""</span>,<span class="Statement">""</span>,<span class="Statement">""</span>,<span class="Statement">"</span><span class="Constant">Libellé d</span><span class="Special">’</span><span class="Constant">une autre écriture</span><span class="Statement">"</span>,<span class="Statement">""</span>,<span class="Statement">"</span><span class="Constant">A:AA</span><span class="Statement">"</span>,<span class="Statement">"</span><span class="Constant">100.00</span><span class="Statement">"</span>,<span class="Statement">"</span><span class="Special">€</span><span class="Statement">"</span>,<span class="Statement">""</span>,<span class="Statement">"</span><span class="Constant">100.00</span><span class="Statement">"</span>,<span class="Statement">""</span>,<span class="Statement">"</span><span class="Constant">UN_TAG_de_flux:</span><span class="Statement">"</span>\r
+<span class="Statement">"</span><span class="Constant">1</span><span class="Statement">"</span>,<span class="Statement">"</span><span class="Constant">2014/01/02</span><span class="Statement">"</span>,<span class="Statement">""</span>,<span class="Statement">""</span>,<span class="Statement">""</span>,<span class="Statement">"</span><span class="Constant">Libellé d</span><span class="Special">’</span><span class="Constant">une autre écriture</span><span class="Statement">"</span>,<span class="Statement">""</span>,<span class="Statement">"</span><span class="Constant">B</span><span class="Statement">"</span>,<span class="Statement">"</span><span class="Constant">-100.00</span><span class="Statement">"</span>,<span class="Statement">"</span><span class="Special">€</span><span class="Statement">"</span>,<span class="Statement">"</span><span class="Constant">100.00</span><span class="Statement">"</span>,<span class="Statement">""</span>,<span class="Statement">""</span>,<span class="Statement">"</span><span class="Constant">ATTENTION: au moins deux espaces requises entre le compte et le montant</span><span class="Statement">"</span>\r
+</pre></div></div>\r
+</dd>\r
+<dt class="hdlist1">\r
+<code>*.ledger.rules</code>\r
+</dt>\r
+<dd>\r
+<p>\r
+<a href="http://hledger.org/manual#csv-files">http://hledger.org/manual#csv-files</a>\r
+</p>\r
+<div class="listingblock incremental">\r
+<div class="content"><pre>\r
+% cat banque-postale.livret_A.csv.rules\r
+skip 1\r
+fields date,description,amount\r
+date-format %-d/%-m/%Y\r
+\r
+if .INTERETS ACQUIS DECOMPTE D'INTERETS .\r
+ account1 Banque:Postale:Livret_A\r
+ account2 Recette:Intérêts:Inflation\r
+</pre></div></div>\r
+</dd>\r
+</dl></div>\r
+<div class="title">Pour des besoins plus complexes</div><ul class=" incremental">\r
<li>\r
<span>\r
<a href="https://github.com/eval/total_recall">https://github.com/eval/total_recall</a>\r
<a href="https://github.com/quentinsf/icsv2ledger">https://github.com/quentinsf/icsv2ledger</a>\r
</span>\r
</li>\r
+<li>\r
+<span>\r
+ou script sur mesure (ex. <code>hledger-of-oxygen-csv.pl</code>)\r
+</span>\r
+</li>\r
</ul>\r
</div></div>\r
<script type="text/javascript">/*<![CDATA[*/if (slidefootnotes != ''){document.write("<hr/><p>"+slidefootnotes+"</p>");}/*]]>*/</script>\r
</div>\r
<div id="footer" style="position: absolute; left: 5%; top: 80%; width: 90%;">\r
<div id="footer-text">\r
-Version 61f2b02<br />\r
-Dernière mise à jour 2014-07-30 07:52:47 CEST\r
+Version 2014.07.30<br />\r
+Dernière mise à jour 2014-07-30 19:50:36 CEST\r
</div>\r
</div>\r
</div></div>\r