How to Take Advance Orders - Get Paid When We Ship

New Member
6 0 0

We are going to begin taking early orders for a newly-introduced product. It may be > 7-14 days after the orders are booked before we are able to ship, hence getting paid when the order comes in is not a good idea. What I would like the workflow to be is:

1. Customer orders knowing the terms and conditions for advance orders. No payment is made at this time, the order goes on the books as unpaid, unfulfilled.

2.  When we are able to ship, we send the customer an invoice for the amount of the order.

3.  Customer pays invoice with credit card (we'll have Shopify Payment Method).

4. We get notified the invoice is paid, we ship the product and everyone is happy.


So how would this be implemented with the existing Shopify framework and payment methods (even if I have to create a "special" payment method just for this "early ordering" process.

Replies 4 (4)

Shopify Staff
1034 134 166

Hi, @Kill-Shot-Pro. I'm happy to look into this with you! I have a couple different suggestions for this.


The first is to set up your store to automatically capture payments when your orders are fulfilled rather than at the time the order is placed. This will allow customers to place their orders online and authorize the payment, but the payment will only be captured once you've shipped and fulfilled the order on your end. The steps to set this up and more information on the process can be found here. That being said, doing this will update how you capture payments for all of your orders, not just advance orders for your new product. 


Another option for this is to use draft orders. You can create a separate product page template in your theme editor for your new product. You could customize this new product template to not include any 'Add to cart' or dynamic checkout buttons so that customers can't purchase the product directly. Instead, you can add a contact form to replace these buttons so customers must contact you before they are able to complete their purchase. This will allow the product to be seen, but it cannot be purchased without your help. When a customer contacts you about the order, you can create a draft order for them and send them an invoice directly when you're ready to accept their payment. You can find more information on using draft orders here. This guide on theme page templates can help explain what I mean as well. 


Finally, you may also want to consider using a third party pre-order app. You can find a list of pre-order apps here that can help you out.


Please let me know if you have any questions!

Erin | Shopify 
 - Was my reply helpful? Click Like to let me know! 
 - Was your question answered? Mark it as an Accepted Solution
 - To learn more visit the Shopify Help Center or the Shopify Blog

New Member
6 0 0

The problem with your first suggestion is the 7 day fulfillment requirement before the "advance payment hold" period expires. We will likely overshoot that on our product launch. Second approach, using a "signup form" probably also not ideal. So it looks like an app is what it is going to take.


HOWEVER, I am wondering if there is another approach. Which is to setup something like a "check payment" (call it something else) and then when we are ready to ship we send the customer an invoice which they can then click on the Pay Button in the email and go to our website and pay. Does this sound feasible?

New Member
6 0 0

Erin, looked into 3rd party apps you referenced in your last post. One of them told me to investigate using a pre-order with 0% initial payment and 100% collection on fulfillment. However, they were uncertain if this would cause any issues with Shopify Payments (which we plan on using). Can you think of any reason why their suggestion about 0% initial payment/100% on fulfillment wouldn't work from the Shopify Payment side? 


Thanks for your attention to this, I really appreciate it as we approach our launch date next month.

1 0 0

Hey, i am facing the same problem. You found a solution for your case. If so, would you mind sharing your knowledge with me?