Refunding backordered items does not complete order

We are using Magento 2.2.8

When we refund back-ordered items, the order status is not set to complete even though all items have either been refunded or shipped. I’m pretty sure this is the functionality of Magento, but it doesn’t seem right to me and I’m not sure what would be the best practice to fix this.


  1. Create an order with at least 2 items.
  2. Ship out only some of the items leaving the rest to be refunded.
  3. Refund the remaining items so that all items on the order are either shipped or refunded.
  4. Observe order status


The Order status is set to “processing” as configured in Magento.

Expected Result:

I expected the order to have a status of “complete” since all items
have either shipped or been refunded.

The key here is that the partial refund is the last step. Unfortunately sometimes in business items go on backorder, and customers ask to be refunded rather than wait for the item to ship. And usually, by the time the customer requests a refund, we’ve already shipped all the other items on the order so there’s no reason to create any more shipments. My problem is I’m not entirely sure if this is a bug I need to report to Magento, or if we have a logic problem and there should be a different process for handling refunding back-ordered items after a partial shipment has been made.