HTML/JavaScript

Monday, August 19, 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) {

}

1 comment:

  1. Your blog is very interesting. I found this coding information about this program has been very quietly implemented. Thanks

    Cado Magenge
    " magento development company | website design melbourne
    mobile apps development companies melbourne "

    ReplyDelete