Skip to main content

Report Builder

Report Builder is Zenoti's self-service KPI reporting tool. It lets you compose your own reports from a central repository of 377 metrics spanning Sales, Collections, Membership, and Guest Demographics — choosing only the KPIs you care about, scoping them to the centers and date ranges you need.

Reports can be built across two dimensions — Organization Level for center-wide performance or Employee Level for individual contributor metrics. The KPIs shown in the library are always relevant to the dimension you choose, keeping the experience focused.

Beyond standard metrics, you can build your own custom KPIs using a BODMAS-compliant formula builder — derive your own measures like Revenue per Guest, Cancellation Rate, or Average Ticket Size without involving engineering. Custom KPIs sit alongside standard KPIs in the library and can be used in any report.

Every report comes with built-in period-over-period intelligence — every value automatically surfaces alongside its previous period, the same period last year, and a directional growth indicator. Drill down from Year into Quarters, Months, Weeks, and Days with the same comparisons carried through at every level.

Report Builder is a no-code interface. You don't need to involve engineering or build a custom dashboard — and because it draws from a separate KPI Repository, adding new KPIs to Report Builder doesn't bloat or affect any of your existing standard reports.

Note

Reach out to your Zenoti representative to enable the Report Builder feature for your organization.

Before you begin

Once Report Builder is enabled for your organization, check the following role permissions.

Role permissions 

Your security role needs the relevant permissions, granted under:

Security → Security Roles → [Role Name] → Reports KPI Builder 

Three permissions control what users can do in Report Builder:

Permission 

What it allows 

Read

View custom reports that have been published in the organisation.

Create Reports

Build new reports from the KPI library, save them as drafts, and publish them for the team.

Create Custom KPI

Define new KPIs using a BODMAS formula builder at the org level.

Note

Sharing a published report only grants view access. Only the report owner can edit it. Anyone with view access can clone the report to create their own editable copy.

Reports Dashboard

Report Builder lives on the Reports Dashboard. The dashboard has two top-level tabs:

  • Zenoti-driven reports — your standard Zenoti reports, unchanged.

  • Custom reports — the Report Builder workspace, where you create, manage, and view custom reports.

On the Custom reports tab, you'll see two sub-tabs and a sidebar:

Section 

What it contains 

Created by me

Reports you've built. Drafts and published reports both show here.

Organization Library

Reports built by other users in your organisation and shared with the team. View-only unless you clone.

Bookmarked

A sidebar showing reports you've starred for one-click access. Shows the report name and KPI count.

Each report card shows the report's name, creator, last-modified date, time period, and KPI count (e.g., “4 KPIs · Organization”). Bookmark a report by clicking the star icon on the card.

Report card actions 

Two buttons appear at the bottom of each report card. Which ones you see depends on the report's state:

Button 

When it appears 

View Report

On published reports — opens the report in view mode

View & Publish Report

On draft reports — opens the report in view mode where the owner can review the data and publish it

Edit

Only visible to the report owner — opens the report in the builder for changes

Build a new report

Click “+ Create New Report” at the top right of the Custom reports tab. Report Builder walks you through three short stages: pick the level, choose your KPIs, then save.

Step 1: Pick the level 

After clicking Create New Report, the Create report side panel opens with the question “What level do you want this report to analyze?” Pick one:

Level 

Use it for 

Organization Level

Overall business performance — centre-wide totals such as revenue, collections, and memberships across the organisation

Employee Level

Performance broken down by individual employees — per-employee sales, utilisation, retention, and similar metrics

Click Create. The level you pick determines which KPIs are available in the library on the next screen — the Employee Level set is a focused subset of the Organization Level set.

Note

The level is set when the report is created and applies for the lifetime of that report. To analyse a different level, create a new report.

Step 2: Add KPIs 

After picking the level, the Create New Report page opens with the heading “Select Organization Level KPIs and configure your custom report” (or “Employee Level KPIs”, depending on the level you chose).

