Академический Документы
Профессиональный Документы
Культура Документы
''Cálculo del impuesto a la renta de cuarta categoría según la modificación vigente a partir
del 2017 tomando en cuenta que se pueden emitir varios recibos por honorarios durante un
mismo mes''
Entrega del primer avance del trabajo de investigación, como parte del curso Algoritmo
Ciclo 2018-0
P á g i n a 1 | 21
ÍNDICE
RESUMEN....................................................................................................................................................... 3
INTRODUCCIÓN ........................................................................................................................................... 4
1. MARCO TEÓRICO ............................................................................................................................. 5
Ejemplo de aplicación: ..................................................................................................................................... 7
2. ANÁLISIS Y DISEÑO DE LA SOLUCIÓN ...................................................................................... 8
2.1. Análisis de datos de entrada, intermedios y salida ............................................................................ 8
2.1.1 Datos de entrada .............................................................................................................................. 8
2.1.2 Datos intermedios.................................................................................................................. 10
2.1.3 Datos de Salida .............................................................................................................................. 12
2.1.4 Datos Constantes ........................................................................................................................... 12
2.2 Modelo matemático .......................................................................................................................... 12
2.2.1 En función de las remuneraciones mensuales: .............................................................................. 12
2.2.2 En función a las rentas: ................................................................................................................. 13
2.2.3 En función a los impuestos agregados según la renta total neta.................................................... 13
2.3. Diseño de procedimientos y funciones................................................................................................ 14
3. Algoritmo de solución ............................................................................................................................ 19
3.1 PSEUDOCÓDIGO ........................................................................................................................... 20
4. DISEÑO DE INTERFAZ ...................................................................................................................... 22
5. Implementación completa de la solución en Visual Basic para Aplicaciones (VBA) ....................... 25
6. Establecer diferentes escenarios de solución en Visual Basic para Aplicaciones (VBA) .................. 33
7. CONCLUSIONES: ................................................................................................................................ 37
8. RECOMENDACIONES ........................................................................................................................ 37
9. BIBLIOGRAFÍA.................................................................................................................................... 38
10. ANEXOS ............................................................................................................................................. 38
P á g i n a 2 | 21
RESUMEN
La principal razón por la que se desea crear este algoritmo es porque los trabajadores
independientes o los que desempeñan determinadas funciones no están informados de
los cambios que se han realizado a partir del 2017. Asimismo, dicho cálculo puede ser
muy confuso o de gran dificultad al hacerlo de forma manual. Es por ello, que es
indispensable mostrar el desarrollo del pseudocódigo en un VBA, para así los datos
resulten correctos.
Se espera una respuesta inmediata de los impuestos y también que las personas se
informen sobre dicho tema, ya que ellas podrían estar pagando de más y, por
consiguiente, esto genera una pérdida de dinero anualmente para estos trabajadores.
P á g i n a 3 | 21
INTRODUCCIÓN
El proyecto data sobre el cálculo del impuesto a la renta de cuarta categoría
según la modificación vigente a partir del 2017 tomando en cuenta que se pueden
emitir varios recibos por honorarios durante un mismo mes. El impuesto a la renta de
la categoría mencionada es un tributo que todo prestador de servicios independiente
debe pagar a la SUNAT. Además, se define como el derecho que tiene cada empresa
a retener un porcentaje (20%) de los ingresos de los trabajadores, que reciban más de
2953 soles mensuales. El problema se basa principalmente en el cálculo de la cantidad
de dinero que debe retener como impuesto cada empresa según los ingresos de sus
trabajadores, para tal proceso se debe determinar los datos de entrada, los cuales
mediante diversos cálculos dan como resultado el impuesto a descontar de cada
trabajador. Se sabe que para este impuesto, se debe conocer el UIT1, que tiene un
valor vigente de 4050 soles. En el presente trabajo, intervienen diversos aspectos
importantes, los cuales están ligados a la evaluación de diversas variables que infieren
en el sistema.
1Cfr.SUNAT 2018
2 Cfr. Castillo 2016
P á g i n a 4 | 21
1. MARCO TEÓRICO
El proyecto a desarrollar es: Cálculo del impuesto a la renta de cuarta categoría según
la modificación vigente a partir del 2017. La importancia del tema es que las personas
se informen sobre el proceso para determinar el monto de retención que se aplica por
normativa de la empresa. En el siguiente informe, se detallan los datos a calcular para
que se genere el impuesto de cada trabajador. Este debe incluir el nombre del usuario,
la remuneración mensual, la cantidad de meses laborados, el impuesto a pagar, con su
respectivo porcentaje del total. Asimismo, este programa debe incluir un mensaje si
el usuario no paga el impuesto mencionado o no cumple con los requisitos que siguen
la normativa de la SUNAT3.
Según el Ministerio de Economía y Finanzas (MEF)4, existen tres tipos de rentas del
trabajo (rentas de cuarta categoría, rentas de quinta categoría y fuente productora).
En este caso se detalla el impuesto a la renta de cuarta categoría, esta es independiente
y se vincula con el derecho civil. Además, es importante conocer lo siguiente para
poder entender de mejor manera el impuesto mencionado: Renta Bruta (renta obtenida
por todos los meses trabajados por el operario) y Renta Neta (se obtiene de la
diferencia de la Renta Bruta y los gastos deducibles, por el 20%, hasta el límite
máximo permitido por la ley).
También, para poder comprender la funcionalidad del impuesto, se debe tener en
cómo es hallado. Por ello, en el presente informe se desarrollará un programa, el cual
se usará macros con la programación en Visual Basic (VBA) para poder generar el
impuesto del usuario. El programa permite al cliente conocer su impuesto de una
manera eficiente, utilizando algunos datos relevantes del cliente, para así poder evitar
complicados procedimientos. Cabe destacar que según la SUNAT estos son los datos
que se deben de tener en cuenta al momento de generar el impuesto como la
especialidad del trabajador, la renta mensual, renta anual, el UIT, entre otros.
El objetivo de este proyecto es poder identificar rápidamente el monto a pagar por el
usuario según el impuesto a la renta de cuarta categoría. Por ello, se debe generar la
relación entre la remuneración mensual y la cantidad de meses trabajados para poder
identificar el monto anual que posee el usuario. Finalmente, se espera mostrar el
porcentaje del impuesto y el monto final a pagar sea calculado automáticamente en
función del mismo.
Se debe tener en cuenta un dato muy importante, ya que el usuario puede ingresar un
monto menor o igual a 1500, pero una remuneración de este caso, no genera impuesto.
Por ello, se determinó no trabajar con estos montos, más bien con aquellos que
cumplen con el rango definido en la normativa de la SUNAT.
Ejemplo de aplicación:
El señor Gómez, quiere calcular su impuesto a la renta de cuarta categoría para esto se
tienen sus datos previamente analizados y con ello se hallará el monto del impuesto. Por
consiguiente, se han detallado las boletas emitidas en los próximos meses, en este caso,
el Doctor, tiene Febrero, Marzo y Mayo como meses. A continuación, datos de las
boletas y las retenciones que se aplican, seguido de un proceso de análisis en el monto
total que se registra.
Enero S/1500
S/8000
S/500
Febrero S/6000
S/500
S/1500
Mayo S/1500
S/9000
S/500
1 UIT= S/4050
P á g i n a 7 | 21
Renta Neta Total= S/23200
• I2 = 23200-5*UIT=2950
I2 =2950*0.14=413
Tipo de
Nombre de la variable VARIABLE variable
Nombre y Apellido del trabajador Nombre String
P á g i n a 8 | 21
NOMBRE: Nombre y Apellido del trabajador (Nombre)
Tipo: String
Descripción: En esta variable se almacena el nombre y apellido del
trabajador que vamos a evaluar.
Restricción: El dato ingresado no puede ser vacío.
Tipo: String
Descripción: Esta variable almacena el Tipo de trabajador ya sea
dependiente o independiente.
Restricción: El dato ingresado no puede ser dependiente, porque no se
le genera impuesto de cuarta categoría.
Tipo: String
Descripción: Esta variable almacena la ocupación del trabajador a
quien se le generara el impuesto.
Restricción: El dato ingresado no puede ser vacío.
Tipo: Single
Descripción: Esta variable almacena los montos por mes que ganara el
trabajador. Además se utilizó vectores en los meses para guardar dicha
información y poder mostrarla en el interfaz.
Restricción: El dato ingresado debe ser mayor a 35 soles ya que se
obtuvo de dividir el sueldo mínimo básico (850 soles) con la cantidad
de días máximo laborables (24 días).
P á g i n a 9 | 21
2.1.2 Datos intermedios
Tipo de variable
Nombre de la variable VARIABLE
P á g i n a 10 | 21
NOMBRE: Remuneración total por mes
(RE,RF,FM,RA,RMY,RJN,RJL,RAG,RS,RO,RN,RD)
Tipo: Single
Descripción: Son los ingresos que percibe un contribuyente-empresa,
descontando el costo directo de los bienes y servicios que se requieran para su
obtención. Además, se utilizaron acumuladores para poder almacenar la suma
de los montos por cada mes.
P á g i n a 11 | 21
2.1.3 Datos de Salida
Deducción 20%
P á g i n a 12 | 21
2.2.2 En función a las rentas:
Siendo el valor de la UIT constante, la Deducción es el 20% de la Renta Total
y la Renta Neta es la diferencia entre la Renta Total y la deducción. Finalmente
la Renta Neta Total equivale a la Renta Neta menos la Deducción Especial que
viene a ser 7 veces de UIT.
UIT=4050
D=0.20*RT
RN=RT-D
DE=7*UIT
RNT=RN-DE
P á g i n a 13 | 21
2.3. Diseño de procedimientos y funciones
Las subrutinas o procedimientos son subprogramas que permiten desarrollar una tarea, para
usarlos en el programa se debe llamarlos por su nombre, así hace que el código principal se
detenga y se dirija a ejecutar el código de la subrutina. En este trabajo, se ha evaluado la necesidad
del uso de una subrutina aplicada en los meses, ya que se debe ingresar el montón de sus
honorarios, según el mes que desea registrar. De este modo, se optimiza el algoritmo, se evita
procedimientos engorrosos y finalmente es mostrado como dato de salida en los registros de meses
que posee el programa.
Subrutina Enero ()
Repetir
E=E+1
Repetir
Ingresar HE (E)
Si HE (E) <= 0 o HE (E) <=35 entonces
Mostrar “Monto de recibo es incorrecto”
Fin si
Hasta HE (E) > 35
Mostrar HE (E)
RE=RE+HE (E)
Mostrar “¿Desea ingresar otro recibo de Enero?”
Ingresar Rpta
Si Rpta < >”No” entonces
Fin si
Hasta Rpta= “No”
Mostrar E, RE
Fin Subrutina
Subrutina Febrero ( )
Repetir
F=F+1
Repetir
Ingresar HF (F)
Si HF (F) <= 0 o HF (F) <=35 entonces
Mostrar “Monto de recibo es incorrecto”
Fin si
Hasta HF (F) > 35
Mostrar HF (F)
RF=RF+HF (F)
Mostrar “¿Desea ingresar otro recibo de Febrero?”
Ingresar Rpta
Si Rpta < >”No” entonces
Fin si
Hasta Rpta= “No”
Mostrar F, RF
Fin Subrutina
P á g i n a 14 | 21
Subrutina Marzo ( )
Repetir
M=M+1
Repetir
Ingresar HM (M)
Si HM (M) <= 0 o HM (M) <=35 entonces
Mostrar “Monto de recibo es incorrecto”
Fin si
Hasta HM (M) > 35
Mostrar HM (M)
RM=RM+HM (M)
Mostrar “¿Desea ingresar otro recibo de Marzo?”
Ingresar Rpta
Si Rpta < >”No” entonces
Fin si
Hasta Rpta= “No”
Mostrar M, RM
Fin Subrutina
Subrutina Abril ( )
Repetir
A=A+1
Repetir
Ingresar HA (A)
Si HA (A) <= 0 o HA (A) <= 35 entonces
Mostrar “Monto de recibo es incorrecto”
Fin si
Hasta HA (A) > 35
Mostrar HA (A)
RA=RA+HA (A)
Mostrar “¿Desea ingresar otro recibo de Abril?”
Ingresar Rpta
Si Rpta < >”No” entonces
Fin si
Hasta Rpta= “No”
Mostrar A, RA
Fin Subrutina
Subrutina Mayo ( )
Repetir
MY=MY+1
Repetir
Ingresar HMY (MY)
Si HMY (MY) <= 0 o HMY (MY) <= 35 entonces
Mostrar “Monto de recibo es incorrecto”
Fin si
Hasta HMY (MY) > 35
P á g i n a 15 | 21
Mostrar HMY (MY)
RMY=RMY+HMY (MY)
Mostrar “¿Desea ingresar otro recibo de Mayo?”
Ingresar Rpta
Si Rpta < >”No” entonces
Fin si
Hasta Rpta= “No”
Mostrar MY, RMY
Fin Subrutina
Subrutina Junio ( )
Repetir
JN=JN+1
Repetir
Ingresar HJN (JN)
Si HJN (JN) <= 0 o HJN (JN) <= 35 entonces
Mostrar “Monto de recibo es incorrecto”
Fin si
Hasta HJN (JN) > 35
Mostrar HJN (JN)
RJN=RJN+HJN (JN)
Mostrar “¿Desea ingresar otro recibo de Junio?”
Ingresar Rpta
Si Rpta < >”No” entonces
Fin si
Hasta Rpta= “No”
Mostrar JN, RJN
Fin Subrutina
Subrutina Julio ( )
Repetir
JL=JL+1
Repetir
Ingresar HJL (JL)
Si HJL (JL) <= 0 o HJL (JL) <= 35 entonces
Mostrar “Monto de recibo es incorrecto”
Fin si
Hasta HJL (JL) > 35
Mostrar HJL (JL)
RJL=RJL+HJL (JL)
Mostrar “¿Desea ingresar otro recibo de Julio?”
Ingresar Rpta
Si Rpta < >”No” entonces
Fin si
Hasta Rpta= “No”
Mostrar JL, RJL
Fin Subrutina
P á g i n a 16 | 21
Subrutina Agosto ( )
Repetir
AG=AG+1
Repetir
Ingresar HAG (AG)
Si HAG (AG) <= 0 o HAG (AG) <= 35 entonces
Mostrar “Monto de recibo es incorrecto”
Fin si
Hasta HAG (AG) > 35
Mostrar HAG (AG)
RAG=RAG+HAG (AG)
Mostrar “¿Desea ingresar otro recibo de Agosto?”
Ingresar Rpta
Si Rpta < >”No” entonces
Fin si
Hasta Rpta= “No”
Mostrar AG, RAG
Fin Subrutina
Subrutina Septiembre ( )
Repetir
S=S+1
Repetir
Ingresar HS (S)
Si HS (S) <= 0 o HS (S) <= 35 entonces
Mostrar “Monto de recibo es incorrecto”
Fin si
Hasta HS (S) > 35
Mostrar HS (S)
RS=RS+HS (S)
Mostrar “¿Desea ingresar otro recibo de Septiembre?”
Ingresar Rpta
Si Rpta < >”No” entonces
Fin si
Hasta Rpta= “No”
Mostrar S, RS
Fin Subrutina
Subrutina Octubre ( )
Repetir
O=O+1
Repetir
Ingresar HO (O)
Si HO (O) <= 0 o HO (O) <= 35 entonces
Mostrar “Monto de recibo es incorrecto”
Fin si
P á g i n a 17 | 21
Hasta HO (O) > 35
Mostrar HO (O)
RO=RO+HO (O)
Mostrar “¿Desea ingresar otro recibo de Octubre?”
Ingresar Rpta
Si Rpta < >”No” entonces
Fin si
Hasta Rpta= “No”
Mostrar O, RO
Fin Subrutina
Subrutina Noviembre ( )
Repetir
N=N+1
Repetir
Ingresar HN (N)
Si HN (N) <= 0 o HN (N) <= 35 entonces
Mostrar “Monto de recibo es incorrecto”
Fin si
Hasta HN (N) > 35
Mostrar HN (N)
RNO=RNO+HN (N)
Mostrar “¿Desea ingresar otro recibo de Noviembre?”
Ingresar Rpta
Si Rpta < >”No” entonces
Fin si
Hasta Rpta= “No”
Mostrar N, RNO
Fin Subrutina
Subrutina Diciembre ( )
Repetir
DI=DI+1
Repetir
Ingresar HD (DI)
Si HD (DI) <= 0 o HD (DI) <= 35 entonces
Mostrar “Monto de recibo es incorrecto”
Fin si
Hasta HD (DI) > 35
Mostrar HD (DI)
RD=RD+HD (DI)
Mostrar “¿Desea ingresar otro recibo de Diciembre?”
Ingresar Rpta
Si Rpta < >”No” entonces
Fin si
Hasta Rpta= “No”
Mostrar DI, RD
Fin Subrutina
P á g i n a 18 | 21
3. Algoritmo de solución
Leyenda:
HE(E)=Montos de Enero
HF(F)=Montos de Febrero
HM=Montos de Marzo
HA(A)=Montos de Abril
HMY(MY)=Montos de Mayo
HJN(JN)=Montos de Junio
H(JL)=Monto de Julio
H(AG)=Monto de Agosto
H(S)=Monto de Septiembre
H(O)=Monto de Octubre
H(N)=Monto de Noviembre
H(D)=Monto deDiciembre
RE= Remuneración total de Enero
RF= Remuneración total de Febrero
RM= Remuneración total de Marzo
RA= Remuneración total de Abril
RMY= Remuneración total de Mayo
RJN= Remuneración total de Junio
RJL= Remuneración total de Julio
RAG= Remuneración total de Agosto
RS= Remuneración total de Septiembre
RO= Remuneración total de Octubre
RN= Remuneración total de Noviembre
RD= Remuneración total de Diciembre
RB= Renta Bruta
RT= Renta Total
RNT=Renta Neta de Trabajo
IP= Impuesto total a pagar
I (1, 2,3,4,5)= Impuestos calculados
DE= Deducción especial
D= Deducción
UIT= Unidad impositiva tributaria
P á g i n a 19 | 21
3.1 PSEUDOCÓDIGO
P á g i n a 20 | 21
P á g i n a 21 | 21
4. DISEÑO DE INTERFAZ
P á g i n a 22 | 21
Para cada emisión de boletas, se agregó el mensaje “¿Desea ingresar otro
recibo?”, esta pregunta se genera automáticamente después de cada monto
ingresado por parte del trabajador, además de pertenecer a cada mes
laborado. Si la respuesta indica “Sí” se seguirá acumulando los montos para
luego registrar las remuneraciones totales por mes; sin embargo, si fuera
“No” el programa logra que puedas acceder a otro mes y el proceso aplica el
mismo sistema con los montos que se requiere ingresar.
En este caso, la respuesta es “Sí”
En este ejemplo, con el uso de este programa, se ingresan cuatro boletas en el mes de
Enero, de la misma manera en Marzo, Abril, Mayo, Septiembre, Noviembre y
Diciembre, ya que estos meses cuentan como días operativos. Cabe resaltar, que esto es
depende de cada trabajador.
E M MY A S N D
P á g i n a 23 | 21
Prototipo de la validación de datos de entrada:
El programa adecua los datos y se aplica las restricciones que se han precisado, en este caso,
se aplica la retención (7UIT), además de aplicar el porcentaje de cada tasa. Se obtienen los
datos de salida y por consiguiente, el impuesto a la renta por cuarta categoría al trabajador.
P á g i n a 24 | 21
5. Implementación completa de la solución en Visual Basic para Aplicaciones (VBA)
P á g i n a 25 | 21
P á g i n a 26 | 21
P á g i n a 27 | 21
`
P á g i n a 28 | 21
P á g i n a 29 | 21
P á g i n a 30 | 21
P á g i n a 31 | 21
P á g i n a 32 | 21
6. Establecer diferentes escenarios de solución en Visual Basic para Aplicaciones (VBA)
Para este proyecto, se tomara dos posibles escenarios de solución, analizar los ingresos de dos
trabajadores como un abogado y un dentista, se sabe que las remuneraciones en para ambos no son
las mismas, ya que el abogado puede trabajar en otras empresas y atienden casos particulares; sin
embargo, el dentista es más local y puede generar otros ingresos, pudiendo este ser menor o mayor,
al mencionado abogado. Para esto, se utiliza el programa realizado, se verifica los ingresos y los
respectivos impuestos que resulta para cada caso.
A continuación se muestra los datos y los datos de salida ingresando los montos mensuales:
P á g i n a 33 | 21
ABOGADO
Enero S/500
S/800
S/750
Abril S/900
S/600
S/400
S/350
S/845
Junio S/250
S/800
S/360
S/400
P á g i n a 34 | 21
Total impuesto de 4ta Categoría 445.1199951
DENTISTA
Marzo S/200
S/600
S/510
S/410
S/400
Septiembre S/320
S/250
S/520
S/360
S/530
Diciembre S/420
S/150
S/360
S/400
P á g i n a 35 | 21
Total impuesto de 4ta Categoría 347.519989
P á g i n a 36 | 21
7. CONCLUSIONES:
8. RECOMENDACIONES
Se recomienda al usuario utilizar un sistema de mantenimiento (actualización del monto
UIT, ya que cada año puede variar su costo) para evitar errores netamente técnicos, pues
para cualquier error en el sistema de utilización solo se corrige o adecua el algoritmo ante
la nueva implementación.
Se recomienda implementar subprogramas, debido a que aquello ayuda a ahorrar memoria
en el algoritmo y tiempo de desarrollo. Esto se debe a que al utilizarlo se puede simplificar
el algoritmo y a su vez, generar el desarrollo óptimo del programa.
Se recomienda realizar una representación gráfica, como un diagrama de flujo, previo a la
realización del programa, debido a que ello ayuda a idear y estructurar una mejor solución
frente a la problemática planteada.
Se recomienda identificar las variables y constantes del problema para que se puedan
generar ciertos modelos matemáticos, con el objetivo de diseñar una solución simplificada
en base a los procesos desarrollados para la solución.
P á g i n a 37 | 21
9. BIBLIOGRAFÍA
o MATOS BARZOLA, Alan Emilio (2010) Sitio web que contiene información
del impuesto a la cuarta categoría. En: DERECHOPERU (Consulta 24 de enero
del 2018)( https://derechoperu.wordpress.com/2010/01/11/cuarta-categoria-
sunat-2010/)
o CASTILLO GAMARRA, Agustina Yolanda (2016) Rentas de Trabajo.
Documento que contiene información sobre los impuestos a la renta de la cuarta
y quinta categoría. Publicado en: MEF. (Consulta 24 de enero del 2018)(
https://www.mef.gob.pe/defensoria/boletines/CIV_dcho_tributario_2016.pdf)
o SUNAT, Cálculos de impuesto por Cuarta Categoría. Página principal de la
SUNAT que brinda información sobre los impuestos de cuarta categoría.
(Consulta 24 de enero del 2018)(
http://orientacion.sunat.gob.pe/index.php/personas-menu/impuesto-a-la-renta-
personas-ultimo/rentas-de-cuarta-categoria-personas/3064-02-calculo-del-
impuesto-por-rentas-de-cuarta-categoría)
o COMERCIO (2018) Sitio web oficial del diario Comercio; contiene información
sobre la importancia de los impuestos de Cuarta categoría. (Consulta 24 de enero
del 2018)(https://elcomercio.pe/economia/personal/sunat-solicitar-suspension-
cuarta-categoria-noticia-488014)
o https://www.youtube.com/watch?v=K_snyemt2q0
10. ANEXOS
P á g i n a 38 | 21