@silexpert/core 2.0.28-0 → 2.0.28

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 (649) hide show
  1. package/dist/api/resources/Alert.d.ts +7 -0
  2. package/dist/api/resources/Alert.d.ts.map +1 -0
  3. package/dist/api/resources/Alert.js +10 -0
  4. package/dist/api/resources/Alert.js.map +1 -0
  5. package/dist/api/resources/ExerciceNote.d.ts +10 -0
  6. package/dist/api/resources/ExerciceNote.d.ts.map +1 -0
  7. package/dist/api/resources/ExerciceNote.js +13 -0
  8. package/dist/api/resources/ExerciceNote.js.map +1 -0
  9. package/dist/api/resources/GeneralLedger.d.ts +4 -0
  10. package/dist/api/resources/GeneralLedger.d.ts.map +1 -1
  11. package/dist/api/resources/GeneralLedger.js +12 -0
  12. package/dist/api/resources/GeneralLedger.js.map +1 -1
  13. package/dist/api/resources/Mail.d.ts +10 -0
  14. package/dist/api/resources/Mail.d.ts.map +1 -1
  15. package/dist/api/resources/Mail.js +6 -0
  16. package/dist/api/resources/Mail.js.map +1 -1
  17. package/dist/api/resources/SocietyEvent.d.ts +7 -0
  18. package/dist/api/resources/SocietyEvent.d.ts.map +1 -0
  19. package/dist/api/resources/SocietyEvent.js +10 -0
  20. package/dist/api/resources/SocietyEvent.js.map +1 -0
  21. package/dist/api/resources/UnpaidCallHistory.d.ts +6 -0
  22. package/dist/api/resources/UnpaidCallHistory.d.ts.map +1 -0
  23. package/dist/api/resources/UnpaidCallHistory.js +7 -0
  24. package/dist/api/resources/UnpaidCallHistory.js.map +1 -0
  25. package/dist/api/resources/UserSpecialDay.d.ts +10 -0
  26. package/dist/api/resources/UserSpecialDay.d.ts.map +1 -0
  27. package/dist/api/resources/UserSpecialDay.js +24 -0
  28. package/dist/api/resources/UserSpecialDay.js.map +1 -0
  29. package/dist/api/resources.d.ts +10 -0
  30. package/dist/api/resources.d.ts.map +1 -1
  31. package/dist/api/resources.js +10 -0
  32. package/dist/api/resources.js.map +1 -1
  33. package/dist/types/Enum/CommercialGrade.d.ts +5 -0
  34. package/dist/types/Enum/CommercialGrade.d.ts.map +1 -1
  35. package/dist/types/Enum/CommercialGrade.js +6 -0
  36. package/dist/types/Enum/CommercialGrade.js.map +1 -1
  37. package/dist/types/Enum/Constitution.d.ts +7 -0
  38. package/dist/types/Enum/Constitution.d.ts.map +1 -0
  39. package/dist/types/Enum/Constitution.js +8 -0
  40. package/dist/types/Enum/Constitution.js.map +1 -0
  41. package/dist/types/Enum/ExerciceNoteType.d.ts +5 -0
  42. package/dist/types/Enum/ExerciceNoteType.d.ts.map +1 -0
  43. package/dist/types/Enum/ExerciceNoteType.js +6 -0
  44. package/dist/types/Enum/ExerciceNoteType.js.map +1 -0
  45. package/dist/types/Enum/{JuridicalSocietyEnum.d.ts → JuridicalSociety.d.ts} +1 -1
  46. package/dist/types/Enum/JuridicalSociety.d.ts.map +1 -0
  47. package/dist/types/Enum/{JuridicalSocietyEnum.js → JuridicalSociety.js} +1 -1
  48. package/dist/types/Enum/JuridicalSociety.js.map +1 -0
  49. package/dist/types/Enum/UnpaidCallHistoryType.d.ts +10 -0
  50. package/dist/types/Enum/UnpaidCallHistoryType.d.ts.map +1 -0
  51. package/dist/types/Enum/UnpaidCallHistoryType.js +21 -0
  52. package/dist/types/Enum/UnpaidCallHistoryType.js.map +1 -0
  53. package/dist/types/Enum/VatDeclarationType.d.ts +2 -0
  54. package/dist/types/Enum/VatDeclarationType.d.ts.map +1 -1
  55. package/dist/types/Enum/VatDeclarationType.js +228 -0
  56. package/dist/types/Enum/VatDeclarationType.js.map +1 -1
  57. package/dist/types/Form/FormAuthenticate.d.ts +1 -0
  58. package/dist/types/Form/FormAuthenticate.d.ts.map +1 -1
  59. package/dist/types/Form/FormAuthenticate.js +6 -0
  60. package/dist/types/Form/FormAuthenticate.js.map +1 -1
  61. package/dist/types/Interface/api/SocietyApproval.d.ts +1 -0
  62. package/dist/types/Interface/api/SocietyApproval.d.ts.map +1 -1
  63. package/dist/types/Interface/api/SocietyApproval.js +7 -0
  64. package/dist/types/Interface/api/SocietyApproval.js.map +1 -1
  65. package/dist/types/Interface/api/alert/CreateAlert.d.ts +13 -0
  66. package/dist/types/Interface/api/alert/CreateAlert.d.ts.map +1 -0
  67. package/dist/types/Interface/api/alert/CreateAlert.js +95 -0
  68. package/dist/types/Interface/api/alert/CreateAlert.js.map +1 -0
  69. package/dist/types/Interface/api/calendarEvent/createCalendarEvent.d.ts +1 -0
  70. package/dist/types/Interface/api/calendarEvent/createCalendarEvent.d.ts.map +1 -1
  71. package/dist/types/Interface/api/calendarEvent/createCalendarEvent.js +5 -0
  72. package/dist/types/Interface/api/calendarEvent/createCalendarEvent.js.map +1 -1
  73. package/dist/types/Interface/api/calendarEvent/createCalendarEventForUsers.d.ts +1 -0
  74. package/dist/types/Interface/api/calendarEvent/createCalendarEventForUsers.d.ts.map +1 -1
  75. package/dist/types/Interface/api/calendarEvent/createCalendarEventForUsers.js +5 -0
  76. package/dist/types/Interface/api/calendarEvent/createCalendarEventForUsers.js.map +1 -1
  77. package/dist/types/Interface/api/calendarEvent/query.js +1 -1
  78. package/dist/types/Interface/api/calendarEvent/query.js.map +1 -1
  79. package/dist/types/Interface/api/calendarEvent/updateCalendarEvent.d.ts +1 -0
  80. package/dist/types/Interface/api/calendarEvent/updateCalendarEvent.d.ts.map +1 -1
  81. package/dist/types/Interface/api/calendarEvent/updateCalendarEvent.js +5 -0
  82. package/dist/types/Interface/api/calendarEvent/updateCalendarEvent.js.map +1 -1
  83. package/dist/types/Interface/api/checklist/Read.d.ts +1 -0
  84. package/dist/types/Interface/api/checklist/Read.d.ts.map +1 -1
  85. package/dist/types/Interface/api/checklist/Read.js.map +1 -1
  86. package/dist/types/Interface/api/commercialManagement/Create.d.ts +7 -0
  87. package/dist/types/Interface/api/commercialManagement/Create.d.ts.map +1 -1
  88. package/dist/types/Interface/api/commercialManagement/Create.js +32 -0
  89. package/dist/types/Interface/api/commercialManagement/Create.js.map +1 -1
  90. package/dist/types/Interface/api/config/ConfigType.d.ts +2 -0
  91. package/dist/types/Interface/api/config/ConfigType.d.ts.map +1 -1
  92. package/dist/types/Interface/api/config/ConfigType.js.map +1 -1
  93. package/dist/types/Interface/api/exerciceNote/CreateExerciceNote.d.ts +9 -0
  94. package/dist/types/Interface/api/exerciceNote/CreateExerciceNote.d.ts.map +1 -0
  95. package/dist/types/Interface/api/exerciceNote/CreateExerciceNote.js +31 -0
  96. package/dist/types/Interface/api/exerciceNote/CreateExerciceNote.js.map +1 -0
  97. package/dist/types/Interface/api/exerciceNote/QueryExerciceNote.d.ts +5 -0
  98. package/dist/types/Interface/api/exerciceNote/QueryExerciceNote.d.ts.map +1 -0
  99. package/dist/types/Interface/api/exerciceNote/QueryExerciceNote.js +19 -0
  100. package/dist/types/Interface/api/exerciceNote/QueryExerciceNote.js.map +1 -0
  101. package/dist/types/Interface/api/payment/Util.d.ts.map +1 -1
  102. package/dist/types/Interface/api/payment/Util.js.map +1 -1
  103. package/dist/types/Interface/api/prestation/Query.d.ts +1 -0
  104. package/dist/types/Interface/api/prestation/Query.d.ts.map +1 -1
  105. package/dist/types/Interface/api/prestation/Query.js +8 -0
  106. package/dist/types/Interface/api/prestation/Query.js.map +1 -1
  107. package/dist/types/Interface/api/registration/CreateRegistration.d.ts +4 -0
  108. package/dist/types/Interface/api/registration/CreateRegistration.d.ts.map +1 -1
  109. package/dist/types/Interface/api/registration/CreateRegistration.js +14 -0
  110. package/dist/types/Interface/api/registration/CreateRegistration.js.map +1 -1
  111. package/dist/types/Interface/api/revision/Read.d.ts +2 -0
  112. package/dist/types/Interface/api/revision/Read.d.ts.map +1 -1
  113. package/dist/types/Interface/api/revision/Read.js.map +1 -1
  114. package/dist/types/Interface/api/society/QuerySociety.d.ts.map +1 -1
  115. package/dist/types/Interface/api/society/QuerySociety.js +1 -0
  116. package/dist/types/Interface/api/society/QuerySociety.js.map +1 -1
  117. package/dist/types/Interface/api/societyConfig/update.d.ts +13 -0
  118. package/dist/types/Interface/api/societyConfig/update.d.ts.map +1 -1
  119. package/dist/types/Interface/api/societyConfig/update.js +100 -0
  120. package/dist/types/Interface/api/societyConfig/update.js.map +1 -1
  121. package/dist/types/Interface/api/societyEvent/CreateSocietyEvent.d.ts +6 -0
  122. package/dist/types/Interface/api/societyEvent/CreateSocietyEvent.d.ts.map +1 -0
  123. package/dist/types/Interface/api/societyEvent/CreateSocietyEvent.js +24 -0
  124. package/dist/types/Interface/api/societyEvent/CreateSocietyEvent.js.map +1 -0
  125. package/dist/types/Interface/api/societyEvent/QuerySocietyEvent.d.ts +5 -0
  126. package/dist/types/Interface/api/societyEvent/QuerySocietyEvent.d.ts.map +1 -0
  127. package/dist/types/Interface/api/societyEvent/QuerySocietyEvent.js +18 -0
  128. package/dist/types/Interface/api/societyEvent/QuerySocietyEvent.js.map +1 -0
  129. package/dist/types/Interface/api/terminationList/CreateTerminationList.d.ts +2 -0
  130. package/dist/types/Interface/api/terminationList/CreateTerminationList.d.ts.map +1 -1
  131. package/dist/types/Interface/api/terminationList/CreateTerminationList.js +16 -0
  132. package/dist/types/Interface/api/terminationList/CreateTerminationList.js.map +1 -1
  133. package/dist/types/Interface/api/terminationList/DestroyTerminationList.d.ts +2 -0
  134. package/dist/types/Interface/api/terminationList/DestroyTerminationList.d.ts.map +1 -1
  135. package/dist/types/Interface/api/terminationList/DestroyTerminationList.js +16 -0
  136. package/dist/types/Interface/api/terminationList/DestroyTerminationList.js.map +1 -1
  137. package/dist/types/Interface/api/terminationList/QueryTerminationList.d.ts +2 -0
  138. package/dist/types/Interface/api/terminationList/QueryTerminationList.d.ts.map +1 -1
  139. package/dist/types/Interface/api/terminationList/QueryTerminationList.js +16 -0
  140. package/dist/types/Interface/api/terminationList/QueryTerminationList.js.map +1 -1
  141. package/dist/types/Interface/api/user/Permissions.d.ts +2 -0
  142. package/dist/types/Interface/api/user/Permissions.d.ts.map +1 -1
  143. package/dist/types/Interface/api/user/Permissions.js.map +1 -1
  144. package/dist/types/Interface/api/user/UpdateCoworker.d.ts +5 -1
  145. package/dist/types/Interface/api/user/UpdateCoworker.d.ts.map +1 -1
  146. package/dist/types/Interface/api/user/UpdateCoworker.js +11 -1
  147. package/dist/types/Interface/api/user/UpdateCoworker.js.map +1 -1
  148. package/dist/types/Interface/api/userSpecialDay/BodyUserSpecialDay.d.ts +14 -0
  149. package/dist/types/Interface/api/userSpecialDay/BodyUserSpecialDay.d.ts.map +1 -0
  150. package/dist/types/Interface/api/userSpecialDay/BodyUserSpecialDay.js +66 -0
  151. package/dist/types/Interface/api/userSpecialDay/BodyUserSpecialDay.js.map +1 -0
  152. package/dist/types/Interface/api/userSpecialDay/QueryUserSpecialDay.d.ts +8 -0
  153. package/dist/types/Interface/api/userSpecialDay/QueryUserSpecialDay.d.ts.map +1 -0
  154. package/dist/types/Interface/api/userSpecialDay/QueryUserSpecialDay.js +41 -0
  155. package/dist/types/Interface/api/userSpecialDay/QueryUserSpecialDay.js.map +1 -0
  156. package/dist/types/Interface/api/webmail/MigrateMailAddresses.d.ts +9 -0
  157. package/dist/types/Interface/api/webmail/MigrateMailAddresses.d.ts.map +1 -0
  158. package/dist/types/Interface/api/webmail/MigrateMailAddresses.js +42 -0
  159. package/dist/types/Interface/api/webmail/MigrateMailAddresses.js.map +1 -0
  160. package/dist/types/Interface/api/webmail/PostAttachmentEmailFromLambdaParams.d.ts +15 -0
  161. package/dist/types/Interface/api/webmail/PostAttachmentEmailFromLambdaParams.d.ts.map +1 -1
  162. package/dist/types/Interface/api/webmail/PostAttachmentEmailFromLambdaParams.js +69 -1
  163. package/dist/types/Interface/api/webmail/PostAttachmentEmailFromLambdaParams.js.map +1 -1
  164. package/dist/types/Interface/models/IAccount.d.ts +4 -1
  165. package/dist/types/Interface/models/IAccount.d.ts.map +1 -1
  166. package/dist/types/Interface/models/IAccount.js +4 -1
  167. package/dist/types/Interface/models/IAccount.js.map +1 -1
  168. package/dist/types/Interface/models/IAccountantTracker.d.ts +12 -0
  169. package/dist/types/Interface/models/IAccountantTracker.d.ts.map +1 -0
  170. package/dist/types/Interface/models/IAccountantTracker.js +13 -0
  171. package/dist/types/Interface/models/IAccountantTracker.js.map +1 -0
  172. package/dist/types/Interface/models/IAccountingFile.d.ts +2 -1
  173. package/dist/types/Interface/models/IAccountingFile.d.ts.map +1 -1
  174. package/dist/types/Interface/models/IAccountingFile.js +1 -0
  175. package/dist/types/Interface/models/IAccountingFile.js.map +1 -1
  176. package/dist/types/Interface/models/IAccountingState.d.ts +19 -0
  177. package/dist/types/Interface/models/IAccountingState.d.ts.map +1 -0
  178. package/dist/types/Interface/models/IAccountingState.js +18 -0
  179. package/dist/types/Interface/models/IAccountingState.js.map +1 -0
  180. package/dist/types/Interface/models/IAccountingStateType.d.ts +7 -0
  181. package/dist/types/Interface/models/IAccountingStateType.d.ts.map +1 -0
  182. package/dist/types/Interface/models/IAccountingStateType.js +8 -0
  183. package/dist/types/Interface/models/IAccountingStateType.js.map +1 -0
  184. package/dist/types/Interface/models/IAccountingTransaction.d.ts +5 -0
  185. package/dist/types/Interface/models/IAccountingTransaction.d.ts.map +1 -1
  186. package/dist/types/Interface/models/IAccountingTransaction.js +5 -0
  187. package/dist/types/Interface/models/IAccountingTransaction.js.map +1 -1
  188. package/dist/types/Interface/models/IAlert.d.ts +17 -0
  189. package/dist/types/Interface/models/IAlert.d.ts.map +1 -0
  190. package/dist/types/Interface/models/IAlert.js +18 -0
  191. package/dist/types/Interface/models/IAlert.js.map +1 -0
  192. package/dist/types/Interface/models/IAppConfig.d.ts +8 -0
  193. package/dist/types/Interface/models/IAppConfig.d.ts.map +1 -0
  194. package/dist/types/Interface/models/IAppConfig.js +9 -0
  195. package/dist/types/Interface/models/IAppConfig.js.map +1 -0
  196. package/dist/types/Interface/models/IAreasInvoice.d.ts +13 -0
  197. package/dist/types/Interface/models/IAreasInvoice.d.ts.map +1 -0
  198. package/dist/types/Interface/models/IAreasInvoice.js +14 -0
  199. package/dist/types/Interface/models/IAreasInvoice.js.map +1 -0
  200. package/dist/types/Interface/models/IAttachmentFile.d.ts +17 -0
  201. package/dist/types/Interface/models/IAttachmentFile.d.ts.map +1 -0
  202. package/dist/types/Interface/models/IAttachmentFile.js +16 -0
  203. package/dist/types/Interface/models/IAttachmentFile.js.map +1 -0
  204. package/dist/types/Interface/models/IBalanceSheetCompletion.d.ts +2 -1
  205. package/dist/types/Interface/models/IBalanceSheetCompletion.d.ts.map +1 -1
  206. package/dist/types/Interface/models/IBalanceSheetCompletion.js +1 -0
  207. package/dist/types/Interface/models/IBalanceSheetCompletion.js.map +1 -1
  208. package/dist/types/Interface/models/IBalanceSheetStatus.d.ts +7 -0
  209. package/dist/types/Interface/models/IBalanceSheetStatus.d.ts.map +1 -0
  210. package/dist/types/Interface/models/IBalanceSheetStatus.js +7 -0
  211. package/dist/types/Interface/models/IBalanceSheetStatus.js.map +1 -0
  212. package/dist/types/Interface/models/IBankList.d.ts +10 -0
  213. package/dist/types/Interface/models/IBankList.d.ts.map +1 -1
  214. package/dist/types/Interface/models/IBankList.js +10 -0
  215. package/dist/types/Interface/models/IBankList.js.map +1 -1
  216. package/dist/types/Interface/models/IBusinessLine.d.ts +2 -0
  217. package/dist/types/Interface/models/IBusinessLine.d.ts.map +1 -1
  218. package/dist/types/Interface/models/IBusinessLine.js +3 -0
  219. package/dist/types/Interface/models/IBusinessLine.js.map +1 -1
  220. package/dist/types/Interface/models/ICalendarEvent.d.ts +5 -0
  221. package/dist/types/Interface/models/ICalendarEvent.d.ts.map +1 -1
  222. package/dist/types/Interface/models/ICalendarEvent.js +3 -0
  223. package/dist/types/Interface/models/ICalendarEvent.js.map +1 -1
  224. package/dist/types/Interface/models/ICategory.d.ts +9 -0
  225. package/dist/types/Interface/models/ICategory.d.ts.map +1 -0
  226. package/dist/types/Interface/models/ICategory.js +10 -0
  227. package/dist/types/Interface/models/ICategory.js.map +1 -0
  228. package/dist/types/Interface/models/ICerfaValue.d.ts +11 -0
  229. package/dist/types/Interface/models/ICerfaValue.d.ts.map +1 -0
  230. package/dist/types/Interface/models/ICerfaValue.js +12 -0
  231. package/dist/types/Interface/models/ICerfaValue.js.map +1 -0
  232. package/dist/types/Interface/models/IChecklist.d.ts +2 -0
  233. package/dist/types/Interface/models/IChecklist.d.ts.map +1 -1
  234. package/dist/types/Interface/models/IChecklist.js +1 -0
  235. package/dist/types/Interface/models/IChecklist.js.map +1 -1
  236. package/dist/types/Interface/models/IColor.d.ts +7 -0
  237. package/dist/types/Interface/models/IColor.d.ts.map +1 -0
  238. package/dist/types/Interface/models/IColor.js +8 -0
  239. package/dist/types/Interface/models/IColor.js.map +1 -0
  240. package/dist/types/Interface/models/ICustomerVat.d.ts +3 -0
  241. package/dist/types/Interface/models/ICustomerVat.d.ts.map +1 -1
  242. package/dist/types/Interface/models/ICustomerVat.js +2 -0
  243. package/dist/types/Interface/models/ICustomerVat.js.map +1 -1
  244. package/dist/types/Interface/models/ICustomisation.d.ts +11 -0
  245. package/dist/types/Interface/models/ICustomisation.d.ts.map +1 -0
  246. package/dist/types/Interface/models/ICustomisation.js +12 -0
  247. package/dist/types/Interface/models/ICustomisation.js.map +1 -0
  248. package/dist/types/Interface/models/ICustomizationType.d.ts +7 -0
  249. package/dist/types/Interface/models/ICustomizationType.d.ts.map +1 -0
  250. package/dist/types/Interface/models/ICustomizationType.js +8 -0
  251. package/dist/types/Interface/models/ICustomizationType.js.map +1 -0
  252. package/dist/types/Interface/models/IDay.d.ts +7 -0
  253. package/dist/types/Interface/models/IDay.d.ts.map +1 -0
  254. package/dist/types/Interface/models/IDay.js +8 -0
  255. package/dist/types/Interface/models/IDay.js.map +1 -0
  256. package/dist/types/Interface/models/IDetailedLogBi.d.ts +19 -0
  257. package/dist/types/Interface/models/IDetailedLogBi.d.ts.map +1 -0
  258. package/dist/types/Interface/models/IDetailedLogBi.js +20 -0
  259. package/dist/types/Interface/models/IDetailedLogBi.js.map +1 -0
  260. package/dist/types/Interface/models/IEmployee.d.ts +3 -0
  261. package/dist/types/Interface/models/IEmployee.d.ts.map +1 -1
  262. package/dist/types/Interface/models/IEmployee.js +2 -0
  263. package/dist/types/Interface/models/IEmployee.js.map +1 -1
  264. package/dist/types/Interface/models/IEstimateInvoice.d.ts +4 -1
  265. package/dist/types/Interface/models/IEstimateInvoice.d.ts.map +1 -1
  266. package/dist/types/Interface/models/IEstimateInvoice.js +3 -1
  267. package/dist/types/Interface/models/IEstimateInvoice.js.map +1 -1
  268. package/dist/types/Interface/models/IEstimateInvoiceRepeat.d.ts +13 -0
  269. package/dist/types/Interface/models/IEstimateInvoiceRepeat.d.ts.map +1 -0
  270. package/dist/types/Interface/models/IEstimateInvoiceRepeat.js +14 -0
  271. package/dist/types/Interface/models/IEstimateInvoiceRepeat.js.map +1 -0
  272. package/dist/types/Interface/models/IExerciceNote.d.ts +15 -0
  273. package/dist/types/Interface/models/IExerciceNote.d.ts.map +1 -0
  274. package/dist/types/Interface/models/IExerciceNote.js +13 -0
  275. package/dist/types/Interface/models/IExerciceNote.js.map +1 -0
  276. package/dist/types/Interface/models/IFailedLoginAttempt.d.ts +10 -0
  277. package/dist/types/Interface/models/IFailedLoginAttempt.d.ts.map +1 -0
  278. package/dist/types/Interface/models/IFailedLoginAttempt.js +11 -0
  279. package/dist/types/Interface/models/IFailedLoginAttempt.js.map +1 -0
  280. package/dist/types/Interface/models/IFile.d.ts +2 -0
  281. package/dist/types/Interface/models/IFile.d.ts.map +1 -1
  282. package/dist/types/Interface/models/IFile.js +1 -0
  283. package/dist/types/Interface/models/IFile.js.map +1 -1
  284. package/dist/types/Interface/models/IFileMissing.d.ts +13 -0
  285. package/dist/types/Interface/models/IFileMissing.d.ts.map +1 -0
  286. package/dist/types/Interface/models/IFileMissing.js +14 -0
  287. package/dist/types/Interface/models/IFileMissing.js.map +1 -0
  288. package/dist/types/Interface/models/IFrequency.d.ts +7 -0
  289. package/dist/types/Interface/models/IFrequency.d.ts.map +1 -0
  290. package/dist/types/Interface/models/IFrequency.js +8 -0
  291. package/dist/types/Interface/models/IFrequency.js.map +1 -0
  292. package/dist/types/Interface/models/IInternalEstimate.d.ts +14 -0
  293. package/dist/types/Interface/models/IInternalEstimate.d.ts.map +1 -0
  294. package/dist/types/Interface/models/IInternalEstimate.js +15 -0
  295. package/dist/types/Interface/models/IInternalEstimate.js.map +1 -0
  296. package/dist/types/Interface/models/IKilometricAllowanceScale.d.ts +10 -0
  297. package/dist/types/Interface/models/IKilometricAllowanceScale.d.ts.map +1 -0
  298. package/dist/types/Interface/models/IKilometricAllowanceScale.js +11 -0
  299. package/dist/types/Interface/models/IKilometricAllowanceScale.js.map +1 -0
  300. package/dist/types/Interface/models/ILabelPaymentWaiting.d.ts +7 -0
  301. package/dist/types/Interface/models/ILabelPaymentWaiting.d.ts.map +1 -0
  302. package/dist/types/Interface/models/ILabelPaymentWaiting.js +8 -0
  303. package/dist/types/Interface/models/ILabelPaymentWaiting.js.map +1 -0
  304. package/dist/types/Interface/models/ILastUpdateConnection.d.ts +11 -0
  305. package/dist/types/Interface/models/ILastUpdateConnection.d.ts.map +1 -0
  306. package/dist/types/Interface/models/ILastUpdateConnection.js +11 -0
  307. package/dist/types/Interface/models/ILastUpdateConnection.js.map +1 -0
  308. package/dist/types/Interface/models/ILogBi.d.ts +12 -0
  309. package/dist/types/Interface/models/ILogBi.d.ts.map +1 -0
  310. package/dist/types/Interface/models/ILogBi.js +13 -0
  311. package/dist/types/Interface/models/ILogBi.js.map +1 -0
  312. package/dist/types/Interface/models/IMail.d.ts +1 -0
  313. package/dist/types/Interface/models/IMail.d.ts.map +1 -1
  314. package/dist/types/Interface/models/IMail.js +1 -0
  315. package/dist/types/Interface/models/IMail.js.map +1 -1
  316. package/dist/types/Interface/models/IMailRelation.d.ts +12 -0
  317. package/dist/types/Interface/models/IMailRelation.d.ts.map +1 -0
  318. package/dist/types/Interface/models/IMailRelation.js +12 -0
  319. package/dist/types/Interface/models/IMailRelation.js.map +1 -0
  320. package/dist/types/Interface/models/IMobileNotificationLog.d.ts +4 -0
  321. package/dist/types/Interface/models/IMobileNotificationLog.d.ts.map +1 -1
  322. package/dist/types/Interface/models/IMobileNotificationLog.js +4 -0
  323. package/dist/types/Interface/models/IMobileNotificationLog.js.map +1 -1
  324. package/dist/types/Interface/models/IMonth.d.ts +7 -0
  325. package/dist/types/Interface/models/IMonth.d.ts.map +1 -0
  326. package/dist/types/Interface/models/IMonth.js +8 -0
  327. package/dist/types/Interface/models/IMonth.js.map +1 -0
  328. package/dist/types/Interface/models/INote.d.ts +8 -0
  329. package/dist/types/Interface/models/INote.d.ts.map +1 -0
  330. package/dist/types/Interface/models/INote.js +9 -0
  331. package/dist/types/Interface/models/INote.js.map +1 -0
  332. package/dist/types/Interface/models/IPayPlan.d.ts +7 -0
  333. package/dist/types/Interface/models/IPayPlan.d.ts.map +1 -0
  334. package/dist/types/Interface/models/IPayPlan.js +8 -0
  335. package/dist/types/Interface/models/IPayPlan.js.map +1 -0
  336. package/dist/types/Interface/models/IPaymentDelay.d.ts +7 -0
  337. package/dist/types/Interface/models/IPaymentDelay.d.ts.map +1 -0
  338. package/dist/types/Interface/models/IPaymentDelay.js +8 -0
  339. package/dist/types/Interface/models/IPaymentDelay.js.map +1 -0
  340. package/dist/types/Interface/models/IPaymentWaiting.d.ts +19 -0
  341. package/dist/types/Interface/models/IPaymentWaiting.d.ts.map +1 -0
  342. package/dist/types/Interface/models/IPaymentWaiting.js +19 -0
  343. package/dist/types/Interface/models/IPaymentWaiting.js.map +1 -0
  344. package/dist/types/Interface/models/IPermission.d.ts +2 -0
  345. package/dist/types/Interface/models/IPermission.d.ts.map +1 -1
  346. package/dist/types/Interface/models/IPermission.js +2 -0
  347. package/dist/types/Interface/models/IPermission.js.map +1 -1
  348. package/dist/types/Interface/models/IPhoneNumber.d.ts +10 -0
  349. package/dist/types/Interface/models/IPhoneNumber.d.ts.map +1 -0
  350. package/dist/types/Interface/models/IPhoneNumber.js +11 -0
  351. package/dist/types/Interface/models/IPhoneNumber.js.map +1 -0
  352. package/dist/types/Interface/models/IPhonePrefix.d.ts +10 -0
  353. package/dist/types/Interface/models/IPhonePrefix.d.ts.map +1 -0
  354. package/dist/types/Interface/models/IPhonePrefix.js +11 -0
  355. package/dist/types/Interface/models/IPhonePrefix.js.map +1 -0
  356. package/dist/types/Interface/models/IPhonePrefixChild.d.ts +8 -0
  357. package/dist/types/Interface/models/IPhonePrefixChild.d.ts.map +1 -0
  358. package/dist/types/Interface/models/IPhonePrefixChild.js +9 -0
  359. package/dist/types/Interface/models/IPhonePrefixChild.js.map +1 -0
  360. package/dist/types/Interface/models/IPrestation.d.ts +2 -0
  361. package/dist/types/Interface/models/IPrestation.d.ts.map +1 -1
  362. package/dist/types/Interface/models/IPrestation.js +3 -0
  363. package/dist/types/Interface/models/IPrestation.js.map +1 -1
  364. package/dist/types/Interface/models/IQuotaLead.d.ts +14 -0
  365. package/dist/types/Interface/models/IQuotaLead.d.ts.map +1 -0
  366. package/dist/types/Interface/models/IQuotaLead.js +15 -0
  367. package/dist/types/Interface/models/IQuotaLead.js.map +1 -0
  368. package/dist/types/Interface/models/IRefundMotif.d.ts +7 -0
  369. package/dist/types/Interface/models/IRefundMotif.d.ts.map +1 -0
  370. package/dist/types/Interface/models/IRefundMotif.js +9 -0
  371. package/dist/types/Interface/models/IRefundMotif.js.map +1 -0
  372. package/dist/types/Interface/models/IRegion.d.ts +7 -0
  373. package/dist/types/Interface/models/IRegion.d.ts.map +1 -0
  374. package/dist/types/Interface/models/IRegion.js +8 -0
  375. package/dist/types/Interface/models/IRegion.js.map +1 -0
  376. package/dist/types/Interface/models/IRegistrationCertificate.d.ts +3 -0
  377. package/dist/types/Interface/models/IRegistrationCertificate.d.ts.map +1 -1
  378. package/dist/types/Interface/models/IRegistrationCertificate.js +2 -0
  379. package/dist/types/Interface/models/IRegistrationCertificate.js.map +1 -1
  380. package/dist/types/Interface/models/IRepeatType.d.ts +7 -0
  381. package/dist/types/Interface/models/IRepeatType.d.ts.map +1 -0
  382. package/dist/types/Interface/models/IRepeatType.js +8 -0
  383. package/dist/types/Interface/models/IRepeatType.js.map +1 -0
  384. package/dist/types/Interface/models/IRoom.d.ts +7 -0
  385. package/dist/types/Interface/models/IRoom.d.ts.map +1 -0
  386. package/dist/types/Interface/models/IRoom.js +8 -0
  387. package/dist/types/Interface/models/IRoom.js.map +1 -0
  388. package/dist/types/Interface/models/ISchedule.d.ts +12 -0
  389. package/dist/types/Interface/models/ISchedule.d.ts.map +1 -0
  390. package/dist/types/Interface/models/ISchedule.js +13 -0
  391. package/dist/types/Interface/models/ISchedule.js.map +1 -0
  392. package/dist/types/Interface/models/IService.d.ts +7 -0
  393. package/dist/types/Interface/models/IService.d.ts.map +1 -0
  394. package/dist/types/Interface/models/IService.js +8 -0
  395. package/dist/types/Interface/models/IService.js.map +1 -0
  396. package/dist/types/Interface/models/ISheetMonthSchedule.d.ts +2 -0
  397. package/dist/types/Interface/models/ISheetMonthSchedule.d.ts.map +1 -1
  398. package/dist/types/Interface/models/ISheetMonthSchedule.js +1 -0
  399. package/dist/types/Interface/models/ISheetMonthSchedule.js.map +1 -1
  400. package/dist/types/Interface/models/ISociety.d.ts +47 -1
  401. package/dist/types/Interface/models/ISociety.d.ts.map +1 -1
  402. package/dist/types/Interface/models/ISociety.js +41 -0
  403. package/dist/types/Interface/models/ISociety.js.map +1 -1
  404. package/dist/types/Interface/models/ISocietyApproval.d.ts +3 -0
  405. package/dist/types/Interface/models/ISocietyApproval.d.ts.map +1 -1
  406. package/dist/types/Interface/models/ISocietyApproval.js +2 -0
  407. package/dist/types/Interface/models/ISocietyApproval.js.map +1 -1
  408. package/dist/types/Interface/models/ISocietyBudgetConnection.d.ts +9 -0
  409. package/dist/types/Interface/models/ISocietyBudgetConnection.d.ts.map +1 -0
  410. package/dist/types/Interface/models/ISocietyBudgetConnection.js +10 -0
  411. package/dist/types/Interface/models/ISocietyBudgetConnection.js.map +1 -0
  412. package/dist/types/Interface/models/ISocietyConfig.d.ts +14 -0
  413. package/dist/types/Interface/models/ISocietyConfig.d.ts.map +1 -1
  414. package/dist/types/Interface/models/ISocietyConfig.js +14 -0
  415. package/dist/types/Interface/models/ISocietyConfig.js.map +1 -1
  416. package/dist/types/Interface/models/ISocietyDetail.d.ts +58 -0
  417. package/dist/types/Interface/models/ISocietyDetail.d.ts.map +1 -1
  418. package/dist/types/Interface/models/ISocietyDetail.js +58 -0
  419. package/dist/types/Interface/models/ISocietyDetail.js.map +1 -1
  420. package/dist/types/Interface/models/ISocietyEvent.d.ts +12 -0
  421. package/dist/types/Interface/models/ISocietyEvent.d.ts.map +1 -0
  422. package/dist/types/Interface/models/ISocietyEvent.js +11 -0
  423. package/dist/types/Interface/models/ISocietyEvent.js.map +1 -0
  424. package/dist/types/Interface/models/ISocietyFile.d.ts +16 -0
  425. package/dist/types/Interface/models/ISocietyFile.d.ts.map +1 -0
  426. package/dist/types/Interface/models/ISocietyFile.js +17 -0
  427. package/dist/types/Interface/models/ISocietyFile.js.map +1 -0
  428. package/dist/types/Interface/models/ISocietyGescom.d.ts +6 -0
  429. package/dist/types/Interface/models/ISocietyGescom.d.ts.map +1 -1
  430. package/dist/types/Interface/models/ISocietyGescom.js +6 -0
  431. package/dist/types/Interface/models/ISocietyGescom.js.map +1 -1
  432. package/dist/types/Interface/models/ISocietyNote.d.ts +7 -0
  433. package/dist/types/Interface/models/ISocietyNote.d.ts.map +1 -0
  434. package/dist/types/Interface/models/ISocietyNote.js +8 -0
  435. package/dist/types/Interface/models/ISocietyNote.js.map +1 -0
  436. package/dist/types/Interface/models/IStripeEvent.d.ts +12 -0
  437. package/dist/types/Interface/models/IStripeEvent.d.ts.map +1 -0
  438. package/dist/types/Interface/models/IStripeEvent.js +13 -0
  439. package/dist/types/Interface/models/IStripeEvent.js.map +1 -0
  440. package/dist/types/Interface/models/IStripeEventType.d.ts +7 -0
  441. package/dist/types/Interface/models/IStripeEventType.d.ts.map +1 -0
  442. package/dist/types/Interface/models/IStripeEventType.js +8 -0
  443. package/dist/types/Interface/models/IStripeEventType.js.map +1 -0
  444. package/dist/types/Interface/models/ITeam.d.ts +2 -0
  445. package/dist/types/Interface/models/ITeam.d.ts.map +1 -1
  446. package/dist/types/Interface/models/ITeam.js +1 -0
  447. package/dist/types/Interface/models/ITeam.js.map +1 -1
  448. package/dist/types/Interface/models/ITeamBusinessLine.d.ts +8 -0
  449. package/dist/types/Interface/models/ITeamBusinessLine.d.ts.map +1 -0
  450. package/dist/types/Interface/models/ITeamBusinessLine.js +9 -0
  451. package/dist/types/Interface/models/ITeamBusinessLine.js.map +1 -0
  452. package/dist/types/Interface/models/ITerminationList.d.ts +2 -0
  453. package/dist/types/Interface/models/ITerminationList.d.ts.map +1 -1
  454. package/dist/types/Interface/models/ITerminationList.js +4 -0
  455. package/dist/types/Interface/models/ITerminationList.js.map +1 -1
  456. package/dist/types/Interface/models/ITimeRecorder.d.ts.map +1 -1
  457. package/dist/types/Interface/models/ITimeRecorder.js +1 -0
  458. package/dist/types/Interface/models/ITimeRecorder.js.map +1 -1
  459. package/dist/types/Interface/models/IUnpaidCallHistory.d.ts +14 -0
  460. package/dist/types/Interface/models/IUnpaidCallHistory.d.ts.map +1 -0
  461. package/dist/types/Interface/models/IUnpaidCallHistory.js +13 -0
  462. package/dist/types/Interface/models/IUnpaidCallHistory.js.map +1 -0
  463. package/dist/types/Interface/models/IUpToDateBankAccount.d.ts +9 -0
  464. package/dist/types/Interface/models/IUpToDateBankAccount.d.ts.map +1 -1
  465. package/dist/types/Interface/models/IUpToDateBankAccount.js +7 -0
  466. package/dist/types/Interface/models/IUpToDateBankAccount.js.map +1 -1
  467. package/dist/types/Interface/models/IUser.d.ts +22 -0
  468. package/dist/types/Interface/models/IUser.d.ts.map +1 -1
  469. package/dist/types/Interface/models/IUser.js +23 -0
  470. package/dist/types/Interface/models/IUser.js.map +1 -1
  471. package/dist/types/Interface/models/IUserSpecialDay.d.ts +14 -0
  472. package/dist/types/Interface/models/IUserSpecialDay.d.ts.map +1 -0
  473. package/dist/types/Interface/models/IUserSpecialDay.js +14 -0
  474. package/dist/types/Interface/models/IUserSpecialDay.js.map +1 -0
  475. package/dist/types/Interface/models/IVatDeclaration.d.ts +118 -0
  476. package/dist/types/Interface/models/IVatDeclaration.d.ts.map +1 -0
  477. package/dist/types/Interface/models/IVatDeclaration.js +113 -0
  478. package/dist/types/Interface/models/IVatDeclaration.js.map +1 -0
  479. package/dist/types/Interface/models/IWebMail.d.ts +64 -0
  480. package/dist/types/Interface/models/IWebMail.d.ts.map +1 -0
  481. package/dist/types/Interface/models/IWebMail.js +61 -0
  482. package/dist/types/Interface/models/IWebMail.js.map +1 -0
  483. package/dist/types/Interface/models/IWebMailAttachment.d.ts +8 -0
  484. package/dist/types/Interface/models/IWebMailAttachment.d.ts.map +1 -0
  485. package/dist/types/Interface/models/IWebMailAttachment.js +9 -0
  486. package/dist/types/Interface/models/IWebMailAttachment.js.map +1 -0
  487. package/dist/types/Interface/models/IWebMailStat.d.ts +9 -0
  488. package/dist/types/Interface/models/IWebMailStat.d.ts.map +1 -0
  489. package/dist/types/Interface/models/IWebMailStat.js +10 -0
  490. package/dist/types/Interface/models/IWebMailStat.js.map +1 -0
  491. package/dist/types/Interface/models/IWebMailType.d.ts +7 -0
  492. package/dist/types/Interface/models/IWebMailType.d.ts.map +1 -0
  493. package/dist/types/Interface/models/IWebMailType.js +8 -0
  494. package/dist/types/Interface/models/IWebMailType.js.map +1 -0
  495. package/dist/types/index.d.ts +67 -1
  496. package/dist/types/index.d.ts.map +1 -1
  497. package/dist/types/index.js +68 -1
  498. package/dist/types/index.js.map +1 -1
  499. package/dist/utils/commercialManagement/document.js +1 -1
  500. package/dist/utils/commercialManagement/document.js.map +1 -1
  501. package/dist/utils/payment.d.ts +1 -0
  502. package/dist/utils/payment.d.ts.map +1 -1
  503. package/dist/utils/payment.js +30 -3
  504. package/dist/utils/payment.js.map +1 -1
  505. package/dist/utils/prestation.d.ts +10 -2
  506. package/dist/utils/prestation.d.ts.map +1 -1
  507. package/dist/utils/prestation.js +27 -3
  508. package/dist/utils/prestation.js.map +1 -1
  509. package/dist/utils/societyApproval.d.ts +7 -0
  510. package/dist/utils/societyApproval.d.ts.map +1 -1
  511. package/dist/utils/societyApproval.js +12 -0
  512. package/dist/utils/societyApproval.js.map +1 -1
  513. package/dist/utils/tests/payment.spec.js +32 -0
  514. package/dist/utils/tests/payment.spec.js.map +1 -1
  515. package/package.json +1 -1
  516. package/ts/api/resources/Alert.ts +12 -0
  517. package/ts/api/resources/ExerciceNote.ts +16 -0
  518. package/ts/api/resources/GeneralLedger.ts +13 -0
  519. package/ts/api/resources/Mail.ts +8 -0
  520. package/ts/api/resources/SocietyEvent.ts +12 -0
  521. package/ts/api/resources/UnpaidCallHistory.ts +8 -0
  522. package/ts/api/resources/UserSpecialDay.ts +29 -0
  523. package/ts/api/resources.ts +10 -0
  524. package/ts/types/Enum/CommercialGrade.ts +6 -0
  525. package/ts/types/Enum/Constitution.ts +6 -0
  526. package/ts/types/Enum/ExerciceNoteType.ts +4 -0
  527. package/ts/types/Enum/UnpaidCallHistoryType.ts +20 -0
  528. package/ts/types/Enum/VatDeclarationType.ts +230 -0
  529. package/ts/types/Form/FormAuthenticate.ts +4 -0
  530. package/ts/types/Interface/api/SocietyApproval.ts +5 -0
  531. package/ts/types/Interface/api/alert/CreateAlert.ts +65 -0
  532. package/ts/types/Interface/api/calendarEvent/createCalendarEvent.ts +3 -0
  533. package/ts/types/Interface/api/calendarEvent/createCalendarEventForUsers.ts +3 -0
  534. package/ts/types/Interface/api/calendarEvent/query.ts +1 -1
  535. package/ts/types/Interface/api/calendarEvent/updateCalendarEvent.ts +3 -0
  536. package/ts/types/Interface/api/checklist/Read.ts +1 -0
  537. package/ts/types/Interface/api/commercialManagement/Create.ts +24 -0
  538. package/ts/types/Interface/api/config/ConfigType.ts +2 -0
  539. package/ts/types/Interface/api/exerciceNote/CreateExerciceNote.ts +15 -0
  540. package/ts/types/Interface/api/exerciceNote/QueryExerciceNote.ts +7 -0
  541. package/ts/types/Interface/api/payment/Util.ts +2 -0
  542. package/ts/types/Interface/api/prestation/Query.ts +6 -0
  543. package/ts/types/Interface/api/registration/CreateRegistration.ts +10 -0
  544. package/ts/types/Interface/api/revision/Read.ts +2 -0
  545. package/ts/types/Interface/api/society/QuerySociety.ts +1 -0
  546. package/ts/types/Interface/api/societyConfig/update.ts +74 -0
  547. package/ts/types/Interface/api/societyEvent/CreateSocietyEvent.ts +10 -0
  548. package/ts/types/Interface/api/societyEvent/QuerySocietyEvent.ts +7 -0
  549. package/ts/types/Interface/api/terminationList/CreateTerminationList.ts +12 -0
  550. package/ts/types/Interface/api/terminationList/DestroyTerminationList.ts +12 -0
  551. package/ts/types/Interface/api/terminationList/QueryTerminationList.ts +12 -0
  552. package/ts/types/Interface/api/user/Permissions.ts +2 -0
  553. package/ts/types/Interface/api/user/UpdateCoworker.ts +10 -1
  554. package/ts/types/Interface/api/userSpecialDay/BodyUserSpecialDay.ts +40 -0
  555. package/ts/types/Interface/api/userSpecialDay/QueryUserSpecialDay.ts +23 -0
  556. package/ts/types/Interface/api/webmail/MigrateMailAddresses.ts +23 -0
  557. package/ts/types/Interface/api/webmail/PostAttachmentEmailFromLambdaParams.ts +49 -1
  558. package/ts/types/Interface/models/IAccount.ts +4 -1
  559. package/ts/types/Interface/models/IAccountantTracker.ts +12 -0
  560. package/ts/types/Interface/models/IAccountingFile.ts +2 -1
  561. package/ts/types/Interface/models/IAccountingState.ts +22 -0
  562. package/ts/types/Interface/models/IAccountingStateType.ts +7 -0
  563. package/ts/types/Interface/models/IAccountingTransaction.ts +5 -0
  564. package/ts/types/Interface/models/IAlert.ts +17 -0
  565. package/ts/types/Interface/models/IAppConfig.ts +8 -0
  566. package/ts/types/Interface/models/IAreasInvoice.ts +16 -0
  567. package/ts/types/Interface/models/IAttachmentFile.ts +20 -0
  568. package/ts/types/Interface/models/IBalanceSheetCompletion.ts +2 -1
  569. package/ts/types/Interface/models/IBalanceSheetStatus.ts +7 -0
  570. package/ts/types/Interface/models/IBankList.ts +10 -0
  571. package/ts/types/Interface/models/IBusinessLine.ts +6 -0
  572. package/ts/types/Interface/models/ICalendarEvent.ts +5 -0
  573. package/ts/types/Interface/models/ICategory.ts +9 -0
  574. package/ts/types/Interface/models/ICerfaValue.ts +14 -0
  575. package/ts/types/Interface/models/IChecklist.ts +2 -0
  576. package/ts/types/Interface/models/IColor.ts +7 -0
  577. package/ts/types/Interface/models/ICustomerVat.ts +3 -0
  578. package/ts/types/Interface/models/ICustomisation.ts +11 -0
  579. package/ts/types/Interface/models/ICustomizationType.ts +7 -0
  580. package/ts/types/Interface/models/IDay.ts +7 -0
  581. package/ts/types/Interface/models/IDetailedLogBi.ts +19 -0
  582. package/ts/types/Interface/models/IEmployee.ts +3 -0
  583. package/ts/types/Interface/models/IEstimateInvoice.ts +4 -1
  584. package/ts/types/Interface/models/IEstimateInvoiceRepeat.ts +13 -0
  585. package/ts/types/Interface/models/IExerciceNote.ts +17 -0
  586. package/ts/types/Interface/models/IFailedLoginAttempt.ts +13 -0
  587. package/ts/types/Interface/models/IFile.ts +2 -0
  588. package/ts/types/Interface/models/IFileMissing.ts +13 -0
  589. package/ts/types/Interface/models/IFrequency.ts +7 -0
  590. package/ts/types/Interface/models/IInternalEstimate.ts +14 -0
  591. package/ts/types/Interface/models/IKilometricAllowanceScale.ts +10 -0
  592. package/ts/types/Interface/models/ILabelPaymentWaiting.ts +7 -0
  593. package/ts/types/Interface/models/ILastUpdateConnection.ts +13 -0
  594. package/ts/types/Interface/models/ILogBi.ts +12 -0
  595. package/ts/types/Interface/models/IMail.ts +1 -0
  596. package/ts/types/Interface/models/IMailRelation.ts +15 -0
  597. package/ts/types/Interface/models/IMobileNotificationLog.ts +4 -0
  598. package/ts/types/Interface/models/IMonth.ts +7 -0
  599. package/ts/types/Interface/models/INote.ts +8 -0
  600. package/ts/types/Interface/models/IPayPlan.ts +7 -0
  601. package/ts/types/Interface/models/IPaymentDelay.ts +7 -0
  602. package/ts/types/Interface/models/IPaymentWaiting.ts +22 -0
  603. package/ts/types/Interface/models/IPermission.ts +2 -0
  604. package/ts/types/Interface/models/IPhoneNumber.ts +10 -0
  605. package/ts/types/Interface/models/IPhonePrefix.ts +13 -0
  606. package/ts/types/Interface/models/IPhonePrefixChild.ts +8 -0
  607. package/ts/types/Interface/models/IPrestation.ts +3 -0
  608. package/ts/types/Interface/models/IQuotaLead.ts +17 -0
  609. package/ts/types/Interface/models/IRefundMotif.ts +8 -0
  610. package/ts/types/Interface/models/IRegion.ts +7 -0
  611. package/ts/types/Interface/models/IRegistrationCertificate.ts +3 -0
  612. package/ts/types/Interface/models/IRepeatType.ts +7 -0
  613. package/ts/types/Interface/models/IRoom.ts +7 -0
  614. package/ts/types/Interface/models/ISchedule.ts +12 -0
  615. package/ts/types/Interface/models/IService.ts +7 -0
  616. package/ts/types/Interface/models/ISheetMonthSchedule.ts +2 -0
  617. package/ts/types/Interface/models/ISociety.ts +47 -0
  618. package/ts/types/Interface/models/ISocietyApproval.ts +3 -0
  619. package/ts/types/Interface/models/ISocietyBudgetConnection.ts +9 -0
  620. package/ts/types/Interface/models/ISocietyConfig.ts +14 -0
  621. package/ts/types/Interface/models/ISocietyDetail.ts +58 -0
  622. package/ts/types/Interface/models/ISocietyEvent.ts +14 -0
  623. package/ts/types/Interface/models/ISocietyFile.ts +19 -0
  624. package/ts/types/Interface/models/ISocietyGescom.ts +6 -0
  625. package/ts/types/Interface/models/ISocietyNote.ts +7 -0
  626. package/ts/types/Interface/models/IStripeEvent.ts +12 -0
  627. package/ts/types/Interface/models/IStripeEventType.ts +7 -0
  628. package/ts/types/Interface/models/ITeam.ts +2 -0
  629. package/ts/types/Interface/models/ITeamBusinessLine.ts +8 -0
  630. package/ts/types/Interface/models/ITerminationList.ts +4 -0
  631. package/ts/types/Interface/models/ITimeRecorder.ts +2 -0
  632. package/ts/types/Interface/models/IUnpaidCallHistory.ts +16 -0
  633. package/ts/types/Interface/models/IUpToDateBankAccount.ts +9 -0
  634. package/ts/types/Interface/models/IUser.ts +23 -0
  635. package/ts/types/Interface/models/IUserSpecialDay.ts +16 -0
  636. package/ts/types/Interface/models/IVatDeclaration.ts +121 -0
  637. package/ts/types/Interface/models/IWebMail.ts +67 -0
  638. package/ts/types/Interface/models/IWebMailAttachment.ts +8 -0
  639. package/ts/types/Interface/models/IWebMailStat.ts +9 -0
  640. package/ts/types/Interface/models/IWebMailType.ts +7 -0
  641. package/ts/types/index.ts +69 -1
  642. package/ts/utils/commercialManagement/document.ts +1 -1
  643. package/ts/utils/payment.ts +29 -2
  644. package/ts/utils/prestation.ts +28 -1
  645. package/ts/utils/societyApproval.ts +16 -0
  646. package/ts/utils/tests/payment.spec.ts +32 -0
  647. package/dist/types/Enum/JuridicalSocietyEnum.d.ts.map +0 -1
  648. package/dist/types/Enum/JuridicalSocietyEnum.js.map +0 -1
  649. /package/ts/types/Enum/{JuridicalSocietyEnum.ts → JuridicalSociety.ts} +0 -0
