@silexpert/core 1.3.182 → 1.3.183

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 (31) hide show
  1. package/dist/cjs/types/Enum/BalanceSheet.d.ts.map +1 -1
  2. package/dist/cjs/types/Enum/BalanceSheet.js +6 -6
  3. package/dist/cjs/types/Enum/BalanceSheet.js.map +1 -1
  4. package/dist/cjs/types/Enum/Consistency.d.ts +1 -1
  5. package/dist/cjs/types/Enum/Consistency.js +7 -7
  6. package/dist/cjs/types/Enum/Consistency.js.map +1 -1
  7. package/dist/cjs/types/Enum/KilometricAllowanceScale.d.ts.map +1 -1
  8. package/dist/cjs/types/Enum/KilometricAllowanceScale.js +119 -0
  9. package/dist/cjs/types/Enum/KilometricAllowanceScale.js.map +1 -1
  10. package/dist/cjs/utils/checkup.d.ts +12 -368
  11. package/dist/cjs/utils/checkup.d.ts.map +1 -1
  12. package/dist/cjs/utils/checkup.js +342 -565
  13. package/dist/cjs/utils/checkup.js.map +1 -1
  14. package/dist/mjs/types/Enum/BalanceSheet.d.ts.map +1 -1
  15. package/dist/mjs/types/Enum/BalanceSheet.js +6 -6
  16. package/dist/mjs/types/Enum/BalanceSheet.js.map +1 -1
  17. package/dist/mjs/types/Enum/Consistency.d.ts +1 -1
  18. package/dist/mjs/types/Enum/Consistency.js +7 -7
  19. package/dist/mjs/types/Enum/Consistency.js.map +1 -1
  20. package/dist/mjs/types/Enum/KilometricAllowanceScale.d.ts.map +1 -1
  21. package/dist/mjs/types/Enum/KilometricAllowanceScale.js +119 -0
  22. package/dist/mjs/types/Enum/KilometricAllowanceScale.js.map +1 -1
  23. package/dist/mjs/utils/checkup.d.ts +12 -368
  24. package/dist/mjs/utils/checkup.d.ts.map +1 -1
  25. package/dist/mjs/utils/checkup.js +343 -566
  26. package/dist/mjs/utils/checkup.js.map +1 -1
  27. package/package.json +1 -1
  28. package/ts/types/Enum/BalanceSheet.ts +17 -17
  29. package/ts/types/Enum/Consistency.ts +7 -7
  30. package/ts/types/Enum/KilometricAllowanceScale.ts +119 -0
  31. package/ts/utils/checkup.ts +347 -566
@@ -1,13 +1,12 @@
1
- import { AverageTimeItems, SelectYesNoStatementBool, ClementineSources } from '../types/Enum/Constants';
1
+ /* eslint-disable @typescript-eslint/no-unsafe-return */
2
+ import { SelectYesNoStatementBool } from '../types/Enum/Constants';
2
3
  import { QualityList } from '../types/Enum/Quality';
3
- import { Vat } from '../types/Enum/Vat';
4
4
  import * as dayjs from 'dayjs';
5
5
  export const setRangeItems = (maxRange) => {
6
6
  const res = [];
7
7
  for (let i = 0; i < maxRange; i += 1) {
8
8
  res.push({ text: i, value: i });
9
9
  }
10
- // eslint-disable-next-line @typescript-eslint/no-unsafe-return
11
10
  return res;
12
11
  };
13
12
  export const getCheckupDetailForm = (societyDetail, //FIXME: typage ???
@@ -20,6 +19,241 @@ brandName, bankList, dateOfRegistration, recoveryDate) => {
20
19
  dayjs(dateOfRegistration).isBetween(dayjs(recoveryDate).subtract(1, 'month'), dayjs(recoveryDate).add(1, 'month')))
21
20
  ? true
22
21
  : false;
