Overview
Comment:Add 2018 accounting chart for France, use it for upgrade and install, and archive old SQL schemas and migrations
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | dev
Files: files | file ages | folders
SHA1: e807e8f5d7d3fa198dfa7634ca30a49c8396afd2
User & Date: bohwaz on 2020-10-25 01:07:04
Other Links: branch diff | manifest | tags
Context
2020-10-25
01:08
Make sure you were on a recent release check-in: 1953d56588 user: bohwaz tags: dev, 1.0.0-alpha1
01:07
Add 2018 accounting chart for France, use it for upgrade and install, and archive old SQL schemas and migrations check-in: e807e8f5d7 user: bohwaz tags: dev
2020-10-24
20:44
Fix install issues check-in: fbf65537ea user: bohwaz tags: dev, 1.0.0-alpha1
Changes

Name change from src/include/data/0.7.0_migration.sql to archives/0.7.0_migration.sql.

Name change from src/include/data/0.7.2_migration.sql to archives/0.7.2_migration.sql.

Name change from src/include/data/0.8.0_migration.sql to archives/0.8.0_migration.sql.

Name change from src/include/data/0.8.0_schema.sql to archives/0.8.0_schema.sql.

Name change from src/include/data/0.8.3_migration.sql to archives/0.8.3_migration.sql.

Name change from src/include/data/0.8.3_schema.sql to archives/0.8.3_schema.sql.

Name change from src/include/data/0.8.4_migration.sql to archives/0.8.4_migration.sql.

Name change from src/include/data/0.9.0_migration.sql to archives/0.9.0_migration.sql.

Name change from src/include/data/0.9.0_schema.sql to archives/0.9.0_schema.sql.

Name change from src/include/data/0.9.1_migration.sql to archives/0.9.1_migration.sql.

Name change from src/include/data/0.9.1_schema.sql to archives/0.9.1_schema.sql.

Name change from src/include/data/0.9.5_schema.sql to archives/0.9.5_schema.sql.

Name change from src/include/data/plan_comptable.json to archives/plan_comptable.json.

Modified src/include/data/1.0.0_migration.sql from [47be887aa8] to [64d6d7cbc4].

12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28

.read 1.0.0_schema.sql

-- FIXME: insertion en comptes analytiques des projets et associations dans transactions

INSERT INTO acc_charts (id, country, code, label) VALUES (1, 'FR', 'PCGA1999', 'Plan comptable associatif 1999');

--.read plan_comptable_1999.sql
--.read plan_comptable_2020.sql

-- Migration comptes de code comme identifiant à ID unique
-- Inversement valeurs actif/passif
INSERT INTO acc_accounts (id, id_chart, code, label, position, user)
	SELECT NULL, 1, id, libelle, CASE WHEN position = 2 THEN 1 WHEN position = 1 THEN 2 ELSE position END, CASE WHEN plan_comptable = 1 THEN 0 ELSE 1 END FROM compta_comptes;

-- Migrations projets vers comptes analytiques
INSERT INTO acc_accounts (id_chart, code, label, position, user, type)







<
<
<







12
13
14
15
16
17
18



19
20
21
22
23
24
25

.read 1.0.0_schema.sql

-- FIXME: insertion en comptes analytiques des projets et associations dans transactions

INSERT INTO acc_charts (id, country, code, label) VALUES (1, 'FR', 'PCGA1999', 'Plan comptable associatif 1999');




-- Migration comptes de code comme identifiant à ID unique
-- Inversement valeurs actif/passif
INSERT INTO acc_accounts (id, id_chart, code, label, position, user)
	SELECT NULL, 1, id, libelle, CASE WHEN position = 2 THEN 1 WHEN position = 1 THEN 2 ELSE position END, CASE WHEN plan_comptable = 1 THEN 0 ELSE 1 END FROM compta_comptes;

-- Migrations projets vers comptes analytiques
INSERT INTO acc_accounts (id_chart, code, label, position, user, type)

