> For the complete documentation index, see [llms.txt](https://learn.withessential.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://learn.withessential.com/reporting-and-integrations/reporting/create-and-share-a-custom-asset-report.md).

# Create and share a custom report

Build a report about asset groups, assets, recurring services, properties, customers, jobs, or invoices. Choose the columns and filters your team needs, preview the results, and save it privately or share it.

> **Where to find it:** Reports → Custom reports → Create report

You need Dashboard and Reports access to create reports. The report owner can edit, share, or delete a report. Sharing grants viewing access; it does not grant permission to edit the report or the underlying records. Invoice report creation also requires invoice access and invoicing enabled for your business.

## Build your report

1. **Choose your data:** select Asset Groups, Assets, Recurring Services, Properties, Customers, Jobs, or Invoices. For assets, include all types or turn on **Limit to specific asset types**. Click **Continue**.
2. **Choose columns and filters:** click **Choose columns**, browse asset fields by **Asset Group Type → Asset Type**, or search by field or type name. Check the ones you need, and click **Apply**. Drag handles to reorder columns. Available fields include your business's custom fields for the selected data source.
3. Add filters to narrow the records. Multiple filters must all match. For a choice field, **Is one of** includes any of the selected choices, up to 100 per filter. For text fields such as Manufacturer or Model, enter the label or a substring for **Contains**. Duplicate choice names include their IDs so you can distinguish them. Choose the default sort column and direction. Date calculations are optional.
4. Click **Preview report** to see the first ten matching records and the total count. Use **Back** to adjust the report.
5. Enter a report name, choose who can view it, and click **Save report**.

When creating a report, changing the data source resets its columns, filters, and calculations after confirmation. A saved report keeps its data source; create another report to use a different one.

Report columns support text, numbers, dates, choices, and yes/no fields. Photo fields are not available as report columns.

If asset types share a name, the picker includes their system type so you can choose the right one. Drag a column edge to resize it; widths are saved for your account on this device.

Each row represents one record from the selected data source. **Asset Groups** includes groups with no individual assets. **Assets** shows individual assets in active systems; two panels at the same property appear separately. **Asset number** matches each asset’s numbered position within its type on the asset group page, and stays the same when report filters hide other rows. **Recurring Services** shows one row per service schedule, so a group with two services appears twice. Group custom fields are available in both Asset Groups and Recurring Services. Fields limited to an asset group type apply only to that type, including when filtering for empty values or calculating dates. Reports show current values, not a history of field changes.

On the saved report, click column headers to sort, add temporary filters and click **Apply filters**, or **Export CSV**. Temporary filters do not change the saved definition. Export includes all matching rows, up to 50,000; narrow the filters for larger results. Click a system name to open its asset page. In other reports, the first column opens the asset group, customer, property, job, or invoice (invoice links require invoice access).

If the owner updates a report while you are viewing it, the report refreshes and shows a notice that temporary filters and sorting have been reset. An export from an older version asks you to review the refreshed report and try again.

## Start with EA

Ask EA to help build a report, for example: “Make a report of our yellow-tagged panels with the property and days remaining before they turn red.” EA looks up your business’s available report fields and prepares a draft using those fields. For a deadline calculation, provide the date field and the number of days that applies to your business.

Click **Open report draft** in the chat to open the configured builder. Review its columns and filters, click **Preview report**, choose who can view it, and click **Save report**. Drafts start with **Only me** selected. Preparing or opening a draft does not create a saved report or share it. You can ask EA for a revised draft before saving. Draft links also work in a new tab or after reloading, while the conversation exists. Only you can open drafts from your conversation; share the saved report to give teammates access.

## Add a date calculation

Open **Date calculations (optional)** and choose **Add calculated column**, enter a column name, and select:

* **Days until date** or **Days since date**.
* The date field to use.
* An optional number of days to add to that date.
* An optional condition that determines when the calculation applies.
* An optional **Highlight below** threshold.

For example, configure **Days until red** as days until **Tag Date**, add **60** days, and calculate only when **Tag Color** equals **Yellow**. Set Highlight below to **0** to highlight overdue values. A warranty report could instead calculate days until **Warranty End** with no offset or condition.

Calculations require a date field from the selected data source. For asset fields, conditions can use fields from the same asset type or common fields such as Property; filtering a calculated column excludes assets of other types. Populate the date field with the actual relevant date; the report does not infer it from the last time someone edited the record.

Stored date fields keep their calendar date; “today” uses your business timezone. For Days until date, positive numbers mean days remaining, zero means today, and negative numbers mean days overdue. **Date needed** means the condition applies but the source date is missing. A dash means the calculation does not apply. Calculations refresh while the report is open and never change the underlying field value.

Editing an offset recalculates the report using the new offset. To report on a fixed deadline, use a stored deadline field with no offset.

## Share with your team

Use **Edit / Share** and select:

* **Only me:** only you can open the report.
* **Selected people:** choose active back-office users in your business.
* **Whole team:** all current and future back-office users in your business can open it.

Click **Save report** to apply sharing changes. Recipients find the report under Reports → Custom reports, even without access to the rest of reporting. A recipient with Dashboard and Reports access can choose **More report actions (⋮) → Duplicate** to make a private copy.

## Pin reports to your sidebar

Open a report and click **Pin to my sidebar**. Shortcuts appear in their own section below Automations and Timecards, separated by a horizontal line. Pins are personal: sharing a report does not change anyone else's navigation.

From Reports, open **My report shortcuts** to drag your pinned reports into order or remove shortcuts, then click **Save**. Removing access to a report removes the recipient's shortcut. To permanently delete a report, choose **More report actions (⋮) → Delete**, type **DELETE**, and confirm. Deleting a report removes its shortcuts and saved Review modes for everyone and leaves the underlying records untouched.

## Related

* [Share a report with a colleague](/reporting-and-integrations/reporting/share-a-report-with-a-colleague.md)
* [Export, filter, and drill into a report](/reporting-and-integrations/reporting/export-filter-and-drill-into-a-report.md)

## Review the report with your team

Turn on **Review mode** to work through records using **Needs review**, **Hidden**, and **All**. Filtering applies before pagination, and CSV exports use the selected review view across all pages. You have one Review mode for this saved report, private by default. Choose **Share my review → Everyone with report access → Save** to let people with report access view and update it under your name. Hide and unhide actions apply to the selected mode; everyone also keeps their own separate mode. Only you can change your mode’s sharing. See [Work through and share a Review mode](/reporting-and-integrations/reporting/export-filter-and-drill-into-a-report.md#work-through-a-report-in-review-mode).

If Review settings cannot load, a notice appears and the report and CSV remain available without review filtering. Your saved report filters still apply.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://learn.withessential.com/reporting-and-integrations/reporting/create-and-share-a-custom-asset-report.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
