One thing we determined in our shop (municipal electric utility, about 120 staff) was to "outsource" commodity items to our stock room. So, monitors, mice, keyboards, external webcams, mousepads are monitored with re-order points maintained by those folks using their purchasing system, which also deals with purchase orders and vendor relationships. If users find they need to replace their mouse, for example, we just tell them to go there. Monitors are flagged as "on approval from IT"....so the stock room just doesn't give them out without consulting us. I will periodically ask the stockroom for a count, of items if I'm anticipating, (say) an influx of new users. If the purchasing system was more user-friendly, I'd ask for read-only access, or make a report of IS inventory items....but it is a bear, and it is just easier to ask the stockroom staff. (and they have better coffee).
For new laptops, once we receive them from the vendor we re-image them with our own version of Windows and a basic application suite. I give them a generic machine name, something like ISStageXX (numbered). They go into the Lansweeper inventory...and then back in the box. Once the machine is allocated to a user, I will change the machine name, so the machine appears under the appropriate name in our Active Directory. One piece that I haven't quite figured out, is I'd like Lansweeper to check the Active Directory, and any machine that isn't there (i.e. has been renamed), should be purged from the LS Asset listing. Right now, I have several ISStagexx machines that I know have been allocated and renamed.