Difference between revisions of "Reports"

From WHMCS Documentation

(Creating your own Reports)
Line 1: Line 1:
 
WHMCS includes a wide range of reports to give you in-depth reporting and analytics on the performance of your business. Many reports also include graphs and charts to help you interpret the data.
 
WHMCS includes a wide range of reports to give you in-depth reporting and analytics on the performance of your business. Many reports also include graphs and charts to help you interpret the data.
  
Reports are in five primary categories: General, Billing, Income, Clients, and Support.
+
You can view reports at '''Reports > Reports'''.
 +
 
 +
<div class="docs-alert-success">
 +
<span class="title">Custom Reports</span><br />
 +
You can customize the reports that display in this interface or create new ones. For more information, see [[Customizing Reports]].
 +
</div>
 +
 
 +
<div class="docs-alert-warning">
 +
<span class="title">Admin Role Requirements</span><br />
 +
By default, an admin role group can access all reports in the system if their permissions include '''View Reports'''. However, you can configure admin roles to only view selected reports at '''Configuration (<i class="fa fa-wrench" aria-hidden="true"></i>) > System Settings > [[Administrator Roles]]'''.
 +
</div>
  
 
==Reports==
 
==Reports==
  
To access reports, navigate to the '''Reports''' option via the main menu within the admin area.
+
Reports display in several primary categories: '''General''', '''Billing''', '''Income''', '''Clients''', and '''Support'''.
 +
 
 +
You can export reports in CSV format or view them in a printer friendly format and print them. To do this, click on a report, click '''Tools''' in the upper-right corner, and then choose your desired option.
  
'''Affiliates Overview'''
+
===Affiliates Overview===
 
An overview of affiliates for the current year: Visitors referred, Pending Commissions, Available to Withdraw balance, Withdrawn Amount and Total Commissions Paid.
 
An overview of affiliates for the current year: Visitors referred, Pending Commissions, Available to Withdraw balance, Withdrawn Amount and Total Commissions Paid.
  
'''Aging Invoices'''
+
===Aging Invoices===
 
A summary of outstanding invoices by the period by which they are overdue.
 
A summary of outstanding invoices by the period by which they are overdue.
  
'''Annual Income Report'''
+
===Annual Income Report===
 
A report of the received income for the year by month, which the system converts to the base currency using rates at the time of the transaction. It includes your recorded transactions. The graph shows the previous year's income for easy comparison.
 
A report of the received income for the year by month, which the system converts to the base currency using rates at the time of the transaction. It includes your recorded transactions. The graph shows the previous year's income for easy comparison.
  
'''Client Sources'''
+
===Client Sources===
 
A summary of the answers clients have given to the 'How Did You Find Us?' or 'Where did you hear about us?' custom field signup question between a specified date range.
 
A summary of the answers clients have given to the 'How Did You Find Us?' or 'Where did you hear about us?' custom field signup question between a specified date range.
  
'''Client Statement'''
+
===Client Statement===
 
A statement of account for individual client accounts between a date range. Displays Type (add funds, transaction, invoice), date, description, credits, debits and a running balance.
 
A statement of account for individual client accounts between a date range. Displays Type (add funds, transaction, invoice), date, description, credits, debits and a running balance.
  
'''Client'''
+
===Client===
 
A report that allows you to generate a JSON export of data relating to a given client. We added this in version 7.5. You can choose the data points to include in the export from the following options:
 
A report that allows you to generate a JSON export of data relating to a given client. We added this in version 7.5. You can choose the data points to include in the export from the following options:
 
* Profile Data
 
* Profile Data
Line 36: Line 48:
 
You can also access this report via the ''Export Client Data'' link on a client's Summary tab.
 
You can also access this report via the ''Export Client Data'' link on a client's Summary tab.
  
'''Clients'''
+
===Clients===
 
A custom export of client information by applying up to five filters. CSV Export is available in the ''Tools'' menu in the top-right corner of the page.
 
A custom export of client information by applying up to five filters. CSV Export is available in the ''Tools'' menu in the top-right corner of the page.
  
'''Clients by Country'''
+
===Clients by Country===
 
