From dafce77a91bdf51ba79d1fdc5be75d28f93f3c17 Mon Sep 17 00:00:00 2001 From: Sanket322 Date: Mon, 20 May 2024 18:44:19 +0530 Subject: [PATCH] fix: data not generated in error_code and patch --- .../gst_india/api_classes/returns.py | 2 +- .../gst_india/utils/gstr_2/__init__.py | 8 ++++++ india_compliance/patches.txt | 1 + ...tr_import_log_with_error_type_RET2B1023.py | 26 +++++++++++++++++++ 4 files changed, 36 insertions(+), 1 deletion(-) create mode 100644 india_compliance/patches/v14/delete_gstr_import_log_with_error_type_RET2B1023.py diff --git a/india_compliance/gst_india/api_classes/returns.py b/india_compliance/gst_india/api_classes/returns.py index c575b838aa..eddbd5d999 100644 --- a/india_compliance/gst_india/api_classes/returns.py +++ b/india_compliance/gst_india/api_classes/returns.py @@ -222,7 +222,7 @@ class ReturnsAPI(ReturnsAuthenticate): "RET13508": "no_docs_found", "RET13509": "no_docs_found", "RET13510": "no_docs_found", - "RET2B1023": "no_docs_found", + "RET2B1023": "not_generated", "RET2B1016": "no_docs_found", "RT-3BAS1009": "no_docs_found", "RET2B1018": "requested_before_cutoff_date", diff --git a/india_compliance/gst_india/utils/gstr_2/__init__.py b/india_compliance/gst_india/utils/gstr_2/__init__.py index f73fc30796..7d684ad7c0 100644 --- a/india_compliance/gst_india/utils/gstr_2/__init__.py +++ b/india_compliance/gst_india/utils/gstr_2/__init__.py @@ -82,6 +82,10 @@ def download_gstr_2a(gstin, return_periods, otp=None, gst_categories=None): if response.error_type in ["otp_requested", "invalid_otp"]: return response + if response.error_type == "not_generated": + frappe.msgprint("No data has found for {0}".format(return_period)) + continue + if response.error_type == "no_docs_found": create_import_log( gstin, @@ -150,6 +154,10 @@ def download_gstr_2b(gstin, return_periods, otp=None): if response.error_type in ["otp_requested", "invalid_otp"]: return response + if response.error_type == "not_generated": + frappe.msgprint("No data has found for {0}".format(return_period)) + continue + if response.error_type == "no_docs_found": create_import_log( gstin, ReturnType.GSTR2B.value, return_period, data_not_found=True diff --git a/india_compliance/patches.txt b/india_compliance/patches.txt index a19dfa451e..ced3778135 100644 --- a/india_compliance/patches.txt +++ b/india_compliance/patches.txt @@ -47,3 +47,4 @@ execute:from erpnext.stock.doctype.repost_item_valuation.repost_item_valuation i india_compliance.patches.v14.set_item_details_from_purchase_invoice_to_bill_of_entry india_compliance.patches.v14.update_item_gst_details_and_gst_trearment_in_bill_of_entry india_compliance.patches.v14.update_default_auto_reconciliation_settings +india_compliance.patches.v14.delete_gstr_import_log_with_error_type_RET2B1023 diff --git a/india_compliance/patches/v14/delete_gstr_import_log_with_error_type_RET2B1023.py b/india_compliance/patches/v14/delete_gstr_import_log_with_error_type_RET2B1023.py new file mode 100644 index 0000000000..51225926dc --- /dev/null +++ b/india_compliance/patches/v14/delete_gstr_import_log_with_error_type_RET2B1023.py @@ -0,0 +1,26 @@ +import json + +import frappe + + +def execute(): + requests = frappe.get_list( + "Integration Request", + filters={"url": ("like", "%gstr2b%"), "data": ("!=", ""), "output": ("!=", "")}, + fields=["data", "output"], + ) + + for request in requests: + request_data = json.loads(request.data) + response = json.loads(request.output) + + error = response.get("error", {}) + if error.get("error_cd", "") == "RET2B1023": + frappe.db.delete( + "GSTR Import Log", + filters={ + "data_not_found": 1, + "gstin": request_data.get("gstin", ""), + "return_period": request_data.get("rtnprd", ""), + }, + )