Skip to content

Reports and dashboards

SaleSprint gives you your numbers in two different places, and they behave quite differently.

Dashboard is a set of at-a-glance screens — tiles and charts you look at. Reports is a list of 118 tables you run, read and download.

Where
Reports
Plan
All plans
Permission
Reporting → Sales Report

There is no single “reports” permission. Each group is gated separately — reporting.financial_report, reporting.sales_report, reporting.purchase_report, reporting.stock_report, reporting.product_report, reporting.manufacturing_report — so you can give a manager the sales reports without opening the books.

Menu group Reports Covered in
Financial Reports 13 Financial reports
Sales Analytics 6 Sales analytics
Sale Reports 16 Sale reports
Purchase Reports 25 Purchase reports
Product Catalogue Reports 9 Product reports
Inventory & Stock Reports 15 Stock reports
Product Performance Reports 9 Product reports
Cost & Pricing Reports 6 Product reports
Combined Product Reports 6 Product reports
Manufacturing Reports 13 Manufacturing reports

The Dashboard menu is separate, at the very top of the app menu, and has its own page: Dashboards.

Every report in the list works the same way.

  1. Open the report from Reports → group → report name.
  2. The Filter criteria card is at the top. If it is collapsed, click the header to open it.
  3. Pick your period. Click one of the pills — Today, Yesterday, This week, This month, This quarter or This year — or type your own Start date and End date.
  4. Narrow it further if you want, using whichever dropdowns that report offers: Customer, Supplier, Location, Category, Brand, User, Status. Each one starts at All.
  5. Click Run report.

The badge next to Filter criteria counts how many filters are active, which is the quickest way to see why a report is emptier than you expected.

Summary tiles sit above the table — a few headline figures for the period. There are no charts on a report; charts live on the dashboards.

The table below has:

  • a search box for finding one row,
  • a Columns button for hiding columns you do not need,
  • an Export menu — see Exporting a report,
  • a bold Total row at the bottom,
  • and a pager: Rows per page 10, 25, 50 or 100, starting at 25.

Click a column heading to sort by it.

You cannot click through to the document. Report rows are not links. If a row looks wrong you have to note the number and go and find that sale or purchase yourself.

Nothing is remembered. There are no saved reports, no favourites and no “my usual filters”. Leave a report and come back, and every filter is back at its default. Set them again each time.

Reports need a connection. Unlike most of the app, reports are not available offline — there is no cached copy. With no signal you get “Network unavailable” where the table should be, and there is no Retry button, so press Run report again once you are back online.

Amounts have no currency symbol. Every money column is a bare number. If you trade in more than one currency, be aware that nothing on a report tells you which currency a figure is in.

Dates come from the device. “Today” means today according to the phone or computer you are using, and the report asks for a plain date with no time zone. Two people in different time zones running the same report at the same moment can get different day boundaries.

There is no limit on how much a report will pull back. Apart from the “top 10 / top 20” reports, a wide date range on a busy shop fetches every matching row at once. Keep ranges tight.

The message “No records match these filters” means the report ran and found nothing. That is usually the filters — check the badge on the Filter criteria card and widen the dates.

“Set filters and run” means it has not run yet. Press Run report.

“No company selected” means no company is chosen in the top bar. Pick one and the filters appear.

For the financial reports specifically, empty usually means something else entirely — see the warning on Financial reports.

Nine entries in the Reports menu have no English label and show a raw internal name instead of a proper one. They work perfectly — they just look broken.

In the menu you will see It is really
nav.arControlReconciliationReport AR Control Reconciliation
nav.apControlReconciliationReport AP Control Reconciliation
nav.customerAbcAnalysis Customer ABC Analysis
nav.salesForecastAnalysis Sales Forecast Analysis
nav.purchaseGroupSummaryLocationReports Purchase Group Summary by Location
nav.topPurchasedProductsReports Top Purchased Products
nav.stockValuationByLocationReports Stock Valuation by Location
nav.stockValuationByAbcReports Stock Valuation by ABC
nav.inventoryBalanceReports Inventory Balance