Coffee and paper

PDF reports

A roast, two roasts compared, a profile, a coffee, a period, the plan, inventory and purchases as PDF reports.

Roastwarden makes PDF reports from its own data: a roast on a page to keep with the bag, two roasts side by side after an experiment, a cupping form to score on, a stock-take sheet, a roast-day plan to fill in at the roaster. They are pages laid out to read and print, not data dumps, and the server makes them itself, so they read the same from any browser or a script.

ReportWhat it is
Roast reportone roast: the coffee, eight figures (weight and loss, roast time, first crack, development, drop, colour, how closely it followed the profile, cost) each against the range it was judged by, the curve with RoR, heater and fan, the phases, events, notes and cupping
Compare two roastsan A/B experiment: both curves and RoR on one chart, the phases on one time scale, about 25 numbers side by side with B − A
Cupping sheeta blank form to score on, after the classic SCA protocol, with three-digit blind codes and the key on a page of its own; or a session's scores as a table
Green inventoryevery coffee in stock with its age, cost and value, the recent pace and when it runs out; or a stock-take sheet to write the counts on
Shopping listone short order per supplier, with the usual shipping, and the coffees running low
Coffee reportone green coffee: what is known of it, its roasts as a table and overlaid on one chart, its cuppings, its stock ledger
Profile reporta profile's roasts ranked, their curves overlaid on the profile's, and how the numbers spread. A profile never roasted prints its target curve to roast against by hand
Period reporta month, a year (the year in review) or a range: roasts, green roasted and bought, spend, stock at the end
Purchasesthe green bought over a period, order by order with shipping and fees, and the landed cost per kg
Roast-day planthe planned roasts in order: the green to weigh out, each profile's targets, last time's numbers, and boxes to write charge, first crack, drop and the weight in
Traceabilityfrom a green lot to every bag, or a roast back to its lot: purchases, roasts, packed bags, label runs, gifts and what is left. It carries no prices

Using it

  • Dashboard: Reports in the top bar. Pick the kind and what it is about (a roast, the roasts on a cupping sheet); a roast's, coffee's and profile's report start on the newest roast's, a cupping sheet with no roast ticked (a blank form, or the latest cupping session's scores). The preview is the server's own pages, the same as the PDF; while there is none (the report failed: the reason shows above it) Download PDF and Open to print wait. Download PDF, or Open to print (the PDF in a new tab). History → a roast → Report opens its report there. Reports is the reports module: if it is not in the top bar, switch it on under Settings → Modules.
  • From the command line: roast report roast latest writes roast-report-batch-N.pdf here, roast report compare the newest two roasts side by side (compare-12-13.pdf), roast report cupping latest --blank a cupping form; --format json prints the data the page is made from, --format png --page 1 is one page to look at (The roast CLI). Any token may make a report: it changes nothing.
  • Settings → Roasting → Reports: the paper (US Letter, the default, or A4) and the temperature unit (°C, the default, or °F) a report uses unless asked otherwise (report_paper, report_units). A report keeps its own units rather than the browser's, so the PDF reads the same wherever it is opened.
  • Writing results back: what you write on a roast-day plan goes back in with roast weigh and roast landmark, or on the roast's page; stock-take counts on Beans → the coffee → Counted (g) → Set stock.

Every number is worked out by the server and a missing value prints "–", so nothing shifts on the page. Charts use colours and dashes that still read in greyscale, and the PDF is tagged, so headings and tables keep their structure for screen readers.