Skip to main content

Reports, Settings, and Compliance

These pages use the selected store. Before reviewing data or saving a change, confirm the store shown in the portal sidebar.

Page access​

Navigation pathWhat it coversAccess neededFeature needed
Reports > ReportsSales, inventory, and member reportsstore.reports.read or store.transactions.readpeakpos.sales
Reports > Scheduled ReportsRecurring report emails for the selected storestore.reports.readpeakpos.sales
Settings > SettingsStore timezone, hours, and checkout behaviorstore.settings.readpeakpos.operations
Settings > ComplianceAge-verification activity and effective policy rulesstore.compliance.readpeakpos.compliance
Settings > Restricted Sales ReviewDenied and overridden restricted-sale incidentsstore.reports.readpeakpos.compliance
Settings > SMS ConsentThe selected store's phone-number consent ledgerstore.consent.readpeakpos.compliance

A page appears only when its listed PeakPOS feature is enabled for your organization. Controls that change data require the additional write access described below. If a page or control is missing, ask an organization administrator to review your feature access and permissions.

Run and export a report​

  1. Select the store in the sidebar.
  2. Go to Reports > Reports.
  3. Optionally start with a Popular Reports shortcut: Today's sales, Last 7 days, Inventory health, or Staff schedule. A shortcut selects the matching tab and parameters.
  4. Choose a tab:
    • Sales for net and gross sales, transactions, average ticket, tender mix, taxes, discounts, sales by category branch, and register cash payouts.
    • Inventory for stock value, out-of-stock and low-stock items, and category totals.
    • Members for member count and roles, scheduled and worked hours, no-shows, and top performers.
  5. For Sales or Members, set Start Date and End Date. The Today, 7 days, and 30 days buttons set common ranges.
  6. On Sales, choose Day, Week, or Month under Group By.
  7. On Inventory, optionally use Filter inventory by category branch. A category-filtered result cannot be exported; select All category branches to enable the complete inventory export.
  8. Review the results. Sales and Inventory have an Export menu with CSV, Excel, and PDF. The Members report has no export control.

The report reloads when its tab or parameters change. If loading fails, use the page's retry control rather than relying on an older result.

Sales CSV, Excel, and PDF exports, and scheduled Sales and Tax emails, show Unallocated refund separately. This positive amount is the subset of completed refund gross whose merchandise/tax components have not been established. It is already included in completed refunds; do not subtract it again from sales or count it as a register cash payout. It does not mean zero-tax or non-taxed merchandise, and it does not change known original sale or tax amounts. A blank amount in a download, or — in an email, means the source did not report this field; an explicit 0.00 means it reported zero.

Dashboard totals​

The store dashboard uses server-calculated totals, not a downloaded transaction page. All starts at the selected store's earliest transaction, even when it is older than 90 days or the store has more than 5,000 transactions. Today, seven-day, and thirty-day windows use the store's configured timezone and include the current store-local date: seven days starts six dates before today, and thirty days starts twenty-nine dates before today. The response includes the exact inclusive start, exclusive end, timezone, and store currency.

Android requests the totals-only /reports/dashboard/totals endpoint. It returns the complete sales and tender totals and server-owned range metadata without loading transaction history or calculating hourly/product series. The portal's full dashboard and live stream retain those series; omitted series in the totals-only contract do not represent zero activity. Both endpoints require store.reports.read, and unrecognized reporting periods are rejected.

Sales include completed, settled, partially refunded, and refunded sales. Refunds are reported separately and do not erase the original sale. Cash and card sales use the recorded tender amounts; a split-tender sale counts in both tender transaction counts while counting once in the overall transaction count. Gift-card amounts are not included in cash or card totals.

Service Reporting​

The Service Reporting tab shows appointment counts and a Current-price estimate: completed appointments multiplied by each service's current catalog price. It is not historical booked value or collected revenue, and changing a catalog price changes the estimate in the page and CSV.

Appointment and service-catalog failures make the report unavailable. Staff, resource, booking-site, and shift-conflict sections update independently as each read finishes: successful sections show their counts, and pending sections say Loading…, not zero. A failed read immediately produces an explicitly Partial report with that section marked Unavailable and Retry unavailable sections available, without waiting for other optional reads. Core appointment/service metrics and their CSV remain available while optional sections are pending or unavailable; the export contains only appointment/service metrics. Retry reloads the report. Changing stores or dates clears the prior scope's results.

Manage Scheduled Reports​

Scheduled reports belong to the selected store, even though recipients can be outside PeakPOS.

