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 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 **2023**.
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 = 2023;
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: 1.54,
58
- // https://www.spensiones.cl/portal/institucional/594/w3-propertyvalue-9917.html#recuadros_articulo_4130_0
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 monto = (cotizacion.variable ? sueldoImponibleParcial : sueldoImponible) * cotizacion.percent / 100;
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,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tax-cl",
3
- "version": "1.2.2",
3
+ "version": "1.3.0",
4
4
  "description": "Librería cálculo de impuestos y cotizaciones en Chile 🇨🇱",
5
5
  "main": "lib/index.js",
6
6
  "repository": "git@github.com:muZk/tax-cl.git",