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 126 times, 1 visits today)

Leave a reply

You must be logged in to post a comment.