@silexpert/core 1.3.57-3 → 1.3.57

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 (44) hide show
  1. package/dist/cjs/api/resources/Subscription.d.ts +2 -2
  2. package/dist/cjs/api/resources/Subscription.d.ts.map +1 -1
  3. package/dist/cjs/api/resources/Subscription.js +4 -3
  4. package/dist/cjs/api/resources/Subscription.js.map +1 -1
  5. package/dist/cjs/types/Enum/BalanceSheetQuestionWording.d.ts +1 -1
  6. package/dist/cjs/types/Enum/BalanceSheetQuestionWording.d.ts.map +1 -1
  7. package/dist/cjs/types/Enum/BalanceSheetQuestionWording.js +1 -1
  8. package/dist/cjs/types/Enum/BalanceSheetQuestionWording.js.map +1 -1
  9. package/dist/cjs/types/Enum/MealExpenseThresholds.d.ts.map +1 -1
  10. package/dist/cjs/types/Enum/MealExpenseThresholds.js +4 -0
  11. package/dist/cjs/types/Enum/MealExpenseThresholds.js.map +1 -1
  12. package/dist/cjs/utils/index.d.ts +1 -0
  13. package/dist/cjs/utils/index.d.ts.map +1 -1
  14. package/dist/cjs/utils/index.js +1 -0
  15. package/dist/cjs/utils/index.js.map +1 -1
  16. package/dist/cjs/utils/subscription.d.ts +21 -0
  17. package/dist/cjs/utils/subscription.d.ts.map +1 -0
  18. package/dist/cjs/utils/subscription.js +97 -0
  19. package/dist/cjs/utils/subscription.js.map +1 -0
  20. package/dist/mjs/api/resources/Subscription.d.ts +2 -2
  21. package/dist/mjs/api/resources/Subscription.d.ts.map +1 -1
  22. package/dist/mjs/api/resources/Subscription.js +4 -3
  23. package/dist/mjs/api/resources/Subscription.js.map +1 -1
  24. package/dist/mjs/types/Enum/BalanceSheetQuestionWording.d.ts +1 -1
  25. package/dist/mjs/types/Enum/BalanceSheetQuestionWording.d.ts.map +1 -1
  26. package/dist/mjs/types/Enum/BalanceSheetQuestionWording.js +1 -1
  27. package/dist/mjs/types/Enum/BalanceSheetQuestionWording.js.map +1 -1
  28. package/dist/mjs/types/Enum/MealExpenseThresholds.d.ts.map +1 -1
  29. package/dist/mjs/types/Enum/MealExpenseThresholds.js +4 -0
  30. package/dist/mjs/types/Enum/MealExpenseThresholds.js.map +1 -1
  31. package/dist/mjs/utils/index.d.ts +1 -0
  32. package/dist/mjs/utils/index.d.ts.map +1 -1
  33. package/dist/mjs/utils/index.js +1 -0
  34. package/dist/mjs/utils/index.js.map +1 -1
  35. package/dist/mjs/utils/subscription.d.ts +21 -0
  36. package/dist/mjs/utils/subscription.d.ts.map +1 -0
  37. package/dist/mjs/utils/subscription.js +92 -0
  38. package/dist/mjs/utils/subscription.js.map +1 -0
  39. package/package.json +1 -1
  40. package/ts/api/resources/Subscription.ts +15 -5
  41. package/ts/types/Enum/BalanceSheetQuestionWording.ts +1 -1
  42. package/ts/types/Enum/MealExpenseThresholds.ts +4 -0
  43. package/ts/utils/index.ts +1 -0
  44. package/ts/utils/subscription.ts +124 -0
