@silexpert/core 1.3.30-0 → 1.3.30-2

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 (238) hide show
  1. package/dist/cjs/api/resources/Ai.d.ts +2 -2
  2. package/dist/cjs/api/resources/Ai.d.ts.map +1 -1
  3. package/dist/cjs/api/resources/Ai.js +2 -2
  4. package/dist/cjs/api/resources/Ai.js.map +1 -1
  5. package/dist/cjs/api/resources/AnalyticsUtm.d.ts +10 -0
  6. package/dist/cjs/api/resources/AnalyticsUtm.d.ts.map +1 -0
  7. package/dist/cjs/api/resources/AnalyticsUtm.js +16 -0
  8. package/dist/cjs/api/resources/AnalyticsUtm.js.map +1 -0
  9. package/dist/cjs/api/resources/PaymentExpectation.d.ts +16 -1
  10. package/dist/cjs/api/resources/PaymentExpectation.d.ts.map +1 -1
  11. package/dist/cjs/api/resources/PaymentExpectation.js +20 -0
  12. package/dist/cjs/api/resources/PaymentExpectation.js.map +1 -1
  13. package/dist/cjs/api/resources/prestation.d.ts +3 -1
  14. package/dist/cjs/api/resources/prestation.d.ts.map +1 -1
  15. package/dist/cjs/api/resources/prestation.js.map +1 -1
  16. package/dist/cjs/api/resources/statistic/Legal.d.ts +11 -0
  17. package/dist/cjs/api/resources/statistic/Legal.d.ts.map +1 -0
  18. package/dist/cjs/api/resources/statistic/Legal.js +16 -0
  19. package/dist/cjs/api/resources/statistic/Legal.js.map +1 -0
  20. package/dist/cjs/api/resources.d.ts +4 -0
  21. package/dist/cjs/api/resources.d.ts.map +1 -1
  22. package/dist/cjs/api/resources.js +4 -0
  23. package/dist/cjs/api/resources.js.map +1 -1
  24. package/dist/cjs/types/Enum/Feature.d.ts +38 -0
  25. package/dist/cjs/types/Enum/Feature.d.ts.map +1 -0
  26. package/dist/cjs/types/Enum/Feature.js +61 -0
  27. package/dist/cjs/types/Enum/Feature.js.map +1 -0
  28. package/dist/cjs/types/Enum/StatisticType.d.ts +2 -1
  29. package/dist/cjs/types/Enum/StatisticType.d.ts.map +1 -1
  30. package/dist/cjs/types/Enum/StatisticType.js +1 -0
  31. package/dist/cjs/types/Enum/StatisticType.js.map +1 -1
  32. package/dist/cjs/types/Enum/StatusRating.d.ts.map +1 -1
  33. package/dist/cjs/types/Enum/StatusRating.js +1 -0
  34. package/dist/cjs/types/Enum/StatusRating.js.map +1 -1
  35. package/dist/cjs/types/Interface/api/accountingFiles/queryAccountingFiles.d.ts +1 -1
  36. package/dist/cjs/types/Interface/api/accountingFiles/queryAccountingFiles.js +1 -1
  37. package/dist/cjs/types/Interface/api/accountingFiles/queryAccountingFiles.js.map +1 -1
  38. package/dist/cjs/types/Interface/api/accountingTransaction/QueryTransaction.d.ts +1 -1
  39. package/dist/cjs/types/Interface/api/accountingTransaction/QueryTransaction.js +1 -1
  40. package/dist/cjs/types/Interface/api/accountingTransaction/QueryTransaction.js.map +1 -1
  41. package/dist/cjs/types/Interface/api/ai/AskQuestionCollaborator.d.ts +6 -0
  42. package/dist/cjs/types/Interface/api/ai/AskQuestionCollaborator.d.ts.map +1 -1
  43. package/dist/cjs/types/Interface/api/ai/AskQuestionCollaborator.js +29 -1
  44. package/dist/cjs/types/Interface/api/ai/AskQuestionCollaborator.js.map +1 -1
  45. package/dist/cjs/types/Interface/api/commercialManagement/Create.d.ts +6 -2
  46. package/dist/cjs/types/Interface/api/commercialManagement/Create.d.ts.map +1 -1
  47. package/dist/cjs/types/Interface/api/commercialManagement/Create.js +5 -1
  48. package/dist/cjs/types/Interface/api/commercialManagement/Create.js.map +1 -1
  49. package/dist/cjs/types/Interface/api/mobile/UpdateMobile.d.ts +5 -0
  50. package/dist/cjs/types/Interface/api/mobile/UpdateMobile.d.ts.map +1 -1
  51. package/dist/cjs/types/Interface/api/mobile/UpdateMobile.js +33 -0
  52. package/dist/cjs/types/Interface/api/mobile/UpdateMobile.js.map +1 -1
  53. package/dist/cjs/types/Interface/api/promoCode/CreateDefaultPromoCode.d.ts.map +1 -1
  54. package/dist/cjs/types/Interface/api/promoCode/CreateDefaultPromoCode.js +3 -0
  55. package/dist/cjs/types/Interface/api/promoCode/CreateDefaultPromoCode.js.map +1 -1
  56. package/dist/cjs/types/Interface/api/statistic/QueryInternal.d.ts +3 -0
  57. package/dist/cjs/types/Interface/api/statistic/QueryInternal.d.ts.map +1 -1
  58. package/dist/cjs/types/Interface/api/statistic/QueryInternal.js +10 -1
  59. package/dist/cjs/types/Interface/api/statistic/QueryInternal.js.map +1 -1
  60. package/dist/cjs/types/Interface/api/statistic/QueryLegal.d.ts +6 -0
  61. package/dist/cjs/types/Interface/api/statistic/QueryLegal.d.ts.map +1 -0
  62. package/dist/cjs/types/Interface/api/statistic/QueryLegal.js +33 -0
  63. package/dist/cjs/types/Interface/api/statistic/QueryLegal.js.map +1 -0
  64. package/dist/cjs/types/Interface/api/stripe/Create.d.ts +8 -0
  65. package/dist/cjs/types/Interface/api/stripe/Create.d.ts.map +1 -1
  66. package/dist/cjs/types/Interface/api/stripe/Create.js +27 -1
  67. package/dist/cjs/types/Interface/api/stripe/Create.js.map +1 -1
  68. package/dist/cjs/types/Interface/api/stripe/QueryStripe.d.ts +3 -0
  69. package/dist/cjs/types/Interface/api/stripe/QueryStripe.d.ts.map +1 -1
  70. package/dist/cjs/types/Interface/api/stripe/QueryStripe.js +9 -1
  71. package/dist/cjs/types/Interface/api/stripe/QueryStripe.js.map +1 -1
  72. package/dist/cjs/types/Interface/api/taxDeadline/ReadTaxDeadline.d.ts +1 -0
  73. package/dist/cjs/types/Interface/api/taxDeadline/ReadTaxDeadline.d.ts.map +1 -1
  74. package/dist/cjs/types/Interface/api/taxDeadline/ReadTaxDeadline.js.map +1 -1
  75. package/dist/cjs/types/Interface/api/vatDeclaration/QueryVatDeclaration.js +3 -2
  76. package/dist/cjs/types/Interface/api/vatDeclaration/QueryVatDeclaration.js.map +1 -1
  77. package/dist/cjs/types/Interface/models/IAIConversation.d.ts +11 -0
  78. package/dist/cjs/types/Interface/models/IAIConversation.d.ts.map +1 -0
  79. package/dist/cjs/types/Interface/models/IAIConversation.js +3 -0
  80. package/dist/cjs/types/Interface/models/IAIConversation.js.map +1 -0
  81. package/dist/cjs/types/Interface/models/IAIQuestion.d.ts +5 -5
  82. package/dist/cjs/types/Interface/models/IAIQuestion.d.ts.map +1 -1
  83. package/dist/cjs/types/Interface/models/IAIQuestion.js.map +1 -1
  84. package/dist/cjs/types/Interface/models/IMobile.d.ts +5 -0
  85. package/dist/cjs/types/Interface/models/IMobile.d.ts.map +1 -1
  86. package/dist/cjs/types/Interface/models/IMobile.js.map +1 -1
  87. package/dist/cjs/types/Interface/models/IPrestationComplementary.d.ts +2 -0
  88. package/dist/cjs/types/Interface/models/IPrestationComplementary.d.ts.map +1 -1
  89. package/dist/cjs/types/Interface/models/IPrestationComplementary.js.map +1 -1
  90. package/dist/cjs/types/Interface/models/ISociety.d.ts +2 -1
  91. package/dist/cjs/types/Interface/models/ISociety.d.ts.map +1 -1
  92. package/dist/cjs/types/Interface/models/ISociety.js.map +1 -1
  93. package/dist/cjs/types/index.d.ts +3 -0
  94. package/dist/cjs/types/index.d.ts.map +1 -1
  95. package/dist/cjs/types/index.js +3 -0
  96. package/dist/cjs/types/index.js.map +1 -1
  97. package/dist/cjs/utils/commercialManagement/document.d.ts.map +1 -1
  98. package/dist/cjs/utils/commercialManagement/document.js +19 -18
  99. package/dist/cjs/utils/commercialManagement/document.js.map +1 -1
  100. package/dist/cjs/utils/commercialManagement/templates/body.js +1 -1
  101. package/dist/cjs/utils/commercialManagement/templates/body.js.map +1 -1
  102. package/dist/cjs/utils/commercialManagement/templates/common.js +1 -1
  103. package/dist/cjs/utils/commercialManagement/templates/common.js.map +1 -1
  104. package/dist/mjs/api/resources/Ai.d.ts +2 -2
  105. package/dist/mjs/api/resources/Ai.d.ts.map +1 -1
  106. package/dist/mjs/api/resources/Ai.js +2 -2
  107. package/dist/mjs/api/resources/Ai.js.map +1 -1
  108. package/dist/mjs/api/resources/AnalyticsUtm.d.ts +10 -0
  109. package/dist/mjs/api/resources/AnalyticsUtm.d.ts.map +1 -0
  110. package/dist/mjs/api/resources/AnalyticsUtm.js +12 -0
  111. package/dist/mjs/api/resources/AnalyticsUtm.js.map +1 -0
  112. package/dist/mjs/api/resources/PaymentExpectation.d.ts +16 -1
  113. package/dist/mjs/api/resources/PaymentExpectation.d.ts.map +1 -1
  114. package/dist/mjs/api/resources/PaymentExpectation.js +20 -0
  115. package/dist/mjs/api/resources/PaymentExpectation.js.map +1 -1
  116. package/dist/mjs/api/resources/prestation.d.ts +3 -1
  117. package/dist/mjs/api/resources/prestation.d.ts.map +1 -1
  118. package/dist/mjs/api/resources/prestation.js.map +1 -1
  119. package/dist/mjs/api/resources/statistic/Legal.d.ts +11 -0
  120. package/dist/mjs/api/resources/statistic/Legal.d.ts.map +1 -0
  121. package/dist/mjs/api/resources/statistic/Legal.js +15 -0
  122. package/dist/mjs/api/resources/statistic/Legal.js.map +1 -0
  123. package/dist/mjs/api/resources.d.ts +4 -0
  124. package/dist/mjs/api/resources.d.ts.map +1 -1
  125. package/dist/mjs/api/resources.js +4 -0
  126. package/dist/mjs/api/resources.js.map +1 -1
  127. package/dist/mjs/types/Enum/Feature.d.ts +38 -0
  128. package/dist/mjs/types/Enum/Feature.d.ts.map +1 -0
  129. package/dist/mjs/types/Enum/Feature.js +58 -0
  130. package/dist/mjs/types/Enum/Feature.js.map +1 -0
  131. package/dist/mjs/types/Enum/StatisticType.d.ts +2 -1
  132. package/dist/mjs/types/Enum/StatisticType.d.ts.map +1 -1
  133. package/dist/mjs/types/Enum/StatisticType.js +1 -0
  134. package/dist/mjs/types/Enum/StatisticType.js.map +1 -1
  135. package/dist/mjs/types/Enum/StatusRating.d.ts.map +1 -1
  136. package/dist/mjs/types/Enum/StatusRating.js +1 -0
  137. package/dist/mjs/types/Enum/StatusRating.js.map +1 -1
  138. package/dist/mjs/types/Interface/api/accountingFiles/queryAccountingFiles.d.ts +1 -1
  139. package/dist/mjs/types/Interface/api/accountingFiles/queryAccountingFiles.js +2 -2
  140. package/dist/mjs/types/Interface/api/accountingFiles/queryAccountingFiles.js.map +1 -1
  141. package/dist/mjs/types/Interface/api/accountingTransaction/QueryTransaction.d.ts +1 -1
  142. package/dist/mjs/types/Interface/api/accountingTransaction/QueryTransaction.js +2 -2
  143. package/dist/mjs/types/Interface/api/accountingTransaction/QueryTransaction.js.map +1 -1
  144. package/dist/mjs/types/Interface/api/ai/AskQuestionCollaborator.d.ts +6 -0
  145. package/dist/mjs/types/Interface/api/ai/AskQuestionCollaborator.d.ts.map +1 -1
  146. package/dist/mjs/types/Interface/api/ai/AskQuestionCollaborator.js +33 -2
  147. package/dist/mjs/types/Interface/api/ai/AskQuestionCollaborator.js.map +1 -1
  148. package/dist/mjs/types/Interface/api/commercialManagement/Create.d.ts +6 -2
  149. package/dist/mjs/types/Interface/api/commercialManagement/Create.d.ts.map +1 -1
  150. package/dist/mjs/types/Interface/api/commercialManagement/Create.js +9 -1
  151. package/dist/mjs/types/Interface/api/commercialManagement/Create.js.map +1 -1
  152. package/dist/mjs/types/Interface/api/mobile/UpdateMobile.d.ts +5 -0
  153. package/dist/mjs/types/Interface/api/mobile/UpdateMobile.d.ts.map +1 -1
  154. package/dist/mjs/types/Interface/api/mobile/UpdateMobile.js +38 -0
  155. package/dist/mjs/types/Interface/api/mobile/UpdateMobile.js.map +1 -1
  156. package/dist/mjs/types/Interface/api/promoCode/CreateDefaultPromoCode.d.ts.map +1 -1
  157. package/dist/mjs/types/Interface/api/promoCode/CreateDefaultPromoCode.js +4 -1
  158. package/dist/mjs/types/Interface/api/promoCode/CreateDefaultPromoCode.js.map +1 -1
  159. package/dist/mjs/types/Interface/api/statistic/QueryInternal.d.ts +3 -0
  160. package/dist/mjs/types/Interface/api/statistic/QueryInternal.d.ts.map +1 -1
  161. package/dist/mjs/types/Interface/api/statistic/QueryInternal.js +9 -0
  162. package/dist/mjs/types/Interface/api/statistic/QueryInternal.js.map +1 -1
  163. package/dist/mjs/types/Interface/api/statistic/QueryLegal.d.ts +6 -0
  164. package/dist/mjs/types/Interface/api/statistic/QueryLegal.d.ts.map +1 -0
  165. package/dist/mjs/types/Interface/api/statistic/QueryLegal.js +32 -0
  166. package/dist/mjs/types/Interface/api/statistic/QueryLegal.js.map +1 -0
  167. package/dist/mjs/types/Interface/api/stripe/Create.d.ts +8 -0
  168. package/dist/mjs/types/Interface/api/stripe/Create.d.ts.map +1 -1
  169. package/dist/mjs/types/Interface/api/stripe/Create.js +29 -1
  170. package/dist/mjs/types/Interface/api/stripe/Create.js.map +1 -1
  171. package/dist/mjs/types/Interface/api/stripe/QueryStripe.d.ts +3 -0
  172. package/dist/mjs/types/Interface/api/stripe/QueryStripe.d.ts.map +1 -1
  173. package/dist/mjs/types/Interface/api/stripe/QueryStripe.js +8 -0
  174. package/dist/mjs/types/Interface/api/stripe/QueryStripe.js.map +1 -1
  175. package/dist/mjs/types/Interface/api/taxDeadline/ReadTaxDeadline.d.ts +1 -0
  176. package/dist/mjs/types/Interface/api/taxDeadline/ReadTaxDeadline.d.ts.map +1 -1
  177. package/dist/mjs/types/Interface/api/taxDeadline/ReadTaxDeadline.js +1 -0
  178. package/dist/mjs/types/Interface/api/taxDeadline/ReadTaxDeadline.js.map +1 -1
  179. package/dist/mjs/types/Interface/api/vatDeclaration/QueryVatDeclaration.js +4 -3
  180. package/dist/mjs/types/Interface/api/vatDeclaration/QueryVatDeclaration.js.map +1 -1
  181. package/dist/mjs/types/Interface/models/IAIConversation.d.ts +11 -0
  182. package/dist/mjs/types/Interface/models/IAIConversation.d.ts.map +1 -0
  183. package/dist/mjs/types/Interface/models/IAIConversation.js +2 -0
  184. package/dist/mjs/types/Interface/models/IAIConversation.js.map +1 -0
  185. package/dist/mjs/types/Interface/models/IAIQuestion.d.ts +5 -5
  186. package/dist/mjs/types/Interface/models/IAIQuestion.d.ts.map +1 -1
  187. package/dist/mjs/types/Interface/models/IAIQuestion.js.map +1 -1
  188. package/dist/mjs/types/Interface/models/IMobile.d.ts +5 -0
  189. package/dist/mjs/types/Interface/models/IMobile.d.ts.map +1 -1
  190. package/dist/mjs/types/Interface/models/IMobile.js.map +1 -1
  191. package/dist/mjs/types/Interface/models/IPrestationComplementary.d.ts +2 -0
  192. package/dist/mjs/types/Interface/models/IPrestationComplementary.d.ts.map +1 -1
  193. package/dist/mjs/types/Interface/models/IPrestationComplementary.js.map +1 -1
  194. package/dist/mjs/types/Interface/models/ISociety.d.ts +2 -1
  195. package/dist/mjs/types/Interface/models/ISociety.d.ts.map +1 -1
  196. package/dist/mjs/types/Interface/models/ISociety.js.map +1 -1
  197. package/dist/mjs/types/index.d.ts +3 -0
  198. package/dist/mjs/types/index.d.ts.map +1 -1
  199. package/dist/mjs/types/index.js +3 -0
  200. package/dist/mjs/types/index.js.map +1 -1
  201. package/dist/mjs/utils/commercialManagement/document.d.ts.map +1 -1
  202. package/dist/mjs/utils/commercialManagement/document.js +3 -2
  203. package/dist/mjs/utils/commercialManagement/document.js.map +1 -1
  204. package/dist/mjs/utils/commercialManagement/templates/body.js +1 -1
  205. package/dist/mjs/utils/commercialManagement/templates/body.js.map +1 -1
  206. package/dist/mjs/utils/commercialManagement/templates/common.js +1 -1
  207. package/dist/mjs/utils/commercialManagement/templates/common.js.map +1 -1
  208. package/package.json +1 -1
  209. package/ts/api/resources/Ai.ts +3 -3
  210. package/ts/api/resources/AnalyticsUtm.ts +12 -0
  211. package/ts/api/resources/PaymentExpectation.ts +27 -0
  212. package/ts/api/resources/prestation.ts +1 -1
  213. package/ts/api/resources/statistic/Legal.ts +16 -0
  214. package/ts/api/resources.ts +4 -0
  215. package/ts/types/Enum/Feature.ts +62 -0
  216. package/ts/types/Enum/StatisticType.ts +1 -0
  217. package/ts/types/Enum/StatusRating.ts +1 -0
  218. package/ts/types/Interface/api/accountingFiles/queryAccountingFiles.ts +1 -1
  219. package/ts/types/Interface/api/accountingTransaction/QueryTransaction.ts +1 -1
  220. package/ts/types/Interface/api/ai/AskQuestionCollaborator.ts +25 -2
  221. package/ts/types/Interface/api/commercialManagement/Create.ts +8 -2
  222. package/ts/types/Interface/api/mobile/UpdateMobile.ts +28 -0
  223. package/ts/types/Interface/api/promoCode/CreateDefaultPromoCode.ts +4 -1
  224. package/ts/types/Interface/api/statistic/QueryInternal.ts +7 -0
  225. package/ts/types/Interface/api/statistic/QueryLegal.ts +16 -0
  226. package/ts/types/Interface/api/stripe/Create.ts +21 -1
  227. package/ts/types/Interface/api/stripe/QueryStripe.ts +5 -0
  228. package/ts/types/Interface/api/taxDeadline/ReadTaxDeadline.ts +1 -0
  229. package/ts/types/Interface/api/vatDeclaration/QueryVatDeclaration.ts +2 -2
  230. package/ts/types/Interface/models/IAIConversation.ts +13 -0
  231. package/ts/types/Interface/models/IAIQuestion.ts +5 -5
  232. package/ts/types/Interface/models/IMobile.ts +5 -0
  233. package/ts/types/Interface/models/IPrestationComplementary.ts +2 -0
  234. package/ts/types/Interface/models/ISociety.ts +2 -0
  235. package/ts/types/index.ts +3 -0
  236. package/ts/utils/commercialManagement/document.ts +3 -2
  237. package/ts/utils/commercialManagement/templates/body.ts +1 -1
  238. package/ts/utils/commercialManagement/templates/common.ts +1 -1
