Custom Report Builder: Overview & Setup
The TMS custom report builder offers users flexibility in data analysis. By providing access to a wide array of data points, users can create customized reports tailored to their specific needs with customized filenames.
Related articles
- Custom Reports: Shipment Report
- Custom Reports: Carrier Report
- Custom Reports: Customer Report
- Custom Reports: Standard Reports
How to access it
Navigate to Back Office → Reports → Custom Reports.

Report list
The main Custom Reports page shows all saved reports. Use the search fields to filter the list:
- Name — partial match on report name
- Report Type — filter by data type (Shipment, Customer, Carrier, Report)
- Report For — filter by the organization or user the report is assigned to
| Column | Description |
|---|---|
| Name | Clickable link to open the report editor. |
| Link | The report's unique code (GUID); click to copy the shareable link to clipboard. |
| Report Type | The data category the report is built on. |
| Report For | The organization or user the report is assigned to. |
| Last Modified | Date of the most recent change. |
Row actions available from the list:
| Icon | Action |
|---|---|
| ✏️ Edit | Open the report in edit mode. |
| 📋 View | Run and view the report output. |
| 🔗 Copy Link | Copy the shareable link to clipboard. |
| 📄 Duplicate | Create a copy of the report. |
| 🗑️ Delete | Permanently delete the report. |
Click Add New Report in the top-right corner to start building a new report.

Report types
| Type | Description |
|---|---|
| Shipment | Shipment-level data including pricing, carriers, dates, stops, invoices, bills, and more. |
| Carrier | Carrier profile data including contact info, scorecard, and shipping activity. |
| Customer | Customer company data including contacts, addresses, margins, and AR aging. |
| Report | Pre-built standard reports filtered to specific accounting or operational views. |

Creating a report
Click Add New Report. The editor opens with a settings card at the top and the column builder below.
| Field | Description |
|---|---|
| Name | Required. The label shown in the report list. |
| Anyone in my organization can edit | When checked, all users in your organization can edit this report. |
| File Name |
When checked pre-fills that default, editable, with a live Preview that updates as you type. |
| Who is this report for? | Me, Organization (select a customer company), or Staff (select a specific user). |

