@silexpert/core 1.2.11 → 1.2.15

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 (201) hide show
  1. package/dist/cjs/api/resources/FIle.d.ts +1 -0
  2. package/dist/cjs/api/resources/FIle.d.ts.map +1 -1
  3. package/dist/cjs/api/resources/FIle.js +3 -0
  4. package/dist/cjs/api/resources/FIle.js.map +1 -1
  5. package/dist/cjs/api/resources/Society.d.ts +3 -2
  6. package/dist/cjs/api/resources/Society.d.ts.map +1 -1
  7. package/dist/cjs/api/resources/Society.js +6 -3
  8. package/dist/cjs/api/resources/Society.js.map +1 -1
  9. package/dist/cjs/api/resources/Wallet.d.ts +2 -1
  10. package/dist/cjs/api/resources/Wallet.d.ts.map +1 -1
  11. package/dist/cjs/api/resources/Wallet.js +3 -0
  12. package/dist/cjs/api/resources/Wallet.js.map +1 -1
  13. package/dist/cjs/types/Enum/BalanceSheet.d.ts +2 -0
  14. package/dist/cjs/types/Enum/BalanceSheet.d.ts.map +1 -1
  15. package/dist/cjs/types/Enum/BalanceSheet.js +3 -1
  16. package/dist/cjs/types/Enum/BalanceSheet.js.map +1 -1
  17. package/dist/cjs/types/Enum/BrandClementine.js +1 -1
  18. package/dist/cjs/types/Enum/BrandClementine.js.map +1 -1
  19. package/dist/cjs/types/Enum/BrandLegalstart.js +1 -1
  20. package/dist/cjs/types/Enum/BrandLegalstart.js.map +1 -1
  21. package/dist/cjs/types/Enum/ReasonTerminationType.d.ts +2 -1
  22. package/dist/cjs/types/Enum/ReasonTerminationType.d.ts.map +1 -1
  23. package/dist/cjs/types/Enum/ReasonTerminationType.js +6 -0
  24. package/dist/cjs/types/Enum/ReasonTerminationType.js.map +1 -1
  25. package/dist/cjs/types/Enum/Sepa.d.ts +7 -0
  26. package/dist/cjs/types/Enum/Sepa.d.ts.map +1 -0
  27. package/dist/cjs/types/Enum/Sepa.js +46 -0
  28. package/dist/cjs/types/Enum/Sepa.js.map +1 -0
  29. package/dist/cjs/types/Enum/StatusRating.d.ts.map +1 -1
  30. package/dist/cjs/types/Enum/StatusRating.js +1 -0
  31. package/dist/cjs/types/Enum/StatusRating.js.map +1 -1
  32. package/dist/cjs/types/Enum/TimeCounterType.d.ts +8 -0
  33. package/dist/cjs/types/Enum/TimeCounterType.d.ts.map +1 -1
  34. package/dist/cjs/types/Enum/TimeCounterType.js +8 -0
  35. package/dist/cjs/types/Enum/TimeCounterType.js.map +1 -1
  36. package/dist/cjs/types/Enum/UnpaidReason.d.ts +12 -0
  37. package/dist/cjs/types/Enum/UnpaidReason.d.ts.map +1 -0
  38. package/dist/cjs/types/Enum/UnpaidReason.js +34 -0
  39. package/dist/cjs/types/Enum/UnpaidReason.js.map +1 -0
  40. package/dist/cjs/types/Interface/api/cerfa/2035.d.ts +2 -0
  41. package/dist/cjs/types/Interface/api/cerfa/2035.d.ts.map +1 -1
  42. package/dist/cjs/types/Interface/api/cerfa/2035.js.map +1 -1
  43. package/dist/cjs/types/Interface/api/companyCreationForm/CreateCompanyCreationForm.d.ts +1 -0
  44. package/dist/cjs/types/Interface/api/companyCreationForm/CreateCompanyCreationForm.d.ts.map +1 -1
  45. package/dist/cjs/types/Interface/api/companyCreationForm/CreateCompanyCreationForm.js +6 -0
  46. package/dist/cjs/types/Interface/api/companyCreationForm/CreateCompanyCreationForm.js.map +1 -1
  47. package/dist/cjs/types/Interface/api/society/QueryUnpaid.d.ts +10 -0
  48. package/dist/cjs/types/Interface/api/society/QueryUnpaid.d.ts.map +1 -0
  49. package/dist/cjs/types/Interface/api/society/QueryUnpaid.js +62 -0
  50. package/dist/cjs/types/Interface/api/society/QueryUnpaid.js.map +1 -0
  51. package/dist/cjs/types/Interface/api/society/ReadSocietyUnpaidStats.d.ts +5 -0
  52. package/dist/cjs/types/Interface/api/society/ReadSocietyUnpaidStats.d.ts.map +1 -0
  53. package/dist/cjs/types/Interface/api/society/ReadSocietyUnpaidStats.js +3 -0
  54. package/dist/cjs/types/Interface/api/society/ReadSocietyUnpaidStats.js.map +1 -0
  55. package/dist/cjs/types/Interface/api/society/UpdateSociety.d.ts +1 -0
  56. package/dist/cjs/types/Interface/api/society/UpdateSociety.d.ts.map +1 -1
  57. package/dist/cjs/types/Interface/api/society/UpdateSociety.js +7 -0
  58. package/dist/cjs/types/Interface/api/society/UpdateSociety.js.map +1 -1
  59. package/dist/cjs/types/Interface/api/terminationList/CreateTerminationList.js +2 -2
  60. package/dist/cjs/types/Interface/api/terminationList/CreateTerminationList.js.map +1 -1
  61. package/dist/cjs/types/Interface/models/IPaymentRecovery.d.ts +0 -3
  62. package/dist/cjs/types/Interface/models/IPaymentRecovery.d.ts.map +1 -1
  63. package/dist/cjs/types/Interface/models/IPaymentRecovery.js.map +1 -1
  64. package/dist/cjs/types/index.d.ts +4 -0
  65. package/dist/cjs/types/index.d.ts.map +1 -1
  66. package/dist/cjs/types/index.js +4 -0
  67. package/dist/cjs/types/index.js.map +1 -1
  68. package/dist/cjs/utils/brands.d.ts +1 -0
  69. package/dist/cjs/utils/brands.d.ts.map +1 -1
  70. package/dist/cjs/utils/brands.js.map +1 -1
  71. package/dist/cjs/utils/checklist.d.ts.map +1 -1
  72. package/dist/cjs/utils/checklist.js +0 -4
  73. package/dist/cjs/utils/checklist.js.map +1 -1
  74. package/dist/cjs/utils/commercialManagement/recovery.d.ts +5 -0
  75. package/dist/cjs/utils/commercialManagement/recovery.d.ts.map +1 -1
  76. package/dist/cjs/utils/commercialManagement/recovery.js +5 -0
  77. package/dist/cjs/utils/commercialManagement/recovery.js.map +1 -1
  78. package/dist/cjs/utils/documents.d.ts.map +1 -1
  79. package/dist/cjs/utils/documents.js +1 -4
  80. package/dist/cjs/utils/documents.js.map +1 -1
  81. package/dist/cjs/utils/payment.d.ts.map +1 -1
  82. package/dist/cjs/utils/payment.js +8 -1
  83. package/dist/cjs/utils/payment.js.map +1 -1
  84. package/dist/cjs/utils/vat/3310/century23.js +1 -1
  85. package/dist/cjs/utils/vat/3310/century23.js.map +1 -1
  86. package/dist/cjs/utils/vat/3310/century24.js +1 -1
  87. package/dist/cjs/utils/vat/3310/century24.js.map +1 -1
  88. package/dist/mjs/api/resources/FIle.d.ts +1 -0
  89. package/dist/mjs/api/resources/FIle.d.ts.map +1 -1
  90. package/dist/mjs/api/resources/FIle.js +3 -0
  91. package/dist/mjs/api/resources/FIle.js.map +1 -1
  92. package/dist/mjs/api/resources/Society.d.ts +3 -2
  93. package/dist/mjs/api/resources/Society.d.ts.map +1 -1
  94. package/dist/mjs/api/resources/Society.js +11 -3
  95. package/dist/mjs/api/resources/Society.js.map +1 -1
  96. package/dist/mjs/api/resources/Wallet.d.ts +2 -1
  97. package/dist/mjs/api/resources/Wallet.d.ts.map +1 -1
  98. package/dist/mjs/api/resources/Wallet.js +6 -0
  99. package/dist/mjs/api/resources/Wallet.js.map +1 -1
  100. package/dist/mjs/types/Enum/BalanceSheet.d.ts +2 -0
  101. package/dist/mjs/types/Enum/BalanceSheet.d.ts.map +1 -1
  102. package/dist/mjs/types/Enum/BalanceSheet.js +3 -1
  103. package/dist/mjs/types/Enum/BalanceSheet.js.map +1 -1
  104. package/dist/mjs/types/Enum/BrandClementine.js +1 -1
  105. package/dist/mjs/types/Enum/BrandClementine.js.map +1 -1
  106. package/dist/mjs/types/Enum/BrandLegalstart.js +1 -1
  107. package/dist/mjs/types/Enum/BrandLegalstart.js.map +1 -1
  108. package/dist/mjs/types/Enum/ReasonTerminationType.d.ts +2 -1
  109. package/dist/mjs/types/Enum/ReasonTerminationType.d.ts.map +1 -1
  110. package/dist/mjs/types/Enum/ReasonTerminationType.js +6 -0
  111. package/dist/mjs/types/Enum/ReasonTerminationType.js.map +1 -1
  112. package/dist/mjs/types/Enum/Sepa.d.ts +7 -0
  113. package/dist/mjs/types/Enum/Sepa.d.ts.map +1 -0
  114. package/dist/mjs/types/Enum/Sepa.js +43 -0
  115. package/dist/mjs/types/Enum/Sepa.js.map +1 -0
  116. package/dist/mjs/types/Enum/StatusRating.d.ts.map +1 -1
  117. package/dist/mjs/types/Enum/StatusRating.js +1 -0
  118. package/dist/mjs/types/Enum/StatusRating.js.map +1 -1
  119. package/dist/mjs/types/Enum/TimeCounterType.d.ts +8 -0
  120. package/dist/mjs/types/Enum/TimeCounterType.d.ts.map +1 -1
  121. package/dist/mjs/types/Enum/TimeCounterType.js +8 -0
  122. package/dist/mjs/types/Enum/TimeCounterType.js.map +1 -1
  123. package/dist/mjs/types/Enum/UnpaidReason.d.ts +12 -0
  124. package/dist/mjs/types/Enum/UnpaidReason.d.ts.map +1 -0
  125. package/dist/mjs/types/Enum/UnpaidReason.js +31 -0
  126. package/dist/mjs/types/Enum/UnpaidReason.js.map +1 -0
  127. package/dist/mjs/types/Interface/api/cerfa/2035.d.ts +2 -0
  128. package/dist/mjs/types/Interface/api/cerfa/2035.d.ts.map +1 -1
  129. package/dist/mjs/types/Interface/api/cerfa/2035.js.map +1 -1
  130. package/dist/mjs/types/Interface/api/companyCreationForm/CreateCompanyCreationForm.d.ts +1 -0
  131. package/dist/mjs/types/Interface/api/companyCreationForm/CreateCompanyCreationForm.d.ts.map +1 -1
  132. package/dist/mjs/types/Interface/api/companyCreationForm/CreateCompanyCreationForm.js +7 -0
  133. package/dist/mjs/types/Interface/api/companyCreationForm/CreateCompanyCreationForm.js.map +1 -1
  134. package/dist/mjs/types/Interface/api/society/QueryUnpaid.d.ts +10 -0
  135. package/dist/mjs/types/Interface/api/society/QueryUnpaid.d.ts.map +1 -0
  136. package/dist/mjs/types/Interface/api/society/QueryUnpaid.js +65 -0
  137. package/dist/mjs/types/Interface/api/society/QueryUnpaid.js.map +1 -0
  138. package/dist/mjs/types/Interface/api/society/ReadSocietyUnpaidStats.d.ts +5 -0
  139. package/dist/mjs/types/Interface/api/society/ReadSocietyUnpaidStats.d.ts.map +1 -0
  140. package/dist/mjs/types/Interface/api/society/ReadSocietyUnpaidStats.js +2 -0
  141. package/dist/mjs/types/Interface/api/society/ReadSocietyUnpaidStats.js.map +1 -0
  142. package/dist/mjs/types/Interface/api/society/UpdateSociety.d.ts +1 -0
  143. package/dist/mjs/types/Interface/api/society/UpdateSociety.d.ts.map +1 -1
  144. package/dist/mjs/types/Interface/api/society/UpdateSociety.js +9 -1
  145. package/dist/mjs/types/Interface/api/society/UpdateSociety.js.map +1 -1
  146. package/dist/mjs/types/Interface/api/terminationList/CreateTerminationList.js +2 -2
  147. package/dist/mjs/types/Interface/api/terminationList/CreateTerminationList.js.map +1 -1
  148. package/dist/mjs/types/Interface/models/IPaymentRecovery.d.ts +0 -3
  149. package/dist/mjs/types/Interface/models/IPaymentRecovery.d.ts.map +1 -1
  150. package/dist/mjs/types/Interface/models/IPaymentRecovery.js.map +1 -1
  151. package/dist/mjs/types/index.d.ts +4 -0
  152. package/dist/mjs/types/index.d.ts.map +1 -1
  153. package/dist/mjs/types/index.js +4 -0
  154. package/dist/mjs/types/index.js.map +1 -1
  155. package/dist/mjs/utils/brands.d.ts +1 -0
  156. package/dist/mjs/utils/brands.d.ts.map +1 -1
  157. package/dist/mjs/utils/brands.js.map +1 -1
  158. package/dist/mjs/utils/checklist.d.ts.map +1 -1
  159. package/dist/mjs/utils/checklist.js +0 -4
  160. package/dist/mjs/utils/checklist.js.map +1 -1
  161. package/dist/mjs/utils/commercialManagement/recovery.d.ts +5 -0
  162. package/dist/mjs/utils/commercialManagement/recovery.d.ts.map +1 -1
  163. package/dist/mjs/utils/commercialManagement/recovery.js +5 -0
  164. package/dist/mjs/utils/commercialManagement/recovery.js.map +1 -1
  165. package/dist/mjs/utils/documents.d.ts.map +1 -1
  166. package/dist/mjs/utils/documents.js +1 -4
  167. package/dist/mjs/utils/documents.js.map +1 -1
  168. package/dist/mjs/utils/payment.d.ts.map +1 -1
  169. package/dist/mjs/utils/payment.js +8 -1
  170. package/dist/mjs/utils/payment.js.map +1 -1
  171. package/dist/mjs/utils/vat/3310/century23.js +1 -1
  172. package/dist/mjs/utils/vat/3310/century23.js.map +1 -1
  173. package/dist/mjs/utils/vat/3310/century24.js +1 -1
  174. package/dist/mjs/utils/vat/3310/century24.js.map +1 -1
  175. package/package.json +1 -1
  176. package/ts/api/resources/FIle.ts +4 -0
  177. package/ts/api/resources/Society.ts +14 -3
  178. package/ts/api/resources/Wallet.ts +8 -1
  179. package/ts/types/Enum/BalanceSheet.ts +6 -1
  180. package/ts/types/Enum/BrandClementine.ts +1 -1
  181. package/ts/types/Enum/BrandLegalstart.ts +1 -1
  182. package/ts/types/Enum/ReasonTerminationType.ts +6 -0
  183. package/ts/types/Enum/Sepa.ts +48 -0
  184. package/ts/types/Enum/StatusRating.ts +1 -0
  185. package/ts/types/Enum/TimeCounterType.ts +8 -0
  186. package/ts/types/Enum/UnpaidReason.ts +30 -0
  187. package/ts/types/Interface/api/cerfa/2035.ts +2 -0
  188. package/ts/types/Interface/api/companyCreationForm/CreateCompanyCreationForm.ts +5 -0
  189. package/ts/types/Interface/api/society/QueryUnpaid.ts +41 -0
  190. package/ts/types/Interface/api/society/ReadSocietyUnpaidStats.ts +4 -0
  191. package/ts/types/Interface/api/society/UpdateSociety.ts +7 -1
  192. package/ts/types/Interface/api/terminationList/CreateTerminationList.ts +2 -2
  193. package/ts/types/Interface/models/IPaymentRecovery.ts +0 -3
  194. package/ts/types/index.ts +4 -0
  195. package/ts/utils/brands.ts +1 -0
  196. package/ts/utils/checklist.ts +0 -4
  197. package/ts/utils/commercialManagement/recovery.ts +5 -0
  198. package/ts/utils/documents.ts +1 -4
  199. package/ts/utils/payment.ts +9 -1
  200. package/ts/utils/vat/3310/century23.ts +1 -1
  201. package/ts/utils/vat/3310/century24.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"brands.js","sourceRoot":"","sources":["../../../ts/utils/brands.ts"],"names":[],"mappings":"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","sourcesContent":["import { get as getLodash } from 'lodash';\nimport { BrandClementine } from '../types/Enum/BrandClementine';\nimport { BrandLegalstart } from '../types/Enum/BrandLegalstart';\nimport { BrandComptalib } from '../types/Enum/BrandComptalib';\nimport { BrandPourcentage } from '../types/Enum/BrandPourcentage';\nimport { BrandStatutsExpress } from '../types/Enum/BrandStatutsExpress';\nimport { BrandAnytime } from '../types/Enum/BrandAnytime';\nimport { SaleContract } from '..';\n\nexport type Brand = {\n idTypeBrand: number,\n name: string;\n commercialName?: string;\n urlS3?: string;\n logoS3?: string;\n lightLogoS3?: string;\n privacyPolicy?: string;\n recaptcha?: { secretKey: string; };\n urlApi1?: string;\n urlClient?: string;\n urlApp?: string;\n colors: {\n primary: string,\n primary50?: string;\n primary100?: string;\n primary300?: string;\n primary500?: string;\n primary700?: string;\n footerColor?: string;\n sendContract?: string;\n },\n listMails?: {\n administratif?: string;\n app?: string;\n bonjour?: string;\n contact: string;\n facturation?: string;\n feedback?: string;\n gestion?: string;\n juridique?: string;\n informatique?: string;\n msd?: string;\n noreply?: string;\n qualite?: string;\n paiement?: string;\n rh?: string;\n social?: string;\n support?: string;\n tva?: string;\n wb?: string;\n recovery?: string;\n },\n listPhones?: {\n contact: string;\n qualite: string;\n social?: string;\n juridique: string;\n },\n companyInformation?: {\n ape: string;\n bp: string;\n city: string;\n montantCapital: string;\n nomRaisonSociale: string;\n ECName?: string;\n ECOrderCity: string;\n ECDepartment?: string,\n ECPosition?: string;\n phone: string;\n postalAddress: string;\n rcs: string;\n statut: string;\n zipCode: string;\n };\n recaptchaSecretKey?: string;\n idPrestationsListHidden?: number[];\n idPrestationsListAuthorized?: number[];\n logoUrl?: string;\n miniLogoUrl?: string;\n hiddenPages?: [],\n urlApi2?: string;\n urlExpert?: string;\n bank?: {\n IBAN: string;\n BIC: string;\n Name: string;\n Id: string;\n codeEtablissement?: string;\n codeGuichet?: string;\n numeroCompte?: string;\n cleRib?: string;\n },\n internalInvoicing?: {\n lastUsedNumber?: number;\n statut: string;\n name: string;\n address: string;\n zipCode: string;\n city: string;\n country: string;\n montantCapital: string;\n siret: string;\n ape: string;\n rcs: string;\n phone: string;\n vatIntracom: string;\n email: string;\n },\n webmail?: {\n domains: string[];\n },\n offices?: {\n LAXOU?: {\n id: number,\n name: string;\n },\n PARIS?: {\n id: number,\n name: string;\n },\n MARSEILLE?: {\n id: number,\n name: string;\n },\n EPINAL?: {\n id: number,\n name: string;\n },\n HOME_OFFICE?: {\n id: number,\n name: string;\n },\n NICE?: {\n id: number,\n name: string;\n },\n },\n salesContractConfig?: SaleContract[],\n};\n\nconst allBrands = ['Legalstart', 'Comptalib', 'Clementine', 'Pourcentage', 'StatutsExpress', 'Anytime'] as const;\ntype BrandList = typeof allBrands[number];\n\nconst listEnvEnum: { \n BrandClementine: Brand[];\n BrandLegalstart: Brand[];\n BrandComptalib: Brand[];\n BrandPourcentage: Brand[];\n BrandStatutsExpress: Brand[];\n BrandAnytime: Brand[];\n} = {\n BrandClementine,\n BrandLegalstart,\n BrandComptalib,\n BrandPourcentage,\n BrandStatutsExpress,\n BrandAnytime,\n};\n\ntype GetBrandConfigParam = {\n idTypeBrand?: number,\n objectWaited?: string,\n nodeEnv?: string\n};\n\ntype GetBrandParam = {\n idTypeBrand?: number,\n nodeEnv?: string\n};\n\nconst getBrandNameByNodeEnv = (nodeEnv?: string): BrandList => {\n const env = nodeEnv ?? process.env.NODE_ENV ?? process.env.API_HOST;\n if (env) {\n if (env.indexOf('legalstart') > -1 || env.indexOf('Legalstart') > -1 || env.indexOf('ComptaStart') > -1 || env.indexOf('comptaStart') > -1 || env.indexOf('Comptastart') > -1 || env.indexOf('comptastart') > -1) {\n return 'Legalstart';\n }\n if (env.indexOf('comptalib') > -1 || env.indexOf('Comptalib') > -1) {\n return 'Comptalib';\n }\n if (env.indexOf('pourcentage') > -1 || env.indexOf('Pourcentage') > -1) {\n return 'Pourcentage';\n }\n if (env.indexOf('statuts') > -1 || env.indexOf('Statuts') > -1) {\n return 'StatutsExpress';\n }\n\n if (env.indexOf('anytime') > -1 || env.indexOf('Anytime') > -1) {\n return 'Anytime';\n }\n }\n return 'Clementine';\n};\n\nconst isItThisEnv = (brandList: BrandList, nodeEnv?: string): boolean => {\n const env = nodeEnv ?? process.env.NODE_ENV ?? process.env.API_HOST;\n return getBrandNameByNodeEnv(env) === brandList;\n};\n\nconst getAllBrandByNodeEnv = (nodeEnv?: string): Array<Brand> => {\n const nodeEnvUsed = nodeEnv ?? process.env.NODE_ENV;\n const currentEnvName = getBrandNameByNodeEnv(nodeEnvUsed);\n\n // @ts-ignore\n const currentConfigFile:brand[] = listEnvEnum[`Brand${currentEnvName}`];\n\n const brand = currentConfigFile;\n\n return brand;\n};\n\n\nfunction getBrand(params?: GetBrandParam): Brand {\n\n let brand: Brand | undefined;\n\n const { nodeEnv, idTypeBrand } = params ?? {};\n const nodeEnvUsed = nodeEnv ?? process.env.NODE_ENV;\n\n const currentEnvName = getBrandNameByNodeEnv(nodeEnvUsed);\n\n const currentConfigFile: Brand[] = listEnvEnum[`Brand${currentEnvName}`];\n\n if (idTypeBrand) {\n brand = currentConfigFile.find((b: Brand) => b.idTypeBrand === idTypeBrand);\n }\n\n if (!brand) {\n // Si aucune brand trouvée, on passe par défaut la première brand de la liste\n [brand] = currentConfigFile.sort((a: Brand, b: Brand) => a.idTypeBrand - b.idTypeBrand);\n }\n\n return brand;\n}\n\n/**\n * @deprecated use getBrand()\n */\nconst getBrandConfig = (params: GetBrandConfigParam): Brand => {\n \n const {\n idTypeBrand = null, objectWaited = null, nodeEnv,\n } = params;\n let brand;\n\n const nodeEnvUsed = nodeEnv ?? process.env.NODE_ENV;\n const currentEnvName = getBrandNameByNodeEnv(nodeEnvUsed);\n \n // @ts-ignore\n const currentConfigFile:brand[] = listEnvEnum[`Brand${currentEnvName}`];\n\n if (idTypeBrand) {\n // Récupération de la brand via idTypeBrand\n brand = currentConfigFile.find((b: Brand) => b.idTypeBrand === idTypeBrand);\n }\n // else if (idSociety) {\n // Récupération de la brand via l'idSociety -> impossible directement depuis le core (pas d'accès au resources, ni au token pour l'appel via fetch)\n\n if (!brand) {\n // Si aucune brand trouvée, on passe par défaut la première brand de la liste\n [brand] = currentConfigFile.sort((a: Brand, b: Brand) => a.idTypeBrand - b.idTypeBrand);\n }\n\n if (objectWaited) {\n // Si on attend un attribut particulier de la brand, on le parcourt\n let objectToReturn = getLodash(brand, objectWaited);\n // Si aucun attribut trouvé, on renvoit celui de Clementine par défaut\n if (!objectToReturn) {\n const brandDefault = currentConfigFile.find((b: Brand) => b.name === currentEnvName);\n objectToReturn = getLodash(brandDefault, objectWaited);\n }\n return objectToReturn;\n }\n\n return brand;\n};\n\nconst getBrandByEmail = (email: string): 'Legalstart' | 'Comptalib' | 'Clementine' | 'Pourcentage' | 'Lecomptablefrancais' | 'Statuts' | null => {\n if (email.indexOf('legalstart.fr') > -1 || email.indexOf('comptastartbyclementine.fr') > -1) return 'Legalstart';\n if (email.indexOf('statuts-express.fr') > -1) return 'Statuts';\n if (email.indexOf('comptalib.com') > -1) return 'Comptalib';\n if (email.indexOf('pourcentage.fr') > -1) return 'Pourcentage';\n if (email.indexOf('compta-clementine.fr') > -1) return 'Clementine';\n if (email.indexOf('clementine.fr') > -1) return 'Clementine';\n if (email.indexOf('lecomptablefrancais.fr') > -1) return 'Lecomptablefrancais';\n return null;\n};\n\nconst getSubBrandList = (nodeEnv?: string): Array<object> => {\n const nodeEnvUsed = nodeEnv ?? process.env.NODE_ENV;\n const currentEnvName = getBrandNameByNodeEnv(nodeEnvUsed);\n\n // @ts-ignore\n const currentConfigFile: brand[] = listEnvEnum[`Brand${currentEnvName}`];\n\n return currentConfigFile;\n};\n\nexport {\n getBrandConfig, isItThisEnv, getAllBrandByNodeEnv, getBrandNameByNodeEnv, getBrandByEmail, getSubBrandList, getBrand,\n};"]}
