Pages

Monday, 23 June 2014

programmatically create credit memo in magento

Here I will explain how to create credit memo programmatically in magento.
Below is a php code to create a credit memo for an order in magento.

try {
                $order = Mage::getModel('sales/order')->loadByIncrementId('100000004');

            if (!$order->getId()) {
                $this->_fault('order_not_exists');
                return;
            }
            if (!$order->canCreditmemo()) {
                $this->_fault('cannot_create_creditmemo');
                return;
            }

                $orderItem = $order->getItemsCollection()->getItemByColumnValue('sku', '1100');
                $service = Mage::getModel('sales/service_order', $order);
                $data = array(
                    'qtys' => array(
                        $orderItem->getId() => 1
                    )
                );
                $creditMemo = $service->prepareCreditmemo($data)->save();
            $this->_redirect('test/index/index');
        }
        catch (Mage_Core_Exception $e) {
            print_r($e->getMessage());
        }


When Execute above code credit memo will be placed successfully on magento.

programmatically create credit memo in magento


If you have any queries please leave a comment.

No comments:

Post a Comment