diff --git a/india_compliance/gst_india/overrides/subcontracting_transaction.py b/india_compliance/gst_india/overrides/subcontracting_transaction.py index 6024d19612..69469f5e42 100644 --- a/india_compliance/gst_india/overrides/subcontracting_transaction.py +++ b/india_compliance/gst_india/overrides/subcontracting_transaction.py @@ -168,17 +168,6 @@ def validate(doc, method=None): if ignore_gst_validation_for_subcontracting(doc): return - if (doc.doctype == "Stock Entry" and doc.purpose == "Material Transfer") or ( - doc.doctype == "Subcontracting Receipt" and not doc.is_return - ): - if not doc.doc_references: - frappe.throw( - _("Please Select Original Document Reference for ITC-04 Reporting"), - title=_("Mandatory Field"), - ) - else: - remove_duplicates(doc) - field_map = ( STOCK_ENTRY_FIELD_MAP if doc.doctype == "Stock Entry" @@ -195,6 +184,23 @@ def validate(doc, method=None): update_gst_details(doc) +def before_submit(doc, method=None): + # Stock Entries with Subcontracting Order should only be considered + if ignore_gst_validation_for_subcontracting(doc): + return + + if (doc.doctype == "Stock Entry" and doc.purpose == "Material Transfer") or ( + doc.doctype == "Subcontracting Receipt" and not doc.is_return + ): + if not doc.doc_references: + frappe.throw( + _("Please Select Original Document Reference for ITC-04 Reporting"), + title=_("Mandatory Field"), + ) + else: + remove_duplicates(doc) + + def validate_transaction(doc, method=None): validate_items(doc) diff --git a/india_compliance/hooks.py b/india_compliance/hooks.py index a570caeadf..78485ce809 100644 --- a/india_compliance/hooks.py +++ b/india_compliance/hooks.py @@ -234,6 +234,7 @@ "Stock Entry": { "onload": "india_compliance.gst_india.overrides.subcontracting_transaction.onload", "validate": "india_compliance.gst_india.overrides.subcontracting_transaction.validate", + "before_submit": "india_compliance.gst_india.overrides.subcontracting_transaction.before_submit", "after_mapping": "india_compliance.gst_india.overrides.subcontracting_transaction.after_mapping_stock_entry", }, "Subcontracting Order": { @@ -243,6 +244,7 @@ "Subcontracting Receipt": { "onload": "india_compliance.gst_india.overrides.subcontracting_transaction.onload", "validate": "india_compliance.gst_india.overrides.subcontracting_transaction.validate", + "before_submit": "india_compliance.gst_india.overrides.subcontracting_transaction.before_submit", "before_mapping": "india_compliance.gst_india.overrides.subcontracting_transaction.before_mapping_subcontracting_receipt", }, "Supplier": {