diff --git a/erpnext/public/js/utils.js b/erpnext/public/js/utils.js
index 51637316446..acaf7fb056e 100755
--- a/erpnext/public/js/utils.js
+++ b/erpnext/public/js/utils.js
@@ -562,6 +562,18 @@ $.extend(erpnext.utils, {
},
});
+erpnext.utils.confirm_negative_stock = function (frm) {
+ if (!frm.doc.allow_negative_stock) return;
+
+ frappe.confirm(
+ __(
+ "Using negative stock disables FIFO/Moving average valuation when inventory is negative. This is considered dangerous from accounting point of view.
Do you still want to enable negative inventory?"
+ ),
+ () => {},
+ () => frm.set_value("allow_negative_stock", 0)
+ );
+};
+
erpnext.utils.select_alternate_items = function (opts) {
const frm = opts.frm;
const warehouse_field = opts.warehouse_field || "warehouse";
diff --git a/erpnext/stock/doctype/item/item.js b/erpnext/stock/doctype/item/item.js
index d4cd4b61f6a..3bc7499aaee 100644
--- a/erpnext/stock/doctype/item/item.js
+++ b/erpnext/stock/doctype/item/item.js
@@ -55,25 +55,7 @@ frappe.ui.form.on("Item", {
},
allow_negative_stock(frm) {
- if (!frm.doc.allow_negative_stock) {
- return;
- }
-
- let msg = __(
- "Using negative stock disables FIFO/Moving average valuation when inventory is negative."
- );
- msg += " ";
- msg += __("This is considered dangerous from accounting point of view.");
- msg += "
";
- msg += __("Do you still want to enable negative inventory?");
-
- frappe.confirm(
- msg,
- () => {},
- () => {
- frm.set_value("allow_negative_stock", 0);
- }
- );
+ erpnext.utils.confirm_negative_stock(frm);
},
setup: function (frm) {
diff --git a/erpnext/stock/doctype/stock_settings/stock_settings.js b/erpnext/stock/doctype/stock_settings/stock_settings.js
index 3d70c199d05..db0c7bb337c 100644
--- a/erpnext/stock/doctype/stock_settings/stock_settings.js
+++ b/erpnext/stock/doctype/stock_settings/stock_settings.js
@@ -96,25 +96,7 @@ frappe.ui.form.on("Stock Settings", {
},
allow_negative_stock: function (frm) {
- if (!frm.doc.allow_negative_stock) {
- return;
- }
-
- let msg = __(
- "Using negative stock disables FIFO/Moving average valuation when inventory is negative."
- );
- msg += " ";
- msg += __("This is considered dangerous from accounting point of view.");
- msg += "
";
- msg += __("Do you still want to enable negative inventory?");
-
- frappe.confirm(
- msg,
- () => {},
- () => {
- frm.set_value("allow_negative_stock", 0);
- }
- );
+ erpnext.utils.confirm_negative_stock(frm);
},
auto_insert_price_list_rate_if_missing(frm) {
if (!frm.doc.auto_insert_price_list_rate_if_missing) return;