@silexpert/core 1.2.81 → 1.2.82

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 (38) hide show
  1. package/dist/cjs/types/Enum/AppointmentState.d.ts +6 -1
  2. package/dist/cjs/types/Enum/AppointmentState.d.ts.map +1 -1
  3. package/dist/cjs/types/Enum/AppointmentState.js +5 -0
  4. package/dist/cjs/types/Enum/AppointmentState.js.map +1 -1
  5. package/dist/cjs/types/Enum/CommercialManagement.d.ts.map +1 -1
  6. package/dist/cjs/types/Enum/CommercialManagement.js +5 -36
  7. package/dist/cjs/types/Enum/CommercialManagement.js.map +1 -1
  8. package/dist/cjs/types/Enum/IncomeStatement.js +1 -1
  9. package/dist/cjs/types/Enum/IncomeStatement.js.map +1 -1
  10. package/dist/cjs/utils/commercialManagement/document.d.ts.map +1 -1
  11. package/dist/cjs/utils/commercialManagement/document.js +21 -16
  12. package/dist/cjs/utils/commercialManagement/document.js.map +1 -1
  13. package/dist/cjs/utils/commercialManagement/internationalization/choices.d.ts +1 -1
  14. package/dist/cjs/utils/commercialManagement/internationalization/choices.d.ts.map +1 -1
  15. package/dist/cjs/utils/commercialManagement/internationalization/choices.js +15 -1
  16. package/dist/cjs/utils/commercialManagement/internationalization/choices.js.map +1 -1
  17. package/dist/mjs/types/Enum/AppointmentState.d.ts +6 -1
  18. package/dist/mjs/types/Enum/AppointmentState.d.ts.map +1 -1
  19. package/dist/mjs/types/Enum/AppointmentState.js +5 -0
  20. package/dist/mjs/types/Enum/AppointmentState.js.map +1 -1
  21. package/dist/mjs/types/Enum/CommercialManagement.d.ts.map +1 -1
  22. package/dist/mjs/types/Enum/CommercialManagement.js +5 -36
  23. package/dist/mjs/types/Enum/CommercialManagement.js.map +1 -1
  24. package/dist/mjs/types/Enum/IncomeStatement.js +1 -1
  25. package/dist/mjs/types/Enum/IncomeStatement.js.map +1 -1
  26. package/dist/mjs/utils/commercialManagement/document.d.ts.map +1 -1
  27. package/dist/mjs/utils/commercialManagement/document.js +10 -5
  28. package/dist/mjs/utils/commercialManagement/document.js.map +1 -1
  29. package/dist/mjs/utils/commercialManagement/internationalization/choices.d.ts +1 -1
  30. package/dist/mjs/utils/commercialManagement/internationalization/choices.d.ts.map +1 -1
  31. package/dist/mjs/utils/commercialManagement/internationalization/choices.js +15 -1
  32. package/dist/mjs/utils/commercialManagement/internationalization/choices.js.map +1 -1
  33. package/package.json +1 -1
  34. package/ts/types/Enum/AppointmentState.ts +5 -0
  35. package/ts/types/Enum/CommercialManagement.ts +10 -36
  36. package/ts/types/Enum/IncomeStatement.ts +1 -1
  37. package/ts/utils/commercialManagement/document.ts +11 -5
  38. package/ts/utils/commercialManagement/internationalization/choices.ts +17 -2
@@ -3,7 +3,8 @@ export declare enum StateAppointment {
3
3
  CUSTOMER_ABROAD = 2,
4
4
  SOCIETY_CANCELLED = 3,
5
5
  MISSING_FILE = 4,
6
- BUSINESS_CONTRIBUTOR = 5
6
+ BUSINESS_CONTRIBUTOR = 5,
7
+ MANY_COMPANIES = 6
7
8
  }
8
9
  export declare const StateAppointmentDetail: {
9
10
  CUSTOMER_ON_LEAVE: {
@@ -26,5 +27,9 @@ export declare const StateAppointmentDetail: {
26
27
  id: StateAppointment;
27
28
  name: string;
28
29
  };
30
+ MANY_COMPANIES: {
31
+ id: StateAppointment;
32
+ name: string;
33
+ };
29
34
  };
30
35
  //# sourceMappingURL=AppointmentState.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AppointmentState.d.ts","sourceRoot":"","sources":["../../../../ts/types/Enum/AppointmentState.ts"],"names":[],"mappings":"AAAA,oBAAY,gBAAgB;IAC1B,iBAAiB,IAAI;IACrB,eAAe,IAAI;IACnB,iBAAiB,IAAI;IACrB,YAAY,IAAI;IAChB,oBAAoB,IAAI;CACzB;AAED,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;CAqBlC,CAAC"}
1
+ {"version":3,"file":"AppointmentState.d.ts","sourceRoot":"","sources":["../../../../ts/types/Enum/AppointmentState.ts"],"names":[],"mappings":"AAAA,oBAAY,gBAAgB;IAC1B,iBAAiB,IAAI;IACrB,eAAe,IAAI;IACnB,iBAAiB,IAAI;IACrB,YAAY,IAAI;IAChB,oBAAoB,IAAI;IACxB,cAAc,IAAI;CACnB;AAED,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;CAyBlC,CAAC"}
@@ -8,6 +8,7 @@ var StateAppointment;
8
8
  StateAppointment[StateAppointment["SOCIETY_CANCELLED"] = 3] = "SOCIETY_CANCELLED";
9
9
  StateAppointment[StateAppointment["MISSING_FILE"] = 4] = "MISSING_FILE";
10
10
  StateAppointment[StateAppointment["BUSINESS_CONTRIBUTOR"] = 5] = "BUSINESS_CONTRIBUTOR";
11
+ StateAppointment[StateAppointment["MANY_COMPANIES"] = 6] = "MANY_COMPANIES";
11
12
  })(StateAppointment || (exports.StateAppointment = StateAppointment = {}));
