Skip to content

Commit

Permalink
Actualizar valores para 2024.
Browse files Browse the repository at this point in the history
Upgrade de dependencias.
  • Loading branch information
ismaelpadilla committed Feb 10, 2024
1 parent f4564da commit 576b20e
Show file tree
Hide file tree
Showing 7 changed files with 5,516 additions and 7,113 deletions.
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
# Changelog
Todos los cambios importantes en el proyecto serán documentados en este archivo.

## [1.3.0] - 2024-02-10

- Actualizados valores para el 2024.

## [1.2.1] - 2022-03-11

- Actualizados topes Art. 7º y 8º (Ley 16713).
Expand Down
16 changes: 9 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,13 @@
![Versión](https://img.shields.io/github/package-json/v/ismaelpadilla/salario-liquido-uruguay?label=versi%C3%B3n)
![Build y test](https://github.com/ismaelpadilla/salario-liquido-uruguay/workflows/Build%20y%20test/badge.svg)

✔Actualizado para el 2022.
✔Actualizado para el 2024.

----

Simulador para calcular el salario líquido en Uruguay, actualmente publicado en https://salarioliquidouruguay.com/

En la actualidad, hay varios problemas con los simuladores oficiales existentes. Por ejemplo, tanto el [simulador de aportes de BPS](https://app1.bps.gub.uy/AcercaSimuladorCalculosWeb/paginas/simuladorPersona/otras/ingresoDatosIC.jsf) como los [simuladores de IRPF de DGI](https://www.dgi.gub.uy/wdgi/page?2,principal,dgi--herramientas--simuladores--irpf--2020,O,es,0,) no manejan correctamente las distintas franjas del FONASA. Otros simuladores no oficiales que he encontrado parecen no estar actualizados.
En la actualidad, hay varios problemas con los simuladores oficiales existentes. Por ejemplo, tanto el [simulador de aportes de BPS](https://app1.bps.gub.uy/AcercaSimuladorCalculosWeb/paginas/simuladorPersona/otras/ingresoDatosIC.jsf) como los [simuladores de IRPF de DGI](https://www.gub.uy/direccion-general-impositiva/politicas-y-gestion/simulador-irpf-mensual-2024) no manejan correctamente las distintas franjas del FONASA. Otros simuladores no oficiales que he encontrado parecen no estar actualizados.

## ¿Cómo se calcula el salario líquido?

Expand Down Expand Up @@ -40,13 +40,15 @@ El IRPF es el impuesto con el que la gente suele tener más problemas a la hora

Contrario a creencia popular, no se cobra el impuesto correspondiente a la franja más alta sobre todo el salario, si no que se aplican diferentes tasas a la porción de salario que está dentro de cada franja.

Por ejemplo, si el salario nominal es de $60.000, y el BPC es $5164 (valor de 2022), el impuesto que se cobra es:
Por ejemplo, si el salario nominal es de $80.000, y el BPC es $6177 (valor de 2024), el impuesto que se cobra es:

- 0% sobre la porción del salario que cae entre la franja 0 y 7 BPC (impuesto de 0% sobre $36.148-$0=$36.148 del salario -> $0).
- 7% sobre la porción del salario que cae entre la franja 7 y 10 BPC (impuesto de 10% sobre $51.640-$36.148=$15.492 del salario -> $1.549).
- 15% sobre la porción del salario que cae entre la franja 10 y 15 BPC (impuesto de 15% sobre $77.460-$51.640=$11.960 del salario -> $1.794).
- 0% sobre la porción del salario que cae entre la franja 0 y 7 BPC (impuesto de 0% sobre $43.239-$0=$43.239 del salario -> $0).
- 7% sobre la porción del salario que cae entre la franja 7 y 10 BPC (impuesto de 10% sobre $61.770-$43.239=$18.531 del salario -> $1.853).
- 15% sobre la porción del salario que cae entre la franja 10 y 15 BPC (impuesto de 15% sobre $84.800-$61.770=$23.030 del salario -> $3.455).

El IPRF (antes de aplicar las [deducciones correspondientes](https://www.dgi.gub.uy/wdgi/page?2,principal,_Ampliacion,O,es,0,PAG;CONC;40;1;D;cuales-son-las-deducciones-personales-admitidas-en-la-liquidacion-del-irpf-33486;5;PAG;)), sería entonces $3.343.
Tener en cuenta que si el salario es mayor a 10BPC, se incrementa un 6% para los cálculos del IRPF, por eso en este caso consideramos las franjas hasta $84.800.

El IPRF (antes de aplicar las [deducciones correspondientes](https://www.dgi.gub.uy/wdgi/page?2,principal,_Ampliacion,O,es,0,PAG;CONC;40;1;D;cuales-son-las-deducciones-personales-admitidas-en-la-liquidacion-del-irpf-33486;5;PAG;)), sería entonces $5.308.

## Cómo reportar errores

Expand Down
4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "salario-liquido-uruguay",
"version": "1.2.1",
"version": "1.3.0",
"private": true,
"dependencies": {
"@testing-library/jest-dom": "^4.2.4",
Expand All @@ -9,7 +9,7 @@
"react": "^16.13.1",
"react-dom": "^16.13.1",
"react-router-dom": "^5.1.2",
"react-scripts": "4.0.3"
"react-scripts": "5.0.1"
},
"scripts": {
"start": "react-scripts start",
Expand Down
4 changes: 2 additions & 2 deletions src/App.js
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,7 @@ class App extends React.Component {
<div className="content">
<header className="title">
<h1 className="title-text">
Salario líquido Uruguay <span className="anio">2022</span>
Salario líquido Uruguay <span className="anio">2024</span>
</h1>
</header>
<Switch>
Expand Down Expand Up @@ -139,7 +139,7 @@ class App extends React.Component {
</a>
</span>
<span className="footer-txt ultimaActualizacion">
v{pjsonn.version} - Última actualización: Marzo 2022
v{pjsonn.version} - Última actualización: Febrero 2024
</span>
</div>
<a
Expand Down
14 changes: 7 additions & 7 deletions src/data/constants.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/**
* Valor BPC 2022.
* Valor BPC 2024.
*/
const BPC = 5164;
const BPC = 6177;

/**
* Franjas de IPRF.
Expand Down Expand Up @@ -31,7 +31,7 @@ const APORTES_JUBILATORIOS = 15;
/**
* Maximo del salario nominal sobre el cual aplican los aportes jubilatorios.
*/
const TOPE_APORTES_JUBILATORIOS = 215179;
const TOPE_APORTES_JUBILATORIOS = 236309;

/**
* Porcentaje de aportes FONASA para personas con salario hasta a 2.5 BPC.
Expand All @@ -50,7 +50,7 @@ const APORTE_FRL = 0.1;
/**
* Tope AFAP.
*/
const TOPE_AFAP = 215179;
const TOPE_AFAP = 236309;

/**
* Porcentaje de incremento de ingresos gravados que aplica si la renta computable es mayor a 10 BPC.
Expand All @@ -69,17 +69,17 @@ const TASA_DEDUCCIONES_DESDE15BPC = 8;
/**
* Cantidad deducida del IRPF por cada hijo sin discapacidad.
*/
const DEDUCCION_HIJO_SIN_DISCAPACIDAD = (13 * BPC) / 12;
const DEDUCCION_HIJO_SIN_DISCAPACIDAD = (20 * BPC) / 12;
/**
* Cantidad deducida del IRPF por cada hijo con discapacidad.
*/
const DEDUCCION_HIJO_CON_DISCAPACIDAD = (26 * BPC) / 12;
const DEDUCCION_HIJO_CON_DISCAPACIDAD = (40 * BPC) / 12;

/**
* Adicional al fondo de solidaridad que debe pagarse en carreras de duracion igual o mayor
* a cinco años.
*/
const ADICIONAL_FONDO_SOLIDARIDAD = ((5 / 3) * BPC) / 12;
const ADICIONAL_FONDO_SOLIDARIDAD = ((5 / 4) * BPC) / 12;

export {
BPC,
Expand Down
20 changes: 10 additions & 10 deletions src/services/calculos.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ describe("Probar cálculo de aportes BPS", () => {

test.each([
[202693, 30404],
[250000, 32276.9],
[250000, 35446.35],
])("Aplican topes jubilatorios", (salarioNominal, esperadoJubilatorio) => {
/**
* El aporte jubilatorio se aplica hasta el tope 188411 (valor 2020).
Expand All @@ -39,7 +39,7 @@ describe("Probar cálculo de aportes BPS", () => {
describe("Probar cálculo de IRPF", () => {
test.each([
[20000, 1, 0, 0, 3000, 900, 20, 0, 0, 0, 0, { impuestoFranja: [0, 0, 0, 0, 0, 0, 0, 0], deducciones: 3920 }, 0],
[40000, 1, 0, 0, 6000, 1800, 40, 0, 0, 0, 0, { impuestoFranja: [0, 385, 0, 0, 0, 0, 0, 0], deducciones: 7840 }, 0],
[50000, 1, 0, 0, 7500, 2250, 50, 0, 0, 0, 0, { impuestoFranja: [0, 676.1, 0, 0, 0, 0, 0, 0], deducciones: 9800 }, 0],
[
80000,
1,
Expand All @@ -52,8 +52,8 @@ describe("Probar cálculo de IRPF", () => {
0,
0,
0,
{ impuestoFranja: [0, 1549.2, 3873, 1761.6, 0, 0, 0, 0], deducciones: 15680 },
5929.4,
{ impuestoFranja: [0, 1853.1, 3454.5, 0, 0, 0, 0, 0], deducciones: 15680 },
3739.6,
],
[
80000,
Expand All @@ -67,8 +67,8 @@ describe("Probar cálculo de IRPF", () => {
0,
0,
0,
{ impuestoFranja: [0, 1549.2, 3873, 1761.6, 0, 0, 0, 0], deducciones: 21274.33 },
5481.85,
{ impuestoFranja: [0, 1853.1, 3454.5, 0, 0, 0, 0, 0], deducciones: 25975 },
2710.1,
],
[
80000,
Expand All @@ -82,8 +82,8 @@ describe("Probar cálculo de IRPF", () => {
0,
0,
0,
{ impuestoFranja: [0, 1549.2, 3873, 1761.6, 0, 0, 0, 0], deducciones: 26868.67 },
5034.31,
{ impuestoFranja: [0, 1853.1, 3454.5, 0, 0, 0, 0, 0], deducciones: 36270 },
1680.6,
],
[
80000,
Expand All @@ -97,8 +97,8 @@ describe("Probar cálculo de IRPF", () => {
0,
0,
0,
{ impuestoFranja: [0, 1549.2, 3873, 1761.6, 0, 0, 0, 0], deducciones: 32463 },
4586.76,
{ impuestoFranja: [0, 1853.1, 3454.5, 0, 0, 0, 0, 0], deducciones: 46565 },
651.1,
],
])(
"Calcula IRPF correctamente",
Expand Down
Loading

0 comments on commit 576b20e

Please sign in to comment.