fix: Overallocation of 'qty' from Cr Notes to Parent Invoice

Cr Notes 'qty' are overallocated to parent invoice, when there are
mulitple instances of same item in Invoice.
This commit is contained in:
ruthra kumar 2023-02-05 13:09:34 +05:30
parent 1d767d58f2
commit e2f19c6a14

View File

@ -501,7 +501,14 @@ class GrossProfitGenerator(object):
): ):
returned_item_rows = self.returned_invoices[row.parent][row.item_code] returned_item_rows = self.returned_invoices[row.parent][row.item_code]
for returned_item_row in returned_item_rows: for returned_item_row in returned_item_rows:
row.qty += flt(returned_item_row.qty) # returned_items 'qty' should be stateful
if returned_item_row.qty != 0:
if row.qty >= abs(returned_item_row.qty):
row.qty += returned_item_row.qty
returned_item_row.qty = 0
else:
row.qty = 0
returned_item_row.qty += row.qty
row.base_amount += flt(returned_item_row.base_amount, self.currency_precision) row.base_amount += flt(returned_item_row.base_amount, self.currency_precision)
row.buying_amount = flt(flt(row.qty) * flt(row.buying_rate), self.currency_precision) row.buying_amount = flt(flt(row.qty) * flt(row.buying_rate), self.currency_precision)
if flt(row.qty) or row.base_amount: if flt(row.qty) or row.base_amount: