HTML/JavaScript

Friday, August 16, 2013

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) {
 
}

No comments:

Post a Comment