@silexpert/core 1.1.28 → 1.1.29

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,20 +8,20 @@ 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, isCreditVsDebit = false) {
11
+ function getAmountByAccountNumber(accountingEntries, accountsNumber, precision = 0, isAbs = false) {
12
12
  const accountingEntriesUniq = (0, _lodash.uniqBy)(accountingEntries, 'id');
13
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
- accTmp += isCreditVsDebit ? accountingEntry.credit - accountingEntry.debit : accountingEntry.debit - accountingEntry.credit;
17
+ accTmp += accountingEntry.debit - accountingEntry.credit;
18
18
  return true;
19
19
  }
20
20
  return false;
21
21
  });
22
22
  return accTmp;
23
23
  }, 0), precision);
24
- return result;
24
+ return isAbs ? Math.abs(result) : result;
25
25
  }
26
26
  function getTaxAmountByAccountNumber(accountingEntries, accountsNumber, precision = 0) {
27
27
  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","isCreditVsDebit","accountingEntriesUniq","_uniqBy","result","_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, isCreditVsDebit = 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 accTmp += isCreditVsDebit ? (accountingEntry.credit - accountingEntry.debit) : (accountingEntry.debit - accountingEntry.credit);\n return true;\n }\n return false;\n });\n return accTmp;\n }, 0), precision);\n return 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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"}
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 accTmp += accountingEntry.debit - accountingEntry.credit;\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.28",
3
+ "version": "1.1.29",
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",
@@ -34,4 +34,9 @@ export const AdjustmentTypeList: Array<{ id:AdjustmentTypeId; label: string; cen
34
34
  key: 'vat.deductible.toImpute',
35
35
  inputKey: 'adjustment.notEnoughDeducted',
36
36
  },
37
+ ];
38
+
39
+ export const VatDeclarationMxAdjustment: Array<{ key: string; label: string; }> = [
40
+ { key: 'mx.collected', label: 'Opérations modifiées M-X (collecté)' },
41
+ { key: 'mx.deducted', label: 'Opérations modifiées M-X (déductible)' },
37
42
  ];
@@ -187,6 +187,10 @@ export type PayloadCerfa3310_2023 = {
187
187
  isNil: boolean;
188
188
  previousVatDeclaration: Cerfa3310_2023 | null;
189
189
  sie: ServiceOfTax | null;
190
+ mx: {
191
+ collected: number;
192
+ deducted: number;
193
+ };
190
194
  comment?: string;
191
195
  taxedOperations?: {
192
196
  withdrawSuspensiveRegime?: number;
@@ -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);
85
+ const sumToAdd = isNil ? 0 : isHolidayDeposit ? (_round((payload.previousVatDeclaration?.toPay?.total ?? 0) * 0.8, 2)) : (_round(payload.vat?.sumToAdd ?? 0) + _round(payload.mx?.collected ?? 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),
252
+ toImpute: isNil || isHolidayDeposit ? 0 : (_round(payload.vat?.deductible?.toImpute ?? 0) + _round(payload.mx?.deducted ?? 0)),
253
253
  total: 0, // Calculé plus bas
254
254
  onImportOtherThanOilProducts: isNil || isHolidayDeposit ? 0 : otherDeductibles,
255
255
  coefficient: isNil || isHolidayDeposit ? 100 : coefficient,
@@ -35,7 +35,7 @@ export function getCerfa3517Century23Payload(accountingEntries: IAccountingEntry
35
35
  const saleOfImmobilization = getAmountByAccountNumber(vatEntries.filter((ae) => !withoutTaxVat.includes(ae.idVat) && frenchVat.includes(ae.idVat)), ['775'], 0, true);
36
36
 
37
37
  const onInvoiceDeductible = getAmountByAccountNumber(vatEntries, ['445660'], 0, true);
38
- const onImmobilizationDeductible = getAmountByAccountNumber(vatEntries, ['445662'], 0, true);
38
+ const onImmobilizationDeductible = getAmountByAccountNumber(vatEntries, ['44562'], 0, true);
39
39
 
40
40
  const julyAdvance: IRegistration | null = payload?.exerciceAdvanceRegistrations?.find((a) => dayjs(a.endDate).month() === 6) ?? null;
41
41
  const julyAdvancePayload: Cerfa3514_2022 | null = julyAdvance?.payload?.cerfa3514 ?? null;
@@ -178,11 +178,11 @@ export function getCerfa3517Century23Payload(accountingEntries: IAccountingEntry
178
178
  due: 0, // Calculé plus bas
179
179
  credit: 0, // Calculé plus bas
180
180
  advance1: {
181
- paid: isNil ? 0 : _round((julyAdvancePayload?.amountWanted ?? 0) * 0.55),
181
+ paid: isNil ? 0 : _round((julyAdvancePayload?.amountWanted ?? 0)),
182
182
  toPay: isNil ? 0 : _round(payload.advance1?.toPay ?? 0),
183
183
  },
184
184
  advance2: {
185
- paid: isNil ? 0 : _round((decemberAdvancePayload?.amountWanted ?? 0) * 0.4),
185
+ paid: isNil ? 0 : _round((decemberAdvancePayload?.amountWanted ?? 0)),
186
186
  toPay: isNil ? 0 : _round(payload.advance2?.toPay ?? 0),
187
187
  },
188
188
  advance: {
@@ -2,20 +2,20 @@ 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, isCreditVsDebit = false): number {
5
+ export function getAmountByAccountNumber(accountingEntries: IAccountingEntry[], accountsNumber: string[], precision = 0, isAbs = false): number {
6
6
  const accountingEntriesUniq = _uniqBy(accountingEntries, 'id');
7
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
- accTmp += isCreditVsDebit ? (accountingEntry.credit - accountingEntry.debit) : (accountingEntry.debit - accountingEntry.credit);
11
+ accTmp += accountingEntry.debit - accountingEntry.credit;
12
12
  return true;
13
13
  }
14
14
  return false;
15
15
  });
16
16
  return accTmp;
17
17
  }, 0), precision);
18
- return result;
18
+ return isAbs ? Math.abs(result) : result;
19
19
  }
20
20
 
21
21
  export function getTaxAmountByAccountNumber(accountingEntries: IAccountingEntry[], accountsNumber: string[], precision = 0): number {