diff --git a/erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.py b/erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.py index 05c1bc4886..ecbf78ce37 100644 --- a/erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.py +++ b/erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.py @@ -190,8 +190,9 @@ class PaymentReconciliation(Document): if flt(p.allocated_amount) > flt(p.amount): frappe.throw(_("Row {0}: Allocated amount {1} must be less than or equals to JV amount {2}") .format(p.idx, p.allocated_amount, p.amount)) - - if flt(p.allocated_amount) > unreconciled_invoices.get(p.invoice_type, {}).get(p.invoice_number): + + invoice_outstanding = unreconciled_invoices.get(p.invoice_type, {}).get(p.invoice_number) + if abs(flt(p.allocated_amount) - invoice_outstanding) > 0.009: frappe.throw(_("Row {0}: Allocated amount {1} must be less than or equals to invoice outstanding amount {2}") .format(p.idx, p.allocated_amount, unreconciled_invoices.get(p.invoice_type, {}).get(p.invoice_number))) diff --git a/erpnext/stock/get_item_details.py b/erpnext/stock/get_item_details.py index 82446ed420..faf3d98c0f 100644 --- a/erpnext/stock/get_item_details.py +++ b/erpnext/stock/get_item_details.py @@ -300,7 +300,7 @@ def get_serial_nos_by_fifo(args, item_doc): order by timestamp(purchase_date, purchase_time) asc limit %(qty)s""", { "item_code": args.item_code, "warehouse": args.warehouse, - "qty": cint(args.qty) + "qty": abs(cint(args.qty)) })) def get_actual_batch_qty(batch_no,warehouse,item_code):