From 1a2d1e992bd973ce34e0951ababc071298117242 Mon Sep 17 00:00:00 2001 From: Julien Moutinho Date: Wed, 30 Jul 2014 07:53:51 +0200 Subject: [PATCH] Ajout : doc/ (suite) --- doc/GNUmakefile | 2 +- doc/data/Cyclofficine.Plan_comptable.hledger | 380 +-- doc/data/Luca_Pacioli_(Gemaelde).jpeg | Bin 0 -> 36936 bytes doc/data/exemple-plan-comptable.ledger | 5 + doc/data/exemple-syntaxe.ledger | 12 + doc/hledger.fr.slidy.ad | 912 ++++--- doc/hledger.fr.slidy.css | 19 +- doc/hledger.fr.slidy.d | 2 + doc/hledger.fr.slidy.html | 2232 ++++++++++++------ 9 files changed, 2241 insertions(+), 1323 deletions(-) mode change 100644 => 120000 doc/data/Cyclofficine.Plan_comptable.hledger create mode 100644 doc/data/Luca_Pacioli_(Gemaelde).jpeg create mode 100644 doc/data/exemple-plan-comptable.ledger create mode 100644 doc/data/exemple-syntaxe.ledger diff --git a/doc/GNUmakefile b/doc/GNUmakefile index fc5343d..3ccf846 100644 --- a/doc/GNUmakefile +++ b/doc/GNUmakefile @@ -31,7 +31,7 @@ $(tool)/.../lib/tool/asciidoc/GNUmakefile: \ ### slidy %.slidy.html: export ASCIIDOC_FLAGS+=-arevnumber="$(VERSION)" %.slidy.html: export ASCIIDOC_FLAGS+=-atabsize=0 -%.slidy.html: export ASCIIDOC_FLAGS+=-alatexmath=0 +%.slidy.html: export ASCIIDOC_FLAGS+=-alatexmath $(patsubst %.ad,%.html,$(wildcard *.slidy.ad)): \ $(tool/asciidoc)/conf/latexmath.conf \ diff --git a/doc/data/Cyclofficine.Plan_comptable.hledger b/doc/data/Cyclofficine.Plan_comptable.hledger deleted file mode 100644 index a40fb83..0000000 --- a/doc/data/Cyclofficine.Plan_comptable.hledger +++ /dev/null @@ -1,379 +0,0 @@ -01/01 Initialisation des comptes - 1.Capital 0 ; 1. COMPTES DE CAPITAUX - 1.Capital:0.Fonds 0 ; 10. Fonds associatifs et reserves - 1.Capital:0.Fonds:2.SDR 0 ; 102. Fonds associatifs sans droit de reprise (SDR) - 1.Capital:0.Fonds:2.SDR:4.Apport 0 ; 1024. Apports SDR - 1.Capital:0.Fonds:2.SDR:6.Sub_invest_BR 0 ; 1026. Subventions d’investissement (biens renouvelables) SDR - 1.Capital:0.Fonds:3.ADR 0 ; 103. Fonds associatifs avec droit de reprise (ADR) - 1.Capital:0.Fonds:3.ADR:4.Apport 0 ; 1034. Apports ADR - 1.Capital:0.Fonds:3.ADR:6.Sub_invest_BR 0 ; 1036. Subventions d’investissement (biens renouvelables) ADR - 1.Capital:0.Fonds:6.Réserve 0 ; 106. Réserves - 1.Capital:0.Fonds:6.Réserve:3.Statutaire 0 ; 1063. Réserves statutaires ou contractuelles - 1.Capital:0.Fonds:6.Réserve:8.Autre 0 ; 1068. Autres réserves (dont réserves pour projet associatif) - 1.Capital:1.Report 0 ; 11. Report à nouveau - 1.Capital:1.Report:0.Bénéfice 0 ; 110. Report à nouveau (solde créditeur/bénéfice) - 1.Capital:1.Report:5.Financeur 0 ; 115. Résultats sous contrôle de tiers financeurs - 1.Capital:1.Report:9.Déficit 0 ; 119. Report à nouveau (solde débiteur/perte) - 1.Capital:2.Résultat 0 ; 12. Résultat net de l’exercice - 1.Capital:2.Résultat:0.Bénéfice 0 ; 120. Résultat de l’exercice (excédent/bénéfice) - 1.Capital:2.Résultat:9.Déficit 0 ; 129. Résultat de l’exercice (déficit/perte) - 1.Capital:3.Sub_invest_BNR 0 ; 13. Subventions d’investissements (biens non renouvelables) ADR - 1.Capital:3.Sub_invest_BNR:1.Equipement 0 ; 131. Subventions d’équipement - 1.Capital:3.Sub_invest_BNR:1.Equipement:1.État 0 ; 1311. État - 1.Capital:3.Sub_invest_BNR:1.Equipement:2.Région 0 ; 1312. Région - 1.Capital:3.Sub_invest_BNR:1.Equipement:3.Département 0 ; 1313. Département - 1.Capital:3.Sub_invest_BNR:1.Equipement:4.Commune 0 ; 1314. Commune - 1.Capital:3.Sub_invest_BNR:1.Equipement:5.Collectivité_publique 0 ; 1315. Collectivités publiques - 1.Capital:3.Sub_invest_BNR:1.Equipement:6.Entreprise_publique 0 ; 1316. Entreprises publiques - 1.Capital:3.Sub_invest_BNR:1.Equipement:7.Organisme_privé 0 ; 1317. Entreprises et organismes privés - 1.Capital:3.Sub_invest_BNR:1.Equipement:8.Autre 0 ; 1318. Autres - 1.Capital:3.Sub_invest_BNR:8.Autre 0 ; 138. Autres subventions d’investissement - 1.Capital:3.Sub_invest_BNR:9.Compte_résultat 0 ; 139. Subventions d’investissements inscrites au compte de résultat - 1.Capital:3.Sub_invest_BNR:9.Compte_résultat:1.Equipement 0 ; 1391. Subvention d'équipement - 1.Capital:3.Sub_invest_BNR:9.Compte_résultat:1.Equipement:1.État 0 ; 13911. État - 1.Capital:3.Sub_invest_BNR:9.Compte_résultat:1.Equipement:2.Région 0 ; 13912. Région - 1.Capital:3.Sub_invest_BNR:9.Compte_résultat:1.Equipement:3.Département 0 ; 13913. Département - 1.Capital:3.Sub_invest_BNR:9.Compte_résultat:1.Equipement:4.Commune 0 ; 13914. Commune - 1.Capital:3.Sub_invest_BNR:9.Compte_résultat:1.Equipement:5.Collectivité_publique 0 ; 13915. Collectivités publiques - 1.Capital:3.Sub_invest_BNR:9.Compte_résultat:1.Equipement:6.Entreprise_publique 0 ; 13916. Entreprises publiques - 1.Capital:3.Sub_invest_BNR:9.Compte_résultat:1.Equipement:7.Organisme_privé 0 ; 13917. Entreprises et organismes privés - 1.Capital:3.Sub_invest_BNR:9.Compte_résultat:1.Equipement:8.Autre 0 ; 13918. Autres - 1.Capital:3.Sub_invest_BNR:9.Compte_résultat:2.Autre 0 ; 1392. Autres subventions d'investissement - 1.Capital:5.Provision_risque&charge 0 ; 15. Provisions pour risques et charges - 1.Capital:5.Provision_risque&charge:1.Risque 0 ; 151. Provisions pour risques - 1.Capital:5.Provision_risque&charge:5.Impôt 0 ; 155. Provisions pour impôts - 1.Capital:5.Provision_risque&charge:8.Autre 0 ; 158. Autres provisions pour charges - 1.Capital:5.Provision_risque&charge:8.Autre:2.Congés_à_payer 0 ; 1582. Provisions pour congés à payer - 1.Capital:6.Emprunt,Dette 0 ; 16. Emprunts et dettes assimilees - 1.Capital:6.Emprunt,Dette:4.Etablissement_crédit 0 ; 164. Emprunts auprès des établissements de crédit - 1.Capital:6.Emprunt,Dette:5.Dépôt,Caution 0 ; 165. Dépôts et cautionnements reçus - 1.Capital:6.Emprunt,Dette:8.Autre 0 ; 168. Autres emprunts et dettes assimilées - 1.Capital:6.Emprunt,Dette:8.Autre:1.Emprunt 0 ; 1681. Autres emprunts - 1.Capital:6.Emprunt,Dette:8.Autre:1.Emprunt:1.Bénévole 0 ; 16811. Bénévoles - 1.Capital:6.Emprunt,Dette:8.Autre:1.Emprunt:2.Salarié-e 0 ; 16812. Salarié-e-s - 1.Capital:6.Emprunt,Dette:8.Autre:1.Emprunt:3.Cyclofficine 0 ; 16813. Cyclofficine - 1.Capital:6.Emprunt,Dette:8.Autre:1.Emprunt:4.Autre 0 ; 16814. Autre - 1.Capital:6.Emprunt,Dette:8.Autre:7.Dette 0 ; 1687. Autres dettes - 1.Capital:9.Fonds_dédiés 0 ; 19. Fonds dédiés - 1.Capital:9.Fonds_dédiés:4.Sub_exploit 0 ; 194. Fonds dédiés sur subventions de fonctionnement - 1.Capital:9.Fonds_dédiés:5.Don_affecté 0 ; 195. Fonds dédiés sur dons manuels affectés - 2.Immobilisation 0 ; 2. COMPTES D'IMMOBILISATIONS - 2.Immobilisation:1.Corporelle 0 ; 21. Immobilisations corporelles - 2.Immobilisation:1.Corporelle:5.Equipement 0 ; 215. Installations techniques, matériel et outillage industriels - 2.Immobilisation:1.Corporelle:8.Autre 0 ; 218. Autres immobilisations corporelles - 2.Immobilisation:1.Corporelle:8.Autre:1.Travaux 0 ; 2181. Installation générale, agencement, aménagement divers - 2.Immobilisation:1.Corporelle:8.Autre:2.Transport 0 ; 2182. Matériel de transport - 2.Immobilisation:1.Corporelle:8.Autre:3.Matériel_bureau&info 0 ; 2183. Matériel de bureau et matériel informatique - 2.Immobilisation:1.Corporelle:8.Autre:4.Mobilier 0 ; 2184. Mobilier - 2.Immobilisation:2.Concession 0 ; 22. Immobilisations mises en concession - 2.Immobilisation:2.Concession:8.Immo_grévées_droits 0 ; 228. Immobilisations grevées de droits - 2.Immobilisation:2.Concession:9.Droits_propriétaire 0 ; 229. Droits des propriétaires - 2.Immobilisation:6.Participation 0 ; 26.Participations et créances rattachées à des participations - 2.Immobilisation:6.Participation:1.Titre 0 ; 261. Titres de participation - 2.Immobilisation:6.Participation:1.Titre:8.Autre 0 ; 2618. Autres titres - 2.Immobilisation:7.Financière 0 ; 27. Autres immobilisations financières - 2.Immobilisation:7.Financière:4.Prêt 0 ; 274. Prêts - 2.Immobilisation:7.Financière:4.Prêt:3.Au_personnel 0 ; 2743. Prêts au personnel - 2.Immobilisation:7.Financière:4.Prêt:8.Autre 0 ; 2748. Autres prêts - 2.Immobilisation:7.Financière:5.Dépôt,Caution 0 ; 275. Dépôts et cautionnements versés - 2.Immobilisation:8.Amortissement 0 ; 28. Amortissements des immobilisations - 2.Immobilisation:8.Amortissement:1.Immo_corp 0 ; 281. Amortissements des immobilisations corporelles - 2.Immobilisation:8.Amortissement:1.Immo_corp:5.Equipement 0 ; 2815. Installations techniques, matériel et outillage industriels (même ventilation que celle du_compte_215) - 2.Immobilisation:8.Amortissement:1.Immo_corp:8.Autre 0 ; 2818. Autres immobilisations corporelles - 4.Tiers 0 ; 4. COMPTES TIERS - 4.Tiers:0.Fournisseur 0 ; 40. Fournisseurs et comptes rattachés - 4.Tiers:0.Fournisseur:1.Fournisseur 0 ; 401. Fournisseurs - 4.Tiers:0.Fournisseur:1.Fournisseur:1.Bien,Prestation 0 ; 4011. Fournisseurs - achats de biens ou de prestations de services - 4.Tiers:0.Fournisseur:1.Fournisseur:7.Retenue_garantie 0 ; 4017. Fournisseurs - Retenue de garantie - 4.Tiers:0.Fournisseur:3.Effets_à_payer 0 ; 403. Fournisseurs - effets à payer - 4.Tiers:0.Fournisseur:4.Immobilisation 0 ; 404. Fournisseurs d’immobilisations - 4.Tiers:0.Fournisseur:4.Immobilisation:1.Achat 0 ; 4041. Fournisseurs - Achats d'immobilisations - 4.Tiers:0.Fournisseur:4.Immobilisation:7.Retenue_garantie 0 ; 4047. Fournisseurs d'immobilisations - Retenue de garantie - 4.Tiers:0.Fournisseur:5.Immo_effets_à_payer 0 ; 405. Fournisseurs d’immobilisations - Effets à payer - 4.Tiers:0.Fournisseur:8.Facture_non_parvenue 0 ; 408. Fournisseurs - Factures non parvenues - 4.Tiers:0.Fournisseur:8.Facture_non_parvenue:1.Bien,Prestation 0 ; 4081. Fournisseurs - Achats de biens ou prestations de service - 4.Tiers:0.Fournisseur:8.Facture_non_parvenue:4.Immobilisation 0 ; 4084. Fournisseurs - Achats d'immobilisations - 4.Tiers:0.Fournisseur:9.Débiteur 0 ; 409. Fournisseurs débiteurs - 4.Tiers:0.Fournisseur:9.Débiteur:1.Accompte 0 ; 4091. Fournisseurs - Avances et accomptes versés sur commandes - 4.Tiers:0.Fournisseur:9.Débiteur:7.Autre_avoir 0 ; 4097. Autres avoirs - 4.Tiers:1.Client 0 ; 41. Usagers et comptes rattachés - 4.Tiers:1.Client:1.Client 0 ; 411. Clients - 4.Tiers:1.Client:1.Client:1.Bien,Prestation 0 ; 4111. Clients - Vente de biens et prestations de service - 4.Tiers:1.Client:1.Client:7.Retenue_garantie 0 ; 4117. Clients - Retenue de garantie - 4.Tiers:1.Client:3.Effets_à_recevoir 0 ; 413. Clients - Effets à recevoir - 4.Tiers:1.Client:8.Produit_non_facturé 0 ; 418. Clients - Produits non encore facturés - 4.Tiers:1.Client:9.Créditeur 0 ; 419. Clients créditeurs - 4.Tiers:1.Client:9.Créditeur:1.Accompte 0 ; 4191. Clients - Avances et accomptes versés sur commandes - 4.Tiers:1.Client:9.Créditeur:7.Autre_avoir 0 ; 4197. Clients - Autres avoirs - 4.Tiers:2.Personnel 0 ; 42. Personnel et comptes rattachés - 4.Tiers:2.Personnel:1.Rémunération 0 ; 421. Rémunérations dues - 4.Tiers:2.Personnel:1.Rémunération:011801.S_Arca 0 ; 421011801. S. Arca - 4.Tiers:2.Personnel:1.Rémunération:030101.G_Caprarelli 0 ; 421030101. G. Caprarelli - 4.Tiers:2.Personnel:1.Rémunération:060101.T_Favier 0 ; 421060101. T.Favier - 4.Tiers:2.Personnel:1.Rémunération:131501.A_Morin 0 ; 421131501. A. Morin - 4.Tiers:2.Personnel:1.Rémunération:161501.S_Popek 0 ; 421161501. S. Popek - 4.Tiers:2.Personnel:5.Avances 0 ; 425. Personnel - Avances et accomptes - 4.Tiers:2.Personnel:8.CP&PR 0 ; 428. Personnel - Charges à payer et produits à recevoir - 4.Tiers:2.Personnel:8.CP&PR:2.Congés_à_payer 0 ; 4282. Dettes provisionnées pour congés à payer - 4.Tiers:2.Personnel:8.CP&PR:6.Autre_charge_à_payer 0 ; 4286. Autres charges à payer - 4.Tiers:2.Personnel:8.CP&PR:7.Produit_à_recevoir 0 ; 4287. Produits à recevoir - 4.Tiers:3.Caisse_sociale 0 ; 43. Securite sociale et autres organismes sociaux - 4.Tiers:3.Caisse_sociale:1.URSSAF 0 ; 431. URSSAF - 4.Tiers:3.Caisse_sociale:7.Autre 0 ; 437. Autres organismes sociaux - 4.Tiers:3.Caisse_sociale:7.Autre:3.B2V 0 ; 4373. Caisse de retraite - 4.Tiers:3.Caisse_sociale:7.Autre:8.Autre 0 ; 4378. Autres organismes sociaux - 4.Tiers:3.Caisse_sociale:7.Autre:8.Autre:1.AG2R 0 ; 43781. Prévoyance - 4.Tiers:3.Caisse_sociale:8.CP&PR 0 ; 438. Charges à payer et produits à recevoir - 4.Tiers:3.Caisse_sociale:8.CP&PR:2.Cotisation_congé_à_payer 0 ; 4382. Cotisations sociales sur congés à payer - 4.Tiers:3.Caisse_sociale:8.CP&PR:6.Autre_charge_à_payer 0 ; 4386. Autres charges à payer - 4.Tiers:3.Caisse_sociale:8.CP&PR:7.Produit_à_recevoir 0 ; 4387. Produits à recevoir - 4.Tiers:4.État,collectivité 0 ; 44. État et autres collectivites publiques - 4.Tiers:4.État,collectivité:1.Sub_à_recevoir 0 ; 441. Subventions à recevoir - 4.Tiers:4.État,collectivité:1.Sub_à_recevoir:1.Investissement 0 ; 4411. Subventions d'investissement - 4.Tiers:4.État,collectivité:1.Sub_à_recevoir:7.Exploitation 0 ; 4417. Subventions d'exploitation - 4.Tiers:4.État,collectivité:1.Sub_à_recevoir:8.Equilibre 0 ; 4418. Subvention d'équilibre - 4.Tiers:4.État,collectivité:1.Sub_à_recevoir:9.Avance_sur_sub 0 ; 4419. Avances sur subventions - 4.Tiers:4.État,collectivité:3.Opération_particulière 0 ; 443. Opérations particulières avec l’État, les collectivités publiques, les organismes internationaux - 4.Tiers:4.État,collectivité:4.Impôt_sur_bénéfice 0 ; 444. État- Impôts sur les bénéfices - 4.Tiers:4.État,collectivité:4.Impôt_sur_bénéfice:5.Sur_société 0 ; 4445. État - Impôt sur les sociétés - 4.Tiers:4.État,collectivité:7.Autre_impôt 0 ; 447.Autres impôts, taxes et versements assimilés - 4.Tiers:4.État,collectivité:7.Autre_impôt:1.Sur_rémunération_(État) 0 ; 4471. Impôts, taxes et versements assimilés sur rémunérations (administration des impôts) - 4.Tiers:4.État,collectivité:7.Autre_impôt:1.Sur_rémunération_(État):1.Taxe_salaire 0 ; 44711. Taxe sur les salaires - 4.Tiers:4.État,collectivité:7.Autre_impôt:1.Sur_rémunération_(État):2.Formation_pro 0 ; 44712. Participation des employeurs à la formation professionnelle continue - 4.Tiers:4.État,collectivité:7.Autre_impôt:1.Sur_rémunération_(État):8.Autre 0 ; 44718. Autres impôts, taxes et versements assimilés - 4.Tiers:4.État,collectivité:7.Autre_impôt:3.Sur_rémunération_(Organisme) 0 ; 4473. Impôts, taxes et versements sur rémunérations (autres organismes) - 4.Tiers:4.État,collectivité:7.Autre_impôt:3.Sur_rémunération_(Organisme):3.Formation_pro 0 ; 44733. Participation des employeurs à la formation professionnelle continue - 4.Tiers:4.État,collectivité:7.Autre_impôt:5.Autre_(État) 0 ; 4475. Autres impôts, taxes et versements assimilés (administration des impôts) - 4.Tiers:4.État,collectivité:7.Autre_impôt:7.Autre_(Organisme) 0 ; 4477. Autres impôts, taxes et versements assimilés (autres organismes) - 4.Tiers:4.État,collectivité:8.CP&PR 0 ; 448. État - Charges à payer et produits à recevoir - 4.Tiers:4.État,collectivité:8.CP&PR:2.Charge_fiscale_sur_congés_à_payer 0 ; 4482. Charges fiscales sur congés à payer - 4.Tiers:4.État,collectivité:8.CP&PR:6.Charge_à_payer 0 ; 4486. Autres charges à payer - 4.Tiers:4.État,collectivité:8.CP&PR:7.Produit_à_recevoir 0 ; 4487. Produits à recevoir - 4.Tiers:6.Divers_créditeur_débiteur 0 ; 46. Débiteurs divers et créditeurs divers - 4.Tiers:6.Divers_créditeur_débiteur:7.Autre 0 ; 467. Autres comptes débiteurs ou créditeurs - 4.Tiers:6.Divers_créditeur_débiteur:7.Autre:001.Bénévole 0 ; 467001. Bénévoles - 4.Tiers:6.Divers_créditeur_débiteur:7.Autre:002.Salarié-e 0 ; 647002. Salariés - 4.Tiers:6.Divers_créditeur_débiteur:8.CP&PR 0 ; 468. Divers - Charges à payer et produits à recevoir - 4.Tiers:6.Divers_créditeur_débiteur:8.CP&PR:6.Charge_à_payer 0 ; 4686.Charges à payer - 4.Tiers:6.Divers_créditeur_débiteur:8.CP&PR:7.Produit_à_recevoir 0 ; 4687. Produits à recevoir - 4.Tiers:8.Régularisation 0 ; 48. Comptes de régularisation - 4.Tiers:8.Régularisation:6.Charge_constatée_d'avance 0 ; 486. Charges constatées d’avance - 4.Tiers:8.Régularisation:7.Produit_constaté_d'avance 0 ; 487. Produits constatés d’avance - 5.Finance 0 ; 5. COMPTES FINANCIERS - 5.Finance:1.Etablissement 0 ; 51. Banques, établissements financiers et assimilés - 5.Finance:1.Etablissement:1.Valeur 0 ; 511. Valeurs à l’encaissement - 5.Finance:1.Etablissement:1.Valeur:2.Chèque_à_encaisser 0 ; 5112. Chèques à encaisser - 5.Finance:1.Etablissement:2.Banque:001.Courant 0 ; 512001. Crédit Coopératif - Compte courant - 5.Finance:1.Etablissement:2.Banque:002.Livret 0 ; 512002. Crédit coopératif - Livret - 5.Finance:3.Caisse 0 ; 53. Caisse - 5.Finance:3.Caisse:1.Siège 0 ; 531. Caisse du siège - 5.Finance:3.Caisse:2.Atelier 0 ; 532. Caisse des lieux d’activités - 5.Finance:8.Virement 0 ; 58. Virements internes - 5.Finance:8.Virement:0.Interne 0 ; 580. Virements internes - 5.Finance:8.Virement:1.Fonds 0 ; 581. Virements de fonds - 6.Charge 0 ; 6. COMPTES D'ACHATS - 6.Charge:0.Achat 0 ; 60. Achats (sauf 603) - 6.Charge:0.Achat:1.Stocké-Matière_Prem,Fourniture 0 ; 601. Achats stockés - Matières premières et fournitures - 6.Charge:0.Achat:1.Stocké-Matière_Prem,Fourniture:1.Matière 0 ; 6011. Matières - 6.Charge:0.Achat:1.Stocké-Matière_Prem,Fourniture:2.Fourniture 0 ; 6012. Fournitures - 6.Charge:0.Achat:2.Stocké-Autre 0 ; 602. Achats stockés - Autres approvisionnements - 6.Charge:0.Achat:2.Stocké-Autre:1.Matière_consommable 0 ; 6021. Matières consommables - 6.Charge:0.Achat:2.Stocké-Autre:2.Fourniture_consommable 0 ; 6022. Fournitures consommables - 6.Charge:0.Achat:2.Stocké-Autre:2.Fourniture_consommable:1.Combustible 0 ; 60221. Combustibles - 6.Charge:0.Achat:2.Stocké-Autre:2.Fourniture_consommable:2.Nettoyage 0 ; 60222. Produits d’entretien - 6.Charge:0.Achat:2.Stocké-Autre:2.Fourniture_consommable:3.Atelier 0 ; 60223. Fournitures d’atelier - 6.Charge:0.Achat:2.Stocké-Autre:2.Fourniture_consommable:5.Bureau 0 ; 60225. Fournitures de bureau - 6.Charge:0.Achat:3.Variation_stocks 0 ; 603. Variation des stocks (approvisionnements et marchandises) - 6.Charge:0.Achat:4.Etude,Prestation 0 ; 604. Achats d’études et prestations de services - 6.Charge:0.Achat:5.Matériel,Equipement,Travaux 0 ; 605. Achats de matériels, équipements et travaux - 6.Charge:0.Achat:6.Non_stocké 0 ; 606. Achats non stockés de matières et fournitures - 6.Charge:0.Achat:6.Non_stocké:1.Non_stockable 0 ; 6061. Fournitures non stockables (eau, énergie..) - 6.Charge:0.Achat:6.Non_stocké:3.Fourniture 0 ; 6063. Fournitures d’entretien et de petit équipement - 6.Charge:0.Achat:6.Non_stocké:3.Fourniture:1.Produit_entretien 0 ; 60631. Produits d'entretien - 6.Charge:0.Achat:6.Non_stocké:3.Fourniture:2.Travaux 0 ; 60632. Fournitures pour travaux - 6.Charge:0.Achat:6.Non_stocké:3.Fourniture:3.Equipement_atelier 0 ; 60633. Equipement d'atelier - 6.Charge:0.Achat:6.Non_stocké:3.Fourniture:4.Outillage 0 ; 60634. Outillage - 6.Charge:0.Achat:6.Non_stocké:3.Fourniture:5.Mobilier 0 ; 60635. Mobilier - 6.Charge:0.Achat:6.Non_stocké:3.Fourniture:6.Matériel_informatique 0 ; 60636. Matériel informatique - 6.Charge:0.Achat:6.Non_stocké:4.Consommable_bureau 0 ; 6064. Fournitures de bureau - 6.Charge:0.Achat:6.Non_stocké:8.Autre_Matière,Fourniture 0 ; 6068. Autres matières et fournitures - 6.Charge:0.Achat:6.Non_stocké:8.Autre_Matière,Fourniture:1.Atelier 0 ; 60681. Consommables, fournitures atelier et vélos - 6.Charge:0.Achat:6.Non_stocké:8.Autre_Matière,Fourniture:8.Autre 0 ; 60688. Autre matières et fournitures - 6.Charge:0.Achat:7.Marchandise 0 ; 607. Achats de marchandises - 6.Charge:0.Achat:8.Frais_accessoire 0 ; 608. Frais accessoires d’achats - 6.Charge:0.Achat:9.Remise 0 ; 609. Rabais, remises et ristournes obtenus sur achats - 6.Charge:1.Service 0 ; 61. Services extérieurs - 6.Charge:1.Service:1.Sous-traitance 0 ; 611. Sous-traitance générale - 6.Charge:1.Service:3.Location 0 ; 613. Locations - 6.Charge:1.Service:3.Location:2.Immobilière 0 ; 6132. Locations immobilières - 6.Charge:1.Service:3.Location:5.Mobilière 0 ; 6135. Locations mobilières - 6.Charge:1.Service:4.Charge_locative 0 ; 614. Charges locatives et de copropriété - 6.Charge:1.Service:5.Entretien_Réparation 0 ; 615. Entretien et réparations - 6.Charge:1.Service:5.Entretien_Réparation:2.Bien_immobilier 0 ; 6152. Sur biens immobiliers - 6.Charge:1.Service:5.Entretien_Réparation:5.Bien_mobilier 0 ; 6155. Sur biens mobiliers - 6.Charge:1.Service:5.Entretien_Réparation:6.Maintenance 0 ; 6156. Maintenance - 6.Charge:1.Service:6.Assurance 0 ; 616. Primes d’assurance - 6.Charge:1.Service:8.Divers 0 ; 618. Divers - 6.Charge:1.Service:9:Remise 0 ; 619. Rabais, remises et ristournes obtenus sur services extérieurs - 6.Charge:2.Autre_service 0 ; 62. Autres services extérieurs - 6.Charge:2.Autre_service:1.Personnel_extérieur 0 ; 621. Personnel extérieur à l’association - 6.Charge:2.Autre_service:1.Personnel_extérieur:4.Mise_à_dispo 0 ; 6214. Personnel détaché ou prêté à l’association - 6.Charge:2.Autre_service:2.Intermédiaire 0 ; 622. Rémunérations d’intermédiaires et honoraires - 6.Charge:2.Autre_service:2.Intermédiaire:6.Honoraire 0 ; 6226. Honoraires - 6.Charge:2.Autre_service:2.Intermédiaire:7.Frais_d'acte 0 ; 6227. Frais d’actes et de contentieux - 6.Charge:2.Autre_service:2.Intermédiaire:8.Divers 0 ; 6228. Divers - 6.Charge:2.Autre_service:3.Communication 0 ; 623. Publicité, publications, relations publiques - 6.Charge:2.Autre_service:3.Communication:1.Annonce 0 ; 6231. Annonces et insertions - 6.Charge:2.Autre_service:3.Communication:3.Foire,Expo 0 ; 6233. Foires et expositions - 6.Charge:2.Autre_service:3.Communication:4:Cadeau 0 ; 6234. Cadeaux - 6.Charge:2.Autre_service:3.Communication:6.Catalogue,Imprimé 0 ; 6236. Catalogues et imprimés - 6.Charge:2.Autre_service:3.Communication:7.Publication 0 ; 6237. Publications - 6.Charge:2.Autre_service:3.Communication:8.Divers(pourboire,dons_courants) 0 ; 6238. Divers (pourboires, dons courants..) - 6.Charge:2.Autre_service:5.Frais 0 ; 625. Déplacements, missions et réceptions - 6.Charge:2.Autre_service:5.Frais:1.Déplacement 0 ; 6251. Voyages et déplacements - 6.Charge:2.Autre_service:5.Frais:6.Mission 0 ; 6256. Missions - 6.Charge:2.Autre_service:5.Frais:7.Réception 0 ; 6257. Réceptions - 6.Charge:2.Autre_service:6.Poste,Télécommunication 0 ; 626. Frais postaux et frais de télécommunications - 6.Charge:2.Autre_service:6.Poste,Télécommunication:1.Internet 0 ; 6261. Liaisons informatiques ou spécialisées - 6.Charge:2.Autre_service:6.Poste,Télécommunication:3.Timbre 0 ; 6263. Affranchissements - 6.Charge:2.Autre_service:7.Service_bancaire 0 ; 627. Services bancaires et assimilés - 6.Charge:2.Autre_service:8.Divers 0 ; 628. Divers - 6.Charge:2.Autre_service:8.Divers:1.Cotisation_(activité_économique) 0 ; 6281. Cotisations (liées à l’activité économique) - 6.Charge:2.Autre_service:8.Divers:4.Frais_recrutement_personnel 0 ; 6284. Frais de recrutement du personnel - 6.Charge:2.Autre_service:9.Remise 0 ; 629. Rabais, remises et ristournes obtenus sur autres services extérieurs - 6.Charge:3.Impôt 0 ; 63. Impôts, taxes et versements assimilés - 6.Charge:3.Impôt:1.Sur_rémunération_(État) 0 ; 631. Impôts, taxes et versements assimilés sur rémunérations (administration des impôts) - 6.Charge:3.Impôt:1.Sur_rémunération_(État):1.Taxe_salaire 0 ; 6311. Taxe sur les salaires - 6.Charge:3.Impôt:1.Sur_rémunération_(État):3.Formation_pro 0 ; 6313. Participation des employeurs à la formation professionnelle continue - 6.Charge:3.Impôt:1.Sur_rémunération_(État):8.Autre 0 ; 6318. Autres - 6.Charge:3.Impôt:3.Sur_rémunération_(Organisme) 0 ; 633. Impôts, taxes et versements assimilés sur rémunérations (autres organismes) - 6.Charge:3.Impôt:3.Sur_rémunération_(Organisme):3.Formation 0 ; 6333. Participation des employeurs à la formation professionnelle continue - 6.Charge:3.Impôt:3.Sur_rémunération_(Organisme):8.Autre 0 ; 6338. Autres - 6.Charge:3.Impôt:5.Autre_(État) 0 ; 635. Autres impôts, taxes et versements assimilés (administration des impôts) - 6.Charge:3.Impôt:5.Autre_(État):1.Direct_(sauf_bénéfice) 0 ; 6351. Impôts directs (sauf impôts sur les bénéfices) - 6.Charge:3.Impôt:5.Autre_(État):1.Direct_(sauf_bénéfice):2.Taxe_foncière 0 ; 63512. Taxes foncières - 6.Charge:3.Impôt:5.Autre_(État):1.Direct_(sauf_bénéfice):3.Autre_impôts_locaux 0 ; 63513. Autres impôts locaux - 6.Charge:3.Impôt:5.Autre_(État):1.Direct_(sauf_bénéfice):8.Autre 0 ; 63518. Autres impôts directs - 6.Charge:3.Impôt:5.Autre_(État):3.Indirect 0 ; 6353. Impôts indirects - 6.Charge:3.Impôt:7.Autre_(Organisme) 0 ; 637. Autres impôts, taxes et versements assimilés (autres organismes) - 6.Charge:4.Personnel 0 ; 64. Charges de personnel - 6.Charge:4.Personnel:1.Rémunération 0 ; 641. Rémunérations du personnel - 6.Charge:4.Personnel:1.Rémunération:1.Salaire 0 ; 6411. Salaires, appointements - 6.Charge:4.Personnel:1.Rémunération:2.Congés 0 ; 6412. Congés payés - 6.Charge:4.Personnel:1.Rémunération:3.Prime 0 ; 6413. Primes et gratifications - 6.Charge:4.Personnel:1.Rémunération:4.Indémnité 0 ; 6414. Indemnités et avantages divers - 6.Charge:4.Personnel:1.Rémunération:6.Remb_transport 0 ; 6416. Remboursement transport - 6.Charge:4.Personnel:5.Cotisation 0 ; 645. Cotisations de sécurité sociale et de prévoyance - 6.Charge:4.Personnel:5.Cotisation:1.URSSAF 0 ; 6451. Cotisations à l’URSSAF - 6.Charge:4.Personnel:5.Cotisation:2.Mutuelle 0 ; 6452. Cotisations aux mutuelles - 6.Charge:4.Personnel:5.Cotisation:3.Retraite 0 ; 6453. Cotisations aux caisses de retraite - 6.Charge:4.Personnel:5.Cotisation:4.Pôle_emploi 0 ; 6454. Cotisations aux ASSEDIC - 6.Charge:4.Personnel:5.Cotisation:8.Autre_organisme 0 ; 6458. Cotisations aux autres organismes sociaux - 6.Charge:4.Personnel:5.Cotisation:8.Autre_organisme:1.Prévoyance 0 ; 64581. Caisse de Prévoyance - 6.Charge:4.Personnel:7.Autre_cotisation 0 ; 647. Autres charges sociales - 6.Charge:4.Personnel:7.Autre_cotisation:5.Médecine_travail 0 ; 6475. Médecine de travail, pharmacie - 6.Charge:4.Personnel:8.Autre_charge_personnel 0 ; 648. Autres charges de personnel - 6.Charge:4.Personnel:8.Autre_charge_personnel:8.Cotisation_sur_rémunération_à_payer 0 ; 6488. Cotisations sur rémunérations à payer - 6.Charge:5.Gestion 0 ; 65. Autres charges de gestion courantes - 6.Charge:5.Gestion:1.Redevance_pour_concession,brevet,licence,procédé,droit 0 ; 651. Redevances pour concessions, brevets, licences, procédés, logiciels, droits et valeurs similaires - 6.Charge:5.Gestion:7.Subvention_versée 0 ; 657. Subventions versées par l’organisme - 6.Charge:5.Gestion:8.Divers 0 ; 658. Charges diverses de gestion courante - 6.Charge:5.Gestion:8.Divers:6.Cotisation_(vie_statutaire) 0 ; 6586. Cotisations (liées à la vie statutaire) - 6.Charge:6.Financière 0 ; 66. Charges financières - 6.Charge:6.Financière:1.Intérêt 0 ; 661. Charges d’intérêts - 6.Charge:6.Financière:1.Intérêt:1.Emprunt,Dette 0 ; 6611. Intérêts des emprunts et dettes - 6.Charge:6.Financière:1.Intérêt:6.Bancaire 0 ; 6616. Intérêts bancaires - 6.Charge:6.Financière:1.Intérêt:8.Autre_dette 0 ; 6618. Intérêts des autres dettes - 6.Charge:6.Financière:8.Autre 0 ; 668. Autres charges financières - 6.Charge:7.Exceptionnelle 0 ; 67. Charges exceptionnelles - 6.Charge:7.Exceptionnelle:1.Sur_gestion 0 ; 671. Charges exceptionnelles sur opérations de gestion - 6.Charge:7.Exceptionnelle:1.Sur_gestion:1.Pénalité_sur_marché 0 ; 6711. Pénalités sur marchés (et dédits payés sur achats et ventes) - 6.Charge:7.Exceptionnelle:1.Sur_gestion:2.Pénalité,Amende 0 ; 6712. Pénalités, amendes fiscales ou pénales - 6.Charge:7.Exceptionnelle:1.Sur_gestion:3.Don,Libéralité 0 ; 6713. Dons, libéralités - 6.Charge:7.Exceptionnelle:1.Sur_gestion:7.Rappel_impôt_(sauf_bénéfice) 0 ; 6717. Rappels d’impôts (autres qu’impôts sur les bénéfices) - 6.Charge:7.Exceptionnelle:1.Sur_gestion:8.Autre 0 ; 6718. Autres charges exceptionnelles sur opérations de gestion - 6.Charge:7.Exceptionnelle:8.Autre 0 ; 678. Autres charges exceptionnelles - 6.Charge:7.Exceptionnelle:8.Autre:8.Diverse 0 ; 6788. Charges exceptionnelles diverses - 6.Charge:8.Dotation 0 ; 68. Dotations aux amortissements, dépréciations, provisions et engagements - 6.Charge:8.Dotation:1.Charge_d'exploitation 0 ; 681. Dotations aux amortissements et aux provisions - Charges d'exploitation - 6.Charge:8.Dotation:1.Charge_d'exploitation:1.Amortissement_immobilisation 0 ; 6811. Dotations aux amortissements des immobilisations incorporelles et corporelles - 6.Charge:8.Dotation:1.Charge_d'exploitation:1.Amortissement_immobilisation:1.Incorporelle 0 ; 68111. Immobilisations incorporelles - 6.Charge:8.Dotation:1.Charge_d'exploitation:1.Amortissement_immobilisation:2.Corporelle 0 ; 68112. Immobilisations corporelles - 6.Charge:8.Dotation:1.Charge_d'exploitation:5.Provision_d'exploitation 0 ; 6815. Dotations aux provisions pour risques et charges d’exploitation - 6.Charge:8.Dotation:1.Charge_d'exploitation:7.Dépréciation_actif 0 ; 6817. Dotations aux provisions pour dépréciation des actifs circulants - 6.Charge:8.Dotation:1.Charge_d'exploitation:7.Dépréciation_actif:3.Stocks,En-cours 0 ; 68173. Stocks et en-cours - 6.Charge:8.Dotation:1.Charge_d'exploitation:7.Dépréciation_actif:4.Créance 0 ; 68174. Créances - 6.Charge:8.Dotation:6.Charge_financière 0 ; 686. Dotations aux amortissements et aux provisions - Charges financières - 6.Charge:8.Dotation:6.Charge_financière:5.Provision_financière 0 ; 6865. Dotations aux provisions pour risques et charges financiers - 6.Charge:8.Dotation:6.Charge_financière:6.Dépréciation_élément_financier 0 ; 6866. Dotations aux provisions pour dépréciation des éléments financiers - 6.Charge:8.Dotation:6.Charge_financière:8.Autre 0 ; 6868. Autres dotations - 6.Charge:8.Dotation:7.Charge_exceptionnelle 0 ; 687. Dotations aux amortissements et aux provisions - Charges exceptionnelles - 6.Charge:8.Dotation:9.Engagement_à_réaliser 0 ; 689. Engagements à réaliser sur ressources affectées - 6.Charge:8.Dotation:9.Engagement_à_réaliser:4.Sur_subvention_attribuée 0 ; 6894. Engagements à réaliser sur subventions attribuées - 6.Charge:8.Dotation:9.Engagement_à_réaliser:5.Sur_don_affecté 0 ; 6895. Engagements à réaliser sur dons manuels affectés - 6.Charge:9.Impôt_sur_bénéfice 0 ; 69. Impôts sur les bénéfices - 6.Charge:9.Impôt_sur_bénéfice:5.Impôt_sur_société 0 ; 695.Impôts sur les sociétés - 7.Produit 0 ; 7. COMPTES DE PRODUITS - 7.Produit:0.Vente 0 ; 70. ventes de produits finis, prestations de services, marchandises - 7.Produit:0.Vente:1.Produit_fini 0 ; 701. Ventes de produits finis - 7.Produit:0.Vente:1.Produit_fini:1.Vélo 0 ; 7011. Vélos - 7.Produit:0.Vente:1.Produit_fini:2.Autre 0 ; 7012. Autres - 7.Produit:0.Vente:6.Prest'action 0 ; 706. Prestations de services - 7.Produit:0.Vente:7.Marchandise 0 ; 707. Ventes de marchandises - 7.Produit:0.Vente:8.Activité_annexe 0 ; 708. Produits des activités annexes - 7.Produit:0.Vente:8.Activité_annexe:3.Location 0 ; 7083. Locations diverses - 7.Produit:0.Vente:8.Activité_annexe:4.Mise_à_dispo 0 ; 7084. Mise à disposition de personnel facturée - 7.Produit:0.Vente:8.Activité_annexe:8.Autre 0 ; 7088. Autres produits d’activités annexes - 7.Produit:1.Production_stockée 0 ; 71. Production stockée (ou déstockage) - 7.Produit:2.Production_immobilisée 0 ; 72. Production immobilisée - 7.Produit:4.Subvention_d'exploitation 0 ; 74. Subventions d’exploitation - 7.Produit:4.Subvention_d'exploitation:1.État 0 ; 741. État - 7.Produit:4.Subvention_d'exploitation:2.Région 0 ; 742. Région - 7.Produit:4.Subvention_d'exploitation:3.Département 0 ; 743. Département - 7.Produit:4.Subvention_d'exploitation:4.Commune 0 ; 744. Commune - 7.Produit:4.Subvention_d'exploitation:5.Collectivité_publique 0 ; 745. Collectivités publiques - 7.Produit:4.Subvention_d'exploitation:6.Entreprise_publique 0 ; 746. Entreprises publiques - 7.Produit:4.Subvention_d'exploitation:7.Organisme_privé 0 ; 747. Entreprises et organismes privés - 7.Produit:4.Subvention_d'exploitation:8.Autre 0 ; 748. Autres - 7.Produit:5.Autre_gestion_courante 0 ; 75. Autres produits de gestion courante - 7.Produit:5.Autre_gestion_courante:4.Collecte 0 ; 754. Collectes - 7.Produit:5.Autre_gestion_courante:6.Cotisation 0 ; 756. Cotisations - 7.Produit:5.Autre_gestion_courante:8.Divers 0 ; 758. Produits divers de gestion courante - 7.Produit:5.Autre_gestion_courante:8.Divers:1.Don 0 ; 7581. Dons manuels - 7.Produit.6.Financier 0 ; 76. Produits financiers - 7.Produit.6.Financier:1.Participation 0 ; 761. Produits des participations - 7.Produit.6.Financier:1.Participation:1.Titre 0 ; 7611. Revenus des titres de participations - 7.Produit.6.Financier:2.Autre_immobilisation_financière 0 ; 762. Produits des autres immobilisations financières - 7.Produit.6.Financier:2.Autre_immobilisation_financière:4.Prêt 0 ; 7624. Revenus des prêts - 7.Produit.6.Financier:3.Autre_créance 0 ; 763. Revenus des autres créances - 7.Produit.6.Financier:8.Autre 0 ; 768. Autres produits financiers - 7.Produit.7.Exceptionnel 0 ; 77. Produits exceptionnels - 7.Produit.7.Exceptionnel:1.Sur_gestion 0 ; 771. Produits exceptionnels sur opérations de gestion - 7.Produit.7.Exceptionnel:1.Sur_gestion:3.Libéralité_reçue 0 ; 7713. Libéralités perçues - 7.Produit.7.Exceptionnel:1.Sur_gestion:5.Subvention_d'équilibre 0 ; 7715. Subvention d’équilibre - 7.Produit.7.Exceptionnel:1.Sur_gestion:8.Autre 0 ; 7718. Autres produits exceptionnels sur opérations de gestion - 7.Produit.7.Exceptionnel:2.Sur_exercice_antérieur 0 ; 772. Produits sur exercices antérieurs (à reclasser) - 7.Produit.7.Exceptionnel:7.Quote-part_subvention_investissement_virée_au_résultat 0 ; 777. Quote-part des subventions d’investissement virée au résultat de l’exercice - 7.Produit.7.Exceptionnel:8.Autre 0 ; 778. Autres produits exceptionnels - 7.Produit:8.Reprise 0 ; 78. Reprises sur amortissements et provisions - 7.Produit:8.Reprise:1.Amortissement,Provision_(exploitation) 0 ; 781. Reprises sur amortissements et provisions (à inscrire dans les produits d’exploitation) - 7.Produit:8.Reprise:1.Amortissement,Provision_(exploitation):1.Amort_immo_incorp&corpl 0 ; 7811. Reprises sur amortissements des immobilisations incorporelles et corporelles - 7.Produit:8.Reprise:1.Amortissement,Provision_(exploitation):5.Provision_risque&charge 0 ; 7815. Reprises sur provisions pour risques et charges d’exploitation - 7.Produit:8.Reprise:6.Provision_(financier) 0 ; 786. Reprises sur provisions (à inscrire dans les produits financiers) - 7.Produit:8.Reprise:7.Provision_(exceptionnel) 0 ; 787. Reprises sur provisions (à inscrire dans les produits exceptionnels) - 7.Produit:8.Reprise:9.Report_ressource_N-1 0 ; 789. Report des ressources non utilisées des exercices antérieurs - 7.Produit:8.Reprise:9.Report_ressource_N-1:4.Sur_subvention_attribuée 0 ; 7894. Sur subventions attribués - 7.Produit:8.Reprise:9.Report_ressource_N-1:5.Sur_don_reçus 0 ; 7895. Sur dons manuels reçus - 7.Produit:9.Transfert_charge 0 ; 79. Transferts de charges - 7.Produit:9.Transfert_charge:1.Exploitation 0 ; 791. Transferts de charges d’exploitation - 7.Produit:9.Transfert_charge:6.Financière 0 ; 796. Transferts de charges financières - 7.Produit:9.Transfert_charge:7.Exceptionnelle 0 ; 797. Transferts de charges exceptionnelles - 8.Spécial 0 ; 8. COMPTES SPÉCIAUX - 8.Spécial:6.Emploi_contribution_volontaire 0 ; 86. Emplois des contributions volontaires en nature - 8.Spécial:6.Emploi_contribution_volontaire:1.Mise_à_dispo_bien 0 ; 861. Mise à disposition gratuite de biens - 8.Spécial:6.Emploi_contribution_volontaire:2.Prestation 0 ; 862. Prestations - 8.Spécial:6.Emploi_contribution_volontaire:4.Bénévolat 0 ; 864. Personnel bénévole - 8.Spécial:7.Contribution_volontaire 0 ; 87. Contributions volontaires en nature - 8.Spécial:7.Contribution_volontaire:0.Bénévolat 0 ; 870. Bénévolat - 8.Spécial:7.Contribution_volontaire:1.Prestation_en_nature 0 ; 871. Prestations en nature - 8.Spécial:7.Contribution_volontaire:5.Don_en_nature 0 ; 875. Dons en nature diff --git a/doc/data/Cyclofficine.Plan_comptable.hledger b/doc/data/Cyclofficine.Plan_comptable.hledger new file mode 120000 index 0000000..d414788 --- /dev/null +++ b/doc/data/Cyclofficine.Plan_comptable.hledger @@ -0,0 +1 @@ +../../chart/Association_1901/Cyclofficine.Plan_comptable.hledger \ No newline at end of file diff --git a/doc/data/Luca_Pacioli_(Gemaelde).jpeg b/doc/data/Luca_Pacioli_(Gemaelde).jpeg new file mode 100644 index 0000000000000000000000000000000000000000..4eda398dcb61ffacb2547ef16a2d60307195ca87 GIT binary patch literal 36936 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] -=== Les plus +[cols="a,a"] +|================================== +| +[float] +Les plus +~~~~~~~~ + [horizontal] -Transparent:: Visibilité de _toutes_ les informations. -Pérenne:: Compréhensible sans peine. -Modifiable:: Pas d’interface protectrice. +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). Accès:: Pas de changement d’interface non-consenti. -Versionnable:: Suivi et fusion simples des modifications. -Écrit:: Langage pour s’exprimer clairement, par exemple pour discuter dans un courriel. +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). Hors-ligne:: Pas besoin de réseau. Interopérable:: Pas spécifique à un éditeur logiciel particulier (sauf fonctionnalité expérimentale). -* http://ledger-cli.org/[] -* http://hledger.org/[] -* http://furius.ca/beancount/[] -* https://massysett.github.io/penny/[] -* https://github.com/hrj/abandon/[] +[horizontal] +ledger;; http://ledger-cli.org/[] +hledger;; http://hledger.org/[] +beancount;; http://furius.ca/beancount/[] +penny;; https://massysett.github.io/penny/[] +abandon;; https://github.com/hrj/abandon/[] + +| +[float] +Les moins +~~~~~~~~~ -=== Les moins [horizontal] Modifiable:: -Mais pas moins que les autres logiciels -et à nuancer si couplé à un gestionnaires de versions, -et/ou avec signature cryptographiques. +Mais, comme c'est un fichier, un verrou-validant + +peut être mis par une **signature cryptographique**. + [source,sh] ---- -% git tag --sign v2011 -m "Clôture de la comptabilité 2011" -% git tag --verify v2011 ----- -+ -[source,sh] ----- -% gpg --sign $fichier.hledger -% gpg --verify-files $fichier.hledger.gpg +% gpg --detach-sign $fichier.ledger +% gpg --verify $fichier.ledger.sig ---- -Textuel:: Préférable de bien savoir utiliser -un éditeur de texte structuré. -Peu contraint:: +Textuel:: Préférable de ne pas avoir peur des caractères, +voire de bien savoir utiliser un éditeur de texte structuré. + +Contrainte minimale:: +« __N'a pas été conçu pour empêcher ses utilisateurs de commettre des actes stupides, +car cela les empêcherait aussi de réaliser des actes ingénieux.__ » + [source,hledger] ---- -2102/03/21 Remise chq (1101804) +2102/03/21 Chèque ; Erreur de date 5.Finance:1.Etablissement:1.Valeur:2.Chèque_à_encaisser -145,00 5.Finance:1.Etablissement:2.Banque:001.Courant 145,00 ---- ++ +NOTE: Mais possibilité de vérifications d’invariants conventionnels avec des scripts. -NOTE: KISS - +|================================== == ++hledger++ : un outil libre.. et convivial + [source,sh] ---- % hledger balance '^6' '^7' --depth 2 -f Paris.2011.hledger @@ -103,160 +111,135 @@ NOTE: KISS 44,58€ ---- -ifdef::backend-slidy2[>>>] -=== Les plus +[cols="a,a"] +|================================== +| +[float] +Les plus +~~~~~~~~ + +Philosophie Unix:: ++ +* « __Écrivez des programmes qui effectuent une seule chose et qui le font bien.__ » +* « __Écrivez des programmes qui collaborent.__ » +* « __Écrivez des programmes pour gérer des flux de texte, + + car c'est une interface universelle.__ » -Utilisation:: -Étude:: -Modification:: -Duplication:: +Utilisation, Étude, Modification, Duplication:: Permises techniquement et légalement + -(« logiciel libre » sous ++GNU/GPLv3++) +(« logiciel libre » sous ++GNU/GPLv3++) -Certification:: +Rigueur:: Programmé en http://fr.wikipedia.org/wiki/Haskell[Haskell] [horizontal] -Fonctionnel pur;; Aucune mutation de données externes à une fonction (effet de bord). -Typage statique;; Vérification des erreurs de type avant l’exécution du programme. +Fonctionnel pur;; Aucune mutation de données externes à une fonction (sans effet de bord). +Typage statique;; Vérification des erreurs de type avant l’exécution du programme. Typage fort;; Aucune conversion implicite de types de données. -Portable:: GNU/Linux, Apple/MacOS, Microsoft/Windows - -Support:: ~1 développeur à mi-temps +Relisible:: ≈13 000 lignes de Haskell (ou 160 écrans de 80 lignes) + +(plus ≈1 800 lignes pour ++hledger-web++). + -* Simon Michael +NOTE: À équivalence fonctionnelle, +OpenERPv7 ≈80 000 lignes de Python (≈1 000 écrans). + +Ancienneté:: Depuis 2007 (≈7 ans). +Portable:: GNU/Linux, Apple/MacOS, Microsoft/Windows [horizontal] Ligne de commande:: +Contrôle l’ordinateur avec le langage. + [source,sh] ---- - % hledger balance -f $fichier.hledger +% hledger add -f $fichier.hledger +% hledger balance -f $fichier.hledger ---- + Interface Web:: + [source,sh] ---- - % hledger-web --server -f $fichier.hledger - % firefox "http://localhost:5000" ----- -Extensible:: -+ -[source,sh] ----- - % ghc hledger-fait-ce-que-je-veux.hs - % ./hledger-fait-ce-que-je-veux -f $fichier.hledger +% hledger-web --server -f $fichier.hledger +% firefox "http://localhost:5000" ---- -ifdef::backend-slidy2[>>>] -=== Les moins -Ligne de commande:: +Support:: ≈1 développeur à mi-temps-libéré + -... - -== Installer `hledger` - -* http://hledger.org/installing[] +* Simon Michael (sm) ++ +NOTE: Dons @ https://www.gittip.com/simonmichael/[] ++ +[horizontal] +Messagerie instantanée;; +Liste de discussion;; +Extensible:: ++ [source,sh] -.Debian/jessie ---- -% sudo apt-get install hledger hledger-web +% ghc hledger-fait-ce-que-je-veux.hs +% ./hledger-fait-ce-que-je-veux -f $fichier.hledger ---- -ifdef::backend-slidy2[>>>] -=== Via `cabal` -* http://www.haskell.org/cabal/[] - -[source,sh] -.Debian/wheezy ----- -% echo 'PATH="$HOME/.cabal/bin:$PATH"' >>~/.profile - # NOTE: rajoute dans le chemins des exécutables - # les exécutables installés par cabal -% exit # NOTE: recharge ~/.profile - -% sudo apt-get install ghc cabal-install \ - libncurses5-dev libtinfo-dev zlib1g-dev -% cabal update -% cabal install cabal # NOTE: met à jour cabal -% cabal install happy # NOTE: anticipe une dépendance exécutable -% cabal install hledger -% cabal install alex # NOTE: anticipe une dépendance exécutable -% cabal install warp-2.0.3.4 hledger-web - # NOTE: aide cabal à sélectionner un warp qui fonctionne ----- - -[source,sh] -.Mise-à-jour ----- -% cabal install --reinstall hledger hledger-web ----- +| +[float] +Les moins +~~~~~~~~~ + +Pas tout en un:: +Fait de la comptabilité, **et juste** de la comptabilité ; +pas un logiciel intégré type ERP (Enterprise Resource Planning) +du genre type https://www.odoo.com/[Odoo] (ancien OpenERP) : +Comptabilité + Point de vente + Facturation + Paye + Gestion de stock + Adhésion + Calendrier + Wiki + ... + +En ligne de commande:: +Peur **irrationnelle** mais fréquente, +d’être libre et d’avoir le pouvoir sur la machine, +au lieu d’être captif d’une interface. ++ +NOTE: L’interface Web est simple, et s’améliore. -ifdef::backend-slidy2[>>>] -==== Version de développement +Read The Fucking Manual:: +De même que maîtriser un plan comptable néçessite +en plus de le parcourir de **s’informer** sur son utilisation, + +de même maîtriser un langage et un logiciel en ligne de commande nécessite +de **s’informer** sur sa syntaxe, sa sémantique et son utilisation. ++ +NOTE: http://hledger.org/manual/[]. -[source,sh] ----- -% git clone http://github.com/simonmichael/hledger.git ~/src/hledger -% cd ~/src/hledger -% cabal install --reinstall --force-reinstalls \ - ./hledger-lib ./hledger ./hledger-web ----- +|================================== -== Écrire en +.ledger+ +== Langage d’un fichier +.ledger+ Un +.ledger+ est un fichier de texte brut respectant une syntaxe préçise -qui forme une succession d’écritures comptables, ordonnées librement. +qui forme une succession d’écritures comptables, classées librement. ifdef::backend-slidy2[>>>] -=== Exemple +=== Définition informelle [source,hledger] +.Fichier ++data/exemple-syntaxe.ledger++ ---- -; Ceci est un exemple de livre comptable « ledger » -; NOTE: fantaisiste comptablement parlant, mais syntaxiquement correct - -2014/01/01 Libellé de l’écriture ; UN_TAG:, Autre_tag:Avec_Valeur - Compte:Sous-Compte -42 ; flux créditant - Autre_Compte:Sous-Compte:Sous-Sous-Compte 42 ; flux débitant - -2014/01/01 Deuxième écriture le même jour - Vente:Âme -666 ; (tag de flux) Arnaque: - Kapital 666 - -2014/01/02 Troisième écriture le jour suivant avec ventilation des flux - Compte:Crédité:A -1 - Compte:Crédité:B -2 - Compte:Débité:Z 1 - Compte:Débité:Y 1 - Compte:Débité:X:x 1 - -2014/04/12 - Compte:Crédité -1234,56 - Compte:Débité ; 1234,56 (montant inféré) - -2014/02/01 Écriture non ordonnée par date ; Ok, mais déconseillé - Compte:Débité 1 - Compte:Crédité -1 ; Flux non ordonné par crédit/débit - ; c'est juste moins lisible... - -; Répéter ad nauseam +include::data/exemple-syntaxe.ledger[] ---- -=== Langage +.Conventions usuelles +* Classement des écritures par date +* Classement des flux par signe, puis compte + +=== Définition formelle [cols="a,a",options="header"] |================================== ^|Syntaxe (grammaire https://fr.wikipedia.org/wiki/Forme_de_Backus-Naur[BNF]) -^|Structure (signatures fonctionnelles) +^|Informations (signatures fonctionnelles) | [source,conf] ----------------------------------- -livre ::= (écriture \| commentaire \| "⏎" \| "␣")* +journal ::= (écriture \| commentaire \| "⏎" \| "␣")* ----------------------------------- | [horizontal] :role: math -**livre**:: latexmath:[$ +**journal**:: latexmath:[$ :\>f:\textcolor{#D2691E}{\textbf{fichier}} → \lbrack\textcolor{#D2691E}{\textbf{\acute{e}criture}}\rbrack$] | @@ -330,162 +313,181 @@ commentaire ::= ( ";" (tag ":" valeur? \| ·)* ) ~\textcolor{#083194}{\textbf{valeur}}:\textcolor{#D2691E}{\textbf{\mbox{texte}}\>?})$] |================================== -NOTE: RTFM @ http://hledger.org/manual/[]. - - -=== Calculs - -[horizontal] -**compte_parent**:: - latexmath:[$:\>c : \textcolor{#D2691E}{\textbf{compte}} → \textcolor{#D2691E}{\textbf{compte}}\>?$] + - latexmath:[$=\>c_{\lbrack0,\cdots,|c|-2\rbrack}\ \mbox{si}\ |c| \ge 2$] -**hiérarchie_de_compte**:: - latexmath:[$:\>\mathbb c : \textcolor{#D2691E}{\textbf{compte}} → \lbrack\textcolor{#D2691E}{\textbf{compte}}\rbrack$] + - latexmath:[$=\>\lbrack{\ c\ :\ \lbrack{\ c\ |\ c ← (\mathbf{compte\mbox{_}parent}\>{c})}\ \rbrack}\ \rbrack$] -**comptes**:: - latexmath:[$:\>\mathbb E : \lbrack\textcolor{#D2691E}{\textbf{\acute{e}criture}}\rbrack → \{\textcolor{#D2691E}{\textbf{compte}}\}$] + - latexmath:[$\{\ (\textbf{compte}\>f)\ |\ f ← (\textbf{flux}\>e)\ |\ e ← \mathbb E\ \}$] -**balance**:: - latexmath:[$:\>\mathbb F : \lbrack\textcolor{#D2691E}{\textbf{flux}}\rbrack → ℚ$] + - latexmath:[$=\>{(\ m\ |\ m ← m + (\textbf{montant}\>f)\ |\ f ← \mathbb F\ |\ m ← 0\ )$] + -**solde_de_compte**:: - latexmath:[$:\>\mathbb E : \lbrack\textcolor{#D2691E}{\textbf{\acute{e}criture}}\rbrack → c : \textcolor{#D2691E}{\textbf{compte}} → ℚ$] + - latexmath:[$=\>{\textbf{balance}\>\lbrack{\ f\ |\ f ← (\textbf{flux}\>e),\ c\>≼\>(\textbf{compte}\>f)\ |\ e ← \mathbb E\ }\rbrack$] + -// latexmath:[$=\>{\displaystyle{\sum_{e ← \mathbb E}}\left(\sum_{\stackrel{f ← (\textbf{flux}\>e),}{c\ ≼\ (\textbf{compte}\>f)}}(\textbf{montant}\>f})\right)$] -**solde**:: - latexmath:[$:\>\mathbb E : \lbrack\textcolor{#D2691E}{\textbf{\acute{e}criture}}\rbrack → - \lbrack\textcolor{#D2691E}{\textbf{flux}}\rbrack$] + - latexmath:[$=\>\displaystyle{\left\lbrack - \begin{array}{l} - (\textcolor{#083194}{\textbf{compte}}=c´, \textcolor{#083194}{\textbf{montant}}=m) \\ - |\ m ← (\mathbf{\mbox{solde_de_compte}}\,\mathbb E\,c´) \\ - |\ c´ ← (\mathbf{hi\acute{e}rarchie\mbox{_}de\mbox{_}compte}\,c) \\ - |\ c ← (\mathbf{comptes}\,\mathbb E) - \end{array}}\right\rbrack$] - - -=== Utiliser un éditeur de texte structuré (`vim`) +== Commandes `hledger` -Coloration syntaxique sur mesure:: -* ++hledger.vim++ -+ -[source,vim] -.~/.vimrc ----- -autocmd BufNewFile,BufRead *.hledger,*.ledger setfiletype hledger ----- -Complètement automatique des comptes (``):: -+ -* https://github.com/Shougo/neocomplete.vim[] -* https://github.com/Shougo/neocomplcache.vim[] -+ -[source,vim] -.~/.vimrc ----- -autocmd Filetype hledger set iskeyword+=.,38,39,40,41,44,45,58 " ----- -Alignement automatique des montants:: -+ -* https://github.com/junegunn/vim-easy-align[] -+ -[source,vim] -.~/.vimrc +[source,sh] +.Syntaxe quasiment commune à toutes les commandes ++hledger++ ---- - let g:easy_align_ignore_groups = ['Comment', 'String', 'hledgerTransaction'] +% hledger $commande $options $filtre -f $fichier.ledger ---- ifdef::backend-slidy2[>>>] -==== Suivre les modifications à plusieurs et/ou à distance (`git`) -TODO +=== Afficher le plan comptable (`accounts`) -== Commandes `hledger` - -ifdef::backend-slidy2[>>>] -=== Calculer des soldes (`balance`) +[cols="a,a"] +|================================== +| +[float] [source,sh] ---- -% hledger balance -f $fichier.ledger $filtre +% hledger accounts --tree -f data/exemple-syntaxe.ledger +sys::[hledger accounts --tree -f data/exemple-syntaxe.ledger] ---- [source,sh] -.Suivi des comptes ----- -% hledger balance -b 2012/02/01 -e 2012/04/30 --monthly -f $fichier.ledger >/tmp/bal.flow -% hledger balance -b 2012/02/01 -e 2012/04/30 --cumulative --monthly -f $fichier.ledger >/tmp/bal.cumulative -% hledger balance -b 2012/02/01 -e 2012/04/30 --historical --monthly -f $fichier.ledger >/tmp/bal.historical -% gvimdiff -o /tmp/bal.{cumulative,historical} ----- -image::data/gvimdiff-cumulative-historical.png[] - -ifdef::backend-slidy2[>>>] -=== Filtrer des écritures (`print`) -TODO - -ifdef::backend-slidy2[>>>] -=== Suivre un compte (`register`) -TODO - -ifdef::backend-slidy2[>>>] -=== Observer des statistiques (`stats`, `activity`) -TODO - - -== Exercice comptable - -ifdef::backend-slidy2[>>>] -=== Plan comptable d’une association - -* DOC : https://wiki.cyclocoop.org/Comptabilité/Document/Plan_comptable/[] - -[source,hledger] ---- -#include::data/Cyclofficine.Plan_comptable.hledger[] +% hledger accounts --flat -f data/exemple-syntaxe.ledger +sys::[hledger accounts --flat -f data/exemple-syntaxe.ledger] ---- +| +[float] +**comptes**:: + latexmath:[$:\>\mathbb E : \lbrack\textcolor{#D2691E}{\textbf{\acute{e}criture}}\rbrack → \{\textcolor{#D2691E}{\textbf{compte}}\}$] + + = « __ensemble des comptes vers lesquels fluent les écritures__ » + + latexmath:[$=\{\ (\textbf{compte}\>f)\ \|\ f ← (\textbf{flux}\>e)\ \|\ e ← \mathbb E\ \}$] +**compte_parent**:: + latexmath:[$:\>c : \textcolor{#D2691E}{\textbf{compte}} → \textcolor{#D2691E}{\textbf{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$] + +// = « __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$] -=== Comptabiliser en partie double +|================================== -Solde nul de toute écriture:: -+ -Pour toute écriture;; -Tout ce qui est _débité_ (+++++) dans ses comptes + -est forcément _crédité_ (++-++) dans ses autres comptes. -+ -* latexmath:[$\forall e : \textcolor{#D2691E}{\textbf{\acute{e}criture}}, - \ \textbf{balance}\>(\textbf{flux}\>{e}) = 0$] +=== Écrire des écritures (`add`) -Relation de Chasles par écritures d’engagement et de paiement:: -+ -[source,hledger] +[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]: . ---- -01/01 Écriture d’engagement - 7.Produit:0.Vente:1.Produit_fini:1.Vélo -80 - 5.Finance:1.Etablissement:1.Valeur:2.Chèque_à_encaisser 80 -01/02 Écriture de paiement - 5.Finance:1.Etablissement:1.Valeur:2.Chèque_à_encaisser -80 - 5.Finance:1.Etablissement:2.Banque:001.Courant 80 +[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]: . ---- -+ -NOTE: pour des espèces, transiter par : ++5.Finance:3.Caisse:1.Siège++ - -==== Soldes nuls souhaitables - -- Écritures des recettes -+ -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) -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) -4. Solde compte caisse (531) == Total entrées en caisse - Dépôt espèce en banque - Achat en espèce +=== Filtrer des écritures (`print`) -- Écritures de paye -+ -TODO +++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[] -=== Journaux (filtres) [horizontal] +.Afficher des « journaux auxiliaires » (exemples approximatifs) **Banque**:: + [source,sh] @@ -516,7 +518,7 @@ hledger print -f $fichier.ledger '^5.Finance:3.Caisse:' ---- hledger print -f $fichier.ledger '6.Charge:(3.Impôt:(1.|3.):|4.Personnel:)' ---- -**À NouVeaux**:: +**À NouVeau**:: + [source,sh] ---- @@ -529,18 +531,135 @@ hledger print -f $fichier.ledger tag:ANV hledger print -f $fichier.ledger tag:OD ---- -=== Clôture / Ouverture (`equity`) + +=== Calculer des soldes (`balance`) + +[cols="a,a"] +|================================== +| +[float] +[source,sh] +.Balance de toutes les écritures +---- +% hledger balance -f data/exemple-syntaxe.ledger +sys::[hledger balance -f data/exemple-syntaxe.ledger | sed -e 's/^-/‑/'] +---- + +NOTE: Toutes les écritures devant avoir leur balance nulle, +cette balance sur toutes les écritures est également nulle. + +[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/^[-=]/‑/'] +---- + +[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/^[-=]/‑/'] +---- + +[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'] +---- + +[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'] +---- + +//[source,sh] +//.Suivi des comptes +//---- +//% hledger balance -b 2012/02/01 -e 2012/04/30 --monthly -f $fichier.ledger >/tmp/bal.flow +//% hledger balance -b 2012/02/01 -e 2012/04/30 --cumulative --monthly -f $fichier.ledger >/tmp/bal.cumulative +//% hledger balance -b 2012/02/01 -e 2012/04/30 --historical --monthly -f $fichier.ledger >/tmp/bal.historical +//% gvimdiff -o /tmp/bal.{cumulative,historical} +//---- +//image::data/gvimdiff-cumulative-historical.png[] +| +[float] +[horizontal] +**balance**:: + latexmath:[$:\>\mathbb F : \lbrack\textcolor{#D2691E}{\textbf{flux}}\rbrack → ℚ$] + + = « __somme des montants des flux__ » + + latexmath:[$=\>{(\ m\ \|\ m ← m + (\textbf{montant}\>f)\ \|\ f ← \mathbb F\ \|\ m ← 0\ )$] + +**solde_de_compte**:: + latexmath:[$:\>\mathbb E : \lbrack\textcolor{#D2691E}{\textbf{\acute{e}criture}}\rbrack → c : \textcolor{#D2691E}{\textbf{compte}} → ℚ$] + + latexmath:[$=\>{\textbf{balance}\>\lbrack{\ f\ \|\ f ← (\textbf{flux}\>e),\ c\>≼\>(\textbf{compte}\>f)\ \|\ e ← \mathbb E\ }\rbrack$] + +// latexmath:[$=\>{\displaystyle{\sum_{e ← \mathbb E}}\left(\sum_{\stackrel{f ← (\textbf{flux}\>e),}{c\ ≼\ (\textbf{compte}\>f)}}(\textbf{montant}\>f})\right)$] +**solde**:: + latexmath:[$:\>\mathbb E : \lbrack\textcolor{#D2691E}{\textbf{\acute{e}criture}}\rbrack → + \lbrack\textcolor{#D2691E}{\textbf{flux}}\rbrack$] + + latexmath:[$=\>\displaystyle{\left\lbrack + \begin{array}{l} + (\textcolor{#083194}{\textbf{compte}}=c´, \textcolor{#083194}{\textbf{montant}}=m) \\ + \|\ m ← (\mathbf{\mbox{solde_de_compte}}\,\mathbb E\,c´) \\ + \|\ c´ ← (\mathbf{plan\mbox{_}comptable}\,c) \\ + \|\ c ← (\mathbf{comptes}\,\mathbb E) + \end{array}}\right\rbrack$] + +|================================== + +=== 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€ +---- + +=== Calculer les écritures de clôture et ouverture (`equity`) ++hledger-equity++ calcule une balance de comptes et en fait deux écritures, 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. +[cols="a,a"] +|================================== +| +[float] +[source,sh] +---- +% hledger-equity -f data/exemple-syntaxe.ledger +sys::[hledger-equity -f data/exemple-syntaxe.ledger] +---- + [source,sh] ---- -% hledger-equity -f $fichier.ledger $filtre +% hledger-equity -f data/exemple-syntaxe.ledger '^A' +sys::[hledger-equity -f data/exemple-syntaxe.ledger '^A'] ---- +[source,sh] +---- +% hledger-equity -f data/exemple-syntaxe.ledger '^B' +sys::[hledger-equity -f data/exemple-syntaxe.ledger '^B'] +---- + +| +[float] [source,hledger] .Solde des compte de gestion ---- @@ -568,6 +687,149 @@ d’ouverture:: pour les réinitialiser à leur solde du précédent exercice. equity:opening balances -44,58€ ---- +|================================== + + +=== Observer des statistiques (`stats`, `activity`) + +[cols="a,a"] +|================================== +| +[float] +[source,sh] +.Statistiques annuelles +---- +% hledger stats --period yearly -f Paris.2012.hledger +Main journal file : Paris.2012.hledger +Included journal files : Paris.Plan_comptable.hledger + Cyclofficine.Plan_comptable.hledger +Transactions span : 2012-01-01 to 2013-01-01 (366 days) +Last transaction : 2012-12-31 (576 days ago) +Transactions : 210 (0.6 per day) +Transactions last 30 days: 0 (0.0 per day) +Transactions last 7 days : 0 (0.0 per day) +Payees/descriptions : 144 +Accounts : 448 (depth 6) +Commodities : 1 (€) +---- + +| +[float] +[source,sh] +.Jours de l’année avec au moins 5 flux +---- +hledger activity --period daily -f Paris.2012.hledger \| grep '\*\{5\}' +2012-01-01 *********** +2012-02-29 ****** +2012-03-23 ****** +2012-03-31 ********* +2012-04-03 ****** +2012-04-30 ******** +2012-05-03 **************** +2012-05-11 ******** +2012-05-14 **************** +2012-05-31 ********** +2012-06-11 ****************** +2012-06-30 ************* +2012-07-13 ********* +2012-07-17 ****** +2012-07-30 ****** +2012-07-31 *********** +2012-08-31 ****** +2012-09-26 ******** +2012-09-30 ****** +2012-11-13 ******** +2012-11-30 ***** +2012-12-31 ************* +---- + +|================================== + + +== Exercice comptable + +ifdef::backend-slidy2[>>>] +=== Plan comptable d’une association + +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] +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é) +---- + +| +[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. ++ +[source,hledger] +---- +01/01 Prestation ; Écriture d’engagement (pièce comptable : facture) + 7.Produit:0.Vente:6.Prest'action -700,00 + 4.Tiers:1.Client:1.Client:1.Bien,Prestation:007.Mairie_du_XI 700,00 +01/14 Virement ; Écriture de paiement (pièce comptable : relevé de compte) + 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 + +- Écritures des recettes ++ +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) ++ +NOTE: vérifier qu’il ne reste plus de chèque 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) + +- Écritures de paye ++ +TODO + == Import et export avec `hledger` * https://github.com/eval/total_recall[] @@ -583,28 +845,114 @@ ifdef::backend-slidy2[>>>] ==== Comptes de résultats TODO -== `hledger-web` +== Installer `hledger` + +* http://hledger.org/installing[] + +[source,sh] +.Debian/jessie +---- +% sudo apt-get install hledger hledger-web +---- + +ifdef::backend-slidy2[>>>] +=== Via `cabal` +* http://www.haskell.org/cabal/[] + +[source,sh] +.Debian/wheezy +---- +% echo 'PATH="$HOME/.cabal/bin:$PATH"' >>~/.profile + # NOTE: rajoute dans le chemins des exécutables + # les exécutables installés par cabal +% exit # NOTE: recharge ~/.profile + +% sudo apt-get install ghc cabal-install \ + libncurses5-dev libtinfo-dev zlib1g-dev +% cabal update +% cabal install cabal # NOTE: met à jour cabal +% cabal install happy # NOTE: anticipe une dépendance exécutable +% cabal install hledger +% cabal install alex # NOTE: anticipe une dépendance exécutable +% cabal install warp-2.0.3.4 hledger-web + # NOTE: aide cabal à sélectionner un warp qui fonctionne +---- + +[source,sh] +.Mise-à-jour +---- +% cabal install --reinstall hledger hledger-web +---- + +ifdef::backend-slidy2[>>>] +==== Version de développement + +[source,sh] +---- +% git clone http://github.com/simonmichael/hledger.git ~/src/hledger +% cd ~/src/hledger +% cabal install --reinstall --force-reinstalls \ + ./hledger-lib ./hledger ./hledger-web +---- +=== Utiliser un éditeur de texte structuré (`vim`) + +Coloration syntaxique sur mesure:: +* ++hledger.vim++ ++ +[source,vim] +.~/.vimrc +---- +autocmd BufNewFile,BufRead *.hledger,*.ledger setfiletype hledger +---- +Complètement automatique des comptes (``):: ++ +* https://github.com/Shougo/neocomplete.vim[] +* https://github.com/Shougo/neocomplcache.vim[] ++ +NOTE: Besoin de rajouter ++vim/autoload/neocomplcache/filters/sorter_bytes.vim++. ++ +[source,vim] +.~/.vimrc +---- +autocmd Filetype hledger set iskeyword+=.,38,39,40,41,44,45,58 " +---- +Alignement automatique des montants:: ++ +* https://github.com/junegunn/vim-easy-align[] ++ +[source,vim] +.~/.vimrc +---- +let g:easy_align_ignore_groups = ['Comment', 'String', 'hledgerTransaction'] +---- + +ifdef::backend-slidy2[>>>] +==== Suivre les modifications à plusieurs et/ou à distance (`git`) TODO -== (bonus) Scripter ++hledger++ +== +++hledger-web+++ +* http://localhost:5000[] ++ TODO -ifdef::backend-slidy2[>>>] -=== Installer un script ++hledger++ +== Scripter ++hledger++ + [source,sh] +.Installer un script ++hledger++ ---- % echo 'PATH="$HOME/src/hledger/extra:$PATH"' >>~/.profile % exit # NOTE: recharge ~/.profile % ghc ~/src/hledger/extra/hledger-SCRIPT.hs ---- -== Communauté - -[horizontal] -Chat:: -Liste:: +.Idées de scripts +* Vérifier l’ordre des dates. +* Chercher des écritures doublonnes. +== Merci +.Luca Pacioli +image::data/Luca_Pacioli_(Gemaelde).jpeg[] ifdef::backend-slidy2[] [hledgersplash,position: absolute; left: 50%; top: 10%;] diff --git a/doc/hledger.fr.slidy.css b/doc/hledger.fr.slidy.css index e8128ee..53ae2a6 100644 --- a/doc/hledger.fr.slidy.css +++ b/doc/hledger.fr.slidy.css @@ -185,7 +185,7 @@ html body { } /* lists */ .article .hdlist p { - padding:0 0 0 0; + padding:0 0 0.5ex 0; } .article .hdlist td.hdlist1 { text-align:right; @@ -434,6 +434,23 @@ html body { display:block; margin:0 auto 0 auto; } +/* block */ + div.admonitionblock, + div.exampleblock, + div.imageblock, + div.listingblock, + div.literalblock, + div.quoteblock, + div.sidebarblock, + div.verseblock { + margin-bottom:1ex; + } + div.admonitionblock { + margin-top:1ex; + } + div.tableblock td { + padding:0 1ex 0 1ex; + } /* splash */ div.hledgersplash > div.imageblock { /*border:black solid 1px;*/ diff --git a/doc/hledger.fr.slidy.d b/doc/hledger.fr.slidy.d index 35e97e4..407a232 100644 --- a/doc/hledger.fr.slidy.d +++ b/doc/hledger.fr.slidy.d @@ -1,2 +1,4 @@ hledger.fr.slidy.ad \ hledger.fr.slidy.d: \ +./data/exemple-syntaxe.ledger \ +./data/Cyclofficine.Plan_comptable.hledger diff --git a/doc/hledger.fr.slidy.html b/doc/hledger.fr.slidy.html index a5c4fca..67b354a 100644 --- a/doc/hledger.fr.slidy.html +++ b/doc/hledger.fr.slidy.html @@ -1233,7 +1233,7 @@ html body { } /* lists */ .article .hdlist p { - padding:0 0 0 0; + padding:0 0 0.5ex 0; } .article .hdlist td.hdlist1 { text-align:right; @@ -1482,6 +1482,23 @@ html body { display:block; margin:0 auto 0 auto; } +/* block */ + div.admonitionblock, + div.exampleblock, + div.imageblock, + div.listingblock, + div.literalblock, + div.quoteblock, + div.sidebarblock, + div.verseblock { + margin-bottom:1ex; + } + div.admonitionblock { + margin-top:1ex; + } + div.tableblock td { + padding:0 1ex 0 1ex; + } /* splash */ div.hledgersplash > div.imageblock { /*border:black solid 1px;*/ @@ -6861,7 +6878,7 @@ else @@ -6869,8 +6886,8 @@ else
-

