> ## Documentation Index
> Fetch the complete documentation index at: https://beebole.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Reports: analyze time, billing, and costs

> Run reports in Beebole to analyze tracked time, billing, costs, and budgets — filter and group data, schedule email delivery, and export results.

Beebole's reports turn tracked time, expenses, and planned work into answers about productivity, billing, costs, and budgets. Reports live in the **Reports** section of the sidebar, organized into folders, and they run on live data — every time you open a report, Beebole fetches the latest numbers.

<Info>
  Reports respect each person's permissions. A report only ever shows the projects and people the viewer is authorized to see, based on their [role](/help/documentation/roles-authorisations).
</Info>

***

## Open the Reports section

Click **Reports** in the sidebar. The Reports menu on the left lists your report folders — click a folder to see the reports inside, or click **New folder** to add one.

Each folder carries two settings that apply to every report inside it:

* **A period** — the date range the reports cover, chosen with the period selector next to the folder name.
* **Filters** — conditions added with the **Filters** button that narrow the data for the whole folder.

***

## Sample reports in a new account

The first time you open **Reports** in a new Beebole account, Beebole creates two sample folders with ready-made reports inside:

| Folder                 | Reports                                                        |
| ---------------------- | -------------------------------------------------------------- |
| **Monthly Timesheets** | **Hours by person & project**, **Absences by person**          |
| **Monthly Billing**    | **Billing by person & project**, **Absence billing by person** |

Sample reports are regular reports — open them to see how columns and grouping work, then edit, duplicate, or delete them like any report you create yourself.

***

## What reports can analyze

A report in Beebole is built on one or more record types:

| Record type     | What it contains                                                                                                                                          |
| --------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Time records    | Time entries logged in timesheets — both working time and [time off](/help/documentation/timeoff). Absences are time records, not a separate report type. |
| Expense records | [Expense](/help/documentation/expenses) entries, with amounts, quantities, and expense billing                                                            |
| Task records    | The planned effort of [tasks](/help/documentation/planning)                                                                                               |

The columns you add to a report determine which record types it fetches — see [Custom reports](/help/documentation/custom-reports) for how columns work. For time records, a report can also narrow its scope to **Absences only** or **Working time only**.

***

## Run a report

Click a report's name in the folder to open it — Beebole runs it immediately and shows the results. Next to each report name, three buttons toggle how the results display:

* **Table** — rows and columns, with sorting, subtotals, and a frozen header.
* **Chart** — one of 11 chart types with configurable axes.
* **Matrix** — a two-axis grid with a metric per cell and an optional heat map.

You can keep several views open at once. Beebole remembers which views each report uses — like every report setting, the choice is saved automatically. The [Custom reports](/help/documentation/custom-reports) page covers building the output and using the chart and matrix views in detail.

***

## Periods and filters

### Set the period

The period selector next to the folder name controls the date range for every report in the folder. Choose a target — **Current**, **Previous**, **Next**, **Year to date**, **Last 12 months**, or **Custom** with explicit start and end dates — and, for the first three, a granularity: **Day**, **Week**, **Bi-week**, **Semi-month**, **Month**, **Quarter**, or **Year**.

A single report can override its folder's period: open the report's **⋯** action menu and click **Period**. To drop the override and follow the folder again, click **Reset period** in the same menu.

### Filter the data

Add filters with the folder's **Filters** button, or per report via the **⋯** action menu's **Filter** entry. Available filter types:

| Filter                                        | What it narrows                                                    |
| --------------------------------------------- | ------------------------------------------------------------------ |
| **Person**, **Project**, **Task**             | Specific people, projects, or tasks                                |
| **Owner**, **Status**                         | Tasks by their owner or status                                     |
| **Person tag**, **Project tag**, **Task tag** | Entities carrying a given [tag](/help/documentation/tags)          |
| **Project category**, **Planning**            | Projects under a chosen category, or tasks under a chosen planning |
| **Work location**                             | **Work from home** or **On-site** time entries                     |
| **Absence/working time**                      | **Absence time only**, **Working time only**, or **Both**          |

