Hello smhoon,
Well, with Adagio you can specify that an item requires serial numbers to be entered with an invoice, and then use GridView to see "who bought what".
If you need more than that, you should look at "Serial Tracker" from Island Microsystems. It integrate with Adagio.