Can anyone explain with some examples that how Magento process any order for different steps in Invoice, Cancel, Void, Hold and Ship.


5 Answers 5


These are the order completion steps:

Invoice: This step is payment confirmation receipt means when Admin get confirmation of payment then invoice should be generated it may be generated manually(offline or *online) by Admin or automatically in case of online payment with payment action Authorize and Capture.

*online capture(invoice generation) only available when only online payment gateway used with payment action Authorize Only.

Cancel This is just order cancellation process. When online payment used with order and amount authorized in this order then. Order cancellation process will call void action for cancel current transaction.

Void This process is for void the online transaction, if online payment method is used in order then this process will void current transaction and won't be able to further online transaction process for particular order. (For eg: if some order amount is authorize by third party payment gateway and if Admin apply void process he can't be able to capture payment further more) Although in case of void process order will going on smoothly just all process will only offline(i.e offline invoice, offline credit memo).

Hold: This process is only for holding current order, when Admin will unhold the current order then order will work smoothly as usual.

Ship This process is related to shipment action when product will shipped to customer then shipment will generated by Admin

  • Nice information. Commented Jun 8, 2017 at 8:39
  • Good answer, would be best if you add some real life examples
    – Amit Singh
    Commented Jun 10, 2017 at 5:06

You can check all Magento status and states from admin under admin->system->order statuses. Magento order statuses

Every order status have a specific state like in the screenshoot. You can try by yourself to see how order status and states are changing in real time. Place an order then open the mysql database using any tool.

Do the following query to get data for your order:

select * from sales_flat_order where increment_id = 'your order increment id you did'

You will see that your order status pending have a state new, when order is placed. Next you should invoice the order from the admin, and execute the above query again. You will see that the order status is changed to processing and order state is changed to processing Then you can ship the order, and order status is changed to complete and order state is changed to complete

This is how order status and state work. Order state is used by Magento.

you can find another info for order statuses in this stackoverflow post about order statuses

What are the definitions of the order statuses? OR: Where should I integrate my order state?

  • Isn't that a snapshot of the backend of magento 1? Wasn't this a question about magento 2?
    – Scott
    Commented Apr 12, 2018 at 21:11
  • @Scott thanks for the question. If you see the tags of the question, magento 1.9 is included. As per Order status, they haven't changed much in Magento 2, so the query is the same , only the table name has changed on magento 2 to sales_order , instead of sales_order . Thanks Commented Apr 13, 2018 at 8:25

I am providing links of a User guide in that a clear explanation is there of what you asked so please refer these documents..

  1. http://docs.magento.com/m2/ce/user_guide/magento/magento-community-edition-2.1-user-guide.html
  2. http://docs.magento.com/m2/ee/user_guide/Resources/pdf/Magento_Enterprise_Edition_2.1_User_Guide.pdf

Pending. - placing new order. it is default status is pending

Processing - You are raise a invoice from Magento admin status is change to

On Hold - This status can only be assigned manually. You can put any order on hold.

Canceled - This status is assigned manually by you or, on some payment gateways, when customer does not pay within the specified time.

Complete - This status means that order is crated, paid and shipped to customer.

Closed - Closed orders are orders that have had a credit memo assigned to it and the customer has been refunded for their order.

Pending Payment - This is the status used if order is created and PayPal or similar payment method is used. This means that customer has been sent to payment gateway website but no return information has been received yet. This status will change when customer pays. Some gateways do cancel abandoned orders automatically after some 'idle' time. If order had this status for a long time, you should cancel it manually to free product stock.


Order Invoiced:

Sometimes an order is invoiced before payment is received. In this example, the invoice is generated and submitted after the credit card payment has been authorized and processed. After the invoice is generated and submitted, a copy is sent by email to the customer.


however, is when the order can no longer be modified. While an order payment might be voided a new invoice can always be generated. Cancellation of an order prevents any future change from being made to it.


Void is in regards to the payment on the order invoice - to void the authorization, for instance - so that the funds aren't subsequently captured. Payments have to be refunded after capture and cannot be voided.

On Hold:

Orders placed on hold must be taken off hold before continuing any further actions.

Order Shipped:

The shipment is submitted, and packing slips printed. You ship the package, and the customer is notified by email. Congratulations! You’re in business.

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.