[Release Notes] ERPNext and Frappe Version 13.11.0

ERPNext Version 13.11.0 Release Notes

Features & Enhancements

  • E-commerce Refactor (#24603)
  • Common party accounting (#27039)
  • Add provision for process loss in manufacturing. (#26151)
  • Taxjar Integration update (#27143)
  • Add Primary Address and Contact section in Supplier (#27197)
  • Color and Leave Type in leave application calendar (#27246)
  • Handle Asset on Issuing Credit Note (#26159)
  • Depreciate Asset after sale (#26543)
  • Treatment Plan Template (#26557)
  • Improve Product Bundle handling (#27319)

Fixes

  • POS payment mode selection issue (#27409)
  • Customers ‘primary_address’ not updated automatically (#26799)
  • Production Plan UX and validation message (#27278)
  • Job Card overlap unknown column jc.employee (#27403)
  • Stock Ageing report issues for serialized items (#27228)
  • Shopping Cart and Variant Selection (#27508)
  • Dont fetch Stopped/Cancelled MRs in Stock Entry Get Items dialog (#27326)
  • Incorrect component amount calculation if dependent on another payment days based component (#27349)
  • Stripe’s Price API for plan-price information (#26107)
  • Correct company address not getting copied from Purchase Order to Invoice (#27217)
  • Don’t allow BOM’s item code at any level of child items (#27176)
  • Handle Excess/Multiple Item Transfer against Job Card (#27486)
  • Fixed issue with accessing last salary slip for new employee (#27247)
  • Org Chart fixes (#27290)
  • Calculate operating cost based on BOM Quantity (#27464)
  • Healthcare Service Unit fixes (#27273)
  • Presentation currency conversion in reports (#27316)
  • Added delivery date filters to get sales orders in production plan (#27367)
  • Manually added weight per unit reset to zero after save (#27330)
  • Allow to change incoming rate manually in case of stand-alone credit note (#27036)
  • Cannot reconcile bank transactions against internal transfer payment entries (#26932)
  • Added item price to default price list (#27353)
  • Expense Claim reimbursed amount update issue (#27204)
  • Braintree payment processed twice (#27300)
  • Fetch from more than one sales order in Maintenance Visit (#26924)
  • Values with same account name and different account number in consolidated balance sheet report (#27493)
  • Don’t create inward SLE against SI unless is internal customer enabled (#27086)
  • Paging and Discount filter (#27332)

Frappe Version 13.11.0 Release Notes

Features & Enhancements

  • Ability to select a child in multi-select dialog (#12471)
  • Choose Letter Head when printing multiple documents from List / Report (#14099)
  • Add number format parameter in fmt_money (#13255)

Fixes

  • Total Row is hidden in Query Report & Script Report (#14041)
  • Multi-select dialog child table filtering (#14181)
  • RTL support for text editor (#14113)
  • Incorrect text color on version document in dark mode (#14147)
  • Notify consumers on document cancel (#14160)
  • Customizing print formats (#14132)
  • Report View single vertical scrollbar (#13497)
  • Switch writes to primary when wrapped with read_only (#14142)
  • Bring back the missing Comments (#14129)
  • Only enabled users in mentions (#14017)
  • Length change for docfield not updated in Database (#13965)
  • Deprecate cast_fieldtype to use cast for consistent return types (#13989)
  • Node creation from tree view (#14114)
12 Likes

After updating to 13.11.0 can’t save/submit new sales invoices!

Tried to
bench setup requirements
bench start
bench update --reset

All with no luck :frowning:

@michaeleino In v13.11.0, we have refactor the E-commerce portal and we have replaced the file erpnext.portal.product_configurator.item_variants_cache import ItemVariantsCacheManager with erpnext.e_commerce.variant_selector.item_variants_cache import ItemVariantsCacheManager

It seems that still the old code is running on your machine, can you try bench restart and check.

Also do you have installed any custom app? or have any server script?

3 Likes

Hello !
When trying to update to 13.11.0,
I got module not found error even when i installed it in virtualenv, in local system (in both python version 2 and 3).

Can anyone help me out on this please ?
Regards,
Himanshu.

yes, it was the POSAwesome module, issue solved after removing the module

many thanks

1 Like

Hi
After Upgrading : I get this error when logging in -
Failed to get method for command erpnext.shopping_cart.doctype.shopping_cart_settings.shopping_cart_settings.is_cart_enabled with No module named ‘erpnext.shopping_cart.doctype.shopping_cart_settings.shopping_cart_settings’

1 Like

Got same error

I fixed this issue in POS Awesome

4 Likes

Do regular update using bench update. That would install newly required packages… you’ve probably just updated using git pull + migrate. That will break things.

Hi all,

I am getting the same issue as @himanshu_013:

Executing erpnext.patches.v13_0.create_website_items in erpnext (bitnami_erpnext)
Traceback (most recent call last):
  File "/opt/bitnami/python/lib/python3.7/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/opt/bitnami/python/lib/python3.7/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/opt/bitnami/apps/erpnext/htdocs/frappe-bench/apps/frappe/frappe/utils/bench_helper.py", line 104, in <module>
    main()
  File "/opt/bitnami/apps/erpnext/htdocs/frappe-bench/apps/frappe/frappe/utils/bench_helper.py", line 19, in main
    click.Group(commands=commands)(prog_name='bench')
  File "/opt/bitnami/apps/erpnext/htdocs/frappe-bench/env/lib/python3.7/site-packages/click/core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "/opt/bitnami/apps/erpnext/htdocs/frappe-bench/env/lib/python3.7/site-packages/click/core.py", line 782, in main
    rv = self.invoke(ctx)
  File "/opt/bitnami/apps/erpnext/htdocs/frappe-bench/env/lib/python3.7/site-packages/click/core.py", line 1259, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/opt/bitnami/apps/erpnext/htdocs/frappe-bench/env/lib/python3.7/site-packages/click/core.py", line 1259, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/opt/bitnami/apps/erpnext/htdocs/frappe-bench/env/lib/python3.7/site-packages/click/core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/opt/bitnami/apps/erpnext/htdocs/frappe-bench/env/lib/python3.7/site-packages/click/core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "/opt/bitnami/apps/erpnext/htdocs/frappe-bench/env/lib/python3.7/site-packages/click/decorators.py", line 21, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "/opt/bitnami/apps/erpnext/htdocs/frappe-bench/apps/frappe/frappe/commands/__init__.py", line 27, in _func
    ret = f(frappe._dict(ctx.obj), *args, **kwargs)
  File "/opt/bitnami/apps/erpnext/htdocs/frappe-bench/apps/frappe/frappe/commands/site.py", line 309, in migrate
    skip_search_index=skip_search_index
  File "/opt/bitnami/apps/erpnext/htdocs/frappe-bench/apps/frappe/frappe/migrate.py", line 67, in migrate
    frappe.modules.patch_handler.run_all(skip_failing)
  File "/opt/bitnami/apps/erpnext/htdocs/frappe-bench/apps/frappe/frappe/modules/patch_handler.py", line 41, in run_all
    run_patch(patch)
  File "/opt/bitnami/apps/erpnext/htdocs/frappe-bench/apps/frappe/frappe/modules/patch_handler.py", line 30, in run_patch
    if not run_single(patchmodule = patch):
  File "/opt/bitnami/apps/erpnext/htdocs/frappe-bench/apps/frappe/frappe/modules/patch_handler.py", line 71, in run_single
    return execute_patch(patchmodule, method, methodargs)
  File "/opt/bitnami/apps/erpnext/htdocs/frappe-bench/apps/frappe/frappe/modules/patch_handler.py", line 91, in execute_patch
    frappe.get_attr(patchmodule.split()[0] + ".execute")()
  File "/opt/bitnami/apps/erpnext/htdocs/frappe-bench/apps/frappe/frappe/__init__.py", line 1168, in get_attr
    return getattr(get_module(modulename), methodname)
  File "/opt/bitnami/apps/erpnext/htdocs/frappe-bench/apps/frappe/frappe/__init__.py", line 944, in get_module
    return importlib.import_module(modulename)
  File "/opt/bitnami/apps/erpnext/htdocs/frappe-bench/env/lib/python3.7/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 728, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/opt/bitnami/apps/erpnext/htdocs/frappe-bench/apps/erpnext/erpnext/patches/v13_0/create_website_items.py", line 3, in <module>
    from erpnext.e_commerce.doctype.website_item.website_item import make_website_item
  File "/opt/bitnami/apps/erpnext/htdocs/frappe-bench/apps/erpnext/erpnext/e_commerce/doctype/website_item/website_item.py", line 14, in <module>
    from erpnext.e_commerce.doctype.item_review.item_review import get_item_reviews
  File "/opt/bitnami/apps/erpnext/htdocs/frappe-bench/apps/erpnext/erpnext/e_commerce/doctype/item_review/item_review.py", line 15, in <module>
    from erpnext.e_commerce.doctype.e_commerce_settings.e_commerce_settings import (
  File "/opt/bitnami/apps/erpnext/htdocs/frappe-bench/apps/erpnext/erpnext/e_commerce/doctype/e_commerce_settings/e_commerce_settings.py", line 10, in <module>
    from erpnext.e_commerce.redisearch import (
  File "/opt/bitnami/apps/erpnext/htdocs/frappe-bench/apps/erpnext/erpnext/e_commerce/redisearch.py", line 6, in <module>
    from redisearch import AutoCompleter, Client, IndexDefinition, Suggestion, TagField, TextField
ModuleNotFoundError: No module named 'redisearch' 

I updated from version 13.10 using bench update, and I am using Bitnami. Does anyone know how to fix this?

Thank you in advance

Hey this looks like a build issue. The stale built js assets are still considered. Try rebuilding and check again.

If it still breaks (hack) maybe empty the contents of the sites/assets/js folder and bench build

1 Like

As @ankush said bench update or if manually you can bench setup requirements. This is an issue with redisearch missing because new packages were not installed from requirements.txt

Error when trying to run Install / Update install-app erpnext

An error occurred while installing erpnext: unknown command ‘MODULE’

Hi,

Perhaps try bench get-app erpnext , then install-app …, or bench-update --reset

We have fixed this issue, could you please pull the latest version and check

1 Like

Getting this error when trying to update for 13.11.0

Traceback (most recent call last):
File “/home/bench/frappe-bench/apps/frappe/frappe/model/base_document.py”, line 358, in db_insert
frappe.db.sql(“”"INSERT INTO tab{doctype} ({columns})
File “/home/bench/frappe-bench/apps/frappe/frappe/database/database.py”, line 147, in sql
self._cursor.execute(query, values)
File “/home/bench/frappe-bench/env/lib/python3.8/site-packages/pymysql/cursors.py”, line 148, in execute
result = self._query(query)
File “/home/bench/frappe-bench/env/lib/python3.8/site-packages/pymysql/cursors.py”, line 310, in _query
conn.query(q)
File “/home/bench/frappe-bench/env/lib/python3.8/site-packages/pymysql/connections.py”, line 548, in query
self._affected_rows = self._read_query_result(unbuffered=unbuffered)
File “/home/bench/frappe-bench/env/lib/python3.8/site-packages/pymysql/connections.py”, line 775, in _read_query_result
result.read()
File “/home/bench/frappe-bench/env/lib/python3.8/site-packages/pymysql/connections.py”, line 1156, in read
first_packet = self.connection._read_packet()
File “/home/bench/frappe-bench/env/lib/python3.8/site-packages/pymysql/connections.py”, line 725, in _read_packet
packet.raise_for_error()
File “/home/bench/frappe-bench/env/lib/python3.8/site-packages/pymysql/protocol.py”, line 221, in raise_for_error
err.raise_mysql_exception(self._data)
File “/home/bench/frappe-bench/env/lib/python3.8/site-packages/pymysql/err.py”, line 143, in raise_mysql_exception
raise errorclass(errno, errval)
pymysql.err.IntegrityError: (1062, “Duplicate entry ‘panaracer-gravelking’ for key ‘PRIMARY’”)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File “/usr/lib/python3.8/runpy.py”, line 194, in _run_module_as_main
return _run_code(code, main_globals, None,
File “/usr/lib/python3.8/runpy.py”, line 87, in _run_code
exec(code, run_globals)
File “/home/bench/frappe-bench/apps/frappe/frappe/utils/bench_helper.py”, line 104, in
main()
File “/home/bench/frappe-bench/apps/frappe/frappe/utils/bench_helper.py”, line 19, in main
click.Group(commands=commands)(prog_name=‘bench’)
File “/home/bench/frappe-bench/env/lib/python3.8/site-packages/click/core.py”, line 829, in call
return self.main(*args, **kwargs)
File “/home/bench/frappe-bench/env/lib/python3.8/site-packages/click/core.py”, line 782, in main
rv = self.invoke(ctx)
File “/home/bench/frappe-bench/env/lib/python3.8/site-packages/click/core.py”, line 1259, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File “/home/bench/frappe-bench/env/lib/python3.8/site-packages/click/core.py”, line 1259, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File “/home/bench/frappe-bench/env/lib/python3.8/site-packages/click/core.py”, line 1066, in invoke
return ctx.invoke(self.callback, **ctx.params)
File “/home/bench/frappe-bench/env/lib/python3.8/site-packages/click/core.py”, line 610, in invoke
return callback(*args, **kwargs)
File “/home/bench/frappe-bench/env/lib/python3.8/site-packages/click/decorators.py”, line 21, in new_func
return f(get_current_context(), *args, **kwargs)
File “/home/bench/frappe-bench/apps/frappe/frappe/commands/init.py”, line 27, in _func
ret = f(frappe._dict(ctx.obj), *args, **kwargs)
File “/home/bench/frappe-bench/apps/frappe/frappe/commands/site.py”, line 306, in migrate
migrate(
File “/home/bench/frappe-bench/apps/frappe/frappe/migrate.py”, line 67, in migrate
frappe.modules.patch_handler.run_all(skip_failing)
File “/home/bench/frappe-bench/apps/frappe/frappe/modules/patch_handler.py”, line 41, in run_all
run_patch(patch)
File “/home/bench/frappe-bench/apps/frappe/frappe/modules/patch_handler.py”, line 30, in run_patch
if not run_single(patchmodule = patch):
File “/home/bench/frappe-bench/apps/frappe/frappe/modules/patch_handler.py”, line 71, in run_single
return execute_patch(patchmodule, method, methodargs)
File “/home/bench/frappe-bench/apps/frappe/frappe/modules/patch_handler.py”, line 91, in execute_patch
frappe.get_attr(patchmodule.split()[0] + “.execute”)()
File “/home/bench/frappe-bench/apps/erpnext/erpnext/patches/v13_0/create_website_items.py”, line 56, in execute
website_item.save()
File “/home/bench/frappe-bench/apps/frappe/frappe/model/document.py”, line 285, in save
return self._save(*args, **kwargs)
File “/home/bench/frappe-bench/apps/frappe/frappe/model/document.py”, line 307, in _save
self.insert()
File “/home/bench/frappe-bench/apps/frappe/frappe/model/document.py”, line 253, in insert
raise e
File “/home/bench/frappe-bench/apps/frappe/frappe/model/document.py”, line 250, in insert
self.db_insert()
File “/home/bench/frappe-bench/apps/frappe/frappe/model/base_document.py”, line 376, in db_insert
raise frappe.DuplicateEntryError(self.doctype, self.name, e)
frappe.exceptions.DuplicateEntryError: (‘Website Item’, ‘panaracer-gravelking’, IntegrityError(1062, “Duplicate entry ‘panaracer-gravelking’ for key ‘PRIMARY’”))
INFO: A newer version of bench is available: 5.4.1 → 5.6.0
bench@erpnext:~/frappe-bench$

It seems you have a duplicate entry on your database. Try cleaning it up:

Thanks @rohit_w. That allowed me to update. I am getting the No module named ‘erpnext.shopping_cart.doctype.shopping_cart_settings.shopping_cart_settings’ error tho

Thanks mate, just completed an update v13.11 without any more issue.