22
+ if (!isSocietyCreationCompute) {
23
+ return [
24
+ {
25
+ name: "Découverte de l'entreprise (1/2)",
26
+ questions: [
27
+ {
28
+ value: 'detailActivity',
29
+ component: 'FormInputTextArea',
30
+ text: 'Expliquez-nous votre activité',
31
+ required: true,
32
+ meta: {
33
+ placeholder: 'Ex : Je suis freelance et propose du conseil en marketing',
34
+ hideDetails: true,
35
+ },
36
+ },
37
+ {
38
+ component: 'FormInputSelect',
39
+ text: "Votre structure a-t-elle des participations dans d'autres sociétés ?",
40
+ value: 'interestOtherCompanies',
41
+ required: true,
42
+ meta: {
43
+ items: setRangeItems(15).map((i) => ({ ...i, value: i.value.toString() })),
44
+ hideDetails: true,
45
+ },
46
+ lg: 12,
47
+ },
48
+ {
49
+ component: 'FormInputSelect',
50
+ text: 'Avez-vous un logiciel de facturation ?',
51
+ value: 'hasBillingSoftware',
52
+ required: true,
53
+ meta: {
54
+ items: SelectYesNoStatementBool.map((i) => ({ ...i, value: i.value.toString() })),
55
+ hideDetails: true,
56
+ },
57
+ lg: 12,
58
+ },
59
+ {
60
+ component: 'FormInputSelect',
61
+ text: 'Quels sont les modes de réglements dont vous disposez ?',
62
+ value: 'collectionSystem',
63
+ required: true,
64
+ meta: {
65
+ multiple: true,
66
+ items: [
67
+ { text: 'Carte bancaire', value: 'carte bancaire' },
68
+ { text: 'Virement bancaire', value: 'virement' },
69
+ { text: 'Chèque', value: 'cheque' },
70
+ { text: 'Espèces', value: 'espece' },
71
+ { text: 'Prélèvement automatique', value: 'prelevement' },
72
+ ],
73
+ hideDetails: true,
74
+ },
75
+ lg: 12,
76
+ },
77
+ ],
78
+ },
79
+ {
80
+ name: "Découverte de l'entreprise (2/2)",
81
+ questions: [
82
+ {
83
+ component: 'FormInputSelect',
84
+ text: 'Avez-vous fait des investissements dans le cadre de la création de votre entreprise ?',
85
+ value: 'investissement',
86
+ required: true,
87
+ meta: {
88
+ items: SelectYesNoStatementBool.map((i) => ({ ...i, value: i.value.toString() })),
89
+ hideDetails: true,
90
+ },
91
+ lg: 12,
92
+ },
93
+ {
94
+ component: 'FormInputSelect',
95
+ text: 'Avez-vous déjà eu des contrôles fiscaux ?',
96
+ value: 'fiscalControl',
97
+ required: true,
98
+ meta: {
99
+ items: SelectYesNoStatementBool.map((i) => ({ ...i, value: i.value.toString() })),
100
+ hideDetails: true,
101
+ },
102
+ lg: 12,
103
+ },
104
+ // {
105
+ // component: 'FormInputSelect',
106
+ // text: 'Avez-vous des emprunts?',
107
+ // value: 'hasBorrowing',
108
+ // required: true,
109
+ // meta: {
110
+ // items: SelectYesNoStatementBool.map((i) => ({ ...i, value: i.value.toString() })),
111
+ // hideDetails: true,
112
+ // },
113
+ // lg: 12,
114
+ // },
115
+ {
116
+ component: 'FormInputSelect',
117
+ text: 'Si oui, combien?',
118
+ value: 'borrowingInProgress',
119
+ required: true,
120
+ meta: {
121
+ items: setRangeItems(15).map((i) => ({ ...i, value: i.value.toString() })),
122
+ hideDetails: true,
123
+ },
124
+ condition: societyDetail.hasBorrowing === '1',
125
+ lg: 12,
126
+ },
127
+ {
128
+ component: 'FormInputSelect',
129
+ text: "Quels est/sont les motifs de votre changement d'expert comptable ?",
130
+ value: 'listReasonsWhyChangingEC',
131
+ required: true,
132
+ meta: {
133
+ multiple: true,
134
+ items: [
135
+ { text: 'Litige', value: 'litige' },
136
+ { text: 'Prix', value: 'prix' },
137
+ { text: 'Manque de réactivité', value: 'pas réactif' },
138
+ { text: 'Manque de conseil', value: 'manque de conseil' },
139
+ ],
140
+ hideDetails: true,
141
+ },
142
+ lg: 12,
143
+ },
144
+ ],
145
+ },
146
+ {
147
+ name: "Découverte du chef d'entreprise (1/2)",
148
+ questions: [
149
+ {
150
+ component: 'FormInputSelect',
151
+ text: 'Avez-vous suivi une formation particulière en lien avec votre activité ?',
152
+ value: 'descriptionFormation',
153
+ required: true,
154
+ meta: {
155
+ items: SelectYesNoStatementBool.map((i) => ({ ...i, value: i.value.toString() })),
156
+ hideDetails: true,
157
+ },
158
+ lg: 12,
159
+ },
160
+ {
161
+ component: 'FormInputSelect',
162
+ text: 'Avez-vous des responsabilités politiques ?',
163
+ value: 'politicalResponsability',
164
+ required: true,
165
+ meta: {
166
+ items: SelectYesNoStatementBool.map((i) => ({ ...i, value: i.value.toString() })),
167
+ hideDetails: true,
168
+ },
169
+ lg: 12,
170
+ },
171
+ {
172
+ component: 'FormInputSelect',
173
+ text: 'Êtes-vous résident fiscal français ?',
174
+ value: 'frenchTaxResident',
175
+ required: true,
176
+ meta: {
177
+ items: SelectYesNoStatementBool.map((i) => ({ ...i, value: i.value.toString() })),
178
+ hideDetails: true,
179
+ },
180
+ lg: 12,
181
+ },
182
+ {
183
+ component: 'FormInputSelect',
184
+ text: 'Êtes-vous en redressement judiciaire ?',
185
+ value: 'judiciaryRecovery',
186
+ required: true,
187
+ meta: {
188
+ items: SelectYesNoStatementBool.map((i) => ({ ...i, value: i.value.toString() })),
189
+ hideDetails: true,
190
+ },
191
+ lg: 12,
192
+ },
193
+ ],
194
+ },
195
+ {
196
+ name: "Découverte du chef d'entreprise (2/2)",
197
+ questions: [
198
+ {
199
+ component: 'FormInputSelect',
200
+ text: "Quelle est votre fonction dans l'entreprise ?",
201
+ value: 'listQualities',
202
+ required: true,
203
+ meta: {
204
+ items: QualityList.map((quality) => ({ text: quality.label, value: quality.id })),
205
+ hideDetails: true,
206
+ },
207
+ lg: 12,
208
+ },
209
+ {
210
+ component: 'FormInputSelect',
211
+ text: "Avez vous des connaissances en gestion d'entreprise ?",
212
+ value: 'managementKnowledge',
213
+ required: true,
214
+ meta: {
215
+ items: SelectYesNoStatementBool.map((i) => ({ ...i, value: i.value.toString() })),
216
+ hideDetails: true,
217
+ },
218
+ lg: 12,
219
+ },
220
+ {
221
+ component: 'FormInputSelect',
222
+ text: "Avez-vous des participations dans d'autres sociétés ?",
223
+ value: 'participationsInOtherSociety',
224
+ required: true,
225
+ meta: {
226
+ items: SelectYesNoStatementBool.map((i) => ({ ...i, value: i.value.toString() })),
227
+ hideDetails: true,
228
+ },
229
+ lg: 12,
230
+ },
231
+ {
232
+ component: 'FormInputSelect',
233
+ text: 'Êtes-vous interdit bancaire ?',
234
+ value: 'prohibitedBanking',
235
+ required: true,
236
+ meta: {
237
+ items: SelectYesNoStatementBool.map((i) => ({ ...i, value: i.value.toString() })),
238
+ hideDetails: true,
239
+ },
240
+ lg: 12,
241
+ },
242
+ {
243
+ component: 'FormInputSelect',
244
+ text: "Êtes-vous imposable au titre de l'année 2023/2024 ?",
245
+ value: 'isIrTaxable',
246
+ required: true,
247
+ meta: {
248
+ items: SelectYesNoStatementBool.map((i) => ({ ...i, value: i.value.toString() })),
249
+ hideDetails: true,
250
+ },
251
+ lg: 12,
252
+ },
253
+ ],
254
+ },
255
+ ];
256
+ }
23
257
  return [
24
258
  {
25
259
  name: "Découverte de l'entreprise",
@@ -27,744 +261,287 @@ brandName, bankList, dateOfRegistration, recoveryDate) => {
27
261
  {
28
262
  value: 'detailActivity',
29
263
  component: 'FormInputTextArea',
30
- text: 'Pouvez vous m’expliquer le fonctionnement de votre activité ?',
31
- //TODO: conseil à afficher
32
- meta: {
33
- placeholder: 'E-commerce, ventes de produits finis, artisanat...',
34
- hideDetails: true,
35
- },
36
- },
37
- {
38
- value: 'nbBankaccounts',
39
- component: 'FormInputSelect',
40
- text: 'Combien de comptes bancaires avez-vous ?',
41
- meta: {
42
- // eslint-disable-next-line @typescript-eslint/no-unsafe-return
43
- items: setRangeItems(15).map((i) => ({ ...i, value: i.value.toString() })),
44
- hideDetails: true,
45
- },
46
- lg: societyDetail.nbBankaccounts > 0 ? 8 : 12,
47
- },
48
- {
49
- //TODO: champ à créer
50
- component: 'FormInputSelect',
51
- text: 'Lesquelles ?',
52
- value: 'listBanks',
53
- meta: {
54
- multiple: true,
55
- items: [...bankList, { id: 'hors-ue', name: 'Hors UE' }],
56
- itemText: 'name',
57
- itemValue: 'id',
58
- hideDetails: true,
59
- },
60
- lg: societyDetail.nbBankaccounts > 0 ? 4 : 12,
61
- condition: societyDetail.nbBankaccounts > 0,
62
- },
63
- {
64
- component: 'FormInputSelect',
65
- text: "Combien d'associés êtes-vous ?",
66
- // lg: 4,
67
- value: 'nbAssociates',
68
- meta: {
69
- items: setRangeItems(20),
70
- hideDetails: true,
71
- },
72
- lg: 4,
73
- },
74
- {
75
- component: 'FormInputSelect',
76
- text: "Combien d'associés travaillent dans la société ?",
77
- // lg: 4,
78
- value: 'nbAssociatesInCompany',
79
- meta: {
80
- items: setRangeItems(20),
81
- hideDetails: true,
82
- },
83
- lg: 4,
84
- },
85
- {
86
- component: 'FormInputSelect',
87
- text: 'Combien de salariés êtes-vous ?',
88
- value: 'nbEmployees',
89
- meta: {
90
- items: setRangeItems(20),
91
- hideDetails: true,
92
- },
93
- lg: 4,
94
- },
95
- {
96
- component: 'FormInputSelect', //'FormInputRadio',
97
- text: 'Avez-vous des prévisions d’embauches ?',
98
- value: 'hiringPromess',
99
- meta: {
100
- items: SelectYesNoStatementBool.map((i) => ({ ...i, value: i.value.toString() })),
101
- hideDetails: true,
102
- },
103
- lg: 4,
104
- },
105
- {
106
- component: 'FormInputSelect',
107
- text: 'Le siège social est-il au domicile ?',
108
- // lg: 4,
109
- value: 'isPersoAdress',
264
+ text: 'Expliquez-nous votre activité',
265
+ required: true,
110
266
  meta: {
111
- items: SelectYesNoStatementBool.map((i) => ({ ...i, value: i.value.toString() })),
112
- hideDetails: true,
113
- },
114
- lg: societyDetail.isPersoAdress === '1' ? 4 : 8,
115
- },
116
- {
117
- component: 'FormInputSelect', //'FormInputRadio',
118
- text: 'Êtes-vous propriétaire ?',
119
- value: 'professionnalRent',
120
- meta: {
121
- items: SelectYesNoStatementBool.map((i) => ({ ...i, value: i.value.toString() })),
267
+ placeholder: 'Ex : Je suis freelance et propose du conseil en marketing',
122
268
  hideDetails: true,
123
269
  },
124
- condition: societyDetail.isPersoAdress === '1',
125
- lg: 4,
126
- },
127
- {
128
- component: 'FormInputSelect', //'FormInputRadio',
129
- text: 'Avez-vous un bail commercial ?',
130
- value: 'hasCommercialLease',
131
- meta: {
132
- items: SelectYesNoStatementBool.map((i) => ({ ...i, value: i.value.toString() })),
133
- hideDetails: true,
134
- },
135
- //TODO: conseil à afficher
136
- condition: societyDetail.isPersoAdress !== '1',
137
- lg: societyDetail.hasCommercialLease === '1' ? 4 : 12,
138
- },
139
- {
140
- component: 'FormInputText',
141
- text: 'Quelle est la surface approximative du local ?',
142
- value: 'commercialArea',
143
- type: 'number',
144
- meta: {
145
- suffix: 'm²',
146
- hideDetails: true,
147
- },
148
- condition: societyDetail.isPersoAdress !== '1' && societyDetail.hasCommercialLease === '1',
149
- lg: 4,
150
- },
151
- {
152
- component: 'FormInputText',
153
- text: 'Quel est le montant du loyer mensuel',
154
- value: 'commercialRentAmount',
155
- type: 'number',
156
- meta: {
157
- suffix: '€',
158
- hideDetails: true,
159
- },
160
- condition: societyDetail.isPersoAdress !== '1' && societyDetail.hasCommercialLease === '1',
161
- lg: 4,
162
- },
163
- {
164
- component: 'FormInputSelect',
165
- text: 'Utilisez-vous votre véhicule personnel dans le cadre de votre activité ?',
166
- value: 'vehicle',
167
- required: false,
168
- meta: {
169
- items: SelectYesNoStatementBool.map((i) => ({ ...i, value: i.value.toString() })),
170
- hideDetails: true,
171
- },
172
- lg: 4,
173
- //TODO: conseil à afficher
174
270
  },
175
271
  {
176
272
  component: 'FormInputSelect',
177
- text: "Votre structure a-t-elle des participations dans d'autres sociétés ?",
273
+ text: "Votre structure a-t-elle des participations dans d'autres sociétés ?",
178
274
  value: 'interestOtherCompanies',
275
+ required: true,
179
276
  meta: {
180
- // eslint-disable-next-line @typescript-eslint/no-unsafe-return
181
277
  items: setRangeItems(15).map((i) => ({ ...i, value: i.value.toString() })),
182
278
  hideDetails: true,
183
279
  },
184
- lg: parseInt(societyDetail.interestOtherCompanies, 10) > 0 ? 4 : 12,
185
- },
186
- {
187
- component: 'FormInputText',
188
- text: 'Si oui, quels sont les noms des sociétés ?',
189
- value: 'listCompaniesInterestedIn',
190
- condition: parseInt(societyDetail.interestOtherCompanies, 10) > 0,
191
- lg: parseInt(societyDetail.interestOtherCompanies, 10) > 0 ? 4 : 12,
192
- },
193
- {
194
- //TODO: champ à créer
195
- component: 'FormInputSelect', //'FormInputRadio',
196
- text: `Sont-elles clientes chez ${brandName}`,
197
- value: 'areOtherCompaniesOnOurBrand',
198
- meta: {
199
- items: SelectYesNoStatementBool.map((i) => ({ ...i, value: i.value.toString() })),
200
- hideDetails: true,
201
- },
202
- condition: parseInt(societyDetail.interestOtherCompanies, 10) > 0,
203
- lg: parseInt(societyDetail.interestOtherCompanies, 10) > 0 ? 4 : 12,
204
- //TODO: si non, conseil à afficher
205
- },
206
- {
207
- //TODO: champ à créer
208
- component: 'FormInputSelect',
209
- text: 'Quels sont vos taux de TVA ?',
210
- value: 'listTva',
211
- meta: {
212
- multiple: true,
213
- items: Object.values(Vat)
214
- .filter((v) => !v.isVatIntracom && !v.isVatImportation && v.immobilization)
215
- .sort((a, b) => b.displayOrder - a.displayOrder),
216
- itemText: 'name',
217
- itemValue: 'id',
218
- hideDetails: true,
219
- },
220
- lg: 4,
221
- },
222
- {
223
- //TODO: champ à créer
224
- component: 'FormInputSelect', //'FormInputRadio',
225
- text: 'Votre compte impôts.gouv.fr a t-il été paramétré avec le RIB transmis au service facturation ?',
226
- value: 'ribSentToTaxDepartment',
227
- meta: {
228
- items: SelectYesNoStatementBool.map((i) => ({ ...i, value: i.value.toString() })),
229
- hideDetails: true,
230
- },
231
- lg: 8,
232
- },
233
- {
234
- //TRICK: insertion du bloc de DropBox de RIB
235
- value: 'rib',
236
- condition: societyDetail.ribSentToTaxDepartment === '0',
237
- //TODO: conseil à afficher
238
- lg: 4,
239
- },
240
- {
241
- component: 'FormInputTextArea',
242
- text: 'Remarques',
243
- value: 'historyComments',
244
- required: false,
245
- meta: {
246
- hideDetails: true,
247
- },
248
280
  lg: 12,
249
281
  },
250
282
  {
251
- //TODO: champ à créer
252
- component: 'FormInputSelect', //'FormInputRadio',
283
+ component: 'FormInputSelect',
253
284
  text: 'Avez-vous un logiciel de facturation ?',
254
285
  value: 'hasBillingSoftware',
286
+ required: true,
255
287
  meta: {
256
288
  items: SelectYesNoStatementBool.map((i) => ({ ...i, value: i.value.toString() })),
257
289
  hideDetails: true,
258
290
  },
259
- lg: 4,
260
- },
261
- {
262
- component: 'FormInputText',
263
- text: 'Lequel ?',
264
- value: 'billingSoftware',
265
- //TODO: si non, conseil à afficher
266
- lg: 4,
267
- meta: {
268
- hideDetails: true,
269
- },
270
- condition: societyDetail.hasBillingSoftware === '1',
291
+ lg: 12,
271
292
  },
272
293
  {
273
294
  component: 'FormInputSelect',
274
295
  text: 'Quels sont les modes de réglements dont vous disposez ?',
275
296
  value: 'collectionSystem',
297
+ required: true,
276
298
  meta: {
299
+ multiple: true,
277
300
  items: [
278
- //TODO: ajouter PayPal et Stripe ?
301
+ { text: 'Carte bancaire', value: 'carte bancaire' },
302
+ { text: 'Virement bancaire', value: 'virement' },
279
303
  { text: 'Chèque', value: 'cheque' },
280
- { text: 'Espèce', value: 'espece' },
281
- { text: 'Intermédiaire', value: 'intermediaire' },
282
- { text: 'Virement', value: 'virement' },
304
+ { text: 'Espèces', value: 'espece' },
283
305
  { text: 'Prélèvement automatique', value: 'prelevement' },
284
- { text: 'Carte bancaire', value: 'carte bancaire' },
285
- ],
286
- hideDetails: true,
287
- },
288
- lg: 4,
289
- },
290
- {
291
- //TODO: champ à créer
292
- component: 'FormInputSelect',
293
- text: 'Où est situé le siège de l’entreprise ?',
294
- value: 'officeType',
295
- meta: {
296
- items: [
297
- { text: 'Domicile', value: 'Domicile' },
298
- { text: 'Boîte de Domiciliation', value: 'Boîte de Domiciliation' },
299
- { text: 'Local ou Bureau', value: 'Local/Bureau' },
300
306
  ],
301
307
  hideDetails: true,
302
308
  },
303
- //TODO: 3 conseils à afficher
304
- lg: 4,
309
+ lg: 12,
305
310
  },
306
311
  ],
307
312
  },
