Enter your Airtable Personal Access Token to load live inventory data from the GBS Products base.
Token is never stored — only used for this session.
Get it at airtable.com/create/tokens
All numbers are read live from the GBS Products Airtable base — inventory & demand from Current Product Inventory, and containers from Purchase Orders. Read-only: nothing is written back. Press Reload (top-right) to refresh. Use the EN | ES buttons in the header to switch the interface language (English is the original). CPI is the source of truth — its formulas audit real inventory twice a day; this dashboard only reads it.
The calendar selectors and presets (6 / 12 / 24 mo, years 2023 / 2024 / 2025) are the "Demand window" group — they only analyze the past. DMD, Avrg/MO.Sales, Peak and trend are computed from that range. The month columns show your range and always append the next 6 months of projection. Past months show actual units sold; future months show projected on-hand.
Empty months count as 0. If a month has no data in CPI (e.g. the most recent month before the monthly-sales import catches up), it is counted as 0 sales — never skipped — so the average stays conservative and is never inflated.
max(0, round(sales pace × (target + lead) − proj)).These two dropdowns (1–12 mo) are the "Planning settings" group, kept separate from the demand window. Target coverage = months of stock you want to hold. Lead time = months a new PO takes to arrive. Both feed the status rules and the suggested Order qty.
Open / in-transit containers from Purchase Orders (excludes Delivered & Canceled), including direct containers (Royal & Caden Layne). Shows status, ETA (with a LATE flag when overdue), port, vessel, container # and tracking link. Use the search box to find a PO #, container #, vessel, port or SKU. Expand a container to see its lines and each item's coverage matched to the main table. If a PO has no PO Line Items, it falls back to the PO's Variants list — those lines show qty n/d because that field has no per-line quantity (so they don't add to Inbound).
A planning sandbox — nothing is written back. Enter a SKU + Qty + ETA (or use Auto-fill from At Risk) to add lines. Each line is its own row in Impact analysis, so adding the same SKU twice lets you compare scenarios side by side.
Months of coverage (dropdown, 1–12, next to ETA) sets the target coverage used only inside the simulator — change it and Suggested Qty and Status change recalculate instantly. Lead time still comes from the Demand Planning tab. The grey Assumptions line shows exactly which Target, Lead and date range the simulator is using.
Coverage vs. timing. Monthly coverage and New monthly coverage are simple months of stock = (Available + Inbound [+ your units]) ÷ sales pace, so the number rises when you order more. The Status change is time-phased: stock keeps selling and your PO only helps from its ETA — so if you would run out before it arrives, the status stays At Risk even when coverage looks healthy. Bring the ETA closer to turn it green. When an item stays At Risk only because of timing, the Status cell shows a ⏱ lands too late note — that means no extra quantity will help; you need an earlier ETA or a split shipment.
Columns: Avail = current available · Back Order = sold but not yet shipped · Avail−BO = Available − Back Order · Avrg/MO.Sales = sales pace from the selected range · Inbound = On Order (open POs) · Incoming containers = the PO(s) carrying this SKU (qty & ETA on hover) · Incoming units = total units in those active containers (n/d = a container has no loaded line-item qty) · Monthly coverage = (Available + Inbound) ÷ Avrg/MO.Sales · +Sim = the units you simulated · Suggested Qty = ETA-aware recommendation (uses months-to-ETA instead of the Lead slider, so a later ETA suggests more; amber when your +Sim is below it) · New avail = Available − Back Order + Inbound + your simulated units · New monthly coverage = (Available + Inbound + your units) ÷ Avrg/MO.Sales · Status change = before → after (row turns green if it improves, red if it gets worse).
Version/packaging variants merge onto one primary row showing the combined total. Merged tokens: -STK, -BOX, orientation -L/-R, version (v2)/(V12)/(V2-6), w/Brackets, brand tag -IQ, porcelain -B. Colors, finishes, sizes and ADA stay separate.
All categories except Tiles, Mirrors and Toilets, across all brands. The Interquatic IAPMO Main Listee brand is excluded (item no longer exists). Committed (OH − Available) is reserved stock; Back Order is the separate count of units already sold but not yet shipped. Display-only overrides (not written to Airtable): 179801-WH & Z-Repair Kit → Interquatic; Z-Repair Kit → Accessory; 171203 / 171205 / 171207 → Caden Layne; the Shower category is shown as Shower Base.
Latest first.
179801-WH and Z-Repair Kit now show brand Interquatic; Z-Repair Kit sits under Accessory. The empty “—” chip was removed from the Category filter. Nothing is written back to Airtable.This dashboard only reads the live Airtable sources below. It never writes to Airtable or NetSuite.
appAJNIyFj5yWTfOXtblBmadWQaog24IbM — inventory + trailing monthly units soldtblQZ51aHQPAn0ugr — powers the Containers tabReads are resilient: if a field can't be found it is skipped and an amber banner names it, so missing data is flagged rather than left silently blank.
Build Something Special®