Shelly / Guide
Shelly guide

Using real business data

Point Shelly at a folder of exports or a database; it matches the columns, checks the data, and builds every report from it.

At a glance

How it works

  1. `python -m shelly check --data path/to/exports` shows what was found, how each column was matched and anything Shelly filled in (e.g. cost from a default margin).
  2. `python -m shelly report all --data path/to/exports --pdf` runs the full pipeline and writes Excel, the report page and PDFs to outputs/reports.
  3. For a database, add to config.yaml: source: {kind: database, url: env:SHELLY_DB_URL, queries: {sales: SELECT ..., products: SELECT ...}}. The password stays in an environment variable.

Method & formulas

Minimum data
sales: date, product code, quantity, sales value. Everything else is optional
Matching
Your column_map in config.yaml first, then synonyms (e.g. 'Trans Date', 'Qty Sold', 'Net Amt excl GST'), then fuzzy matching
Safety
Read-only queries only; single SELECT; credentials never stored in files

How to read it

Limits & safeguards

Related