308
313
  {
309
- name: "Création d'entreprise",
310
- display: isSocietyCreationCompute === true,
314
+ name: "Création d'entreprise (1/2)",
311
315
  questions: [
312
316
  {
313
- component: 'FormInputSelect', //'FormInputRadio',
314
- text: 'Avez-vous utilisé des apports personnels en capital lors de la création ?',
317
+ component: 'FormInputSelect',
318
+ text: 'Avez-vous utilisé des apports personnels en capital lors de la création de votre société ?',
315
319
  value: 'personnalContributionCapital',
320
+ required: true,
316
321
  meta: {
317
322
  items: SelectYesNoStatementBool.map((i) => ({ ...i, value: i.value.toString() })),
318
323
  hideDetails: true,
319
324
  },
320
- lg: 4,
325
+ lg: 12,
321
326
  },
322
327
  {
323
- component: 'FormInputSelect', //'FormInputRadio',
324
- text: 'Avez-vous utilisé des apports personnels en compte courant lors de la création ?',
328
+ component: 'FormInputSelect',
329
+ text: 'Avez-vous utilisé des apports personnels en compte courant lors de la création de votre société ?',
325
330
  value: 'personnalContributionCurrentBankAccount',
331
+ required: true,
326
332
  meta: {
327
333
  items: SelectYesNoStatementBool.map((i) => ({ ...i, value: i.value.toString() })),
328
334
  hideDetails: true,
329
335
  },
330
- lg: 4,
331
- },
332
- {
333
- component: 'FormInputSelect', //'FormInputRadio',
334
- text: 'Avez-vous utilisé des apports personnels en nature lors de la création ?',
335
- value: 'personnalContributionInKind',
336
- meta: {
337
- items: SelectYesNoStatementBool.map((i) => ({ ...i, value: i.value.toString() })),
338
- hideDetails: true,
339
- },
340
- lg: 4,
341
- },
342
- {
343
- component: 'FormInputText',
344
- text: 'Quelle activité exerciez-vous auparavant ?',
345
- value: 'oldActivite',
346
- meta: {
347
- hideDetails: true,
348
- },
336
+ lg: 12,
349
337
  },
350
338
  {
351
- component: 'FormInputSelect', //'FormInputRadio',
352
- text: "Avez-vous bénéficié d'une rupture conventionnelle ou du versement d'une indemnité de licenciement dans le cadre de votre installation ?",
339
+ component: 'FormInputSelect',
340
+ text: "Avez-vous bénéficié d'une rupture conventionnelle ou du versement d'une indemnité de licenciement dans le cadre de votre création de société ?",
353
341
  value: 'indemnite',
354
- required: false,
355
- meta: {
356
- items: SelectYesNoStatementBool.map((i) => ({ ...i, value: i.value.toString() })),
357
- hideDetails: true,
358
- },
359
- },
360
- {
361
- component: 'FormInputSelect', //'FormInputRadio',
362
- text: "Bénéficiez vous de l'aide de Pôle Emploi ?",
363
- value: 'poleEmploiAid',
364
- required: false,
342
+ required: true,
365
343
  meta: {
366
344
  items: SelectYesNoStatementBool.map((i) => ({ ...i, value: i.value.toString() })),
367
345
  hideDetails: true,
368
346
  },
369
- lg: societyDetail.poleEmploiAid === '1' ? 6 : 12,
370
- },
371
- {
372
- component: 'FormInputText',
373
- text: 'Si oui, option retenue ?',
374
- value: 'poleEmploiAidType',
375
- required: false,
376
- meta: {
377
- hideDetails: true,
378
- },
379
- condition: societyDetail.poleEmploiAid === '1',
380
- lg: societyDetail.poleEmploiAid === '1' ? 6 : 12,
347
+ lg: 12,
381
348
  },
382
349
  {
383
- component: 'FormInputSelect', //'FormInputRadio',
350
+ component: 'FormInputSelect',
384
351
  text: "Avez-vous bénéficié d'un prêt d'honneur ?",
385
352
  value: 'honorLoan',
386
- required: false,
353
+ required: true,
387
354
  meta: {
388
355
  items: SelectYesNoStatementBool.map((i) => ({ ...i, value: i.value.toString() })),
389
356
  hideDetails: true,
390
357
  },
391
- lg: societyDetail.honorLoan === '1' ? 6 : 12,
392
- },
393
- {
394
- component: 'FormInputText',
395
- text: "Si oui, quel est le montant du prêt d'honneur ?",
396
- value: 'honorLoanAmount',
397
- type: 'number',
398
- required: false,
399
- meta: {
400
- suffix: '€',
401
- hideDetails: true,
402
- },
403
- condition: societyDetail.honorLoan === '1',
404
- lg: societyDetail.honorLoan === '1' ? 6 : 12,
358
+ lg: 12,
405
359
  },
360
+ ],
361
+ },
362
+ {
363
+ name: "Création d'entreprise (2/2)",
364
+ questions: [
406
365
  {
407
- component: 'FormInputSelect', //'FormInputRadio',
408
- text: "Allez-vous travailler à l'international ? (import ou export)",
366
+ component: 'FormInputSelect',
367
+ text: "Comptez-vous travailler à l'international ?",
409
368
  value: 'workInternationnal',
410
- required: false,
369
+ required: true,
411
370
  meta: {
412
371
  items: SelectYesNoStatementBool.map((i) => ({ ...i, value: i.value.toString() })),
413
372
  hideDetails: true,
414
373
  },
415
- lg: 4,
374
+ lg: 12,
416
375
  },
417
376
  {
418
- component: 'FormInputSelect', //'FormInputRadio',
419
- text: 'Avez-vous financer un stock de départ ?',
377
+ component: 'FormInputSelect',
378
+ text: 'Avez-vous du financer un stock de départ ?',
420
379
  value: 'financingStartingStock',
421
- required: false,
380
+ required: true,
422
381
  meta: {
423
382
  items: SelectYesNoStatementBool.map((i) => ({ ...i, value: i.value.toString() })),
424
383
  hideDetails: true,
425
384
  },
426
- lg: societyDetail.financingStartingStock === '1' ? 4 : 8,
427
- },
428
- {
429
- component: 'FormInputText',
430
- text: 'Si oui, montant approximatif',
431
- value: 'financingStartingStockAmount',
432
- type: 'number',
433
- required: false,
434
- meta: {
435
- suffix: '€',
436
- hideDetails: true,
437
- },
438
- condition: societyDetail.financingStartingStock === '1',
439
- lg: societyDetail.financingStartingStock === '1' ? 4 : 8,
385
+ lg: 12,
440
386
  },
441
387
  {
442
- //TODO: champ à créer
443
388
  component: 'FormInputSelect',
444
389
  text: "Quels sont vos types d'apport ?",
445
390
  value: 'contributionTypes',
391
+ required: true,
446
392
  meta: {
447
393
  multiple: true,
448
394
  items: [
449
- { text: 'Nature', value: 'nature' }, //TODO: créer un ENUM
395
+ { text: 'Nature', value: 'nature' },
450
396
  { text: 'Numéraire', value: 'numeraire' },
451
397
  { text: 'Industriel', value: 'industriel' },
452
398
  ],
453
399
  hideDetails: true,
454
400
  },
455
- lg: 4,
401
+ lg: 12,
456
402
  },
457
403
  {
458
404
  component: 'FormInputText',
459
- text: "Chiffre d'affaires Prévisionnel ?",
405
+ text: "Chiffre d'affaires prévisionnel",
460
406
  value: 'previsionCa',
407
+ required: true,
461
408
  meta: {
462
409
  suffix: '€',
463
410
  hideDetails: true,
464
411
  },
465
- lg: 4,
412
+ lg: 12,
466
413
  },
414
+ // {
415
+ // component: 'FormInputSelect',
416
+ // text: 'Avez-vous des emprunts en cours ?',
417
+ // value: 'isLoans',
418
+ // required: true,
419
+ // meta: {
420
+ // items: SelectYesNoStatementBool.map((i) => ({ ...i, value: i.value.toString() })),
421
+ // hideDetails: true,
422
+ // },
423
+ // lg: 12,
424
+ // },
467
425
  {
468
426
  component: 'FormInputSelect',
469
- text: 'Existe-t-il des emprunts en cours ?',
427
+ text: 'Si oui, combien ?',
470
428
  value: 'isLoans',
429
+ required: true,
471
430
  meta: {
472
- // eslint-disable-next-line @typescript-eslint/no-unsafe-return
473
431
  items: setRangeItems(15).map((i) => ({ ...i, value: i.value.toString() })),
474
432
  hideDetails: true,
475
433
  },
476
- lg: 4,
434
+ condition: societyDetail.isLoans === '1',
435
+ lg: 12,
477
436
  },
478
437
  ],
479
438
  },
