[Release Notes] ERPNext Version 13 has been released

I previously used to enter

sudo python3 install.py --production for installing v12

or

python3 install.py --verbose --production --frappe-branch version-13-beta --erpnext-branch version-13-beta

Now what command should i run in case of fresh install of v13

Fantastic :smiling_face_with_three_hearts: , Superb , Awesome :sunglasses: , Fabulous :heart_eyes: , Ground Breaking ( since v11, it has always been refreshing change for major version !!) :partying_face:

Truly Amazing :star_struck:

Kudos to Team Frappe for coming up with original , innovative ideas :clap::+1:

missing ERPNext conference , hence sharing here :cake: :tropical_drink: :joy:

I am sure this version is ERP market disruptive.

11 Likes

Does Frappe Cloud automatically update to the latest release? Currently was running in v13-beta.

It would have been great if the immutable ledger was also implemented along with this version ,

as the problem with the accounts in profit and loss statement caused by stock transfers and back dated entries or cancel /amended documents still persists.

We were hoping 13 versions would have been sufficient to resolve an issue directly effecting the accuracy of the accounts . An elegant solution has also been given by the community but it has yet to be worked on at a larger scale .

On a positive note this version is truly amazing with the new and refreshing changes and few other critical issues addressed -
Massive Kudos to the core team ! :clap:
Hoping for the resolution of this issue as well soon :angel::slightly_smiling_face:

1 Like

ref…

4 Likes

I just successfully installed ERPNext v13 with this commands on Debian 10.

sudo apt -y install git vim libffi-dev python-pip python3-distutils python-dev libssl-dev wkhtmltopdf
export LC_ALL=C.UTF-8
wget https://raw.githubusercontent.com/frappe/bench/develop/install.py
sudo python3 install.py --verbose --production --user USER --mariadb-version 10.5 --frappe-branch version-13 --erpnext-branch version-13
8 Likes

That’s great!

Upgrade to v13 , I see that GST is now showing , yet my default country does not use GST.
How do I disable this feature ?

hi guys,
am trying to update my system but when I typed the first command it threwan error below and I cant continue with any other command… kindly help

Traceback (most recent call last):
File “/usr/local/bin/bench”, line 11, in
sys.exit(cli())
File “/usr/local/lib/python2.7/dist-packages/bench/cli.py”, line 48, in cli
if sys.argv[1] in get_frappe_commands() + [“–site”, “–verbose”, “–force”, “–profile”]:
TypeError: unsupported operand type(s) for +: ‘NoneType’ and ‘list’

this command solved…

./env/bin/pip install psutil

2 Likes

wow wow… awesome and professional UX!! Am happy now…


Than you erpnext team…!!

2 Likes

This has been addressed in v13

1 Like

GST implementation is specific to India. If your company is not based on India, then it should not be shown.
Which documents or reports you can see which are unexpected?
For an immediate fix, you can remove the permission for that document.

It will soon be available on frappe cloud.

2 Likes

Hi

@nabinhait

I am getting below error when I use command bench update