View schedules​

  1. Select the store.
  2. Go to Reports > Scheduled Reports.
  3. Review each schedule's Type, Frequency, Recipients, Next Run, and Status.

Viewing requires store.reports.read. Creating, running, pausing, resuming, or deleting a schedule requires both store.reports.write and org.admin.

Create a schedule​

  1. Select + New Schedule.
  2. Choose a Report Type: Sales, Inventory, Members, or Tax.
  3. Choose Hourly, Daily, Weekly, or Monthly. An hourly schedule emails the previous complete hour.
  4. Enter one or more recipient email addresses. Separate multiple addresses with commas.
  5. Select Create Schedule.

Use addresses owned by the business and review the recipient list whenever staff responsibilities change. Run now sends the report immediately without changing its next scheduled delivery. Pause keeps a schedule but stops automatic delivery; Resume restarts it. Delete asks for confirmation before removing the schedule.

Review or change Store Settings​

  1. Select the store.
  2. Go to Settings > Settings.
  3. Review Store information. Name, address, and phone are shown here but are edited from Organization > Locations.
  4. Under Operational settings, review:
    • Timezone and its IANA timezone value, such as America/New_York.
    • Coverage hours, derived from the store's coverage templates.
    • Checkout behavior, including Prompt for a tip during checkout.
  5. If you have store.settings.write, save each changed section with its exact control: Save for timezone or Save checkout behavior for the tip prompt. To change coverage hours, use Employees > Coverage templates; coverage hours are not edited in Store Settings.

Users without write access see the effective values in read-only form. A saved tip-prompt change applies to all POS terminals in that store after their next configuration refresh.

Use the Compliance report​

Compliance is an audit view; it does not replace your store's legal or policy review.

  1. Select the store and go to Settings > Compliance.
  2. Filter by Start date, End date, Cashier, or Action.
  3. Under Action, choose Permit, Deny, Override, or All actions.
  4. Review Total Checks, Passed, Failed, Overrides, and Pass Rate.
  5. Review Policy Rules to see the jurisdiction, minimum age, whether the row is effective or a fallback, and whether the rule is active.
  6. Select a check to open Compliance Check Detail. It can show cashier, check type, product, required and verified age, ID type and expiry, reason codes, transaction, approval, and override notes.
  7. Use Export to download the currently filtered checks as CSV or PDF.

Interpret Action separately from Result:

  • Permit means the result was recorded as a pass and no override reason was recorded.
  • Deny means the result was not a pass and no override reason was recorded.
  • Override means an override reason was recorded. It does not by itself prove that a manager approval ID exists; open Compliance Check Detail and review Approval and Override.
  • Passed and Failed summarize non-overridden permits and denials, while Overrides is counted separately.
  • A policy marked Fallback means no effective jurisdiction row was used. Product-level 18+/21+ flags can still provide the fallback requirement.

Work the Restricted Sales Review queue​

This page joins restricted-sale exceptions with compliance, manager override, transaction, tax, and audit evidence.

  1. Select the store and go to Settings > Restricted Sales Review.
  2. Set Start Date and End Date, or use Today, 7 days, or 30 days.
  3. Filter by Category and Approval. Approval choices are All approvals, Manager approved, Approval pending, Denied checks, and No approval.
  4. Review the summary counts for Incidents, Needs review, Denied / blocked, and Incomplete evidence.
  5. Select an incident and inspect its outcome, review status, owner, risk flags, and evidence cards.
  6. Use CSV to export the current incident report when you need an offline review record.

Users with store.reports.read can review the queue. Users with store.reports.write can also assign an owner, add a resolution note, and set the review status to Needs review, Resolved, Blocked denied, Evidence incomplete, or No action needed, then save the incident review.

Treat Incomplete evidence as a reason to investigate, not as proof that a sale was compliant or noncompliant.

SMS consent records are store ledger entries, but marketing delivery checks consent across the organization.

  1. Select the store and go to Settings > SMS Consent.
  2. Enter a phone number in Search selected-store ledger by phone and select Search.
  3. Review Phone, Method, Consented, and Status.
  4. Select the result or View History to see when consent was recorded or revoked and who performed the action.

Users with store.consent.read can search and view history. Users with store.consent.write can also:

  • Select Record Consent, enter the phone number, choose Digital, Verbal, or Written, and select Record.
  • Select Revoke Consent and confirm Revoke.

Record only an explicit opt-in collected by the method you select. Revoking consent here ends this store's active ledger row. If the same phone number still has active consent at another store in the organization, organization-wide marketing campaigns and automations may still be eligible to send. Check the history and contact support if an organization-wide opt-out needs review.