480
439
  {
481
- name: 'Entreprise existante',
482
- display: isSocietyCreationCompute === false,
440
+ name: "Découverte du chef d'entreprise (1/2)",
483
441
  questions: [
484
442
  {
485
- component: 'FormInputSelect', //'FormInputRadio',
486
- text: 'Aviez-vous fait des investissements dans le cadre de la création de votre entreprise ?',
487
- value: 'investissement',
488
- meta: {
489
- items: SelectYesNoStatementBool.map((i) => ({ ...i, value: i.value.toString() })),
490
- hideDetails: true,
491
- },
492
- lg: societyDetail.investissement === '1' ? 4 : 8,
493
- },
494
- {
495
- //TODO: champ à créer
496
443
  component: 'FormInputSelect',
497
- text: 'De quelles natures ?',
498
- value: 'investissementTypes',
499
- meta: {
500
- multiple: true,
501
- items: [
502
- { text: 'Nature', value: 'nature' }, //TODO: créer un ENUM
503
- { text: 'Numéraire', value: 'numeraire' },
504
- { text: 'Industriel', value: 'industriel' },
505
- ],
506
- hideDetails: true,
507
- },
508
- condition: societyDetail.investissement === '1',
509
- lg: societyDetail.investissement === '1' ? 4 : 8,
510
- },
511
- {
512
- component: 'FormInputSelect', //'FormInputRadio',
513
- text: "Avez-vous des projets d'investissement à court ou moyen terme ?",
514
- value: 'investissementCTMT',
444
+ text: 'Avez-vous suivi une formation particulière en lien avec votre activité ',
445
+ value: 'descriptionFormation',
446
+ required: true,
515
447
  meta: {
516
448
  items: SelectYesNoStatementBool.map((i) => ({ ...i, value: i.value.toString() })),
517
449
  hideDetails: true,
518
450
  },
519
- lg: 4,
451
+ lg: 12,
520
452
  },
521
453
  {
522
- component: 'FormInputSelect', //'FormInputRadio',
523
- text: 'Avez-vous déjà eu des contrôles fiscaux ?',
524
- value: 'fiscalControl',
454
+ component: 'FormInputSelect',
455
+ text: 'Avez-vous des responsabilités politiques ?',
456
+ value: 'politicalResponsability',
457
+ required: true,
525
458
  meta: {
526
459
  items: SelectYesNoStatementBool.map((i) => ({ ...i, value: i.value.toString() })),
527
460
  hideDetails: true,
528
461
  },
529
- lg: 4,
462
+ lg: 12,
530
463
  },
531
464
  {
532
465
  component: 'FormInputSelect',
533
- text: 'Existe-t-il des emprunts en cours ?',
534
- value: 'borrowingInProgress',
466
+ text: 'Êtes-vous résident fiscal français ?',
467
+ value: 'frenchTaxResident',
468
+ required: true,
535
469
  meta: {
536
- // eslint-disable-next-line @typescript-eslint/no-unsafe-return
537
- items: setRangeItems(15).map((i) => ({ ...i, value: i.value.toString() })),
470
+ items: SelectYesNoStatementBool.map((i) => ({ ...i, value: i.value.toString() })),
538
471
  hideDetails: true,
539
472
  },
540
- lg: 4,
473
+ lg: 12,
541
474
  },
542
475
  {
543
- //TODO: champ à créer
544
476
  component: 'FormInputSelect',
545
- text: "Quel(s) est/sont le(s) motif(s) de votre changement d'Expert-Comptable ?",
546
- value: 'listReasonsWhyChangingEC',
477
+ text: 'Êtes-vous en redressement judiciaire ?',
478
+ value: 'judiciaryRecovery',
479
+ required: true,
547
480
  meta: {
548
- multiple: true,
549
- items: [
550
- { text: 'Litige', value: 'litige' },
551
- { text: 'Impayé', value: 'impayé' },
552
- { text: 'Pas réactif', value: 'pas réactif' },
553
- { text: 'Manque de conseil', value: 'manque de conseil' },
554
- { text: 'Proximité', value: 'proximité' },
555
- { text: 'Prix', value: 'prix' },
556
- { text: 'Non Concerné', value: 'nc' },
557
- ],
481
+ items: SelectYesNoStatementBool.map((i) => ({ ...i, value: i.value.toString() })),
558
482
  hideDetails: true,
559
483
  },
560
- lg: 4,
484
+ lg: 12,
561
485
  },
562
486
  ],
563
487
  },
