With the order → fulfilment workflow being deprecated I’m finding difficult to understand what the new fulfillmentOrder workflow is to add tracking information (number and link) to an order?
I’d be really grateful for some help and advice from anyone who has already done this please.
Yeah they made it a bit more complicated, but way more useful in my opinion.
So the workflow kind of goes like this:
get the fulfillmentorder(s) for the order id - there can be more than 1 depending on whether the shop has multiple locations.
the fulfillment order (if using the rest api) will also include all the line items that belong to that fulfillmentOrder along with quantity to be fulfilled.
I’m also struggling a bit to wrap my head around the fulfillment orders and which way to implement handling them.
Currently, we have subscribed to the orders/created, edit, paid and cancelled webhooks and build the order for our end using the order data. Once we ship we POST a fulfillment and the line items that were shipped.
It seems one could just pull the fulfillment orders (open I assume) for an order and then create fulfillments associated with the fulfillment order. Or would using assigned_fulfillment_orders make more sense?
The FulfillmentService route appears to be more complex but not necessarily a prerequisite to using fulfillment orders. Is a FulfillmentService and all it entails required to properly handle fulfillment orders?
I’m curious too. I’m thinking the same approach as you for now. We act as an order management app so we still need the regular order, not just the fulfillment order, but for all our clients, they are one to one…i.e. one order has just one fulfillment order. Today we store the Order Line Item Id so we can use it when posting line item level fulfillments. Maybe we just need to store the Fulfillment Order’s Line item Id as well (as a short cut for now) so we can post the fulfillment correctly.
We also use the order webhook as the workflow start point. So the new flow would be:
receive order webhook
create order in our system
pull the Fulfillment Order (FO)
match Oder Line IDs to the FO’s line IDs and store them in a new column in our order detail record
pick/pack/ship order
-post FO fulfillment using new column where we saved the FO line item id
Your proposed new flow seems close to what I’m starting to arrive at.
We’re a bit of order management but more a 3PL. While we might technically be a candidate to implement the entire FulfillmentService workflow it is a bit more than we tend to need to meet the needs of our clients.
We’re doing similar storing the order line item id and regardless of new workflow will need to inspect the order data along with the fulfillment order(s). I’m thinking that using the assigned_fulfillment_orders endpoint with our location id will give us the FOs we need to handle. It would be nice to have the order line item id in the fulfillment order.
Now need to figure the fulfillment_orders webhook topics to subscribe to so that we can handle for changes and such.
Another wrinkle (at least for us) - our current workflow gathers the order line items and builds the order on our end matching the SKU in our system with the order data. Fulfillment Orders allows for getting away from SKU matching by using the inventory_item_id. The downside, which has always existed I suppose, is now a shop owner can create 2 products with the same SKU and 2 different inventory_item_ids will be assigned. On our end we’ll need to figure a way to store multiple inventory_item_ids for a single SKU. But that’s a bit off topic…
Hi @garyrgilbert thanks for the explanation, however after making some new test orders when I (GET) request the fulfillmentOrders from the filfillmentOrderService I’m not actually getting any results and the API suggests these should be created automatically so I’m a bit stumped
Doing a get request to the endpoint /orders/fulfillment_orders/{fulfillment_order_id}.json is something altogether different. Fulfillment_order_id != order.id
did you find out how we can create easily a Fulfillment (with tracking info) on an existing Order like we used to do it before it was deprecated ?
I found we could do it by creating a Fulfillment on the FulfillmentOrder.
I got to the same point as you: I thought the FulfillmentOrder will be automatically created when an Order is created but it is not the case. Do you think it’s a bug.
Where it is clearly specified that we have to use fulfillment orders to manage fulfillments and, to my understanding, it means we have to create a fullfilment service to declare we decide to opt in to the fulfillment order process.
I hope I’m wrong because it becomes too complex for the need we have which is to fulfill an order and all its items with tracking info and customer notification.
If I’m not wrong, I need some help to creta the fulfillment service because I didn’t succed so far.