@silexpert/core 1.1.39 → 1.1.41

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 (127) hide show
  1. package/es/api/resources/FirstStep.d.ts +2 -1
  2. package/es/api/resources/FirstStep.d.ts.map +1 -1
  3. package/es/api/resources/FirstStep.js +3 -0
  4. package/es/api/resources/FirstStep.js.map +1 -1
  5. package/es/types/Enum/Activity.d.ts +50 -0
  6. package/es/types/Enum/Activity.d.ts.map +1 -1
  7. package/es/types/Enum/Activity.js +50 -0
  8. package/es/types/Enum/Activity.js.map +1 -1
  9. package/es/types/Enum/BrandClems.d.ts +164 -0
  10. package/es/types/Enum/BrandClems.d.ts.map +1 -0
  11. package/es/types/Enum/BrandClems.js +155 -0
  12. package/es/types/Enum/BrandClems.js.map +1 -0
  13. package/es/types/Enum/BrandLegalstart.js +3 -3
  14. package/es/types/Enum/BrandLegalstart.js.map +1 -1
  15. package/es/types/Enum/BrandPourcentage.js +2 -2
  16. package/es/types/Enum/BrandPourcentage.js.map +1 -1
  17. package/es/types/Enum/Country.d.ts +200 -0
  18. package/es/types/Enum/Country.d.ts.map +1 -1
  19. package/es/types/Enum/Country.js +393 -0
  20. package/es/types/Enum/Country.js.map +1 -1
  21. package/es/types/Enum/PaymentExpectation.d.ts +18 -0
  22. package/es/types/Enum/PaymentExpectation.d.ts.map +1 -0
  23. package/es/types/Enum/PaymentExpectation.js +66 -0
  24. package/es/types/Enum/PaymentExpectation.js.map +1 -0
  25. package/es/types/Enum/PrestationType.d.ts +4 -1
  26. package/es/types/Enum/PrestationType.d.ts.map +1 -1
  27. package/es/types/Enum/PrestationType.js +54 -0
  28. package/es/types/Enum/PrestationType.js.map +1 -1
  29. package/es/types/Interface/api/exercice/QueryExercice.d.ts +1 -0
  30. package/es/types/Interface/api/exercice/QueryExercice.d.ts.map +1 -1
  31. package/es/types/Interface/api/exercice/QueryExercice.js +7 -0
  32. package/es/types/Interface/api/exercice/QueryExercice.js.map +1 -1
  33. package/es/types/Interface/api/firstStep/Create.d.ts +10 -0
  34. package/es/types/Interface/api/firstStep/Create.d.ts.map +1 -0
  35. package/es/types/Interface/api/firstStep/Create.js +56 -0
  36. package/es/types/Interface/api/firstStep/Create.js.map +1 -0
  37. package/es/types/Interface/api/society/CreateSocietyDetail.d.ts +6 -0
  38. package/es/types/Interface/api/society/CreateSocietyDetail.d.ts.map +1 -0
  39. package/es/types/Interface/api/society/CreateSocietyDetail.js +32 -0
  40. package/es/types/Interface/api/society/CreateSocietyDetail.js.map +1 -0
  41. package/es/types/Interface/api/statutsGeneration/CreateBusinessPartnersAndUsersParams.d.ts +15 -0
  42. package/es/types/Interface/api/statutsGeneration/CreateBusinessPartnersAndUsersParams.d.ts.map +1 -0
  43. package/es/types/Interface/api/statutsGeneration/CreateBusinessPartnersAndUsersParams.js +71 -0
  44. package/es/types/Interface/api/statutsGeneration/CreateBusinessPartnersAndUsersParams.js.map +1 -0
  45. package/es/types/Interface/api/statutsGeneration/SendInviteMailParams.d.ts +4 -0
  46. package/es/types/Interface/api/statutsGeneration/SendInviteMailParams.d.ts.map +1 -0
  47. package/es/types/Interface/api/statutsGeneration/SendInviteMailParams.js +19 -0
  48. package/es/types/Interface/api/statutsGeneration/SendInviteMailParams.js.map +1 -0
  49. package/es/types/Interface/api/statutsGeneration/UpdateExercice.d.ts +5 -0
  50. package/es/types/Interface/api/statutsGeneration/UpdateExercice.d.ts.map +1 -0
  51. package/es/types/Interface/api/statutsGeneration/UpdateExercice.js +26 -0
  52. package/es/types/Interface/api/statutsGeneration/UpdateExercice.js.map +1 -0
  53. package/es/types/Interface/api/statutsGeneration/UpdateExerciceParams.d.ts +5 -0
  54. package/es/types/Interface/api/statutsGeneration/UpdateExerciceParams.d.ts.map +1 -0
  55. package/es/types/Interface/api/statutsGeneration/UpdateExerciceParams.js +26 -0
  56. package/es/types/Interface/api/statutsGeneration/UpdateExerciceParams.js.map +1 -0
  57. package/es/types/Interface/models/ISocietyDetail.d.ts +97 -97
  58. package/es/types/Interface/models/ISocietyDetail.d.ts.map +1 -1
  59. package/es/types/Interface/models/ISocietyDetail.js.map +1 -1
  60. package/es/types/index.d.ts +6 -0
  61. package/es/types/index.d.ts.map +1 -1
  62. package/es/types/index.js +6 -0
  63. package/es/types/index.js.map +1 -1
  64. package/es/utils/amount.d.ts +1 -0
  65. package/es/utils/amount.d.ts.map +1 -1
  66. package/es/utils/amount.js +300 -0
  67. package/es/utils/amount.js.map +1 -1
  68. package/es/utils/vat/3310/century23.d.ts.map +1 -1
  69. package/es/utils/vat/3310/century23.js +6 -5
  70. package/es/utils/vat/3310/century23.js.map +1 -1
  71. package/js/api/resources/FirstStep.js +3 -0
  72. package/js/api/resources/FirstStep.js.map +1 -1
  73. package/js/types/Enum/Activity.js +50 -0
  74. package/js/types/Enum/Activity.js.map +1 -1
  75. package/js/types/Enum/BrandClems.js +157 -0
  76. package/js/types/Enum/BrandClems.js.map +1 -0
  77. package/js/types/Enum/BrandLegalstart.js +3 -3
  78. package/js/types/Enum/BrandLegalstart.js.map +1 -1
  79. package/js/types/Enum/BrandPourcentage.js +2 -2
  80. package/js/types/Enum/BrandPourcentage.js.map +1 -1
  81. package/js/types/Enum/Country.js +780 -0
  82. package/js/types/Enum/Country.js.map +1 -1
  83. package/js/types/Enum/PaymentExpectation.js +60 -0
  84. package/js/types/Enum/PaymentExpectation.js.map +1 -0
  85. package/js/types/Enum/PrestationType.js +54 -0
  86. package/js/types/Enum/PrestationType.js.map +1 -1
  87. package/js/types/Interface/api/exercice/QueryExercice.js +1 -0
  88. package/js/types/Interface/api/exercice/QueryExercice.js.map +1 -1
  89. package/js/types/Interface/api/firstStep/Create.js +28 -0
  90. package/js/types/Interface/api/firstStep/Create.js.map +1 -0
  91. package/js/types/Interface/api/society/CreateSocietyDetail.js +24 -0
  92. package/js/types/Interface/api/society/CreateSocietyDetail.js.map +1 -0
  93. package/js/types/Interface/api/statutsGeneration/CreateBusinessPartnersAndUsersParams.js +34 -0
  94. package/js/types/Interface/api/statutsGeneration/CreateBusinessPartnersAndUsersParams.js.map +1 -0
  95. package/js/types/Interface/api/statutsGeneration/SendInviteMailParams.js +22 -0
  96. package/js/types/Interface/api/statutsGeneration/SendInviteMailParams.js.map +1 -0
  97. package/js/types/Interface/api/statutsGeneration/UpdateExercice.js +23 -0
  98. package/js/types/Interface/api/statutsGeneration/UpdateExercice.js.map +1 -0
  99. package/js/types/Interface/api/statutsGeneration/UpdateExerciceParams.js +23 -0
  100. package/js/types/Interface/api/statutsGeneration/UpdateExerciceParams.js.map +1 -0
  101. package/js/types/Interface/models/ISocietyDetail.js.map +1 -1
  102. package/js/types/index.js +87 -27
  103. package/js/types/index.js.map +1 -1
  104. package/js/utils/amount.js +238 -0
  105. package/js/utils/amount.js.map +1 -1
  106. package/js/utils/vat/3310/century23.js +6 -5
  107. package/js/utils/vat/3310/century23.js.map +1 -1
  108. package/package.json +1 -1
  109. package/ts/api/resources/FirstStep.ts +5 -1
  110. package/ts/types/Enum/Activity.ts +52 -1
  111. package/ts/types/Enum/BrandClems.ts +154 -0
  112. package/ts/types/Enum/BrandLegalstart.ts +3 -3
  113. package/ts/types/Enum/BrandPourcentage.ts +2 -2
  114. package/ts/types/Enum/Country.ts +394 -0
  115. package/ts/types/Enum/PaymentExpectation.ts +65 -0
  116. package/ts/types/Enum/PrestationType.ts +54 -0
  117. package/ts/types/Interface/api/exercice/QueryExercice.ts +6 -0
  118. package/ts/types/Interface/api/firstStep/Create.ts +39 -0
  119. package/ts/types/Interface/api/society/CreateSocietyDetail.ts +19 -0
  120. package/ts/types/Interface/api/statutsGeneration/CreateBusinessPartnersAndUsersParams.ts +54 -0
  121. package/ts/types/Interface/api/statutsGeneration/SendInviteMailParams.ts +10 -0
  122. package/ts/types/Interface/api/statutsGeneration/UpdateExercice.ts +16 -0
  123. package/ts/types/Interface/api/statutsGeneration/UpdateExerciceParams.ts +16 -0
  124. package/ts/types/Interface/models/ISocietyDetail.ts +97 -97
  125. package/ts/types/index.ts +6 -0
  126. package/ts/utils/amount.ts +171 -0
  127. package/ts/utils/vat/3310/century23.ts +7 -5
