@silexpert/core 1.3.5 → 1.3.6

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 (100) hide show
  1. package/dist/cjs/types/Enum/Aspone.d.ts +22 -4
  2. package/dist/cjs/types/Enum/Aspone.d.ts.map +1 -1
  3. package/dist/cjs/types/Enum/Aspone.js +23 -47
  4. package/dist/cjs/types/Enum/Aspone.js.map +1 -1
  5. package/dist/cjs/types/Enum/BalanceSheetQuestion.d.ts +1 -0
  6. package/dist/cjs/types/Enum/BalanceSheetQuestion.d.ts.map +1 -1
  7. package/dist/cjs/types/Enum/BalanceSheetQuestion.js +1 -0
  8. package/dist/cjs/types/Enum/BalanceSheetQuestion.js.map +1 -1
  9. package/dist/cjs/types/Enum/BalanceSheetQuestionWording.d.ts +1 -0
  10. package/dist/cjs/types/Enum/BalanceSheetQuestionWording.d.ts.map +1 -1
  11. package/dist/cjs/types/Enum/BalanceSheetQuestionWording.js +1 -0
  12. package/dist/cjs/types/Enum/BalanceSheetQuestionWording.js.map +1 -1
  13. package/dist/cjs/types/Interface/api/cerfa/2031.d.ts +186 -0
  14. package/dist/cjs/types/Interface/api/cerfa/2031.d.ts.map +1 -1
  15. package/dist/cjs/types/Interface/api/cerfa/2031.js.map +1 -1
  16. package/dist/cjs/types/Interface/api/cerfa/2033.d.ts +112 -16
  17. package/dist/cjs/types/Interface/api/cerfa/2033.d.ts.map +1 -1
  18. package/dist/cjs/types/Interface/api/cerfa/2033.js +4 -1
  19. package/dist/cjs/types/Interface/api/cerfa/2033.js.map +1 -1
  20. package/dist/cjs/types/Interface/api/cerfa/2035.d.ts +216 -1
  21. package/dist/cjs/types/Interface/api/cerfa/2035.d.ts.map +1 -1
  22. package/dist/cjs/types/Interface/api/cerfa/2035.js.map +1 -1
  23. package/dist/cjs/types/Interface/api/cerfa/2065.d.ts +114 -1
  24. package/dist/cjs/types/Interface/api/cerfa/2065.d.ts.map +1 -1
  25. package/dist/cjs/types/Interface/api/cerfa/2065.js.map +1 -1
  26. package/dist/cjs/types/Interface/api/cerfa/2069RCI.d.ts +86 -6
  27. package/dist/cjs/types/Interface/api/cerfa/2069RCI.d.ts.map +1 -1
  28. package/dist/cjs/types/Interface/api/cerfa/2069RCI.js.map +1 -1
  29. package/dist/cjs/types/Interface/api/cerfa/3310.d.ts +15 -4
  30. package/dist/cjs/types/Interface/api/cerfa/3310.d.ts.map +1 -1
  31. package/dist/cjs/types/Interface/api/cerfa/3310.js.map +1 -1
  32. package/dist/cjs/types/Interface/api/cerfa/ReadCerfa.d.ts +5 -5
  33. package/dist/cjs/types/Interface/api/cerfa/ReadCerfa.d.ts.map +1 -1
  34. package/dist/cjs/types/Interface/api/cerfa/ReadCerfa.js.map +1 -1
  35. package/dist/cjs/utils/cerfa.js +1 -1
  36. package/dist/cjs/utils/cerfa.js.map +1 -1
  37. package/dist/cjs/utils/vat/3310/century25.d.ts +8 -0
  38. package/dist/cjs/utils/vat/3310/century25.d.ts.map +1 -0
  39. package/dist/cjs/utils/vat/3310/century25.js +1718 -0
  40. package/dist/cjs/utils/vat/3310/century25.js.map +1 -0
  41. package/dist/cjs/utils/vat/centuries.d.ts.map +1 -1
  42. package/dist/cjs/utils/vat/centuries.js +21 -1
  43. package/dist/cjs/utils/vat/centuries.js.map +1 -1
  44. package/dist/mjs/types/Enum/Aspone.d.ts +22 -4
  45. package/dist/mjs/types/Enum/Aspone.d.ts.map +1 -1
  46. package/dist/mjs/types/Enum/Aspone.js +22 -46
  47. package/dist/mjs/types/Enum/Aspone.js.map +1 -1
  48. package/dist/mjs/types/Enum/BalanceSheetQuestion.d.ts +1 -0
  49. package/dist/mjs/types/Enum/BalanceSheetQuestion.d.ts.map +1 -1
  50. package/dist/mjs/types/Enum/BalanceSheetQuestion.js +1 -0
  51. package/dist/mjs/types/Enum/BalanceSheetQuestion.js.map +1 -1
  52. package/dist/mjs/types/Enum/BalanceSheetQuestionWording.d.ts +1 -0
  53. package/dist/mjs/types/Enum/BalanceSheetQuestionWording.d.ts.map +1 -1
  54. package/dist/mjs/types/Enum/BalanceSheetQuestionWording.js +1 -0
  55. package/dist/mjs/types/Enum/BalanceSheetQuestionWording.js.map +1 -1
  56. package/dist/mjs/types/Interface/api/cerfa/2031.d.ts +186 -0
  57. package/dist/mjs/types/Interface/api/cerfa/2031.d.ts.map +1 -1
  58. package/dist/mjs/types/Interface/api/cerfa/2031.js.map +1 -1
  59. package/dist/mjs/types/Interface/api/cerfa/2033.d.ts +112 -16
  60. package/dist/mjs/types/Interface/api/cerfa/2033.d.ts.map +1 -1
  61. package/dist/mjs/types/Interface/api/cerfa/2033.js +4 -0
  62. package/dist/mjs/types/Interface/api/cerfa/2033.js.map +1 -1
  63. package/dist/mjs/types/Interface/api/cerfa/2035.d.ts +216 -1
  64. package/dist/mjs/types/Interface/api/cerfa/2035.d.ts.map +1 -1
  65. package/dist/mjs/types/Interface/api/cerfa/2035.js.map +1 -1
  66. package/dist/mjs/types/Interface/api/cerfa/2065.d.ts +114 -1
  67. package/dist/mjs/types/Interface/api/cerfa/2065.d.ts.map +1 -1
  68. package/dist/mjs/types/Interface/api/cerfa/2065.js.map +1 -1
  69. package/dist/mjs/types/Interface/api/cerfa/2069RCI.d.ts +86 -6
  70. package/dist/mjs/types/Interface/api/cerfa/2069RCI.d.ts.map +1 -1
  71. package/dist/mjs/types/Interface/api/cerfa/2069RCI.js.map +1 -1
  72. package/dist/mjs/types/Interface/api/cerfa/3310.d.ts +15 -4
  73. package/dist/mjs/types/Interface/api/cerfa/3310.d.ts.map +1 -1
  74. package/dist/mjs/types/Interface/api/cerfa/3310.js.map +1 -1
  75. package/dist/mjs/types/Interface/api/cerfa/ReadCerfa.d.ts +5 -5
  76. package/dist/mjs/types/Interface/api/cerfa/ReadCerfa.d.ts.map +1 -1
  77. package/dist/mjs/types/Interface/api/cerfa/ReadCerfa.js.map +1 -1
  78. package/dist/mjs/utils/cerfa.js +1 -1
  79. package/dist/mjs/utils/cerfa.js.map +1 -1
  80. package/dist/mjs/utils/vat/3310/century25.d.ts +8 -0
  81. package/dist/mjs/utils/vat/3310/century25.d.ts.map +1 -0
  82. package/dist/mjs/utils/vat/3310/century25.js +1711 -0
  83. package/dist/mjs/utils/vat/3310/century25.js.map +1 -0
  84. package/dist/mjs/utils/vat/centuries.d.ts.map +1 -1
  85. package/dist/mjs/utils/vat/centuries.js +21 -1
  86. package/dist/mjs/utils/vat/centuries.js.map +1 -1
  87. package/package.json +1 -1
  88. package/ts/types/Enum/Aspone.ts +24 -47
  89. package/ts/types/Enum/BalanceSheetQuestion.ts +1 -0
  90. package/ts/types/Enum/BalanceSheetQuestionWording.ts +1 -0
  91. package/ts/types/Interface/api/cerfa/2031.ts +179 -0
  92. package/ts/types/Interface/api/cerfa/2033.ts +107 -16
  93. package/ts/types/Interface/api/cerfa/2035.ts +199 -1
  94. package/ts/types/Interface/api/cerfa/2065.ts +101 -1
  95. package/ts/types/Interface/api/cerfa/2069RCI.ts +86 -6
  96. package/ts/types/Interface/api/cerfa/3310.ts +16 -4
  97. package/ts/types/Interface/api/cerfa/ReadCerfa.ts +7 -10
  98. package/ts/utils/cerfa.ts +1 -1
  99. package/ts/utils/vat/3310/century25.ts +2038 -0
  100. package/ts/utils/vat/centuries.ts +31 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"century25.js","sourceRoot":"","sources":["../../../../../ts/utils/vat/3310/century25.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_2025, PayloadCerfa3310_2025 } 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 getCerfa3310Century25Payload(\n accountingEntries: IAccountingEntry[],\n payload: PayloadCerfa3310_2025,\n updatedEntries: UpdatedAnnotation = [],\n): Cerfa3310_2025 {\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 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 (isDefined(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_2025 = {\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 atCorse13: {\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.atCorse13.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.atCorse13.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 getCerfa3310Century25RegistrationFields(data: Cerfa3310_2025): 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 {\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: 'NN',\n tag: 'Valeur',\n isMultiple: false,\n description: 'Opérations réalisées en Corse et imposables au taux de 13 %, base HT',\n value: data.vat.otherRate.atCorse13.base,\n },\n {\n key: 'NP',\n tag: 'Valeur',\n isMultiple: false,\n description: 'Opérations réalisées en Corse et imposables au taux de 13 %, taxe due',\n value: data.vat.otherRate.atCorse13.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:\n 'Sorties de régime fiscal suspensif (autres que les produits pétroliers) et sorties de régime particulier douanier uniquement lorsque des livraisons ont eu lieu en cours de régime',\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 key: 'NV',\n tag: 'Valeur',\n isMultiple: false,\n description: 'Accise sur les autres produits énergétiques - Crédit constaté',\n value: data.tic?.other?.credit,\n },\n {\n key: 'NW',\n tag: 'Valeur',\n isMultiple: false,\n description: 'Assise sur les autres produits énergétiques - Crédit imputé sur la TVA',\n value: data.tic?.other?.imputed,\n },\n {\n key: 'NX',\n tag: 'Valeur',\n isMultiple: false,\n description: 'Assise sur les autres produits énergétiques - Reliquat de crédit à rembourser',\n value: data.tic?.other?.refund,\n },\n {\n key: 'NY',\n tag: 'Valeur',\n isMultiple: false,\n description: 'Accise sur le gazole non routier agricole - Taxe due',\n value: data?.tic?.gasoline?.tax,\n },\n ],\n },\n ];\n}\n\nexport const cerfa3310Century25Fields: 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:\n 'A5 - Sorties de régime fiscal suspensif (autres que les produits pétroliers) et sorties de régime particulier douanier uniquement lorsque des livraisons ont eu lieu en cours de régime',\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 +1 @@
1
- {"version":3,"file":"centuries.d.ts","sourceRoot":"","sources":["../../../../ts/utils/vat/centuries.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,2CAA2C,CAAC;AAmIxE,eAAO,MAAM,iBAAiB,GAAI,aAAa,SAAS,EAAE,SAAS,MAAM,KAAG,WAO3E,CAAC"}
1
+ {"version":3,"file":"centuries.d.ts","sourceRoot":"","sources":["../../../../ts/utils/vat/centuries.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,2CAA2C,CAAC;AAiKxE,eAAO,MAAM,iBAAiB,GAAI,aAAa,SAAS,EAAE,SAAS,MAAM,KAAG,WAO3E,CAAC"}
@@ -8,6 +8,7 @@ import { getCerfa3514Century23RegistrationFields } from './3514/century23';
8
8
  import { cerfa3517Century23Fields, getCerfa3517Century23Payload, getCerfa3517CenturyRegistrationField, getCerfa3517DDRCentury23egistrationField, } from './3517/century23';
9
9
  import { cerfa3310Century24Fields, getCerfa3310Century24Payload, getCerfa3310Century24RegistrationFields, } from './3310/century24';
10
10
  import { cerfa3517Century25Fields, getCerfa3517Century25Payload, getCerfa3517Century25RegistrationField, getCerfa3517DDRCentury25egistrationField, } from './3517/century25';
11
+ import { cerfa3310Century25Fields, getCerfa3310Century25Payload, getCerfa3310Century25RegistrationFields, } from './3310/century25';
11
12
  const vatDocuments = [
12
13
  {
13
14
  idCerfaType: CerfaType.CERFA_3310,
@@ -32,7 +33,7 @@ const vatDocuments = [
32
33
  idCerfaType: CerfaType.CERFA_3310,
33
34
  name: '3310',
34
35
  century: '24',
35
- centuries: [2024, 2025],
36
+ centuries: [2024],
36
37
  payload: (accountingEntries, payload, updatedEntries) => getCerfa3310Century24Payload(accountingEntries, payload, updatedEntries),
37
38
  asponePayload: (data) => getCerfa3310Century24RegistrationFields(data),
38
39
  fields: cerfa3310Century24Fields,
@@ -47,6 +48,25 @@ const vatDocuments = [
47
48
  fileName: '3519-2017',
48
49
  },
49
50
  },
51
+ {
52
+ idCerfaType: CerfaType.CERFA_3310,
53
+ name: '3310',
54
+ century: '25',
55
+ centuries: [2025],
56
+ payload: (accountingEntries, payload, updatedEntries) => getCerfa3310Century25Payload(accountingEntries, payload, updatedEntries),
57
+ asponePayload: (data) => getCerfa3310Century25RegistrationFields(data),
58
+ fields: cerfa3310Century25Fields,
59
+ fileName: '3310-2025',
60
+ annex: {
61
+ name: '3519',
62
+ century: dayjs().month() === 0 ? dayjs().subtract(1, 'month').format('YY') : dayjs().format('YY'),
63
+ shouldInclude: (data) => Boolean(data.credit?.refundAsked && data.credit.refundAsked > 0),
64
+ payload: (amount, payload) => getCerfa3519Century17Payload(amount, payload),
65
+ asponePayload: (data) => getCerfa3519Century23RegistrationFields(data),
66
+ fields: cerfa3519Century17Fields,
67
+ fileName: '3519-2017',
68
+ },
69
+ },
50
70
  {
51
71
  idCerfaType: CerfaType.CERFA_3514,
52
72
  name: '3514',
@@ -1 +1 @@
1
- {"version":3,"file":"centuries.js","sourceRoot":"","sources":["../../../../ts/utils/vat/centuries.ts"],"names":[],"mappings":"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","sourcesContent":["import * as dayjs from 'dayjs';\nimport { CerfaType } from '../../types/Enum/CerfaType';\nimport { VatDocument } from '../../types/Interface/api/cerfa/ReadCerfa';\nimport {\n cerfa3310Century23Fields,\n getCerfa3310Century23Payload,\n getCerfa3310Century23RegistrationFields,\n} from './3310/century23';\nimport { IAccountingEntry } from '../../types/Interface/models/IAccountingEntry';\nimport {\n Cerfa3310_2023,\n Cerfa3310_2024,\n PayloadCerfa3310_2023,\n PayloadCerfa3310_2024,\n} from '../../types/Interface/api/cerfa/3310';\nimport {\n Cerfa3514_2022,\n Cerfa3519_2017,\n PayloadCerfa3514_2022,\n PayloadCerfa3519_2017,\n UpdatedAnnotation,\n} from '../../types';\nimport { cerfa3519Century17Fields, getCerfa3519Century17Payload } from './3519/century17';\nimport { getCerfa3519Century23RegistrationFields } from './3519/century23';\nimport { cerfa3514Century22Fields, getCerfa3514Century22Payload } from './3514/century22';\nimport { getCerfa3514Century23RegistrationFields } from './3514/century23';\nimport {\n Cerfa3517_2023,\n Cerfa3517_2025,\n PayloadCerfa3517_2023,\n PayloadCerfa3517_2025,\n} from '../../types/Interface/api/cerfa/3517';\nimport {\n cerfa3517Century23Fields,\n getCerfa3517Century23Payload,\n getCerfa3517CenturyRegistrationField,\n getCerfa3517DDRCentury23egistrationField,\n} from './3517/century23';\nimport {\n cerfa3310Century24Fields,\n getCerfa3310Century24Payload,\n getCerfa3310Century24RegistrationFields,\n} from './3310/century24';\nimport {\n cerfa3517Century25Fields,\n getCerfa3517Century25Payload,\n getCerfa3517Century25RegistrationField,\n getCerfa3517DDRCentury25egistrationField,\n} from './3517/century25';\n\nconst vatDocuments: VatDocument[] = [\n {\n idCerfaType: CerfaType.CERFA_3310,\n name: '3310',\n century: '23',\n centuries: [2022, 2023],\n payload: (\n accountingEntries: IAccountingEntry[],\n payload: PayloadCerfa3310_2023,\n updatedEntries: UpdatedAnnotation,\n ) => getCerfa3310Century23Payload(accountingEntries, payload, updatedEntries),\n asponePayload: (data: Cerfa3310_2023) => getCerfa3310Century23RegistrationFields(data),\n fields: cerfa3310Century23Fields,\n fileName: '3310-2023',\n annex: {\n name: '3519',\n century: '23',\n shouldInclude: (data: Cerfa3310_2023) => Boolean(data.credit?.refundAsked && data.credit.refundAsked > 0),\n payload: (amount: number, payload: PayloadCerfa3519_2017) => getCerfa3519Century17Payload(amount, payload),\n asponePayload: (data: Cerfa3519_2017) => getCerfa3519Century23RegistrationFields(data),\n fields: cerfa3519Century17Fields,\n fileName: '3519-2017',\n },\n },\n {\n idCerfaType: CerfaType.CERFA_3310,\n name: '3310',\n century: '24',\n centuries: [2024, 2025],\n payload: (\n accountingEntries: IAccountingEntry[],\n payload: PayloadCerfa3310_2024,\n updatedEntries: UpdatedAnnotation,\n ) => getCerfa3310Century24Payload(accountingEntries, payload, updatedEntries),\n asponePayload: (data: Cerfa3310_2024) => getCerfa3310Century24RegistrationFields(data),\n fields: cerfa3310Century24Fields,\n fileName: '3310-2024',\n annex: {\n name: '3519',\n century: dayjs().month() === 0 ? dayjs().subtract(1, 'month').format('YY') : dayjs().format('YY'),\n shouldInclude: (data: Cerfa3310_2023) => Boolean(data.credit?.refundAsked && data.credit.refundAsked > 0),\n payload: (amount: number, payload: PayloadCerfa3519_2017) => getCerfa3519Century17Payload(amount, payload),\n asponePayload: (data: Cerfa3519_2017) => getCerfa3519Century23RegistrationFields(data),\n fields: cerfa3519Century17Fields,\n fileName: '3519-2017',\n },\n },\n {\n idCerfaType: CerfaType.CERFA_3514,\n name: '3514',\n century: '23',\n centuries: [2022, 2023, 2024, 2025],\n payload: (payload: PayloadCerfa3514_2022) => getCerfa3514Century22Payload(payload),\n asponePayload: (data: Cerfa3514_2022) => getCerfa3514Century23RegistrationFields(data),\n fields: cerfa3514Century22Fields,\n fileName: '3514-2022',\n },\n {\n idCerfaType: CerfaType.CERFA_3517,\n name: '3517',\n century: '23',\n centuries: [2022, 2023, 2024],\n payload: (accountingEntries: IAccountingEntry[], payload: PayloadCerfa3517_2023) =>\n getCerfa3517Century23Payload(accountingEntries, payload),\n asponePayload: (data: Cerfa3517_2023) => getCerfa3517CenturyRegistrationField(data),\n fields: cerfa3517Century23Fields,\n fileName: '3517-2023',\n annexFields: (data: Cerfa3517_2023) => getCerfa3517DDRCentury23egistrationField(data),\n },\n {\n idCerfaType: CerfaType.CERFA_3517,\n name: '3517',\n century: '25',\n centuries: [2025, 2026],\n payload: (accountingEntries: IAccountingEntry[], payload: PayloadCerfa3517_2025) =>\n getCerfa3517Century25Payload(accountingEntries, payload),\n asponePayload: (data: Cerfa3517_2025) => getCerfa3517Century25RegistrationField(data),\n fields: cerfa3517Century25Fields,\n fileName: '3517-2025',\n annexFields: (data: Cerfa3517_2025) => getCerfa3517DDRCentury25egistrationField(data),\n },\n];\n\nexport const getVatCerfaObject = (idCerfaType: CerfaType, endDate: string): VatDocument => {\n const year = +dayjs(endDate).add(1, 'day').year();\n\n const cerfa = vatDocuments.find((v) => v.idCerfaType === idCerfaType && v.centuries.find((c) => c === year));\n if (!cerfa) throw new Error(`Cerfa type #${idCerfaType} with century ${year} is not managed yet.`);\n\n return cerfa;\n};\n"]}
1
+ {"version":3,"file":"centuries.js","sourceRoot":"","sources":["../../../../ts/utils/vat/centuries.ts"],"names":[],"mappings":"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","sourcesContent":["import * as dayjs from 'dayjs';\nimport { CerfaType } from '../../types/Enum/CerfaType';\nimport { VatDocument } from '../../types/Interface/api/cerfa/ReadCerfa';\nimport {\n cerfa3310Century23Fields,\n getCerfa3310Century23Payload,\n getCerfa3310Century23RegistrationFields,\n} from './3310/century23';\nimport { IAccountingEntry } from '../../types/Interface/models/IAccountingEntry';\nimport {\n Cerfa3310_2023,\n Cerfa3310_2024,\n Cerfa3310_2025,\n PayloadCerfa3310_2023,\n PayloadCerfa3310_2024,\n PayloadCerfa3310_2025,\n} from '../../types/Interface/api/cerfa/3310';\nimport {\n Cerfa3514_2022,\n Cerfa3519_2017,\n PayloadCerfa3514_2022,\n PayloadCerfa3519_2017,\n UpdatedAnnotation,\n} from '../../types';\nimport { cerfa3519Century17Fields, getCerfa3519Century17Payload } from './3519/century17';\nimport { getCerfa3519Century23RegistrationFields } from './3519/century23';\nimport { cerfa3514Century22Fields, getCerfa3514Century22Payload } from './3514/century22';\nimport { getCerfa3514Century23RegistrationFields } from './3514/century23';\nimport {\n Cerfa3517_2023,\n Cerfa3517_2025,\n PayloadCerfa3517_2023,\n PayloadCerfa3517_2025,\n} from '../../types/Interface/api/cerfa/3517';\nimport {\n cerfa3517Century23Fields,\n getCerfa3517Century23Payload,\n getCerfa3517CenturyRegistrationField,\n getCerfa3517DDRCentury23egistrationField,\n} from './3517/century23';\nimport {\n cerfa3310Century24Fields,\n getCerfa3310Century24Payload,\n getCerfa3310Century24RegistrationFields,\n} from './3310/century24';\nimport {\n cerfa3517Century25Fields,\n getCerfa3517Century25Payload,\n getCerfa3517Century25RegistrationField,\n getCerfa3517DDRCentury25egistrationField,\n} from './3517/century25';\nimport {\n cerfa3310Century25Fields,\n getCerfa3310Century25Payload,\n getCerfa3310Century25RegistrationFields,\n} from './3310/century25';\n\nconst vatDocuments: VatDocument[] = [\n {\n idCerfaType: CerfaType.CERFA_3310,\n name: '3310',\n century: '23',\n centuries: [2022, 2023],\n payload: (\n accountingEntries: IAccountingEntry[],\n payload: PayloadCerfa3310_2023,\n updatedEntries: UpdatedAnnotation,\n ) => getCerfa3310Century23Payload(accountingEntries, payload, updatedEntries),\n asponePayload: (data: Cerfa3310_2023) => getCerfa3310Century23RegistrationFields(data),\n fields: cerfa3310Century23Fields,\n fileName: '3310-2023',\n annex: {\n name: '3519',\n century: '23',\n shouldInclude: (data: Cerfa3310_2023) => Boolean(data.credit?.refundAsked && data.credit.refundAsked > 0),\n payload: (amount: number, payload: PayloadCerfa3519_2017) => getCerfa3519Century17Payload(amount, payload),\n asponePayload: (data: Cerfa3519_2017) => getCerfa3519Century23RegistrationFields(data),\n fields: cerfa3519Century17Fields,\n fileName: '3519-2017',\n },\n },\n {\n idCerfaType: CerfaType.CERFA_3310,\n name: '3310',\n century: '24',\n centuries: [2024],\n payload: (\n accountingEntries: IAccountingEntry[],\n payload: PayloadCerfa3310_2024,\n updatedEntries: UpdatedAnnotation,\n ) => getCerfa3310Century24Payload(accountingEntries, payload, updatedEntries),\n asponePayload: (data: Cerfa3310_2024) => getCerfa3310Century24RegistrationFields(data),\n fields: cerfa3310Century24Fields,\n fileName: '3310-2024',\n annex: {\n name: '3519',\n century: dayjs().month() === 0 ? dayjs().subtract(1, 'month').format('YY') : dayjs().format('YY'),\n shouldInclude: (data: Cerfa3310_2023) => Boolean(data.credit?.refundAsked && data.credit.refundAsked > 0),\n payload: (amount: number, payload: PayloadCerfa3519_2017) => getCerfa3519Century17Payload(amount, payload),\n asponePayload: (data: Cerfa3519_2017) => getCerfa3519Century23RegistrationFields(data),\n fields: cerfa3519Century17Fields,\n fileName: '3519-2017',\n },\n },\n {\n idCerfaType: CerfaType.CERFA_3310,\n name: '3310',\n century: '25',\n centuries: [2025],\n payload: (\n accountingEntries: IAccountingEntry[],\n payload: PayloadCerfa3310_2025,\n updatedEntries: UpdatedAnnotation,\n ) => getCerfa3310Century25Payload(accountingEntries, payload, updatedEntries),\n asponePayload: (data: Cerfa3310_2025) => getCerfa3310Century25RegistrationFields(data),\n fields: cerfa3310Century25Fields,\n fileName: '3310-2025',\n annex: {\n name: '3519',\n century: dayjs().month() === 0 ? dayjs().subtract(1, 'month').format('YY') : dayjs().format('YY'),\n shouldInclude: (data: Cerfa3310_2023) => Boolean(data.credit?.refundAsked && data.credit.refundAsked > 0),\n payload: (amount: number, payload: PayloadCerfa3519_2017) => getCerfa3519Century17Payload(amount, payload),\n asponePayload: (data: Cerfa3519_2017) => getCerfa3519Century23RegistrationFields(data),\n fields: cerfa3519Century17Fields,\n fileName: '3519-2017',\n },\n },\n {\n idCerfaType: CerfaType.CERFA_3514,\n name: '3514',\n century: '23',\n centuries: [2022, 2023, 2024, 2025],\n payload: (payload: PayloadCerfa3514_2022) => getCerfa3514Century22Payload(payload),\n asponePayload: (data: Cerfa3514_2022) => getCerfa3514Century23RegistrationFields(data),\n fields: cerfa3514Century22Fields,\n fileName: '3514-2022',\n },\n {\n idCerfaType: CerfaType.CERFA_3517,\n name: '3517',\n century: '23',\n centuries: [2022, 2023, 2024],\n payload: (accountingEntries: IAccountingEntry[], payload: PayloadCerfa3517_2023) =>\n getCerfa3517Century23Payload(accountingEntries, payload),\n asponePayload: (data: Cerfa3517_2023) => getCerfa3517CenturyRegistrationField(data),\n fields: cerfa3517Century23Fields,\n fileName: '3517-2023',\n annexFields: (data: Cerfa3517_2023) => getCerfa3517DDRCentury23egistrationField(data),\n },\n {\n idCerfaType: CerfaType.CERFA_3517,\n name: '3517',\n century: '25',\n centuries: [2025, 2026],\n payload: (accountingEntries: IAccountingEntry[], payload: PayloadCerfa3517_2025) =>\n getCerfa3517Century25Payload(accountingEntries, payload),\n asponePayload: (data: Cerfa3517_2025) => getCerfa3517Century25RegistrationField(data),\n fields: cerfa3517Century25Fields,\n fileName: '3517-2025',\n annexFields: (data: Cerfa3517_2025) => getCerfa3517DDRCentury25egistrationField(data),\n },\n];\n\nexport const getVatCerfaObject = (idCerfaType: CerfaType, endDate: string): VatDocument => {\n const year = +dayjs(endDate).add(1, 'day').year();\n\n const cerfa = vatDocuments.find((v) => v.idCerfaType === idCerfaType && v.centuries.find((c) => c === year));\n if (!cerfa) throw new Error(`Cerfa type #${idCerfaType} with century ${year} is not managed yet.`);\n\n return cerfa;\n};\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@silexpert/core",
3
- "version": "1.3.5",
3
+ "version": "1.3.6",
4
4
  "description": "Silex Core perform HTTP Request and object binding. Silex core helps developers to retrieve and return formatted object",
5
5
  "homepage": "https://gitlab.compta-clementine.fr/dev/silex-api",
6
6
  "main": "dist/cjs/index.js",
@@ -98,6 +98,30 @@ export enum AsponeCR5_2024 {
98
98
  'AUT' = 'AUT', // 'Autres crédits d\'impôts',
99
99
  }
100
100
 
101
+ export enum AsponeCR5_2025 {
102
+ 'CIC' = 'CIC', // 'Crédit d\'impôt pour la compétitivité et l\'emploi',
103
+ 'MEC' = 'MEC', // 'Réduction d\'impôt au titre du mécénat',
104
+ 'FOR' = 'FOR', // 'Crédit d\'impôt formation des dirigeants d\'entreprise',
105
+ 'RAC' = 'RAC', // 'Crédit d\'impôt pour le rachat d\'une entreprise par ses salariés',
106
+ 'AUD' = 'AUD', // 'Crédit d\'impôt pour dépenses de production d\'oeuvres audiovisuelles',
107
+ 'CIN' = 'CIN', // 'Crédit d\'impôt pour dépenses de production d\'oeuvres cinématographiques',
108
+ 'CCI' = 'CCI', // 'Crédit d\'impôt pour dépenses de production de films et d\'oeuvres audiovisuelles étrangers',
109
+ 'CSV' = 'CSV', // 'Crédit d\'impôt en faveur des entreprises de spectacles vivants musicaux ou de variétés et crédit d’impôt en faveur des représentations théâtrales d’oeuvres dramatiques',
110
+ 'VEL' = 'VEL', // 'Réduction d\'impôt pour mise à disposition d\'une flotte de vélos',
111
+ 'PRE' = 'PRE', // 'Réduction d’impôt pour souscriptions en numéraire au capital des entreprises de presse',
112
+ 'RTD' = 'RTD', // 'Crédit d’impôt en faveur des représentations théâtrales d’œuvres dramatiques',
113
+ 'CPG' = 'CPG', // 'Crédit d’impôt en faveur des entreprises agricoles dans le secteur des cultures permanentes sans glyphosate',
114
+ 'HVE' = 'HVE', // 'Crédit d’impôt en faveur des entreprises agricoles disposant d’une certification d’exploitation à haute valeur environnementale',
115
+ 'COM' = 'COM', // 'Réduction d’impôt collectivités outre-mer',
116
+ 'REB' = 'REB', // 'Crédit d\'impôt rénovation énergétique des bâtiments à usage tertiaire ',
117
+ '2LI' = '2LI', // 'Crédit impôt sur les sociétés en faveur du logement locatif intermédiaire',
118
+ '3IV' = '3IV', // 'Crédit d’impôt au titre des investissements dans l’industrie verte',
119
+ 'PAM' = 'PAM', // 'Crédit d’impôt prêt avance mutation à taux zéro'
120
+ 'AUT' = 'AUT', // 'Autres crédits d\'impôts',
121
+ }
122
+
123
+ export type AnyAsponeCR5_Century = AsponeCR5_2025 | AsponeCR5_2024;
124
+
101
125
  export enum AsponeCR6_2024 {
102
126
  'COR' = 'COR', // 'Crédit d\'impôt pour investissement en Corse',
103
127
  'CIR' = 'CIR', // 'Crédit d\'impôt en faveur de la recherche',
@@ -153,53 +177,6 @@ export enum AsponeCRB_2024 {
153
177
  'EOM' = 'EOM',
154
178
  }
155
179
 
156
- export const AsponeCRB_2024_List: Array<{ id: AsponeCRB_2024; value: string }> = [
157
- { id: AsponeCRB_2024.FOR, value: 'FOR - Dépenses de formation des dirigeants' },
158
- { id: AsponeCRB_2024.RAC, value: "RAC - Rachat d'une entreprise par ses salariés" },
159
- { id: AsponeCRB_2024.FAM, value: 'FAM - Famille' },
160
- { id: AsponeCRB_2024.CIR, value: 'CIR - Recherche' },
161
- { id: AsponeCRB_2024.CRC, value: 'CRC - CRC - Crédit d’impôt recherche collaborative' },
162
- { id: AsponeCRB_2024.COR, value: 'COR - Investissements réalisés et exploités en Corse' },
163
- { id: AsponeCRB_2024.RAD, value: 'RAD - Report en arrière de déficits' },
164
- { id: AsponeCRB_2024.APR, value: 'APR - Apprentissage' },
165
- { id: AsponeCRB_2024.EXP, value: 'EXP - Dépenses de prospection commerciale' },
166
- { id: AsponeCRB_2024.PTZ, value: 'PTZ - Prêt à taux zéro' },
167
- { id: AsponeCRB_2024.CIN, value: 'CIN - Cinéma' },
168
- { id: AsponeCRB_2024.BIO, value: 'BIO - Agriculture biologique' },
169
- { id: AsponeCRB_2024.PHO, value: "PHO - Production d'œuvre phonographique" },
170
- { id: AsponeCRB_2024.MAI, value: 'MAI - Maîtres restaurateurs' },
171
- { id: AsponeCRB_2024.AUD, value: 'AUD - Formats audiovisuels' },
172
- { id: AsponeCRB_2024.ART, value: "ART - Métiers d'art" },
173
- { id: AsponeCRB_2024.CJV, value: 'CJV - Création de jeux vidéo' },
174
- { id: AsponeCRB_2024.CAI, value: 'CAI - Intéressement' },
175
- { id: AsponeCRB_2024.CPE, value: 'CPE - Eco-PTZ' },
176
- { id: AsponeCRB_2024.CCI, value: 'CCI - Cinéma international' },
177
- { id: AsponeCRB_2024.PTR, value: 'PTR - Prêt à taux "plus"' },
178
- { id: AsponeCRB_2024.CIC, value: 'CIC - Compétitivité des entreprises' },
179
- { id: AsponeCRB_2024.CIO, value: 'CIO - Outre Mer secteur productif' },
180
- { id: AsponeCRB_2024.COL, value: 'COL - Outre Mer logement social' },
181
- { id: AsponeCRB_2024.CSV, value: 'CSV - Spectacle vivant' },
182
- { id: AsponeCRB_2024.CAC, value: "CAC - Crédit d'impôt création audiovisuelle et cinématographique" },
183
- {
184
- id: AsponeCRB_2024.REB,
185
- value: "REB - Crédit d'impôt PME pour la rénovation énergétique des bâtiments à usage tertiaire",
186
- },
187
- { id: AsponeCRB_2024.BLC, value: "BLC - Crédit d'impôt pour abandon de loyers des bailleurs de locaux commerciaux" },
188
- {
189
- id: AsponeCRB_2024.RTD,
190
- value: "RTD - Crédit d'impôt en faveur des représentations théâtrales d’oeuvres dramatiques",
191
- },
192
- {
193
- id: AsponeCRB_2024.CPG,
194
- value: "CPG – Crédit d'impôt entreprises agricoles secteur cultures permanentes sans glyphosate",
195
- },
196
- {
197
- id: AsponeCRB_2024.HVE,
198
- value: "HVE - Crédit d'impôt entreprises agricoles certification exploitation haute valeur environnementale",
199
- },
200
- { id: AsponeCRB_2024.EOM, value: 'EOM - Crédit d’impôt en faveur des éditeurs d’oeuvres musicales' },
201
- ];
202
-
203
180
  export enum AsponeENT_2024 {
204
181
  'JEI' = 'JEI',
205
182
  'PME' = 'PME',
@@ -307,6 +307,7 @@ export enum Question {
307
307
  EXEMPTION_START_UPS_44_SEXIES = 'EXEMPTION_START_UPS_44_SEXIES',
308
308
  EXEMPTION_START_UPS_44_QUINDECIES = 'EXEMPTION_START_UPS_44_QUINDECIES',
309
309
  EXEMPTION_44_QUINDECIES_2024 = 'EXEMPTION_44_QUINDECIES_2024',
310
+ EXEMPTION_44_QUINDECIES_A = 'EXEMPTION_44_QUINDECIES_A',
310
311
  EXEMPTION_URBAN_FREE_ZONE_ACTIVITIES = 'EXEMPTION_URBAN_FREE_ZONE_ACTIVITIES',
311
312
  DEFICIT_ZONE_DOCTOR_EXEMPTIONS = 'DEFICIT_ZONE_DOCTOR_EXEMPTIONS',
312
313
  SECTOR_1_DOCTOR_EXEMPTIONS = 'SECTOR_1_DOCTOR_EXEMPTIONS',
@@ -298,6 +298,7 @@ export enum QuestionWording {
298
298
  EXEMPTION_START_UPS_44_SEXIES = 'Entreprise nouvelle, art. 44 sexies',
299
299
  EXEMPTION_START_UPS_44_QUINDECIES = 'Entreprise nouvelle, art. 44 quindecies',
300
300
  EXEMPTION_44_QUINDECIES_2024 = 'Zone de revitalisation rurale, art. 44 quindecies',
301
+ EXEMPTION_44_QUINDECIES_A = 'Zone France Ruralités Revitalisation art.44 quindecies A',
301
302
  EXEMPTION_URBAN_FREE_ZONE_ACTIVITIES = 'Activité exercée en ZFU-TE, art. 44 octies ou 44 octies A',
302
303
  DEFICIT_ZONE_DOCTOR_EXEMPTIONS = 'Exonération médecins “zones déficitaires en offres de soins”',
303
304
  SECTOR_1_DOCTOR_EXEMPTIONS = 'Déductions “médecins conventionnés de secteur I”',