It is possible, but how it is done depends on the user experience you want to support.
One solution might be to use eCart. You could use "add to cart" buttons as "add to invoice" and then save them all to the database with store cart summary and store cart details in database when you are done.