Balance Stock across Locations
Balance Stock is a recommendation engine that scans your locations and suggests transfers to even out inventory. It works off the per-location minimum and target thresholds you configure in Purchase Thresholds: when one location is above target on a product and another is below its minimum, Alfred recommends moving units from the first to the second. Every recommendation comes with the math behind it, a confidence score, and a one-click path to create draft transfer sessions in bulk — grouped by source and destination — so you can act on dozens of moves at once instead of building transfers one at a time.
Three Kinds of Recommendations
Standard Rebalance
Healthy redistribution
The source location is above its target quantity and the destination is below its minimum. Moving units brings the destination back into range while keeping the source healthy. This is the safest, most common recommendation.
Stockout Rescue
Destination at zero
The destination is fully stocked out (zero available, no inbound) and the source is above target. These get priority — a stockout means lost sales, so Alfred pushes them to the top of the list with a higher confidence score.
Emergency Rescue
Source pulled below target
The destination is stocked out, but the source itself is below its target (still above its minimum, though). Alfred recommends pulling from the source anyway to rescue the stockout — but flags this clearly because it's a tradeoff: you're partially de-stocking one location to cover another.
Key Concepts
Required Setup
Balance Stock relies on three things: (1) per-location min and target thresholds for the variants you want to rebalance — configure these in Configurations → Purchase Thresholds; (2) at least two active Shopify locations; (3) reasonably fresh inventory data. If a variant has thresholds at only one location, it can't be rebalanced — there's nowhere to move from or to. Alfred auto-refreshes inventory in the background when the page loads if the data is stale.
How a Recommendation is Generated
For each variant, Alfred looks at every location where you've set thresholds. For each location, it calculates 'spare above target' (how many units the location could lose while still hitting its target) and 'gap to min' (how many units the location is short of its minimum). It then pairs sources with spare against destinations with a gap, and recommends moving the smaller of the two numbers. Pending inbound transfers and POs at the destination are netted out — a location with 9 units inbound and a min of 10 only needs 1 more.
What 'Available' Means
Available units at a location are on-hand units minus anything already reserved against an in-flight transfer out (transfers in Ready to Ship or In Transit status). Reservations are not netted from Draft transfers — only committed ones. At the destination, pending inbound transfers and POs are added to effective availability so Alfred doesn't recommend more than you actually need.
Confidence Score (0–100)
Every recommendation gets a score from 0 to 100 indicating how urgent and reliable it is. The score blends five signals: +40 if the destination is fully stocked out, up to +25 based on how far below the minimum the destination is, +15 if the source stays at or above its target after the move, +10 if both sides have thresholds configured, and +10 if inventory was synced in the last 24 hours. Cutoffs: High = 75 and above, Medium = 50–74, Low = below 50.
Suppressed Recommendations
If you already have an active transfer (Ready to Ship or In Transit) covering the same variant on the same source-to-destination lane, Alfred suppresses the recommendation — running it again would over-allocate. Suppressed recommendations are listed in a collapsible section at the bottom of the page so you can see what Alfred would have recommended and which transfer is blocking it. They re-evaluate automatically once the blocking transfer is received or cancelled.
Draft Overlap Badge
Unlike active transfers, a draft transfer covering the same variant on the same lane does NOT suppress the recommendation — drafts don't reserve inventory and might never ship. Instead, Alfred shows an 'Already in draft' badge on the row so you know it's already in someone's queue. You can decide whether to add a duplicate or leave it to the existing draft.
Bulk Transfer Creation
Select recommendations with the row checkboxes and click 'Create transfer sessions from selection'. A preview modal opens grouped by source-to-destination pair so you can see exactly what you're about to create — one draft transfer per pair, with the total products and units for each. Confirm, and Alfred creates the drafts in one batch. Any pair that fails (for example, a Shopify location that's gone inactive) surfaces in a banner inside the success modal with the reason.
How Alfred Handles 3+ Locations
When you have one location with surplus and two or more locations below their thresholds, Alfred creates a separate recommendation for each pair — never a split transfer. It allocates the surplus greedily, in urgency order: stocked-out destinations first, then locations with the largest gap below their minimum, then locations with the largest gap below their target. The first destination is fully topped up to its target before any units are allocated to the next, and so on. If the source runs out of spare units partway through, the less urgent destinations get a smaller recommendation (or no recommendation at all). This is intentional — Alfred would rather fully restock one location than half-fix two, because transfers have fixed costs (labor, shipping, mental overhead). Worked example: Source A has 50 units of spare above target. Destination B is stocked out (needs 30 to reach target). Destination C is below min (needs 25 to reach target). Alfred recommends A→B for 30 units (priority: stockout) and A→C for the remaining 20 units (priority: partial top-up). You see both rows on the Balance page, ranked by confidence score, and can select both to bulk-create two drafts.
When Multiple Locations Are Stocked Out
If two or more destinations are fully stocked out at the same time, Alfred ranks them by how high their minimum threshold is — the location with the higher 'no fewer than X' rule gets first claim on the surplus, because a stockout there is more severe relative to your own configured baseline. If the minimum thresholds are identical, the tiebreaker is the order Shopify returns the locations (usually creation order). Both recommendations are marked High priority and tagged Stockout Rescue; the merchant sees both rows and decides whether to act on one, both, or neither. If the source can't fully cover both, the higher-priority destination is filled first and the second gets whatever's left over — possibly nothing if the source is fully depleted by the first allocation.
How to Use
1. Configure Thresholds at Both Locations
Open Configurations → Purchase Thresholds, pick a location, and set min and target quantities for the variants you want to rebalance. Repeat for every location where the variant is stocked. A variant needs thresholds at at least two locations to be eligible — without thresholds on both sides, there's no math to balance.
2. Open the Balance Stock Page
From the Stock Transfers hub, click 'Balance stock across Locations'. Alfred runs the recommendation engine using your latest inventory and thresholds. If inventory hasn't synced recently, a background refresh kicks off automatically and the page updates when it finishes.
3. Review the Recommendations Table
Each row is a single move: source location, destination location, recommended units, and a kind badge (Rebalance, Stockout, or Emergency). Click the chevron on any row to expand the math — you'll see source available, source spare above target, destination available, destination gap to min and target, and how the recommended quantity was computed. Use the filters at the top to scope by source location, destination location, vendor, product type, collection, or tag.
4. Select Rows and Create Drafts
Tick the checkboxes next to the recommendations you want to act on. Click 'Create transfer sessions from selection'. The preview modal shows the groups: one draft transfer per source-to-destination pair, with totals. Confirm, and Alfred creates the drafts. You're returned to the Balance page with the selections cleared; the new drafts now appear with an 'Already in draft' badge.
5. Open Each Draft and Ship It
Open each newly-created draft from the Stock Transfers hub. Review the items and quantities, edit if needed, then mark Ready to Ship and proceed with the normal transfer lifecycle — create shipments as units leave, receive them as they arrive at the destination.
Tips & Best Practices
- ✓Start with one critical pair to learn the engine — pick a single source and a single destination, set thorough thresholds at both, and see what Alfred recommends. Expand to more locations as you trust the output.
- ✓Configure thresholds at every location where a variant is stocked. A partial setup (thresholds at two of three locations) still generates recommendations, but you'll miss opportunities to use the third location as a source or destination.
- ✓Click 'Refresh inventory' before a big bulk-create session if it's been a while. Recommendations are only as good as the inventory data behind them — and stale data can suggest moves you don't actually need.
- ✓Use the source and destination location filters to narrow the table to one lane at a time. Reviewing thirty recommendations on a single lane is easier than reviewing thirty across five lanes.
- ✓Toggle off 'Include emergency moves' if you only want safe rebalances. Emergency recommendations pull a source below its target — useful in a stockout, risky as a default.
- ✓Pay attention to the 'Already in draft' badge before selecting rows. If someone else already drafted a transfer for that lane, selecting the same recommendation will create a duplicate.
- ✓Use the 'Configure thresholds' button in the page header (or the warning banner if any variants are missing thresholds) to jump straight to the threshold configuration page when you find gaps.