Added src/include/data/charts/fr_1999.csv version [e341d528ba].



















































































































































































































































































































































































































































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
code,label,description,position,type
1,"Classe 1 — Comptes de capitaux (Fonds propres, emprunts et dettes assimilés)",,Passif,
10,FONDS ASSOCIATIFS ET RÉSERVES,,Passif,
102,Fonds associatif sans droit de reprise,,Passif,
1021,Valeur du patrimoine intégré,,Passif,
1022,Fonds statutaire,,Passif,
1024,Apports sans droit de reprise,,Passif,
103,Fonds associatif avec droit de reprise,,Passif,
1034,Apports avec droit de reprise,,Passif,
105,Écarts de réévaluation,,Passif,
106,Réserves,,Passif,
1063,Réserves statutaires ou contractuelles,,Passif,
1064,Réserves réglementées,,Passif,
1068,Autres réserves (dont réserves pour projet associatif),,Passif,
11,REPORT À NOUVEAU,,Passif,
110,Report à nouveau (Solde créditeur),,Passif,
119,Report à nouveau (Solde débiteur),,Passif,
12,RÉSULTAT NET DE L'EXERCICE,,Passif,
120,Résultat de l'exercice (excédent),,Passif,
129,Résultat de l'exercice (déficit),,Passif,
13,SUBVENTIONS D'INVESTISSEMENT AFFECTÉES A DES BIENS NON RENOUVELABLES,,Passif,
131,Subventions d'investissement (renouvelables),,Passif,
139,Subventions d'investissement inscrites au compte de résultat,,Passif,
14,PROVISIONS REGLEMENTÉES,,Passif,
15,PROVISIONS,,Passif,
151,Provisions pour risques,,Passif,
157,Provisions pour charges à répartir sur plusieurs exercices,,Passif,
158,Autres provisions pour charges,,Passif,
16,EMPRUNTS ET DETTES ASSIMILÉES,,Passif,
164,Emprunts auprès des établissements de crédits,,Passif,
165,Dépôts et cautionnements reçus,,Passif,
167,Emprunts et dettes assorties de conditions particulières,,Passif,
168,Autres emprunts et dettes assimilés,,Passif,
17,DETTES RATTACHÉES À DES PARTICIPATIONS,,Passif,
18,COMPTES DE LIAISON DES ÉTABLISSEMENTS,,Passif,
181,Apports permanents entre siège social et établissements,,Passif,
185,Biens et prestations de services échangés entre établissements et siège social,,Passif,
186,Biens et prestations de services échangés entre établissements (charges),,Passif,
187,Biens et prestations de services échangés entre établissements (produits),,Passif,
19,FONDS DÉDIÉS,,Passif,
194,Fonds dédiés sur subventions de fonctionnement,,Passif,
195,Fonds dédiés sur dons manuels affectés,,Passif,
197,Fonds dédiés sur legs et donations affectés,,Passif,
198,Excédent disponible après affectation au projet associatif,,Passif,
199,Reprise des fonds affectés au projet associatif,,Passif,
2,Classe 2 — Comptes d'immobilisations,,Actif,
20,IMMOBILISATIONS INCORPORELLES,,Actif,
200,Immobilisations incorporelles,,Actif,
21,IMMOBILISATIONS CORPORELLES,,Actif,
210,Investissements,,Actif,
22,IMMOBILISATIONS GREVÉES DE DROITS,,Actif,
228,Immobilisations grevées de droits,,Actif,
229,Droits des propriétaires,,Actif,
23,IMMOBILISATIONS EN COURS,,Actif,
231,Immobilisations corporelles en cours,,Actif,
238,Avances et acomptes versés sur commande d'immobilisations corporelles,,Actif,
26,PARTICIPATIONS ET CRÉANCES RATTACHÉES A DES PARTICIPATIONS,,Actif,
261,Titres de participation,,Actif,
27,AUTRES IMMOBILISATIONS FINANCIÈRES,,Actif,
270,Participations financières,,Actif,
275,Dépôts et cautionnements versés,,Actif,
28,AMORTISSEMENTS DES IMMOBILISATIONS,,Actif,
280,Amortissements des immobilisations incorporelles,,Actif,
281,Amortissements des immobilisations corporelles,,Actif,
29,DÉPRÉCIATION DES IMMOBILISATIONS,,Actif,
290,Dépréciation des immobilisations incorporelles,,Actif,
291,Dépréciation des immobilisations corporelles,,Actif,
3,Classe 3 — Comptes de stocks,,Actif,
31,MATIERES PREMIERES ET FOURNITURES,,Actif,
311,Matières,,Actif,
317,Fournitures,,Actif,
32,AUTRES APPROVISIONNEMENTS,,Actif,
321,Matières consommables,,Actif,
322,Fournitures consommables,,Actif,
33,EN-COURS DE PRODUCTION DE BIENS,,Actif,
331,Produits en cours,,Actif,
335,Travaux en cours,,Actif,
34,EN-COURS DE PRODUCTION DE SERVICES,,Actif,
35,STOCKS DE PRODUITS,,Actif,
351,Produits intermédiaires,,Actif,
355,Produits finis,,Actif,
358,Produits résiduels,,Actif,
3581,Déchets,,Actif,
3585,Rebuts,,Actif,
3586,Matière de récupération,,Actif,
37,STOCKS DE MARCHANDISES,,Actif,
370,Autres stocks de marchandises,,Actif,
39,PROVISIONS POUR DEPRECIATION DES STOCKS ET EN-COURS,,Actif,
391,Provisions pour dépréciation des matières premières et fournitures,,Actif,
4,Classe 4 — Comptes de tiers,,Actif ou passif,
40,FOURNISSEURS ET COMPTES RATTACHÉS,,Passif,
401,Fournisseurs,,Passif,
4010,Autres fournisseurs,,Actif ou passif,Tiers
408,Fournisseurs - Factures non parvenues,,Passif,
409,Avances aux fournisseurs,,Actif,
41,USAGERS ET COMPTES RATTACHÉS,,Actif,
411,Usagers,,Actif,
4110,Autres usagers,,Actif ou passif,Tiers
419,Avances aux usagers,,Passif,
42,PERSONNEL ET COMPTES RATTACHÉS,,Passif,
421,Personnel - Rémunérations dues,,Passif,
4210,Autres membres du personnel,,Actif ou passif,
425,Personnel - Avances et acomptes,,Actif,
428,Personnel - Charges à payer et produits à recevoir,,Actif ou passif,
43,SÉCURITÉ SOCIALE ET AUTRES ORGANISMES SOCIAUX,,Passif,
430,Dettes et crédits envers les organismes sociaux,,Passif,
431,Sécurité sociale,,Passif,
437,Autres organismes sociaux,,Passif,
4372,Mutuelles,,Passif,
4373,Caisse de retraite et de prévoyance,,Passif,
4374,Caisse d'allocations de chômage - Pôle emploi,,Passif,
4375,AGESSA,,Passif,
4378,Autres organismes sociaux - Divers,,Passif,
438,Organismes sociaux - Charges à payer et produits à recevoir,,Actif ou passif,
4382,Charges sociales sur congés à payer,,Passif,
4386,Autres charges à payer,,Passif,
4387,Produits à recevoir,,Actif,
439,Avances auprès des organismes sociaux,,Passif,
44,ÉTAT ET AUTRES COLLECTIVITÉS PUBLIQUES,,Actif,
441,État - Subventions à recevoir,,Actif,
4411,Subventions d'investissement,,Actif,
4417,Subventions d'exploitation,,Actif,
4418,Subventions d'équilibre,,Actif,
4419,Avances sur subventions,,Actif,
442,État - Impôts et taxes recouvrables sur des tiers,,Passif,
444,État - Impôts sur les bénéfices,,Actif,
445,État - Taxes sur le chiffre d'affaires,,Actif,
4455,Taxes sur le chiffre d'affaires à décaisser,,Actif,
44551,TVA à décaisser,,Actif,
44558,Taxes assimilées à la TVA,,Actif,
4456,Taxes sur le chiffre d'affaires déductibles,,Actif,
44562,TVA sur immobilisations,,Actif,
44566,TVA sur autres biens et services,,Actif,
4457,Taxes sur le chiffre d'affaires collectées par l'association,,Actif,
4458,Taxes sur le chiffre d'affaires à régulariser ou en attente,,Actif,
44581,Acomptes - Régime simplifié d'imposition,,Actif,
44582,Acomptes - Régime du forfait,,Actif,
44583,Remboursement de taxes sur le chiffre d'affaires demandé,,Actif,
44584,TVA récupérée d'avance,,Actif,
44586,Taxes sur le chiffre d'affaires sur factures non parvenues,,Actif,
44587,Taxes sur le chiffre d'affaires sur factures à établir,,Actif,
447,"Autres impôts, taxes et versements assimilés",,Passif,
4471,"Autres impôts, taxes et versements assimilés sur rémunérations (Administration des impôts)",,Passif,
44711,Taxe sur les salaires,,Passif,
44713,Participation des employeurs à la formation professionnelle continue,,Passif,
44714,Cotisation par défaut d'investissement obligatoire dans la construction,,Passif,
44718,"Autres impôts, taxes et versements assimilés",,Passif,
4473,"Autres impôts, taxes et versements assimilés sur rémunérations (Autres organismes)",,Passif,
44733,Participation des employeurs à la formation professionnelle continue,,Passif,
44734,Participation des employeurs à l'effort de construction (versements à fonds perdus),,Passif,
4475,"Autres impôts, taxes et versements assimilés (Administration des impôts)",,Passif,
4477,"Autres impôts, taxes et versements assimilés (Autres organismes)",,Passif,
448,État - Charges à payer et produits à recevoir,,Passif,
4482,Charges fiscales sur congés à payer,,Passif,
4486,Autres charges à payer,,Passif,
4487,Produits à recevoir,,Actif,
449,Avances auprès de l'état et des collectivités publiques,,Passif,
45,"CONFÉDÉRATION, FÉDÉRATION, UNIONS ET ASSOCIATIONS AFFILIÉES",,Actif ou passif,
451,"Confédération, fédération et associations affiliées - Compte courant",,Actif ou passif,
455,Sociétaires - Comptes courants,,Actif ou passif,
46,DÉBITEURS DIVERS ET CRÉDITEURS DIVERS,,Actif ou passif,
467,Autres comptes débiteurs et créditeurs,,Actif ou passif,
468,Divers - Charges à payer et produits à recevoir,,Actif ou passif,
4686,Charges à payer,,Passif,
4687,Produits à recevoir,,Actif,
47,COMPTES TRANSITOIRES OU D'ATTENTE,,Actif ou passif,
471,Recettes à classer,,Passif,
472,Dépenses à classer et à régulariser,,Actif,
48,COMPTES DE RÉGULARISATION,,Actif ou passif,
481,Charges à répartir sur plusieurs exercices,,Actif,
486,Charges constatées d'avance,,Actif,
487,Produits constatés d'avance,,Passif,
49,DEPRECIATION DES COMPTES DE TIERS,,Actif,
491,Dépréciation des comptes clients,,Actif,
496,Dépréciation des comptes débiteurs divers,,Actif,
5,Classe 5 — Comptes financiers,,Actif,
50,VALEURS MOBILIÈRES DE PLACEMENT,,Actif,
51,"BANQUES, ÉTABLISSEMENTS FINANCIERS ET ASSIMILÉS",,Actif,
511,Valeurs à l'encaissement,,Actif,
5112,Chèques à encaisser,,Actif,Attente d'encaissement
5115,Paiements par carte à encaisser,,Actif,
512,Banques,,Actif ou passif,
53,CAISSE,,Actif,
530,Caisse,,Actif,Caisse
54,RÉGIES D'AVANCES ET ACCRÉDITIFS,,Actif,
58,VIREMENTS INTERNES,,Actif,
59,PROVISIONS POUR DÉPRÉCIATION DES COMPTES FINANCIERS,,Actif,
6,Classe 6 — Comptes de charges,,Charge,
60,ACHATS,,Charge,
601,Achats stockés - Matières premières et fournitures,,Charge,
602,Achats stockés - Autres approvisionnements,,Charge,
604,Achat d'études et prestations de services,,Charge,Dépenses
606,Achats non stockés de matières et fournitures,,Charge,
6061,"Fournitures non stockables (eau, énergie...)","Facture d'eau, d'opérateur électrique, etc.",Charge,Dépenses
6063,Fournitures d'entretien et de petit équipement,,Charge,Dépenses
6064,Fournitures administratives,"Cartouches d'encre, papier, matériel bureautique, etc.",Charge,Dépenses
6068,Autres matières et fournitures,,Charge,Dépenses
607,Achats de marchandises,Marchandises destinées à être revendues en l'état.,Charge,Dépenses
61,SERVICES EXTÉRIEURS,,Charge,
611,Sous-traitance générale,,Charge,
612,Redevances de crédit-bail,,Charge,
613,Locations,Locations versées pour un local ou du matériel.,Charge,Dépenses
614,Charges locatives et de co-propriété,,Charge,
615,Entretiens et réparations,,Charge,
616,Primes d'assurance,,Charge,Dépenses
618,Divers,,Charge,
62,AUTRES SERVICES EXTÉRIEURS,,Charge,
621,Personnel extérieur à l'association,,Charge,
62141,Mises à disposition de personnel salarié,,Charge,Dépenses
622,Rémunérations d'intermédiaires et honoraires,,Charge,
6226,Honoraires,,Charge,
6227,Frais d'actes et de contentieux,"Insertion au Journal Officiel, frais de justice, etc.",Charge,Dépenses
6228,Divers,,Charge,
623,"Publicité, publications, relations publiques","Bulletins, affiches, communication, etc.",Charge,Dépenses
624,Transports de biens et transports collectifs du personnel,,Charge,
625,"Déplacements, missions et réceptions","Billet SNCF, remboursement de frais kilométrique, etc.",Charge,Dépenses
626,Frais postaux et de télécommunications,"Facture d'accès à Internet, timbres, etc.",Charge,Dépenses
627,Services bancaires et assimilés,Frais bancaires,Charge,Dépenses
628,Divers,,Charge,Dépenses
63,"IMPÔTS, TAXES ET VERSEMENTS ASSIMILÉS",,Charge,
631,"Impôts, taxes et versements assimilés sur rémunérations (Administration des impôts)",,Charge,
6311,Taxes sur les salaires,,Charge,
6313,Participations des employeurs à la formation professionnelle continue,,Charge,
635,"Autres impôts, taxes et versements assimilés (Administration des impôts)",,Charge,
6351,Impôts directs (sauf impôts sur les bénéfices),,Charge,
6353,Impôts indirects,,Charge,
637,"Autres impôts, taxes et versements assimilés (Autres organismes)",,Charge,
64,CHARGES DE PERSONNEL,,Charge,
641,Rémunérations du personnel,,Charge,
643,Rémunérations du personnel artistique et assimilés,,Charge,
645,Charges de sécurité sociale et de prévoyance,,Charge,
647,Autres charges sociales,,Charge,
648,Autres charges de personnel,,Charge,
65,AUTRES CHARGES DE GESTION COURANTE,,Charge,
652,Licences fédérales,Licences payées pour les adhérents (par exemple fédération sportive etc.),Charge,Dépenses
658,Charges diverses de gestion courante,,Charge,Dépenses
66,CHARGES FINANCIÈRES,,Charge,
661,Charges d'intérêts,,Charge,
67,CHARGES EXCEPTIONNELLES,,Charge,
670,Charges exceptionnelles,Autres dépenses exceptionnelles,Charge,Dépenses
671,Charges exceptionnelles sur opérations de gestion,,Charge,
6713,"Dons, libéralités",,Charge,
678,Autres charges exceptionnelles,,Charge,
6788,Charges exceptionnelles diverses,,Charge,
68,"DOTATIONS AUX AMORTISSEMENTS, DÉPRÉCIATIONS, PROVISIONS ET ENGAGEMENTS",,Charge,
681,"Dotations aux amortissements, dépréciations et provisions - Charges d'exploitation",,Charge,
6811,Dotations aux amortissements des immobilisations incorporelles et corporelles,,Charge,
68111,Immobilisations incorporelles,,Charge,
68112,Immobilisations corporelles,,Charge,
686,"Dotations aux amortissements, dépréciations et provisions - Charges financières",,Charge,
69,PARTICIPATION DES SALARIÉS - IMPÔTS SUR LES BÉNÉFICES ET ASSIMILÉS,,Charge,
695,Impôts sur les sociétés (y compris impôts sur les sociétés des personnes morales non lucratives),,Charge,
7,Classe 7 — Comptes de produits,,Produit,
70,"VENTES DE PRODUITS FINIS, PRESTATIONS DE SERVICES, MARCHANDISES",,Produit,
701,Ventes de produits finis,Vente de produits fabriqués par l'association.,Produit,Recettes
706,Prestations de services,,Produit,Recettes
707,Ventes de marchandises,,Produit,Recettes
708,Produits des activités annexes,,Produit,
71,PRODUCTION STOCKÉE (OU DÉSTOCKAGE),,Produit,
72,PRODUCTION IMMOBILISÉE,,Produit,
74,SUBVENTIONS D'EXPLOITATION,,Produit,
740,Subventions reçues,,Produit,Recettes
75,AUTRES PRODUITS DE GESTION COURANTE,,Produit,
754,Collectes,,Produit,Recettes
756,Cotisations,,Produit,Recettes
758,Produits divers de gestion courante,,Produit,
7587,Ventes de dons en nature,,Produit,
7588,Autres produits de la générosité du public,,Produit,
76,PRODUITS FINANCIERS,,Produit,
760,Produits financiers,,Produit,
77,PRODUITS EXCEPTIONNELS,,Produit,
771,Produits exceptionnels sur opérations de gestion,,Produit,
7713,Libéralités reçues,,Produit,
7715,Subventions d'équilibre,,Produit,
775,Produits des cessions d'éléments d'actifs,,Produit,
778,Autres produits exceptionnels,,Produit,
7780,Manifestations diverses,"Revenus provenant de manifestations au profit de l'association : droit d'entrée, location d'emplacement en vide grenier, ventes, etc.",Produit,Recettes
7788,Produits exceptionnels divers,,Produit,
78,REPRISES SUR AMORTISSEMENTS ET PROVISIONS,,Produit,
79,TRANSFERT DE CHARGES,,Produit,
791,Transferts de charges d'exploitation,,Produit,
796,Transferts de charges financières,,Produit,
797,Transferts de charges exceptionnels,,Produit,
8,Classe 8 ­— Comptes spéciaux,,,
86,RÉPARTITION PAR NATURE DE CHARGES,,Charge,
861,Mise à dispositions gratuites de biens,,Charge,
862,Prestations,,Charge,
864,Personnel bénévole,,Charge,
87,RÉPARTITION PAR NATURE DE RESSOURCES,,Produit,
870,Bénévolat,,Produit,
871,Prestations en nature,,Produit,
875,Dons en nature,,Produit,
89,BILAN,,,
890,Bilan d'ouverture,,,Ouverture
891,Bilan de clôture,,,Clôture
9,Classe 9 — Comptes analytiques,,,
99,Projets,,,Analytique

