calculadora_impuestos / impuestos.py
tcapelle's picture
initial commit
b60b332
raw history blame
No virus
1.31 kB
import pandas as pd
#Valores de Junio 2022
TRAMOS = { 777000 :0,
1727000 :0.04,
2878000 :0.08,
4029000 :0.135,
5180000 :0.23,
6906000 :0.304,
17842000 :0.35,
99999999 :0.4}
TRAMOS_REFORMA = {
777000 :0,
1727000 :0.04,
2878000 :0.08,
4030000 :0.135,
5242320 :0.26,
6331000 :0.35,
8057000 :0.40,
99999999 :0.43}
def descomponer_en_tramos(sueldo_bruto, tramos=TRAMOS):
"""
Descompone un sueldo bruto en tramos de impuesto
"""
descomp = []
impuestos = []
tramo_anterior = 0
for tramo, descuento in tramos.items():
delta = min(sueldo_bruto, tramo) - tramo_anterior
if delta>0:
descomp.append(delta)
impuestos.append(int(delta*descuento))
tramo_anterior = tramo
return descomp, impuestos
def get_table(sueldo_bruto, tramos=TRAMOS):
"""
Tabla de Impuestos por tramo
"""
_tramos = [0]+list(tramos.keys())
tasas = tramos.values()
data = list(zip(_tramos[:-1], _tramos[1:], tasas, *descomponer_en_tramos(sueldo_bruto, tramos)))
df = pd.DataFrame(data=data, columns=["Desde", "Hasta", "Tasa", "Monto sujeto a impuesto", "Impuesto"])
return df