The total number of active services per country in map format, as well as total active unique clients per country in a table beneath the map.
 
The total number of active services per country in map format, as well as total active unique clients per country in a table beneath the map.
  
'''Credits Reviewer'''
+
===Credits Reviewer===
 
All the credits that you issued to clients between two dates you specify.
 
All the credits that you issued to clients between two dates you specify.
  
'''Customer Retention Time'''
+
===Customer Retention Time===
 
The average lifetime of products, services, addons and domains. (This is the number of days between the registration date and the termination date.) Averages display by product and the associated billing cycle, and include both as a number of days value and a years and months value.
 
The average lifetime of products, services, addons and domains. (This is the number of days between the registration date and the termination date.) Averages display by product and the associated billing cycle, and include both as a number of days value and a years and months value.
  
'''Daily Performance'''
+
===Daily Performance===
 
A daily activity summary for a given month. Data in this report includes Completed Orders, New Invoices, Paid Invoices, Opened Tickets, Ticket Replies and Cancellation Requests.
 
A daily activity summary for a given month. Data in this report includes Completed Orders, New Invoices, Paid Invoices, Opened Tickets, Ticket Replies and Cancellation Requests.
  
'''Direct Debit Processing'''
+
===Direct Debit Processing===
 
All Unpaid invoices using the [[Direct_Debit|Direct Debit]] payment method, and their owners' associated bank account, ready for manual processing.
 
All Unpaid invoices using the [[Direct_Debit|Direct Debit]] payment method, and their owners' associated bank account, ready for manual processing.
  
'''Disk Usage Summary'''
+
===Disk Usage Summary===
 
