[FIX] purchase_ux: show lines with pending refund from a return in purchase matching - #351
Closed
cem-adhoc wants to merge 1 commit into
Closed
[FIX] purchase_ux: show lines with pending refund from a return in purchase matching#351cem-adhoc wants to merge 1 commit into
cem-adhoc wants to merge 1 commit into
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
Este PR corrige el filtrado del botón “Asociar líneas de compra” en el matching de compras para que también se muestren líneas de orden de compra con crédito pendiente por devoluciones, evitando que queden ocultas cuando product_qty no refleja retornos.
Changes:
- Se reemplaza el criterio
product_qty > qty_invoicedpor un filtrado basado enqty_to_invoice. - Se discrimina el signo esperado según
move_type:in_invoice(pendiente > 0) vsin_refund(pendiente < 0). - Se usa
float_compareconprecision_roundingde la UoM para comparar contra cero de forma consistente.
…rchase matching The 'Match purchase lines' button filtered candidate POLs with product_qty > qty_invoiced, which does not account for returns: product_qty (ordered) does not drop with a return, so a fully invoiced line with a pending credit (qty_to_invoice < 0) was hidden and the refund could not be created. Filtering now uses qty_to_invoice depending on the move type: on a bill (in_invoice) lines still to invoice (> 0), and on a credit note (in_refund) lines with a pending refund from a return (< 0). The comparison uses float_compare with the 'Product Unit of Measure' decimal precision instead of each line's product_uom.rounding, since the candidate set can include lines without a UoM (e.g. section/note lines), whose rounding is 0.0 and made float_compare raise 'precision_rounding must be positive, got 0.0'.
cem-adhoc
force-pushed
the
18.0-h-118011-cem
branch
from
July 30, 2026 16:04
e3a5ba9 to
5ff9b94
Compare
Contributor
|
@roboadhoc r+ nobump |
roboadhoc
pushed a commit
that referenced
this pull request
Aug 3, 2026
…rchase matching The 'Match purchase lines' button filtered candidate POLs with product_qty > qty_invoiced, which does not account for returns: product_qty (ordered) does not drop with a return, so a fully invoiced line with a pending credit (qty_to_invoice < 0) was hidden and the refund could not be created. Filtering now uses qty_to_invoice depending on the move type: on a bill (in_invoice) lines still to invoice (> 0), and on a credit note (in_refund) lines with a pending refund from a return (< 0). The comparison uses float_compare with the 'Product Unit of Measure' decimal precision instead of each line's product_uom.rounding, since the candidate set can include lines without a UoM (e.g. section/note lines), whose rounding is 0.0 and made float_compare raise 'precision_rounding must be positive, got 0.0'. closes #351 Signed-off-by: rov-adhoc <rov@adhoc.com.ar>
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.

El boton 'Asociar lineas de compra' filtraba las POL candidatas con product_qty > qty_invoiced, que no contempla devoluciones: product_qty (pedido) no baja con una devolucion, asi que una linea totalmente facturada con un credito pendiente (qty_to_invoice < 0) quedaba oculta y no se podia cargar la NC.
Se pasa a filtrar por qty_to_invoice segun el tipo de comprobante: en factura (in_invoice) las lineas con saldo por facturar (> 0) y en nota de credito (in_refund) las que tienen credito pendiente por devolucion (< 0), usando float_compare para la comparacion.