@@ -19,7 +19,7 @@ const ejs = require("ejs");
19
19
  // eslint-disable-next-line @typescript-eslint/no-require-imports
20
20
  require('dayjs/locale/fr');
21
21
  function generateCommercialDocument(idEstimateInvoiceType, payload, shouldHideBrandName = false, nodeEnv = undefined) {
22
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1;
22
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2;
23
23
  const products = (0, lodash_1.orderBy)(payload.products.map((product) => (0, product_1.productToReadProductEditing)(product), 'reorder'));
24
24
  const vats = (0, lodash_1.orderBy)(Object.values((0, lodash_1.groupBy)(products, 'vatFormatted')).map((v) => (0, vat_1.vatToReadVatEditing)(v), 'value')).filter((v) => v.id !== Vat_1.Vat.MARGE.id);
25
25
  const thirdParty = (0, thirdParty_1.thirdPartyToReadThirdPartyEditing)(payload.thirdParty);
@@ -39,23 +39,24 @@ function generateCommercialDocument(idEstimateInvoiceType, payload, shouldHideBr
39
39
  const locale = (_b = payload.language) !== null && _b !== void 0 ? _b : CommercialManagement_1.InvoiceLanguage.FR;
40
40
  const languageOption = choices_1.internationalizationChoices[locale];
41
41
  const accountingCategory = (_d = (_c = CommercialManagement_1.AccountingCategoryList.find((a) => a.id === payload.accountingCategory)) === null || _c === void 0 ? void 0 : _c.label) !== null && _d !== void 0 ? _d : null;
42
- const data = Object.assign(Object.assign({}, payload), { thirdParty, paymentLink: (_e = payload.paymentLink) !== null && _e !== void 0 ? _e : '#', idEstimateInvoiceType, title: (_f = payload.title) !== null && _f !== void 0 ? _f : null, penalties: payload.penalties
43
- ? ((_g = (0, choices_1.internationalizationConsistency)(locale, payload.penalties, 'penalties')) !== null && _g !== void 0 ? _g : payload.penalties)
42
+ const recoveryCost = (_e = payload.recoveryCost) !== null && _e !== void 0 ? _e : payload.compensation;
43
+ const data = Object.assign(Object.assign({}, payload), { thirdParty, paymentLink: (_f = payload.paymentLink) !== null && _f !== void 0 ? _f : '#', idEstimateInvoiceType, title: (_g = payload.title) !== null && _g !== void 0 ? _g : null, penalties: payload.penalties
44
+ ? ((_h = (0, choices_1.internationalizationConsistency)(locale, payload.penalties, 'penalties')) !== null && _h !== void 0 ? _h : payload.penalties)
44
45
  : null, termsOfPayment: payload.termsOfPayment
45
- ? ((_h = (0, choices_1.internationalizationConsistency)(locale, payload.termsOfPayment, 'termsOfPayment')) !== null && _h !== void 0 ? _h : payload.termsOfPayment)
46
- : null, compensation: payload.compensation
47
- ? ((_j = (0, choices_1.internationalizationConsistency)(locale, payload.compensation, 'recoveryCost')) !== null && _j !== void 0 ? _j : payload.compensation)
46
+ ? ((_j = (0, choices_1.internationalizationConsistency)(locale, payload.termsOfPayment, 'termsOfPayment')) !== null && _j !== void 0 ? _j : payload.termsOfPayment)
47
+ : null, recoveryCost: recoveryCost
48
+ ? ((_k = (0, choices_1.internationalizationConsistency)(locale, recoveryCost, 'recoveryCost')) !== null && _k !== void 0 ? _k : recoveryCost)
48
49
  : null, discount: payload.discount
49
- ? ((_k = (0, choices_1.internationalizationConsistency)(locale, payload.discount, 'discount')) !== null && _k !== void 0 ? _k : payload.discount)
50
+ ? ((_l = (0, choices_1.internationalizationConsistency)(locale, payload.discount, 'discount')) !== null && _l !== void 0 ? _l : payload.discount)
50
51
  : null, vatMention: payload.vatMention
51
- ? ((_l = (0, choices_1.internationalizationConsistency)(locale, payload.vatMention, 'vatMention')) !== null && _l !== void 0 ? _l : payload.vatMention)
52
- : null, phoneContact: (_o = (_m = payload.settings) === null || _m === void 0 ? void 0 : _m.phoneContact) !== null && _o !== void 0 ? _o : null, products,
52
+ ? ((_m = (0, choices_1.internationalizationConsistency)(locale, payload.vatMention, 'vatMention')) !== null && _m !== void 0 ? _m : payload.vatMention)
53
+ : null, phoneContact: (_p = (_o = payload.settings) === null || _o === void 0 ? void 0 : _o.phoneContact) !== null && _p !== void 0 ? _p : null, products,
53
54
  vats, totalTaxExcluded: (0, lodash_1.sumBy)(products, 'totalTaxExcluded'), totalTaxIncluded: (0, lodash_1.round)(totalTaxIncluded), totalTaxAndDiscountIncluded: (0, lodash_1.round)(totalTaxIncluded), generalDiscountFormatted: payload.generalDiscount2
54
55
  ? (0, amount_1.integerToFormattedAmountString)(payload.generalDiscount2)
55
- : null, depositFormatted: payload.deposit ? (0, amount_1.integerToFormattedAmountString)(payload.deposit) : null, totalTaxExcludedFormatted: (0, amount_1.integerToFormattedAmountString)((0, lodash_1.sumBy)(products, 'totalTaxExcluded')), totalTaxIncludedFormatted: (0, amount_1.integerToFormattedAmountString)(totalTaxIncluded), totalTaxAndDiscountIncludedFormatted: (0, amount_1.integerToFormattedAmountString)(totalTaxIncluded - ((_p = payload.generalDiscount2) !== null && _p !== void 0 ? _p : 0) - ((_q = payload.deposit) !== null && _q !== void 0 ? _q : 0)), totalVatAmountFormatted: (0, amount_1.integerToFormattedAmountString)((0, lodash_1.sumBy)(vats, 'amount')), font: {
56
- id: (_s = (_r = payload.settings) === null || _r === void 0 ? void 0 : _r.idFont) !== null && _s !== void 0 ? _s : CommercialManagement_1.FontIds.CIRCULAR_STD,
57
- name: (_u = (_t = CommercialManagement_1.fontList.find((f) => { var _a; return f.id === ((_a = payload.settings) === null || _a === void 0 ? void 0 : _a.idFont); })) === null || _t === void 0 ? void 0 : _t.name) !== null && _u !== void 0 ? _u : CommercialManagement_1.fontList[0].name,
58
- url: (_w = (_v = CommercialManagement_1.fontList.find((f) => { var _a; return f.id === ((_a = payload.settings) === null || _a === void 0 ? void 0 : _a.idFont); })) === null || _v === void 0 ? void 0 : _v.link) !== null && _w !== void 0 ? _w : CommercialManagement_1.fontList[0].link,
56
+ : null, depositFormatted: payload.deposit ? (0, amount_1.integerToFormattedAmountString)(payload.deposit) : null, totalTaxExcludedFormatted: (0, amount_1.integerToFormattedAmountString)((0, lodash_1.sumBy)(products, 'totalTaxExcluded')), totalTaxIncludedFormatted: (0, amount_1.integerToFormattedAmountString)(totalTaxIncluded), totalTaxAndDiscountIncludedFormatted: (0, amount_1.integerToFormattedAmountString)(totalTaxIncluded - ((_q = payload.generalDiscount2) !== null && _q !== void 0 ? _q : 0) - ((_r = payload.deposit) !== null && _r !== void 0 ? _r : 0)), totalVatAmountFormatted: (0, amount_1.integerToFormattedAmountString)((0, lodash_1.sumBy)(vats, 'amount')), font: {
57
+ id: (_t = (_s = payload.settings) === null || _s === void 0 ? void 0 : _s.idFont) !== null && _t !== void 0 ? _t : CommercialManagement_1.FontIds.CIRCULAR_STD,
58
+ name: (_v = (_u = CommercialManagement_1.fontList.find((f) => { var _a; return f.id === ((_a = payload.settings) === null || _a === void 0 ? void 0 : _a.idFont); })) === null || _u === void 0 ? void 0 : _u.name) !== null && _v !== void 0 ? _v : CommercialManagement_1.fontList[0].name,
59
+ url: (_x = (_w = CommercialManagement_1.fontList.find((f) => { var _a; return f.id === ((_a = payload.settings) === null || _a === void 0 ? void 0 : _a.idFont); })) === null || _w === void 0 ? void 0 : _w.link) !== null && _x !== void 0 ? _x : CommercialManagement_1.fontList[0].link,
59
60
  }, capitalFormatted: payload.capital
60
61
  ? `${payload.capital}`
61
62
  .split('')
@@ -64,19 +65,19 @@ function generateCommercialDocument(idEstimateInvoiceType, payload, shouldHideBr
64
65
  : null, dueDateFormatted: payload.dueDate ? dayjs(payload.dueDate).format('DD/MM/YYYY') : null, expirationDateFormatted: payload.expirationDate ? dayjs(payload.expirationDate).format('DD/MM/YYYY') : null, emissionDateFormatted: payload.emissionDate ? dayjs(payload.emissionDate).format('DD/MM/YYYY') : null, shouldDisplayDiscountColumn: !!products.find((p) => p.discount2 && p.discount2 > 0),
65
66
  // @ts-ignore
66
67
  marginVats: (0, lodash_1.uniq)(products.filter((p) => p.marginVatFormatted !== null).map((p) => p.marginVatFormatted)), accountingCategoryFormatted: accountingCategory
67
- ? ((_x = (0, choices_1.internationalizationConsistency)(locale, accountingCategory, 'accountingCategory')) !== null && _x !== void 0 ? _x : null)
68
+ ? ((_y = (0, choices_1.internationalizationConsistency)(locale, accountingCategory, 'accountingCategory')) !== null && _y !== void 0 ? _y : null)
68
69
  : null,
69
70
  // @ts-ignore
70
71
  brandColors: (0, brands_1.getBrandConfig)({ objectWaited: 'colors', nodeEnv }), brandName: `${(0, brands_1.getBrandConfig)({ objectWaited: 'name', nodeEnv })}`, shouldHideBrandName, paymentType: payload.paymentType
71
- ? ((_y = (0, choices_1.internationalizationConsistency)(locale, payload.paymentType, 'paymentType')) !== null && _y !== void 0 ? _y : payload.paymentType)
72
+ ? ((_z = (0, choices_1.internationalizationConsistency)(locale, payload.paymentType, 'paymentType')) !== null && _z !== void 0 ? _z : payload.paymentType)
72
73
  : null, languageTemplate: languageOption });
73
74
  const commonTemplate = new common_1.CommercialDocumentCommonHTML();
74
75
  const documentFreeText = [EstimateInvoice_1.EstimateInvoiceType.DEVIS, EstimateInvoice_1.EstimateInvoiceType.BON].includes(idEstimateInvoiceType)
75
- ? (_z = payload === null || payload === void 0 ? void 0 : payload.settings) === null || _z === void 0 ? void 0 : _z.freeEstimateText
76
- : (_0 = payload === null || payload === void 0 ? void 0 : payload.settings) === null || _0 === void 0 ? void 0 : _0.freeInvoiceText;
76
+ ? (_0 = payload === null || payload === void 0 ? void 0 : payload.settings) === null || _0 === void 0 ? void 0 : _0.freeEstimateText
77
+ : (_1 = payload === null || payload === void 0 ? void 0 : payload.settings) === null || _1 === void 0 ? void 0 : _1.freeInvoiceText;
77
78
  return {
78
79
  header: ejs.render(commonTemplate.header, data),
79
- body: ejs.render(body_1.bodyTemplate, Object.assign(Object.assign({}, data), { comment: data.comment && typeof data.comment === 'string' ? (_1 = data.comment) === null || _1 === void 0 ? void 0 : _1.replace(/\n/g, '<br/>') : null, products: data.products.map((p) => {
80
+ body: ejs.render(body_1.bodyTemplate, Object.assign(Object.assign({}, data), { comment: data.comment && typeof data.comment === 'string' ? (_2 = data.comment) === null || _2 === void 0 ? void 0 : _2.replace(/\n/g, '<br/>') : null, products: data.products.map((p) => {
80
81
  var _a;
81
82
  return (Object.assign(Object.assign({}, p), { comment: p.comment && typeof p.comment === 'string' ? (_a = p.comment) === null || _a === void 0 ? void 0 : _a.replace(/\n/g, '<br/>') : null,
82
83
  // @ts-expect-error
@@ -1 +1 @@
1
- {"version":3,"file":"document.js","sourceRoot":"","sources":["../../../../ts/utils/commercialManagement/document.ts"],"names":[],"mappings":"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","sourcesContent":["import { orderBy as _orderBy, groupBy as _groupBy, sumBy as _sumBy, uniq as _uniq, round as _round } from 'lodash';\nimport * as dayjs from 'dayjs';\nimport {\n ReadCommercialDocumentTemplate,\n ReadDocumentEditing,\n ReadVatEditing,\n} from '../../types/Interface/api/commercialManagement/Read';\nimport { AccountingCategoryList, FontIds, fontList, InvoiceLanguage } from '../../types/Enum/CommercialManagement';\nimport { EstimateInvoiceType } from '../../types/Enum/EstimateInvoice';\nimport { Vat } from '../../types/Enum/Vat';\nimport { integerToFormattedAmountString, integerToFormattedAmountObject } from '../amount';\nimport { CommercialDocumentCommonHTML, CommercialDocumentMailHTML } from './templates/common';\nimport { bodyTemplate } from './templates/body';\nimport { productToReadProductEditing } from './product';\nimport { vatToReadVatEditing } from './vat';\nimport {\n CreateInvoiceDocument,\n CreateMailHeader,\n CreatePreSaleDocument,\n ReadCommercialMailTemplate,\n} from '../../types';\nimport { thirdPartyToReadThirdPartyEditing } from './thirdParty';\nimport { getBrandConfig } from '../brands';\nimport { internationalizationChoices, internationalizationConsistency } from './internationalization/choices';\n\nimport * as ejs from 'ejs';\n// eslint-disable-next-line @typescript-eslint/no-require-imports\nrequire('dayjs/locale/fr');\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 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 compensation: payload.compensation\n ? (internationalizationConsistency(locale, payload.compensation, 'recoveryCost') ?? payload.compensation)\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: data.comment && typeof data.comment === 'string' ? data.comment?.replace(/\\n/g, '<br/>') : null,\n products: data.products.map((p) => ({\n ...p,\n comment: p.comment && typeof p.comment === 'string' ? p.comment?.replace(/\\n/g, '<br/>') : 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 { orderBy as _orderBy, groupBy as _groupBy, sumBy as _sumBy, uniq as _uniq, round as _round } from 'lodash';\nimport * as dayjs from 'dayjs';\nimport {\n ReadCommercialDocumentTemplate,\n ReadDocumentEditing,\n ReadVatEditing,\n} from '../../types/Interface/api/commercialManagement/Read';\nimport { AccountingCategoryList, FontIds, fontList, InvoiceLanguage } from '../../types/Enum/CommercialManagement';\nimport { EstimateInvoiceType } from '../../types/Enum/EstimateInvoice';\nimport { Vat } from '../../types/Enum/Vat';\nimport { integerToFormattedAmountString, integerToFormattedAmountObject } from '../amount';\nimport { CommercialDocumentCommonHTML, CommercialDocumentMailHTML } from './templates/common';\nimport { bodyTemplate } from './templates/body';\nimport { productToReadProductEditing } from './product';\nimport { vatToReadVatEditing } from './vat';\nimport {\n CreateInvoiceDocument,\n CreateMailHeader,\n CreatePreSaleDocument,\n ReadCommercialMailTemplate,\n} from '../../types';\nimport { thirdPartyToReadThirdPartyEditing } from './thirdParty';\nimport { getBrandConfig } from '../brands';\nimport { internationalizationChoices, internationalizationConsistency } from './internationalization/choices';\n\nimport * as ejs from 'ejs';\n// eslint-disable-next-line @typescript-eslint/no-require-imports\nrequire('dayjs/locale/fr');\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: data.comment && typeof data.comment === 'string' ? data.comment?.replace(/\\n/g, '<br/>') : null,\n products: data.products.map((p) => ({\n ...p,\n comment: p.comment && typeof p.comment === 'string' ? p.comment?.replace(/\\n/g, '<br/>') : 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"]}
@@ -82,7 +82,7 @@ exports.bodyTemplate = `<html class="pdf-content">
82
82
  <% if (disableVat !== true && vats.length) { %>
83
83
  ${commonTemplate.vatRecapitulation}
84
84
  <% } %>
85
- <% if (vatMention) { %><div class="vat-mention <%= disableVat !== true ? 'mt-20' : ''%>"><%= vatMention %></div><% } %>
85
+ <% if (vatMention && vatMention !== 'TVA: Non concerné') { %><div class="vat-mention <%= disableVat !== true ? 'mt-20' : ''%>"><%= vatMention %></div><% } %>
86
86
  <% if (comment) { %>
87
87
  <p class="mt-20"><%= languageTemplate.template.common.options.comment %> :<br/>
88
88
  <%- comment %>
@@ -1 +1 @@
1
- {"version":3,"file":"body.js","sourceRoot":"","sources":["../../../../../ts/utils/commercialManagement/templates/body.ts"],"names":[],"mappings":";;;AAAA,yEAA0E;AAC1E,qCAAwD;AAExD,MAAM,cAAc,GAAG,IAAI,qCAA4B,EAAE,CAAC;AAE1D,MAAM,cAAc,GAAG;;;YAGX,cAAc,CAAC,IAAI;YACnB,cAAc,CAAC,OAAO;;;4CAGU,cAAc,CAAC,OAAO;UACxD,cAAc,CAAC,IAAI;;;;;;;yCAOY,qCAAmB,CAAC,GAAG;;gDAEhB,qCAAmB,CAAC,KAAK;;gDAEzB,qCAAmB,CAAC,OAAO;;gDAE3B,qCAAmB,CAAC,KAAK;;gDAEzB,qCAAmB,CAAC,KAAK;;gDAEzB,qCAAmB,CAAC,OAAO;;;;;mDAKxB,qCAAmB,CAAC,OAAO;;oBAE1D,qCAAmB,CAAC,GAAG,KAAK,qCAAmB,CAAC,KAAK;;;;;;;2DAOd,qCAAmB,CAAC,OAAO;;;;kDAIpC,qCAAmB,CAAC,GAAG,KAAK,qCAAmB,CAAC,KAAK;;;;;;;;;;;;;;;;;SAiB9F,CAAC;AAEG,QAAA,YAAY,GAAG;;;;IAIxB,cAAc;;;;;;6BAMW,cAAc,CAAC,QAAQ;;;;;YAKxC,cAAc,CAAC,iBAAiB;;;;;;;;;;UAUlC,cAAc,CAAC,oBAAoB;;sCAEP,qCAAmB,CAAC,GAAG,KAAK,qCAAmB,CAAC,KAAK;8DAC7B,cAAc,CAAC,aAAa;;;;;;;;;;;;;;;;;;wEAkBlB,qCAAmB,CAAC,KAAK,iCAAiC,qCAAmB,CAAC,GAAG;;;;;;;;;;;QAWjJ,cAAc,CAAC,KAAK;;;QAGpB,cAAc,CAAC,YAAY;;QAE3B,CAAC","sourcesContent":["import { EstimateInvoiceType } from '../../../types/Enum/EstimateInvoice';\nimport { CommercialDocumentCommonHTML } from './common';\n\nconst commonTemplate = new CommercialDocumentCommonHTML();\n\nconst headOfDocument = `<div class=\"row space-between\">\n <% if (settings && settings.logoAlignment === 'left') { %>\n <div class=\"society-informations\">\n ${commonTemplate.logo}\n ${commonTemplate.company}\n </div>\n <% } else { %>\n <div class=\"society-informations\">${commonTemplate.company}</div>\n ${commonTemplate.logo}\n <% } %>\n </div>\n\n <div class=\"row space-between items-end\" style=\"margin-top: 10px\">\n <div style=\"width: 45%; margin-top: auto;\">\n <span class=\"document-reference\">\n <% if (idEstimateInvoiceType === ${EstimateInvoiceType.BON}) { %>\n <%= languageTemplate.template.orderForm.headers.title %>\n <% } else if (idEstimateInvoiceType === ${EstimateInvoiceType.DEVIS}) { %>\n <%= languageTemplate.template.estimate.headers.title %>\n <% } else if (idEstimateInvoiceType === ${EstimateInvoiceType.FACTURE}) { %>\n <%= languageTemplate.template.invoice.headers.title %>\n <% } else if (idEstimateInvoiceType === ${EstimateInvoiceType.AVOIR}) { %>\n <%= languageTemplate.template.asset.headers.title %>\n <% } else if (idEstimateInvoiceType === ${EstimateInvoiceType.RESTE}) { %>\n <%= languageTemplate.template.remainder.headers.title %>\n <% } else if (idEstimateInvoiceType === ${EstimateInvoiceType.ACOMPTE}) { %>\n <%= languageTemplate.template.deposit.headers.title %>\n <% } %>\n <%= reference %></span><br/>\n <% if(emissionDate) {%><span class=\"document-emission-date\"> <%= languageTemplate.template.common.headers.emissionDate %> : <%= emissionDateFormatted %></span><br/><% } %>\n <% if(dueDate && idEstimateInvoiceType !== ${EstimateInvoiceType.ACOMPTE}) {%>\n <span class=\"document-due-date\">\n <% if ([${EstimateInvoiceType.BON}, ${EstimateInvoiceType.DEVIS}].includes(idEstimateInvoiceType)) {%>\n <%= languageTemplate.template.estimate.headers.dueDate %> :\n <% } else { %>\n <%= languageTemplate.template.invoice.headers.dueDate %> :\n <% } %>\n <%= dueDateFormatted %></span>\n <% } %>\n <% if (expirationDate && idEstimateInvoiceType === ${EstimateInvoiceType.ACOMPTE}) {%>\n <span class=\"document-due-date\"><%= languageTemplate.template.deposit.headers.expirationDate %> : : <%= expirationDateFormatted %></span>\n <% } %>\n <% if(termsOfPayment) { %>\n <br/><p style=\"margin-bottom: 0px;\"><%= [${EstimateInvoiceType.BON}, ${EstimateInvoiceType.DEVIS}].includes(idEstimateInvoiceType) ? languageTemplate.template.estimate.headers.termsOfPayment : languageTemplate.template.invoice.headers.termsOfPayment %> : <%= termsOfPayment %></p>\n <% } %>\n </div>\n <div style=\"width: 40%; margin-top: auto;\">\n <p></p>\n <% if (thirdParty) { %>\n <div class=\"<%= settings && settings.isCoordinatesFrameDisplayed ? 'customer-border' : '' %>\">\n <% if(thirdParty.company) {%><b><%= thirdParty.company %></b><br/><% } %>\n <% if(thirdParty.fullname) {%><%= thirdParty.fullname %><br/><% } %>\n <% if(thirdParty.address) {%><%= thirdParty.address %><br/><% } %>\n <% if(thirdParty.zipCode) {%><%= thirdParty.zipCode + ' ' %><% } %><%= thirdParty.city %> <%= thirdParty.country %><br/>\n <% if(thirdParty.deliveryAddress && thirdParty.deliveryCity && thirdParty.deliveryZipCode) {%>Adresse de livraison : <%= thirdParty.deliveryAddress %> <%= thirdParty.deliveryZipCode %> <%= thirdParty.deliveryCity %> <%= thirdParty.deliveryCountry %><br/><% } %>\n <% if(thirdParty.nSiret) {%>SIRET : <%= thirdParty.nSiret %><br/><% } %>\n <% if(thirdParty.nTva) {%>N° TVA : <%= thirdParty.nTva %><% } %>\n </div>\n <% } %>\n </div>\n </div>`;\n\nexport const bodyTemplate = `<html class=\"pdf-content\">\n\n <body>\n\n ${headOfDocument}\n\n <div class=\"row mt-25\">\n <% if (title) { %><%=languageTemplate.template.common.headers.title %> : <%= title %><% } %>\n </div>\n\n <div class=\"row mt-10\">${commonTemplate.products}</div>\n\n <div class=\"row space-between mt-20\">\n <div style=\"width: 55%;\">\n <% if (disableVat !== true && vats.length) { %>\n ${commonTemplate.vatRecapitulation}\n <% } %>\n <% if (vatMention) { %><div class=\"vat-mention <%= disableVat !== true ? 'mt-20' : ''%>\"><%= vatMention %></div><% } %>\n <% if (comment) { %>\n <p class=\"mt-20\"><%= languageTemplate.template.common.options.comment %> :<br/>\n <%- comment %>\n <% } %>\n </div>\n\n <div>\n ${commonTemplate.amountRecapitulation}\n\n <% if (isStripeAllowed && ![${EstimateInvoiceType.BON}, ${EstimateInvoiceType.DEVIS}].includes(idEstimateInvoiceType)) { %>\n <div style=\"text-align: right; margin-top: 30px;\">${commonTemplate.paymentButton}</div>\n <% } %>\n </div>\n \n </div>\n\n <% if ((settings && (settings.iban || settings.bic || settings.bank)) || paymentType) { %>\n <div class=\"row mt-30 space-between\" style=\"page-break-inside: avoid !important;\">\n <div>\n <% if ((settings && (settings.iban || settings.bic || settings.bank)) || paymentType) { %>\n <% if(paymentType) { %><%= languageTemplate.template.common.options.paymentType %> : <%= paymentType %><br/><% } %>\n <% if(settings.bank) { %><%= languageTemplate.template.common.options.bank %> : <%= settings.bank %><br/><% } %>\n <% if(settings.iban) { %>IBAN : <%= settings.iban %><br/><% } %>\n <% if(settings.bic) { %>BIC : <%= settings.bic %><% } %>\n <% } %>\n </div>\n </div>\n <% } %>\n <% if (settings && settings.bonPour && (idEstimateInvoiceType === ${EstimateInvoiceType.DEVIS} || idEstimateInvoiceType === ${EstimateInvoiceType.BON})) { %>\n <br/><%= languageTemplate.template.common.options.approval %> : <br/><br/><br/><br/>\n <% } %>\n\n <% if (cgv && (settings && settings.invoiceCgv)) { %>\n <br><div style=\"page-break-after:always;\"></div>\n <div id=\"WYSIWYG\"><%- cgv %></div>\n <% } %>\n </body>\n\n <style>\n ${commonTemplate.style}\n </style>\n <style>\n ${commonTemplate.styleWYSIWYG}\n </style>\n</html>`;\n"]}
1
+ {"version":3,"file":"body.js","sourceRoot":"","sources":["../../../../../ts/utils/commercialManagement/templates/body.ts"],"names":[],"mappings":";;;AAAA,yEAA0E;AAC1E,qCAAwD;AAExD,MAAM,cAAc,GAAG,IAAI,qCAA4B,EAAE,CAAC;AAE1D,MAAM,cAAc,GAAG;;;YAGX,cAAc,CAAC,IAAI;YACnB,cAAc,CAAC,OAAO;;;4CAGU,cAAc,CAAC,OAAO;UACxD,cAAc,CAAC,IAAI;;;;;;;yCAOY,qCAAmB,CAAC,GAAG;;gDAEhB,qCAAmB,CAAC,KAAK;;gDAEzB,qCAAmB,CAAC,OAAO;;gDAE3B,qCAAmB,CAAC,KAAK;;gDAEzB,qCAAmB,CAAC,KAAK;;gDAEzB,qCAAmB,CAAC,OAAO;;;;;mDAKxB,qCAAmB,CAAC,OAAO;;oBAE1D,qCAAmB,CAAC,GAAG,KAAK,qCAAmB,CAAC,KAAK;;;;;;;2DAOd,qCAAmB,CAAC,OAAO;;;;kDAIpC,qCAAmB,CAAC,GAAG,KAAK,qCAAmB,CAAC,KAAK;;;;;;;;;;;;;;;;;SAiB9F,CAAC;AAEG,QAAA,YAAY,GAAG;;;;IAIxB,cAAc;;;;;;6BAMW,cAAc,CAAC,QAAQ;;;;;YAKxC,cAAc,CAAC,iBAAiB;;;;;;;;;;UAUlC,cAAc,CAAC,oBAAoB;;sCAEP,qCAAmB,CAAC,GAAG,KAAK,qCAAmB,CAAC,KAAK;8DAC7B,cAAc,CAAC,aAAa;;;;;;;;;;;;;;;;;;wEAkBlB,qCAAmB,CAAC,KAAK,iCAAiC,qCAAmB,CAAC,GAAG;;;;;;;;;;;QAWjJ,cAAc,CAAC,KAAK;;;QAGpB,cAAc,CAAC,YAAY;;QAE3B,CAAC","sourcesContent":["import { EstimateInvoiceType } from '../../../types/Enum/EstimateInvoice';\nimport { CommercialDocumentCommonHTML } from './common';\n\nconst commonTemplate = new CommercialDocumentCommonHTML();\n\nconst headOfDocument = `<div class=\"row space-between\">\n <% if (settings && settings.logoAlignment === 'left') { %>\n <div class=\"society-informations\">\n ${commonTemplate.logo}\n ${commonTemplate.company}\n </div>\n <% } else { %>\n <div class=\"society-informations\">${commonTemplate.company}</div>\n ${commonTemplate.logo}\n <% } %>\n </div>\n\n <div class=\"row space-between items-end\" style=\"margin-top: 10px\">\n <div style=\"width: 45%; margin-top: auto;\">\n <span class=\"document-reference\">\n <% if (idEstimateInvoiceType === ${EstimateInvoiceType.BON}) { %>\n <%= languageTemplate.template.orderForm.headers.title %>\n <% } else if (idEstimateInvoiceType === ${EstimateInvoiceType.DEVIS}) { %>\n <%= languageTemplate.template.estimate.headers.title %>\n <% } else if (idEstimateInvoiceType === ${EstimateInvoiceType.FACTURE}) { %>\n <%= languageTemplate.template.invoice.headers.title %>\n <% } else if (idEstimateInvoiceType === ${EstimateInvoiceType.AVOIR}) { %>\n <%= languageTemplate.template.asset.headers.title %>\n <% } else if (idEstimateInvoiceType === ${EstimateInvoiceType.RESTE}) { %>\n <%= languageTemplate.template.remainder.headers.title %>\n <% } else if (idEstimateInvoiceType === ${EstimateInvoiceType.ACOMPTE}) { %>\n <%= languageTemplate.template.deposit.headers.title %>\n <% } %>\n <%= reference %></span><br/>\n <% if(emissionDate) {%><span class=\"document-emission-date\"> <%= languageTemplate.template.common.headers.emissionDate %> : <%= emissionDateFormatted %></span><br/><% } %>\n <% if(dueDate && idEstimateInvoiceType !== ${EstimateInvoiceType.ACOMPTE}) {%>\n <span class=\"document-due-date\">\n <% if ([${EstimateInvoiceType.BON}, ${EstimateInvoiceType.DEVIS}].includes(idEstimateInvoiceType)) {%>\n <%= languageTemplate.template.estimate.headers.dueDate %> :\n <% } else { %>\n <%= languageTemplate.template.invoice.headers.dueDate %> :\n <% } %>\n <%= dueDateFormatted %></span>\n <% } %>\n <% if (expirationDate && idEstimateInvoiceType === ${EstimateInvoiceType.ACOMPTE}) {%>\n <span class=\"document-due-date\"><%= languageTemplate.template.deposit.headers.expirationDate %> : : <%= expirationDateFormatted %></span>\n <% } %>\n <% if(termsOfPayment) { %>\n <br/><p style=\"margin-bottom: 0px;\"><%= [${EstimateInvoiceType.BON}, ${EstimateInvoiceType.DEVIS}].includes(idEstimateInvoiceType) ? languageTemplate.template.estimate.headers.termsOfPayment : languageTemplate.template.invoice.headers.termsOfPayment %> : <%= termsOfPayment %></p>\n <% } %>\n </div>\n <div style=\"width: 40%; margin-top: auto;\">\n <p></p>\n <% if (thirdParty) { %>\n <div class=\"<%= settings && settings.isCoordinatesFrameDisplayed ? 'customer-border' : '' %>\">\n <% if(thirdParty.company) {%><b><%= thirdParty.company %></b><br/><% } %>\n <% if(thirdParty.fullname) {%><%= thirdParty.fullname %><br/><% } %>\n <% if(thirdParty.address) {%><%= thirdParty.address %><br/><% } %>\n <% if(thirdParty.zipCode) {%><%= thirdParty.zipCode + ' ' %><% } %><%= thirdParty.city %> <%= thirdParty.country %><br/>\n <% if(thirdParty.deliveryAddress && thirdParty.deliveryCity && thirdParty.deliveryZipCode) {%>Adresse de livraison : <%= thirdParty.deliveryAddress %> <%= thirdParty.deliveryZipCode %> <%= thirdParty.deliveryCity %> <%= thirdParty.deliveryCountry %><br/><% } %>\n <% if(thirdParty.nSiret) {%>SIRET : <%= thirdParty.nSiret %><br/><% } %>\n <% if(thirdParty.nTva) {%>N° TVA : <%= thirdParty.nTva %><% } %>\n </div>\n <% } %>\n </div>\n </div>`;\n\nexport const bodyTemplate = `<html class=\"pdf-content\">\n\n <body>\n\n ${headOfDocument}\n\n <div class=\"row mt-25\">\n <% if (title) { %><%=languageTemplate.template.common.headers.title %> : <%= title %><% } %>\n </div>\n\n <div class=\"row mt-10\">${commonTemplate.products}</div>\n\n <div class=\"row space-between mt-20\">\n <div style=\"width: 55%;\">\n <% if (disableVat !== true && vats.length) { %>\n ${commonTemplate.vatRecapitulation}\n <% } %>\n <% if (vatMention && vatMention !== 'TVA: Non concerné') { %><div class=\"vat-mention <%= disableVat !== true ? 'mt-20' : ''%>\"><%= vatMention %></div><% } %>\n <% if (comment) { %>\n <p class=\"mt-20\"><%= languageTemplate.template.common.options.comment %> :<br/>\n <%- comment %>\n <% } %>\n </div>\n\n <div>\n ${commonTemplate.amountRecapitulation}\n\n <% if (isStripeAllowed && ![${EstimateInvoiceType.BON}, ${EstimateInvoiceType.DEVIS}].includes(idEstimateInvoiceType)) { %>\n <div style=\"text-align: right; margin-top: 30px;\">${commonTemplate.paymentButton}</div>\n <% } %>\n </div>\n \n </div>\n\n <% if ((settings && (settings.iban || settings.bic || settings.bank)) || paymentType) { %>\n <div class=\"row mt-30 space-between\" style=\"page-break-inside: avoid !important;\">\n <div>\n <% if ((settings && (settings.iban || settings.bic || settings.bank)) || paymentType) { %>\n <% if(paymentType) { %><%= languageTemplate.template.common.options.paymentType %> : <%= paymentType %><br/><% } %>\n <% if(settings.bank) { %><%= languageTemplate.template.common.options.bank %> : <%= settings.bank %><br/><% } %>\n <% if(settings.iban) { %>IBAN : <%= settings.iban %><br/><% } %>\n <% if(settings.bic) { %>BIC : <%= settings.bic %><% } %>\n <% } %>\n </div>\n </div>\n <% } %>\n <% if (settings && settings.bonPour && (idEstimateInvoiceType === ${EstimateInvoiceType.DEVIS} || idEstimateInvoiceType === ${EstimateInvoiceType.BON})) { %>\n <br/><%= languageTemplate.template.common.options.approval %> : <br/><br/><br/><br/>\n <% } %>\n\n <% if (cgv && (settings && settings.invoiceCgv)) { %>\n <br><div style=\"page-break-after:always;\"></div>\n <div id=\"WYSIWYG\"><%- cgv %></div>\n <% } %>\n </body>\n\n <style>\n ${commonTemplate.style}\n </style>\n <style>\n ${commonTemplate.styleWYSIWYG}\n </style>\n</html>`;\n"]}
@@ -11,7 +11,7 @@ class CommercialDocumentCommonHTML {
11
11
  <span id="header-edging" style="position: absolute; top: 0; left: 0; width: 100vw; font-size: 10px !important; height: 15px; background-color: <%= settings && settings.edgingColor ? settings.edgingColor : '#333333' %>; margin-bottom: 20px;"></span>
12
12
  <% } %>`;
13
13
  this.footer = `<div class="footer" style="font-size: 8px !important; color: #838384; text-align: center; padding: 0 40px; display: block; width: 100%;">
14
- <% if (freeText) { %><%- freeText %><br/><br/><% } %><% if (accountingCategoryFormatted) {%><%= accountingCategoryFormatted %> | <%}%><% if(marginVats.length > 0) { %><%= languageTemplate.template.common.footer.marginVat %> - <% marginVats.forEach(function(v, index) { %><%= v %> - <% }) %><%= languageTemplate.template.common.footer.legalVatMention %> | <% } %><% if(penalties || compensation || discount) { %><%= penalties ? languageTemplate.template.common.footer.penalties + ' : ' + penalties : ''%><%= penalties && compensation ? ' | ' : ''%><%= compensation ? languageTemplate.template.common.footer.recoveryCosts + ' : ' + compensation + ' ' : '' %><%= (compensation || penalties) && discount ? ' | ' : '' %><%= discount ? languageTemplate.template.common.footer.discount + ' : ' + discount : '' %><%= shouldPayTaxAfterDebit ? "| " + languageTemplate.template.common.footer.shouldPayTaxAfterDebit : '' %><% if(name || legalForm || capital || siren || rcs) {%><br/><br/><% } %><% } %><%= name %><%= name && (legalForm || capital || siren || rcs) ? ', ' : ''%><%= legalForm %><%= capital ? ' ' + languageTemplate.template.common.footer.capital + ' ' + capitalFormatted + ' €' : '' %><%= siren ? ' ' + languageTemplate.template.common.footer.siren + ' ' + siren : ''%><%= rcs ? '| RCS ' + rcs : ''%><% if (vatCode || nafCode) {%><br/><% } %><%= vatCode ? languageTemplate.template.common.footer.vatCode + ' ' +vatCode : ''%><% if(vatCode && nafCode){%>|<%}%><%= nafCode ? 'APE '+nafCode : '' %>
14
+ <% if (freeText) { %><%- freeText %><br/><br/><% } %><% if (accountingCategoryFormatted) {%><%= accountingCategoryFormatted %> | <%}%><% if(marginVats.length > 0) { %><%= languageTemplate.template.common.footer.marginVat %> - <% marginVats.forEach(function(v, index) { %><%= v %> - <% }) %><%= languageTemplate.template.common.footer.legalVatMention %> | <% } %><% if(penalties || recoveryCost || discount) { %><%= penalties ? languageTemplate.template.common.footer.penalties + ' : ' + penalties : ''%><%= penalties && recoveryCost ? ' | ' : ''%><%= recoveryCost ? languageTemplate.template.common.footer.recoveryCosts + ' : ' + recoveryCost + ' ' : '' %><%= (recoveryCost || penalties) && discount ? ' | ' : '' %><%= discount ? languageTemplate.template.common.footer.discount + ' : ' + discount : '' %><%= shouldPayTaxAfterDebit ? "| " + languageTemplate.template.common.footer.shouldPayTaxAfterDebit : '' %><% if(name || legalForm || capital || siren || rcs) {%><br/><br/><% } %><% } %><%= name %><%= name && (legalForm || capital || siren || rcs) ? ', ' : ''%><%= legalForm %><%= capital ? ' ' + languageTemplate.template.common.footer.capital + ' ' + capitalFormatted + ' €' : '' %><%= siren ? ' ' + languageTemplate.template.common.footer.siren + ' ' + siren : ''%><%= rcs ? '| RCS ' + rcs : ''%><% if (vatCode || nafCode) {%><br/><% } %><%= vatCode ? languageTemplate.template.common.footer.vatCode + ' ' +vatCode : ''%><% if(vatCode && nafCode){%>|<%}%><%= nafCode ? 'APE '+nafCode : '' %>
15
15
  <% if (["Clementine", "Pourcentage", "Comptalib"].includes(brandName) && !shouldHideBrandName) { %>
16
16
  <div style="display: grid; place-items: center;"><div style="background-color: <%= brandColors.primary50 %>; color: <%= brandColors.primary500 %>; display: flex; gap: 3px; max-width: fit-content; border-radius: 4px; padding: 4px 8px; margin-top: 8px; align-items: center; font-size: 9px; line-height: 140%; font-family: 'circular std', sans serif; font-weight: 450;">
17
17
  <%= languageTemplate.template.common.footer.generate %>