@silexpert/core 1.3.84 → 1.3.86

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 (397) hide show
  1. package/dist/cjs/api/resources/Payment.d.ts +2 -1
  2. package/dist/cjs/api/resources/Payment.d.ts.map +1 -1
  3. package/dist/cjs/api/resources/Payment.js +3 -0
  4. package/dist/cjs/api/resources/Payment.js.map +1 -1
  5. package/dist/cjs/api/resources/PaymentExpectation.d.ts +2 -1
  6. package/dist/cjs/api/resources/PaymentExpectation.d.ts.map +1 -1
  7. package/dist/cjs/api/resources/PaymentExpectation.js +3 -0
  8. package/dist/cjs/api/resources/PaymentExpectation.js.map +1 -1
  9. package/dist/cjs/types/Enum/AbsenceType.js +1 -1
  10. package/dist/cjs/types/Enum/AbsenceType.js.map +1 -1
  11. package/dist/cjs/types/Enum/AdminAcceptance.js +1 -1
  12. package/dist/cjs/types/Enum/AdminAcceptance.js.map +1 -1
  13. package/dist/cjs/types/Enum/AppointmentState.js +2 -2
  14. package/dist/cjs/types/Enum/AppointmentState.js.map +1 -1
  15. package/dist/cjs/types/Enum/BalanceSheet.js +11 -11
  16. package/dist/cjs/types/Enum/BalanceSheet.js.map +1 -1
  17. package/dist/cjs/types/Enum/BalanceSheetQuestionWording.d.ts.map +1 -1
  18. package/dist/cjs/types/Enum/BalanceSheetQuestionWording.js.map +1 -1
  19. package/dist/cjs/types/Enum/CityOfGreffe.js +1 -1
  20. package/dist/cjs/types/Enum/CityOfGreffe.js.map +1 -1
  21. package/dist/cjs/types/Enum/CommercialManagement.js +3 -3
  22. package/dist/cjs/types/Enum/CommercialManagement.js.map +1 -1
  23. package/dist/cjs/types/Enum/CommercialOfferType.js +10 -10
  24. package/dist/cjs/types/Enum/CommercialOfferType.js.map +1 -1
  25. package/dist/cjs/types/Enum/ConnectionError.js +4 -4
  26. package/dist/cjs/types/Enum/ConnectionError.js.map +1 -1
  27. package/dist/cjs/types/Enum/Consistency.js +3 -3
  28. package/dist/cjs/types/Enum/Consistency.js.map +1 -1
  29. package/dist/cjs/types/Enum/ConstitutionState.js +1 -1
  30. package/dist/cjs/types/Enum/ConstitutionState.js.map +1 -1
  31. package/dist/cjs/types/Enum/Contract.js +1 -1
  32. package/dist/cjs/types/Enum/Contract.js.map +1 -1
  33. package/dist/cjs/types/Enum/Country.js +6 -6
  34. package/dist/cjs/types/Enum/Country.js.map +1 -1
  35. package/dist/cjs/types/Enum/Das.js +2 -2
  36. package/dist/cjs/types/Enum/Das.js.map +1 -1
  37. package/dist/cjs/types/Enum/DepositDocumentType.js +13 -13
  38. package/dist/cjs/types/Enum/DepositDocumentType.js.map +1 -1
  39. package/dist/cjs/types/Enum/DocumentForHumanResourceType.js +1 -1
  40. package/dist/cjs/types/Enum/DocumentForHumanResourceType.js.map +1 -1
  41. package/dist/cjs/types/Enum/EquipmentAvailability.js +1 -1
  42. package/dist/cjs/types/Enum/EquipmentAvailability.js.map +1 -1
  43. package/dist/cjs/types/Enum/EstimateInvoice.js +1 -1
  44. package/dist/cjs/types/Enum/EstimateInvoice.js.map +1 -1
  45. package/dist/cjs/types/Enum/FiscalRegime.js +2 -2
  46. package/dist/cjs/types/Enum/FiscalRegime.js.map +1 -1
  47. package/dist/cjs/types/Enum/GeneralThirdParty.js +4 -4
  48. package/dist/cjs/types/Enum/GeneralThirdParty.js.map +1 -1
  49. package/dist/cjs/types/Enum/GlobalRegime.js +1 -1
  50. package/dist/cjs/types/Enum/GlobalRegime.js.map +1 -1
  51. package/dist/cjs/types/Enum/ImmobilizationType.js +4 -4
  52. package/dist/cjs/types/Enum/ImmobilizationType.js.map +1 -1
  53. package/dist/cjs/types/Enum/IncomeStatement.js +10 -10
  54. package/dist/cjs/types/Enum/IncomeStatement.js.map +1 -1
  55. package/dist/cjs/types/Enum/IntermediateManagementRebate.js +6 -6
  56. package/dist/cjs/types/Enum/IntermediateManagementRebate.js.map +1 -1
  57. package/dist/cjs/types/Enum/LetterType.js +1 -1
  58. package/dist/cjs/types/Enum/LetterType.js.map +1 -1
  59. package/dist/cjs/types/Enum/Log.d.ts +3 -1
  60. package/dist/cjs/types/Enum/Log.d.ts.map +1 -1
  61. package/dist/cjs/types/Enum/Log.js +17 -15
  62. package/dist/cjs/types/Enum/Log.js.map +1 -1
  63. package/dist/cjs/types/Enum/MaritalStatus.js +1 -1
  64. package/dist/cjs/types/Enum/MaritalStatus.js.map +1 -1
  65. package/dist/cjs/types/Enum/PaymentRecovery.js +6 -6
  66. package/dist/cjs/types/Enum/PaymentRecovery.js.map +1 -1
  67. package/dist/cjs/types/Enum/PrestationType.js +15 -15
  68. package/dist/cjs/types/Enum/PrestationType.js.map +1 -1
  69. package/dist/cjs/types/Enum/ReasonNotSubscribed.js +4 -4
  70. package/dist/cjs/types/Enum/ReasonNotSubscribed.js.map +1 -1
  71. package/dist/cjs/types/Enum/RevisionGuide.d.ts.map +1 -1
  72. package/dist/cjs/types/Enum/RevisionGuide.js +1 -1
  73. package/dist/cjs/types/Enum/RevisionGuide.js.map +1 -1
  74. package/dist/cjs/types/Enum/SalariesType.js +1 -1
  75. package/dist/cjs/types/Enum/SalariesType.js.map +1 -1
  76. package/dist/cjs/types/Enum/SalesContractBrandClementine.js +7 -7
  77. package/dist/cjs/types/Enum/SalesContractBrandClementine.js.map +1 -1
  78. package/dist/cjs/types/Enum/SalesContractBrandLegalstart.js +2 -2
  79. package/dist/cjs/types/Enum/SalesContractBrandLegalstart.js.map +1 -1
  80. package/dist/cjs/types/Enum/SalesContractBrandPourcentage.js +6 -6
  81. package/dist/cjs/types/Enum/SalesContractBrandPourcentage.js.map +1 -1
  82. package/dist/cjs/types/Enum/StatutsSection.js +7 -7
  83. package/dist/cjs/types/Enum/StatutsSection.js.map +1 -1
  84. package/dist/cjs/types/Enum/TaskResponseType.js +6 -6
  85. package/dist/cjs/types/Enum/TaskResponseType.js.map +1 -1
  86. package/dist/cjs/types/Enum/ToRecallRating.js +1 -1
  87. package/dist/cjs/types/Enum/ToRecallRating.js.map +1 -1
  88. package/dist/cjs/types/Enum/VatControl.js +2 -2
  89. package/dist/cjs/types/Enum/VatControl.js.map +1 -1
  90. package/dist/cjs/types/Enum/Vehicle.js +2 -2
  91. package/dist/cjs/types/Enum/Vehicle.js.map +1 -1
  92. package/dist/cjs/types/Enum/ZoneCode.js +2 -2
  93. package/dist/cjs/types/Enum/ZoneCode.js.map +1 -1
  94. package/dist/cjs/types/Interface/api/3cx/Query3cxSearch.js +3 -3
  95. package/dist/cjs/types/Interface/api/3cx/Query3cxSearch.js.map +1 -1
  96. package/dist/cjs/types/Interface/api/PaymentRecovery/Create.js +2 -2
  97. package/dist/cjs/types/Interface/api/PaymentRecovery/Create.js.map +1 -1
  98. package/dist/cjs/types/Interface/api/commercialManagement/Create.js +1 -1
  99. package/dist/cjs/types/Interface/api/commercialManagement/Create.js.map +1 -1
  100. package/dist/cjs/types/Interface/api/customerProviderOperation/CreateCustomerProviderOperation.js +1 -1
  101. package/dist/cjs/types/Interface/api/customerProviderOperation/CreateCustomerProviderOperation.js.map +1 -1
  102. package/dist/cjs/types/Interface/api/loan/CreateLoan.js +1 -1
  103. package/dist/cjs/types/Interface/api/loan/CreateLoan.js.map +1 -1
  104. package/dist/cjs/types/Interface/api/payment/Params.d.ts +14 -1
  105. package/dist/cjs/types/Interface/api/payment/Params.d.ts.map +1 -1
  106. package/dist/cjs/types/Interface/api/payment/Params.js +84 -0
  107. package/dist/cjs/types/Interface/api/payment/Params.js.map +1 -1
  108. package/dist/cjs/types/Interface/api/stripe/QueryStripe.d.ts +3 -0
  109. package/dist/cjs/types/Interface/api/stripe/QueryStripe.d.ts.map +1 -1
  110. package/dist/cjs/types/Interface/api/stripe/QueryStripe.js +9 -1
  111. package/dist/cjs/types/Interface/api/stripe/QueryStripe.js.map +1 -1
  112. package/dist/cjs/types/Interface/api/tax/CreateTax.js +7 -7
  113. package/dist/cjs/types/Interface/api/tax/CreateTax.js.map +1 -1
  114. package/dist/cjs/types/Interface/api/taxDeadline/QueryTaxDeadline.js +7 -7
  115. package/dist/cjs/types/Interface/api/taxDeadline/QueryTaxDeadline.js.map +1 -1
  116. package/dist/cjs/types/Interface/api/user/RegisterProspect.d.ts +2 -0
  117. package/dist/cjs/types/Interface/api/user/RegisterProspect.d.ts.map +1 -1
  118. package/dist/cjs/types/Interface/api/user/RegisterProspect.js +6 -0
  119. package/dist/cjs/types/Interface/api/user/RegisterProspect.js.map +1 -1
  120. package/dist/cjs/types/Interface/models/IPayment.d.ts +2 -0
  121. package/dist/cjs/types/Interface/models/IPayment.d.ts.map +1 -1
  122. package/dist/cjs/types/Interface/models/IPayment.js.map +1 -1
  123. package/dist/cjs/types/index.d.ts +0 -1
  124. package/dist/cjs/types/index.d.ts.map +1 -1
  125. package/dist/cjs/types/index.js +0 -1
  126. package/dist/cjs/types/index.js.map +1 -1
  127. package/dist/cjs/utils/cerfa.js +2 -2
  128. package/dist/cjs/utils/cerfa.js.map +1 -1
  129. package/dist/cjs/utils/checkup.js +17 -17
  130. package/dist/cjs/utils/checkup.js.map +1 -1
  131. package/dist/cjs/utils/commercialManagement/internationalization/choices.js +19 -19
  132. package/dist/cjs/utils/commercialManagement/internationalization/choices.js.map +1 -1
  133. package/dist/cjs/utils/email.js +1 -1
  134. package/dist/cjs/utils/email.js.map +1 -1
  135. package/dist/cjs/utils/statutsGeneration.js +1 -1
  136. package/dist/cjs/utils/statutsGeneration.js.map +1 -1
  137. package/dist/cjs/utils/tests/payment.spec.js +1 -1
  138. package/dist/cjs/utils/tests/payment.spec.js.map +1 -1
  139. package/dist/cjs/utils/vat/3310/century23.d.ts.map +1 -1
  140. package/dist/cjs/utils/vat/3310/century23.js +24 -46
  141. package/dist/cjs/utils/vat/3310/century23.js.map +1 -1
  142. package/dist/cjs/utils/vat/3310/century24.d.ts.map +1 -1
  143. package/dist/cjs/utils/vat/3310/century24.js +24 -46
  144. package/dist/cjs/utils/vat/3310/century24.js.map +1 -1
  145. package/dist/cjs/utils/vat/3310/century25.d.ts.map +1 -1
  146. package/dist/cjs/utils/vat/3310/century25.js +28 -50
  147. package/dist/cjs/utils/vat/3310/century25.js.map +1 -1
  148. package/dist/cjs/utils/vat/3514/century22.js +2 -2
  149. package/dist/cjs/utils/vat/3514/century22.js.map +1 -1
  150. package/dist/cjs/utils/vat/3514/century23.js +3 -3
  151. package/dist/cjs/utils/vat/3514/century23.js.map +1 -1
  152. package/dist/cjs/utils/vat/3517/century23.js +50 -50
  153. package/dist/cjs/utils/vat/3517/century23.js.map +1 -1
  154. package/dist/cjs/utils/vat/3517/century25.js +53 -53
  155. package/dist/cjs/utils/vat/3517/century25.js.map +1 -1
  156. package/dist/cjs/utils/vat/utils.d.ts +1 -1
  157. package/dist/cjs/utils/vat/utils.d.ts.map +1 -1
  158. package/dist/cjs/utils/vat/utils.js +2 -2
  159. package/dist/cjs/utils/vat/utils.js.map +1 -1
  160. package/dist/mjs/api/resources/Payment.d.ts +2 -1
  161. package/dist/mjs/api/resources/Payment.d.ts.map +1 -1
  162. package/dist/mjs/api/resources/Payment.js +3 -0
  163. package/dist/mjs/api/resources/Payment.js.map +1 -1
  164. package/dist/mjs/api/resources/PaymentExpectation.d.ts +2 -1
  165. package/dist/mjs/api/resources/PaymentExpectation.d.ts.map +1 -1
  166. package/dist/mjs/api/resources/PaymentExpectation.js +3 -0
  167. package/dist/mjs/api/resources/PaymentExpectation.js.map +1 -1
  168. package/dist/mjs/types/Enum/AbsenceType.js +1 -1
  169. package/dist/mjs/types/Enum/AbsenceType.js.map +1 -1
  170. package/dist/mjs/types/Enum/AdminAcceptance.js +1 -1
  171. package/dist/mjs/types/Enum/AdminAcceptance.js.map +1 -1
  172. package/dist/mjs/types/Enum/AppointmentState.js +2 -2
  173. package/dist/mjs/types/Enum/AppointmentState.js.map +1 -1
  174. package/dist/mjs/types/Enum/BalanceSheet.js +11 -11
  175. package/dist/mjs/types/Enum/BalanceSheet.js.map +1 -1
  176. package/dist/mjs/types/Enum/BalanceSheetQuestionWording.d.ts.map +1 -1
  177. package/dist/mjs/types/Enum/BalanceSheetQuestionWording.js.map +1 -1
  178. package/dist/mjs/types/Enum/CityOfGreffe.js +1 -1
  179. package/dist/mjs/types/Enum/CityOfGreffe.js.map +1 -1
  180. package/dist/mjs/types/Enum/CommercialManagement.js +3 -3
  181. package/dist/mjs/types/Enum/CommercialManagement.js.map +1 -1
  182. package/dist/mjs/types/Enum/CommercialOfferType.js +10 -10
  183. package/dist/mjs/types/Enum/CommercialOfferType.js.map +1 -1
  184. package/dist/mjs/types/Enum/ConnectionError.js +4 -4
  185. package/dist/mjs/types/Enum/ConnectionError.js.map +1 -1
  186. package/dist/mjs/types/Enum/Consistency.js +3 -3
  187. package/dist/mjs/types/Enum/Consistency.js.map +1 -1
  188. package/dist/mjs/types/Enum/ConstitutionState.js +1 -1
  189. package/dist/mjs/types/Enum/ConstitutionState.js.map +1 -1
  190. package/dist/mjs/types/Enum/Contract.js +1 -1
  191. package/dist/mjs/types/Enum/Contract.js.map +1 -1
  192. package/dist/mjs/types/Enum/Country.js +6 -6
  193. package/dist/mjs/types/Enum/Country.js.map +1 -1
  194. package/dist/mjs/types/Enum/Das.js +2 -2
  195. package/dist/mjs/types/Enum/Das.js.map +1 -1
  196. package/dist/mjs/types/Enum/DepositDocumentType.js +13 -13
  197. package/dist/mjs/types/Enum/DepositDocumentType.js.map +1 -1
  198. package/dist/mjs/types/Enum/DocumentForHumanResourceType.js +1 -1
  199. package/dist/mjs/types/Enum/DocumentForHumanResourceType.js.map +1 -1
  200. package/dist/mjs/types/Enum/EquipmentAvailability.js +1 -1
  201. package/dist/mjs/types/Enum/EquipmentAvailability.js.map +1 -1
  202. package/dist/mjs/types/Enum/EstimateInvoice.js +1 -1
  203. package/dist/mjs/types/Enum/EstimateInvoice.js.map +1 -1
  204. package/dist/mjs/types/Enum/FiscalRegime.js +2 -2
  205. package/dist/mjs/types/Enum/FiscalRegime.js.map +1 -1
  206. package/dist/mjs/types/Enum/GeneralThirdParty.js +4 -4
  207. package/dist/mjs/types/Enum/GeneralThirdParty.js.map +1 -1
  208. package/dist/mjs/types/Enum/GlobalRegime.js +1 -1
  209. package/dist/mjs/types/Enum/GlobalRegime.js.map +1 -1
  210. package/dist/mjs/types/Enum/ImmobilizationType.js +4 -4
  211. package/dist/mjs/types/Enum/ImmobilizationType.js.map +1 -1
  212. package/dist/mjs/types/Enum/IncomeStatement.js +10 -10
  213. package/dist/mjs/types/Enum/IncomeStatement.js.map +1 -1
  214. package/dist/mjs/types/Enum/IntermediateManagementRebate.js +6 -6
  215. package/dist/mjs/types/Enum/IntermediateManagementRebate.js.map +1 -1
  216. package/dist/mjs/types/Enum/LetterType.js +1 -1
  217. package/dist/mjs/types/Enum/LetterType.js.map +1 -1
  218. package/dist/mjs/types/Enum/Log.d.ts +3 -1
  219. package/dist/mjs/types/Enum/Log.d.ts.map +1 -1
  220. package/dist/mjs/types/Enum/Log.js +17 -15
  221. package/dist/mjs/types/Enum/Log.js.map +1 -1
  222. package/dist/mjs/types/Enum/MaritalStatus.js +1 -1
  223. package/dist/mjs/types/Enum/MaritalStatus.js.map +1 -1
  224. package/dist/mjs/types/Enum/PaymentRecovery.js +6 -6
  225. package/dist/mjs/types/Enum/PaymentRecovery.js.map +1 -1
  226. package/dist/mjs/types/Enum/PrestationType.js +15 -15
  227. package/dist/mjs/types/Enum/PrestationType.js.map +1 -1
  228. package/dist/mjs/types/Enum/ReasonNotSubscribed.js +4 -4
  229. package/dist/mjs/types/Enum/ReasonNotSubscribed.js.map +1 -1
  230. package/dist/mjs/types/Enum/RevisionGuide.d.ts.map +1 -1
  231. package/dist/mjs/types/Enum/RevisionGuide.js +1 -1
  232. package/dist/mjs/types/Enum/RevisionGuide.js.map +1 -1
  233. package/dist/mjs/types/Enum/SalariesType.js +1 -1
  234. package/dist/mjs/types/Enum/SalariesType.js.map +1 -1
  235. package/dist/mjs/types/Enum/SalesContractBrandClementine.js +7 -7
  236. package/dist/mjs/types/Enum/SalesContractBrandClementine.js.map +1 -1
  237. package/dist/mjs/types/Enum/SalesContractBrandLegalstart.js +2 -2
  238. package/dist/mjs/types/Enum/SalesContractBrandLegalstart.js.map +1 -1
  239. package/dist/mjs/types/Enum/SalesContractBrandPourcentage.js +6 -6
  240. package/dist/mjs/types/Enum/SalesContractBrandPourcentage.js.map +1 -1
  241. package/dist/mjs/types/Enum/StatutsSection.js +7 -7
  242. package/dist/mjs/types/Enum/StatutsSection.js.map +1 -1
  243. package/dist/mjs/types/Enum/TaskResponseType.js +6 -6
  244. package/dist/mjs/types/Enum/TaskResponseType.js.map +1 -1
  245. package/dist/mjs/types/Enum/ToRecallRating.js +1 -1
  246. package/dist/mjs/types/Enum/ToRecallRating.js.map +1 -1
  247. package/dist/mjs/types/Enum/VatControl.js +2 -2
  248. package/dist/mjs/types/Enum/VatControl.js.map +1 -1
  249. package/dist/mjs/types/Enum/Vehicle.js +2 -2
  250. package/dist/mjs/types/Enum/Vehicle.js.map +1 -1
  251. package/dist/mjs/types/Enum/ZoneCode.js +2 -2
  252. package/dist/mjs/types/Enum/ZoneCode.js.map +1 -1
  253. package/dist/mjs/types/Interface/api/3cx/Query3cxSearch.js +3 -3
  254. package/dist/mjs/types/Interface/api/3cx/Query3cxSearch.js.map +1 -1
  255. package/dist/mjs/types/Interface/api/PaymentRecovery/Create.js +2 -2
  256. package/dist/mjs/types/Interface/api/PaymentRecovery/Create.js.map +1 -1
  257. package/dist/mjs/types/Interface/api/commercialManagement/Create.js +1 -1
  258. package/dist/mjs/types/Interface/api/commercialManagement/Create.js.map +1 -1
  259. package/dist/mjs/types/Interface/api/customerProviderOperation/CreateCustomerProviderOperation.js +1 -1
  260. package/dist/mjs/types/Interface/api/customerProviderOperation/CreateCustomerProviderOperation.js.map +1 -1
  261. package/dist/mjs/types/Interface/api/loan/CreateLoan.js +1 -1
  262. package/dist/mjs/types/Interface/api/loan/CreateLoan.js.map +1 -1
  263. package/dist/mjs/types/Interface/api/payment/Params.d.ts +14 -1
  264. package/dist/mjs/types/Interface/api/payment/Params.d.ts.map +1 -1
  265. package/dist/mjs/types/Interface/api/payment/Params.js +98 -1
  266. package/dist/mjs/types/Interface/api/payment/Params.js.map +1 -1
  267. package/dist/mjs/types/Interface/api/stripe/QueryStripe.d.ts +3 -0
  268. package/dist/mjs/types/Interface/api/stripe/QueryStripe.d.ts.map +1 -1
  269. package/dist/mjs/types/Interface/api/stripe/QueryStripe.js +8 -0
  270. package/dist/mjs/types/Interface/api/stripe/QueryStripe.js.map +1 -1
  271. package/dist/mjs/types/Interface/api/tax/CreateTax.js +7 -7
  272. package/dist/mjs/types/Interface/api/tax/CreateTax.js.map +1 -1
  273. package/dist/mjs/types/Interface/api/taxDeadline/QueryTaxDeadline.js +7 -7
  274. package/dist/mjs/types/Interface/api/taxDeadline/QueryTaxDeadline.js.map +1 -1
  275. package/dist/mjs/types/Interface/api/user/RegisterProspect.d.ts +2 -0
  276. package/dist/mjs/types/Interface/api/user/RegisterProspect.d.ts.map +1 -1
  277. package/dist/mjs/types/Interface/api/user/RegisterProspect.js +7 -0
  278. package/dist/mjs/types/Interface/api/user/RegisterProspect.js.map +1 -1
  279. package/dist/mjs/types/Interface/models/IPayment.d.ts +2 -0
  280. package/dist/mjs/types/Interface/models/IPayment.d.ts.map +1 -1
  281. package/dist/mjs/types/Interface/models/IPayment.js.map +1 -1
  282. package/dist/mjs/types/index.d.ts +0 -1
  283. package/dist/mjs/types/index.d.ts.map +1 -1
  284. package/dist/mjs/types/index.js +0 -1
  285. package/dist/mjs/types/index.js.map +1 -1
  286. package/dist/mjs/utils/cerfa.js +2 -2
  287. package/dist/mjs/utils/cerfa.js.map +1 -1
  288. package/dist/mjs/utils/checkup.js +17 -17
  289. package/dist/mjs/utils/checkup.js.map +1 -1
  290. package/dist/mjs/utils/commercialManagement/internationalization/choices.js +19 -19
  291. package/dist/mjs/utils/commercialManagement/internationalization/choices.js.map +1 -1
  292. package/dist/mjs/utils/email.js +1 -1
  293. package/dist/mjs/utils/email.js.map +1 -1
  294. package/dist/mjs/utils/statutsGeneration.js +1 -1
  295. package/dist/mjs/utils/statutsGeneration.js.map +1 -1
  296. package/dist/mjs/utils/tests/payment.spec.js +1 -1
  297. package/dist/mjs/utils/tests/payment.spec.js.map +1 -1
  298. package/dist/mjs/utils/vat/3310/century23.d.ts.map +1 -1
  299. package/dist/mjs/utils/vat/3310/century23.js +5 -27
  300. package/dist/mjs/utils/vat/3310/century23.js.map +1 -1
  301. package/dist/mjs/utils/vat/3310/century24.d.ts.map +1 -1
  302. package/dist/mjs/utils/vat/3310/century24.js +5 -27
  303. package/dist/mjs/utils/vat/3310/century24.js.map +1 -1
  304. package/dist/mjs/utils/vat/3310/century25.d.ts.map +1 -1
  305. package/dist/mjs/utils/vat/3310/century25.js +5 -27
  306. package/dist/mjs/utils/vat/3310/century25.js.map +1 -1
  307. package/dist/mjs/utils/vat/3514/century22.js +2 -2
  308. package/dist/mjs/utils/vat/3514/century22.js.map +1 -1
  309. package/dist/mjs/utils/vat/3514/century23.js +3 -3
  310. package/dist/mjs/utils/vat/3514/century23.js.map +1 -1
  311. package/dist/mjs/utils/vat/3517/century23.js +50 -50
  312. package/dist/mjs/utils/vat/3517/century23.js.map +1 -1
  313. package/dist/mjs/utils/vat/3517/century25.js +53 -53
  314. package/dist/mjs/utils/vat/3517/century25.js.map +1 -1
  315. package/dist/mjs/utils/vat/utils.d.ts +1 -1
  316. package/dist/mjs/utils/vat/utils.d.ts.map +1 -1
  317. package/dist/mjs/utils/vat/utils.js +2 -2
  318. package/dist/mjs/utils/vat/utils.js.map +1 -1
  319. package/package.json +3 -3
  320. package/ts/api/resources/Payment.ts +10 -8
  321. package/ts/api/resources/PaymentExpectation.ts +5 -0
  322. package/ts/types/Enum/AbsenceType.ts +1 -1
  323. package/ts/types/Enum/AdminAcceptance.ts +1 -1
  324. package/ts/types/Enum/AppointmentState.ts +2 -2
  325. package/ts/types/Enum/BalanceSheet.ts +11 -11
  326. package/ts/types/Enum/BalanceSheetQuestionWording.ts +69 -69
  327. package/ts/types/Enum/CityOfGreffe.ts +1 -1
  328. package/ts/types/Enum/CommercialManagement.ts +3 -3
  329. package/ts/types/Enum/CommercialOfferType.ts +10 -10
  330. package/ts/types/Enum/ConnectionError.ts +4 -4
  331. package/ts/types/Enum/Consistency.ts +3 -3
  332. package/ts/types/Enum/ConstitutionState.ts +1 -1
  333. package/ts/types/Enum/Contract.ts +1 -1
  334. package/ts/types/Enum/Country.ts +6 -6
  335. package/ts/types/Enum/Das.ts +2 -2
  336. package/ts/types/Enum/DepositDocumentType.ts +13 -13
  337. package/ts/types/Enum/DocumentForHumanResourceType.ts +1 -1
  338. package/ts/types/Enum/EquipmentAvailability.ts +1 -1
  339. package/ts/types/Enum/EstimateInvoice.ts +1 -1
  340. package/ts/types/Enum/FiscalRegime.ts +2 -2
  341. package/ts/types/Enum/GeneralThirdParty.ts +4 -4
  342. package/ts/types/Enum/GlobalRegime.ts +1 -1
  343. package/ts/types/Enum/ImmobilizationType.ts +4 -4
  344. package/ts/types/Enum/IncomeStatement.ts +10 -10
  345. package/ts/types/Enum/IntermediateManagementRebate.ts +6 -6
  346. package/ts/types/Enum/LetterType.ts +1 -1
  347. package/ts/types/Enum/Log.ts +17 -15
  348. package/ts/types/Enum/MaritalStatus.ts +1 -1
  349. package/ts/types/Enum/PaymentRecovery.ts +6 -6
  350. package/ts/types/Enum/PrestationType.ts +15 -15
  351. package/ts/types/Enum/ReasonNotSubscribed.ts +4 -4
  352. package/ts/types/Enum/RevisionGuide.ts +13 -13
  353. package/ts/types/Enum/SalariesType.ts +1 -1
  354. package/ts/types/Enum/SalesContractBrandClementine.ts +7 -7
  355. package/ts/types/Enum/SalesContractBrandLegalstart.ts +2 -2
  356. package/ts/types/Enum/SalesContractBrandPourcentage.ts +6 -6
  357. package/ts/types/Enum/StatutsSection.ts +7 -7
  358. package/ts/types/Enum/TaskResponseType.ts +6 -6
  359. package/ts/types/Enum/ToRecallRating.ts +1 -1
  360. package/ts/types/Enum/VatControl.ts +2 -2
  361. package/ts/types/Enum/Vehicle.ts +2 -2
  362. package/ts/types/Enum/ZoneCode.ts +2 -2
  363. package/ts/types/Interface/api/3cx/Query3cxSearch.ts +3 -3
  364. package/ts/types/Interface/api/PaymentRecovery/Create.ts +2 -2
  365. package/ts/types/Interface/api/commercialManagement/Create.ts +1 -1
  366. package/ts/types/Interface/api/customerProviderOperation/CreateCustomerProviderOperation.ts +1 -1
  367. package/ts/types/Interface/api/loan/CreateLoan.ts +1 -1
  368. package/ts/types/Interface/api/payment/Params.ts +74 -3
  369. package/ts/types/Interface/api/stripe/QueryStripe.ts +6 -0
  370. package/ts/types/Interface/api/tax/CreateTax.ts +7 -7
  371. package/ts/types/Interface/api/taxDeadline/QueryTaxDeadline.ts +7 -7
  372. package/ts/types/Interface/api/user/RegisterProspect.ts +6 -0
  373. package/ts/types/Interface/models/IPayment.ts +2 -0
  374. package/ts/types/index.ts +0 -1
  375. package/ts/utils/cerfa.ts +2 -2
  376. package/ts/utils/checkup.ts +17 -17
  377. package/ts/utils/commercialManagement/internationalization/choices.ts +19 -19
  378. package/ts/utils/email.ts +1 -1
  379. package/ts/utils/statutsGeneration.ts +1 -1
  380. package/ts/utils/tests/payment.spec.ts +1 -1
  381. package/ts/utils/vat/3310/century23.ts +5 -27
  382. package/ts/utils/vat/3310/century24.ts +5 -27
  383. package/ts/utils/vat/3310/century25.ts +6 -27
  384. package/ts/utils/vat/3514/century22.ts +2 -2
  385. package/ts/utils/vat/3514/century23.ts +3 -3
  386. package/ts/utils/vat/3517/century23.ts +50 -50
  387. package/ts/utils/vat/3517/century25.ts +53 -53
  388. package/ts/utils/vat/utils.ts +3 -2
  389. package/dist/cjs/types/Interface/api/ldap/NewLDAPUser.d.ts +0 -20
  390. package/dist/cjs/types/Interface/api/ldap/NewLDAPUser.d.ts.map +0 -1
  391. package/dist/cjs/types/Interface/api/ldap/NewLDAPUser.js +0 -3
  392. package/dist/cjs/types/Interface/api/ldap/NewLDAPUser.js.map +0 -1
  393. package/dist/mjs/types/Interface/api/ldap/NewLDAPUser.d.ts +0 -20
  394. package/dist/mjs/types/Interface/api/ldap/NewLDAPUser.d.ts.map +0 -1
  395. package/dist/mjs/types/Interface/api/ldap/NewLDAPUser.js +0 -2
  396. package/dist/mjs/types/Interface/api/ldap/NewLDAPUser.js.map +0 -1
  397. package/ts/types/Interface/api/ldap/NewLDAPUser.ts +0 -20
