B-219 Sec-55 Noida, India
+918010221733

How to create invoice programmatically in magento

Below is a php code to create invoice for an order in magento.
  
$order = Mage::getModel(‘sales/order’)->loadByIncrementId(‘100000001’);
try {
if(!$order->canInvoice())
{
Mage::throwException(Mage::helper(‘core’)->__(‘Cannot create an invoice.’));
}

$invoice = Mage::getModel(‘sales/service_order’, $order)->prepareInvoice();

if (!$invoice->getTotalQty()) {
Mage::throwException(Mage::helper(‘core’)->__(‘Cannot create an invoice without products.’));
}

$invoice->
setRequestedCaptureCase(Mage_Sales_Model_Order_Invoice
::CAPTURE_ONLINE);
//Or you can use
//$invoice->
setRequestedCaptureCase(Mage_Sales_Model_Order_Invoice
::CAPTURE_OFFLINE);
$invoice->register();
$transactionSave = Mage::getModel(‘core/resource_transaction’)
->addObject($invoice)
->addObject($invoice->getOrder());

$transactionSave->save();
}
catch (Mage_Core_Exception $e) {

}

(Visited 153 times, 1 visits today)

Leave a reply

You must be logged in to post a comment.