tax-cl 1.2.2 → 1.3.0
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.
- package/README.md +2 -2
- package/lib/index.js +19 -6
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -87,10 +87,10 @@ Retorna un objeto con las siguientes propiedades:
|
|
|
87
87
|
|
|
88
88
|
### `configurarDeclaracion(number: year) : void`
|
|
89
89
|
|
|
90
|
-
Configura el año de la operación renta sobre la cual aplican los cálculos. Por defecto, el año de la declaración es **
|
|
90
|
+
Configura el año de la operación renta sobre la cual aplican los cálculos. Por defecto, el año de la declaración es **2024**.
|
|
91
91
|
|
|
92
92
|
#### Arguments
|
|
93
93
|
|
|
94
94
|
Recibe el siguiente argumento:
|
|
95
95
|
|
|
96
|
-
* `year`: *(number)*, año de la operación renta para la realización de los cálculos. Los valores válidos son desde el 2018 hasta el 2024.
|
|
96
|
+
* `year`: *(number)*, año de la operación renta para la realización de los cálculos. Los valores válidos son desde el 2018 hasta el 2024.
|
package/lib/index.js
CHANGED
|
@@ -14,7 +14,6 @@ exports.buscarTramoImpositivo = buscarTramoImpositivo;
|
|
|
14
14
|
exports.calcularImpuestos = calcularImpuestos;
|
|
15
15
|
exports.calcularDeuda = calcularDeuda;
|
|
16
16
|
exports.calcular = calcular;
|
|
17
|
-
exports.COTIZACIONES_OBLIGATORIAS = void 0;
|
|
18
17
|
|
|
19
18
|
var _config = require("./config");
|
|
20
19
|
|
|
@@ -24,7 +23,7 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|
|
24
23
|
|
|
25
24
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
26
25
|
|
|
27
|
-
var OPERACION_RENTA_ACTUAL =
|
|
26
|
+
var OPERACION_RENTA_ACTUAL = 2024;
|
|
28
27
|
var config = (0, _config.getConfig)(OPERACION_RENTA_ACTUAL);
|
|
29
28
|
/**
|
|
30
29
|
* Configura el año de la operación renta para los cálculos.
|
|
@@ -54,8 +53,22 @@ function calcularGastos(rentaAnual) {
|
|
|
54
53
|
|
|
55
54
|
var COTIZACIONES_OBLIGATORIAS = [{
|
|
56
55
|
name: "Seguro de invalidez y sobrevivencia (SIS)",
|
|
57
|
-
percent:
|
|
58
|
-
|
|
56
|
+
percent: function percent() {
|
|
57
|
+
// Esto cambia por año, no tengo seguridad de los años anteriores al 2022
|
|
58
|
+
// Aunque el uso de esta librería es más actual que histórico (importa año comercial presente y anterior)
|
|
59
|
+
// No me gusta que esto esté aquí, sin embargo, como hotfix está OK
|
|
60
|
+
// https://www.spensiones.cl/portal/institucional/594/w3-propertyvalue-9917.html#recuadros_articulo_4130_0
|
|
61
|
+
var SIS = {
|
|
62
|
+
2018: 1.99,
|
|
63
|
+
2019: 1.99,
|
|
64
|
+
2020: 1.99,
|
|
65
|
+
2021: 1.85,
|
|
66
|
+
2022: 1.54,
|
|
67
|
+
2023: 1.47,
|
|
68
|
+
2024: 1.49
|
|
69
|
+
};
|
|
70
|
+
return SIS[config.OPERACION_RENTA - 1] || SIS[2023];
|
|
71
|
+
},
|
|
59
72
|
variable: false
|
|
60
73
|
}, {
|
|
61
74
|
name: "Seguro de la ley de accidentes del trabajo y enfermedades profesionales (ATEP)",
|
|
@@ -75,7 +88,6 @@ var COTIZACIONES_OBLIGATORIAS = [{
|
|
|
75
88
|
percent: 10.58,
|
|
76
89
|
variable: true
|
|
77
90
|
}];
|
|
78
|
-
exports.COTIZACIONES_OBLIGATORIAS = COTIZACIONES_OBLIGATORIAS;
|
|
79
91
|
|
|
80
92
|
function calcularSueldoImponible(sueldoAnual) {
|
|
81
93
|
var topeAnual = config.TOPE_IMPONIBLE_MENSUAL * config.UF * 12;
|
|
@@ -89,7 +101,8 @@ function simularCotizaciones(ingresos) {
|
|
|
89
101
|
if (cotizacionParcial) {
|
|
90
102
|
var sueldoImponibleParcial = sueldoImponible * config.COBERTURA_PARCIAL;
|
|
91
103
|
return COTIZACIONES_OBLIGATORIAS.map(function (cotizacion) {
|
|
92
|
-
var
|
|
104
|
+
var percentage = typeof cotizacion.percent === 'function' ? cotizacion.percent() : cotizacion.percent;
|
|
105
|
+
var monto = (cotizacion.variable ? sueldoImponibleParcial : sueldoImponible) * percentage / 100;
|
|
93
106
|
return {
|
|
94
107
|
name: cotizacion.name,
|
|
95
108
|
percent: 100 * monto / sueldoImponible,
|