We have free shipping for all of our customer orders and ship by LTL - the customer only sees this one option.
Any order that enters our Shopify is automatically held. We then manually release orders to our 3PL
We want to allocate these orders between 3 different LTL carriers. Our 3PL requires that we allocate the orders to a carrier before it hits their system.
Their system automatically pulls unfulfilled orders at 5pm daily.
So the carrier allocation occurs either
a. When on hold and before we change it to unfulfilled.
b. After we swap it to unfulfilled and before it enters their system.
Currently Shopify allows carrier allocation during the fulfillment step, but it requires us to mark an order as fulfilled to save the carrier. We cannot do this, because our 3PL system will not pull this order.
Is there a simple solution or app for this that does not require dev work?
(a) would not work because you can’t perform location changes when a fulfillment order is on hold.
It sounds like assigning different Locations for each carrier, and then switching the location to the carrier you want before you hold it would work for you. Or if releasing the hold does not immediately trigger the order in your 3PL system (for example, if they allow X minutes of time after the fulfillment order is unheld, or if they sync hourly or something), then you could do the location change after releasing the hold.
For this to work you would assign inventory of these products to all the possible locations (carriers in this case) so that you can assign them in the order.
If you wanted to automate the location changing, you can use Order Automator, for example to automatically change location of fulfillment orders based on conditions like shipping location, product attributes, etc.