Create a Custom Report

How do I create a custom report?

Purpose: We understand that our standard reports will not cover everything you need to report. This understanding is why we have custom reporting available for you. With custom reports, you can create your own reports to gather the information that your executive team wants to see. This guide will guide you through what options are available when creating a custom report.

NOTE: We have added a new custom report builder to Core and Pro packages. If you have the Advantage package, please click here to learn how to create a custom report with a different builder. Interested in upgrading your package? Review our BambooHR Packages FAQ.


It is important to note that you cannot create a custom report for data in the following areas within BambooHR:

  • Applicant Tracking
  • Documents and Files
  • Payroll
  • Performance Management
  • Time Tracking

Advantage package

Creating a custom report 

Do you prefer hands-on learning? Our interactive guides will guide you through different aspects of your BambooHR experience. We have an interactive guide specifically designed to show you how to create a custom report on the Advantage package. You can use the link below to access this guide. All you need to do is modify the "REPLACEME" with your BambooHR subdomain, and you can get started!

https://REPLACEME.bamboohr.com/home?pendo=A3n-Vc4qiWS7pnZOU_rMnJ3CL5k

To create a new custom report, go to the Reports tab and click +New Report.

Choose Fields

Give the report a unique name to help you find it again after saving it. Then, select which information to display in the report. You can do the following:

  1. Search Fields: Begin typing a field name in the search box, and a list of fields will show for you to select.
  2. Browse Fields: Go to a corresponding tab to click on a field name and add it to Selected Fields for the report.
  3. *Show History: When selecting a table to appear in the report, you may have the option to show the table's history in the report, depending on the table type. Please note you can include the history of only one table within a custom report. This prevents delays in processing a large amount of historical data. 

*If you want to show the history of a different table, you will be able to edit the report. Deselect Show History for the one table, and then select Show History for a different table, and run the report again. Do you need to learn more about the difference between standard and historical tables in reporting?

For optimization of your BambooHR experience, a custom report has a limit of 50 columns. If you need more fields in a report, you will need to create multiple reports and export information to combine the fields into one report. You can also try using the Calculated fields section to add information from multiple fields into one column.

Calculated fields

Under Browse Fields, click Calculated to see a list of fields that are calculated based on combining other fields or pulling partial information from a field. The following calculated fields are available.

Calculated Field Additional Details
ACA Status  
Address Line 1 and 2  
Age  
Birthday  
City, State, Zip  
Created by User ID The BambooHR-assigned primary identifier of the user who added the employee to BambooHR. This identifier is not commonly used. However, some customers who use our API may need this information.
Dependent Age  
EEID A BambooHR-assigned employee identifier that is different from the user’s employee number and is sometimes used for API integrations.
Employee Photo  
First Name, Last Name  
First Name, Middle Initial  
Is Supervisor A yes or no indication of whether a user has direct reports
Job Level  
Last Changed  
Last Changed: ISO The date and time (in ISO format) of when the most recent change was made to the employee profile
Length of Service The length of an employee’s service in years, months, and days. The length of service will include all instances with an active employement status.
Length of Service: Years The length of an employee’s service in years only. This number will not round up and will always present as a whole number. The length of service will include all instances with an active employement status.
Middle Initial  
Name  
Pay Band  
Pre Termination Employement Status  
Supervisor EID The BambooHR-assigned employee identifier of a user’s manager (found within the Reports To column of the employee’s Job Information table). This is different from the Employee # field.
Supervisor ID The employee number of a user’s manager (found within the Reports To column of the employee’s Job Information table)
Supervisor Name  
Termination Date  
Work Phone + Ext.  

Filter Results

  1. By default, custom reports display information for all employees. To report on a specific set of employees, you can add filters to your report. To start, select only employees from the menu.
  2. Determine if employees shown in the report should match all or any of the filter criteria. If you select any, the report will pull an employee's information if they match up with at least one part of the filter criteria. If you select all, then the report will only pull an employee's information if they match all of the filter criteria.

The next step is to add your filter criteria or conditions.

  1. Select the field you would like to filter by.
  2. Determine how you would like to filter by your selected field.*
  3. Add the final condition to the filter.

*The final two steps vary depending on what type of field you have selected.

In the example above, I have selected Hire Date. Since this is a date field, I have determined how to filter by the date field and how long ago we want to take the filter. In this example, I want to include all employees who have a hire date on or before the date this report is being viewed.

