Realizar cálculo especial de impuesto.

1,237 views
Skip to first unread message

Francisco Lira

unread,
Mar 9, 2014, 9:48:09 AM3/9/14
to openerp-...@googlegroups.com
En Guatemala hay una regla para calcular el ISR a retener para las personas afectas al régimen definitivo; de 0 a 33,600 el porcentaje de ISR a retener a aplicar es 5%, al monto que sobrepasa este límite se le aplica el 7%, he trato de hacerlo desde la configuración de impuestos, pero no es posible sin hacer cálculo especial y no encuentro en ningún lado cómo hacerlo, ¿alguién tiene un ejemplo de cálculo especial de impuesto con código Python?

Muchas gracias.

Saludos.

Gustavo Orrillo

unread,
Mar 9, 2014, 11:12:23 AM3/9/14
to openerp-...@googlegroups.com
Francisco,

En esa clase de situaciones debes por lo general crear un módulo. No porque no puedas resolver el problema solo con la definición del impuesto, sino porque necesitarás información de apoyo que el módulo de impuestos no te puede brindar.

Un ejemplo de codigo Python para resolver el tema de impuestos es:

temp_result = price_unit - product.base_amount if temp_result < 0: temp_result = 0 result = temp_result * product.percentage

El modulo que brinda la informmacion de apoyo al impuesto lo pueden bajar de

Ahora, para lo que cuentas me imagino que definiras el codigo de python del impuesto de la siguiente manera:

if price_unit > 33600:
     result = price_unit * 0.7
else:
     result = price_unit * 0.5

Espero que te resulte de utilidad,


--
Recuerda siempre poner la mayor cantidad de datos para que se entienda bien que necesitas y que respondes. Algunos errores comunes:
 
- Siempre mencionar en que versión de OpenERP trabajas.
- Siempre mencionar si el servidor esta en LINUX o en windows y en que versión.
- No alcanza con colocar el debug del error, debes indicar que necesitas que haga el código.
- Comparte tu código en un servidor abierto como Launchpad u otro.
- Si haces un manual, tutorial o algo de interés comunal, trata de usar google docs.
 
Tu tiempo es tan valioso como el de cualquiera de la comunidad. Aquí se valora el aporte que hagas.
 
Nuestras normas mínimas de convivencia puede leerlas en https://groups.google.com/d/forum/openerp-argentina?hl=es-ES
---
Has recibido este mensaje porque estás suscrito al grupo "OpenERP-Argentina - Preguntas y respuestas para personalizadores" de Grupos de Google.
Para anular tu suscripción a este grupo y dejar de recibir sus mensajes, envía un mensaje a openerp-argent...@googlegroups.com.
Para publicar en este grupo, envía un mensaje a openerp-...@googlegroups.com.
Para acceder a más opciones, visita https://groups.google.com/d/optout.

Francisco Lira

unread,
Mar 9, 2014, 11:07:24 PM3/9/14
to openerp-...@googlegroups.com
Muchas gracias Gustavo por tú ayuda, pero ¿cómo funciona la opción cálculo especial al crear impuestos?


Has recibido este mensaje porque estás suscrito a un tema del grupo "OpenERP-Argentina - Preguntas y respuestas para personalizadores" de Grupos de Google.
Para anular tu suscripción a este tema, visita https://groups.google.com/d/topic/openerp-argentina/vL-h3dieUyI/unsubscribe.
Para anular tu suscripción a este grupo y a todos sus temas, envía un mensaje a openerp-argent...@googlegroups.com.

Gustavo Orrillo

unread,
Mar 10, 2014, 6:48:30 AM3/10/14
to openerp-...@googlegroups.com
es simple, toma como valor del impuesto el valor de la variable result que uno indica en el codigo Python

Francisco Lira

unread,
Mar 11, 2014, 10:51:30 PM3/11/14
to openerp-...@googlegroups.com
¿Qué tal Gustavo?, puse el siguiente código:

if  price_unit > 30000:
    result = (1500 + ((price_unit - 30000) * 0.07))
else:
    result = price_unit * 0.05

Esto es lo que necesito, que calcule al ingresar la factura, pero no entiendo por qué nunca entra al if, siempre se va por el else, pero además, no entiendo por qué al hacer algunos cambios al cálculo saca valores multiplicados pora la cantidad registrada en el detalle, ¿qué está mal?

Saludos.

Gustavo Orrillo

unread,
Mar 12, 2014, 9:07:03 AM3/12/14
to openerp-...@googlegroups.com
cual es el valor que te da el impuesto? Y cual es el valor de price_unit?

Francisco Lira

