Hold release rules
How nohold decides when to release the Shopify fulfillment hold on the preorder half of a split.
How nohold decides when to release the Shopify fulfillment hold on the preorder half of a split.
The setting lives at Settings → Release preorder holds and has three options.
Automatically when stock arrives (default)
The original nohold behavior. As soon as Shopify reports the preorder variants back in stock at the location the hold was placed against, nohold:
- Releases the Shopify fulfillment hold.
- Transitions the Brightpearl Sales Order to your configured Status after stock arrives (if set).
- Writes an audit note on the BP SO.
Right for the vast majority of merchants. You don't have to do anything; orders move themselves.
Available on all plans.
Manually from the Splits page
nohold never auto-releases. A green Release hold button appears on every Splits row that has one or more active holds. Click it to release; nohold then runs the same three steps as the auto path.
Use this when:
- A 3PL needs to confirm physical PO receipt before fulfillment runs.
- You QC inbound shipments before letting orders ship.
- Your fulfillment workflow gates on something nohold doesn't see (custom packing, photo approval, etc.).
Available on Growth and Scale plans.
When you switch from auto to manual, the inventory-update webhook is skipped entirely (including the BP write) until you click Release. Existing held splits keep their holds; new in-stock arrivals don't trigger anything.
When stock arrives AND Shopify reports paid
The deposit-payment rule. Released only when both conditions hold:
- Preorder variants come back in stock (same as
auto). - The Shopify order's
financial_statusispaid.
This is the rule to use for deposit pre-orders: your customer paid a deposit at checkout, the balance gets captured later by Shopify, and you don't want to release the fulfillment hold until the balance has cleared.
nohold never charges. nohold never asks for payment. nohold never stores card data. The payment surface stays entirely inside Shopify. nohold reads the existing financial_status field on the order and acts on it. If you're set up for deposits in Shopify, this rule is the safety net that prevents fulfillment from running before payment.
The badge on the Splits row shows the current payment status (Balance due, Payment pending, Authorized) pulled live from Shopify.
Available on Scale plan only.
What if I switch rules mid-campaign?
The new rule applies to inventory-update events going forward. Existing held splits retain their state. If you're switching to manual and you have splits whose holds you'd normally have wanted auto-released, click Release on each from the Splits page once stock arrives.
What if my plan downgrades while a Scale rule is configured?
If you're on Scale with Release preorder holds = When stock arrives AND Shopify reports paid and you downgrade to Growth or Starter:
- The Settings dropdown grays out the third option (you can no longer pick it for new merchants).
- nohold automatically treats your existing config as
autountil you re-save. The inventory-update webhook ignores the deposit gate for below-Scale merchants and falls back to the standard release flow.
You don't need to manually flip the rule. It happens at request time.