Upload sales data

Rinvy doesn't yet connect to POS systems directly — instead, you export a sales report from your POS as a CSV and upload it here. Once a sales file is loaded and matched to your menu items, two big things unlock: the variance report can compare theoretical vs. actual ingredient consumption, and demand forecasting has real history to learn from.

What the CSV needs to contain

At minimum, each row needs:

  • A date (when the sale happened).
  • An item name (matched against your menu items).
  • A quantity sold.

Most POS exports include extra columns (price, discounts, categories) — Rinvy ignores the ones it doesn't need. The matcher does best-effort header detection; if it can't find the columns, the upload screen lets you map them manually.

The upload flow

  1. Export a sales report from your POS, daily or weekly.
  2. Go to Sales data and upload the file.

  3. Rinvy parses the rows and attempts to match each line to a menu item by name.
  4. Review unmatched or ambiguous lines. Pick the right menu item from the dropdown, or create a new menu item if one's genuinely missing.

  5. Confirm the upload. Matched lines write into the daily sales table.

Matching logic

The matcher uses fuzzy comparison against menu item names. A POS export line "MARG PIZZA" will usually match a menu item called "Margherita Pizza". Where it can't decide, you'll see an "ambiguous" badge and a dropdown to confirm.

Tip: the matcher remembers your past confirmations. Once you've matched "MARG PIZZA" to "Margherita Pizza" the first time, future uploads with the same string match automatically.

What gets stored

Two tables fill from the upload:

  • Sales uploads — the raw uploaded file and its line items, kept for audit.
  • Daily sales — denormalized per-menu-item totals by date. This is what the variance report and the forecaster read from.

How often to upload

Whatever cadence works — daily, weekly, monthly. More frequent uploads mean:

  • The variance report can run on fresher data.
  • The demand forecaster has more recent history to learn from.

Most operators settle on weekly. Daily is fine if you have automated exports.

Common mistakes

Skipping the review step

Auto-match is fast but not perfect. An unmatched line that you submit anyway becomes a sale with no menu item attached — it appears in totals but doesn't drive variance or forecast for any dish.

Uploading overlapping date ranges

Rinvy doesn't dedupe overlapping uploads automatically. If yesterday's upload covered Mon–Fri and today's covers Wed–Sun, Wed–Fri get double-counted. Either align your exports to non-overlapping windows or delete the older upload first.

Inconsistent item names in the POS

If "Margherita" appears as "MARG", "Margherita Pizza", and "Pizza Margherita" across exports, the matcher confirms each variant separately. Pick a canonical name in the POS to make matching effortless.

Related