Quick Version Bulk goods in the warehouse, of about 1000 varieties, repackaged for retail, using different units of measure. (KG to grams, or ounces. SOMETIMES to “count”)  can I do this without needing thousands of BOMs, possibly with “variants?”
Longer Version Hi there! To start  I’m a beginner with ERPNext and ERP in general, but am a sysadmin, so at least a bit familiar with structured systems.
I’m testing out ERPNext for a propsal for a dry goods retail & wholesale company. To avoid being specific, I’ll use a fake example  nails, screws, nuts, bolts, washers, grommets!
The company buys nails/screws/etc in bulk  measured in the warehouse by KG. Then, they are packaged into smaller boxes (of several sizes) for sale. At first, I thought “repack” was the way to go, but it seems like BOM and manufacturing may be the best way. I imagine the following example “Items”

Warehouse / Raw
 Steel Nails, Galvanized, by KG
 Brass washers, size 040, by KG
 Screws, machine, size 22, by KG

Retail

Steel Nails, galvanized
 Steel Nails, gavanized: Box  20 grams
 Steel Nails, gavanized: Box  100 grams
 Steel Nails, gavanized: Box  50 count

Brass Washers, size 040
 Brass Washers, size 040: Box  20 grams
 Brass Washers, size 040: Box  100 grams
 Brass Washers, size 040: Box  50 count

Steel Nails, galvanized
In the actual implementation, there would be maybe 1000 different items. (And unlike screws, etc, it wouldb’t be 20 variants of screw, it would be only a few variants of each, and probably 500 different base items)
So, as my first understanding of this is  to “repack” the raw Nails to be a box (measured in grams)  I’d want to use manufacturing, which means a BOM.
But, with ~1000 items, this would be ~1000 BOMs. What I’m wondering is: Can I create a “base” item for each, which would be like shown:
 “Base Item:” Hardware, Raw (by KG)"
 Variant: Nails, Raw (by KG)
 Variant: Screws, Raw (by KG)
 … (500 more of these)
 “Base Item”: Hardware, Boxed for retail 20g
 Variant: Nails, Boxed for retail 20g
 Variant: Screws, Boxed for retail 20g
 “Base Item”: Hardware, Boxed for retail 100g
 Variant: Nails, Boxed for retail 100g
 Variant: Screws, Boxed for retail 100g
In other words, could I do this and only have (for the above) 3 BOMs, for the three sizes of packaged good? But have “inhereted” items that used that BOM? So I don’t have to create ~1000 BOMs, each containing conversions from KG to gram, etc?
Or, is there another way to fairly simply implement this?
I’m happy to answer more questions or clarify?