The following are other options you have for date ranges:

  1. is > today or a specific day
  2. is before > today or a specific day > choose to include today or the specific day
  3. is after > today or a specific day > choose to include today or the specific day
  4. is during > last, next, date range > # of days, weeks, months, or years. If you select date range, you will be able to put in the specific dates
  5. is blank
  6. is not blank

Access level settings are honored in the filters. If an employee does not have access to a field applied as a filter, the employee will see themselves as the only employee in the report and not the filtered list of employees.

Employees with a future hire date will automatically show in a custom report. If you do not want your future hires to display in a report, filter the report based on the hire date to exclude them from the results.

Can I set filters after I run the report?

Once you run the report, you can filter the data based on the standard filters in BambooHR (Department, Division, Location, Employment Status, and Job Title). Once setting a filter, you can add an additional filter for each category if needed. You can create multiple filters for all five categories. Additionally, you can edit the report by clicking the edit icon in the top right corner, which will take you back to the creation page where you can add all other filters.

Sort Results

When you add names (Last name, First name) to a report, you can sort the Last name, First name field by clicking A-Z to sort the field automatically from A-Z. Data in the report will alphabetically sort employees' last names and first names. 

You can add additional sorting options by clicking + Add Sort. Then, you can sort the data by any other field added to the report. In the example above, I selected the Hire Date field and sorted its data chronologically by showing the oldest first. Depending on the field in Sort by, you will have a different list of options to set the sorting.

When you add multiple sortings, the report will sort the fields in the order they are listed during setup.

Can I sort my report after I run it?

Once you run a report, you can change the sorting order by clicking on a column header in the report. Double click the column header to sort data in reverse.*

*If the arrow points upward, the report is sorting data in chronological or alphabetical order by that field. If the arrow is pointing downward, the report is sorting data in reverse order.

Group Results

Grouping a report allows you to group information within the report. This setting is optional. For example, if I select Employment Status, it will group all employees with the same employment status together in the report.

Notice the report automatically groups employees together if they have the same employment status. The selected field for grouping will no longer appear as a column in the report.

Editing a custom report
Job Information

If you need to edit columns, sortings, groups, or filters, simply click on the pencil icon in the top right corner. 

Edit Report

After clicking the pencil icon, the Edit Report page will appear. Here is where you can adjust the data you want the report to show. Click Save for the system to save and run the report again.


Core and Pro packages

Creating a custom report
Reports

To create a new custom report, go to the New Custom Reports tab and click +New Report.

Add/Remove Columns

Give the report a unique name to help you find it in your list of custom reports.

Select which information to display in the report by using any of the following options. The system will then auto-populate selected fields as columns in the report, and you will be able to reorder the columns to your preference.

  • Search fields: Type a field name in the search box, and a list of fields will show for you to select.
  • Browse fields: Select a specific tab (e.g., Personal, Job, etc.) to add a corresponding field to the report.
  • Show history: When selecting a table to appear in the report, you may have the option to show the table's history (Show History) in the report, depending on the table type.
    • Please note you can include the history of only one table within a custom report. This prevents delays in processing a large amount of historical data. If you want to show the history of a different table, you will be able to edit the report. Deselect Show History for the one table, and then select Show History for a different table, and run the report again. 

Want to learn more about the difference between standard and historical tables in our reporting feature? Click here.

For optimization of your BambooHR experience, a custom report has a limit of 50 columns. If you need more fields in a report, you will need to create multiple reports and export information to combine the fields into one report. You can also try using the Calculated fields section (see below) to add information from multiple fields into one column.

Calculated fields
Reports

Under Columns, click Calculated to see a list of fields that are calculated based on combining other fields or pulling partial information from a field. The following calculated fields are available:

