I encountered a strange habit in my Magento installation. Very few of my orders have the state "complete" in the order overview. But if I query all orders in the order summary table (sales -> orders), these orders are listed as processing.

Some of these order vanished after some weeks while other orders persist. Sometimes a new order with this habit appears.

Why are order listed in the table of all orders as processing, while these order were completed? I never saw something like this.

I rebuild every cache and every index. I have got the idea that this might something be wrong with building the flat_order tables in the database. But I have to knowledge how to debug this.

Can anyone give me a clue to dig for?

Thx, Danny

  • I can tell you how to manually fix them if that helps... – ladle3000 Aug 24 '15 at 19:55
  • Sure, please let me know. – wizardofOz Aug 27 '15 at 7:32
  • You should check tables sales_flat_order and sales_flat_order_grid. You can search by increment I'd to find related order numbers and change statuses. – ladle3000 Aug 27 '15 at 10:33

First of all, in Magento you have both order states and order statuses. You can add custom order statuses and assign them to an order state. These states are not customisable in default Magento.

In the most common processes, there are five used order states: Pending Payment, Processing, Complete, Closed and Cancelled.

Pending Payment
Every time a customer places an order, but doesn't pay it immediately (for example by using credit memo), an order is created and will have the state "Pending Payment". At this moment, there is just an order. No payment, no invoice and no shipment.

Once an order is either invoiced or shipped, the state will be changed into "Processing". This can happen automatically, i.e. when your PSP (Payment Service Provider) automatically creates an invoice in Magento once a payment has been done by the customer, but it also happens manually when you create an invoice or shipment yourself in the Magento backend.

Once an order is both fully invoiced and shipped, the status is changed into complete. At this point, your order is done. You got paid, the customer got all his products.

This state is only applied to products that are invoiced, shipped and refunded (it has a credit memo). This cannot be changed anymore. When reordering, a new order will be created in the Magento backend and the process starts over.

An order can be canceled by both the customer as the webshop admin. When the customer is placing an order and cancels it during the checkout, the order gets canceled. This only happens when the "Place Order" button was clicked and the customer gets redirected to the PSP site to pay the order. If the customer cancels the order somewhere in the Magento checkout, no order will be created.

It's also possible to cancel an order from the Magento backend. You can do this by clicking the "Cancel" button on the order detail page.

So, if we're looking at your issue, your orders don't get the status "Complete". The most common reason for this is that your orders don't get fully invoiced and shipped.

It's still possible to fix this for older orders. All you need to do is open the order, check what is missing and create an invoice or a shipment for the entire order. Be aware that you don't send an update to the customers, because it might be confusing for them to get an invoice or shipment mail for an order that's not recently placed. You can set this by unchecking the checkbox(es) at the bottom of the page.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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