The page has two halves: the KPI Library on the left and the Report Canvas on the right. Initially, the canvas is empty with the message: “No KPIs selected — Choose KPIs from the library to start building your report.”

The KPI Library 

The KPI Library lists every available KPI grouped by category. Each category shows a count of selected KPIs out of the total available (e.g., “1/21”). Available categories include:

  • Custom — KPIs you've defined yourself

  • Service Sale

  • Product Sale

  • Membership Sale

  • Package Sale

  • Gift Card Sale

Use the Search KPIs box to find a specific KPI by name, or click Expand All to expand every category at once. Click a category header to expand just that category and see its individual KPIs.

Each KPI in the list shows its name and a one-line description (for example, “Existing Guest Membership Sales (Exc. Refunds) — Net membership sales from returning customers”).

Add KPIs to the canvas 

There are two ways to add a KPI to your report:

  • Click the “+” icon next to a KPI in the library.

  • Drag a KPI from the library and drop it into the Report Canvas.

Selected KPIs show a checkmark in the library. The canvas groups your selected KPIs by category and shows a count next to each section header (e.g., “PRODUCT SALE (1)”). Each KPI row on the canvas displays four columns: KPI Name, Current Period, Previous Period, and Current Period Last Year. To remove a KPI, click the trash icon at the end of its row.

Step 3: Save the report 

When you're ready, click Save Report at the top right. The Save Report side panel opens with three fields:

Field 

Notes 

Report name

Required. Give your report a clear, descriptive name.

Description

Optional. A brief note about what the report covers.

Click Save. The report is saved as a Draft and appears under Created by me on the Custom reports tab.

Note

The report will be generated for a default period of 1 week. Users can modify the time period later using filters.

Create a Custom KPI

If your role has the Create Custom KPI permission, you can build your own derived metrics — for example, Revenue per Guest, Cancellation Rate, or Average Ticket Size — using a BODMAS formula builder.

Open the custom KPI panel 

At the bottom of the KPI Library, click “+ Create Organization Level Custom KPI.” The Create custom KPI side panel opens.

Build the formula 

The formula builder has three working areas:

  • Formula bar at the top — displays the metrics and operators you've chosen, building up your expression (e.g., “Service Refunds / Invoices - Existing Guests”).

  • Calculator keypad — digits 0–9, operators (+, −, ×, /), parentheses, decimal point, and Clear/backspace controls.

  • Add metrics search — click “+ Add metrics” to open a searchable list of available KPIs, grouped by category (Invoices & Transactions, etc.). Type to filter the list and click a metric to add it to your formula.

Build your formula by adding metrics, operators, numbers, and parentheses in the order they should evaluate. Zenoti auto-parenthesises formulas to ensure correct BODMAS evaluation.

Save the custom KPI 

  1. When your formula is complete, click Next: Define KPI details.

  2. Give the KPI a name and (optionally) a description so other users understand what it measures.

  3. Save. The custom KPI is created at the organisation level and appears under the Custom category in the KPI Library for use in any report.

Important rules 

  • Only KPIs within the same category can be combined into a custom KPI. Cross-category joins are not supported.

  • Custom KPIs are created at the organisation level and are visible to all users with Reports KPI Builder permissions.

  • Custom KPIs cannot be edited or deleted once created. Plan your formula carefully before saving.

Note

Custom KPI formulas are not validated by Zenoti. Review your formula carefully before publishing reports that depend on it — incorrect formulas will surface incorrect values.

View a Report

From the Custom Reports tab, click View Report (on a published report) or View & Publish Report (on a draft). The report opens with the data populated.

Report controls 

At the top of every report view, you'll find:

Control 

What it does 

Time period dropdown

Switch the time scope (e.g., This Month, This Year, This Quarter)

Center filter

Select one or more centers — a searchable multi-select with an All Centers option. The button shows the count (e.g., “1 centers”)

Refresh

Re-fetch the latest data for the report

Edit

Owner-only — open the report in the builder to make changes

