fix: Renamed child table doctype, delete taxes for non nexus state
diff --git a/erpnext/erpnext_integrations/doctype/taxjar_nexus_list/__init__.py b/erpnext/erpnext_integrations/doctype/taxjar_nexus/__init__.py
similarity index 100%
rename from erpnext/erpnext_integrations/doctype/taxjar_nexus_list/__init__.py
rename to erpnext/erpnext_integrations/doctype/taxjar_nexus/__init__.py
diff --git a/erpnext/erpnext_integrations/doctype/taxjar_nexus_list/taxjar_nexus_list.json b/erpnext/erpnext_integrations/doctype/taxjar_nexus/taxjar_nexus.json
similarity index 96%
rename from erpnext/erpnext_integrations/doctype/taxjar_nexus_list/taxjar_nexus_list.json
rename to erpnext/erpnext_integrations/doctype/taxjar_nexus/taxjar_nexus.json
index d543403..d4d4a51 100644
--- a/erpnext/erpnext_integrations/doctype/taxjar_nexus_list/taxjar_nexus_list.json
+++ b/erpnext/erpnext_integrations/doctype/taxjar_nexus/taxjar_nexus.json
@@ -42,7 +42,7 @@
"modified": "2021-09-14 05:33:06.444710",
"modified_by": "Administrator",
"module": "ERPNext Integrations",
- "name": "TaxJar Nexus List",
+ "name": "TaxJar Nexus",
"owner": "Administrator",
"permissions": [],
"sort_field": "modified",
diff --git a/erpnext/erpnext_integrations/doctype/taxjar_nexus_list/taxjar_nexus_list.py b/erpnext/erpnext_integrations/doctype/taxjar_nexus/taxjar_nexus.py
similarity index 84%
rename from erpnext/erpnext_integrations/doctype/taxjar_nexus_list/taxjar_nexus_list.py
rename to erpnext/erpnext_integrations/doctype/taxjar_nexus/taxjar_nexus.py
index b93be51..c24aa8c 100644
--- a/erpnext/erpnext_integrations/doctype/taxjar_nexus_list/taxjar_nexus_list.py
+++ b/erpnext/erpnext_integrations/doctype/taxjar_nexus/taxjar_nexus.py
@@ -5,5 +5,5 @@
from frappe.model.document import Document
-class TaxJarNexusList(Document):
+class TaxJarNexus(Document):
pass
diff --git a/erpnext/erpnext_integrations/doctype/taxjar_settings/taxjar_settings.json b/erpnext/erpnext_integrations/doctype/taxjar_settings/taxjar_settings.json
index da8e77f..ccbac2c 100644
--- a/erpnext/erpnext_integrations/doctype/taxjar_settings/taxjar_settings.json
+++ b/erpnext/erpnext_integrations/doctype/taxjar_settings/taxjar_settings.json
@@ -100,13 +100,13 @@
"fieldname": "nexus",
"fieldtype": "Table",
"label": "Nexus",
- "options": "TaxJar Nexus List",
+ "options": "TaxJar Nexus",
"read_only": 1
}
],
"issingle": 1,
"links": [],
- "modified": "2021-09-14 01:41:55.871028",
+ "modified": "2021-09-16 08:54:48.444487",
"modified_by": "Administrator",
"module": "ERPNext Integrations",
"name": "TaxJar Settings",
diff --git a/erpnext/erpnext_integrations/taxjar_integration.py b/erpnext/erpnext_integrations/taxjar_integration.py
index bd09557..2a7243c 100644
--- a/erpnext/erpnext_integrations/taxjar_integration.py
+++ b/erpnext/erpnext_integrations/taxjar_integration.py
@@ -4,7 +4,7 @@
import taxjar
from frappe import _
from frappe.contacts.doctype.address.address import get_company_address
-from frappe.utils import cint
+from frappe.utils import cint, flt
from erpnext import get_default_company
@@ -172,8 +172,7 @@
return
# check if delivering within a nexus
- if not frappe.db.get_value('TaxJar Nexus List', {'region_code': tax_dict["to_state"]})
- return
+ check_for_nexus(doc, tax_dict)
tax_data = validate_tax_request(tax_dict)
if tax_data is not None:
@@ -202,6 +201,17 @@
doc.run_method("calculate_taxes_and_totals")
+def check_for_nexus(doc, tax_dict):
+ if not frappe.db.get_value('TaxJar Nexus', {'region_code': tax_dict["to_state"]}):
+ for item in doc.get("items"):
+ item.tax_collectable = flt(0)
+ item.taxable_amount = flt(0)
+
+ for tax in doc.taxes:
+ if tax.account_head == TAX_ACCOUNT_HEAD:
+ doc.taxes.remove(tax)
+ return
+
def check_sales_tax_exemption(doc):
# if the party is exempt from sales tax, then set all tax account heads to zero
sales_tax_exempted = hasattr(doc, "exempt_from_sales_tax") and doc.exempt_from_sales_tax \