Report Builder & KPIs
Build your own reports and dashboard KPIs without code — pick a data source, choose columns, filters, grouping, and summaries, then view, export, schedule, or pin them to your dashboard.
Alongside the built-in reports and dashboards, Knowledge ERP includes a Report Builder so you can define your own reports and KPIs without writing any code. Open Reports → Report Builder.
Data sources #
Every report starts from a data source — a business entity you can report on, such as Sales Orders, Customer Invoices, Inventory Products/Units, Purchase Orders, Quotes, Payments, Customers, Vendors, Opportunities, Rental Agreements, Work Orders, Survey Answers, and more. Each source exposes a curated set of columns you can show, filter, group, and summarize. Data sources respect your subscribed modules — you only see the ones your plan includes — and every report is automatically scoped to your account.
You also only see the data sources your role lets you read: Customers needs permission to view customers, Sales Orders to view sales orders, and so on. A saved report someone shared with you can only be run if you could read its data source yourself. Where your role covers only some Locations, a report leaves out records at the Locations it doesn't cover. An Inventory Movements report shows a movement when either end of it is at a Location your role covers, or when it names no Location at all.
Survey Answers is one row per answer rather than per response, so grouping by Question and averaging Score gives an outcome table straight out of survey data — the thing that otherwise means exporting a CSV and building the same pivot table by hand every month. It counts submitted responses only.
Units shows which Sales Order and Customer a unit shipped on, alongside its Shipment to confirm flag — filter by Lot # to trace a batch and see where each unit in it went, including a unit ShipStation has bound to an order provisionally, before it's confirmed on the Ship page.
Loans is one row per unit handed over on a loan, past and current: the product and unit, when it went out, when it was due, when it came back, the loan's number, status and Location, and the borrower. The borrower's own custom fields (the ones on their customer record) can be added as columns, labeled **Borrower: ** and the field's name, which is the report a lending organization sends a funder. A loan to a contact shows the fields of the contact's customer, and Borrower Type says which applies; a loan to a staff member has none. A borrower who has since been deleted leaves the loan in the report with the borrower and their fields blank, and a deleted loan agreement is left out.
- Who sees it. Loans is meant for roles that can view loan agreements and checkouts (units handed over); a role with the first but not the second may see few or no rows. The borrower's fields need permission to view customers as well, and are left out of the report for a role without it. Where your role covers only some Locations, the report is narrowed to them, as the lists of loans and checkouts are.
- What a column shows. A currency field is shown in dollars, a yes/no field as Yes or No, a user field as the person's name, and a date-and-time field in the time zone of the Location the unit was checked out at (the Location column shows the loan's Location, which is usually the same). Custom-field columns can be shown and exported but not filtered, sorted or grouped; filter on the date the unit went out, was due or came back instead.
- A deleted custom field. A saved report that still lists a custom field which has been deleted keeps running without that column.
Distributions is one row per order line on a real sales order: the order's number, status and date, the customer, the Location, the product (a kit sold as a line is named by the kit), and the quantity ordered and quantity shipped, which differ until the line has shipped in full. Draft and Cancelled orders are left out; every other status is in, and an order since deleted takes its lines out with it. The customer's own custom fields can be added as columns, labeled **Customer: ** and the field's name, so the same report that lists loans can list what was given or sold to the same people. The Order Date can be filtered and sorted on, and the two quantities can be summed.
- Who sees it. Running Distributions needs permission to view sales orders. The customer's fields need permission to view customers as well, and are left out of the report for a role without it. Where your role covers only some Locations, you see the lines of the orders at those Locations, the same orders the Sales Orders list shows you. A customer who has since been deleted leaves the line in the report with the customer and their fields blank.
- What a column shows. The customer's fields are shown as the Loans report shows a borrower's, except for a date-and-time field, which is shown in the time zone the screen shows its other times in (the Location the screen is narrowed to, when it is narrowed to one, otherwise your account's; your account's in a scheduled delivery), not in the order's Location. Custom-field columns can be shown and exported but not filtered, sorted, grouped or summed.
Building a report #
Choose New report and configure:
- Columns — the fields to display. Leave empty to include every one you have permission to see.
- Filters — narrow the rows (e.g. Status is Shipped, Total at least 500,
Order date between two dates). Available operators depend on the field type.
A date filter given a date such as
2026-09-01asks about days: Sent is 2026-09-01 finds what was sent on that day, read on the day each record keeps (see Which day a record counts on). Survey Answers' Submitted is not read by day yet: it is compared with the time stored in UTC, so a date filter on it doesn't find responses by the day they were submitted. - Group by + Summaries — turn detail rows into a summary, such as Sum of Total and Count grouped by Status.
- Sort and Row limit.
- Visibility — keep a report private to you, or share it with your team.
Press Run to view the result, or Export CSV to download it.
KPIs #
Choose New KPI to define a single headline number — a count, sum, average, min, or max over a data source, with optional filters. Saved KPIs appear as cards on your home Dashboard (manage them through the dashboard's Customize control like any other widget). A shared KPI only appears for people who can read its data source.
Scheduling #
Any saved report you can run can be delivered by email on a recurring schedule. Use the Schedule action to pick a frequency (daily, weekly, or monthly), a send time, and recipients; the report is generated and emailed as a CSV attachment. The send time is in your account's time zone. Scheduled reports are also listed under Reports → Scheduled Reports.
A scheduled report is generated with the permissions of the person who set it up, so it contains what they would see if they ran it themselves — whoever it is sent to. If they can no longer read it, or can no longer sign in, it is not sent. Reports → Scheduled Reports then shows Failed against it with the reason, and History lists each attempt. It is sent again at its next scheduled time once they can read it.
API #
Report definitions are available over the REST API under
/api/v1/report-definitions, including a
run endpoint that returns the computed headers and rows so you can feed a
report straight into your own tools.