Patching sites…
Migrating site1.local
Executing erpnext.patches.v13_0.create_uae_pos_invoice_fields in site1.local (_1bd3e0294da19198)
Traceback (most recent call last):
File “/usr/lib/python3.6/runpy.py”, line 193, in _run_module_as_main
main”, mod_spec)
File “/usr/lib/python3.6/runpy.py”, line 85, in _run_code
exec(code, run_globals)
File “/home/frappe/frappe-bench/apps/frappe/frappe/utils/bench_helper.py”, line 101, in
main()
File “/home/frappe/frappe-bench/apps/frappe/frappe/utils/bench_helper.py”, line 18, in main
click.Group(commands=commands)(prog_name=‘bench’)
File “/home/frappe/frappe-bench/env/lib/python3.6/site-packages/click/core.py”, line 764, in call
return self.main(*args, **kwargs)
File “/home/frappe/frappe-bench/env/lib/python3.6/site-packages/click/core.py”, line 717, in main
rv = self.invoke(ctx)
File “/home/frappe/frappe-bench/env/lib/python3.6/site-packages/click/core.py”, line 1137, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File “/home/frappe/frappe-bench/env/lib/python3.6/site-packages/click/core.py”, line 1137, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File “/home/frappe/frappe-bench/env/lib/python3.6/site-packages/click/core.py”, line 956, in invoke
return ctx.invoke(self.callback, **ctx.params)
File “/home/frappe/frappe-bench/env/lib/python3.6/site-packages/click/core.py”, line 555, in invoke
return callback(*args, **kwargs)
File “/home/frappe/frappe-bench/env/lib/python3.6/site-packages/click/decorators.py”, line 17, in new_func
return f(get_current_context(), *args, **kwargs)
File “/home/frappe/frappe-bench/apps/frappe/frappe/commands/init.py”, line 27, in func
ret = f(frappe.dict(ctx.obj), *args, **kwargs)
File “/home/frappe/frappe-bench/apps/frappe/frappe/commands/site.py”, line 300, in migrate
skip_search_index=skip_search_index
File “/home/frappe/frappe-bench/apps/frappe/frappe/migrate.py”, line 67, in migrate
frappe.modules.patch_handler.run_all(skip_failing)
File “/home/frappe/frappe-bench/apps/frappe/frappe/modules/patch_handler.py”, line 41, in run_all
run_patch(patch)
File “/home/frappe/frappe-bench/apps/frappe/frappe/modules/patch_handler.py”, line 30, in run_patch
if not run_single(patchmodule = patch):
File “/home/frappe/frappe-bench/apps/frappe/frappe/modules/patch_handler.py”, line 71, in run_single
return execute_patch(patchmodule, method, methodargs)
File “/home/frappe/frappe-bench/apps/frappe/frappe/modules/patch_handler.py”, line 91, in execute_patch
frappe.get_attr(patchmodule.split()[0] + “.execute”)()
File “/home/frappe/frappe-bench/apps/erpnext/erpnext/patches/v13_0/create_uae_pos_invoice_fields.py”, line 14, in execute
make_custom_fields()
File “/home/frappe/frappe-bench/apps/erpnext/erpnext/regional/united_arab_emirates/setup.py”, line 130, in make_custom_fields
create_custom_fields(custom_fields)
File “/home/frappe/frappe-bench/apps/frappe/frappe/custom/doctype/custom_field/custom_field.py”, line 151, in create_custom_fields
create_custom_field(doctype, df, ignore_validate=ignore_validate)
File “/home/frappe/frappe-bench/apps/frappe/frappe/custom/doctype/custom_field/custom_field.py”, line 135, in create_custom_field
custom_field.insert()
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 230, in insert
self.run_method(“before_insert”)
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 847, in run_method
out = Document.hook(fn)(self, *args, **kwargs)
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 1136, in composer
return composed(self, method, *args, **kwargs)
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 1119, in runner
add_to_return_value(self, fn(self, *args, **kwargs))
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 841, in
fn = lambda self, *args, **kwargs: getattr(self, method)(*args, **kwargs)
File “/home/frappe/frappe-bench/apps/frappe/frappe/custom/doctype/custom_field/custom_field.py”, line 36, in before_insert
meta = frappe.get_meta(self.dt, cached=False)
File “/home/frappe/frappe-bench/apps/frappe/frappe/init.py”, line 852, in get_meta
return frappe.model.meta.get_meta(doctype, cached=cached)
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/meta.py”, line 43, in get_meta
return load_meta(doctype)
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/meta.py”, line 46, in load_meta
return Meta(doctype)
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/meta.py”, line 83, in init
super(Meta, self).init(“DocType”, doctype)
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 112, in init
self.load_from_db()
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/meta.py”, line 88, in load_from_db
super(Meta, self).load_from_db()
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 155, in load_from_db
frappe.throw(
(“{0} {1} not found”).format(
(self.doctype), self.name), frappe.DoesNotExistError)
File “/home/frappe/frappe-bench/apps/frappe/frappe/init.py”, line 424, in throw
msgprint(msg, raise_exception=exc, title=title, indicator=‘red’, is_minimizable=is_minimizable, wide=wide, as_list=as_list)
File “/home/frappe/frappe-bench/apps/frappe/frappe/init.py”, line 403, in msgprint
_raise_exception()
File “/home/frappe/frappe-bench/apps/frappe/frappe/init.py”, line 357, in _raise_exception
raise raise_exception(msg)
frappe.exceptions.DoesNotExistError: DocType POS Invoice not found

