@silexpert/core 1.1.55 → 1.1.57

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/es/types/Enum/AdjustmentType.d.ts +1 -0
  2. package/es/types/Enum/AdjustmentType.d.ts.map +1 -1
  3. package/es/types/Enum/AdjustmentType.js +4 -0
  4. package/es/types/Enum/AdjustmentType.js.map +1 -1
  5. package/es/types/Enum/Comment.d.ts +2 -1
  6. package/es/types/Enum/Comment.d.ts.map +1 -1
  7. package/es/types/Enum/Comment.js +1 -0
  8. package/es/types/Enum/Comment.js.map +1 -1
  9. package/es/types/Interface/api/cerfa/3310.d.ts +1 -0
  10. package/es/types/Interface/api/cerfa/3310.d.ts.map +1 -1
  11. package/es/types/Interface/api/cerfa/3310.js.map +1 -1
  12. package/es/utils/vat/3310/century23.d.ts.map +1 -1
  13. package/es/utils/vat/3310/century23.js +61 -51
  14. package/es/utils/vat/3310/century23.js.map +1 -1
  15. package/es/utils/vat/3517/century23.js +1 -1
  16. package/es/utils/vat/3517/century23.js.map +1 -1
  17. package/es/utils/vat/registration.d.ts +1 -0
  18. package/es/utils/vat/registration.d.ts.map +1 -1
  19. package/es/utils/vat/registration.js +12 -12
  20. package/es/utils/vat/registration.js.map +1 -1
  21. package/js/types/Enum/AdjustmentType.js +7 -3
  22. package/js/types/Enum/AdjustmentType.js.map +1 -1
  23. package/js/types/Enum/Comment.js +1 -0
  24. package/js/types/Enum/Comment.js.map +1 -1
  25. package/js/types/Interface/api/cerfa/3310.js.map +1 -1
  26. package/js/utils/vat/3310/century23.js +57 -49
  27. package/js/utils/vat/3310/century23.js.map +1 -1
  28. package/js/utils/vat/3517/century23.js +1 -1
  29. package/js/utils/vat/3517/century23.js.map +1 -1
  30. package/js/utils/vat/registration.js +14 -12
  31. package/js/utils/vat/registration.js.map +1 -1
  32. package/package.json +1 -1
  33. package/ts/types/Enum/AdjustmentType.ts +5 -1
  34. package/ts/types/Enum/Comment.ts +1 -0
  35. package/ts/types/Interface/api/cerfa/3310.ts +1 -0
  36. package/ts/utils/vat/3310/century23.ts +20 -11
  37. package/ts/utils/vat/3517/century23.ts +1 -1
  38. package/ts/utils/vat/registration.ts +3 -3
@@ -80,26 +80,27 @@ function getTicks(registration) {
80
80
  return [];
81
81
  }