Filters combine, and each condition can include (**is**) or exclude (**is not**). Filter and period changes are saved automatically and the open report re-runs.

***

## The report action menu

Every report has a **⋯** action menu with its management actions:

| Action           | What it does                                                                                                                                               |
| ---------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Duplicate**    | Creates a copy of the report in the same folder                                                                                                            |
| **Filter**       | Adds a filter condition to this report                                                                                                                     |
| **Period**       | Sets a period override for this report                                                                                                                     |
| **Schedule**     | Opens the **Schedule report** dialog for email delivery                                                                                                    |
| **Export**       | Downloads the results as **JSON**, **CSV**, **TSV**, **Excel (XLSX)**, **PDF**, **Chart (PNG)**, **Matrix (CSV)**, **Matrix (Excel)**, or **Matrix (PDF)** |
| **Copy**         | Copies the report so you can **Paste** it into another folder's menu                                                                                       |
| **Share**        | Sharing entry for this report                                                                                                                              |
| **Reset period** | Removes the report's period override (shown only when one is set)                                                                                          |
| **Delete**       | Deletes the report                                                                                                                                         |

The action menu can also move the report straight into another folder — pick the destination from the move entry's submenu instead of copying and pasting.

For recurring spreadsheet workflows, see [Data exports](/help/documentation/data-exports) and the [Excel add-in](/help/documentation/excel-addin) and [Google Sheets add-on](/help/documentation/gsheets-addon), which refresh saved report data from inside your spreadsheet.

***

## Email a report on a schedule

Beebole can run a report on a recurring schedule and email the results.

<Steps>
  <Step title="Open the schedule dialog">
    Open the report's **⋯** action menu and click **Schedule**. The **Schedule report** dialog opens.
  </Step>

  <Step title="Enable the schedule">
    Switch the toggle from **Disabled** to **Enabled** to reveal the schedule settings.
  </Step>

  <Step title="Choose the report period">
    Under **Report period**, pick what each delivery covers: **Current** or **Previous** combined with **Day**, **Week**, **Bi-week**, **Semi-month**, **Month**, or **Quarter** — or **Year to date** / **Last 12 months**.
  </Step>

  <Step title="Set the send timing">
    Under **Send timing**, choose **Before end of period**, **After end of period**, or **Day of month**, plus an offset — for example, 2 days after the end of each month. Under **Send at**, pick the hour of delivery.
  </Step>

  <Step title="Add recipients">
    Under **Send to**, type an email address and click **Add**. Repeat for each recipient.
  </Step>
</Steps>

On schedule, Beebole runs the report and emails each recipient a link to the results. Every setting in the dialog is saved automatically as you change it.

***

## Budget Status

When your subscription includes budgets, a **Budget Status** entry appears at the top of the Reports menu. It shows every project that has a [budget](/help/documentation/budgets) as a progress bar: the solid bar is actual consumption, and a striped forecast bar extends it based on the planned effort of tasks linked to the project. Budgets set on subprojects roll up into their parent project's bar.

Controls at the top of the page:

| Control           | Options                                                    |
| ----------------- | ---------------------------------------------------------- |
| View              | **Hours**, **Billing**, **Costs** — toggle any combination |
| Status filter     | **All**, **> 80%** (at risk), **Over budget**              |
| **Sort:**         | **% consumed**, **Name**, **Remaining**                    |
| **Filters**       | Narrow by project or project tag                           |
| **Show archived** | Include archived projects                                  |
| **Export**        | **JSON**, **CSV**, **TSV**, **Excel (XLSX)**, **PDF**      |

Click a project's bar to open its detail sheet with the numbers behind the bar — consumption, forecast, and remaining amounts.

Beebole can also notify you automatically when a budget passes its alert threshold or goes over budget, with a burn-rate forecast of when the budget would run out and a link straight to this report — see the [Budgets](/help/documentation/budgets) page for how budget alerts work.

***

## Planned vs. Real

Next to **Budget Status**, the Reports menu offers **Planned vs. Real** — a chart comparing the work you planned with the time actually logged, period by period.

