diff --git a/erpnext/patches.txt b/erpnext/patches.txt index bebbb20a1cf..125ade6ee73 100644 --- a/erpnext/patches.txt +++ b/erpnext/patches.txt @@ -475,4 +475,5 @@ erpnext.patches.v16_0.co_by_product_patch erpnext.patches.v16_0.update_requested_qty_packed_item erpnext.patches.v16_0.remove_payables_receivables_workspace erpnext.patches.v16_0.depends_on_inv_dimensions +erpnext.patches.v16_0.uom_category erpnext.patches.v16_0.merge_repost_settings_to_accounts_settings diff --git a/erpnext/patches/v16_0/uom_category.py b/erpnext/patches/v16_0/uom_category.py new file mode 100644 index 00000000000..f26bca1d388 --- /dev/null +++ b/erpnext/patches/v16_0/uom_category.py @@ -0,0 +1,11 @@ +import json + +import frappe + + +def execute(): + uom_data = json.loads( + open(frappe.get_app_path("erpnext", "setup", "setup_wizard", "data", "uom_data.json")).read() + ) + bulk_update_dict = {uom["uom_name"]: {"category": uom["category"]} for uom in uom_data} + frappe.db.bulk_update("UOM", bulk_update_dict) diff --git a/erpnext/setup/doctype/uom/uom.json b/erpnext/setup/doctype/uom/uom.json index 73c69643c89..f8031c8a421 100644 --- a/erpnext/setup/doctype/uom/uom.json +++ b/erpnext/setup/doctype/uom/uom.json @@ -13,6 +13,7 @@ "common_code", "description", "column_break_obth", + "category", "enabled", "must_be_whole_number" ], @@ -60,12 +61,21 @@ { "fieldname": "column_break_obth", "fieldtype": "Column Break" + }, + { + "allow_in_quick_entry": 1, + "fieldname": "category", + "fieldtype": "Link", + "in_list_view": 1, + "in_standard_filter": 1, + "label": "Category", + "options": "UOM Category" } ], "icon": "fa fa-compass", "idx": 1, "links": [], - "modified": "2025-08-21 18:59:27.900209", + "modified": "2026-04-14 21:20:16.983514", "modified_by": "Administrator", "module": "Setup", "name": "UOM", diff --git a/erpnext/setup/doctype/uom/uom.py b/erpnext/setup/doctype/uom/uom.py index d47028fea2e..39766c10eae 100644 --- a/erpnext/setup/doctype/uom/uom.py +++ b/erpnext/setup/doctype/uom/uom.py @@ -14,6 +14,7 @@ class UOM(Document): if TYPE_CHECKING: from frappe.types import DF + category: DF.Link | None common_code: DF.Data | None description: DF.SmallText | None enabled: DF.Check diff --git a/erpnext/setup/setup_wizard/data/uom_data.json b/erpnext/setup/setup_wizard/data/uom_data.json index 12f11ce5b85..f428044ec3e 100644 --- a/erpnext/setup/setup_wizard/data/uom_data.json +++ b/erpnext/setup/setup_wizard/data/uom_data.json @@ -1,1056 +1,1295 @@ [ { "uom_name": "Abampere", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Electric Current" }, { "uom_name": "Acre", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Area" }, { "uom_name": "Acre (US)", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Area" }, { "uom_name": "Ampere", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Electric Current" }, { "uom_name": "Ampere-Hour", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Electrical Charge" }, { "uom_name": "Ampere-Minute", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Electrical Charge" }, { "uom_name": "Ampere-Second", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Electrical Charge" }, { "uom_name": "Are", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Area" }, { "uom_name": "Area", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": null }, { "uom_name": "Arshin", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Length" }, { "uom_name": "Atmosphere", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Pressure" }, { "uom_name": "Bar", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Pressure" }, { "uom_name": "Barleycorn", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Length" }, { "uom_name": "Barrel (Oil)", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Volume" }, { "uom_name": "Barrel(Beer)", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Volume" }, { "uom_name": "Biot", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Electric Current" }, { "uom_name": "Box", "must_be_whole_number": 1, - "common_code": "BX" + "common_code": "BX", + "category": null }, { "uom_name": "Btu (It)", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Energy" }, { "uom_name": "Btu (Mean)", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Energy" }, { "uom_name": "Btu (Th)", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Energy" }, { "uom_name": "Btu/Hour", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Power" }, { "uom_name": "Btu/Minutes", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Power" }, { "uom_name": "Btu/Seconds", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Power" }, { "uom_name": "Bushel (UK)", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Volume" }, { "uom_name": "Bushel (US Dry Level)", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Volume" }, { "uom_name": "Caballeria", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Area" }, { "uom_name": "Cable Length", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Length" }, { "uom_name": "Cable Length (UK)", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Length" }, { "uom_name": "Cable Length (US)", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Length" }, { "uom_name": "Calibre", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Length" }, { "uom_name": "Calorie (Food)", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Energy" }, { "uom_name": "Calorie (It)", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Energy" }, { "uom_name": "Calorie (Mean)", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Energy" }, { "uom_name": "Calorie (Th)", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Energy" }, { "uom_name": "Calorie/Seconds", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Power" }, { "uom_name": "Carat", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Mass" }, { "uom_name": "Celsius", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Temperature" }, { "uom_name": "Cental", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Mass" }, { "uom_name": "Centiarea", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Area" }, { "uom_name": "Centigram/Litre", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Density" }, { "uom_name": "Centilitre", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Volume" }, { "uom_name": "Centimeter", "must_be_whole_number": 0, "common_code": "CMT", - "symbol": "cm" + "symbol": "cm", + "category": "Length" }, { "uom_name": "Chain", "must_be_whole_number": 0, "common_code": "M49", - "symbol": "ch (US survey)" + "symbol": "ch (US survey)", + "category": "Length" }, { "uom_name": "Coulomb", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Electrical Charge" }, { "uom_name": "Cubic Centimeter", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Volume" }, { "uom_name": "Cubic Decimeter", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Volume" }, { "uom_name": "Cubic Foot", "must_be_whole_number": 0, "common_code": "FTQ", - "symbol": "ft³" + "symbol": "ft\u00b3", + "category": "Volume" }, { "uom_name": "Cubic Inch", "must_be_whole_number": 0, "common_code": "INQ", - "symbol": "in³" + "symbol": "in\u00b3", + "category": "Volume" }, { "uom_name": "Cubic Meter", "must_be_whole_number": 0, "common_code": "MTQ", - "symbol": "m³" + "symbol": "m\u00b3", + "category": "Volume" }, { "uom_name": "Cubic Millimeter", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Volume" }, { "uom_name": "Cubic Yard", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Volume" }, { "uom_name": "Cup", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Volume" }, { "uom_name": "Cycle/Second", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Frequency and Wavelength" }, { "uom_name": "Day", "must_be_whole_number": 0, "common_code": "DAY", - "symbol": "d" + "symbol": "d", + "category": "Time" }, { "uom_name": "Decigram/Litre", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Density" }, { "uom_name": "Decilitre", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Volume" }, { "uom_name": "Decimeter", "must_be_whole_number": 0, "common_code": "DMT", - "symbol": "dm" + "symbol": "dm", + "category": "Length" }, { "uom_name": "Dekagram/Litre", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Density" }, { "uom_name": "Dram", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Mass" }, { "uom_name": "Dyne", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Force" }, { "uom_name": "EMU Of Charge", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Electrical Charge" }, { "uom_name": "EMU of current", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Electric Current" }, { "uom_name": "Ells (UK)", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Length" }, { "uom_name": "Ems(Pica)", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Length" }, { "uom_name": "Erg", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Energy" }, { "uom_name": "Fahrenheit", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Temperature" }, { "uom_name": "Faraday", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Electrical Charge" }, { "uom_name": "Fathom", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Length" }, { "uom_name": "Fluid Ounce (UK)", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Volume" }, { "uom_name": "Fluid Ounce (US)", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Volume" }, { "uom_name": "Foot", "must_be_whole_number": 0, "common_code": "FOT", - "symbol": "ft" + "symbol": "ft", + "category": "Length" }, { "uom_name": "Foot Of Water", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Pressure" }, { "uom_name": "Foot/Minute", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Speed" }, { "uom_name": "Foot/Second", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Speed" }, { "uom_name": "Furlong", "must_be_whole_number": 0, "common_code": "M50", - "symbol": "fur" + "symbol": "fur", + "category": "Length" }, { "uom_name": "Gallon (UK)", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Volume" }, { "uom_name": "Gallon Dry (US)", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Volume" }, { "uom_name": "Gallon Liquid (US)", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Volume" }, { "uom_name": "Gamma", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Magnetic Induction" }, { "uom_name": "Gauss", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Magnetic Induction" }, { "uom_name": "Grain", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Mass" }, { "uom_name": "Grain/Cubic Foot", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Density" }, { "uom_name": "Grain/Gallon (UK)", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Density" }, { "uom_name": "Grain/Gallon (US)", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Density" }, { "uom_name": "Gram", "must_be_whole_number": 0, "common_code": "GRM", - "symbol": "g" + "symbol": "g", + "category": "Mass" }, { "uom_name": "Gram-Force", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Force" }, { "uom_name": "Gram/Cubic Centimeter", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Density" }, { "uom_name": "Gram/Cubic Meter", "must_be_whole_number": 0, "common_code": "A93", - "symbol": "g/m³" + "symbol": "g/m\u00b3", + "category": "Density" }, { "uom_name": "Gram/Cubic Millimeter", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Density" }, { "uom_name": "Gram/Litre", "must_be_whole_number": 0, "common_code": "GL", - "symbol": "g/l" + "symbol": "g/l", + "category": "Density" }, { "uom_name": "Hand", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Length" }, { "uom_name": "Hectare", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Area" }, { "uom_name": "Hectogram/Litre", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Density" }, { "uom_name": "Hectometer", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Length" }, { "uom_name": "Hectopascal", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Pressure" }, { "uom_name": "Hertz", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Frequency and Wavelength" }, { "uom_name": "Horsepower", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Power" }, { "uom_name": "Horsepower-Hours", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Energy" }, { "uom_name": "Hour", "must_be_whole_number": 0, - "common_code": "HUR" + "common_code": "HUR", + "category": "Time" }, { "uom_name": "Hundredweight (UK)", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Mass" }, { "uom_name": "Hundredweight (US)", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Mass" }, { "uom_name": "Iches Of Water", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Pressure" }, { "uom_name": "Inch", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Length" }, { "uom_name": "Inch Pound-Force", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Energy" }, { "uom_name": "Inch/Minute", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Speed" }, { "uom_name": "Inch/Second", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Speed" }, { "uom_name": "Inches Of Mercury", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Pressure" }, { "uom_name": "Joule", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Energy" }, { "uom_name": "Joule/Meter", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Force" }, { "uom_name": "Kelvin", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Temperature" }, { "uom_name": "Kg", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Mass" }, { "uom_name": "Kiloampere", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Electric Current" }, { "uom_name": "Kilocalorie", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Energy" }, { "uom_name": "Kilocoulomb", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Electrical Charge" }, { "uom_name": "Kilogram-Force", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Force" }, { "uom_name": "Kilogram/Cubic Centimeter", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Density" }, { "uom_name": "Kilogram/Cubic Meter", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Density" }, { "uom_name": "Kilogram/Litre", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Density" }, { "uom_name": "Kilohertz", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Frequency and Wavelength" }, { "uom_name": "Kilojoule", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Energy" }, { "uom_name": "Kilometer", "must_be_whole_number": 0, "common_code": "KMT", - "symbol": "km" + "symbol": "km", + "category": "Length" }, { "uom_name": "Kilometer/Hour", "must_be_whole_number": 0, "common_code": "KMH", - "symbol": "km/h" + "symbol": "km/h", + "category": "Speed" }, { "uom_name": "Kilopascal", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Pressure" }, { "uom_name": "Kilopond", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Force" }, { "uom_name": "Kilopound-Force", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Force" }, { "uom_name": "Kilowatt", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Power" }, { "uom_name": "Kilowatt-Hour", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Energy" }, { "uom_name": "Kip", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Mass" }, { "uom_name": "Knot", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Speed" }, { "uom_name": "Link", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Length" }, { "uom_name": "Litre", "must_be_whole_number": 0, "common_code": "LTR", - "symbol": "l" + "symbol": "l", + "category": "Volume" }, { "uom_name": "Litre-Atmosphere", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Energy" }, { "uom_name": "Megacoulomb", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Electrical Charge" }, { "uom_name": "Megagram/Litre", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Density" }, { "uom_name": "Megahertz", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Frequency and Wavelength" }, { "uom_name": "Megajoule", "must_be_whole_number": 0, "common_code": "3B", - "symbol": "MJ" + "symbol": "MJ", + "category": "Energy" }, { "uom_name": "Megawatt", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Power" }, { "uom_name": "Meter", "must_be_whole_number": 0, - "common_code": "MTR" + "common_code": "MTR", + "category": "Length" }, { "uom_name": "Meter Of Water", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Pressure" }, { "uom_name": "Meter/Second", "must_be_whole_number": 0, "common_code": "MTS", - "symbol": "m/s" + "symbol": "m/s", + "category": "Speed" }, { "uom_name": "Microbar", "must_be_whole_number": 0, "common_code": "B85", - "symbol": "µbar" + "symbol": "\u00b5bar", + "category": "Pressure" }, { "uom_name": "Microgram", "must_be_whole_number": 0, "common_code": "MC", - "symbol": "µg" + "symbol": "\u00b5g", + "category": "Mass" }, { "uom_name": "Microgram/Litre", "must_be_whole_number": 0, "common_code": "H29", - "symbol": "µg/l" + "symbol": "\u00b5g/l", + "category": "Density" }, { "uom_name": "Micrometer", "must_be_whole_number": 0, "common_code": "4H", - "symbol": "µm" + "symbol": "\u00b5m", + "category": "Length" }, { "uom_name": "Microsecond", "must_be_whole_number": 0, "common_code": "B98", - "symbol": "µs" + "symbol": "\u00b5s", + "category": "Time" }, { "uom_name": "Mile", "must_be_whole_number": 0, "common_code": "SMI", - "symbol": "mile" + "symbol": "mile", + "category": "Length" }, { "uom_name": "Mile (Nautical)", "must_be_whole_number": 0, "common_code": "NMI", - "symbol": "n mile" + "symbol": "n mile", + "category": "Length" }, { "uom_name": "Mile/Hour", "must_be_whole_number": 0, "common_code": "HM", - "symbol": "mile/h" + "symbol": "mile/h", + "category": "Speed" }, { "uom_name": "Mile/Minute", "must_be_whole_number": 0, "common_code": "M57", - "symbol": "mi/min" + "symbol": "mi/min", + "category": "Speed" }, { "uom_name": "Mile/Second", "must_be_whole_number": 0, "common_code": "M58", - "symbol": "mi/s" + "symbol": "mi/s", + "category": "Speed" }, { "uom_name": "Milibar", "must_be_whole_number": 0, "common_code": "MBR", - "symbol": "mbar" + "symbol": "mbar", + "category": "Pressure" }, { "uom_name": "Milliampere", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Electric Current" }, { "uom_name": "Millicoulomb", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Electrical Charge" }, { "uom_name": "Milligram", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Mass" }, { "uom_name": "Milligram/Cubic Centimeter", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Density" }, { "uom_name": "Milligram/Cubic Meter", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Density" }, { "uom_name": "Milligram/Cubic Millimeter", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Density" }, { "uom_name": "Milligram/Litre", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Density" }, { "uom_name": "Millihertz", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Frequency and Wavelength" }, { "uom_name": "Millilitre", "must_be_whole_number": 0, "common_code": "MLT", - "symbol": "ml" + "symbol": "ml", + "category": "Volume" }, { "uom_name": "Millimeter", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Length" }, { "uom_name": "Millimeter Of Mercury", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Pressure" }, { "uom_name": "Millimeter Of Water", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Pressure" }, { "uom_name": "Millisecond", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Time" }, { "uom_name": "Minute", "must_be_whole_number": 0, - "common_code": "MIN" + "common_code": "MIN", + "category": "Time" }, { "uom_name": "Nanocoulomb", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Electrical Charge" }, { "uom_name": "Nanogram/Litre", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Density" }, { "uom_name": "Nanohertz", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Frequency and Wavelength" }, { "uom_name": "Nanometer", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Length" }, { "uom_name": "Nanosecond", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Time" }, { "uom_name": "Newton", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Force" }, { "uom_name": "Nos", "must_be_whole_number": 1, - "common_code": "C62" + "common_code": "C62", + "category": null }, { "uom_name": "Ounce", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Mass" }, { "uom_name": "Ounce-Force", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Force" }, { "uom_name": "Ounce/Cubic Foot", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Density" }, { "uom_name": "Ounce/Cubic Inch", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Density" }, { "uom_name": "Ounce/Gallon (UK)", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Density" }, { "uom_name": "Ounce/Gallon (US)", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Density" }, { "uom_name": "Pair", - "must_be_whole_number": 1 + "must_be_whole_number": 1, + "category": null }, { "uom_name": "Parts Per Million", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Agriculture" }, { "uom_name": "Pascal", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Pressure" }, { "uom_name": "Peck (UK)", "must_be_whole_number": 0, "common_code": "L43", - "symbol": "pk (UK)" + "symbol": "pk (UK)", + "category": null }, { "uom_name": "Peck (US)", "must_be_whole_number": 0, "common_code": "G23", - "symbol": "pk (US)" + "symbol": "pk (US)", + "category": null }, { "uom_name": "Percent", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Agriculture" }, { "uom_name": "Pint (UK)", "must_be_whole_number": 0, "common_code": "PTI", - "symbol": "pt (UK)" + "symbol": "pt (UK)", + "category": "Volume" }, { "uom_name": "Pint (US)", "must_be_whole_number": 0, "common_code": "PT", - "symbol": "pt (US)" + "symbol": "pt (US)", + "category": null }, { "uom_name": "Pint, Dry (US)", "must_be_whole_number": 0, "common_code": "L61", - "symbol": "pt (US dry)" + "symbol": "pt (US dry)", + "category": "Volume" }, { "uom_name": "Pint, Liquid (US)", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Volume" }, { "uom_name": "Pond", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Force" }, { "uom_name": "Pood", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Mass" }, { "uom_name": "Pound", "must_be_whole_number": 0, "common_code": "LBR", - "symbol": "lb" + "symbol": "lb", + "category": "Mass" }, { "uom_name": "Pound-Force", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Force" }, { "uom_name": "Pound/Cubic Foot", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Density" }, { "uom_name": "Pound/Cubic Inch", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Density" }, { "uom_name": "Pound/Cubic Yard", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Density" }, { "uom_name": "Pound/Gallon (UK)", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Density" }, { "uom_name": "Pound/Gallon (US)", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Density" }, { "uom_name": "Poundal", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Force" }, { "uom_name": "Psi/1000 Feet", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Density" }, { "uom_name": "Quart (UK)", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Volume" }, { "uom_name": "Quart Dry (US)", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Volume" }, { "uom_name": "Quart Liquid (US)", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Volume" }, { "uom_name": "Quintal", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Mass" }, { "uom_name": "Rod", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Length" }, { "uom_name": "Sazhen", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Length" }, { "uom_name": "Second", "must_be_whole_number": 0, - "common_code": "SEC" + "common_code": "SEC", + "category": "Time" }, { "uom_name": "Set", "must_be_whole_number": 1, - "common_code": "SX" + "common_code": "SX", + "category": null }, { "uom_name": "Slug", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Mass" }, { "uom_name": "Slug/Cubic Foot", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Density" }, { "uom_name": "Square Centimeter", "must_be_whole_number": 0, "common_code": "CMK", - "symbol": "cm²" + "symbol": "cm\u00b2", + "category": "Area" }, { "uom_name": "Square Foot", "must_be_whole_number": 0, "common_code": "FTK", - "symbol": "ft²" + "symbol": "ft\u00b2", + "category": "Area" }, { "uom_name": "Square Inch", "must_be_whole_number": 0, "common_code": "INK", - "symbol": "in²" + "symbol": "in\u00b2", + "category": "Area" }, { "uom_name": "Square Kilometer", "must_be_whole_number": 0, "common_code": "KMK", - "symbol": "km²" + "symbol": "km\u00b2", + "category": "Area" }, { "uom_name": "Square Meter", "must_be_whole_number": 0, "common_code": "MTK", - "symbol": "m²" + "symbol": "m\u00b2", + "category": "Area" }, { "uom_name": "Square Mile", "must_be_whole_number": 0, "common_code": "MIK", - "symbol": "mi²" + "symbol": "mi\u00b2", + "category": "Area" }, { "uom_name": "Square Yard", "must_be_whole_number": 0, "common_code": "YDK", - "symbol": "yd²" + "symbol": "yd\u00b2", + "category": "Area" }, { "uom_name": "Stone", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Mass" }, { "uom_name": "Tablespoon (US)", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Volume" }, { "uom_name": "Teaspoon", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Volume" }, { "uom_name": "Technical Atmosphere", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Pressure" }, { "uom_name": "Tesla", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Magnetic Induction" }, { "uom_name": "Ton (Long)/Cubic Yard", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Density" }, { "uom_name": "Ton (Short)/Cubic Yard", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Density" }, { "uom_name": "Ton-Force (UK)", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Force" }, { "uom_name": "Ton-Force (US)", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Force" }, { "uom_name": "Tonne", "must_be_whole_number": 0, "common_code": "TNE", - "symbol": "t" + "symbol": "t", + "category": "Mass" }, { "uom_name": "Tonne-Force(Metric)", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Force" }, { "uom_name": "Torr", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Pressure" }, { "uom_name": "Unit", "must_be_whole_number": 1, - "common_code": "C62" + "common_code": "C62", + "category": null }, { "uom_name": "Vara", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Length" }, { "uom_name": "Versta", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Length" }, { "uom_name": "Volt-Ampere", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Power" }, { "uom_name": "Watt", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Power" }, { "uom_name": "Watt-Hour", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Energy" }, { "uom_name": "Wavelength In Gigametres", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Frequency and Wavelength" }, { "uom_name": "Wavelength In Kilometres", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Frequency and Wavelength" }, { "uom_name": "Wavelength In Megametres", - "must_be_whole_number": 0 + "must_be_whole_number": 0, + "category": "Frequency and Wavelength" }, { "uom_name": "Week", "must_be_whole_number": 0, "common_code": "WEE", - "symbol": "wk" + "symbol": "wk", + "category": "Time" }, { "uom_name": "Yard", "must_be_whole_number": 0, "common_code": "YRD", - "symbol": "yd" + "symbol": "yd", + "category": "Length" } -] +] \ No newline at end of file diff --git a/erpnext/setup/setup_wizard/operations/install_fixtures.py b/erpnext/setup/setup_wizard/operations/install_fixtures.py index 01b034f2826..806db071963 100644 --- a/erpnext/setup/setup_wizard/operations/install_fixtures.py +++ b/erpnext/setup/setup_wizard/operations/install_fixtures.py @@ -390,6 +390,9 @@ def add_uom_data(): open(frappe.get_app_path("erpnext", "setup", "setup_wizard", "data", "uom_data.json")).read() ) for d in uoms: + if d.get("category") and not frappe.db.exists("UOM Category", d.get("category")): + frappe.get_doc({"doctype": "UOM Category", "category_name": d.get("category")}).db_insert() + if not frappe.db.exists("UOM", d.get("uom_name")): doc = frappe.new_doc("UOM") doc.update(d) @@ -402,9 +405,6 @@ def add_uom_data(): ).read() ) for d in uom_conversions: - if not frappe.db.exists("UOM Category", d.get("category")): - frappe.get_doc({"doctype": "UOM Category", "category_name": d.get("category")}).db_insert() - if not frappe.db.exists( "UOM Conversion Factor", {"from_uom": d.get("from_uom"), "to_uom": d.get("to_uom")}, diff --git a/erpnext/stock/doctype/uom_category/uom_category.json b/erpnext/stock/doctype/uom_category/uom_category.json index 1d2c42d727c..77a19dbd5f3 100644 --- a/erpnext/stock/doctype/uom_category/uom_category.json +++ b/erpnext/stock/doctype/uom_category/uom_category.json @@ -20,7 +20,7 @@ } ], "links": [], - "modified": "2024-03-27 13:10:57.525335", + "modified": "2026-04-14 21:31:18.260962", "modified_by": "Administrator", "module": "Stock", "name": "UOM Category", @@ -34,14 +34,50 @@ "print": 1, "read": 1, "report": 1, - "role": "System Manager", + "role": "Item Manager", "share": 1, "write": 1 + }, + { + "email": 1, + "export": 1, + "print": 1, + "read": 1, + "report": 1, + "role": "Stock Manager", + "share": 1 + }, + { + "email": 1, + "export": 1, + "print": 1, + "read": 1, + "report": 1, + "role": "Stock User", + "share": 1 + }, + { + "email": 1, + "export": 1, + "print": 1, + "read": 1, + "report": 1, + "role": "Sales User", + "share": 1 + }, + { + "email": 1, + "export": 1, + "print": 1, + "read": 1, + "report": 1, + "role": "Sales Manager", + "share": 1 } ], "quick_entry": 1, + "row_format": "Dynamic", "sort_field": "creation", "sort_order": "DESC", - "states": [], - "track_changes": 1 -} \ No newline at end of file + "states": [] +}