also get internal server error when try to test it

image

Note that I am upgrading from ERPNext:** v12.19.0 (version-12) installed on VirtualBox machine and and my backup is restored from ERP cloud to virtualBox machine

I’m having the same error. Submitted a bug:

Thanks for reporting.

We will push a fix as soon as possible.

But for now, you can run the following from the console to fix the issue.

frappe.reload_doc('accounts', 'doctype', 'pos_invoice')

To access the console, run bench --site <your-site-name> console

2 Likes
In [1]: frappe.reload_doc('accounts', 'doctype', 'pos_invoice')
   ...: 
Out[1]: True

re-ran bench update, still got a different error:

Executing erpnext.patches.v13_0.create_uae_pos_invoice_fields in erp.hakengineering.org (_c5b6d1c07f7eafbe)
Traceback (most recent call last):
File “/usr/lib64/python3.7/runpy.py”, line 193, in _run_module_as_main
main”, mod_spec)
File “/usr/lib64/python3.7/runpy.py”, line 85, in _run_code
exec(code, run_globals)
File “/opt/bench/erpnext/apps/frappe/frappe/utils/bench_helper.py”, line 101, in
main()
File “/opt/bench/erpnext/apps/frappe/frappe/utils/bench_helper.py”, line 18, in main
click.Group(commands=commands)(prog_name=‘bench’)
File “/opt/bench/erpnext/env/lib/python3.7/site-packages/click/core.py”, line 764, in call
return self.main(*args, **kwargs)
File “/opt/bench/erpnext/env/lib/python3.7/site-packages/click/core.py”, line 717, in main
rv = self.invoke(ctx)
File “/opt/bench/erpnext/env/lib/python3.7/site-packages/click/core.py”, line 1137, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File “/opt/bench/erpnext/env/lib/python3.7/site-packages/click/core.py”, line 1137, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File “/opt/bench/erpnext/env/lib/python3.7/site-packages/click/core.py”, line 956, in invoke
return ctx.invoke(self.callback, **ctx.params)
File “/opt/bench/erpnext/env/lib/python3.7/site-packages/click/core.py”, line 555, in invoke
return callback(*args, **kwargs)
File “/opt/bench/erpnext/env/lib/python3.7/site-packages/click/decorators.py”, line 17, in new_func
return f(get_current_context(), *args, **kwargs)
File “/opt/bench/erpnext/apps/frappe/frappe/commands/init.py”, line 27, in func
ret = f(frappe.dict(ctx.obj), *args, **kwargs)
File “/opt/bench/erpnext/apps/frappe/frappe/commands/site.py”, line 300, in migrate
skip_search_index=skip_search_index
File “/opt/bench/erpnext/apps/frappe/frappe/migrate.py”, line 67, in migrate
frappe.modules.patch_handler.run_all(skip_failing)
File “/opt/bench/erpnext/apps/frappe/frappe/modules/patch_handler.py”, line 41, in run_all
run_patch(patch)
File “/opt/bench/erpnext/apps/frappe/frappe/modules/patch_handler.py”, line 30, in run_patch
if not run_single(patchmodule = patch):
File “/opt/bench/erpnext/apps/frappe/frappe/modules/patch_handler.py”, line 71, in run_single
return execute_patch(patchmodule, method, methodargs)
File “/opt/bench/erpnext/apps/frappe/frappe/modules/patch_handler.py”, line 91, in execute_patch
frappe.get_attr(patchmodule.split()[0] + “.execute”)()
File “/opt/bench/erpnext/apps/erpnext/erpnext/patches/v13_0/create_uae_pos_invoice_fields.py”, line 14, in execute
make_custom_fields()
File “/opt/bench/erpnext/apps/erpnext/erpnext/regional/united_arab_emirates/setup.py”, line 130, in make_custom_fields
create_custom_fields(custom_fields)
File “/opt/bench/erpnext/apps/frappe/frappe/custom/doctype/custom_field/custom_field.py”, line 151, in create_custom_fields
create_custom_field(doctype, df, ignore_validate=ignore_validate)
File “/opt/bench/erpnext/apps/frappe/frappe/custom/doctype/custom_field/custom_field.py”, line 135, in create_custom_field
custom_field.insert()
File “/opt/bench/erpnext/apps/frappe/frappe/model/document.py”, line 267, in insert
self.run_post_save_methods()
File “/opt/bench/erpnext/apps/frappe/frappe/model/document.py”, line 982, in run_post_save_methods
self.run_method(“on_update”)
File “/opt/bench/erpnext/apps/frappe/frappe/model/document.py”, line 847, in run_method
out = Document.hook(fn)(self, *args, **kwargs)
File “/opt/bench/erpnext/apps/frappe/frappe/model/document.py”, line 1136, in composer
return composed(self, method, *args, **kwargs)
File “/opt/bench/erpnext/apps/frappe/frappe/model/document.py”, line 1119, in runner
add_to_return_value(self, fn(self, *args, **kwargs))
File “/opt/bench/erpnext/apps/frappe/frappe/model/document.py”, line 841, in
fn = lambda self, *args, **kwargs: getattr(self, method)(*args, **kwargs)
File “/opt/bench/erpnext/apps/frappe/frappe/custom/doctype/custom_field/custom_field.py”, line 69, in on_update
validate_fields_for_doctype(self.dt)
File “/opt/bench/erpnext/apps/frappe/frappe/core/doctype/doctype/doctype.py”, line 686, in validate_fields_for_doctype
validate_fields(meta)
File “/opt/bench/erpnext/apps/frappe/frappe/core/doctype/doctype/doctype.py”, line 993, in validate_fields
check_child_table_option(d)
File “/opt/bench/erpnext/apps/frappe/frappe/core/doctype/doctype/doctype.py”, line 959, in check_child_table_option
meta = frappe.get_meta(doctype)
File “/opt/bench/erpnext/apps/frappe/frappe/init.py”, line 852, in get_meta
return frappe.model.meta.get_meta(doctype, cached=cached)
File “/opt/bench/erpnext/apps/frappe/frappe/model/meta.py”, line 37, in get_meta
meta = Meta(doctype)
File “/opt/bench/erpnext/apps/frappe/frappe/model/meta.py”, line 83, in init
super(Meta, self).init(“DocType”, doctype)
File “/opt/bench/erpnext/apps/frappe/frappe/model/document.py”, line 112, in init
self.load_from_db()
File “/opt/bench/erpnext/apps/frappe/frappe/model/meta.py”, line 88, in load_from_db
super(Meta, self).load_from_db()
File “/opt/bench/erpnext/apps/frappe/frappe/model/document.py”, line 155, in load_from_db
frappe.throw(
(“{0} {1} not found”).format(
(self.doctype), self.name), frappe.DoesNotExistError)
File “/opt/bench/erpnext/apps/frappe/frappe/init.py”, line 424, in throw
msgprint(msg, raise_exception=exc, title=title, indicator=‘red’, is_minimizable=is_minimizable, wide=wide, as_list=as_list)
File “/opt/bench/erpnext/apps/frappe/frappe/init.py”, line 403, in msgprint
_raise_exception()
File “/opt/bench/erpnext/apps/frappe/frappe/init.py”, line 357, in _raise_exception
raise raise_exception(msg)
frappe.exceptions.DoesNotExistError: DocType POS Invoice Item not found