<Steps>
  <Step title="Pick your plans">
    Under **Plans**, choose which plannings to chart. Click **Add plan** to chart several at once — each plan's tasks contribute to the planned side.
  </Step>

  <Step title="Choose the unit and view">
    Pick the **Unit** the chart reads in: **Hours**, **Days**, **Billing**, **Cost**, or **Margin** — money is shown in your organization's currency. Under **View**, switch between **Cumulative** (the running total) and **Remaining** (a burndown toward zero).
  </Step>

  <Step title="Read the chart">
    **Planned** is the tasks' planned effort, distributed across the scheduled days between their dates. **Real** is the timesheet time recorded on the projects those tasks belong to — the same scope the Budget Status report uses. A **Forecast** carries the remaining planned effort forward from today's actuals, an **Ideal** line shows the steady pace that would land exactly on plan, and a **Budget** line appears where a budget is set. A headline states the pace at a glance: **Behind**, **On track**, or **Ahead**.
  </Step>

  <Step title="Check who is over or under">
    The **Over/under plan per person** chart breaks the variance down by person, showing who is running over or under their planned time in the selected period.
  </Step>

  <Step title="Narrow and export">
    Use **Filters** to focus on specific people, projects, or tags, and **Export** to download the results.
  </Step>
</Steps>

Your chosen plans, unit, and view are remembered per user, so the report reopens the way you left it. Use it to catch plans drifting from reality early — a **Real** line running above **Planned** means the work costs more time than scheduled. Plan the work itself in the [Gantt](/help/documentation/gantt) and [Staffing](/help/documentation/staffing) views.

***

## Revenue at Risk

The **Revenue at Risk** entry in the Reports menu answers one commercial question: which hourly or daily-billed projects will not consume their contracted hours before their end date? Unused budgeted hours on a time-and-materials contract are revenue that is lost when the contract ends — this report surfaces them while there is still time to act.

For every project with a budget, a billing method of **Hourly** or **Daily**, and an end date, the report projects consumption to the end date and lists what will be left over:

| Column                       | What it shows                                                             |
| ---------------------------- | ------------------------------------------------------------------------- |
| **Project**, **Manager**     | The project and its manager                                               |
| **Billing**, **End date**    | The billing method (**Hourly** or **Daily**) and the project's end date   |
| **Budget**, **Budget hours** | The budgeted amount and its equivalent in hours                           |
| **Logged**, **Remaining**    | Hours consumed so far and hours still available                           |
| **Planned to end**           | Hours planned on the project's tasks between today and the end date       |
| **Projected at end**         | Hours expected to remain unconsumed at the end date — the hours at risk   |
| **Implied rate**             | The budget divided by its hours, used to convert hours at risk into money |

Totals at the top summarize the portfolio: **Total at risk**, **Projects at risk**, and **Share of portfolio**. Rows where nothing has been logged yet are flagged **Not started**. Projects the report cannot assess are counted separately below the table — those with no end date set, and those whose budgets mix currencies.

The report appears when your subscription includes budgets, and it supports the standard **Filters** and **Export** controls.

***

## Utilization

The **Utilization** entry in the Reports menu shows billable hours as a share of scheduled capacity, per person and month. Use it to see how much of each person's available time turns into billable work.

* Each row is a person; each column is a month, showing their utilization percentage. **Billable hours** are the hours logged on billable work; **Capacity hours** are the person's scheduled working time, net of time off — so a 30-hour week or a vacation doesn't unfairly lower the score.
* A **Projected** column estimates next month from the person's planned bookings on billable projects.
* An **Average** summarizes each person across the period.
* **Filters** and **Export** work as in other reports.

The report appears when your subscription includes budgets and your role has the **Billable utilization** permission.

***

## Timesheet Compliance

The **Timesheet Compliance** entry in the Reports menu shows whether each person submitted their timesheet on time, late, or not at all — per person and period, in a calendar-style grid. It is the detailed view behind the [timesheet score](/help/documentation/timesheets) shown on person records.

