Magento allows you to have a product displayed that you currently do not have any stock for. To start with, find the product that you wish to modify under Catalog -> Manage Products, click "Edit" and go to the Inventory Tab.
If you are just creating this new product, you will want to start with the Qty (quantity field) set to 0. If the product already exists, you can skip that step. Next, you'll want to change the Backorders field to Allow Qty Below 0 or Allow Qty Below 0 and Notify Customer. The second option will notify the customer that the product is available.
Note: Stock availability must be set to "In stock".
One important thing to know about this feature is that with every order that is placed, Magento will set the correct Qty. So, if your stock reaches zero and two customers place a backorder, the Qty field will now show -2.
To ship certain products (.e.g the one that is in stock) you will want to go to Sales -> Orders -> View so you can see the order you wish to process. In the upper right hand corner, click the "Ship" button. Here you can manage which products get shipped and which don't. For this, our Test Product Backorder is on hold, and we can't ship it. So we will set the Qty to Ship field to 0. Submit the Shipment when you have looked over the various other settings that may apply for your store.
Now, this is how it looks now that I've shipped only one of the two products:
You'll notice that only one of the two products remains. What is great about this, is that you can have a product that is in stock, and a customer can order more than you have available. You'll then be able to ship out what you do have, and the rest after you receive more of it.
To generate a partial invoice, click on the Invoice button in the upper right hand corner. Next, I will only generate an invoice for the product that we have in stock and shipped out. To do so, I set the Qty to Invoice to 0 for the "Test Product Backorder". Next, click Update Qty's. After that, Submit the invoice when you are ready.
The customer in this case, will still owe the remaining $2.00 for the Test Product Backorder as we have not invoiced them yet.