unread,
Mar 12, 2014, 9:10:09 AM3/12/14
to openerp-...@googlegroups.com
if  price_unit > 30000:
    result = (1500 + ((price_unit - 30000) * 0.07))
else:
    result = price_unit * 0.05

Esto necesito que calcule al ingresar la factura, pero no entiendo por qué nunca entra al if, siempre se va por el else, además, no entiendo por qué al hacer algunos cambios al cálculo saca valores multiplicados por la cantidad registrada en el detalle, ¿qué está mal?

Gustavo Orrillo

unread,
Mar 12, 2014, 9:12:49 AM3/12/14
to openerp-...@googlegroups.com
cual es el precio unitario del producto al que le estas aplicando el impuesto? O no estas agregando el impuesto al nivel producto?

Miguel Chuga

unread,
Mar 12, 2014, 9:16:53 AM3/12/14
to openerp-...@googlegroups.com
Francisco eso es lo de "ISR bienes" e "ISR servicios" ?

Francisco Lira

unread,
Mar 12, 2014, 9:51:18 AM3/12/14
to openerp-...@googlegroups.com
Estoy ingresando una factura por 2000 unidades y precio unitario de 33.49 esto da como 66,980, veo que al ejecutar el código python si yo le digo que devuelva el price_unit llega los 66,980.


Has recibido este mensaje porque estás suscrito a un tema del grupo "OpenERP-Argentina - Preguntas y respuestas para personalizadores" de Grupos de Google.
Para anular tu suscripción a este tema, visita https://groups.google.com/d/topic/openerp-argentina/vL-h3dieUyI/unsubscribe.
Para anular tu suscripción a este grupo y a todos sus temas, envía un mensaje a openerp-argent...@googlegroups.com.

Francisco Lira

unread,
Mar 12, 2014, 9:53:43 AM3/12/14
to openerp-...@googlegroups.com
¿Qué tal Miguel?, esto es cuando estoy agregando una factura de venta y necesito contabilizar el ISR de la factura, el código funciona si sólo multiplico price_unit * 0.05, pero no funciona cuando ya tiene condición y aplico la fórmula para cuando excede los 30,000, en donde hasta 30,000 aplica un 0.05 y a la diferencia aplica 0.07.

Saludos.

Gustavo Orrillo

unread,
Mar 12, 2014, 10:03:53 AM3/12/14
to openerp-...@googlegroups.com
proba cambiando price_unit por price_subtotal, no se si funcionaria, pero es el total de price_unit * quantity en la linea de la factura

Francisco Lira

unread,
Mar 12, 2014, 10:19:03 AM3/12/14
to openerp-...@googlegroups.com
Ya lo había hecho, pero da un error al validar la factura dice: 
name 'price_subtotal' is not defined

¿Cómo defino este campo?

Gustavo Orrillo

unread,
Mar 12, 2014, 11:08:26 AM3/12/14
to openerp-...@googlegroups.com

Francisco Lira

unread,
Mar 12, 2014, 11:31:05 AM3/12/14
to openerp-...@googlegroups.com
¿Qué tal Miguel?, yo estoy iniciando en OpenERP y no nunca habiamos hablado, lo que estoy haciendo es la generación automatica de la partida contable cuando generás una factura por venta, una parte de ella va a ISR retenido, la ley dice que si es menor de Q33,600.00 debe retenerse el 5%, pero si es más de esto, se debe retener Q1,500.00 por los primeros Q33,600 y 7% por el resto, allí es donde tengo el problema porque se debe poner código Python en configuración del impuesto.

Saludos.


El 12 de marzo de 2014, 7:16, Miguel Chuga <migue...@gmail.com> escribió:

Francisco Lira

unread,
Mar 12, 2014, 11:35:53 AM3/12/14
to openerp-...@googlegroups.com
De acuerdo, entiendo que debo utilizar la pestaña calculo especial, per no entiendo eso de método extendido, me imagino que significa que puedo hacer código más complicado en esta área, pero no encuentro ningún ejemplo de cómo usarlo.

Muchas gracias.

Gustavo Orrillo

unread,
Mar 12, 2014, 11:38:51 AM3/12/14
to openerp-...@googlegroups.com
Francisco, para hacer ese cambio necesitas crear un módulo de OpenERP que extienda el modelo de account.tax, es como lo indica el post.

Consejo, si tenes experiencia desarrollando módulos de OpenERP, hacelo. Sino, antes te convendría aprender a desarrollar con OpenERP

Saludos


Francisco Lira

unread,
Mar 12, 2014, 11:40:24 AM3/12/14
to openerp-...@googlegroups.com
De acuerdo.

Gustavo Orrillo