* Each row is a person with their compliance **Score**; each column is a timesheet period, marked **On time**, **Late**, or **Not submitted**.
* Hover a cell for the details: the period's **Deadline**, when it was **Submitted**, **Days late**, and **Rejections**.
* Rows sort worst-first by default, so the people needing attention surface at the top.
* Filter by person or person tag, and change the date range — the report defaults to the last six full months. **Export** downloads the grid.
* People who have never recorded time are counted separately in a footnote — the timesheet process has not started for them, so they aren't shown as non-submitters.

Access is a dedicated permission: your role needs **Timesheet compliance**, and managers see the people they manage — admins see everyone. See [Roles & authorizations](/help/documentation/roles-authorisations).

***

## Absence quotas

The **Absence quotas** entry in the Reports menu gives managers one consolidated view of everyone's time-off allowances — no more opening profiles one by one. Each row is a person's allowance for a time off type, with columns for **Allowance**, **Accrued**, **Carry forward limit**, **Valid until**, **Taken**, **Planned**, **Pending**, **Remaining**, and **Allow negative balance**.

* **Timeline** — Switch to the timeline to see consumption over the allowance's period instead of totals.
* **Drill down** — Open a row for the detailed breakdown behind its numbers.
* **Columns**, **Filters**, **Show archived**, **Export** — Choose the visible columns, narrow by person or tag, include archived people, and download the results.

The report appears when your subscription includes absence quotas and your role can view both quotas and time records. Balances follow the same rules as the allowances themselves — see [Time off](/help/documentation/timeoff).

***

## Reports on your phone

On a phone, the **Reports** section switches to a layout built for consulting: pick a folder, adjust the period, and read each report as a scrollable sheet. Filters and the period selector work as chips at the top of the screen.

Building and reconfiguring report output remains a desktop task — for example, an unconfigured matrix view asks you to open the report on desktop to pick its rows, columns, and metric.

***

## Related content

<CardGroup cols={2}>
  <Card title="Custom Reports" icon="table-columns" href="/help/documentation/custom-reports">
    Build report output with columns, grouping, charts, and the matrix view.
  </Card>

  <Card title="Budgets" icon="coins" href="/help/documentation/budgets">
    Set billing, cost, or hours budgets on projects and track them against targets.
  </Card>

  <Card title="Data Exports" icon="file-export" href="/help/documentation/data-exports">
    Download report results for offline analysis and sharing.
  </Card>

  <Card title="Cost Rates" icon="money-bill-trend-up" href="/help/documentation/costs">
    Configure cost rates so cost and profit columns show data in reports.
  </Card>
</CardGroup>

***

## Frequently asked questions

<AccordionGroup>
  <Accordion title="Does Beebole include ready-made reports?">
    Yes. A new Beebole account starts with two sample folders — **Monthly Timesheets** and **Monthly Billing** — containing four ready-made reports, including **Hours by person & project**. They are regular reports you can run, edit, or delete, and they double as examples for building your own.
  </Accordion>

  <Accordion title="Can Beebole email me a report automatically?">
    Yes. Open the report's **⋯** action menu and click **Schedule**. In the **Schedule report** dialog you choose the period each delivery covers, when to send it, and who receives it. Beebole then runs the report on schedule and emails each recipient a link to the results.
  </Accordion>

  <Accordion title="Can I report on time off?">
    Yes. In Beebole, absences are time records, so any time-based report can include them. Add an **Absence type** column to break results down by leave type, or narrow a report to **Absences only** — the sample report **Absences by person** shows this setup.
  </Accordion>

  <Accordion title="What formats can I export a report to?">
    Beebole exports report results as JSON, CSV, TSV, Excel (XLSX), or PDF, plus the chart as a PNG image and the matrix view in CSV, Excel, or PDF. For spreadsheets that refresh themselves, connect a saved report to the [Excel add-in](/help/documentation/excel-addin) or [Google Sheets add-on](/help/documentation/gsheets-addon).
  </Accordion>

  <Accordion title="How does Beebole calculate revenue at risk?">
    For each hourly or daily-billed project with a budget and an end date, Beebole projects how many budgeted hours will still be unconsumed at that date, then converts them to money using the budget's implied rate. The **Revenue at Risk** report totals this across your portfolio so you can rebalance staffing before contracted hours expire unused.
  </Accordion>
</AccordionGroup>
