V15 Missing DocType Product Tax Category

Upgraded to v15 (from latest version of v14) - went smoothly for the most part. Documenting a problem I encountered and my solution. Hopefully was the right one…

Encountered the following error when trying to install-app webshop… Also when I clicked on Item under ERPNext would give me a Missing DocType Product Tax Category Error for custom field Item-product_tax_category…

An error occurred while installing webshop: Item: Options must be a valid DocType for field Product Tax Category in row 7
Traceback (most recent call last):
  File "apps/frappe/frappe/commands/site.py", line 462, in install_app
    _install_app(app, verbose=context.verbose, force=force)
  File "apps/frappe/frappe/installer.py", line 306, in install_app
    frappe.get_attr(after_install)()
  File "apps/webshop/webshop/setup/install.py", line 13, in after_install
    add_custom_fields()
  File "apps/webshop/webshop/setup/install.py", line 193, in add_custom_fields
    return create_custom_fields(custom_fields)
  File "apps/frappe/frappe/custom/doctype/custom_field/custom_field.py", line 326, in create_custom_fields
    create_custom_field(doctype, df, ignore_validate=ignore_validate)
  File "apps/frappe/frappe/custom/doctype/custom_field/custom_field.py", line 292, in create_custom_field
    custom_field.insert()
  File "apps/frappe/frappe/model/document.py", line 310, in insert
    self.run_post_save_methods()
  File "apps/frappe/frappe/model/document.py", line 1118, in run_post_save_methods
    self.run_method("on_update")
  File "apps/frappe/frappe/model/document.py", line 950, in run_method
    out = Document.hook(fn)(self, *args, **kwargs)
  File "apps/frappe/frappe/model/document.py", line 1316, in composer
    return composed(self, method, *args, **kwargs)
  File "apps/frappe/frappe/model/document.py", line 1298, in runner
    add_to_return_value(self, fn(self, *args, **kwargs))
  File "apps/frappe/frappe/model/document.py", line 947, in fn
    return method_object(*args, **kwargs)
  File "apps/frappe/frappe/custom/doctype/custom_field/custom_field.py", line 204, in on_update
    validate_fields_for_doctype(self.dt)
  File "apps/frappe/frappe/core/doctype/doctype/doctype.py", line 1176, in validate_fields_for_doctype
    validate_fields(meta)
  File "apps/frappe/frappe/core/doctype/doctype/doctype.py", line 1614, in validate_fields
    check_link_table_options(meta.get("name"), d)
  File "apps/frappe/frappe/core/doctype/doctype/doctype.py", line 1251, in check_link_table_options
    frappe.throw(
  File "apps/frappe/frappe/__init__.py", line 570, in throw
    msgprint(
  File "apps/frappe/frappe/__init__.py", line 542, in msgprint
    _raise_exception()
  File "apps/frappe/frappe/__init__.py", line 496, in _raise_exception
    raise exc
frappe.core.doctype.doctype.doctype.WrongOptionsDoctypeLinkError: Item: Options must be a valid DocType for field Product Tax Category in row 7

After some investigation found that V15 removes TaxJar integration and associated doctypes - including one called Product Tax Category . I had tried TaxJar on the website a while back and even though I uninstalled it - it likely had left behind a system generated custom field called Item-product_tax_category which was referring to this DocType under options. I deleted the custom field and seems to resolve the issue. I hope was safe to delete. Appreciate any feedback.

In case it is of help to anybody else and also for my documentation.

3 Likes

@zerodiscount Thanks for sharing the information. it will be helpful to others who may face a problem during upgrade process.

Hi,

I’m having a similar issue with system generated fields:

I had to remove the lending app due to the fact that it disables the banking reconciliation tool. Now I cannot create invoices because there is a “loan” field in invoices that now points to a non-existent doctype.

How can I remove the field?