diff --git a/erpnext/manufacturing/doctype/job_card/job_card.js b/erpnext/manufacturing/doctype/job_card/job_card.js index dedc7c20966..8948cf6eeb3 100644 --- a/erpnext/manufacturing/doctype/job_card/job_card.js +++ b/erpnext/manufacturing/doctype/job_card/job_card.js @@ -597,8 +597,7 @@ frappe.ui.form.on("Job Card", { const has_remaining_qty = doc.for_quantity + doc.process_loss_qty > doc.total_completed_qty; const pending_transfer = has_items && doc.items.some((row) => flt(row.transferred_qty) < flt(row.required_qty)); - const materials_ready = - doc.skip_material_transfer || !pending_transfer || !doc.finished_good || !has_items; + const materials_ready = doc.skip_material_transfer || !pending_transfer; let last_row = {}; const has_sub_ops_or_pending_qty = doc.sub_operations?.length || doc.pending_qty > 0; diff --git a/erpnext/manufacturing/doctype/job_card/job_card.py b/erpnext/manufacturing/doctype/job_card/job_card.py index 1271f1b6117..bc52de3f836 100644 --- a/erpnext/manufacturing/doctype/job_card/job_card.py +++ b/erpnext/manufacturing/doctype/job_card/job_card.py @@ -1692,6 +1692,7 @@ class JobCard(Document): frappe.has_permission("Job Card", "write", doc=self, throw=True) self.validate_docstatus() + self.validate_transfer_qty() if isinstance(kwargs, dict): kwargs = frappe._dict(kwargs) @@ -1707,6 +1708,7 @@ class JobCard(Document): frappe.has_permission("Job Card", "write", doc=self, throw=True) self.validate_docstatus() + self.validate_transfer_qty() if isinstance(kwargs, dict): kwargs = frappe._dict(kwargs)