Supplies

Supply history

Each supply has a history view — every restock, every consumption, every audit adjustment, on one timeline + chart.

Open from Operations → Supplies → tap a supply → History.

What's on the screen

Pieces-remaining line chart (gh#673)

A line chart of stock-on-hand over the last 90 days. Each point is a transaction event (restock = green dot up, consumption = red dot down). Hover a point to see the source (receipt ID for restocks, task ID for consumptions).

Transaction table

Sorted newest first:

Column What
Date Event timestamp
Type restock / consumption / audit-adjust
Delta +N or -N base units
Source Receipt link / Task link / Operator note
Running total Stock-on-hand after this event

Category filter (gh#673)

The history page has a category filter at the top — All categories / Cleaning / Kitchen / Bathroom / Welcome amenities. Apply to scope the chart + table to one category at a time.

Inventory item click → per-item chart (gh#673)

From the main Supplies list, clicking the per-item row drills directly into this per-item chart instead of the legacy text-only history. The chart is the default detail view.

AI categorize per-row (gh#674)

A new per-row button AI categorize on each Supplies row. Tap → the AI suggests a category based on the supply name + the receipts that touched it. Operator accepts or overrides. Saves to supplies.category.

The legacy SuppliesTab had this button; the V28 port had a gap. gh#674 closes it.

AI auto-pack-size estimate (gh#541)

For products without a published units-per-pack count (by-weight, sold-in-sets, portions), the platform's pack-size estimator runs an LLM that combines:

  • The product name
  • Past receipts referencing the same product
  • Web search for the SKU
  • Operator confirmations on similar SKUs

…to propose a units-per-pack value with a confidence score. Operator confirms — same approval flow as the manual Pack Sizes admin.

If the confidence is below threshold, the receipt line still flags for operator confirmation instead of silently applying.

Restock event for auto-resolve (gh#564)

Low-stock tasks can now auto-resolve on the restock event:

  • Stock goes above threshold → restock event fires.
  • The open low-stock task evaluates its auto-resolve checklist.
  • Resolves done.

This replaces the older "auto-dismiss" UI which was confusing — operators saw "trigger no longer valid" without context. The restock event is named after what actually happened.

Use the Auto-resolve on event field in the Task Templates editor to configure.


Implements: gh#673 (per-item chart + category filter), gh#674 (AI-categorize per-row button), gh#541 (AI auto-estimates pack sizes), gh#564 (restock event for auto-resolve). Related: Pack Sizes, Auto-close, Stock tracking.

Source: the FlatsBratislava operator manual.