Size, grade and finish are the item
An M12 in grade 8.8 zinc plated and an M12 in mild steel are different products at very different prices, and a fabricator ordering to a specification will check. Entering fasteners generically makes stock meaningless and rate errors constant. Each combination as its own item with a searchable code is the difference between a stock figure that means something and a list that does not.
Weight or piece from the same stock
Bulk buyers take fasteners by the kilo, retail customers by the piece, and both come from the same bin. Holding the piece weight on the item lets you sell either way with the stock staying correct in one consistent measure. It also lets you quote a bulk customer per kilo and a walk-in per piece without doing the conversion in your head.
Fabricator and workshop accounts
A fabricator draws fasteners through a job in many small visits and settles at the end, and the amounts individually look trivial. Collectively they are not. The ledger building itself from the billing means all of it is recorded, and a monthly statement settles the account while the job is still fresh for both sides.
Thousands of bins
This is the trade with the highest item count per square foot of shop, and searching by name is hopeless. Printing your own barcode labels for the bins and scanning at the counter is what makes billing possible at speed. Minimum levels on the fast sizes stop the situation where a fabricator is sent away over a hundred rupees of bolts.