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