Sales report

The Sales tab in Reports shows the units you sold each day over any period, and sets each day against the same weekday a year or a week earlier. The tab is the dashboard sales chart at full size, for any range. Tap the dashboard chart and the tab opens on the same seven days.

What's on the tab

  • Units sold — the period's total, and how many of its days have a sales row.
  • vs prior period — the same number of days immediately before the period. Last 7 Days compares against the seven days before it. A custom 12-day range compares against the 12 days before that. The line underneath says how many days with sales that base covers, so you can see when the base period had fewer trading days.
  • vs last year — the period shifted back 52 weeks, so it lands on the same weekdays. This appears once you have a year of sales history; until then it reads "Needs a year of sales history".
  • Avg per day — units per day, over the days that have sales, with the change against the prior period's per-day average. If your schedule varies week to week, this is the fairer comparison: a truck that traded 15 days after trading 8 will show a big total jump above, but the per-day figure tells you whether each day got busier. The Census Bureau adjusts its monthly retail and food services sales for trading-day differences for the same reason.
  • The chart — one bar per day (one per week once the range is longer than about five weeks), with the comparison series as a grey bar beside it. When both comparisons are available, a Last year / Last week toggle switches which one is drawn.
  • The table — every day with its units, each comparison, and the percentage change, which is also what the CSV export contains.

The Sales tab's KPI row — Units sold, vs prior period, vs last year, and avg per day — above the units-sold-per-day bar chart with a Last year / Last week comparison toggle and a colored legend

  1. This Week, Last 7 Days, Last 30 Days, or a custom range up to a year. The tab defaults to the last seven days. Because sales feeds land through yesterday, Last 7 Days and Last 30 Days end yesterday. These are the same days the dashboard chart draws.

  2. A young kitchen only has last week to compare against. Once a year of history exists, the chart defaults to last year and the toggle lets you flip between the two.

  3. Days the kitchen was closed are labeled "Closed" and days with no sales row are labeled "No data", so a quiet day is never mistaken for a missing upload.

Year over year

Tap Year over year at the top of the tab to see the whole year at once. The chart draws units sold per week: this year as a solid line, and each earlier year with sales as a dashed line, up to five earlier years. Each line has its own color, and the legend names each year. A year with no sales is left out rather than drawn flat.

The Year over year view: units sold per week, this year as a solid line beside dashed lines for the two earlier years, with month labels along the bottom and a legend naming each year

  • Units sold YTD — this year's units through the last complete week.
  • vs last year YTD — the change against last year over the same weeks. The current week is still in progress, so both years stop at the last complete week and a part week is never set against a full one.
  • Avg per week — units per complete week since your first sale, against last year's weekly average. A week without sales still counts, so a kitchen that uploads a month of sales at a time gets its real weekly rate.
  • By week — every week with each year's units and the change against last year. The current week has no change figure until it is complete. The CSV export has one row per week and a column per year.

Weeks run Monday to Sunday and are numbered by the ISO 8601 rule, the same rule most retail calendars use: week 1 is the week with the year's first Thursday. Week 12 of this year therefore sits right above week 12 of last year. Near New Year, a few days can belong to the other year's week: December 29, 2025 is in week 1 of 2026.

This week is drawn while it is in progress. Its tooltip and its table row say how far it goes, for example "through Thu Oct 1, 4 of 7 days", so a short last point reads as a part week, not a slow one. A week with no sales row is a gap in its line, not a zero.

The period picker is hidden in this view, because the window is always this year and the years before it. The menu category chips still apply to every line. To link straight to the view, use /reports?type=sales&view=yoy.

Scope to menu categories

By default the tab counts every menu item. When your menu uses categories, a Menu categories chip row appears above the chart so you can narrow the report to the categories you pick. For example, pick "Mains" and "Sides" to leave drinks and merch out of the totals. Tap All to go back to the whole menu. If any menu item has no category, an Uncategorized chip lets you include those items too. The scope applies to every figure on the tab, including the prior-period and last-year comparisons, so a comparison is never mixed across categories. A combo counts under its own category, not its components'.

The dashboard's sales tile and chart share one saved scope, set under Dashboard settings → Sales categories. Tapping through from the dashboard opens the report on that same scope. The report's own chips then override it for that view without changing the saved default.

Why is "last year" 364 days back?

"Last year" is 364 days back because Rinvy compares by weekday, not calendar date. 364 days is exactly 52 weeks, so a Saturday is set against a Saturday, and a Saturday that was a holiday shows up as the holiday rather than as a trend. Retailers line up their years the same way: the National Retail Federation's 4-5-4 calendar exists so that like days are compared to like days.

"Last week" is the same weekday seven days earlier. For a range longer than a week, that partner day can fall inside the range itself. That is why there is no last-week total. The prior-period figure is the period-over-period number.

The By day table listing each day beside its units sold, the same weekday last year and last week, and the percent change for each, with a footnote noting that "No data" means no sales row rather than zero sales

Units are counted as they were sold at the register: a combo is one unit, not one per component, the same rule the menu engineering report follows.

Common mistakes

Sales feeds land through yesterday, so the rolling periods end yesterday on purpose. That gives seven complete days, not six plus an empty today. This Week and a custom range can include today, which shows as "No data" until its sales arrive.

"No data" means no sales row exists for that day, for example after a missed upload or a sync gap. A 0 is a real zero. Upload the missing day and it fills in.

The prior period is always the same length as the selected one and sits directly before it, so changing the range changes what "prior" means. Use the table's per-day comparisons when you want a fixed anchor.