1. Le .ledger : un format de Grand Livre ouvert.. et simple

- +

1. Le .ledger : un format de journal comptable ouvert.. et simple

+
@@ -6880,17 +6897,20 @@ else
 
 2014/05/08 Propagande
 	Caisse:Grève             -7
-	Achat:Impression:Tracts   7
+ 	Achat:Impression:Tracts   7
 
 ; Répéter ad nauseam
 
-
- - -
-

1.1. Les plus

- -
+
+ +++ + + + +

Les plus

@@ -6910,7 +6930,7 @@ Pérenne @@ -6921,7 +6941,7 @@ Modifiable @@ -6943,7 +6963,7 @@ Versionnable @@ -6954,7 +6974,7 @@ Suivi et fusion simples des modifications. @@ -6979,44 +6999,67 @@ Interopérable Pas spécifique à un éditeur logiciel particulier (sauf fonctionnalité expérimentale).

-
    -
  • - +
@@ -6899,7 +6919,7 @@ Transparent

-Visibilité de toutes les informations. +Visibilité de toutes les informations.

-Compréhensible sans peine. +Compréhensible sans logiciel particulier pour l’exploiter.

-Pas d’interface protectrice. +Pas de verrou de validation (plus ou moins illusoire).

-Suivi et fusion simples des modifications. +Suivi des modifications, fusion des contributions, et sauvegarde simples.

