Reporting

Filtering a Report

Narrow a report to one customer, vendor, item, location, project or person — and understand the boundary that is already applied before you touch anything.

Every report arrives already bounded by who you are. The Filters button narrows it further, within that boundary — it can never widen it.

Filters is a button, not a menu. It turns solid and carries a count while filters are in force, so a narrowed report can never be mistaken for the whole book.

Apply a Filter

1
Press Filters

A row of pickers opens beneath the controls, separated from them by a rule. Press it again to hide the row — hiding does not clear anything.

2
Pick a value

Each picker is a searchable list. Choosing a value refetches the report immediately; there is no Apply button.

3
Read the count

The button reads Filters · 2 and turns solid. That count is the honest one — every filter the row can set is included in it.

4
Clear filters

A Clear filters action appears at the end of the row as soon as one filter is set, and resets all of them at once.

The filter row: one picker per dimension the report supports, each placeholder naming what you get when nothing is chosen — All customers, All items, All centers.

Which Filters a Report Offers

A picker is drawn only when the report supports that dimension and there is something in it to choose. An empty roster means no picker, not an empty picker.

FilterAppears onPlaceholder
CustomerSales reportsAll customers
VendorPurchase reportsAll vendors
ItemSales, purchase and operations reportsAll items
CenterAny report, once the business has two or more locationsAll centers
UserThe User Activity audit trailAll users
ActionThe User Activity audit trailAll actions
ModuleThe User Activity audit trailAll modules

The pairing is deliberate and one-sided: a sales report never offers a vendor filter, and a purchase report never offers a customer filter. Finance and people reports filter by location only. Group reports filter by nothing — their columns are the companies.

⚠️There is no Project picker

Reports can be grouped by project, and several carry a project dimension, but no project picker is drawn in the filter row on any report today. To read one project, group by Project and read its row, or open the project reports under Operations reports.

✅The audit-trail facets are read from the log itself

On User Activity, the User, Action and Module lists are built from what the log actually holds, keyed to the values the server stores. A pick can therefore never return an empty page because you chose a word the log has never recorded.

Filters Travel With the Report

A filter is written into the page's address, into every export and email, and into any schedule you create from the report:

Where it goesWhat happens
The address barCopy the link and the person you send it to opens the same filtered report — subject to their own boundary.
PDF and Excel exportsThe filter is named on the export, not just applied. A PDF says Center: London rather than printing a bare identifier.
Email and WhatsApp sendsOne attachment, rendered exactly as the report is on screen.
SchedulesFilters are frozen into the schedule at creation. Only the dates roll forward on each send.

The Boundary Underneath

Filters narrow. They are applied inside a boundary that was already decided before the page loaded.

Who you areWhat the report can reach
Super Administrator or AdministratorThe whole business.
Any other role — Supervisor, Manager, Team Lead, a custom roleOnly the locations on your center allow-list, refined further by your data scope.
A user whose data scope is own recordsOnly records they raised, within their locations.
A user with no locations assignedNothing. An empty allow-list means no centers, never every center.
StaffNo report at all. Reporting is closed to the Staff role.

When a location is in scope, a banner above the report states it — Viewing: London — so a narrowed figure is never mistaken for the business total.

🚨You cannot filter your way out of your scope

Choosing a center you do not hold returns nothing rather than the data. The boundary is applied on the server, at the point the rows are read; the pickers on screen are a convenience, never the enforcement. See Permissions.

Filters That Live on the Report Itself

Some reports carry controls of their own, below the toolbar, because the thing being filtered is particular to that report:

ReportIts own controls
Receivables Aging · Payables AgingView (by party or by document), As at, Buckets, Include archived parties, and — on the by-document list — bucket, balance-range and due-date facets. See Aging reports.
General LedgerHide disabled accounts — hides disabled accounts carrying a nil balance. An account still holding a balance always appears.
Sales Performance · Purchase Performance · Sales Margin by TransactionShow top — 50, 100, 250 or 500 rows on screen. The export always includes every row.
  • Aging's own controls and the control-account tie: Aging reports.
  • Saving a period and its filters for next time: Saved views.
  • Who can open what, and how scope is resolved: Permissions.