Excel Avanzado

Macros, Vba en Excel y muchos ejemplos de nuestro Curso de Excel Avanzado

Excel Avanzado

Ejemplo de UDF para el Cálculo de Pago de Impuesto a la Renta de Cuarta Categoría

| 8 comentarios

En general, las User Defined Functions (UDF) o funciones definidas por el usuario, permiten crear funciones personalizadas que incorporando macros, abrevian y simplifican cálculos repetitivos. Podemos disponer de éstas, de manera similar a las funciones definidas en Excel.

A continuación el ejemplo mencionado que se aplica a trabajadores independientes, que reciben una remuneración por su trabajo y entregan recibos por honorarios.

Antes de determinar el monto, se definen deducciones, en este caso del 20% del ingreso bruto (hasta un límite de 24 UIT u S/. 86,400 anuales) y un monto de 7 unidades impositivas tributarias (UIT).

En la hoja de cálculo escribimos el ejemplo de un ingreso bruto anual (IB) de S/. 100,000, al cual queremos calcular el impuesto.

Las celdas D6 y D8 son parámetros (fijos) mientras que la Renta Imponible (RI) ubicada en la celda D10 es una variable a la cual se debe aplicar la tasa (celda D11) que depende a su vez del tramo en el cual se encuentre el ingreso bruto anual. El ejemplo se muestra a continuación:

Dibujo0 300x201 Ejemplo de UDF para el Cálculo de Pago de Impuesto a la Renta de Cuarta Categoría

De acuerdo al tramo en el que se encuentre el IB se aplican las siguientes tasas:

1º Hasta 27 UIT ……….15%

2º De 27 a 54 UIT……. 21%

3º Más de 54 UIT…….. 30%

 En el ejemplo, le corresponde el segundo tramo (S/. 100,000 es aproximadamente 27.8 UIT)

Adicionalmente, para elegir la tasa que corresponde a determinado ingreso, es necesario aplicar en la celda D11, la siguiente fórmula:

 =SI(D5<=(27*D7);0.15;SI(D5<=(54*D7);0.21;0.3))

 Luego; ingresamos al Editor de Visual Basic, e insertamos un módulo para poder escribir el siguiente código:

Dibujo11 300x185 Ejemplo de UDF para el Cálculo de Pago de Impuesto a la Renta de Cuarta Categoría

(Para una mayor visualización de la imagen, hacer click en la misma)

Se finaliza la edición del código macro, se guarda y salimos del ambiente de programación en VB y retornamos a la hoja electrónica inicial y en la celda D12 (Impuesto a pagar) y se digita               + i (D5) y nos mostrará el resultado.

Dibujo31 300x201 Ejemplo de UDF para el Cálculo de Pago de Impuesto a la Renta de Cuarta Categoría

(Para una mayor visualización de la imagen, hacer click en la misma)

La función recientemente creada i(IB) se puede ubicar en funciones Definidas por el usuario, tal como se muestra en la siguiente imagen:

Dibujo41 300x215 Ejemplo de UDF para el Cálculo de Pago de Impuesto a la Renta de Cuarta Categoría

(Para una mayor visualización de la imagen, hacer click en la misma)

Elaborado por: Isabel 

8 comentarios

  1. necesito ayuda para un trabajooo de calcular el IR de 1era 4ta y quinta cat, pago!!

  2. como hago para hacer una formula en este caso si tengo 700 usd por ejemplo y quiero que la formula me lo ubique en este rango y me calcule de acuerdo a ese rango.

    desde hasta
    $0.01 $316.67 1 S/RETENC (sin retención)
    316.68 469.05 2 10% $4.77 $316.67
    469.06 761.91 3 10% 4.77 228.57
    761.92 1,904.69 4 20% 60 761.91
    1,904.70 5,000.00 5 30% 228.57 1904.69

    Gracias.

    • ¿Calcular que cosa?

      Me puedes decir ¿a qué te refieres con "S/RETENC" ?

      Saludos

  3. Función interesante para cálculo de los impuestos.

  4. Con respecto a este ejemplo el conocer una tabla de Excel en la cual se muestra el impuesto calculado me parece acertado, no obstante cabe resaltar que estas tasas que son adaptadas abarcan intervalos de la misma forma que se indica en el ejemplo, sin embargo se ha omitido y no se ha tomado en cuenta la cifra precisa.

    Creo conveniente considerar los siguientes tramos y estos serían cuatro:

    1° Tramo 0 el cual abarca de 0 hasta la 7 uit porcentaje 0%.

    2° Tramo 1 de 7 uit hasta 27 uit aplicar el 15%.

    3° Tramo 2 del importe de 27 uit hasta las 54 uit aplicar el 21%.

    4° Y el tramo 4 mayores a las 54 uit que se le aplica la tasa del 30%.

    De estos tramos mencionados debo acotar que los he aplicado, sin embargo no he logrado alcanzar la solución, quizás me podrían dirigir para conseguir el resultado.

    • En primer lugar, la fórmula que va en la celda D11 sería:
      =SI(D5<=(7*D7),0,SI(D5<=(27*D7),0.15,SI(D5<=(54*D7),0.21,0.3)))
      se observa que se agrega una condición mas que es el tramo 1
      y en segundo lugar, el código escrito en el editor de VBA no cambia.

  5. Buenas tardes
    Quien les saluda es contador
    Antes que nada felicitar por el esfuerzo en crear la fórmula y la macro.
    Sin embargo me veo obligado a decir que dicho cálculo es incorrecto, me explico:
    1. La base de cálculo del Irta (ya sea 15%, 21% y 30%) se aplica a la RENTA IMPONIBLE DE TRABAJO mas no a la RENTA BRUTA, como en el enunciado.
    2. No se debe solo aplicar la tasa adecuado a un límite, por ejemplo si sobrepasa de 27 UIT el impuesto no se calcula solo aplicando el 21% sobre la RENTA IMPONIBLE DE TRABAJO, sino que a eso se le debe restar el monto parcial del acumulado.
    En consecuencia considerando la UIT del ejemplo el impuesto a la renta de cuarta categoría seria:
    S/. 8,220.00

  6. Mi estimado Juan Loyaza, efectivamente Ud. esta en lo correcto, realice el cuadro mas la ejecución de la macro y el UDF.
    Me costo más trabajo el programar que ejecutarlo en una función conocida, por otra parte mi opinión es si lo predefinimos con una macro y sólo calcular el resultado nos evitaría de dar mucha información el visual basic, hasta complicarnos, el UDF ha mi opinión es para agilizar nos las operaciones mas no lo contrario.

Deja una respuesta

Los campos requeridos estan marcados con *.