Skip to main content
Every report in Beebole is a custom report. You build the output by adding columns — entities like people and projects, and amounts like hours, billing, and costs — and Beebole groups and totals the data to match. The same report can display as a table, a chart, or a matrix.
Reports have no Save button. Every change — columns, filters, period, chart and matrix settings — is saved automatically and applied the next time the report runs.

Create a report

1

Open Reports

Click Reports in the sidebar.
2

Choose a folder

Select an existing folder in the Reports menu, or click New folder to create one.
3

Add the report

Click the Add a report button next to the folder name. Beebole creates a report named New report, opens it, and puts the name into edit mode — type a descriptive name.
4

Build the output

Add columns to define what the report shows — see the next section. The report re-runs as you change it.

Add output columns

A report’s definition is a row of column badges above the results. Click Add a column… to open the column menu, which is organized into two groups.

Time and amounts

These columns carry the numbers. Each column type offers a choice of fields:
Billing, cost, and profit fields show data once billing rates and cost rates are configured, and require a subscription that includes those features.

Entities

These columns define what each row represents:
  • One entry per project category and task category, named after the category (for example, Clients). For these hierarchical columns you also pick a level: Root, a named level, or All levels.
  • Person — with fields such as Name, ID, Email, Description, Role, and Managed by.
  • Time entity — the project, task, or absence type a time entry was logged on, with Full path, Name, or ID.
  • Absence type and Expense type.
Person, project, and task columns also offer your tag categories (with a level picker for multi-level tags) and any custom fields visible on that entity type — so a custom field like a client reference or region becomes a regular report column.

Arrange and refine columns

  • Reorder columns by dragging their badges — order determines grouping.
  • Click a badge to change its field, level, or category, or to Remove it.
  • Subtotal — toggle subtotal rows for a grouping column; groups can collapse and expand in the table.
  • Hide empty values — hide rows where the column is empty.
Multi-level grouping is just multiple grouping columns: for example, a tag column, then a project column, then a Period: Month column shows each team’s projects month by month.

Amounts in several currencies

Rates and expenses can be entered in different currencies, so a report that carries billing, cost, or expense amounts also carries a currency picker: the first currency-based column adds it to the column’s badge, preset to your default currency. Beebole converts every amount into that currency before totaling. Each time entry or expense is converted at the exchange rate of its own date, using the daily rates Beebole fetches from an exchange-rate service — so a euro rate on a January entry and a dollar rate on a June entry both land in the report’s currency at the rates that applied on those days. Pick another currency in the badge and the whole report is recalculated. The stored data never moves: a rate stays in the currency you entered it in, and changing your organization’s currency in Account Settings converts nothing either — it only changes the default the picker starts from.

Filter and scope the data

Filters and periods work the same on every report and are covered on the Reports page: set a date range per folder or per report, and filter by people, projects, tasks, tags, project categories or plannings, work location, or owner and status for tasks. Every condition can include (is) or exclude (is not). What a filter covers is wider than the entity you name, so a report answers the question you meant:
  • Project, Project tag, and Project category filters include the project’s whole subtree, and also the time logged on tasks linked to those projects. Time your team booked on a task of the Acme project shows up when you filter on Acme, without adding a task filter.
  • Tag filters follow the tag hierarchy: a filter on a parent tag also matches the tags below it. And when a tag sits on a parent project, everything under that project is covered too.
  • Task and Planning filters follow the task, even when the time was recorded as project time. If a suggested entry had to be logged on a project because your timesheet does not accept time on that planning, the entry still counts as that task’s time here — and an is not condition still excludes it.
One scope is specific to time data: a report over time records can cover working time and absences together, or narrow to Absences only or Working time only — shown as a chip above the results that you can clear at any time.

Chart view

Click Chart next to the report name to display results as a chart. Table and Chart can be open at the same time — the chart appears above the table.

Switching chart type

Click the chart type picker to choose from 11 chart types:

Configuring chart axes

