F
Merchant guide
Shopify

Lay-by orders show “Paid” — the hold is what stops them shipping

When a customer checks out with FlexiLay, Shopify creates the order straight away with payment status Paid and fulfilment status Unfulfilled, even though only the deposit has been collected. That is how Shopify records any order completed through a payment gateway, and Shopify gives payment providers no way to leave an order “pending” for the months a lay-by runs. So the signal your team works from is not the payment badge — it is the fulfilment hold and the lay-by tag.

CheckoutOrder created: Paid · Unfulfilled · On hold
→
Plan runningInstalments collected by FlexiLay; order stays on hold
→
Paid in fullFlexiLay emails you; release the hold
→
FulfilShip as normal
1

What you'll see on a new lay-by order

In Orders the order shows Paid and Unfulfilled. The payment section names the FlexiLay gateway, and the customer receives Shopify's normal order confirmation plus FlexiLay's plan confirmation with their schedule. Line items, inventory, reports and tax all behave as for any other sale. The deposit and the instalments live in your FlexiLay dashboard, and payouts arrive in your Stripe account as each payment is collected.

Rule of thumb: a lay-by order is never ready to ship because it says Paid. It is ready when FlexiLay emails you that the plan is complete and the dashboard shows it as Completed — and, if you use the Flow hold below, when the hold has been released.

2

Tag and hold lay-by orders with Shopify Flow

Shopify Flow is free on every plan and takes a few minutes to set up. It tags every FlexiLay order and places a fulfilment hold the moment the order is created, so your warehouse or 3PL can't pick it. Releasing the hold is a one-click step when FlexiLay tells you the plan is complete.

  1. Install Shopify Flow from Apps if you don't have it, then Create workflow.
  2. Trigger: Order created.
  3. Condition: Order → Payment gateway names includes the gateway name shown on any FlexiLay order (or contains FlexiLay).
  4. Action: Add order tags with FlexiLay Lay-By.
  5. Second action: Hold fulfillment order (choose Order → Fulfillment orders, accept the “For each” wrapper, reason Awaiting payment).
  6. Turn the workflow on. In Orders, filter by the tag and save the view as Lay-by.

When the plan completes, FlexiLay emails you and the dashboard shows the plan as Completed. Open the order and Release hold, then fulfil as normal.

3

Selling pre-orders or products with a pay-by date?

The free FlexiLay Pre-Orders & Deadlines app (Shopify App Store) lets you set a release date and a pay-by date per product or collection. Lay-by plans on those products are compressed to finish before the pay-by date, the orders are tagged with their dates, buyers are reminded as the date approaches, and the app releases held orders on the day. Automatic holding of every lay-by order is coming to that app; until then the Flow workflow above is the hold.

4

If a plan is cancelled

When a plan is cancelled — by you from the dashboard, by the customer, or by FlexiLay after repeated failed instalments — the dashboard shows it as Cancelled and FlexiLay emails you. The Shopify order is yours to cancel and restock. Any refund of instalments already paid is handled from the FlexiLay dashboard, where the money was collected, not from Shopify's refund button.

Questions