12
13
  exports.StateAppointmentDetail = {
13
14
  CUSTOMER_ON_LEAVE: {
@@ -30,5 +31,9 @@ exports.StateAppointmentDetail = {
30
31
  id: StateAppointment.BUSINESS_CONTRIBUTOR,
31
32
  name: "Apporteur d'affaires",
32
33
  },
34
+ MANY_COMPANIES: {
35
+ id: StateAppointment.MANY_COMPANIES,
36
+ name: 'Multiples sociétés',
37
+ },
33
38
  };
34
39
  //# sourceMappingURL=AppointmentState.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AppointmentState.js","sourceRoot":"","sources":["../../../../ts/types/Enum/AppointmentState.ts"],"names":[],"mappings":";;;AAAA,IAAY,gBAMX;AAND,WAAY,gBAAgB;IAC1B,iFAAqB,CAAA;IACrB,6EAAmB,CAAA;IACnB,iFAAqB,CAAA;IACrB,uEAAgB,CAAA;IAChB,uFAAwB,CAAA;AAC1B,CAAC,EANW,gBAAgB,gCAAhB,gBAAgB,QAM3B;AAEY,QAAA,sBAAsB,GAAG;IACpC,iBAAiB,EAAE;QACjB,EAAE,EAAE,gBAAgB,CAAC,iBAAiB;QACtC,IAAI,EAAE,kBAAkB;KACzB;IACD,eAAe,EAAE;QACf,EAAE,EAAE,gBAAgB,CAAC,eAAe;QACpC,IAAI,EAAE,qBAAqB;KAC5B;IACD,iBAAiB,EAAE;QACjB,EAAE,EAAE,gBAAgB,CAAC,iBAAiB;QACtC,IAAI,EAAE,iCAAiC;KACxC;IACD,YAAY,EAAE;QACZ,EAAE,EAAE,gBAAgB,CAAC,YAAY;QACjC,IAAI,EAAE,qBAAqB;KAC5B;IACD,oBAAoB,EAAE;QACpB,EAAE,EAAE,gBAAgB,CAAC,oBAAoB;QACzC,IAAI,EAAE,sBAAsB;KAC7B;CACF,CAAC","sourcesContent":["export enum StateAppointment {\n CUSTOMER_ON_LEAVE = 1,\n CUSTOMER_ABROAD = 2,\n SOCIETY_CANCELLED = 3,\n MISSING_FILE = 4,\n BUSINESS_CONTRIBUTOR = 5,\n}\n\nexport const StateAppointmentDetail = {\n CUSTOMER_ON_LEAVE: {\n id: StateAppointment.CUSTOMER_ON_LEAVE,\n name: 'Client en congés',\n },\n CUSTOMER_ABROAD: {\n id: StateAppointment.CUSTOMER_ABROAD,\n name: \"Client à l'étranger\",\n },\n SOCIETY_CANCELLED: {\n id: StateAppointment.SOCIETY_CANCELLED,\n name: 'Dossier en cours de résiliation',\n },\n MISSING_FILE: {\n id: StateAppointment.MISSING_FILE,\n name: 'Documents manquants',\n },\n BUSINESS_CONTRIBUTOR: {\n id: StateAppointment.BUSINESS_CONTRIBUTOR,\n name: \"Apporteur d'affaires\",\n },\n};\n"]}
1
+ {"version":3,"file":"AppointmentState.js","sourceRoot":"","sources":["../../../../ts/types/Enum/AppointmentState.ts"],"names":[],"mappings":";;;AAAA,IAAY,gBAOX;AAPD,WAAY,gBAAgB;IAC1B,iFAAqB,CAAA;IACrB,6EAAmB,CAAA;IACnB,iFAAqB,CAAA;IACrB,uEAAgB,CAAA;IAChB,uFAAwB,CAAA;IACxB,2EAAkB,CAAA;AACpB,CAAC,EAPW,gBAAgB,gCAAhB,gBAAgB,QAO3B;AAEY,QAAA,sBAAsB,GAAG;IACpC,iBAAiB,EAAE;QACjB,EAAE,EAAE,gBAAgB,CAAC,iBAAiB;QACtC,IAAI,EAAE,kBAAkB;KACzB;IACD,eAAe,EAAE;QACf,EAAE,EAAE,gBAAgB,CAAC,eAAe;QACpC,IAAI,EAAE,qBAAqB;KAC5B;IACD,iBAAiB,EAAE;QACjB,EAAE,EAAE,gBAAgB,CAAC,iBAAiB;QACtC,IAAI,EAAE,iCAAiC;KACxC;IACD,YAAY,EAAE;QACZ,EAAE,EAAE,gBAAgB,CAAC,YAAY;QACjC,IAAI,EAAE,qBAAqB;KAC5B;IACD,oBAAoB,EAAE;QACpB,EAAE,EAAE,gBAAgB,CAAC,oBAAoB;QACzC,IAAI,EAAE,sBAAsB;KAC7B;IACD,cAAc,EAAE;QACd,EAAE,EAAE,gBAAgB,CAAC,cAAc;QACnC,IAAI,EAAE,oBAAoB;KAC3B;CACF,CAAC","sourcesContent":["export enum StateAppointment {\n CUSTOMER_ON_LEAVE = 1,\n CUSTOMER_ABROAD = 2,\n SOCIETY_CANCELLED = 3,\n MISSING_FILE = 4,\n BUSINESS_CONTRIBUTOR = 5,\n MANY_COMPANIES = 6,\n}\n\nexport const StateAppointmentDetail = {\n CUSTOMER_ON_LEAVE: {\n id: StateAppointment.CUSTOMER_ON_LEAVE,\n name: 'Client en congés',\n },\n CUSTOMER_ABROAD: {\n id: StateAppointment.CUSTOMER_ABROAD,\n name: \"Client à l'étranger\",\n },\n SOCIETY_CANCELLED: {\n id: StateAppointment.SOCIETY_CANCELLED,\n name: 'Dossier en cours de résiliation',\n },\n MISSING_FILE: {\n id: StateAppointment.MISSING_FILE,\n name: 'Documents manquants',\n },\n BUSINESS_CONTRIBUTOR: {\n id: StateAppointment.BUSINESS_CONTRIBUTOR,\n name: \"Apporteur d'affaires\",\n },\n MANY_COMPANIES: {\n id: StateAppointment.MANY_COMPANIES,\n name: 'Multiples sociétés',\n },\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"CommercialManagement.d.ts","sourceRoot":"","sources":["../../../../ts/types/Enum/CommercialManagement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,4CAA4C,CAAC;AAC3E,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAE5D,oBAAY,OAAO;IACjB,YAAY,IAAI;IAChB,MAAM,IAAI;IACV,OAAO,IAAI;IACX,OAAO,IAAI;IACX,KAAK,IAAI;CACV;AAED,eAAO,MAAM,QAAQ;;;;GAMpB,CAAC;AAEF,oBAAY,aAAa;IACvB,IAAI,SAAS;IACb,KAAK,UAAU;CAChB;AAED,oBAAY,aAAa;IACvB,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,QAAQ,aAAa;IACrB,IAAI,SAAS;CACd;AAED,oBAAY,cAAc;IACxB,QAAQ,aAAa;IACrB,OAAO,qBAAqB;IAC5B,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,OAAO,YAAY;CACpB;AAED,oBAAY,YAAY;IACtB,OAAO,IAAI;IACX,MAAM,IAAI;CACX;AAED,oBAAY,mBAAmB;IAC7B,MAAM,IAAI;IACV,WAAW,IAAI;IACf,GAAG,IAAI;IACP,SAAS,IAAI;CACd;AAED,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,mBAAmB,CAAA;CAAE,CAiBjF,CAAC;AAEF,oBAAY,oBAAoB;IAC9B,OAAO,IAAI;IACX,gBAAgB,IAAI;IACpB,gBAAgB,IAAI;IACpB,gBAAgB,IAAI;CACrB;AAED,eAAO,MAAM,sBAAsB,EAAE,KAAK,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,oBAAoB,CAAA;CAAE,CAarF,CAAC;AAEF,oBAAY,eAAe;IACzB,EAAE,OAAO;IACT,EAAE,OAAO;CACV;AAED,oBAAY,qBAAqB;IAE/B,WAAW,eAAe;IAC1B,kBAAkB,uBAAuB;IACzC,8BAA8B,yBAAyB;IACvD,cAAc,mBAAmB;IACjC,kBAAkB,mBAAmB;CACtC;AAED,eAAO,MAAM,yBAAyB,UAUrC,CAAC;AACF,eAAO,MAAM,mCAAmC,EAAE,KAAK,CAAC;IACtD,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,KAAK,CAAC,MAAM,aAAa,CAAC,CAAC;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAsBA,CAAC;AAEF,oBAAY,SAAS;IACnB,QAAQ,IAAI;IACZ,OAAO,IAAI;IACX,UAAU,IAAI;IACd,iBAAiB,IAAI;IACrB,KAAK,IAAI;CACV;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,SAAS,CAAA;CAAE,CA0BvF,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAmEzE,CAAC"}
1
+ {"version":3,"file":"CommercialManagement.d.ts","sourceRoot":"","sources":["../../../../ts/types/Enum/CommercialManagement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,4CAA4C,CAAC;AAC3E,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAE5D,oBAAY,OAAO;IACjB,YAAY,IAAI;IAChB,MAAM,IAAI;IACV,OAAO,IAAI;IACX,OAAO,IAAI;IACX,KAAK,IAAI;CACV;AAED,eAAO,MAAM,QAAQ;;;;GAMpB,CAAC;AAEF,oBAAY,aAAa;IACvB,IAAI,SAAS;IACb,KAAK,UAAU;CAChB;AAED,oBAAY,aAAa;IACvB,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,QAAQ,aAAa;IACrB,IAAI,SAAS;CACd;AAED,oBAAY,cAAc;IACxB,QAAQ,aAAa;IACrB,OAAO,qBAAqB;IAC5B,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,OAAO,YAAY;CACpB;AAED,oBAAY,YAAY;IACtB,OAAO,IAAI;IACX,MAAM,IAAI;CACX;AAED,oBAAY,mBAAmB;IAC7B,MAAM,IAAI;IACV,WAAW,IAAI;IACf,GAAG,IAAI;IACP,SAAS,IAAI;CACd;AAED,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,mBAAmB,CAAA;CAAE,CAiBjF,CAAC;AAEF,oBAAY,oBAAoB;IAC9B,OAAO,IAAI;IACX,gBAAgB,IAAI;IACpB,gBAAgB,IAAI;IACpB,gBAAgB,IAAI;CACrB;AAED,eAAO,MAAM,sBAAsB,EAAE,KAAK,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,oBAAoB,CAAA;CAAE,CAarF,CAAC;AAEF,oBAAY,eAAe;IACzB,EAAE,OAAO;IACT,EAAE,OAAO;CACV;AAED,oBAAY,qBAAqB;IAE/B,WAAW,eAAe;IAC1B,kBAAkB,uBAAuB;IACzC,8BAA8B,yBAAyB;IACvD,cAAc,mBAAmB;IACjC,kBAAkB,mBAAmB;CACtC;AAED,eAAO,MAAM,yBAAyB,UAUrC,CAAC;AACF,eAAO,MAAM,mCAAmC,EAAE,KAAK,CAAC;IACtD,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,KAAK,CAAC,MAAM,aAAa,CAAC,CAAC;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAsBA,CAAC;AAEF,oBAAY,SAAS;IACnB,QAAQ,IAAI;IACZ,OAAO,IAAI;IACX,UAAU,IAAI;IACd,iBAAiB,IAAI;IACrB,KAAK,IAAI;CACV;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,SAAS,CAAA;CAAE,CA0BvF,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAyCzE,CAAC"}
@@ -173,66 +173,35 @@ exports.DefaultEmailTemplateList = [
173
173
  {
174
174
  name: 'modèle devis par défaut',
175
175
  subject: 'Votre devis',
176
- content: `<p>Bonjour, <span style="color: rgb(131, 131, 132);">[nom_client]</span> </p>
177
- <p>Vous trouverez ci-joint votre devis N°<span style="color: rgb(131, 131, 132);">[reference_document]</span> d’un montant de <span style="color: rgb(131, 131, 132);">[montant_ttc_document]</span>. </p>
178
- <p>Vous en souhaitant bonne réception.</p>
179
- <p>Cordialement,
180
- <span style="color: rgb(131, 131, 132);">[raison_sociale]</span>
181
- </p>`,
176
+ content: '<p>Bonjour, <span style="color: rgb(131, 131, 132);">[nom_client]</span> </p> <p>Vous trouverez ci-joint votre devis N°<span style="color: rgb(131, 131, 132);">[reference_document]</span> d’un montant de <span style="color: rgb(131, 131, 132);">[montant_ttc_document]</span>. </p> <p>Vous en souhaitant bonne réception. </p> <p>Cordialement,</p><p><span style="color: rgb(131, 131, 132);">[raison_sociale]</span></p>',
182
177
  type: EmailType.ESTIMATE,
183
178
  isDefault: false,
184
179
  },
185
180
  {
186
181
  name: 'modèle facture par défaut',
187
182
  subject: 'Votre facture',
188
- content: `<p>Bonjour, <span style="color: rgb(131, 131, 132);">[nom_client]</span> </p>
189
- <p>Vous trouverez ci-joint votre facture N°<span style="color: rgb(131, 131, 132);">[reference_document]</span> d’un montant de <span style="color: rgb(131, 131, 132);">[montant_ttc_document]</span>.</p> <p>Vous en souhaitant bonne réception.</p>
190
- <p>Cordialement,
191
- <span style="color: rgb(131, 131, 132);">[raison_sociale]</span>
192
- </p>`,
183
+ content: '<p>Bonjour, <span style="color: rgb(131, 131, 132);">[nom_client]</span> </p> <p>Vous trouverez ci-joint votre facture N°<span style="color: rgb(131, 131, 132);">[reference_document]</span> d’un montant de <span style="color: rgb(131, 131, 132);">[montant_ttc_document]</span>.</p> <p>Vous en souhaitant bonne réception.</p> <p>Cordialement,</p><p><span style="color: rgb(131, 131, 132);">[raison_sociale]</span></p>',
193
184
  type: EmailType.INVOICE,
194
185
  isDefault: false,
195
186
  },
196
187
  {
197
188
  name: 'modèle bon de commande par défaut',
198
189
  subject: 'Votre bon de commande',
199
- content: `<p>Bonjour, <span style="color: rgb(131, 131, 132);">[nom_client]</span></p>
200
- <p>Vous trouverez ci-joint votre bon de commande N°<span style="color: rgb(131, 131, 132);">[reference_document]</span> d’un montant de <span style="color: rgb(131, 131, 132);">[montant_ttc_document]</span>. </p>
201
- <p>Vous en souhaitant bonne réception.</p>
202
- <p>Cordialement,
203
- <span style="color: rgb(131, 131, 132);">[raison_sociale]</span>
204
- </p>`,
190
+ content: '<p>Bonjour, <span style="color: rgb(131, 131, 132);">[nom_client]</span></p> <p>Vous trouverez ci-joint votre bon de commande N°<span style="color: rgb(131, 131, 132);">[reference_document]</span> d’un montant de <span style="color: rgb(131, 131, 132);">[montant_ttc_document]</span>. </p> <p>Vous en souhaitant bonne réception.</p> <p>Cordialement,</p><p><span style="color: rgb(131, 131, 132);">[raison_sociale]</span></p>',
205
191
  type: EmailType.ORDER_FORM,
206
192
  isDefault: false,
207
193
  },
208
194
  {
209
195
  name: 'modèle avoir par défaut',
210
196
  subject: 'Votre avoir',
211
- content: `<p>Bonjour, <span style="color: rgb(131, 131, 132);">[nom_client]</span> </p>
212
- <p>Vous trouverez ci-joint votre facture.</p>
213
- <p>Vous trouverez ci-joint votre bon de commande N°<span style="color: rgb(131, 131, 132);">[reference_document]</span> d’un montant de <span style="color: rgb(131, 131, 132);">[montant_ttc_document]</span>. </p>
214
- <p>Vous en souhaitant bonne réception.</p>
215
- <p>Cordialement,
216
- <span style="color: rgb(131, 131, 132);">[raison_sociale]</span>
217
- </p>`,
197
+ content: '<p>Bonjour, <span style="color: rgb(131, 131, 132);">[nom_client]</span> </p> <p>Vous trouverez ci-joint votre facture.</p> <p>Vous trouverez ci-joint votre bon de commande N°<span style="color: rgb(131, 131, 132);">[reference_document]</span> d’un montant de <span style="color: rgb(131, 131, 132);">[montant_ttc_document]</span>. </p> <p>Vous en souhaitant bonne réception.</p> <p>Cordialement,</p><p><span style="color: rgb(131, 131, 132);">[raison_sociale]</span></p>',
218
198
  type: EmailType.ASSET,
219
199
  isDefault: false,
220
200
  },
221
201
  {
222
202
  name: 'modèle relance par défaut',
223
203
  subject: 'Votre facture',
224
- content: `<p>Bonjour, <span style="color: rgb(131, 131, 132);">[nom_client]</span> </p>
225
- <p>
226
- Je me permets de revenir vers vous concernant la facture N°<span style="color: rgb(131, 131, 132);">[reference_document]</span> d’un montant de <span style="color: rgb(131, 131, 132);">[montant_ttc_document]</span> pour laquelle le paiement est toujours en attente.
227
- </p>
228
- <p>
229
- Je vous joins à nouveau le document en pièce jointe en cas de besoin.
230
- </p>
231
- <p>Vous en souhaitant bonne réception.</p>
232
- <p>
233
- Cordialement,
234
- <span style="color: rgb(131, 131, 132);">[raison_sociale]</span>
235
- </p>`,
204
+ content: '<p>Bonjour, <span style="color: rgb(131, 131, 132);">[nom_client]</span> </p> <p>Je me permets de revenir vers vous concernant la facture N°<span style="color: rgb(131, 131, 132);">[reference_document]</span> d’un montant de <span style="color: rgb(131, 131, 132);">[montant_ttc_document]</span> pour laquelle le paiement est toujours en attente. </p> <p>Je vous joins à nouveau le document en pièce jointe en cas de besoin.</p> <p>Vous en souhaitant bonne réception.</p> <p>Cordialement,</p><p><span style="color: rgb(131, 131, 132);">[raison_sociale]</span></p>',
236
205
  type: EmailType.CUSTOMER_REMINDER,
237
206
  isDefault: false,
238
207
  },
@@ -1 +1 @@
1
- {"version":3,"file":"CommercialManagement.js","sourceRoot":"","sources":["../../../../ts/types/Enum/CommercialManagement.ts"],"names":[],"mappings":"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","sourcesContent":["import { InfoToUseType } from '../../utils/commercialManagement/saleEmail';\nimport { ISaleEmail } from '../Interface/models/ISaleEmail';\n\nexport enum FontIds {\n CIRCULAR_STD = 1,\n ROBOTO = 2,\n POPPINS = 3,\n RALEWAY = 4,\n ZILLA = 5,\n}\n\nexport const fontList = [\n { id: FontIds.CIRCULAR_STD, link: 'https://fonts.cdnfonts.com/css/circular-std', name: 'Circular Std' },\n { id: FontIds.ROBOTO, link: 'https://fonts.cdnfonts.com/css/roboto', name: 'Roboto' },\n { id: FontIds.POPPINS, link: 'https://fonts.cdnfonts.com/css/poppins', name: 'Poppins' },\n { id: FontIds.RALEWAY, link: 'https://fonts.cdnfonts.com/css/raleway-5', name: 'Raleway' },\n { id: FontIds.ZILLA, link: 'https://fonts.cdnfonts.com/css/zilla-slab', name: 'Zilla Slab' },\n];\n\nexport enum LogoAlignment {\n LEFT = 'left',\n RIGHT = 'right',\n}\n\nexport enum InvoiceStatus {\n WAITING = 'waiting',\n UNPAID = 'unpaid',\n CANCELED = 'canceled',\n PAID = 'paid',\n}\n\nexport enum EstimateStatus {\n ACCEPTED = 'accepted',\n WAITING = 'waiting_estimate',\n REFUSED = 'refused',\n BILLED = 'billed',\n EXPIRED = 'expired',\n}\n\nexport enum DiscountType {\n PERCENT = 1,\n AMOUNT = 2,\n}\n\nexport enum VatMarginCategoryId {\n TRAVEL = 2,\n SECOND_HAND = 3,\n ART = 4,\n ANTIQUITY = 5,\n}\n\nexport const VatMarginCategyList: Array<{ label: string; id: VatMarginCategoryId }> = [\n {\n label: 'Agences de voyage',\n id: VatMarginCategoryId.TRAVEL,\n },\n {\n label: \"Bien d'occasion\",\n id: VatMarginCategoryId.SECOND_HAND,\n },\n {\n label: \"Objet d'art\",\n id: VatMarginCategoryId.ART,\n },\n {\n label: \"Objet de collection et d'antiquité\",\n id: VatMarginCategoryId.ANTIQUITY,\n },\n];\n\nexport enum AccountingCategoryId {\n DEFAULT = 0,\n DELIVERY_OF_GOOD = 1,\n SERVICE_DELIVERY = 2,\n GOOD_AND_SERVICE = 3,\n}\n\nexport const AccountingCategoryList: Array<{ label: string; id: AccountingCategoryId }> = [\n {\n label: 'Livraison de biens',\n id: AccountingCategoryId.DELIVERY_OF_GOOD,\n },\n {\n label: 'Prestation de services',\n id: AccountingCategoryId.SERVICE_DELIVERY,\n },\n {\n label: 'Prestation de services et livraison de biens',\n id: AccountingCategoryId.GOOD_AND_SERVICE,\n },\n];\n\nexport enum InvoiceLanguage {\n FR = 'fr',\n EN = 'en',\n}\n\nexport enum EmailTemplateVariable {\n // CLIENT_FIRST_NAME = 'prenom_client',\n CLIENT_NAME = 'nom_client',\n DOCUMENT_REFERENCE = 'reference_document',\n DOCUMENT_TOTAL_INCLUDED_AMOUNT = 'montant_ttc_document',\n DOCUMENT_TITLE = 'titre_document',\n OWNER_SOCIETY_NAME = 'raison_sociale',\n}\n\nexport const emailTemplateVariableList = [\n 'nom_client',\n 'reference_document',\n 'montant_ttc_document',\n 'titre_document',\n 'raison_sociale',\n\n // not used for now\n // 'lien_google',\n // 'lien_trustpilot',\n];\nexport const emailTemplateVariableAffiliatedData: Array<{\n name: string;\n data: Array<keyof InfoToUseType>;\n formatType?: string;\n}> = [\n {\n name: 'nom_client',\n data: ['fullname', 'company'],\n },\n {\n name: 'reference_document',\n data: ['reference'],\n },\n {\n name: 'montant_ttc_document',\n data: ['totalIncludedAmount'],\n formatType: 'amount',\n },\n {\n name: 'titre_document',\n data: ['title'],\n },\n {\n name: 'raison_sociale',\n data: ['societyName'],\n },\n];\n\nexport enum EmailType {\n ESTIMATE = 1,\n INVOICE = 2,\n ORDER_FORM = 3,\n CUSTOMER_REMINDER = 4,\n ASSET = 5,\n}\n\nexport const emailTypeList: Array<{ label: string; nameDocument: string; id: EmailType }> = [\n {\n label: 'Envoi de devis',\n nameDocument: 'devis',\n id: EmailType.ESTIMATE,\n },\n {\n label: 'Envoi de facture',\n nameDocument: 'facture',\n id: EmailType.INVOICE,\n },\n {\n label: 'Envoi de bons de commande',\n nameDocument: 'bon de commande',\n id: EmailType.ORDER_FORM,\n },\n {\n label: 'Relance client',\n nameDocument: 'relance',\n id: EmailType.CUSTOMER_REMINDER,\n },\n {\n label: 'Avoir',\n nameDocument: 'avoir',\n id: EmailType.ASSET,\n },\n];\n\nexport const DefaultEmailTemplateList: Array<Omit<ISaleEmail, 'idSociety'>> = [\n {\n name: 'modèle devis par défaut',\n subject: 'Votre devis',\n content: `<p>Bonjour, <span style=\"color: rgb(131, 131, 132);\">[nom_client]</span> </p>\n <p>Vous trouverez ci-joint votre devis N°<span style=\"color: rgb(131, 131, 132);\">[reference_document]</span> d’un montant de <span style=\"color: rgb(131, 131, 132);\">[montant_ttc_document]</span>. </p>\n <p>Vous en souhaitant bonne réception.</p>\n <p>Cordialement,\n <span style=\"color: rgb(131, 131, 132);\">[raison_sociale]</span>\n </p>`,\n type: EmailType.ESTIMATE,\n isDefault: false,\n },\n {\n name: 'modèle facture par défaut',\n subject: 'Votre facture',\n content: `<p>Bonjour, <span style=\"color: rgb(131, 131, 132);\">[nom_client]</span> </p>\n <p>Vous trouverez ci-joint votre facture N°<span style=\"color: rgb(131, 131, 132);\">[reference_document]</span> d’un montant de <span style=\"color: rgb(131, 131, 132);\">[montant_ttc_document]</span>.</p> <p>Vous en souhaitant bonne réception.</p>\n <p>Cordialement,\n <span style=\"color: rgb(131, 131, 132);\">[raison_sociale]</span>\n </p>`,\n type: EmailType.INVOICE,\n isDefault: false,\n },\n {\n name: 'modèle bon de commande par défaut',\n subject: 'Votre bon de commande',\n content: `<p>Bonjour, <span style=\"color: rgb(131, 131, 132);\">[nom_client]</span></p>\n <p>Vous trouverez ci-joint votre bon de commande N°<span style=\"color: rgb(131, 131, 132);\">[reference_document]</span> d’un montant de <span style=\"color: rgb(131, 131, 132);\">[montant_ttc_document]</span>. </p>\n <p>Vous en souhaitant bonne réception.</p>\n <p>Cordialement,\n <span style=\"color: rgb(131, 131, 132);\">[raison_sociale]</span>\n </p>`,\n type: EmailType.ORDER_FORM,\n isDefault: false,\n },\n {\n name: 'modèle avoir par défaut',\n subject: 'Votre avoir',\n content: `<p>Bonjour, <span style=\"color: rgb(131, 131, 132);\">[nom_client]</span> </p>\n <p>Vous trouverez ci-joint votre facture.</p>\n <p>Vous trouverez ci-joint votre bon de commande N°<span style=\"color: rgb(131, 131, 132);\">[reference_document]</span> d’un montant de <span style=\"color: rgb(131, 131, 132);\">[montant_ttc_document]</span>. </p>\n <p>Vous en souhaitant bonne réception.</p>\n <p>Cordialement,\n <span style=\"color: rgb(131, 131, 132);\">[raison_sociale]</span>\n </p>`,\n type: EmailType.ASSET,\n isDefault: false,\n },\n {\n name: 'modèle relance par défaut',\n subject: 'Votre facture',\n content: `<p>Bonjour, <span style=\"color: rgb(131, 131, 132);\">[nom_client]</span> </p>\n <p>\n Je me permets de revenir vers vous concernant la facture N°<span style=\"color: rgb(131, 131, 132);\">[reference_document]</span> d’un montant de <span style=\"color: rgb(131, 131, 132);\">[montant_ttc_document]</span> pour laquelle le paiement est toujours en attente.\n </p>\n <p>\n Je vous joins à nouveau le document en pièce jointe en cas de besoin.\n </p>\n <p>Vous en souhaitant bonne réception.</p>\n <p>\n Cordialement,\n <span style=\"color: rgb(131, 131, 132);\">[raison_sociale]</span>\n </p>`,\n type: EmailType.CUSTOMER_REMINDER,\n isDefault: false,\n },\n];\n"]}
1
+ {"version":3,"file":"CommercialManagement.js","sourceRoot":"","sources":["../../../../ts/types/Enum/CommercialManagement.ts"],"names":[],"mappings":"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","sourcesContent":["import { InfoToUseType } from '../../utils/commercialManagement/saleEmail';\nimport { ISaleEmail } from '../Interface/models/ISaleEmail';\n\nexport enum FontIds {\n CIRCULAR_STD = 1,\n ROBOTO = 2,\n POPPINS = 3,\n RALEWAY = 4,\n ZILLA = 5,\n}\n\nexport const fontList = [\n { id: FontIds.CIRCULAR_STD, link: 'https://fonts.cdnfonts.com/css/circular-std', name: 'Circular Std' },\n { id: FontIds.ROBOTO, link: 'https://fonts.cdnfonts.com/css/roboto', name: 'Roboto' },\n { id: FontIds.POPPINS, link: 'https://fonts.cdnfonts.com/css/poppins', name: 'Poppins' },\n { id: FontIds.RALEWAY, link: 'https://fonts.cdnfonts.com/css/raleway-5', name: 'Raleway' },\n { id: FontIds.ZILLA, link: 'https://fonts.cdnfonts.com/css/zilla-slab', name: 'Zilla Slab' },\n];\n\nexport enum LogoAlignment {\n LEFT = 'left',\n RIGHT = 'right',\n}\n\nexport enum InvoiceStatus {\n WAITING = 'waiting',\n UNPAID = 'unpaid',\n CANCELED = 'canceled',\n PAID = 'paid',\n}\n\nexport enum EstimateStatus {\n ACCEPTED = 'accepted',\n WAITING = 'waiting_estimate',\n REFUSED = 'refused',\n BILLED = 'billed',\n EXPIRED = 'expired',\n}\n\nexport enum DiscountType {\n PERCENT = 1,\n AMOUNT = 2,\n}\n\nexport enum VatMarginCategoryId {\n TRAVEL = 2,\n SECOND_HAND = 3,\n ART = 4,\n ANTIQUITY = 5,\n}\n\nexport const VatMarginCategyList: Array<{ label: string; id: VatMarginCategoryId }> = [\n {\n label: 'Agences de voyage',\n id: VatMarginCategoryId.TRAVEL,\n },\n {\n label: \"Bien d'occasion\",\n id: VatMarginCategoryId.SECOND_HAND,\n },\n {\n label: \"Objet d'art\",\n id: VatMarginCategoryId.ART,\n },\n {\n label: \"Objet de collection et d'antiquité\",\n id: VatMarginCategoryId.ANTIQUITY,\n },\n];\n\nexport enum AccountingCategoryId {\n DEFAULT = 0,\n DELIVERY_OF_GOOD = 1,\n SERVICE_DELIVERY = 2,\n GOOD_AND_SERVICE = 3,\n}\n\nexport const AccountingCategoryList: Array<{ label: string; id: AccountingCategoryId }> = [\n {\n label: 'Livraison de biens',\n id: AccountingCategoryId.DELIVERY_OF_GOOD,\n },\n {\n label: 'Prestation de services',\n id: AccountingCategoryId.SERVICE_DELIVERY,\n },\n {\n label: 'Prestation de services et livraison de biens',\n id: AccountingCategoryId.GOOD_AND_SERVICE,\n },\n];\n\nexport enum InvoiceLanguage {\n FR = 'fr',\n EN = 'en',\n}\n\nexport enum EmailTemplateVariable {\n // CLIENT_FIRST_NAME = 'prenom_client',\n CLIENT_NAME = 'nom_client',\n DOCUMENT_REFERENCE = 'reference_document',\n DOCUMENT_TOTAL_INCLUDED_AMOUNT = 'montant_ttc_document',\n DOCUMENT_TITLE = 'titre_document',\n OWNER_SOCIETY_NAME = 'raison_sociale',\n}\n\nexport const emailTemplateVariableList = [\n 'nom_client',\n 'reference_document',\n 'montant_ttc_document',\n 'titre_document',\n 'raison_sociale',\n\n // not used for now\n // 'lien_google',\n // 'lien_trustpilot',\n];\nexport const emailTemplateVariableAffiliatedData: Array<{\n name: string;\n data: Array<keyof InfoToUseType>;\n formatType?: string;\n}> = [\n {\n name: 'nom_client',\n data: ['fullname', 'company'],\n },\n {\n name: 'reference_document',\n data: ['reference'],\n },\n {\n name: 'montant_ttc_document',\n data: ['totalIncludedAmount'],\n formatType: 'amount',\n },\n {\n name: 'titre_document',\n data: ['title'],\n },\n {\n name: 'raison_sociale',\n data: ['societyName'],\n },\n];\n\nexport enum EmailType {\n ESTIMATE = 1,\n INVOICE = 2,\n ORDER_FORM = 3,\n CUSTOMER_REMINDER = 4,\n ASSET = 5,\n}\n\nexport const emailTypeList: Array<{ label: string; nameDocument: string; id: EmailType }> = [\n {\n label: 'Envoi de devis',\n nameDocument: 'devis',\n id: EmailType.ESTIMATE,\n },\n {\n label: 'Envoi de facture',\n nameDocument: 'facture',\n id: EmailType.INVOICE,\n },\n {\n label: 'Envoi de bons de commande',\n nameDocument: 'bon de commande',\n id: EmailType.ORDER_FORM,\n },\n {\n label: 'Relance client',\n nameDocument: 'relance',\n id: EmailType.CUSTOMER_REMINDER,\n },\n {\n label: 'Avoir',\n nameDocument: 'avoir',\n id: EmailType.ASSET,\n },\n];\n\nexport const DefaultEmailTemplateList: Array<Omit<ISaleEmail, 'idSociety'>> = [\n {\n name: 'modèle devis par défaut',\n subject: 'Votre devis',\n content:\n '<p>Bonjour, <span style=\"color: rgb(131, 131, 132);\">[nom_client]</span> </p> <p>Vous trouverez ci-joint votre devis N°<span style=\"color: rgb(131, 131, 132);\">[reference_document]</span> d’un montant de <span style=\"color: rgb(131, 131, 132);\">[montant_ttc_document]</span>. </p> <p>Vous en souhaitant bonne réception. </p> <p>Cordialement,</p><p><span style=\"color: rgb(131, 131, 132);\">[raison_sociale]</span></p>',\n type: EmailType.ESTIMATE,\n isDefault: false,\n },\n {\n name: 'modèle facture par défaut',\n subject: 'Votre facture',\n content:\n '<p>Bonjour, <span style=\"color: rgb(131, 131, 132);\">[nom_client]</span> </p> <p>Vous trouverez ci-joint votre facture N°<span style=\"color: rgb(131, 131, 132);\">[reference_document]</span> d’un montant de <span style=\"color: rgb(131, 131, 132);\">[montant_ttc_document]</span>.</p> <p>Vous en souhaitant bonne réception.</p> <p>Cordialement,</p><p><span style=\"color: rgb(131, 131, 132);\">[raison_sociale]</span></p>',\n type: EmailType.INVOICE,\n isDefault: false,\n },\n {\n name: 'modèle bon de commande par défaut',\n subject: 'Votre bon de commande',\n content:\n '<p>Bonjour, <span style=\"color: rgb(131, 131, 132);\">[nom_client]</span></p> <p>Vous trouverez ci-joint votre bon de commande N°<span style=\"color: rgb(131, 131, 132);\">[reference_document]</span> d’un montant de <span style=\"color: rgb(131, 131, 132);\">[montant_ttc_document]</span>. </p> <p>Vous en souhaitant bonne réception.</p> <p>Cordialement,</p><p><span style=\"color: rgb(131, 131, 132);\">[raison_sociale]</span></p>',\n type: EmailType.ORDER_FORM,\n isDefault: false,\n },\n {\n name: 'modèle avoir par défaut',\n subject: 'Votre avoir',\n content:\n '<p>Bonjour, <span style=\"color: rgb(131, 131, 132);\">[nom_client]</span> </p> <p>Vous trouverez ci-joint votre facture.</p> <p>Vous trouverez ci-joint votre bon de commande N°<span style=\"color: rgb(131, 131, 132);\">[reference_document]</span> d’un montant de <span style=\"color: rgb(131, 131, 132);\">[montant_ttc_document]</span>. </p> <p>Vous en souhaitant bonne réception.</p> <p>Cordialement,</p><p><span style=\"color: rgb(131, 131, 132);\">[raison_sociale]</span></p>',\n type: EmailType.ASSET,\n isDefault: false,\n },\n {\n name: 'modèle relance par défaut',\n subject: 'Votre facture',\n content:\n '<p>Bonjour, <span style=\"color: rgb(131, 131, 132);\">[nom_client]</span> </p> <p>Je me permets de revenir vers vous concernant la facture N°<span style=\"color: rgb(131, 131, 132);\">[reference_document]</span> d’un montant de <span style=\"color: rgb(131, 131, 132);\">[montant_ttc_document]</span> pour laquelle le paiement est toujours en attente. </p> <p>Je vous joins à nouveau le document en pièce jointe en cas de besoin.</p> <p>Vous en souhaitant bonne réception.</p> <p>Cordialement,</p><p><span style=\"color: rgb(131, 131, 132);\">[raison_sociale]</span></p>',\n type: EmailType.CUSTOMER_REMINDER,\n isDefault: false,\n },\n];\n"]}
@@ -304,7 +304,7 @@ exports.INCOME_STATEMENT_LIST = [
304
304
  name: 'Impôt sur les bénéfices',
305
305
  total: 0,
306
306
  key: 'incomeTax',
307
- accounts: ['695'],
307
+ accounts: ['69'],
308
308
  },
309
309
  {
310
310
  name: "Résultat de l'exercice",
@@ -1 +1 @@
1
- {"version":3,"file":"IncomeStatement.js","sourceRoot":"","sources":["../../../../ts/types/Enum/IncomeStatement.ts"],"names":[],"mappings":";;;AAqBa,QAAA,qBAAqB,GAAsB;IACtD;QACE,IAAI,EAAE,mCAAmC;QACzC,GAAG,EAAE,sBAAsB;QAC3B,KAAK,EAAE,CAAC;QACR,SAAS,EAAE,IAAI;QACf,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,oBAAoB;gBAC1B,KAAK,EAAE,CAAC;gBACR,MAAM,EAAE;oBACN;wBACE,IAAI,EAAE,wBAAwB;wBAC9B,KAAK,EAAE,CAAC;wBACR,QAAQ,EAAE,CAAC,KAAK,CAAC;qBAClB;oBACD;wBACE,IAAI,EAAE,mBAAmB;wBACzB,KAAK,EAAE,CAAC;wBACR,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;qBACrD;oBACD;wBACE,IAAI,EAAE,gCAAgC;wBACtC,KAAK,EAAE,CAAC;wBACR,QAAQ,EAAE,CAAC,KAAK,CAAC;qBAClB;oBACD;wBACE,IAAI,EAAE,uDAAuD;wBAC7D,KAAK,EAAE,CAAC;wBACR,QAAQ,EAAE,CAAC,KAAK,CAAC;qBAClB;iBACF;aACF;YACD;gBACE,IAAI,EAAE,oBAAoB;gBAC1B,KAAK,EAAE,CAAC;gBACR,QAAQ,EAAE,CAAC,IAAI,CAAC;aACjB;YACD;gBACE,IAAI,EAAE,wBAAwB;gBAC9B,KAAK,EAAE,CAAC;gBACR,QAAQ,EAAE,CAAC,IAAI,CAAC;aACjB;YACD;gBACE,IAAI,EAAE,4BAA4B;gBAClC,KAAK,EAAE,CAAC;gBACR,QAAQ,EAAE,CAAC,IAAI,CAAC;aACjB;YACD;gBACE,IAAI,EAAE,iFAAiF;gBACvF,KAAK,EAAE,CAAC;gBACR,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;aACzB;YACD;gBACE,IAAI,EAAE,qCAAqC;gBAC3C,KAAK,EAAE,CAAC;gBACR,QAAQ,EAAE,CAAC,IAAI,CAAC;aACjB;SACF;KACF;IACD;QACE,IAAI,EAAE,kCAAkC;QACxC,GAAG,EAAE,wBAAwB;QAC7B,KAAK,EAAE,CAAC;QACR,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,wBAAwB;gBAC9B,KAAK,EAAE,CAAC;gBACR,QAAQ,EAAE,CAAC,KAAK,CAAC;aAClB;YACD;gBACE,IAAI,EAAE,sCAAsC;gBAC5C,KAAK,EAAE,CAAC;gBACR,QAAQ,EAAE,CAAC,MAAM,CAAC;aACnB;YACD;gBACE,IAAI,EAAE,2DAA2D;gBACjE,KAAK,EAAE,CAAC;gBACR,QAAQ,EAAE,CAAC,IAAI,CAAC;gBAChB,eAAe,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;aAC9C;YACD;gBACE,IAAI,EAAE,yEAAyE;gBAC/E,KAAK,EAAE,CAAC;gBACR,QAAQ,EAAE,CAAC,KAAK,CAAC;gBACjB,eAAe,EAAE,CAAC,MAAM,CAAC;aAC1B;YACD;gBACE,IAAI,EAAE,mCAAmC;gBACzC,KAAK,EAAE,CAAC;gBACR,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC;aACrC;YACD;gBACE,IAAI,EAAE,uCAAuC;gBAC7C,KAAK,EAAE,CAAC;gBACR,QAAQ,EAAE,CAAC,IAAI,CAAC;aACjB;YACD;gBACE,IAAI,EAAE,yBAAyB;gBAC/B,KAAK,EAAE,CAAC;gBACR,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;aACvC;YACD;gBACE,IAAI,EAAE,kBAAkB;gBACxB,KAAK,EAAE,CAAC;gBACR,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;aAC9C;YACD;gBACE,IAAI,EAAE,4CAA4C;gBAClD,KAAK,EAAE,CAAC;gBACR,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;aAC9C;YACD;gBACE,IAAI,EAAE,oCAAoC;gBAC1C,KAAK,EAAE,CAAC;gBACR,QAAQ,EAAE,CAAC,IAAI,CAAC;aACjB;SACF;KACF;IACD;QACE,IAAI,EAAE,yBAAyB;QAC/B,GAAG,EAAE,iBAAiB;QACtB,KAAK,EAAE,CAAC;QACR,WAAW,EAAE,IAAI;QACjB,cAAc,EAAE,CAAC,sBAAsB,CAAC;QACxC,mBAAmB,EAAE,CAAC,wBAAwB,CAAC;KAChD;IACD;QACE,IAAI,EAAE,+BAA+B;QACrC,GAAG,EAAE,wBAAwB;QAC7B,KAAK,EAAE,CAAC;QACR,SAAS,EAAE,IAAI;QACf,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,mBAAmB;gBACzB,KAAK,EAAE,CAAC;gBACR,QAAQ,EAAE,CAAC,KAAK,CAAC;aAClB;YACD;gBACE,IAAI,EAAE,+DAA+D;gBACrE,KAAK,EAAE,CAAC;gBACR,QAAQ,EAAE,CAAC,KAAK,CAAC;aAClB;YACD;gBACE,IAAI,EAAE,uCAAuC;gBAC7C,KAAK,EAAE,CAAC;gBACR,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;aAC9C;YACD;gBACE,IAAI,EAAE,6EAA6E;gBACnF,KAAK,EAAE,CAAC;gBACR,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;aACzB;YACD;gBACE,IAAI,EAAE,iCAAiC;gBACvC,KAAK,EAAE,CAAC;gBACR,QAAQ,EAAE,CAAC,KAAK,CAAC;aAClB;YACD;gBACE,IAAI,EAAE,+DAA+D;gBACrE,KAAK,EAAE,CAAC;gBACR,QAAQ,EAAE,CAAC,KAAK,CAAC;aAClB;SACF;KACF;IACD;QACE,IAAI,EAAE,+BAA+B;QACrC,KAAK,EAAE,CAAC;QACR,GAAG,EAAE,wBAAwB;QAC7B,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,2DAA2D;gBACjE,KAAK,EAAE,CAAC;gBACR,QAAQ,EAAE,CAAC,KAAK,CAAC;aAClB;YACD;gBACE,IAAI,EAAE,+BAA+B;gBACrC,KAAK,EAAE,CAAC;gBACR,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;aACvC;YACD;gBACE,IAAI,EAAE,iCAAiC;gBACvC,KAAK,EAAE,CAAC;gBACR,QAAQ,EAAE,CAAC,KAAK,CAAC;aAClB;YACD;gBACE,IAAI,EAAE,gEAAgE;gBACtE,KAAK,EAAE,CAAC;gBACR,QAAQ,EAAE,CAAC,KAAK,CAAC;aAClB;SACF;KACF;IACD;QACE,IAAI,EAAE,oBAAoB;QAC1B,KAAK,EAAE,CAAC;QACR,WAAW,EAAE,IAAI;QACjB,cAAc,EAAE,CAAC,wBAAwB,CAAC;QAC1C,mBAAmB,EAAE,CAAC,wBAAwB,CAAC;QAC/C,GAAG,EAAE,iBAAiB;KACvB;IACD;QACE,IAAI,EAAE,8BAA8B;QACpC,KAAK,EAAE,CAAC;QACR,WAAW,EAAE,IAAI;QACjB,cAAc,EAAE,CAAC,sBAAsB,EAAE,wBAAwB,CAAC;QAClE,mBAAmB,EAAE,CAAC,wBAAwB,EAAE,wBAAwB,CAAC;QACzE,GAAG,EAAE,iBAAiB;KACvB;IACD;QACE,IAAI,EAAE,kCAAkC;QACxC,KAAK,EAAE,CAAC;QACR,GAAG,EAAE,0BAA0B;QAC/B,SAAS,EAAE,IAAI;QACf,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,2BAA2B;gBACjC,KAAK,EAAE,CAAC;gBACR,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;aACzB;YACD;gBACE,IAAI,EAAE,2BAA2B;gBACjC,KAAK,EAAE,CAAC;gBACR,MAAM,EAAE;oBACN;wBACE,IAAI,EAAE,2CAA2C;wBACjD,KAAK,EAAE,CAAC;wBACR,QAAQ,EAAE,CAAC,KAAK,CAAC;qBAClB;oBACD;wBACE,IAAI,EAAE,iEAAiE;wBACvE,KAAK,EAAE,CAAC;wBACR,QAAQ,EAAE,CAAC,KAAK,CAAC;qBAClB;oBACD;wBACE,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,CAAC;wBACR,QAAQ,EAAE,CAAC,KAAK,CAAC;qBAClB;iBACF;aACF;YACD;gBACE,IAAI,EAAE,iFAAiF;gBACvF,KAAK,EAAE,CAAC;gBACR,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;aACzB;SACF;KACF;IACD;QACE,IAAI,EAAE,mCAAmC;QACzC,KAAK,EAAE,CAAC;QACR,GAAG,EAAE,0BAA0B;QAC/B,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,2BAA2B;gBACjC,KAAK,EAAE,CAAC;gBACR,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;aACzB;YACD;gBACE,IAAI,EAAE,2BAA2B;gBACjC,KAAK,EAAE,CAAC;gBACR,MAAM,EAAE;oBACN;wBACE,IAAI,EAAE,iEAAiE;wBACvE,KAAK,EAAE,CAAC;wBACR,QAAQ,EAAE,CAAC,KAAK,CAAC;qBAClB;oBACD;wBACE,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,CAAC;wBACR,QAAQ,EAAE,CAAC,KAAK,CAAC;qBAClB;iBACF;aACF;YACD;gBACE,IAAI,EAAE,2DAA2D;gBACjE,KAAK,EAAE,CAAC;gBACR,MAAM,EAAE;oBACN;wBACE,IAAI,EAAE,uCAAuC;wBAC7C,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;wBAClC,KAAK,EAAE,CAAC;qBACT;oBACD;wBACE,IAAI,EAAE,kEAAkE;wBACxE,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;wBAClC,KAAK,EAAE,CAAC;qBACT;iBACF;aACF;SACF;KACF;IACD;QACE,IAAI,EAAE,uBAAuB;QAC7B,KAAK,EAAE,CAAC;QACR,WAAW,EAAE,IAAI;QACjB,cAAc,EAAE,CAAC,0BAA0B,CAAC;QAC5C,mBAAmB,EAAE,CAAC,0BAA0B,CAAC;QACjD,GAAG,EAAE,mBAAmB;KACzB;IACD;QACE,IAAI,EAAE,yBAAyB;QAC/B,KAAK,EAAE,CAAC;QACR,GAAG,EAAE,WAAW;QAChB,QAAQ,EAAE,CAAC,KAAK,CAAC;KAClB;IACD;QACE,IAAI,EAAE,wBAAwB;QAC9B,KAAK,EAAE,CAAC;QACR,WAAW,EAAE,IAAI;QACjB,cAAc,EAAE,CAAC,sBAAsB,EAAE,wBAAwB,EAAE,0BAA0B,CAAC;QAC9F,mBAAmB,EAAE,CAAC,wBAAwB,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,WAAW,CAAC;QAClH,GAAG,EAAE,kBAAkB;KACxB;CACF,CAAC","sourcesContent":["type IncomeStatementField = {\n name: string;\n fields?: IncomeStatementField[];\n accounts?: string[];\n total: number;\n excludeAccounts?: string[];\n};\n\nexport type IncomeStatement = {\n name: string;\n fields?: IncomeStatementField[];\n total: number;\n accounts?: string[];\n excludeAccounts?: string[];\n key: string;\n calculation?: boolean; // Doit être calculé avec calculationAdd & calculationSubtract\n calculationAdd?: string[]; // Tableau des keys à additionner pour obtenir le total\n calculationSubtract?: string[]; // Tableau des keys à soustraire pour obtenir le total\n isProduct?: boolean; // Si c'est un produit, on fait x -1\n};\n\nexport const INCOME_STATEMENT_LIST: IncomeStatement[] = [\n {\n name: \"Total des produits d'exploitation\",\n key: 'totalOperatingIncome',\n total: 0,\n isProduct: true,\n fields: [\n {\n name: \"Chiffre d'Affaires\",\n total: 0,\n fields: [\n {\n name: 'Ventes de marchandises',\n total: 0,\n accounts: ['707'],\n },\n {\n name: 'Production vendue',\n total: 0,\n accounts: ['701', '702', '703', '704', '705', '706'],\n },\n {\n name: 'Produits des activités annexes',\n total: 0,\n accounts: ['708'],\n },\n {\n name: \"Rabais, remises, ristournes accordés par l'entreprise\",\n total: 0,\n accounts: ['709'],\n },\n ],\n },\n {\n name: 'Production stockée',\n total: 0,\n accounts: ['71'],\n },\n {\n name: 'Production immobilisée',\n total: 0,\n accounts: ['72'],\n },\n {\n name: \"Subventions d'exploitation\",\n total: 0,\n accounts: ['74'],\n },\n {\n name: 'Reprises sur provisions, dépréciations et amortissements, transferts de charges',\n total: 0,\n accounts: ['781', '791'],\n },\n {\n name: 'Autres produits de gestion courante',\n total: 0,\n accounts: ['75'],\n },\n ],\n },\n {\n name: \"Total des charges d'exploitation\",\n key: 'totalOperatingExpenses',\n total: 0,\n fields: [\n {\n name: 'Achats de marchandises',\n total: 0,\n accounts: ['607'],\n },\n {\n name: 'Variation des stocks de marchandises',\n total: 0,\n accounts: ['6037'],\n },\n {\n name: 'Achats de matières premieres et autres approvisionnements',\n total: 0,\n accounts: ['60'],\n excludeAccounts: ['607', '603', '606', '604'],\n },\n {\n name: 'Variation des stocks de matières premieres et autres approvisionnements',\n total: 0,\n accounts: ['603'],\n excludeAccounts: ['6037'],\n },\n {\n name: 'Autres achats et charges externes',\n total: 0,\n accounts: ['61', '62', '606', '604'],\n },\n {\n name: 'Impôts, taxes et versements assimilés',\n total: 0,\n accounts: ['63'],\n },\n {\n name: 'Salaires et traitements',\n total: 0,\n accounts: ['641', '642', '643', '644'],\n },\n {\n name: 'Charges sociales',\n total: 0,\n accounts: ['645', '646', '647', '648', '649'],\n },\n {\n name: 'Dotations aux amortissements et provisions',\n total: 0,\n accounts: ['681', '682', '683', '684', '685'],\n },\n {\n name: 'Autres charges de gestion courante',\n total: 0,\n accounts: ['65'],\n },\n ],\n },\n {\n name: \"Résultat d'exploitation\",\n key: 'operatingResult',\n total: 0,\n calculation: true,\n calculationAdd: ['totalOperatingIncome'],\n calculationSubtract: ['totalOperatingExpenses'],\n },\n {\n name: 'Total des produits financiers',\n key: 'totalFinancialProducts',\n total: 0,\n isProduct: true,\n fields: [\n {\n name: 'De participations',\n total: 0,\n accounts: ['761'],\n },\n {\n name: \"D'autres valeurs mobilières et créances de l'actif immobilisé\",\n total: 0,\n accounts: ['762'],\n },\n {\n name: 'Autres intérêts et produits assimilés',\n total: 0,\n accounts: ['760', '763', '764', '765', '768'],\n },\n {\n name: 'Reprises sur dépréciations, provisions et transferts de charges financières',\n total: 0,\n accounts: ['786', '796'],\n },\n {\n name: 'Différences positives de change',\n total: 0,\n accounts: ['766'],\n },\n {\n name: 'Produits nets sur cessions de valeurs mobilières de placement',\n total: 0,\n accounts: ['767'],\n },\n ],\n },\n {\n name: 'Total des charges financières',\n total: 0,\n key: 'totalFinancialExpenses',\n fields: [\n {\n name: 'Dotations aux amortissements, dépréciations et provisions',\n total: 0,\n accounts: ['686'],\n },\n {\n name: 'Intérêts et charges assimilés',\n total: 0,\n accounts: ['661', '664', '665', '668'],\n },\n {\n name: 'Différences négatives de change',\n total: 0,\n accounts: ['666'],\n },\n {\n name: 'Charges nettes sur cessions de valeurs mobilières de placement',\n total: 0,\n accounts: ['667'],\n },\n ],\n },\n {\n name: 'Résultat financier',\n total: 0,\n calculation: true,\n calculationAdd: ['totalFinancialProducts'],\n calculationSubtract: ['totalFinancialExpenses'],\n key: 'financialResult',\n },\n {\n name: 'Résultat courant avant impôt',\n total: 0,\n calculation: true,\n calculationAdd: ['totalOperatingIncome', 'totalFinancialProducts'],\n calculationSubtract: ['totalOperatingExpenses', 'totalFinancialExpenses'],\n key: 'profitBeforeTax',\n },\n {\n name: 'Total des produits exceptionnels',\n total: 0,\n key: 'totalExceptionalProducts',\n isProduct: true,\n fields: [\n {\n name: 'Sur opérations de gestion',\n total: 0,\n accounts: ['771', '772'],\n },\n {\n name: 'Sur opérations en capital',\n total: 0,\n fields: [\n {\n name: \"Produits des cessions d'éléments d'actifs\",\n total: 0,\n accounts: ['775'],\n },\n {\n name: \"Subventions d'investissement virées aux résultats de l'exercice\",\n total: 0,\n accounts: ['777'],\n },\n {\n name: 'Autre',\n total: 0,\n accounts: ['778'],\n },\n ],\n },\n {\n name: 'Reprises sur dépréciations, provisions et transferts de charges exceptionnelles',\n total: 0,\n accounts: ['787', '797'],\n },\n ],\n },\n {\n name: 'Total des charges exceptionnelles',\n total: 0,\n key: 'totalExceptionalExpenses',\n fields: [\n {\n name: 'Sur opérations de gestion',\n total: 0,\n accounts: ['671', '672'],\n },\n {\n name: 'Sur opérations en capital',\n total: 0,\n fields: [\n {\n name: 'Valeurs comptables des éléments immobilisés et financiers cédés',\n total: 0,\n accounts: ['675'],\n },\n {\n name: 'Autre',\n total: 0,\n accounts: ['678'],\n },\n ],\n },\n {\n name: 'Dotations aux amortissements, dépréciations et provisions',\n total: 0,\n fields: [\n {\n name: 'Dotations aux provisions réglementées',\n accounts: ['6872', '6873', '6874'],\n total: 0,\n },\n {\n name: 'Dotations aux amortissements, dépréciations et autres provisions',\n accounts: ['6871', '6875', '6876'],\n total: 0,\n },\n ],\n },\n ],\n },\n {\n name: 'Résultat exceptionnel',\n total: 0,\n calculation: true,\n calculationAdd: ['totalExceptionalProducts'],\n calculationSubtract: ['totalExceptionalExpenses'],\n key: 'exceptionalResult',\n },\n {\n name: 'Impôt sur les bénéfices',\n total: 0,\n key: 'incomeTax',\n accounts: ['695'],\n },\n {\n name: \"Résultat de l'exercice\",\n total: 0,\n calculation: true,\n calculationAdd: ['totalOperatingIncome', 'totalFinancialProducts', 'totalExceptionalProducts'],\n calculationSubtract: ['totalOperatingExpenses', 'totalFinancialExpenses', 'totalExceptionalExpenses', 'incomeTax'],\n key: 'resultOfExercise',\n },\n];\n"]}
1
+ {"version":3,"file":"IncomeStatement.js","sourceRoot":"","sources":["../../../../ts/types/Enum/IncomeStatement.ts"],"names":[],"mappings":"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","sourcesContent":["type IncomeStatementField = {\n name: string;\n fields?: IncomeStatementField[];\n accounts?: string[];\n total: number;\n excludeAccounts?: string[];\n};\n\nexport type IncomeStatement = {\n name: string;\n fields?: IncomeStatementField[];\n total: number;\n accounts?: string[];\n excludeAccounts?: string[];\n key: string;\n calculation?: boolean; // Doit être calculé avec calculationAdd & calculationSubtract\n calculationAdd?: string[]; // Tableau des keys à additionner pour obtenir le total\n calculationSubtract?: string[]; // Tableau des keys à soustraire pour obtenir le total\n isProduct?: boolean; // Si c'est un produit, on fait x -1\n};\n\nexport const INCOME_STATEMENT_LIST: IncomeStatement[] = [\n {\n name: \"Total des produits d'exploitation\",\n key: 'totalOperatingIncome',\n total: 0,\n isProduct: true,\n fields: [\n {\n name: \"Chiffre d'Affaires\",\n total: 0,\n fields: [\n {\n name: 'Ventes de marchandises',\n total: 0,\n accounts: ['707'],\n },\n {\n name: 'Production vendue',\n total: 0,\n accounts: ['701', '702', '703', '704', '705', '706'],\n },\n {\n name: 'Produits des activités annexes',\n total: 0,\n accounts: ['708'],\n },\n {\n name: \"Rabais, remises, ristournes accordés par l'entreprise\",\n total: 0,\n accounts: ['709'],\n },\n ],\n },\n {\n name: 'Production stockée',\n total: 0,\n accounts: ['71'],\n },\n {\n name: 'Production immobilisée',\n total: 0,\n accounts: ['72'],\n },\n {\n name: \"Subventions d'exploitation\",\n total: 0,\n accounts: ['74'],\n },\n {\n name: 'Reprises sur provisions, dépréciations et amortissements, transferts de charges',\n total: 0,\n accounts: ['781', '791'],\n },\n {\n name: 'Autres produits de gestion courante',\n total: 0,\n accounts: ['75'],\n },\n ],\n },\n {\n name: \"Total des charges d'exploitation\",\n key: 'totalOperatingExpenses',\n total: 0,\n fields: [\n {\n name: 'Achats de marchandises',\n total: 0,\n accounts: ['607'],\n },\n {\n name: 'Variation des stocks de marchandises',\n total: 0,\n accounts: ['6037'],\n },\n {\n name: 'Achats de matières premieres et autres approvisionnements',\n total: 0,\n accounts: ['60'],\n excludeAccounts: ['607', '603', '606', '604'],\n },\n {\n name: 'Variation des stocks de matières premieres et autres approvisionnements',\n total: 0,\n accounts: ['603'],\n excludeAccounts: ['6037'],\n },\n {\n name: 'Autres achats et charges externes',\n total: 0,\n accounts: ['61', '62', '606', '604'],\n },\n {\n name: 'Impôts, taxes et versements assimilés',\n total: 0,\n accounts: ['63'],\n },\n {\n name: 'Salaires et traitements',\n total: 0,\n accounts: ['641', '642', '643', '644'],\n },\n {\n name: 'Charges sociales',\n total: 0,\n accounts: ['645', '646', '647', '648', '649'],\n },\n {\n name: 'Dotations aux amortissements et provisions',\n total: 0,\n accounts: ['681', '682', '683', '684', '685'],\n },\n {\n name: 'Autres charges de gestion courante',\n total: 0,\n accounts: ['65'],\n },\n ],\n },\n {\n name: \"Résultat d'exploitation\",\n key: 'operatingResult',\n total: 0,\n calculation: true,\n calculationAdd: ['totalOperatingIncome'],\n calculationSubtract: ['totalOperatingExpenses'],\n },\n {\n name: 'Total des produits financiers',\n key: 'totalFinancialProducts',\n total: 0,\n isProduct: true,\n fields: [\n {\n name: 'De participations',\n total: 0,\n accounts: ['761'],\n },\n {\n name: \"D'autres valeurs mobilières et créances de l'actif immobilisé\",\n total: 0,\n accounts: ['762'],\n },\n {\n name: 'Autres intérêts et produits assimilés',\n total: 0,\n accounts: ['760', '763', '764', '765', '768'],\n },\n {\n name: 'Reprises sur dépréciations, provisions et transferts de charges financières',\n total: 0,\n accounts: ['786', '796'],\n },\n {\n name: 'Différences positives de change',\n total: 0,\n accounts: ['766'],\n },\n {\n name: 'Produits nets sur cessions de valeurs mobilières de placement',\n total: 0,\n accounts: ['767'],\n },\n ],\n },\n {\n name: 'Total des charges financières',\n total: 0,\n key: 'totalFinancialExpenses',\n fields: [\n {\n name: 'Dotations aux amortissements, dépréciations et provisions',\n total: 0,\n accounts: ['686'],\n },\n {\n name: 'Intérêts et charges assimilés',\n total: 0,\n accounts: ['661', '664', '665', '668'],\n },\n {\n name: 'Différences négatives de change',\n total: 0,\n accounts: ['666'],\n },\n {\n name: 'Charges nettes sur cessions de valeurs mobilières de placement',\n total: 0,\n accounts: ['667'],\n },\n ],\n },\n {\n name: 'Résultat financier',\n total: 0,\n calculation: true,\n calculationAdd: ['totalFinancialProducts'],\n calculationSubtract: ['totalFinancialExpenses'],\n key: 'financialResult',\n },\n {\n name: 'Résultat courant avant impôt',\n total: 0,\n calculation: true,\n calculationAdd: ['totalOperatingIncome', 'totalFinancialProducts'],\n calculationSubtract: ['totalOperatingExpenses', 'totalFinancialExpenses'],\n key: 'profitBeforeTax',\n },\n {\n name: 'Total des produits exceptionnels',\n total: 0,\n key: 'totalExceptionalProducts',\n isProduct: true,\n fields: [\n {\n name: 'Sur opérations de gestion',\n total: 0,\n accounts: ['771', '772'],\n },\n {\n name: 'Sur opérations en capital',\n total: 0,\n fields: [\n {\n name: \"Produits des cessions d'éléments d'actifs\",\n total: 0,\n accounts: ['775'],\n },\n {\n name: \"Subventions d'investissement virées aux résultats de l'exercice\",\n total: 0,\n accounts: ['777'],\n },\n {\n name: 'Autre',\n total: 0,\n accounts: ['778'],\n },\n ],\n },\n {\n name: 'Reprises sur dépréciations, provisions et transferts de charges exceptionnelles',\n total: 0,\n accounts: ['787', '797'],\n },\n ],\n },\n {\n name: 'Total des charges exceptionnelles',\n total: 0,\n key: 'totalExceptionalExpenses',\n fields: [\n {\n name: 'Sur opérations de gestion',\n total: 0,\n accounts: ['671', '672'],\n },\n {\n name: 'Sur opérations en capital',\n total: 0,\n fields: [\n {\n name: 'Valeurs comptables des éléments immobilisés et financiers cédés',\n total: 0,\n accounts: ['675'],\n },\n {\n name: 'Autre',\n total: 0,\n accounts: ['678'],\n },\n ],\n },\n {\n name: 'Dotations aux amortissements, dépréciations et provisions',\n total: 0,\n fields: [\n {\n name: 'Dotations aux provisions réglementées',\n accounts: ['6872', '6873', '6874'],\n total: 0,\n },\n {\n name: 'Dotations aux amortissements, dépréciations et autres provisions',\n accounts: ['6871', '6875', '6876'],\n total: 0,\n },\n ],\n },\n ],\n },\n {\n name: 'Résultat exceptionnel',\n total: 0,\n calculation: true,\n calculationAdd: ['totalExceptionalProducts'],\n calculationSubtract: ['totalExceptionalExpenses'],\n key: 'exceptionalResult',\n },\n {\n name: 'Impôt sur les bénéfices',\n total: 0,\n key: 'incomeTax',\n accounts: ['69'],\n },\n {\n name: \"Résultat de l'exercice\",\n total: 0,\n calculation: true,\n calculationAdd: ['totalOperatingIncome', 'totalFinancialProducts', 'totalExceptionalProducts'],\n calculationSubtract: ['totalOperatingExpenses', 'totalFinancialExpenses', 'totalExceptionalExpenses', 'incomeTax'],\n key: 'resultOfExercise',\n },\n];\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"document.d.ts","sourceRoot":"","sources":["../../../../ts/utils/commercialManagement/document.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,8BAA8B,EAG/B,MAAM,qDAAqD,CAAC;AAE7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAOvE,OAAO,EACL,qBAAqB,EACrB,gBAAgB,EAChB,qBAAqB,EACrB,0BAA0B,EAC3B,MAAM,aAAa,CAAC;AAkBrB,wBAAgB,0BAA0B,CACxC,qBAAqB,EAAE,mBAAmB,EAC1C,OAAO,EAAE,qBAAqB,GAAG,qBAAqB,EACtD,mBAAmB,UAAQ,EAC3B,OAAO,GAAE,MAAM,GAAG,SAAqB,GACtC,8BAA8B,CAmHhC;AAED,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,gBAAgB,EACxB,mBAAmB,UAAQ,EAC3B,OAAO,GAAE,MAAM,GAAG,SAAqB,GACtC,0BAA0B,CA4B5B"}
1
+ {"version":3,"file":"document.d.ts","sourceRoot":"","sources":["../../../../ts/utils/commercialManagement/document.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,8BAA8B,EAG/B,MAAM,qDAAqD,CAAC;AAE7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAOvE,OAAO,EACL,qBAAqB,EACrB,gBAAgB,EAChB,qBAAqB,EACrB,0BAA0B,EAC3B,MAAM,aAAa,CAAC;AAkBrB,wBAAgB,0BAA0B,CACxC,qBAAqB,EAAE,mBAAmB,EAC1C,OAAO,EAAE,qBAAqB,GAAG,qBAAqB,EACtD,mBAAmB,UAAQ,EAC3B,OAAO,GAAE,MAAM,GAAG,SAAqB,GACtC,8BAA8B,CAyHhC;AAED,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,gBAAgB,EACxB,mBAAmB,UAAQ,EAC3B,OAAO,GAAE,MAAM,GAAG,SAAqB,GACtC,0BAA0B,CA4B5B"}
@@ -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;
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;
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);
@@ -38,21 +38,24 @@ function generateCommercialDocument(idEstimateInvoiceType, payload, shouldHideBr
38
38
  const totalTaxIncluded = (0, lodash_1.sumBy)(products, 'totalTaxExcluded') + (0, lodash_1.sumBy)(vats, 'amount');
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
- const data = Object.assign(Object.assign({}, payload), { thirdParty, paymentLink: (_c = payload.paymentLink) !== null && _c !== void 0 ? _c : '#', idEstimateInvoiceType, title: (_d = payload.title) !== null && _d !== void 0 ? _d : null, penalties: payload.penalties
42
- ? ((_e = (0, choices_1.internationalizationConsistency)(locale, payload.penalties, 'penalties')) !== null && _e !== void 0 ? _e : null)
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)
43
44
  : null, termsOfPayment: payload.termsOfPayment
44
- ? ((_f = (0, choices_1.internationalizationConsistency)(locale, payload.termsOfPayment, 'termsOfPayment')) !== null && _f !== void 0 ? _f : null)
45
+ ? ((_h = (0, choices_1.internationalizationConsistency)(locale, payload.termsOfPayment, 'termsOfPayment')) !== null && _h !== void 0 ? _h : payload.termsOfPayment)
45
46
  : null, compensation: payload.compensation
46
- ? ((_g = (0, choices_1.internationalizationConsistency)(locale, payload.compensation, 'recoveryCost')) !== null && _g !== void 0 ? _g : null)
47
- : null, discount: payload.discount ? ((_h = (0, choices_1.internationalizationConsistency)(locale, payload.discount, 'discount')) !== null && _h !== void 0 ? _h : null) : null, vatMention: payload.vatMention
48
- ? ((_j = (0, choices_1.internationalizationConsistency)(locale, payload.vatMention, 'vatMention')) !== null && _j !== void 0 ? _j : null)
49
- : null, phoneContact: (_l = (_k = payload.settings) === null || _k === void 0 ? void 0 : _k.phoneContact) !== null && _l !== void 0 ? _l : null, products,
47
+ ? ((_j = (0, choices_1.internationalizationConsistency)(locale, payload.compensation, 'recoveryCost')) !== null && _j !== void 0 ? _j : payload.compensation)
48
+ : null, discount: payload.discount
49
+ ? ((_k = (0, choices_1.internationalizationConsistency)(locale, payload.discount, 'discount')) !== null && _k !== void 0 ? _k : payload.discount)
50
+ : null, vatMention: payload.vatMention
51
+ ? ((_l = (0, choices_1.internationalizationConsistency)(locale, payload.vatMention, 'vatMention')) !== null && _l !== void 0 ? _l : null)
52
+ : null, phoneContact: (_o = (_m = payload.settings) === null || _m === void 0 ? void 0 : _m.phoneContact) !== null && _o !== void 0 ? _o : null, products,
50
53
  vats, totalTaxExcluded: (0, lodash_1.sumBy)(products, 'totalTaxExcluded'), totalTaxIncluded: (0, lodash_1.round)(totalTaxIncluded), totalTaxAndDiscountIncluded: (0, lodash_1.round)(totalTaxIncluded), generalDiscountFormatted: payload.generalDiscount2
51
54
  ? (0, amount_1.integerToFormattedAmountString)(payload.generalDiscount2)
52
- : 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 - ((_m = payload.generalDiscount2) !== null && _m !== void 0 ? _m : 0) - ((_o = payload.deposit) !== null && _o !== void 0 ? _o : 0)), totalVatAmountFormatted: (0, amount_1.integerToFormattedAmountString)((0, lodash_1.sumBy)(vats, 'amount')), font: {
53
- id: (_q = (_p = payload.settings) === null || _p === void 0 ? void 0 : _p.idFont) !== null && _q !== void 0 ? _q : CommercialManagement_1.FontIds.CIRCULAR_STD,
54
- name: (_s = (_r = CommercialManagement_1.fontList.find((f) => { var _a; return f.id === ((_a = payload.settings) === null || _a === void 0 ? void 0 : _a.idFont); })) === null || _r === void 0 ? void 0 : _r.name) !== null && _s !== void 0 ? _s : CommercialManagement_1.fontList[0].name,
55
- url: (_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.link) !== null && _u !== void 0 ? _u : CommercialManagement_1.fontList[0].link,
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
59
  }, capitalFormatted: payload.capital
57
60
  ? `${payload.capital}`
58
61
  .split('')
@@ -60,18 +63,20 @@ function generateCommercialDocument(idEstimateInvoiceType, payload, shouldHideBr
60
63
  .trim()
61
64
  : 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),
62
65
  // @ts-ignore
63
- marginVats: (0, lodash_1.uniq)(products.filter((p) => p.marginVatFormatted !== null).map((p) => p.marginVatFormatted)), accountingCategoryFormatted: (_w = (_v = CommercialManagement_1.AccountingCategoryList.find((a) => a.id === payload.accountingCategory)) === null || _v === void 0 ? void 0 : _v.label) !== null && _w !== void 0 ? _w : null,
66
+ 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
+ : null,
64
69
  // @ts-ignore
65
70
  brandColors: (0, brands_1.getBrandConfig)({ objectWaited: 'colors', nodeEnv }), brandName: `${(0, brands_1.getBrandConfig)({ objectWaited: 'name', nodeEnv })}`, shouldHideBrandName, paymentType: payload.paymentType
66
71
  ? (0, choices_1.internationalizationConsistency)(locale, payload.paymentType, 'paymentType')
67
72
  : null, languageTemplate: languageOption });
68
73
  const commonTemplate = new common_1.CommercialDocumentCommonHTML();
69
74
  const documentFreeText = [EstimateInvoice_1.EstimateInvoiceType.DEVIS, EstimateInvoice_1.EstimateInvoiceType.BON].includes(idEstimateInvoiceType)
70
- ? (_x = payload === null || payload === void 0 ? void 0 : payload.settings) === null || _x === void 0 ? void 0 : _x.freeEstimateText
71
- : (_y = payload === null || payload === void 0 ? void 0 : payload.settings) === null || _y === void 0 ? void 0 : _y.freeInvoiceText;
75
+ ? (_y = payload === null || payload === void 0 ? void 0 : payload.settings) === null || _y === void 0 ? void 0 : _y.freeEstimateText
76
+ : (_z = payload === null || payload === void 0 ? void 0 : payload.settings) === null || _z === void 0 ? void 0 : _z.freeInvoiceText;
72
77
  return {
73
78
  header: ejs.render(commonTemplate.header, data),
74
- body: ejs.render(body_1.bodyTemplate, Object.assign(Object.assign({}, data), { comment: data.comment && typeof data.comment === 'string' ? (_z = data.comment) === null || _z === void 0 ? void 0 : _z.replace(/\n/g, '<br/>') : null, products: data.products.map((p) => {
79
+ body: ejs.render(body_1.bodyTemplate, Object.assign(Object.assign({}, data), { comment: data.comment && typeof data.comment === 'string' ? (_0 = data.comment) === null || _0 === void 0 ? void 0 : _0.replace(/\n/g, '<br/>') : null, products: data.products.map((p) => {
75
80
  var _a;
76
81
  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 }));
77
82
  }), vats: forcedVats !== null && forcedVats !== void 0 ? forcedVats : vats })),
@@ -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 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') ?? null)\n : null,\n termsOfPayment: payload.termsOfPayment\n ? (internationalizationConsistency(locale, payload.termsOfPayment, 'termsOfPayment') ?? null)\n : null,\n compensation: payload.compensation\n ? (internationalizationConsistency(locale, payload.compensation, 'recoveryCost') ?? null)\n : null,\n discount: payload.discount ? (internationalizationConsistency(locale, payload.discount, 'discount') ?? null) : null,\n vatMention: payload.vatMention\n ? (internationalizationConsistency(locale, payload.vatMention, 'vatMention') ?? null)\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: AccountingCategoryList.find((a) => a.id === payload.accountingCategory)?.label ?? 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')\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 })),\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 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') ?? null)\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')\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 })),\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,6 +1,6 @@
1
1
  import { InvoiceLanguage } from '../../../types/Enum/CommercialManagement';
2
2
  import { InternationalizationChoicesType } from './type';
3
- type InternationalizationConsistencyKey = 'penalties' | 'discount' | 'vatMention' | 'recoveryCost' | 'paymentType' | 'termsOfPayment';
3
+ type InternationalizationConsistencyKey = 'penalties' | 'discount' | 'vatMention' | 'recoveryCost' | 'paymentType' | 'termsOfPayment' | 'accountingCategory';
4
4
  export declare const internationalizationChoices: InternationalizationChoicesType;
5
5
  export declare const internationalizationConsistency: (language: InvoiceLanguage, value: string, key: InternationalizationConsistencyKey) => string | undefined;
6
6
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"choices.d.ts","sourceRoot":"","sources":["../../../../../ts/utils/commercialManagement/internationalization/choices.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,eAAe,EAAE,MAAM,0CAA0C,CAAC;AACjG,OAAO,EAAE,+BAA+B,EAAE,MAAM,QAAQ,CAAC;AAEzD,KAAK,kCAAkC,GACnC,WAAW,GACX,UAAU,GACV,YAAY,GACZ,cAAc,GACd,aAAa,GACb,gBAAgB,CAAC;AAErB,eAAO,MAAM,2BAA2B,EAAE,+BA6XzC,CAAC;AAyGF,eAAO,MAAM,+BAA+B,aAChC,eAAe,SAClB,MAAM,OACR,kCAAkC,KACtC,MAAM,GAAG,SAKX,CAAC"}
1
+ {"version":3,"file":"choices.d.ts","sourceRoot":"","sources":["../../../../../ts/utils/commercialManagement/internationalization/choices.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,eAAe,EAAE,MAAM,0CAA0C,CAAC;AACjG,OAAO,EAAE,+BAA+B,EAAE,MAAM,QAAQ,CAAC;AAEzD,KAAK,kCAAkC,GACnC,WAAW,GACX,UAAU,GACV,YAAY,GACZ,cAAc,GACd,aAAa,GACb,gBAAgB,GAChB,oBAAoB,CAAC;AAEzB,eAAO,MAAM,2BAA2B,EAAE,+BA6XzC,CAAC;AAuHF,eAAO,MAAM,+BAA+B,aAChC,eAAe,SAClB,MAAM,OACR,kCAAkC,KACtC,MAAM,GAAG,SAKX,CAAC"}
@@ -242,7 +242,7 @@ exports.internationalizationChoices = {
242
242
  accountingCategory: {
243
243
  title: 'Transaction type',
244
244
  choices: [
245
- { id: CommercialManagement_1.AccountingCategoryId.DELIVERY_OF_GOOD, label: 'supply of goods' },
245
+ { id: CommercialManagement_1.AccountingCategoryId.DELIVERY_OF_GOOD, label: 'Supply of goods' },
246
246
  { id: CommercialManagement_1.AccountingCategoryId.SERVICE_DELIVERY, label: 'Services provision' },
247
247
  { id: CommercialManagement_1.AccountingCategoryId.GOOD_AND_SERVICE, label: 'Services provision and supply of goods' },
248
248
  ],
@@ -485,6 +485,20 @@ const internationalizationMatching = {
485
485
  en: '60 days upon receipt of invoice',
486
486
  },
487
487
  ],
488
+ accountingCategory: [
489
+ {
490
+ fr: 'Livraison de biens',
491
+ en: 'Supply of goods',
492
+ },
493
+ {
494
+ fr: 'Prestation de services',
495
+ en: 'Services provision',
496
+ },
497
+ {
498
+ fr: 'Prestation de services et livraison de biens',
499
+ en: 'Services provision and supply of goods',
500
+ },
501
+ ],
488
502
  };
489
503
  const internationalizationConsistency = (language, value, key) => {
490
504
  var _a, _b;