What chagens the FulfillmentOrderStatus from OPEN to IN_PROGRESS

I assume that when a FulfillmentOrder (https://shopify.dev/docs/api/admin-graphql/2022-10/objects/FulfillmentOrder)) is created the initial status is OPEN. In what kind of situations this FulfillmentOrderStatus (https://shopify.dev/docs/api/admin-graphql/2022-10/enums/FulfillmentOrderStatus) changes to IN_PROGRESS?

Context: I have a Delivery Assurance App that goes as an digital product in the buyer’s cart. I listen to shopify webhooks and fulfill this digital product after all of the other items in the cart are fulfilled, but only if the FulfillmentOrderStatus of the given FulfillmentOrder is OPEN, in some orders this status comes as “IN_PROGRESS” from Shopify and I have no idea of what can be changing this status.

Hi Hpsmatheus,

There’s a number of different factors that would change the status of a FulfillmentOrder, if you haven’t already read our dev docs on the lifecycle of a fulfillment order, I’d recommend checking this out. Some triggers that could change the order status include:

  • Partial fulfillment: When an order undergoes partial fulfillment, the FulfillmentOrderStatus can change to “IN_PROGRESS” to reflect the ongoing fulfillment process for the remaining items. This status update indicates that the fulfillment operations are actively taking place to fulfill the outstanding items in the order.
  • Multiple fulfillments: If an order requires multiple fulfillments due to split shipments or multiple packages, the FulfillmentOrderStatus can transition to “IN_PROGRESS” for subsequent fulfillments. This status indicates that the fulfillment process is ongoing for those specific items.
  • Custom fulfillment workflows: If you have custom fulfillment workflows or use third-party apps that manage the fulfillment process, these systems may update the FulfillmentOrderStatus to “IN_PROGRESS” at different stages of the fulfillment process based on their specific logic or criteria.

Hope this helps!

Thank you, @Liam ! That was really helpful. I just wish that this kind of information were available on the docs. I had checked the docs about the fulfillment order lifecycle before but for me it wasn’t clear in which status the fulfillment order would be in each part of the flow. I would suggest updating the docs with this details as it might be useful for other people too!