I love combos and use them all the time to do what you are asking. I should tell you that I never use bound forms.
To do what you want, have 2 or columns in the combo (I usually have 2) with the first column hidden. The first column contains the key field in the underlying table, the second the description of your invoice item.
When the form opens, or the combo receives the focus run some code like this:
Dim StrSource As String
strSource = "SELECT KeyField,ProductName FROM MyTable ORDER BY ProductName"
With Me.MyCombo
.RowSource = strSource
.SetFocus
.Dropdown
End With
At the appropriate time the combo will drop with all of your inventory items showing in alphabetic order. If the part you want isn't showing, typing in the first few characters will bring it up.
In the code for the AfterUpdate event of the combo, create a recordset of the data you need for your form based on the key nymber of the inventory item you have chosen. Then put the relevant data into the text boxes.