We were first using the PayPal advanced plugin, but couldn't authorize without delaying capture. We switched to the PayPal pro plugin which allows us to add shipping when the order is picked, packed and ready to ship - shipping charge calculated and added at the time of shipment - on the PayPal interface.
In our tests, it appears the order / invoice ID gets stuck at its current increment when orders are not immediately completed. For example: the user begins the checkout process, but then decides to change the shipping or payment method. If the user doesn't clear the cart, logout, log back in, maybe clear the browser cache, close then open the browser to establish a new session - place a a test order using a non-PayPal method, then put a new order through checking out via PayPal Pro plugin, the order will succeed and confirm back through PayPal.
Your thoughts?