fix: remove from or target warehouse for non internal transfer entries (#37612)
diff --git a/erpnext/controllers/stock_controller.py b/erpnext/controllers/stock_controller.py
index 98d8248..61d7107 100644
--- a/erpnext/controllers/stock_controller.py
+++ b/erpnext/controllers/stock_controller.py
@@ -689,13 +689,21 @@
d.stock_uom_rate = d.rate / (d.conversion_factor or 1)
def validate_internal_transfer(self):
- if (
- self.doctype in ("Sales Invoice", "Delivery Note", "Purchase Invoice", "Purchase Receipt")
- and self.is_internal_transfer()
- ):
- self.validate_in_transit_warehouses()
- self.validate_multi_currency()
- self.validate_packed_items()
+ if self.doctype in ("Sales Invoice", "Delivery Note", "Purchase Invoice", "Purchase Receipt"):
+ if self.is_internal_transfer():
+ self.validate_in_transit_warehouses()
+ self.validate_multi_currency()
+ self.validate_packed_items()
+ else:
+ self.validate_internal_transfer_warehouse()
+
+ def validate_internal_transfer_warehouse(self):
+ for row in self.items:
+ if row.get("target_warehouse"):
+ row.target_warehouse = None
+
+ if row.get("from_warehouse"):
+ row.from_warehouse = None
def validate_in_transit_warehouses(self):
if (