Once you select a chart type, use the axis controls to map your data:
  • Label axis — Choose the column that supplies the category labels (e.g., project name, person, time period).
  • Value axis — Select one or more numeric columns to plot (e.g., hours, billing amount).
  • Group by — Add a second label column to split each bar or line into separate series.
  • Swap label axis and group by — Click the swap button to exchange the label axis and the group-by column.
Beebole automatically selects the best axes when you run a report. Adjust the axis controls to override the defaults and focus on the dimensions you care about.

Adjusting chart height

Drag the resize handle at the bottom of the chart area to make the chart taller or shorter. The height is saved with the report so it is restored the next time you open it.

Matrix view

Click Matrix next to the report name to pivot the results into a grid: one dimension on each axis and a metric in every cell, with row, column, and grand totals. The controls above the grid configure it:
  • Rows — the dimension down the side. Click the picker to choose, and use the second picker to add an optional second row dimension (the arrows button swaps the two, and × clears the second one).
  • Columns — the dimension across the top.
  • Metric — the number shown in each cell, derived from the report’s numeric columns: hours, billing, cost, margin, planned effort, expense amounts, totals, and more.
  • Heat map — shades each cell by its value, so the largest numbers stand out at a glance.
  • The swap button (Swap rows and columns) flips the two axes in one click.
Axes come from the report’s grouping columns — people, projects, tasks, absence types, expense types, tags — or from calendar periods (day or week), which turn the matrix into a calendar-style grid. The matrix needs at least one numeric column in the report definition, and your Rows, Columns, Metric, and Heat map choices are saved with the report automatically. To download the grid, open the report’s ⋯ action menu and choose Export > Matrix (CSV), Matrix (Excel), or Matrix (PDF).

Organize reports in folders

Folders group related reports in the Reports menu, and each folder’s period and filters apply to every report inside — see Reports for those settings.
  • Click New folder at the bottom of the Reports menu to add a folder.
  • Each folder’s ⋯ action menu offers Duplicate, Rename, Filter, Paste (when you have copied a report), and Delete. Sharing is not in the menu — click Share next to the folder’s name, as described on the Reports page.
  • To copy a report into another folder, open the report’s ⋯ action menu, click Copy, then click Paste in the target folder’s menu. Duplicate copies a report within its own folder, and the action menu can also move a report straight to another folder.
Deleting a folder also deletes the reports inside it. Move reports you want to keep into another folder first using Copy and Paste.

Reports

Folders, periods, filters, sharing, exports, and the built-in reports such as Budget Status.

Billing Rates

Configure billing rates so billing and margin columns show data.

Cost Rates

Configure cost rates so cost and profit columns show data.

Custom Fields

Define custom fields and use them as report columns.

Frequently asked questions

No. Beebole saves every report change automatically — columns, filters, period, chart type, and matrix settings. There is no Save button; when you reopen a report, it runs with your latest configuration on current data.
Only if you share them. Report folders in Beebole belong to the person who created them, and you share a whole folder — click Share next to the folder’s name and pick people or tags. Whoever opens a report, the results only include the projects and people that person’s role allows.
You can add multiple grouping columns — for example a tag, then a project, then a month column — and Beebole nests the rows in that order, with optional subtotals per level. There is no hard limit, but reports with many levels become harder to read.
Yes. Any custom field visible on people, projects, or tasks is available as a field when you add a column for that entity — no extra setup needed in the report itself.
Yes. Beebole stores which views are open, the chart type, axis settings, and height, and the matrix rows, columns, metric, and heat-map choice with each report — everything is restored the next time you open it.
Every billing, cost, and expense amount is converted into the report’s currency — the one shown on the currency badge, preset to your default — at the exchange rate of the entry’s date, using daily rates Beebole retrieves from an exchange-rate service. Totals therefore add up in one currency even when people and projects carry rates in several. Change the badge’s currency to recalculate the report.
Add a Time column and pick Overtime (daily), Overtime (period), or Overtime balance, then group by person and, if useful, by Period. Overtime is measured against each person’s work schedule, so assign schedules first — without one, Beebole assumes a 24/7 schedule and reports no overtime.