From e1ae650d45ad91f8dc9fe033d804ef503eac3657 Mon Sep 17 00:00:00 2001 From: Debin Robert <69695920+debinnn@users.noreply.github.com> Date: Tue, 20 May 2025 11:10:04 +0530 Subject: [PATCH] refactor: ensure end date is after start date on work order --- erpnext/manufacturing/doctype/work_order/work_order.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/erpnext/manufacturing/doctype/work_order/work_order.py b/erpnext/manufacturing/doctype/work_order/work_order.py index 969375c36bf..d8da681fba0 100644 --- a/erpnext/manufacturing/doctype/work_order/work_order.py +++ b/erpnext/manufacturing/doctype/work_order/work_order.py @@ -189,6 +189,7 @@ class WorkOrder(Document): self.reset_use_multi_level_bom() self.set_reserve_stock() self.validate_fg_warehouse_for_reservation() + self.validate_dates() if self.source_warehouse: self.set_warehouses() @@ -198,6 +199,11 @@ class WorkOrder(Document): self.set_required_items(reset_only_qty=len(self.get("required_items"))) self.enable_auto_reserve_stock() + def validate_dates(self): + if self.actual_start_date and self.actual_end_date: + if self.actual_end_date < self.actual_start_date: + frappe.throw(_("Actual End Date cannot be before Actual Start Date")) + def validate_fg_warehouse_for_reservation(self): if self.reserve_stock and self.sales_order: warehouses = frappe.get_all(