@@ -47,4 +47,175 @@ export function integerToFormattedAmountObject(
47
47
  ...result,
48
48
  formattedValue: `${result.sign !== MathematicalSign.EQUAL ? `${result.sign} ` : ''}${result.integerValue},${result.centValue}`,
49
49
  };
50
+ }
51
+
52
+ /**
53
+ * Convertit jusqu'à 999 999 999 999 999 (billion) *
54
+ * @param nombre
55
+ * @returns {string}
56
+ */
57
+ function getUnite(nombre: number):string {
58
+ let unite;
59
+ switch (nombre) {
60
+ // case 0: unite = 'zéro'; break;
61
+ case 1: unite = 'un'; break;
62
+ case 2: unite = 'deux'; break;
63
+ case 3: unite = 'trois'; break;
64
+ case 4: unite = 'quatre'; break;
65
+ case 5: unite = 'cinq'; break;
66
+ case 6: unite = 'six'; break;
67
+ case 7: unite = 'sept'; break;
68
+ case 8: unite = 'huit'; break;
69
+ case 9: unite = 'neuf'; break;
70
+ default: unite = 'zéro'; break;
71
+ }// fin switch
72
+ return unite;
73
+ }
74
+
75
+ function getDizaine(nombre: number):string {
76
+ let dizaine;
77
+ switch (nombre) {
78
+ // case 10: dizaine = 'dix'; break;
79
+ case 11: dizaine = 'onze'; break;
80
+ case 12: dizaine = 'douze'; break;
81
+ case 13: dizaine = 'treize'; break;
82
+ case 14: dizaine = 'quatorze'; break;
83
+ case 15: dizaine = 'quinze'; break;
84
+ case 16: dizaine = 'seize'; break;
85
+ case 17: dizaine = 'dix-sept'; break;
86
+ case 18: dizaine = 'dix-huit'; break;
87
+ case 19: dizaine = 'dix-neuf'; break;
88
+ case 20: dizaine = 'vingt'; break;
89
+ case 30: dizaine = 'trente'; break;
90
+ case 40: dizaine = 'quarante'; break;
91
+ case 50: dizaine = 'cinquante'; break;
92
+ case 60: dizaine = 'soixante'; break;
93
+ case 70: dizaine = 'soixante-dix'; break;
94
+ case 80: dizaine = 'quatre-vingt'; break;
95
+ case 90: dizaine = 'quatre-vingt-dix'; break;
96
+ default: dizaine = 'dix'; break;
97
+ }// fin switch
98
+ return dizaine;
99
+ }//-----------------------------------------------------------------------
100
+
101
+ export function convertNumberToLetter(nombre: number): string {
102
+ let quotient: number; let reste: number;
103
+ let numberToLetter = '';
104
+
105
+ if (nombre.toString().replace(/ /gi, '').length > 15) return 'dépassement de capacité';
106
+ if (Number.isNaN(nombre.toString().replace(/ /gi, ''))) return 'Nombre non valide';
107
+
108
+ const nb = parseFloat(nombre.toString().replace(/ /gi, ''));
109
+ if (Math.ceil(nb) !== nb) return 'Nombre avec virgule non géré.';
110
+
111
+ const n = nb.toString().length;
112
+ switch (n) {
113
+ // case 1: numberToLetter = getUnite(nb); break;
114
+ case 2: if (nb > 19) {
115
+ quotient = Math.floor(nb / 10);
116
+ reste = nb % 10;
117
+ if (nb < 71 || (nb > 79 && nb < 91)) {
118
+ if (reste === 0) numberToLetter = getDizaine(quotient * 10);
119
+ if (reste === 1) numberToLetter = `${getDizaine(quotient * 10)}-et-${getUnite(reste)}`;
120
+ if (reste > 1) numberToLetter = `${getDizaine(quotient * 10)}-${getUnite(reste)}`;
121
+ } else numberToLetter = `${getDizaine((quotient - 1) * 10)}-${getDizaine(10 + reste)}`;
122
+ } else numberToLetter = getDizaine(nb);
123
+ break;
124
+ case 3: quotient = Math.floor(nb / 100);
125
+ reste = nb % 100;
126
+ if (quotient === 1 && reste === 0) numberToLetter = 'cent';
127
+ if (quotient === 1 && reste !== 0) numberToLetter = `${'cent '}${convertNumberToLetter(reste)}`;
128
+ if (quotient > 1 && reste === 0) numberToLetter = `${getUnite(quotient)} cents`;
129
+ if (quotient > 1 && reste !== 0) numberToLetter = `${getUnite(quotient)} cent ${convertNumberToLetter(reste)}`;
130
+ break;
131
+ case 4: quotient = Math.floor(nb / 1000);
132
+ reste = nb - quotient * 1000;
133
+ if (quotient === 1 && reste === 0) numberToLetter = 'mille';
134
+ if (quotient === 1 && reste !== 0) numberToLetter = `${'mille '}${convertNumberToLetter(reste)}`;
135
+ if (quotient > 1 && reste === 0) numberToLetter = `${convertNumberToLetter(quotient)} mille`;
136
+ if (quotient > 1 && reste !== 0) numberToLetter = `${convertNumberToLetter(quotient)} mille ${convertNumberToLetter(reste)}`;
137
+ break;
138
+ case 5: quotient = Math.floor(nb / 1000);
139
+ reste = nb - quotient * 1000;
140
+ if (quotient === 1 && reste === 0) numberToLetter = 'mille';
141
+ if (quotient === 1 && reste !== 0) numberToLetter = `${'mille '}${convertNumberToLetter(reste)}`;
142
+ if (quotient > 1 && reste === 0) numberToLetter = `${convertNumberToLetter(quotient)} mille`;
143
+ if (quotient > 1 && reste !== 0) numberToLetter = `${convertNumberToLetter(quotient)} mille ${convertNumberToLetter(reste)}`;
144
+ break;
145
+ case 6: quotient = Math.floor(nb / 1000);
146
+ reste = nb - quotient * 1000;
147
+ if (quotient === 1 && reste === 0) numberToLetter = 'mille';
148
+ if (quotient === 1 && reste !== 0) numberToLetter = `${'mille '}${convertNumberToLetter(reste)}`;
149
+ if (quotient > 1 && reste === 0) numberToLetter = `${convertNumberToLetter(quotient)} mille`;
150
+ if (quotient > 1 && reste !== 0) numberToLetter = `${convertNumberToLetter(quotient)} mille ${convertNumberToLetter(reste)}`;
151
+ break;
152
+ case 7: quotient = Math.floor(nb / 1000000);
153
+ reste = nb % 1000000;
154
+ if (quotient === 1 && reste === 0) numberToLetter = 'un million';
155
+ if (quotient === 1 && reste !== 0) numberToLetter = `${'un million '}${convertNumberToLetter(reste)}`;
156
+ if (quotient > 1 && reste === 0) numberToLetter = `${convertNumberToLetter(quotient)} millions`;
157
+ if (quotient > 1 && reste !== 0) numberToLetter = `${convertNumberToLetter(quotient)} millions ${convertNumberToLetter(reste)}`;
158
+ break;
159
+ case 8: quotient = Math.floor(nb / 1000000);
160
+ reste = nb % 1000000;
161
+ if (quotient === 1 && reste === 0) numberToLetter = 'un million';
162
+ if (quotient === 1 && reste !== 0) numberToLetter = `${'un million '}${convertNumberToLetter(reste)}`;
163
+ if (quotient > 1 && reste === 0) numberToLetter = `${convertNumberToLetter(quotient)} millions`;
164
+ if (quotient > 1 && reste !== 0) numberToLetter = `${convertNumberToLetter(quotient)} millions ${convertNumberToLetter(reste)}`;
165
+ break;
166
+ case 9: quotient = Math.floor(nb / 1000000);
167
+ reste = nb % 1000000;
168
+ if (quotient === 1 && reste === 0) numberToLetter = 'un million';
169
+ if (quotient === 1 && reste !== 0) numberToLetter = `${'un million '}${convertNumberToLetter(reste)}`;
170
+ if (quotient > 1 && reste === 0) numberToLetter = `${convertNumberToLetter(quotient)} millions`;
171
+ if (quotient > 1 && reste !== 0) numberToLetter = `${convertNumberToLetter(quotient)} millions ${convertNumberToLetter(reste)}`;
172
+ break;
173
+ case 10: quotient = Math.floor(nb / 1000000000);
174
+ reste = nb - quotient * 1000000000;
175
+ if (quotient === 1 && reste === 0) numberToLetter = 'un milliard';
176
+ if (quotient === 1 && reste !== 0) numberToLetter = `${'un milliard '}${convertNumberToLetter(reste)}`;
177
+ if (quotient > 1 && reste === 0) numberToLetter = `${convertNumberToLetter(quotient)} milliards`;
178
+ if (quotient > 1 && reste !== 0) numberToLetter = `${convertNumberToLetter(quotient)} milliards ${convertNumberToLetter(reste)}`;
179
+ break;
180
+ case 11: quotient = Math.floor(nb / 1000000000);
181
+ reste = nb - quotient * 1000000000;
182
+ if (quotient === 1 && reste === 0) numberToLetter = 'un milliard';
183
+ if (quotient === 1 && reste !== 0) numberToLetter = `${'un milliard '}${convertNumberToLetter(reste)}`;
184
+ if (quotient > 1 && reste === 0) numberToLetter = `${convertNumberToLetter(quotient)} milliards`;
185
+ if (quotient > 1 && reste !== 0) numberToLetter = `${convertNumberToLetter(quotient)} milliards ${convertNumberToLetter(reste)}`;
186
+ break;
187
+ case 12: quotient = Math.floor(nb / 1000000000);
188
+ reste = nb - quotient * 1000000000;
189
+ if (quotient === 1 && reste === 0) numberToLetter = 'un milliard';
190
+ if (quotient === 1 && reste !== 0) numberToLetter = `${'un milliard '}${convertNumberToLetter(reste)}`;
191
+ if (quotient > 1 && reste === 0) numberToLetter = `${convertNumberToLetter(quotient)} milliards`;
192
+ if (quotient > 1 && reste !== 0) numberToLetter = `${convertNumberToLetter(quotient)} milliards ${convertNumberToLetter(reste)}`;
193
+ break;
194
+ case 13: quotient = Math.floor(nb / 1000000000000);
195
+ reste = nb - quotient * 1000000000000;
196
+ if (quotient === 1 && reste === 0) numberToLetter = 'un billion';
197
+ if (quotient === 1 && reste !== 0) numberToLetter = `${'un billion '}${convertNumberToLetter(reste)}`;
198
+ if (quotient > 1 && reste === 0) numberToLetter = `${convertNumberToLetter(quotient)} billions`;
199
+ if (quotient > 1 && reste !== 0) numberToLetter = `${convertNumberToLetter(quotient)} billions ${convertNumberToLetter(reste)}`;
200
+ break;
201
+ case 14: quotient = Math.floor(nb / 1000000000000);
202
+ reste = nb - quotient * 1000000000000;
203
+ if (quotient === 1 && reste === 0) numberToLetter = 'un billion';
204
+ if (quotient === 1 && reste !== 0) numberToLetter = `${'un billion '}${convertNumberToLetter(reste)}`;
205
+ if (quotient > 1 && reste === 0) numberToLetter = `${convertNumberToLetter(quotient)} billions`;
206
+ if (quotient > 1 && reste !== 0) numberToLetter = `${convertNumberToLetter(quotient)} billions ${convertNumberToLetter(reste)}`;
207
+ break;
208
+ case 15: quotient = Math.floor(nb / 1000000000000);
209
+ reste = nb - quotient * 1000000000000;
210
+ if (quotient === 1 && reste === 0) numberToLetter = 'un billion';
211
+ if (quotient === 1 && reste !== 0) numberToLetter = `${'un billion '}${convertNumberToLetter(reste)}`;
212
+ if (quotient > 1 && reste === 0) numberToLetter = `${convertNumberToLetter(quotient)} billions`;
213
+ if (quotient > 1 && reste !== 0) numberToLetter = `${convertNumberToLetter(quotient)} billions ${convertNumberToLetter(reste)}`;
214
+ break;
215
+ default: numberToLetter = getUnite(nb); break;
216
+ } // fin switch
217
+ /* respect de l'accord de quatre-vingt */
218
+ if (numberToLetter.substr(numberToLetter.length - 'quatre-vingt'.length, 'quatre-vingt'.length) === 'quatre-vingt') numberToLetter += 's';
219
+
220
+ return numberToLetter;
50
221
  }
