StockWise
Features

The whole floor, described honestly

Each feature below explains what it does, where it earns its keep, and which plan carries it. If the demo doesn't exercise it, this page doesn't claim it.

How StockWise works

An order moves through five stations

See the shelves, advance the pipeline, pack pulls the units, alerts ring, reports recompute. The same spine whether the plan covers one shop or every room.

  1. 01

    Read the floor

    Stock bars against reorder points — in, low, out is a shape, first — with category and search filters on top.

  2. 02

    Advance the pipeline

    Processing to picking to packed: every stage stamps the trail, and the queue advances the whole board in one press.

  3. 03

    Pack pays the bin

    Packing pulls the line items and writes shipment movements; a short line blocks with the exact shortfall on the record.

  4. 04

    Read the record

    Alerts ring on crossings; valuation, reorder shortfall, and movement windows recompute from the same ledger.

On-hand versus the reorder point

Stock bars you read at a glance

Every SKU row draws its on-hand units against the reorder point on the same bar — the marker sits one-third down because the bar scales to three times the point, so thinning fills stand out before the numbers do. Filters by category, status (in, low, out), and search keep even a full catalog on one honest floor.

Practical use case
A buyer scans the products table Monday morning: two amber fills and one red bar stand out — three SKUs need a supplier run, no spreadsheets opened.
Benefit
Stock health becomes a shape on the page — threshold failures are visible, not waiting in a re-sort.
Subscription tier
Stock bars ship on every plan; Aisle covers 150 SKUs.
Live example on this page — bars

The floor, at rest

May 13 · Harbor Lane Supply Co.

3 SKUs need a refill

Simulated demo — StockWise. The marker sits one-third down; the bar scales to 3× the reorder point.

Advance, pack, ship, deliver

A fulfillment pipeline that pays in stock

Orders advance one stage per action along processing → picking → packed → shipped → delivered, each with a timestamped trail. The pack is the commit point: it pulls the line items from stock and lands shipment movements in the ledger. A line the bin cannot cover blocks the pack and names the shortfall — the queue run skips it and reports why.

Practical use case
At 9:00 the floor runs the queue: picks advance, packs pull their units, one order blocks on a short SKU — the note reads 'Only 3 × SW-112 on hand, needs 4' — and the fix is an adjustment on the same page.
Benefit
Fulfillment stays an event you can verify — the pipeline, the bin, and the ledger cannot drift apart.
Subscription tier
The full pipeline ships on every plan.
Live example on this page — orders
Fulfillment run
  1. Pickingstarted 09:02
  2. Packed14 units pulled · ledger +4 rows
  3. Shippednext advance

Simulated fulfillment — packing pulls real units; a short line blocks the pack with its shortfall.

Every change has a receipt

A movement ledger with reason codes

Receives, shipments, and adjustments all write the same ledger: a signed quantity per SKU, a reason code (restock, damaged, cycle count, found, expired, return to stock, data correction), an optional note, and the moment it happened. Search and per-type filters keep the record navigable, and the whole view exports to CSV.

Practical use case
A SKU drops four units overnight — the ledger shows a 10:04 cycle-count adjustment; the count was honest but the van was not.
Benefit
Adjustments stop being 'the number moved' and become the story of why it moved.
Subscription tier
The ledger + CSV export ship on every plan.
Live example on this page — ledger

The ledger

Signed quantities · reason codes

  • ReceiveSW-109+26restock
  • ShipmentSW-104-1OD-493 · packed
  • AdjustmentSW-118-4cycle count
  • AdjustmentSW-123-3damaged

Restocks, damages, cycle counts — the ledger records what actually moved.

Reorder points with teeth

Low-stock notifications that mean it

When a stock change lands a SKU at or below its reorder point — a shipment, an adjustment, a queue run — the bell rings with the SKU, the bin, and the count beside the point. Crossing back over clears the alert on the same trail. Both streams switch off in Settings; the ledger keeps recording either way.

Practical use case
A fulfillment run sweeps the pipeline packed, two SKUs cross their points, and the bell shows two unread — the attention list already suggests the refill quantities.
Benefit
Thresholds trigger action at the moment of crossing, not when someone next opens a report.
Subscription tier
Low-stock alerts ship on every plan; the full trail arrives with Depot.
Live example on this page — alerts

Low-stock attention

One press writes the receive

  • Slate laundry tin, 3 LSW-109 · on hand 11Restock +13
  • Oat picture frame, oakSW-118 · on hand 9Restock +13
  • Fern dust mask kitSW-123 · on hand 0Restock +44

Refill suggestions reach twice the reorder point; the ledger keeps the receipt.

Valuation, reorder, drift