Then I ran

frappe.reload_doc(‘accounts’, ‘doctype’, ‘pos_invoice_item’)

that solved the issue

@nabinhait Now a new error:

Updating customizations for Contact
Traceback (most recent call last):
File “/usr/lib64/python3.7/runpy.py”, line 193, in _run_module_as_main
main”, mod_spec)
File “/usr/lib64/python3.7/runpy.py”, line 85, in _run_code
exec(code, run_globals)
File “/opt/bench/erpnext/apps/frappe/frappe/utils/bench_helper.py”, line 101, in
main()
File “/opt/bench/erpnext/apps/frappe/frappe/utils/bench_helper.py”, line 18, in main
click.Group(commands=commands)(prog_name=‘bench’)
File “/opt/bench/erpnext/env/lib/python3.7/site-packages/click/core.py”, line 764, in call
return self.main(*args, **kwargs)
File “/opt/bench/erpnext/env/lib/python3.7/site-packages/click/core.py”, line 717, in main
rv = self.invoke(ctx)
File “/opt/bench/erpnext/env/lib/python3.7/site-packages/click/core.py”, line 1137, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File “/opt/bench/erpnext/env/lib/python3.7/site-packages/click/core.py”, line 1137, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File “/opt/bench/erpnext/env/lib/python3.7/site-packages/click/core.py”, line 956, in invoke
return ctx.invoke(self.callback, **ctx.params)
File “/opt/bench/erpnext/env/lib/python3.7/site-packages/click/core.py”, line 555, in invoke
return callback(*args, **kwargs)
File “/opt/bench/erpnext/env/lib/python3.7/site-packages/click/decorators.py”, line 17, in new_func
return f(get_current_context(), *args, **kwargs)
File “/opt/bench/erpnext/apps/frappe/frappe/commands/init.py”, line 27, in func
ret = f(frappe.dict(ctx.obj), *args, **kwargs)
File “/opt/bench/erpnext/apps/frappe/frappe/commands/site.py”, line 300, in migrate
skip_search_index=skip_search_index
File “/opt/bench/erpnext/apps/frappe/frappe/migrate.py”, line 89, in migrate
frappe.get_attr(fn)()
File “/opt/bench/erpnext/apps/frappe/frappe/website/doctype/website_theme/website_theme.py”, line 184, in after_migrate
doc = frappe.get_doc(‘Website Theme’, website_theme)
File “/opt/bench/erpnext/apps/frappe/frappe/init.py”, line 821, in get_doc
doc = frappe.model.document.get_doc(*args, **kwargs)
File “/opt/bench/erpnext/apps/frappe/frappe/model/document.py”, line 74, in get_doc
return controller(*args, **kwargs)
File “/opt/bench/erpnext/apps/frappe/frappe/model/document.py”, line 112, in init
self.load_from_db()
File “/opt/bench/erpnext/apps/frappe/frappe/model/document.py”, line 155, in load_from_db
frappe.throw(
(“{0} {1} not found”).format(
(self.doctype), self.name), frappe.DoesNotExistError)
File “/opt/bench/erpnext/apps/frappe/frappe/init.py”, line 424, in throw
msgprint(msg, raise_exception=exc, title=title, indicator=‘red’, is_minimizable=is_minimizable, wide=wide, as_list=as_list)
File “/opt/bench/erpnext/apps/frappe/frappe/init.py”, line 403, in msgprint
_raise_exception()
File “/opt/bench/erpnext/apps/frappe/frappe/init.py”, line 357, in _raise_exception
raise raise_exception(msg)
frappe.exceptions.DoesNotExistError: Website Theme None not found

same after applying it.