Is FulfillmentOrderStatus "IN_PROGRESS" reachable without the usage of a fulfillment service?

Hello,

i am looking for ways to transition orders into the fulfillment status “IN_PROGRESS” so that the orders overview in the backend shows Fulfillment status “In progress” instead of “Unfulfilled”.

So far when integrating with a fulfillment service provider i simply transmitted the order and awaited the fulfillment through the service provider, which i then posted back to Shopify. This meant that the order went straight from status “Unfulfilled” to “Fulfilled”. Now i have a customer that wants this “In progress” status to understand what orders have already been transmitted and are no longer changeable without contacting the service provider.

I toyed around with my development store for a bit and the only way i could reach this status was by creating a fulfillmentService (providing fake callback urls because my system can’t properly handle those, which apparently is common pratice?! See here) and configuring the store to use this fulfillment location. That way i have the option to request and subsequently accept fulfillments which sets the desired status for the order fulfillment. This doesn’t really make any sense as i am sending both the request fulfillment query aswell as the accept fulfillment query, but sets the desired fulfillment status.

This is a lot of extra work just to set the fulfillment status. So i have two questions:

  1. Is this really the only way to reach this fulfillment status or are there any easier alternatives?

  2. Is there any chance that an api endpoint to simply set order fulfillments to “in progress” becomes available?

Greetings

Gustav Friedeheim

Hey @Gustav_Friedeheim!

Great question. As of API version 2023-07, using the fulfillment orders workflow is the recommended process for apps that manage fulfillments. We have a migration doc here: Migrate to fulfillment orders

Hello @KyleG-Shopify,

thanks for the quick reply, but i do not see how that is related or answers my questions.
I am using the fulfillment orders. But the only thing i can do with a fulfillment order (without a fulfillment service) is create a fulfillment via fulfillmentCreate.
Why can i create a fulfillment for virtually any fulfillment order with a single request, but have to jump through hoops to change the status on the same fulfillment order to “IN_PROGRESS”?

Thanks for following up.

The relevant part would be part 3 of that guide explaining the difference between the legacy and the fulfillment orders based workflows.

In order to have those more detailed status, you would need to manage fulfillments as described here.