Home / Help Center / pos-app / Reports / Auto Reports
⏰ Reports

Auto Reports

Auto Reports lets you set a report (like Daily Sales) to be generated and emailed automatically on a schedule you define, instead of someone having to remember to run and send it manually.

📍 Menu path: Reports → Auto Reports
👤 Who uses it: Admin/Owner (requires the Notifications feature to be enabled)
🏷️ Plan tier: advanced+

Overview

Each schedule you create pairs a report type with a frequency (Daily/Weekly/Monthly), a time of day, a list of email recipients, and an output format — the system then runs and emails that report on its own, on time, every time.

The main screen lists all your schedules as cards, each showing whether it is Active or Inactive, its report type, frequency, time, recipient count, and its next/last run timestamps.

Every schedule keeps an Execution Logs history so you can confirm a report actually went out, see how many recipients received it, and read the error message if a run failed.

Before You Start

Step-by-Step Guide

1 Create a new scheduled report

  1. Click Create (or "+") to open the schedule form.
  2. Choose a Report Type from the dropdown (options are loaded from the server, e.g. Sales Daily and other pre-built report types).
  3. Give it a Report Name, e.g. "Daily Sales Digest".
  4. Choose a Frequency: Daily, Weekly, or Monthly.
  5. If Weekly, a Day of Week selector appears (Sunday–Saturday); if Monthly, a Day of Month number field appears (1–31) instead.
  6. Set the Time of Day the report should run.
  7. Enter Recipients as a comma-separated list of email addresses (e.g. owner@store.com, manager@store.com).
  8. Choose the output Format (e.g. CSV — options are loaded from the server).
  9. Leave Is Active checked to enable the schedule immediately, or uncheck it to save the schedule without activating it yet.
  10. Click Create Schedule to save.

2 Edit, pause or delete a schedule

  1. Click the edit (pencil) icon on any schedule card to reopen the same form pre-filled with its current settings, then click Update Schedule to save changes.
  2. Click the toggle icon to Activate or Deactivate a schedule without deleting it — a deactivated schedule stops running but keeps its configuration and history.
  3. Click the delete (trash) icon to permanently remove a schedule; you will be asked to confirm before it is deleted.

3 Check delivery history

  1. Click the logs (document) icon on a schedule card to open its Execution Logs.
  2. Each log entry shows Success (green check) or Failed (red X), the run timestamp, how many recipients it was sent to, the generated file size in KB, and — for failed runs — the specific error message.
  3. Use a failed run's error message to diagnose issues (e.g. an invalid recipient address) before the next scheduled run.

Every Field & Button, Explained

Field / ButtonWhat it does
Report TypeWhich report gets generated and attached each run; the list of available types is server-defined.
Report NameYour own label for the schedule, shown on its card and referenced in the sent email.
FrequencyDaily / Weekly / Monthly — controls how often the schedule fires.
Day of WeekOnly shown for Weekly frequency; picks which day (Sunday–Saturday) the report runs.
Day of MonthOnly shown for Monthly frequency; picks which date (1–31) the report runs.
Time of DayThe clock time the report is generated and sent, in your store's local time.
RecipientsComma-separated list of email addresses that receive the report every run.
FormatThe file format attached to the email, e.g. CSV; the list of formats is server-defined.
Is ActiveWhether the schedule currently runs at all; inactive schedules are kept but skipped.
Next run / Last runComputed timestamps shown on each schedule card.
Execution LogsPer-run history of Success/Failed status, recipient count, file size, and error message for that schedule.

Tips & Best Practices

Troubleshooting & FAQ

Auto Reports is missing from my sidebar.
This feature is gated behind the Notifications feature flag at Advanced tier or above — check your plan and feature settings, or ask your Admin.
A schedule shows "Failed" in its logs.
Open Execution Logs for that schedule and read the error message on the failed entry — the most common cause is an invalid or unreachable recipient email address.
I deactivated a schedule by mistake.
Click the toggle icon again on that schedule's card to reactivate it — no configuration is lost while a schedule is inactive.
The Day of Week / Day of Month field is not showing in the form.
That field only appears once you have selected the matching Frequency — Day of Week needs Weekly, Day of Month needs Monthly; Daily schedules show neither.

🧑‍💻 Developer Notes

Source component(s):

  • frontend-app/packages/pos-react-lib/src/pages/ReportSchedules.jsx

Backend endpoints used:

  • GET /report-schedules/types
  • GET /report-schedules?storeId=:storeId
  • GET /report-schedules/:id/logs
  • POST /report-schedules
  • PUT /report-schedules/:id
  • PUT /report-schedules/:id/toggle
  • DELETE /report-schedules/:id

Related tables (db-core repositories):

  • ReportSchedule
  • ReportScheduleLog (execution history)

Feature flag key: notifications (requires advanced plan tier or above)

The storeId used to fetch schedules is read directly from localStorage rather than Redux scope state. Report types, frequency options and format options are all server-driven (fetched from /report-schedules/types) rather than hardcoded on the frontend, so new report types can be added without a frontend release.