@@ -1 +1 @@
1
- {"version":3,"file":"century23.js","sourceRoot":"","sources":["../../../../../ts/utils/vat/3310/century23.ts"],"names":[],"mappings":"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","sourcesContent":["import * as dayjs from 'dayjs';\nimport { isDefined } from 'class-validator';\nimport { round as _round, flatten, uniqBy, maxBy } from 'lodash';\nimport { IAccountingEntry } from '../../../types/Interface/models/IAccountingEntry';\nimport { Cerfa3310_2023, PayloadCerfa3310_2023 } from '../../../types/Interface/api/cerfa/3310';\nimport { Vat } from '../../../types/Enum/Vat';\nimport { getAmountByAccountNumber, getTaxAmountByAccountNumber, setZeroIfIsNegative, textFormatting } from '../utils';\nimport { AsponeFormFields, CerfaPayloadForm } from '../../../types/Interface/api/cerfa/ReadCerfa';\nimport { UpdatedAnnotation } from '../../../types/Interface/api/registration/ReadRegistration';\nimport { FieldForGeneration } from '../../../types/Interface/api/aspone/ReadInterchange';\n\nexport function getCerfa3310Century23Payload(\n accountingEntries: IAccountingEntry[],\n payload: PayloadCerfa3310_2023,\n updatedEntries: UpdatedAnnotation = [],\n): Cerfa3310_2023 {\n const shouldHaveVatCode = isDefined(payload.setting?.tvaCode) && isDefined(payload.society.siret);\n const vats = Object.values(Vat);\n\n const isVatControl = Object.values(payload.vatControl ?? {}).filter((v) => isDefined(v)).length > 0;\n // On désactive les automatismes des déclarations précédentes dans le contrôle de TVA\n if (isVatControl) payload.previousVatDeclaration = null;\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const frenchVat = vats.filter((v) => !v.isVatImportation && !v.isVatIntracom).map((v) => v.id);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const withTaxVat = vats.filter((v) => v.value > 0).map((v) => v.id);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const intracomVat = vats.filter((v) => v.isVatIntracom && !v.isVatImportation).map((v) => v.id);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const withoutTaxVat = vats.filter((v) => v.value === 0).map((v) => v.id);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const importationVat = vats.filter((v) => v.isVatImportation && !v.isVatIntracom).map((v) => v.id);\n\n const vatEntries = uniqBy(\n accountingEntries.filter((ae) => typeof ae.idVat === 'number'),\n 'id',\n ) as Array<IAccountingEntry & { idVat: number }>;\n\n const oldEntries = flatten(updatedEntries?.map((u) => u.old));\n const newEntries = flatten(updatedEntries?.map((u) => u.new));\n\n const collectedOldAmount = getAmountByAccountNumber(oldEntries, ['4457'], 0, true);\n const collectedNewAmount = getAmountByAccountNumber(newEntries, ['4457'], 0, true);\n\n const deductedOldAmount = getAmountByAccountNumber(oldEntries, ['4456'], 0);\n const deductedNewAmount = getAmountByAccountNumber(newEntries, ['4456'], 0);\n\n const mxCollected = collectedNewAmount - collectedOldAmount;\n const mxDeducted = deductedNewAmount - deductedOldAmount;\n\n let mxToAdd = 0;\n let mxToSub = 0;\n\n if (mxCollected > 0) {\n mxToAdd += mxCollected;\n }\n if (mxDeducted < 0) {\n mxToAdd += Math.abs(mxDeducted);\n }\n\n if (mxCollected < 0) {\n mxToSub += Math.abs(mxCollected);\n }\n if (mxDeducted > 0) {\n mxToSub += mxDeducted;\n }\n\n // Opérations taxées -\n const taxedServicesEntries = vatEntries.filter((ae) => frenchVat.includes(ae.idVat) && withTaxVat.includes(ae.idVat));\n const servicesAccounts = ['701', '702', '703', '704', '705', '706', '707', '708', '472'];\n const taxedServicesFromFrance =\n setZeroIfIsNegative(getAmountByAccountNumber(taxedServicesEntries, servicesAccounts, 0, true)) +\n (payload?.vatControl?.france?.base20 ?? 0) +\n (payload?.vatControl?.france?.base10 ?? 0) +\n (payload?.vatControl?.france?.base8Dot5 ?? 0) +\n (payload?.vatControl?.france?.base5Dot5 ?? 0) +\n (payload?.vatControl?.france?.base2Dot1 ?? 0);\n const taxedOther =\n setZeroIfIsNegative(\n getAmountByAccountNumber(\n vatEntries.filter((ae) => withTaxVat.includes(ae.idVat)),\n ['775'],\n 0,\n true,\n ),\n ) +\n (payload?.vatControl?.other?.base20 ?? 0) +\n (payload?.vatControl?.other?.base10 ?? 0) +\n (payload?.vatControl?.other?.base5Dot5 ?? 0) +\n (payload?.vatControl?.other?.base2Dot1 ?? 0);\n const intracommunityServiceAccounts = ['604', '611', '612', '613', '614', '615', '616', '617', '618', '619', '62'];\n const intracommunityServiceEntries = vatEntries.filter(\n (ae) => withTaxVat.includes(ae.idVat) && intracomVat.includes(ae.idVat),\n );\n\n // Case A3\n const taxedPurchaseOfIntracommunityService = 0; /* setZeroIfIsNegative(getAmountByAccountNumber(intracommunityServiceEntries, intracommunityServiceAccounts, 0, true)); */\n\n const taxedImportEntries = vatEntries.filter(\n (ae) => importationVat.includes(ae.idVat) && withTaxVat.includes(ae.idVat),\n );\n const taxedImportAccounts = ['6'];\n const taxedImport =\n setZeroIfIsNegative(getAmountByAccountNumber(taxedImportEntries, taxedImportAccounts, 0, true)) +\n (payload?.vatControl?.importations?.base20 ?? 0) +\n (payload?.vatControl?.importations?.base10 ?? 0) +\n (payload?.vatControl?.importations?.base8Dot5 ?? 0) +\n (payload?.vatControl?.importations?.base5Dot5 ?? 0) +\n (payload?.vatControl?.importations?.base2Dot1 ?? 0);\n\n const intracommunityAccounts2 = ['601', '602', '603', '605', '606', '607', '651'];\n const taxedIntracommunityAcquisitions = getAmountByAccountNumber(\n vatEntries.filter((ae) => intracomVat.includes(ae.idVat) && withTaxVat.includes(ae.idVat)),\n [...intracommunityAccounts2, ...intracommunityServiceAccounts],\n 0,\n true,\n );\n\n // Opérations non taxées\n const untaxedExportationNotInEurope =\n setZeroIfIsNegative(\n getAmountByAccountNumber(\n vatEntries.filter((ae) => importationVat.includes(ae.idVat) && withoutTaxVat.includes(ae.idVat)),\n servicesAccounts,\n 0,\n true,\n ),\n ) + (payload?.vatControl?.untaxed?.exportation ?? 0);\n const untaxedOther =\n setZeroIfIsNegative(\n getAmountByAccountNumber(\n vatEntries.filter((ae) => frenchVat.includes(ae.idVat) && withoutTaxVat.includes(ae.idVat)),\n ['70', '71', '72', '73', '75', '77', '78', '790', '792', '793', '794', '795', '796', '797', '798', '799'],\n 0,\n true,\n ),\n ) + (payload?.vatControl?.untaxed?.other ?? 0); // 02/08/23 - ne plus prendre en compte les comptes 76,74,791 - Chloé R.\n const untaxedImport =\n setZeroIfIsNegative(\n getAmountByAccountNumber(\n vatEntries.filter((ae) => importationVat.includes(ae.idVat) && withoutTaxVat.includes(ae.idVat)),\n ['6'],\n 0,\n true,\n ),\n ) + (payload?.vatControl?.untaxed?.importation ?? 0);\n const untaxedIntracomunity =\n setZeroIfIsNegative(\n getAmountByAccountNumber(\n vatEntries.filter((ae) => intracomVat.includes(ae.idVat) && withoutTaxVat.includes(ae.idVat)),\n intracommunityAccounts2,\n 0,\n true,\n ),\n ) + (payload?.vatControl?.untaxed?.intracomunity ?? 0);\n const untaxedIntracommunityDelivery = setZeroIfIsNegative(\n getAmountByAccountNumber(\n vatEntries.filter((ae) => withoutTaxVat.includes(ae.idVat) && intracomVat.includes(ae.idVat)),\n ['701', '707'],\n 0,\n true,\n ),\n );\n // TVA brute\n\n const normalRate =\n setZeroIfIsNegative(\n getAmountByAccountNumber(\n taxedServicesEntries.filter((e) =>\n vats\n .filter((v) => v.value === 20)\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n .map((v) => v.id)\n .includes(e.idVat),\n ),\n servicesAccounts,\n 0,\n true,\n ) +\n getAmountByAccountNumber(\n intracommunityServiceEntries.filter((e) =>\n vats\n .filter((v) => v.value === 20)\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n .map((v) => v.id)\n .includes(e.idVat),\n ),\n ['6'],\n 0,\n true,\n ),\n ) +\n (payload?.vatControl?.france?.base20 ?? 0) +\n (payload?.vatControl?.other?.base20 ?? 0);\n\n const normalRateTax = _round(normalRate * 0.2);\n\n const reducedRate5Dot5 =\n setZeroIfIsNegative(\n getAmountByAccountNumber(\n taxedServicesEntries.filter((e) =>\n vats\n .filter((v) => v.value === 5.5)\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n .map((v) => v.id)\n .includes(e.idVat),\n ),\n servicesAccounts,\n 0,\n true,\n ) +\n getAmountByAccountNumber(\n intracommunityServiceEntries.filter((e) =>\n vats\n .filter((v) => v.value === 5.5)\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n .map((v) => v.id)\n .includes(e.idVat),\n ),\n ['6'],\n 0,\n true,\n ),\n ) +\n (payload?.vatControl?.france?.base5Dot5 ?? 0) +\n (payload?.vatControl?.other?.base5Dot5 ?? 0);\n const reducedRate5Dot5Tax = _round(reducedRate5Dot5 * 0.055);\n\n const reducedRate10 =\n setZeroIfIsNegative(\n getAmountByAccountNumber(\n taxedServicesEntries.filter((e) =>\n vats\n .filter((v) => v.value === 10)\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n .map((v) => v.id)\n .includes(e.idVat),\n ),\n servicesAccounts,\n 0,\n true,\n ) +\n getAmountByAccountNumber(\n intracommunityServiceEntries.filter((e) =>\n vats\n .filter((v) => v.value === 10)\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n .map((v) => v.id)\n .includes(e.idVat),\n ),\n ['6'],\n 0,\n true,\n ),\n ) +\n (payload?.vatControl?.france?.base10 ?? 0) +\n (payload?.vatControl?.other?.base10 ?? 0);\n const reducedRate10Tax = _round(reducedRate10 * 0.1);\n\n const reducedRate8Dot5 =\n setZeroIfIsNegative(\n getAmountByAccountNumber(\n taxedServicesEntries.filter((e) =>\n vats\n .filter((v) => v.value === 8.5)\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n .map((v) => v.id)\n .includes(e.idVat),\n ),\n servicesAccounts,\n 0,\n true,\n ) +\n getAmountByAccountNumber(\n intracommunityServiceEntries.filter((e) =>\n vats\n .filter((v) => v.value === 8.5)\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n .map((v) => v.id)\n .includes(e.idVat),\n ),\n ['6'],\n 0,\n true,\n ),\n ) +\n (payload?.vatControl?.france?.base8Dot5 ?? 0) +\n (payload?.vatControl?.other?.base5Dot5 ?? 0);\n const reducedRate8Dot5Tax = _round(reducedRate8Dot5 * 0.085);\n\n const reducedRate2Dot1 =\n setZeroIfIsNegative(\n getAmountByAccountNumber(\n taxedServicesEntries.filter((e) =>\n vats\n .filter((v) => v.value === 2.1)\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n .map((v) => v.id)\n .includes(e.idVat),\n ),\n servicesAccounts,\n 0,\n true,\n ) +\n getAmountByAccountNumber(\n intracommunityServiceEntries.filter((e) =>\n vats\n .filter((v) => v.value === 2.1)\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n .map((v) => v.id)\n .includes(e.idVat),\n ),\n ['6'],\n 0,\n true,\n ),\n ) +\n (payload?.vatControl?.france?.base2Dot1 ?? 0) +\n (payload?.vatControl?.other?.base2Dot1 ?? 0);\n const reducedRate2Dot1Tax = _round(reducedRate2Dot1 * 0.021);\n\n const importNormalRate =\n setZeroIfIsNegative(\n getAmountByAccountNumber(\n taxedImportEntries.filter((e) =>\n vats\n .filter((v) => v.value === 20)\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n .map((v) => v.id)\n .includes(e.idVat),\n ),\n taxedImportAccounts,\n 0,\n true,\n ),\n ) + (payload?.vatControl?.importations?.base20 ?? 0);\n\n const importNormalRateTax = _round(importNormalRate * 0.2);\n\n const importReducedRate10 =\n setZeroIfIsNegative(\n getAmountByAccountNumber(\n taxedImportEntries.filter((e) =>\n vats\n .filter((v) => v.value === 10)\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n .map((v) => v.id)\n .includes(e.idVat),\n ),\n taxedImportAccounts,\n 0,\n true,\n ),\n ) + (payload?.vatControl?.importations?.base10 ?? 0);\n const importReducedRate10Tax = _round(importReducedRate10 * 0.1);\n\n const importReducedRate8Dot5 =\n setZeroIfIsNegative(\n getAmountByAccountNumber(\n taxedImportEntries.filter((e) =>\n vats\n .filter((v) => v.value === 8.5)\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n .map((v) => v.id)\n .includes(e.idVat),\n ),\n taxedImportAccounts,\n 0,\n true,\n ),\n ) + (payload?.vatControl?.importations?.base8Dot5 ?? 0);\n const importReducedRate8Dot5Tax = _round(importReducedRate8Dot5 * 0.085);\n\n const importReducedRate5Dot5 =\n setZeroIfIsNegative(\n getAmountByAccountNumber(\n taxedImportEntries.filter((e) =>\n vats\n .filter((v) => v.value === 5.5)\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n .map((v) => v.id)\n .includes(e.idVat),\n ),\n taxedImportAccounts,\n 0,\n true,\n ),\n ) + (payload?.vatControl?.importations?.base5Dot5 ?? 0);\n const importReducedRate5Dot5Tax = _round(importReducedRate8Dot5 * 0.055);\n\n const importReducedRate2Dot1 =\n setZeroIfIsNegative(\n getAmountByAccountNumber(\n taxedImportEntries.filter((e) =>\n vats\n .filter((v) => v.value === 2.1)\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n .map((v) => v.id)\n .includes(e.idVat),\n ),\n taxedImportAccounts,\n 0,\n true,\n ),\n ) + (payload?.vatControl?.importations?.base2Dot1 ?? 0);\n const importReducedRate2Dot1Tax = _round(importReducedRate2Dot1 * 0.021);\n\n const importReducedRate1Dot05 = setZeroIfIsNegative(\n getAmountByAccountNumber(\n taxedImportEntries.filter((e) =>\n vats\n .filter((v) => v.value === 1.05)\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n .map((v) => v.id)\n .includes(e.idVat),\n ),\n taxedImportAccounts,\n 0,\n true,\n ),\n );\n const importReducedRate1Dot05Tax = _round(importReducedRate1Dot05 * 0.0105);\n const intracommunityTax = setZeroIfIsNegative(\n getTaxAmountByAccountNumber(\n intracommunityServiceEntries,\n [...intracommunityServiceAccounts, ...intracommunityAccounts2],\n 0,\n ),\n );\n\n // TVA Déductible\n const immobilizationTax =\n setZeroIfIsNegative(getTaxAmountByAccountNumber(vatEntries, ['2'])) +\n (payload?.vatControl?.deducted?.immobilization ?? 0);\n\n const otherGoodsAndServices =\n setZeroIfIsNegative(\n getTaxAmountByAccountNumber(\n vatEntries.filter((e) =>\n vats\n .filter((v) => !v.isVatImportation)\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n .map((v) => v.id)\n .includes(e.idVat),\n ),\n ['6'],\n ),\n ) + (payload?.vatControl?.deducted?.abs ?? 0);\n\n const otherDeductibles =\n setZeroIfIsNegative(\n getTaxAmountByAccountNumber(\n vatEntries.filter((e) =>\n vats\n .filter((v) => v.isVatImportation)\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n .map((v) => v.id)\n .includes(e.idVat),\n ),\n ['6'],\n ),\n ) + (payload?.vatControl?.deducted?.other ?? 0);\n\n const report =\n (payload.vat?.deductible?.toReport && payload.vat?.deductible?.toReport >= 0\n ? _round(payload.vat?.deductible?.toReport ?? 0)\n : (payload.previousVatDeclaration?.credit?.toReport ?? 0)) + (payload?.vatControl?.deducted?.reported ?? 0);\n const coefficient = _round(payload.vat?.deductible?.coefficient ?? 100, 2);\n const isNil = payload.isNil === true;\n const isHolidayDeposit = payload.isHolidayDeposit === true;\n\n const sumToAdd =\n setZeroIfIsNegative(\n isNil\n ? 0\n : isHolidayDeposit\n ? _round((payload.previousVatDeclaration?.toPay?.total ?? 0) * 0.8)\n : _round(payload.vat?.sumToAdd ?? 0) + mxToAdd,\n ) + (payload?.vatControl?.regularisations?.case5B ?? 0);\n const comment = isHolidayDeposit ? `ACOMPTE CONGES ${payload.comment ?? ''}` : (payload.comment ?? null);\n\n const initialPayload: Cerfa3310_2023 = {\n isNil,\n isDGE: false,\n isUniq: false,\n declaration: {\n comment,\n recipient: {\n name: payload.society.name,\n address: {\n full: `${payload.society.address}\\n${payload.society.zipCode} ${payload.society.city}`,\n },\n numbers: {\n SIE: payload.sie?.sages ?? null,\n folder: null,\n key: null,\n period: null,\n CM: null,\n OPT: null,\n service: null,\n system: null,\n },\n },\n service: {\n address: {\n full: isDefined(payload.sie?.address?.address1)\n ? `${payload.sie?.address.address1}\\n${payload.sie?.address.address2}\\n${payload.sie?.address.address3}\\n${payload.sie?.address.address4}\\n${payload.sie?.address.address5}`\n : null,\n },\n },\n period: {\n start: {\n day: dayjs(payload.startDate).format('DD'),\n month: dayjs(payload.startDate).format('MM'),\n year: dayjs(payload.startDate).format('YY'),\n },\n end: {\n day: dayjs(payload.endDate).format('DD'),\n month: dayjs(payload.endDate).format('MM'),\n year: dayjs(payload.endDate).format('YY'),\n },\n },\n siret: {\n first: isDefined(payload.society.siret) ? (payload.society.siret?.slice(0, 9) ?? null) : null,\n second: isDefined(payload.society.siret) ? (payload.society.siret?.slice(-5) ?? null) : null,\n },\n intracommunityVat: {\n first: shouldHaveVatCode ? (payload.setting?.tvaCode?.slice(0, 2) ?? null) : null,\n second: shouldHaveVatCode ? (payload.setting?.tvaCode?.slice(2, 4) ?? null) : null,\n third: shouldHaveVatCode ? (payload.society.siret?.slice(0, 9) ?? null) : null,\n },\n payment: {\n date: dayjs().format('YYYY-MM-DD'),\n phone: null,\n isPayment: true,\n byImputation: false,\n },\n },\n taxedOperations: {\n services: isNil || isHolidayDeposit ? 0 : taxedServicesFromFrance,\n other: isNil || isHolidayDeposit ? 0 : taxedOther,\n purchaseOfIntracommunityServiceProvision: isNil || isHolidayDeposit ? 0 : taxedPurchaseOfIntracommunityService,\n import: isNil || isHolidayDeposit ? 0 : taxedImport,\n withdrawSuspensiveRegime:\n isNil || isHolidayDeposit ? 0 : _round(payload.taxedOperations?.withdrawSuspensiveRegime ?? 0),\n releaseFromConsumption:\n isNil || isHolidayDeposit ? 0 : _round(payload.taxedOperations?.releaseFromConsumption ?? 0),\n intracommunityAcquisitions: isNil || isHolidayDeposit ? 0 : taxedIntracommunityAcquisitions,\n energyDelivery: isNil || isHolidayDeposit ? 0 : _round(payload.taxedOperations?.energyDelivery ?? 0),\n purchaseOfServicesNotInFrance:\n isNil || isHolidayDeposit ? 0 : _round(payload.taxedOperations?.purchaseOfServicesNotInFrance ?? 0),\n regularizations:\n isNil || isHolidayDeposit\n ? 0\n : _round(payload.taxedOperations?.regularizations ?? 0) +\n (payload?.vatControl?.regularisations?.base20 ?? 0) +\n (payload?.vatControl?.regularisations?.base10 ?? 0) +\n (payload?.vatControl?.regularisations?.base5Dot5 ?? 0) +\n (payload?.vatControl?.regularisations?.base2Dot1 ?? 0),\n },\n untaxedOperations: {\n exportationNotInEurope: isNil || isHolidayDeposit ? 0 : untaxedExportationNotInEurope,\n other: isNil || isHolidayDeposit ? 0 : untaxedOther,\n distanceSelling: isNil || isHolidayDeposit ? 0 : _round(payload.untaxedOperations?.distanceSelling ?? 0),\n import: isNil || isHolidayDeposit ? 0 : untaxedImport,\n withdrawSuspensiveRegime:\n isNil || isHolidayDeposit ? 0 : _round(payload.untaxedOperations?.withdrawSuspensiveRegime ?? 0),\n importInSuspensiveSystem:\n isNil || isHolidayDeposit ? 0 : _round(payload.untaxedOperations?.importInSuspensiveSystem ?? 0),\n intracommunityAcquisitions: isNil || isHolidayDeposit ? 0 : untaxedIntracomunity,\n intracommunityDelivery: isNil || isHolidayDeposit ? 0 : untaxedIntracommunityDelivery,\n energyDelivery: isNil || isHolidayDeposit ? 0 : _round(payload.untaxedOperations?.energyDelivery ?? 0),\n oilProductsConsumption:\n isNil || isHolidayDeposit ? 0 : _round(payload.untaxedOperations?.oilProductsConsumption ?? 0),\n importPetrolInSuspensiveSystem:\n isNil || isHolidayDeposit ? 0 : _round(payload.untaxedOperations?.importPetrolInSuspensiveSystem ?? 0),\n purchaseInFranchise: isNil || isHolidayDeposit ? 0 : _round(payload.untaxedOperations?.purchaseInFranchise ?? 0),\n saleOfServicesNotInFrance:\n isNil || isHolidayDeposit ? 0 : _round(payload.untaxedOperations?.saleOfServicesNotInFrance ?? 0),\n regularizations:\n isNil || isHolidayDeposit\n ? 0\n : _round(payload.untaxedOperations?.regularizations ?? 0) +\n (payload?.vatControl?.untaxed?.regularisation ?? 0),\n internalUniq: isNil || isHolidayDeposit ? 0 : _round(payload.untaxedOperations?.internalUniq ?? 0),\n },\n vat: {\n carrieredOutInFrance: {\n normalRate20: {\n base: isNil || isHolidayDeposit ? 0 : normalRate,\n tax: isNil || isHolidayDeposit ? 0 : normalRateTax,\n },\n reduceRate5Dot5: {\n base: isNil || isHolidayDeposit ? 0 : reducedRate5Dot5,\n tax: isNil || isHolidayDeposit ? 0 : reducedRate5Dot5Tax,\n },\n reduceRate10: {\n base: isNil || isHolidayDeposit ? 0 : reducedRate10,\n tax: isNil || isHolidayDeposit ? 0 : reducedRate10Tax,\n },\n },\n overseasDepartment: {\n reduceRate8Dot5: {\n base: isNil || isHolidayDeposit ? 0 : reducedRate8Dot5,\n tax: isNil || isHolidayDeposit ? 0 : reducedRate8Dot5Tax,\n },\n reduceRate2Dot1: {\n base: isNil || isHolidayDeposit ? 0 : reducedRate2Dot1,\n tax: isNil || isHolidayDeposit ? 0 : reducedRate2Dot1Tax,\n },\n },\n oilProducts: {\n normalRate20: {\n base: isNil || isHolidayDeposit ? 0 : _round(payload.vat?.oilProducts?.normalRate20?.base ?? 0),\n tax: isNil || isHolidayDeposit ? 0 : _round(payload.vat?.oilProducts?.normalRate20?.base ?? 0) * 0.02,\n },\n reduceRate13: {\n base: isNil || isHolidayDeposit ? 0 : _round(payload.vat?.oilProducts?.reduceRate13?.base ?? 0),\n tax: isNil || isHolidayDeposit ? 0 : _round(payload.vat?.oilProducts?.reduceRate13?.base ?? 0) * 0.013,\n },\n },\n importations: {\n normalRate20: {\n base: isNil || isHolidayDeposit ? 0 : importNormalRate,\n tax: isNil || isHolidayDeposit ? 0 : importNormalRateTax,\n },\n reduceRate10: {\n base: isNil || isHolidayDeposit ? 0 : importReducedRate10,\n tax: isNil || isHolidayDeposit ? 0 : importReducedRate10Tax,\n },\n reduceRate8Dot5: {\n base: isNil || isHolidayDeposit ? 0 : importReducedRate8Dot5,\n tax: isNil || isHolidayDeposit ? 0 : importReducedRate8Dot5Tax,\n },\n reduceRate5Dot5: {\n base: isNil || isHolidayDeposit ? 0 : importReducedRate5Dot5,\n tax: isNil || isHolidayDeposit ? 0 : importReducedRate5Dot5Tax,\n },\n reduceRate2Dot1: {\n base: isNil || isHolidayDeposit ? 0 : importReducedRate2Dot1,\n tax: isNil || isHolidayDeposit ? 0 : importReducedRate2Dot1Tax,\n },\n reduceRate1Dot05: {\n base: isNil || isHolidayDeposit ? 0 : importReducedRate1Dot05,\n tax: isNil || isHolidayDeposit ? 0 : importReducedRate1Dot05Tax,\n },\n },\n previouslyDeductedToBeReturned: {\n onOilProducts:\n isNil || isHolidayDeposit ? 0 : _round(payload.vat?.previouslyDeductedToBeReturned?.onOilProducts ?? 0),\n otherThanOilProducts:\n isNil || isHolidayDeposit\n ? 0\n : _round(payload.vat?.previouslyDeductedToBeReturned?.otherThanOilProducts ?? 0),\n total: isNil || isHolidayDeposit ? 0 : _round(payload.vat?.previouslyDeductedToBeReturned?.total ?? 0),\n },\n sumToAdd,\n grossDue: 0, // Calculé plus bas\n onIntracommunityAcquisition: isNil || isHolidayDeposit ? 0 : intracommunityTax,\n toMonaco: isNil || isHolidayDeposit ? 0 : _round(payload.vat?.toMonaco ?? 0),\n deductible: {\n immobilizations: isNil || isHolidayDeposit ? 0 : (immobilizationTax ?? 0),\n otherGoodsAndServices: isNil || isHolidayDeposit ? 0 : (otherGoodsAndServices ?? 0),\n other: {\n oil: isNil || isHolidayDeposit ? 0 : _round(payload.vat?.deductible?.other?.oil ?? 0),\n thanOilProducts: 0,\n collected: 0,\n total: isNil || isHolidayDeposit ? 0 : otherDeductibles,\n },\n report,\n toImpute:\n isNil || isHolidayDeposit\n ? 0\n : _round(payload.vat?.deductible?.toImpute ?? 0) + mxToSub + (payload?.vatControl?.deducted?.case2C ?? 0),\n total: 0, // Calculé plus bas\n onImportOtherThanOilProducts: isNil || isHolidayDeposit ? 0 : otherDeductibles,\n coefficient: isNil || isHolidayDeposit ? 100 : coefficient,\n onOilProducts: isNil || isHolidayDeposit ? 0 : _round(payload.vat?.deductible?.onOilProducts ?? 0),\n },\n otherRate: {\n oldRate: {\n base: isNil || isHolidayDeposit ? 0 : _round(payload.vat?.otherRate?.oldRate?.base ?? 0),\n tax: isNil || isHolidayDeposit ? 0 : _round(payload.vat?.otherRate?.oldRate?.tax ?? 0),\n },\n at1Dot75: {\n base: 0,\n tax: 0,\n },\n at1Dot05: {\n base: 0,\n tax: 0,\n },\n at10: {\n base: 0,\n tax: 0,\n },\n atCorse2Dot1: {\n base: 0,\n tax: 0,\n },\n atCorse0Dot9: {\n base: 0,\n tax: 0,\n },\n at2Dot1: {\n base: 0,\n tax: 0,\n },\n author: {\n base: 0,\n tax: 0,\n },\n },\n },\n credit: {\n amount: 0, // Calculé plus bas\n refundAsked:\n isNil || isHolidayDeposit\n ? 0\n : _round(payload.credit?.refundAsked ?? 0) + (payload?.vatControl?.refundAsked ?? 0),\n transferedToSocietyHeadOfGroup:\n isNil || isHolidayDeposit ? 0 : _round(payload.credit?.transferedToSocietyHeadOfGroup ?? 0),\n assimiledTaxes: isNil || isHolidayDeposit ? 0 : _round(payload.credit?.assimiledTaxes ?? 0),\n toReport: 0, // Calculé plus bas\n ticRefund: 0,\n ticTransfered: 0,\n },\n toPay: {\n netDue: 0, // Calculé plus bas\n acquittedBySocietyHeadOfGroup:\n isNil || isHolidayDeposit ? 0 : _round(payload.toPay?.acquittedBySocietyHeadOfGroup ?? 0),\n total: 0,\n },\n tic: {\n total: {\n tax: 0,\n },\n },\n };\n\n const totalCadreA =\n initialPayload.taxedOperations.services +\n initialPayload.taxedOperations.other +\n initialPayload.taxedOperations.purchaseOfIntracommunityServiceProvision +\n initialPayload.taxedOperations.intracommunityAcquisitions +\n initialPayload.taxedOperations.energyDelivery +\n initialPayload.taxedOperations.purchaseOfServicesNotInFrance;\n const totalCadreB =\n initialPayload.vat.carrieredOutInFrance.normalRate20.base +\n initialPayload.vat.carrieredOutInFrance.reduceRate5Dot5.base +\n initialPayload.vat.carrieredOutInFrance.reduceRate10.base +\n initialPayload.vat.overseasDepartment.reduceRate8Dot5.base +\n initialPayload.vat.overseasDepartment.reduceRate2Dot1.base +\n initialPayload.vat.otherRate.at1Dot75.base +\n initialPayload.vat.otherRate.at1Dot05.base +\n initialPayload.vat.otherRate.at10.base +\n initialPayload.vat.otherRate.atCorse2Dot1.base +\n initialPayload.vat.otherRate.atCorse0Dot9.base +\n initialPayload.vat.otherRate.at2Dot1.base +\n initialPayload.vat.otherRate.author.base +\n initialPayload.vat.otherRate.oldRate.base;\n\n // On tolère une différence de 3, dans ce cas on force le champ\n if (totalCadreA !== totalCadreB) {\n const difference = totalCadreB - totalCadreA;\n\n if (difference >= -3 && difference <= 3) {\n const cadreAFields = [\n { key: 'services', value: initialPayload.taxedOperations.services },\n { key: 'other', value: initialPayload.taxedOperations.other },\n {\n key: 'purchaseOfIntracommunityServiceProvision',\n value: initialPayload.taxedOperations.purchaseOfIntracommunityServiceProvision,\n },\n { key: 'intracommunityAcquisitions', value: initialPayload.taxedOperations.intracommunityAcquisitions },\n { key: 'energyDelivery', value: initialPayload.taxedOperations.energyDelivery },\n { key: 'purchaseOfServicesNotInFrance;', value: initialPayload.taxedOperations.purchaseOfServicesNotInFrance },\n ];\n const biggestValue = maxBy(cadreAFields, 'value');\n\n if (biggestValue) {\n // @ts-ignore\n initialPayload.taxedOperations[biggestValue.key] += difference;\n }\n }\n }\n\n initialPayload.vat.grossDue =\n initialPayload.vat.carrieredOutInFrance.normalRate20.tax +\n initialPayload.vat.carrieredOutInFrance.reduceRate5Dot5.tax +\n initialPayload.vat.carrieredOutInFrance.reduceRate10.tax +\n initialPayload.vat.overseasDepartment.reduceRate8Dot5.tax +\n initialPayload.vat.overseasDepartment.reduceRate2Dot1.tax +\n initialPayload.vat.otherRate.at1Dot75.tax +\n initialPayload.vat.otherRate.at1Dot05.tax +\n initialPayload.vat.otherRate.at10.tax +\n initialPayload.vat.otherRate.atCorse2Dot1.tax +\n initialPayload.vat.otherRate.atCorse0Dot9.tax +\n initialPayload.vat.otherRate.at2Dot1.tax +\n initialPayload.vat.otherRate.author.tax +\n initialPayload.vat.otherRate.oldRate.tax +\n initialPayload.vat.oilProducts.normalRate20.tax +\n initialPayload.vat.oilProducts.reduceRate13.tax +\n initialPayload.vat.importations.normalRate20.tax +\n initialPayload.vat.importations.reduceRate10.tax +\n initialPayload.vat.importations.reduceRate8Dot5.tax +\n initialPayload.vat.importations.reduceRate5Dot5.tax +\n initialPayload.vat.importations.reduceRate2Dot1.tax +\n initialPayload.vat.importations.reduceRate1Dot05.tax +\n initialPayload.vat.previouslyDeductedToBeReturned.total +\n initialPayload.vat.sumToAdd;\n initialPayload.vat.deductible.total =\n initialPayload.vat.deductible.immobilizations +\n initialPayload.vat.deductible.otherGoodsAndServices +\n initialPayload.vat.deductible.other.total +\n initialPayload.vat.deductible.report +\n initialPayload.vat.deductible.toImpute;\n initialPayload.credit.amount =\n initialPayload.vat.grossDue - initialPayload.vat.deductible.total < 0\n ? Math.abs(initialPayload.vat.grossDue - initialPayload.vat.deductible.total)\n : 0;\n initialPayload.toPay.netDue =\n initialPayload.vat.grossDue - initialPayload.vat.deductible.total > 0\n ? initialPayload.vat.grossDue - initialPayload.vat.deductible.total\n : 0;\n initialPayload.credit.toReport =\n initialPayload.credit.amount -\n initialPayload.credit.refundAsked -\n initialPayload.credit.transferedToSocietyHeadOfGroup;\n initialPayload.toPay.total =\n initialPayload.toPay.netDue +\n initialPayload.credit.assimiledTaxes +\n (initialPayload.tic?.total?.tax ?? 0) -\n initialPayload.toPay.acquittedBySocietyHeadOfGroup;\n\n return initialPayload;\n}\n\nexport function getCerfa3310Century23RegistrationFields(data: Cerfa3310_2023): AsponeFormFields {\n const comment = textFormatting(data.declaration.comment);\n\n const importFields: FieldForGeneration[] = [];\n\n if (data.vat.oilProducts.normalRate20.base > 0) {\n importFields.push({\n key: 'GS',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Opérations imposables au taux normal 20 % sur les produits pétroliers : base HT',\n value: data.vat.oilProducts.normalRate20.base,\n });\n }\n\n if (data.taxedOperations.import > 0) {\n importFields.push({\n key: 'DK',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Opérations taxées HT - Importations (autres que les produits pétroliers',\n value: data.taxedOperations.import,\n });\n }\n\n if (data.vat.oilProducts.normalRate20.tax > 0) {\n importFields.push({\n key: 'GT',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Opérations imposables au taux normal 20 % sur les produits pétroliers : taxe due',\n value: data.vat.oilProducts.normalRate20.tax,\n });\n }\n\n if (data.vat.oilProducts.reduceRate13.base > 0) {\n importFields.push({\n key: 'GU',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Opérations imposables au taux réduit 13 % sur les produits pétroliers : base HT',\n value: data.vat.oilProducts.reduceRate13.base,\n });\n }\n\n if (data.vat.oilProducts.reduceRate13.tax > 0) {\n importFields.push({\n key: 'GV',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Opérations imposables au taux réduit 13 % sur les produits pétroliers : taxe due',\n value: data.vat.oilProducts.reduceRate13.tax,\n });\n }\n\n if (data.vat.importations.normalRate20.base > 0) {\n importFields.push({\n key: 'LB',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Importations - Taux normal 20 % Base HT',\n value: data.vat.importations.normalRate20.base,\n });\n }\n\n if (data.vat.importations.reduceRate10.base > 0) {\n importFields.push({\n key: 'LD',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Importations - Taux réduit 10 % Base HT',\n value: data.vat.importations.reduceRate10.base,\n });\n }\n\n if (data.vat.importations.reduceRate8Dot5.base > 0) {\n importFields.push({\n key: 'LF',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Importations - Taux réduit 8,5 % Base HT',\n value: data.vat.importations.reduceRate8Dot5.base,\n });\n }\n\n if (data.vat.importations.reduceRate5Dot5.base > 0) {\n importFields.push({\n key: 'LH',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Importations - Taux réduit 5,5 % Base HT',\n value: data.vat.importations.reduceRate5Dot5.base,\n });\n }\n\n if (data.vat.importations.reduceRate2Dot1.base > 0) {\n importFields.push({\n key: 'LK',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Importations - Taux réduit 2,1 % Base HT',\n value: data.vat.importations.reduceRate2Dot1.base,\n });\n }\n\n if (data.vat.importations.reduceRate1Dot05.base > 0) {\n importFields.push({\n key: 'LM',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Importations - Taux réduit 1,05 % Base HT',\n value: data.vat.importations.reduceRate1Dot05.base,\n });\n }\n\n return [\n {\n name: '3310CA3',\n fields: [\n {\n key: 'BA',\n value: null,\n isMultiple: false,\n tags: [\n {\n tag: 'TexteLibre1',\n description: 'FTX Commentaires type 1, ligne 1 1ère zone de 512',\n value: textFormatting(comment, 512),\n },\n {\n tag: 'TexteLibre2',\n description: 'FTX Commentaires type 1, ligne 2 2ème zone de 512',\n value: comment && (comment?.length ?? 0) > 512 ? textFormatting(comment.slice(512, 1024)) : null,\n },\n {\n tag: 'TexteLibre3',\n description: 'FTX Commentaires type 1, ligne 3 3ème zone de 512',\n value: comment && (comment?.length ?? 0) > 1024 ? textFormatting(comment.slice(1024, 1536)) : null,\n },\n {\n tag: 'TexteLibre4',\n description: 'FTX Commentaires type 1, ligne 4 4ème zone de 512',\n value: comment && (comment?.length ?? 0) > 1536 ? textFormatting(comment.slice(1536, 2048)) : null,\n },\n {\n tag: 'TexteLibre5',\n description: 'FTX Commentaires type 1, ligne 5 5ème zone de 512',\n value: comment && (comment?.length ?? 0) > 2048 ? textFormatting(comment.slice(2048, 2560)) : null,\n },\n ],\n },\n {\n key: 'BB',\n tag: 'Valeur',\n isMultiple: false,\n description: 'CCITBX Paiement par imputation Table TBX avec X pour sélectionné, CCI/7037 = CAV/1131 =',\n value: null,\n },\n {\n key: 'BC',\n tag: 'Valeur',\n isMultiple: false,\n description: 'CCITBX Mention expresse Table TBX avec X pour sélectionné, CCI/7037 = CAV/1131 =',\n value: comment && comment?.length > 0 ? 'X' : null,\n },\n {\n key: 'BE',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Opérations imposables en Corse à un taux particulier taux 0,90% base HT',\n value: data.vat.otherRate.atCorse0Dot9.base,\n },\n {\n key: 'BF',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Opérations imposables en Corse à un taux particulier taux 2,10% base HT',\n value: data.vat.otherRate.at2Dot1.base,\n },\n {\n key: 'BP',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Opérations imposables dans les DOM à un taux particulier, taux 1,05%, base HT',\n value: data.vat.otherRate.at1Dot05.base,\n },\n {\n key: 'BQ',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Opérations imposables dans les DOM à un taux particulier, taux 1,75%, base HT',\n value: data.vat.otherRate.at1Dot75.base,\n },\n {\n key: 'BS',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Opérations imposables en Corse à un taux particulier taux 10% base HT',\n value: data.vat.otherRate.at10.base,\n },\n {\n key: 'CA',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Opérations imposables HT - Ventes, prestations de services',\n value: data.taxedOperations.services,\n },\n {\n key: 'CB',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Opérations imposables HT - Autres opérations imposables',\n value: data.taxedOperations.other,\n },\n {\n key: 'CC',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Acquisitions intra-communautaires, base hors taxe',\n value: data.taxedOperations.intracommunityAcquisitions,\n },\n {\n key: 'CE',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Régularisation',\n value: data.taxedOperations.regularizations,\n },\n {\n key: 'CF',\n tag: 'Valeur',\n isMultiple: false,\n description:\n \"MOA Livraisons d'electricité, de gaz naturel, de chaleur ou de froid imposables en France, base hors taxe\",\n value: data.taxedOperations.energyDelivery,\n },\n {\n key: 'CG',\n tag: 'Valeur',\n isMultiple: false,\n description:\n \"MOA Achats de biens ou de prestations de services réalisés auprès d'un assujetti non établi en France, art 283-1 du CGI\",\n value: data.taxedOperations.purchaseOfServicesNotInFrance,\n },\n {\n key: 'CH',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Mises à la consommation de produits pétroliers, base hors taxe',\n value: data.taxedOperations.releaseFromConsumption,\n },\n {\n key: 'CP',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Opérations imposables dans les DOM à un taux particulier, taux 1,05%, taxe due',\n value: data.vat.otherRate.at1Dot05.tax,\n },\n {\n key: 'CQ',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Opérations imposables dans les DOM à un taux particulier, taux 1,75%, taxe due',\n value: data.vat.otherRate.at1Dot75.tax,\n },\n {\n key: 'CS',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Opérations imposables en Corse à un taux particulier taux 10% taxe due',\n value: data.vat.otherRate.at10.tax,\n },\n {\n key: 'DA',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Opérations non taxées - Exportations hors UE',\n value: data.untaxedOperations.exportationNotInEurope,\n },\n {\n key: 'DB',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Autres opérations non imposables',\n value: data.untaxedOperations.other,\n },\n {\n key: 'DC',\n tag: 'Valeur',\n isMultiple: false,\n description: \"MOA Livraisons intracommunautaires à destination d'une personne assujettie 100077\",\n value: data.untaxedOperations.intracommunityDelivery,\n },\n {\n key: 'DD',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Achats en franchise 100104',\n value: data.untaxedOperations.purchaseInFranchise,\n },\n {\n key: 'DE',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Régularisations 100119',\n value: data.untaxedOperations.regularizations,\n },\n {\n key: 'DF',\n tag: 'Valeur',\n isMultiple: false,\n description:\n \"MOA Livraisons d'electricité, de gaz naturel, de chaleur ou de froid non imposables en France 100122\",\n value: data.untaxedOperations.energyDelivery,\n },\n {\n key: 'DG',\n tag: 'Valeur',\n isMultiple: false,\n description:\n 'MOA Vente de biens ou de prestations de services réalisées par un assujetti non établi en France, art 283-1 du CGI 100506',\n value: data.untaxedOperations.saleOfServicesNotInFrance,\n },\n {\n key: 'DH',\n tag: 'Valeur',\n isMultiple: false,\n description:\n 'MOA Ventes à distance taxables dans un autre Etat membre au profit de personnes non assujetties',\n value: data.untaxedOperations.distanceSelling,\n },\n {\n key: 'DJ',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Opérations non taxées - Mises à la consommation de produits pétroliers 910759',\n value: data.untaxedOperations.oilProductsConsumption,\n },\n {\n key: 'FB',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Opérations imposables au taux réduit en France métropolitaine : base HT',\n value: data.vat.carrieredOutInFrance.reduceRate5Dot5.base,\n },\n {\n key: 'FC',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Opérations imposables aux anciens taux (France métropolitaine ou DOM) : base HT',\n value: data.vat.otherRate.oldRate.base,\n },\n {\n key: 'FG',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Ligne utilisable pour une nouveau taux en métropole (base HT) (ligne',\n value: null,\n },\n {\n key: 'FH',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Ligne utilisable pour une nouveau taux en métropole (taxe due) (ligne',\n value: null,\n },\n {\n key: 'FJ',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Ligne utilisable pour une nouveau taux dans les DOM (base HT) (ligne',\n value: null,\n },\n {\n key: 'FK',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Ligne utilisable pour une nouveau taux dans les DOM (taxe due) (ligne',\n value: null,\n },\n {\n key: 'FM',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Opérations réalisées dans les DOM imposables au taux normal : base HT',\n value: data.vat.overseasDepartment.reduceRate8Dot5.base,\n },\n {\n key: 'FN',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Opérations imposables réalisées dans les DOM au taux réduit base HT',\n value: data.vat.overseasDepartment.reduceRate2Dot1.base,\n },\n {\n key: 'FP',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Opérations imposables au taux normal de 20% en France métropolitaine : base HT',\n value: data.vat.carrieredOutInFrance.normalRate20.base,\n },\n {\n key: 'FR',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Opérations imposables au taux réduit de 10% en France métropolitaine : base HT',\n value: data.vat.carrieredOutInFrance.reduceRate10.base,\n },\n {\n key: 'GA',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA TVA antérieurement déduite à reverser, dont TVA sur les produits',\n value: data.vat.previouslyDeductedToBeReturned.onOilProducts,\n },\n {\n key: 'GB',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Opérations imposables au taux réduit en France métropolitaine : Taxe due',\n value: data.vat.carrieredOutInFrance.reduceRate5Dot5.tax,\n },\n {\n key: 'GC',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Opérations imposables aux anciens taux (France métropolitaine ou DOM) : taxe due',\n value: data.vat.otherRate.oldRate.tax,\n },\n {\n key: 'GG',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA TVA antérieurement déduite à reverser, taxe due',\n value: data.vat.previouslyDeductedToBeReturned.total,\n },\n {\n key: 'GH',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Total général de la TVA brute due',\n value: data.vat.grossDue,\n },\n {\n key: 'GJ',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA TVA brute sur acquisitions intra-communautaires',\n value: data.vat.onIntracommunityAcquisition,\n },\n {\n key: 'GK',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA TVA brute due sur opérations à destination de Monaco',\n value: data.vat.toMonaco,\n },\n {\n key: 'GM',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Opérations réalisées dans les DOM imposables au taux normal : taxe due',\n value: data.vat.overseasDepartment.reduceRate8Dot5.tax,\n },\n {\n key: 'GN',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Opérations réalisées dans les DOM imposables au taux réduit : taxe due',\n value: data.vat.overseasDepartment.reduceRate2Dot1.tax,\n },\n {\n key: 'GP',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Opérations imposables au taux normal de 20% en France métropolitaine : taxe due',\n value: data.vat.carrieredOutInFrance.normalRate20.tax,\n },\n {\n key: 'GR',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Opérations imposables au taux réduit de 10% en France métropolitaine : Taxe due',\n value: data.vat.carrieredOutInFrance.reduceRate10.tax,\n },\n ...importFields,\n {\n key: 'HA',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA TVA déductible sur biens constituant des immobilisations',\n value: data.vat.deductible.immobilizations,\n },\n {\n key: 'HB',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA TVA déductible sur autres biens et services (déduction sur facture',\n value: data.vat.deductible.otherGoodsAndServices,\n },\n {\n key: 'HC',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Autre TVA à déduire (dont régularisation de :',\n value: data.vat.deductible.other.total,\n },\n {\n key: 'HD',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Report du crédit apparaissant sur la précédente déclaration',\n value: data.vat.deductible.report,\n },\n {\n key: 'HE',\n tag: 'Valeur',\n isMultiple: false,\n description:\n \"PCD Pourcentage de déduction applicable pour la période s'il est différent de 100% Valeur entière et au plus 2 décimales\",\n value:\n isDefined(data.vat.deductible.coefficient) && data.vat.deductible.coefficient !== 100\n ? data.vat.deductible.coefficient\n : null,\n },\n {\n key: 'HF',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Dont TVA déductible sur importations',\n value: data.vat.deductible.onImportOtherThanOilProducts,\n },\n {\n key: 'HG',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Total de la TVA déductible',\n value: data.vat.deductible.total,\n },\n {\n key: 'HH',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA - TVA collectée sur autres produits ou PS [cf notice] ou déductible',\n value: data.vat.deductible.other.collected,\n },\n {\n key: 'HJ',\n tag: 'Valeur',\n isMultiple: false,\n description: \"CCITBX Mention membre d'un groupe Table TBX avec X pour sélectionné, CCI/7037 = CAV/1131 =\",\n value: null,\n },\n {\n key: 'HK',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA - TVA sur les produits pétroliers',\n value: data.vat.deductible.other.oil,\n },\n {\n key: 'HL',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Dont TVA déductible sur les produits pétroliers',\n value: data.vat.deductible.onOilProducts,\n },\n {\n key: 'JA',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Crédit de TVA',\n value: data.credit.amount,\n },\n {\n key: 'JB',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Remboursement de crédit demandé sur formulaire n° 3519 joint',\n value: data.credit.refundAsked,\n },\n {\n key: 'JC',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Crédit à reporter sur déclaration suivante',\n value: data.credit.toReport,\n },\n {\n key: 'KA',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA TVA nette due',\n value: data.toPay.netDue,\n },\n {\n key: 'KB',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Report du montant de taxes assimilées calculées sur annexe 3310A',\n value: data.credit.assimiledTaxes,\n },\n {\n key: 'KE',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Total à payer',\n value: data.toPay.total,\n },\n {\n key: 'KF',\n tag: 'Valeur',\n isMultiple: false,\n description: 'CCITBX Mention déclaration néante Table TBX avec X pour sélectionné, CCI/7037 = CAV/1131 =',\n value: data.isNil === true ? 'X' : null,\n },\n {\n key: 'KH',\n tag: 'Valeur',\n isMultiple: false,\n description:\n 'MOA Achats de prestations de services intracommunautaires (art 283-2 du code général des impôts) Base hors taxe',\n value: data.taxedOperations.purchaseOfIntracommunityServiceProvision,\n },\n {\n key: 'KJ',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Crédit de TVA transféré à la société tête de groupe',\n value: data.credit.transferedToSocietyHeadOfGroup,\n },\n {\n key: 'KL',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Total à payer acquitté par la société tête de groupe',\n value: data.toPay.acquittedBySocietyHeadOfGroup,\n },\n {\n key: 'KS',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Sommes à ajouter, y compris acompte congés (exprimées en euro',\n value: data.vat.sumToAdd,\n },\n {\n key: 'KU',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Sommes à imputer, y compris acompte congés (exprimées en euro',\n value: data.vat.deductible.toImpute,\n },\n {\n key: 'KV',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Sorties de régime fiscal suspensif (autres que les produits pétroliers',\n value: data.taxedOperations.withdrawSuspensiveRegime,\n },\n {\n key: 'KW',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Importations (autres que les produits pétroliers',\n value: data.untaxedOperations.import,\n },\n {\n key: 'KX',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Sorties de régime fiscal suspensif (autres que les produits pétroliers',\n value: data.untaxedOperations.withdrawSuspensiveRegime,\n },\n {\n key: 'KY',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Importations placée sous régime fiscal suspensif (autres que les produits pétroliers',\n value: data.untaxedOperations.importInSuspensiveSystem,\n },\n {\n key: 'KZ',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Acquisitions intracommunautaires 911594',\n value: data.untaxedOperations.intracommunityAcquisitions,\n },\n {\n key: 'LA',\n tag: 'Valeur',\n isMultiple: false,\n description:\n 'MOA Opérations non taxées - Importations de produits pétroliers placées sous régime fiscal suspensif 911595',\n value: data.untaxedOperations.importPetrolInSuspensiveSystem,\n },\n {\n key: 'LC',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Importations - Taux normal 20 % Taxe due',\n value: data.vat.importations.normalRate20.tax,\n },\n {\n key: 'LE',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Importations - Taux réduit 10 % Taxe due',\n value: data.vat.importations.reduceRate10.tax,\n },\n {\n key: 'LG',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Importations - Taux réduit 8,5 % Taxe due',\n value: data.vat.importations.reduceRate8Dot5.tax,\n },\n {\n key: 'LJ',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Importations - Taux réduit 5,5 % Taxe due',\n value: data.vat.importations.reduceRate5Dot5.tax,\n },\n {\n key: 'LL',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Importations - Taux réduit 2,1 % Taxe due',\n value: data.vat.importations.reduceRate2Dot1.tax,\n },\n {\n key: 'LN',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Importations - Taux réduit 1,05 % Taxe due',\n value: data.vat.importations.reduceRate1Dot05.tax,\n },\n {\n key: 'LP',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA - TVA sur les produits importés hors produits pétroliers',\n value: data.vat.deductible.other.thanOilProducts,\n },\n {\n key: 'LQ',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA TVA antérieurement déduite à reverser, dont TVA sur les produits importés hors produits',\n value: data.vat.previouslyDeductedToBeReturned.otherThanOilProducts,\n },\n {\n key: 'LS',\n tag: 'Valeur',\n isMultiple: false,\n description:\n \"CCITBX Mention de qualité de représentant d'un assujetti unique Table TBX avec X pour sélectionné, CCI/7037 = CAV/1131 =\",\n value: null,\n },\n {\n key: 'MA',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Opérations imposables en Corse à un taux particulier taux 0,90% taxe due',\n value: data.vat.otherRate.atCorse0Dot9.tax,\n },\n {\n key: 'MC',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Opérations imposables en Corse à un taux particulier taux 2,10 % taxe due',\n value: data.vat.otherRate.atCorse2Dot1.tax,\n },\n {\n key: 'MD',\n tag: 'Valeur',\n isMultiple: false,\n description: \"MOA Retenue de TVA sur droits d'auteur taxe due\",\n value: data.vat.otherRate.author.tax,\n },\n {\n key: 'ME',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Opérations imposables en France continentaleà un taux particulier taux 2,10% taxe due',\n value: data.vat.otherRate.at2Dot1.tax,\n },\n {\n key: 'MF',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Opérations imposables en France continentale à un taux particulier taux 2,10% base HT',\n value: data.vat.otherRate.author.base,\n },\n {\n key: 'MG',\n tag: 'Valeur',\n isMultiple: false,\n description: \"MOA Retenue de TVA sur droits d'auteur base HT\",\n value: data.vat.otherRate.oldRate.base,\n },\n {\n key: 'MH',\n tag: 'Valeur',\n isMultiple: false,\n description:\n 'MOA Crédit de TIC transféré à la société tête de groupe sur la déclaration récapitulative 3310-CA3G',\n value: data.credit.ticTransfered,\n },\n {\n key: 'MJ',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA TICFE - crédit imputé sur la',\n value: data.tic?.ticfe?.imputed,\n },\n {\n key: 'MK',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA TICGN - crédit imputé sur la',\n value: data.tic?.ticgn?.imputed,\n },\n {\n key: 'ML',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA TICCE - crédit imputé sur la',\n value: data.tic?.ticc?.imputed,\n },\n {\n key: 'MM',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA TOTAL - crédit imputé sur la',\n value: data.tic?.total?.imputed,\n },\n {\n key: 'MN',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Crédit de TIC imputé sur la TVA (Total',\n value: data.tic?.total?.imputed,\n },\n {\n key: 'MP',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA TICFE - Reliquat de crédit à',\n value: data.tic?.ticfe?.refund,\n },\n {\n key: 'MQ',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA TICGN - Reliquat de crédit à',\n value: data.tic?.ticgn?.refund,\n },\n {\n key: 'MR',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA TICCE - Reliquat de crédit à',\n value: data.tic?.ticc?.refund,\n },\n {\n key: 'MS',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA TOTAL - reliquat de crédit à',\n value: data.tic?.total?.refund,\n },\n {\n key: 'MT',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Remboursement de reliquat de TIC demandé',\n value: data.credit.ticRefund,\n },\n {\n key: 'MU',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA TICFE - Taxe',\n value: data.tic?.ticfe?.tax,\n },\n {\n key: 'MV',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA TICGN - Taxe',\n value: data.tic?.ticgn?.tax,\n },\n {\n key: 'MW',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA TICCE - Taxe',\n value: data.tic?.ticc?.tax,\n },\n {\n key: 'MX',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA TOTAL - taxe',\n value: data.tic?.total?.tax,\n },\n {\n key: 'MY',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA TICFE - crédit',\n value: data.tic?.ticfe?.credit,\n },\n {\n key: 'MZ',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA TICGN - crédit',\n value: data.tic?.ticgn?.credit,\n },\n {\n key: 'NA',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA TICCE - crédit',\n value: data.tic?.ticc?.credit,\n },\n {\n key: 'NB',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA TOTAL - crédit',\n value: data.tic?.total?.credit,\n },\n {\n key: 'NC',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Total des taxes intérieures de consommation dues',\n value: data.tic?.total?.tax,\n },\n {\n key: 'ND',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA TVA nette due (ligne TD - ligne X5',\n value: data.toPay.netDue,\n },\n ],\n },\n ];\n}\n\nexport const cerfa3310Century23Fields: CerfaPayloadForm[] = [\n {\n sectionName: 'Général',\n childrens: [\n {\n label: 'TVA à néant',\n key: 'isNil',\n type: 'boolean',\n },\n {\n label: 'Commentaire',\n key: 'comment',\n type: 'text',\n },\n ],\n },\n {\n sectionName: 'Opérations taxées',\n childrens: [\n {\n label: 'A5 - Sorties de régime fiscal suspensif (autre que les produits pétroliers)',\n key: 'taxedOperations.withdrawSuspensiveRegime',\n type: 'number',\n },\n {\n label: 'B1 - Mises à la consommation de produits pétroliers',\n key: 'taxedOperations.releaseFromConsumption',\n type: 'number',\n },\n {\n label: \"B3 - Achats d'electricité, de gaz naturel, de chaleur ou de froid imposables en France\",\n key: 'taxedOperations.energyDelivery',\n type: 'number',\n },\n {\n label: \"B4 - Achats de biens ou de prestations de services réalisés auprès d'un assujetti non établi en France\",\n key: 'taxedOperations.regularizations',\n type: 'number',\n },\n ],\n },\n {\n sectionName: 'Opérations non taxées',\n childrens: [\n {\n label: 'E3 - Ventes à distance taxables dans un autre 2tat membre au profit des personnes non assujetties',\n key: 'untaxedOperations.distanceSelling',\n type: 'number',\n },\n {\n label: 'E5 - Sorties de régime fiscal suspensif (autres que les produits pétroliers)',\n key: 'untaxedOperations.withdrawSuspensiveRegime',\n type: 'number',\n },\n {\n label: 'E6 - Acquisitions intracommunautaires',\n key: 'untaxedOperations.intracommunityAcquisitions',\n type: 'number',\n },\n {\n label: 'F1 - Acquisitions intracommunautaires',\n key: 'untaxedOperations.intracommunityDelivery',\n type: 'number',\n },\n {\n label: \"F3 - Livraisons d'électricité, de gaz naturel, de chaleur ou de froid non imposables en France\",\n key: 'untaxedOperations.energyDelivery',\n type: 'number',\n },\n {\n label: 'F4 - Mises à la consommation de produits pétroliers',\n key: 'untaxedOperations.oilProductsConsumption',\n type: 'number',\n },\n {\n label: 'F5 - Importations de produits pétroliers placées sous régime fiscal suspensif',\n key: 'untaxedOperations.importPetrolInSuspensiveSystem',\n type: 'number',\n },\n {\n label: 'F6 - Achats en franchise',\n key: 'untaxedOperations.purchaseInFranchise',\n type: 'number',\n },\n {\n label: 'F7 - Ventes de biens ou prestations de services réalisées par un assujetti non établi en France',\n key: 'untaxedOperations.saleOfServicesNotInFrance',\n type: 'number',\n },\n {\n label: 'F8 - Régularisations',\n key: 'untaxedOperations.regularizations',\n type: 'number',\n },\n {\n label: \"F9 - Opérations internes réalisées entre membres d'un assujetti unique\",\n key: 'untaxedOperations.internalUniq',\n type: 'number',\n },\n ],\n },\n {\n sectionName: 'TVA brute',\n childrens: [\n {\n label: '13 - Anciens taux, base hors taxe',\n key: 'deductible.otherRate.oldRate.base',\n type: 'number',\n },\n {\n label: '13 - Anciens taux, taxe due',\n key: 'deductible.otherRate.oldRate.tax',\n type: 'number',\n },\n {\n label: 'P1 - Produits pétroliers, taux normal 20%',\n key: 'vat.oilProducts.normalRate20.base',\n type: 'number',\n },\n {\n label: 'P2 - Produits pétroliers, taux réduit 13%',\n key: 'vat.oilProducts.normalRate13.base',\n type: 'number',\n },\n {\n label: 'pétroliers - TVA antérieurement déduite à reverser (dont TVA sur les produit',\n key: 'vat.previouslyDeductedToBeReturned.onOilProducts',\n type: 'number',\n },\n {\n label: 'pétroliers - TVA antérieurement déduite à reverser (dont TVA sur les produits importés hors produit',\n key: 'vat.previouslyDeductedToBeReturned.otherThanOilProducts',\n type: 'number',\n },\n {\n label: '15 - TVA antérieurement déduite à reverser, total',\n key: 'vat.previouslyDeductedToBeReturned.total',\n type: 'number',\n },\n {\n label: 'Dont TVA sur opérations à destination de Monaco',\n key: 'vat.toMonaco',\n type: 'number',\n },\n ],\n },\n {\n sectionName: 'TVA déductible',\n childrens: [\n {\n label: '22 - Report du crédit apparaissant ligne 27 de la précédente déclaration',\n key: 'vat.deductible.toReport',\n type: 'number',\n },\n /* {\n GERE DANS LES REGULARISATIONS\n label: '2C - Sommes à imputer, y compris acompte congés',\n key: 'vat.deductible.toImpute',\n type: 'number',\n }, */\n {\n label: '22A - Coefficient de taxation unique applicable pour la période si différent de 100%',\n key: 'vat.deductible.coefficient',\n type: 'number',\n },\n ],\n },\n {\n sectionName: 'Détermination du montant à payer',\n childrens: [\n {\n label: '26 - Remboursement de crédit de TVA demandé sur formulaire n° 3519',\n key: 'credit.refundAsked',\n visibleIf: 'credit.amount',\n type: 'number',\n },\n {\n label: 'AA - Crédit de TVA transféré à la société tête de groupe',\n key: 'credit.transferedToSocietyHeadOfGroup',\n type: 'number',\n },\n {\n label: \"29 - Taxes assimilées calculées sur l'annexe n° 3310 A\",\n key: 'credit.assimiledTaxes',\n type: 'number',\n },\n {\n label: 'AB - Total à payer acquitté par la société tête de groupe',\n key: 'toPay.acquittedBySocietyHeadOfGroup',\n type: 'number',\n },\n ],\n },\n];\n"]}
1
+ {"version":3,"file":"century23.js","sourceRoot":"","sources":["../../../../../ts/utils/vat/3310/century23.ts"],"names":[],"mappings":"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","sourcesContent":["import * as dayjs from 'dayjs';\nimport { isDefined } from 'class-validator';\nimport { round as _round, flatten, uniqBy, maxBy } from 'lodash';\nimport { IAccountingEntry } from '../../../types/Interface/models/IAccountingEntry';\nimport { Cerfa3310_2023, PayloadCerfa3310_2023 } from '../../../types/Interface/api/cerfa/3310';\nimport { Vat } from '../../../types/Enum/Vat';\nimport { getAmountByAccountNumber, getTaxAmountByAccountNumber, setZeroIfIsNegative, textFormatting } from '../utils';\nimport { AsponeFormFields, CerfaPayloadForm } from '../../../types/Interface/api/cerfa/ReadCerfa';\nimport { UpdatedAnnotation } from '../../../types/Interface/api/registration/ReadRegistration';\nimport { FieldForGeneration } from '../../../types/Interface/api/aspone/ReadInterchange';\n\nexport function getCerfa3310Century23Payload(\n accountingEntries: IAccountingEntry[],\n payload: PayloadCerfa3310_2023,\n updatedEntries: UpdatedAnnotation = [],\n): Cerfa3310_2023 {\n const shouldHaveVatCode = isDefined(payload.setting?.tvaCode) && isDefined(payload.society.siret);\n const vats = Object.values(Vat);\n\n const isVatControl = Object.values(payload.vatControl ?? {}).filter((v) => isDefined(v)).length > 0;\n // On désactive les automatismes des déclarations précédentes dans le contrôle de TVA\n if (isVatControl) payload.previousVatDeclaration = null;\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const frenchVat = vats.filter((v) => !v.isVatImportation && !v.isVatIntracom).map((v) => v.id);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const withTaxVat = vats.filter((v) => v.value > 0).map((v) => v.id);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const intracomVat = vats.filter((v) => v.isVatIntracom && !v.isVatImportation).map((v) => v.id);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const withoutTaxVat = vats.filter((v) => v.value === 0).map((v) => v.id);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const importationVat = vats.filter((v) => v.isVatImportation && !v.isVatIntracom).map((v) => v.id);\n\n const vatEntries = uniqBy(\n accountingEntries.filter((ae) => typeof ae.idVat === 'number'),\n 'id',\n ) as Array<IAccountingEntry & { idVat: number }>;\n\n const oldEntries = flatten(updatedEntries?.map((u) => u.old));\n const newEntries = flatten(updatedEntries?.map((u) => u.new));\n\n const collectedOldAmount = getAmountByAccountNumber(oldEntries, ['4457'], 0, true);\n const collectedNewAmount = getAmountByAccountNumber(newEntries, ['4457'], 0, true);\n\n const deductedOldAmount = getAmountByAccountNumber(oldEntries, ['4456'], 0);\n const deductedNewAmount = getAmountByAccountNumber(newEntries, ['4456'], 0);\n\n const mxCollected = collectedNewAmount - collectedOldAmount;\n const mxDeducted = deductedNewAmount - deductedOldAmount;\n\n let mxToAdd = 0;\n let mxToSub = 0;\n\n if (mxCollected > 0) {\n mxToAdd += mxCollected;\n }\n if (mxDeducted < 0) {\n mxToAdd += Math.abs(mxDeducted);\n }\n\n if (mxCollected < 0) {\n mxToSub += Math.abs(mxCollected);\n }\n if (mxDeducted > 0) {\n mxToSub += mxDeducted;\n }\n\n // Opérations taxées -\n const taxedServicesEntries = vatEntries.filter((ae) => frenchVat.includes(ae.idVat) && withTaxVat.includes(ae.idVat));\n const servicesAccounts = ['701', '702', '703', '704', '705', '706', '707', '708', '472'];\n const taxedServicesFromFrance =\n setZeroIfIsNegative(getAmountByAccountNumber(taxedServicesEntries, servicesAccounts, 0, true)) +\n (payload?.vatControl?.france?.base20 ?? 0) +\n (payload?.vatControl?.france?.base10 ?? 0) +\n (payload?.vatControl?.france?.base8Dot5 ?? 0) +\n (payload?.vatControl?.france?.base5Dot5 ?? 0) +\n (payload?.vatControl?.france?.base2Dot1 ?? 0);\n const taxedOther =\n setZeroIfIsNegative(\n getAmountByAccountNumber(\n vatEntries.filter((ae) => withTaxVat.includes(ae.idVat)),\n ['775'],\n 0,\n true,\n ),\n ) +\n (payload?.vatControl?.other?.base20 ?? 0) +\n (payload?.vatControl?.other?.base10 ?? 0) +\n (payload?.vatControl?.other?.base5Dot5 ?? 0) +\n (payload?.vatControl?.other?.base2Dot1 ?? 0);\n const intracommunityServiceAccounts = ['604', '611', '612', '613', '614', '615', '616', '617', '618', '619', '62'];\n const intracommunityServiceEntries = vatEntries.filter(\n (ae) => withTaxVat.includes(ae.idVat) && intracomVat.includes(ae.idVat),\n );\n\n // Case A3\n const taxedPurchaseOfIntracommunityService = 0; /* setZeroIfIsNegative(getAmountByAccountNumber(intracommunityServiceEntries, intracommunityServiceAccounts, 0, true)); */\n\n const taxedImportEntries = vatEntries.filter(\n (ae) => importationVat.includes(ae.idVat) && withTaxVat.includes(ae.idVat),\n );\n const taxedImportAccounts = ['6'];\n const taxedImport =\n setZeroIfIsNegative(getAmountByAccountNumber(taxedImportEntries, taxedImportAccounts, 0, true)) +\n (payload?.vatControl?.importations?.base20 ?? 0) +\n (payload?.vatControl?.importations?.base10 ?? 0) +\n (payload?.vatControl?.importations?.base8Dot5 ?? 0) +\n (payload?.vatControl?.importations?.base5Dot5 ?? 0) +\n (payload?.vatControl?.importations?.base2Dot1 ?? 0);\n\n const intracommunityAccounts2 = ['601', '602', '603', '605', '606', '607', '651'];\n const taxedIntracommunityAcquisitions = getAmountByAccountNumber(\n vatEntries.filter((ae) => intracomVat.includes(ae.idVat) && withTaxVat.includes(ae.idVat)),\n [...intracommunityAccounts2, ...intracommunityServiceAccounts],\n 0,\n true,\n );\n\n // Opérations non taxées\n const untaxedExportationNotInEurope =\n setZeroIfIsNegative(\n getAmountByAccountNumber(\n vatEntries.filter((ae) => importationVat.includes(ae.idVat) && withoutTaxVat.includes(ae.idVat)),\n servicesAccounts,\n 0,\n true,\n ),\n ) + (payload?.vatControl?.untaxed?.exportation ?? 0);\n const untaxedOther =\n setZeroIfIsNegative(\n getAmountByAccountNumber(\n vatEntries.filter((ae) => frenchVat.includes(ae.idVat) && withoutTaxVat.includes(ae.idVat)),\n ['70', '71', '72', '73', '75', '77', '78', '790', '792', '793', '794', '795', '796', '797', '798', '799'],\n 0,\n true,\n ),\n ) + (payload?.vatControl?.untaxed?.other ?? 0); // 02/08/23 - ne plus prendre en compte les comptes 76,74,791 - Chloé R.\n const untaxedImport =\n setZeroIfIsNegative(\n getAmountByAccountNumber(\n vatEntries.filter((ae) => importationVat.includes(ae.idVat) && withoutTaxVat.includes(ae.idVat)),\n ['6'],\n 0,\n true,\n ),\n ) + (payload?.vatControl?.untaxed?.importation ?? 0);\n const untaxedIntracomunity =\n setZeroIfIsNegative(\n getAmountByAccountNumber(\n vatEntries.filter((ae) => intracomVat.includes(ae.idVat) && withoutTaxVat.includes(ae.idVat)),\n intracommunityAccounts2,\n 0,\n true,\n ),\n ) + (payload?.vatControl?.untaxed?.intracomunity ?? 0);\n const untaxedIntracommunityDelivery = setZeroIfIsNegative(\n getAmountByAccountNumber(\n vatEntries.filter((ae) => withoutTaxVat.includes(ae.idVat) && intracomVat.includes(ae.idVat)),\n ['701', '707'],\n 0,\n true,\n ),\n );\n // TVA brute\n\n const normalRate =\n setZeroIfIsNegative(\n getAmountByAccountNumber(\n taxedServicesEntries.filter((e) =>\n vats\n .filter((v) => v.value === 20)\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n .map((v) => v.id)\n .includes(e.idVat),\n ),\n servicesAccounts,\n 0,\n true,\n ) +\n getAmountByAccountNumber(\n intracommunityServiceEntries.filter((e) =>\n vats\n .filter((v) => v.value === 20)\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n .map((v) => v.id)\n .includes(e.idVat),\n ),\n ['6'],\n 0,\n true,\n ),\n ) +\n (payload?.vatControl?.france?.base20 ?? 0) +\n (payload?.vatControl?.other?.base20 ?? 0);\n\n const normalRateTax = _round(normalRate * 0.2);\n\n const reducedRate5Dot5 =\n setZeroIfIsNegative(\n getAmountByAccountNumber(\n taxedServicesEntries.filter((e) =>\n vats\n .filter((v) => v.value === 5.5)\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n .map((v) => v.id)\n .includes(e.idVat),\n ),\n servicesAccounts,\n 0,\n true,\n ) +\n getAmountByAccountNumber(\n intracommunityServiceEntries.filter((e) =>\n vats\n .filter((v) => v.value === 5.5)\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n .map((v) => v.id)\n .includes(e.idVat),\n ),\n ['6'],\n 0,\n true,\n ),\n ) +\n (payload?.vatControl?.france?.base5Dot5 ?? 0) +\n (payload?.vatControl?.other?.base5Dot5 ?? 0);\n const reducedRate5Dot5Tax = _round(reducedRate5Dot5 * 0.055);\n\n const reducedRate10 =\n setZeroIfIsNegative(\n getAmountByAccountNumber(\n taxedServicesEntries.filter((e) =>\n vats\n .filter((v) => v.value === 10)\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n .map((v) => v.id)\n .includes(e.idVat),\n ),\n servicesAccounts,\n 0,\n true,\n ) +\n getAmountByAccountNumber(\n intracommunityServiceEntries.filter((e) =>\n vats\n .filter((v) => v.value === 10)\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n .map((v) => v.id)\n .includes(e.idVat),\n ),\n ['6'],\n 0,\n true,\n ),\n ) +\n (payload?.vatControl?.france?.base10 ?? 0) +\n (payload?.vatControl?.other?.base10 ?? 0);\n const reducedRate10Tax = _round(reducedRate10 * 0.1);\n\n const reducedRate8Dot5 =\n setZeroIfIsNegative(\n getAmountByAccountNumber(\n taxedServicesEntries.filter((e) =>\n vats\n .filter((v) => v.value === 8.5)\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n .map((v) => v.id)\n .includes(e.idVat),\n ),\n servicesAccounts,\n 0,\n true,\n ) +\n getAmountByAccountNumber(\n intracommunityServiceEntries.filter((e) =>\n vats\n .filter((v) => v.value === 8.5)\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n .map((v) => v.id)\n .includes(e.idVat),\n ),\n ['6'],\n 0,\n true,\n ),\n ) +\n (payload?.vatControl?.france?.base8Dot5 ?? 0) +\n (payload?.vatControl?.other?.base5Dot5 ?? 0);\n const reducedRate8Dot5Tax = _round(reducedRate8Dot5 * 0.085);\n\n const reducedRate2Dot1 =\n setZeroIfIsNegative(\n getAmountByAccountNumber(\n taxedServicesEntries.filter((e) =>\n vats\n .filter((v) => v.value === 2.1)\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n .map((v) => v.id)\n .includes(e.idVat),\n ),\n servicesAccounts,\n 0,\n true,\n ) +\n getAmountByAccountNumber(\n intracommunityServiceEntries.filter((e) =>\n vats\n .filter((v) => v.value === 2.1)\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n .map((v) => v.id)\n .includes(e.idVat),\n ),\n ['6'],\n 0,\n true,\n ),\n ) +\n (payload?.vatControl?.france?.base2Dot1 ?? 0) +\n (payload?.vatControl?.other?.base2Dot1 ?? 0);\n const reducedRate2Dot1Tax = _round(reducedRate2Dot1 * 0.021);\n\n const importNormalRate =\n setZeroIfIsNegative(\n getAmountByAccountNumber(\n taxedImportEntries.filter((e) =>\n vats\n .filter((v) => v.value === 20)\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n .map((v) => v.id)\n .includes(e.idVat),\n ),\n taxedImportAccounts,\n 0,\n true,\n ),\n ) + (payload?.vatControl?.importations?.base20 ?? 0);\n\n const importNormalRateTax = _round(importNormalRate * 0.2);\n\n const importReducedRate10 =\n setZeroIfIsNegative(\n getAmountByAccountNumber(\n taxedImportEntries.filter((e) =>\n vats\n .filter((v) => v.value === 10)\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n .map((v) => v.id)\n .includes(e.idVat),\n ),\n taxedImportAccounts,\n 0,\n true,\n ),\n ) + (payload?.vatControl?.importations?.base10 ?? 0);\n const importReducedRate10Tax = _round(importReducedRate10 * 0.1);\n\n const importReducedRate8Dot5 =\n setZeroIfIsNegative(\n getAmountByAccountNumber(\n taxedImportEntries.filter((e) =>\n vats\n .filter((v) => v.value === 8.5)\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n .map((v) => v.id)\n .includes(e.idVat),\n ),\n taxedImportAccounts,\n 0,\n true,\n ),\n ) + (payload?.vatControl?.importations?.base8Dot5 ?? 0);\n const importReducedRate8Dot5Tax = _round(importReducedRate8Dot5 * 0.085);\n\n const importReducedRate5Dot5 =\n setZeroIfIsNegative(\n getAmountByAccountNumber(\n taxedImportEntries.filter((e) =>\n vats\n .filter((v) => v.value === 5.5)\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n .map((v) => v.id)\n .includes(e.idVat),\n ),\n taxedImportAccounts,\n 0,\n true,\n ),\n ) + (payload?.vatControl?.importations?.base5Dot5 ?? 0);\n const importReducedRate5Dot5Tax = _round(importReducedRate8Dot5 * 0.055);\n\n const importReducedRate2Dot1 =\n setZeroIfIsNegative(\n getAmountByAccountNumber(\n taxedImportEntries.filter((e) =>\n vats\n .filter((v) => v.value === 2.1)\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n .map((v) => v.id)\n .includes(e.idVat),\n ),\n taxedImportAccounts,\n 0,\n true,\n ),\n ) + (payload?.vatControl?.importations?.base2Dot1 ?? 0);\n const importReducedRate2Dot1Tax = _round(importReducedRate2Dot1 * 0.021);\n\n const importReducedRate1Dot05 = setZeroIfIsNegative(\n getAmountByAccountNumber(\n taxedImportEntries.filter((e) =>\n vats\n .filter((v) => v.value === 1.05)\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n .map((v) => v.id)\n .includes(e.idVat),\n ),\n taxedImportAccounts,\n 0,\n true,\n ),\n );\n const importReducedRate1Dot05Tax = _round(importReducedRate1Dot05 * 0.0105);\n const intracommunityTax = setZeroIfIsNegative(\n getTaxAmountByAccountNumber(\n intracommunityServiceEntries,\n [...intracommunityServiceAccounts, ...intracommunityAccounts2],\n 0,\n ),\n );\n\n // TVA Déductible\n const immobilizationTax =\n setZeroIfIsNegative(getTaxAmountByAccountNumber(vatEntries, ['2'])) +\n (payload?.vatControl?.deducted?.immobilization ?? 0);\n\n const otherGoodsAndServices =\n setZeroIfIsNegative(\n getTaxAmountByAccountNumber(\n vatEntries.filter((e) =>\n vats\n .filter((v) => !v.isVatImportation)\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n .map((v) => v.id)\n .includes(e.idVat),\n ),\n ['6'],\n ),\n ) + (payload?.vatControl?.deducted?.abs ?? 0);\n\n const otherDeductibles =\n setZeroIfIsNegative(\n getTaxAmountByAccountNumber(\n vatEntries.filter((e) =>\n vats\n .filter((v) => v.isVatImportation)\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n .map((v) => v.id)\n .includes(e.idVat),\n ),\n ['6'],\n ),\n ) + (payload?.vatControl?.deducted?.other ?? 0);\n\n const report =\n (payload.vat?.deductible?.toReport && payload.vat?.deductible?.toReport >= 0\n ? _round(payload.vat?.deductible?.toReport ?? 0)\n : (payload.previousVatDeclaration?.credit?.toReport ?? 0)) + (payload?.vatControl?.deducted?.reported ?? 0);\n const coefficient = _round(payload.vat?.deductible?.coefficient ?? 100, 2);\n const isNil = payload.isNil === true;\n const isHolidayDeposit = payload.isHolidayDeposit === true;\n\n const sumToAdd =\n setZeroIfIsNegative(\n isNil\n ? 0\n : isHolidayDeposit\n ? _round((payload.previousVatDeclaration?.toPay?.total ?? 0) * 0.8)\n : _round(payload.vat?.sumToAdd ?? 0) + mxToAdd,\n ) + (payload?.vatControl?.regularisations?.case5B ?? 0);\n const comment = isHolidayDeposit ? `ACOMPTE CONGES ${payload.comment ?? ''}` : (payload.comment ?? null);\n\n const initialPayload: Cerfa3310_2023 = {\n isNil,\n isDGE: false,\n isUniq: false,\n declaration: {\n comment,\n recipient: {\n name: payload.society.name,\n address: {\n full: `${payload.society.address}\\n${payload.society.zipCode} ${payload.society.city}`,\n },\n numbers: {\n SIE: payload.sie?.sages ?? null,\n folder: null,\n key: null,\n period: null,\n CM: null,\n OPT: null,\n service: null,\n system: null,\n },\n },\n service: {\n address: {\n full: isDefined(payload.sie?.address?.address1)\n ? `${payload.sie?.address.address1}\\n${payload.sie?.address.address2}\\n${payload.sie?.address.address3}\\n${payload.sie?.address.address4}\\n${payload.sie?.address.address5}`\n : null,\n },\n },\n period: {\n start: {\n day: dayjs(payload.startDate).format('DD'),\n month: dayjs(payload.startDate).format('MM'),\n year: dayjs(payload.startDate).format('YY'),\n },\n end: {\n day: dayjs(payload.endDate).format('DD'),\n month: dayjs(payload.endDate).format('MM'),\n year: dayjs(payload.endDate).format('YY'),\n },\n },\n siret: {\n first: isDefined(payload.society.siret) ? (payload.society.siret?.slice(0, 9) ?? null) : null,\n second: isDefined(payload.society.siret) ? (payload.society.siret?.slice(-5) ?? null) : null,\n },\n intracommunityVat: {\n first: shouldHaveVatCode ? (payload.setting?.tvaCode?.slice(0, 2) ?? null) : null,\n second: shouldHaveVatCode ? (payload.setting?.tvaCode?.slice(2, 4) ?? null) : null,\n third: shouldHaveVatCode ? (payload.society.siret?.slice(0, 9) ?? null) : null,\n },\n payment: {\n date: dayjs().format('YYYY-MM-DD'),\n phone: null,\n isPayment: true,\n byImputation: false,\n },\n },\n taxedOperations: {\n services: isNil || isHolidayDeposit ? 0 : taxedServicesFromFrance,\n other: isNil || isHolidayDeposit ? 0 : taxedOther,\n purchaseOfIntracommunityServiceProvision: isNil || isHolidayDeposit ? 0 : taxedPurchaseOfIntracommunityService,\n import: isNil || isHolidayDeposit ? 0 : taxedImport,\n withdrawSuspensiveRegime:\n isNil || isHolidayDeposit ? 0 : _round(payload.taxedOperations?.withdrawSuspensiveRegime ?? 0),\n releaseFromConsumption:\n isNil || isHolidayDeposit ? 0 : _round(payload.taxedOperations?.releaseFromConsumption ?? 0),\n intracommunityAcquisitions: isNil || isHolidayDeposit ? 0 : taxedIntracommunityAcquisitions,\n energyDelivery: isNil || isHolidayDeposit ? 0 : _round(payload.taxedOperations?.energyDelivery ?? 0),\n purchaseOfServicesNotInFrance:\n isNil || isHolidayDeposit ? 0 : _round(payload.taxedOperations?.purchaseOfServicesNotInFrance ?? 0),\n regularizations:\n isNil || isHolidayDeposit\n ? 0\n : _round(payload.taxedOperations?.regularizations ?? 0) +\n (payload?.vatControl?.regularisations?.base20 ?? 0) +\n (payload?.vatControl?.regularisations?.base10 ?? 0) +\n (payload?.vatControl?.regularisations?.base5Dot5 ?? 0) +\n (payload?.vatControl?.regularisations?.base2Dot1 ?? 0),\n },\n untaxedOperations: {\n exportationNotInEurope: isNil || isHolidayDeposit ? 0 : untaxedExportationNotInEurope,\n other: isNil || isHolidayDeposit ? 0 : untaxedOther,\n distanceSelling: isNil || isHolidayDeposit ? 0 : _round(payload.untaxedOperations?.distanceSelling ?? 0),\n import: isNil || isHolidayDeposit ? 0 : untaxedImport,\n withdrawSuspensiveRegime:\n isNil || isHolidayDeposit ? 0 : _round(payload.untaxedOperations?.withdrawSuspensiveRegime ?? 0),\n importInSuspensiveSystem:\n isNil || isHolidayDeposit ? 0 : _round(payload.untaxedOperations?.importInSuspensiveSystem ?? 0),\n intracommunityAcquisitions: isNil || isHolidayDeposit ? 0 : untaxedIntracomunity,\n intracommunityDelivery: isNil || isHolidayDeposit ? 0 : untaxedIntracommunityDelivery,\n energyDelivery: isNil || isHolidayDeposit ? 0 : _round(payload.untaxedOperations?.energyDelivery ?? 0),\n oilProductsConsumption:\n isNil || isHolidayDeposit ? 0 : _round(payload.untaxedOperations?.oilProductsConsumption ?? 0),\n importPetrolInSuspensiveSystem:\n isNil || isHolidayDeposit ? 0 : _round(payload.untaxedOperations?.importPetrolInSuspensiveSystem ?? 0),\n purchaseInFranchise: isNil || isHolidayDeposit ? 0 : _round(payload.untaxedOperations?.purchaseInFranchise ?? 0),\n saleOfServicesNotInFrance:\n isNil || isHolidayDeposit ? 0 : _round(payload.untaxedOperations?.saleOfServicesNotInFrance ?? 0),\n regularizations:\n isNil || isHolidayDeposit\n ? 0\n : _round(payload.untaxedOperations?.regularizations ?? 0) +\n (payload?.vatControl?.untaxed?.regularisation ?? 0),\n internalUniq: isNil || isHolidayDeposit ? 0 : _round(payload.untaxedOperations?.internalUniq ?? 0),\n },\n vat: {\n carrieredOutInFrance: {\n normalRate20: {\n base: isNil || isHolidayDeposit ? 0 : normalRate,\n tax: isNil || isHolidayDeposit ? 0 : normalRateTax,\n },\n reduceRate5Dot5: {\n base: isNil || isHolidayDeposit ? 0 : reducedRate5Dot5,\n tax: isNil || isHolidayDeposit ? 0 : reducedRate5Dot5Tax,\n },\n reduceRate10: {\n base: isNil || isHolidayDeposit ? 0 : reducedRate10,\n tax: isNil || isHolidayDeposit ? 0 : reducedRate10Tax,\n },\n },\n overseasDepartment: {\n reduceRate8Dot5: {\n base: isNil || isHolidayDeposit ? 0 : reducedRate8Dot5,\n tax: isNil || isHolidayDeposit ? 0 : reducedRate8Dot5Tax,\n },\n reduceRate2Dot1: {\n base: isNil || isHolidayDeposit ? 0 : reducedRate2Dot1,\n tax: isNil || isHolidayDeposit ? 0 : reducedRate2Dot1Tax,\n },\n },\n oilProducts: {\n normalRate20: {\n base: isNil || isHolidayDeposit ? 0 : _round(payload.vat?.oilProducts?.normalRate20?.base ?? 0),\n tax: isNil || isHolidayDeposit ? 0 : _round(payload.vat?.oilProducts?.normalRate20?.base ?? 0) * 0.02,\n },\n reduceRate13: {\n base: isNil || isHolidayDeposit ? 0 : _round(payload.vat?.oilProducts?.reduceRate13?.base ?? 0),\n tax: isNil || isHolidayDeposit ? 0 : _round(payload.vat?.oilProducts?.reduceRate13?.base ?? 0) * 0.013,\n },\n },\n importations: {\n normalRate20: {\n base: isNil || isHolidayDeposit ? 0 : importNormalRate,\n tax: isNil || isHolidayDeposit ? 0 : importNormalRateTax,\n },\n reduceRate10: {\n base: isNil || isHolidayDeposit ? 0 : importReducedRate10,\n tax: isNil || isHolidayDeposit ? 0 : importReducedRate10Tax,\n },\n reduceRate8Dot5: {\n base: isNil || isHolidayDeposit ? 0 : importReducedRate8Dot5,\n tax: isNil || isHolidayDeposit ? 0 : importReducedRate8Dot5Tax,\n },\n reduceRate5Dot5: {\n base: isNil || isHolidayDeposit ? 0 : importReducedRate5Dot5,\n tax: isNil || isHolidayDeposit ? 0 : importReducedRate5Dot5Tax,\n },\n reduceRate2Dot1: {\n base: isNil || isHolidayDeposit ? 0 : importReducedRate2Dot1,\n tax: isNil || isHolidayDeposit ? 0 : importReducedRate2Dot1Tax,\n },\n reduceRate1Dot05: {\n base: isNil || isHolidayDeposit ? 0 : importReducedRate1Dot05,\n tax: isNil || isHolidayDeposit ? 0 : importReducedRate1Dot05Tax,\n },\n },\n previouslyDeductedToBeReturned: {\n onOilProducts:\n isNil || isHolidayDeposit ? 0 : _round(payload.vat?.previouslyDeductedToBeReturned?.onOilProducts ?? 0),\n otherThanOilProducts:\n isNil || isHolidayDeposit\n ? 0\n : _round(payload.vat?.previouslyDeductedToBeReturned?.otherThanOilProducts ?? 0),\n total: isNil || isHolidayDeposit ? 0 : _round(payload.vat?.previouslyDeductedToBeReturned?.total ?? 0),\n },\n sumToAdd,\n grossDue: 0, // Calculé plus bas\n onIntracommunityAcquisition: isNil || isHolidayDeposit ? 0 : intracommunityTax,\n toMonaco: isNil || isHolidayDeposit ? 0 : _round(payload.vat?.toMonaco ?? 0),\n deductible: {\n immobilizations: isNil || isHolidayDeposit ? 0 : (immobilizationTax ?? 0),\n otherGoodsAndServices: isNil || isHolidayDeposit ? 0 : (otherGoodsAndServices ?? 0),\n other: {\n oil: isNil || isHolidayDeposit ? 0 : _round(payload.vat?.deductible?.other?.oil ?? 0),\n thanOilProducts: 0,\n collected: 0,\n total: isNil || isHolidayDeposit ? 0 : otherDeductibles,\n },\n report,\n toImpute:\n isNil || isHolidayDeposit\n ? 0\n : _round(payload.vat?.deductible?.toImpute ?? 0) + mxToSub + (payload?.vatControl?.deducted?.case2C ?? 0),\n total: 0, // Calculé plus bas\n onImportOtherThanOilProducts: isNil || isHolidayDeposit ? 0 : otherDeductibles,\n coefficient: isNil || isHolidayDeposit ? 100 : coefficient,\n onOilProducts: isNil || isHolidayDeposit ? 0 : _round(payload.vat?.deductible?.onOilProducts ?? 0),\n },\n otherRate: {\n oldRate: {\n base: isNil || isHolidayDeposit ? 0 : _round(payload.vat?.otherRate?.oldRate?.base ?? 0),\n tax: isNil || isHolidayDeposit ? 0 : _round(payload.vat?.otherRate?.oldRate?.tax ?? 0),\n },\n at1Dot75: {\n base: 0,\n tax: 0,\n },\n at1Dot05: {\n base: 0,\n tax: 0,\n },\n at10: {\n base: 0,\n tax: 0,\n },\n atCorse2Dot1: {\n base: 0,\n tax: 0,\n },\n atCorse0Dot9: {\n base: 0,\n tax: 0,\n },\n at2Dot1: {\n base: 0,\n tax: 0,\n },\n author: {\n base: 0,\n tax: 0,\n },\n },\n },\n credit: {\n amount: 0, // Calculé plus bas\n refundAsked:\n isNil || isHolidayDeposit\n ? 0\n : _round(payload.credit?.refundAsked ?? 0) + (payload?.vatControl?.refundAsked ?? 0),\n transferedToSocietyHeadOfGroup:\n isNil || isHolidayDeposit ? 0 : _round(payload.credit?.transferedToSocietyHeadOfGroup ?? 0),\n assimiledTaxes: isNil || isHolidayDeposit ? 0 : _round(payload.credit?.assimiledTaxes ?? 0),\n toReport: 0, // Calculé plus bas\n ticRefund: 0,\n ticTransfered: 0,\n },\n toPay: {\n netDue: 0, // Calculé plus bas\n acquittedBySocietyHeadOfGroup:\n isNil || isHolidayDeposit ? 0 : _round(payload.toPay?.acquittedBySocietyHeadOfGroup ?? 0),\n total: 0,\n },\n tic: {\n total: {\n tax: 0,\n },\n },\n };\n\n const totalCadreA =\n initialPayload.taxedOperations.services +\n initialPayload.taxedOperations.other +\n initialPayload.taxedOperations.purchaseOfIntracommunityServiceProvision +\n initialPayload.taxedOperations.intracommunityAcquisitions +\n initialPayload.taxedOperations.energyDelivery +\n initialPayload.taxedOperations.purchaseOfServicesNotInFrance;\n const totalCadreB =\n initialPayload.vat.carrieredOutInFrance.normalRate20.base +\n initialPayload.vat.carrieredOutInFrance.reduceRate5Dot5.base +\n initialPayload.vat.carrieredOutInFrance.reduceRate10.base +\n initialPayload.vat.overseasDepartment.reduceRate8Dot5.base +\n initialPayload.vat.overseasDepartment.reduceRate2Dot1.base +\n initialPayload.vat.otherRate.at1Dot75.base +\n initialPayload.vat.otherRate.at1Dot05.base +\n initialPayload.vat.otherRate.at10.base +\n initialPayload.vat.otherRate.atCorse2Dot1.base +\n initialPayload.vat.otherRate.atCorse0Dot9.base +\n initialPayload.vat.otherRate.at2Dot1.base +\n initialPayload.vat.otherRate.author.base +\n initialPayload.vat.otherRate.oldRate.base;\n\n // On tolère une différence de 3, dans ce cas on force le champ\n if (totalCadreA !== totalCadreB) {\n const difference = totalCadreB - totalCadreA;\n\n if (difference >= -3 && difference <= 3) {\n const cadreAFields = [\n { key: 'services', value: initialPayload.taxedOperations.services },\n { key: 'other', value: initialPayload.taxedOperations.other },\n {\n key: 'purchaseOfIntracommunityServiceProvision',\n value: initialPayload.taxedOperations.purchaseOfIntracommunityServiceProvision,\n },\n { key: 'intracommunityAcquisitions', value: initialPayload.taxedOperations.intracommunityAcquisitions },\n { key: 'energyDelivery', value: initialPayload.taxedOperations.energyDelivery },\n { key: 'purchaseOfServicesNotInFrance;', value: initialPayload.taxedOperations.purchaseOfServicesNotInFrance },\n ];\n const biggestValue = maxBy(cadreAFields, 'value');\n\n if (biggestValue) {\n // @ts-ignore\n initialPayload.taxedOperations[biggestValue.key] += difference;\n }\n }\n }\n\n initialPayload.vat.grossDue =\n initialPayload.vat.carrieredOutInFrance.normalRate20.tax +\n initialPayload.vat.carrieredOutInFrance.reduceRate5Dot5.tax +\n initialPayload.vat.carrieredOutInFrance.reduceRate10.tax +\n initialPayload.vat.overseasDepartment.reduceRate8Dot5.tax +\n initialPayload.vat.overseasDepartment.reduceRate2Dot1.tax +\n initialPayload.vat.otherRate.at1Dot75.tax +\n initialPayload.vat.otherRate.at1Dot05.tax +\n initialPayload.vat.otherRate.at10.tax +\n initialPayload.vat.otherRate.atCorse2Dot1.tax +\n initialPayload.vat.otherRate.atCorse0Dot9.tax +\n initialPayload.vat.otherRate.at2Dot1.tax +\n initialPayload.vat.otherRate.author.tax +\n initialPayload.vat.otherRate.oldRate.tax +\n initialPayload.vat.oilProducts.normalRate20.tax +\n initialPayload.vat.oilProducts.reduceRate13.tax +\n initialPayload.vat.importations.normalRate20.tax +\n initialPayload.vat.importations.reduceRate10.tax +\n initialPayload.vat.importations.reduceRate8Dot5.tax +\n initialPayload.vat.importations.reduceRate5Dot5.tax +\n initialPayload.vat.importations.reduceRate2Dot1.tax +\n initialPayload.vat.importations.reduceRate1Dot05.tax +\n initialPayload.vat.previouslyDeductedToBeReturned.total +\n initialPayload.vat.sumToAdd;\n initialPayload.vat.deductible.total =\n initialPayload.vat.deductible.immobilizations +\n initialPayload.vat.deductible.otherGoodsAndServices +\n initialPayload.vat.deductible.other.total +\n initialPayload.vat.deductible.report +\n initialPayload.vat.deductible.toImpute;\n initialPayload.credit.amount =\n initialPayload.vat.grossDue - initialPayload.vat.deductible.total < 0\n ? Math.abs(initialPayload.vat.grossDue - initialPayload.vat.deductible.total)\n : 0;\n initialPayload.toPay.netDue =\n initialPayload.vat.grossDue - initialPayload.vat.deductible.total > 0\n ? initialPayload.vat.grossDue - initialPayload.vat.deductible.total\n : 0;\n initialPayload.credit.toReport =\n initialPayload.credit.amount -\n initialPayload.credit.refundAsked -\n initialPayload.credit.transferedToSocietyHeadOfGroup;\n initialPayload.toPay.total =\n initialPayload.toPay.netDue +\n initialPayload.credit.assimiledTaxes +\n (initialPayload.tic?.total?.tax ?? 0) -\n initialPayload.toPay.acquittedBySocietyHeadOfGroup;\n\n return initialPayload;\n}\n\nexport function getCerfa3310Century23RegistrationFields(data: Cerfa3310_2023): AsponeFormFields {\n const comment = textFormatting(data.declaration.comment);\n\n const importFields: FieldForGeneration[] = [];\n\n if (data.vat.oilProducts.normalRate20.base > 0) {\n importFields.push({\n key: 'GS',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Opérations imposables au taux normal 20 % sur les produits pétroliers : base HT',\n value: data.vat.oilProducts.normalRate20.base,\n });\n }\n\n if (data.taxedOperations.import > 0) {\n importFields.push({\n key: 'DK',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Opérations taxées HT - Importations (autres que les produits pétroliers',\n value: data.taxedOperations.import,\n });\n }\n\n if (data.vat.oilProducts.normalRate20.tax > 0) {\n importFields.push({\n key: 'GT',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Opérations imposables au taux normal 20 % sur les produits pétroliers : taxe due',\n value: data.vat.oilProducts.normalRate20.tax,\n });\n }\n\n if (data.vat.oilProducts.reduceRate13.base > 0) {\n importFields.push({\n key: 'GU',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Opérations imposables au taux réduit 13 % sur les produits pétroliers : base HT',\n value: data.vat.oilProducts.reduceRate13.base,\n });\n }\n\n if (data.vat.oilProducts.reduceRate13.tax > 0) {\n importFields.push({\n key: 'GV',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Opérations imposables au taux réduit 13 % sur les produits pétroliers : taxe due',\n value: data.vat.oilProducts.reduceRate13.tax,\n });\n }\n\n if (data.vat.importations.normalRate20.base > 0) {\n importFields.push({\n key: 'LB',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Importations - Taux normal 20 % Base HT',\n value: data.vat.importations.normalRate20.base,\n });\n }\n\n if (data.vat.importations.reduceRate10.base > 0) {\n importFields.push({\n key: 'LD',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Importations - Taux réduit 10 % Base HT',\n value: data.vat.importations.reduceRate10.base,\n });\n }\n\n if (data.vat.importations.reduceRate8Dot5.base > 0) {\n importFields.push({\n key: 'LF',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Importations - Taux réduit 8,5 % Base HT',\n value: data.vat.importations.reduceRate8Dot5.base,\n });\n }\n\n if (data.vat.importations.reduceRate5Dot5.base > 0) {\n importFields.push({\n key: 'LH',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Importations - Taux réduit 5,5 % Base HT',\n value: data.vat.importations.reduceRate5Dot5.base,\n });\n }\n\n if (data.vat.importations.reduceRate2Dot1.base > 0) {\n importFields.push({\n key: 'LK',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Importations - Taux réduit 2,1 % Base HT',\n value: data.vat.importations.reduceRate2Dot1.base,\n });\n }\n\n if (data.vat.importations.reduceRate1Dot05.base > 0) {\n importFields.push({\n key: 'LM',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Importations - Taux réduit 1,05 % Base HT',\n value: data.vat.importations.reduceRate1Dot05.base,\n });\n }\n\n return [\n {\n name: '3310CA3',\n fields: [\n {\n key: 'BA',\n value: null,\n isMultiple: false,\n tags: [1, 2, 3, 4, 5].map((i) => ({\n tag: `TexteLibre${i}` as 'TexteLibre1',\n description: `FTX Commentaires type ${i}`,\n value: textFormatting(comment, 512, 512 * (i - 1)) || null,\n })),\n },\n {\n key: 'BB',\n tag: 'Valeur',\n isMultiple: false,\n description: 'CCITBX Paiement par imputation Table TBX avec X pour sélectionné, CCI/7037 = CAV/1131 =',\n value: null,\n },\n {\n key: 'BC',\n tag: 'Valeur',\n isMultiple: false,\n description: 'CCITBX Mention expresse Table TBX avec X pour sélectionné, CCI/7037 = CAV/1131 =',\n value: comment && comment?.length > 0 ? 'X' : null,\n },\n {\n key: 'BE',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Opérations imposables en Corse à un taux particulier taux 0,90% base HT',\n value: data.vat.otherRate.atCorse0Dot9.base,\n },\n {\n key: 'BF',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Opérations imposables en Corse à un taux particulier taux 2,10% base HT',\n value: data.vat.otherRate.at2Dot1.base,\n },\n {\n key: 'BP',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Opérations imposables dans les DOM à un taux particulier, taux 1,05%, base HT',\n value: data.vat.otherRate.at1Dot05.base,\n },\n {\n key: 'BQ',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Opérations imposables dans les DOM à un taux particulier, taux 1,75%, base HT',\n value: data.vat.otherRate.at1Dot75.base,\n },\n {\n key: 'BS',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Opérations imposables en Corse à un taux particulier taux 10% base HT',\n value: data.vat.otherRate.at10.base,\n },\n {\n key: 'CA',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Opérations imposables HT - Ventes, prestations de services',\n value: data.taxedOperations.services,\n },\n {\n key: 'CB',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Opérations imposables HT - Autres opérations imposables',\n value: data.taxedOperations.other,\n },\n {\n key: 'CC',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Acquisitions intra-communautaires, base hors taxe',\n value: data.taxedOperations.intracommunityAcquisitions,\n },\n {\n key: 'CE',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Régularisation',\n value: data.taxedOperations.regularizations,\n },\n {\n key: 'CF',\n tag: 'Valeur',\n isMultiple: false,\n description:\n \"MOA Livraisons d'electricité, de gaz naturel, de chaleur ou de froid imposables en France, base hors taxe\",\n value: data.taxedOperations.energyDelivery,\n },\n {\n key: 'CG',\n tag: 'Valeur',\n isMultiple: false,\n description:\n \"MOA Achats de biens ou de prestations de services réalisés auprès d'un assujetti non établi en France, art 283-1 du CGI\",\n value: data.taxedOperations.purchaseOfServicesNotInFrance,\n },\n {\n key: 'CH',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Mises à la consommation de produits pétroliers, base hors taxe',\n value: data.taxedOperations.releaseFromConsumption,\n },\n {\n key: 'CP',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Opérations imposables dans les DOM à un taux particulier, taux 1,05%, taxe due',\n value: data.vat.otherRate.at1Dot05.tax,\n },\n {\n key: 'CQ',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Opérations imposables dans les DOM à un taux particulier, taux 1,75%, taxe due',\n value: data.vat.otherRate.at1Dot75.tax,\n },\n {\n key: 'CS',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Opérations imposables en Corse à un taux particulier taux 10% taxe due',\n value: data.vat.otherRate.at10.tax,\n },\n {\n key: 'DA',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Opérations non taxées - Exportations hors UE',\n value: data.untaxedOperations.exportationNotInEurope,\n },\n {\n key: 'DB',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Autres opérations non imposables',\n value: data.untaxedOperations.other,\n },\n {\n key: 'DC',\n tag: 'Valeur',\n isMultiple: false,\n description: \"MOA Livraisons intracommunautaires à destination d'une personne assujettie 100077\",\n value: data.untaxedOperations.intracommunityDelivery,\n },\n {\n key: 'DD',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Achats en franchise 100104',\n value: data.untaxedOperations.purchaseInFranchise,\n },\n {\n key: 'DE',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Régularisations 100119',\n value: data.untaxedOperations.regularizations,\n },\n {\n key: 'DF',\n tag: 'Valeur',\n isMultiple: false,\n description:\n \"MOA Livraisons d'electricité, de gaz naturel, de chaleur ou de froid non imposables en France 100122\",\n value: data.untaxedOperations.energyDelivery,\n },\n {\n key: 'DG',\n tag: 'Valeur',\n isMultiple: false,\n description:\n 'MOA Vente de biens ou de prestations de services réalisées par un assujetti non établi en France, art 283-1 du CGI 100506',\n value: data.untaxedOperations.saleOfServicesNotInFrance,\n },\n {\n key: 'DH',\n tag: 'Valeur',\n isMultiple: false,\n description:\n 'MOA Ventes à distance taxables dans un autre Etat membre au profit de personnes non assujetties',\n value: data.untaxedOperations.distanceSelling,\n },\n {\n key: 'DJ',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Opérations non taxées - Mises à la consommation de produits pétroliers 910759',\n value: data.untaxedOperations.oilProductsConsumption,\n },\n {\n key: 'FB',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Opérations imposables au taux réduit en France métropolitaine : base HT',\n value: data.vat.carrieredOutInFrance.reduceRate5Dot5.base,\n },\n {\n key: 'FC',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Opérations imposables aux anciens taux (France métropolitaine ou DOM) : base HT',\n value: data.vat.otherRate.oldRate.base,\n },\n {\n key: 'FG',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Ligne utilisable pour une nouveau taux en métropole (base HT) (ligne',\n value: null,\n },\n {\n key: 'FH',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Ligne utilisable pour une nouveau taux en métropole (taxe due) (ligne',\n value: null,\n },\n {\n key: 'FJ',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Ligne utilisable pour une nouveau taux dans les DOM (base HT) (ligne',\n value: null,\n },\n {\n key: 'FK',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Ligne utilisable pour une nouveau taux dans les DOM (taxe due) (ligne',\n value: null,\n },\n {\n key: 'FM',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Opérations réalisées dans les DOM imposables au taux normal : base HT',\n value: data.vat.overseasDepartment.reduceRate8Dot5.base,\n },\n {\n key: 'FN',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Opérations imposables réalisées dans les DOM au taux réduit base HT',\n value: data.vat.overseasDepartment.reduceRate2Dot1.base,\n },\n {\n key: 'FP',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Opérations imposables au taux normal de 20% en France métropolitaine : base HT',\n value: data.vat.carrieredOutInFrance.normalRate20.base,\n },\n {\n key: 'FR',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Opérations imposables au taux réduit de 10% en France métropolitaine : base HT',\n value: data.vat.carrieredOutInFrance.reduceRate10.base,\n },\n {\n key: 'GA',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA TVA antérieurement déduite à reverser, dont TVA sur les produits',\n value: data.vat.previouslyDeductedToBeReturned.onOilProducts,\n },\n {\n key: 'GB',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Opérations imposables au taux réduit en France métropolitaine : Taxe due',\n value: data.vat.carrieredOutInFrance.reduceRate5Dot5.tax,\n },\n {\n key: 'GC',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Opérations imposables aux anciens taux (France métropolitaine ou DOM) : taxe due',\n value: data.vat.otherRate.oldRate.tax,\n },\n {\n key: 'GG',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA TVA antérieurement déduite à reverser, taxe due',\n value: data.vat.previouslyDeductedToBeReturned.total,\n },\n {\n key: 'GH',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Total général de la TVA brute due',\n value: data.vat.grossDue,\n },\n {\n key: 'GJ',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA TVA brute sur acquisitions intra-communautaires',\n value: data.vat.onIntracommunityAcquisition,\n },\n {\n key: 'GK',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA TVA brute due sur opérations à destination de Monaco',\n value: data.vat.toMonaco,\n },\n {\n key: 'GM',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Opérations réalisées dans les DOM imposables au taux normal : taxe due',\n value: data.vat.overseasDepartment.reduceRate8Dot5.tax,\n },\n {\n key: 'GN',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Opérations réalisées dans les DOM imposables au taux réduit : taxe due',\n value: data.vat.overseasDepartment.reduceRate2Dot1.tax,\n },\n {\n key: 'GP',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Opérations imposables au taux normal de 20% en France métropolitaine : taxe due',\n value: data.vat.carrieredOutInFrance.normalRate20.tax,\n },\n {\n key: 'GR',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Opérations imposables au taux réduit de 10% en France métropolitaine : Taxe due',\n value: data.vat.carrieredOutInFrance.reduceRate10.tax,\n },\n ...importFields,\n {\n key: 'HA',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA TVA déductible sur biens constituant des immobilisations',\n value: data.vat.deductible.immobilizations,\n },\n {\n key: 'HB',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA TVA déductible sur autres biens et services (déduction sur facture',\n value: data.vat.deductible.otherGoodsAndServices,\n },\n {\n key: 'HC',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Autre TVA à déduire (dont régularisation de :',\n value: data.vat.deductible.other.total,\n },\n {\n key: 'HD',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Report du crédit apparaissant sur la précédente déclaration',\n value: data.vat.deductible.report,\n },\n {\n key: 'HE',\n tag: 'Valeur',\n isMultiple: false,\n description:\n \"PCD Pourcentage de déduction applicable pour la période s'il est différent de 100% Valeur entière et au plus 2 décimales\",\n value:\n isDefined(data.vat.deductible.coefficient) && data.vat.deductible.coefficient !== 100\n ? data.vat.deductible.coefficient\n : null,\n },\n {\n key: 'HF',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Dont TVA déductible sur importations',\n value: data.vat.deductible.onImportOtherThanOilProducts,\n },\n {\n key: 'HG',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Total de la TVA déductible',\n value: data.vat.deductible.total,\n },\n {\n key: 'HH',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA - TVA collectée sur autres produits ou PS [cf notice] ou déductible',\n value: data.vat.deductible.other.collected,\n },\n {\n key: 'HJ',\n tag: 'Valeur',\n isMultiple: false,\n description: \"CCITBX Mention membre d'un groupe Table TBX avec X pour sélectionné, CCI/7037 = CAV/1131 =\",\n value: null,\n },\n {\n key: 'HK',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA - TVA sur les produits pétroliers',\n value: data.vat.deductible.other.oil,\n },\n {\n key: 'HL',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Dont TVA déductible sur les produits pétroliers',\n value: data.vat.deductible.onOilProducts,\n },\n {\n key: 'JA',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Crédit de TVA',\n value: data.credit.amount,\n },\n {\n key: 'JB',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Remboursement de crédit demandé sur formulaire n° 3519 joint',\n value: data.credit.refundAsked,\n },\n {\n key: 'JC',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Crédit à reporter sur déclaration suivante',\n value: data.credit.toReport,\n },\n {\n key: 'KA',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA TVA nette due',\n value: data.toPay.netDue,\n },\n {\n key: 'KB',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Report du montant de taxes assimilées calculées sur annexe 3310A',\n value: data.credit.assimiledTaxes,\n },\n {\n key: 'KE',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Total à payer',\n value: data.toPay.total,\n },\n {\n key: 'KF',\n tag: 'Valeur',\n isMultiple: false,\n description: 'CCITBX Mention déclaration néante Table TBX avec X pour sélectionné, CCI/7037 = CAV/1131 =',\n value: data.isNil === true ? 'X' : null,\n },\n {\n key: 'KH',\n tag: 'Valeur',\n isMultiple: false,\n description:\n 'MOA Achats de prestations de services intracommunautaires (art 283-2 du code général des impôts) Base hors taxe',\n value: data.taxedOperations.purchaseOfIntracommunityServiceProvision,\n },\n {\n key: 'KJ',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Crédit de TVA transféré à la société tête de groupe',\n value: data.credit.transferedToSocietyHeadOfGroup,\n },\n {\n key: 'KL',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Total à payer acquitté par la société tête de groupe',\n value: data.toPay.acquittedBySocietyHeadOfGroup,\n },\n {\n key: 'KS',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Sommes à ajouter, y compris acompte congés (exprimées en euro',\n value: data.vat.sumToAdd,\n },\n {\n key: 'KU',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Sommes à imputer, y compris acompte congés (exprimées en euro',\n value: data.vat.deductible.toImpute,\n },\n {\n key: 'KV',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Sorties de régime fiscal suspensif (autres que les produits pétroliers',\n value: data.taxedOperations.withdrawSuspensiveRegime,\n },\n {\n key: 'KW',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Importations (autres que les produits pétroliers',\n value: data.untaxedOperations.import,\n },\n {\n key: 'KX',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Sorties de régime fiscal suspensif (autres que les produits pétroliers',\n value: data.untaxedOperations.withdrawSuspensiveRegime,\n },\n {\n key: 'KY',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Importations placée sous régime fiscal suspensif (autres que les produits pétroliers',\n value: data.untaxedOperations.importInSuspensiveSystem,\n },\n {\n key: 'KZ',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Acquisitions intracommunautaires 911594',\n value: data.untaxedOperations.intracommunityAcquisitions,\n },\n {\n key: 'LA',\n tag: 'Valeur',\n isMultiple: false,\n description:\n 'MOA Opérations non taxées - Importations de produits pétroliers placées sous régime fiscal suspensif 911595',\n value: data.untaxedOperations.importPetrolInSuspensiveSystem,\n },\n {\n key: 'LC',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Importations - Taux normal 20 % Taxe due',\n value: data.vat.importations.normalRate20.tax,\n },\n {\n key: 'LE',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Importations - Taux réduit 10 % Taxe due',\n value: data.vat.importations.reduceRate10.tax,\n },\n {\n key: 'LG',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Importations - Taux réduit 8,5 % Taxe due',\n value: data.vat.importations.reduceRate8Dot5.tax,\n },\n {\n key: 'LJ',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Importations - Taux réduit 5,5 % Taxe due',\n value: data.vat.importations.reduceRate5Dot5.tax,\n },\n {\n key: 'LL',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Importations - Taux réduit 2,1 % Taxe due',\n value: data.vat.importations.reduceRate2Dot1.tax,\n },\n {\n key: 'LN',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Importations - Taux réduit 1,05 % Taxe due',\n value: data.vat.importations.reduceRate1Dot05.tax,\n },\n {\n key: 'LP',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA - TVA sur les produits importés hors produits pétroliers',\n value: data.vat.deductible.other.thanOilProducts,\n },\n {\n key: 'LQ',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA TVA antérieurement déduite à reverser, dont TVA sur les produits importés hors produits',\n value: data.vat.previouslyDeductedToBeReturned.otherThanOilProducts,\n },\n {\n key: 'LS',\n tag: 'Valeur',\n isMultiple: false,\n description:\n \"CCITBX Mention de qualité de représentant d'un assujetti unique Table TBX avec X pour sélectionné, CCI/7037 = CAV/1131 =\",\n value: null,\n },\n {\n key: 'MA',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Opérations imposables en Corse à un taux particulier taux 0,90% taxe due',\n value: data.vat.otherRate.atCorse0Dot9.tax,\n },\n {\n key: 'MC',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Opérations imposables en Corse à un taux particulier taux 2,10 % taxe due',\n value: data.vat.otherRate.atCorse2Dot1.tax,\n },\n {\n key: 'MD',\n tag: 'Valeur',\n isMultiple: false,\n description: \"MOA Retenue de TVA sur droits d'auteur taxe due\",\n value: data.vat.otherRate.author.tax,\n },\n {\n key: 'ME',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Opérations imposables en France continentaleà un taux particulier taux 2,10% taxe due',\n value: data.vat.otherRate.at2Dot1.tax,\n },\n {\n key: 'MF',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Opérations imposables en France continentale à un taux particulier taux 2,10% base HT',\n value: data.vat.otherRate.author.base,\n },\n {\n key: 'MG',\n tag: 'Valeur',\n isMultiple: false,\n description: \"MOA Retenue de TVA sur droits d'auteur base HT\",\n value: data.vat.otherRate.oldRate.base,\n },\n {\n key: 'MH',\n tag: 'Valeur',\n isMultiple: false,\n description:\n 'MOA Crédit de TIC transféré à la société tête de groupe sur la déclaration récapitulative 3310-CA3G',\n value: data.credit.ticTransfered,\n },\n {\n key: 'MJ',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA TICFE - crédit imputé sur la',\n value: data.tic?.ticfe?.imputed,\n },\n {\n key: 'MK',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA TICGN - crédit imputé sur la',\n value: data.tic?.ticgn?.imputed,\n },\n {\n key: 'ML',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA TICCE - crédit imputé sur la',\n value: data.tic?.ticc?.imputed,\n },\n {\n key: 'MM',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA TOTAL - crédit imputé sur la',\n value: data.tic?.total?.imputed,\n },\n {\n key: 'MN',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Crédit de TIC imputé sur la TVA (Total',\n value: data.tic?.total?.imputed,\n },\n {\n key: 'MP',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA TICFE - Reliquat de crédit à',\n value: data.tic?.ticfe?.refund,\n },\n {\n key: 'MQ',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA TICGN - Reliquat de crédit à',\n value: data.tic?.ticgn?.refund,\n },\n {\n key: 'MR',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA TICCE - Reliquat de crédit à',\n value: data.tic?.ticc?.refund,\n },\n {\n key: 'MS',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA TOTAL - reliquat de crédit à',\n value: data.tic?.total?.refund,\n },\n {\n key: 'MT',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Remboursement de reliquat de TIC demandé',\n value: data.credit.ticRefund,\n },\n {\n key: 'MU',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA TICFE - Taxe',\n value: data.tic?.ticfe?.tax,\n },\n {\n key: 'MV',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA TICGN - Taxe',\n value: data.tic?.ticgn?.tax,\n },\n {\n key: 'MW',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA TICCE - Taxe',\n value: data.tic?.ticc?.tax,\n },\n {\n key: 'MX',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA TOTAL - taxe',\n value: data.tic?.total?.tax,\n },\n {\n key: 'MY',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA TICFE - crédit',\n value: data.tic?.ticfe?.credit,\n },\n {\n key: 'MZ',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA TICGN - crédit',\n value: data.tic?.ticgn?.credit,\n },\n {\n key: 'NA',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA TICCE - crédit',\n value: data.tic?.ticc?.credit,\n },\n {\n key: 'NB',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA TOTAL - crédit',\n value: data.tic?.total?.credit,\n },\n {\n key: 'NC',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA Total des taxes intérieures de consommation dues',\n value: data.tic?.total?.tax,\n },\n {\n key: 'ND',\n tag: 'Valeur',\n isMultiple: false,\n description: 'MOA TVA nette due (ligne TD - ligne X5',\n value: data.toPay.netDue,\n },\n ],\n },\n ];\n}\n\nexport const cerfa3310Century23Fields: CerfaPayloadForm[] = [\n {\n sectionName: 'Général',\n childrens: [\n {\n label: 'TVA à néant',\n key: 'isNil',\n type: 'boolean',\n },\n {\n label: 'Commentaire',\n key: 'comment',\n type: 'text',\n },\n ],\n },\n {\n sectionName: 'Opérations taxées',\n childrens: [\n {\n label: 'A5 - Sorties de régime fiscal suspensif (autre que les produits pétroliers)',\n key: 'taxedOperations.withdrawSuspensiveRegime',\n type: 'number',\n },\n {\n label: 'B1 - Mises à la consommation de produits pétroliers',\n key: 'taxedOperations.releaseFromConsumption',\n type: 'number',\n },\n {\n label: \"B3 - Achats d'electricité, de gaz naturel, de chaleur ou de froid imposables en France\",\n key: 'taxedOperations.energyDelivery',\n type: 'number',\n },\n {\n label: \"B4 - Achats de biens ou de prestations de services réalisés auprès d'un assujetti non établi en France\",\n key: 'taxedOperations.regularizations',\n type: 'number',\n },\n ],\n },\n {\n sectionName: 'Opérations non taxées',\n childrens: [\n {\n label: 'E3 - Ventes à distance taxables dans un autre 2tat membre au profit des personnes non assujetties',\n key: 'untaxedOperations.distanceSelling',\n type: 'number',\n },\n {\n label: 'E5 - Sorties de régime fiscal suspensif (autres que les produits pétroliers)',\n key: 'untaxedOperations.withdrawSuspensiveRegime',\n type: 'number',\n },\n {\n label: 'E6 - Acquisitions intracommunautaires',\n key: 'untaxedOperations.intracommunityAcquisitions',\n type: 'number',\n },\n {\n label: 'F1 - Acquisitions intracommunautaires',\n key: 'untaxedOperations.intracommunityDelivery',\n type: 'number',\n },\n {\n label: \"F3 - Livraisons d'électricité, de gaz naturel, de chaleur ou de froid non imposables en France\",\n key: 'untaxedOperations.energyDelivery',\n type: 'number',\n },\n {\n label: 'F4 - Mises à la consommation de produits pétroliers',\n key: 'untaxedOperations.oilProductsConsumption',\n type: 'number',\n },\n {\n label: 'F5 - Importations de produits pétroliers placées sous régime fiscal suspensif',\n key: 'untaxedOperations.importPetrolInSuspensiveSystem',\n type: 'number',\n },\n {\n label: 'F6 - Achats en franchise',\n key: 'untaxedOperations.purchaseInFranchise',\n type: 'number',\n },\n {\n label: 'F7 - Ventes de biens ou prestations de services réalisées par un assujetti non établi en France',\n key: 'untaxedOperations.saleOfServicesNotInFrance',\n type: 'number',\n },\n {\n label: 'F8 - Régularisations',\n key: 'untaxedOperations.regularizations',\n type: 'number',\n },\n {\n label: \"F9 - Opérations internes réalisées entre membres d'un assujetti unique\",\n key: 'untaxedOperations.internalUniq',\n type: 'number',\n },\n ],\n },\n {\n sectionName: 'TVA brute',\n childrens: [\n {\n label: '13 - Anciens taux, base hors taxe',\n key: 'deductible.otherRate.oldRate.base',\n type: 'number',\n },\n {\n label: '13 - Anciens taux, taxe due',\n key: 'deductible.otherRate.oldRate.tax',\n type: 'number',\n },\n {\n label: 'P1 - Produits pétroliers, taux normal 20%',\n key: 'vat.oilProducts.normalRate20.base',\n type: 'number',\n },\n {\n label: 'P2 - Produits pétroliers, taux réduit 13%',\n key: 'vat.oilProducts.normalRate13.base',\n type: 'number',\n },\n {\n label: 'pétroliers - TVA antérieurement déduite à reverser (dont TVA sur les produit',\n key: 'vat.previouslyDeductedToBeReturned.onOilProducts',\n type: 'number',\n },\n {\n label: 'pétroliers - TVA antérieurement déduite à reverser (dont TVA sur les produits importés hors produit',\n key: 'vat.previouslyDeductedToBeReturned.otherThanOilProducts',\n type: 'number',\n },\n {\n label: '15 - TVA antérieurement déduite à reverser, total',\n key: 'vat.previouslyDeductedToBeReturned.total',\n type: 'number',\n },\n {\n label: 'Dont TVA sur opérations à destination de Monaco',\n key: 'vat.toMonaco',\n type: 'number',\n },\n ],\n },\n {\n sectionName: 'TVA déductible',\n childrens: [\n {\n label: '22 - Report du crédit apparaissant ligne 27 de la précédente déclaration',\n key: 'vat.deductible.toReport',\n type: 'number',\n },\n /* {\n GERE DANS LES REGULARISATIONS\n label: '2C - Sommes à imputer, y compris acompte congés',\n key: 'vat.deductible.toImpute',\n type: 'number',\n }, */\n {\n label: '22A - Coefficient de taxation unique applicable pour la période si différent de 100%',\n key: 'vat.deductible.coefficient',\n type: 'number',\n },\n ],\n },\n {\n sectionName: 'Détermination du montant à payer',\n childrens: [\n {\n label: '26 - Remboursement de crédit de TVA demandé sur formulaire n° 3519',\n key: 'credit.refundAsked',\n visibleIf: 'credit.amount',\n type: 'number',\n },\n {\n label: 'AA - Crédit de TVA transféré à la société tête de groupe',\n key: 'credit.transferedToSocietyHeadOfGroup',\n type: 'number',\n },\n {\n label: \"29 - Taxes assimilées calculées sur l'annexe n° 3310 A\",\n key: 'credit.assimiledTaxes',\n type: 'number',\n },\n {\n label: 'AB - Total à payer acquitté par la société tête de groupe',\n key: 'toPay.acquittedBySocietyHeadOfGroup',\n type: 'number',\n },\n ],\n },\n];\n"]}