0

Hi want to update order item price and grand total and order details after order is placed.

suppose,I have place an order with item

Item A - order item price $10

Item b - order item price $20

Discount is $5

Grandtotal - $25

Now my order status is pending and want update order item price and other price just like it

Item A - order item price $40

Item b - order item price $30

Discount is $7

Grandtotal - $63

Is it possible?

6
  • Sounds very odd to want to increase the price of an order after it's been placed, but it is possible yes. Is there no better way of doing whatever it is you are trying to do? Nov 4, 2014 at 16:00
  • no. Can you please give me solution.
    – Amit Bera
    Nov 4, 2014 at 16:01
  • Not willing to expand on what you are trying to achieve then... Orders are just values in the database, change these and the order changes. Nov 4, 2014 at 16:05
  • 1
    This can get a little complicated if you issue credit to that order and other discount. Try change the base_price in sales_flat_order_item the add the different to base_grand_total, base_subtotal etc in sales_flat_order Nov 4, 2014 at 16:27
  • If doing offline paypent just like bank transfer payment method
    – Amit Bera
    Nov 4, 2014 at 16:28

2 Answers 2

2

I think you can do this just like you would modify any other model instance

$item = Mage::getModel('sales/order_item')->load(id here)l
$item->setPrice(40)->setBasePrice(40)->save();

then

$order = Mage::getModel('sales/order')->load(order id here);
$order->setSubtotal(70)->setBaseSubtotal(70);
$order->setDiscountAmount(7)->setBaseDiscountAmout(7);
$order->setGrandTotal(63)->setBaseGrandTotal(63);
$order->save();

You might also need to change other values like tax, subtotal_incl_tax and others.

But this is a bad practice and you should not do it. It is better just to cancel the order and create a new one.

0

I have created the solution to update particular item price and recalculate order amount, please refer my answer @ Update order total after order place

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.