Project · procurement

Every price sheet, stitched into one time series.

Built for a small coffee roaster that gets a new green-bean price sheet from its supplier every couple of weeks, each one a standalone spreadsheet snapshot with no memory of the last one. This tool turns that pile of snapshots into one running history, so a price move shows up the moment the next sheet lands.

The problem

A new price file lands every biweekly delivery cycle: same layout, same columns, but a fresh standalone workbook with no link back to the last one. Watching one bean's cost drift over a quarter meant opening a dozen files by hand and eyeballing a single row in each.

The fix: one self-refreshing history

A folder-watching data pipeline scans every price sheet dropped into one folder, reads the run date off each one, stamps it onto every item row, and stacks all of it into a single dated table. Dropping in a new sheet and clicking refresh is the entire maintenance workflow, no copy-paste, no reformatting.

Ethiopian Yirgacheffe, green
$6.20 → $6.95 / lb over 4 price runs
+12.1%
Guatemala Antigua, green
$5.90 → $6.40 / lb over 4 price runs
+8.5%
Sumatra Mandheling, green
$5.40 → $5.70 / lb over 4 price runs
+5.6%
House Blend, roasted
$4.10 → $4.45 / lb over 4 price runs
+8.5%
Colombian Supremo, green
$4.80 → $5.05 / lb over 4 price runs
+5.2%
Run 1Run 2Run 3Run 4
Illustrative data: item names, dates, and dollar figures shown are invented examples that mirror the shape of a real deployment, not a real supplier's numbers.
One clickdrop a new sheet in the folder, refresh, the history updates itself
Item-levelevery bean's full price history, not just the latest sheet
Zero copy-pasteno manual reformatting between price runs, ever again

How it works

📁

Folder-watch ingestion

Points at one shared folder and picks up every matching price sheet automatically, no code changes when a new one shows up.

📅

Auto date-stamping

Reads the run date off each sheet and stamps it onto every item row, turning standalone snapshots into a true time series.

📈

One item, every date

A dedicated view slices the combined history by item, so a single bean's cost across every run is visible at a glance.

Self-cleaning

Blank layout rows, duplicate downloads, and the tracker file itself are filtered out automatically, so the history stays clean.

A real tool, built in a day

This shipped as a working workbook, not a mockup: a folder-driven data pipeline plus three ready-made views (by item, by date, by price), built on top of a spreadsheet the owner already knew how to use.

View other projects →