Skip to content
Knowledge ERP Docs

API Reference ↗
Reporting

Reporting & Dashboards

A configurable home dashboard plus a library of cross-module reports — with saved filter presets, CSV export, and scheduled email delivery.

Knowledge ERP ships a library of operational and financial reports, a customizable home dashboard, and the plumbing to filter, export, and schedule them.

The home dashboard #

The main dashboard is configurable: choose which widgets appear from the widget library, and your layout is remembered per user. It's the at-a-glance view of the numbers you care about most.

You will only be offered the widgets whose data you are allowed to see. The dashboard itself is always reachable — a widget you lack the permission for is simply not there, and does not appear in the Customize list.

The report library #

Pre-built reports and dashboards span every module, including:

  • Inventory — valuation, low stock
  • Sales — sales dashboard, sales summary, top customers, quote pipeline, sales pipeline, sales forecast
  • Receivables / payables — invoice aging, AP aging, cash flow
  • Purchasing — purchasing dashboard, vendor performance
  • Manufacturing — manufacturing dashboard, work-in-progress (WIP)
  • Appointments and Feedback surveys — operational dashboards and survey results

The aging reports #

Invoice Aging (money in) and AP Aging (money out) are the same report pointed at opposite ledgers, and both are drawn up as at a date.

That date is the whole point of them. A debtors figure you cannot produce a second time is a figure nobody can close a month on, so "as at 31 August" means what it means in a ledger:

  • balances are aged against that date, not against today;
  • a document raised after it is not on the report;
  • money collected after it has not been collected yet. An invoice settled in September was still owing on the 31st of August, and the August report keeps saying so however many times you run it.

Each report shows the bucket totals, a Summary by Customer (or by Vendor) — one row per party with a column per bucket, which is the sheet to hand somebody — and then the documents themselves, bucket by bucket. Every money figure is shown to the cent.

Save Filter / Load Filter keep an as-at date, and Export CSV takes the whole thing to a spreadsheet.

The single-customer version of this is the Statement on the customer's own page, which ages the same way and can be emailed, printed or saved as a PDF. See Customers.

Who can see a report #

A report is gated by the view_any permission for every kind of data it shows, not just one of them — Cash Flow needs both customer and vendor payment permissions, because it puts money in and money out on the same screen. Without them the report is absent from the navigation and refuses if you go to its URL directly. Module access is checked as well: the permissions alone will not open a report belonging to a module your plan does not include.

The full report-by-report list is in Users, Roles & Permissions.

Filters #

The filter bar at the top of a report applies as soon as you change it — there is no Apply button to press. Change a date, pick a person, and the figures below redraw against the new range.

When a filter leaves a report with nothing to show, the empty message names the filter it applied, so an idle week and a broken report cannot be mistaken for one another.

Saved filters #

Reports that support filtering let you save filter presets — name a set of filters once (a location, a date range, a status) and reapply it in a click, instead of re-entering the same parameters every time.

CSV export #

Every tabular report can be exported to CSV, so you can pull the underlying numbers into a spreadsheet or hand them to another system. Visual dashboards (Sales, Purchasing, Manufacturing, Appointments) display charts and summaries without a CSV export option.

Exported files are written to be added up, not read. Money and quantities leave as plain numbers — no currency symbol and no thousands separator — so a column of them totals correctly instead of a spreadsheet treating 1,990.36 as text and silently dropping it from a SUM(). Dates leave in YYYY-MM-DD form, which sorts as a date rather than alphabetically. Anything a person typed that a spreadsheet would otherwise execute as a formula is neutralised on the way out. The screen keeps its readable formatting; only the file is changed.

Scheduled delivery #

Set up a report schedule to have a report emailed to recipients on a cadence (for example, a weekly low-stock report or a monthly aging report). A background command (reports:deliver-scheduled) sends them automatically.

On the roadmap #

Today's reports are pre-built. A fully configurable report builder and user-defined KPIs are planned — until then, if you need a cut that isn't covered, the REST API lets you pull the raw data and build it yourself.