unread,
Mar 12, 2014, 11:43:38 AM3/12/14
to openerp-...@googlegroups.com
Disculpame que no te pueda ayudar más, pero OpenERP es un sistema muy flexible. Ahora, para poder trabajar con esa flexibilidad hay una curva de aprendizaje importante que implica aprender a no solo configurar el sistema, sino tambien modificarlo. Y cuando se habla de liquidación de impuestos, y liquidación de haberes, uno necesita saber modificar el sistema

Francisco Lira

unread,
Mar 12, 2014, 11:47:17 AM3/12/14
to openerp-...@googlegroups.com
Agradezco por tú ayuda.

Saludos.

Miguel Chuga

unread,
Mar 12, 2014, 7:31:33 PM3/12/14
to openerp-...@googlegroups.com
Francisco en una factura de 33,600.00

son :
3,600.00 de IVA
1,752.00 de ISR
28,248.00 ventas

es correcto?



--

Francisco Lira

unread,
Mar 12, 2014, 7:57:53 PM3/12/14
to openerp-...@googlegroups.com
El IVA está bien, pero el ISR hasta ese monto sin IVA incluido es Q30,000.00 * 0.05, lo que sobre pasa de Q30,000.00 sin IVA se le aplica 0.07.

Saludos. 


Has recibido este mensaje porque estás suscrito a un tema del grupo "OpenERP-Argentina - Preguntas y respuestas para personalizadores" de Grupos de Google.
Para anular tu suscripción a este tema, visita https://groups.google.com/d/topic/openerp-argentina/vL-h3dieUyI/unsubscribe.
Para anular tu suscripción a este grupo y a todos sus temas, envía un mensaje a openerp-argent...@googlegroups.com.

Francisco Lira

unread,
Mar 12, 2014, 8:01:28 PM3/12/14
to openerp-...@googlegroups.com
Quiere decir que el monto de los primeros 33,600.00 con IVA incluido es Q1,500.00

Miguel Chuga

unread,
Mar 13, 2014, 10:19:51 AM3/13/14
to openerp-...@googlegroups.com
Francisco puntualmente entonces cuanto debe ser el ISR ?

Miguel Chuga

unread,
Mar 13, 2014, 10:20:41 AM3/13/14
to openerp-...@googlegroups.com
puedes darme un ejemplo completo ?  creo que ya te lo resolví pero dame un ejemplo para verificar gracias,

Francisco Lira

unread,
Mar 13, 2014, 10:45:59 AM3/13/14
to openerp-...@googlegroups.com
Si lo facturado es:

Honorarios profesionales: 

Cantidad   Precio Unitario  Monto Línea
1000         112.00                   112,000.00

El Monto de la factura es:  112,000.00
El Monto sin IVA es:          100,000.00
El ISR es:                            6,400.00

El ISR se calcula así:
Los primeros  30,000.00 * 0.05 = 1,500.00
Los restantes 70,000.00 * 0.07 = 4,900.00
Total ISR:                           = 6,400.00




Juan Cristobal Lopez

unread,
Mar 13, 2014, 10:52:17 AM3/13/14
to openerp-...@googlegroups.com
Definitivamente no lo pondria en una formula.
Eso tiene la misma logica de la retencion de ganancias y quizas alguna
regla mas que aun no salió,
Creo que lleva al menos un objeto que es la tabla con los montos de
retenciones y su formula de cálculo.
Para mi es mas un modulo que extienda impuestos.
mis 2cts...


