Jump to: navigation, search

Existing Reports

WHMCS comes with a selection of reports by default. Some reports also include graphical representations of the data.

To view any of these reports, simply click the Reports button on the main menu and then choose the report you wish to view from the list. The output of every report can be downloaded in CSV format and is available in a printer friendly format. To access this simply click the appropriate link in the Tools section at the bottom of the report.

All reports are contained within the modules/reports folder, are open source, and can therefore be edited and modified to fit your needs.

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 broken down into the period by which they are overdue.

Annual Income Report

Shows the income received for the year broken down by month converted to the base currency using rates at the time of the transaction. It is based upon transactions recorded. The graph shows 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

Provides 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


Generate a custom export of client information by applying up to 5 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

Allows you to review all the credits issued to clients between two dates you specify.

Customer Retention Time

Calculates and shows the average lifetime of products, services, addons and domains - that is the number of days between the registration date and the termination date. Averages are displayed by product and the associated billing cycle, and are displayed both as a number of days value and a years/months value.

Daily Performance

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

Direct Debit Processing

Displays all Unpaid invoices assigned to the Direct Debit payment method and the associated bank account details stored for their owners, ready for manual processing.

Disk Usage Summary

When the Update Usage Statistics option is enabled, this report shows the Disk Space & Bandwidth Usage Statistics for hosting accounts. Updated once per day with the cron job, click the 'Update Now' link to get current usage statistics.


Generate a custom export of domain name information by applying up to 5 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 which will keep a log of all renewal notices that are sent, along with the date and recipients, and provide an easy way to view and export that information for ICANN compliance.

Income by Product

Provides a breakdown per product/service of invoices paid in a given month. This excludes overpayments & other payments made to deposit funds (credit), and includes invoices paid from credit added in previous months, and thus may not match the income total for the month.

Income Forecast

Shows the projected income for each month of the year. Assumes all active services and domains are renewed on their next due date. Products with longer billing cycles (Quarterly, Semi-Annually, Annually, Biennially) are split evenly across the year. Addons and Billable Items are not included.


Generate a custom export of invoice information by applying up to 5 filters. CSV Export is available via the download link at the bottom of the page.

Monthly Orders

Gives a breakdown of the number of units sold of each product per month per currency. Allows you to see your most profitable products.

Monthly Transactions

Provides a summary of daily payments activity for a given month per currency. This is based upon transaction data. The Amount Out figure includes both expenditure transactions and refunds.

New Customers

Shows 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

This report can be used to generate a single PDF document containing multiple individual invoices (one per page). Can be filtered by date range, payment methods and status. Useful for printing invoices for record-keeping or mailing to clients.

Product Suspensions

Allows you to review all services currently in suspended status and the reasons specified for their suspensions.

Promotions Usage

Shows usage statistics for each promotional code to see how often each promo code has been used. Click the Drill Down link to see exactly which orders used the code.

Sales Tax Liability

Shows sales tax liability for the selected period (invoice sub-total before tax, tax amount and total after tax).
Note: Partial refunds that may have included sales tax refunds are not taken into account.

Server Revenue Forecasts

Shows income broken down by billing cycle for each of your servers in the base currency. It then uses the monthly cost entered for each server to estimate the annual gross profit for each server.


Generate a custom export of service information (domain, username, server ID etc.) by applying up to 5 filters. CCSV Export is available in the Tools menu in the top-right corner of the page.

Support Ticket Replies

Shows a breakdown of support tickets dealt with per admin for a given month. The 'Ticket' value is the number of unique tickets replied to, whilst 'Replies' is the total number of replies made across all tickets.

Ticket Feedback Comments

When the Ticket Closure Feedback option is enabled, this report displays general feedback comments submitted by customers. Can be filtered by date range and staff member.

Ticket Feedback Scores

When the Ticket Closure Feedback option is enabled, this report displays the ratings given to individual admins by clients. Can be filtered by date range. Click the admin's name to see comments left specifically about that member of staff.

Ticket Tags

Provides an overview of ticket tags assigned to tickets for a given date range. Tickets are tagged via the "Tag Cloud" field when viewing a support ticket.

Top 10 Clients By Income

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


Generate 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


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

Creating your own Reports

With the modular reporting system WHMCS uses, it is easy to add your own reports into the system to generate the statistical information you need.

To create your own report, you should begin by looking at the format of a report module in one of the existing reports. These can be found in "modules/reports". The report name you choose must be unique, and should be all lowercase, containing only letters & numbers (a-z, 0-9), always starting 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"] = "";