Calculated Field Additional Details
ACA Status  
Address Line 1 and 2  
Age  
Birthday  
City, State, Zip  
Created by User ID The BambooHR-assigned primary identifier of the user who added the employee to BambooHR. This identifier is not commonly used. However, some customers who use our API may need this information.
Dependent Age  
EEID A BambooHR-assigned employee identifier that is different from the user’s employee number and is sometimes used for API integrations.
Employee Photo  
First Name, Last Name  
First Name, Middle Initial  
Is Supervisor A yes or no indication of whether a user has direct reports
Job Level  
Last Changed  
Last Changed: ISO The date and time (in ISO format) of when the most recent change was made to the employee profile
Length of Service The length of an employee’s service in years, months, and days. The length of service will include all instances with an active employement status.
Length of Service: Years The length of an employee’s service in years only. This number will not round up and will always present as a whole number. The length of service will include all instances with an active employement status.
Middle Initial  
Name  
Pay Band  
Pre Termination Employement Status  
Supervisor EID The BambooHR-assigned employee identifier of a user’s manager (found within the Reports To column of the employee’s Job Information table). This is different from the Employee # field.
Supervisor ID The employee number of a user’s manager (found within the Reports To column of the employee’s Job Information table)
Supervisor Name  
Termination Date  
Work Phone + Ext.  

Sort 

Reports

When you add names (Last name, First name) to a report, you can sort the Last name, First name field by clicking A-Z to sort the field automatically from A-Z. Data in the report will alphabetically sort employees' last names and first names. 

You can add additional sorting options by clicking + Add sort. Then, you can sort the data by any other field added to the report. In the example above, I selected the Hire Date field and sorted its data chronologically by showing the oldest first. Depending on the field in Sort by, you will have a different list of options to set the sorting.

If you add multiple sortings, the report will sort the fields in the order they are listed during setup. Click Save to run the report again.

Can I sort my report after I run it?
Reports

Once you run a report, you can change the sorting order by clicking on a column header in the report. Double-click the column header to sort data in reverse.*

*If the arrow points upward, the report is sorting data in chronological or alphabetical order by that field. If the arrow is pointing downward, the report is sorting data in reverse order.

Group

Reports

Grouping a report allows you to group information within the report. This setting is optional. For example, if I select Employment Status and click Save, the system will group all employees with the same employment status together in the report.

Job Information

Notice the report automatically groups employees together if they have the same employment status.

The selected field (e.g., Full-Time) for grouping will no longer appear as a column in the report.

Filters

Reports
  1. Status: By default, custom reports display information for all active employees. To report on a specific set of employees, you can add filters to your report. To start, select Active, Inactive, or All from the dropdown menu.
  2. Add Filter: Determine if employees shown in the report should match all or any of the filter criteria. Click +Add Filter. The following section includes more information about how this setting works.
Reports

After selecting +Add Filter to apply one or more filters, the next step is to determine your filter criteria. 

  1. Select All or Any.
    • All: This setting means data included in the report will meet the conditions for all of the selected filters. For example, I set up a filter to include employees from the Marketing department, and another filter to include new hires for this year, the report will include employees from the Marketing department who have been hired this year.
    • Any: This setting means data included in the report will meet the conditions for any of the selected filters. For example, I set up a filter for include employees from the Marketing department and another filter to include new hires for this year. The report will include employees from both the Marketing department and any new employees who have been hired this year.
  2. Select the field you would like to filter by.
  3. Determine how you would like to filter by your selected field.*
  4. Add the final condition to the filter.*

*The final two steps vary depending on what type of field you have selected. Click Save to run the report again.

Example: In the example above, I have selected Hire Date. Since this is a date field, I have determined how to filter by the date field and how long ago we want to take the filter. In this example, I want to include all employees who have a hire date on or before the date this report is being viewed.

The following are other options you have for date ranges:

  1. is > today or a specific day
  2. is before > today or a specific day > choose to include today or the specific day
  3. is after > today or a specific day > choose to include today or the specific day
  4. is during > last, next, date range > # of days, weeks, months, or years. If you select date range, you will be able to put in the specific dates
  5. is blank
  6. is not blank

Access level settings are honored in the filters. If an employee does not have access to a field applied as a filter, the employee will see themselves as the only employee in the report and not the filtered list of employees.

Employees with a future hire date will automatically show in a custom report. If you do not want your future hires to display in a report, filter the report based on the hire date to exclude them from the results.

Can I edit selected filters after I run the report?

Once you run the report, you can edit your selected filters (standard and custom) by clicking on the pencil icon in the top right corner. After clicking Filters, you can set a new filter criteria and then click Save to run the report with updated filters. 

Editing a custom report

If you need to edit columns, sortings, groups, or filters, simply click on the pencil icon in the top right corner and adjust the data your report shows. 

Once everything looks accurate, click Save, and the system will save and run the report with your selected edits.