The store sells pre-order items.
Scenario 1: Pre-ordering an item, paying a deposit → paying the balance and shipping costs based on the address results in two separate orders.
Scenario 2: Pre-ordering an item, paying the full amount → if the address is changed → ordering another item with shipping costs, resulting in two separate orders.
How can we display these in a single order and optimize the process? Does anyone have a solution? Currently, we are not using any preorder plugins and plan to develop a custom solution that integrates with the backend logistics system.
1 Like
Hi @Xrtotech
In Shopify, every completed checkout creates a new order, so deposit + balance (or shipping adjustment) will always result in two orders.
If you want everything under one order, you need to:
Use Order Edit to add the remaining balance and shipping, then send an invoice
or
Use Draft Orders for the second payment
Sending the customer through a second checkout will always create a separate order — so the flow needs to be adjusted.
@Xrtotech Sounds like it’s actually two separate challenges.
For scenario 1, the best approach would be using Shopify’s Purchase Options API (selling plans) with a pre-order app. This keeps everything under one order with two separate payment captures:
-
Customer pays deposit at checkout (one order is created)
-
Their payment method is securely vaulted
-
Balance + shipping is charged later when ready to fulfill
-
Both transactions are displayed and linked to the same order ID
This eliminates the two order problem entirely. Preorder apps like ours (Early Bird) that leverage Shopify’s native Purchase Options functionality will give you this capability. Happy to guide your setup personally. Understand you’re looking to develop your own custom solution though.
–
For scenario 2, which is more about updating the shipping address and adding items to the order, it’s more to do with order editing than preorders.
You can handle this manually in the Shopify admin without an app. But if you have lots of orders and want customers to be able to do it themselves, you should look into order editing apps like Cleverific (not affiliated with them).
- Edit the order > Update shipping address
- Add products > Add line items
- Shipping costs will recalculate when you’ve added the products. You can also manually add or adjust shipping fees if needed.
- You should be able to send a payment request for the additional amount or manually capture the deferred payment earlier
- If you’re using a preorder app or have built a custom solution using Purchase Options, all these changes should stay within the original order as one.
Pretty sure orders can only be edited while they’re unfulfilled though. Once it’s marked as fulfilled in the Shopify admin, there’s very little you can do/edit.
Hope this helps,
Josiah
To keep everything under one order, don’t send customers to checkout again. Instead, create one order (full price) and mark it as partially paid for deposits. Later, use the Order Editing API to add shipping or balance and send an invoice for the remaining amount.
2 Cases here:
For Deposit + Balance**
**
Create one order for the full product price
Mark it as partially paid (deposit)
Later, send an invoice for the remaining balance + shipping
Collect payment inside the same order
For Address Change / Shipping Update
Do not send the customer to checkout again
Edit the existing order
Add shipping cost or price difference using Shopify’s Order Editing API
Send invoice for the difference if needed
Always modify the existing order. Never create a second checkout.
@Xrtotech
One thing to keep in mind is what happens behind the scenes if you create a second order just to collect extra shipping.
It can technically work, but having multiple orders for what was originally one purchase can make reporting, refunds, and fulfillment tracking more confusing — especially as order volume grows.
If the order hasn’t been fulfilled yet, updating the existing order and collecting the additional amount against the same order ID is usually the cleaner long-term approach.
Keeping everything tied to one order just makes operations smoother overall.