When the [[Automation_Settings#Update_Usage_Statistics|Update Usage Statistics]] option is enabled, a report of the Disk Space & Bandwidth Usage Statistics for hosting accounts. The cron job updates this once per day, or you can click the 'Update Now' link to get current usage statistics.
 
When the [[Automation_Settings#Update_Usage_Statistics|Update Usage Statistics]] option is enabled, a report of the Disk Space & Bandwidth Usage Statistics for hosting accounts. The cron job updates this once per day, or you can click the 'Update Now' link to get current usage statistics.
  
'''Domains'''
+
===Domains===
 
Generate a custom export of domain name information by applying up to five filters. CSV Export is available in the ''Tools'' menu in the top-right corner of the page.
 
Generate a custom export of domain name information by applying up to five filters. CSV Export is available in the ''Tools'' menu in the top-right corner of the page.
  
'''Domain Renewal Reminder Emails'''
+
===Domain Renewal Reminder Emails===
 
Part of a dedicated logging system for domain renewal notices. This keeps a log of all sent renewal notices, along with the date and recipients, and provides an easy way to view and export that information for ICANN compliance.
 
Part of a dedicated logging system for domain renewal notices. This keeps a log of all sent renewal notices, along with the date and recipients, and provides an easy way to view and export that information for ICANN compliance.
  
'''Income by Product'''
+
===Income by Product===
 
A breakdown per product or service of invoices that clients paid in a given month. This excludes overpayments and other payments to deposit funds (credit), and includes invoices paid from credit added in previous months. Because of this, it may not match the income total for the month.
 
A breakdown per product or service of invoices that clients paid in a given month. This excludes overpayments and other payments to deposit funds (credit), and includes invoices paid from credit added in previous months. Because of this, it may not match the income total for the month.
  
'''Income Forecast'''
+
===Income Forecast===
 
The projected income for each month of the year. Assumes all active services and domains renew on their next due date. This splits products with longer billing cycles (Quarterly, Semi-Annually, Annually, Biennially) evenly across the year. This doesn't include Addons and Billable Items.
 
The projected income for each month of the year. Assumes all active services and domains renew on their next due date. This splits products with longer billing cycles (Quarterly, Semi-Annually, Annually, Biennially) evenly across the year. This doesn't include Addons and Billable Items.
  
'''Invoices'''
+
===Invoices===
 
A custom export of invoice information, applying up to five filters. CSV Export is available via the download link at the bottom of the page.
 
A custom export of invoice information, applying up to five filters. CSV Export is available via the download link at the bottom of the page.
  
'''Monthly Orders'''
+
===Monthly Orders===
 
A breakdown of the number of units sold of each product per month per currency. This allows you to see your most profitable products.
 
A breakdown of the number of units sold of each product per month per currency. This allows you to see your most profitable products.
  
'''Monthly Transactions'''
+
===Monthly Transactions===
 
Provides a summary of daily payments activity for a given month per currency. The system generates this using transaction data. The Amount Out figure includes both expenditure transactions and refunds.
 
Provides a summary of daily payments activity for a given month per currency. The system generates this using transaction data. The Amount Out figure includes both expenditure transactions and refunds.
  
'''New Customers'''
+
===New Customers===
 
The total number of new customers, orders, and complete orders for the current year and compares each of these to the previous year on the graph.
 
The total number of new customers, orders, and complete orders for the current year and compares each of these to the previous year on the graph.
  
'''PDF Batch'''
+
===PDF Batch===
 
A single PDF document containing multiple individual invoices (one per page). You can filter this by date range, payment methods, and status. This is useful for printing invoices for record-keeping or mailing to clients.
 
A single PDF document containing multiple individual invoices (one per page). You can filter this by date range, payment methods, and status. This is useful for printing invoices for record-keeping or mailing to clients.
  
'''Product Suspensions'''
+
===Product Suspensions===
 
All services that are currently suspended and the reasons for their suspensions.
 
All services that are currently suspended and the reasons for their suspensions.
  
'''Promotions Usage'''
+
===Promotions Usage===
 
Usage statistics for each promotional code to see how often clients have used each promo code. Click the Drill Down link to see exactly which orders used the code.
 
Usage statistics for each promotional code to see how often clients have used each promo code. Click the Drill Down link to see exactly which orders used the code.
  
'''Sales Tax Liability'''
+
===Sales Tax Liability===
 
Sales tax liability for the selected period (invoice sub-total before tax, tax amount, and total after tax).<br/>'''Note:''' This does not include partial refunds that may have included sales tax refunds.
 
Sales tax liability for the selected period (invoice sub-total before tax, tax amount, and total after tax).<br/>'''Note:''' This does not include partial refunds that may have included sales tax refunds.
  
'''Server Revenue Forecasts'''
+
===Server Revenue Forecasts===
 
Income, by billing cycle, for each of your servers in the base currency. It then uses the monthly cost for each server to estimate the annual gross profit for each server.
 
Income, by billing cycle, for each of your servers in the base currency. It then uses the monthly cost for each server to estimate the annual gross profit for each server.
  
'''Services'''
+
===Services===
 
A custom export of service information (for example, domain, username, or server ID) by applying up to five filters. CCSV Export is available in the ''Tools'' menu in the top-right corner of the page.
 
A custom export of service information (for example, domain, username, or server ID) by applying up to five filters. CCSV Export is available in the ''Tools'' menu in the top-right corner of the page.
  
'''Support Ticket Replies'''
+
===Support Ticket Replies===
 
A breakdown of the support tickets that each admin handled for a given month. The 'Ticket' value is the number of unique tickets that they replied to, and 'Replies' is the total number of replies across all tickets.
 
A breakdown of the support tickets that each admin handled for a given month. The 'Ticket' value is the number of unique tickets that they replied to, and 'Replies' is the total number of replies across all tickets.
  
'''Ticket Feedback Comments'''
+
===Ticket Feedback Comments===
 
A report that displays general feedback comments from customers, when the [[Support_Tab#Ticket_Closure_Feedback_Request|Ticket Closure Feedback]] option is enabled. You can filter this by date range and staff member.
 
A report that displays general feedback comments from customers, when the [[Support_Tab#Ticket_Closure_Feedback_Request|Ticket Closure Feedback]] option is enabled. You can filter this by date range and staff member.
  
'''Ticket Feedback Scores'''
+
===Ticket Feedback Scores===
 
A report that displays the ratings, on a scale of 1-10, that clients have given to individual admins when the [[Support_Tab#Ticket_Closure_Feedback_Request|Ticket Closure Feedback]] option is enabled. You can filter this by date range. Click the admin's name to see comments that clients left specifically about that member of staff.
 
A report that displays the ratings, on a scale of 1-10, that clients have given to individual admins when the [[Support_Tab#Ticket_Closure_Feedback_Request|Ticket Closure Feedback]] option is enabled. You can filter this by date range. Click the admin's name to see comments that clients left specifically about that member of staff.
  
'''Ticket Ratings Reviewer'''
+
===Ticket Ratings Reviewer===
 
A report that displays the score, on a scale of 1-10, that clients have given to individual support ticket replies when the [[Support_Tab#Support_Ticket_Rating|Support Ticket Rating]] option is enabled. You can filter this by date range and score.
 
A report that displays the score, on a scale of 1-10, that clients have given to individual support ticket replies when the [[Support_Tab#Support_Ticket_Rating|Support Ticket Rating]] option is enabled. You can filter this by date range and score.
  
'''Ticket Tags'''
+
===Ticket Tags===
 
An overview of assigned ticket tags for a given date range, by ticket opening date. You can add tags to tickets via the "Tag Cloud" field when viewing a support ticket.
 
An overview of assigned ticket tags for a given date range, by ticket opening date. You can add tags to tickets via the "Tag Cloud" field when viewing a support ticket.
  
'''Top 10 Clients By Income'''
+
===Top 10 Clients By Income===
 
The 10 clients with the highest net income, according to the transactions in WHMCS. If the client does not use your default currency, the system will convert their income for ease of comparison.
 
The 10 clients with the highest net income, according to the transactions in WHMCS. If the client does not use your default currency, the system will convert their income for ease of comparison.
  
'''Transactions'''
+
===Transactions===
 
A custom export of transaction information by applying up to 5 filters. CSV Export is available in the ''Tools'' menu in the top-right corner of the page.
 
A custom export of transaction information by applying up to 5 filters. CSV Export is available in the ''Tools'' menu in the top-right corner of the page.
  
'''VAT MOSS'''
+
===VAT MOSS===
 
This report provides the information EU businesses need to be able to complete the VATMOSS return in whatever specific format(s) your local VAT tax authority will accept. [[EU_VAT_MOSS|More Information >>]]
 
This report provides the information EU businesses need to be able to complete the VATMOSS return in whatever specific format(s) your local VAT tax authority will accept. [[EU_VAT_MOSS|More Information >>]]
 
==Access Control==
 
 
You can grant access to reports on a per-admin role group basis.
 
 
By default, an admin role group can access all reports in the system if their permissions include '''View Reports'''.
 
 
To restrict access to individual reports, follow the steps below:
 
 
# Navigate to '''Configuration (<i class="fa fa-wrench" aria-hidden="true"></i>) > System Settings > Staff Management > Administrator Roles'''.
 
# Edit the admin role group that you wish to modify.
 
# Scroll to '''Reports Access Controls''' and select '''Restrict Access'''. A list of reports will appear.
 
# Check the boxes next to all of the reports that you wish to allow access to.
 
# Click '''Save Changes''' for the restrictions to take effect.
 
 
<div class="docs-alert-info">This functionality requires WHMCS 7.2 or later.</div>
 
 
==Download/Export==
 
 
You can export reports in CSV format for further analysis and manipulation in a spreadsheet package.
 
 
You can also view reports in a printer friendly format and print them.
 
 
==Customising Reports==
 
 
All reports are in the '''/modules/reports/''' directory and do not use encoding.  This allows you to modify them.
 
 
===Creating your own Reports===
 
 
With the modular reporting system WHMCS uses, it is easy to add your own reports to generate statistical information.
 
 
To create your own report, you can look at the format of one of the current files from one of the stock reports.  These are in "/modules/reports".  '''The WHMCS-included reports are open source. You can copy the format from them for use in your custom report.'''
 
 
The report name you choose must be unique, all lowercase, and contain only letters and numbers (a–z, 0–9). It must start with a letter.
 
 
Once your report is ready for upload, please upload it to the "/modules/reports" folder and it will become accessible under Reports > More in the admin area.
 
 
The format with some descriptions is as follows:
 
 
<syntaxhighlight lang="php">
 
<?php
 
 
# The title of your report
 
$reportdata["title"] = "";
 
 
# The description of your report
 
$reportdata["description"] = "";
 
 
# Header text - this gets displayed above the report table of data
 
$reportdata["headertext"] = "";
 
 
# Report Table of Data Column Headings - should be an array of values
 
$reportdata["tableheadings"] = array("Column 1","Column 2","Column 3");
 
 
# Report Table Values - one of these lines for each row you want in the table
 
# should be an array of values to match the column headings
 
$reportdata["tablevalues"][] = array("Data 1","Data 2","Data 3");
 
$reportdata["tablevalues"][] = array("Data 1","Data 2","Data 3");
 
$reportdata["tablevalues"][] = array("Data 1","Data 2","Data 3");
 
 
# Report Footer Text - this gets displayed below the report table of data
 
$data["footertext"] = "";
 
 
</syntaxhighlight>
 
 
WHMCS uses the [https://developers.google.com/chart/ Google Charts API] to generate graphical reports. To add a Google chart to a report, the drawChart function must be used. It accepts the following 5 parameters (in this order):
 
 
* The type of chart you wish to use.
 
* The data you wish to use.
 
* The configuration that defines the chart's visual display (for example, color or legend position).
 
* Height (defaults to 300px).
 
* Width (defaults to 100%).
 
 
This example uses the drawChart function to create a pie chart:
 
 
<syntaxhighlight lang="php">
 
$reportdata["headertext"] = $chart->drawChart('Pie', $chartdata, $args, '300px', '100%');
 
</syntaxhighlight>
 

Revision as of 21:14, 1 February 2022

WHMCS includes a wide range of reports to give you in-depth reporting and analytics on the performance of your business. Many reports also include graphs and charts to help you interpret the data.

You can view reports at Reports > Reports.

Custom Reports
You can customize the reports that display in this interface or create new ones. For more information, see Customizing Reports.

Admin Role Requirements
By default, an admin role group can access all reports in the system if their permissions include View Reports. However, you can configure admin roles to only view selected reports at Configuration () > System Settings > Administrator Roles.

Reports

Reports display in several primary categories: General, Billing, Income, Clients, and Support.

You can export reports in CSV format or view them in a printer friendly format and print them. To do this, click on a report, click Tools in the upper-right corner, and then choose your desired option.

Affiliates Overview

An overview of affiliates for the current year: Visitors referred, Pending Commissions, Available to Withdraw balance, Withdrawn Amount and Total Commissions Paid.

Aging Invoices

A summary of outstanding invoices by the period by which they are overdue.

Annual Income Report

A report of the received income for the year by month, which the system converts to the base currency using rates at the time of the transaction. It includes your recorded transactions. The graph shows the previous year's income for easy comparison.

Client Sources

A summary of the answers clients have given to the 'How Did You Find Us?' or 'Where did you hear about us?' custom field signup question between a specified date range.

Client Statement

A statement of account for individual client accounts between a date range. Displays Type (add funds, transaction, invoice), date, description, credits, debits and a running balance.

Client

A report that allows you to generate a JSON export of data relating to a given client. We added this in version 7.5. You can choose the data points to include in the export from the following options:

  • Profile Data
  • Contacts
  • Products/Services
  • Domains
  • Billable Items
  • Invoices Quotes
  • Transactions
  • Tickets Emails
  • Notes
  • Activity Log

You can also access this report via the Export Client Data link on a client's Summary tab.

Clients

A custom export of client information by applying up to five filters. CSV Export is available in the Tools menu in the top-right corner of the page.

Clients by Country

The total number of active services per country in map format, as well as total active unique clients per country in a table beneath the map.

Credits Reviewer

All the credits that you issued to clients between two dates you specify.

Customer Retention Time

The average lifetime of products, services, addons and domains. (This is the number of days between the registration date and the termination date.) Averages display by product and the associated billing cycle, and include both as a number of days value and a years and months value.

Daily Performance

A daily activity summary for a given month. Data in this report includes Completed Orders, New Invoices, Paid Invoices, Opened Tickets, Ticket Replies and Cancellation Requests.

Direct Debit Processing

All Unpaid invoices using the Direct Debit payment method, and their owners' associated bank account, ready for manual processing.

Disk Usage Summary

When the Update Usage Statistics option is enabled, a report of the Disk Space & Bandwidth Usage Statistics for hosting accounts. The cron job updates this once per day, or you can click the 'Update Now' link to get current usage statistics.

Domains

Generate a custom export of domain name information by applying up to five filters. CSV Export is available in the Tools menu in the top-right corner of the page.

Domain Renewal Reminder Emails

Part of a dedicated logging system for domain renewal notices. This keeps a log of all sent renewal notices, along with the date and recipients, and provides an easy way to view and export that information for ICANN compliance.

Income by Product

A breakdown per product or service of invoices that clients paid in a given month. This excludes overpayments and other payments to deposit funds (credit), and includes invoices paid from credit added in previous months. Because of this, it may not match the income total for the month.

Income Forecast

The projected income for each month of the year. Assumes all active services and domains renew on their next due date. This splits products with longer billing cycles (Quarterly, Semi-Annually, Annually, Biennially) evenly across the year. This doesn't include Addons and Billable Items.

Invoices

A custom export of invoice information, applying up to five filters. CSV Export is available via the download link at the bottom of the page.

Monthly Orders

A breakdown of the number of units sold of each product per month per currency. This allows you to see your most profitable products.

Monthly Transactions

Provides a summary of daily payments activity for a given month per currency. The system generates this using transaction data. The Amount Out figure includes both expenditure transactions and refunds.

New Customers

The total number of new customers, orders, and complete orders for the current year and compares each of these to the previous year on the graph.

PDF Batch

A single PDF document containing multiple individual invoices (one per page). You can filter this by date range, payment methods, and status. This is useful for printing invoices for record-keeping or mailing to clients.

Product Suspensions

All services that are currently suspended and the reasons for their suspensions.

Promotions Usage

Usage statistics for each promotional code to see how often clients have used each promo code. Click the Drill Down link to see exactly which orders used the code.

Sales Tax Liability

Sales tax liability for the selected period (invoice sub-total before tax, tax amount, and total after tax).
Note: This does not include partial refunds that may have included sales tax refunds.

Server Revenue Forecasts

Income, by billing cycle, for each of your servers in the base currency. It then uses the monthly cost for each server to estimate the annual gross profit for each server.

Services

A custom export of service information (for example, domain, username, or server ID) by applying up to five filters. CCSV Export is available in the Tools menu in the top-right corner of the page.

Support Ticket Replies

A breakdown of the support tickets that each admin handled for a given month. The 'Ticket' value is the number of unique tickets that they replied to, and 'Replies' is the total number of replies across all tickets.

Ticket Feedback Comments

A report that displays general feedback comments from customers, when the Ticket Closure Feedback option is enabled. You can filter this by date range and staff member.

Ticket Feedback Scores

A report that displays the ratings, on a scale of 1-10, that clients have given to individual admins when the Ticket Closure Feedback option is enabled. You can filter this by date range. Click the admin's name to see comments that clients left specifically about that member of staff.

Ticket Ratings Reviewer

A report that displays the score, on a scale of 1-10, that clients have given to individual support ticket replies when the Support Ticket Rating option is enabled. You can filter this by date range and score.

Ticket Tags

An overview of assigned ticket tags for a given date range, by ticket opening date. You can add tags to tickets via the "Tag Cloud" field when viewing a support ticket.

Top 10 Clients By Income

The 10 clients with the highest net income, according to the transactions in WHMCS. If the client does not use your default currency, the system will convert their income for ease of comparison.

Transactions

A custom export of transaction information by applying up to 5 filters. CSV Export is available in the Tools menu in the top-right corner of the page.

VAT MOSS

This report provides the information EU businesses need to be able to complete the VATMOSS return in whatever specific format(s) your local VAT tax authority will accept. More Information >>