Report Writer

ConnectWise Report Writer Data Sources

How to choose tables and views in Report Writer, use Simple vs Advanced mode, and join data sources correctly for accurate reports.

ConnectWise Report Writer Data Sources

The Data Sources tab is the first tab in the Report Designer — it’s where you choose which database tables or views your report pulls from. Getting this right is the most consequential decision in report building — the wrong source means missing or duplicated data. Once sources are selected, move to the Fields tab to shape the output.

Note: Select the Distinct checkbox to return only unique records. Use this when your joins produce duplicate rows.

Choose the right data source

Use a reporting view prefixed with v_rpt whenever one exists for your use case. These views have joins pre-defined and are stable across ConnectWise version upgrades. They appear in the Reporting section of the Data Sources tab in Simple mode.

If a field you need isn’t included in a reporting view, add the missing table or view alongside it rather than abandoning the view entirely.

Simple mode

Simple mode is the default. Tables and views appear as checkboxes. When you select one, ConnectWise automatically disables any sources that can’t be joined to it — you can only end up with valid combinations.

You can also pick from the Recent Data Sources drop-down to reuse sources from previous reports.

When you’ve selected your sources, select Continue to Fields at the bottom of the page, or select the Fields tab.

Advanced mode

Use Advanced mode only if you’re comfortable with database joins. Select Advanced at the bottom of the Data Sources tab to enable it.

In this mode you define the relationships between tables yourself by specifying join types and keys.

Note: The Join Aliases field lets you assign an alias to a data source used more than once in the same report. Only available in Advanced mode.

Create a report in Advanced mode

  1. Go to System > Report Writer, then select New > Report.
  2. Select Advanced at the bottom of the page.
  3. From the Data Sources (Tables and Views) drop-down, select your primary data source.
  4. Select Insert Row Below, then select a second data source. Four drop-down menus appear. Report Writer attempts to detect the correct keys automatically, but you can set them manually.
  5. In the first drop-down, select the Primary Key from the primary data source.
  6. In the Foreign Table drop-down, select the table or view to join to.
  7. In the Foreign Key drop-down, select the matching field from the foreign table.
  8. In the Join drop-down, select a join type (see below).
  9. Select Continue to Fields or the Fields tab.

Join types

Join typeWhat it returns
Inner (Direct)Only rows that match in both sources. Default when no join type is shown.
CrossEvery row from the first source combined with every row from the second.
Left (First Exists)All rows from the first source; matched rows from the second. Unmatched rows from the second appear as null.
RightAll rows from the second source; matched rows from the first. Unmatched rows from the first appear as null.
FullAll rows from both sources. Nulls where no match exists on either side.
DomainRows from both sources in the same columns. Rarely needed — mainly useful for joining on URL-type columns.

Custom views (On-Premises only)

On-Premises installations can create custom database views. Use a naming convention like v_mycompany_ to distinguish your views from ConnectWise’s built-in ones.

Warning: Custom views, procedures, functions, and other database objects are not supported by ConnectWise Support, Development, or your Assurance Agreement. ConnectWise makes no guarantee they will work after an upgrade.

Make a new custom view available

The data source cache refreshes when you create a new report. If you want to use a newly created view in an existing report, create a new report first to force the cache to refresh, then reopen the existing report.

Ready to send better invoices?

Start for free. Your invoices should look as good as the work you do.

Get started free →