When I create a fulfillment (with status "open") via the API, the fulfillment will be canceled when I click the "Mark as fulfilled" button in the Shopify Admin and a new fulfillment will be created.
You can see that this order has two fulfillments. One with status "success" and one with status "canceled": https://myparcelnl.myshopify.com/admin/orders/1996193857630
Is this expected behaviour?
If yes, isn't it weird that you see in the timeline of that order 2 fulfillment statuses?
The last status is "canceled", but the label on top of the order page says "Fulfilled".
Thanks in advance!
PS: I already asked this on the forum: https://community.shopify.com/c/Shopify-APIs-SDKs/Create-fulfillment-causes-open-fulfillment-turned-...
This is expected. When you use the API to create a fulfillment with status
open, a fulfillment request is sent to the FulfillmentService responsible for fulfilling the product. When this happens, the platform expects that the actual fulfillment will be created by the API FulfillmentService.
When you click "mark as fulfilled" in the Shopify admin, this creates a manual fulfillment for the order. Since this manual fulfillment isn't coming from your FulfillmentService, the original fulfillment request is cancelled and a new manual fulfillment is created. This results in the original fulfillment being transitioned to a
cancelled status, and your manually created fulfillment will show
JB | Developer Support @ Shopify
- Was my reply helpful? Click Like to let me know!
- Was your question answered? Click Accept as Solution