2014-05-02 06:44:03 +00:00
|
|
|
app_name = "erpnext"
|
|
|
|
app_title = "ERPNext"
|
2015-07-22 09:37:25 +00:00
|
|
|
app_publisher = "Frappe Technologies Pvt. Ltd."
|
2015-11-18 11:18:19 +00:00
|
|
|
app_description = """ERP made simple"""
|
2016-12-07 05:38:48 +00:00
|
|
|
app_icon = "fa fa-th"
|
2014-05-02 06:44:03 +00:00
|
|
|
app_color = "#e74c3c"
|
2015-11-05 11:25:10 +00:00
|
|
|
app_email = "info@erpnext.com"
|
|
|
|
app_license = "GNU General Public License (v3)"
|
2015-11-02 05:15:18 +00:00
|
|
|
source_link = "https://github.com/frappe/erpnext"
|
2020-10-19 08:22:35 +00:00
|
|
|
app_logo_url = "/assets/erpnext/images/erpnext-logo.svg"
|
2014-05-02 06:44:03 +00:00
|
|
|
|
2018-11-03 12:33:35 +00:00
|
|
|
|
2022-05-08 16:34:00 +00:00
|
|
|
develop_version = "14.x.x-develop"
|
2017-03-10 04:08:58 +00:00
|
|
|
|
2021-05-07 09:23:42 +00:00
|
|
|
app_include_js = "erpnext.bundle.js"
|
|
|
|
app_include_css = "erpnext.bundle.css"
|
|
|
|
web_include_js = "erpnext-web.bundle.js"
|
|
|
|
web_include_css = "erpnext-web.bundle.css"
|
2021-05-23 08:01:54 +00:00
|
|
|
email_css = "email_erpnext.bundle.css"
|
2014-05-02 06:44:03 +00:00
|
|
|
|
2017-03-13 11:02:46 +00:00
|
|
|
doctype_js = {
|
2020-10-14 12:41:04 +00:00
|
|
|
"Address": "public/js/address.js",
|
2017-03-13 11:02:46 +00:00
|
|
|
"Communication": "public/js/communication.js",
|
2019-03-19 06:18:32 +00:00
|
|
|
"Event": "public/js/event.js",
|
2021-07-26 07:24:35 +00:00
|
|
|
"Newsletter": "public/js/newsletter.js",
|
|
|
|
"Contact": "public/js/contact.js",
|
2017-03-13 11:02:46 +00:00
|
|
|
}
|
|
|
|
|
2020-10-16 09:58:12 +00:00
|
|
|
override_doctype_class = {"Address": "erpnext.accounts.custom.address.ERPNextAddress"}
|
2020-10-14 14:01:37 +00:00
|
|
|
|
2023-04-05 06:34:36 +00:00
|
|
|
override_whitelisted_methods = {
|
|
|
|
"frappe.www.contact.send_message": "erpnext.templates.utils.send_message"
|
|
|
|
}
|
|
|
|
|
2018-08-24 09:45:56 +00:00
|
|
|
welcome_email = "erpnext.setup.utils.welcome_email"
|
|
|
|
|
2015-11-09 11:23:11 +00:00
|
|
|
# setup wizard
|
|
|
|
setup_wizard_requires = "assets/erpnext/js/setup_wizard.js"
|
2017-12-21 06:25:58 +00:00
|
|
|
setup_wizard_stages = "erpnext.setup.setup_wizard.setup_wizard.get_setup_stages"
|
2017-09-04 05:44:04 +00:00
|
|
|
setup_wizard_test = "erpnext.setup.setup_wizard.test_setup_wizard.run_setup_wizard_test"
|
2015-11-09 11:23:11 +00:00
|
|
|
|
2023-06-12 13:50:52 +00:00
|
|
|
before_install = [
|
|
|
|
"erpnext.setup.install.check_setup_wizard_not_completed",
|
|
|
|
"erpnext.setup.install.check_frappe_version",
|
|
|
|
]
|
2014-05-02 06:44:03 +00:00
|
|
|
after_install = "erpnext.setup.install.after_install"
|
|
|
|
|
|
|
|
boot_session = "erpnext.startup.boot.boot_session"
|
|
|
|
notification_config = "erpnext.startup.notifications.get_notification_config"
|
2017-02-22 10:45:43 +00:00
|
|
|
get_help_messages = "erpnext.utilities.activation.get_help_messages"
|
2019-09-24 07:34:53 +00:00
|
|
|
leaderboards = "erpnext.startup.leaderboard.get_leaderboards"
|
2020-06-18 12:48:41 +00:00
|
|
|
filters_config = "erpnext.startup.filters.get_filters_config"
|
2020-10-22 10:07:47 +00:00
|
|
|
additional_print_settings = "erpnext.controllers.print_settings.get_print_settings"
|
2014-05-02 06:44:03 +00:00
|
|
|
|
2019-10-09 06:11:33 +00:00
|
|
|
on_session_creation = [
|
|
|
|
"erpnext.portal.utils.create_customer_or_supplier",
|
2021-02-25 08:26:38 +00:00
|
|
|
"erpnext.e_commerce.shopping_cart.utils.set_cart_count",
|
2019-10-09 06:11:33 +00:00
|
|
|
]
|
2021-02-25 08:26:38 +00:00
|
|
|
on_logout = "erpnext.e_commerce.shopping_cart.utils.clear_cart_count"
|
2015-02-23 16:44:12 +00:00
|
|
|
|
2019-06-26 05:33:57 +00:00
|
|
|
treeviews = [
|
|
|
|
"Account",
|
|
|
|
"Cost Center",
|
|
|
|
"Warehouse",
|
|
|
|
"Item Group",
|
|
|
|
"Customer Group",
|
2022-04-16 14:13:59 +00:00
|
|
|
"Supplier Group",
|
2019-06-26 05:33:57 +00:00
|
|
|
"Sales Person",
|
|
|
|
"Territory",
|
|
|
|
"Department",
|
|
|
|
]
|
2016-05-02 07:58:46 +00:00
|
|
|
|
2023-06-01 18:41:43 +00:00
|
|
|
jinja = {
|
|
|
|
"methods": [
|
|
|
|
"erpnext.stock.serial_batch_bundle.get_serial_or_batch_nos",
|
|
|
|
],
|
|
|
|
}
|
|
|
|
|
2015-02-23 16:44:12 +00:00
|
|
|
# website
|
2021-02-25 08:26:38 +00:00
|
|
|
update_website_context = [
|
|
|
|
"erpnext.e_commerce.shopping_cart.utils.update_website_context",
|
|
|
|
]
|
|
|
|
my_account_context = "erpnext.e_commerce.shopping_cart.utils.update_my_account_context"
|
2021-09-14 07:19:08 +00:00
|
|
|
webform_list_context = "erpnext.controllers.website_list_for_contact.get_webform_list_context"
|
2015-07-08 07:09:27 +00:00
|
|
|
|
2023-05-29 05:07:35 +00:00
|
|
|
calendars = ["Task", "Work Order", "Leave Application", "Sales Order", "Holiday List", "ToDo"]
|
2015-07-08 07:09:27 +00:00
|
|
|
|
2022-06-10 09:36:54 +00:00
|
|
|
website_generators = ["Item Group", "Website Item", "BOM", "Sales Partner"]
|
2015-07-08 07:09:27 +00:00
|
|
|
|
2015-04-16 07:11:42 +00:00
|
|
|
website_context = {
|
2021-10-04 04:28:38 +00:00
|
|
|
"favicon": "/assets/erpnext/images/erpnext-favicon.svg",
|
2020-10-19 08:22:35 +00:00
|
|
|
"splash_image": "/assets/erpnext/images/erpnext-logo.svg",
|
2015-04-16 07:11:42 +00:00
|
|
|
}
|
|
|
|
|
2022-07-07 13:30:19 +00:00
|
|
|
# nosemgrep
|
2015-02-23 16:44:12 +00:00
|
|
|
website_route_rules = [
|
|
|
|
{"from_route": "/orders", "to_route": "Sales Order"},
|
2015-09-11 13:19:59 +00:00
|
|
|
{
|
|
|
|
"from_route": "/orders/<path:name>",
|
|
|
|
"to_route": "order",
|
2022-11-05 13:19:15 +00:00
|
|
|
"defaults": {"doctype": "Sales Order", "parents": [{"label": "Orders", "route": "orders"}]},
|
2015-09-11 13:19:59 +00:00
|
|
|
},
|
2015-02-23 16:44:12 +00:00
|
|
|
{"from_route": "/invoices", "to_route": "Sales Invoice"},
|
2015-09-11 13:19:59 +00:00
|
|
|
{
|
|
|
|
"from_route": "/invoices/<path:name>",
|
|
|
|
"to_route": "order",
|
|
|
|
"defaults": {
|
|
|
|
"doctype": "Sales Invoice",
|
2022-11-05 13:19:15 +00:00
|
|
|
"parents": [{"label": "Invoices", "route": "invoices"}],
|
2015-09-11 13:19:59 +00:00
|
|
|
},
|
|
|
|
},
|
2017-07-21 09:49:47 +00:00
|
|
|
{"from_route": "/supplier-quotations", "to_route": "Supplier Quotation"},
|
|
|
|
{
|
|
|
|
"from_route": "/supplier-quotations/<path:name>",
|
|
|
|
"to_route": "order",
|
2016-09-21 11:19:58 +00:00
|
|
|
"defaults": {
|
|
|
|
"doctype": "Supplier Quotation",
|
2022-11-05 13:19:15 +00:00
|
|
|
"parents": [{"label": "Supplier Quotation", "route": "supplier-quotations"}],
|
2016-09-21 11:19:58 +00:00
|
|
|
},
|
|
|
|
},
|
2019-10-09 06:11:33 +00:00
|
|
|
{"from_route": "/purchase-orders", "to_route": "Purchase Order"},
|
|
|
|
{
|
|
|
|
"from_route": "/purchase-orders/<path:name>",
|
|
|
|
"to_route": "order",
|
|
|
|
"defaults": {
|
|
|
|
"doctype": "Purchase Order",
|
2022-11-05 13:19:15 +00:00
|
|
|
"parents": [{"label": "Purchase Order", "route": "purchase-orders"}],
|
2019-10-09 06:11:33 +00:00
|
|
|
},
|
|
|
|
},
|
|
|
|
{"from_route": "/purchase-invoices", "to_route": "Purchase Invoice"},
|
|
|
|
{
|
|
|
|
"from_route": "/purchase-invoices/<path:name>",
|
|
|
|
"to_route": "order",
|
|
|
|
"defaults": {
|
|
|
|
"doctype": "Purchase Invoice",
|
2022-11-05 13:19:15 +00:00
|
|
|
"parents": [{"label": "Purchase Invoice", "route": "purchase-invoices"}],
|
2019-10-09 06:11:33 +00:00
|
|
|
},
|
|
|
|
},
|
2017-07-21 09:49:47 +00:00
|
|
|
{"from_route": "/quotations", "to_route": "Quotation"},
|
|
|
|
{
|
|
|
|
"from_route": "/quotations/<path:name>",
|
|
|
|
"to_route": "order",
|
|
|
|
"defaults": {
|
|
|
|
"doctype": "Quotation",
|
2022-11-05 13:19:15 +00:00
|
|
|
"parents": [{"label": "Quotations", "route": "quotations"}],
|
2017-07-21 09:49:47 +00:00
|
|
|
},
|
|
|
|
},
|
2015-02-23 16:44:12 +00:00
|
|
|
{"from_route": "/shipments", "to_route": "Delivery Note"},
|
2015-09-11 13:19:59 +00:00
|
|
|
{
|
|
|
|
"from_route": "/shipments/<path:name>",
|
|
|
|
"to_route": "order",
|
|
|
|
"defaults": {
|
2015-11-26 12:52:03 +00:00
|
|
|
"doctype": "Delivery Note",
|
2022-11-05 13:19:15 +00:00
|
|
|
"parents": [{"label": "Shipments", "route": "shipments"}],
|
2015-09-11 13:19:59 +00:00
|
|
|
},
|
2016-02-19 11:57:23 +00:00
|
|
|
},
|
2016-03-03 08:30:35 +00:00
|
|
|
{"from_route": "/rfq", "to_route": "Request for Quotation"},
|
|
|
|
{
|
|
|
|
"from_route": "/rfq/<path:name>",
|
|
|
|
"to_route": "rfq",
|
|
|
|
"defaults": {
|
|
|
|
"doctype": "Request for Quotation",
|
2022-11-05 13:19:15 +00:00
|
|
|
"parents": [{"label": "Request for Quotation", "route": "rfq"}],
|
2016-03-03 08:30:35 +00:00
|
|
|
},
|
|
|
|
},
|
2016-07-04 08:58:09 +00:00
|
|
|
{"from_route": "/addresses", "to_route": "Address"},
|
|
|
|
{
|
|
|
|
"from_route": "/addresses/<path:name>",
|
|
|
|
"to_route": "addresses",
|
2022-11-05 13:19:15 +00:00
|
|
|
"defaults": {"doctype": "Address", "parents": [{"label": "Addresses", "route": "addresses"}]},
|
2016-07-04 08:58:09 +00:00
|
|
|
},
|
2017-07-25 05:23:12 +00:00
|
|
|
{"from_route": "/boms", "to_route": "BOM"},
|
|
|
|
{"from_route": "/timesheets", "to_route": "Timesheet"},
|
2018-11-13 06:37:16 +00:00
|
|
|
{"from_route": "/material-requests", "to_route": "Material Request"},
|
|
|
|
{
|
|
|
|
"from_route": "/material-requests/<path:name>",
|
|
|
|
"to_route": "material_request_info",
|
|
|
|
"defaults": {
|
|
|
|
"doctype": "Material Request",
|
2022-11-05 13:19:15 +00:00
|
|
|
"parents": [{"label": "Material Request", "route": "material-requests"}],
|
2018-11-13 06:37:16 +00:00
|
|
|
},
|
|
|
|
},
|
2021-07-01 11:47:34 +00:00
|
|
|
{"from_route": "/project", "to_route": "Project"},
|
2022-11-21 12:11:42 +00:00
|
|
|
{"from_route": "/tasks", "to_route": "Task"},
|
2015-02-23 16:44:12 +00:00
|
|
|
]
|
|
|
|
|
2017-03-08 07:03:43 +00:00
|
|
|
standard_portal_menu_items = [
|
2022-11-05 13:19:15 +00:00
|
|
|
{"title": "Projects", "route": "/project", "reference_doctype": "Project"},
|
2016-09-23 16:21:51 +00:00
|
|
|
{
|
2022-11-05 13:19:15 +00:00
|
|
|
"title": "Request for Quotations",
|
2016-09-23 16:21:51 +00:00
|
|
|
"route": "/rfq",
|
|
|
|
"reference_doctype": "Request for Quotation",
|
2017-07-21 09:49:47 +00:00
|
|
|
"role": "Supplier",
|
|
|
|
},
|
|
|
|
{
|
2022-11-05 13:19:15 +00:00
|
|
|
"title": "Supplier Quotation",
|
2017-07-21 09:49:47 +00:00
|
|
|
"route": "/supplier-quotations",
|
|
|
|
"reference_doctype": "Supplier Quotation",
|
2019-10-09 06:11:33 +00:00
|
|
|
"role": "Supplier",
|
|
|
|
},
|
|
|
|
{
|
2022-11-05 13:19:15 +00:00
|
|
|
"title": "Purchase Orders",
|
2019-10-09 06:11:33 +00:00
|
|
|
"route": "/purchase-orders",
|
|
|
|
"reference_doctype": "Purchase Order",
|
|
|
|
"role": "Supplier",
|
|
|
|
},
|
|
|
|
{
|
2022-11-05 13:19:15 +00:00
|
|
|
"title": "Purchase Invoices",
|
2019-10-09 06:11:33 +00:00
|
|
|
"route": "/purchase-invoices",
|
|
|
|
"reference_doctype": "Purchase Invoice",
|
2017-07-21 09:49:47 +00:00
|
|
|
"role": "Supplier",
|
|
|
|
},
|
|
|
|
{
|
2022-11-05 13:19:15 +00:00
|
|
|
"title": "Quotations",
|
2017-07-21 09:49:47 +00:00
|
|
|
"route": "/quotations",
|
|
|
|
"reference_doctype": "Quotation",
|
2016-09-23 16:21:51 +00:00
|
|
|
"role": "Customer",
|
|
|
|
},
|
|
|
|
{
|
2022-11-05 13:19:15 +00:00
|
|
|
"title": "Orders",
|
2016-09-23 16:21:51 +00:00
|
|
|
"route": "/orders",
|
|
|
|
"reference_doctype": "Sales Order",
|
|
|
|
"role": "Customer",
|
|
|
|
},
|
|
|
|
{
|
2022-11-05 13:19:15 +00:00
|
|
|
"title": "Invoices",
|
2016-09-23 16:21:51 +00:00
|
|
|
"route": "/invoices",
|
|
|
|
"reference_doctype": "Sales Invoice",
|
|
|
|
"role": "Customer",
|
|
|
|
},
|
|
|
|
{
|
2022-11-05 13:19:15 +00:00
|
|
|
"title": "Shipments",
|
2016-09-23 16:21:51 +00:00
|
|
|
"route": "/shipments",
|
|
|
|
"reference_doctype": "Delivery Note",
|
2018-11-13 06:37:16 +00:00
|
|
|
"role": "Customer",
|
2022-03-28 13:22:46 +00:00
|
|
|
},
|
2022-11-05 13:19:15 +00:00
|
|
|
{"title": "Issues", "route": "/issues", "reference_doctype": "Issue", "role": "Customer"},
|
|
|
|
{"title": "Addresses", "route": "/addresses", "reference_doctype": "Address"},
|
2017-09-18 10:30:34 +00:00
|
|
|
{
|
2022-11-05 13:19:15 +00:00
|
|
|
"title": "Timesheets",
|
2017-09-18 10:30:34 +00:00
|
|
|
"route": "/timesheets",
|
|
|
|
"reference_doctype": "Timesheet",
|
|
|
|
"role": "Customer",
|
|
|
|
},
|
2022-11-05 13:19:15 +00:00
|
|
|
{"title": "Newsletter", "route": "/newsletters", "reference_doctype": "Newsletter"},
|
2018-11-13 06:37:16 +00:00
|
|
|
{
|
2022-11-05 13:19:15 +00:00
|
|
|
"title": "Material Request",
|
2018-11-13 06:37:16 +00:00
|
|
|
"route": "/material-requests",
|
|
|
|
"reference_doctype": "Material Request",
|
|
|
|
"role": "Customer",
|
2022-03-28 13:22:46 +00:00
|
|
|
},
|
2022-11-05 13:19:15 +00:00
|
|
|
{"title": "Appointment Booking", "route": "/book_appointment"},
|
2016-09-23 16:21:51 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
default_roles = [
|
2017-01-13 18:55:22 +00:00
|
|
|
{"role": "Customer", "doctype": "Contact", "email_field": "email_id"},
|
|
|
|
{"role": "Supplier", "doctype": "Contact", "email_field": "email_id"},
|
2016-03-30 06:59:48 +00:00
|
|
|
]
|
|
|
|
|
2019-06-07 07:18:13 +00:00
|
|
|
sounds = [
|
|
|
|
{"name": "incoming-call", "src": "/assets/erpnext/sounds/incoming-call.mp3", "volume": 0.2},
|
|
|
|
{"name": "call-disconnect", "src": "/assets/erpnext/sounds/call-disconnect.mp3", "volume": 0.2},
|
|
|
|
]
|
|
|
|
|
2022-06-10 10:56:07 +00:00
|
|
|
has_upload_permission = {
|
2022-06-15 07:13:45 +00:00
|
|
|
"Employee": "erpnext.setup.doctype.employee.employee.has_upload_permission"
|
2022-06-10 10:56:07 +00:00
|
|
|
}
|
2021-03-26 11:04:22 +00:00
|
|
|
|
2015-02-23 16:44:12 +00:00
|
|
|
has_website_permission = {
|
|
|
|
"Sales Order": "erpnext.controllers.website_list_for_contact.has_website_permission",
|
2017-07-21 09:49:47 +00:00
|
|
|
"Quotation": "erpnext.controllers.website_list_for_contact.has_website_permission",
|
2015-02-23 16:44:12 +00:00
|
|
|
"Sales Invoice": "erpnext.controllers.website_list_for_contact.has_website_permission",
|
2016-09-21 11:19:58 +00:00
|
|
|
"Supplier Quotation": "erpnext.controllers.website_list_for_contact.has_website_permission",
|
2019-10-09 06:11:33 +00:00
|
|
|
"Purchase Order": "erpnext.controllers.website_list_for_contact.has_website_permission",
|
|
|
|
"Purchase Invoice": "erpnext.controllers.website_list_for_contact.has_website_permission",
|
2018-11-13 06:37:16 +00:00
|
|
|
"Material Request": "erpnext.controllers.website_list_for_contact.has_website_permission",
|
2015-06-01 11:45:42 +00:00
|
|
|
"Delivery Note": "erpnext.controllers.website_list_for_contact.has_website_permission",
|
2017-07-25 05:23:12 +00:00
|
|
|
"Issue": "erpnext.support.doctype.issue.issue.has_website_permission",
|
2017-09-13 07:22:30 +00:00
|
|
|
"Timesheet": "erpnext.controllers.website_list_for_contact.has_website_permission",
|
2015-02-23 16:44:12 +00:00
|
|
|
}
|
2014-10-21 10:46:30 +00:00
|
|
|
|
2014-05-02 06:44:03 +00:00
|
|
|
before_tests = "erpnext.setup.utils.before_tests"
|
|
|
|
|
2015-03-24 12:04:58 +00:00
|
|
|
standard_queries = {
|
2023-03-24 06:43:53 +00:00
|
|
|
"Customer": "erpnext.controllers.queries.customer_query",
|
2015-03-24 12:04:58 +00:00
|
|
|
}
|
2014-05-02 06:44:03 +00:00
|
|
|
|
|
|
|
doc_events = {
|
2020-11-28 14:54:06 +00:00
|
|
|
"*": {
|
2021-06-14 13:35:52 +00:00
|
|
|
"validate": "erpnext.support.doctype.service_level_agreement.service_level_agreement.apply",
|
2020-11-28 14:54:06 +00:00
|
|
|
},
|
2014-05-02 06:44:03 +00:00
|
|
|
"Stock Entry": {
|
2014-11-04 10:02:31 +00:00
|
|
|
"on_submit": "erpnext.stock.doctype.material_request.material_request.update_completed_and_requested_qty",
|
|
|
|
"on_cancel": "erpnext.stock.doctype.material_request.material_request.update_completed_and_requested_qty",
|
2014-05-05 11:16:14 +00:00
|
|
|
},
|
|
|
|
"User": {
|
2017-06-13 09:56:35 +00:00
|
|
|
"after_insert": "frappe.contacts.doctype.contact.contact.update_contact",
|
2022-06-15 07:13:45 +00:00
|
|
|
"validate": "erpnext.setup.doctype.employee.employee.validate_employee_role",
|
2017-03-31 17:31:45 +00:00
|
|
|
"on_update": [
|
2022-06-15 07:13:45 +00:00
|
|
|
"erpnext.setup.doctype.employee.employee.update_user_permissions",
|
2017-03-31 17:31:45 +00:00
|
|
|
"erpnext.portal.utils.set_default_role",
|
2022-03-28 13:22:46 +00:00
|
|
|
],
|
2014-10-21 10:46:30 +00:00
|
|
|
},
|
2021-06-14 13:35:52 +00:00
|
|
|
"Communication": {
|
2021-07-14 06:13:10 +00:00
|
|
|
"on_update": [
|
2021-12-06 09:04:59 +00:00
|
|
|
"erpnext.support.doctype.service_level_agreement.service_level_agreement.on_communication_update",
|
2021-07-14 06:13:10 +00:00
|
|
|
"erpnext.support.doctype.issue.issue.set_first_response_time",
|
2022-06-10 05:45:22 +00:00
|
|
|
],
|
|
|
|
"after_insert": "erpnext.crm.utils.link_communications_with_prospect",
|
|
|
|
},
|
|
|
|
"Event": {
|
|
|
|
"after_insert": "erpnext.crm.utils.link_events_with_prospect",
|
2021-06-14 13:35:52 +00:00
|
|
|
},
|
2021-08-19 12:10:00 +00:00
|
|
|
"Sales Taxes and Charges Template": {
|
2021-02-16 13:15:36 +00:00
|
|
|
"on_update": "erpnext.e_commerce.doctype.e_commerce_settings.e_commerce_settings.validate_cart_settings"
|
2016-07-21 14:56:46 +00:00
|
|
|
},
|
2018-02-21 05:37:33 +00:00
|
|
|
"Sales Invoice": {
|
2020-03-24 06:01:41 +00:00
|
|
|
"on_submit": [
|
|
|
|
"erpnext.regional.create_transaction_log",
|
|
|
|
"erpnext.regional.italy.utils.sales_invoice_on_submit",
|
2021-09-16 20:14:41 +00:00
|
|
|
],
|
2023-02-21 17:22:20 +00:00
|
|
|
"on_cancel": ["erpnext.regional.italy.utils.sales_invoice_on_cancel"],
|
2021-11-29 12:55:47 +00:00
|
|
|
"on_trash": "erpnext.regional.check_deletion_permission",
|
2021-12-07 11:01:02 +00:00
|
|
|
},
|
2020-06-03 05:29:37 +00:00
|
|
|
"Purchase Invoice": {
|
2020-09-09 15:24:30 +00:00
|
|
|
"validate": [
|
|
|
|
"erpnext.regional.united_arab_emirates.utils.update_grand_total_for_rcm",
|
2021-05-14 06:47:41 +00:00
|
|
|
"erpnext.regional.united_arab_emirates.utils.validate_returns",
|
|
|
|
]
|
2020-06-03 05:29:37 +00:00
|
|
|
},
|
2016-07-21 14:56:46 +00:00
|
|
|
"Payment Entry": {
|
2020-07-23 10:15:03 +00:00
|
|
|
"on_submit": [
|
|
|
|
"erpnext.regional.create_transaction_log",
|
|
|
|
"erpnext.accounts.doctype.payment_request.payment_request.update_payment_req_status",
|
|
|
|
"erpnext.accounts.doctype.dunning.dunning.resolve_dunning",
|
2021-08-30 07:40:18 +00:00
|
|
|
],
|
2021-11-29 12:55:47 +00:00
|
|
|
"on_trash": "erpnext.regional.check_deletion_permission",
|
2018-01-10 12:18:03 +00:00
|
|
|
},
|
2021-02-22 13:58:45 +00:00
|
|
|
"Address": {
|
|
|
|
"validate": [
|
2019-12-10 10:25:05 +00:00
|
|
|
"erpnext.regional.italy.utils.set_state_code",
|
2022-03-28 13:22:46 +00:00
|
|
|
],
|
2018-07-03 04:40:04 +00:00
|
|
|
},
|
2019-08-09 13:53:04 +00:00
|
|
|
"Contact": {
|
|
|
|
"on_trash": "erpnext.support.doctype.issue.issue.update_issue",
|
2021-01-12 18:01:40 +00:00
|
|
|
"after_insert": "erpnext.telephony.doctype.call_log.call_log.link_existing_conversations",
|
2021-09-02 14:27:43 +00:00
|
|
|
"validate": ["erpnext.crm.utils.update_lead_phone_numbers"],
|
2019-08-09 13:53:04 +00:00
|
|
|
},
|
2019-07-12 08:26:36 +00:00
|
|
|
"Email Unsubscribe": {
|
|
|
|
"after_insert": "erpnext.crm.doctype.email_campaign.email_campaign.unsubscribe_recipient"
|
2020-03-24 06:01:41 +00:00
|
|
|
},
|
2021-09-03 07:00:57 +00:00
|
|
|
"Integration Request": {
|
|
|
|
"validate": "erpnext.accounts.doctype.payment_request.payment_request.validate_payment"
|
2016-04-22 13:23:21 +00:00
|
|
|
},
|
2014-05-02 06:44:03 +00:00
|
|
|
}
|
|
|
|
|
2020-01-13 07:29:52 +00:00
|
|
|
# On cancel event Payment Entry will be exempted and all linked submittable doctype will get cancelled.
|
|
|
|
# to maintain data integrity we exempted payment entry. it will un-link when sales invoice get cancelled.
|
|
|
|
# if payment entry not in auto cancel exempted doctypes it will cancel payment entry.
|
|
|
|
auto_cancel_exempted_doctypes = [
|
2020-10-23 15:03:30 +00:00
|
|
|
"Payment Entry",
|
2020-01-13 07:29:52 +00:00
|
|
|
]
|
2019-12-02 12:07:46 +00:00
|
|
|
|
2014-05-02 06:44:03 +00:00
|
|
|
scheduler_events = {
|
2020-09-07 13:19:06 +00:00
|
|
|
"cron": {
|
2023-03-06 06:32:35 +00:00
|
|
|
"0/15 * * * *": [
|
2022-05-23 07:30:00 +00:00
|
|
|
"erpnext.manufacturing.doctype.bom_update_log.bom_update_log.resume_bom_cost_update_jobs",
|
2023-04-22 11:54:35 +00:00
|
|
|
"erpnext.accounts.doctype.process_payment_reconciliation.process_payment_reconciliation.trigger_reconciliation_for_queued_docs",
|
2022-05-23 07:30:00 +00:00
|
|
|
],
|
2020-09-07 13:19:06 +00:00
|
|
|
"0/30 * * * *": [
|
2020-09-10 08:27:44 +00:00
|
|
|
"erpnext.utilities.doctype.video.video.update_youtube_data",
|
2022-05-23 07:30:00 +00:00
|
|
|
],
|
2022-06-28 06:52:17 +00:00
|
|
|
# Hourly but offset by 30 minutes
|
|
|
|
"30 * * * *": [
|
|
|
|
"erpnext.accounts.doctype.gl_entry.gl_entry.rename_gle_sle_docs",
|
|
|
|
],
|
|
|
|
# Daily but offset by 45 minutes
|
|
|
|
"45 0 * * *": [
|
|
|
|
"erpnext.stock.reorder_item.reorder_item",
|
|
|
|
],
|
2020-09-07 13:19:06 +00:00
|
|
|
},
|
2019-01-17 07:19:45 +00:00
|
|
|
"all": [
|
2020-02-24 16:38:45 +00:00
|
|
|
"erpnext.projects.doctype.project.project.project_status_update_reminder",
|
2020-04-17 19:15:18 +00:00
|
|
|
"erpnext.crm.doctype.social_media_post.social_media_post.process_scheduled_social_media_posts",
|
2019-01-17 07:19:45 +00:00
|
|
|
],
|
2015-07-02 09:11:27 +00:00
|
|
|
"hourly": [
|
2019-07-03 05:04:31 +00:00
|
|
|
"erpnext.erpnext_integrations.doctype.plaid_settings.plaid_settings.automatic_synchronization",
|
2019-01-17 07:19:45 +00:00
|
|
|
"erpnext.projects.doctype.project.project.hourly_reminder",
|
2019-05-10 18:19:42 +00:00
|
|
|
"erpnext.projects.doctype.project.project.collect_project_status",
|
2021-05-27 11:35:36 +00:00
|
|
|
],
|
|
|
|
"hourly_long": [
|
2022-09-27 16:42:32 +00:00
|
|
|
"erpnext.accounts.doctype.subscription.subscription.process_all",
|
2022-02-07 19:30:37 +00:00
|
|
|
"erpnext.stock.doctype.repost_item_valuation.repost_item_valuation.repost_entries",
|
|
|
|
"erpnext.bulk_transaction.doctype.bulk_transaction_log.bulk_transaction_log.retry_failing_transaction",
|
2015-07-02 09:11:27 +00:00
|
|
|
],
|
2014-05-02 06:44:03 +00:00
|
|
|
"daily": [
|
2014-12-15 06:27:03 +00:00
|
|
|
"erpnext.support.doctype.issue.issue.auto_close_tickets",
|
2017-02-16 14:06:59 +00:00
|
|
|
"erpnext.crm.doctype.opportunity.opportunity.auto_close_opportunity",
|
2016-11-08 07:09:33 +00:00
|
|
|
"erpnext.controllers.accounts_controller.update_invoice_status",
|
2015-01-23 09:52:13 +00:00
|
|
|
"erpnext.accounts.doctype.fiscal_year.fiscal_year.auto_create_fiscal_year",
|
2016-03-09 07:10:56 +00:00
|
|
|
"erpnext.projects.doctype.task.task.set_tasks_as_overdue",
|
2017-10-17 09:47:24 +00:00
|
|
|
"erpnext.assets.doctype.asset.depreciation.post_depreciation_entries",
|
2017-07-18 05:05:12 +00:00
|
|
|
"erpnext.stock.doctype.serial_no.serial_no.update_maintenance_status",
|
2017-07-24 17:12:30 +00:00
|
|
|
"erpnext.buying.doctype.supplier_scorecard.supplier_scorecard.refresh_scorecards",
|
2017-07-31 15:15:36 +00:00
|
|
|
"erpnext.setup.doctype.company.company.cache_companies_monthly_sales_history",
|
2018-05-15 09:55:14 +00:00
|
|
|
"erpnext.assets.doctype.asset.asset.update_maintenance_status",
|
2018-05-23 09:36:45 +00:00
|
|
|
"erpnext.assets.doctype.asset.asset.make_post_gl_entry",
|
2018-06-28 18:13:23 +00:00
|
|
|
"erpnext.crm.doctype.contract.contract.update_status_for_contracts",
|
2018-12-25 12:12:31 +00:00
|
|
|
"erpnext.projects.doctype.project.project.update_project_sales_billing",
|
2019-01-22 10:26:39 +00:00
|
|
|
"erpnext.projects.doctype.project.project.send_project_status_email_to_users",
|
2019-03-19 11:17:56 +00:00
|
|
|
"erpnext.quality_management.doctype.quality_review.quality_review.review",
|
2019-05-07 04:57:01 +00:00
|
|
|
"erpnext.support.doctype.service_level_agreement.service_level_agreement.check_agreement_status",
|
2019-07-21 21:53:40 +00:00
|
|
|
"erpnext.crm.doctype.email_campaign.email_campaign.send_email_to_leads_or_contacts",
|
2019-11-15 11:12:32 +00:00
|
|
|
"erpnext.crm.doctype.email_campaign.email_campaign.set_email_campaign_status",
|
2020-04-14 17:35:11 +00:00
|
|
|
"erpnext.selling.doctype.quotation.quotation.set_expired_status",
|
2020-08-11 10:53:47 +00:00
|
|
|
"erpnext.buying.doctype.supplier_quotation.supplier_quotation.set_expired_status",
|
2021-01-21 11:06:15 +00:00
|
|
|
"erpnext.accounts.doctype.process_statement_of_accounts.process_statement_of_accounts.send_auto_email",
|
2023-07-03 09:05:33 +00:00
|
|
|
"erpnext.accounts.utils.auto_create_exchange_rate_revaluation_daily",
|
|
|
|
],
|
|
|
|
"weekly": [
|
|
|
|
"erpnext.accounts.utils.auto_create_exchange_rate_revaluation_weekly",
|
2018-09-05 05:31:35 +00:00
|
|
|
],
|
|
|
|
"daily_long": [
|
2019-10-30 09:13:58 +00:00
|
|
|
"erpnext.setup.doctype.email_digest.email_digest.send",
|
2022-03-16 14:15:03 +00:00
|
|
|
"erpnext.manufacturing.doctype.bom_update_tool.bom_update_tool.auto_update_latest_price_in_all_boms",
|
2022-06-27 16:28:19 +00:00
|
|
|
"erpnext.crm.utils.open_leads_opportunities_based_on_todays_event",
|
2021-08-24 14:49:22 +00:00
|
|
|
],
|
2019-05-01 07:19:44 +00:00
|
|
|
"monthly_long": [
|
2020-06-01 06:00:34 +00:00
|
|
|
"erpnext.accounts.deferred_revenue.process_deferred_accounting",
|
2014-05-02 06:44:03 +00:00
|
|
|
],
|
|
|
|
}
|
2014-06-26 06:32:55 +00:00
|
|
|
|
2017-07-13 13:07:18 +00:00
|
|
|
email_brand_image = "assets/erpnext/images/erpnext-logo.jpg"
|
|
|
|
|
2017-07-31 10:46:22 +00:00
|
|
|
default_mail_footer = """
|
|
|
|
<span>
|
|
|
|
Sent via
|
|
|
|
<a class="text-muted" href="https://erpnext.com?source=via_email_footer" target="_blank">
|
|
|
|
ERPNext
|
|
|
|
</a>
|
|
|
|
</span>
|
|
|
|
"""
|
2015-02-12 13:28:28 +00:00
|
|
|
|
|
|
|
get_translated_dict = {
|
|
|
|
("doctype", "Global Defaults"): "frappe.geo.country_info.get_translated_dict"
|
|
|
|
}
|
2016-03-28 07:51:43 +00:00
|
|
|
|
|
|
|
bot_parsers = [
|
|
|
|
"erpnext.utilities.bot.FindItemBot",
|
2016-04-01 06:23:50 +00:00
|
|
|
]
|
2016-06-25 14:21:48 +00:00
|
|
|
|
|
|
|
get_site_info = "erpnext.utilities.get_site_info"
|
2016-11-08 15:05:50 +00:00
|
|
|
|
2017-03-14 09:16:05 +00:00
|
|
|
payment_gateway_enabled = "erpnext.accounts.utils.create_payment_gateway_account"
|
2017-07-13 09:30:56 +00:00
|
|
|
|
2020-04-14 07:32:03 +00:00
|
|
|
communication_doctypes = ["Customer", "Supplier"]
|
|
|
|
|
chore: Extract Expense Claim, FnF, Gratuity, Employee Advance related code from accounting
- Added hooks `advance_payment_doctypes`, `invoice_doctypes`, `period_closing_doctypes` for other apps to extend accounting functionality
- Removed `set_query` code from `journal_entry.js` and `payment_entry.js`
- removed `update_status_for_full_and_final_statement` trigger on JE submission/cancellation
- refactored `payment_entry.py`: split functions for validating reference doctypes for easy overriding, removed hrms references from `get_reference_details` and `get_payment_entry`
- removed dead code: functions `get_bill_no_and_update_amounts`, `get_total_amount_exchange_rate_base_on_currency`, `get_total_amount_exchange_rate_for_employee_advance`, `get_amounts_based_on_ref_doc`, `get_amounts_based_on_reference_doctype`
2022-06-23 10:47:34 +00:00
|
|
|
advance_payment_doctypes = ["Sales Order", "Purchase Order"]
|
|
|
|
|
|
|
|
invoice_doctypes = ["Sales Invoice", "Purchase Invoice"]
|
|
|
|
|
|
|
|
period_closing_doctypes = [
|
|
|
|
"Sales Invoice",
|
|
|
|
"Purchase Invoice",
|
|
|
|
"Journal Entry",
|
|
|
|
"Bank Clearance",
|
|
|
|
"Asset",
|
|
|
|
"Stock Entry",
|
|
|
|
]
|
|
|
|
|
2022-07-01 13:31:17 +00:00
|
|
|
bank_reconciliation_doctypes = [
|
|
|
|
"Payment Entry",
|
|
|
|
"Journal Entry",
|
|
|
|
"Purchase Invoice",
|
|
|
|
]
|
|
|
|
|
2020-11-17 22:16:13 +00:00
|
|
|
accounting_dimension_doctypes = [
|
|
|
|
"GL Entry",
|
2022-05-16 09:02:58 +00:00
|
|
|
"Payment Ledger Entry",
|
2020-11-17 22:16:13 +00:00
|
|
|
"Sales Invoice",
|
|
|
|
"Purchase Invoice",
|
|
|
|
"Payment Entry",
|
|
|
|
"Asset",
|
|
|
|
"Stock Entry",
|
|
|
|
"Budget",
|
|
|
|
"Delivery Note",
|
|
|
|
"Sales Invoice Item",
|
|
|
|
"Purchase Invoice Item",
|
|
|
|
"Purchase Order Item",
|
|
|
|
"Journal Entry Account",
|
|
|
|
"Material Request Item",
|
|
|
|
"Delivery Note Item",
|
|
|
|
"Purchase Receipt Item",
|
|
|
|
"Stock Entry Detail",
|
|
|
|
"Payment Entry Deduction",
|
|
|
|
"Sales Taxes and Charges",
|
|
|
|
"Purchase Taxes and Charges",
|
|
|
|
"Shipping Rule",
|
|
|
|
"Landed Cost Item",
|
|
|
|
"Asset Value Adjustment",
|
2022-07-28 01:41:16 +00:00
|
|
|
"Asset Repair",
|
2022-09-30 10:25:41 +00:00
|
|
|
"Asset Capitalization",
|
2020-11-17 22:16:13 +00:00
|
|
|
"Loyalty Program",
|
|
|
|
"Stock Reconciliation",
|
|
|
|
"POS Profile",
|
|
|
|
"Opening Invoice Creation Tool",
|
|
|
|
"Opening Invoice Creation Tool Item",
|
|
|
|
"Subscription",
|
2021-09-16 14:03:57 +00:00
|
|
|
"Subscription Plan",
|
|
|
|
"POS Invoice",
|
|
|
|
"POS Invoice Item",
|
2022-04-26 08:31:13 +00:00
|
|
|
"Purchase Order",
|
|
|
|
"Purchase Receipt",
|
|
|
|
"Sales Order",
|
2022-08-18 05:28:33 +00:00
|
|
|
"Subcontracting Order",
|
|
|
|
"Subcontracting Order Item",
|
|
|
|
"Subcontracting Receipt",
|
|
|
|
"Subcontracting Receipt Item",
|
2023-03-23 13:34:48 +00:00
|
|
|
"Account Closing Balance",
|
2020-11-17 22:16:13 +00:00
|
|
|
]
|
|
|
|
|
2022-07-01 13:31:17 +00:00
|
|
|
get_matching_queries = (
|
|
|
|
"erpnext.accounts.doctype.bank_reconciliation_tool.bank_reconciliation_tool.get_matching_queries"
|
|
|
|
)
|
|
|
|
|
2023-06-30 05:32:49 +00:00
|
|
|
get_matching_vouchers_for_bank_reconciliation = "erpnext.accounts.doctype.bank_reconciliation_tool.bank_reconciliation_tool.get_matching_vouchers_for_bank_reconciliation"
|
|
|
|
|
|
|
|
get_amounts_not_reflected_in_system_for_bank_reconciliation_statement = "erpnext.accounts.report.bank_reconciliation_statement.bank_reconciliation_statement.get_amounts_not_reflected_in_system_for_bank_reconciliation_statement"
|
|
|
|
|
|
|
|
get_payment_entries_for_bank_clearance = (
|
|
|
|
"erpnext.accounts.doctype.bank_clearance.bank_clearance.get_payment_entries_for_bank_clearance"
|
|
|
|
)
|
|
|
|
|
|
|
|
get_entries_for_bank_clearance_summary = "erpnext.accounts.report.bank_clearance_summary.bank_clearance_summary.get_entries_for_bank_clearance_summary"
|
|
|
|
|
|
|
|
get_entries_for_bank_reconciliation_statement = "erpnext.accounts.report.bank_reconciliation_statement.bank_reconciliation_statement.get_entries_for_bank_reconciliation_statement"
|
|
|
|
|
2017-07-13 09:30:56 +00:00
|
|
|
regional_overrides = {
|
2018-02-21 05:37:33 +00:00
|
|
|
"France": {
|
|
|
|
"erpnext.tests.test_regional.test_method": "erpnext.regional.france.utils.test_method"
|
|
|
|
},
|
2017-12-28 08:50:13 +00:00
|
|
|
"United Arab Emirates": {
|
2020-09-09 15:24:30 +00:00
|
|
|
"erpnext.controllers.taxes_and_totals.update_itemised_tax_data": "erpnext.regional.united_arab_emirates.utils.update_itemised_tax_data",
|
|
|
|
"erpnext.accounts.doctype.purchase_invoice.purchase_invoice.make_regional_gl_entries": "erpnext.regional.united_arab_emirates.utils.make_regional_gl_entries",
|
2017-12-28 08:50:13 +00:00
|
|
|
},
|
|
|
|
"Saudi Arabia": {
|
|
|
|
"erpnext.controllers.taxes_and_totals.update_itemised_tax_data": "erpnext.regional.united_arab_emirates.utils.update_itemised_tax_data"
|
2019-03-14 07:01:25 +00:00
|
|
|
},
|
|
|
|
"Italy": {
|
|
|
|
"erpnext.controllers.taxes_and_totals.update_itemised_tax_data": "erpnext.regional.italy.utils.update_itemised_tax_data",
|
|
|
|
"erpnext.controllers.accounts_controller.validate_regional": "erpnext.regional.italy.utils.sales_invoice_validate",
|
2017-07-13 09:30:56 +00:00
|
|
|
},
|
2018-05-15 09:55:14 +00:00
|
|
|
}
|
2019-03-20 07:55:48 +00:00
|
|
|
user_privacy_documents = [
|
|
|
|
{
|
|
|
|
"doctype": "Lead",
|
|
|
|
"match_field": "email_id",
|
|
|
|
"personal_fields": ["phone", "mobile_no", "fax", "website", "lead_name"],
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"doctype": "Opportunity",
|
|
|
|
"match_field": "contact_email",
|
|
|
|
"personal_fields": ["contact_mobile", "contact_display", "customer_name"],
|
|
|
|
},
|
2019-04-05 05:32:25 +00:00
|
|
|
]
|
2019-09-26 19:29:48 +00:00
|
|
|
|
2019-09-30 08:10:02 +00:00
|
|
|
# ERPNext doctypes for Global Search
|
2019-10-02 11:02:53 +00:00
|
|
|
global_search_doctypes = {
|
|
|
|
"Default": [
|
|
|
|
{"doctype": "Customer", "index": 0},
|
|
|
|
{"doctype": "Supplier", "index": 1},
|
|
|
|
{"doctype": "Item", "index": 2},
|
|
|
|
{"doctype": "Warehouse", "index": 3},
|
|
|
|
{"doctype": "Account", "index": 4},
|
|
|
|
{"doctype": "Employee", "index": 5},
|
|
|
|
{"doctype": "BOM", "index": 6},
|
|
|
|
{"doctype": "Sales Invoice", "index": 7},
|
|
|
|
{"doctype": "Sales Order", "index": 8},
|
|
|
|
{"doctype": "Quotation", "index": 9},
|
|
|
|
{"doctype": "Work Order", "index": 10},
|
2020-12-08 04:13:29 +00:00
|
|
|
{"doctype": "Purchase Order", "index": 11},
|
|
|
|
{"doctype": "Purchase Receipt", "index": 12},
|
|
|
|
{"doctype": "Purchase Invoice", "index": 13},
|
|
|
|
{"doctype": "Delivery Note", "index": 14},
|
|
|
|
{"doctype": "Stock Entry", "index": 15},
|
|
|
|
{"doctype": "Material Request", "index": 16},
|
|
|
|
{"doctype": "Delivery Trip", "index": 17},
|
|
|
|
{"doctype": "Pick List", "index": 18},
|
|
|
|
{"doctype": "Payment Entry", "index": 22},
|
|
|
|
{"doctype": "Lead", "index": 23},
|
|
|
|
{"doctype": "Opportunity", "index": 24},
|
|
|
|
{"doctype": "Item Price", "index": 25},
|
|
|
|
{"doctype": "Purchase Taxes and Charges Template", "index": 26},
|
|
|
|
{"doctype": "Sales Taxes and Charges", "index": 27},
|
|
|
|
{"doctype": "Asset", "index": 28},
|
|
|
|
{"doctype": "Project", "index": 29},
|
|
|
|
{"doctype": "Task", "index": 30},
|
|
|
|
{"doctype": "Timesheet", "index": 31},
|
|
|
|
{"doctype": "Issue", "index": 32},
|
|
|
|
{"doctype": "Serial No", "index": 33},
|
|
|
|
{"doctype": "Batch", "index": 34},
|
|
|
|
{"doctype": "Branch", "index": 35},
|
|
|
|
{"doctype": "Department", "index": 36},
|
|
|
|
{"doctype": "Designation", "index": 38},
|
|
|
|
{"doctype": "Maintenance Schedule", "index": 45},
|
|
|
|
{"doctype": "Maintenance Visit", "index": 46},
|
|
|
|
{"doctype": "Warranty Claim", "index": 47},
|
2019-10-02 11:02:53 +00:00
|
|
|
],
|
2020-10-16 09:58:12 +00:00
|
|
|
}
|
2021-01-12 18:01:40 +00:00
|
|
|
|
|
|
|
additional_timeline_content = {
|
|
|
|
"*": ["erpnext.telephony.doctype.call_log.call_log.get_linked_call_logs"]
|
|
|
|
}
|