nohold vs virtual warehouses in Brightpearl.
Virtual warehouses are Brightpearl’s native answer for managing stock that isn’t on the shelf yet. You create a separate location that represents the pre-order pool, route incoming pre-order lines to it, then book real inventory against it when stock arrives. It works for some shops. It introduces real friction for others, especially shops with frequent mixed-cart orders. Here’s the trade-off in concrete terms.
- Virtual warehouses require restructuring your stock model and retraining your ops team.
- They handle pre-order-only carts well. Mixed carts are where they struggle.
- nohold operates at the order layer, not the stock layer, so your inventory model stays the way it is.
Free 14-day trial. No credit card required.
What virtual warehouses are actually solving
A virtual warehouse in Brightpearl is a regular warehouse location with no physical stock backing it. The pattern works like this: when a pre-order item is ordered, you allocate against the virtual warehouse instead of the main one. The Sales Order reads as fulfilled-from-virtual. When real stock arrives, you book it into the virtual warehouse to clear the backlog, then move it to your main warehouse for dispatch.
It’s a clever pattern, and it solves the “I want to take pre-orders but my main stock count keeps going negative” problem cleanly. If you’re running a handful of named pre-order campaigns a year and most of your customers buy only the pre-order item, virtual warehouses are a perfectly reasonable answer.
The hidden cost of running virtual warehouses
The setup is a real project. You configure the virtual location, set up routing rules so Shopify pre-order lines go to it, train your ops team on the new pattern, and update your stock reconciliation process to cover the virtual flow. Two to three days of an ops manager’s time is typical for a real catalog.
After that, every pre-order arrival requires manual booking against the virtual warehouse. Any returns or cancellations against pre-orders touch the virtual layer too. The pattern is fine for low-frequency campaigns. It gets expensive when you’re running drops every month or when most of your orders are mixed carts.
Where virtual warehouses break for mixed carts
A mixed cart is the case where virtual warehouses really struggle. Brightpearl still receives the order as a single Sales Order. The in-stock line allocates against your main warehouse. The pre-order line allocates against the virtual warehouse. The order won’t release until both warehouses can fulfill, which puts you back at the original problem: nothing dispatches.
You can configure split allocation rules to release each half separately. The rules work, but they’re fragile. They break when the customer edits the order. They break when a product moves between pre-order and in-stock status during a campaign. They leave you with a Sales Order shape that looks different to every other order in the queue, which means everyone working in Brightpearl has to remember the virtual case exists.
What nohold does differently
nohold operates one layer up, at the order layer. Before Brightpearl receives the mixed-cart order at all, nohold splits it into two ordinary Sales Orders. Both allocate against your existing main warehouse using the stock model you already have.
The in-stock SO is normal. The pre-order SO is normal too, sitting on hold until inventory arrives. No virtual location to maintain, no routing rules to keep updated, no special case for your ops team to remember. When real stock arrives, the held SO auto-releases. Your inventory model never had to change.
When to choose which
Virtual warehouses are still the right answer if your pre-orders are mostly single-line carts where the customer is buying only the pre-order item, and you want Brightpearl to be the system of record for pre-order demand. They give you Brightpearl-native reporting and the workflow is well-understood by Brightpearl agencies.
nohold is the right answer if mixed carts are common, if you’re running frequent campaigns, or if you don’t want to introduce a new stock pattern. The two approaches aren’t mutually exclusive in theory, but most shops pick one and live with it. If you’re not sure which fits, look at last quarter’s orders: count what fraction of pre-order carts also had an in-stock item. Above 20%, mixed carts are your default and splitting at the webhook layer is the lower-friction answer.
Simple pricing based on splits, not seats.
- 500 splits per month
- Real-time order splitting (Shopify + Brightpearl)
- Brightpearl sales-order status stamping and audit notes
- Auto-release on stock arrival
- Retry-safe dispatch
- Full audit trail
- Email support
Everything in Starter, plus:
- 2,000 splits per month
- Per-shipment customer notification email
- Expected ship date on every preorder (campaign default and per-split override)
- Delay-notice email when you change an ETA
- FTC-compliant cancel link in delay emails
- 30-day FTC aging cron (auto delay notice)
- Smart hold release rules (auto or manual)
- Returns reconciliation (Brightpearl Sales-Credit note)
- Preorder demand analytics
- Reconciliation health card
- Priority support
Everything in Growth, plus:
- Unlimited splits
- Deposit-pre-order visibility (read-only)
- Release only when Shopify reports paid
- Multi-location release filter
- Campaign tagging and per-campaign analytics breakdown
- CSV export of split history
- Dedicated support
Virtual-warehouse specific questions.
How does nohold decide what to split?
What about refunds, edits, and cancellations?
Will this change how my ops team works in Brightpearl?
Do you support multiple Brightpearl warehouses?
Stop holding your in-stock orders hostage.
Free 14-day trial · No credit card required