Magento: How to change invoice status in Admin panel?

Magento: How to change invoice status in Admin panel?
Magento: How to change invoice status in Admin panel?

Problem:
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?

Possible solution:
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’.

Pending invoice select 'Not capture'
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….

Paid invoice select 'Capture'
Paid invoice select 'Capture'

The modifications above work but you are not able to edit the quantities invoiced anymore.
Add this to the payment model.

protected $_canCapturePartial = true;