@silexpert/core 2.0.8 → 2.0.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (28) hide show
  1. package/dist/types/Enum/BrandPourcentage.js +11 -11
  2. package/dist/types/Enum/BrandPourcentage.js.map +1 -1
  3. package/dist/types/Enum/SocietyApproval.d.ts +11 -0
  4. package/dist/types/Enum/SocietyApproval.d.ts.map +1 -1
  5. package/dist/types/Enum/SocietyApproval.js +43 -20
  6. package/dist/types/Enum/SocietyApproval.js.map +1 -1
  7. package/dist/types/Enum/StatutsSection.d.ts +2 -3
  8. package/dist/types/Enum/StatutsSection.d.ts.map +1 -1
  9. package/dist/types/Enum/StatutsSection.js +1 -2
  10. package/dist/types/Enum/StatutsSection.js.map +1 -1
  11. package/dist/types/Interface/api/SocietyApproval.d.ts +1 -0
  12. package/dist/types/Interface/api/SocietyApproval.d.ts.map +1 -1
  13. package/dist/types/Interface/api/SocietyApproval.js +8 -0
  14. package/dist/types/Interface/api/SocietyApproval.js.map +1 -1
  15. package/dist/types/Interface/api/documentRequest/Query.d.ts +3 -12
  16. package/dist/types/Interface/api/documentRequest/Query.d.ts.map +1 -1
  17. package/dist/types/Interface/api/documentRequest/Query.js +3 -14
  18. package/dist/types/Interface/api/documentRequest/Query.js.map +1 -1
  19. package/dist/utils/societyApproval.d.ts.map +1 -1
  20. package/dist/utils/societyApproval.js +20 -1
  21. package/dist/utils/societyApproval.js.map +1 -1
  22. package/package.json +1 -1
  23. package/ts/types/Enum/BrandPourcentage.ts +11 -11
  24. package/ts/types/Enum/SocietyApproval.ts +50 -20
  25. package/ts/types/Enum/StatutsSection.ts +1 -2
  26. package/ts/types/Interface/api/SocietyApproval.ts +6 -0
  27. package/ts/types/Interface/api/documentRequest/Query.ts +4 -16
  28. package/ts/utils/societyApproval.ts +22 -0
@@ -32,6 +32,36 @@ export type RegulatedConvention = {
32
32
  applicableTo: LegalFormTypeEnum[];
33
33
  };
34
34
 
