i am using pos for dubai location but when i am having any item with vat/tax it generates following error
" AttributeError: ‘NoneType’ object has no attribute ‘fieldtype’ "
Detail error is as follows
Traceback (most recent call last):
File “/opt/erpnext/erpnext/apps/frappe/frappe/desk/form/save.py”, line 19, in savedocs
doc.submit()
File “/opt/erpnext/erpnext/apps/frappe/frappe/model/document.py”, line 901, in submit
self._submit()
File “/opt/erpnext/erpnext/apps/frappe/frappe/model/document.py”, line 890, in _submit
self.save()
File “/opt/erpnext/erpnext/apps/frappe/frappe/model/document.py”, line 285, in save
return self._save(*args, **kwargs)
File “/opt/erpnext/erpnext/apps/frappe/frappe/model/document.py”, line 307, in _save
self.insert()
File “/opt/erpnext/erpnext/apps/frappe/frappe/model/document.py”, line 238, in insert
self.run_before_save_methods()
File “/opt/erpnext/erpnext/apps/frappe/frappe/model/document.py”, line 934, in run_before_save_methods
self.run_method(“validate”)
File “/opt/erpnext/erpnext/apps/frappe/frappe/model/document.py”, line 831, in run_method
out = Document.hook(fn)(self, *args, **kwargs)
File “/opt/erpnext/erpnext/apps/frappe/frappe/model/document.py”, line 1116, in composer
return composed(self, method, *args, **kwargs)
File “/opt/erpnext/erpnext/apps/frappe/frappe/model/document.py”, line 1099, in runner
add_to_return_value(self, fn(self, *args, **kwargs))
File “/opt/erpnext/erpnext/apps/frappe/frappe/model/document.py”, line 825, in
fn = lambda self, *args, **kwargs: getattr(self, method)(*args, **kwargs)
File “/opt/erpnext/erpnext/apps/erpnext/erpnext/accounts/doctype/pos_invoice/pos_invoice.py”, line 30, in validate
super(SalesInvoice, self).validate()
File “/opt/erpnext/erpnext/apps/erpnext/erpnext/controllers/selling_controller.py”, line 40, in validate
super(SellingController, self).validate()
File “/opt/erpnext/erpnext/apps/erpnext/erpnext/controllers/stock_controller.py”, line 21, in validate
super(StockController, self).validate()
File “/opt/erpnext/erpnext/apps/erpnext/erpnext/controllers/accounts_controller.py”, line 78, in validate
self.calculate_taxes_and_totals()
File “/opt/erpnext/erpnext/apps/erpnext/erpnext/controllers/accounts_controller.py”, line 181, in calculate_taxes_and_totals
calculate_taxes_and_totals(self)
File “/opt/erpnext/erpnext/apps/erpnext/erpnext/controllers/taxes_and_totals.py”, line 17, in init
self.calculate()
File “/opt/erpnext/erpnext/apps/erpnext/erpnext/controllers/taxes_and_totals.py”, line 34, in calculate
self.set_item_wise_tax_breakup()
File “/opt/erpnext/erpnext/apps/erpnext/erpnext/controllers/taxes_and_totals.py”, line 630, in set_item_wise_tax_breakup
self.doc.other_charges_calculation = get_itemised_tax_breakup_html(self.doc)
File “/opt/erpnext/erpnext/apps/erpnext/erpnext/controllers/taxes_and_totals.py”, line 670, in get_itemised_tax_breakup_html
update_itemised_tax_data(doc)
File “/opt/erpnext/erpnext/apps/erpnext/erpnext/init.py”, line 129, in caller
return frappe.get_attr(regional_overrides[region][fn_name])(*args, **kwargs)
File “/opt/erpnext/erpnext/apps/erpnext/erpnext/regional/united_arab_emirates/utils.py”, line 27, in update_itemised_tax_data
row.tax_rate = flt(tax_rate, row.precision(“tax_rate”))
File “/opt/erpnext/erpnext/apps/frappe/frappe/model/base_document.py”, line 786, in precision
if df.fieldtype in (“Currency”, “Float”, “Percent”):
AttributeError: ‘NoneType’ object has no attribute ‘fieldtype’
request.js:356:14
Traceback (most recent call last):
File “/opt/erpnext/erpnext/apps/frappe/frappe/app.py”, line 64, in application
response = frappe.api.handle()
File “/opt/erpnext/erpnext/apps/frappe/frappe/api.py”, line 58, in handle
return frappe.handler.handle()
File “/opt/erpnext/erpnext/apps/frappe/frappe/handler.py”, line 30, in handle
data = execute_cmd(cmd)
File “/opt/erpnext/erpnext/apps/frappe/frappe/handler.py”, line 70, in execute_cmd
return frappe.call(method, **frappe.form_dict)
File “/opt/erpnext/erpnext/apps/frappe/frappe/init.py”, line 1111, in call
return fn(*args, **newargs)
File “/opt/erpnext/erpnext/apps/frappe/frappe/desk/form/save.py”, line 19, in savedocs
doc.submit()
File “/opt/erpnext/erpnext/apps/frappe/frappe/model/document.py”, line 901, in submit
self._submit()
File “/opt/erpnext/erpnext/apps/frappe/frappe/model/document.py”, line 890, in _submit
self.save()
File “/opt/erpnext/erpnext/apps/frappe/frappe/model/document.py”, line 285, in save
return self._save(*args, **kwargs)
File “/opt/erpnext/erpnext/apps/frappe/frappe/model/document.py”, line 307, in _save
self.insert()
File “/opt/erpnext/erpnext/apps/frappe/frappe/model/document.py”, line 238, in insert
self.run_before_save_methods()
File “/opt/erpnext/erpnext/apps/frappe/frappe/model/document.py”, line 934, in run_before_save_methods
self.run_method(“validate”)
File “/opt/erpnext/erpnext/apps/frappe/frappe/model/document.py”, line 831, in run_method
out = Document.hook(fn)(self, *args, **kwargs)
File “/opt/erpnext/erpnext/apps/frappe/frappe/model/document.py”, line 1116, in composer
return composed(self, method, *args, **kwargs)
File “/opt/erpnext/erpnext/apps/frappe/frappe/model/document.py”, line 1099, in runner
add_to_return_value(self, fn(self, *args, **kwargs))
File “/opt/erpnext/erpnext/apps/frappe/frappe/model/document.py”, line 825, in
fn = lambda self, *args, **kwargs: getattr(self, method)(*args, **kwargs)
File “/opt/erpnext/erpnext/apps/erpnext/erpnext/accounts/doctype/pos_invoice/pos_invoice.py”, line 30, in validate
super(SalesInvoice, self).validate()
File “/opt/erpnext/erpnext/apps/erpnext/erpnext/controllers/selling_controller.py”, line 40, in validate
super(SellingController, self).validate()
File “/opt/erpnext/erpnext/apps/erpnext/erpnext/controllers/stock_controller.py”, line 21, in validate
super(StockController, self).validate()
File “/opt/erpnext/erpnext/apps/erpnext/erpnext/controllers/accounts_controller.py”, line 78, in validate
self.calculate_taxes_and_totals()
File “/opt/erpnext/erpnext/apps/erpnext/erpnext/controllers/accounts_controller.py”, line 181, in calculate_taxes_and_totals
calculate_taxes_and_totals(self)
File “/opt/erpnext/erpnext/apps/erpnext/erpnext/controllers/taxes_and_totals.py”, line 17, in init
self.calculate()
File “/opt/erpnext/erpnext/apps/erpnext/erpnext/controllers/taxes_and_totals.py”, line 34, in calculate
self.set_item_wise_tax_breakup()
File “/opt/erpnext/erpnext/apps/erpnext/erpnext/controllers/taxes_and_totals.py”, line 630, in set_item_wise_tax_breakup
self.doc.other_charges_calculation = get_itemised_tax_breakup_html(self.doc)
File “/opt/erpnext/erpnext/apps/erpnext/erpnext/controllers/taxes_and_totals.py”, line 670, in get_itemised_tax_breakup_html
update_itemised_tax_data(doc)
File “/opt/erpnext/erpnext/apps/erpnext/erpnext/init.py”, line 129, in caller
return frappe.get_attr(regional_overrides[region][fn_name])(*args, **kwargs)
File “/opt/erpnext/erpnext/apps/erpnext/erpnext/regional/united_arab_emirates/utils.py”, line 27, in update_itemised_tax_data
row.tax_rate = flt(tax_rate, row.precision(“tax_rate”))
File “/opt/erpnext/erpnext/apps/frappe/frappe/model/base_document.py”, line 786, in precision
if df.fieldtype in (“Currency”, “Float”, “Percent”):
AttributeError: ‘NoneType’ object has no attribute ‘fieldtype’
Do you Know how to solve this