I have looked at this answer: Force an order to go to the status complete, but it doesn't apply to me. Due to a crash in our system we've lost an order that was further administratively taken care of. Now I have created the order manually. Invoice and such has already been sent, so I don't want to do this. Instead I tried updating the order status in sales_flat_order, but this doesn't reflect in the admin panel. How can I solve this?

  • I think i've managed it. I have saved the order throughout the backend again and now it shows up as complete.
    – matthijs
    Mar 11, 2014 at 9:07
  • You could try playing around with how orders statuses are assign to order states in System -> Order Statuses.
    – vseager
    Mar 11, 2014 at 11:22
  • @matthijs feel free to post how you completed this as an answer Jul 29, 2014 at 12:28

2 Answers 2


Alter this query to include the order ID or IDs and the status to what you would like to set:


WARNING: Be sure to create a complete backup of your DB before directly querying!


Using phpmyadmin or navicat or the mysql command line, you can update the records.

Make sure you change both of the following items.

sales_flat_order: columns state and status need to be updated

sales_flat_order_grid - the status column needs to be updated as this affects the order grid status

This should actually do the trick. It wont create invoices, payments, shipments etc. But it will clear that order out.

One caveat: Dont edit the database directly, and if you do.. do so VERY carefully.

Your Answer

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

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