"Mark as fulfilled" is now broken after a fulfillment service cancels a fulfillment

Shopify Partner
17 0 3

I maintain a few FulfillmentService apps for clients, and a new behavior has developed.

1. The client hits "Request fulfillment". The fulfillment in the UI goes to "pending".

2. We get the webhook, and we call "orders/{orderIdentity}/fulfillments/{fulfillmentIdentity}/open.json" to mark it as accepted.

3. Suppose the client decides to cancel this order out of our WMS. For example, they are manually combining two orders together. Our system dutifully calls "orders/{orderIdentity}/fulfillments/{fulfillmentIdentity}/cancel.json" to unlock the fulfillment in Shopify, and they can see the yellow "So and so cancelled the fulfillment request" banner.

4. The customer clicks "Mark as fulfilled" in Shopify to paste in the combined tracking number to close the order out. When they do this, they get a red banner at the bottom of the screen that says "An error occurred, please try again".

Using Web Inspector, I can see that internally Shopify is vomiting with "The fulfillment order is neither in an open nor an in progress state."

Our app predates the FulfillmentOrder concept is only interacting with the Fulfillment endpoint.

Is there a way for the client to manually mark the order as shipped? This scenario definitely used to work and seems like a Shopify bug.

Replies 2 (2)
Shopify Staff
Shopify Staff
400 64 81

Hi @Nicholas_Piasec ,

Thanks for raising this - we've had a few mentions of the same from other partners/merchants.

I've logged this internally and I'll endeavour to keep you up to date with a further announcement here.

- API Support.










| Shopify |
- Was my reply helpful? Click Like to let me know!
- Was your question answered? Mark it as an Accepted Solution!
Shopify Partner
6 0 1

Is there any update on this issue?  I am seeing this exact problem in a client store and am not sure how to resolve.  

1. Customer Requests Fulfillment.

2. Provider accepts fulfillment

3. Customer cancels fulfillment request.

4. Provider accepts cancellation request.

5. Customer clicks "Fulfill Item" from shopify admin order page.

6. Customer enters tracking number and carrier and clicks "Fulfill Item"

7.  Error shows "An error occurred, please try again"

8. Inspecing the ajax call via Chrome DevTools there is a more descriptive error returned "The fulfillment order is neither in an open nor an in progress state."


Thanks for any help you can give on this issue!