82
82
  function getTypeAndAmountFromRegistration(registration) {
83
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
83
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
84
84
  if (registration.idCerfaType === _types.CerfaType.CERFA_3310) {
85
85
  const payload = registration.payload.cerfa3310;
86
86
  const other = {
87
87
  collectable: payload.vat.grossDue,
88
- deductible: payload.vat.deductible.total
88
+ deductible: payload.vat.deductible.total,
89
+ toReport: (_a = payload.credit.toReport) !== null && _a !== void 0 ? _a : 0
89
90
  };
90
91
  if (payload === null || payload === void 0 ? void 0 : payload.isNil) return Object.assign({
91
92
  type: _types.CustomerVatType.VAT_TO_NIL,
92
93
  amount: 0
93
94
  }, other);
94
- if (((_a = payload === null || payload === void 0 ? void 0 : payload.toPay) === null || _a === void 0 ? void 0 : _a.total) > 0) return Object.assign({
95
+ if (((_b = payload === null || payload === void 0 ? void 0 : payload.toPay) === null || _b === void 0 ? void 0 : _b.total) > 0) return Object.assign({
95
96
  type: _types.CustomerVatType.VAT_TO_PAY,
96
97
  amount: payload.toPay.total
97
98
  }, other);
98
- if (((_b = payload === null || payload === void 0 ? void 0 : payload.credit) === null || _b === void 0 ? void 0 : _b.refundAsked) > 0) return Object.assign({
99
+ if (((_c = payload === null || payload === void 0 ? void 0 : payload.credit) === null || _c === void 0 ? void 0 : _c.refundAsked) > 0) return Object.assign({
99
100
  type: _types.CustomerVatType.VAT_REFUND,
100
101
  amount: payload.credit.refundAsked
101
102
  }, other);
102
- if (((_c = payload === null || payload === void 0 ? void 0 : payload.credit) === null || _c === void 0 ? void 0 : _c.toReport) > 0) return Object.assign({
103
+ if (((_d = payload === null || payload === void 0 ? void 0 : payload.credit) === null || _d === void 0 ? void 0 : _d.toReport) > 0) return Object.assign({
103
104
  type: _types.CustomerVatType.VAT_REPORT,
104
105
  amount: payload.credit.toReport
105
106
  }, other);
@@ -132,23 +133,24 @@ function getTypeAndAmountFromRegistration(registration) {
132
133
  const payload = registration.payload.cerfa3517;
133
134
  const other = {
134
135
  collectable: payload.other.total,
135
- deductible: payload.deductible.total
136
+ deductible: payload.deductible.total,
137
+ toReport: (_e = payload.net.balanceSurplus) !== null && _e !== void 0 ? _e : 0
136
138
  };
137
139
  if (payload === null || payload === void 0 ? void 0 : payload.isNil) return Object.assign({
138
140
  type: _types.CustomerVatType.VAT_TO_NIL,
139
141
  amount: 0
140
142
  }, other);
141
- if (((_d = payload === null || payload === void 0 ? void 0 : payload.recapitulation) === null || _d === void 0 ? void 0 : _d.toPay) > 0) return Object.assign({
143
+ if (((_f = payload === null || payload === void 0 ? void 0 : payload.recapitulation) === null || _f === void 0 ? void 0 : _f.toPay) > 0) return Object.assign({
142
144
  type: _types.CustomerVatType.VAT_TO_PAY,
143
- amount: (_e = payload === null || payload === void 0 ? void 0 : payload.recapitulation) === null || _e === void 0 ? void 0 : _e.toPay
145
+ amount: (_g = payload === null || payload === void 0 ? void 0 : payload.recapitulation) === null || _g === void 0 ? void 0 : _g.toPay
144
146
  }, other);
145
- if (((_f = payload === null || payload === void 0 ? void 0 : payload.recapitulation) === null || _f === void 0 ? void 0 : _f.refund) > 0) return Object.assign({
147
+ if (((_h = payload === null || payload === void 0 ? void 0 : payload.recapitulation) === null || _h === void 0 ? void 0 : _h.refund) > 0) return Object.assign({
146
148
  type: _types.CustomerVatType.VAT_REFUND,
147
- amount: (_g = payload === null || payload === void 0 ? void 0 : payload.recapitulation) === null || _g === void 0 ? void 0 : _g.refund
149
+ amount: (_j = payload === null || payload === void 0 ? void 0 : payload.recapitulation) === null || _j === void 0 ? void 0 : _j.refund
148
150
  }, other);
149
- if (((_h = payload === null || payload === void 0 ? void 0 : payload.recapitulation) === null || _h === void 0 ? void 0 : _h.creditToReport) > 0 || ((_j = payload === null || payload === void 0 ? void 0 : payload.recapitulation) === null || _j === void 0 ? void 0 : _j.imputedCredit) > 0) return Object.assign({
151
+ if (((_k = payload === null || payload === void 0 ? void 0 : payload.recapitulation) === null || _k === void 0 ? void 0 : _k.creditToReport) > 0 || ((_l = payload === null || payload === void 0 ? void 0 : payload.recapitulation) === null || _l === void 0 ? void 0 : _l.imputedCredit) > 0) return Object.assign({
150
152
  type: _types.CustomerVatType.VAT_REPORT,
151
- amount: (_l = (_k = payload === null || payload === void 0 ? void 0 : payload.recapitulation) === null || _k === void 0 ? void 0 : _k.creditToReport) !== null && _l !== void 0 ? _l : (_m = payload === null || payload === void 0 ? void 0 : payload.recapitulation) === null || _m === void 0 ? void 0 : _m.imputedCredit
153
+ amount: (_o = (_m = payload === null || payload === void 0 ? void 0 : payload.recapitulation) === null || _m === void 0 ? void 0 : _m.creditToReport) !== null && _o !== void 0 ? _o : (_p = payload === null || payload === void 0 ? void 0 : payload.recapitulation) === null || _p === void 0 ? void 0 : _p.imputedCredit
152
154
  }, other);
153
155
  return Object.assign({
154
156
  type: _types.CustomerVatType.VAT_TO_PAY,
@@ -1 +1 @@
1
- {"version":3,"file":"registration.js","names":["getTicks","exports","getTypeAndAmountFromRegistration","_dayjs","require","dayjs","_interopRequireWildcard","_classValidator","_lodash","_types","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","waitingState","state","RegistrationTickState","IN_PROGRESS","title","details","date","isPayment","registration","declarations","_b","_a","response","RegistrationState","data","forEach","result","FINISHED","sendAt","toISOString","amountToPay","push","assign","ACCEPTED","REFUSED","includes","declaration","reverse","states","map","d","isError","FAILED","label","stateDetailsHistory","index","length","isDefined","payment","_c","idCerfaType","CerfaType","CERFA_3310","payload","cerfa3310","other","collectable","vat","grossDue","deductible","total","isNil","type","CustomerVatType","VAT_TO_NIL","amount","toPay","VAT_TO_PAY","credit","refundAsked","VAT_REFUND","toReport","VAT_REPORT","CERFA_3514","cerfa3514","vatAmountCollected","vatAmountDeductible","vatAmountToPay","vatRefundedOnInvests","CERFA_3517","cerfa3517","_d","recapitulation","_e","_f","refund","_g","_h","creditToReport","_j","imputedCredit","_l","_k","_m"],"sources":["../../../ts/utils/vat/registration.ts"],"sourcesContent":["import * as dayjs from 'dayjs';\nimport { isDefined } from 'class-validator';\nimport { reverse } from 'lodash';\nimport {\n Cerfa3310_2023,\n Cerfa3514_2022,\n CerfaType,\n CustomerVatType,\n IRegistration,\n InterchangeHistory,\n ReadDeclaration,\n ReadRegistration, ReadRegistrationTick, RegistrationState, RegistrationTickState,\n} from '../../types';\nimport { Cerfa3517_2023 } from '../../types/Interface/api/cerfa/3517';\n\nconst waitingState: ReadRegistrationTick = {\n state: RegistrationTickState.IN_PROGRESS,\n title: 'En cours de traitement',\n details: [],\n date: null,\n isPayment: false,\n};\n\nexport function getTicks(registration: ReadRegistration): ReadRegistrationTick[][] {\n const declarations: Array<ReadDeclaration> = registration.response?.declarations ?? [];\n\n if (registration.state === RegistrationState.IN_PROGRESS) {\n const data: ReadRegistrationTick[][] = [];\n\n declarations.forEach(() => {\n const result = [\n {\n state: RegistrationTickState.FINISHED,\n title: 'Déclaration envoyée',\n details: [],\n date: registration.sendAt ? dayjs(registration.sendAt).toISOString() : null,\n isPayment: false,\n },\n waitingState,\n waitingState,\n waitingState,\n ];\n\n if (registration.amountToPay && registration.amountToPay > 0) {\n result.push({\n ...waitingState,\n isPayment: true,\n });\n }\n\n data.push(result);\n });\n\n return data;\n } if ([RegistrationState.ACCEPTED, RegistrationState.REFUSED].includes(registration.state)) {\n const data: ReadRegistrationTick[][] = [];\n declarations.forEach((declaration) => {\n const response: ReadRegistrationTick[] = [\n {\n state: RegistrationTickState.FINISHED,\n title: 'Déclaration envoyée',\n date: registration.sendAt ? dayjs(registration.sendAt).toISOString() : null,\n details: [],\n },\n ...reverse(declaration.states).map((d: InterchangeHistory) => ({\n state: d.isError ? RegistrationTickState.FAILED : RegistrationTickState.FINISHED,\n title: d.label ?? null,\n details: d?.stateDetailsHistory,\n date: d.date ?? null,\n })),\n ];\n\n for (let index = declaration.states.length; index < 3; index += 1) {\n response.push({ ...waitingState, title: null });\n }\n\n if (isDefined(declaration.payment)) {\n response.push({\n state: declaration.payment.isError ? RegistrationTickState.FAILED : declaration.payment.isError === null ? RegistrationTickState.IN_PROGRESS : RegistrationTickState.FINISHED,\n title: declaration.payment?.label ?? '',\n details: [],\n isPayment: true,\n date: declaration.payment.date ?? null,\n });\n }\n data.push(response);\n });\n\n return data;\n }\n\n return [];\n}\n\nexport function getTypeAndAmountFromRegistration(registration: IRegistration): { type: CustomerVatType | null; amount: number | null; collectable: number; deductible: number; } {\n if (registration.idCerfaType === CerfaType.CERFA_3310) {\n const payload = registration.payload.cerfa3310 as Cerfa3310_2023;\n const other = { collectable: payload.vat.grossDue, deductible: payload.vat.deductible.total };\n if (payload?.isNil) return { type: CustomerVatType.VAT_TO_NIL, amount: 0, ...other };\n if (payload?.toPay?.total > 0) return { type: CustomerVatType.VAT_TO_PAY, amount: payload.toPay.total, ...other };\n if (payload?.credit?.refundAsked > 0) return { type: CustomerVatType.VAT_REFUND, amount: payload.credit.refundAsked, ...other };\n if (payload?.credit?.toReport > 0) return { type: CustomerVatType.VAT_REPORT, amount: payload.credit.toReport, ...other };\n return { type: CustomerVatType.VAT_TO_PAY, amount: 0, ...other };\n } if (registration.idCerfaType === CerfaType.CERFA_3514) {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const payload = registration.payload.cerfa3514 as Cerfa3514_2022;\n const other = { collectable: payload.vatAmountCollected, deductible: payload.vatAmountDeductible };\n if (payload?.vatAmountToPay > 0) return { type: CustomerVatType.VAT_TO_PAY, amount: payload.vatAmountToPay, ...other };\n if (payload?.vatRefundedOnInvests) return { type: CustomerVatType.VAT_REFUND, amount: payload.vatRefundedOnInvests, ...other };\n return { type: CustomerVatType.VAT_TO_PAY, amount: 0, ...other };\n } if (registration.idCerfaType === CerfaType.CERFA_3517) {\n const payload = registration.payload.cerfa3517 as Cerfa3517_2023;\n const other = { collectable: payload.other.total, deductible: payload.deductible.total };\n if (payload?.isNil) return { type: CustomerVatType.VAT_TO_NIL, amount: 0, ...other };\n if (payload?.recapitulation?.toPay > 0) return { type: CustomerVatType.VAT_TO_PAY, amount: payload?.recapitulation?.toPay, ...other };\n if (payload?.recapitulation?.refund > 0) return { type: CustomerVatType.VAT_REFUND, amount: payload?.recapitulation?.refund, ...other };\n if (payload?.recapitulation?.creditToReport > 0 || payload?.recapitulation?.imputedCredit > 0) return { type: CustomerVatType.VAT_REPORT, amount: payload?.recapitulation?.creditToReport ?? payload?.recapitulation?.imputedCredit, ...other };\n return { type: CustomerVatType.VAT_TO_PAY, amount: 0, ...other };\n }\n\n return {\n type: null, amount: null, collectable: 0, deductible: 0,\n };\n}"],"mappings":"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"}
1
+ {"version":3,"file":"registration.js","names":["getTicks","exports","getTypeAndAmountFromRegistration","_dayjs","require","dayjs","_interopRequireWildcard","_classValidator","_lodash","_types","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","waitingState","state","RegistrationTickState","IN_PROGRESS","title","details","date","isPayment","registration","declarations","_b","_a","response","RegistrationState","data","forEach","result","FINISHED","sendAt","toISOString","amountToPay","push","assign","ACCEPTED","REFUSED","includes","declaration","reverse","states","map","d","isError","FAILED","label","stateDetailsHistory","index","length","isDefined","payment","_c","idCerfaType","CerfaType","CERFA_3310","payload","cerfa3310","other","collectable","vat","grossDue","deductible","total","toReport","credit","isNil","type","CustomerVatType","VAT_TO_NIL","amount","toPay","VAT_TO_PAY","refundAsked","VAT_REFUND","_d","VAT_REPORT","CERFA_3514","cerfa3514","vatAmountCollected","vatAmountDeductible","vatAmountToPay","vatRefundedOnInvests","CERFA_3517","cerfa3517","_e","net","balanceSurplus","_f","recapitulation","_g","_h","refund","_j","_k","creditToReport","_l","imputedCredit","_o","_m","_p"],"sources":["../../../ts/utils/vat/registration.ts"],"sourcesContent":["import * as dayjs from 'dayjs';\nimport { isDefined } from 'class-validator';\nimport { reverse } from 'lodash';\nimport {\n Cerfa3310_2023,\n Cerfa3514_2022,\n CerfaType,\n CustomerVatType,\n IRegistration,\n InterchangeHistory,\n ReadDeclaration,\n ReadRegistration, ReadRegistrationTick, RegistrationState, RegistrationTickState,\n} from '../../types';\nimport { Cerfa3517_2023 } from '../../types/Interface/api/cerfa/3517';\n\nconst waitingState: ReadRegistrationTick = {\n state: RegistrationTickState.IN_PROGRESS,\n title: 'En cours de traitement',\n details: [],\n date: null,\n isPayment: false,\n};\n\nexport function getTicks(registration: ReadRegistration): ReadRegistrationTick[][] {\n const declarations: Array<ReadDeclaration> = registration.response?.declarations ?? [];\n\n if (registration.state === RegistrationState.IN_PROGRESS) {\n const data: ReadRegistrationTick[][] = [];\n\n declarations.forEach(() => {\n const result = [\n {\n state: RegistrationTickState.FINISHED,\n title: 'Déclaration envoyée',\n details: [],\n date: registration.sendAt ? dayjs(registration.sendAt).toISOString() : null,\n isPayment: false,\n },\n waitingState,\n waitingState,\n waitingState,\n ];\n\n if (registration.amountToPay && registration.amountToPay > 0) {\n result.push({\n ...waitingState,\n isPayment: true,\n });\n }\n\n data.push(result);\n });\n\n return data;\n } if ([RegistrationState.ACCEPTED, RegistrationState.REFUSED].includes(registration.state)) {\n const data: ReadRegistrationTick[][] = [];\n declarations.forEach((declaration) => {\n const response: ReadRegistrationTick[] = [\n {\n state: RegistrationTickState.FINISHED,\n title: 'Déclaration envoyée',\n date: registration.sendAt ? dayjs(registration.sendAt).toISOString() : null,\n details: [],\n },\n ...reverse(declaration.states).map((d: InterchangeHistory) => ({\n state: d.isError ? RegistrationTickState.FAILED : RegistrationTickState.FINISHED,\n title: d.label ?? null,\n details: d?.stateDetailsHistory,\n date: d.date ?? null,\n })),\n ];\n\n for (let index = declaration.states.length; index < 3; index += 1) {\n response.push({ ...waitingState, title: null });\n }\n\n if (isDefined(declaration.payment)) {\n response.push({\n state: declaration.payment.isError ? RegistrationTickState.FAILED : declaration.payment.isError === null ? RegistrationTickState.IN_PROGRESS : RegistrationTickState.FINISHED,\n title: declaration.payment?.label ?? '',\n details: [],\n isPayment: true,\n date: declaration.payment.date ?? null,\n });\n }\n data.push(response);\n });\n\n return data;\n }\n\n return [];\n}\n\nexport function getTypeAndAmountFromRegistration(registration: IRegistration): { type: CustomerVatType | null; amount: number | null; collectable: number; deductible: number; toReport?: number; } {\n if (registration.idCerfaType === CerfaType.CERFA_3310) {\n const payload = registration.payload.cerfa3310 as Cerfa3310_2023;\n const other = { collectable: payload.vat.grossDue, deductible: payload.vat.deductible.total, toReport: payload.credit.toReport ?? 0 };\n if (payload?.isNil) return { type: CustomerVatType.VAT_TO_NIL, amount: 0, ...other };\n if (payload?.toPay?.total > 0) return { type: CustomerVatType.VAT_TO_PAY, amount: payload.toPay.total, ...other };\n if (payload?.credit?.refundAsked > 0) return { type: CustomerVatType.VAT_REFUND, amount: payload.credit.refundAsked, ...other };\n if (payload?.credit?.toReport > 0) return { type: CustomerVatType.VAT_REPORT, amount: payload.credit.toReport, ...other };\n return { type: CustomerVatType.VAT_TO_PAY, amount: 0, ...other };\n } if (registration.idCerfaType === CerfaType.CERFA_3514) {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const payload = registration.payload.cerfa3514 as Cerfa3514_2022;\n const other = { collectable: payload.vatAmountCollected, deductible: payload.vatAmountDeductible };\n if (payload?.vatAmountToPay > 0) return { type: CustomerVatType.VAT_TO_PAY, amount: payload.vatAmountToPay, ...other };\n if (payload?.vatRefundedOnInvests) return { type: CustomerVatType.VAT_REFUND, amount: payload.vatRefundedOnInvests, ...other };\n return { type: CustomerVatType.VAT_TO_PAY, amount: 0, ...other };\n } if (registration.idCerfaType === CerfaType.CERFA_3517) {\n const payload = registration.payload.cerfa3517 as Cerfa3517_2023;\n const other = { collectable: payload.other.total, deductible: payload.deductible.total, toReport: payload.net.balanceSurplus ?? 0 };\n if (payload?.isNil) return { type: CustomerVatType.VAT_TO_NIL, amount: 0, ...other };\n if (payload?.recapitulation?.toPay > 0) return { type: CustomerVatType.VAT_TO_PAY, amount: payload?.recapitulation?.toPay, ...other };\n if (payload?.recapitulation?.refund > 0) return { type: CustomerVatType.VAT_REFUND, amount: payload?.recapitulation?.refund, ...other };\n if (payload?.recapitulation?.creditToReport > 0 || payload?.recapitulation?.imputedCredit > 0) return { type: CustomerVatType.VAT_REPORT, amount: payload?.recapitulation?.creditToReport ?? payload?.recapitulation?.imputedCredit, ...other };\n return { type: CustomerVatType.VAT_TO_PAY, amount: 0, ...other };\n }\n\n return {\n type: null, amount: null, collectable: 0, deductible: 0,\n };\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.55",
3
+ "version": "1.1.57",
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",
@@ -5,13 +5,14 @@ export enum AdjustmentTypeId {
5
5
  NOT_ENOUGH_DEDUCTED = 4,
6
6
  }
7
7
 
8
- export const AdjustmentTypeList: Array<{ id:AdjustmentTypeId; label: string; centuries: number[], key: string; inputKey: string; }> = [
8
+ export const AdjustmentTypeList: Array<{ id:AdjustmentTypeId; label: string; centuries: number[], key: string; inputKey: string; tooltip: string; }> = [
9
9
  {
10
10
  id: AdjustmentTypeId.TOO_MUCH_COLLECTED,
11
11
  label: 'TVA trop collectée',
12
12
  centuries: [2022, 2023, 2024, 2025],
13
13
  key: 'vat.deductible.toImpute',
14
14
  inputKey: 'adjustment.tooMuchCollected',
15
+ tooltip: '2C - Sommes à imputer, y compris acompte congés',
15
16
  },
16
17
  {
17
18
  id: AdjustmentTypeId.NOT_ENOUGH_COLLECTED,
@@ -19,6 +20,7 @@ export const AdjustmentTypeList: Array<{ id:AdjustmentTypeId; label: string; cen
19
20
  centuries: [2022, 2023, 2024, 2025],
20
21
  key: 'vat.sumToAdd',
21
22
  inputKey: 'adjustment.notEnoughCollected',
23
+ tooltip: '5B - Sommes à ajouter, y compris acompte congés',
22
24
  },
23
25
  {
24
26
  id: AdjustmentTypeId.TOO_MUCH_DEDUCTED,
@@ -26,12 +28,14 @@ export const AdjustmentTypeList: Array<{ id:AdjustmentTypeId; label: string; cen
26
28
  centuries: [2022, 2023, 2024, 2025],
27
29
  key: 'vat.sumToAdd',
28
30
  inputKey: 'adjustment.tooMuchDeducted',
31
+ tooltip: '5B - Sommes à ajouter, y compris acompte congés',
29
32
  },
30
33
  {
31
34
  id: AdjustmentTypeId.NOT_ENOUGH_DEDUCTED,
32
35
  label: 'TVA pas assez déduite',
33
36
  centuries: [2022, 2023, 2024, 2025],
34
37
  key: 'vat.deductible.toImpute',
38
+ tooltip: '2C - Sommes à imputer, y compris acompte congés',
35
39
  inputKey: 'adjustment.notEnoughDeducted',
36
40
  },
37
41
  ];
@@ -15,4 +15,5 @@ export enum CommentType {
15
15
  SUPPORT = 14,
16
16
  LETTER = 15,
17
17
  REPORTS = 16,
18
+ ADDITIONAL_SERVICES = 19,
18
19
  }
@@ -227,6 +227,7 @@ export type PayloadCerfa3310_2023 = {
227
227
  toImpute?: number;
228
228
  onOilProducts?: number;
229
229
  coefficient?: number;
230
+ toReport?: number;
230
231
  },
231
232
  otherRate?: {
232
233
  oldRate?: {
@@ -59,8 +59,9 @@ export function getCerfa3310Century23Payload(accountingEntries: IAccountingEntry
59
59
  const taxedImportAccounts = ['6'];
60
60
  const taxedImport = setZeroIfIsNegative(getAmountByAccountNumber(taxedImportEntries, taxedImportAccounts, 0, true));
61
61
 
62
- const intracommunityAccounts2 = ['601', '602', '603', '605', '606', '607'];
62
+ const intracommunityAccounts2 = ['601', '602', '603', '605', '606', '607', '651'];
63
63
  const taxedIntracommunityAcquisitions = getAmountByAccountNumber(vatEntries.filter((ae) => intracomVat.includes(ae.idVat) && withTaxVat.includes(ae.idVat)), [...intracommunityAccounts2, ...intracommunityServiceAccounts], 0, true);
64
+ console.log('👀 ~ file: century23.ts:64 ~ taxedIntracommunityAcquisitions:', taxedIntracommunityAcquisitions);
64
65
 
65
66
  // Opérations non taxées
66
67
  const untaxedExportationNotInEurope = setZeroIfIsNegative(getAmountByAccountNumber(vatEntries.filter((ae) => importationVat.includes(ae.idVat) && withoutTaxVat.includes(ae.idVat)), servicesAccounts, 0, true));
@@ -108,7 +109,7 @@ export function getCerfa3310Century23Payload(accountingEntries: IAccountingEntry
108
109
  const immobilizationTax = setZeroIfIsNegative(getTaxAmountByAccountNumber(vatEntries, ['2']));
109
110
  const otherGoodsAndServices = setZeroIfIsNegative(getTaxAmountByAccountNumber(vatEntries.filter((e) => vats.filter((v) => !v.isVatImportation).map((v) => v.id).includes(e.idVat)), ['6']));
110
111
  const otherDeductibles = setZeroIfIsNegative(getTaxAmountByAccountNumber(vatEntries.filter((e) => vats.filter((v) => v.isVatImportation).map((v) => v.id).includes(e.idVat)), ['6']));
111
- const report = payload.previousVatDeclaration?.credit?.toReport ?? 0;
112
+ const report = payload.vat?.deductible?.toReport && payload.vat?.deductible?.toReport > 0 ? _round(payload.vat?.deductible?.toReport ?? 0) : payload.previousVatDeclaration?.credit?.toReport ?? 0;
112
113
 
113
114
  const coefficient = _round(payload.vat?.deductible?.coefficient ?? 100, 2);
114
115
  const isNil = payload.isNil === true;
@@ -1446,15 +1447,23 @@ export const cerfa3310Century23Fields: CerfaPayloadForm[] = [{
1446
1447
  ],
1447
1448
  }, {
1448
1449
  sectionName: 'TVA déductible',
1449
- childrens: [{
1450
- label: '2C - Sommes à imputer, y compris acompte congés',
1451
- key: 'deductible.toImpute',
1452
- type: 'number',
1453
- }, {
1454
- label: '22A - Coefficient de taxation unique applicable pour la période si différent de 100%',
1455
- key: 'vat.deductible.coefficient',
1456
- type: 'number',
1457
- }],
1450
+ childrens: [
1451
+ {
1452
+ label: '22 - Report du crédit apparaissant ligne 27 de la précédente déclaration',
1453
+ key: 'vat.deductible.toReport',
1454
+ type: 'number',
1455
+ },
1456
+ /* {
1457
+ GERE DANS LES REGULARISATIONS
1458
+ label: '2C - Sommes à imputer, y compris acompte congés',
1459
+ key: 'vat.deductible.toImpute',
1460
+ type: 'number',
1461
+ }, */
1462
+ {
1463
+ label: '22A - Coefficient de taxation unique applicable pour la période si différent de 100%',
1464
+ key: 'vat.deductible.coefficient',
1465
+ type: 'number',
1466
+ }],
1458
1467
  }, {
1459
1468
  sectionName: 'Détermination du montant à payer',
1460
1469
  childrens: [
@@ -1698,7 +1698,7 @@ export const cerfa3517Century23Fields: CerfaPayloadForm[] = [{
1698
1698
  sectionName: 'TVA déductible',
1699
1699
  childrens: [
1700
1700
  { label: '21 - Déductions forfaitaires', key: 'deductible.onFlatRate', type: 'number' },
1701
- { label: '23 - TVA déductible sur immobilisations', key: 'deductible.previousCredit', type: 'number' },
1701
+ { label: '24 - Crédit antérieur non imputé et non remboursé', key: 'deductible.previousCredit', type: 'number' },
1702
1702
  { label: '25 - Omissions ou compléments de déductions dont régularisations TVA déductible sur les produits pétroliers', key: 'deductible.forget', type: 'number' },
1703
1703
  { label: '25A - Compte-tenu, le cas échéant, du coefficient de déduction', key: 'deductible.rate', type: 'number' },
1704
1704
  { label: 'AE - Sommes à imputer', key: 'deductible.sumToImpute', type: 'number' },
@@ -92,10 +92,10 @@ export function getTicks(registration: ReadRegistration): ReadRegistrationTick[]
92
92
  return [];
93
93
  }
94
94
 
95
- export function getTypeAndAmountFromRegistration(registration: IRegistration): { type: CustomerVatType | null; amount: number | null; collectable: number; deductible: number; } {
95
+ export function getTypeAndAmountFromRegistration(registration: IRegistration): { type: CustomerVatType | null; amount: number | null; collectable: number; deductible: number; toReport?: number; } {
96
96
  if (registration.idCerfaType === CerfaType.CERFA_3310) {
97
97
  const payload = registration.payload.cerfa3310 as Cerfa3310_2023;
98
- const other = { collectable: payload.vat.grossDue, deductible: payload.vat.deductible.total };
98
+ const other = { collectable: payload.vat.grossDue, deductible: payload.vat.deductible.total, toReport: payload.credit.toReport ?? 0 };
99
99
  if (payload?.isNil) return { type: CustomerVatType.VAT_TO_NIL, amount: 0, ...other };
100
100
  if (payload?.toPay?.total > 0) return { type: CustomerVatType.VAT_TO_PAY, amount: payload.toPay.total, ...other };
101
101
  if (payload?.credit?.refundAsked > 0) return { type: CustomerVatType.VAT_REFUND, amount: payload.credit.refundAsked, ...other };
@@ -110,7 +110,7 @@ export function getTypeAndAmountFromRegistration(registration: IRegistration): {
110
110
  return { type: CustomerVatType.VAT_TO_PAY, amount: 0, ...other };
111
111
  } if (registration.idCerfaType === CerfaType.CERFA_3517) {
112
112
  const payload = registration.payload.cerfa3517 as Cerfa3517_2023;
113
- const other = { collectable: payload.other.total, deductible: payload.deductible.total };
113
+ const other = { collectable: payload.other.total, deductible: payload.deductible.total, toReport: payload.net.balanceSurplus ?? 0 };
114
114
  if (payload?.isNil) return { type: CustomerVatType.VAT_TO_NIL, amount: 0, ...other };
115
115
  if (payload?.recapitulation?.toPay > 0) return { type: CustomerVatType.VAT_TO_PAY, amount: payload?.recapitulation?.toPay, ...other };
116
116
  if (payload?.recapitulation?.refund > 0) return { type: CustomerVatType.VAT_REFUND, amount: payload?.recapitulation?.refund, ...other };