From WHMCS Documentation

Revision as of 11:07, 18 August 2020 by John (talk | contribs) (Reports)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

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.


To access reports, navigate to the Reports option via the main menu within the admin area.

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 >>

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:

  1. Navigate to Configuration () > System Settings > Staff Management > Administrator Roles.
  2. Edit the admin role group that you wish to modify.
  3. Scroll to Reports Access Controls and select Restrict Access. A list of reports will appear.
  4. Check the boxes next to all of the reports that you wish to allow access to.
  5. Click Save Changes for the restrictions to take effect.
This functionality requires WHMCS 7.2 or later.


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.

The format with some descriptions is as follows:


# 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"] = "";

WHMCS uses the Google Charts API to generate graphical reports.