My suggestion is to kind of "buy as you go" by buying a box of whatever you run into as you work on your bike, then after a while you will get a pretty good collection and will eventually have repeats.
Just keep a listing (like in Excel spreadsheet) of the various bolts, nuts, screws, washers, etc. and you will then have a good "bill of hardware material" listing of what your particular model has.
Then...share it with the rest of us!
Also, using the microfisch that Bob's BMW has which I think lists the bolts and nuts in their bolt/nut nomenclature you can obtain the proper sizes, threads, and lengths.
My only hesitation would be the larger bolts - be sure to buy the better alloy grades. There are, however some of the bolts, that I would never buy - bolts like head bolts, etc. unless you know for sure that they are the same or better grade than original because these bolts require careful torquing and cheaper bolts will not hold up to those torques.