Hi Dmitry, thanks for your reply.
My issue was more around ensuring the invoice was visible on the invoice tab for an order completed manually without having to click the "Generate Invoice" button.
I managed to figure it out by manually creating a shopping cart and calling the ShoppingCartInfoProvider.SetOrder method with the 2nd parameter set to true.