@silexpert/core 1.1.17 → 1.1.19

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.
@@ -8,15 +8,13 @@ exports.getTaxAmountByAccountNumber = getTaxAmountByAccountNumber;
8
8
  exports.textFormatting = textFormatting;
9
9
  var _lodash = require("lodash");
10
10
  var _Vat = require("../../types/Enum/Vat");
11
- function getAmountByAccountNumber(accountingEntries, accountsNumber, precision = 0, isCredit = false) {
11
+ function getAmountByAccountNumber(accountingEntries, accountsNumber, precision = 0, isAbs = false) {
12
12
  const accountingEntriesUniq = (0, _lodash.uniqBy)(accountingEntries, 'id');
13
- return (0, _lodash.round)(accountingEntriesUniq.reduce((acc, accountingEntry) => {
13
+ const result = (0, _lodash.round)(accountingEntriesUniq.reduce((acc, accountingEntry) => {
14
14
  let accTmp = acc;
15
15
  accountsNumber.some(number => {
16
16
  if (accountingEntry.account && accountingEntry.account.number && accountingEntry.account.number.toString().startsWith(number)) {
17
- if (isCredit) {
18
- accTmp += accountingEntry.credit - accountingEntry.debit;
19
- } else {
17
+ if (isAbs) {
20
18
  accTmp += accountingEntry.debit - accountingEntry.credit;
21
19
  }
22
20
  return true;
@@ -25,6 +23,7 @@ function getAmountByAccountNumber(accountingEntries, accountsNumber, precision =
25
23
  });
26
24
  return accTmp;
27
25
  }, 0), precision);
26
+ return isAbs ? Math.abs(result) : result;
28
27
  }
29
28
  function getTaxAmountByAccountNumber(accountingEntries, accountsNumber, precision = 0) {
30
29
  const accountingEntriesUniq = (0, _lodash.uniqBy)(accountingEntries, 'id');
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","names":["getAmountByAccountNumber","exports","getTaxAmountByAccountNumber","textFormatting","_lodash","require","_Vat","accountingEntries","accountsNumber","precision","isCredit","accountingEntriesUniq","_uniqBy","_round","reduce","acc","accountingEntry","accTmp","some","number","account","toString","startsWith","credit","debit","_b","_a","Object","values","Vat","find","v","id","idVat","value","length","formattedValue","replace","slice"],"sources":["../../../ts/utils/vat/utils.ts"],"sourcesContent":["import { round as _round, uniqBy as _uniqBy } from 'lodash';\nimport { IAccountingEntry } from '../../types/Interface/models/IAccountingEntry';\nimport { Vat } from '../../types/Enum/Vat';\n\nexport function getAmountByAccountNumber(accountingEntries: IAccountingEntry[], accountsNumber: string[], precision = 0, isCredit = false): number {\n const accountingEntriesUniq = _uniqBy(accountingEntries, 'id');\n return _round(accountingEntriesUniq.reduce((acc, accountingEntry) => {\n let accTmp = acc;\n accountsNumber.some((number) => {\n if (accountingEntry.account && accountingEntry.account.number && accountingEntry.account.number.toString().startsWith(number)) {\n if (isCredit) {\n accTmp += (accountingEntry.credit - accountingEntry.debit);\n } else {\n accTmp += (accountingEntry.debit - accountingEntry.credit);\n }\n return true;\n }\n return false;\n });\n return accTmp;\n }, 0), precision);\n}\n\nexport function getTaxAmountByAccountNumber(accountingEntries: IAccountingEntry[], accountsNumber: string[], precision = 0): number {\n const accountingEntriesUniq = _uniqBy(accountingEntries, 'id');\n return _round(accountingEntriesUniq.reduce((acc, accountingEntry) => {\n let accTmp = acc;\n accountsNumber.some((number) => {\n if (accountingEntry.account && accountingEntry.account.number && accountingEntry.account.number.toString().startsWith(number)) {\n accTmp += ((accountingEntry.debit - accountingEntry.credit) * (((Object.values(Vat).find((v) => v.id === accountingEntry.idVat)?.value ?? 0) / 100)));\n return true;\n }\n return false;\n });\n return accTmp;\n }, precision));\n}\n\nexport function textFormatting(value: any, length: number | null = null): string | null {\n if (value && typeof value === 'string') {\n let formattedValue = value.replace(/[\\u2018\\u2019]/g, '\\''); // Suppression des \"Curly Quotes\"\n formattedValue = formattedValue.replace(/&/g, ''); // Suppression des &\n formattedValue = formattedValue.replace(/!/g, ''); // Suppression des !\n formattedValue = formattedValue.replace(/[\\t]/g, ''); // Suppression des tabulations\n formattedValue = formattedValue.replace(/`/g, '\\''); // Suppression des `\n formattedValue = formattedValue.replace(/\"/g, ''); // Suppression des \"\n formattedValue = formattedValue.replace(/^ */, ''); // Suppression des espaces de début\n formattedValue = formattedValue.replace(/ *$/, ''); // Suppression des espaces de fin\n if (length) formattedValue = formattedValue.slice(0, length);\n return formattedValue;\n }\n return null;\n}"],"mappings":";;;;;QAIgBA,wBAAwB,GAAxBA,wBAAwB;AAAAC,OAAA,CAmBxBC,2BAA2B,GAA3BA,2BAA2B;AAAAD,OAAA,CAe3BE,cAAc,GAAdA,cAAc;AAtC9B,IAAAC,OAAA,GAAAC,OAAA;AAEA,IAAAC,IAAA,GAAAD,OAAA;AAEM,SAAUL,wBAAwBA,CAACO,iBAAqC,EAAEC,cAAwB,EAAEC,SAAS,GAAG,CAAC,EAAEC,QAAQ,GAAG,KAAK;EACvI,MAAMC,qBAAqB,GAAG,IAAAC,cAAO,EAACL,iBAAiB,EAAE,IAAI,CAAC;EAC9D,OAAO,IAAAM,aAAM,EAACF,qBAAqB,CAACG,MAAM,CAAC,CAACC,GAAG,EAAEC,eAAe,KAAI;IAClE,IAAIC,MAAM,GAAGF,GAAG;IAChBP,cAAc,CAACU,IAAI,CAAEC,MAAM,IAAI;MAC7B,IAAIH,eAAe,CAACI,OAAO,IAAIJ,eAAe,CAACI,OAAO,CAACD,MAAM,IAAIH,eAAe,CAACI,OAAO,CAACD,MAAM,CAACE,QAAQ,EAAE,CAACC,UAAU,CAACH,MAAM,CAAC,EAAE;QAC7H,IAAIT,QAAQ,EAAE;UACZO,MAAM,IAAKD,eAAe,CAACO,MAAM,GAAGP,eAAe,CAACQ,KAAM;SAC3D,MAAM;UACLP,MAAM,IAAKD,eAAe,CAACQ,KAAK,GAAGR,eAAe,CAACO,MAAO;;QAE5D,OAAO,IAAI;;MAEb,OAAO,KAAK;IACd,CAAC,CAAC;IACF,OAAON,MAAM;EACf,CAAC,EAAE,CAAC,CAAC,EAAER,SAAS,CAAC;AACnB;AAEM,SAAUP,2BAA2BA,CAACK,iBAAqC,EAAEC,cAAwB,EAAEC,SAAS,GAAG,CAAC;EACxH,MAAME,qBAAqB,GAAG,IAAAC,cAAO,EAACL,iBAAiB,EAAE,IAAI,CAAC;EAC9D,OAAO,IAAAM,aAAM,EAACF,qBAAqB,CAACG,MAAM,CAAC,CAACC,GAAG,EAAEC,eAAe,KAAI;IAClE,IAAIC,MAAM,GAAGF,GAAG;IAChBP,cAAc,CAACU,IAAI,CAAEC,MAAM,IAAI;;MAC7B,IAAIH,eAAe,CAACI,OAAO,IAAIJ,eAAe,CAACI,OAAO,CAACD,MAAM,IAAIH,eAAe,CAACI,OAAO,CAACD,MAAM,CAACE,QAAQ,EAAE,CAACC,UAAU,CAACH,MAAM,CAAC,EAAE;QAC7HF,MAAM,IAAK,CAACD,eAAe,CAACQ,KAAK,GAAGR,eAAe,CAACO,MAAM,KAAM,CAAC,CAAAE,EAAA,IAAAC,EAAA,GAAAC,MAAM,CAACC,MAAM,CAACC,QAAG,CAAC,CAACC,IAAI,CAAEC,CAAC,IAAKA,CAAC,CAACC,EAAE,KAAKhB,eAAe,CAACiB,KAAK,CAAC,cAAAP,EAAA,uBAAAA,EAAA,CAAEQ,KAAK,cAAAT,EAAA,cAAAA,EAAA,GAAI,CAAC,IAAI,GAAG,CAAG;QACrJ,OAAO,IAAI;;MAEb,OAAO,KAAK;IACd,CAAC,CAAC;IACF,OAAOR,MAAM;EACf,CAAC,EAAER,SAAS,CAAC,CAAC;AAChB;AAEM,SAAUN,cAAcA,CAAC+B,KAAU,EAAEC,MAAA,GAAwB,IAAI;EACrE,IAAID,KAAK,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;IACtC,IAAIE,cAAc,GAAGF,KAAK,CAACG,OAAO,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC,CAAC;IAC7DD,cAAc,GAAGA,cAAc,CAACC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;IACnDD,cAAc,GAAGA,cAAc,CAACC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;IACnDD,cAAc,GAAGA,cAAc,CAACC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;IACtDD,cAAc,GAAGA,cAAc,CAACC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IACrDD,cAAc,GAAGA,cAAc,CAACC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;IACnDD,cAAc,GAAGA,cAAc,CAACC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;IACpDD,cAAc,GAAGA,cAAc,CAACC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;IACpD,IAAIF,MAAM,EAAEC,cAAc,GAAGA,cAAc,CAACE,KAAK,CAAC,CAAC,EAAEH,MAAM,CAAC;IAC5D,OAAOC,cAAc;;EAEvB,OAAO,IAAI;AACb"}
1
+ {"version":3,"file":"utils.js","names":["getAmountByAccountNumber","exports","getTaxAmountByAccountNumber","textFormatting","_lodash","require","_Vat","accountingEntries","accountsNumber","precision","isAbs","accountingEntriesUniq","_uniqBy","result","_round","reduce","acc","accountingEntry","accTmp","some","number","account","toString","startsWith","debit","credit","Math","abs","_b","_a","Object","values","Vat","find","v","id","idVat","value","length","formattedValue","replace","slice"],"sources":["../../../ts/utils/vat/utils.ts"],"sourcesContent":["import { round as _round, uniqBy as _uniqBy } from 'lodash';\nimport { IAccountingEntry } from '../../types/Interface/models/IAccountingEntry';\nimport { Vat } from '../../types/Enum/Vat';\n\nexport function getAmountByAccountNumber(accountingEntries: IAccountingEntry[], accountsNumber: string[], precision = 0, isAbs = false): number {\n const accountingEntriesUniq = _uniqBy(accountingEntries, 'id');\n const result = _round(accountingEntriesUniq.reduce((acc, accountingEntry) => {\n let accTmp = acc;\n accountsNumber.some((number) => {\n if (accountingEntry.account && accountingEntry.account.number && accountingEntry.account.number.toString().startsWith(number)) {\n if (isAbs) {\n accTmp += (accountingEntry.debit - accountingEntry.credit);\n }\n return true;\n }\n return false;\n });\n return accTmp;\n }, 0), precision);\n return isAbs ? Math.abs(result) : result;\n}\n\nexport function getTaxAmountByAccountNumber(accountingEntries: IAccountingEntry[], accountsNumber: string[], precision = 0): number {\n const accountingEntriesUniq = _uniqBy(accountingEntries, 'id');\n return _round(accountingEntriesUniq.reduce((acc, accountingEntry) => {\n let accTmp = acc;\n accountsNumber.some((number) => {\n if (accountingEntry.account && accountingEntry.account.number && accountingEntry.account.number.toString().startsWith(number)) {\n accTmp += ((accountingEntry.debit - accountingEntry.credit) * (((Object.values(Vat).find((v) => v.id === accountingEntry.idVat)?.value ?? 0) / 100)));\n return true;\n }\n return false;\n });\n return accTmp;\n }, precision));\n}\n\nexport function textFormatting(value: any, length: number | null = null): string | null {\n if (value && typeof value === 'string') {\n let formattedValue = value.replace(/[\\u2018\\u2019]/g, '\\''); // Suppression des \"Curly Quotes\"\n formattedValue = formattedValue.replace(/&/g, ''); // Suppression des &\n formattedValue = formattedValue.replace(/!/g, ''); // Suppression des !\n formattedValue = formattedValue.replace(/[\\t]/g, ''); // Suppression des tabulations\n formattedValue = formattedValue.replace(/`/g, '\\''); // Suppression des `\n formattedValue = formattedValue.replace(/\"/g, ''); // Suppression des \"\n formattedValue = formattedValue.replace(/^ */, ''); // Suppression des espaces de début\n formattedValue = formattedValue.replace(/ *$/, ''); // Suppression des espaces de fin\n if (length) formattedValue = formattedValue.slice(0, length);\n return formattedValue;\n }\n return null;\n}"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@silexpert/core",
3
- "version": "1.1.17",
3
+ "version": "1.1.19",
4
4
  "description": "Silex Core perform HTTP Request and object binding. Silex core helps developers to retrieve and return formatted object",
5
5
  "homepage": "https://gitlab.compta-clementine.fr/dev/silex-api",
6
6
  "main": "js/index.js",
@@ -27,6 +27,15 @@ export class Vat extends Resource {
27
27
  return data;
28
28
  }
29
29
 
30
+ preview(idSociety: number, payload: UpdateOrCreateVatAdvance): Promise<Buffer> {
31
+ return this.axios.$post(`/societies/${idSociety}/vat/preview`, payload, {
32
+ responseType: 'arraybuffer',
33
+ headers: {
34
+ Accept: 'application/pdf',
35
+ },
36
+ });
37
+ }
38
+
30
39
  getPaginated(idSociety: number, query: QueryPaginatedRegistration): Promise<BasePaginate<ReadRegistration>> {
31
40
  return this.axios.$get(`/societies/${idSociety}/vat`, { params: query });
32
41
  }
@@ -24,14 +24,14 @@ export const AdjustmentTypeList: Array<{ id:AdjustmentTypeId; label: string; cen
24
24
  id: AdjustmentTypeId.TOO_MUCH_DEDUCTED,
25
25
  label: 'TVA trop déduite',
26
26
  centuries: [2022, 2023, 2024, 2025],
27
- key: 'vat.deductible.toImpute',
27
+ key: 'vat.sumToAdd',
28
28
  inputKey: 'adjustment.tooMuchDeducted',
29
29
  },
30
30
  {
31
31
  id: AdjustmentTypeId.NOT_ENOUGH_DEDUCTED,
32
32
  label: 'TVA pas assez déduite',
33
33
  centuries: [2022, 2023, 2024, 2025],
34
- key: 'vat.sumToAdd',
34
+ key: 'vat.deductible.toImpute',
35
35
  inputKey: 'adjustment.notEnoughDeducted',
36
36
  },
37
37
  ];
@@ -82,7 +82,7 @@ export function getCerfa3310Century23Payload(accountingEntries: IAccountingEntry
82
82
  const isNil = payload.isNil === true;
83
83
  const isHolidayDeposit = payload.isHolidayDeposit === true;
84
84
 
85
- const sumToAdd = isNil ? 0 : isHolidayDeposit ? (_round((payload.previousVatDeclaration?.toPay?.total ?? 0) * 0.8, 2)) : _round(payload.vat?.sumToAdd ?? 0) + _round(payload.vat?.deductible?.toImpute ?? 0);
85
+ const sumToAdd = isNil ? 0 : isHolidayDeposit ? (_round((payload.previousVatDeclaration?.toPay?.total ?? 0) * 0.8, 2)) : _round(payload.vat?.sumToAdd ?? 0);
86
86
  const comment = isHolidayDeposit ? `ACOMPTE CONGES ${payload.comment ?? ''}` : (payload.comment ?? null);
87
87
 
88
88
  const initialPayload: Cerfa3310_2023 = {
@@ -249,7 +249,7 @@ export function getCerfa3310Century23Payload(accountingEntries: IAccountingEntry
249
249
  total: isNil || isHolidayDeposit ? 0 : otherDeductibles,
250
250
  },
251
251
  report,
252
- toImpute: isNil || isHolidayDeposit ? 0 : _round(payload.vat?.deductible?.toImpute ?? 0) + _round(payload.vat?.sumToAdd ?? 0),
252
+ toImpute: isNil || isHolidayDeposit ? 0 : _round(payload.vat?.deductible?.toImpute ?? 0),
253
253
  total: 0, // Calculé plus bas
254
254
  onImportOtherThanOilProducts: isNil || isHolidayDeposit ? 0 : otherDeductibles,
255
255
  coefficient: isNil || isHolidayDeposit ? 100 : coefficient,
@@ -1393,6 +1393,7 @@ export const cerfa3310Century23Fields: CerfaPayloadForm[] = [{
1393
1393
  {
1394
1394
  label: '26 - Remboursement de crédit de TVA demandé sur formulaire n° 3519',
1395
1395
  key: 'credit.refundAsked',
1396
+ visibleIf: 'credit.amount',
1396
1397
  type: 'number',
1397
1398
  },
1398
1399
  {
@@ -2,15 +2,13 @@ import { round as _round, uniqBy as _uniqBy } from 'lodash';
2
2
  import { IAccountingEntry } from '../../types/Interface/models/IAccountingEntry';
3
3
  import { Vat } from '../../types/Enum/Vat';
4
4
 
5
- export function getAmountByAccountNumber(accountingEntries: IAccountingEntry[], accountsNumber: string[], precision = 0, isCredit = false): number {
5
+ export function getAmountByAccountNumber(accountingEntries: IAccountingEntry[], accountsNumber: string[], precision = 0, isAbs = false): number {
6
6
  const accountingEntriesUniq = _uniqBy(accountingEntries, 'id');
7
- return _round(accountingEntriesUniq.reduce((acc, accountingEntry) => {
7
+ const result = _round(accountingEntriesUniq.reduce((acc, accountingEntry) => {
8
8
  let accTmp = acc;
9
9
  accountsNumber.some((number) => {
10
10
  if (accountingEntry.account && accountingEntry.account.number && accountingEntry.account.number.toString().startsWith(number)) {
11
- if (isCredit) {
12
- accTmp += (accountingEntry.credit - accountingEntry.debit);
13
- } else {
11
+ if (isAbs) {
14
12
  accTmp += (accountingEntry.debit - accountingEntry.credit);
15
13
  }
16
14
  return true;
@@ -19,6 +17,7 @@ export function getAmountByAccountNumber(accountingEntries: IAccountingEntry[],
19
17
  });
20
18
  return accTmp;
21
19
  }, 0), precision);
20
+ return isAbs ? Math.abs(result) : result;
22
21
  }
23
22
 
24
23
  export function getTaxAmountByAccountNumber(accountingEntries: IAccountingEntry[], accountsNumber: string[], precision = 0): number {