564
488
  {
565
- name: "Découverte chef d'entreprise",
489
+ name: "Découverte du chef d'entreprise (2/2)",
566
490
  questions: [
567
491
  {
568
- component: 'FormInputSelect', //'FormInputRadio',
569
- text: 'Avez-vous suivi une formation particulière en lien avec votre activité ?',
570
- value: 'descriptionFormation',
492
+ component: 'FormInputSelect',
493
+ text: "Quelle est votre fonction dans l'entreprise ?",
494
+ value: 'listQualities',
495
+ required: true,
571
496
  meta: {
572
- items: SelectYesNoStatementBool.map((i) => ({ ...i, value: i.value.toString() })),
497
+ items: QualityList.map((quality) => ({ text: quality.label, value: quality.id })),
573
498
  hideDetails: true,
574
499
  },
575
- lg: 6,
576
- //TODO: si non, conseil à afficher
500
+ lg: 12,
577
501
  },
578
502
  {
579
- component: 'FormInputSelect', //'FormInputRadio',
580
- text: 'Avez-vous des connaissances de gestion ?',
503
+ component: 'FormInputSelect',
504
+ text: "Avez vous des connaissances en gestion d'entreprise ?",
581
505
  value: 'managementKnowledge',
506
+ required: true,
582
507
  meta: {
583
508
  items: SelectYesNoStatementBool.map((i) => ({ ...i, value: i.value.toString() })),
584
509
  hideDetails: true,
585
510
  },
586
- lg: 6,
587
- },
588
- {
589
- component: 'FormInputSelect', //'FormInputRadio',
590
- text: 'Avez-vous des responsabilités politiques ?',
591
- value: 'politicalResponsability',
592
- meta: {
593
- items: SelectYesNoStatementBool.map((i) => ({ ...i, value: i.value.toString() })),
594
- hideDetails: true,
595
- },
596
- lg: 6,
511
+ lg: 12,
597
512
  },
598
513
  {
599
- component: 'FormInputSelect', //'FormInputRadio',
514
+ component: 'FormInputSelect',
600
515
  text: "Avez-vous des participations dans d'autres sociétés ?",
601
516
  value: 'participationsInOtherSociety',
517
+ required: true,
602
518
  meta: {
603
519
  items: SelectYesNoStatementBool.map((i) => ({ ...i, value: i.value.toString() })),
604
520
  hideDetails: true,
605
521
  },
606
- lg: 6,
607
- },
608
- {
609
- component: 'FormInputSelect', //'FormInputRadio',
610
- text: 'Êtes-vous résident fiscal français ?',
611
- value: 'frenchTaxResident',
612
- meta: {
613
- items: SelectYesNoStatementBool.map((i) => ({ ...i, value: i.value.toString() })),
614
- hideDetails: true,
615
- },
616
- lg: 6,
522
+ lg: 12,
617
523
  },
618
524
  {
619
- component: 'FormInputSelect', //'FormInputRadio',
620
- text: 'Êtes-vous interdit bancaire ?',
525
+ component: 'FormInputSelect',
526
+ text: 'Êtes-vous interdit bancaire ?',
621
527
  value: 'prohibitedBanking',
528
+ required: true,
622
529
  meta: {
623
530
  items: SelectYesNoStatementBool.map((i) => ({ ...i, value: i.value.toString() })),
624
531
  hideDetails: true,
625
532
  },
626
- lg: 6,
627
- },
628
- {
629
- component: 'FormInputSelect', //'FormInputRadio',
630
- text: 'Êtes-vous en redressement judiciaire ?',
631
- value: 'judiciaryRecovery',
632
- meta: {
633
- items: SelectYesNoStatementBool.map((i) => ({ ...i, value: i.value.toString() })),
634
- hideDetails: true,
635
- },
636
- lg: 6,
637
- },
638
- {
639
- component: 'FormInputSelect', //'FormInputRadio',
640
- text: `Êtes-vous imposable au titre de l'IR ${dayjs().subtract(2, 'year').format('YYYY')}/${dayjs()
641
- .subtract(1, 'year')
642
- .format('YYYY')} ?`,
643
- value: 'isIrTaxable',
644
- meta: {
645
- items: SelectYesNoStatementBool.map((i) => ({ ...i, value: i.value.toString() })),
646
- hideDetails: true,
647
- },
648
- lg: 6,
649
- },
650
- {
651
- //TODO: champ à créer
652
- component: 'FormInputSelect',
653
- text: "Quelle est votre fonction dans l'entreprise ?",
654
- value: 'listQualities',
655
- meta: {
656
- multiple: true,
657
- items: Object.values(QualityList).sort((a, b) => (a.label > b.label ? 1 : -1)),
658
- itemText: 'label',
659
- itemValue: 'id',
660
- hideDetails: true,
661
- },
662
- lg: 6,
663
- },
664
- ],
665
- },
666
- {
667
- name: 'Organisation',
668
- questions: [
669
- {
670
- //TODO: champ à créer
671
- component: 'FormInputSelect',
672
- text: 'En combien de temps vos clients vous règlent-ils ?',
673
- value: 'averageCustomerRegulationTime',
674
- meta: {
675
- items: AverageTimeItems,
676
- hideDetails: true,
677
- },
533
+ lg: 12,
678
534
  },
679
535
  {
680
- //TODO: champ à créer
681
536
  component: 'FormInputSelect',
682
- text: 'En combien de temps réglez-vous vos fournisseurs ?',
683
- value: 'averageSupplierRegulationTime',
684
- meta: {
685
- items: AverageTimeItems,
686
- hideDetails: true,
687
- },
688
- },
689
- {
690
- component: 'FormInputSelect', //'FormInputRadio',
691
- text: 'Classez-vous vos pièces comptables (factures d’achats par mois, etc ...) ?',
692
- value: 'rankFiles',
537
+ text: "Êtes-vous imposable au titre de l'année 2023/2024 ?",
538
+ value: 'isIrTaxable',
539
+ required: true,
693
540
  meta: {
694
541
  items: SelectYesNoStatementBool.map((i) => ({ ...i, value: i.value.toString() })),
695
542
  hideDetails: true,
696
543
  },
697
- },
698
- ],
699
- },
700
- {
701
- name: 'Assurance',
702
- questions: [
703
- {
704
- component: 'FormInputSwitch', //'FormInputRadio',
705
- text: 'Êtes-vous indemnisé par l’assurance chômage ?',
706
- value: 'unemploymentInsurance',
707
- meta: {
708
- hideDetails: true,
709
- },
710
- lg: 6,
711
- },
712
- {
713
- component: 'FormInputSwitch', //'FormInputRadio',
714
- text: 'Avez-vous une couverture mutuelle ?',
715
- value: 'hasMutualInsurance',
716
- meta: {
717
- hideDetails: true,
718
- },
719
- lg: 6,
720
- },
721
- {
722
- component: 'FormInputSwitch', //'FormInputRadio',
723
- text: 'Avez-vous une responsabilité civile professionnelle (RC Pro) ?',
724
- value: 'hasProfessionalLiabilityInsurance',
725
- meta: {
726
- hideDetails: true,
727
- },
728
- lg: 6,
729
- },
730
- {
731
- component: 'FormInputSwitch', //'FormInputRadio',
732
- text: 'Souhaitez-vous faire un audit de vos contracts d’assurances ?',
733
- value: 'insuranceContractAudit',
734
- meta: {
735
- hideDetails: true,
736
- },
737
- lg: 6,
738
- },
739
- ],
740
- },
741
- {
742
- name: 'Conclusion',
743
- questions: [
744
- {
745
- component: 'FormInputText',
746
- text: 'Avez-vous des besoins spécifiques ?',
747
- value: 'specificNeeds',
748
- meta: {
749
- hideDetails: true,
750
- },
751
- },
752
- {
753
- component: 'FormInputTextArea',
754
- text: 'Commentaires généraux',
755
- value: 'remarqueComment',
756
- meta: {
757
- hideDetails: true,
758
- },
759
- },
760
- {
761
- component: 'FormInputSelect',
762
- text: 'Comment nous avez-vous connu ?',
763
- meta: {
764
- items: ClementineSources,
765
- hideDetails: true,
766
- },
767
- value: 'idFindClementine',
544
+ lg: 12,
768
545
  },
769
546
  ],
770
547
  },