On 13/03/14 09:45, Francisco Lira wrote:
> Si lo facturado es:
>
> Honorarios profesionales:
>
> Cantidad Precio Unitario Monto Línea
> 1000 112.00 112,000.00
>
> El Monto de la factura es: 112,000.00
> El Monto sin IVA es: 100,000.00
> El ISR es: 6,400.00
>
> El ISR se calcula así:
> Los primeros 30,000.00 * 0.05 = 1,500.00
> Los restantes 70,000.00 * 0.07 = 4,900.00
> Total ISR: = 6,400.00
>
>
>
>
>
>
> El 13 de marzo de 2014, 8:20, Miguel Chuga <migue...@gmail.com
> <mailto:migue...@gmail.com>> escribió:
>
> puedes darme un ejemplo completo ? creo que ya te lo resolví pero
> dame un ejemplo para verificar gracias,
>
>
> El 13 de marzo de 2014, 8:19, Miguel Chuga <migue...@gmail.com
> <mailto:migue...@gmail.com>> escribió:
>
> Francisco puntualmente entonces cuanto debe ser el ISR ?
>
>
> El 12 de marzo de 2014, 18:01, Francisco Lira
> <javie...@gmail.com <mailto:javie...@gmail.com>> escribió:
>
> Quiere decir que el monto de los primeros 33,600.00 con IVA
> incluido es Q1,500.00
>
>
>
> El 12 de marzo de 2014, 17:57, Francisco Lira
> <javie...@gmail.com <mailto:javie...@gmail.com>> escribió:
>
> El IVA está bien, pero el ISR hasta ese monto sin IVA
> incluido es Q30,000.00 * 0.05, lo que sobre pasa de
> Q30,000.00 sin IVA se le aplica 0.07.
>
> Saludos.
>
>
> El 12 de marzo de 2014, 17:31, Miguel Chuga
> <migue...@gmail.com <mailto:migue...@gmail.com>>
> escribió:
>
> Francisco en una factura de 33,600.00
>
> son :
> 3,600.00 de IVA
> 1,752.00 de ISR
> 28,248.00 ventas
>
> es correcto?
>
>
>
> El 9 de marzo de 2014, 7:48, Francisco Lira
> <javie...@gmail.com
> <mailto:javie...@gmail.com>> escribió:
> <mailto:openerp-argent...@googlegroups.com>.
>
> Para publicar en este grupo, envía un mensaje a
> openerp-...@googlegroups.com
> <mailto:openerp-...@googlegroups.com>.
> <mailto:openerp-argent...@googlegroups.com>.
> Para publicar en este grupo, envía un mensaje a
> openerp-...@googlegroups.com
> <mailto:openerp-...@googlegroups.com>.
> <mailto:openerp-argent...@googlegroups.com>.
> Para publicar en este grupo, envía un mensaje a
> openerp-...@googlegroups.com
> <mailto:openerp-...@googlegroups.com>.
> <mailto:openerp-argent...@googlegroups.com>.
> Para publicar en este grupo, envía un mensaje a
> openerp-...@googlegroups.com
> <mailto:openerp-...@googlegroups.com>.
> Para acceder a más opciones, visita https://groups.google.com/d/optout.
>
>
> --
> Recuerda siempre poner la mayor cantidad de datos para que se entienda
> bien que necesitas y que respondes. Algunos errores comunes:
>
> - Siempre mencionar en que versión de OpenERP trabajas.
> - Siempre mencionar si el servidor esta en LINUX o en windows y en que
> versión.
> - No alcanza con colocar el debug del error, debes indicar que necesitas
> que haga el código.
> - Comparte tu código en un servidor abierto como Launchpad u otro.
> - Si haces un manual, tutorial o algo de interés comunal, trata de usar
> google docs.
>
> Tu tiempo es tan valioso como el de cualquiera de la comunidad. Aquí se
> valora el aporte que hagas.
>
> Nuestras normas mínimas de convivencia puede leerlas en
> https://groups.google.com/d/forum/openerp-argentina?hl=es-ES
> ---
> Has recibido este mensaje porque estás suscrito al grupo
> "OpenERP-Argentina - Preguntas y respuestas para personalizadores" de
> Grupos de Google.
> Para anular tu suscripción a este grupo y dejar de recibir sus mensajes,
> envía un mensaje a openerp-argent...@googlegroups.com
> <mailto:openerp-argent...@googlegroups.com>.
> Para publicar en este grupo, envía un mensaje a
> openerp-...@googlegroups.com
> <mailto:openerp-...@googlegroups.com>.
> Para acceder a más opciones, visita https://groups.google.com/d/optout.


--
Juan Cristobal Lopez Arrieta

Francisco Lira

unread,
Mar 13, 2014, 10:52:27 AM3/13/14
to openerp-...@googlegroups.com
Importante:  El ISR se calcula sobre el total de la factura, si tenés varias líneas de detalle, debe calcular el total de la factura, quitarle el IVA y aplicar la tasa de ISR correspondiente al subtotal.

Saludos.

Miguel Chuga

unread,
Mar 13, 2014, 1:19:00 PM3/13/14
to openerp-...@googlegroups.com
Francisco aquí una opción sin hacer un modulo, con esta configuración si me salio tu calculo

Imágenes integradas 1


Imágenes integradas 4


Imágenes integradas 6



Francisco Lira

unread,
Mar 13, 2014, 1:58:21 PM3/13/14
to openerp-...@googlegroups.com
Hice la prueba, pero el ejemplo no funciona, cuando ponés cantidad 1000 y precio Unitario 112, da lo mismo el importe, pero no el cálculo del ISR, además cuando hay más líneas de detalle el cálculo es sobre el total de la factura no sobre el total de la línea de detalle.
Reply all
Reply to author
Forward
0 new messages