35
+ export enum AdditionalMentionType {
36
+ EXECUTIVE_REMUNERATION = 1,
37
+ TAKEOVER_OF_COMMITMENTS = 2,
38
+ LOSS_OF_EQUITY = 3,
39
+ }
40
+
41
+ export type AdditionalMention = {
42
+ id: AdditionalMentionType;
43
+ label: string;
44
+ applicableTo: LegalFormTypeEnum[];
45
+ };
46
+
47
+ export const AdditionalMentions: AdditionalMention[] = [
48
+ {
49
+ id: AdditionalMentionType.EXECUTIVE_REMUNERATION,
50
+ label: 'Rémunération de la gérance',
51
+ applicableTo: [LegalFormTypeEnum.EURL],
52
+ },
53
+ {
54
+ id: AdditionalMentionType.TAKEOVER_OF_COMMITMENTS,
55
+ label: 'Reprise des engagements',
56
+ applicableTo: [LegalFormTypeEnum.EURL, LegalFormTypeEnum.SASU, LegalFormTypeEnum.SAS, LegalFormTypeEnum.SCI],
57
+ },
58
+ {
59
+ id: AdditionalMentionType.LOSS_OF_EQUITY,
60
+ label: 'Perte des capitaux propres',
61
+ applicableTo: [LegalFormTypeEnum.EURL, LegalFormTypeEnum.SASU, LegalFormTypeEnum.SAS, LegalFormTypeEnum.SCI],
62
+ },
63
+ ];
64
+
35
65
  export const RegulatedConventions: RegulatedConvention[] = [
36
66
  {
37
67
  id: RegulatedConventionType.SOCIAL_CONTRIBUTIONS_COVERAGE,
@@ -124,7 +154,7 @@ export const SocietyApprovalDocumentsByLegalForm: SocietyApprovalDocumentConfig[
124
154
  },
125
155
  {
126
156
  idDocumentType: SocietyApprovalDocumentType.POWER_MANDATE,
127
- docName: 'Mandat de pouvoir',
157
+ docName: 'Pouvoir',
128
158
  templateName: 'POWER_MANDATE_EURL',
129
159
  documentSectionType: DocumentSectionType.POWER_MANDATE,
130
160
  },
@@ -132,23 +162,23 @@ export const SocietyApprovalDocumentsByLegalForm: SocietyApprovalDocumentConfig[
132
162
  idDocumentType: SocietyApprovalDocumentType.DECLARATION_OF_CONFIDENTIALITY_FOR_ANNUAL_ACCOUNTS_MICRO,
133
163
  docName: 'Déclaration de confidentialité pour les comptes annuels (Micro)',
134
164
  templateName: 'DECLARATION_OF_CONFIDENTIALITY_FOR_ANNUAL_ACCOUNTS_MICRO_EURL',
135
- documentSectionType: DocumentSectionType.DECLARATION_OF_CONFIDENTIALITY_FOR_ANNUAL_ACCOUNTS_MICRO,
165
+ documentSectionType: DocumentSectionType.DECLARATION_OF_CONFIDENTIALITY_FOR_ANNUAL_ACCOUNTS,
136
166
  },
137
167
  {
138
168
  idDocumentType: SocietyApprovalDocumentType.DECLARATION_OF_CONFIDENTIALITY_FOR_ANNUAL_ACCOUNTS_PME,
139
169
  docName: 'Déclaration de confidentialité pour les comptes annuels (PME)',
140
170
  templateName: 'DECLARATION_OF_CONFIDENTIALITY_FOR_ANNUAL_ACCOUNTS_PME_EURL',
141
- documentSectionType: DocumentSectionType.DECLARATION_OF_CONFIDENTIALITY_FOR_ANNUAL_ACCOUNTS_PME,
171
+ documentSectionType: DocumentSectionType.DECLARATION_OF_CONFIDENTIALITY_FOR_ANNUAL_ACCOUNTS,
142
172
  },
143
173
  {
144
174
  idDocumentType: SocietyApprovalDocumentType.INCOME_APPROPRIATION,
145
- docName: 'Affectation du résultat',
175
+ docName: 'Résolution d’affectation du résultat',
146
176
  templateName: 'INCOME_APPROPRIATION_EURL',
147
177
  documentSectionType: DocumentSectionType.INCOME_APPROPRIATION,
148
178
  },
149
179
  {
150
180
  idDocumentType: SocietyApprovalDocumentType.LIST_OF_CONVENTIONS,
151
- docName: 'Liste de conventions',
181
+ docName: 'Rapport spécial des conventions réglementées',
152
182
  templateName: 'LIST_OF_CONVENTIONS_EURL',
153
183
  documentSectionType: DocumentSectionType.LIST_OF_CONVENTIONS,
154
184
  },
@@ -166,7 +196,7 @@ export const SocietyApprovalDocumentsByLegalForm: SocietyApprovalDocumentConfig[
166
196
  // },
167
197
  // {
168
198
  // idDocumentType: SocietyApprovalDocumentType.POWER_MANDATE,
169
- // docName: 'Mandat de pouvoir',
199
+ // docName: 'Pouvoir',
170
200
  // templateName: 'POWER_MANDATE_SARL',
171
201
  // documentSectionType: DocumentSectionType.POWER_MANDATE,
172
202
  // },
@@ -178,7 +208,7 @@ export const SocietyApprovalDocumentsByLegalForm: SocietyApprovalDocumentConfig[
178
208
  // },
179
209
  // {
180
210
  // idDocumentType: SocietyApprovalDocumentType.INCOME_APPROPRIATION,
181
- // docName: 'Affectation du résultat',
211
+ // docName: 'Résolution d’affectation du résultat',
182
212
  // templateName: 'INCOME_APPROPRIATION_SARL',
183
213
  // documentSectionType: DocumentSectionType.INCOME_APPROPRIATION,
184
214
  // },
@@ -196,7 +226,7 @@ export const SocietyApprovalDocumentsByLegalForm: SocietyApprovalDocumentConfig[
196
226
  },
197
227
  {
198
228
  idDocumentType: SocietyApprovalDocumentType.POWER_MANDATE,
199
- docName: 'Mandat de pouvoir',
229
+ docName: 'Pouvoir',
200
230
  templateName: 'POWER_MANDATE_SASU',
201
231
  documentSectionType: DocumentSectionType.POWER_MANDATE,
202
232
  },
@@ -204,23 +234,23 @@ export const SocietyApprovalDocumentsByLegalForm: SocietyApprovalDocumentConfig[
204
234
  idDocumentType: SocietyApprovalDocumentType.DECLARATION_OF_CONFIDENTIALITY_FOR_ANNUAL_ACCOUNTS_MICRO,
205
235
  docName: 'Déclaration de confidentialité pour les comptes annuels (Micro)',
206
236
  templateName: 'DECLARATION_OF_CONFIDENTIALITY_FOR_ANNUAL_ACCOUNTS_MICRO_SASU',
207
- documentSectionType: DocumentSectionType.DECLARATION_OF_CONFIDENTIALITY_FOR_ANNUAL_ACCOUNTS_MICRO,
237
+ documentSectionType: DocumentSectionType.DECLARATION_OF_CONFIDENTIALITY_FOR_ANNUAL_ACCOUNTS,
208
238
  },
209
239
  {
210
240
  idDocumentType: SocietyApprovalDocumentType.DECLARATION_OF_CONFIDENTIALITY_FOR_ANNUAL_ACCOUNTS_PME,
211
241
  docName: 'Déclaration de confidentialité pour les comptes annuels (PME)',
212
242
  templateName: 'DECLARATION_OF_CONFIDENTIALITY_FOR_ANNUAL_ACCOUNTS_PME_SASU',
213
- documentSectionType: DocumentSectionType.DECLARATION_OF_CONFIDENTIALITY_FOR_ANNUAL_ACCOUNTS_PME,
243
+ documentSectionType: DocumentSectionType.DECLARATION_OF_CONFIDENTIALITY_FOR_ANNUAL_ACCOUNTS,
214
244
  },
215
245
  {
216
246
  idDocumentType: SocietyApprovalDocumentType.INCOME_APPROPRIATION,
217
- docName: 'Affectation du résultat',
247
+ docName: 'Résolution d’affectation du résultat',
218
248
  templateName: 'INCOME_APPROPRIATION_SASU',
219
249
  documentSectionType: DocumentSectionType.INCOME_APPROPRIATION,
220
250
  },
221
251
  {
222
252
  idDocumentType: SocietyApprovalDocumentType.LIST_OF_DIVIDENDS,
223
- docName: 'Liste de dividendes',
253
+ docName: 'Liste des dividendes',
224
254
  templateName: 'LIST_OF_DIVIDENDS_SASU',
225
255
  documentSectionType: DocumentSectionType.LIST_OF_DIVIDENDS,
226
256
  },
@@ -238,7 +268,7 @@ export const SocietyApprovalDocumentsByLegalForm: SocietyApprovalDocumentConfig[
238
268
  },
239
269
  {
240
270
  idDocumentType: SocietyApprovalDocumentType.POWER_MANDATE,
241
- docName: 'Mandat de pouvoir',
271
+ docName: 'Pouvoir',
242
272
  templateName: 'POWER_MANDATE_SAS',
243
273
  documentSectionType: DocumentSectionType.POWER_MANDATE,
244
274
  },
@@ -246,17 +276,17 @@ export const SocietyApprovalDocumentsByLegalForm: SocietyApprovalDocumentConfig[
246
276
  idDocumentType: SocietyApprovalDocumentType.DECLARATION_OF_CONFIDENTIALITY_FOR_ANNUAL_ACCOUNTS_MICRO,
247
277
  docName: 'Déclaration de confidentialité pour les comptes annuels (Micro)',
248
278
  templateName: 'DECLARATION_OF_CONFIDENTIALITY_FOR_ANNUAL_ACCOUNTS_MICRO_SAS',
249
- documentSectionType: DocumentSectionType.DECLARATION_OF_CONFIDENTIALITY_FOR_ANNUAL_ACCOUNTS_MICRO,
279
+ documentSectionType: DocumentSectionType.DECLARATION_OF_CONFIDENTIALITY_FOR_ANNUAL_ACCOUNTS,
250
280
  },
251
281
  {
252
282
  idDocumentType: SocietyApprovalDocumentType.DECLARATION_OF_CONFIDENTIALITY_FOR_ANNUAL_ACCOUNTS_PME,
253
283
  docName: 'Déclaration de confidentialité pour les comptes annuels (PME)',
254
284
  templateName: 'DECLARATION_OF_CONFIDENTIALITY_FOR_ANNUAL_ACCOUNTS_PME_SAS',
255
- documentSectionType: DocumentSectionType.DECLARATION_OF_CONFIDENTIALITY_FOR_ANNUAL_ACCOUNTS_PME,
285
+ documentSectionType: DocumentSectionType.DECLARATION_OF_CONFIDENTIALITY_FOR_ANNUAL_ACCOUNTS,
256
286
  },
257
287
  {
258
288
  idDocumentType: SocietyApprovalDocumentType.INCOME_APPROPRIATION,
259
- docName: 'Affectation du résultat',
289
+ docName: 'Résolution d’affectation du résultat',
260
290
  templateName: 'INCOME_APPROPRIATION_SAS',
261
291
  documentSectionType: DocumentSectionType.INCOME_APPROPRIATION,
262
292
  },
@@ -274,7 +304,7 @@ export const SocietyApprovalDocumentsByLegalForm: SocietyApprovalDocumentConfig[
274
304
  },
275
305
  {
276
306
  idDocumentType: SocietyApprovalDocumentType.POWER_MANDATE,
277
- docName: 'Mandat de pouvoir',
307
+ docName: 'Pouvoir',
278
308
  templateName: 'POWER_MANDATE_SCI',
279
309
  documentSectionType: DocumentSectionType.POWER_MANDATE,
280
310
  },
@@ -282,17 +312,17 @@ export const SocietyApprovalDocumentsByLegalForm: SocietyApprovalDocumentConfig[
282
312
  idDocumentType: SocietyApprovalDocumentType.DECLARATION_OF_CONFIDENTIALITY_FOR_ANNUAL_ACCOUNTS_MICRO,
283
313
  docName: 'Déclaration de confidentialité pour les comptes annuels (Micro)',
284
314
  templateName: 'DECLARATION_OF_CONFIDENTIALITY_FOR_ANNUAL_ACCOUNTS_MICRO_SCI',
285
- documentSectionType: DocumentSectionType.DECLARATION_OF_CONFIDENTIALITY_FOR_ANNUAL_ACCOUNTS_MICRO,
315
+ documentSectionType: DocumentSectionType.DECLARATION_OF_CONFIDENTIALITY_FOR_ANNUAL_ACCOUNTS,
286
316
  },
287
317
  {
288
318
  idDocumentType: SocietyApprovalDocumentType.DECLARATION_OF_CONFIDENTIALITY_FOR_ANNUAL_ACCOUNTS_PME,
289
319
  docName: 'Déclaration de confidentialité pour les comptes annuels',
290
320
  templateName: 'DECLARATION_OF_CONFIDENTIALITY_FOR_ANNUAL_ACCOUNTS_PME_SCI',
291
- documentSectionType: DocumentSectionType.DECLARATION_OF_CONFIDENTIALITY_FOR_ANNUAL_ACCOUNTS_PME,
321
+ documentSectionType: DocumentSectionType.DECLARATION_OF_CONFIDENTIALITY_FOR_ANNUAL_ACCOUNTS,
292
322
  },
293
323
  {
294
324
  idDocumentType: SocietyApprovalDocumentType.INCOME_APPROPRIATION,
295
- docName: 'Affectation du résultat',
325
+ docName: 'Résolution d’affectation du résultat',
296
326
  templateName: 'INCOME_APPROPRIATION_SCI',
297
327
  documentSectionType: DocumentSectionType.INCOME_APPROPRIATION,
298
328
  },
@@ -9,11 +9,10 @@ export enum DocumentSectionType {
9
9
  // Utilisés pour la génération de documents juridiques (approbation) depuis clientApp
10
10
  APPROVAL_PV = 5,
11
11
  POWER_MANDATE = 6,
12
- DECLARATION_OF_CONFIDENTIALITY_FOR_ANNUAL_ACCOUNTS_MICRO = 7,
12
+ DECLARATION_OF_CONFIDENTIALITY_FOR_ANNUAL_ACCOUNTS = 7,
13
13
  INCOME_APPROPRIATION = 8,
14
14
  LIST_OF_CONVENTIONS = 9,
15
15
  LIST_OF_DIVIDENDS = 10,
16
- DECLARATION_OF_CONFIDENTIALITY_FOR_ANNUAL_ACCOUNTS_PME = 11,
17
16
  }
18
17
 
19
18
  export const DocumentSectionTypeDetail = [
@@ -26,6 +26,12 @@ export class SocietyApprovalJsonDatas {
26
26
  @ToBoolean()
27
27
  lossOfEquity?: boolean; //Perte des capitaux propres
28
28
 
29
+ @ApiPropertyOptional()
30
+ @IsOptional()
31
+ @IsBoolean()
32
+ @ToBoolean()
33
+ takeoverOfCommitments?: boolean; //Reprise des engagements
34
+
29
35
  @ApiPropertyOptional()
30
36
  @IsOptional()
31
37
  @IsNumber()
@@ -4,18 +4,6 @@ import { TypeFile } from '../../../Enum/Ged.js';
4
4
  import { MailAuto } from '../../../Enum/MailAuto.js';
5
5
  import { ToBoolean } from '../../../../utils/transforms/boolean.transform.js';
6
6
 
7
- export enum DocumentRequestAskMailAuto {
8
- CHECKLIST = MailAuto.ASK_DOCUMENTS_CHECKLIST,
9
- CUT_OFF = MailAuto.ASK_DOCUMENTS_CUT_OFF,
10
- BANK_STATEMENT = MailAuto.ASK_DOCUMENTS_BANK_STATEMENT,
11
- }
12
-
13
- export enum DocumentRequestRelaunchMailAuto {
14
- CHECKLIST = MailAuto.RELAUNCH_DOCUMENTS_CHECKLIST,
15
- CUT_OFF = MailAuto.RELAUNCH_DOCUMENTS_CUT_OFF,
16
- BANK_STATEMENT = MailAuto.RELAUNCH_DOCUMENTS_BANK_STATEMENT,
17
- }
18
-
19
7
  export class QueryDocumentRequest {
20
8
  @ApiPropertyOptional()
21
9
  @IsOptional()
@@ -55,8 +43,8 @@ export class SendRelaunchDocumentsMail {
55
43
  sendRefusedTemplate: boolean;
56
44
 
57
45
  @ApiProperty()
58
- @IsEnum(DocumentRequestRelaunchMailAuto)
59
- idMailAuto: DocumentRequestRelaunchMailAuto;
46
+ @IsEnum(MailAuto)
47
+ idMailAuto: MailAuto;
60
48
  }
61
49
 
62
50
  export class SendAskDocumentsMail {
@@ -77,6 +65,6 @@ export class SendAskDocumentsMail {
77
65
  addAdviceNote?: boolean;
78
66
 
79
67
  @ApiProperty()
80
- @IsEnum(DocumentRequestAskMailAuto)
81
- idMailAuto: DocumentRequestAskMailAuto;
68
+ @IsEnum(MailAuto)
69
+ idMailAuto: MailAuto;
82
70
  }
@@ -1,5 +1,6 @@
1
1
  import { LegalForm, LegalFormTypeEnum } from '../types/Enum/LegalForm.js';
2
2
  import {
3
+ AdditionalMentionType,
3
4
  SocietyApprovalDocumentType,
4
5
  SocietyApprovalDocumentConfig,
5
6
  SocietyApprovalDocumentsByLegalForm,
@@ -74,6 +75,16 @@ export function getApprovalDocumentInfos(
74
75
  return config?.documents.find((doc) => doc.idDocumentType === idDocumentType);
75
76
  }
76
77
 
78
+ function createApprovalDecisionTitleGenerator(): () => string {
79
+ const decisionOrdinals = ['PREMIERE', 'DEUXIEME', 'TROISIEME', 'QUATRIEME', 'CINQUIEME', 'SIXIEME'];
80
+ let decisionNumber = 0;
81
+
82
+ return () => {
83
+ decisionNumber += 1;
84
+ return `${decisionOrdinals[decisionNumber - 1] ?? `${decisionNumber}EME`} DECISION`;
85
+ };
86
+ }
87
+
77
88
  /**
78
89
  * Construit les données formatées pour le template d'approbation
79
90
  * @param existingApproval - Les données d'approbation de la société
@@ -93,6 +104,8 @@ export function buildApprovalTemplateData(existingApproval: ISocietyApproval, st
93
104
  const brand = getBrand();
94
105
  return {
95
106
  // Variables globales
107
+ AdditionalMentionType,
108
+ nextDecisionTitle: createApprovalDecisionTitleGenerator(),
96
109
  rates: {
97
110
  flatTax: 0.314,
98
111
  flatLevy: 0.128, //prelevement forfaitaire
@@ -132,6 +145,15 @@ export function buildApprovalTemplateData(existingApproval: ISocietyApproval, st
132
145
  .toUpperCase(),
133
146
  }
134
147
  : {}),
148
+ ...(existingApproval?.generatingDatas?.approvalDate
149
+ ? {
150
+ approvalDateMore4Months: dayjs(existingApproval?.generatingDatas?.approvalDate)
151
+ .add(4, 'month')
152
+ .locale('fr')
153
+ .format('DD MMMM YYYY')
154
+ .toUpperCase(),
155
+ }
156
+ : {}),
135
157
  ...(existingApproval?.generatingDatas?.approvalDividendsPaymentDate
136
158
  ? {
137
159
  approvalDividendsPaymentDate: dayjs(existingApproval?.generatingDatas?.approvalDividendsPaymentDate)