Publish Report

Make the report visible to other users in your organisation (view-only)

Read the data 

The report body is grouped by category (PRODUCT SALE, MEMBERSHIP SALE, CUSTOM, etc.) with a KPI count next to each section. Every KPI row shows three values side by side, plus a growth indicator:

Column 

What it shows 

Current Period

The value for the period selected at the top

Previous Period

The preceding period (e.g., February 2026 when Current is March 2026)

Current Period Last Year

The equivalent period one year earlier (e.g., March 2025)

Note

When you choose Year as the time period, the report shows two comparisons — Current Year and Previous Year — instead of three.

Drill into Breakdown 

Every KPI row has a Breakdown accordion. Click it to expand the time hierarchy below the row — for example, a Monthly report breaks down into Month → Weeks → Days. Each level carries the same period comparison columns as the top-level row.

From 

Drills into 

Year

4 Quarters (Q1–Q4)

Quarter

3 Months

Month

4 Weeks

Week

7 Days

Day

Single-day data point (up to yesterday)

Week boundaries follow your center's configured start-of-week setting.

Manage Your Reports 

From the Custom reports tab, you can perform several actions on each report card:

Action 

How 

Who can do it 

Bookmark

Click the star icon on the card

Anyone with access to the report

Clone

Open the card's overflow (three-dot) menu

Anyone with view access — creates an editable copy owned by the user who cloned it

Edit

Click the Edit button on the card

Only the report owner

Publish

Click the Publish Report button on the report view

Only the report owner

Delete

Open the card's overflow (three-dot) menu

Only the report owner

Opening a saved report fetches fresh data, so you always see the latest values for the configured KPIs and time period.

Considerations

  • Keep reports focused. Pick only the KPIs you actually need — long reports take longer to render and are harder to scan.

  • Use the search box in the KPI Library to find a specific metric instead of expanding every category.

  • Bookmark the reports you run regularly. The Bookmarked sidebar gives you one-click access from anywhere on the Custom reports tab.

  • Use period comparisons to spot trends quickly. The directional indicator on every value tells you at a glance whether the metric is moving in the right direction.

  • Use the Breakdown accordion before finalizing any edits. The drill-down levels carry period comparisons too, so you can identify which weeks or days drove a monthly change.

  • Clone published reports to experiment. If another user has built a useful report, clone it from the Organization Library instead of building from scratch.

  • Save early as a Draft. You can refine and verify the data before publishing it to the rest of the organisation.

Frequently Asked Questions

  • Will Report Builder affect my existing standard reports?

    No. Report Builder draws from a separate, centralised KPI Repository. Adding new KPIs to Report Builder does not modify or impact any of your existing standard reports, and the performance of standard reports is unchanged.

  • What's the difference between Created by Organization Library and me?

    Created by me shows reports you've built yourself — both drafts and published. Organisation Library shows reports built by other users in your organisation and published to the team. You can view reports in the Organization Library but not edit them; if you need to make changes, clone the report.

  • Can I change a report's level from Organization to Employee (or vice versa)?

    No. The level is set when the report is created and cannot be switched afterwards — the KPI sets, filters, and aggregations differ between the two. To analyse a different level, create a new report and select the level you need.

  • Can I share a report with read-write access?

    No. Publishing a report grants view-only access to other users in your organisation. If another user needs to make changes, they can clone the report to create their own editable copy.

  • Can I edit or delete a custom KPI after I create it?

    Not at this point. Custom KPIs can be created but cannot be edited or deleted in the current release. Plan your formula carefully before saving.

  • Where do week boundaries come from?

    Week boundaries follow your center's configured start-of-week setting. If different centers in your organisation have different start-of-week configurations, weekly aggregations will respect each center's individual setting.

  • Why don't I see any data in my report?

    Check the center filter and the time period at the top of the report — if the selected centers or period don't contain data, all values will show as zero or blank. Use the Refresh button to re-fetch data after changing filters.