Duplication of tax_id while running bench update

Hi,

While running bench update today, I am facing issue with tax_id. I tried executing the commands given in:
Version 8 Upgrade Error - Tax_id - #6 by revant_one.

What is the exact command for frappe.delete_doc? I tried giving frappe.delete_doc(“Custom Field”, “Sales Invoice”) and frappe.delete_doc(“Custom Field”, “tax_id”) and frappe.delete_doc(“Sales Invoice”, tax_id), and I also went and deleted the field through Alter Table command on SQL. But, the bench update error is still the same.

What needs to be done? Please help.

Executing erpnext.patches.v8_1.setup_gst_india #2017-06-27 in site1.local (1bd3e0294d)
Traceback (most recent call last):
File “/usr/lib/python2.7/runpy.py”, line 162, in _run_module_as_main
main”, fname, loader, pkg_name)
File “/usr/lib/python2.7/runpy.py”, line 72, in _run_code
exec code in run_globals
File “/home/ubuntu/frappe-bench/apps/frappe/frappe/utils/bench_helper.py”, line 91, in
main()
File “/home/ubuntu/frappe-bench/apps/frappe/frappe/utils/bench_helper.py”, line 17, in main
click.Group(commands=commands)(prog_name=‘bench’)
File “/home/ubuntu/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py”, line 716, in call
return self.main(*args, **kwargs)
File “/home/ubuntu/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py”, line 696, in main
rv = self.invoke(ctx)
File “/home/ubuntu/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py”, line 1060, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File “/home/ubuntu/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py”, line 1060, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File “/home/ubuntu/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py”, line 889, in invoke
return ctx.invoke(self.callback, **ctx.params)
File “/home/ubuntu/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py”, line 534, in invoke
return callback(*args, **kwargs)
File “/home/ubuntu/frappe-bench/env/local/lib/python2.7/site-packages/click/decorators.py”, line 17, in new_func
return f(get_current_context(), *args, **kwargs)
File “/home/ubuntu/frappe-bench/apps/frappe/frappe/commands/init.py”, line 24, in _func
ret = f(frappe.dict(ctx.obj), *args, **kwargs)
File “/home/ubuntu/frappe-bench/apps/frappe/frappe/commands/site.py”, line 216, in migrate
migrate(context.verbose, rebuild_website=rebuild_website)
File “/home/ubuntu/frappe-bench/apps/frappe/frappe/migrate.py”, line 31, in migrate
frappe.modules.patch_handler.run_all()
File “/home/ubuntu/frappe-bench/apps/frappe/frappe/modules/patch_handler.py”, line 29, in run_all
if not run_single(patchmodule = patch):
File “/home/ubuntu/frappe-bench/apps/frappe/frappe/modules/patch_handler.py”, line 63, in run_single
return execute_patch(patchmodule, method, methodargs)
File “/home/ubuntu/frappe-bench/apps/frappe/frappe/modules/patch_handler.py”, line 83, in execute_patch
frappe.get_attr(patchmodule.split()[0] + “.execute”)()
File “/home/ubuntu/frappe-bench/apps/erpnext/erpnext/patches/v8_1/setup_gst_india.py”, line 16, in execute
setup(patch=True)
File “/home/ubuntu/frappe-bench/apps/erpnext/erpnext/regional/india/setup.py”, line 12, in setup
make_custom_fields()
File “/home/ubuntu/frappe-bench/apps/erpnext/erpnext/regional/india/setup.py”, line 114, in make_custom_fields
create_custom_field(doctype, df)
File “/home/ubuntu/frappe-bench/apps/frappe/frappe/custom/doctype/custom_field/custom_field.py”, line 102, in create_custom_field
“hidden”: df.hidden or 0
File “/home/ubuntu/frappe-bench/apps/frappe/frappe/model/document.py”, line 219, in insert
self.run_post_save_methods()
File “/home/ubuntu/frappe-bench/apps/frappe/frappe/model/document.py”, line 790, in run_post_save_methods
self.run_method(“on_update”)
File “/home/ubuntu/frappe-bench/apps/frappe/frappe/model/document.py”, line 666, in run_method
out = Document.hook(fn)(self, *args, **kwargs)
File “/home/ubuntu/frappe-bench/apps/frappe/frappe/model/document.py”, line 887, in composer
return composed(self, method, *args, **kwargs)
File “/home/ubuntu/frappe-bench/apps/frappe/frappe/model/document.py”, line 870, in runner
add_to_return_value(self, fn(self, *args, **kwargs))
File “/home/ubuntu/frappe-bench/apps/frappe/frappe/model/document.py”, line 660, in
fn = lambda self, *args, **kwargs: getattr(self, method)(*args, **kwargs)
File “/home/ubuntu/frappe-bench/apps/frappe/frappe/custom/doctype/custom_field/custom_field.py”, line 47, in on_update
validate_fields_for_doctype(self.dt)
File “/home/ubuntu/frappe-bench/apps/frappe/frappe/core/doctype/doctype/doctype.py”, line 380, in validate_fields_for_doctype
validate_fields(frappe.get_meta(doctype, cached=False))
File “/home/ubuntu/frappe-bench/apps/frappe/frappe/core/doctype/doctype/doctype.py”, line 600, in validate_fields
check_unique_fieldname(d.fieldname)
File “/home/ubuntu/frappe-bench/apps/frappe/frappe/core/doctype/doctype/doctype.py”, line 407, in check_unique_fieldname
frappe.throw(
(“Fieldname {0} appears multiple times in rows {1}”).format(fieldname, ", ".join(duplicates)))
File “/home/ubuntu/frappe-bench/apps/frappe/frappe/init.py”, line 320, in throw
msgprint(msg, raise_exception=exc, title=title, indicator=‘red’)
File “/home/ubuntu/frappe-bench/apps/frappe/frappe/init.py”, line 310, in msgprint
_raise_exception()
File “/home/ubuntu/frappe-bench/apps/frappe/frappe/init.py”, line 283, in _raise_exception
raise raise_exception(encode(msg))
frappe.exceptions.ValidationError: Fieldname tax_id appears multiple times in rows 6, 8

try frappe.delete_doc(“Custom Field”, “Sales Invoice-tax_id”) and if tax_id is in sales order execute frappe.delete_doc(“Custom Field”, “Sales Order-tax_id”)

Thanks a ton, Rohit. It worked… :slight_smile:

Hello,

I have kind of the same error, where do i run this command to delect duplicated field?

Hi @Dany_Carvalheiro,

It has to be run inside Bench Console, by writing frappe-bench$bench console

Check out this link.

Regards
Uma

Tried but nothing is happening
image

image

any help please

did you run bench update again?

you’ve to quit the bench console. Type quit in console and run bench update again
e.g.

:~/frappe-bench$ bench update