If the intent is for personal use, many text-based lists can be used.
But when I was Operations Mgr for an R&D company of 50 with 15 H/W designers we CREATED an INTERNAL part number system ( called the Master Registry, aka database ), where the p/n’s had commodity codes & sometimes values & tolerance codes. Thus only the internal part number were used on BOMs as an index to the qualified parts list (QPL).
These p/n were controlled by Design Engineers and only qualified OEM p/n’s could be added. Then I created a Foxbase relational database, for;
BOM pick lists,
where used lists,
Purchasing stock quotes to distributors,
Inventory control,
Costed BOM analysis,
Exports to spreadsheets for least cost quotes from supplier feedback
For a database with >1k part numbers and up to 6 suppliers of any part so we could get at least 3 quotes to get best 1k~10k unit pricing on multiple assy.
Essentially this was an MRP system that didn’t cost $xxk and didn’t require 6 mos training for all staff to use.
This is essential when the cost-saving benefits of having these features are greater than the cost of implementing it.
Here is a snapshot of 1 page of my Master Register used by Design Engineers also showing, bin location and quantity of the Iris part number.