@@ -43,7 +43,7 @@ export function getCerfa3310Century23Payload(accountingEntries: IAccountingEntry
43
43
  if (mxCollected < 0) { mxToSub += Math.abs(mxCollected); }
44
44
  if (mxDeducted > 0) { mxToSub += mxDeducted; }
45
45
 
46
- // Opérations taxées
46
+ // Opérations taxées -
47
47
  const taxedServicesEntries = vatEntries.filter((ae) => frenchVat.includes(ae.idVat) && withTaxVat.includes(ae.idVat));
48
48
  const servicesAccounts = ['701', '702', '703', '704', '705', '706', '707', '708', '472'];
49
49
  const taxedServicesFromFrance = setZeroIfIsNegative(getAmountByAccountNumber(taxedServicesEntries, servicesAccounts, 0, true));
@@ -54,12 +54,14 @@ export function getCerfa3310Century23Payload(accountingEntries: IAccountingEntry
54
54
  const taxedImportEntries = vatEntries.filter((ae) => importationVat.includes(ae.idVat) && withTaxVat.includes(ae.idVat));
55
55
  const taxedImportAccounts = ['6'];
56
56
  const taxedImport = setZeroIfIsNegative(getAmountByAccountNumber(taxedImportEntries, taxedImportAccounts, 0, true));
57
- const taxedIntracommunityAcquisitions = setZeroIfIsNegative(getAmountByAccountNumber(vatEntries.filter((ae) => intracomVat.includes(ae.idVat) && withTaxVat.includes(ae.idVat)), ['601', '602', '603', '605', '606', '607'], 0, true));
57
+
58
+ const intracommunityAccounts2 = ['601', '602', '603', '605', '606', '607'];
59
+ const taxedIntracommunityAcquisitions = setZeroIfIsNegative(getAmountByAccountNumber(vatEntries.filter((ae) => intracomVat.includes(ae.idVat) && withTaxVat.includes(ae.idVat)), intracommunityAccounts2, 0, true));
58
60
  // Opérations non taxées
59
61
  const untaxedExportationNotInEurope = setZeroIfIsNegative(getAmountByAccountNumber(vatEntries.filter((ae) => importationVat.includes(ae.idVat) && withoutTaxVat.includes(ae.idVat)), servicesAccounts, 0, true));
60
62
  const untaxedOther = setZeroIfIsNegative(getAmountByAccountNumber(vatEntries.filter((ae) => frenchVat.includes(ae.idVat) && withoutTaxVat.includes(ae.idVat)), ['7'], 0, true));
61
63
  const untaxedImport = setZeroIfIsNegative(getAmountByAccountNumber(vatEntries.filter((ae) => importationVat.includes(ae.idVat) && withoutTaxVat.includes(ae.idVat)), ['6'], 0, true));
62
- const untaxedIntracomunity = setZeroIfIsNegative(getAmountByAccountNumber(vatEntries.filter((ae) => intracomVat.includes(ae.idVat) && withoutTaxVat.includes(ae.idVat)), ['601', '602', '603', '605', '606', '607'], 0, true));
64
+ const untaxedIntracomunity = setZeroIfIsNegative(getAmountByAccountNumber(vatEntries.filter((ae) => intracomVat.includes(ae.idVat) && withoutTaxVat.includes(ae.idVat)), intracommunityAccounts2, 0, true));
63
65
  const untaxedIntracommunityDelivery = setZeroIfIsNegative(getAmountByAccountNumber(vatEntries.filter((ae) => withoutTaxVat.includes(ae.idVat) && intracomVat.includes(ae.idVat)), ['701', '707'], 0, true));
64
66
  // TVA brute
65
67
  const normalRate = setZeroIfIsNegative(getAmountByAccountNumber(taxedServicesEntries.filter((e) => vats.filter((v) => v.value === 20).map((v) => v.id).includes(e.idVat)), servicesAccounts, 0, true)
@@ -95,7 +97,7 @@ export function getCerfa3310Century23Payload(accountingEntries: IAccountingEntry
95
97
  const importReducedRate2Dot1Tax = _round(importReducedRate2Dot1 * 0.021);
96
98
  const importReducedRate1Dot05 = setZeroIfIsNegative(getAmountByAccountNumber(taxedImportEntries.filter((e) => vats.filter((v) => v.value === 1.05).map((v) => v.id).includes(e.idVat)), taxedImportAccounts, 0, true));
97
99
  const importReducedRate1Dot05Tax = _round(importReducedRate1Dot05 * 0.0105);
98
- const intracommunityTax = setZeroIfIsNegative(getTaxAmountByAccountNumber(intracommunityServiceEntries, intracommunityServiceAccounts));
100
+ const intracommunityTax = setZeroIfIsNegative(getTaxAmountByAccountNumber(intracommunityServiceEntries, [...intracommunityServiceAccounts, ...intracommunityAccounts2]));
99
101
 
100
102
  // TVA Déductible
101
103
  const immobilizationTax = setZeroIfIsNegative(getTaxAmountByAccountNumber(vatEntries, ['2']));
@@ -107,7 +109,7 @@ export function getCerfa3310Century23Payload(accountingEntries: IAccountingEntry
107
109
  const isNil = payload.isNil === true;
108
110
  const isHolidayDeposit = payload.isHolidayDeposit === true;
109
111
 
110
- const sumToAdd = isNil ? 0 : isHolidayDeposit ? (_round((payload.previousVatDeclaration?.toPay?.total ?? 0) * 0.8, 2)) : (_round(payload.vat?.sumToAdd ?? 0) + mxToAdd);
112
+ const sumToAdd = setZeroIfIsNegative(isNil ? 0 : isHolidayDeposit ? (_round((payload.previousVatDeclaration?.toPay?.total ?? 0) * 0.8)) : (_round(payload.vat?.sumToAdd ?? 0) + mxToAdd));
111
113
  const comment = isHolidayDeposit ? `ACOMPTE CONGES ${payload.comment ?? ''}` : (payload.comment ?? null);
112
114
 
113
115
  const initialPayload: Cerfa3310_2023 = {