Added src/include/data/charts/fr_2018.csv version [34ea34be2e].

















































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
code,label,description,position,type
1,"Classe 1 — Comptes de capitaux (Fonds propres, emprunts et dettes assimilés)",,Passif,
10,FONDS ASSOCIATIFS ET RÉSERVES,,Passif,
102,Fonds associatifs sans droit de reprise,,Passif,
1021,Première situation nette établie,,Passif,
1022,Fonds statutaires,,Passif,
1023,Dotations non consomptibles,,Passif,
10231,Dotations non consomptibles initiales,,Passif,
10232,Dotations non consomptibles complémentaires,,Passif,
1024,Autres fonds propres sans droit de reprise,,Passif,
103,Fonds associatif avec droit de reprise,,Passif,
1032,Fonds statutaires,,Passif,
1034,Autres fonds propres avec droit de reprise,,Passif,
105,Ecarts de réévaluation,,Passif,
1051,Ecarts réévaluation sur biens sans dt reprise,,Passif,
1052,Ecarts réévaluation sur biens avec dt reprise,,Passif,
106,Réserves,,Passif,
1062,Réserves indisponibles,,Passif,
1063,Réserves statutaires,,Passif,
1064,Réserves réglementées,,Passif,
1068,Réserves pour projet de l’entité,,Passif,
108,Dotations consomptibles,,Passif,
1081,Dotations consomptibles,,Passif,
1089,Dot. consomptibles inscrites au cpte de résul,,Passif,
11,REPORT à NOUVEAU,,Passif,
110,Report à nouveau (Solde créditeur),,Passif,
119,Report à nouveau (Solde débiteur),,Passif,
12,RÉSULTAT NET DE L'EXERCICE,,Passif,
120,Résultat de l'exercice (Excédent),,Passif,
129,Résultat de l'exercice (déficit),,Passif,
13,SUBVENTIONS D'INVESTISSEMENTS,,Passif,
131,Subventions d'équipement,,Passif,
139,Subventions inscrites au compte de résultat,,Passif,
14,PROVISIONS RÉGLEMENTÉES,,Passif,
148,Autres provisions réglementées,,Passif,
15,PROVISIONS POUR RISQUES ET CHARGES,,Passif,
151,Provisions pour risques,,Passif,
152,Provisions pour charges sur legs ou donations,,Passif,
153,Provisions pour pensions et obligations simil,,Passif,
155,Provisions pour impôts,,Passif,
157,Provisions pour charges à répartir,,Passif,
158,Autres provisions pour charges,,Passif,
16,EMPRUNTS ET DETTES ASSIMILÉES,,Passif,
163,Autres emprunts obligataires,,Passif,
1631,Titres associatifs et assimilés,,Passif,
164,Emprunts auprès des établissements de crédit,,Passif,
165,Dépôts et cautionnements reçus,,Passif,
1651,Dépôts,,Passif,
1655,Cautionnements,,Passif,
167,Emprunts et dettes sous conditions particulières,,Passif,
168,Autres emprunts et dettes assimilées,,Passif,
18,COMPTES DE LIAISONS,,Passif,
181,Apports permanents siège-établissements,,Passif,
185,Biens & PS échangés siège-établissements,,Passif,
186,Biens & PS entre établissements - Charges,,Passif,
187,Biens & PS entre établissements - Produits,,Passif,
19,FONDS DÉDIÉS OU REPORTÉS,,Passif,
191,Fonds reportés liés aux legs ou donations,,Passif,
1911,Legs ou donations,,Passif,
1912,Donations temporaires d’usufruit,,Passif,
194,Fonds dédiés sur subventions fonctionnement,,Passif,
195,F.d. / contributions financières autres org.,,Passif,
196,F.d. / ressources liées à la générosité,,Passif,
2,Classe 2 — Comptes d'immobilisations,,Actif,
20,IMMOBILISATIONS INCORPORELLES,,Actif,
201,Frais d'établissement,,Actif,
203,Frais de recherche et de développement,,Actif,
204,Donations temporaires d’usufruit,,Actif,
205,"Brevets, licences, marques...",,Actif,
206,Droit au bail,,Actif,
208,Autres immobilisations incorporelles,,Actif,
21,IMMOBILISATIONS CORPORELLES,,Actif,
211,Terrains,,Actif,
212,Agencements / aménagements de terrains,,Actif,
2131,Bâtiments,,Actif,
2135,"Installations, agencements...de constructions",,Actif,
214,Constructions sur sol d'autrui,,Actif,
215,"Installations techniques, matériel, outillage",,Actif,
2154,Matériel industriel,,Actif,
2155,Outillage industriel,,Actif,
218,Autres immobilisations corporelles,,Actif,
2181,"Installations, agencements, aménagem. divers",,Actif,
2182,Matériel de transport,,Actif,
2183,Matériel bureau et informatique,,Actif,
2184,Mobilier,,Actif,
23,IMMOBILISATIONS EN COURS,,Actif,
231,Immobilisations corporelles en cours,,Actif,
238,"Avances, acomptes sur immobilis. corporelles",,Actif,
24,BIEN DESTINÉS À ÊTRE CÉDÉS,,Actif,
240,Biens reçus par legs ou donations à céder,,Actif,
26,PARTICIPATIONS ET CRÉANCES RATTACHÉES,,Actif,
261,Titres de participation,,Actif,
266,Autres formes de participation,,Actif,
267,Créances rattachées à des participations,,Actif,
269,Versements restants sur participations,,Actif,
27,IMMOBILISATIONS FINANCIERES,,Actif,
271,Titres immobilisés (droit de propriété),,Actif,
272,Titres immobilisés (droit de créance),,Actif,
274,Prêts,,Actif,
2742,Prêts aux partenaires,,Actif,
275,Dépôts et cautionnements versés,,Actif,
276,Autres créances immobilisées,,Actif,
28,AMORTISSEMENTS DES IMMOBILISAT,,Actif,
2801,Amt. frais d'établissement,,Actif,
2804,Amt. donations temporaires d’usufruit,,Actif,
2805,"Amt brevets, licences, marques...",,Actif,
2806,Amt. droit au bail,,Actif,
2808,Amt. autres immo.incorporelles,,Actif,
2812,"Amt.agencements, aménagements de terrains",,Actif,
28131,Amortissements bâtiments,,Actif,
28135,"Amt. installations, agencements...",,Actif,
2814,Amt.constructions sur sol d'autrui,,Actif,
2815,"Amt instal. techniques, matériel, outillage",,Actif,
28181,"Amt. intallations, agencements, aménagements",,Actif,
28182,Amt. matériel de transport,,Actif,
28183,"Amortiss.matériel de bureau, informatique",,Actif,
28184,Amortissements du mobilier,,Actif,
29,DÉPRÉCIATIONS DES IMMOBILISATIONS,,Actif,
2904,Donations temporaires d'usufruit,,Actif,
2905,"Brevets, licences, marques...",,Actif,
2906,Droit au bail,,Actif,
2908,Autres immobilisations incorporelles,,Actif,
2911,Terrains,,Actif,
2931,Immobilisations corporelles en cours,,Actif,
294,Biens reçus par legs ou donations à céder,,Actif,
2961,Titres de participations,,Actif,
2966,Autres formes de participations,,Actif,
2967,Créances rattachées à des participations,,Actif,
2971,Titres immobilisés (droit de propriété),,Actif,
2972,Titres immobilisés (droit de créance),,Actif,
2974,Prêts,,Actif,
2975,Dépôts et cautionnements versés,,Actif,
2976,Autres créances immobilisées,,Actif,
3,Classe 3 — Comptes de stocks,,Actif,
31,MATIÈRES PREMIÈRES ET FOURNITURES,,Actif,
318,Matières premières et fournitures,,Actif,
32,AUTRES APPROVISIONNEMENTS,,Actif,
321,Matières consommables,,Actif,
322,Fournitures consommables,,Actif,
326,Emballages,,Actif,
33,EN-COURS DE PRODUCTION DE BIENS,,Actif,
331,Produits en cours,,Actif,
335,Travaux en cours,,Actif,
34,EN-COURS DE PROUCTION DE SERVICES,,Actif,
341,Etudes en cours,,Actif,
345,Prestations de services en cours,,Actif,
35,STOCKS DE PRODUITS,,Actif,
351,Produits intermédiaires,,Actif,
355,Produits finis,,Actif,
358,Produits résiduels,,Actif,
37,STOCKS DE MARCHANDISES,,Actif,
370,Stocks de marchandises,,Actif,
39,PROVISIONS PR DÉPRECIATIONS STOCKS & EN-COURS,,Actif,
391,Matières premières et fournitures,,Actif,
392,Autres approvisionnements,,Actif,
393,En-cours de production de biens,,Actif,
394,En-cours de production de services,,Actif,
395,Stocks de produits,,Actif,
397,Stocks de marchandises,,Actif,
4,Classe 4 — Comptes de tiers,,Actif ou passif,
40,FOURNISSEURS ET COMPTES RATTACHÉS,,Actif ou passif,
401,Fournisseurs,,Actif ou passif,
4010,Autres fournisseurs,,Actif ou passif,Tiers
403,Fournisseurs - Effets à payer,,Passif,
404,Fournisseurs d'immobilisations,,Actif ou passif,
405,Fournisseurs d'immos - Effets à payer,,Passif,
408,Fournisseurs - Factures non parvenues,,Passif,
4091,Fournisseurs - Avances & acomptes,,Actif,
41,USAGERS ET COMPTES RATTACHÉS,,Actif ou passif,
411,Usagers,,Actif ou passif,
4110,Autres usagers,Pour les dettes ou créances des membres,Actif ou passif,Tiers
413,Usagers - Effets à recevoir,,Actif,
416,Usagers douteux ou litigieux,,Actif,
418,Usagers non encore facturés,,Actif,
4191,Usagers créditeurs : Avances et acomptes,,Passif,
42,PERSONNEL ET COMPTES RATTACHÉS,,Actif ou passif,
421,Personnel : Rémunérations dues,,Passif,
4210,Autres membres du personnel,Dettes dûes aux salarié⋅e⋅s,Actif ou passif,Tiers
422,"Comités d'entreprise, d'établissement",,Actif ou passif,
425,Personnel : Avances & acomptes,,Actif,
427,Personnel - Oppositions,,Passif,
4286,Personnel- Charges à payer,,Passif,
4287,Personnel- Produits à recevoir,,Actif,
43,SÉCURITÉ SOCIALE &  AUTRES ORGANISMES SOCIAUX,,Passif,
431,Sécurité sociale,,Passif,
4372,Mutuelles,,Passif,
4373,Caisses de retraites et de prévoyance,,Passif,
4378,Autres organismes sociaux,,Passif,
44,ETAT ET AUTRES COLLECTIVITÉS PUBLIQUES,,Actif,
441,Etat - Subventions à recevoir,,Actif,
4421,Prélèvements à la source- Impôt sur le revenu,,Actif ou passif,
444,Etat - Impôts sur les bénéfices,,Actif ou passif,
4452,TVA due intracommunautaire,,Actif ou passif,
4455,Taxes sur CA à décaisser,,Actif,
44562,TVA déductible sur immobilisations,,Actif,
44566,TVA déductible sur autres biens et services,,Actif,
44571,TVA normale collectée,,Actif,
445711,TVA réduite collectée,,Actif,
445712,TVA super-réduite collectée,,Actif,
445713,TVA intermédiaire collectée,,Actif,
4458,Taxe sur CA à régulariser ou en attente,,Actif,
447,"Autres impôts, taxes et versements assimilés",,Actif,
4486,Etat - Charges à payer,,Passif,
4487,Etat - Produits à recevoir,,Actif,
45,"CONFÉDÉRATION, FEDERATION, UNIONS...AFFILIÉES",,Actif ou passif,
451,"Confédération, fédération at assoc. affiliées",,Actif ou passif,
455,Partenaires - comptes courants,,Actif ou passif,
46,DEBITEURS DIVERS ET CREDIT.DVS,,Actif ou passif,
461,Créances reçues par legs ou donations,,Actif,
466,Dettes des legs ou donations,,Passif,
4671,Débiteurs divers,,Actif ou passif,
4672,Créditeurs divers,,Actif ou passif,
4681,Frais des bénévoles,,Actif ou passif,
4686,Divers - Charges à payer,,Passif,
4687,Divers - Produits à recevoir,,Actif,
47,COMPTES D'ATTENTE,,Actif ou passif,
4715,Compte de transit,,Actif ou passif,
4718,Compte d'attente,,Actif ou passif,
48,COMPTES DE REGULARISATION,,Actif ou passif,
481,Charges à répartir,,Passif,
486,Charges constatées d'avance,,Passif,
487,Produits constatés d'avance,,Actif,
49,DÉPRECIATIONS DES COMPTES DE TIERS,,Actif ou passif,
491,Prov. pour dépreciation des comptes d'usagers,,Passif,
496,Prov. pour dépreci. cptes débiteurs divers,,Passif,
5,Classe 5 — Comptes financiers,,Actif,
50,VALEURS MOBILIERES DE PLACEMENT,,Actif,
503,Actions,,Actif,
506,Obligations,,Actif,
508,Autres VMP et créances assimilées,,Actif,
51,"BANQUES, ETABLISSEMENTS FINANCIERS",,Actif,
5112,Chèques à encaisser,,Actif,Attente d'encaissement
5115,Paiements par carte à encaisser,,Actif,
512,Banques,,Actif ou passif,
5186,Intérêts courus à payer,,Passif,
5187,Intérêts courus à recevoir,,Actif,
53,Caisses,,Actif ou passif,
530,Caisse,,Actif,Caisse
58,VIREMENTS INTERNES,,Actif ou passif,
580,Virements internes,,Actif ou passif,
59,DEPRECIATIONS DES COMPTES FINANCIERS,,Actif ou passif,
5903,Actions,,Actif ou passif,
5906,Obligations,,Actif ou passif,
5908,Autres VMP et créances assimilées,,Actif ou passif,
6,COMPTES DE CHARGES,,Charge,
60,ACHATS (SAUF 603),,Charge,
601,Achats stockés - Matières premières et fournitures,,Charge,
6010,Achats stockés de matières et fournitures,,Charge,
6011,Achats stockés - Matières premières,,Charge,
6017,Achats stockés - Fournitures,,Charge,
602,Achats stockés - Autres approvisionnements,,Charge,
6021,Achats stockés - Matières consommables,,Charge,
60221,Achats stockés - Combustibles,,Charge,
60222,Achats stockés - Produits d'entretien,,Charge,
60223,Achats stockés - Fournitures d'atelier,,Charge,
60224,Achats stockés - Fournitures de magasin,,Charge,
60225,Fournitures de bureau,,Charge,
6026,Achats stockés - Emballages,,Charge,
603,Variations de stocks,,Charge,
6031,Variations de stocks matières & fournitures,,Charge,
6032,Variations stocks autres approvisionnements,,Charge,
6037,Variations de stocks de marchandises,,Charge,
604,Achats d'études et prestations de services,,Charge,
605,"Achats matériel, équipements & travaux",,Charge,
606,Achats non stockés de matières et fournitures,,Charge,
6061,"Fournitures non stockables (eau, énergie...)","Facture d'eau, d’électricité, etc.",Charge,Dépenses
60611,Eau,,Charge,
60612,Electricité,,Charge,
60613,Chauffage,,Charge,
6063,Fournitures d'entretien et petit équipement,"Vis, et matériel de bricolage (sauf outils) par exemple",Charge,Dépenses
6064,Fournitures administratives,"Cartouches d'encre, papier, matériel bureautique, etc.",Charge,Dépenses
6065,Petits logiciels,Par exemple contribution à un logiciel de gestion associative génial :-),Charge,Dépenses
6068,Autres fournitures & matières,,Charge,Dépenses
607,Achats de marchandises,Marchandises destinées à être revendues en l'état.,Charge,Dépenses
608,Frais accessoires d'achats,,Charge,
60811,Frais accessoires d'achats sur matières,,Charge,
60817,Frais accessoires d'achats sur fournitures,,Charge,
609,"Rabais, remises et ristournes sur achats",,Charge,
6091,RRR sur achats matières et fournitures,,Charge,
6092,RRR sur achats et autres approvisionnements,,Charge,
6097,RRR sur achats de marchandises,,Charge,
61,SERVICES EXTERIEURS,,Charge,
611,Sous-traitance générale,,Charge,
6122,Redevance crédit-bail mobilier,,Charge,
6125,Redevances crédit-bail immobilier,,Charge,
6132,Locations immobilières,Locations versées pour un local ou du matériel.,Charge,Dépenses
6135,Locations mobilières,,Charge,
6136,Malis sur emballages,,Charge,
614,Charges locatives et de copropriété,,Charge,
6152,Entretien sur biens immobiliers,,Charge,
6155,Entretien sur biens mobiliers,,Charge,
6156,Maintenance,,Charge,
616,Primes d'assurance,"Frais d’assurance local, activité, etc.",Charge,Dépenses
6161,Primes d'assurances mutirisques,,Charge,
6164,Primes d'assurances / risques d'exploitation,,Charge,
6165,Primes d'assurances / insolvabilité usagers,,Charge,
6168,Autres assurances,,Charge,
617,Etudes et recherches,,Charge,
6181,Documentation générale,,Charge,
6183,Documentation technique,,Charge,
6185,"Frais de colloques, séminaires, conférences",,Charge,
6187,Prestations administratives,,Charge,
62,AUTRES SERVICES EXTERIEURS,,Charge,
621,Personnel extérieur à l'association,,Charge,
6211,Personnel intérimaire,,Charge,
6214,Personnel détaché ou prêté à l'association,,Charge,
62141,Mises à disposition de personnel salarié,Frais de mise à disposition via un groupement d’employeurs,Charge,Dépenses
622,Rémunérations d'intermédiaires et honoraires,,Charge,
6221,Commissions ... sur achats,,Charge,
6222,Commissions... sur ventes,,Charge,
6226,Honoraires,,Charge,
62264,Honoraires sur legs ou donations à céder,,Charge,
6227,Frais d'actes et de contentieux,,Charge,
6228,Rémunérations div .intermédiaires & honor.,,Charge,
623,"Publicité, publications, relations publiques","Bulletins, affiches, communication, etc.",Charge,Dépenses
6231,Annonces et insertions,,Charge,
6232,Fêtes et cérémonies,,Charge,
6233,Foires et expositions,,Charge,
6234,Cadeaux,,Charge,
6236,Catalogues et imprimés,,Charge,
6237,Publications,,Charge,
6238,"Divers : pourboires, dons courants",,Charge,
624,Transports de biens...,,Charge,
6241,Transports sur achats,,Charge,
6242,Transports sur ventes,,Charge,
6243,Transports entre établissements,,Charge,
6244,Transports administratifs,,Charge,
6247,Transports collectifs du personnel,,Charge,
6248,Transports divers,,Charge,
625,"Déplacements, missions et réceptions","Billet de train, remboursement de frais kilométrique, etc.",Charge,Dépenses
6251,Voyages et déplacements,,Charge,
6255,Frais de déménagement,,Charge,
6256,Frais de missions,,Charge,
6257,"Frais de réceptions, représentations",,Charge,
626,Frais postaux et de télécommunications,"Facture d'accès à Internet, timbres, etc.",Charge,Dépenses
6261,Liaisons spécialisées,,Charge,
6263,"Affranchissements, frais postaux",,Charge,
6265,Téléphone,,Charge,
627,Services bancaires et assimilés,Frais bancaires,Charge,Dépenses
628,Divers,,Charge,Dépenses
6281,Cotisations (liées à l'activité économique),,Charge,
6284,Frais de recrutement du personnel,,Charge,
63,"IMPÔTS, TAXES ET VERSEMENTS ASSIMILÉS",,Charge,
631,Sur rémunérations - administration des impôts,,Charge,
6311,Taxe sur les salaires,,Charge,
633,Sur rémunérations - autres organismes,,Charge,
6331,Versement de transport,,Charge,
6332,Allocation logement,,Charge,
6333,Formation professionnelle continue,,Charge,
6334,Participations employeurs à l'effort de const,,Charge,
635,Autres - Administration des impôts,,Charge,
63512,Taxes foncières,,Charge,
63513,Autres impôts locaux,,Charge,
6354,Droits d'enregistrement et de timbre,,Charge,
637,Autres - Autres organismes,,Charge,
64,CHARGES DE PERSONNEL,,Charge,
641,Rémunérations du personnel,,Charge,
6411,"Salaires, appointements",,Charge,
6412,Congés payés,,Charge,
6413,Primes et gratifications,,Charge,
6414,Indemnités et avantages divers,,Charge,
6415,Supplément familial,,Charge,
645,Charges de sécurité sociale et de prévoyance,,Charge,
6451,Cotisations à l'URSSAF,,Charge,
6452,Cotisations aux mutuelles,,Charge,
6453,Cotisations caisses de retraites et de prévoy,,Charge,
6458,Cotisations aux autres organismes sociaux,,Charge,
647,Autres charges sociales,,Charge,
6472,Versements aux comités d'entreprise et d'étab,,Charge,
6473,Versement aux comités d'hygiène et de sécurit,,Charge,
6474,Versements aux autres oeuvres sociales,,Charge,
6475,"Médecine du travail, pharmacie",,Charge,
648,Autres charges de personnel,,Charge,
6481,Indemnités du personnel de culte,,Charge,
6485,Charges sociales sur indemnités de culte,,Charge,
6488,Autres charges de personnel,,Charge,
65,AUTRES CHARGES DE GESTION COURANTE,,Charge,
6511,"Redevances pour concessions, brevets, licenc.",,Charge,
6516,Droits d'auteur et de reproduction,,Charge,
6518,Autres droits et valeurs similaires,,Charge,
652,Licences fédérales,Licences payées pour les adhérents (par exemple fédération sportive etc.),Charge,Dépenses
653,Charges de la générosité du public,,Charge,
6531,Autres charges sur legs ou donations,,Charge,
654,Pertes sur créances irrécouvrables,,Charge,
655,Quotes-parts sur opérations faites en commun,,Charge,
657,Aides financières,,Charge,
6571,Aides financières octroyées,,Charge,
6572,Quotes-parts de générosité reversée,,Charge,
658,Charges diverses de gestion courante,,Charge,Dépenses
6586,Cotisations (vie statutaire),,Charge,
6588,Charges diverses de gestion courante,,Charge,
66,CHARGES FINANCIERES,,Charge,
661,Charges d'intérêts,,Charge,
665,Escomptes accordés,,Charge,
666,Pertes de changes,,Charge,
667,Charges nettes sur cessions de VMP,,Charge,
668,Autres charges financières,,Charge,
67,CHARGES EXEPTIONNELLES,,Charge,
670,Charges exceptionnelles,Autres dépenses exceptionnelles,Charge,Dépenses
6712,"Pénalités, amendes fiscales at pénales",,Charge,
6713,"Dons, libéralités",,Charge,
6714,Créances devenues irrécouvrables,,Charge,
6718,Autres charges exceptionnelles de gestion,,Charge,
673,Apports ou affectations en numéraire,,Charge,
675,Valeurs comptables des éléments d'actifs cédés,,Charge,
6750,Valeurs comptables des actifs cédés,,Charge,
6754,Immobilisations reçues par legs ou donations,,Charge,
678,Autres charges exceptionnelles sur opération en capital,,Charge,
68,"DOT. AUX AMORTISS., DÉPRÉC. ET ENGAGEMENTS",,Charge,
6811,Dot. aux amortissements des immobilisations,,Charge,
6812,Dot. aux amortissements charges à répartir,,Charge,
6815,Dot. aux provisions d'exploitation,,Charge,
6816,Dot. provisions pour dépréciations des immos,,Charge,
68164,Dot. pr dépréc. d’actifs reçus par legs ou donations,,Charge,
6817,Dot. aux dépréciations des actifs circulants,,Charge,
68173,Dotations dépréciations stocks et en-cours,,Charge,
68174,Dotations dépréciations créances,,Charge,
686,Dot. aux amort. & prov. - Charges financières,,Charge,
68662,Dot. aux amort. & prov immos financières,,Charge,
68665,Dot. aux amort. & prov VMP,,Charge,
687,Dot. aux amort. & prov. - Charges exceptionn.,,Charge,
689,Reports en fonds dédiés,,Charge,
6891,Reports en fonds reportés,,Charge,
6894,Reports en fonds dédiés / subventions d’exploitation,,Charge,
6895,Reports en fds dédiés / contributions financières d'autres organismes,,Charge,
6896,Reports en fds dédiés / ressources générosité,,Charge,
69,IMPÔTS SUR LES BENEFICES,,Charge,
695,IS sur personnes non lucratives,,Charge,
7,Classe 7 — Comptes de produits,,Produit,
70,"VENTES PROD.FINIS, MARCHANDISES, PRESTATIONS",,Produit,
701,Ventes de produits finis,Vente de produits fabriqués par l'association.,Produit,Recettes
702,Ventes de produits intermédiaires,,Produit,
703,Ventes de produits résiduels,,Produit,
704,Travaux,,Produit,
705,Etudes,,Produit,
706,Prestations de services,,Produit,Recettes
7063,Parrainages,,Produit,
707,Ventes de marchandises,Ventes de produits achetés et revendus en l’état,Produit,Recettes
7073,Ventes de dons en nature,,Produit,
708,Produits des activités annexes,,Produit,
7081,Produits des prestations fournies au personne,,Produit,
7083,Locations diverses,,Produit,
7085,Ports et frais accessoires facturés,,Produit,
7088,Autres produits d'activités annexes,,Produit,
709,RRR accordés,,Produit,
7091,RRR sur ventes de produits finis,,Produit,
7092,RRR sur ventes de produits intermédiaires,,Produit,
7094,RRR sur travaux,,Produit,
7095,RRR sur études,,Produit,
7096,RRR sur prest.de services,,Produit,
7097,RRR sur ventes marchandises,,Produit,
71,PRODUCTION STOCKEE,,Produit,
713,"Variation de stocks (en-cours, productions)",,Produit,
7133,Variation des en-cours de production de biens,,Produit,
7134,Variation des en-cours de production services,,Produit,
7135,Variations de stocks de produits,,Produit,
72,PRODUCTION IMMOBILISEE,,Produit,
721,Production immobilisée incorporelle,,Produit,
722,Production immobilisée corporelle,,Produit,
73,CONCOURS PUBLICS,,Produit,
730,Concours publics,,Produit,
74,SUBVENTION D'EXPLOITATION,,Produit,
740,Subventions reçues,,Produit,Recettes
748,Subventions d'exploitation diverses,,Produit,
75,AUTRES PRODUITS DE GESTION COURANTE,,Produit,
751,"Redevances pour concessions, licences...",,Produit,
753,Versements des fondateurs ou consommation dot,,Produit,
7531,Versements des fondateurs,,Produit,
7532,Quotes-parts de dotation consomptible virée a,,Produit,
754,Ressources liées à la générosité du public,Dons reçus,Produit,Recettes
7541,Dons manuels,,Produit,
75411,Dons manuels,,Produit,
75412,Abandons de frais par les bénévoles,,Produit,
7542,Mécénats,,Produit,
7543,"Legs, donations et assurances-vie",,Produit,
75431,Assurances-vie,,Produit,
75432,Legs ou donations,,Produit,
75433,Autres produits sur legs ou donations,,Produit,
755,Contributions financières,,Produit,
7551,Contributions financières d’autres organismes,,Produit,
7552,Quotes-parts de générosité reçues,,Produit,
756,Cotisations,Cotisations des adherent⋅e⋅s,Produit,Recettes
7561,Cotisations sans contrepartie,,Produit,
7562,Cotisations avec contrepartie,,Produit,
757,Gains de change / créances et dettes d’exploitation,,Produit,
758,Produits divers de gestion courante,,Produit,
7588,Autres produits divers de gestion courante,,Produit,
76,PRODUITS FINANCIERS,,Produit,
761,Produits des participations,,Produit,
762,Produits des autres immobilisat. financières,,Produit,
763,Revenus des autres créances,,Produit,
764,Revenus des VMP,,Produit,
765,Escomptes obtenus,,Produit,
766,Gains de change,,Produit,
767,Produits nets sur cession VMP,,Produit,
768,Autres produits financiers,,Produit,
77,PRODUITS EXCEPTIONNELS,,Produit,
771,Produits exception. sur opération de gestion,,Produit,
7713,Libéralités perçues,,Produit,
7718,Autres produits exception. sur op. de gestion,,Produit,
775,Produits des cessions d'actif,,Produit,
7754,Immos reçues en legs ou donations à céder,,Produit,
777,QP subvention d'investissement virée au résul,,Produit,
778,Autres produits exceptionnels,,Produit,
7780,Manifestations diverses,"Revenus provenant de manifestations au profit de l'association : droit d'entrée, location d'emplacement en vide grenier, ventes, etc.",Produit,Recettes
78,"REPRISES SUR AMORT., DÉPRÉC., ENGAGEMENTS",,Produit,
781,Reprises / amt & prov. d'exploitation,,Produit,
7811,Amt immos corporelles & incorporelles,,Produit,
7815,Reprises sur provisions d'exploitation,,Produit,
7816,Déprec. immos corporelles & incorporelles,,Produit,
78164,Reprises dépréc. d’actifs reçus par legs ou donations destinés à être cédés,,Produit,
7817,Dépréciations actifs circulant,,Produit,
786,Reprises / amt & prov. financiers,,Produit,
7865,Risques & charges financiers,,Produit,
7866,Déprec.des éléments financiers,,Produit,
787,Reprises sur amt & prov. exceptionnelles,,Produit,
7872,Provisions réglementées - Immobilisations,,Produit,
7873,Provisions réglementées - stocks,,Produit,
7874,Autres provisions réglementées,,Produit,
7875,Risques et charges,,Produit,
7876,Dépréciations exceptionnelles,,Produit,
789,Utilisations fds reportés et de fds dédiés,,Produit,
7891,Utilisations de fonds reportés,,Produit,
7894,Utilisations des fonds dédiés / subventions,,Produit,
7895,Utilisations des fds dédiés / contributions,,Produit,
7896,Utilisations des fds dédiés / générosité,,Produit,
79,TRANSFERT DE CHARGES,,Produit,
791,Transferts de charges d'exploitation,,Produit,
796,Transferts de charges financières,,Produit,
797,Transferts de charges exceptionnelles,,Produit,
8,Classe 8 ­— Comptes spéciaux,,,
86,EMPLOIS CONTRIBUTIONS VOLONTAIRES EN NATURE,,,
860,Secours en nature,,,
8601,Alimentaires,,,
8602,Vestimentaires,,,
861,Mise à dispositions gratuites de biens,,,
8611,Locaux,,,
8612,Matériels,,,
862,Prestations,,,
864,Personnel bénévole,,,
87,CONTRIBUTIONS VOLONTAIRES EN NATURE,,,
870,Dons en nature,,,
871,Prestations en nature,,,
875,Bénévolat,,,Bénévolat
89,COMPTES DE BILAN,,,
890,Bilan d'ouverture,,,Ouverture
891,Bilan de clôture,,,Clôture
9,Classe 9 — Comptes analytiques,,,
90,COMPTES RÉFLÉCHIS,,,
906,Charges réfléchies,,,
907,Produits réfléchis,,,
99,Projets,,,Analytique

Modified src/include/lib/Garradin/Accounting/Accounts.php from [d01d836e4c] to [8294607114].

1
2
3
4
5
6
7

8
9
10
11
12
13
14
<?php

namespace Garradin\Accounting;

use Garradin\Entities\Accounting\Account;
use Garradin\Utils;
use Garradin\DB;

use KD2\DB\EntityManager;

class Accounts
{
	protected $chart_id;
	protected $em;






|

>







1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php

namespace Garradin\Accounting;

use Garradin\Entities\Accounting\Account;
use Garradin\CSV;
use Garradin\DB;
use Garradin\Utils;
use KD2\DB\EntityManager;

class Accounts
{
	protected $chart_id;
	protected $em;

144
145
146
147
148
149
150

151







152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
	public function copyFrom(int $id)
	{
		$db = DB::getInstance();
		return $db->exec(sprintf('INSERT INTO %s (id_chart, code, label, description, position, type, user)
			SELECT %d, code, label, description, position, type, user FROM %1$s WHERE id_chart = %d;', Account::TABLE, $this->chart_id, $id));
	}










	public function importCSV(array $file): void
	{
		$db = DB::getInstance();
		$positions = array_flip(Account::POSITIONS_NAMES);
		$types = array_flip(Account::TYPES_NAMES);

		$db->begin();

		try {
			foreach (Utils::fromCSV($file, self::EXPECTED_CSV_COLUMNS) as $line => $row) {
				$account = new Account;
				$account->id_chart = $this->chart_id;
				try {
					$row['position'] = $positions[$row['position']];
					$row['type'] = $types[$row['type']];
					$account->importForm($row);
					$account->save();







>
|
>
>
>
>
>
>
>
|








|







145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
	public function copyFrom(int $id)
	{
		$db = DB::getInstance();
		return $db->exec(sprintf('INSERT INTO %s (id_chart, code, label, description, position, type, user)
			SELECT %d, code, label, description, position, type, user FROM %1$s WHERE id_chart = %d;', Account::TABLE, $this->chart_id, $id));
	}

	public function importUpload(array $file)
	{
		if (empty($file['size']) || empty($file['tmp_name'])) {
			throw new UserException('Fichier invalide');
		}

		self::importCSV($file['tmp_name']);
	}

	public function importCSV(string $file): void
	{
		$db = DB::getInstance();
		$positions = array_flip(Account::POSITIONS_NAMES);
		$types = array_flip(Account::TYPES_NAMES);

		$db->begin();

		try {
			foreach (CSV::import($file, self::EXPECTED_CSV_COLUMNS) as $line => $row) {
				$account = new Account;
				$account->id_chart = $this->chart_id;
				try {
					$row['position'] = $positions[$row['position']];
					$row['type'] = $types[$row['type']];
					$account->importForm($row);
					$account->save();

Modified src/include/lib/Garradin/Accounting/Transactions.php from [dc463a821a] to [d06d2ec536].

161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
		$db->begin();

		$accounts = $year->accounts();
		$transaction = null;
		$types = array_flip(Transaction::TYPES_NAMES);

		try {
			foreach (CSV::import($file, self::EXPECTED_CSV_COLUMNS_SELF) as $l => $row) {
				$row = (object) $row;

				$has_transaction = !empty($row->id) || !empty($row->type) || !empty($row->status) || !empty($row->label) || !empty($row->date) || !empty($row->notes) || !empty($row->reference);

				if (null !== $transaction && $has_transaction) {
					$transaction->save();
					$transaction = null;







|







161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
		$db->begin();

		$accounts = $year->accounts();
		$transaction = null;
		$types = array_flip(Transaction::TYPES_NAMES);

		try {
			foreach (CSV::importUpload($file, self::EXPECTED_CSV_COLUMNS_SELF) as $l => $row) {
				$row = (object) $row;

				$has_transaction = !empty($row->id) || !empty($row->type) || !empty($row->status) || !empty($row->label) || !empty($row->date) || !empty($row->notes) || !empty($row->reference);

				if (null !== $transaction && $has_transaction) {
					$transaction->save();
					$transaction = null;

Modified src/include/lib/Garradin/CSV.php from [b0831a97ff] to [d27a94c923].

1
2
3
4


5
6
7
8
9
10
11
<?php

namespace Garradin;



class CSV
{
	static public function readAsArray(string $path)
	{
		if (!file_exists($path) || !is_readable($path))
		{
			throw new \RuntimeException('Fichier inconnu : '.$path);




>
>







1
2
3
4
5
6
7
8
9
10
11
12
13
<?php

namespace Garradin;

use KD2\Office\Calc\Writer as ODSWriter;

class CSV
{
	static public function readAsArray(string $path)
	{
		if (!file_exists($path) || !is_readable($path))
		{
			throw new \RuntimeException('Fichier inconnu : '.$path);
190
191
192
193
194
195
196
197
198
199
200
201
202





203
204
205
206
207
208
209
210

			$ods->add((array) $row);
		}

		$ods->output();
	}

	static public function import(array $file, array $expected_columns): \Generator
	{
		if (empty($file['size']) || empty($file['tmp_name'])) {
			throw new UserException('Fichier invalide');
		}






		$fp = fopen($file['tmp_name'], 'r');

		if (!$fp) {
			throw new UserException('Le fichier ne peut être ouvert');
		}

		// Find the delimiter
		$delim = self::findDelimiter($fp);







|





>
>
>
>
>
|







192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217

			$ods->add((array) $row);
		}

		$ods->output();
	}

	static public function importUpload(array $file, array $expected_columns): \Generator
	{
		if (empty($file['size']) || empty($file['tmp_name'])) {
			throw new UserException('Fichier invalide');
		}

		self::import($file['tmp_name']);
	}

	static public function import(string $file, array $expected_columns): \Generator
	{
		$fp = fopen($file, 'r');

		if (!$fp) {
			throw new UserException('Le fichier ne peut être ouvert');
		}

		// Find the delimiter
		$delim = self::findDelimiter($fp);

Modified src/include/lib/Garradin/Install.php from [e972d28cdf] to [703fdadf14].

1
2
3
4




5
6
7
8
9
10
11
<?php

namespace Garradin;





/**
 * Pour procéder à l'installation de l'instance Garradin
 * Utile pour automatiser l'installation sans passer par la page d'installation
 */
class Install
{
	static public function reset(Membres\Session $session, $password, array $options = [])




>
>
>
>







1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php

namespace Garradin;

use Garradin\Entities\Accounting\Account;
use Garradin\Entities\Accounting\Chart;
use Garradin\Entities\Accounting\Year;

/**
 * Pour procéder à l'installation de l'instance Garradin
 * Utile pour automatiser l'installation sans passer par la page d'installation
 */
class Install
{
	static public function reset(Membres\Session $session, $password, array $options = [])
129
130
131
132
133
134
135

136





137
138






139








140
141

142
143
144
145
146
147
148
		$wiki->editRevision($id_page, 0, [
			'id_auteur' =>  $id_membre,
			'contenu'   =>  "Bienvenue dans l'administration de ".$nom_asso." !\n\n"
				.   "Utilisez le menu à gauche pour accéder aux différentes rubriques.",
		]);
		$config->set('accueil_connexion', $page);


		$ex = new Compta\Exercices;





		$ex->add([
			'libelle'   =>  'Premier exercice',






			'debut'     =>  date('Y-01-01'),








			'fin'       =>  date('Y-12-31')
		]);


		// Ajout d'une recherche avancée en exemple
		$query = [
			'query' => [[
				'operator' => 'AND',
				'conditions' => [
					[







>
|
>
>
>
>
>
|
|
>
>
>
>
>
>
|
>
>
>
>
>
>
>
>
|
|
>







133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
		$wiki->editRevision($id_page, 0, [
			'id_auteur' =>  $id_membre,
			'contenu'   =>  "Bienvenue dans l'administration de ".$nom_asso." !\n\n"
				.   "Utilisez le menu à gauche pour accéder aux différentes rubriques.",
		]);
		$config->set('accueil_connexion', $page);

        // Import plan comptable
        $chart = new Chart;
        $chart->label = 'Plan comptable associatif 2018';
        $chart->country = 'FR';
        $chart->code = 'PCA2018';
        $chart->save();
        $chart->accounts()->importCSV(ROOT . '/include/data/charts/fr_2018.csv');

        // Premier exercice
        $year = new Year;
        $year->label = sprintf('Exercice %d', date('Y'));
        $year->start_date = new \DateTime('January 1st');
        $year->end_date = new \DateTime('December 31');
        $year->id_chart = $chart->id();
        $year->save();

        // Compte bancaire
        $account = new Account;
        $account->import([
        	'label' => 'Compte courant',
        	'code' => '512A',
        	'type' => Account::TYPE_BANK,
        	'position' => Account::ASSET_OR_LIABILITY,
        	'id_chart' => $chart->id(),
        	'user' => 1,
        ]);
        $account->save();

		// Ajout d'une recherche avancée en exemple
		$query = [
			'query' => [[
				'operator' => 'AND',
				'conditions' => [
					[

Modified src/include/lib/Garradin/Utils.php from [69554c3f9e] to [a502c14a00].

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php

namespace Garradin;

use KD2\Security;
use KD2\Form;
use KD2\Translate;
use KD2\SMTP;
use KD2\Office\Calc\Writer as ODSWriter;

class Utils
{
    const EMAIL_CONTEXT_BULK = 'bulk';
    const EMAIL_CONTEXT_PRIVATE = 'private';
    const EMAIL_CONTEXT_SYSTEM = 'system';









<







1
2
3
4
5
6
7
8

9
10
11
12
13
14
15
<?php

namespace Garradin;

use KD2\Security;
use KD2\Form;
use KD2\Translate;
use KD2\SMTP;


class Utils
{
    const EMAIL_CONTEXT_BULK = 'bulk';
    const EMAIL_CONTEXT_PRIVATE = 'private';
    const EMAIL_CONTEXT_SYSTEM = 'system';

Modified src/templates/acc/charts/accounts/_nav.tpl from [369a61e97b] to [aad043f579].

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<nav class="tabs">
	<ul>
		<li class="current"><a href="{$admin_url}acc/charts/">Plans comptables</a></li>
		{if $session->canAccess('compta', Membres::DROIT_ADMIN)}
		<li><a href="{$admin_url}acc/charts/import.php">Importer un plan comptable</a></li>
		{/if}
	</ul>
	<ul class="sub">
		<li><strong>{$chart.label}&nbsp;:</strong></li>
		<li{if $current == 'favorites'} class="current"{/if}><a href="{$admin_url}acc/charts/accounts/?id={$chart.id}">Comptes favoris</a></li>
		<li{if $current == 'all'} class="current"{/if}><a href="{$admin_url}acc/charts/accounts/all.php?id={$chart.id}">Tous les comptes</a></li>
		{if $session->canAccess('compta', Membres::DROIT_ADMIN)}
			<li{if $current == 'add'} class="current"{/if}><a href="{$admin_url}acc/charts/accounts/new.php?id={$chart.id}"><strong>Ajouter un compte</strong></a></li>
		{/if}
	</ul>
</nav>












|



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<nav class="tabs">
	<ul>
		<li class="current"><a href="{$admin_url}acc/charts/">Plans comptables</a></li>
		{if $session->canAccess('compta', Membres::DROIT_ADMIN)}
		<li><a href="{$admin_url}acc/charts/import.php">Importer un plan comptable</a></li>
		{/if}
	</ul>
	<ul class="sub">
		<li><strong>{$chart.label}&nbsp;:</strong></li>
		<li{if $current == 'favorites'} class="current"{/if}><a href="{$admin_url}acc/charts/accounts/?id={$chart.id}">Comptes favoris</a></li>
		<li{if $current == 'all'} class="current"{/if}><a href="{$admin_url}acc/charts/accounts/all.php?id={$chart.id}">Tous les comptes</a></li>
		{if $session->canAccess('compta', Membres::DROIT_ADMIN)}
			<li{if $current == 'new'} class="current"{/if}><a href="{$admin_url}acc/charts/accounts/new.php?id={$chart.id}"><strong>Ajouter un compte</strong></a></li>
		{/if}
	</ul>
</nav>

Modified src/templates/acc/charts/accounts/new.tpl from [8bbadeb4c1] to [2b8da51f0c].

1


2
3
4
5
6
7
8
{include file="admin/_head.tpl" title="Nouveau compte" current="acc/charts" js=1}



{form_errors}

<form method="post" action="{$self_url}">

	<fieldset>
		<legend>Créer un nouveau compte</legend>

>
>







1
2
3
4
5
6
7
8
9
10
{include file="admin/_head.tpl" title="Nouveau compte" current="acc/charts" js=1}

{include file="acc/charts/accounts/_nav.tpl" current="new"}

{form_errors}

<form method="post" action="{$self_url}">

	<fieldset>
		<legend>Créer un nouveau compte</legend>

Modified src/templates/acc/years/index.tpl from [e7362a6a63] to [5599709e93].

34
35
36
37
38
39
40

41
42
43
44
45
46
47

	<dl class="list">
	{foreach from=$list item="year"}
		<dt>{$year.label}</dt>
		<dd class="desc">
			{if $year.closed}Clôturé{else}En cours{/if}
			| Du {$year.start_date|date_fr:'d/m/Y'} au {$year.end_date|date_fr:'d/m/Y'}

		</dd>
		<dd class="desc">
			<a href="{$admin_url}acc/reports/graphs.php?year={$year.id}">Graphiques</a>
			| <a href="{$admin_url}acc/reports/journal.php?year={$year.id}">Journal général</a>
			| <a href="{$admin_url}acc/reports/ledger.php?year={$year.id}">Grand livre</a>
			| <a href="{$admin_url}acc/reports/trial_balance.php?year={$year.id}">Balance générale</a>
			| <a href="{$admin_url}acc/reports/statement.php?year={$year.id}">Compte de résultat</a>







>







34
35
36
37
38
39
40
41
42
43
44
45
46
47
48

	<dl class="list">
	{foreach from=$list item="year"}
		<dt>{$year.label}</dt>
		<dd class="desc">
			{if $year.closed}Clôturé{else}En cours{/if}
			| Du {$year.start_date|date_fr:'d/m/Y'} au {$year.end_date|date_fr:'d/m/Y'}
			| <a href="../charts/accounts/?id={$year.id_chart}">Plan comptable</a>
		</dd>
		<dd class="desc">
			<a href="{$admin_url}acc/reports/graphs.php?year={$year.id}">Graphiques</a>
			| <a href="{$admin_url}acc/reports/journal.php?year={$year.id}">Journal général</a>
			| <a href="{$admin_url}acc/reports/ledger.php?year={$year.id}">Grand livre</a>
			| <a href="{$admin_url}acc/reports/trial_balance.php?year={$year.id}">Balance générale</a>
			| <a href="{$admin_url}acc/reports/statement.php?year={$year.id}">Compte de résultat</a>

Modified src/www/admin/acc/charts/accounts/new.php from [d3b601d02a] to [fa0dd3ffeb].

69
70
71
72
73
74
75
76
77
78
	}
	catch (UserException $e)
	{
		$form->addError($e->getMessage());
	}
}

$tpl->assign(compact('simple', 'types', 'account', 'translate_type_position', 'translate_type_codes'));

$tpl->display('acc/charts/accounts/new.tpl');







|


69
70
71
72
73
74
75
76
77
78
	}
	catch (UserException $e)
	{
		$form->addError($e->getMessage());
	}
}

$tpl->assign(compact('simple', 'types', 'account', 'translate_type_position', 'translate_type_codes', 'chart'));

$tpl->display('acc/charts/accounts/new.tpl');

Modified src/www/admin/acc/charts/import.php from [d727ce764e] to [2845644ab4].

9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27

$session->requireAccess('compta', Membres::DROIT_ADMIN);

if (f('import') && $form->check('acc_charts_import', ['file' => 'file|required'])) {
	try {
		$chart = new Chart;
		$chart->importForm();
		$chart->importCSV($_FILES['file']); // This will save everything
		Utils::redirect(ADMIN_URL . 'acc/charts/');
	}
	catch (UserException $e) {
		$form->addError($e->getMessage());
	}
}

$tpl->assign('columns', implode(', ', Accounts::EXPECTED_CSV_COLUMNS));
$tpl->assign('country_list', Utils::getCountryList());

$tpl->display('acc/charts/import.tpl');







|











9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27

$session->requireAccess('compta', Membres::DROIT_ADMIN);

if (f('import') && $form->check('acc_charts_import', ['file' => 'file|required'])) {
	try {
		$chart = new Chart;
		$chart->importForm();
		$chart->importUpload($_FILES['file']); // This will save everything
		Utils::redirect(ADMIN_URL . 'acc/charts/');
	}
	catch (UserException $e) {
		$form->addError($e->getMessage());
	}
}

$tpl->assign('columns', implode(', ', Accounts::EXPECTED_CSV_COLUMNS));
$tpl->assign('country_list', Utils::getCountryList());

$tpl->display('acc/charts/import.tpl');

Modified src/www/admin/upgrade.php from [fe3f1d0a79] to [d8c94f8f0b].

66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315








316
317
318
319
320
321
322
<script>
animatedLoader(document.getElementById("loader"), 5);
</script>';

flush();

try {
    if (version_compare($v, '0.7.0', '<'))
    {
        $db->beginSchemaUpdate();

        // Mise à jour base de données
        $db->exec(file_get_contents(ROOT . '/include/data/0.7.0_migration.sql'));

        // Changement de syntaxe du Wiki vers SkrivML
        $wiki = new Wiki;
        $res = $db->get('SELECT id_page, contenu, revision, chiffrement FROM wiki_revisions GROUP BY id_page ORDER BY revision DESC;');

        foreach ($res as $row)
        {
            // Ne pas convertir le contenu chiffré, de toute évidence
            if ($row->chiffrement)
                continue;

            $content = $row->contenu;
            $content = Utils::HTMLToSkriv($content);
            $content = Utils::SpipToSkriv($content);

            if ($content != $row->contenu)
            {
                $wiki->editRevision($row->id_page, $row->revision, [
                    'id_auteur'     =>  null,
                    'contenu'       =>  $content,
                    'modification'  =>  'Mise à jour 0.7.0 (transformation SPIP vers SkrivML)',
                ]);
            }
        }

        $db->commitSchemaUpdate();
    }

    if (version_compare($v, '0.7.2', '<'))
    {
        $db->beginSchemaUpdate();

        // Mise à jour base de données
        $db->exec(file_get_contents(ROOT . '/include/data/0.7.2_migration.sql'));

        $db->commitSchemaUpdate();
    }

    if (version_compare($v, '0.8.0-beta4', '<'))
    {
        // Inscription de l'appid
        $db->exec('PRAGMA application_id = ' . DB::APPID . ';');

        // Changement de la taille de pagesize
        // Cecit devrait améliorer les performances de la DB
        $db->exec('PRAGMA page_size = 4096;');

        // Application du changement de taille de page
        $db->exec('VACUUM;');

        // Désactivation des foreign keys AVANT le début de la transaction
        $db->beginSchemaUpdate();

        $db->import(ROOT . '/include/data/0.8.0_migration.sql');

        $db->commitSchemaUpdate();

        $config = Config::getInstance();

        // Ajout champ numéro de membre
        $champs = (array) $config->get('champs_membres')->getAll();
        $presets = Membres\Champs::importPresets();

        // Ajout du numéro au début
        $champs = array_merge(['numero' => $presets['numero']], $champs);
        (new Membres\Champs($champs))->save();

        // Si l'ID était l'identificant, utilisons le numéro de membre à la place
        if ($config->get('champ_identifiant') == 'id')
        {
            $config->set('champ_identifiant', 'numero');
            $config->save();
        }

        // Nettoyage de la base de données
        $db->exec('VACUUM;');

        // Mise à jour plan comptable: ajout comptes encaissement
        $comptes = new Compta\Comptes;
        $comptes->importPlan();
    }

    if (version_compare($v, '0.8.3', '<'))
    {
        $db->beginSchemaUpdate();

        $db->import(ROOT . '/include/data/0.8.3_migration.sql');

        $db->commitSchemaUpdate();
    }

    if (version_compare($v, '0.8.4', '<'))
    {
        $db->beginSchemaUpdate();

        $db->import(ROOT . '/include/data/0.8.4_migration.sql');

        $db->commitSchemaUpdate();
    }

    if (version_compare($v, '0.9.0-rc1', '<'))
    {
        $db->beginSchemaUpdate();

        $db->import(ROOT . '/include/data/0.9.0_migration.sql');

        // Correction des ID parents des comptes qui ont été mal renseignés
        // exemple : compte 512A avec "5" comme parent (c'était permis,
        // par erreur, par le formulaire d'ajout de compte dans le plan)
        // Serait probablement possible en 3-4 lignes de SQL avec
        // WITH RECURSIVE mais c'est au delà de mes compétences
        $comptes = $db->iterate('SELECT id FROM compta_comptes WHERE parent != length(id) - 1;');

        foreach ($comptes as $compte)
        {
            $parent = false;
            $id = $compte->id;

            while (!$parent && strlen($id))
            {
                // On enlève un caractère à la fin jusqu'à trouver un compte parent correspondant
                $id = substr($id, 0, -1);
                $parent = $db->firstColumn('SELECT id FROM compta_comptes WHERE id = ?;', $id);
            }

            if (!$parent)
            {
                // Situation normalement impossible !
                throw new \LogicException(sprintf('Le compte %s est invalide et n\'a pas de compte parent possible !', $compte->id));
            }

            $db->update('compta_comptes', ['parent' => $parent], 'id = :id', ['id' => $compte->id]);
        }

        $champs = $config->get('champs_membres');

        if ($champs->get('lettre_infos'))
        {
            // Ajout d'une recherche avancée en exemple
            $query = [
                'query' => [[
                    'operator' => 'AND',
                    'conditions' => [
                        [
                            'column'   => 'lettre_infos',
                            'operator' => '= 1',
                            'values'   => [],
                        ],
                    ],
                ]],
                'order' => 'numero',
                'desc' => true,
                'limit' => '10000',
            ];

            $recherche = new Recherche;
            $recherche->add('Membres inscrits à la lettre d\'information', null, $recherche::TYPE_JSON, 'membres', $query);
        }

        $db->commitSchemaUpdate();

        $config->set('desactiver_site', false);
        $config->save();
    }

    if (version_compare($v, '0.9.1', '<'))
    {
        // Mise à jour plan comptable: ajout compte licences fédérales
        $comptes = new Compta\Comptes;
        $comptes->importPlan();

        $db->beginSchemaUpdate();

        $db->exec('INSERT INTO "compta_categories" VALUES(NULL,-1,\'Licences fédérales\',\'Licences payées pour les adhérents (par exemple fédération sportive etc.)\',\'652\');');

        $db->import(ROOT . '/include/data/0.9.1_migration.sql');

        $db->commitSchemaUpdate();
    }

    if (version_compare($v, '0.9.5', '<'))
    {
        $db->beginSchemaUpdate();
        // Créer les tables manquantes
        $db->import(ROOT . '/include/data/0.9.5_schema.sql');
        $db->commitSchemaUpdate();
    }

    if (version_compare($v, '0.9.7', '<'))
    {
        $db->begin();

        // Conversion des champs date
        $champs = (array) $config->get('champs_membres')->getAll();
        $formats = ['d/m/Y', 'd/m/Y H:i:s', 'd/m/Y H:i', 'd/m/y', 'd-m-Y'];

        foreach ($champs as $key => $champ) {
            if ($champ->type == 'date') {
                $target_format = 'Y-m-d';
            }
            elseif ($champ->type == 'datetime') {
                $target_format = 'Y-m-d H:i:s';
            }
            else {
                continue;
            }

            $sql = sprintf('SELECT id, %s AS date FROM membres WHERE %01$s IS NOT NULL AND date(%01$s) IS NULL;', $db->quoteIdentifier($key));

            foreach ($db->iterate($sql) as $row) {
                foreach ($formats as $format) {
                    $date = \DateTime::createFromFormat($format, $row->date);

                    if ($date) {
                        break;
                    }
                }

                if ($date) {
                    $date = $date->format($target_format);
                }
                else {
                    $date = null;
                }

                $db->update('membres', [$key => $date], 'id = ' . (int)$row->id);
            }
        }

        $db->commit();
    }

    if (version_compare($v, '1.0.0-alpha1', '<'))
    {
        $db->beginSchemaUpdate();
        $db->import(ROOT . '/include/data/1.0.0_migration.sql');
        $db->commitSchemaUpdate();








    }

    // Vérification de la cohérence des clés étrangères
    $db->foreignKeyCheck();

    Utils::clearCaches();








<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<





>
>
>
>
>
>
>
>







66
67
68
69
70
71
72














































































































































































































































73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
<script>
animatedLoader(document.getElementById("loader"), 5);
</script>';

flush();

try {














































































































































































































































    if (version_compare($v, '1.0.0-alpha1', '<'))
    {
        $db->beginSchemaUpdate();
        $db->import(ROOT . '/include/data/1.0.0_migration.sql');
        $db->commitSchemaUpdate();

        // Import nouveau plan comptable
        $chart = new \Garradin\Entities\Accounting\Chart;
        $chart->label = 'Plan comptable associatif 2018';
        $chart->country = 'FR';
        $chart->code = 'PCA2018';
        $chart->save();
        $chart->accounts()->importCSV(ROOT . '/include/data/charts/fr_2018.csv');
    }

    // Vérification de la cohérence des clés étrangères
    $db->foreignKeyCheck();

    Utils::clearCaches();