If you want to scan goods straight into an invoice then you don't need anything extra. The standard software will work with a basic scanner that has a 'keyboard wedge' interface. This approach means that you're creating the invoice as you're scanning the goods, similar to what they do in a supermarket.
If you want to enter a sales order into the system via a web site or via keyboarding the data, and then print a pick list, pick the goods and scan what's been picked so that it would then match the contents of the original sales order, then you would need the Warehouse Manager component.
(Once the picked items are scanned, the scanned items would be turned into an invoice automatically.) This approach presupposes that someone enters the order first, usually via a keyboard. The scanning comes afterwards.
If you wanted to import sales orders from an external system (such as a web site) then you would also need the EGate component