1
+ {"version":3,"file":"brands.js","sourceRoot":"","sources":["../../../ts/utils/brands.ts"],"names":[],"mappings":"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","sourcesContent":["import { get as getLodash } from 'lodash';\nimport { BrandClementine } from '../types/Enum/BrandClementine';\nimport { BrandLegalstart } from '../types/Enum/BrandLegalstart';\nimport { BrandComptalib } from '../types/Enum/BrandComptalib';\nimport { BrandPourcentage } from '../types/Enum/BrandPourcentage';\nimport { BrandStatutsExpress } from '../types/Enum/BrandStatutsExpress';\nimport { BrandAnytime } from '../types/Enum/BrandAnytime';\nimport { SaleContract } from '..';\n\nexport type Brand = {\n idTypeBrand: number,\n name: string;\n commercialName?: string;\n urlS3?: string;\n logoS3?: string;\n lightLogoS3?: string;\n privacyPolicy?: string;\n recaptcha?: { secretKey: string; };\n urlApi1?: string;\n urlClient?: string;\n urlApp?: string;\n colors: {\n primary: string,\n primary50?: string;\n primary100?: string;\n primary300?: string;\n primary500?: string;\n primary700?: string;\n footerColor?: string;\n sendContract?: string;\n },\n listMails?: {\n administratif?: string;\n app?: string;\n bonjour?: string;\n contact: string;\n facturation?: string;\n feedback?: string;\n gestion?: string;\n juridique?: string;\n informatique?: string;\n msd?: string;\n noreply?: string;\n qualite?: string;\n paiement?: string;\n rh?: string;\n social?: string;\n support?: string;\n tva?: string;\n wb?: string;\n recovery?: string;\n },\n listPhones?: {\n contact: string;\n qualite: string;\n social?: string;\n juridique: string;\n },\n companyInformation?: {\n ape: string;\n bp: string;\n city: string;\n montantCapital: string;\n nomRaisonSociale: string;\n ECName?: string;\n ECOrderCity: string;\n ECDepartment?: string,\n ECPosition?: string;\n phone: string;\n postalAddress: string;\n rcs: string;\n statut: string;\n zipCode: string;\n };\n recaptchaSecretKey?: string;\n idPrestationsListHidden?: number[];\n idPrestationsListAuthorized?: number[];\n logoUrl?: string;\n miniLogoUrl?: string;\n hiddenPages?: [],\n urlApi2?: string;\n urlExpert?: string;\n bank?: {\n IBAN: string;\n BIC: string;\n Name: string;\n Id: string;\n codeEtablissement?: string;\n codeGuichet?: string;\n numeroCompte?: string;\n cleRib?: string;\n ribIdFile?: number;\n },\n internalInvoicing?: {\n lastUsedNumber?: number;\n statut: string;\n name: string;\n address: string;\n zipCode: string;\n city: string;\n country: string;\n montantCapital: string;\n siret: string;\n ape: string;\n rcs: string;\n phone: string;\n vatIntracom: string;\n email: string;\n },\n webmail?: {\n domains: string[];\n },\n offices?: {\n LAXOU?: {\n id: number,\n name: string;\n },\n PARIS?: {\n id: number,\n name: string;\n },\n MARSEILLE?: {\n id: number,\n name: string;\n },\n EPINAL?: {\n id: number,\n name: string;\n },\n HOME_OFFICE?: {\n id: number,\n name: string;\n },\n NICE?: {\n id: number,\n name: string;\n },\n },\n salesContractConfig?: SaleContract[],\n};\n\nconst allBrands = ['Legalstart', 'Comptalib', 'Clementine', 'Pourcentage', 'StatutsExpress', 'Anytime'] as const;\ntype BrandList = typeof allBrands[number];\n\nconst listEnvEnum: { \n BrandClementine: Brand[];\n BrandLegalstart: Brand[];\n BrandComptalib: Brand[];\n BrandPourcentage: Brand[];\n BrandStatutsExpress: Brand[];\n BrandAnytime: Brand[];\n} = {\n BrandClementine,\n BrandLegalstart,\n BrandComptalib,\n BrandPourcentage,\n BrandStatutsExpress,\n BrandAnytime,\n};\n\ntype GetBrandConfigParam = {\n idTypeBrand?: number,\n objectWaited?: string,\n nodeEnv?: string\n};\n\ntype GetBrandParam = {\n idTypeBrand?: number,\n nodeEnv?: string\n};\n\nconst getBrandNameByNodeEnv = (nodeEnv?: string): BrandList => {\n const env = nodeEnv ?? process.env.NODE_ENV ?? process.env.API_HOST;\n if (env) {\n if (env.indexOf('legalstart') > -1 || env.indexOf('Legalstart') > -1 || env.indexOf('ComptaStart') > -1 || env.indexOf('comptaStart') > -1 || env.indexOf('Comptastart') > -1 || env.indexOf('comptastart') > -1) {\n return 'Legalstart';\n }\n if (env.indexOf('comptalib') > -1 || env.indexOf('Comptalib') > -1) {\n return 'Comptalib';\n }\n if (env.indexOf('pourcentage') > -1 || env.indexOf('Pourcentage') > -1) {\n return 'Pourcentage';\n }\n if (env.indexOf('statuts') > -1 || env.indexOf('Statuts') > -1) {\n return 'StatutsExpress';\n }\n\n if (env.indexOf('anytime') > -1 || env.indexOf('Anytime') > -1) {\n return 'Anytime';\n }\n }\n return 'Clementine';\n};\n\nconst isItThisEnv = (brandList: BrandList, nodeEnv?: string): boolean => {\n const env = nodeEnv ?? process.env.NODE_ENV ?? process.env.API_HOST;\n return getBrandNameByNodeEnv(env) === brandList;\n};\n\nconst getAllBrandByNodeEnv = (nodeEnv?: string): Array<Brand> => {\n const nodeEnvUsed = nodeEnv ?? process.env.NODE_ENV;\n const currentEnvName = getBrandNameByNodeEnv(nodeEnvUsed);\n\n // @ts-ignore\n const currentConfigFile:brand[] = listEnvEnum[`Brand${currentEnvName}`];\n\n const brand = currentConfigFile;\n\n return brand;\n};\n\n\nfunction getBrand(params?: GetBrandParam): Brand {\n\n let brand: Brand | undefined;\n\n const { nodeEnv, idTypeBrand } = params ?? {};\n const nodeEnvUsed = nodeEnv ?? process.env.NODE_ENV;\n\n const currentEnvName = getBrandNameByNodeEnv(nodeEnvUsed);\n\n const currentConfigFile: Brand[] = listEnvEnum[`Brand${currentEnvName}`];\n\n if (idTypeBrand) {\n brand = currentConfigFile.find((b: Brand) => b.idTypeBrand === idTypeBrand);\n }\n\n if (!brand) {\n // Si aucune brand trouvée, on passe par défaut la première brand de la liste\n [brand] = currentConfigFile.sort((a: Brand, b: Brand) => a.idTypeBrand - b.idTypeBrand);\n }\n\n return brand;\n}\n\n/**\n * @deprecated use getBrand()\n */\nconst getBrandConfig = (params: GetBrandConfigParam): Brand => {\n \n const {\n idTypeBrand = null, objectWaited = null, nodeEnv,\n } = params;\n let brand;\n\n const nodeEnvUsed = nodeEnv ?? process.env.NODE_ENV;\n const currentEnvName = getBrandNameByNodeEnv(nodeEnvUsed);\n \n // @ts-ignore\n const currentConfigFile:brand[] = listEnvEnum[`Brand${currentEnvName}`];\n\n if (idTypeBrand) {\n // Récupération de la brand via idTypeBrand\n brand = currentConfigFile.find((b: Brand) => b.idTypeBrand === idTypeBrand);\n }\n // else if (idSociety) {\n // Récupération de la brand via l'idSociety -> impossible directement depuis le core (pas d'accès au resources, ni au token pour l'appel via fetch)\n\n if (!brand) {\n // Si aucune brand trouvée, on passe par défaut la première brand de la liste\n [brand] = currentConfigFile.sort((a: Brand, b: Brand) => a.idTypeBrand - b.idTypeBrand);\n }\n\n if (objectWaited) {\n // Si on attend un attribut particulier de la brand, on le parcourt\n let objectToReturn = getLodash(brand, objectWaited);\n // Si aucun attribut trouvé, on renvoit celui de Clementine par défaut\n if (!objectToReturn) {\n const brandDefault = currentConfigFile.find((b: Brand) => b.name === currentEnvName);\n objectToReturn = getLodash(brandDefault, objectWaited);\n }\n return objectToReturn;\n }\n\n return brand;\n};\n\nconst getBrandByEmail = (email: string): 'Legalstart' | 'Comptalib' | 'Clementine' | 'Pourcentage' | 'Lecomptablefrancais' | 'Statuts' | null => {\n if (email.indexOf('legalstart.fr') > -1 || email.indexOf('comptastartbyclementine.fr') > -1) return 'Legalstart';\n if (email.indexOf('statuts-express.fr') > -1) return 'Statuts';\n if (email.indexOf('comptalib.com') > -1) return 'Comptalib';\n if (email.indexOf('pourcentage.fr') > -1) return 'Pourcentage';\n if (email.indexOf('compta-clementine.fr') > -1) return 'Clementine';\n if (email.indexOf('clementine.fr') > -1) return 'Clementine';\n if (email.indexOf('lecomptablefrancais.fr') > -1) return 'Lecomptablefrancais';\n return null;\n};\n\nconst getSubBrandList = (nodeEnv?: string): Array<object> => {\n const nodeEnvUsed = nodeEnv ?? process.env.NODE_ENV;\n const currentEnvName = getBrandNameByNodeEnv(nodeEnvUsed);\n\n // @ts-ignore\n const currentConfigFile: brand[] = listEnvEnum[`Brand${currentEnvName}`];\n\n return currentConfigFile;\n};\n\nexport {\n getBrandConfig, isItThisEnv, getAllBrandByNodeEnv, getBrandNameByNodeEnv, getBrandByEmail, getSubBrandList, getBrand,\n};"]}
@@ -1 +1 @@
1
- {"version":3,"file":"checklist.d.ts","sourceRoot":"","sources":["../../../ts/utils/checklist.ts"],"names":[],"mappings":"AAAA,OAAO,EACwD,UAAU,EAAE,cAAc,EAAE,yBAAyB,EACnH,MAAM,UAAU,CAAC;AAElB,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,yBAAyB,GAAG,cAAc,EAAE,CA0C7G"}
1
+ {"version":3,"file":"checklist.d.ts","sourceRoot":"","sources":["../../../ts/utils/checklist.ts"],"names":[],"mappings":"AAAA,OAAO,EACwD,UAAU,EAAE,cAAc,EAAE,yBAAyB,EACnH,MAAM,UAAU,CAAC;AAElB,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,yBAAyB,GAAG,cAAc,EAAE,CAsC7G"}
@@ -8,10 +8,6 @@ function getAllBlockingIssues(checklist, meta) {
8
8
  const blockingIssues = [];
9
9
  blockingQuestions.forEach((question) => {
10
10
  const answer = answers.find((a) => a.idTypeChecklist === question.id);
11
- if (question.id === 51) {
12
- console.log(question);
13
- console.log(answer);
14
- }
15
11
  if (!answer) {
16
12
  blockingIssues.push(question);
17
13
  }
@@ -1 +1 @@
1
- {"version":3,"file":"checklist.js","sourceRoot":"","sources":["../../../ts/utils/checklist.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n ChecklistDetailName, ChecklistDetailType, ChecklistTypeEnum, IChecklist, IChecklistType, QueryGetAllBlockingIssues,\n} from '../types';\n\nexport function getAllBlockingIssues(checklist: IChecklist, meta: QueryGetAllBlockingIssues): IChecklistType[] {\n const { questionsList, answers } = meta;\n\n const blockingQuestions = questionsList.filter((q) => (checklist.type === ChecklistTypeEnum.REINFORCED ? q.isBlockingReinforced : checklist.type === ChecklistTypeEnum.DEFAULT ? q.isBlockingSimple : false));\n const blockingIssues: IChecklistType[] = [];\n\n blockingQuestions.forEach((question) => {\n const answer = answers.find((a) => a.idTypeChecklist === question.id);\n if (question.id === 51) {\n console.log(question);\n console.log(answer);\n }\n\n if (!answer) {\n blockingIssues.push(question);\n } else if (question.name === ChecklistDetailName.ACTION_TAKEN) {\n // Comptes bancaires actifs synchronisés ?\n const questionForAreAllBankAccountsSynchronized = questionsList.find((q) => q.name === ChecklistDetailName.ARE_ALL_BANK_ACCOUNTS_SYNCHRONIZED);\n const answerForAreAllBankAccountsSynchronized = answers.find((a) => a.idTypeChecklist && a.idTypeChecklist === questionForAreAllBankAccountsSynchronized?.id);\n\n // Applicatin annotée à 80/100% ?\n const questionForAnnoted = questionsList.find((q) => q.name === (checklist.type === ChecklistTypeEnum.REINFORCED ? ChecklistDetailName.FULLY_ANNOTED : ChecklistDetailName.ALMOST_ANNOTED));\n const answerForAnnoted = answers.find((a) => a.idTypeChecklist && a.idTypeChecklist === questionForAnnoted?.id);\n\n if ((!answerForAnnoted?.value || answerForAnnoted.value === '0' || !answerForAreAllBankAccountsSynchronized?.value || answerForAreAllBankAccountsSynchronized.value === '0') && (answer.value === '2' || answer.value === '0' || !answer.value || answer.value === '')) {\n blockingIssues.push(question);\n }\n } else if (question.name === ChecklistDetailName.HAS_JUSTIFIED_CONTRIBUTIONS) {\n const questionForComment = questionsList.find((q) => q.name === ChecklistDetailName.COMMENTS);\n const comment = answers.find((a) => a.idTypeChecklist && a.idTypeChecklist === questionForComment?.id);\n\n if (!answer.value || answer.value === '0' || (answer.value === '1' && (!comment?.value || comment?.value === ''))) {\n blockingIssues.push(question);\n }\n } else if ([ChecklistDetailType.SELECT as string, ChecklistDetailType.SWITCH].includes(question.type) && question.name !== ChecklistDetailName.HAS_POLICE) {\n if ((!answer.value && (question.name !== ChecklistDetailName.IS_WAITING_ACCOUNT_RESET && question.name !== ChecklistDetailName.HAS_CLEARED_INTERNAL_TRANSFER)) || answer.value === '0') {\n blockingIssues.push(question);\n }\n }\n });\n\n return blockingIssues;\n}\n"]}
1
+ {"version":3,"file":"checklist.js","sourceRoot":"","sources":["../../../ts/utils/checklist.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n ChecklistDetailName, ChecklistDetailType, ChecklistTypeEnum, IChecklist, IChecklistType, QueryGetAllBlockingIssues,\n} from '../types';\n\nexport function getAllBlockingIssues(checklist: IChecklist, meta: QueryGetAllBlockingIssues): IChecklistType[] {\n const { questionsList, answers } = meta;\n\n const blockingQuestions = questionsList.filter((q) => (checklist.type === ChecklistTypeEnum.REINFORCED ? q.isBlockingReinforced : checklist.type === ChecklistTypeEnum.DEFAULT ? q.isBlockingSimple : false));\n const blockingIssues: IChecklistType[] = [];\n\n blockingQuestions.forEach((question) => {\n const answer = answers.find((a) => a.idTypeChecklist === question.id);\n\n if (!answer) {\n blockingIssues.push(question);\n } else if (question.name === ChecklistDetailName.ACTION_TAKEN) {\n // Comptes bancaires actifs synchronisés ?\n const questionForAreAllBankAccountsSynchronized = questionsList.find((q) => q.name === ChecklistDetailName.ARE_ALL_BANK_ACCOUNTS_SYNCHRONIZED);\n const answerForAreAllBankAccountsSynchronized = answers.find((a) => a.idTypeChecklist && a.idTypeChecklist === questionForAreAllBankAccountsSynchronized?.id);\n\n // Applicatin annotée à 80/100% ?\n const questionForAnnoted = questionsList.find((q) => q.name === (checklist.type === ChecklistTypeEnum.REINFORCED ? ChecklistDetailName.FULLY_ANNOTED : ChecklistDetailName.ALMOST_ANNOTED));\n const answerForAnnoted = answers.find((a) => a.idTypeChecklist && a.idTypeChecklist === questionForAnnoted?.id);\n\n if ((!answerForAnnoted?.value || answerForAnnoted.value === '0' || !answerForAreAllBankAccountsSynchronized?.value || answerForAreAllBankAccountsSynchronized.value === '0') && (answer.value === '2' || answer.value === '0' || !answer.value || answer.value === '')) {\n blockingIssues.push(question);\n }\n } else if (question.name === ChecklistDetailName.HAS_JUSTIFIED_CONTRIBUTIONS) {\n const questionForComment = questionsList.find((q) => q.name === ChecklistDetailName.COMMENTS);\n const comment = answers.find((a) => a.idTypeChecklist && a.idTypeChecklist === questionForComment?.id);\n\n if (!answer.value || answer.value === '0' || (answer.value === '1' && (!comment?.value || comment?.value === ''))) {\n blockingIssues.push(question);\n }\n } else if ([ChecklistDetailType.SELECT as string, ChecklistDetailType.SWITCH].includes(question.type) && question.name !== ChecklistDetailName.HAS_POLICE) {\n if ((!answer.value && (question.name !== ChecklistDetailName.IS_WAITING_ACCOUNT_RESET && question.name !== ChecklistDetailName.HAS_CLEARED_INTERNAL_TRANSFER)) || answer.value === '0') {\n blockingIssues.push(question);\n }\n }\n });\n\n return blockingIssues;\n}\n"]}
@@ -5,6 +5,11 @@ export declare const CAARL_MINIMUM_AMOUNT_FOR_REDUCED_FEES = 5000;
5
5
  export declare const CAARL_WAITING_STATUS: PaymentRecoveryStatus[];
6
6
  export declare const CAARL_RECOVERED_STATUS: PaymentRecoveryStatus[];
7
7
  export declare const CAARL_NOT_RECOVERED_STATUS: PaymentRecoveryStatus[];
8
+ /**
9
+ *
10
+ * @param amount amount x 100
11
+ * @returns
12
+ */
8
13
  export declare function getRecoveryFeesFromAmountTotalTaxIncluded(amount: number): number;
9
14
  export declare function getCaarlStatusGroup(status: PaymentRecoveryStatus): PaymentRecoveryTag;
10
15
  //# sourceMappingURL=recovery.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"recovery.d.ts","sourceRoot":"","sources":["../../../../ts/utils/commercialManagement/recovery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAO,MAAM,aAAa,CAAC;AAE7E,eAAO,MAAM,6BAA6B,KAAK,CAAC;AAChD,eAAO,MAAM,qCAAqC,KAAK,CAAC;AACxD,eAAO,MAAM,qCAAqC,OAAO,CAAC;AAE1D,eAAO,MAAM,oBAAoB,EAAE,qBAAqB,EAQvD,CAAC;AACF,eAAO,MAAM,sBAAsB,EAAE,qBAAqB,EAAkC,CAAC;AAC7F,eAAO,MAAM,0BAA0B,EAAE,qBAAqB,EAAmC,CAAC;AAElG,wBAAgB,yCAAyC,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAQhF;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,qBAAqB,GAAG,kBAAkB,CAKrF"}
1
+ {"version":3,"file":"recovery.d.ts","sourceRoot":"","sources":["../../../../ts/utils/commercialManagement/recovery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAO,MAAM,aAAa,CAAC;AAE7E,eAAO,MAAM,6BAA6B,KAAK,CAAC;AAChD,eAAO,MAAM,qCAAqC,KAAK,CAAC;AACxD,eAAO,MAAM,qCAAqC,OAAO,CAAC;AAE1D,eAAO,MAAM,oBAAoB,EAAE,qBAAqB,EAQvD,CAAC;AACF,eAAO,MAAM,sBAAsB,EAAE,qBAAqB,EAAkC,CAAC;AAC7F,eAAO,MAAM,0BAA0B,EAAE,qBAAqB,EAAmC,CAAC;AAElG;;;;GAIG;AACH,wBAAgB,yCAAyC,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAQhF;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,qBAAqB,GAAG,kBAAkB,CAKrF"}
@@ -18,6 +18,11 @@ exports.CAARL_WAITING_STATUS = [
18
18
  ];
19
19
  exports.CAARL_RECOVERED_STATUS = [types_1.PaymentRecoveryStatus.PAYED];
20
20
  exports.CAARL_NOT_RECOVERED_STATUS = [types_1.PaymentRecoveryStatus.CLOSED];
21
+ /**
22
+ *
23
+ * @param amount amount x 100
24
+ * @returns
25
+ */
21
26
  function getRecoveryFeesFromAmountTotalTaxIncluded(amount) {
22
27
  const rate = amount >= exports.CAARL_MINIMUM_AMOUNT_FOR_REDUCED_FEES ? exports.CARL_RECOVERY_REDUCED_FEES_PERCENTAGE : exports.CARL_RECOVERY_FEES_PERCENTAGE;
23
28
  const feesTaxExcluded = amount * (rate / 100);
@@ -1 +1 @@
1
- {"version":3,"file":"recovery.js","sourceRoot":"","sources":["../../../../ts/utils/commercialManagement/recovery.ts"],"names":[],"mappings":";;;AAkBA,8FAQC;AAED,kDAKC;AAjCD,uCAA6E;AAEhE,QAAA,6BAA6B,GAAG,EAAE,CAAC;AACnC,QAAA,qCAAqC,GAAG,EAAE,CAAC;AAC3C,QAAA,qCAAqC,GAAG,IAAI,CAAC;AAE7C,QAAA,oBAAoB,GAA4B;IAC3D,6BAAqB,CAAC,MAAM;IAC5B,6BAAqB,CAAC,gBAAgB;IACtC,6BAAqB,CAAC,mBAAmB;IACzC,6BAAqB,CAAC,aAAa;IACnC,6BAAqB,CAAC,mBAAmB;IACzC,6BAAqB,CAAC,EAAE;IACxB,6BAAqB,CAAC,EAAE;CACzB,CAAC;AACW,QAAA,sBAAsB,GAA4B,CAAC,6BAAqB,CAAC,KAAK,CAAC,CAAC;AAChF,QAAA,0BAA0B,GAA4B,CAAC,6BAAqB,CAAC,MAAM,CAAC,CAAC;AAElG,SAAgB,yCAAyC,CAAC,MAAc;IAEtE,MAAM,IAAI,GAAG,MAAM,IAAI,6CAAqC,CAAC,CAAC,CAAC,6CAAqC,CAAC,CAAC,CAAC,qCAA6B,CAAC;IAErI,MAAM,eAAe,GAAG,MAAM,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC;IAC9C,MAAM,OAAO,GAAG,eAAe,GAAG,CAAC,WAAG,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC;IAE1D,OAAO,eAAe,GAAG,OAAO,CAAC;AACnC,CAAC;AAED,SAAgB,mBAAmB,CAAC,MAA6B;IAC/D,IAAI,4BAAoB,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAAC,OAAO,0BAAkB,CAAC,OAAO,CAAC;IAAC,CAAC;IACjF,IAAI,8BAAsB,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAAC,OAAO,0BAAkB,CAAC,SAAS,CAAC;IAAC,CAAC;IACrF,IAAI,kCAA0B,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAAC,OAAO,0BAAkB,CAAC,aAAa,CAAC;IAAC,CAAC;IAC7F,OAAO,0BAAkB,CAAC,OAAO,CAAC;AACpC,CAAC","sourcesContent":["import { PaymentRecoveryStatus, PaymentRecoveryTag, Vat } from '../../types';\n\nexport const CARL_RECOVERY_FEES_PERCENTAGE = 15;\nexport const CARL_RECOVERY_REDUCED_FEES_PERCENTAGE = 10;\nexport const CAARL_MINIMUM_AMOUNT_FOR_REDUCED_FEES = 5000;\n\nexport const CAARL_WAITING_STATUS: PaymentRecoveryStatus[] = [\n PaymentRecoveryStatus.OPENED,\n PaymentRecoveryStatus.SENT_TO_AMICABLE,\n PaymentRecoveryStatus.AMICABLE_SETTLEMENT,\n PaymentRecoveryStatus.SENT_TO_COURT,\n PaymentRecoveryStatus.JUDICIARY_PROCEDURE,\n PaymentRecoveryStatus.RJ,\n PaymentRecoveryStatus.LJ,\n];\nexport const CAARL_RECOVERED_STATUS: PaymentRecoveryStatus[] = [PaymentRecoveryStatus.PAYED];\nexport const CAARL_NOT_RECOVERED_STATUS: PaymentRecoveryStatus[] = [PaymentRecoveryStatus.CLOSED];\n\nexport function getRecoveryFeesFromAmountTotalTaxIncluded(amount: number): number {\n\n const rate = amount >= CAARL_MINIMUM_AMOUNT_FOR_REDUCED_FEES ? CARL_RECOVERY_REDUCED_FEES_PERCENTAGE : CARL_RECOVERY_FEES_PERCENTAGE;\n\n const feesTaxExcluded = amount * (rate / 100);\n const feesTax = feesTaxExcluded * (Vat.TX_20.value / 100);\n\n return feesTaxExcluded + feesTax;\n}\n\nexport function getCaarlStatusGroup(status: PaymentRecoveryStatus): PaymentRecoveryTag {\n if (CAARL_WAITING_STATUS.includes(status)) { return PaymentRecoveryTag.WAITING; }\n if (CAARL_RECOVERED_STATUS.includes(status)) { return PaymentRecoveryTag.RECOVERED; }\n if (CAARL_NOT_RECOVERED_STATUS.includes(status)) { return PaymentRecoveryTag.NOT_RECOVERED; }\n return PaymentRecoveryTag.WAITING;\n}"]}
1
+ {"version":3,"file":"recovery.js","sourceRoot":"","sources":["../../../../ts/utils/commercialManagement/recovery.ts"],"names":[],"mappings":";;;AAuBA,8FAQC;AAED,kDAKC;AAtCD,uCAA6E;AAEhE,QAAA,6BAA6B,GAAG,EAAE,CAAC;AACnC,QAAA,qCAAqC,GAAG,EAAE,CAAC;AAC3C,QAAA,qCAAqC,GAAG,IAAI,CAAC;AAE7C,QAAA,oBAAoB,GAA4B;IAC3D,6BAAqB,CAAC,MAAM;IAC5B,6BAAqB,CAAC,gBAAgB;IACtC,6BAAqB,CAAC,mBAAmB;IACzC,6BAAqB,CAAC,aAAa;IACnC,6BAAqB,CAAC,mBAAmB;IACzC,6BAAqB,CAAC,EAAE;IACxB,6BAAqB,CAAC,EAAE;CACzB,CAAC;AACW,QAAA,sBAAsB,GAA4B,CAAC,6BAAqB,CAAC,KAAK,CAAC,CAAC;AAChF,QAAA,0BAA0B,GAA4B,CAAC,6BAAqB,CAAC,MAAM,CAAC,CAAC;AAElG;;;;GAIG;AACH,SAAgB,yCAAyC,CAAC,MAAc;IAEtE,MAAM,IAAI,GAAG,MAAM,IAAI,6CAAqC,CAAC,CAAC,CAAC,6CAAqC,CAAC,CAAC,CAAC,qCAA6B,CAAC;IAErI,MAAM,eAAe,GAAG,MAAM,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC;IAC9C,MAAM,OAAO,GAAG,eAAe,GAAG,CAAC,WAAG,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC;IAE1D,OAAO,eAAe,GAAG,OAAO,CAAC;AACnC,CAAC;AAED,SAAgB,mBAAmB,CAAC,MAA6B;IAC/D,IAAI,4BAAoB,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAAC,OAAO,0BAAkB,CAAC,OAAO,CAAC;IAAC,CAAC;IACjF,IAAI,8BAAsB,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAAC,OAAO,0BAAkB,CAAC,SAAS,CAAC;IAAC,CAAC;IACrF,IAAI,kCAA0B,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAAC,OAAO,0BAAkB,CAAC,aAAa,CAAC;IAAC,CAAC;IAC7F,OAAO,0BAAkB,CAAC,OAAO,CAAC;AACpC,CAAC","sourcesContent":["import { PaymentRecoveryStatus, PaymentRecoveryTag, Vat } from '../../types';\n\nexport const CARL_RECOVERY_FEES_PERCENTAGE = 15;\nexport const CARL_RECOVERY_REDUCED_FEES_PERCENTAGE = 10;\nexport const CAARL_MINIMUM_AMOUNT_FOR_REDUCED_FEES = 5000;\n\nexport const CAARL_WAITING_STATUS: PaymentRecoveryStatus[] = [\n PaymentRecoveryStatus.OPENED,\n PaymentRecoveryStatus.SENT_TO_AMICABLE,\n PaymentRecoveryStatus.AMICABLE_SETTLEMENT,\n PaymentRecoveryStatus.SENT_TO_COURT,\n PaymentRecoveryStatus.JUDICIARY_PROCEDURE,\n PaymentRecoveryStatus.RJ,\n PaymentRecoveryStatus.LJ,\n];\nexport const CAARL_RECOVERED_STATUS: PaymentRecoveryStatus[] = [PaymentRecoveryStatus.PAYED];\nexport const CAARL_NOT_RECOVERED_STATUS: PaymentRecoveryStatus[] = [PaymentRecoveryStatus.CLOSED];\n\n/**\n * \n * @param amount amount x 100\n * @returns \n */\nexport function getRecoveryFeesFromAmountTotalTaxIncluded(amount: number): number {\n\n const rate = amount >= CAARL_MINIMUM_AMOUNT_FOR_REDUCED_FEES ? CARL_RECOVERY_REDUCED_FEES_PERCENTAGE : CARL_RECOVERY_FEES_PERCENTAGE;\n\n const feesTaxExcluded = amount * (rate / 100);\n const feesTax = feesTaxExcluded * (Vat.TX_20.value / 100);\n\n return feesTaxExcluded + feesTax;\n}\n\nexport function getCaarlStatusGroup(status: PaymentRecoveryStatus): PaymentRecoveryTag {\n if (CAARL_WAITING_STATUS.includes(status)) { return PaymentRecoveryTag.WAITING; }\n if (CAARL_RECOVERED_STATUS.includes(status)) { return PaymentRecoveryTag.RECOVERED; }\n if (CAARL_NOT_RECOVERED_STATUS.includes(status)) { return PaymentRecoveryTag.NOT_RECOVERED; }\n return PaymentRecoveryTag.WAITING;\n}"]}
@@ -1 +1 @@
1
- {"version":3,"file":"documents.d.ts","sourceRoot":"","sources":["../../../ts/utils/documents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAIhD,QAAA,MAAM,gBAAgB,WAAY,gBAAgB,KAAG,WAAW,EA2D/D,CAAC;AAEF,OAAO,EACL,gBAAgB,GACjB,CAAC"}
1
+ {"version":3,"file":"documents.d.ts","sourceRoot":"","sources":["../../../ts/utils/documents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAIhD,QAAA,MAAM,gBAAgB,WAAY,gBAAgB,KAAG,WAAW,EAwD/D,CAAC;AAEF,OAAO,EACL,gBAAgB,GACjB,CAAC"}
@@ -35,7 +35,7 @@ const requiredListDocs = (params) => {
35
35
  generique.push(Ged_1.GedFileType.DISTRIBUTION_OF_SHARE);
36
36
  }
37
37
  if ([LegalForm_1.LegalForm.SELARLU.id, LegalForm_1.LegalForm.EURL.id, LegalForm_1.LegalForm.SASU.id, LegalForm_1.LegalForm.SA.id,
38
- LegalForm_1.LegalForm.SAS.id, LegalForm_1.LegalForm.SARL.id, LegalForm_1.LegalForm.SCI.id, LegalForm_1.LegalForm.EARL.id, LegalForm_1.LegalForm.GIE.id].includes(idLegalForm)) {
38
+ LegalForm_1.LegalForm.SAS.id, LegalForm_1.LegalForm.SARL.id, LegalForm_1.LegalForm.SCI.id, LegalForm_1.LegalForm.EARL.id, LegalForm_1.LegalForm.GIE.id, LegalForm_1.LegalForm.SOCIETE_CIVILE.id].includes(idLegalForm)) {
39
39
  return [...generique, Ged_1.GedFileType.KBIS, Ged_1.GedFileType.STATUTES, Ged_1.GedFileType.DBE2, Ged_1.GedFileType.SEPA];
40
40
  }
41
41
  if ([LegalForm_1.LegalForm.SELARL.id].includes(idLegalForm)) {
@@ -50,9 +50,6 @@ const requiredListDocs = (params) => {
50
50
  if ([LegalForm_1.LegalForm.ASSOCIATION.id].includes(idLegalForm)) {
51
51
  return [...generique, Ged_1.GedFileType.RULES_OF_PROCEDURE, Ged_1.GedFileType.REGISTRATION_OF_THE_ASSOCIATION_AT_THE_PREFECTURE, Ged_1.GedFileType.REPRESENTATIVE_OF_THE_ASSOCIATION];
52
52
  }
53
- if ([LegalForm_1.LegalForm.SOCIETE_CIVILE.id].includes(idLegalForm)) {
54
- return [...generique, Ged_1.GedFileType.KBIS, Ged_1.GedFileType.DBE2];
55
- }
56
53
  return generique;
57
54
  };
58
55
  exports.requiredListDocs = requiredListDocs;
@@ -1 +1 @@
1
- {"version":3,"file":"documents.js","sourceRoot":"","sources":["../../../ts/utils/documents.ts"],"names":[],"mappings":"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","sourcesContent":["import { RequiredDocsType } from '../types';\nimport { GedFileType } from '../types/Enum/Ged';\nimport { LegalForm } from '../types/Enum/LegalForm';\nimport * as dayjs from 'dayjs';\n\nconst requiredListDocs = (params: RequiredDocsType): GedFileType[] => {\n const { \n society, oldExpertInfo, isOnlyPrevi, isOnlyJuridic, isOnlySocial, isCreation, goToClient,\n } = params;\n const { dontHaveOldExpert, recoveryDate } = oldExpertInfo || {};\n const { idLegalForm, dateOfRegistration } = society || {};\n\n if (!idLegalForm) return [];\n\n if (isOnlyPrevi) {\n return [GedFileType.IDENTITY_CARD, GedFileType.PLAQUETTE];\n }\n if (isCreation) {\n return [GedFileType.IDENTITY_CARD, GedFileType.PERSONNAL_RIB, GedFileType.PLAQUETTE];\n }\n if (isOnlyJuridic || isOnlySocial) {\n return [GedFileType.RIB, GedFileType.PLAQUETTE];\n }\n\n const generique = [GedFileType.IDENTITY_CARD, GedFileType.RIB, GedFileType.PLAQUETTE];\n\n // Si le client faisait sa compta lui-même\n // et que le goToClient est supérieur à la date de reprise + 4 mois\n // et que la date de reprise est après la date de création de la société\n // alors liasse fiscale N-1 obligatoire !\n if (dontHaveOldExpert && \n recoveryDate && \n dateOfRegistration && \n dayjs(recoveryDate).add(4, 'months').diff(goToClient) < 0\n && dayjs(recoveryDate).isAfter(dateOfRegistration)\n ) {\n generique.push(GedFileType.FISCAL_BUNDLE);\n }\n\n if ([LegalForm.SAS.id, LegalForm.SA.id].includes(idLegalForm)) {\n generique.push(GedFileType.DISTRIBUTION_OF_SHARE);\n }\n\n if ([LegalForm.SELARLU.id, LegalForm.EURL.id, LegalForm.SASU.id, LegalForm.SA.id, \n LegalForm.SAS.id, LegalForm.SARL.id, LegalForm.SCI.id, LegalForm.EARL.id, LegalForm.GIE.id].includes(idLegalForm)) {\n return [...generique, GedFileType.KBIS, GedFileType.STATUTES, GedFileType.DBE2, GedFileType.SEPA];\n }\n if ([LegalForm.SELARL.id].includes(idLegalForm)) {\n return [...generique, GedFileType.KBIS, GedFileType.STATUTES, GedFileType.SEPA];\n }\n if ([LegalForm.EI.id, LegalForm.AUTO_ENTREPRENEUR.id].includes(idLegalForm)) {\n return [...generique, GedFileType.SIRENE, GedFileType.SEPA];\n }\n if ([LegalForm.EIRL.id].includes(idLegalForm)) {\n return [...generique, GedFileType.SIRENE, GedFileType.SEPA, GedFileType.PATRIMONY];\n }\n if ([LegalForm.ASSOCIATION.id].includes(idLegalForm)) {\n return [...generique, GedFileType.RULES_OF_PROCEDURE, GedFileType.REGISTRATION_OF_THE_ASSOCIATION_AT_THE_PREFECTURE, GedFileType.REPRESENTATIVE_OF_THE_ASSOCIATION];\n }\n\n if ([LegalForm.SOCIETE_CIVILE.id].includes(idLegalForm)) {\n return [...generique, GedFileType.KBIS, GedFileType.DBE2];\n }\n return generique;\n};\n\nexport {\n requiredListDocs,\n};"]}
1
+ {"version":3,"file":"documents.js","sourceRoot":"","sources":["../../../ts/utils/documents.ts"],"names":[],"mappings":"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","sourcesContent":["import { RequiredDocsType } from '../types';\nimport { GedFileType } from '../types/Enum/Ged';\nimport { LegalForm } from '../types/Enum/LegalForm';\nimport * as dayjs from 'dayjs';\n\nconst requiredListDocs = (params: RequiredDocsType): GedFileType[] => {\n const { \n society, oldExpertInfo, isOnlyPrevi, isOnlyJuridic, isOnlySocial, isCreation, goToClient,\n } = params;\n const { dontHaveOldExpert, recoveryDate } = oldExpertInfo || {};\n const { idLegalForm, dateOfRegistration } = society || {};\n\n if (!idLegalForm) return [];\n\n if (isOnlyPrevi) {\n return [GedFileType.IDENTITY_CARD, GedFileType.PLAQUETTE];\n }\n if (isCreation) {\n return [GedFileType.IDENTITY_CARD, GedFileType.PERSONNAL_RIB, GedFileType.PLAQUETTE];\n }\n if (isOnlyJuridic || isOnlySocial) {\n return [GedFileType.RIB, GedFileType.PLAQUETTE];\n }\n\n const generique = [GedFileType.IDENTITY_CARD, GedFileType.RIB, GedFileType.PLAQUETTE];\n\n // Si le client faisait sa compta lui-même\n // et que le goToClient est supérieur à la date de reprise + 4 mois\n // et que la date de reprise est après la date de création de la société\n // alors liasse fiscale N-1 obligatoire !\n if (dontHaveOldExpert && \n recoveryDate && \n dateOfRegistration && \n dayjs(recoveryDate).add(4, 'months').diff(goToClient) < 0\n && dayjs(recoveryDate).isAfter(dateOfRegistration)\n ) {\n generique.push(GedFileType.FISCAL_BUNDLE);\n }\n\n if ([LegalForm.SAS.id, LegalForm.SA.id].includes(idLegalForm)) {\n generique.push(GedFileType.DISTRIBUTION_OF_SHARE);\n }\n\n if ([LegalForm.SELARLU.id, LegalForm.EURL.id, LegalForm.SASU.id, LegalForm.SA.id, \n LegalForm.SAS.id, LegalForm.SARL.id, LegalForm.SCI.id, LegalForm.EARL.id, LegalForm.GIE.id, LegalForm.SOCIETE_CIVILE.id].includes(idLegalForm)) {\n return [...generique, GedFileType.KBIS, GedFileType.STATUTES, GedFileType.DBE2, GedFileType.SEPA];\n }\n if ([LegalForm.SELARL.id].includes(idLegalForm)) {\n return [...generique, GedFileType.KBIS, GedFileType.STATUTES, GedFileType.SEPA];\n }\n if ([LegalForm.EI.id, LegalForm.AUTO_ENTREPRENEUR.id].includes(idLegalForm)) {\n return [...generique, GedFileType.SIRENE, GedFileType.SEPA];\n }\n if ([LegalForm.EIRL.id].includes(idLegalForm)) {\n return [...generique, GedFileType.SIRENE, GedFileType.SEPA, GedFileType.PATRIMONY];\n }\n if ([LegalForm.ASSOCIATION.id].includes(idLegalForm)) {\n return [...generique, GedFileType.RULES_OF_PROCEDURE, GedFileType.REGISTRATION_OF_THE_ASSOCIATION_AT_THE_PREFECTURE, GedFileType.REPRESENTATIVE_OF_THE_ASSOCIATION];\n }\n\n return generique;\n};\n\nexport {\n requiredListDocs,\n};"]}
@@ -1 +1 @@
1
- {"version":3,"file":"payment.d.ts","sourceRoot":"","sources":["../../../ts/utils/payment.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAe,qBAAqB,EAAiB,WAAW,EAA0B,MAAM,UAAU,CAAC;AAK5H,UAAU,gBAAiB,SAAQ,QAAQ;IACzC,IAAI,EAAE,aAAa,GAAG,aAAa,GAAG,UAAU,GAAG,SAAS,CAAC;IAC7D,YAAY,EAAE,QAAQ,EAAE,CAAA;CACzB;AAED;;;;;;;;;GASG;AACH,QAAA,MAAM,0BAA0B,aAAc,QAAQ,EAAE,UAAS,CAAC,aAAa,GAAG,aAAa,GAAG,UAAU,GAAG,SAAS,CAAC,EAAE,KAA2D,gBAAgB,EAoCrM,CAAC;AAoBF;;;;;;;;;;;;;;GAcG;AACH,QAAA,MAAM,qBAAqB,WAAY,qBAAqB,KAAE,WAAW,EA2QxE,CAAC;AAEF,OAAO,EACL,0BAA0B,EAAE,qBAAqB,GAClD,CAAC"}
1
+ {"version":3,"file":"payment.d.ts","sourceRoot":"","sources":["../../../ts/utils/payment.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAe,qBAAqB,EAAiB,WAAW,EAA0B,MAAM,UAAU,CAAC;AAK5H,UAAU,gBAAiB,SAAQ,QAAQ;IACzC,IAAI,EAAE,aAAa,GAAG,aAAa,GAAG,UAAU,GAAG,SAAS,CAAC;IAC7D,YAAY,EAAE,QAAQ,EAAE,CAAA;CACzB;AAED;;;;;;;;;GASG;AACH,QAAA,MAAM,0BAA0B,aAAc,QAAQ,EAAE,UAAS,CAAC,aAAa,GAAG,aAAa,GAAG,UAAU,GAAG,SAAS,CAAC,EAAE,KAA2D,gBAAgB,EAoCrM,CAAC;AAoBF;;;;;;;;;;;;;;GAcG;AACH,QAAA,MAAM,qBAAqB,WAAY,qBAAqB,KAAE,WAAW,EAmRxE,CAAC;AAEF,OAAO,EACL,0BAA0B,EAAE,qBAAqB,GAClD,CAAC"}
@@ -177,7 +177,7 @@ const calculatePaymentsAuto = (params) => {
177
177
  }
178
178
  //express : on étale en countExpressMonthlyPayment (nb de mensualités)
179
179
  let remainingAmountByExercicePrestation = remainingAmount; //TTC
180
- let countExpressMonthlyPayment = (_e = exercicePrestation === null || exercicePrestation === void 0 ? void 0 : exercicePrestation.countExpressMonthlyPayment) !== null && _e !== void 0 ? _e : 3; //TTC
180
+ let countExpressMonthlyPayment = (_e = exercicePrestation === null || exercicePrestation === void 0 ? void 0 : exercicePrestation.countExpressMonthlyPayment) !== null && _e !== void 0 ? _e : 1; //TTC
181
181
  //Si un premier règlement est généré avec le montant des regulations, on le considère comme une mensualité (unioquement pour le premier express et la première mensualité)
182
182
  if (indexEP === 0 && sumRegulations > 0)
183
183
  countExpressMonthlyPayment -= 1;
@@ -219,6 +219,13 @@ const calculatePaymentsAuto = (params) => {
219
219
  let countMonthsBeforeExerciceEnd = Math.ceil(dayjs(exerciceEndDate).diff(paymentDate, 'months', true));
220
220
  if (countMonthsBeforeExerciceEnd < 3)
221
221
  countMonthsBeforeExerciceEnd = 3;
222
+ // Si un client signe un Express dans les 3 derniers mois de l'année (par exemple en décembre 2024)
223
+ // on ne doit pas générer l'année 2025 sur 13 mois à partir du 12/24
224
+ // mais on doit attendre le début de l'exercice concerné (ici, 01/25)
225
+ if (countMonthsBeforeExerciceEnd > 12) {
226
+ paymentDate = dayjs(paymentDate).add(1, 'month').startOf('month').toDate();
227
+ continue;
228
+ }
222
229
  const exoAmount = isFirstNonExpress ? yearlyAmountNonExpressClone : nextYearlyAmountNonExpress;
223
230
  const remainingBeforeThisExo = remainingAmount;
224
231
  remainingAmount += priceWithTaxesIncluded ? exoAmount : (0, types_1.getTaxesIncludedAmount)(exoAmount, idVat);
@@ -1 +1 @@
1
- {"version":3,"file":"payment.js","sourceRoot":"","sources":["../../../ts/utils/payment.ts"],"names":[],"mappings":"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","sourcesContent":["'use strict';\n\nimport { IPayment, IRegulation, ParamsForPaymentsAuto, PaymentMethod, PaymentAuto, getTaxesIncludedAmount } from '../types';\nimport * as dayjs from 'dayjs';\nimport { PartialExercicePrestationExpress } from '../types/Interface/api/payment/Util';\nimport { getApplicationFeesAmount, getPriceGrid } from './prestation';\n\ninterface PaymentsWithList extends IPayment {\n type: 'isComptable' | 'isJuridique' | 'isSocial' | 'isOther',\n listPayments: IPayment[]\n}\n\n/**\n * A partir d'une liste de payment (avec include jusqu'à prestationList, \n * avec en attributs 'isComptable' | 'isJuridique' | 'isSocial' | 'isOther')\n * permet de récupérer uniquement le premier paiement de chaque type \n * et les autres payments dans listPayments\n * avec possibilité de filtrer avec le tableau de filtres\n * @param payments \n * @param types \n * @returns \n */\nconst groupPaymentsByServiceType = (payments: IPayment[], types: ('isComptable' | 'isJuridique' | 'isSocial' | 'isOther')[] = ['isComptable', 'isJuridique', 'isSocial', 'isOther']): PaymentsWithList[] => {\n const prestaComptable = payments.filter((el) => el?.paymentsPrestations?.prestationsList?.isComptable ?? false);\n const prestaSocial = payments.filter((el) => !el?.paymentsPrestations?.prestationsList?.isComptable && el?.paymentsPrestations?.prestationsList?.isSocial);\n const prestaJuridique = payments.filter((el) => !el?.paymentsPrestations?.prestationsList?.isComptable && el?.paymentsPrestations?.prestationsList?.isJuridique);\n const prestaOther = payments.filter((el) => !el?.paymentsPrestations?.prestationsList?.isComptable && !el?.paymentsPrestations?.prestationsList?.isJuridique && !el?.paymentsPrestations?.prestationsList?.isSocial);\n \n const societyPayment: PaymentsWithList[] = [];\n if (prestaComptable.length && types.includes('isComptable')) {\n societyPayment.push({\n ...prestaComptable[0], // Données de base\n type: 'isComptable',\n listPayments: prestaComptable,\n });\n }\n if (prestaSocial.length && types.includes('isSocial')) {\n societyPayment.push({\n ...prestaSocial[0], // Données de base\n type: 'isSocial',\n listPayments: prestaSocial,\n });\n }\n if (prestaJuridique.length && types.includes('isJuridique')) {\n societyPayment.push({\n ...prestaJuridique[0], // Données de base\n type: 'isJuridique',\n listPayments: prestaJuridique,\n });\n }\n if (prestaOther.length && types.includes('isOther')) {\n societyPayment.push({\n ...prestaOther[0], // Données de base\n type: 'isOther',\n listPayments: prestaOther,\n });\n }\n return societyPayment;\n};\n\nconst calculateFees = (amount: number, paymentDate: Date):number => {\n const yearlyPriceIncreasing = 1.0275;\n\n // Commenté car en fin d'année, pour appliquer le taux d'inflation annuel, \n // un script enlève les 2,75€ appliqués pour appliquer le bon taux\n // const oneYearLessIfIn3LastMonthsOfYear = dayjs(goToClient).month() >= 9 ? 1 : 0;\n\n if (dayjs(paymentDate).year() - dayjs().year() > 0) {\n const nbYearsMore = dayjs(paymentDate).year() - dayjs().year()/* - oneYearLessIfIn3LastMonthsOfYear */;\n // on applique X fois l'augmentation\n // ex. : si on lance l'appel en 2024, et qu'on génére un paiement pour 2026, on applique 2 fois l'augmentation\n // soit amount * yearlyPriceIncreasing * yearlyPriceIncreasing\n // soit amount * yearlyPriceIncreasing ^ nbYearsMore\n amount = amount * Math.pow(yearlyPriceIncreasing, nbYearsMore);\n }\n return amount;\n};\n\n/**\n// * @param {number} firstPaymentAmount - amount of the first payment (first regulation of the customer)\n * @param {Date} firstExerciceNonExpresssEndDate - end date of the first exercice non express\n * @param {number} idPrestation - prestation id\n * @param {number} idLegalForm - legal form id of the society\n * @param {boolean} isWithApplicationFees - if the prestation has application fees to paid\n * @param {IPrestationList} prestationList - type of prestation (hidden: 0, isCatalog: 1, isComptable: 1)\n * @param {number} idVat - vat id of society linked\n * @param {number} yearlyAmountNonExpress - yearly amount of non express prestation (HT)\n * @param {number} nextYearlyAmountNonExpress - yearly amount of non express prestation for next years (HT)\n * @param {PartialExercicePrestationExpress[]} listPartialExercicePrestationExpress - list of exercicePrestation linked to idPrestation -> used to get express\n * @param {IRegulation[]} listRegulations - list of regulations linked to idPrestation (TTC)\n * @param {Date} recoveryDate - date of recovery of the society\n * @returns { IPayment[] } list of payment to create for billing auto, after each presta go to onBoarding\n */\nconst calculatePaymentsAuto = (params: ParamsForPaymentsAuto):PaymentAuto[] => {\n const { idTypeBrand, isWithApplicationFees, firstExerciceNonExpresssEndDate, idPrestation, idLegalForm, prestationList, idVat, yearlyAmountNonExpress, nextYearlyAmountNonExpress, listPartialExercicePrestationExpress, listRegulations, recoveryDate } = params;\n \n if (!yearlyAmountNonExpress) throw new Error('Le montant annuel des prestations non express ne peut pas être nul.');\n\n let initializedPaymentDate = dayjs().endOf('month').diff(dayjs(), 'day') < 3/* || dayjs().date() >= 15 */\n ? dayjs().add(2, 'month').startOf('month').toDate()\n : dayjs().add(1, 'month').startOf('month').toDate();\n \n //Si date de reprise, alors on initialise à cette date\n if (recoveryDate && dayjs(recoveryDate).isAfter(dayjs(), 'month')) {\n initializedPaymentDate = dayjs(recoveryDate).startOf('month').toDate();\n }\n\n // On récupère la grille tarifaire pour savoir si les tarifs sont HT ou TTC \n // et pour connaitre le montant du coût de l'app\n if (!prestationList.id) throw new Error('idPrestationList manquant');\n const priceGrid = getPriceGrid(idTypeBrand, prestationList.id);\n if (!priceGrid) throw new Error('Impossible de trouver la grille tarifaire correspondante');\n const { applicationCost, priceWithTaxesIncluded } = priceGrid;\n const applicationCostTotalTTC = (priceWithTaxesIncluded ? applicationCost : getTaxesIncludedAmount(applicationCost, idVat)) * 12;\n const applicationFeesAmountTTC = getApplicationFeesAmount(idLegalForm, idVat);\n\n if (prestationList?.isCatalog || !prestationList?.isComptable) throw new Error('Ce type de prestation ne correspond pas aux conditions attendues.');\n if (listPartialExercicePrestationExpress.length && listPartialExercicePrestationExpress?.some((ep: PartialExercicePrestationExpress) => !ep?.startDate)) throw new Error('Start date of some exercice are missing');\n \n let yearlyAmountNonExpressClone = yearlyAmountNonExpress;\n if (isWithApplicationFees) {\n yearlyAmountNonExpressClone -= getApplicationFeesAmount(idLegalForm); //HT\n }\n\n const nbExoExpress = listPartialExercicePrestationExpress.length;\n const listPayments:PaymentAuto[] = [];\n\n // on récupère le/les premiers réglements effectués, non alloués\n // const isApplicationFeesAlreadyPaid = false;\n const sumRegulations = listRegulations.reduce((acc: number, r:IRegulation) => {\n //Si la regulation est rattachée à un paymentExpectation, on récupère le détail\n // et on ne prend que les frais de dossier (applicationFee) + le montant de la compta (accountingFee)\n \n // Commenté temporairement :\n // Pour l'instant, on ne prend plus en compte les paymentExpectation :\n // On part du principe que si isWithApplicationFees = true, alors les regulations contiennent les frais de dossier\n // sinon, ils sont offerts et n'apparaissent pas\n /* if (r.paymentsExpectation?.payload) {\n const payload = JSON.parse(r.paymentsExpectation?.payload);\n if (+payload?.applicationFee > 0) {\n isApplicationFeesAlreadyPaid = true;\n acc += +payload?.applicationFee;\n }\n if (+payload?.accountingFee > 0) acc += +payload?.accountingFee;\n return acc;\n } else {\n return acc + r.amount - r.amountUsed;\n } */\n return acc + r.amount - r.amountUsed;\n }, 0);\n let remainingAmount = -sumRegulations; //TTC\n let paymentDate = initializedPaymentDate;\n\n //On order les exercicePrestation par startDate ASC et id ASC\n listPartialExercicePrestationExpress.sort((a, b) => {\n const aStartDate = a?.startDate as Date;\n const bStartDate = b?.startDate as Date;\n return dayjs(aStartDate).diff(bStartDate);\n });\n\n // Si les frais de dossiers sont facturés, on ajoute un paiement sur le mois en cours\n if (isWithApplicationFees) {\n listPayments.push({\n amount: applicationFeesAmountTTC, //TTC\n isPaid: true,\n datePayment: dayjs().toDate(),\n idPrestation,\n idPaymentMethod: listRegulations[0]?.idPaymentMethod ?? PaymentMethod.DIRECT_DEBIT.id,\n closingDate: listPartialExercicePrestationExpress?.length ? listPartialExercicePrestationExpress[0].endDate : firstExerciceNonExpresssEndDate,\n comment: 'Frais de dossier',\n });\n remainingAmount += applicationFeesAmountTTC;\n }\n \n // =========================\n // EXPRESS\n // =========================\n listPartialExercicePrestationExpress.forEach((exercicePrestation:PartialExercicePrestationExpress, indexEP: number) => {\n const remainingBeforeThisExo = remainingAmount;\n\n remainingAmount += !priceWithTaxesIncluded \n ? getTaxesIncludedAmount(exercicePrestation.totalAmount, idVat) \n : exercicePrestation.totalAmount; //TTC\n \n \n // Si le premier règlement couvre le coût de cet exercicePrestation, \n // on créé un paiement pour cet exo et on passe au suivant\n if (remainingAmount <= 0) {\n listPayments.push({\n amount: Math.round(100 * (!priceWithTaxesIncluded \n ? getTaxesIncludedAmount(exercicePrestation.totalAmount, idVat) \n : exercicePrestation.totalAmount)) / 100, //TTC\n isPaid: true,\n datePayment: dayjs().toDate(),\n idPrestation,\n idPaymentMethod: listRegulations[0]?.idPaymentMethod ?? PaymentMethod.DIRECT_DEBIT.id,\n closingDate: exercicePrestation.endDate,\n });\n return;\n } else if (remainingBeforeThisExo < 0 && remainingAmount > 0) {\n // Si le paiement couvre une partie du paiement, on créé un paiement pour cette partie lié à l'exo \n listPayments.push({\n amount: Math.round(100 * -remainingBeforeThisExo) / 100, //TTC\n isPaid: true,\n datePayment: dayjs().toDate(),\n idPrestation,\n idPaymentMethod: listRegulations[0]?.idPaymentMethod ?? PaymentMethod.DIRECT_DEBIT.id,\n closingDate: exercicePrestation.endDate,\n });\n }\n \n //express : on étale en countExpressMonthlyPayment (nb de mensualités)\n let remainingAmountByExercicePrestation = remainingAmount; //TTC\n let countExpressMonthlyPayment = exercicePrestation?.countExpressMonthlyPayment ?? 3; //TTC\n //Si un premier règlement est généré avec le montant des regulations, on le considère comme une mensualité (unioquement pour le premier express et la première mensualité)\n if (indexEP === 0 && sumRegulations > 0) countExpressMonthlyPayment -= 1;\n\n const monthlyAmount = remainingAmountByExercicePrestation / countExpressMonthlyPayment; //TTC\n for (let index = 1; index <= countExpressMonthlyPayment; index++) {\n // On arrondis les 11 premières mensualités, mais on récupère le reste pour la dernière mensualité, pour éviter les centimes perdus en arrondis\n // et on applique le taux de tva de la société\n const amount = index < countExpressMonthlyPayment ? monthlyAmount : remainingAmountByExercicePrestation; //TTC\n \n // On évite les paiements de moins d'0,01 € (pour les paymentsExpectations ayant une différence de 1 cents)\n if (amount >= 0.005)\n listPayments.push({\n amount: Math.round(100 * amount) / 100,\n datePayment: paymentDate,\n idPrestation,\n idPaymentMethod: PaymentMethod.DIRECT_DEBIT.id,\n closingDate: exercicePrestation.endDate,\n });\n remainingAmountByExercicePrestation -= monthlyAmount; \n paymentDate = dayjs(paymentDate).add(1, 'month').startOf('month').toDate();\n }\n remainingAmount = 0;\n });\n\n // =========================\n // NON EXPRESS\n // =========================\n // on lisse sur le nb de mois restants (avec au minimum 3 mensualités)\n // Si un seul exo express, alors on met les paiements de l'exo actuel en parallèle\n // sinon, ils sont à la suite des express\n if (nbExoExpress <= 1) paymentDate = initializedPaymentDate;\n let exerciceEndDate = dayjs(firstExerciceNonExpresssEndDate).toDate();\n\n let hasGeneratedWholeYear = false;\n let isFirstNonExpress = true;\n let countNonExpressGenerated = 0;\n \n // On génère des paiements jusqu'à ce qu'un exercice soit entier (12 mois), non express\n // et qu'au moins 13 mois de paiements ont été générés depuis la date de reprise\n while (!hasGeneratedWholeYear || countNonExpressGenerated < 2) {\n //On compte le nb de mois restants entre la date à laquelle le paiement va être créé et la date de fin d'exercice\n let countMonthsBeforeExerciceEnd = Math.ceil(dayjs(exerciceEndDate).diff(paymentDate, 'months', true));\n if (countMonthsBeforeExerciceEnd < 3) countMonthsBeforeExerciceEnd = 3;\n\n const exoAmount = isFirstNonExpress ? yearlyAmountNonExpressClone : nextYearlyAmountNonExpress;\n const remainingBeforeThisExo = remainingAmount;\n remainingAmount += priceWithTaxesIncluded ? exoAmount : getTaxesIncludedAmount(exoAmount, idVat);\n\n // Si le premier règlement couvre le coût de cet exercicePrestation, \n // on créé un paiement pour cet exo et on passe au suivant\n if (remainingAmount <= 0) {\n listPayments.push({\n amount: Math.round(100 * (priceWithTaxesIncluded ? exoAmount : getTaxesIncludedAmount(exoAmount, idVat))) / 100, //TTC\n isPaid: true,\n datePayment: dayjs().toDate(),\n idPrestation,\n idPaymentMethod: listRegulations[0]?.idPaymentMethod ?? PaymentMethod.DIRECT_DEBIT.id,\n closingDate: exerciceEndDate,\n });\n exerciceEndDate = dayjs(exerciceEndDate).startOf('month').add(1, 'year').endOf('month').toDate();\n continue;\n } else if (remainingBeforeThisExo < 0 && remainingAmount > 0) {\n // Si le paiement couvre une partie du paiement, on créé un paiement pour cette partie lié à l'exo \n listPayments.push({\n amount: Math.round(100 * -remainingBeforeThisExo) / 100, //TTC\n isPaid: true,\n datePayment: dayjs().toDate(),\n idPrestation,\n idPaymentMethod: listRegulations[0]?.idPaymentMethod ?? PaymentMethod.DIRECT_DEBIT.id,\n closingDate: exerciceEndDate,\n });\n }\n\n let remainingAmountByExercicePrestation = remainingAmount;\n\n // - frais d'application dès les second exo non express\n if (!isFirstNonExpress) remainingAmountByExercicePrestation += applicationCostTotalTTC;\n\n const monthlyAmount = remainingAmountByExercicePrestation / countMonthsBeforeExerciceEnd; //TTC\n\n if (monthlyAmount > 0) {\n for (let index = 1; index <= countMonthsBeforeExerciceEnd; index++) {\n let amount = index < countMonthsBeforeExerciceEnd ? monthlyAmount : remainingAmountByExercicePrestation;\n \n // Si besoin, on applique les frais nécessaires :\n // - 2,75% d'augmentation chaque année, sauf si souscriptiuon dans les 3 derniers mois de l'année civile)\n amount = calculateFees(amount, paymentDate);\n \n listPayments.push({\n amount: Math.round(100 * amount) / 100,\n datePayment: paymentDate,\n idPrestation,\n idPaymentMethod: PaymentMethod.DIRECT_DEBIT.id,\n closingDate: exerciceEndDate,\n });\n remainingAmountByExercicePrestation -= monthlyAmount; \n paymentDate = dayjs(paymentDate).add(1, 'month').startOf('month').toDate();\n }\n exerciceEndDate = dayjs(exerciceEndDate).startOf('month').add(1, 'year').endOf('month').toDate();\n }\n remainingAmount = 0;\n if (countMonthsBeforeExerciceEnd === 12) hasGeneratedWholeYear = true;\n isFirstNonExpress = false;\n countNonExpressGenerated += 1;\n }\n\n remainingAmount = 0;\n\n // =========================\n // JUSQU'EN DECEMBRE\n // =========================\n // On applique le taux de tva de la société, si besoin, selon la grille tarifaire\n remainingAmount += priceWithTaxesIncluded ? nextYearlyAmountNonExpress : getTaxesIncludedAmount(nextYearlyAmountNonExpress, idVat);\n\n let remainingAmountByExercicePrestation = remainingAmount;\n //On compte le nb de mois restants entre la date à laquelle le paiement va être créé et la date de fin d'exercice\n let countMonthsBeforeExerciceEnd = Math.ceil(dayjs(exerciceEndDate).diff(paymentDate, 'months', true));\n if (countMonthsBeforeExerciceEnd < 3) countMonthsBeforeExerciceEnd = 3;\n\n // - frais d'application dès les second exo non express\n remainingAmountByExercicePrestation += applicationCostTotalTTC;\n \n const monthlyAmount = remainingAmountByExercicePrestation / countMonthsBeforeExerciceEnd;\n \n // Si aucun paiement généré, on stoppe là\n if (!listPayments.length) return [];\n\n while (dayjs(listPayments.slice(-1)[0].datePayment).month() < 11) {\n let amount = monthlyAmount;\n\n // Si besoin, on applique les frais nécessaires :\n // - 2,75% d'augmentation chaque année, sauf si souscriptiuon dans les 3 derniers mois de l'année civile)\n // - frais d'application dès les second exo non express\n amount = calculateFees(amount, paymentDate);\n\n listPayments.push({\n amount: Math.round(100 * amount) / 100,\n datePayment: paymentDate,\n idPrestation,\n idPaymentMethod: PaymentMethod.DIRECT_DEBIT.id,\n closingDate: exerciceEndDate,\n });\n paymentDate = dayjs(paymentDate).add(1, 'month').startOf('month').toDate();\n }\n\n return listPayments;\n};\n\nexport {\n groupPaymentsByServiceType, calculatePaymentsAuto,\n};"]}
1
+ {"version":3,"file":"payment.js","sourceRoot":"","sources":["../../../ts/utils/payment.ts"],"names":[],"mappings":"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","sourcesContent":["'use strict';\n\nimport { IPayment, IRegulation, ParamsForPaymentsAuto, PaymentMethod, PaymentAuto, getTaxesIncludedAmount } from '../types';\nimport * as dayjs from 'dayjs';\nimport { PartialExercicePrestationExpress } from '../types/Interface/api/payment/Util';\nimport { getApplicationFeesAmount, getPriceGrid } from './prestation';\n\ninterface PaymentsWithList extends IPayment {\n type: 'isComptable' | 'isJuridique' | 'isSocial' | 'isOther',\n listPayments: IPayment[]\n}\n\n/**\n * A partir d'une liste de payment (avec include jusqu'à prestationList, \n * avec en attributs 'isComptable' | 'isJuridique' | 'isSocial' | 'isOther')\n * permet de récupérer uniquement le premier paiement de chaque type \n * et les autres payments dans listPayments\n * avec possibilité de filtrer avec le tableau de filtres\n * @param payments \n * @param types \n * @returns \n */\nconst groupPaymentsByServiceType = (payments: IPayment[], types: ('isComptable' | 'isJuridique' | 'isSocial' | 'isOther')[] = ['isComptable', 'isJuridique', 'isSocial', 'isOther']): PaymentsWithList[] => {\n const prestaComptable = payments.filter((el) => el?.paymentsPrestations?.prestationsList?.isComptable ?? false);\n const prestaSocial = payments.filter((el) => !el?.paymentsPrestations?.prestationsList?.isComptable && el?.paymentsPrestations?.prestationsList?.isSocial);\n const prestaJuridique = payments.filter((el) => !el?.paymentsPrestations?.prestationsList?.isComptable && el?.paymentsPrestations?.prestationsList?.isJuridique);\n const prestaOther = payments.filter((el) => !el?.paymentsPrestations?.prestationsList?.isComptable && !el?.paymentsPrestations?.prestationsList?.isJuridique && !el?.paymentsPrestations?.prestationsList?.isSocial);\n \n const societyPayment: PaymentsWithList[] = [];\n if (prestaComptable.length && types.includes('isComptable')) {\n societyPayment.push({\n ...prestaComptable[0], // Données de base\n type: 'isComptable',\n listPayments: prestaComptable,\n });\n }\n if (prestaSocial.length && types.includes('isSocial')) {\n societyPayment.push({\n ...prestaSocial[0], // Données de base\n type: 'isSocial',\n listPayments: prestaSocial,\n });\n }\n if (prestaJuridique.length && types.includes('isJuridique')) {\n societyPayment.push({\n ...prestaJuridique[0], // Données de base\n type: 'isJuridique',\n listPayments: prestaJuridique,\n });\n }\n if (prestaOther.length && types.includes('isOther')) {\n societyPayment.push({\n ...prestaOther[0], // Données de base\n type: 'isOther',\n listPayments: prestaOther,\n });\n }\n return societyPayment;\n};\n\nconst calculateFees = (amount: number, paymentDate: Date):number => {\n const yearlyPriceIncreasing = 1.0275;\n\n // Commenté car en fin d'année, pour appliquer le taux d'inflation annuel, \n // un script enlève les 2,75€ appliqués pour appliquer le bon taux\n // const oneYearLessIfIn3LastMonthsOfYear = dayjs(goToClient).month() >= 9 ? 1 : 0;\n\n if (dayjs(paymentDate).year() - dayjs().year() > 0) {\n const nbYearsMore = dayjs(paymentDate).year() - dayjs().year()/* - oneYearLessIfIn3LastMonthsOfYear */;\n // on applique X fois l'augmentation\n // ex. : si on lance l'appel en 2024, et qu'on génére un paiement pour 2026, on applique 2 fois l'augmentation\n // soit amount * yearlyPriceIncreasing * yearlyPriceIncreasing\n // soit amount * yearlyPriceIncreasing ^ nbYearsMore\n amount = amount * Math.pow(yearlyPriceIncreasing, nbYearsMore);\n }\n return amount;\n};\n\n/**\n// * @param {number} firstPaymentAmount - amount of the first payment (first regulation of the customer)\n * @param {Date} firstExerciceNonExpresssEndDate - end date of the first exercice non express\n * @param {number} idPrestation - prestation id\n * @param {number} idLegalForm - legal form id of the society\n * @param {boolean} isWithApplicationFees - if the prestation has application fees to paid\n * @param {IPrestationList} prestationList - type of prestation (hidden: 0, isCatalog: 1, isComptable: 1)\n * @param {number} idVat - vat id of society linked\n * @param {number} yearlyAmountNonExpress - yearly amount of non express prestation (HT)\n * @param {number} nextYearlyAmountNonExpress - yearly amount of non express prestation for next years (HT)\n * @param {PartialExercicePrestationExpress[]} listPartialExercicePrestationExpress - list of exercicePrestation linked to idPrestation -> used to get express\n * @param {IRegulation[]} listRegulations - list of regulations linked to idPrestation (TTC)\n * @param {Date} recoveryDate - date of recovery of the society\n * @returns { IPayment[] } list of payment to create for billing auto, after each presta go to onBoarding\n */\nconst calculatePaymentsAuto = (params: ParamsForPaymentsAuto):PaymentAuto[] => {\n const { idTypeBrand, isWithApplicationFees, firstExerciceNonExpresssEndDate, idPrestation, idLegalForm, prestationList, idVat, yearlyAmountNonExpress, nextYearlyAmountNonExpress, listPartialExercicePrestationExpress, listRegulations, recoveryDate } = params;\n \n if (!yearlyAmountNonExpress) throw new Error('Le montant annuel des prestations non express ne peut pas être nul.');\n\n let initializedPaymentDate = dayjs().endOf('month').diff(dayjs(), 'day') < 3/* || dayjs().date() >= 15 */\n ? dayjs().add(2, 'month').startOf('month').toDate()\n : dayjs().add(1, 'month').startOf('month').toDate();\n \n //Si date de reprise, alors on initialise à cette date\n if (recoveryDate && dayjs(recoveryDate).isAfter(dayjs(), 'month')) {\n initializedPaymentDate = dayjs(recoveryDate).startOf('month').toDate();\n }\n\n // On récupère la grille tarifaire pour savoir si les tarifs sont HT ou TTC \n // et pour connaitre le montant du coût de l'app\n if (!prestationList.id) throw new Error('idPrestationList manquant');\n const priceGrid = getPriceGrid(idTypeBrand, prestationList.id);\n if (!priceGrid) throw new Error('Impossible de trouver la grille tarifaire correspondante');\n const { applicationCost, priceWithTaxesIncluded } = priceGrid;\n const applicationCostTotalTTC = (priceWithTaxesIncluded ? applicationCost : getTaxesIncludedAmount(applicationCost, idVat)) * 12;\n const applicationFeesAmountTTC = getApplicationFeesAmount(idLegalForm, idVat);\n\n if (prestationList?.isCatalog || !prestationList?.isComptable) throw new Error('Ce type de prestation ne correspond pas aux conditions attendues.');\n if (listPartialExercicePrestationExpress.length && listPartialExercicePrestationExpress?.some((ep: PartialExercicePrestationExpress) => !ep?.startDate)) throw new Error('Start date of some exercice are missing');\n \n let yearlyAmountNonExpressClone = yearlyAmountNonExpress;\n if (isWithApplicationFees) {\n yearlyAmountNonExpressClone -= getApplicationFeesAmount(idLegalForm); //HT\n }\n\n const nbExoExpress = listPartialExercicePrestationExpress.length;\n const listPayments:PaymentAuto[] = [];\n\n // on récupère le/les premiers réglements effectués, non alloués\n // const isApplicationFeesAlreadyPaid = false;\n const sumRegulations = listRegulations.reduce((acc: number, r:IRegulation) => {\n //Si la regulation est rattachée à un paymentExpectation, on récupère le détail\n // et on ne prend que les frais de dossier (applicationFee) + le montant de la compta (accountingFee)\n \n // Commenté temporairement :\n // Pour l'instant, on ne prend plus en compte les paymentExpectation :\n // On part du principe que si isWithApplicationFees = true, alors les regulations contiennent les frais de dossier\n // sinon, ils sont offerts et n'apparaissent pas\n /* if (r.paymentsExpectation?.payload) {\n const payload = JSON.parse(r.paymentsExpectation?.payload);\n if (+payload?.applicationFee > 0) {\n isApplicationFeesAlreadyPaid = true;\n acc += +payload?.applicationFee;\n }\n if (+payload?.accountingFee > 0) acc += +payload?.accountingFee;\n return acc;\n } else {\n return acc + r.amount - r.amountUsed;\n } */\n return acc + r.amount - r.amountUsed;\n }, 0);\n let remainingAmount = -sumRegulations; //TTC\n let paymentDate = initializedPaymentDate;\n\n //On order les exercicePrestation par startDate ASC et id ASC\n listPartialExercicePrestationExpress.sort((a, b) => {\n const aStartDate = a?.startDate as Date;\n const bStartDate = b?.startDate as Date;\n return dayjs(aStartDate).diff(bStartDate);\n });\n\n // Si les frais de dossiers sont facturés, on ajoute un paiement sur le mois en cours\n if (isWithApplicationFees) {\n listPayments.push({\n amount: applicationFeesAmountTTC, //TTC\n isPaid: true,\n datePayment: dayjs().toDate(),\n idPrestation,\n idPaymentMethod: listRegulations[0]?.idPaymentMethod ?? PaymentMethod.DIRECT_DEBIT.id,\n closingDate: listPartialExercicePrestationExpress?.length ? listPartialExercicePrestationExpress[0].endDate : firstExerciceNonExpresssEndDate,\n comment: 'Frais de dossier',\n });\n remainingAmount += applicationFeesAmountTTC;\n }\n \n // =========================\n // EXPRESS\n // =========================\n listPartialExercicePrestationExpress.forEach((exercicePrestation:PartialExercicePrestationExpress, indexEP: number) => {\n const remainingBeforeThisExo = remainingAmount;\n\n remainingAmount += !priceWithTaxesIncluded \n ? getTaxesIncludedAmount(exercicePrestation.totalAmount, idVat) \n : exercicePrestation.totalAmount; //TTC\n \n \n // Si le premier règlement couvre le coût de cet exercicePrestation, \n // on créé un paiement pour cet exo et on passe au suivant\n if (remainingAmount <= 0) {\n listPayments.push({\n amount: Math.round(100 * (!priceWithTaxesIncluded \n ? getTaxesIncludedAmount(exercicePrestation.totalAmount, idVat) \n : exercicePrestation.totalAmount)) / 100, //TTC\n isPaid: true,\n datePayment: dayjs().toDate(),\n idPrestation,\n idPaymentMethod: listRegulations[0]?.idPaymentMethod ?? PaymentMethod.DIRECT_DEBIT.id,\n closingDate: exercicePrestation.endDate,\n });\n return;\n } else if (remainingBeforeThisExo < 0 && remainingAmount > 0) {\n // Si le paiement couvre une partie du paiement, on créé un paiement pour cette partie lié à l'exo \n listPayments.push({\n amount: Math.round(100 * -remainingBeforeThisExo) / 100, //TTC\n isPaid: true,\n datePayment: dayjs().toDate(),\n idPrestation,\n idPaymentMethod: listRegulations[0]?.idPaymentMethod ?? PaymentMethod.DIRECT_DEBIT.id,\n closingDate: exercicePrestation.endDate,\n });\n }\n \n //express : on étale en countExpressMonthlyPayment (nb de mensualités)\n let remainingAmountByExercicePrestation = remainingAmount; //TTC\n let countExpressMonthlyPayment = exercicePrestation?.countExpressMonthlyPayment ?? 1; //TTC\n //Si un premier règlement est généré avec le montant des regulations, on le considère comme une mensualité (unioquement pour le premier express et la première mensualité)\n if (indexEP === 0 && sumRegulations > 0) countExpressMonthlyPayment -= 1;\n\n const monthlyAmount = remainingAmountByExercicePrestation / countExpressMonthlyPayment; //TTC\n for (let index = 1; index <= countExpressMonthlyPayment; index++) {\n // On arrondis les 11 premières mensualités, mais on récupère le reste pour la dernière mensualité, pour éviter les centimes perdus en arrondis\n // et on applique le taux de tva de la société\n const amount = index < countExpressMonthlyPayment ? monthlyAmount : remainingAmountByExercicePrestation; //TTC\n \n // On évite les paiements de moins d'0,01 € (pour les paymentsExpectations ayant une différence de 1 cents)\n if (amount >= 0.005)\n listPayments.push({\n amount: Math.round(100 * amount) / 100,\n datePayment: paymentDate,\n idPrestation,\n idPaymentMethod: PaymentMethod.DIRECT_DEBIT.id,\n closingDate: exercicePrestation.endDate,\n });\n remainingAmountByExercicePrestation -= monthlyAmount; \n paymentDate = dayjs(paymentDate).add(1, 'month').startOf('month').toDate();\n }\n remainingAmount = 0;\n });\n\n // =========================\n // NON EXPRESS\n // =========================\n // on lisse sur le nb de mois restants (avec au minimum 3 mensualités)\n // Si un seul exo express, alors on met les paiements de l'exo actuel en parallèle\n // sinon, ils sont à la suite des express\n if (nbExoExpress <= 1) paymentDate = initializedPaymentDate;\n let exerciceEndDate = dayjs(firstExerciceNonExpresssEndDate).toDate();\n\n let hasGeneratedWholeYear = false;\n let isFirstNonExpress = true;\n let countNonExpressGenerated = 0;\n \n // On génère des paiements jusqu'à ce qu'un exercice soit entier (12 mois), non express\n // et qu'au moins 13 mois de paiements ont été générés depuis la date de reprise\n while (!hasGeneratedWholeYear || countNonExpressGenerated < 2) {\n //On compte le nb de mois restants entre la date à laquelle le paiement va être créé et la date de fin d'exercice\n let countMonthsBeforeExerciceEnd = Math.ceil(dayjs(exerciceEndDate).diff(paymentDate, 'months', true));\n if (countMonthsBeforeExerciceEnd < 3) countMonthsBeforeExerciceEnd = 3;\n\n // Si un client signe un Express dans les 3 derniers mois de l'année (par exemple en décembre 2024)\n // on ne doit pas générer l'année 2025 sur 13 mois à partir du 12/24\n // mais on doit attendre le début de l'exercice concerné (ici, 01/25)\n if (countMonthsBeforeExerciceEnd > 12) {\n paymentDate = dayjs(paymentDate).add(1, 'month').startOf('month').toDate();\n continue;\n }\n\n const exoAmount = isFirstNonExpress ? yearlyAmountNonExpressClone : nextYearlyAmountNonExpress;\n const remainingBeforeThisExo = remainingAmount;\n remainingAmount += priceWithTaxesIncluded ? exoAmount : getTaxesIncludedAmount(exoAmount, idVat);\n\n // Si le premier règlement couvre le coût de cet exercicePrestation, \n // on créé un paiement pour cet exo et on passe au suivant\n if (remainingAmount <= 0) {\n listPayments.push({\n amount: Math.round(100 * (priceWithTaxesIncluded ? exoAmount : getTaxesIncludedAmount(exoAmount, idVat))) / 100, //TTC\n isPaid: true,\n datePayment: dayjs().toDate(),\n idPrestation,\n idPaymentMethod: listRegulations[0]?.idPaymentMethod ?? PaymentMethod.DIRECT_DEBIT.id,\n closingDate: exerciceEndDate,\n });\n exerciceEndDate = dayjs(exerciceEndDate).startOf('month').add(1, 'year').endOf('month').toDate();\n continue;\n } else if (remainingBeforeThisExo < 0 && remainingAmount > 0) {\n // Si le paiement couvre une partie du paiement, on créé un paiement pour cette partie lié à l'exo \n listPayments.push({\n amount: Math.round(100 * -remainingBeforeThisExo) / 100, //TTC\n isPaid: true,\n datePayment: dayjs().toDate(),\n idPrestation,\n idPaymentMethod: listRegulations[0]?.idPaymentMethod ?? PaymentMethod.DIRECT_DEBIT.id,\n closingDate: exerciceEndDate,\n });\n }\n\n let remainingAmountByExercicePrestation = remainingAmount;\n\n // - frais d'application dès les second exo non express\n if (!isFirstNonExpress) remainingAmountByExercicePrestation += applicationCostTotalTTC;\n\n const monthlyAmount = remainingAmountByExercicePrestation / countMonthsBeforeExerciceEnd; //TTC\n\n if (monthlyAmount > 0) {\n for (let index = 1; index <= countMonthsBeforeExerciceEnd; index++) {\n let amount = index < countMonthsBeforeExerciceEnd ? monthlyAmount : remainingAmountByExercicePrestation;\n \n // Si besoin, on applique les frais nécessaires :\n // - 2,75% d'augmentation chaque année, sauf si souscriptiuon dans les 3 derniers mois de l'année civile)\n amount = calculateFees(amount, paymentDate);\n \n listPayments.push({\n amount: Math.round(100 * amount) / 100,\n datePayment: paymentDate,\n idPrestation,\n idPaymentMethod: PaymentMethod.DIRECT_DEBIT.id,\n closingDate: exerciceEndDate,\n });\n remainingAmountByExercicePrestation -= monthlyAmount; \n paymentDate = dayjs(paymentDate).add(1, 'month').startOf('month').toDate();\n }\n exerciceEndDate = dayjs(exerciceEndDate).startOf('month').add(1, 'year').endOf('month').toDate();\n }\n remainingAmount = 0;\n if (countMonthsBeforeExerciceEnd === 12) hasGeneratedWholeYear = true;\n isFirstNonExpress = false;\n countNonExpressGenerated += 1;\n }\n\n remainingAmount = 0;\n\n // =========================\n // JUSQU'EN DECEMBRE\n // =========================\n // On applique le taux de tva de la société, si besoin, selon la grille tarifaire\n remainingAmount += priceWithTaxesIncluded ? nextYearlyAmountNonExpress : getTaxesIncludedAmount(nextYearlyAmountNonExpress, idVat);\n\n let remainingAmountByExercicePrestation = remainingAmount;\n //On compte le nb de mois restants entre la date à laquelle le paiement va être créé et la date de fin d'exercice\n let countMonthsBeforeExerciceEnd = Math.ceil(dayjs(exerciceEndDate).diff(paymentDate, 'months', true));\n if (countMonthsBeforeExerciceEnd < 3) countMonthsBeforeExerciceEnd = 3;\n\n // - frais d'application dès les second exo non express\n remainingAmountByExercicePrestation += applicationCostTotalTTC;\n \n const monthlyAmount = remainingAmountByExercicePrestation / countMonthsBeforeExerciceEnd;\n \n // Si aucun paiement généré, on stoppe là\n if (!listPayments.length) return [];\n\n while (dayjs(listPayments.slice(-1)[0].datePayment).month() < 11) {\n let amount = monthlyAmount;\n\n // Si besoin, on applique les frais nécessaires :\n // - 2,75% d'augmentation chaque année, sauf si souscriptiuon dans les 3 derniers mois de l'année civile)\n // - frais d'application dès les second exo non express\n amount = calculateFees(amount, paymentDate);\n\n listPayments.push({\n amount: Math.round(100 * amount) / 100,\n datePayment: paymentDate,\n idPrestation,\n idPaymentMethod: PaymentMethod.DIRECT_DEBIT.id,\n closingDate: exerciceEndDate,\n });\n paymentDate = dayjs(paymentDate).add(1, 'month').startOf('month').toDate();\n }\n\n return listPayments;\n};\n\nexport {\n groupPaymentsByServiceType, calculatePaymentsAuto,\n};"]}
@@ -97,7 +97,7 @@ function getCerfa3310Century23Payload(accountingEntries, payload, updatedEntries
97
97
  const immobilizationTax = (0, utils_1.setZeroIfIsNegative)((0, utils_1.getTaxAmountByAccountNumber)(vatEntries, ['2'])) + ((_79 = (_78 = (_77 = payload === null || payload === void 0 ? void 0 : payload.vatControl) === null || _77 === void 0 ? void 0 : _77.deducted) === null || _78 === void 0 ? void 0 : _78.immobilization) !== null && _79 !== void 0 ? _79 : 0);
98
98
  const otherGoodsAndServices = (0, utils_1.setZeroIfIsNegative)((0, utils_1.getTaxAmountByAccountNumber)(vatEntries.filter((e) => vats.filter((v) => !v.isVatImportation).map((v) => v.id).includes(e.idVat)), ['6'])) + ((_82 = (_81 = (_80 = payload === null || payload === void 0 ? void 0 : payload.vatControl) === null || _80 === void 0 ? void 0 : _80.deducted) === null || _81 === void 0 ? void 0 : _81.abs) !== null && _82 !== void 0 ? _82 : 0);
99
99
  const otherDeductibles = (0, utils_1.setZeroIfIsNegative)((0, utils_1.getTaxAmountByAccountNumber)(vatEntries.filter((e) => vats.filter((v) => v.isVatImportation).map((v) => v.id).includes(e.idVat)), ['6'])) + ((_85 = (_84 = (_83 = payload === null || payload === void 0 ? void 0 : payload.vatControl) === null || _83 === void 0 ? void 0 : _83.deducted) === null || _84 === void 0 ? void 0 : _84.other) !== null && _85 !== void 0 ? _85 : 0);
100
- const report = (((_87 = (_86 = payload.vat) === null || _86 === void 0 ? void 0 : _86.deductible) === null || _87 === void 0 ? void 0 : _87.toReport) && ((_89 = (_88 = payload.vat) === null || _88 === void 0 ? void 0 : _88.deductible) === null || _89 === void 0 ? void 0 : _89.toReport) > 0 ? (0, lodash_1.round)((_92 = (_91 = (_90 = payload.vat) === null || _90 === void 0 ? void 0 : _90.deductible) === null || _91 === void 0 ? void 0 : _91.toReport) !== null && _92 !== void 0 ? _92 : 0) : (_95 = (_94 = (_93 = payload.previousVatDeclaration) === null || _93 === void 0 ? void 0 : _93.credit) === null || _94 === void 0 ? void 0 : _94.toReport) !== null && _95 !== void 0 ? _95 : 0) + ((_98 = (_97 = (_96 = payload === null || payload === void 0 ? void 0 : payload.vatControl) === null || _96 === void 0 ? void 0 : _96.deducted) === null || _97 === void 0 ? void 0 : _97.reported) !== null && _98 !== void 0 ? _98 : 0);
100
+ const report = (((_87 = (_86 = payload.vat) === null || _86 === void 0 ? void 0 : _86.deductible) === null || _87 === void 0 ? void 0 : _87.toReport) && ((_89 = (_88 = payload.vat) === null || _88 === void 0 ? void 0 : _88.deductible) === null || _89 === void 0 ? void 0 : _89.toReport) >= 0 ? (0, lodash_1.round)((_92 = (_91 = (_90 = payload.vat) === null || _90 === void 0 ? void 0 : _90.deductible) === null || _91 === void 0 ? void 0 : _91.toReport) !== null && _92 !== void 0 ? _92 : 0) : (_95 = (_94 = (_93 = payload.previousVatDeclaration) === null || _93 === void 0 ? void 0 : _93.credit) === null || _94 === void 0 ? void 0 : _94.toReport) !== null && _95 !== void 0 ? _95 : 0) + ((_98 = (_97 = (_96 = payload === null || payload === void 0 ? void 0 : payload.vatControl) === null || _96 === void 0 ? void 0 : _96.deducted) === null || _97 === void 0 ? void 0 : _97.reported) !== null && _98 !== void 0 ? _98 : 0);
101
101
  const coefficient = (0, lodash_1.round)((_101 = (_100 = (_99 = payload.vat) === null || _99 === void 0 ? void 0 : _99.deductible) === null || _100 === void 0 ? void 0 : _100.coefficient) !== null && _101 !== void 0 ? _101 : 100, 2);
102
102
  const isNil = payload.isNil === true;
103
103
  const isHolidayDeposit = payload.isHolidayDeposit === true;