After saving, the report info card also shows: Delivery Schedule, Author, Last Modified, and Report Code (the report's unique GUID, used for sharing).

Building columns
The column builder has two panels:
- Left panel — tree of all available columns organized by category. Click a category to expand it, then click any column name to add it. Use the search box to find columns by name.
- Right panel — the columns you have selected, in the order they will appear in the report output.
Settings available per column in the right panel:
| Setting | Description |
|---|---|
| Column Name | System field name (read-only). |
| Header Name | Custom label for the exported column. Click to edit; click ✕ to revert to the default. |
| Precision | For date/time fields — controls granularity (Year, Month, Day, Hour, etc.). |
| Format | For date/time fields — customize date and/or time display format. |
| Filter | Restrict output to rows matching a condition. |
| Sort Order | Numeric priority (1 = primary sort). |
| Sort Direction | Ascending or Descending. |
Drag the ≡ handle to reorder columns. The order in this table matches the column order in the export.

Date columns can be added more than once — useful for showing a date at both Month and full Date precision in the same report.
Filters
Each column can have a filter to limit which rows appear in the output. At least one date column with a filter is required on every report. If none is configured, the system automatically adds Created Date & Time as the default.
| Data type | Available filter options |
|---|---|
| Text | Equals, Contains, Starts With, Ends With, Does Not Contain, Between |
| Number | Equals, Greater Than, Less Than, Between |
| Date | Relative ranges (Last 7 Days, Last 30 Days, This Month, etc.) or custom Start/End date range |
| Status / List | Multi-select from available values for that field |
If the same date column appears more than once in the report, filter and sort can only be configured on one instance. The other displays: "Filtering and sorting are configured on another instance of this field."
Saving and viewing
| Button | Action |
|---|---|
| Save | Saves the report and stays in the editor. |
| Save & View | Saves and immediately opens the report output. A report with more than 1,000 rows opens as a preview; see Previewing and exporting results below. |
| Cancel | Discards changes and returns to the list. |
Previewing and exporting results
When a report returns more than 1,000 rows, the results page shows the first 1,000 and an alert above the table reads:
Showing the first 1,000 of 5,723 rows. Use Export to download the full report.
The figure shown is your report's real total, so the alert tells you how much data sits behind the preview. A report returning 1,000 rows or fewer shows the whole result set and no alert.

The preview is the full report in every respect except length — same columns, same sort order, same filters, same values. Use it to confirm a report is right before pulling the whole thing.
To download the results, click Export to Excel. When the report is larger than the preview, an Export Report window opens and asks which version you want:
- Preview Only — downloads just the rows shown on screen, up to 1,000. Fastest, and enough when you are spot-checking.
- Full Report — downloads every row the report returns, regardless of the preview limit.
The window states the figures for the report in front of you, for example: “This report has 5,723 rows, but this preview only contains the first 1,000. Which version would you like to download?”

If the report fits inside the preview there is nothing to choose between, so the export downloads straight away without the window.
Parent/Child Customer Support
If your selected Organization has Child Customers configured under it, your Shipment or Customer report will automatically include the shipments or records of all its Child Customers, at every level. A Customer report also includes the selected Parent's own record. Organizations with no Child Customers return the same results as before. Use the new Parent Customer Name and Parent Customer ID columns (see the Shipment Report and Customer Report guides) to see each customer's direct parent. These columns are blank for a top-level Parent Customer and for customers with no hierarchy. Available to staff with the Reports - Business Level permission and access to the organization.
Example: Acme Logistics is a Parent Customer with two Child Customers. Build a Shipment report for Acme Logistics and add the Customer Name and Parent Customer Name. Acme's shipments and both children's shipments appear together, and each child's row shows Acme Logistics in the Parent Customer Name.
Delivery schedules
Scheduled deliveries always contain the complete result set. The 1,000-row preview applies to the on-screen view only and never to a delivered file.

Delivery schedules automatically send the report output to an email address or FTP/SFTP location on a recurring basis. This option becomes available after the report has been saved at least once.
On the report editor, click the ✏️ icon next to Delivery Schedule to open the schedule manager. A report can have multiple delivery schedules.
| Field | Options / Notes |
|---|---|
| Frequency | Weekly or Monthly |
| Deliver On | Weekly: select one or more days. Monthly: select the day of the month. |
| Time of Day | Time the report runs. |
| Time Zone | Time zone for the delivery time. |
| Export Format | CSV, HTML, JSON, Excel |
| Status | Active or Inactive. |
| Delivery Method | Email or FTP/SFTP. |
Email delivery fields
| Field | Description |
|---|---|
| Recipient Emails | One or more addresses (comma-separated). |
| Subject | Email subject line. |
| Body | Email body text. |
FTP / SFTP delivery fields
| Field | Description |
|---|---|
| Host | Server IP or hostname. |
| Path | File path on the server. |
| Port | Connection port. |
| Username | Login credential. |
| Password | Password credential. |

Sharing a report
A shared CSV, Excel or JSON link returns the complete result set, not the 1,000-row preview — so a spreadsheet or dashboard refreshing from that link keeps receiving every row. Only the HTML view is limited to the preview.
Each saved report has a Report Code (GUID). Click it or the 🔗 icon from the list to copy a shareable link to your clipboard. Anyone with access to the TMS can use that link to view the report output directly. The available formats are HTML, CSV, Excel and JSON.

To invalidate previously shared links and generate a new code, click the refresh icon next to the Report Code field on the report editor.
Duplicating a report
Click the 📄 icon on any report in the list. The copy opens in edit mode with all the same columns and filters. Give it a new name and save.
Tips
- At least one date filter is required. If none is added, Created Date & Time is added automatically with a default range.
- Header Names are optional but useful when you want the export label to differ from the system field name.
- Delivery schedules are not available until after the first save.
- The same date column can be added more than once — useful for showing a date at both Month and full Date precision in the report.
- A preview is not a truncated report. If you need every row, use Full Report, a shared CSV/Excel/JSON link, or a delivery schedule.
