Splitting Orders with In-Stock and Pre-Order Items Before Payment Capture Body

Hi everyone,

We are exploring the possibility of splitting orders that include both in-stock and pre-order items before capturing payment.

While we’re aware of apps that allow splitting orders after payment is captured, we are specifically looking for a solution that enables this process earlier.

This is particularly important since pre-order items will not be immediately available, unlike in-stock items.

Could you advise if there is a way to achieve this?

If so, we would greatly appreciate any guidance or recommendations on how to implement this.

Thank you

Hi @JunNa , Josiah here. :waving_hand:t2: We run an Aussie-founded pre-order app Early Bird, so might be able to share some context.

What’s the outcome you’re looking to achieve?

Are you wanting to split orders before capturing payment so you can charge customers for the additional shipping costs (due to shipping in-stock and pre-order items separately)?

This is what Shopify’s native Split Shipping in Checkout feature is built for. To pass on the split shipping costs back to the customers.

If any items in your customer’s mixed cart has a different fulfillment date or will be shipping from a different location, Shopify will automatically split the payment at checkout and ask your customers how they’d like the in-stock and pre-order item to be shipped (and charge them for it).

Note: If your items are shipping from different locations, Shopify says they will still split your customer’s order, even if you have disabled the Split Shipping in Checkout feature.

Otherwise if the items are shipping from the same location and only have a different fulfillment date, you’ll still have the manual option to Hold or Split fulfillment.

Let me know if you have any other questions about preorders, partial pay and back-in-stock in general! Happy to help or pass on the feedback to Shopify. :slightly_smiling_face:

Thank you for the detailed explanation! We truly appreciate it.

We’re currently using Early Bird for some of our Shopify stores and are very satisfied with its features. Our main goal in splitting orders is to help our team differentiate between in-stock and pre-order items more easily for order management. Most of our orders include a mix of both, and while we’ve seen apps that split orders (e.g., into #1111 and #1111-preorder) after payment is captured, we haven’t tried splitting orders by different locations or other criteria yet.

Could you recommend the best options for splitting orders in a way that would work for our needs? Ideally, something that could handle this before payment capture would be perfect for streamlining our process.

Thank you again for your assistance—it’s greatly appreciated!

Hi @JunNa , sorry for my late reply! (We’ve had lots of last minute app installs for Black Friday… :sweat_smile: )

So glad to hear you’re loving Early Bird. The Split Shipping in Checkout feature would handle the splitting before a customer pays for their (mixed cart) order. Check out this official YouTube video by Shopify (1-minute long).

I’ll DM you and work out a solution with you.

@JunNa :waving_hand:t3: I see you’re already in conversation with one of our friends from the preorder space. Have you considered holding the order until the preorder item is in stock?

For what it’s worth, we run a preorder & back in stock alerts app - STOQ - and work with lots of merchants across different scales. What I’ve seen is most merchants want to either - a) charge 2 shipping fees and handle 2 separate shipments or b) charge 1 fee and hold the order until the preorder item is in stock.

Building on top of (a) can be quite complex and you would’ve to handle cases like the one you’re working on. I mostly recommend (b) as it’s much more straightforward. It’s quite simple to set up a flow where you’d hold the entire order until all of the items are ready to ship - using a combination of an app and Shopify Flow - and this may negate the need for an app that splits orders. Happy to answer any questions about setup! :slightly_smiling_face:

Hey, I’m looking for this exact approach - giving the option of 2 separate shipping costs or holding the whole shipment until pre-order is ready (1 shipping cost). How can I achieve that? I’ve reached out to STOQ support and was told it was not possible. I currently offer split shipping only, but not ideal

Hi @JunNa

Shopify does not have built in functionality for order splitting for pre-payment, but you can mimic this behavior by using two checkouts which are at the cart level triggered. Add some logic to detect mixed carts (when both preorders and in stock items are in the cart) and tell customers to place two orders. Alternatively, add a Script or use an App (such as Mechanic) to automatically separate the items into two draft orders prior to capturing payment.

Hey @Mic125, yeah Shopify will only display one of these two shipping approaches at checkout (if I understood you correctly, sounds like you wanted to show both).

You could add instructions on your product page or in cart/checkout asking customers to contact you if they prefer to wait for everything to be shipped together, then manually put their in-stock item(s) on hold after they place the mixed cart order.

Typically our Early Bird merchants just stick with one to keep things simple for their operations. Turn off Split Shipping at checkout (Settings > Shipping and delivery) and use Shopify Flow to automate putting everything on hold to ship altogether.

I’m using Stoq as I have some pre-order items. Even if I choose not to split the shipping, it charges 2 fees automatically (without explaining to the customer, so it just looks like a crazy high shipping price). As one of the commenters posted about an workaround for this specific app, I was wondering how to achieve it.

Hey @JunNa,

Imma give you a short answer, there’s no native way in Shopify to auto-split an order before payment capture. Shopify treats the checkout as one order/payment intent. Once it’s created and paid, then you can split / duplicate / route with apps or custom flows.

What people usually do instead:

  • Separate flows for pre-order vs in-stock: Use a pre-order app or separate product/template so pre-order items go through their own checkout (separate order), and in-stock items stay “normal.”

  • Post-payment splitting with automation: Use order-splitting / routing apps (or custom API work) to split after payment, then handle fulfillment separately for pre-order vs in-stock. You still only capture once, but operationally treat them as two orders.

Hope this helps a bit! If it does, feel free to mark it as a solution so others can find it too :slightly_smiling_face:

There is a payments reason this is hard that has not come up, and it explains why every app you have found does the split after capture rather than before.

One checkout produces one authorisation. Not two, and not one that can later be divided. So splitting into two orders before payment means two authorisations, which in practice means the customer goes through checkout twice. Everything else is a shipping split, which is what Shopify’s Split Shipping actually does: it groups items and charges shipping accordingly, and it still captures a single payment against a single order.

The obvious workaround is to capture partially, take the in-stock portion now and the pre-order portion when it arrives. That does not work, for two separate reasons and either one is fatal.

Capturing less than the authorised amount releases the rest. You do not get to come back for the remainder later, because on most gateways an authorisation supports one capture and the uncaptured balance is returned to the cardholder’s available credit at that moment.

And even if it did support a second capture, the authorisation expires. Seven days on most cards. Pre-orders are by definition longer than that, so the hold you would be capturing against is gone before the stock arrives.

Put together, that is why the app ecosystem splits after payment. It is not that nobody has built it. It is that pre-capture splitting requires either two checkouts or a stored card charged again later, and the second one is a different product with its own failure modes, because a later charge is a fresh authorisation the issuer scores on the day rather than a capture against something already approved.

Which brings me to the thing worth checking, and I mean it as a question rather than a correction.

Your stated reason for wanting the split was to help your team tell in-stock and pre-order items apart for order management. That is an operations visibility problem, and this whole thread has been answering it with payments architecture. If the money can stay as one order and one capture, tags, line item properties and a saved admin view get you the same operational separation with none of the above, and Sandy’s option (b), holding the whole order until the pre-order item lands, keeps the payments side to a single simple transaction.

The payments split is only worth its cost if you genuinely need the money in two parts, on two dates. If you do, that is the deposit-and-balance shape, and it is worth designing deliberately: take the in-stock amount as a real payment now, store the payment method, and charge the pre-order portion as a separate transaction when the stock arrives. Expect a percentage of those later charges to fail, tell the customer the date in advance, and decide beforehand what happens to the reserved stock when one does.

If the money can stay in one piece, keep it in one piece, and solve the visibility problem where it actually lives.