PO-PI mapping: divisional loss issue fixed
diff --git a/erpnext/buying/doctype/purchase_order/purchase_order.py b/erpnext/buying/doctype/purchase_order/purchase_order.py
index 04ad37f..d9035f4 100644
--- a/erpnext/buying/doctype/purchase_order/purchase_order.py
+++ b/erpnext/buying/doctype/purchase_order/purchase_order.py
@@ -203,7 +203,8 @@
target.qty = flt(obj.qty) - flt(obj.received_qty)
target.stock_qty = (flt(obj.qty) - flt(obj.received_qty)) * flt(obj.conversion_factor)
target.amount = (flt(obj.qty) - flt(obj.received_qty)) * flt(obj.rate)
- target.base_amount = (flt(obj.qty) - flt(obj.received_qty)) * flt(obj.base_rate)
+ target.base_amount = (flt(obj.qty) - flt(obj.received_qty)) * \
+ flt(obj.rate) * flt(source_parent.conversion_rate)
doc = get_mapped_doc("Purchase Order", source_name, {
"Purchase Order": {
@@ -235,8 +236,7 @@
def update_item(obj, target, source_parent):
target.amount = flt(obj.amount) - flt(obj.billed_amt)
target.base_amount = target.amount * flt(source_parent.conversion_rate)
- if flt(obj.base_rate):
- target.qty = target.base_amount / flt(obj.base_rate)
+ target.qty = target.amount / flt(obj.rate) if flt(obj.rate) else flt(obj.qty)
doc = get_mapped_doc("Purchase Order", source_name, {
"Purchase Order": {