-Langage pour s’exprimer clairement, par exemple pour discuter dans un courriel. +Langage pour s’exprimer clairement (par ex. dans un courriel ou une présentation).

+ + + + + + + + + + + + + + + + + + +
+ledger +
+
+

http://ledger-cli.org/ - - -

  • - +

    +
  • +hledger +
    +
    +

    http://hledger.org/ - - -

  • - +

    +
  • +beancount +
    +
    +

    http://furius.ca/beancount/ - - -

  • - +

    +
  • +penny +
    +
    +

    https://massysett.github.io/penny/ - - -

  • - +

    +
  • +abandon +
    +
    +

    https://github.com/hrj/abandon/ - - - +

    -
    - -
    - -
    -

    1.2. Les moins

    - -
    +
    +

    Les moins

    @@ -7048,34 +7085,42 @@ Textuel - -
    @@ -7025,19 +7068,13 @@ Modifiable

    -Mais pas moins que les autres logiciels -et à nuancer si couplé à un gestionnaires de versions, -et/ou avec signature cryptographiques. +Mais, comme c’est un fichier, un verrou-validant
    +peut être mis par une signature cryptographique.

    -% git tag --sign   v2011 -m "Clôture de la comptabilité 2011"
    -% git tag --verify v2011
    -
    -
    -
    -% gpg --sign         $fichier.hledger
    -% gpg --verify-files $fichier.hledger.gpg
    +% gpg --detach-sign $fichier.ledger
    +% gpg --verify      $fichier.ledger.sig
     

    -Préférable de bien savoir utiliser -un éditeur de texte structuré. +Préférable de ne pas avoir peur des caractères, +voire de bien savoir utiliser un éditeur de texte structuré.

    -Peu contraint +Contrainte minimale
    +

    +« N’a pas été conçu pour empêcher ses utilisateurs de commettre des actes stupides, +car cela les empêcherait aussi de réaliser des actes ingénieux. » +

    -2102/03/21 Remise chq (1101804)
    +2102/03/21 Chèque ; Erreur de date
     	5.Finance:1.Etablissement:1.Valeur:2.Chèque_à_encaisser  -145,00
     	5.Finance:1.Etablissement:2.Banque:001.Courant            145,00
     
    -
    - +
    Note KISSMais possibilité de vérifications d’invariants conventionnels avec des scripts.
    + + +
    + + + +
    @@ -7098,34 +7143,51 @@ Peu contraint ‑------------------- 44,58€
    - - - -
    -

    2.1. Les plus

    - -
    +
    + +++ + + @@ -7150,7 +7212,7 @@ Typage statique @@ -7168,35 +7230,50 @@ Aucune conversion implicite de types de données.

    Les plus

    -Utilisation -
    -
    -Étude -
    -
    -Modification +Philosophie Unix
    +
    +
      +
    • + +« Écrivez des programmes qui effectuent une seule chose et qui le font bien. » + +
    • +
    • + +« Écrivez des programmes qui collaborent. » + +
    • +
    • + +« Écrivez des programmes pour gérer des flux de texte,
      + car c’est une interface universelle.
       » +
      +
    • +
    +
    -Duplication +Utilisation, Étude, Modification, Duplication

    Permises techniquement et légalement
    -(« logiciel libre » sous GNU/GPLv3) +(« logiciel libre » sous GNU/GPLv3)

    -Certification +Rigueur

    @@ -7139,7 +7201,7 @@ Fonctionnel pur

    -Aucune mutation de données externes à une fonction (effet de bord). +Aucune mutation de données externes à une fonction (sans effet de bord).

    -Vérification des erreurs de type avant l’exécution du programme. +Vérification des erreurs de type avant l’exécution du programme.

    -Portable +Relisible

    -GNU/Linux, Apple/MacOS, Microsoft/Windows +≈13 000 lignes de Haskell (ou 160 écrans de 80 lignes)
    +(plus ≈1 800 lignes pour hledger-web).

    +
    + + + +
    +Note +À équivalence fonctionnelle, +OpenERPv7 ≈80 000 lignes de Python (≈1 000 écrans).
    +
    -Support +Ancienneté

    -~1 développeur à mi-temps +Depuis 2007 (≈7 ans). +

    +
    +
    +Portable +
    +
    +

    +GNU/Linux, Apple/MacOS, Microsoft/Windows

    -
    Ligne de commande
    +

    +Contrôle l’ordinateur avec le langage. +

    -	% hledger balance -f $fichier.hledger
    +% hledger add     -f $fichier.hledger
    +% hledger balance -f $fichier.hledger
     
    @@ -7205,170 +7282,179 @@ Interface Web
    -	% hledger-web --server -f $fichier.hledger
    -	% firefox "http://localhost:5000"
    +% hledger-web --server -f $fichier.hledger
    +% firefox "http://localhost:5000"
     
    +Support +
    +
    +

    +≈1 développeur à mi-temps-libéré +

    + +
    +
    Extensible
    -	% ghc hledger-fait-ce-que-je-veux.hs
    -	% ./hledger-fait-ce-que-je-veux -f $fichier.hledger
    +% ghc hledger-fait-ce-que-je-veux.hs
    +% ./hledger-fait-ce-que-je-veux -f $fichier.hledger
     
    -
    -
    - - -
    -

    2.2. Les moins

    - -
    +
    +

    Les moins

    -Ligne de commande +Pas tout en un
    -
    -
    -

    +

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

    +
    +
    +En ligne de commande +
    +
    +

    +Peur irrationnelle mais fréquente, +d’être libre et d’avoir le pouvoir sur la machine, +au lieu d’être captif d’une interface. +

    +
    + + + +
    +Note +L’interface Web est simple, et s’améliore.
    +
    +
    +Read The Fucking Manual +
    +
    +

    +De même que maîtriser un plan comptable néçessite +en plus de le parcourir de s’informer sur son utilisation,
    +de même maîtriser un langage et un logiciel en ligne de commande nécessite +de s’informer sur sa syntaxe, sa sémantique et son utilisation. +

    +
    -
    +
    + + + +
    -

    3. Installer hledger

    - -
    - -
    -
    Debian/jessie
    -
    -% sudo apt-get install hledger hledger-web
    -
    -
    - - -
    -

    3.1. Via cabal

    - -
    - -
    -
    Debian/wheezy
    -
    -% echo 'PATH="$HOME/.cabal/bin:$PATH"' >>~/.profile
    -  # NOTE: rajoute dans le chemins des exécutables
    -  # les exécutables installés par cabal
    -% exit # NOTE: recharge ~/.profile
    -
    -% sudo apt-get install ghc cabal-install \
    -               libncurses5-dev libtinfo-dev zlib1g-dev
    -% cabal update
    -% cabal install cabal # NOTE: met à jour cabal
    -% cabal install happy # NOTE: anticipe une dépendance exécutable
    -% cabal install hledger
    -% cabal install alex # NOTE: anticipe une dépendance exécutable
    -% cabal install warp-2.0.3.4 hledger-web
    -  # NOTE: aide cabal à sélectionner un warp qui fonctionne
    -
    -
    -
    Mise-à-jour
    -
    -% cabal install --reinstall hledger hledger-web
    -
    -
    - - -
    -

    3.1.1. Version de développement

    - -
    -
    -
    -% git clone http://github.com/simonmichael/hledger.git ~/src/hledger
    -% cd ~/src/hledger
    -% cabal install --reinstall --force-reinstalls \
    -                ./hledger-lib ./hledger ./hledger-web
    -
    -
    - -
    - -
    -

    4. Écrire en .ledger

    - +

    3. Langage d’un fichier .ledger

    +

    Un .ledger est un fichier de texte brut respectant une syntaxe préçise -qui forme une succession d’écritures comptables, ordonnées librement.

    +qui forme une succession d’écritures comptables, classées librement.

    -

    4.1. Exemple

    - +

    3.1. Définition informelle

    +
    +
    Fichier data/exemple-syntaxe.ledger
    -; Ceci est un exemple de livre comptable « ledger »
    -; NOTE: fantaisiste comptablement parlant, mais syntaxiquement correct
    +D 1000.00€ ; directive préçisant le format par défaut des montants
     
     2014/01/01 Libellé de l’écriture ; UN_TAG:, Autre_tag:Avec_Valeur
    -	Compte:Sous-Compte                         -42 ; flux créditant
    -	Autre_Compte:Sous-Compte:Sous-Sous-Compte   42 ; flux débitant
    -
    -2014/01/01 Deuxième écriture le même jour
    -	Vente:Âme  -666 ; (tag de flux) Arnaque:
    -	Kapital     666
    -
    -2014/01/02 Troisième écriture le jour suivant avec ventilation des flux
    -	Compte:Crédité:A  -1
    -	Compte:Crédité:B  -2
    -	Compte:Débité:Z    1
    -	Compte:Débité:Y    1
    -	Compte:Débité:X:x  1
    -
    -2014/04/12
    -	Compte:Crédité  -1234,56
    -	Compte:Débité ;  1234,56 (montant inféré)
    +	A:AA      -42 ; flux créditant
    +	B:BB:BBB   40 ; flux débitant
    +	B:A         2 ; flux débitant ventilé
     
    -2014/02/01 Écriture non ordonnée par date ; Ok, mais déconseillé
    -	Compte:Débité    1
    -	Compte:Crédité  -1 ; Flux non ordonné par crédit/débit
    -	 ; c'est juste moins lisible...
    +2014/01/02 Libellé d’une autre écriture
    +	A:AA  100 ; UN_TAG_de_flux:
    +	B  -100   ; ATTENTION: au moins deux espaces requises entre le compte et le montant
     
     ; Répéter ad nauseam
     
    +
    Conventions usuelles
      +
    • + +Classement des écritures par date + +
    • +
    • + +Classement des flux par signe, puis compte + +
    • +
    -

    4.2. Langage

    - +

    3.2. Définition formelle

    +
    - + + +
    Syntaxe (grammaire BNF)Structure (signatures fonctionnelles)Informations (signatures fonctionnelles)
    -livre ::= (écriture | commentaire | "⏎" | "␣")*
    +journal ::= (écriture | commentaire | "⏎" | "␣")*
     
    - -
    -livre +journal
    @@ -7576,100 +7662,321 @@ commentaire ::= ( ";" (tag - - - -
    -Note -RTFM @ http://hledger.org/manual/.
    + + +
    + +
    +

    4. Commandes hledger

    + +
    +
    +
    Syntaxe quasiment commune à toutes les commandes hledger
    +
    +% hledger $commande $options $filtre -f $fichier.ledger
    +
    +
    + + +
    +

    4.1. Afficher le plan comptable (accounts)

    + +
    +
    + +++ + + + + + +
    +
    +% hledger accounts --tree -f data/exemple-syntaxe.ledger
    +A
    +  AA
    +B
    +  A
    +  BB
    +    BBB
    +
    +
    +
    +% hledger accounts --flat -f data/exemple-syntaxe.ledger
    +A:AA
    +B
    +B:A
    +B:BB:BBB
    +
    +
    +comptes +
    +
    +

    + $:\>\mathbb E : \lbrack\textcolor{#D2691E}{\textbf{\acute{e}criture}}\rbrack → \{\textcolor{#D2691E}{\textbf{compte}}\}$
    + = « ensemble des comptes vers lesquels fluent les écritures »
    + $=\{\ (\textbf{compte}\>f)\ |\ f ← (\textbf{flux}\>e)\ |\ e ← \mathbb E\ \}$ +

    +
    +
    +compte_parent +
    +
    +

    + $:\>c : \textcolor{#D2691E}{\textbf{compte}} → \textcolor{#D2691E}{\textbf{compte}}\>?$
    + $=\>c_{\lbrack0,\cdots,|c|-2\rbrack}\ \mbox{si}\ |c| \ge 2$ +

    +
    +
    +hiérachie_de_compte +
    +
    +

    + $:\>\mathbb c : \textcolor{#D2691E}{\textbf{compte}} → \lbrack\textcolor{#D2691E}{\textbf{compte}}\rbrack$
    + + $=\>\lbrack{\ c\ :\ \lbrack{\ c\ |\ c ← (\mathbf{compte\mbox{_}parent}\>{c})}\ \rbrack}\ \rbrack$ +

    +
    +
    -

    4.3. Calculs

    - +

    4.2. Écrire des écritures (add)

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

    4.3. Filtrer des écritures (print)

    + +
    +
    +
    +

    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
    +
    +
    Afficher des « journaux auxiliaires » (exemples approximatifs)
    + + + +
    -compte_parent +Banque
    -

    - $:\>c : \textcolor{#D2691E}{\textbf{compte}} → \textcolor{#D2691E}{\textbf{compte}}\>?$
    - $=\>c_{\lbrack0,\cdots,|c|-2\rbrack}\ \mbox{si}\ |c| \ge 2$ -

    +
    +
    +hledger print -f $fichier.ledger '^5.Finance:1.Etablissement:2.Banque:'
    +
    -hiérarchie_de_compte +Achats
    -

    - $:\>\mathbb c : \textcolor{#D2691E}{\textbf{compte}} → \lbrack\textcolor{#D2691E}{\textbf{compte}}\rbrack$
    - $=\>\lbrack{\ c\ :\ \lbrack{\ c\ |\ c ← (\mathbf{compte\mbox{_}parent}\>{c})}\ \rbrack}\ \rbrack$ -

    +
    +
    +hledger print -f $fichier.ledger '^(2.Immobilisation:1.Corporelle:|6.Charge:(0.Achat|1.Service|2.Autre_service):)'
    +
    -comptes +Vente
    -

    - $:\>\mathbb E : \lbrack\textcolor{#D2691E}{\textbf{\acute{e}criture}}\rbrack → \{\textcolor{#D2691E}{\textbf{compte}}\}$
    - $\{\ (\textbf{compte}\>f)\ |\ f ← (\textbf{flux}\>e)\ |\ e ← \mathbb E\ \}$ -

    +
    +
    +hledger print -f $fichier.ledger '^7.Produit:0.Vente:'
    +
    -balance +Caisse
    -

    - $:\>\mathbb F : \lbrack\textcolor{#D2691E}{\textbf{flux}}\rbrack → ℚ$
    - $=\>{(\ m\ |\ m ← m + (\textbf{montant}\>f)\ |\ f ← \mathbb F\ |\ m ← 0\ )$
    -

    +
    +
    +hledger print -f $fichier.ledger '^5.Finance:3.Caisse:'
    +
    -solde_de_compte +Paye
    -

    - $:\>\mathbb E : \lbrack\textcolor{#D2691E}{\textbf{\acute{e}criture}}\rbrack → c : \textcolor{#D2691E}{\textbf{compte}} → ℚ$
    - $=\>{\textbf{balance}\>\lbrack{\ f\ |\ f ← (\textbf{flux}\>e),\ c\>≼\>(\textbf{compte}\>f)\ |\ e ← \mathbb E\ }\rbrack$
    -

    +
    +
    +hledger print -f $fichier.ledger '6.Charge:(3.Impôt:(1.|3.):|4.Personnel:)'
    +
    -solde +À NouVeau
    -

    - $:\>\mathbb E : \lbrack\textcolor{#D2691E}{\textbf{\acute{e}criture}}\rbrack → - \lbrack\textcolor{#D2691E}{\textbf{flux}}\rbrack$
    - $=\>\displaystyle{\left\lbrack - \begin{array}{l} - (\textcolor{#083194}{\textbf{compte}}=c´, \textcolor{#083194}{\textbf{montant}}=m) \\ - |\ m ← (\mathbf{\mbox{solde_de_compte}}\,\mathbb E\,c´) \\ - |\ c´ ← (\mathbf{hi\acute{e}rarchie\mbox{_}de\mbox{_}compte}\,c) \\ - |\ c ← (\mathbf{comptes}\,\mathbb E) - \end{array}}\right\rbrack$ -

    +
    +
    +hledger print -f $fichier.ledger tag:ANV
    +
    +
    +Opération_Diverses +
    +
    +
    +
    +hledger print -f $fichier.ledger tag:OD
    +
    @@ -7678,379 +7985,166 @@ commentaire ::= ( ";" (tag
    -

    4.4. Utiliser un éditeur de texte structuré (vim)

    - +

    4.4. Calculer des soldes (balance)

    +
    -
    -
    -Coloration syntaxique sur mesure -
    -
    -
      -
    • - -hledger.vim - -
      -
      ~/.vimrc
      -
      -autocmd BufNewFile,BufRead *.hledger,*.ledger setfiletype hledger
      -
      -
    • -
    -
    -
    -Complètement automatique des comptes (<Tab>) -
    -
    - -
    -
    -Alignement automatique des montants -
    -
    - -
    -
    -
    - - -
    -

    4.4.1. Suivre les modifications à plusieurs et/ou à distance (git)

    - -
    -
    -
    -

    TODO

    -
    -
    -
    - -
    - -
    -

    5. Commandes hledger

    - -
    -
    - - -
    -

    5.1. Calculer des soldes (balance)

    - -
    -
    -
    -% hledger balance -f $fichier.ledger $filtre
    -
    -
    -
    Suivi des comptes
    -
    -% hledger balance -b 2012/02/01 -e 2012/04/30              --monthly -f $fichier.ledger >/tmp/bal.flow
    -% hledger balance -b 2012/02/01 -e 2012/04/30 --cumulative --monthly -f $fichier.ledger >/tmp/bal.cumulative
    -% hledger balance -b 2012/02/01 -e 2012/04/30 --historical --monthly -f $fichier.ledger >/tmp/bal.historical
    -% gvimdiff -o /tmp/bal.{cumulative,historical}
    -
    -
    -
    -data/gvimdiff-cumulative-historical.png -
    -
    -
    - - -
    -

    5.2. Filtrer des écritures (print)

    - -
    -
    -
    -

    TODO

    -
    -
    -
    - - -
    -

    5.3. Suivre un compte (register)

    - -
    -
    -
    -

    TODO

    -
    -
    -
    - - -
    -

    5.4. Observer des statistiques (stats, activity)

    - -
    -
    -
    -

    TODO

    -
    -
    -
    - -
    - -
    -

    6. Exercice comptable

    - -
    -
    - - -
    -

    6.1. Plan comptable d’une association

    - -
    - -
    -
    -#include::data/Cyclofficine.Plan_comptable.hledger[]
    -
    -
    - -
    - -
    -

    6.2. Comptabiliser en partie double

    - -
    -
    -
    -Solde nul de toute écriture -
    -
    -
    -
    -Pour toute écriture -
    -
    -

    -Tout ce qui est débité (+) dans ses comptes
    -est forcément crédité (-) dans ses autres comptes. -

    -
      -
    • - -$\forall e : \textcolor{#D2691E}{\textbf{\acute{e}criture}}, - \ \textbf{balance}\>(\textbf{flux}\>{e}) = 0$ - -
    • -
    -
    -
    -
    -
    -Relation de Chasles par écritures d’engagement et de paiement -
    -
    -
    +
    + +++ + + - - - - - -
    +
    Balance de toutes les écritures
    -01/01 Écriture d’engagement
    -	7.Produit:0.Vente:1.Produit_fini:1.Vélo                  -80
    -	5.Finance:1.Etablissement:1.Valeur:2.Chèque_à_encaisser   80
    -
    -01/02 Écriture de paiement
    -	5.Finance:1.Etablissement:1.Valeur:2.Chèque_à_encaisser  -80
    -	5.Finance:1.Etablissement:2.Banque:001.Courant            80
    +% hledger balance -f data/exemple-syntaxe.ledger
    +              58.00€  A:AA
    +             -58.00€  B
    +               2.00€    A
    +              40.00€    BB:BBB
    +‑-------------------
    +                   0
     
    - +
    Note pour des espèces, transiter par : 5.Finance:3.Caisse:1.SiègeToutes les écritures devant avoir leur balance nulle, +cette balance sur toutes les écritures est également nulle.
    - -
    - - -
    - -
    -

    6.2.1. Soldes nuls souhaitables

    - -
    -
      -
    • - -Écritures des recettes - -
        -
      1. - -$\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. -
      3. - -Total chèques à encaisser (5112) == Total remises de chèques à la banque (512) (+/- argent non déposé en banque) - -
      4. -
      5. - -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) - -
      6. -
      7. - -Solde compte caisse (531) == Total entrées en caisse - Dépôt espèce en banque - Achat en espèce - -
      8. -
      -
    • -
    • - -Écritures de paye - -
      -
      -

      TODO

      -
      -
      -
    • -
    -
    - -
    - -
    -

    6.3. Journaux (filtres)

    - -
    -
    - - - - - - - - - - - - +
    +
    Avec accumulation des soldes d’une période à l’autre
    +
    +% hledger balance --daily --historical -f data/exemple-syntaxe.ledger
    +Ending balances (historical) in 2014/01/01-2014/01/02:
    +
    +          ||  2014/01/01  2014/01/02
    +‑=========++=========================
    + A:AA     ||     -42.00€      58.00€
    + B        ||           0    -100.00€
    + B:A      ||       2.00€       2.00€
    + B:BB:BBB ||      40.00€      40.00€
    +‑---------++-------------------------
    +          ||           0           0
    +
    + + + +
    -Banque -
    -
    +
    Balance sur des comptes filtrés par expression rationnelle
    -hledger print -f $fichier.ledger '^5.Finance:1.Etablissement:2.Banque:'
    +% hledger balance 'A' -f data/exemple-syntaxe.ledger
    +              58.00€  A:AA
    +               2.00€  B:A
    +‑-------------------
    +              60.00€
     
    -
    -Achats -
    -
    +
    Balance sur un compte racine
    -hledger print -f $fichier.ledger '^(2.Immobilisation:1.Corporelle:|6.Charge:(0.Achat|1.Service|2.Autre_service):)'
    +% hledger balance '^A' -f data/exemple-syntaxe.ledger
    +              58.00€  A:AA
    +‑-------------------
    +              58.00€
     
    -
    -Vente -
    -
    +
    Sans accumulation des soldes d’une période à l’autre
    -hledger print -f $fichier.ledger '^7.Produit:0.Vente:'
    +% hledger balance --daily -f data/exemple-syntaxe.ledger
    +Balance changes in 2014/01/01-2014/01/02:
    +
    +          ||  2014/01/01-2014/01/01  2014/01/02-2014/01/02
    +‑=========++===============================================
    + A:AA     ||                -42.00€                100.00€
    + B        ||                      0               -100.00€
    + B:A      ||                  2.00€                      0
    + B:BB:BBB ||                 40.00€                      0
    +‑---------++-----------------------------------------------
    +          ||                      0                      0
     
    -
    + +
    -Caisse +balance
    -
    -
    -hledger print -f $fichier.ledger '^5.Finance:3.Caisse:'
    -
    +

    + $:\>\mathbb F : \lbrack\textcolor{#D2691E}{\textbf{flux}}\rbrack → ℚ$
    + = « somme des montants des flux »
    + $=\>{(\ m\ |\ m ← m + (\textbf{montant}\>f)\ |\ f ← \mathbb F\ |\ m ← 0\ )$
    +

    -Paye +solde_de_compte
    -
    -
    -hledger print -f $fichier.ledger '6.Charge:(3.Impôt:(1.|3.):|4.Personnel:)'
    -
    +

    + $:\>\mathbb E : \lbrack\textcolor{#D2691E}{\textbf{\acute{e}criture}}\rbrack → c : \textcolor{#D2691E}{\textbf{compte}} → ℚ$
    + $=\>{\textbf{balance}\>\lbrack{\ f\ |\ f ← (\textbf{flux}\>e),\ c\>≼\>(\textbf{compte}\>f)\ |\ e ← \mathbb E\ }\rbrack$
    +

    -À NouVeaux +solde
    +

    + $:\>\mathbb E : \lbrack\textcolor{#D2691E}{\textbf{\acute{e}criture}}\rbrack → + \lbrack\textcolor{#D2691E}{\textbf{flux}}\rbrack$
    + $=\>\displaystyle{\left\lbrack + \begin{array}{l} + (\textcolor{#083194}{\textbf{compte}}=c´, \textcolor{#083194}{\textbf{montant}}=m) \\ + |\ m ← (\mathbf{\mbox{solde_de_compte}}\,\mathbb E\,c´) \\ + |\ c´ ← (\mathbf{plan\mbox{_}comptable}\,c) \\ + |\ c ← (\mathbf{comptes}\,\mathbb E) + \end{array}}\right\rbrack$ +

    +
    +
    +
    + +
    + +
    +

    4.5. Suivre un compte (register)

    + +
    +
    Suivi de la somme des crédits du compte 5112
    -hledger print -f $fichier.ledger tag:ANV
    +% 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€
     
    -
    -Opération_Diverses -
    -
    +
    Suivi de la somme des débits du compte 5112
    -hledger print -f $fichier.ledger tag:OD
    +% 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€
     
    -
    -

    6.4. Clôture / Ouverture (equity)

    - +

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

    +
    @@ -8079,46 +8173,717 @@ d’ouverture

    pour les réinitialiser à leur solde du précédent exercice.

    -
    +
    +
    + +++ + + + + + +
    +
    +% hledger-equity -f data/exemple-syntaxe.ledger
    +2014/07/30
    +    A:AA                          -58.00€
    +    B                             100.00€
    +    B:A                            -2.00€
    +    B:BB:BBB                      -40.00€
    +    equity:closing balances             0
    +
    +2014/07/30
    +    A:AA                           58.00€
    +    B                            -100.00€
    +    B:A                             2.00€
    +    B:BB:BBB                       40.00€
    +    equity:opening balances             0
    +
    +
    +
    +% hledger-equity -f data/exemple-syntaxe.ledger '^A'
    +2014/07/30
    +    A:AA                          -58.00€
    +    equity:closing balances        58.00€
    +
    +2014/07/30
    +    A:AA                           58.00€
    +    equity:opening balances       -58.00€
    +
    +
    +
    +% hledger-equity -f data/exemple-syntaxe.ledger '^B'
    +2014/07/30
    +    B                             100.00€
    +    B:A                            -2.00€
    +    B:BB:BBB                      -40.00€
    +    equity:closing balances       -58.00€
    +
    +2014/07/30
    +    B                            -100.00€
    +    B:A                             2.00€
    +    B:BB:BBB                       40.00€
    +    equity:opening balances        58.00€
    +
    +
    Solde des compte de gestion
    +
    +% hledger-equity '^6' '^7' -f Paris.2011.hledger
    +2014/07/29
    +    6.Charge:0.Achat:6.Non_stocké:8.Autre_Matière,Fourniture:1.Atelier      -248,87€
    +    6.Charge:1.Service:3.Location:2.Immobilière                             -441,46€
    +    6.Charge:2.Autre_service:3.Communication:6.Catalogue,Imprimé             -24,00€
    +    6.Charge:2.Autre_service:7.Service_bancaire                              -31,25€
    +    6.Charge:5.Gestion:8.Divers:6.Cotisation_(vie_statutaire)                -25,00€
    +    7.Produit:0.Vente:6.Prest'action                                         700,00€
    +    7.Produit:5.Autre_gestion_courante:6.Cotisation                           20,00€
    +    7.Produit:5.Autre_gestion_courante:8.Divers                                6,00€
    +    equity:closing balances                                                   44,58€
    +
    +2014/07/29
    +    6.Charge:0.Achat:6.Non_stocké:8.Autre_Matière,Fourniture:1.Atelier       248,87€
    +    6.Charge:1.Service:3.Location:2.Immobilière                              441,46€
    +    6.Charge:2.Autre_service:3.Communication:6.Catalogue,Imprimé              24,00€
    +    6.Charge:2.Autre_service:7.Service_bancaire                               31,25€
    +    6.Charge:5.Gestion:8.Divers:6.Cotisation_(vie_statutaire)                 25,00€
    +    7.Produit:0.Vente:6.Prest'action                                        -700,00€
    +    7.Produit:5.Autre_gestion_courante:6.Cotisation                          -20,00€
    +    7.Produit:5.Autre_gestion_courante:8.Divers                               -6,00€
    +    equity:opening balances                                                  -44,58€
    +
    +
    +
    + +
    + +
    +

    4.7. Observer des statistiques (stats, activity)

    + +
    +
    + +++ + + + + + +
    +
    Statistiques annuelles
    +
    +% hledger stats --period yearly -f Paris.2012.hledger
    +Main journal file        : Paris.2012.hledger
    +Included journal files   : Paris.Plan_comptable.hledger
    +                           Cyclofficine.Plan_comptable.hledger
    +Transactions span        : 2012-01-01 to 2013-01-01 (366 days)
    +Last transaction         : 2012-12-31 (576 days ago)
    +Transactions             : 210 (0.6 per day)
    +Transactions last 30 days: 0 (0.0 per day)
    +Transactions last 7 days : 0 (0.0 per day)
    +Payees/descriptions      : 144
    +Accounts                 : 448 (depth 6)
    +Commodities              : 1 (€)
    +
    +
    Jours de l’année avec au moins 5 flux
    +
    +hledger activity --period daily -f Paris.2012.hledger | grep '\*\{5\}'
    +2012-01-01 ***********
    +2012-02-29 ******
    +2012-03-23 ******
    +2012-03-31 *********
    +2012-04-03 ******
    +2012-04-30 ********
    +2012-05-03 ****************
    +2012-05-11 ********
    +2012-05-14 ****************
    +2012-05-31 **********
    +2012-06-11 ******************
    +2012-06-30 *************
    +2012-07-13 *********
    +2012-07-17 ******
    +2012-07-30 ******
    +2012-07-31 ***********
    +2012-08-31 ******
    +2012-09-26 ********
    +2012-09-30 ******
    +2012-11-13 ********
    +2012-11-30 *****
    +2012-12-31 *************
    +
    +
    +
    + +
    + +
    +

    5. Exercice comptable

    + +
    +
    + + +
    +

    5.1. Plan comptable d’une association

    + +
    + +
    +
    +; Plan comptable d’une Cyclofficine
    +; =================================
    +;
    +; == Utilisation
    +; Doit être inclus ainsi dans un FICHIER.hledger l’utilisant :
    +; ----
    +; !include Plan_comptable.hledger
    +; ----
    +; ATTENTION: rien n’empêche techniquement un FICHIER.hledger
    +;            de rajouter des comptes après cette inclusion.
    +
    +; Définir un Plan comptable dans hledger
    +; consiste à faire une écriture dont tous les montants sont nuls
    +; et qui recense tous les comptes qui vont à priori être utilisés.
    +
    +; ATTENTION: par convention ici chaque compte doit respecter la syntaxe :
    +; ----
    +; A.ZZZ:B.YYY:C.XXX  0 ; ABC. INTITULÉ OFFICIEL DU COMPTE
    +; ----
    +
    +D 1.000,00€ ; NOTE: précise le format de la devise.
    +
    +01/01 Initialisation des comptes
    +	1.Capital                                                                                  0  ; 1. COMPTES DE CAPITAUX
    +	1.Capital:0.Fonds                                                                          0  ; 10. Fonds associatifs et reserves
    +	1.Capital:0.Fonds:2.SDR                                                                    0  ; 102. Fonds associatifs sans droit de reprise (SDR)
    +	1.Capital:0.Fonds:2.SDR:4.Apport                                                           0  ; 1024. Apports SDR
    +	1.Capital:0.Fonds:2.SDR:6.Sub_invest_BR                                                    0  ; 1026. Subventions d’investissement (biens renouvelables) SDR
    +	1.Capital:0.Fonds:3.ADR                                                                    0  ; 103. Fonds associatifs avec droit de reprise (ADR)
    +	1.Capital:0.Fonds:3.ADR:4.Apport                                                           0  ; 1034. Apports ADR
    +	1.Capital:0.Fonds:3.ADR:6.Sub_invest_BR                                                    0  ; 1036. Subventions d’investissement (biens renouvelables) ADR
    +	1.Capital:0.Fonds:6.Réserve                                                                0  ; 106. Réserves
    +	1.Capital:0.Fonds:6.Réserve:3.Statutaire                                                   0  ; 1063. Réserves statutaires ou contractuelles
    +	1.Capital:0.Fonds:6.Réserve:8.Autre                                                        0  ; 1068. Autres réserves (dont réserves pour projet associatif)
    +	1.Capital:1.Report                                                                         0  ; 11. Report à nouveau
    +	1.Capital:1.Report:0.Bénéfice                                                              0  ; 110. Report à nouveau (solde créditeur/bénéfice)
    +	1.Capital:1.Report:5.Financeur                                                             0  ; 115. Résultats sous contrôle de tiers financeurs
    +	1.Capital:1.Report:9.Déficit                                                               0  ; 119. Report à nouveau (solde débiteur/perte)
    +	1.Capital:2.Résultat                                                                       0  ; 12. Résultat net de l’exercice
    +	1.Capital:2.Résultat:0.Bénéfice                                                            0  ; 120. Résultat de l’exercice (excédent/bénéfice)
    +	1.Capital:2.Résultat:9.Déficit                                                             0  ; 129. Résultat de l’exercice (déficit/perte)
    +	1.Capital:3.Sub_invest_BNR                                                                 0  ; 13. Subventions d’investissements (biens non renouvelables) ADR
    +	1.Capital:3.Sub_invest_BNR:1.Equipement                                                    0  ; 131. Subventions d’équipement
    +	1.Capital:3.Sub_invest_BNR:1.Equipement:1.État                                             0  ; 1311. État
    +	1.Capital:3.Sub_invest_BNR:1.Equipement:2.Région                                           0  ; 1312. Région
    +	1.Capital:3.Sub_invest_BNR:1.Equipement:3.Département                                      0  ; 1313. Département
    +	1.Capital:3.Sub_invest_BNR:1.Equipement:4.Commune                                          0  ; 1314. Commune
    +	1.Capital:3.Sub_invest_BNR:1.Equipement:5.Collectivité_publique                            0  ; 1315. Collectivités publiques
    +	1.Capital:3.Sub_invest_BNR:1.Equipement:6.Entreprise_publique                              0  ; 1316. Entreprises publiques
    +	1.Capital:3.Sub_invest_BNR:1.Equipement:7.Organisme_privé                                  0  ; 1317. Entreprises et organismes privés
    +	1.Capital:3.Sub_invest_BNR:1.Equipement:8.Autre                                            0  ; 1318. Autres
    +	1.Capital:3.Sub_invest_BNR:8.Autre                                                         0  ; 138. Autres subventions d’investissement
    +	1.Capital:3.Sub_invest_BNR:9.Compte_résultat                                               0  ; 139. Subventions d’investissements inscrites au compte de résultat
    +	1.Capital:3.Sub_invest_BNR:9.Compte_résultat:1.Equipement                                  0  ; 1391. Subvention d'équipement
    +	1.Capital:3.Sub_invest_BNR:9.Compte_résultat:1.Equipement:1.État                           0  ; 13911. État
    +	1.Capital:3.Sub_invest_BNR:9.Compte_résultat:1.Equipement:2.Région                         0  ; 13912. Région
    +	1.Capital:3.Sub_invest_BNR:9.Compte_résultat:1.Equipement:3.Département                    0  ; 13913. Département
    +	1.Capital:3.Sub_invest_BNR:9.Compte_résultat:1.Equipement:4.Commune                        0  ; 13914. Commune
    +	1.Capital:3.Sub_invest_BNR:9.Compte_résultat:1.Equipement:5.Collectivité_publique          0  ; 13915. Collectivités publiques
    +	1.Capital:3.Sub_invest_BNR:9.Compte_résultat:1.Equipement:6.Entreprise_publique            0  ; 13916. Entreprises publiques
    +	1.Capital:3.Sub_invest_BNR:9.Compte_résultat:1.Equipement:7.Organisme_privé                0  ; 13917. Entreprises et organismes privés
    +	1.Capital:3.Sub_invest_BNR:9.Compte_résultat:1.Equipement:8.Autre                          0  ; 13918. Autres
    +	1.Capital:3.Sub_invest_BNR:9.Compte_résultat:2.Autre                                       0  ; 1392. Autres subventions d'investissement
    +	1.Capital:5.Provision_risque&charge                                                        0  ; 15. Provisions pour risques et charges
    +	1.Capital:5.Provision_risque&charge:1.Risque                                               0  ; 151. Provisions pour risques
    +	1.Capital:5.Provision_risque&charge:5.Impôt                                                0  ; 155. Provisions pour impôts
    +	1.Capital:5.Provision_risque&charge:8.Autre                                                0  ; 158. Autres provisions pour charges
    +	1.Capital:5.Provision_risque&charge:8.Autre:2.Congés_à_payer                               0  ; 1582. Provisions pour congés à payer
    +	1.Capital:6.Emprunt,Dette                                                                  0  ; 16. Emprunts et dettes assimilees
    +	1.Capital:6.Emprunt,Dette:4.Etablissement_crédit                                           0  ; 164. Emprunts auprès des établissements de crédit
    +	1.Capital:6.Emprunt,Dette:5.Dépôt,Caution                                                  0  ; 165. Dépôts et cautionnements reçus
    +	1.Capital:6.Emprunt,Dette:8.Autre                                                          0  ; 168. Autres emprunts et dettes assimilées
    +	1.Capital:6.Emprunt,Dette:8.Autre:1.Emprunt                                                0  ; 1681. Autres emprunts
    +	1.Capital:6.Emprunt,Dette:8.Autre:1.Emprunt:1.Bénévole                                     0  ; 16811. Bénévoles
    +	1.Capital:6.Emprunt,Dette:8.Autre:1.Emprunt:2.Salarié-e                                    0  ; 16812. Salarié-e-s
    +	1.Capital:6.Emprunt,Dette:8.Autre:1.Emprunt:3.Cyclofficine                                 0  ; 16813. Cyclofficine
    +	1.Capital:6.Emprunt,Dette:8.Autre:1.Emprunt:4.Autre                                        0  ; 16814. Autre
    +	1.Capital:6.Emprunt,Dette:8.Autre:7.Dette                                                  0  ; 1687. Autres dettes
    +	1.Capital:9.Fonds_dédiés                                                                   0  ; 19. Fonds dédiés
    +	1.Capital:9.Fonds_dédiés:4.Sub_exploit                                                     0  ; 194. Fonds dédiés sur subventions de fonctionnement
    +	1.Capital:9.Fonds_dédiés:5.Don_affecté                                                     0  ; 195. Fonds dédiés sur dons manuels affectés
    +	2.Immobilisation                                                                           0  ; 2. COMPTES D'IMMOBILISATIONS
    +	2.Immobilisation:1.Corporelle                                                              0  ; 21. Immobilisations corporelles
    +	2.Immobilisation:1.Corporelle:5.Equipement                                                 0  ; 215. Installations techniques, matériel et outillage industriels
    +	2.Immobilisation:1.Corporelle:8.Autre                                                      0  ; 218. Autres immobilisations corporelles
    +	2.Immobilisation:1.Corporelle:8.Autre:1.Travaux                                            0  ; 2181. Installation générale, agencement, aménagement divers
    +	2.Immobilisation:1.Corporelle:8.Autre:2.Transport                                          0  ; 2182. Matériel de transport
    +	2.Immobilisation:1.Corporelle:8.Autre:3.Matériel_bureau&info                               0  ; 2183. Matériel de bureau et matériel informatique
    +	2.Immobilisation:1.Corporelle:8.Autre:4.Mobilier                                           0  ; 2184. Mobilier
    +	2.Immobilisation:2.Concession                                                              0  ; 22. Immobilisations mises en concession
    +	2.Immobilisation:2.Concession:8.Immo_grévées_droits                                        0  ; 228. Immobilisations grevées de droits
    +	2.Immobilisation:2.Concession:9.Droits_propriétaire                                        0  ; 229. Droits des propriétaires
    +	2.Immobilisation:6.Participation                                                           0  ; 26.Participations et créances rattachées à des participations
    +	2.Immobilisation:6.Participation:1.Titre                                                   0  ; 261. Titres de participation
    +	2.Immobilisation:6.Participation:1.Titre:8.Autre                                           0  ; 2618. Autres titres
    +	2.Immobilisation:7.Financière                                                              0  ; 27. Autres immobilisations financières
    +	2.Immobilisation:7.Financière:4.Prêt                                                       0  ; 274. Prêts
    +	2.Immobilisation:7.Financière:4.Prêt:3.Au_personnel                                        0  ; 2743. Prêts au personnel
    +	2.Immobilisation:7.Financière:4.Prêt:8.Autre                                               0  ; 2748. Autres prêts
    +	2.Immobilisation:7.Financière:5.Dépôt,Caution                                              0  ; 275. Dépôts et cautionnements versés
    +	2.Immobilisation:8.Amortissement                                                           0  ; 28. Amortissements des immobilisations
    +	2.Immobilisation:8.Amortissement:1.Immo_corp                                               0  ; 281. Amortissements des immobilisations corporelles
    +	2.Immobilisation:8.Amortissement:1.Immo_corp:5.Equipement                                  0  ; 2815. Installations techniques, matériel et outillage industriels (même ventilation que celle du_compte_215)
    +	2.Immobilisation:8.Amortissement:1.Immo_corp:8.Autre                                       0  ; 2818. Autres immobilisations corporelles
    +	4.Tiers                                                                                    0  ; 4. COMPTES TIERS
    +	4.Tiers:0.Fournisseur                                                                      0  ; 40. Fournisseurs et comptes rattachés
    +	4.Tiers:0.Fournisseur:1.Fournisseur                                                        0  ; 401. Fournisseurs
    +	4.Tiers:0.Fournisseur:1.Fournisseur:1.Bien,Prestation                                      0  ; 4011. Fournisseurs - achats de biens ou de prestations de services
    +	4.Tiers:0.Fournisseur:1.Fournisseur:7.Retenue_garantie                                     0  ; 4017. Fournisseurs - Retenue de garantie
    +	4.Tiers:0.Fournisseur:3.Effets_à_payer                                                     0  ; 403. Fournisseurs - effets à payer
    +	4.Tiers:0.Fournisseur:4.Immobilisation                                                     0  ; 404. Fournisseurs d’immobilisations
    +	4.Tiers:0.Fournisseur:4.Immobilisation:1.Achat                                             0  ; 4041. Fournisseurs - Achats d'immobilisations
    +	4.Tiers:0.Fournisseur:4.Immobilisation:7.Retenue_garantie                                  0  ; 4047. Fournisseurs d'immobilisations - Retenue de garantie
    +	4.Tiers:0.Fournisseur:5.Immo_effets_à_payer                                                0  ; 405. Fournisseurs d’immobilisations - Effets à payer
    +	4.Tiers:0.Fournisseur:8.Facture_non_parvenue                                               0  ; 408. Fournisseurs - Factures non parvenues
    +	4.Tiers:0.Fournisseur:8.Facture_non_parvenue:1.Bien,Prestation                             0  ; 4081. Fournisseurs - Achats de biens ou prestations de service
    +	4.Tiers:0.Fournisseur:8.Facture_non_parvenue:4.Immobilisation                              0  ; 4084. Fournisseurs - Achats d'immobilisations
    +	4.Tiers:0.Fournisseur:9.Débiteur                                                           0  ; 409. Fournisseurs débiteurs
    +	4.Tiers:0.Fournisseur:9.Débiteur:1.Accompte                                                0  ; 4091. Fournisseurs - Avances et accomptes versés sur commandes
    +	4.Tiers:0.Fournisseur:9.Débiteur:7.Autre_avoir                                             0  ; 4097. Autres avoirs
    +	4.Tiers:1.Client                                                                           0  ; 41. Usagers et comptes rattachés
    +	4.Tiers:1.Client:1.Client                                                                  0  ; 411. Clients
    +	4.Tiers:1.Client:1.Client:1.Bien,Prestation                                                0  ; 4111. Clients - Vente de biens et prestations de service
    +	4.Tiers:1.Client:1.Client:7.Retenue_garantie                                               0  ; 4117. Clients - Retenue de garantie
    +	4.Tiers:1.Client:3.Effets_à_recevoir                                                       0  ; 413. Clients - Effets à recevoir
    +	4.Tiers:1.Client:8.Produit_non_facturé                                                     0  ; 418. Clients - Produits non encore facturés
    +	4.Tiers:1.Client:9.Créditeur                                                               0  ; 419. Clients créditeurs
    +	4.Tiers:1.Client:9.Créditeur:1.Accompte                                                    0  ; 4191. Clients - Avances et accomptes versés sur commandes
    +	4.Tiers:1.Client:9.Créditeur:7.Autre_avoir                                                 0  ; 4197. Clients - Autres avoirs
    +	4.Tiers:2.Personnel                                                                        0  ; 42. Personnel et comptes rattachés
    +	4.Tiers:2.Personnel:1.Rémunération                                                         0  ; 421. Rémunérations dues
    +	4.Tiers:2.Personnel:1.Rémunération:011801.S_Arca                                           0  ; 421011801. S. Arca
    +	4.Tiers:2.Personnel:1.Rémunération:030101.G_Caprarelli                                     0  ; 421030101. G. Caprarelli
    +	4.Tiers:2.Personnel:1.Rémunération:060101.T_Favier                                         0  ; 421060101. T.Favier
    +	4.Tiers:2.Personnel:1.Rémunération:131501.A_Morin                                          0  ; 421131501. A. Morin
    +	4.Tiers:2.Personnel:1.Rémunération:161501.S_Popek                                          0  ; 421161501. S. Popek
    +	4.Tiers:2.Personnel:5.Avances                                                              0  ; 425. Personnel - Avances et accomptes
    +	4.Tiers:2.Personnel:8.CP&PR                                                                0  ; 428. Personnel - Charges à payer et produits à recevoir
    +	4.Tiers:2.Personnel:8.CP&PR:2.Congés_à_payer                                               0  ; 4282. Dettes provisionnées pour congés à payer
    +	4.Tiers:2.Personnel:8.CP&PR:6.Autre_charge_à_payer                                         0  ; 4286. Autres charges à payer
    +	4.Tiers:2.Personnel:8.CP&PR:7.Produit_à_recevoir                                           0  ; 4287. Produits à recevoir
    +	4.Tiers:3.Caisse_sociale                                                                   0  ; 43. Securite sociale et autres organismes sociaux
    +	4.Tiers:3.Caisse_sociale:1.URSSAF                                                          0  ; 431. URSSAF
    +	4.Tiers:3.Caisse_sociale:7.Autre                                                           0  ; 437. Autres organismes sociaux
    +	4.Tiers:3.Caisse_sociale:7.Autre:3.B2V                                                     0  ; 4373. Caisse de retraite
    +	4.Tiers:3.Caisse_sociale:7.Autre:8.Autre                                                   0  ; 4378. Autres organismes sociaux
    +	4.Tiers:3.Caisse_sociale:7.Autre:8.Autre:1.AG2R                                            0  ; 43781. Prévoyance
    +	4.Tiers:3.Caisse_sociale:8.CP&PR                                                           0  ; 438. Charges à payer et produits à recevoir
    +	4.Tiers:3.Caisse_sociale:8.CP&PR:2.Cotisation_congé_à_payer                                0  ; 4382. Cotisations sociales sur congés à payer
    +	4.Tiers:3.Caisse_sociale:8.CP&PR:6.Autre_charge_à_payer                                    0  ; 4386. Autres charges à payer
    +	4.Tiers:3.Caisse_sociale:8.CP&PR:7.Produit_à_recevoir                                      0  ; 4387. Produits à recevoir
    +	4.Tiers:4.État,collectivité                                                                0  ; 44. État et autres collectivites publiques
    +	4.Tiers:4.État,collectivité:1.Sub_à_recevoir                                               0  ; 441. Subventions à recevoir
    +	4.Tiers:4.État,collectivité:1.Sub_à_recevoir:1.Investissement                              0  ; 4411. Subventions d'investissement
    +	4.Tiers:4.État,collectivité:1.Sub_à_recevoir:7.Exploitation                                0  ; 4417. Subventions d'exploitation
    +	4.Tiers:4.État,collectivité:1.Sub_à_recevoir:8.Equilibre                                   0  ; 4418. Subvention d'équilibre
    +	4.Tiers:4.État,collectivité:1.Sub_à_recevoir:9.Avance_sur_sub                              0  ; 4419. Avances sur subventions
    +	4.Tiers:4.État,collectivité:3.Opération_particulière                                       0  ; 443. Opérations particulières avec l’État, les collectivités publiques, les organismes internationaux
    +	4.Tiers:4.État,collectivité:4.Impôt_sur_bénéfice                                           0  ; 444. État- Impôts sur les bénéfices
    +	4.Tiers:4.État,collectivité:4.Impôt_sur_bénéfice:5.Sur_société                             0  ; 4445. État - Impôt sur les sociétés
    +	4.Tiers:4.État,collectivité:7.Autre_impôt                                                  0  ; 447.Autres impôts, taxes et versements assimilés
    +	4.Tiers:4.État,collectivité:7.Autre_impôt:1.Sur_rémunération_(État)                        0  ; 4471. Impôts, taxes et versements assimilés sur rémunérations (administration des impôts)
    +	4.Tiers:4.État,collectivité:7.Autre_impôt:1.Sur_rémunération_(État):1.Taxe_salaire         0  ; 44711. Taxe sur les salaires
    +	4.Tiers:4.État,collectivité:7.Autre_impôt:1.Sur_rémunération_(État):2.Formation_pro        0  ; 44712. Participation des employeurs à la formation professionnelle continue
    +	4.Tiers:4.État,collectivité:7.Autre_impôt:1.Sur_rémunération_(État):8.Autre                0  ; 44718. Autres impôts, taxes et versements assimilés
    +	4.Tiers:4.État,collectivité:7.Autre_impôt:3.Sur_rémunération_(Organisme)                   0  ; 4473. Impôts, taxes et versements sur rémunérations (autres organismes)
    +	4.Tiers:4.État,collectivité:7.Autre_impôt:3.Sur_rémunération_(Organisme):3.Formation_pro   0  ; 44733. Participation des employeurs à la formation professionnelle continue
    +	4.Tiers:4.État,collectivité:7.Autre_impôt:5.Autre_(État)                                   0  ; 4475. Autres impôts, taxes et versements assimilés (administration des impôts)
    +	4.Tiers:4.État,collectivité:7.Autre_impôt:7.Autre_(Organisme)                              0  ; 4477. Autres impôts, taxes et versements assimilés (autres organismes)
    +	4.Tiers:4.État,collectivité:8.CP&PR                                                        0  ; 448. État - Charges à payer et produits à recevoir
    +	4.Tiers:4.État,collectivité:8.CP&PR:2.Charge_fiscale_sur_congés_à_payer                    0  ; 4482. Charges fiscales sur congés à payer
    +	4.Tiers:4.État,collectivité:8.CP&PR:6.Charge_à_payer                                       0  ; 4486. Autres charges à payer
    +	4.Tiers:4.État,collectivité:8.CP&PR:7.Produit_à_recevoir                                   0  ; 4487. Produits à recevoir
    +	4.Tiers:6.Divers_créditeur_débiteur                                                        0  ; 46. Débiteurs divers et créditeurs divers
    +	4.Tiers:6.Divers_créditeur_débiteur:7.Autre                                                0  ; 467. Autres comptes débiteurs ou créditeurs
    +	4.Tiers:6.Divers_créditeur_débiteur:7.Autre:001.Bénévole                                   0  ; 467001. Bénévoles
    +	4.Tiers:6.Divers_créditeur_débiteur:7.Autre:002.Salarié-e                                  0  ; 647002. Salariés
    +	4.Tiers:6.Divers_créditeur_débiteur:8.CP&PR                                                0  ; 468. Divers - Charges à payer et produits à recevoir
    +	4.Tiers:6.Divers_créditeur_débiteur:8.CP&PR:6.Charge_à_payer                               0  ; 4686.Charges à payer
    +	4.Tiers:6.Divers_créditeur_débiteur:8.CP&PR:7.Produit_à_recevoir                           0  ; 4687. Produits à recevoir
    +	4.Tiers:8.Régularisation                                                                   0  ; 48. Comptes de régularisation
    +	4.Tiers:8.Régularisation:6.Charge_constatée_d'avance                                       0  ; 486. Charges constatées d’avance
    +	4.Tiers:8.Régularisation:7.Produit_constaté_d'avance                                       0  ; 487. Produits constatés d’avance
    +	5.Finance                                                                                  0  ; 5. COMPTES FINANCIERS
    +	5.Finance:1.Etablissement                                                                  0  ; 51. Banques, établissements financiers et assimilés
    +	5.Finance:1.Etablissement:1.Valeur                                                         0  ; 511. Valeurs à l’encaissement
    +	5.Finance:1.Etablissement:1.Valeur:2.Chèque_à_encaisser                                    0  ; 5112. Chèques à encaisser
    +	5.Finance:1.Etablissement:2.Banque:001.Courant                                             0  ; 512001. Crédit Coopératif - Compte courant
    +	5.Finance:1.Etablissement:2.Banque:002.Livret                                              0  ; 512002. Crédit coopératif - Livret
    +	5.Finance:3.Caisse                                                                         0  ; 53. Caisse
    +	5.Finance:3.Caisse:1.Siège                                                                 0  ; 531. Caisse du siège
    +	5.Finance:3.Caisse:2.Atelier                                                               0  ; 532. Caisse des lieux d’activités
    +	5.Finance:8.Virement                                                                       0  ; 58. Virements internes
    +	5.Finance:8.Virement:0.Interne                                                             0  ; 580. Virements internes
    +	5.Finance:8.Virement:1.Fonds                                                               0  ; 581. Virements de fonds
    +	6.Charge                                                                                   0  ; 6. COMPTES D'ACHATS
    +	6.Charge:0.Achat                                                                           0  ; 60. Achats (sauf 603)
    +	6.Charge:0.Achat:1.Stocké-Matière_Prem,Fourniture                                          0  ; 601. Achats stockés - Matières premières et fournitures
    +	6.Charge:0.Achat:1.Stocké-Matière_Prem,Fourniture:1.Matière                                0  ; 6011. Matières
    +	6.Charge:0.Achat:1.Stocké-Matière_Prem,Fourniture:2.Fourniture                             0  ; 6012. Fournitures
    +	6.Charge:0.Achat:2.Stocké-Autre                                                            0  ; 602. Achats stockés - Autres approvisionnements
    +	6.Charge:0.Achat:2.Stocké-Autre:1.Matière_consommable                                      0  ; 6021. Matières consommables
    +	6.Charge:0.Achat:2.Stocké-Autre:2.Fourniture_consommable                                   0  ; 6022. Fournitures consommables
    +	6.Charge:0.Achat:2.Stocké-Autre:2.Fourniture_consommable:1.Combustible                     0  ; 60221. Combustibles
    +	6.Charge:0.Achat:2.Stocké-Autre:2.Fourniture_consommable:2.Nettoyage                       0  ; 60222. Produits d’entretien
    +	6.Charge:0.Achat:2.Stocké-Autre:2.Fourniture_consommable:3.Atelier                         0  ; 60223. Fournitures d’atelier
    +	6.Charge:0.Achat:2.Stocké-Autre:2.Fourniture_consommable:5.Bureau                          0  ; 60225. Fournitures de bureau
    +	6.Charge:0.Achat:3.Variation_stocks                                                        0  ; 603. Variation des stocks (approvisionnements et marchandises)
    +	6.Charge:0.Achat:4.Etude,Prestation                                                        0  ; 604. Achats d’études et prestations de services
    +	6.Charge:0.Achat:5.Matériel,Equipement,Travaux                                             0  ; 605. Achats de matériels, équipements et travaux
    +	6.Charge:0.Achat:6.Non_stocké                                                              0  ; 606. Achats non stockés de matières et fournitures
    +	6.Charge:0.Achat:6.Non_stocké:1.Non_stockable                                              0  ; 6061. Fournitures non stockables (eau, énergie..)
    +	6.Charge:0.Achat:6.Non_stocké:3.Fourniture                                                 0  ; 6063. Fournitures d’entretien et de petit équipement
    +	6.Charge:0.Achat:6.Non_stocké:3.Fourniture:1.Produit_entretien                             0  ; 60631. Produits d'entretien
    +	6.Charge:0.Achat:6.Non_stocké:3.Fourniture:2.Travaux                                       0  ; 60632. Fournitures pour travaux
    +	6.Charge:0.Achat:6.Non_stocké:3.Fourniture:3.Equipement_atelier                            0  ; 60633. Equipement d'atelier
    +	6.Charge:0.Achat:6.Non_stocké:3.Fourniture:4.Outillage                                     0  ; 60634. Outillage
    +	6.Charge:0.Achat:6.Non_stocké:3.Fourniture:5.Mobilier                                      0  ; 60635. Mobilier
    +	6.Charge:0.Achat:6.Non_stocké:3.Fourniture:6.Matériel_informatique                         0  ; 60636. Matériel informatique
    +	6.Charge:0.Achat:6.Non_stocké:4.Consommable_bureau                                         0  ; 6064. Fournitures de bureau
    +	6.Charge:0.Achat:6.Non_stocké:8.Autre_Matière,Fourniture                                   0  ; 6068. Autres matières et fournitures
    +	6.Charge:0.Achat:6.Non_stocké:8.Autre_Matière,Fourniture:1.Atelier                         0  ; 60681. Consommables, fournitures atelier et vélos
    +	6.Charge:0.Achat:6.Non_stocké:8.Autre_Matière,Fourniture:8.Autre                           0  ; 60688. Autre matières et fournitures
    +	6.Charge:0.Achat:7.Marchandise                                                             0  ; 607. Achats de marchandises
    +	6.Charge:0.Achat:8.Frais_accessoire                                                        0  ; 608. Frais accessoires d’achats
    +	6.Charge:0.Achat:9.Remise                                                                  0  ; 609. Rabais, remises et ristournes obtenus sur achats
    +	6.Charge:1.Service                                                                         0  ; 61. Services extérieurs
    +	6.Charge:1.Service:1.Sous-traitance                                                        0  ; 611. Sous-traitance générale
    +	6.Charge:1.Service:3.Location                                                              0  ; 613. Locations
    +	6.Charge:1.Service:3.Location:2.Immobilière                                                0  ; 6132. Locations immobilières
    +	6.Charge:1.Service:3.Location:5.Mobilière                                                  0  ; 6135. Locations mobilières
    +	6.Charge:1.Service:4.Charge_locative                                                       0  ; 614. Charges locatives et de copropriété
    +	6.Charge:1.Service:5.Entretien_Réparation                                                  0  ; 615. Entretien et réparations
    +	6.Charge:1.Service:5.Entretien_Réparation:2.Bien_immobilier                                0  ; 6152. Sur biens immobiliers
    +	6.Charge:1.Service:5.Entretien_Réparation:5.Bien_mobilier                                  0  ; 6155. Sur biens mobiliers
    +	6.Charge:1.Service:5.Entretien_Réparation:6.Maintenance                                    0  ; 6156. Maintenance
    +	6.Charge:1.Service:6.Assurance                                                             0  ; 616. Primes d’assurance
    +	6.Charge:1.Service:8.Divers                                                                0  ; 618. Divers
    +	6.Charge:1.Service:9:Remise                                                                0  ; 619. Rabais, remises et ristournes obtenus sur services extérieurs
    +	6.Charge:2.Autre_service                                                                   0  ; 62. Autres services extérieurs
    +	6.Charge:2.Autre_service:1.Personnel_extérieur                                             0  ; 621. Personnel extérieur à l’association
    +	6.Charge:2.Autre_service:1.Personnel_extérieur:4.Mise_à_dispo                              0  ; 6214. Personnel détaché ou prêté à l’association
    +	6.Charge:2.Autre_service:2.Intermédiaire                                                   0  ; 622. Rémunérations d’intermédiaires et honoraires
    +	6.Charge:2.Autre_service:2.Intermédiaire:6.Honoraire                                       0  ; 6226. Honoraires
    +	6.Charge:2.Autre_service:2.Intermédiaire:7.Frais_d'acte                                    0  ; 6227. Frais d’actes et de contentieux
    +	6.Charge:2.Autre_service:2.Intermédiaire:8.Divers                                          0  ; 6228. Divers
    +	6.Charge:2.Autre_service:3.Communication                                                   0  ; 623. Publicité, publications, relations publiques
    +	6.Charge:2.Autre_service:3.Communication:1.Annonce                                         0  ; 6231. Annonces et insertions
    +	6.Charge:2.Autre_service:3.Communication:3.Foire,Expo                                      0  ; 6233. Foires et expositions
    +	6.Charge:2.Autre_service:3.Communication:4:Cadeau                                          0  ; 6234. Cadeaux
    +	6.Charge:2.Autre_service:3.Communication:6.Catalogue,Imprimé                               0  ; 6236. Catalogues et imprimés
    +	6.Charge:2.Autre_service:3.Communication:7.Publication                                     0  ; 6237. Publications
    +	6.Charge:2.Autre_service:3.Communication:8.Divers(pourboire,dons_courants)                 0  ; 6238. Divers (pourboires, dons courants..)
    +	6.Charge:2.Autre_service:5.Frais                                                           0  ; 625. Déplacements, missions et réceptions
    +	6.Charge:2.Autre_service:5.Frais:1.Déplacement                                             0  ; 6251. Voyages et déplacements
    +	6.Charge:2.Autre_service:5.Frais:6.Mission                                                 0  ; 6256. Missions
    +	6.Charge:2.Autre_service:5.Frais:7.Réception                                               0  ; 6257. Réceptions
    +	6.Charge:2.Autre_service:6.Poste,Télécommunication                                         0  ; 626. Frais postaux et frais de télécommunications
    +	6.Charge:2.Autre_service:6.Poste,Télécommunication:1.Internet                              0  ; 6261. Liaisons informatiques ou spécialisées
    +	6.Charge:2.Autre_service:6.Poste,Télécommunication:3.Timbre                                0  ; 6263. Affranchissements
    +	6.Charge:2.Autre_service:7.Service_bancaire                                                0  ; 627. Services bancaires et assimilés
    +	6.Charge:2.Autre_service:8.Divers                                                          0  ; 628. Divers
    +	6.Charge:2.Autre_service:8.Divers:1.Cotisation_(activité_économique)                       0  ; 6281. Cotisations (liées à l’activité économique)
    +	6.Charge:2.Autre_service:8.Divers:4.Frais_recrutement_personnel                            0  ; 6284. Frais de recrutement du personnel
    +	6.Charge:2.Autre_service:9.Remise                                                          0  ; 629. Rabais, remises et ristournes obtenus sur autres services extérieurs
    +	6.Charge:3.Impôt                                                                           0  ; 63. Impôts, taxes et versements assimilés
    +	6.Charge:3.Impôt:1.Sur_rémunération_(État)                                                 0  ; 631. Impôts, taxes et versements assimilés sur rémunérations (administration des impôts)
    +	6.Charge:3.Impôt:1.Sur_rémunération_(État):1.Taxe_salaire                                  0  ; 6311. Taxe sur les salaires
    +	6.Charge:3.Impôt:1.Sur_rémunération_(État):3.Formation_pro                                 0  ; 6313. Participation des employeurs à la formation professionnelle continue
    +	6.Charge:3.Impôt:1.Sur_rémunération_(État):8.Autre                                         0  ; 6318. Autres
    +	6.Charge:3.Impôt:3.Sur_rémunération_(Organisme)                                            0  ; 633. Impôts, taxes et versements assimilés sur rémunérations (autres organismes)
    +	6.Charge:3.Impôt:3.Sur_rémunération_(Organisme):3.Formation                                0  ; 6333. Participation des employeurs à la formation professionnelle continue
    +	6.Charge:3.Impôt:3.Sur_rémunération_(Organisme):8.Autre                                    0  ; 6338. Autres
    +	6.Charge:3.Impôt:5.Autre_(État)                                                            0  ; 635. Autres impôts, taxes et versements assimilés (administration des impôts)
    +	6.Charge:3.Impôt:5.Autre_(État):1.Direct_(sauf_bénéfice)                                   0  ; 6351. Impôts directs (sauf impôts sur les bénéfices)
    +	6.Charge:3.Impôt:5.Autre_(État):1.Direct_(sauf_bénéfice):2.Taxe_foncière                   0  ; 63512. Taxes foncières
    +	6.Charge:3.Impôt:5.Autre_(État):1.Direct_(sauf_bénéfice):3.Autre_impôts_locaux             0  ; 63513. Autres impôts locaux
    +	6.Charge:3.Impôt:5.Autre_(État):1.Direct_(sauf_bénéfice):8.Autre                           0  ; 63518. Autres impôts directs
    +	6.Charge:3.Impôt:5.Autre_(État):3.Indirect                                                 0  ; 6353. Impôts indirects
    +	6.Charge:3.Impôt:7.Autre_(Organisme)                                                       0  ; 637. Autres impôts, taxes et versements assimilés (autres organismes)
    +	6.Charge:4.Personnel                                                                       0  ; 64. Charges de personnel
    +	6.Charge:4.Personnel:1.Rémunération                                                        0  ; 641. Rémunérations du personnel
    +	6.Charge:4.Personnel:1.Rémunération:1.Salaire                                              0  ; 6411. Salaires, appointements
    +	6.Charge:4.Personnel:1.Rémunération:2.Congés                                               0  ; 6412. Congés payés
    +	6.Charge:4.Personnel:1.Rémunération:3.Prime                                                0  ; 6413. Primes et gratifications
    +	6.Charge:4.Personnel:1.Rémunération:4.Indémnité                                            0  ; 6414. Indemnités et avantages divers
    +	6.Charge:4.Personnel:1.Rémunération:6.Remb_transport                                       0  ; 6416. Remboursement transport
    +	6.Charge:4.Personnel:5.Cotisation                                                          0  ; 645. Cotisations de sécurité sociale et de prévoyance
    +	6.Charge:4.Personnel:5.Cotisation:1.URSSAF                                                 0  ; 6451. Cotisations à l’URSSAF
    +	6.Charge:4.Personnel:5.Cotisation:2.Mutuelle                                               0  ; 6452. Cotisations aux mutuelles
    +	6.Charge:4.Personnel:5.Cotisation:3.Retraite                                               0  ; 6453. Cotisations aux caisses de retraite
    +	6.Charge:4.Personnel:5.Cotisation:4.Pôle_emploi                                            0  ; 6454. Cotisations aux ASSEDIC
    +	6.Charge:4.Personnel:5.Cotisation:8.Autre_organisme                                        0  ; 6458. Cotisations aux autres organismes sociaux
    +	6.Charge:4.Personnel:5.Cotisation:8.Autre_organisme:1.Prévoyance                           0  ; 64581. Caisse de Prévoyance
    +	6.Charge:4.Personnel:7.Autre_cotisation                                                    0  ; 647. Autres charges sociales
    +	6.Charge:4.Personnel:7.Autre_cotisation:5.Médecine_travail                                 0  ; 6475. Médecine de travail, pharmacie
    +	6.Charge:4.Personnel:8.Autre_charge_personnel                                              0  ; 648. Autres charges de personnel
    +	6.Charge:4.Personnel:8.Autre_charge_personnel:8.Cotisation_sur_rémunération_à_payer        0  ; 6488. Cotisations sur rémunérations à payer
    +	6.Charge:5.Gestion                                                                         0  ; 65. Autres charges de gestion courantes
    +	6.Charge:5.Gestion:1.Redevance_pour_concession,brevet,licence,procédé,droit                0  ; 651. Redevances pour concessions, brevets, licences, procédés, logiciels, droits et valeurs similaires
    +	6.Charge:5.Gestion:7.Subvention_versée                                                     0  ; 657. Subventions versées par l’organisme
    +	6.Charge:5.Gestion:8.Divers                                                                0  ; 658. Charges diverses de gestion courante
    +	6.Charge:5.Gestion:8.Divers:6.Cotisation_(vie_statutaire)                                  0  ; 6586. Cotisations (liées à la vie statutaire)
    +	6.Charge:6.Financière                                                                      0  ; 66. Charges financières
    +	6.Charge:6.Financière:1.Intérêt                                                            0  ; 661. Charges d’intérêts
    +	6.Charge:6.Financière:1.Intérêt:1.Emprunt,Dette                                            0  ; 6611. Intérêts des emprunts et dettes
    +	6.Charge:6.Financière:1.Intérêt:6.Bancaire                                                 0  ; 6616. Intérêts bancaires
    +	6.Charge:6.Financière:1.Intérêt:8.Autre_dette                                              0  ; 6618. Intérêts des autres dettes
    +	6.Charge:6.Financière:8.Autre                                                              0  ; 668. Autres charges financières
    +	6.Charge:7.Exceptionnelle                                                                  0  ; 67. Charges exceptionnelles
    +	6.Charge:7.Exceptionnelle:1.Sur_gestion                                                    0  ; 671. Charges exceptionnelles sur opérations de gestion
    +	6.Charge:7.Exceptionnelle:1.Sur_gestion:1.Pénalité_sur_marché                              0  ; 6711. Pénalités sur marchés (et dédits payés sur achats et ventes)
    +	6.Charge:7.Exceptionnelle:1.Sur_gestion:2.Pénalité,Amende                                  0  ; 6712. Pénalités, amendes fiscales ou pénales
    +	6.Charge:7.Exceptionnelle:1.Sur_gestion:3.Don,Libéralité                                   0  ; 6713. Dons, libéralités
    +	6.Charge:7.Exceptionnelle:1.Sur_gestion:7.Rappel_impôt_(sauf_bénéfice)                     0  ; 6717. Rappels d’impôts (autres qu’impôts sur les bénéfices)
    +	6.Charge:7.Exceptionnelle:1.Sur_gestion:8.Autre                                            0  ; 6718. Autres charges exceptionnelles sur opérations de gestion
    +	6.Charge:7.Exceptionnelle:8.Autre                                                          0  ; 678. Autres charges exceptionnelles
    +	6.Charge:7.Exceptionnelle:8.Autre:8.Diverse                                                0  ; 6788. Charges exceptionnelles diverses
    +	6.Charge:8.Dotation                                                                        0  ; 68. Dotations aux amortissements, dépréciations, provisions et engagements
    +	6.Charge:8.Dotation:1.Charge_d'exploitation                                                0  ; 681. Dotations aux amortissements et aux provisions - Charges d'exploitation
    +	6.Charge:8.Dotation:1.Charge_d'exploitation:1.Amortissement_immobilisation                 0  ; 6811. Dotations aux amortissements des immobilisations incorporelles et corporelles
    +	6.Charge:8.Dotation:1.Charge_d'exploitation:1.Amortissement_immobilisation:1.Incorporelle  0  ; 68111. Immobilisations incorporelles
    +	6.Charge:8.Dotation:1.Charge_d'exploitation:1.Amortissement_immobilisation:2.Corporelle    0  ; 68112. Immobilisations corporelles
    +	6.Charge:8.Dotation:1.Charge_d'exploitation:5.Provision_d'exploitation                     0  ; 6815. Dotations aux provisions pour risques et charges d’exploitation
    +	6.Charge:8.Dotation:1.Charge_d'exploitation:7.Dépréciation_actif                           0  ; 6817. Dotations aux provisions pour dépréciation des actifs circulants
    +	6.Charge:8.Dotation:1.Charge_d'exploitation:7.Dépréciation_actif:3.Stocks,En-cours         0  ; 68173. Stocks et en-cours
    +	6.Charge:8.Dotation:1.Charge_d'exploitation:7.Dépréciation_actif:4.Créance                 0  ; 68174. Créances
    +	6.Charge:8.Dotation:6.Charge_financière                                                    0  ; 686. Dotations aux amortissements et aux provisions - Charges financières
    +	6.Charge:8.Dotation:6.Charge_financière:5.Provision_financière                             0  ; 6865. Dotations aux provisions pour risques et charges financiers
    +	6.Charge:8.Dotation:6.Charge_financière:6.Dépréciation_élément_financier                   0  ; 6866. Dotations aux provisions pour dépréciation des éléments financiers
    +	6.Charge:8.Dotation:6.Charge_financière:8.Autre                                            0  ; 6868. Autres dotations
    +	6.Charge:8.Dotation:7.Charge_exceptionnelle                                                0  ; 687. Dotations aux amortissements et aux provisions - Charges exceptionnelles
    +	6.Charge:8.Dotation:9.Engagement_à_réaliser                                                0  ; 689. Engagements à réaliser sur ressources affectées
    +	6.Charge:8.Dotation:9.Engagement_à_réaliser:4.Sur_subvention_attribuée                     0  ; 6894. Engagements à réaliser sur subventions attribuées
    +	6.Charge:8.Dotation:9.Engagement_à_réaliser:5.Sur_don_affecté                              0  ; 6895. Engagements à réaliser sur dons manuels affectés
    +	6.Charge:9.Impôt_sur_bénéfice                                                              0  ; 69. Impôts sur les bénéfices
    +	6.Charge:9.Impôt_sur_bénéfice:5.Impôt_sur_société                                          0  ; 695.Impôts sur les sociétés
    +	7.Produit                                                                                  0  ; 7. COMPTES DE PRODUITS
    +	7.Produit:0.Vente                                                                          0  ; 70. ventes de produits finis, prestations de services, marchandises
    +	7.Produit:0.Vente:1.Produit_fini                                                           0  ; 701. Ventes de produits finis
    +	7.Produit:0.Vente:1.Produit_fini:1.Vélo                                                    0  ; 7011. Vélos
    +	7.Produit:0.Vente:1.Produit_fini:2.Autre                                                   0  ; 7012. Autres
    +	7.Produit:0.Vente:6.Prest'action                                                           0  ; 706. Prestations de services
    +	7.Produit:0.Vente:7.Marchandise                                                            0  ; 707. Ventes de marchandises
    +	7.Produit:0.Vente:8.Activité_annexe                                                        0  ; 708. Produits des activités annexes
    +	7.Produit:0.Vente:8.Activité_annexe:3.Location                                             0  ; 7083. Locations diverses
    +	7.Produit:0.Vente:8.Activité_annexe:4.Mise_à_dispo                                         0  ; 7084. Mise à disposition de personnel facturée
    +	7.Produit:0.Vente:8.Activité_annexe:8.Autre                                                0  ; 7088. Autres produits d’activités annexes
    +	7.Produit:1.Production_stockée                                                             0  ; 71. Production stockée (ou déstockage)
    +	7.Produit:2.Production_immobilisée                                                         0  ; 72. Production immobilisée
    +	7.Produit:4.Subvention_d'exploitation                                                      0  ; 74. Subventions d’exploitation
    +	7.Produit:4.Subvention_d'exploitation:1.État                                               0  ; 741. État
    +	7.Produit:4.Subvention_d'exploitation:2.Région                                             0  ; 742. Région
    +	7.Produit:4.Subvention_d'exploitation:3.Département                                        0  ; 743. Département
    +	7.Produit:4.Subvention_d'exploitation:4.Commune                                            0  ; 744. Commune
    +	7.Produit:4.Subvention_d'exploitation:5.Collectivité_publique                              0  ; 745. Collectivités publiques
    +	7.Produit:4.Subvention_d'exploitation:6.Entreprise_publique                                0  ; 746. Entreprises publiques
    +	7.Produit:4.Subvention_d'exploitation:7.Organisme_privé                                    0  ; 747. Entreprises et organismes privés
    +	7.Produit:4.Subvention_d'exploitation:8.Autre                                              0  ; 748. Autres
    +	7.Produit:5.Autre_gestion_courante                                                         0  ; 75. Autres produits de gestion courante
    +	7.Produit:5.Autre_gestion_courante:4.Collecte                                              0  ; 754. Collectes
    +	7.Produit:5.Autre_gestion_courante:6.Cotisation                                            0  ; 756. Cotisations
    +	7.Produit:5.Autre_gestion_courante:8.Divers                                                0  ; 758. Produits divers de gestion courante
    +	7.Produit:5.Autre_gestion_courante:8.Divers:1.Don                                          0  ; 7581. Dons manuels
    +	7.Produit.6.Financier                                                                      0  ; 76. Produits financiers
    +	7.Produit.6.Financier:1.Participation                                                      0  ; 761. Produits des participations
    +	7.Produit.6.Financier:1.Participation:1.Titre                                              0  ; 7611. Revenus des titres de participations
    +	7.Produit.6.Financier:2.Autre_immobilisation_financière                                    0  ; 762. Produits des autres immobilisations financières
    +	7.Produit.6.Financier:2.Autre_immobilisation_financière:4.Prêt                             0  ; 7624. Revenus des prêts
    +	7.Produit.6.Financier:3.Autre_créance                                                      0  ; 763. Revenus des autres créances
    +	7.Produit.6.Financier:8.Autre                                                              0  ; 768. Autres produits financiers
    +	7.Produit.7.Exceptionnel                                                                   0  ; 77. Produits exceptionnels
    +	7.Produit.7.Exceptionnel:1.Sur_gestion                                                     0  ; 771. Produits exceptionnels sur opérations de gestion
    +	7.Produit.7.Exceptionnel:1.Sur_gestion:3.Libéralité_reçue                                  0  ; 7713. Libéralités perçues
    +	7.Produit.7.Exceptionnel:1.Sur_gestion:5.Subvention_d'équilibre                            0  ; 7715. Subvention d’équilibre
    +	7.Produit.7.Exceptionnel:1.Sur_gestion:8.Autre                                             0  ; 7718. Autres produits exceptionnels sur opérations de gestion
    +	7.Produit.7.Exceptionnel:2.Sur_exercice_antérieur                                          0  ; 772. Produits sur exercices antérieurs (à reclasser)
    +	7.Produit.7.Exceptionnel:7.Quote-part_subvention_investissement_virée_au_résultat          0  ; 777. Quote-part des subventions d’investissement virée au résultat de l’exercice
    +	7.Produit.7.Exceptionnel:8.Autre                                                           0  ; 778. Autres produits exceptionnels
    +	7.Produit:8.Reprise                                                                        0  ; 78. Reprises sur amortissements et provisions
    +	7.Produit:8.Reprise:1.Amortissement,Provision_(exploitation)                               0  ; 781. Reprises sur amortissements et provisions (à inscrire dans les produits d’exploitation)
    +	7.Produit:8.Reprise:1.Amortissement,Provision_(exploitation):1.Amort_immo_incorp&corpl     0  ; 7811. Reprises sur amortissements des immobilisations incorporelles et corporelles
    +	7.Produit:8.Reprise:1.Amortissement,Provision_(exploitation):5.Provision_risque&charge     0  ; 7815. Reprises sur provisions pour risques et charges d’exploitation
    +	7.Produit:8.Reprise:6.Provision_(financier)                                                0  ; 786. Reprises sur provisions (à inscrire dans les produits financiers)
    +	7.Produit:8.Reprise:7.Provision_(exceptionnel)                                             0  ; 787. Reprises sur provisions (à inscrire dans les produits exceptionnels)
    +	7.Produit:8.Reprise:9.Report_ressource_N-1                                                 0  ; 789. Report des ressources non utilisées des exercices antérieurs
    +	7.Produit:8.Reprise:9.Report_ressource_N-1:4.Sur_subvention_attribuée                      0  ; 7894. Sur subventions attribués
    +	7.Produit:8.Reprise:9.Report_ressource_N-1:5.Sur_don_reçus                                 0  ; 7895. Sur dons manuels reçus
    +	7.Produit:9.Transfert_charge                                                               0  ; 79. Transferts de charges
    +	7.Produit:9.Transfert_charge:1.Exploitation                                                0  ; 791. Transferts de charges d’exploitation
    +	7.Produit:9.Transfert_charge:6.Financière                                                  0  ; 796. Transferts de charges financières
    +	7.Produit:9.Transfert_charge:7.Exceptionnelle                                              0  ; 797. Transferts de charges exceptionnelles
    +	8.Spécial                                                                                  0  ; 8. COMPTES SPÉCIAUX
    +	8.Spécial:6.Emploi_contribution_volontaire                                                 0  ; 86. Emplois des contributions volontaires en nature
    +	8.Spécial:6.Emploi_contribution_volontaire:1.Mise_à_dispo_bien                             0  ; 861. Mise à disposition gratuite de biens
    +	8.Spécial:6.Emploi_contribution_volontaire:2.Prestation                                    0  ; 862. Prestations
    +	8.Spécial:6.Emploi_contribution_volontaire:4.Bénévolat                                     0  ; 864. Personnel bénévole
    +	8.Spécial:7.Contribution_volontaire                                                        0  ; 87. Contributions volontaires en nature
    +	8.Spécial:7.Contribution_volontaire:0.Bénévolat                                            0  ; 870. Bénévolat
    +	8.Spécial:7.Contribution_volontaire:1.Prestation_en_nature                                 0  ; 871. Prestations en nature
    +	8.Spécial:7.Contribution_volontaire:5.Don_en_nature                                        0  ; 875. Dons en nature
    +
    +; NOTE: pour le complètement, possibilité d’utiliser :
    +; vim: iskeyword+=.,38,39,40,41,44,45,58
    +
    +
    + +
    + +
    +

    5.2. Comptabiliser en partie double

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

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

    +
    +
    +

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

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

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

    -% hledger-equity -f $fichier.ledger $filtre
    +01/01 Prestation ; Écriture d’engagement (pièce comptable : facture)
    +	7.Produit:0.Vente:6.Prest'action                              -700,00
    +	4.Tiers:1.Client:1.Client:1.Bien,Prestation:007.Mairie_du_XI   700,00
    +01/14 Virement ; Écriture de paiement (pièce comptable : relevé de compte)
    +	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
     
    -
    -
    Solde des compte de gestion
    -
    -% hledger-equity '^6' '^7' -f Paris.2011.hledger
    -2014/07/29
    -    6.Charge:0.Achat:6.Non_stocké:8.Autre_Matière,Fourniture:1.Atelier      -248,87€
    -    6.Charge:1.Service:3.Location:2.Immobilière                             -441,46€
    -    6.Charge:2.Autre_service:3.Communication:6.Catalogue,Imprimé             -24,00€
    -    6.Charge:2.Autre_service:7.Service_bancaire                              -31,25€
    -    6.Charge:5.Gestion:8.Divers:6.Cotisation_(vie_statutaire)                -25,00€
    -    7.Produit:0.Vente:6.Prest'action                                         700,00€
    -    7.Produit:5.Autre_gestion_courante:6.Cotisation                           20,00€
    -    7.Produit:5.Autre_gestion_courante:8.Divers                                6,00€
    -    equity:closing balances                                                   44,58€
    +
    +
    +
    +
    + +
    -2014/07/29 - 6.Charge:0.Achat:6.Non_stocké:8.Autre_Matière,Fourniture:1.Atelier 248,87€ - 6.Charge:1.Service:3.Location:2.Immobilière 441,46€ - 6.Charge:2.Autre_service:3.Communication:6.Catalogue,Imprimé 24,00€ - 6.Charge:2.Autre_service:7.Service_bancaire 31,25€ - 6.Charge:5.Gestion:8.Divers:6.Cotisation_(vie_statutaire) 25,00€ - 7.Produit:0.Vente:6.Prest'action -700,00€ - 7.Produit:5.Autre_gestion_courante:6.Cotisation -20,00€ - 7.Produit:5.Autre_gestion_courante:8.Divers -6,00€ - equity:opening balances -44,58€ -
    +
    +

    5.2.1. Soldes nuls souhaitables

    + +
    +
      +
    • + +Écritures des recettes + +
        +
      1. + +$\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. +
      3. + +Total chèques à encaisser (5112) == Total remises de chèques à la banque (512) (+/- argent non déposé en banque) + +
        + + + +
        +Note +vérifier qu’il ne reste plus de chèque comptabilisés dans le tiroir
        +
        +
      4. +
      5. + +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) + +
      6. +
      +
    • +
    • + +Écritures de paye + +
      +
      +

      TODO

      +
      +
      +
    • +
    -

    7. Import et export avec hledger

    - +

    6. Import et export avec hledger

    +
    • @@ -8137,15 +8902,15 @@ pour les réinitialiser à leur solde du précédent exercice.
    -

    7.1. Feuilles de calculs des documents comptables

    - +

    6.1. Feuilles de calculs des documents comptables

    +
    -

    7.1.1. Bilan financier

    - +

    6.1.1. Bilan financier

    +
    @@ -8156,8 +8921,8 @@ pour les réinitialiser à leur solde du précédent exercice.
    -

    7.1.2. Comptes de résultats

    - +

    6.1.2. Comptes de résultats

    +
    @@ -8169,8 +8934,152 @@ pour les réinitialiser à leur solde du précédent exercice.
    -

    8. hledger-web

    - +

    7. Installer hledger

    + +
    + +
    +
    Debian/jessie
    +
    +% sudo apt-get install hledger hledger-web
    +
    +
    + + +
    +

    7.1. Via cabal

    + +
    + +
    +
    Debian/wheezy
    +
    +% echo 'PATH="$HOME/.cabal/bin:$PATH"' >>~/.profile
    +  # NOTE: rajoute dans le chemins des exécutables
    +  # les exécutables installés par cabal
    +% exit # NOTE: recharge ~/.profile
    +
    +% sudo apt-get install ghc cabal-install \
    +               libncurses5-dev libtinfo-dev zlib1g-dev
    +% cabal update
    +% cabal install cabal # NOTE: met à jour cabal
    +% cabal install happy # NOTE: anticipe une dépendance exécutable
    +% cabal install hledger
    +% cabal install alex # NOTE: anticipe une dépendance exécutable
    +% cabal install warp-2.0.3.4 hledger-web
    +  # NOTE: aide cabal à sélectionner un warp qui fonctionne
    +
    +
    +
    Mise-à-jour
    +
    +% cabal install --reinstall hledger hledger-web
    +
    +
    + + +
    +

    7.1.1. Version de développement

    + +
    +
    +
    +% git clone http://github.com/simonmichael/hledger.git ~/src/hledger
    +% cd ~/src/hledger
    +% cabal install --reinstall --force-reinstalls \
    +                ./hledger-lib ./hledger ./hledger-web
    +
    +
    + +
    + +
    +

    7.2. Utiliser un éditeur de texte structuré (vim)

    + +
    +
    +
    +Coloration syntaxique sur mesure +
    +
    +
      +
    • + +hledger.vim + +
      +
      ~/.vimrc
      +
      +autocmd BufNewFile,BufRead *.hledger,*.ledger setfiletype hledger
      +
      +
    • +
    +
    +
    +Complètement automatique des comptes (<Tab>) +
    +
    + +
    +
    +Alignement automatique des montants +
    +
    + +
    +
    +
    + + +
    +

    7.2.1. Suivre les modifications à plusieurs et/ou à distance (git)

    +
    @@ -8182,59 +9091,62 @@ pour les réinitialiser à leur solde du précédent exercice.
    -

    9. (bonus) Scripter hledger

    - +

    8. hledger-web

    +
    +
    +
    -
    -

    9.1. Installer un script hledger

    - +
    +

    9. Scripter hledger

    +
    +
    Installer un script hledger
     % echo 'PATH="$HOME/src/hledger/extra:$PATH"' >>~/.profile
     % exit # NOTE: recharge ~/.profile
     % ghc ~/src/hledger/extra/hledger-SCRIPT.hs
     
    +
    Idées de scripts
      +
    • + +Vérifier l’ordre des dates. + +
    • +
    • + +Chercher des écritures doublonnes. + +
    • +
    -

    10. Communauté

    - +

    10. Merci

    +
    -
    - - - - - - - - -
    -Chat -
    -
    -

    -irc://irc.freenode.net#ledger -

    -
    -Liste -
    -
    -

    -<hledger+subscribe@googlegroups.com> -

    -
    +
    +
    +data/Luca_Pacioli_(Gemaelde).jpeg +
    +
    Figure 1. Luca Pacioli
    +
    @@ -8244,8 +9156,8 @@ Liste
    -- 2.20.1