@@ -210,7 +210,7 @@ export enum QuestionWording {
210
210
  '2050_TONNAGE_TAX_RESULT_FOR_SEA_TRANSPORT_COMPANY' = 'Résultat fiscal afférent au régime optionnel de taxation au tonnage des entreprises de transport maritime',
211
211
 
212
212
  ECONOMICAL_INTEREST_GROUP_LOSS_SHARE = 'Quote-part dans les pertes subies par une société de personne ou une GIE',
213
- NON_DEDUCTIBLE_EXPENSES_AND_PROVISIONS_ASSIGN_BACK_IN_FISCAL_YEAR = "Provisions et charges à payer non déductibles, antérieurement taxées et réintégrées dans les résultats comptables de l'exerceice (2058 B SD, cadre III)",
213
+ NON_DEDUCTIBLE_EXPENSES_AND_PROVISIONS_ASSIGN_BACK_IN_FISCAL_YEAR = "Provisions et charges à payer non déductibles, antérieurement taxées et réintégrées dans les résultats comptables de l'exercice (2058 B SD, cadre III)",
214
214
 
215
215
  LONG_RUN_TAXABLE_GAIN_AT_15_RATE = "Plus-value nettes à long termes imposées au taux de 15% (12.8 pour les entreprises à l'IR)",
216
216
  LONG_RUN_TAXABLE_GAIN_AT_0_RATE = 'plus-values nette à long terme imposées au taux de 0%',
@@ -26,4 +26,8 @@ export const MealExpenseThresholds: IMealExpenseThresholds = {
26
26
  min: 5.35,
27
27
  max: 20.7,
28
28
  },
29
+ 2025: {
30
+ min: 5.5,
31
+ max: 21.1,
32
+ },
29
33
  };
package/ts/utils/index.ts CHANGED
@@ -20,3 +20,4 @@ export * from './isHtml';
20
20
  export * from './isUrl';
21
21
  export * from './bankAccount';
22
22
  export * from './commercialOffer';