Reports recomputed from the ledger

Stock valuation stacks units × unit cost by category with the retail comparison beside it; the reorder report sorts at/below-point SKUs by suggested shortfall; the movement window counts units received versus shipped across 7 or 28 days — with the top movers ranked on the same numbers. One CSV carries the valuation.

Practical use case
A bookkeeper opens the reports on Friday: cost value $6,310, retail $13,420, and a 28-day window showing shipments slightly outpacing receipts — reorder report ordered by shortfall for Monday's supplier run.
Benefit
The same ledger answers buying questions and accounting questions — recomputed, not copy-pasted.
Subscription tier
Aisle shows current-period rollups; Depot adds full history, Warehouse adds white-label.
Live example on this page — reports

One record per SKU

Retail price
$24.00
Unit cost
$8.00
Margin
$16.00 · 67%
Reorder point
18
Supplier lead
9 days
Bin
D2

Price, cost, margin, point, lead, bin — the fields a stockroom records nightly.

Price, cost, margin, bin

Products that keep their own trail

Products carry the fields a stockroom actually needs — price, unit cost, the margin between them, reorder point, supplier lead days, and a bin location — and each SKU's drawer shows its movement history inline. Add a SKU with its first receiving movement in one form; per-SKU adjustments write the ledger from the same panel.

Practical use case
A new mug arrives: create the SKU with its price, cost, bin, and 60 units — the opening receive is already in the ledger, and the stock bar starts honest.
Benefit
Product data and stock health stay one record — no side-sheet truth to reconcile.
Subscription tier
Product records + per-SKU adjustments ship on every plan.
Live example on this page — products

One record per SKU

Retail price
$24.00
Unit cost
$8.00
Margin
$16.00 · 67%
Reorder point
18
Supplier lead
9 days
Bin
D2

Price, cost, margin, point, lead, bin — the fields a stockroom records nightly.

Live example

The stock bars, on your page

Flip the status filters, then refill a thin SKU — the fill moves, the receive is written, and the count updates.

On hand versus the reorder point

2 of 5 need a refill

  • Slate pour-over kettle Kitchen

    46 / rp 12

  • Moss microfiber cloth pack Cleaning

    76 / rp 20

  • Slate laundry tin, 3 L Cleaning

    11 / rp 12

  • Drift tea towel duo Linens

    118 / rp 26

  • Oat picture frame, oak Decor

    9 / rp 11

The marker sits one-third down; the bar scales to 3× the reorder point. Restocks write a receive and clear the meeting the fill.

Live example

Advance the pipeline; watch the bin

The pocket fulfillment run: advance the order and the pack pulls 14 units — unless the shelf cannot cover it.

Order OD-493 · 14 × SW-112

The advance is the commitment: packing pulls the units.

SW-112 on hand: 12

  1. Processing
  2. Picking
  3. Packed
  4. Shipped
  5. Delivered

next: Packed — pulls 14 units

Live example

Write a movement; keep the reason

Add a found +2 and watch the ledger open with it — the same form the demo studio carries.

Every change, with its reason

  1. ReceiveSW-109+26restock
  2. ShipmentSW-104-1OD-493 · packed
  3. AdjustmentSW-118-4cycle count
  4. AdjustmentSW-123-3damaged

Restock, damaged, cycle count, found, expired — the demo's reason codes match the form's dropdown.

Live example

Ring the bell; clear the alert

Crossings and back-in-stock clearances share one trail — mark all read and see the count follow.

Low-stock bell

3 unread

  • Slate laundry tin, 3 L is at or under its reorder point

    SW-109 · on hand 11 vs reorder point 12

  • Oat picture frame, oak is at or under its reorder point

    SW-118 · on hand 9 vs reorder point 11

  • Drift tea towel duo back over its reorder point

    SW-112 · on hand 118 (reorder point 26)

Crossings ring the bell; back-in-stock clears it. The ledger keeps recording either way.

Live example

Recompute the window

Toggle 7 and 28 days — received, shipped, net drift, and the note recomputed from the record.

Movement window

Received

214

Shipped

268

Net drift

-54

Skus at/below point

3

Shipments outpace receipts this week — the reorder report suggests Monday's run.

Live example

Price, cost, margin — on the SKU

Move the price and the margin re-computes; the create form refuses anything that loses money per unit.

The margin lives on the SKU

Products carry price, cost, margin, reorder point, lead days, and a bin — one record per SKU.

Margin per unit: $36.00

56%

Valuation stacks on-hand units against cost while the retail comparison runs beside.

Everything above runs inside the demo.

Pre-seeded, browser-local, and about five minutes if you go straight through.

Open the demo