@@ -37,7 +37,7 @@ export function generateCommercialDocument(idEstimateInvoiceType, payload, shoul
37
37
  const locale = payload.language ?? InvoiceLanguage.FR;
38
38
  const languageOption = internationalizationChoices[locale];
39
39
  const accountingCategory = AccountingCategoryList.find((a) => a.id === payload.accountingCategory)?.label ?? null;
40
- const recoveryCost = payload.recoveryCost;
40
+ const recoveryCost = payload.recoveryCost ?? payload.compensation;
41
41
  const data = {
42
42
  ...payload,
43
43
  thirdParty,
@@ -1 +1 @@
1
- {"version":3,"file":"document.js","sourceRoot":"","sources":["../../../ts/utils/commercialManagement/document.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B,OAAO,EAAE,sBAAsB,EAAE,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AACtH,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAC9C,OAAO,EAAE,8BAA8B,EAAE,8BAA8B,EAAE,MAAM,cAAc,CAAC;AAC9F,OAAO,EAAE,4BAA4B,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AACjG,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,2BAA2B,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAO/C,OAAO,EAAE,iCAAiC,EAAE,MAAM,iBAAiB,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,2BAA2B,EAAE,+BAA+B,EAAE,MAAM,mCAAmC,CAAC;AACjH,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,oBAAoB,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjE,OAAO,QAAQ,MAAM,eAAe,CAAC;AAWrC,MAAM,UAAU,0BAA0B,CACxC,qBAA0C,EAC1C,OAAsD,EACtD,mBAAmB,GAAG,KAAK,EAC3B,UAA8B,SAAS;IAEvC,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,2BAA2B,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;IAC7G,MAAM,IAAI,GAAG,OAAO,CAClB,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAC7F,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACvC,MAAM,UAAU,GAAG,iCAAiC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAEzE,IAAI,UAAU,GAAiC,SAAS,CAAC;IAEzD,IAAI,OAAO,CAAC,eAAe,EAAE,MAAM,EAAE,CAAC;QACpC,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC;aAChF,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC;aAC3C,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAExC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAC1B,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC;YAC1E,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC;YAC7E,OAAO;gBACL,GAAG,CAAC;gBACJ,aAAa,EAAE,8BAA8B,CAAC,IAAI,CAAC;gBACnD,eAAe,EAAE,8BAA8B,CAAC,KAAK,CAAC;aACvD,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,gBAAgB,GAAG,KAAK,CAAC,QAAQ,EAAE,kBAAkB,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAErF,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,IAAI,eAAe,CAAC,EAAE,CAAC;IACtD,MAAM,cAAc,GAAG,2BAA2B,CAAC,MAAM,CAAC,CAAC;IAE3D,MAAM,kBAAkB,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,kBAAkB,CAAC,EAAE,KAAK,IAAI,IAAI,CAAC;IAElH,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;IAC1C,MAAM,IAAI,GAA2G;QACnH,GAAG,OAAO;QACV,UAAU;QACV,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,GAAG;QACvC,qBAAqB;QACrB,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,IAAI;QAC5B,SAAS,EAAE,OAAO,CAAC,SAAS;YAC1B,CAAC,CAAC,CAAC,+BAA+B,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,EAAE,WAAW,CAAC,IAAI,OAAO,CAAC,SAAS,CAAC;YAChG,CAAC,CAAC,IAAI;QACR,cAAc,EAAE,OAAO,CAAC,cAAc;YACpC,CAAC,CAAC,CAAC,+BAA+B,CAAC,MAAM,EAAE,OAAO,CAAC,cAAc,EAAE,gBAAgB,CAAC,IAAI,OAAO,CAAC,cAAc,CAAC;YAC/G,CAAC,CAAC,IAAI;QACR,YAAY,EAAE,YAAY;YACxB,CAAC,CAAC,CAAC,+BAA+B,CAAC,MAAM,EAAE,YAAY,EAAE,cAAc,CAAC,IAAI,YAAY,CAAC;YACzF,CAAC,CAAC,IAAI;QACR,QAAQ,EAAE,OAAO,CAAC,QAAQ;YACxB,CAAC,CAAC,CAAC,+BAA+B,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,EAAE,UAAU,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC;YAC7F,CAAC,CAAC,IAAI;QACR,UAAU,EAAE,OAAO,CAAC,UAAU;YAC5B,CAAC,CAAC,CAAC,+BAA+B,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC;YACnG,CAAC,CAAC,IAAI;QACR,YAAY,EAAE,OAAO,CAAC,QAAQ,EAAE,YAAY,IAAI,IAAI;QACpD,QAAQ;QACR,IAAI;QACJ,gBAAgB,EAAE,KAAK,CAAC,QAAQ,EAAE,kBAAkB,CAAC;QACrD,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,CAAC;QACzC,2BAA2B,EAAE,KAAK,CAAC,gBAAgB,CAAC;QACpD,wBAAwB,EAAE,OAAO,CAAC,gBAAgB;YAChD,CAAC,CAAC,8BAA8B,CAAC,OAAO,CAAC,gBAAgB,CAAC;YAC1D,CAAC,CAAC,IAAI;QACR,gBAAgB,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,8BAA8B,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI;QAC1F,yBAAyB,EAAE,8BAA8B,CAAC,KAAK,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;QAC9F,yBAAyB,EAAE,8BAA8B,CAAC,gBAAgB,CAAC;QAC3E,oCAAoC,EAAE,8BAA8B,CAClE,gBAAgB,GAAG,CAAC,OAAO,CAAC,gBAAgB,IAAI,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC,CAAC,CAC5E;QACD,uBAAuB,EAAE,8BAA8B,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC9E,IAAI,EAAE;YACJ,EAAE,EAAE,OAAO,CAAC,QAAQ,EAAE,MAAM,IAAI,OAAO,CAAC,YAAY;YACpD,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,IAAI,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI;YACvF,GAAG,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,IAAI,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI;SACvF;QACD,gBAAgB,EAAE,OAAO,CAAC,OAAO;YAC/B,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,EAAE;iBACjB,KAAK,CAAC,EAAE,CAAC;iBACT,WAAW,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,CAAC;iBACxG,IAAI,EAAE;YACX,CAAC,CAAC,IAAI;QACR,gBAAgB,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI;QACtF,uBAAuB,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI;QAC3G,qBAAqB,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI;QACrG,2BAA2B,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC;QACnF,aAAa;QACb,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,kBAAkB,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;QACxG,2BAA2B,EAAE,kBAAkB;YAC7C,CAAC,CAAC,CAAC,+BAA+B,CAAC,MAAM,EAAE,kBAAkB,EAAE,oBAAoB,CAAC,IAAI,IAAI,CAAC;YAC7F,CAAC,CAAC,IAAI;QACR,aAAa;QACb,WAAW,EAAE,cAAc,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAmB;QAClF,SAAS,EAAE,GAAG,cAAc,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,CAAsB,EAAE;QACtF,mBAAmB;QACnB,WAAW,EAAE,OAAO,CAAC,WAAW;YAC9B,CAAC,CAAC,CAAC,+BAA+B,CAAC,MAAM,EAAE,OAAO,CAAC,WAAW,EAAE,aAAa,CAAC,IAAI,OAAO,CAAC,WAAW,CAAC;YACtG,CAAC,CAAC,IAAI;QACR,gBAAgB,EAAE,cAAc;KACjC,CAAC;IAEF,MAAM,cAAc,GAAG,IAAI,4BAA4B,EAAE,CAAC;IAC1D,MAAM,gBAAgB,GAAG,CAAC,mBAAmB,CAAC,KAAK,EAAE,mBAAmB,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,qBAAqB,CAAC;QAC3G,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,gBAAgB;QACrC,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,eAAe,CAAC;IAEvC,OAAO;QACL,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC;QAC/C,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,YAAY,EAAE;YAC7B,GAAG,IAAI;YACP,OAAO,EACL,IAAI,CAAC,OAAO,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ;gBAC9C,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,EAAE,WAAW,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;gBACpG,CAAC,CAAC,IAAI;YACV,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAClC,GAAG,CAAC;gBACJ,OAAO,EACL,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ;oBACxC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,EAAE,WAAW,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;oBACjG,CAAC,CAAC,IAAI;gBACV,mBAAmB;gBACnB,aAAa,EAAE,+BAA+B,CAAC,MAAM,EAAE,CAAC,CAAC,aAAa,EAAE,MAAM,CAAC;aAChF,CAAC,CAAC;YACH,IAAI,EAAE,UAAU,IAAI,IAAI;SACzB,CAAC;QACF,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE;YACxC,GAAG,IAAI;YACP,QAAQ,EAAE,gBAAgB,IAAI,IAAI;SACnC,CAAC;QACF,IAAI;KACL,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,MAAwB,EACxB,mBAAmB,GAAG,KAAK,EAC3B,UAA8B,SAAS;IAEvC,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,IAAI,eAAe,CAAC,EAAE,CAAC;IAC7D,MAAM,cAAc,GAAG,2BAA2B,CAAC,MAAM,CAAC,CAAC;IAC3D,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACnB,MAAM,IAAI,GAAG;QACX,GAAG,MAAM,CAAC,OAAO;QACjB,yBAAyB,EAAE,8BAA8B,CAAC,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC;QAC1F,yBAAyB,EAAE,8BAA8B,CAAC,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC;QAC1F,iBAAiB,EAAE,8BAA8B,CAC/C,MAAM,CAAC,OAAO,CAAC,gBAAgB,GAAG,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAClE;QACD,gBAAgB,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI;QACtG,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,aAAa;QACb,WAAW,EAAE,cAAc,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAmB;QAClF,mBAAmB;QACnB,YAAY,EAAE,cAAc;KAC7B,CAAC;IAEF,MAAM,YAAY,GAAG,IAAI,0BAA0B,EAAE,CAAC;IAEtD,OAAO;QACL,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC;KAC9C,CAAC;AACJ,CAAC","sourcesContent":["import dayjs from 'dayjs';\nimport {\n ReadCommercialDocumentTemplate,\n ReadDocumentEditing,\n ReadVatEditing,\n} from '../../types/Interface/api/commercialManagement/Read.js';\nimport { AccountingCategoryList, FontIds, fontList, InvoiceLanguage } from '../../types/Enum/CommercialManagement.js';\nimport { EstimateInvoiceType } from '../../types/Enum/EstimateInvoice.js';\nimport { Vat } from '../../types/Enum/Vat.js';\nimport { integerToFormattedAmountString, integerToFormattedAmountObject } from '../amount.js';\nimport { CommercialDocumentCommonHTML, CommercialDocumentMailHTML } from './templates/common.js';\nimport { bodyTemplate } from './templates/body.js';\nimport { productToReadProductEditing } from './product.js';\nimport { vatToReadVatEditing } from './vat.js';\nimport {\n CreateInvoiceDocument,\n CreateMailHeader,\n CreatePreSaleDocument,\n ReadCommercialMailTemplate,\n} from '../../types/index.js';\nimport { thirdPartyToReadThirdPartyEditing } from './thirdParty.js';\nimport { getBrandConfig } from '../brands.js';\nimport { internationalizationChoices, internationalizationConsistency } from './internationalization/choices.js';\nimport ejs from 'ejs';\nimport 'dayjs/locale/fr.js';\nimport { orderBy, groupBy, sumBy, round, uniq } from 'lodash-es';\nimport sanitize from 'sanitize-html';\n\ntype brandColorType = {\n primary: string;\n primary50: string;\n primary100: string;\n primary300: string;\n primary500: string;\n primary700: string;\n};\n\nexport function generateCommercialDocument(\n idEstimateInvoiceType: EstimateInvoiceType,\n payload: CreateInvoiceDocument | CreatePreSaleDocument,\n shouldHideBrandName = false,\n nodeEnv: string | undefined = undefined,\n): ReadCommercialDocumentTemplate {\n const products = orderBy(payload.products.map((product) => productToReadProductEditing(product), 'reorder'));\n const vats = orderBy(\n Object.values(groupBy(products, 'vatFormatted')).map((v) => vatToReadVatEditing(v), 'value'),\n ).filter((v) => v.id !== Vat.MARGE.id);\n const thirdParty = thirdPartyToReadThirdPartyEditing(payload.thirdParty);\n\n let forcedVats: ReadVatEditing[] | undefined = undefined;\n\n if (payload.advanceProducts?.length) {\n const advanceVats = Object.values(groupBy(payload.advanceProducts, 'vatFormatted'))\n .map((v) => vatToReadVatEditing(v), 'value')\n .filter((v) => v.id !== Vat.MARGE.id);\n\n forcedVats = vats.map((v) => {\n const base = v.base - (advanceVats.find((a) => a.id === v.id)?.base ?? 0);\n const toPay = v.toPay - (advanceVats.find((a) => a.id === v.id)?.toPay ?? 0);\n return {\n ...v,\n baseFormatted: integerToFormattedAmountString(base),\n amountFormatted: integerToFormattedAmountString(toPay),\n };\n });\n }\n\n const totalTaxIncluded = sumBy(products, 'totalTaxExcluded') + sumBy(vats, 'amount');\n\n const locale = payload.language ?? InvoiceLanguage.FR;\n const languageOption = internationalizationChoices[locale];\n\n const accountingCategory = AccountingCategoryList.find((a) => a.id === payload.accountingCategory)?.label ?? null;\n\n const recoveryCost = payload.recoveryCost;\n const data: ReadDocumentEditing & { brandColors: brandColorType; brandName: string; shouldHideBrandName: boolean } = {\n ...payload,\n thirdParty,\n paymentLink: payload.paymentLink ?? '#',\n idEstimateInvoiceType,\n title: payload.title ?? null,\n penalties: payload.penalties\n ? (internationalizationConsistency(locale, payload.penalties, 'penalties') ?? payload.penalties)\n : null,\n termsOfPayment: payload.termsOfPayment\n ? (internationalizationConsistency(locale, payload.termsOfPayment, 'termsOfPayment') ?? payload.termsOfPayment)\n : null,\n recoveryCost: recoveryCost\n ? (internationalizationConsistency(locale, recoveryCost, 'recoveryCost') ?? recoveryCost)\n : null,\n discount: payload.discount\n ? (internationalizationConsistency(locale, payload.discount, 'discount') ?? payload.discount)\n : null,\n vatMention: payload.vatMention\n ? (internationalizationConsistency(locale, payload.vatMention, 'vatMention') ?? payload.vatMention)\n : null,\n phoneContact: payload.settings?.phoneContact ?? null,\n products,\n vats,\n totalTaxExcluded: sumBy(products, 'totalTaxExcluded'),\n totalTaxIncluded: round(totalTaxIncluded),\n totalTaxAndDiscountIncluded: round(totalTaxIncluded),\n generalDiscountFormatted: payload.generalDiscount2\n ? integerToFormattedAmountString(payload.generalDiscount2)\n : null,\n depositFormatted: payload.deposit ? integerToFormattedAmountString(payload.deposit) : null,\n totalTaxExcludedFormatted: integerToFormattedAmountString(sumBy(products, 'totalTaxExcluded')),\n totalTaxIncludedFormatted: integerToFormattedAmountString(totalTaxIncluded),\n totalTaxAndDiscountIncludedFormatted: integerToFormattedAmountString(\n totalTaxIncluded - (payload.generalDiscount2 ?? 0) - (payload.deposit ?? 0),\n ),\n totalVatAmountFormatted: integerToFormattedAmountString(sumBy(vats, 'amount')),\n font: {\n id: payload.settings?.idFont ?? FontIds.CIRCULAR_STD,\n name: fontList.find((f) => f.id === payload.settings?.idFont)?.name ?? fontList[0].name,\n url: fontList.find((f) => f.id === payload.settings?.idFont)?.link ?? fontList[0].link,\n },\n capitalFormatted: payload.capital\n ? `${payload.capital}`\n .split('')\n .reduceRight((acc, char, i, { length }) => `${char}${(length - (i + 1)) % 3 === 0 ? ' ' : ''}${acc}`, '')\n .trim()\n : null,\n dueDateFormatted: payload.dueDate ? dayjs(payload.dueDate).format('DD/MM/YYYY') : null,\n expirationDateFormatted: payload.expirationDate ? dayjs(payload.expirationDate).format('DD/MM/YYYY') : null,\n emissionDateFormatted: payload.emissionDate ? dayjs(payload.emissionDate).format('DD/MM/YYYY') : null,\n shouldDisplayDiscountColumn: !!products.find((p) => p.discount2 && p.discount2 > 0),\n // @ts-ignore\n marginVats: uniq(products.filter((p) => p.marginVatFormatted !== null).map((p) => p.marginVatFormatted)),\n accountingCategoryFormatted: accountingCategory\n ? (internationalizationConsistency(locale, accountingCategory, 'accountingCategory') ?? null)\n : null,\n // @ts-ignore\n brandColors: getBrandConfig({ objectWaited: 'colors', nodeEnv }) as brandColorType,\n brandName: `${getBrandConfig({ objectWaited: 'name', nodeEnv }) as unknown as string}`,\n shouldHideBrandName,\n paymentType: payload.paymentType\n ? (internationalizationConsistency(locale, payload.paymentType, 'paymentType') ?? payload.paymentType)\n : null,\n languageTemplate: languageOption,\n };\n\n const commonTemplate = new CommercialDocumentCommonHTML();\n const documentFreeText = [EstimateInvoiceType.DEVIS, EstimateInvoiceType.BON].includes(idEstimateInvoiceType)\n ? payload?.settings?.freeEstimateText\n : payload?.settings?.freeInvoiceText;\n\n return {\n header: ejs.render(commonTemplate.header, data),\n body: ejs.render(bodyTemplate, {\n ...data,\n comment:\n data.comment && typeof data.comment === 'string'\n ? sanitize(data.comment?.replace(/\\n/g, '<br/>'), { allowedTags: ['b', 'i', 'em', 'br', 'strong'] })\n : null,\n products: data.products.map((p) => ({\n ...p,\n comment:\n p.comment && typeof p.comment === 'string'\n ? sanitize(p.comment?.replace(/\\n/g, '<br/>'), { allowedTags: ['b', 'i', 'em', 'br', 'strong'] })\n : null,\n // @ts-expect-error\n unitFormatted: internationalizationConsistency(locale, p.unitFormatted, 'unit'),\n })),\n vats: forcedVats ?? vats,\n }),\n footer: ejs.render(commonTemplate.footer, {\n ...data,\n freeText: documentFreeText ?? null,\n }),\n data,\n };\n}\n\nexport function generateMailHeader(\n params: CreateMailHeader,\n shouldHideBrandName = false,\n nodeEnv: string | undefined = undefined,\n): ReadCommercialMailTemplate {\n const locale = params.payload.language ?? InvoiceLanguage.FR;\n const languageOption = internationalizationChoices[locale];\n dayjs.locale('fr');\n const data = {\n ...params.payload,\n totalTaxExcludedFormatted: integerToFormattedAmountObject(params.payload.totalTaxExcluded),\n totalTaxIncludedFormatted: integerToFormattedAmountObject(params.payload.totalTaxIncluded),\n totalVatFormatted: integerToFormattedAmountObject(\n params.payload.totalTaxIncluded - params.payload.totalTaxExcluded,\n ),\n dueDateFormatted: params.payload.dueDate ? dayjs(params.payload.dueDate).format('DD MMMM YYYY') : null,\n hasVat: params.hasVat,\n hostS3: params.hostS3,\n logoUrl: params.logoUrl,\n companyName: params.companyName,\n fileUrl: params.fileUrl,\n // @ts-ignore\n brandColors: getBrandConfig({ objectWaited: 'colors', nodeEnv }) as brandColorType,\n shouldHideBrandName,\n languageMail: languageOption,\n };\n\n const mailTemplate = new CommercialDocumentMailHTML();\n\n return {\n header: ejs.render(mailTemplate.header, data),\n };\n}\n"]}
1
+ {"version":3,"file":"document.js","sourceRoot":"","sources":["../../../ts/utils/commercialManagement/document.ts"],"names":[],"mappings":"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","sourcesContent":["import dayjs from 'dayjs';\nimport {\n ReadCommercialDocumentTemplate,\n ReadDocumentEditing,\n ReadVatEditing,\n} from '../../types/Interface/api/commercialManagement/Read.js';\nimport { AccountingCategoryList, FontIds, fontList, InvoiceLanguage } from '../../types/Enum/CommercialManagement.js';\nimport { EstimateInvoiceType } from '../../types/Enum/EstimateInvoice.js';\nimport { Vat } from '../../types/Enum/Vat.js';\nimport { integerToFormattedAmountString, integerToFormattedAmountObject } from '../amount.js';\nimport { CommercialDocumentCommonHTML, CommercialDocumentMailHTML } from './templates/common.js';\nimport { bodyTemplate } from './templates/body.js';\nimport { productToReadProductEditing } from './product.js';\nimport { vatToReadVatEditing } from './vat.js';\nimport {\n CreateInvoiceDocument,\n CreateMailHeader,\n CreatePreSaleDocument,\n ReadCommercialMailTemplate,\n} from '../../types/index.js';\nimport { thirdPartyToReadThirdPartyEditing } from './thirdParty.js';\nimport { getBrandConfig } from '../brands.js';\nimport { internationalizationChoices, internationalizationConsistency } from './internationalization/choices.js';\nimport ejs from 'ejs';\nimport 'dayjs/locale/fr.js';\nimport { orderBy, groupBy, sumBy, round, uniq } from 'lodash-es';\nimport sanitize from 'sanitize-html';\n\ntype brandColorType = {\n primary: string;\n primary50: string;\n primary100: string;\n primary300: string;\n primary500: string;\n primary700: string;\n};\n\nexport function generateCommercialDocument(\n idEstimateInvoiceType: EstimateInvoiceType,\n payload: CreateInvoiceDocument | CreatePreSaleDocument,\n shouldHideBrandName = false,\n nodeEnv: string | undefined = undefined,\n): ReadCommercialDocumentTemplate {\n const products = orderBy(payload.products.map((product) => productToReadProductEditing(product), 'reorder'));\n const vats = orderBy(\n Object.values(groupBy(products, 'vatFormatted')).map((v) => vatToReadVatEditing(v), 'value'),\n ).filter((v) => v.id !== Vat.MARGE.id);\n const thirdParty = thirdPartyToReadThirdPartyEditing(payload.thirdParty);\n\n let forcedVats: ReadVatEditing[] | undefined = undefined;\n\n if (payload.advanceProducts?.length) {\n const advanceVats = Object.values(groupBy(payload.advanceProducts, 'vatFormatted'))\n .map((v) => vatToReadVatEditing(v), 'value')\n .filter((v) => v.id !== Vat.MARGE.id);\n\n forcedVats = vats.map((v) => {\n const base = v.base - (advanceVats.find((a) => a.id === v.id)?.base ?? 0);\n const toPay = v.toPay - (advanceVats.find((a) => a.id === v.id)?.toPay ?? 0);\n return {\n ...v,\n baseFormatted: integerToFormattedAmountString(base),\n amountFormatted: integerToFormattedAmountString(toPay),\n };\n });\n }\n\n const totalTaxIncluded = sumBy(products, 'totalTaxExcluded') + sumBy(vats, 'amount');\n\n const locale = payload.language ?? InvoiceLanguage.FR;\n const languageOption = internationalizationChoices[locale];\n\n const accountingCategory = AccountingCategoryList.find((a) => a.id === payload.accountingCategory)?.label ?? null;\n\n const recoveryCost = payload.recoveryCost ?? payload.compensation;\n const data: ReadDocumentEditing & { brandColors: brandColorType; brandName: string; shouldHideBrandName: boolean } = {\n ...payload,\n thirdParty,\n paymentLink: payload.paymentLink ?? '#',\n idEstimateInvoiceType,\n title: payload.title ?? null,\n penalties: payload.penalties\n ? (internationalizationConsistency(locale, payload.penalties, 'penalties') ?? payload.penalties)\n : null,\n termsOfPayment: payload.termsOfPayment\n ? (internationalizationConsistency(locale, payload.termsOfPayment, 'termsOfPayment') ?? payload.termsOfPayment)\n : null,\n recoveryCost: recoveryCost\n ? (internationalizationConsistency(locale, recoveryCost, 'recoveryCost') ?? recoveryCost)\n : null,\n discount: payload.discount\n ? (internationalizationConsistency(locale, payload.discount, 'discount') ?? payload.discount)\n : null,\n vatMention: payload.vatMention\n ? (internationalizationConsistency(locale, payload.vatMention, 'vatMention') ?? payload.vatMention)\n : null,\n phoneContact: payload.settings?.phoneContact ?? null,\n products,\n vats,\n totalTaxExcluded: sumBy(products, 'totalTaxExcluded'),\n totalTaxIncluded: round(totalTaxIncluded),\n totalTaxAndDiscountIncluded: round(totalTaxIncluded),\n generalDiscountFormatted: payload.generalDiscount2\n ? integerToFormattedAmountString(payload.generalDiscount2)\n : null,\n depositFormatted: payload.deposit ? integerToFormattedAmountString(payload.deposit) : null,\n totalTaxExcludedFormatted: integerToFormattedAmountString(sumBy(products, 'totalTaxExcluded')),\n totalTaxIncludedFormatted: integerToFormattedAmountString(totalTaxIncluded),\n totalTaxAndDiscountIncludedFormatted: integerToFormattedAmountString(\n totalTaxIncluded - (payload.generalDiscount2 ?? 0) - (payload.deposit ?? 0),\n ),\n totalVatAmountFormatted: integerToFormattedAmountString(sumBy(vats, 'amount')),\n font: {\n id: payload.settings?.idFont ?? FontIds.CIRCULAR_STD,\n name: fontList.find((f) => f.id === payload.settings?.idFont)?.name ?? fontList[0].name,\n url: fontList.find((f) => f.id === payload.settings?.idFont)?.link ?? fontList[0].link,\n },\n capitalFormatted: payload.capital\n ? `${payload.capital}`\n .split('')\n .reduceRight((acc, char, i, { length }) => `${char}${(length - (i + 1)) % 3 === 0 ? ' ' : ''}${acc}`, '')\n .trim()\n : null,\n dueDateFormatted: payload.dueDate ? dayjs(payload.dueDate).format('DD/MM/YYYY') : null,\n expirationDateFormatted: payload.expirationDate ? dayjs(payload.expirationDate).format('DD/MM/YYYY') : null,\n emissionDateFormatted: payload.emissionDate ? dayjs(payload.emissionDate).format('DD/MM/YYYY') : null,\n shouldDisplayDiscountColumn: !!products.find((p) => p.discount2 && p.discount2 > 0),\n // @ts-ignore\n marginVats: uniq(products.filter((p) => p.marginVatFormatted !== null).map((p) => p.marginVatFormatted)),\n accountingCategoryFormatted: accountingCategory\n ? (internationalizationConsistency(locale, accountingCategory, 'accountingCategory') ?? null)\n : null,\n // @ts-ignore\n brandColors: getBrandConfig({ objectWaited: 'colors', nodeEnv }) as brandColorType,\n brandName: `${getBrandConfig({ objectWaited: 'name', nodeEnv }) as unknown as string}`,\n shouldHideBrandName,\n paymentType: payload.paymentType\n ? (internationalizationConsistency(locale, payload.paymentType, 'paymentType') ?? payload.paymentType)\n : null,\n languageTemplate: languageOption,\n };\n\n const commonTemplate = new CommercialDocumentCommonHTML();\n const documentFreeText = [EstimateInvoiceType.DEVIS, EstimateInvoiceType.BON].includes(idEstimateInvoiceType)\n ? payload?.settings?.freeEstimateText\n : payload?.settings?.freeInvoiceText;\n\n return {\n header: ejs.render(commonTemplate.header, data),\n body: ejs.render(bodyTemplate, {\n ...data,\n comment:\n data.comment && typeof data.comment === 'string'\n ? sanitize(data.comment?.replace(/\\n/g, '<br/>'), { allowedTags: ['b', 'i', 'em', 'br', 'strong'] })\n : null,\n products: data.products.map((p) => ({\n ...p,\n comment:\n p.comment && typeof p.comment === 'string'\n ? sanitize(p.comment?.replace(/\\n/g, '<br/>'), { allowedTags: ['b', 'i', 'em', 'br', 'strong'] })\n : null,\n // @ts-expect-error\n unitFormatted: internationalizationConsistency(locale, p.unitFormatted, 'unit'),\n })),\n vats: forcedVats ?? vats,\n }),\n footer: ejs.render(commonTemplate.footer, {\n ...data,\n freeText: documentFreeText ?? null,\n }),\n data,\n };\n}\n\nexport function generateMailHeader(\n params: CreateMailHeader,\n shouldHideBrandName = false,\n nodeEnv: string | undefined = undefined,\n): ReadCommercialMailTemplate {\n const locale = params.payload.language ?? InvoiceLanguage.FR;\n const languageOption = internationalizationChoices[locale];\n dayjs.locale('fr');\n const data = {\n ...params.payload,\n totalTaxExcludedFormatted: integerToFormattedAmountObject(params.payload.totalTaxExcluded),\n totalTaxIncludedFormatted: integerToFormattedAmountObject(params.payload.totalTaxIncluded),\n totalVatFormatted: integerToFormattedAmountObject(\n params.payload.totalTaxIncluded - params.payload.totalTaxExcluded,\n ),\n dueDateFormatted: params.payload.dueDate ? dayjs(params.payload.dueDate).format('DD MMMM YYYY') : null,\n hasVat: params.hasVat,\n hostS3: params.hostS3,\n logoUrl: params.logoUrl,\n companyName: params.companyName,\n fileUrl: params.fileUrl,\n // @ts-ignore\n brandColors: getBrandConfig({ objectWaited: 'colors', nodeEnv }) as brandColorType,\n shouldHideBrandName,\n languageMail: languageOption,\n };\n\n const mailTemplate = new CommercialDocumentMailHTML();\n\n return {\n header: ejs.render(mailTemplate.header, data),\n };\n}\n"]}
@@ -20,6 +20,7 @@ declare const groupPaymentsByServiceType: (payments: IPayment[], types?: ("isCom
20
20
  * @param {Date} firstExerciceNonExpresssEndDate - end date of the first exercice non express
21
21
  * @param {number} idPrestation - prestation id
22
22
  * @param {number} idLegalForm - legal form id of the society
23
+ * @param {boolean} isWithApplicationFees - if the prestation has application fees to paid
23
24
  * @param {IPrestationList} prestationList - type of prestation (hidden: 0, isCatalog: 1, isComptable: 1)
24
25
  * @param {number} idVat - vat id of society linked
25
26
  * @param {number} yearlyAmountNonExpress - yearly amount of non express prestation (HT)
@@ -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,EAAE,MAAM,mBAAmB,CAAC;AAM7G,MAAM,WAAW,gBAAiB,SAAQ,QAAQ;IAChD,IAAI,CAAC,EAAE,aAAa,GAAG,aAAa,GAAG,UAAU,GAAG,SAAS,CAAC;IAC9D,YAAY,EAAE,QAAQ,EAAE,CAAC;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;;;GASG;AACH,QAAA,MAAM,0BAA0B,GAC9B,UAAU,QAAQ,EAAE,EACpB,QAAO,CAAC,aAAa,GAAG,aAAa,GAAG,UAAU,GAAG,SAAS,CAAC,EAK9D,KACA,gBAAgB,EA+ClB,CAAC;AAoBF;;;;;;;;;;;;;GAaG;AACH,QAAA,MAAM,qBAAqB,GAAI,QAAQ,qBAAqB,KAAG,WAAW,EA4RzE,CAAC;AAEF,OAAO,EAAE,0BAA0B,EAAE,qBAAqB,EAAE,CAAC"}
1
+ {"version":3,"file":"payment.d.ts","sourceRoot":"","sources":["../../ts/utils/payment.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAe,qBAAqB,EAAiB,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAM7G,MAAM,WAAW,gBAAiB,SAAQ,QAAQ;IAChD,IAAI,CAAC,EAAE,aAAa,GAAG,aAAa,GAAG,UAAU,GAAG,SAAS,CAAC;IAC9D,YAAY,EAAE,QAAQ,EAAE,CAAC;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;;;GASG;AACH,QAAA,MAAM,0BAA0B,GAC9B,UAAU,QAAQ,EAAE,EACpB,QAAO,CAAC,aAAa,GAAG,aAAa,GAAG,UAAU,GAAG,SAAS,CAAC,EAK9D,KACA,gBAAgB,EA+ClB,CAAC;AAoBF;;;;;;;;;;;;;;GAcG;AACH,QAAA,MAAM,qBAAqB,GAAI,QAAQ,qBAAqB,KAAG,WAAW,EAsTzE,CAAC;AAEF,OAAO,EAAE,0BAA0B,EAAE,qBAAqB,EAAE,CAAC"}
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
  import { PaymentMethod } from '../types/index.js';
3
3
  import dayjs from 'dayjs';
4
- import { getPriceGrid } from './prestation.js';
4
+ import { /* getApplicationFeesAmount, */ getPriceGrid } from './prestation.js';
5
5
  import { getTaxesIncludedAmount } from './vat/utils.js';
6
6
  /**
7
7
  * A partir d'une liste de payment (avec include jusqu'à prestationList,
@@ -76,6 +76,7 @@ const groupPaymentsByServiceType = (payments, types = [
76
76
  * @param {Date} firstExerciceNonExpresssEndDate - end date of the first exercice non express
77
77
  * @param {number} idPrestation - prestation id
78
78
  * @param {number} idLegalForm - legal form id of the society
79
+ * @param {boolean} isWithApplicationFees - if the prestation has application fees to paid
79
80
  * @param {IPrestationList} prestationList - type of prestation (hidden: 0, isCatalog: 1, isComptable: 1)
80
81
  * @param {number} idVat - vat id of society linked
81
82
  * @param {number} yearlyAmountNonExpress - yearly amount of non express prestation (HT)
@@ -86,7 +87,11 @@ const groupPaymentsByServiceType = (payments, types = [
86
87
  * @returns { IPayment[] } list of payment to create for billing auto, after each presta go to onBoarding
87
88
  */
88
89
  const calculatePaymentsAuto = (params) => {
89
- const { idTypeBrand, firstExerciceNonExpresssEndDate, idPrestation, prestationList, idVat, yearlyAmountNonExpress, nextYearlyAmountNonExpress, listPartialExercicePrestationExpress, listRegulations, recoveryDate, } = params;
90
+ const { idTypeBrand,
91
+ // isWithApplicationFees,
92
+ firstExerciceNonExpresssEndDate, idPrestation,
93
+ // idLegalForm,
94
+ prestationList, idVat, yearlyAmountNonExpress, nextYearlyAmountNonExpress, listPartialExercicePrestationExpress, listRegulations, recoveryDate, } = params;
90
95
  if (!yearlyAmountNonExpress)
91
96
  throw new Error('Le montant annuel des prestations non express ne peut pas être nul.');
92
97
  // Si on est dans les 3 derniers jours du mois actuel,
@@ -108,12 +113,19 @@ const calculatePaymentsAuto = (params) => {
108
113
  const priceGrid = getPriceGrid(idTypeBrand, prestationList.id);
109
114
  if (!priceGrid)
110
115
  throw new Error('Impossible de trouver la grille tarifaire correspondante');
111
- const { priceWithTaxesIncluded } = priceGrid;
116
+ const { /* applicationCost, */ priceWithTaxesIncluded } = priceGrid;
117
+ // const applicationCostTotalTTC =
118
+ // (priceWithTaxesIncluded ? applicationCost : getTaxesIncludedAmount(applicationCost, idVat)) * 12;
119
+ // const applicationFeesAmountTTC = getApplicationFeesAmount(idLegalForm, idVat);
112
120
  if (prestationList?.isCatalog || !prestationList?.isComptable)
113
121
  throw new Error('Ce type de prestation ne correspond pas aux conditions attendues.');
114
122
  if (listPartialExercicePrestationExpress.length &&
115
123
  listPartialExercicePrestationExpress?.some((ep) => !ep?.startDate))
116
124
  throw new Error('Start date of some exercice are missing');
125
+ // let yearlyAmountNonExpressClone = yearlyAmountNonExpress;
126
+ // if (isWithApplicationFees) {
127
+ // yearlyAmountNonExpressClone -= getApplicationFeesAmount(idLegalForm); //HT
128
+ // }
117
129
  const nbExoExpress = listPartialExercicePrestationExpress.length;
118
130
  const listPayments = [];
119
131
  // on récupère le/les premiers réglements effectués, non alloués
@@ -146,6 +158,21 @@ const calculatePaymentsAuto = (params) => {
146
158
  const bStartDate = b?.startDate;
147
159
  return dayjs(aStartDate).diff(bStartDate);
148
160
  });
161
+ // Si les frais de dossiers sont facturés, on ajoute un paiement sur le mois en cours
162
+ // if (isWithApplicationFees) {
163
+ // listPayments.push({
164
+ // amount: applicationFeesAmountTTC, //TTC
165
+ // isPaid: true,
166
+ // datePayment: dayjs().toDate(),
167
+ // idPrestation,
168
+ // idPaymentMethod: listRegulations[0]?.idPaymentMethod ?? PaymentMethod.DIRECT_DEBIT.id,
169
+ // closingDate: listPartialExercicePrestationExpress?.length
170
+ // ? listPartialExercicePrestationExpress[0].endDate
171
+ // : firstExerciceNonExpresssEndDate,
172
+ // comment: 'Frais de dossier',
173
+ // });
174
+ // remainingAmount += applicationFeesAmountTTC;
175
+ // }
149
176
  // =========================
150
177
  // EXPRESS
151
178
  // =========================
@@ -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 } from '../types/index.js';\nimport dayjs from 'dayjs';\nimport { PartialExercicePrestationExpress } from '../types/Interface/api/payment/Util.js';\nimport { getPriceGrid } from './prestation.js';\nimport { getTaxesIncludedAmount } from './vat/utils.js';\n\nexport interface PaymentsWithList extends IPayment {\n type?: 'isComptable' | 'isJuridique' | 'isSocial' | 'isOther';\n listPayments: IPayment[];\n isYearly?: boolean;\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 = (\n payments: IPayment[],\n types: ('isComptable' | 'isJuridique' | 'isSocial' | 'isOther')[] = [\n 'isComptable',\n 'isJuridique',\n 'isSocial',\n 'isOther',\n ],\n): PaymentsWithList[] => {\n const prestaComptable = payments.filter((el) => el?.paymentsPrestations?.prestationsList?.isComptable ?? false);\n const prestaSocial = payments.filter(\n (el) =>\n !el?.paymentsPrestations?.prestationsList?.isComptable && el?.paymentsPrestations?.prestationsList?.isSocial,\n );\n const prestaJuridique = payments.filter(\n (el) =>\n !el?.paymentsPrestations?.prestationsList?.isComptable && el?.paymentsPrestations?.prestationsList?.isJuridique,\n );\n const prestaOther = payments.filter(\n (el) =>\n !el?.paymentsPrestations?.prestationsList?.isComptable &&\n !el?.paymentsPrestations?.prestationsList?.isJuridique &&\n !el?.paymentsPrestations?.prestationsList?.isSocial,\n );\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\n// const 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 {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 {\n idTypeBrand,\n firstExerciceNonExpresssEndDate,\n idPrestation,\n prestationList,\n idVat,\n yearlyAmountNonExpress,\n nextYearlyAmountNonExpress,\n listPartialExercicePrestationExpress,\n listRegulations,\n recoveryDate,\n } = params;\n\n if (!yearlyAmountNonExpress) throw new Error('Le montant annuel des prestations non express ne peut pas être nul.');\n\n // Si on est dans les 3 derniers jours du mois actuel,\n // on ne le compte pas et on facture à partir du début de mois suivant\n let initializedPaymentDate =\n dayjs().endOf('month').diff(dayjs(), 'day') < 3 /* || dayjs().date() >= 14 */\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 //Si jour de la date de reprise >= 14, alors on débute la facturation 1 mois plus tard\n if (dayjs(initializedPaymentDate).date() >= 14)\n initializedPaymentDate = dayjs(initializedPaymentDate).add(1, 'month').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 { priceWithTaxesIncluded } = priceGrid;\n\n if (prestationList?.isCatalog || !prestationList?.isComptable)\n throw new Error('Ce type de prestation ne correspond pas aux conditions attendues.');\n if (\n listPartialExercicePrestationExpress.length &&\n listPartialExercicePrestationExpress?.some((ep: PartialExercicePrestationExpress) => !ep?.startDate)\n )\n throw new Error('Start date of some exercice are missing');\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;\n const bStartDate = b?.startDate;\n return dayjs(aStartDate).diff(bStartDate);\n });\n\n // =========================\n // EXPRESS\n // =========================\n listPartialExercicePrestationExpress.forEach(\n (exercicePrestation: PartialExercicePrestationExpress, indexEP: number) => {\n const remainingBeforeThisExo = remainingAmount;\n\n remainingAmount += !priceWithTaxesIncluded\n ? getTaxesIncludedAmount(exercicePrestation.totalAmount, idVat)\n : exercicePrestation.totalAmount; //TTC\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:\n Math.round(\n 100 *\n (!priceWithTaxesIncluded\n ? getTaxesIncludedAmount(exercicePrestation.totalAmount, idVat)\n : exercicePrestation.totalAmount),\n ) / 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 // =========================\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 ? yearlyAmountNonExpress : 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 const 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\n ? nextYearlyAmountNonExpress\n : getTaxesIncludedAmount(nextYearlyAmountNonExpress, idVat);\n\n const 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 // const 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 * monthlyAmount) / 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 { groupPaymentsByServiceType, calculatePaymentsAuto };\n"]}
1
+ {"version":3,"file":"payment.js","sourceRoot":"","sources":["../../ts/utils/payment.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAgD,aAAa,EAAe,MAAM,mBAAmB,CAAC;AAC7G,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,gCAAgC,CAAC,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAChF,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAQxD;;;;;;;;;GASG;AACH,MAAM,0BAA0B,GAAG,CACjC,QAAoB,EACpB,QAAoE;IAClE,aAAa;IACb,aAAa;IACb,UAAU;IACV,SAAS;CACV,EACmB,EAAE;IACtB,MAAM,eAAe,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,mBAAmB,EAAE,eAAe,EAAE,WAAW,IAAI,KAAK,CAAC,CAAC;IAChH,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAClC,CAAC,EAAE,EAAE,EAAE,CACL,CAAC,EAAE,EAAE,mBAAmB,EAAE,eAAe,EAAE,WAAW,IAAI,EAAE,EAAE,mBAAmB,EAAE,eAAe,EAAE,QAAQ,CAC/G,CAAC;IACF,MAAM,eAAe,GAAG,QAAQ,CAAC,MAAM,CACrC,CAAC,EAAE,EAAE,EAAE,CACL,CAAC,EAAE,EAAE,mBAAmB,EAAE,eAAe,EAAE,WAAW,IAAI,EAAE,EAAE,mBAAmB,EAAE,eAAe,EAAE,WAAW,CAClH,CAAC;IACF,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CACjC,CAAC,EAAE,EAAE,EAAE,CACL,CAAC,EAAE,EAAE,mBAAmB,EAAE,eAAe,EAAE,WAAW;QACtD,CAAC,EAAE,EAAE,mBAAmB,EAAE,eAAe,EAAE,WAAW;QACtD,CAAC,EAAE,EAAE,mBAAmB,EAAE,eAAe,EAAE,QAAQ,CACtD,CAAC;IAEF,MAAM,cAAc,GAAuB,EAAE,CAAC;IAC9C,IAAI,eAAe,CAAC,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;QAC5D,cAAc,CAAC,IAAI,CAAC;YAClB,GAAG,eAAe,CAAC,CAAC,CAAC,EAAE,kBAAkB;YACzC,IAAI,EAAE,aAAa;YACnB,YAAY,EAAE,eAAe;SAC9B,CAAC,CAAC;IACL,CAAC;IACD,IAAI,YAAY,CAAC,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QACtD,cAAc,CAAC,IAAI,CAAC;YAClB,GAAG,YAAY,CAAC,CAAC,CAAC,EAAE,kBAAkB;YACtC,IAAI,EAAE,UAAU;YAChB,YAAY,EAAE,YAAY;SAC3B,CAAC,CAAC;IACL,CAAC;IACD,IAAI,eAAe,CAAC,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;QAC5D,cAAc,CAAC,IAAI,CAAC;YAClB,GAAG,eAAe,CAAC,CAAC,CAAC,EAAE,kBAAkB;YACzC,IAAI,EAAE,aAAa;YACnB,YAAY,EAAE,eAAe;SAC9B,CAAC,CAAC;IACL,CAAC;IACD,IAAI,WAAW,CAAC,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QACpD,cAAc,CAAC,IAAI,CAAC;YAClB,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,kBAAkB;YACrC,IAAI,EAAE,SAAS;YACf,YAAY,EAAE,WAAW;SAC1B,CAAC,CAAC;IACL,CAAC;IACD,OAAO,cAAc,CAAC;AACxB,CAAC,CAAC;AAEF,yEAAyE;AACzE,0CAA0C;AAE1C,+EAA+E;AAC/E,uEAAuE;AACvE,wFAAwF;AAExF,0DAA0D;AAC1D,gHAAgH;AAChH,2CAA2C;AAC3C,qHAAqH;AACrH,qEAAqE;AACrE,2DAA2D;AAC3D,sEAAsE;AACtE,MAAM;AACN,mBAAmB;AACnB,KAAK;AAEL;;;;;;;;;;;;;;GAcG;AACH,MAAM,qBAAqB,GAAG,CAAC,MAA6B,EAAiB,EAAE;IAC7E,MAAM,EACJ,WAAW;IACX,yBAAyB;IACzB,+BAA+B,EAC/B,YAAY;IACZ,eAAe;IACf,cAAc,EACd,KAAK,EACL,sBAAsB,EACtB,0BAA0B,EAC1B,oCAAoC,EACpC,eAAe,EACf,YAAY,GACb,GAAG,MAAM,CAAC;IAEX,IAAI,CAAC,sBAAsB;QAAE,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;IAEpH,sDAAsD;IACtD,sEAAsE;IACtE,IAAI,sBAAsB,GACxB,KAAK,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,8BAA8B;QAC5E,CAAC,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE;QACnD,CAAC,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC;IAExD,sDAAsD;IACtD,IAAI,YAAY,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,OAAO,CAAC,EAAE,CAAC;QAClE,sBAAsB,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC;QAEvE,sFAAsF;QACtF,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE;YAC5C,sBAAsB,GAAG,KAAK,CAAC,sBAAsB,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC;IACrG,CAAC;IAED,2EAA2E;IAC3E,gDAAgD;IAChD,IAAI,CAAC,cAAc,CAAC,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IACrE,MAAM,SAAS,GAAG,YAAY,CAAC,WAAW,EAAE,cAAc,CAAC,EAAE,CAAC,CAAC;IAC/D,IAAI,CAAC,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;IAC5F,MAAM,EAAE,uBAAuB,CAAC,sBAAsB,EAAE,GAAG,SAAS,CAAC;IACrE,kCAAkC;IAClC,sGAAsG;IACtG,iFAAiF;IAEjF,IAAI,cAAc,EAAE,SAAS,IAAI,CAAC,cAAc,EAAE,WAAW;QAC3D,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;IACvF,IACE,oCAAoC,CAAC,MAAM;QAC3C,oCAAoC,EAAE,IAAI,CAAC,CAAC,EAAoC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,SAAS,CAAC;QAEpG,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;IAE7D,4DAA4D;IAC5D,+BAA+B;IAC/B,+EAA+E;IAC/E,IAAI;IAEJ,MAAM,YAAY,GAAG,oCAAoC,CAAC,MAAM,CAAC;IACjE,MAAM,YAAY,GAAkB,EAAE,CAAC;IAEvC,gEAAgE;IAChE,8CAA8C;IAC9C,MAAM,cAAc,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,GAAW,EAAE,CAAc,EAAE,EAAE;QAC5E,+EAA+E;QAC/E,qGAAqG;QAErG,4BAA4B;QAC5B,sEAAsE;QACtE,kHAAkH;QAClH,gDAAgD;QAChD;;;;;;;;;;YAUI;QACJ,OAAO,GAAG,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,UAAU,CAAC;IACvC,CAAC,EAAE,CAAC,CAAC,CAAC;IACN,IAAI,eAAe,GAAG,CAAC,cAAc,CAAC,CAAC,KAAK;IAC5C,IAAI,WAAW,GAAG,sBAAsB,CAAC;IAEzC,6DAA6D;IAC7D,oCAAoC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACjD,MAAM,UAAU,GAAG,CAAC,EAAE,SAAS,CAAC;QAChC,MAAM,UAAU,GAAG,CAAC,EAAE,SAAS,CAAC;QAChC,OAAO,KAAK,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,qFAAqF;IACrF,+BAA+B;IAC/B,wBAAwB;IACxB,8CAA8C;IAC9C,oBAAoB;IACpB,qCAAqC;IACrC,oBAAoB;IACpB,6FAA6F;IAC7F,gEAAgE;IAChE,0DAA0D;IAC1D,2CAA2C;IAC3C,mCAAmC;IACnC,QAAQ;IACR,iDAAiD;IACjD,IAAI;IAEJ,4BAA4B;IAC5B,mBAAmB;IACnB,4BAA4B;IAC5B,oCAAoC,CAAC,OAAO,CAC1C,CAAC,kBAAoD,EAAE,OAAe,EAAE,EAAE;QACxE,MAAM,sBAAsB,GAAG,eAAe,CAAC;QAE/C,eAAe,IAAI,CAAC,sBAAsB;YACxC,CAAC,CAAC,sBAAsB,CAAC,kBAAkB,CAAC,WAAW,EAAE,KAAK,CAAC;YAC/D,CAAC,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC,KAAK;QAEzC,oEAAoE;QACpE,0DAA0D;QAC1D,IAAI,eAAe,IAAI,CAAC,EAAE,CAAC;YACzB,YAAY,CAAC,IAAI,CAAC;gBAChB,MAAM,EACJ,IAAI,CAAC,KAAK,CACR,GAAG;oBACD,CAAC,CAAC,sBAAsB;wBACtB,CAAC,CAAC,sBAAsB,CAAC,kBAAkB,CAAC,WAAW,EAAE,KAAK,CAAC;wBAC/D,CAAC,CAAC,kBAAkB,CAAC,WAAW,CAAC,CACtC,GAAG,GAAG,EAAE,KAAK;gBAChB,MAAM,EAAE,IAAI;gBACZ,WAAW,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE;gBAC7B,YAAY;gBACZ,eAAe,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,IAAI,aAAa,CAAC,YAAY,CAAC,EAAE;gBACrF,WAAW,EAAE,kBAAkB,CAAC,OAAO;aACxC,CAAC,CAAC;YACH,OAAO;QACT,CAAC;aAAM,IAAI,sBAAsB,GAAG,CAAC,IAAI,eAAe,GAAG,CAAC,EAAE,CAAC;YAC7D,kGAAkG;YAClG,YAAY,CAAC,IAAI,CAAC;gBAChB,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,sBAAsB,CAAC,GAAG,GAAG,EAAE,KAAK;gBAC9D,MAAM,EAAE,IAAI;gBACZ,WAAW,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE;gBAC7B,YAAY;gBACZ,eAAe,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,IAAI,aAAa,CAAC,YAAY,CAAC,EAAE;gBACrF,WAAW,EAAE,kBAAkB,CAAC,OAAO;aACxC,CAAC,CAAC;QACL,CAAC;QAED,sEAAsE;QACtE,IAAI,mCAAmC,GAAG,eAAe,CAAC,CAAC,KAAK;QAChE,IAAI,0BAA0B,GAAG,kBAAkB,EAAE,0BAA0B,IAAI,CAAC,CAAC,CAAC,KAAK;QAC3F,0KAA0K;QAC1K,IAAI,OAAO,KAAK,CAAC,IAAI,cAAc,GAAG,CAAC;YAAE,0BAA0B,IAAI,CAAC,CAAC;QAEzE,MAAM,aAAa,GAAG,mCAAmC,GAAG,0BAA0B,CAAC,CAAC,KAAK;QAC7F,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,IAAI,0BAA0B,EAAE,KAAK,EAAE,EAAE,CAAC;YACjE,gJAAgJ;YAChJ,8CAA8C;YAC9C,MAAM,MAAM,GAAG,KAAK,GAAG,0BAA0B,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,mCAAmC,CAAC,CAAC,KAAK;YAE9G,2GAA2G;YAC3G,IAAI,MAAM,IAAI,KAAK;gBACjB,YAAY,CAAC,IAAI,CAAC;oBAChB,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,GAAG;oBACtC,WAAW,EAAE,WAAW;oBACxB,YAAY;oBACZ,eAAe,EAAE,aAAa,CAAC,YAAY,CAAC,EAAE;oBAC9C,WAAW,EAAE,kBAAkB,CAAC,OAAO;iBACxC,CAAC,CAAC;YACL,mCAAmC,IAAI,aAAa,CAAC;YACrD,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC;QAC7E,CAAC;QACD,eAAe,GAAG,CAAC,CAAC;IACtB,CAAC,CACF,CAAC;IAEF,4BAA4B;IAC5B,oBAAoB;IACpB,4BAA4B;IAC5B,sEAAsE;IACtE,kFAAkF;IAClF,yCAAyC;IACzC,IAAI,YAAY,IAAI,CAAC;QAAE,WAAW,GAAG,sBAAsB,CAAC;IAC5D,IAAI,eAAe,GAAG,KAAK,CAAC,+BAA+B,CAAC,CAAC,MAAM,EAAE,CAAC;IAEtE,IAAI,qBAAqB,GAAG,KAAK,CAAC;IAClC,IAAI,iBAAiB,GAAG,IAAI,CAAC;IAC7B,IAAI,wBAAwB,GAAG,CAAC,CAAC;IAEjC,uFAAuF;IACvF,gFAAgF;IAChF,OAAO,CAAC,qBAAqB,IAAI,wBAAwB,GAAG,CAAC,EAAE,CAAC;QAC9D,iHAAiH;QACjH,IAAI,4BAA4B,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;QACvG,IAAI,4BAA4B,GAAG,CAAC;YAAE,4BAA4B,GAAG,CAAC,CAAC;QAEvE,mGAAmG;QACnG,oEAAoE;QACpE,qEAAqE;QACrE,IAAI,4BAA4B,GAAG,EAAE,EAAE,CAAC;YACtC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC;YAC3E,SAAS;QACX,CAAC;QAED,MAAM,SAAS,GAAG,iBAAiB,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,0BAA0B,CAAC;QAC1F,MAAM,sBAAsB,GAAG,eAAe,CAAC;QAC/C,eAAe,IAAI,sBAAsB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,sBAAsB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAEjG,oEAAoE;QACpE,0DAA0D;QAC1D,IAAI,eAAe,IAAI,CAAC,EAAE,CAAC;YACzB,YAAY,CAAC,IAAI,CAAC;gBAChB,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,sBAAsB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,sBAAsB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,KAAK;gBACtH,MAAM,EAAE,IAAI;gBACZ,WAAW,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE;gBAC7B,YAAY;gBACZ,eAAe,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,IAAI,aAAa,CAAC,YAAY,CAAC,EAAE;gBACrF,WAAW,EAAE,eAAe;aAC7B,CAAC,CAAC;YACH,eAAe,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC;YACjG,SAAS;QACX,CAAC;aAAM,IAAI,sBAAsB,GAAG,CAAC,IAAI,eAAe,GAAG,CAAC,EAAE,CAAC;YAC7D,kGAAkG;YAClG,YAAY,CAAC,IAAI,CAAC;gBAChB,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,sBAAsB,CAAC,GAAG,GAAG,EAAE,KAAK;gBAC9D,MAAM,EAAE,IAAI;gBACZ,WAAW,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE;gBAC7B,YAAY;gBACZ,eAAe,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,IAAI,aAAa,CAAC,YAAY,CAAC,EAAE;gBACrF,WAAW,EAAE,eAAe;aAC7B,CAAC,CAAC;QACL,CAAC;QAED,IAAI,mCAAmC,GAAG,eAAe,CAAC;QAE1D,uDAAuD;QACvD,0FAA0F;QAE1F,MAAM,aAAa,GAAG,mCAAmC,GAAG,4BAA4B,CAAC,CAAC,KAAK;QAE/F,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;YACtB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,IAAI,4BAA4B,EAAE,KAAK,EAAE,EAAE,CAAC;gBACnE,MAAM,MAAM,GAAG,KAAK,GAAG,4BAA4B,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,mCAAmC,CAAC;gBAE1G,iDAAiD;gBACjD,yGAAyG;gBACzG,+CAA+C;gBAE/C,YAAY,CAAC,IAAI,CAAC;oBAChB,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,GAAG;oBACtC,WAAW,EAAE,WAAW;oBACxB,YAAY;oBACZ,eAAe,EAAE,aAAa,CAAC,YAAY,CAAC,EAAE;oBAC9C,WAAW,EAAE,eAAe;iBAC7B,CAAC,CAAC;gBACH,mCAAmC,IAAI,aAAa,CAAC;gBACrD,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC;YAC7E,CAAC;YACD,eAAe,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC;QACnG,CAAC;QACD,eAAe,GAAG,CAAC,CAAC;QACpB,IAAI,4BAA4B,KAAK,EAAE;YAAE,qBAAqB,GAAG,IAAI,CAAC;QACtE,iBAAiB,GAAG,KAAK,CAAC;QAC1B,wBAAwB,IAAI,CAAC,CAAC;IAChC,CAAC;IAED,eAAe,GAAG,CAAC,CAAC;IAEpB,4BAA4B;IAC5B,uBAAuB;IACvB,4BAA4B;IAC5B,iFAAiF;IACjF,eAAe,IAAI,sBAAsB;QACvC,CAAC,CAAC,0BAA0B;QAC5B,CAAC,CAAC,sBAAsB,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;IAE9D,MAAM,mCAAmC,GAAG,eAAe,CAAC;IAC5D,iHAAiH;IACjH,IAAI,4BAA4B,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;IACvG,IAAI,4BAA4B,GAAG,CAAC;QAAE,4BAA4B,GAAG,CAAC,CAAC;IAEvE,uDAAuD;IACvD,kEAAkE;IAElE,MAAM,aAAa,GAAG,mCAAmC,GAAG,4BAA4B,CAAC;IAEzF,yCAAyC;IACzC,IAAI,CAAC,YAAY,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IAEpC,OAAO,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC;QACjE,gCAAgC;QAEhC,iDAAiD;QACjD,yGAAyG;QACzG,uDAAuD;QACvD,+CAA+C;QAE/C,YAAY,CAAC,IAAI,CAAC;YAChB,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,aAAa,CAAC,GAAG,GAAG;YAC7C,WAAW,EAAE,WAAW;YACxB,YAAY;YACZ,eAAe,EAAE,aAAa,CAAC,YAAY,CAAC,EAAE;YAC9C,WAAW,EAAE,eAAe;SAC7B,CAAC,CAAC;QACH,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC;IAC7E,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC,CAAC;AAEF,OAAO,EAAE,0BAA0B,EAAE,qBAAqB,EAAE,CAAC","sourcesContent":["'use strict';\n\nimport { IPayment, IRegulation, ParamsForPaymentsAuto, PaymentMethod, PaymentAuto } from '../types/index.js';\nimport dayjs from 'dayjs';\nimport { PartialExercicePrestationExpress } from '../types/Interface/api/payment/Util.js';\nimport { /* getApplicationFeesAmount, */ getPriceGrid } from './prestation.js';\nimport { getTaxesIncludedAmount } from './vat/utils.js';\n\nexport interface PaymentsWithList extends IPayment {\n type?: 'isComptable' | 'isJuridique' | 'isSocial' | 'isOther';\n listPayments: IPayment[];\n isYearly?: boolean;\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 = (\n payments: IPayment[],\n types: ('isComptable' | 'isJuridique' | 'isSocial' | 'isOther')[] = [\n 'isComptable',\n 'isJuridique',\n 'isSocial',\n 'isOther',\n ],\n): PaymentsWithList[] => {\n const prestaComptable = payments.filter((el) => el?.paymentsPrestations?.prestationsList?.isComptable ?? false);\n const prestaSocial = payments.filter(\n (el) =>\n !el?.paymentsPrestations?.prestationsList?.isComptable && el?.paymentsPrestations?.prestationsList?.isSocial,\n );\n const prestaJuridique = payments.filter(\n (el) =>\n !el?.paymentsPrestations?.prestationsList?.isComptable && el?.paymentsPrestations?.prestationsList?.isJuridique,\n );\n const prestaOther = payments.filter(\n (el) =>\n !el?.paymentsPrestations?.prestationsList?.isComptable &&\n !el?.paymentsPrestations?.prestationsList?.isJuridique &&\n !el?.paymentsPrestations?.prestationsList?.isSocial,\n );\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\n// const 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 {\n idTypeBrand,\n // isWithApplicationFees,\n firstExerciceNonExpresssEndDate,\n idPrestation,\n // idLegalForm,\n prestationList,\n idVat,\n yearlyAmountNonExpress,\n nextYearlyAmountNonExpress,\n listPartialExercicePrestationExpress,\n listRegulations,\n recoveryDate,\n } = params;\n\n if (!yearlyAmountNonExpress) throw new Error('Le montant annuel des prestations non express ne peut pas être nul.');\n\n // Si on est dans les 3 derniers jours du mois actuel,\n // on ne le compte pas et on facture à partir du début de mois suivant\n let initializedPaymentDate =\n dayjs().endOf('month').diff(dayjs(), 'day') < 3 /* || dayjs().date() >= 14 */\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 //Si jour de la date de reprise >= 14, alors on débute la facturation 1 mois plus tard\n if (dayjs(initializedPaymentDate).date() >= 14)\n initializedPaymentDate = dayjs(initializedPaymentDate).add(1, 'month').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 =\n // (priceWithTaxesIncluded ? applicationCost : getTaxesIncludedAmount(applicationCost, idVat)) * 12;\n // const applicationFeesAmountTTC = getApplicationFeesAmount(idLegalForm, idVat);\n\n if (prestationList?.isCatalog || !prestationList?.isComptable)\n throw new Error('Ce type de prestation ne correspond pas aux conditions attendues.');\n if (\n listPartialExercicePrestationExpress.length &&\n listPartialExercicePrestationExpress?.some((ep: PartialExercicePrestationExpress) => !ep?.startDate)\n )\n 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;\n const bStartDate = b?.startDate;\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\n // ? listPartialExercicePrestationExpress[0].endDate\n // : firstExerciceNonExpresssEndDate,\n // comment: 'Frais de dossier',\n // });\n // remainingAmount += applicationFeesAmountTTC;\n // }\n\n // =========================\n // EXPRESS\n // =========================\n listPartialExercicePrestationExpress.forEach(\n (exercicePrestation: PartialExercicePrestationExpress, indexEP: number) => {\n const remainingBeforeThisExo = remainingAmount;\n\n remainingAmount += !priceWithTaxesIncluded\n ? getTaxesIncludedAmount(exercicePrestation.totalAmount, idVat)\n : exercicePrestation.totalAmount; //TTC\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:\n Math.round(\n 100 *\n (!priceWithTaxesIncluded\n ? getTaxesIncludedAmount(exercicePrestation.totalAmount, idVat)\n : exercicePrestation.totalAmount),\n ) / 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 // =========================\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 ? yearlyAmountNonExpress : 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 const 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\n ? nextYearlyAmountNonExpress\n : getTaxesIncludedAmount(nextYearlyAmountNonExpress, idVat);\n\n const 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 // const 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 * monthlyAmount) / 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 { groupPaymentsByServiceType, calculatePaymentsAuto };\n"]}
@@ -88,7 +88,15 @@ declare const calculatePrestationPriceWithPriceGrid: (idPrestationList: number,
88
88
  monthNbr: number;
89
89
  price: number;
90
90
  };
91
- declare const calculatePrestationPrice: (idPrestationList: number, prestationList: IPrestationList, endDate: string, NbrMonth: number, turnover: number, rentsNumber: number, employeesNumber: number, associatesNumber: number, idTypeBrand: number, idVatRegime: number, pastBalanceSheet: boolean, optionsList: number[], totalPercentage: number, totalAmount: number, totalMonth: number, idTaxSystem: number, idLegalForm: number, isYearly?: boolean, isSubPrestation?: boolean, balanceSheetOffered?: number, exerciceList?: IExercice[]) => {
91
+ /**
92
+ * From idLegalForm, get application fees amount (without taxes included if no idVat passed, or with taxes included calculated by given idVat)
93
+ * @param idLegalForm
94
+ * @param idVat
95
+ * @returns amount of application fees, without taxes included
96
+ * @deprecated Application fees are not charged anymore
97
+ */
98
+ declare const getApplicationFeesAmount: (idLegalForm: number, idVat?: number) => number;
99
+ declare const calculatePrestationPrice: (idPrestationList: number, prestationList: IPrestationList, endDate: string, NbrMonth: number, turnover: number, rentsNumber: number, employeesNumber: number, associatesNumber: number, idTypeBrand: number, idVatRegime: number, pastBalanceSheet: boolean, optionsList: number[], totalPercentage: number, totalAmount: number, totalMonth: number, isWithApplicationFees: boolean, idTaxSystem: number, idLegalForm: number, isYearly?: boolean, isSubPrestation?: boolean, balanceSheetOffered?: number, exerciceList?: IExercice[]) => {
92
100
  totalPrestation: number;
93
101
  reduceMonth: number;
94
102
  canBeCreated: boolean;
@@ -99,5 +107,5 @@ declare const calculatePrestationPrice: (idPrestationList: number, prestationLis
99
107
  declare const getPrestationOptions: (idPrestationList: number) => PrestationOptionType[];
100
108
  declare const isAbleToUpdatePrice: (idTypeBrand: number, idPrestationList: number, turnover: number, pastBalanceSheet: boolean) => boolean;
101
109
  declare const idPrestationListToOfferType: (idPrestationList: number) => "software" | "expertise";
102
- export { isOtherAccountingMissions, isOtherJuridicalMissions, isAdditionalPresta, isOtherSocialMission, isOnlyPrevi, isOnlySocial, isOnlyJuridic, isCreation, isFromStatutsExpress, isExpress, isConsultingHour, isSoftwarePrestation, calculateScoringOfPrestation, calculatePrestationPrice, getPrestationOptions, isAbleToUpdatePrice, calculatePrestationPriceWithPriceGrid, idPrestationListToOfferType, };
110
+ export { isOtherAccountingMissions, isOtherJuridicalMissions, isAdditionalPresta, isOtherSocialMission, isOnlyPrevi, isOnlySocial, isOnlyJuridic, isCreation, isFromStatutsExpress, isExpress, isConsultingHour, isSoftwarePrestation, calculateScoringOfPrestation, calculatePrestationPrice, getPrestationOptions, isAbleToUpdatePrice, calculatePrestationPriceWithPriceGrid, getApplicationFeesAmount, idPrestationListToOfferType, };
103
111
  //# sourceMappingURL=prestation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"prestation.d.ts","sourceRoot":"","sources":["../../ts/utils/prestation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prestation.d.ts","sourceRoot":"","sources":["../../ts/utils/prestation.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,9 @@
1
1
  import { Vat } from '../types/Enum/Vat.js';
2
2
  import { ReasonTerminationType } from '../types/Enum/ReasonTerminationType.js';
3
+ import { getTaxesIncludedAmount } from './vat/utils.js';
3
4
  import { intersection } from './noLodash.js';
4
5
  import { ClementineSubscriptionAccountancySoftwarePrestations, PrestationDetail, PrestationType, } from '../types/Enum/PrestationType.js';
6
+ import { LegalFormTypeEnum } from '../types/Enum/LegalForm.js';
5
7
  import { PrestationOption } from '../types/Enum/PrestationOption.js';
6
8
  import { PriceGridClementine } from '../types/Enum/PriceGridClementine.js';
7
9
  import { PriceGridPourcentage } from '../types/Enum/PriceGridPourcentage.js';
@@ -234,7 +236,24 @@ const calculatePrestationPriceWithPrestationList = (prestationList) => {
234
236
  totalPrestation = prestationList?.price || 0;
235
237
  return totalPrestation;
236
238
  };
237
- const calculatePrestationPrice = (idPrestationList, prestationList, endDate, NbrMonth /* Nbr de mois dans l'exercice */, turnover, rentsNumber, employeesNumber, associatesNumber, idTypeBrand, idVatRegime, pastBalanceSheet, optionsList, totalPercentage /* total pourcentage offer (%) */, totalAmount /* total montant offer (€) */, totalMonth /* total mois offer (mois) */, idTaxSystem, idLegalForm, isYearly = false /* prestation annuel ou mensuel */, isSubPrestation = false, balanceSheetOffered = 0, exerciceList = []) => {
239
+ /**
240
+ * From idLegalForm, get application fees amount (without taxes included if no idVat passed, or with taxes included calculated by given idVat)
241
+ * @param idLegalForm
242
+ * @param idVat
243
+ * @returns amount of application fees, without taxes included
244
+ * @deprecated Application fees are not charged anymore
245
+ */
246
+ const getApplicationFeesAmount = (idLegalForm, idVat) => {
247
+ let applicationFeesAmount = 50;
248
+ if (idLegalForm === LegalFormTypeEnum.SCI)
249
+ applicationFeesAmount = 150;
250
+ //Sans tva, on envoie le montant HT
251
+ if (!idVat)
252
+ return applicationFeesAmount;
253
+ //Avec tva, on envoie le montant TTC
254
+ return getTaxesIncludedAmount(applicationFeesAmount, idVat);
255
+ };
256
+ const calculatePrestationPrice = (idPrestationList, prestationList, endDate, NbrMonth /* Nbr de mois dans l'exercice */, turnover, rentsNumber, employeesNumber, associatesNumber, idTypeBrand, idVatRegime, pastBalanceSheet, optionsList, totalPercentage /* total pourcentage offer (%) */, totalAmount /* total montant offer (€) */, totalMonth /* total mois offer (mois) */, isWithApplicationFees /* frais de dossier */, idTaxSystem, idLegalForm, isYearly = false /* prestation annuel ou mensuel */, isSubPrestation = false, balanceSheetOffered = 0, exerciceList = []) => {
238
257
  let totalPrestation = 0;
239
258
  let reduceMonth = 0;
240
259
  let canBeCreated = true;
@@ -313,7 +332,12 @@ const calculatePrestationPrice = (idPrestationList, prestationList, endDate, Nbr
313
332
  });
314
333
  }
315
334
  totalPrestation += OptionTotalPrice ? OptionTotalPrice : 0;
316
- const calculDetail = `${monthNbr > 0 ? monthNbr + ' mois x ' + Math.round(price * 100) / 100 + '€' : Math.round(price * 100) / 100 + '€'} ${totalAmount > 0 ? '- ' + totalAmount + '€' : ''} ${totalPercentage > 0 ? '- ' + totalPercentage + '%' : ''}`;
335
+ /* Gestion des frais de dossier */
336
+ // if (isWithApplicationFees) {
337
+ // const applicationFeesAmount = getApplicationFeesAmount(idLegalForm);
338
+ // totalPrestation += applicationFeesAmount;
339
+ // }
340
+ const calculDetail = `${monthNbr > 0 ? monthNbr + ' mois x ' + Math.round(price * 100) / 100 + '€' : Math.round(price * 100) / 100 + '€'} ${totalAmount > 0 ? '- ' + totalAmount + '€' : ''} ${totalPercentage > 0 ? '- ' + totalPercentage + '%' : ''} ${isWithApplicationFees ? '+ 50€' : ''}`;
317
341
  return {
318
342
  totalPrestation,
319
343
  reduceMonth,
@@ -363,5 +387,5 @@ const idPrestationListToOfferType = (idPrestationList) => {
363
387
  return 'software';
364
388
  return 'expertise';
365
389
  };
366
- export { isOtherAccountingMissions, isOtherJuridicalMissions, isAdditionalPresta, isOtherSocialMission, isOnlyPrevi, isOnlySocial, isOnlyJuridic, isCreation, isFromStatutsExpress, isExpress, isConsultingHour, isSoftwarePrestation, calculateScoringOfPrestation, calculatePrestationPrice, getPrestationOptions, isAbleToUpdatePrice, calculatePrestationPriceWithPriceGrid, idPrestationListToOfferType, };
390
+ export { isOtherAccountingMissions, isOtherJuridicalMissions, isAdditionalPresta, isOtherSocialMission, isOnlyPrevi, isOnlySocial, isOnlyJuridic, isCreation, isFromStatutsExpress, isExpress, isConsultingHour, isSoftwarePrestation, calculateScoringOfPrestation, calculatePrestationPrice, getPrestationOptions, isAbleToUpdatePrice, calculatePrestationPriceWithPriceGrid, getApplicationFeesAmount, idPrestationListToOfferType, };
367
391
  //# sourceMappingURL=prestation.js.map