Island Brewing

ops dashboard · internal

Island Brewing

0%

Loading ops data

Island Brewing — Ops
Unleashed Shopify Brew30
Good morning
Here's your ops snapshot for today.
i
What you are looking at: Stock on hand is pulled live from Unleashed every page load. Velocity is calculated fresh from all orders in Shopify right now. Dividing one by the other gives days of stock remaining and fires brew triggers automatically. Every number reflects what is happening today. See full methodology
How this dashboard works
Show
Most brewery dashboards show you what happened — a frozen snapshot, updated manually, usually stale.

This dashboard shows you what is happening right now and what will happen next. Stock is live from Unleashed. Velocity comes from all real Shopify orders. Combined in real time to tell brewers how many days of each beer remain and when to start the next batch.
Step 1 — Velocity (L/day)
"How fast are we actually selling this beer right now?"
1
Pull all Shopify orders for the selected window — every order, the same ones in your Shopify admin.
2
Convert each line item to litres: 330ml can = 0.33L · Keg 20L = 20L · Keg 50L = 50L · 24 Pack = 7.92L
3
Sum all litres per beer across every format into one figure.
4
Divide by days in the window.
Velocity = total litres (all orders) ÷ days
900L over 30 days = 30 L/day
Zero sales floor: 0.1 L/day minimum to avoid division by zero. Shows as very high days-of-stock.
Data source: ⚡ Shopify (real-time)
Step 2 — Days of stock
"How long until we run out?"
1
Get total litres on hand from Unleashed — all formats (cans, 20L kegs, 50L kegs) combined per beer.
2
Divide by velocity. Result = days the current stock will last at the current sell rate.
Days = litres on hand ÷ velocity (L/day)
240L ÷ 30 L/day = 8 days
Status thresholds
Brew now — days ≤ lead time max
Trigger soon — days ≤ max × 1.3
OK — comfortable runway
Monitor — keep an eye on it
Data source: Unleashed (real-time)
⚡ Why live Shopify data makes this unique
Traditional forecasting uses a fixed number — "we sell 30L a day" — entered once, never updated. It goes stale immediately and brew decisions get made on guesswork.

This dashboard reads from Shopify's order API on every page load. Velocity reflects what is happening in the market right now. A large keg order placed this morning is already in today's calculation. Slow week last week? The estimate automatically extends. No manual entry. No stale data.

The brew triggers you see are a live calculation from real current demand, recalculated fresh on every page load.
Brew lead times by style
Brew trigger fires when days of stock ≤ lead time max. Minimum = fastest possible turnaround under ideal conditions.
IB Pils25–40d
IB IC Lager18–30d
BSB Lager20–30d
IB Summer14–19d
IB Small Hazy14–20d
BSB Kolsch15–22d
BSB IPA14–22d
EDW Seltzer4–5d
Will update automatically once Brew30 is connected with live fermentation data.
Snapshot date
Stock as at
Velocity window:
↻ Updating…
Changes velocity & forecasting · stock on hand always current
AI ops report
ops health

Loading this week’s report…

Brew schedule

Packaging

Reorder actions

Capacity

Summary KPIs


Beer stock — total litres on handiStock on hand pulled live from Unleashed. All SKU variants grouped by beer and converted to litres: 330ml can = 0.33L · Keg 20L = 20L · Keg 50L = 50L · 24 Pack = 7.92L.

Days of stock formula:
Days = Litres on hand ÷ Avg litres sold per day

Velocity = total litres sold in selected period ÷ number of days. Tap any row to see the exact formula for that beer.

View:
Beer Days of stock Cans (L)iTotal litres in cans and packs. Includes 330ml, 500ml, 6-pack, and 24-pack formats converted to litres. Kegs 20LiTotal units of 20L kegs on hand. Typically used for venue accounts and local wholesale. Kegs 50LiTotal units of 50L kegs on hand. Typically used for larger venue accounts and export. Status

Brew triggers & scheduleiBrew trigger = days remaining ≤ lead time max. Days remaining = total litres ÷ daily velocity (30-day avg). If days remaining ≤ 35% of lead time, status is critical. Lead times are set per beer style based on brewery data.

Beer Brew by Stockout risk Rec. batch Tank

Tank utilisation


Reorder & ingredient alertsiAlerts are generated for each beer in critical or warning status. Once Shopify and Brew30 are connected, ingredient-level reorder triggers will be calculated from batch recipes and supplier lead times.


Healthy stock — comfortable levelsiBeers with days remaining > lead time max. "Next brew in" = days remaining minus lead time max, giving the window before a brew trigger is needed. Green bar shows stock runway vs a 60-day target.

Beer On hand Days left Next brew in Status

Capacity model — current vs full paceiFull pace ceiling is set manually based on tank count and max brews per week. Current output is calculated from 30-day sales velocity. Utilisation % = current output ÷ ceiling. Brew30 integration will make this live.

Current weekly output (L) Full pace ceiling (L)
— % utilisation
🛍
Loading Shopify data...
Connecting to bali-brewing-co.myshopify.com