[FIX] account_withholding_automatic: retenciones que no corresponden al pagar#856
Merged
jjscarafia merged 1 commit intoingadhoc:16.0from Dec 30, 2025
Merged
Conversation
…al pagar Llegaron 2 tickets 106105 (ticket padre) y 106338 que son de versión 16 en el que comentaron que se calculaban retenciones que no corresponden y esto sucedió aproximadamente desde que fue la caída de infraestructura el 05/12/2025 que se hizo un update de todos los módulos en bases de 16. Esto hizo que se incorpore este cambio odoo/odoo@0e9751d que tiene context="{'active_test': False}" entonces cuando se corre esto https://github.com/ingadhoc/account-payment/blob/16.0/account_withholding_automatic/models/account_payment_group.py#L90 (en método compute_withholdings) que hace un search de impuestos llega con dicho contexto y se terminan buscando impuestos que están archivados lo cual no queremos que suceda porque se terminan calculando retenciones de impuestos archivados y además crea registros de account partner tax con alícuotas en los contactos porque además hace conexión con agip, etc y eso hace que se creen registros con alícuotas en los contactos. Para solucionar la urgencia en dichos tickets lo que se hizo fue establecer "Ninguna" en el campo "Tipo" (withholding_type) de aquellos impuestos de retención que tenían establecido "Alícuota en el partner", de esa manera hace que no se calculen retenciones que no corresponden. Hice este kpi (346) "v16 #H-106338-106105-107058 impuestos archivados con campo withholding_type = 'partner_tax'" en el cual se puede ver en que bases hay impuestos inactivos que tienen el campo "withholding_type = 'partner_tax'" y que pueden tener el bug que haga que se calculen retenciones que no corresponden. También hice los prs odoo/odoo#240659 y ingadhoc#851 para solucionar el problema pero el pr de odoo da conflicto al agregarlo en una base de test y no se por que entonces lo que hice fue hacer este pr para solucionar el problema de manera definitiva que es el objetivo de este ticket.
Contributor
There was a problem hiding this comment.
Pull request overview
Este PR soluciona un bug crítico donde se calculaban retenciones incorrectas al incluir impuestos archivados en los cálculos. El problema surgió cuando un cambio en Odoo core introdujo context={'active_test': False} que se propagaba al método compute_withholdings, provocando que impuestos inactivos con withholding_type = 'partner_tax' generaran retenciones no deseadas y registros de alícuotas en contactos.
- Agrega
active_test=Trueexplícitamente al contexto del search de impuestos para forzar la exclusión de registros archivados
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Llegaron 2 tickets 106105 (ticket padre) y 106338 que son de versión 16 en el que comentaron que se calculaban retenciones que no corresponden y esto sucedió aproximadamente desde que fue la caída de infraestructura el 05/12/2025 que se hizo un update de todos los módulos en bases de 16. Esto hizo que se incorpore este cambio odoo/odoo@0e9751d que tiene context="{'active_test': False}" entonces cuando se corre esto https://github.com/ingadhoc/account-payment/blob/16.0/account_withholding_automatic/models/account_payment_group.py#L90 (en método compute_withholdings) que hace un search de impuestos llega con dicho contexto y se terminan buscando impuestos que están archivados lo cual no queremos que suceda porque se terminan calculando retenciones de impuestos archivados y además crea registros de account partner tax con alícuotas en los contactos porque además hace conexión con agip, etc y eso hace que se creen registros con alícuotas en los contactos. Para solucionar la urgencia en dichos tickets lo que se hizo fue establecer "Ninguna" en el campo "Tipo" (withholding_type) de aquellos impuestos de retención que tenían establecido "Alícuota en el partner", de esa manera hace que no se calculen retenciones que no corresponden.
Hice este kpi (346) "v16 #H-106338-106105-107058 impuestos archivados con campo withholding_type = 'partner_tax'" en el cual se puede ver en que bases hay impuestos inactivos que tienen el campo "withholding_type = 'partner_tax'" y que pueden tener el bug que haga que se calculen retenciones que no corresponden. También hice los prs odoo/odoo#240659 y #851 para solucionar el problema pero el pr de odoo da conflicto al agregarlo en una base de test y no se por que entonces lo que hice fue hacer este pr para solucionar el problema de manera definitiva que es el objetivo de este ticket.
Ticket: 107058