[fix] Billed Amt does not get updated in Purchase Receipt, if Invoice exists and item has been returned once before
diff --git a/erpnext/buying/doctype/purchase_order/purchase_order.py b/erpnext/buying/doctype/purchase_order/purchase_order.py
index b3bbb92..7e5020a 100644
--- a/erpnext/buying/doctype/purchase_order/purchase_order.py
+++ b/erpnext/buying/doctype/purchase_order/purchase_order.py
@@ -270,6 +270,9 @@
doc = get_mapped_doc("Purchase Order", source_name, {
"Purchase Order": {
"doctype": "Purchase Receipt",
+ "field_map": {
+ "per_billed": "per_billed"
+ },
"validation": {
"docstatus": ["=", 1],
}
diff --git a/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py b/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py
index 647eb67..f60eb6a 100644
--- a/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py
+++ b/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py
@@ -119,7 +119,8 @@
frappe.db.set(self, 'status', 'Submitted')
self.update_prevdoc_status()
- self.update_billing_status()
+ if self.per_billed < 100:
+ self.update_billing_status()
if not self.is_return:
update_last_purchase_rate(self, 1)