23
+ export * from './subscription';
@@ -0,0 +1,124 @@
1
+ import { ComptaType } from '../types/Enum/ComptaType';
2
+ import { LegalFormTypeEnum } from '../types/Enum/LegalForm';
3
+ import { TaxSystem } from '../types/Enum/TaxSystem';
4
+
5
+ interface OfferParams {
6
+ idLegalForm: LegalFormTypeEnum | null;
7
+ idComptaType: ComptaType | null;
8
+ idTaxSystem: TaxSystem | null;
9
+ isYearly?: boolean;
10
+ }
11
+
12
+ interface StripeOffer {
13
+ name: string;
14
+ isYearly: boolean;
15
+ isMicro: boolean;
16
+ key: string;
17
+ isCashBased: boolean;
18
+ isSocietyTax?: boolean;
19
+ }
20
+
21
+ const isTestKey: boolean = ['dev', 'staging', 'development', 'test', 'gitlab'].includes(process.env.NODE_ENV ?? '');
22
+
23
+ // AE | Annuel | Forfait Bilan complet
24
+ const ID_SUBSCRIPTION_MICRO_ANNUAL = !isTestKey ? 'price_1PFyHHIHo1jEedppVjwrqPr1' : 'price_1MRyi1IHo1jEedppRKdY06Re';
25
+
26
+ // AE | Mensuel | Forfait Bilan complet
27
+ const ID_SUBSCRIPTION_MICRO_MENSUAL = !isTestKey ? 'price_1LBJ4xIHo1jEedppylxr3fFa' : 'price_1LBI57IHo1jEedpppnxskfgv';
28
+
29
+ // Entreprise | Annuel | Forfait entreprise à l'IR
30
+ const ID_SUBSCRIPTION_INCOME_TAX_ANNUAL = !isTestKey
31
+ ? 'price_1PFyG8IHo1jEedpp73TUxiJd'
32
+ : 'price_1MRyiJIHo1jEedppUe7MnPtW';
33
+
34
+ // Entreprise | Mensuel | Forfaitentreprise à l'IR
35
+ const ID_SUBSCRIPTION_INCOME_TAX_MENSUAL = !isTestKey
36
+ ? 'price_1LBJ5YIHo1jEedppzwTErh9M'
37
+ : 'price_1LBIA3IHo1jEedpp2taeQ7yW';
38
+
39
+ // Entreprise | Annuel | Forfait entreprise à l'IS
40
+ const ID_SUBSCRIPTION_SOCIETY_TAX_ANNUAL = !isTestKey
41
+ ? 'price_1PFwE3IHo1jEedpphgWrgwkA'
42
+ : 'price_1MRyiWIHo1jEedppp5tnksZe';
43
+
44
+ // Entreprise | Mensuel | Forfait entreprise à l'IS
45
+ const ID_SUBSCRIPTION_SOCIETY_TAX_MENSUAL = !isTestKey
46
+ ? 'price_1LBJ69IHo1jEedppAWLeOk3I'
47
+ : 'price_1LBIB7IHo1jEedppocxyc1ft';
48
+
49
+ export const stripeTaxRate = isTestKey ? 'txr_1I9X9MIHo1jEedppM0DqL4iE' : 'txr_1I9X5wIHo1jEedppYttGFc0N';
50
+
51
+ const list: StripeOffer[] = [
52
+ {
53
+ name: 'Offre auto-entrepreneur',
54
+ isYearly: true,
55
+ isMicro: true,
56
+ key: ID_SUBSCRIPTION_MICRO_ANNUAL,
57
+ isCashBased: true,
58
+ isSocietyTax: false,
59
+ },
60
+ {
61
+ name: 'Offre auto-entrepreneur',
62
+ isYearly: false,
63
+ isMicro: true,
64
+ key: ID_SUBSCRIPTION_MICRO_MENSUAL,
65
+ isCashBased: true,
66
+ isSocietyTax: false,
67
+ },
68
+ {
69
+ name: 'Offre entreprise IS',
70
+ isYearly: true,
71
+ isMicro: false,
72
+ key: ID_SUBSCRIPTION_SOCIETY_TAX_ANNUAL,
73
+ isCashBased: false,
74
+ isSocietyTax: true,
75
+ },
76
+ {
77
+ name: 'Offre entreprise IS',
78
+ isMicro: false,
79
+ isYearly: false,
80
+ key: ID_SUBSCRIPTION_SOCIETY_TAX_MENSUAL,
81
+ isCashBased: false,
82
+ isSocietyTax: true,
83
+ },
84
+ {
85
+ name: 'Offre entreprise IR',
86
+ isMicro: false,
87
+ isYearly: true,
88
+ isCashBased: true,
89
+ isSocietyTax: false,
90
+ key: ID_SUBSCRIPTION_INCOME_TAX_ANNUAL,
91
+ },
92
+ {
93
+ name: 'Offre entreprise IR',
94
+ isMicro: false,
95
+ isYearly: false,
96
+ key: ID_SUBSCRIPTION_INCOME_TAX_MENSUAL,
97
+ isCashBased: true,
98
+ isSocietyTax: false,
99
+ },
100
+ ];
101
+
102
+ export function getDefaultOffer(params: OfferParams): StripeOffer {
103
+ const { idLegalForm, idComptaType, isYearly, idTaxSystem } = params;
104
+
105
+ const isMicro = LegalFormTypeEnum.AUTO_ENTREPRENEUR === idLegalForm;
106
+ const isCashBased = idComptaType
107
+ ? [ComptaType.CASH_BASED, ComptaType.CASH_BASED_ASSISTANCE, ComptaType.CASH_BASED_SEIZURE].includes(idComptaType)
108
+ : false;
109
+ const isSocietyTax = idTaxSystem === TaxSystem.IS;
110
+
111
+ const newPlan = list.find(
112
+ (l) =>
113
+ l.isMicro === isMicro &&
114
+ l.isYearly === isYearly &&
115
+ l.isCashBased === isCashBased &&
116
+ l.isSocietyTax === isSocietyTax,
117
+ );
118
+
119
+ if (newPlan) {
120
+ return newPlan;
121
+ }
122
+
123
+ return isYearly ? list[2] : list[3];
124
+ }