Skip to content

[FIX] purchase_ux: show lines with pending refund from a return in purchase matching - #351

Closed
cem-adhoc wants to merge 1 commit into
ingadhoc:18.0from
adhoc-dev:18.0-h-118011-cem
Closed

[FIX] purchase_ux: show lines with pending refund from a return in purchase matching#351
cem-adhoc wants to merge 1 commit into
ingadhoc:18.0from
adhoc-dev:18.0-h-118011-cem

Conversation

@cem-adhoc

Copy link
Copy Markdown

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.

Copilot AI review requested due to automatic review settings July 30, 2026 13:48
@roboadhoc

Copy link
Copy Markdown
Contributor

Pull request status dashboard

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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_invoiced por un filtrado basado en qty_to_invoice.
  • Se discrimina el signo esperado según move_type: in_invoice (pendiente > 0) vs in_refund (pendiente < 0).
  • Se usa float_compare con precision_rounding de 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
cem-adhoc force-pushed the 18.0-h-118011-cem branch from e3a5ba9 to 5ff9b94 Compare July 30, 2026 16:04
@rov-adhoc

Copy link
Copy Markdown
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>
@roboadhoc roboadhoc closed this Aug 3, 2026
@roboadhoc
roboadhoc deleted the 18.0-h-118011-cem branch August 3, 2026 19:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants