When creating Invoice directly from Order in admin the invoice automatically gets marked as Paid. how can it be created with the status ‘Pending’ and marked as paid later?
In order to create a ‘pending’ invoice, the payment method you use for the order must allow you to.
For that you need to add in the payment method’s model this member:
protected $_canCapture = true;
You can add it right under
protected $_code = 'PAYMENT CODE HERE';
For example if you want to do this for Check/money order or Cash On Delivery you need to add the line above in app/code/core/Mage/Payment/Model/Method/Checkmo.php and on case of Cash On Delivery in app/code/core/Mage/Payment/Model/Method/Cashondelivery.php
After this when you create an invoice you will have an option near the save button to set the invoice status.. To create a pending invoice select ‘Not capture’.
If you want to mark it later as paid edit the invoice and between the buttons on to one called ‘Capture’ (see picture). Well you get the idea….
The modifications above work but you are not able to edit the quantities invoiced anymore.
Add this to the payment model.
protected $_canCapturePartial = true;