hrms
hrms copied to clipboard
An error occurred while installing hrms
Information about bug
I have installed ERPNext on Docker (Windows) and its running perfectly well but when I try to install HRMS I get the following error and the entire ERPNext App does not work again untill I reintsall ERPNext. I have tried the approach on github several times but still same. need help.
Module
HR
Version
Frapper HR Version 15
Installation method
docker
Relevant log output / Stack trace / Full Error Message.
$ bench --site sample.site install-app hrms
App erpnext already installed
Installing hrms...
Setting up Frappe HR...
Installation for Frappe HR app failed due to an error. Please try re-installing the app or report the issue on https://github.com/frappe/hrms/issues/new if not resolved.
An error occurred while installing hrms: Module import failed for Expense Claim Type, the DocType you're trying to open might be deleted.<br> Error: No module named 'frappe.core.doctype.expense_claim_type'
Traceback with variables (most recent call last):
File "apps/frappe/frappe/commands/site.py", line 444, in install_app
_install_app(app, verbose=context.verbose, force=force)
context = {'sites': ['sample.site'], 'force': False, 'verbose': False, 'profile': False}
apps = ('hrms',)
force = False
_install_app = <function install_app at 0x7f2264ca9b20>
filelock = <function filelock at 0x7f2264c9ad40>
exit_code = 0
site = 'sample.site'
app = 'hrms'
err = ImportError("Module import failed for Expense Claim Type, the DocType you're trying to open might be deleted.<br> Error: No module named 'frappe.core.doctype.expense_claim_type'")
File "apps/frappe/frappe/installer.py", line 311, in install_app
frappe.get_attr(after_install)()
name = 'hrms'
verbose = False
set_as_patched = True
force = False
sync_jobs = <function sync_jobs at 0x7f22637514e0>
sync_for = <function sync_for at 0x7f2263752520>
sync_customizations = <function sync_customizations at 0x7f2264c436a0>
sync_fixtures = <function sync_fixtures at 0x7f2263752700>
app_hooks = {'accounting_dimension_doctypes': ['Expense Claim', 'Expense Claim Detail', 'Expense Taxes and Charges', 'Payroll Entry'], 'advance_payment_payable_doctypes': ['Gratuity', 'Employee Advance'], 'after_app_install': ['hrms.setup.after_app_install'], 'after_install': ['hrms.install.after_install'], 'after_migrate': ['hrms.setup.update_select_perm_after_install'], 'app_description': ['Modern HR and Payroll Software'], 'app_email': ['[email protected]'], 'app_include_css': ['hrms.bundle.css'], 'app_include_js': ['hrms.bundle.js'], 'app_license': ['GNU General Public License (v3)'], 'app_name': ['hrms'], 'app_publisher': ['Frappe Technologies Pvt. Ltd.'], 'app_title': ['Frappe HR'], 'bank_reconciliation_doctypes': ['Expense Claim'], 'before_app_uninstall': ['hrms.setup.before_app_uninstall'], 'before_tests': ['hrms.tests.test_utils.before_tests'], 'before_uninstall': ['hrms.uninstall.before_uninstall'], 'calendars': ['Leave Application'], 'doc_events': {'User': {'validate': ['erpnext.setup.d...
installed_apps = ['frappe', 'erpnext']
app = 'frappe/erpnext'
required_app = 'erpnext'
after_install = 'hrms.install.after_install'
File "apps/hrms/hrms/install.py", line 21, in after_install
raise e
BUG_REPORT_URL = 'https://github.com/frappe/hrms/issues/new'
File "apps/hrms/hrms/install.py", line 9, in after_install
setup()
BUG_REPORT_URL = 'https://github.com/frappe/hrms/issues/new'
File "apps/hrms/hrms/setup.py", line 17, in after_install
make_fixtures()
File "apps/hrms/hrms/setup.py", line 416, in make_fixtures
make_records(records)
records = [{'doctype': 'Expense Claim Type', 'name': 'Calls', 'expense_type': 'Calls'}, {'doctype': 'Expense Claim Type', 'name': 'Food', 'expense_type': 'Food'}, {'doctype': 'Expense Claim Type', 'name': 'Medical', 'expense_type': 'Medical'}, {'doctype': 'Expense Claim Type', 'name': 'Others', 'expense_type': 'Others'}, {'doctype': 'Expense Claim Type', 'name': 'Travel', 'expense_type': 'Travel'}, {'doctype': 'Vehicle Service Item', 'service_item': 'Brake Oil'}, {'doctype': 'Vehicle Service Item', 'service_item': 'Brake Pad'}, {'doctype': 'Vehicle Service Item', 'service_item': 'Clutch Plate'}, {'doctype': 'Vehicle Service Item', 'service_item': 'Engine Oil'}, {'doctype': 'Vehicle Service Item', 'service_item': 'Oil Change'}, {'doctype': 'Vehicle Service Item', 'service_item': 'Wheels'}, {'doctype': 'Leave Type', 'leave_type_name': 'Casual Leave', 'name': 'Casual Leave', 'allow_encashment': 1, 'is_carry_forward': 1, 'max_continuous_days_allowed': '3', 'include_holiday': 1}, {'doctype': 'Leave T...
File "apps/frappe/frappe/desk/page/setup_wizard/setup_wizard.py", line 409, in make_records
doc = frappe.new_doc(doctype)
records = [{'doctype': 'Expense Claim Type', 'name': 'Calls', 'expense_type': 'Calls'}, {'doctype': 'Expense Claim Type', 'name': 'Food', 'expense_type': 'Food'}, {'doctype': 'Expense Claim Type', 'name': 'Medical', 'expense_type': 'Medical'}, {'doctype': 'Expense Claim Type', 'name': 'Others', 'expense_type': 'Others'}, {'doctype': 'Expense Claim Type', 'name': 'Travel', 'expense_type': 'Travel'}, {'doctype': 'Vehicle Service Item', 'service_item': 'Brake Oil'}, {'doctype': 'Vehicle Service Item', 'service_item': 'Brake Pad'}, {'doctype': 'Vehicle Service Item', 'service_item': 'Clutch Plate'}, {'doctype': 'Vehicle Service Item', 'service_item': 'Engine Oil'}, {'doctype': 'Vehicle Service Item', 'service_item': 'Oil Change'}, {'doctype': 'Vehicle Service Item', 'service_item': 'Wheels'}, {'doctype': 'Leave Type', 'leave_type_name': 'Casual Leave', 'name': 'Casual Leave', 'allow_encashment': 1, 'is_carry_forward': 1, 'max_continuous_days_allowed': '3', 'include_holiday': 1}, {'doctype': 'Leave T...
debug = False
_dict = <class 'frappe._dict'>
scrub = <function scrub at 0x7f2264ec6160>
record = {'doctype': 'Expense Claim Type', 'name': 'Calls', 'expense_type': 'Calls'}
doctype = 'Expense Claim Type'
condition = None
File "apps/frappe/frappe/__init__.py", line 1143, in new_doc
new_doc = get_new_doc(doctype, parent_doc, parentfield, as_dict=as_dict)
doctype = 'Expense Claim Type'
parent_doc = None
parentfield = None
as_dict = False
kwargs = {}
get_new_doc = <function get_new_doc at 0x7f22619c4860>
File "apps/frappe/frappe/model/create_new.py", line 22, in get_new_doc
frappe.local.new_doc_templates[doctype] = make_new_doc(doctype)
doctype = 'Expense Claim Type'
parent_doc = None
parentfield = None
as_dict = False
File "apps/frappe/frappe/model/create_new.py", line 35, in make_new_doc
doc = frappe.get_doc({"doctype": doctype, "__islocal": 1, "owner": frappe.session.user, "docstatus": 0})
doctype = 'Expense Claim Type'
File "apps/frappe/frappe/__init__.py", line 1286, in get_doc
doc = frappe.model.document.get_doc(*args, **kwargs)
args = ({'doctype': 'Expense Claim Type', '__islocal': 1, 'owner': 'Administrator', 'docstatus': 0},)
kwargs = {}
frappe = <module 'frappe' from 'apps/frappe/frappe/__init__.py'>
File "apps/frappe/frappe/model/document.py", line 83, in get_doc
controller = get_controller(doctype)
args = ({'doctype': 'Expense Claim Type', '__islocal': 1, 'owner': 'Administrator', 'docstatus': 0},)
kwargs = {'doctype': 'Expense Claim Type', '__islocal': 1, 'owner': 'Administrator', 'docstatus': 0}
doctype = 'Expense Claim Type'
File "apps/frappe/frappe/model/base_document.py", line 70, in get_controller
site_controllers[doctype] = import_controller(doctype)
doctype = 'Expense Claim Type'
site_controllers = {'Module Def': <class 'frappe.core.doctype.module_def.module_def.ModuleDef'>, 'DocField': <class 'frappe.core.doctype.docfield.docfield.DocField'>, 'DocPerm': <class 'frappe.core.doctype.docperm.docperm.DocPerm'>, 'DocType Link': <class 'frappe.core.doctype.doctype_link.doctype_link.DocTypeLink'>, 'System Settings': <class 'frappe.core.doctype.system_settings.system_settings.SystemSettings'>, 'Notification Settings': <class 'frappe.desk.doctype.notification_settings.notification_settings.NotificationSettings'>, 'DefaultValue': <class 'frappe.core.doctype.defaultvalue.defaultvalue.DefaultValue'>, 'Payment Reconciliation': <class 'erpnext.accounts.doctype.payment_reconciliation.payment_reconciliation.PaymentReconciliation'>, 'Customize Form': <class 'frappe.custom.doctype.customize_form.customize_form.CustomizeForm'>, 'DocType Action': <class 'frappe.core.doctype.doctype_action.doctype_action.DocTypeAction'>, 'DocType State': <class 'frappe.core.doctype.doctype_state.doctype_state.DocTyp...
File "apps/frappe/frappe/model/base_document.py", line 95, in import_controller
module = load_doctype_module(doctype, module_name)
doctype = 'Expense Claim Type'
Document = <class 'frappe.model.document.Document'>
NestedSet = <class 'frappe.utils.nestedset.NestedSet'>
module_name = 'Core'
doctype_info = None
module_path = None
class_overrides = {'Address': ['erpnext.accounts.custom.address.ERPNextAddress'], 'Employee': ['hrms.overrides.employee_master.EmployeeMaster'], 'Timesheet': ['hrms.overrides.employee_timesheet.EmployeeTimesheet'], 'Payment Entry': ['hrms.overrides.employee_payment_entry.EmployeePaymentEntry'], 'Project': ['hrms.overrides.employee_project.EmployeeProject']}
File "apps/frappe/frappe/modules/utils.py", line 241, in load_doctype_module
raise ImportError(msg) from e
doctype = 'Expense Claim Type'
module = 'Core'
prefix = ''
suffix = ''
app = 'frappe'
key = ********
module_name = 'frappe.core.doctype.expense_claim_type.expense_claim_type'
msg = "Module import failed for Expense Claim Type, the DocType you're trying to open might be deleted.<br> Error: No module named 'frappe.core.doctype.expense_claim_type'"
builtins.ImportError: Module import failed for Expense Claim Type, the DocType you're trying to open might be deleted.<br> Error: No module named 'frappe.core.doctype.expense_claim_type'
Code of Conduct
- [X] I agree to follow this project's Code of Conduct
Same thing happened to me, any ideas on how to fix?
Me as well.
Is there any fix for this?
What versions are you using for Frappe & ERPNext?
Erpnext: 15.18.1 frappe:15.19.0, I have a new issue where when I download hrms it finishes properly but it just breaks the server until I uninstall it. I got a server error when i try and connect.
same issue here.
I use ERPNext: v15.19.1 and Frappe Framework: v15.20.0
But i have Ubuntu 22.04.4 LTS Server and no Docker
I can´t use ERPNext and can´t login to the Server after i install HRMS
Setting up Frappe HR...
Installation for Frappe HR app failed due to an error. Please try re-installing the app or report the issue on https://github.com/frappe/hrms/issues/new if not resolved.
An error occurred while installing hrms: Module import failed for Expense Claim Type, the DocType you're trying to open might be deleted.<br> Error: No module named 'frappe.core.doctype.expense_claim_type'
Traceback with variables (most recent call last):
File "apps/frappe/frappe/commands/site.py", line 445, in install_app
_install_app(app, verbose=context.verbose, force=force)
context = {'sites': ['erpnext'], 'force': False, 'verbose': False, 'profile': False}
apps = ('hrms',)
force = False
_install_app = <function install_app at 0x7f974fd728c0>
filelock = <function filelock at 0x7f974fd72560>
exit_code = 0
site = 'erpnext'
app = 'hrms'
err = ImportError("Module import failed for Expense Claim Type, the DocType you're trying to open might be deleted.<br> Error: No module named 'frappe.core.doctype.expense_claim_type'")
File "apps/frappe/frappe/installer.py", line 311, in install_app
frappe.get_attr(after_install)()
name = 'hrms'
verbose = False
set_as_patched = True
force = False
sync_jobs = <function sync_jobs at 0x7f974ecd4e50>
sync_for = <function sync_for at 0x7f974ecd5870>
sync_customizations = <function sync_customizations at 0x7f974fd20e50>
sync_fixtures = <function sync_fixtures at 0x7f974ecd5ab0>
app_hooks = {'accounting_dimension_doctypes': ['Expense Claim', 'Expense Claim Detail', 'Expense Taxes and Charges', 'Payroll Entry'], 'advance_payment_payable_doctypes': ['Gratuity', 'Employee Advance'], 'after_app_install': ['hrms.setup.after_app_install'], 'after_install': ['hrms.install.after_install'], 'after_migrate': ['hrms.setup.update_select_perm_after_install'], 'app_description': ['Modern HR and Payroll Software'], 'app_email': ['[email protected]'], 'app_include_css': ['hrms.bundle.css'], 'app_include_js': ['hrms.bundle.js'], 'app_license': ['GNU General Public License (v3)'], 'app_name': ['hrms'], 'app_publisher': ['Frappe Technologies Pvt. Ltd.'], 'app_title': ['Frappe HR'], 'bank_reconciliation_doctypes': ['Expense Claim'], 'before_app_uninstall': ['hrms.setup.before_app_uninstall'], 'before_tests': ['hrms.tests.test_utils.before_tests'], 'before_uninstall': ['hrms.uninstall.before_uninstall'], 'calendars': ['Leave Application'], 'doc_events': {'User': {'validate': ['erpnext.setup.d...
installed_apps = ['frappe', 'erpnext']
app = 'frappe/erpnext'
required_app = 'erpnext'
after_install = 'hrms.install.after_install'
File "apps/hrms/hrms/install.py", line 21, in after_install
raise e
BUG_REPORT_URL = 'https://github.com/frappe/hrms/issues/new'
File "apps/hrms/hrms/install.py", line 9, in after_install
setup()
BUG_REPORT_URL = 'https://github.com/frappe/hrms/issues/new'
File "apps/hrms/hrms/setup.py", line 18, in after_install
make_fixtures()
File "apps/hrms/hrms/setup.py", line 414, in make_fixtures
make_records(records)
records = [{'doctype': 'Expense Claim Type', 'name': 'Calls', 'expense_type': 'Calls'}, {'doctype': 'Expense Claim Type', 'name': 'Food', 'expense_type': 'Food'}, {'doctype': 'Expense Claim Type', 'name': 'Medical', 'expense_type': 'Medical'}, {'doctype': 'Expense Claim Type', 'name': 'Others', 'expense_type': 'Others'}, {'doctype': 'Expense Claim Type', 'name': 'Travel', 'expense_type': 'Travel'}, {'doctype': 'Vehicle Service Item', 'service_item': 'Brake Oil'}, {'doctype': 'Vehicle Service Item', 'service_item': 'Brake Pad'}, {'doctype': 'Vehicle Service Item', 'service_item': 'Clutch Plate'}, {'doctype': 'Vehicle Service Item', 'service_item': 'Engine Oil'}, {'doctype': 'Vehicle Service Item', 'service_item': 'Oil Change'}, {'doctype': 'Vehicle Service Item', 'service_item': 'Wheels'}, {'doctype': 'Leave Type', 'leave_type_name': 'Casual Leave', 'name': 'Casual Leave', 'allow_encashment': 1, 'is_carry_forward': 1, 'max_continuous_days_allowed': '3', 'include_holiday': 1}, {'doctype': 'Leave T...
File "apps/frappe/frappe/desk/page/setup_wizard/setup_wizard.py", line 412, in make_records
doc = frappe.new_doc(doctype)
records = [{'doctype': 'Expense Claim Type', 'name': 'Calls', 'expense_type': 'Calls'}, {'doctype': 'Expense Claim Type', 'name': 'Food', 'expense_type': 'Food'}, {'doctype': 'Expense Claim Type', 'name': 'Medical', 'expense_type': 'Medical'}, {'doctype': 'Expense Claim Type', 'name': 'Others', 'expense_type': 'Others'}, {'doctype': 'Expense Claim Type', 'name': 'Travel', 'expense_type': 'Travel'}, {'doctype': 'Vehicle Service Item', 'service_item': 'Brake Oil'}, {'doctype': 'Vehicle Service Item', 'service_item': 'Brake Pad'}, {'doctype': 'Vehicle Service Item', 'service_item': 'Clutch Plate'}, {'doctype': 'Vehicle Service Item', 'service_item': 'Engine Oil'}, {'doctype': 'Vehicle Service Item', 'service_item': 'Oil Change'}, {'doctype': 'Vehicle Service Item', 'service_item': 'Wheels'}, {'doctype': 'Leave Type', 'leave_type_name': 'Casual Leave', 'name': 'Casual Leave', 'allow_encashment': 1, 'is_carry_forward': 1, 'max_continuous_days_allowed': '3', 'include_holiday': 1}, {'doctype': 'Leave T...
debug = False
_dict = <class 'frappe._dict'>
scrub = <function scrub at 0x7f974ff06dd0>
record = {'doctype': 'Expense Claim Type', 'name': 'Calls', 'expense_type': 'Calls'}
doctype = 'Expense Claim Type'
condition = None
File "apps/frappe/frappe/__init__.py", line 1190, in new_doc
new_doc = get_new_doc(doctype, parent_doc, parentfield, as_dict=as_dict)
doctype = 'Expense Claim Type'
parent_doc = None
parentfield = None
as_dict = False
kwargs = {}
get_new_doc = <function get_new_doc at 0x7f974cc77a30>
File "apps/frappe/frappe/model/create_new.py", line 22, in get_new_doc
frappe.local.new_doc_templates[doctype] = make_new_doc(doctype)
doctype = 'Expense Claim Type'
parent_doc = None
parentfield = None
as_dict = False
File "apps/frappe/frappe/model/create_new.py", line 35, in make_new_doc
doc = frappe.get_doc({"doctype": doctype, "__islocal": 1, "owner": frappe.session.user, "docstatus": 0})
doctype = 'Expense Claim Type'
File "apps/frappe/frappe/__init__.py", line 1333, in get_doc
doc = frappe.model.document.get_doc(*args, **kwargs)
args = ({'doctype': 'Expense Claim Type', '__islocal': 1, 'owner': 'Administrator', 'docstatus': 0},)
kwargs = {}
frappe = <module 'frappe' from 'apps/frappe/frappe/__init__.py'>
File "apps/frappe/frappe/model/document.py", line 83, in get_doc
controller = get_controller(doctype)
args = ({'doctype': 'Expense Claim Type', '__islocal': 1, 'owner': 'Administrator', 'docstatus': 0},)
kwargs = {'doctype': 'Expense Claim Type', '__islocal': 1, 'owner': 'Administrator', 'docstatus': 0}
doctype = 'Expense Claim Type'
File "apps/frappe/frappe/model/base_document.py", line 70, in get_controller
site_controllers[doctype] = import_controller(doctype)
doctype = 'Expense Claim Type'
site_controllers = {'Module Def': <class 'frappe.core.doctype.module_def.module_def.ModuleDef'>, 'DocField': <class 'frappe.core.doctype.docfield.docfield.DocField'>, 'DocPerm': <class 'frappe.core.doctype.docperm.docperm.DocPerm'>, 'DocType Link': <class 'frappe.core.doctype.doctype_link.doctype_link.DocTypeLink'>, 'System Settings': <class 'frappe.core.doctype.system_settings.system_settings.SystemSettings'>, 'Notification Settings': <class 'frappe.desk.doctype.notification_settings.notification_settings.NotificationSettings'>, 'DefaultValue': <class 'frappe.core.doctype.defaultvalue.defaultvalue.DefaultValue'>, 'Payment Reconciliation': <class 'erpnext.accounts.doctype.payment_reconciliation.payment_reconciliation.PaymentReconciliation'>, 'Customize Form': <class 'frappe.custom.doctype.customize_form.customize_form.CustomizeForm'>, 'DocType Action': <class 'frappe.core.doctype.doctype_action.doctype_action.DocTypeAction'>, 'DocType State': <class 'frappe.core.doctype.doctype_state.doctype_state.DocTyp...
File "apps/frappe/frappe/model/base_document.py", line 95, in import_controller
module = load_doctype_module(doctype, module_name)
doctype = 'Expense Claim Type'
Document = <class 'frappe.model.document.Document'>
NestedSet = <class 'frappe.utils.nestedset.NestedSet'>
module_name = 'Core'
doctype_info = None
module_path = None
class_overrides = {'Address': ['erpnext.accounts.custom.address.ERPNextAddress'], 'Employee': ['hrms.overrides.employee_master.EmployeeMaster'], 'Timesheet': ['hrms.overrides.employee_timesheet.EmployeeTimesheet'], 'Payment Entry': ['hrms.overrides.employee_payment_entry.EmployeePaymentEntry'], 'Project': ['hrms.overrides.employee_project.EmployeeProject']}
File "apps/frappe/frappe/modules/utils.py", line 254, in load_doctype_module
raise ImportError(msg) from e
doctype = 'Expense Claim Type'
module = 'Core'
prefix = ''
suffix = ''
app = 'frappe'
key = ********
module_name = 'frappe.core.doctype.expense_claim_type.expense_claim_type'
msg = "Module import failed for Expense Claim Type, the DocType you're trying to open might be deleted.<br> Error: No module named 'frappe.core.doctype.expense_claim_type'"
builtins.ImportError: Module import failed for Expense Claim Type, the DocType you're trying to open might be deleted.<br> Error: No module named 'frappe.core.doctype.expense_claim_type'
bitnami@debian:/opt/bitnami/erpnext/frappe-bench$ ```
Same issue. Ubuntu 22.04 LTS with Docker