ERPNext.com Frappe Cloud Support Partners Foundation Frappe School

"App is not installed" error in Sales Order

Following this thread, I am having an error when I try to create a new Sales Order. The rest of ERPNext works perfectly fine. I am running ERPNext v12.21.0 and Frappe 12.18.1.

When I save a new sales order, Frappe returned an exception:
frappe.exceptions.AppNotInstalledError: App is not installed

It returned “App” + double space + “is not installed”, without specifying a specific app.

Did anyone have this issue? I’d really appreciate it if anyone could help!

Here’s the complete console log.
request.js:355 Traceback (most recent call last):
File “/home/msferpnext/frappe-bench/apps/frappe/frappe/desk/form/save.py”, line 21, in savedocs
doc.save()
File “/home/msferpnext/frappe-bench/apps/frappe/frappe/model/document.py”, line 273, in save
return self._save(*args, **kwargs)
File “/home/msferpnext/frappe-bench/apps/frappe/frappe/model/document.py”, line 296, in save
self.insert()
File “/home/msferpnext/frappe-bench/apps/frappe/frappe/model/document.py”, line 230, in insert
self.run_before_save_methods()
File “/home/msferpnext/frappe-bench/apps/frappe/frappe/model/document.py”, line 896, in run_before_save_methods
self.run_method(“validate”)
File “/home/msferpnext/frappe-bench/apps/frappe/frappe/model/document.py”, line 797, in run_method
out = Document.hook(fn)(self, *args, **kwargs)
File “/home/msferpnext/frappe-bench/apps/frappe/frappe/model/document.py”, line 1070, in composer
hooks.append(frappe.get_attr(handler))
File “/home/msferpnext/frappe-bench/apps/frappe/frappe/init.py”, line 1062, in get_attr
throw(
(“App {0} is not installed”).format(app_name), AppNotInstalledError)
File “/home/msferpnext/frappe-bench/apps/frappe/frappe/init.py”, line 380, in throw
msgprint(msg, raise_exception=exc, title=title, indicator=‘red’, is_minimizable=is_minimizable)
File “/home/msferpnext/frappe-bench/apps/frappe/frappe/init.py”, line 359, in msgprint
_raise_exception()
File “/home/msferpnext/frappe-bench/apps/frappe/frappe/init.py”, line 319, in _raise_exception
raise raise_exception(msg)
frappe.exceptions.AppNotInstalledError: App is not installed

request.js:355 Traceback (most recent call last):
File “/home/msferpnext/frappe-bench/apps/frappe/frappe/app.py”, line 67, in application
response = frappe.api.handle()
File “/home/msferpnext/frappe-bench/apps/frappe/frappe/api.py”, line 59, in handle
return frappe.handler.handle()
File “/home/msferpnext/frappe-bench/apps/frappe/frappe/handler.py”, line 24, in handle
data = execute_cmd(cmd)
File “/home/msferpnext/frappe-bench/apps/frappe/frappe/handler.py”, line 64, in execute_cmd
return frappe.call(method, **frappe.form_dict)
File “/home/msferpnext/frappe-bench/apps/frappe/frappe/init.py”, line 1075, in call
return fn(*args, **newargs)
File “/home/msferpnext/frappe-bench/apps/frappe/frappe/desk/form/save.py”, line 21, in savedocs
doc.save()
File “/home/msferpnext/frappe-bench/apps/frappe/frappe/model/document.py”, line 273, in save
return self._save(*args, **kwargs)
File “/home/msferpnext/frappe-bench/apps/frappe/frappe/model/document.py”, line 296, in save
self.insert()
File “/home/msferpnext/frappe-bench/apps/frappe/frappe/model/document.py”, line 230, in insert
self.run_before_save_methods()
File “/home/msferpnext/frappe-bench/apps/frappe/frappe/model/document.py”, line 896, in run_before_save_methods
self.run_method(“validate”)
File “/home/msferpnext/frappe-bench/apps/frappe/frappe/model/document.py”, line 797, in run_method
out = Document.hook(fn)(self, *args, **kwargs)
File “/home/msferpnext/frappe-bench/apps/frappe/frappe/model/document.py”, line 1070, in composer
hooks.append(frappe.get_attr(handler))
File “/home/msferpnext/frappe-bench/apps/frappe/frappe/init.py”, line 1062, in get_attr
throw(
(“App {0} is not installed”).format(app_name), AppNotInstalledError)
File “/home/msferpnext/frappe-bench/apps/frappe/frappe/init.py”, line 380, in throw
msgprint(msg, raise_exception=exc, title=title, indicator=‘red’, is_minimizable=is_minimizable)
File “/home/msferpnext/frappe-bench/apps/frappe/frappe/init.py”, line 359, in msgprint
_raise_exception()
File “/home/msferpnext/frappe-bench/apps/frappe/frappe/init.py”, line 319, in _raise_exception
raise raise_exception(msg)
frappe.exceptions.AppNotInstalledError: App is not installed

In case you’ve custom app, check hooks.py file, if you’ve any typo in any module names?

1 Like

Thank you so much for your help! Indeed, it was the hooks.py file from a custom app I created a while ago. I completely forgot about that.

Thanks again.

1 Like