fix: Added company field, filtered account heads
(cherry picked from commit 902c03cd375c7b1b2f35cff4dfbc5f1ff3e4cd56)
diff --git a/erpnext/erpnext_integrations/doctype/taxjar_settings/taxjar_settings.js b/erpnext/erpnext_integrations/doctype/taxjar_settings/taxjar_settings.js
index d495989..a362ba1 100644
--- a/erpnext/erpnext_integrations/doctype/taxjar_settings/taxjar_settings.js
+++ b/erpnext/erpnext_integrations/doctype/taxjar_settings/taxjar_settings.js
@@ -7,6 +7,23 @@
frm.toggle_reqd("sandbox_api_key", frm.doc.is_sandbox);
},
+ on_load: (frm) => {
+ frm.set_query('shipping_account_head', function() {
+ return {
+ filters: {
+ 'company': frm.doc.current_company
+ }
+ };
+ });
+ frm.set_query('tax_account_head', function() {
+ return {
+ filters: {
+ 'company': frm.doc.current_company
+ }
+ };
+ });
+ },
+
refresh: (frm) => {
frm.add_custom_button(__('Update Nexus List'), function() {
frm.call({
diff --git a/erpnext/erpnext_integrations/doctype/taxjar_settings/taxjar_settings.json b/erpnext/erpnext_integrations/doctype/taxjar_settings/taxjar_settings.json
index 2d17f2e..1fda892 100644
--- a/erpnext/erpnext_integrations/doctype/taxjar_settings/taxjar_settings.json
+++ b/erpnext/erpnext_integrations/doctype/taxjar_settings/taxjar_settings.json
@@ -14,6 +14,8 @@
"cb_keys",
"sandbox_api_key",
"configuration",
+ "current_company",
+ "column_break_10",
"tax_account_head",
"configuration_cb",
"shipping_account_head",
@@ -68,10 +70,6 @@
"label": "Sandbox API Key"
},
{
- "fieldname": "configuration_cb",
- "fieldtype": "Column Break"
- },
- {
"default": "0",
"depends_on": "taxjar_calculate_tax",
"fieldname": "taxjar_create_transactions",
@@ -104,11 +102,25 @@
"label": "Nexus",
"options": "TaxJar Nexus",
"read_only": 1
+ },
+ {
+ "fieldname": "current_company",
+ "fieldtype": "Link",
+ "label": "Company",
+ "options": "Company"
+ },
+ {
+ "fieldname": "configuration_cb",
+ "fieldtype": "Column Break"
+ },
+ {
+ "fieldname": "column_break_10",
+ "fieldtype": "Column Break"
}
],
"issingle": 1,
"links": [],
- "modified": "2021-10-06 10:59:13.475442",
+ "modified": "2021-11-08 14:40:15.684224",
"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 39aac0c..794b281 100644
--- a/erpnext/erpnext_integrations/taxjar_integration.py
+++ b/erpnext/erpnext_integrations/taxjar_integration.py
@@ -19,6 +19,8 @@
'IN', 'IA', 'KS', 'KY', 'LA', 'ME', 'MD', 'MA', 'MI', 'MN', 'MS', 'MO', 'MT', 'NE',
'NV', 'NH', 'NJ', 'NM', 'NY', 'NC', 'ND', 'OH', 'OK', 'OR', 'PA', 'RI', 'SC', 'SD',
'TN', 'TX', 'UT', 'VT', 'VA', 'WA', 'WV', 'WI', 'WY']
+USA_COMPANIES = frappe.get_all('Company', filters = {'country': 'United States'}, fields=['name'], pluck='name')
+
def get_client():
@@ -158,6 +160,10 @@
if not TAXJAR_CALCULATE_TAX:
return
+ taxjar_settings_company = frappe.db.get_single_value('TaxJar Settings','current_company')
+ if taxjar_settings_company not in USA_COMPANIES:
+ return
+
if not doc.items:
return
diff --git a/erpnext/patches/v13_0/custom_fields_for_taxjar_integration.py b/erpnext/patches/v13_0/custom_fields_for_taxjar_integration.py
index 1625e4f..775e4d8 100644
--- a/erpnext/patches/v13_0/custom_fields_for_taxjar_integration.py
+++ b/erpnext/patches/v13_0/custom_fields_for_taxjar_integration.py
@@ -28,6 +28,10 @@
'Item': [
dict(fieldname='product_tax_category', fieldtype='Link', insert_after='item_group', options='Product Tax Category',
label='Product Tax Category')
+ ],
+ 'TaxJar Settings': [
+ dict(fieldname='current_company', fieldtype='Link', insert_after='configuration', options='Company',
+ label='Company')
]
}
create_custom_fields(custom_fields, update=True)