Personal tools
Namespaces

Variants
Actions

Report Generator 3.X For WHMCS

From ModulesGarden Wiki
(Difference between revisions)
Jump to: navigation, search
Line 11: Line 11:
 
*'''Admin Area Features:'''
 
*'''Admin Area Features:'''
 
{|
 
{|
|style="padding: 10px 0px 0px 30px;"|✔ Drag & Drop WYSIWYG Report Builder
+
|style="padding: 10px 0px 0px 30px;"|✔ Generate Your Own Report Using One Of 3 Creators
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Dynamic Reports Editing
+
|style="padding: 0px 0px 0px 30px;"|✔ View 35 Predefined Reports
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Report Types (Data Table, Pie Chart, Area Chart, Column Chart)
+
|style="padding: 0px 0px 0px 30px;"|✔ Modify Report Results With Dynamic Filters
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Predefined Reports
+
|style="padding: 0px 0px 0px 30px;"|✔ Generate PDF Files From Reports
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ User Created Reports
+
|style="padding: 0px 0px 0px 30px;"|✔ Print Reports With A Print Preview
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Multi-Sections Of Dynamically Generated Reports
+
|style="padding: 0px 0px 0px 30px;"|✔ Schedule Automatic Reports With Specified Options Being Sent:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Dynamic Filters
+
|style="padding: 0px 0px 0px 45px;"|✔ To Chosen Staff Members
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Predefined SQL Expressions At Report Builder
+
|style="padding: 0px 0px 0px 45px;"|✔ To SFTP Server
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Multiple Joins At Report Builder
+
|style="padding: 0px 0px 0px 30px;"|✔ Export & Import Reports Structure To File
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Two View Types Of Report Pages (Simple And Widget Alike)
+
|style="padding: 0px 0px 10px 30px;"|✔ Export Reports To CSV & XML File Formats (Coming Soon)
 
|}
 
|}
 +
 +
*'''Report Creation Features:'''
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Print Reports With Print Preview
+
|style="padding: 10px 0px 0px 30px;"|✔ Choose One Of 3 Creators:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Schedule Automatic Reports Sending To Chosen Staff Members With Specified Conditions
+
|style="padding: 0px 0px 0px 45px;"|✔ Beginner:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Export To CSV, XML and XML Structure
+
|style="padding: 0px 0px 0px 60px;"|✔ Drag & Drop Editor
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Export To CSV From Report View - Allows You To Set Up Undefault Value Of Filter
+
|style="padding: 0px 0px 0px 60px;"|✔ WHMCS Tables Only
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Import From The XML Structure
+
|style="padding: 0px 0px 0px 60px;"|✔ Join Tables With Known Relations Only
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Generate PDF - Both Manually And By Cron Job
+
|style="padding: 0px 0px 0px 45px;"|✔ Intermediate:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Translation Of Database Columns And Tables From The Settings Tab
+
|style="padding: 0px 0px 0px 60px;"|✔ Drag & Drop Editor
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 10px 30px;"|✔ Enable Unicode Font For Generated PDF
+
|style="padding: 0px 0px 0px 60px;"|✔ All Tables Available
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 60px;"|✔ Modify Output With PHP
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Advanced:
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 60px;"|✔ Write SQL Query
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 60px;"|✔ All Tables Available
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 60px;"|✔ Modify Output With PHP
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ Choose Section Display Type:
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Data Table
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Pie Chart
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Area Chart
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Column Chart
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ Create Multi-Section Reports
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ Clone Sections (Coming Soon)
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ Create Section Using Multiple Tables
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ Dynamic Filter Types:
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Data Range Filter - Available On Report View
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Dropdown Filter - Specify Available Options During Report Creation
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Number Range Filter
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Text Filter
 +
|}
 +
{|
 +
|style="padding: 0px 0px 10px 45px;"|✔ Cron Date Filter - Define Date Range For Scheduled Reports
 +
|}
 +
*'''Additional Basic & Intermediate Creators Features:'''
 +
{|
 +
|style="padding: 10px 0px 0px 30px;"|✔ Mark Tables With Known Relations And Automatically Configure Join In Table
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ Advanced Conditioning:
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Define Static Condition
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Define Requested Relation Between Two Fields
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Add Dynamic Filter As Condition
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ Output Field:
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Field - Display Field As Is
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Concat - Join Multiple Fields Into One
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Substr - Display Only Part Of Chosen Field
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Sum - Summarize All Values With The Same Value Of Group By Field
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Count - Count All Values With The Same Value Of Group By Field
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Max - Display Maximal Value Found Within Fields With The Same Value Of Group By Field
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Min - Display Minimal Value Found Within Fields With The Same Value Of Group By Field
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Avg - Display Average Of Fields With The Same Value Of Group By Field
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ Limit Amount Of Data Displayed On Report
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ Skip Chosen Amount Of First Records Displayed On Report
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ Live Preview Of Data Returned By Report Creator
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ Live Preview Of SQL Query Built By Report Creator
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ Live Preview Of Section Generated By Report Creator
 +
|}
 +
{|
 +
|style="padding: 0px 0px 10px 30px;"|✔ Toggle Between Automatic & Manual Refreshing Of Generated Section
 
|}
 
|}
 
*'''General Info:'''
 
*'''General Info:'''
 
{|
 
{|
|style="padding: 10px 0px 0px 30px;"|✔ Migration Tool
+
|style="padding: 10px 0px 0px 30px;"|✔ Report Migration Tool (Coming Soon)
 
|}
 
|}
 
{|
 
{|
Line 74: Line 194:
 
|style="padding: 0px 0px 10px 30px;"|✔ Supports WHMCS V5 and V6
 
|style="padding: 0px 0px 10px 30px;"|✔ Supports WHMCS V5 and V6
 
|}
 
|}
*'''User Created Reports:'''
+
*'''Predefined Reports:'''
 
{|
 
{|
|style="padding: 10px 0px 0px 30px;"|✔ 1. Section 1: Orders Of Services In Selected Time Period (Column Chart)
+
|style="padding: 10px 0px 0px 30px;"|✔ 'Clients Information' Section:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ 2. Section 1: Orders Of Services In Time (Column Chart)
+
|style="padding: 0px 0px 0px 45px;"|✔ Customers Per Country
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ 3. Section 1: Orders Over Weekdays (Pie Chart)
+
|style="padding: 0px 0px 0px 45px;"|✔ Most Valuable Clients
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ 4. Section 1: Most Valuable Clients (Data Table)
+
|style="padding: 0px 0px 0px 45px;"|✔ Paid Orders Report
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ 5. Section 1: User Accounts Created In Selected Time Period (Data Table) <br />
+
|style="padding: 0px 0px 0px 45px;"|✔ Orders Report
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 60px;"|Section 2: Number Of User Accounts Created In Selected Time Period (Column Chart)
+
|style="padding: 0px 0px 0px 45px;"|Created Panels Report
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ 6. Section 1: Tickets Replied By Admin (Data Table) <br />
+
|style="padding: 0px 0px 0px 45px;"|✔ User Accounts Created:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 60px;"|Section 2: Tickets Replied By Admin (Data Table)<br />
+
|style="padding: 0px 0px 0px 60px;"|✔ Number Of Created User Accounts By Date
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 60px;"|Section 3: Tickets Replied By Admin (Pie Chart)
+
|style="padding: 0px 0px 0px 60px;"|✔ List Of User Accounts Created
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 10px 30px;"|✔ 7. Section 1: Customers Per Country (Pie Chart)
+
|style="padding: 0px 0px 0px 45px;"|✔ Business Health Status:
 
|}
 
|}
*'''Predefined Reports:'''
 
 
{|
 
{|
|style="padding: 10px 0px 0px 30px;"|✔ 1. Section 1: [CRM] Leads Report (Data Table)
+
|style="padding: 0px 0px 0px 60px;"|✔ Domain Renewals For The Time Period
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ 2. Section 1: [CRM] Traders Renewals Report (Data Table)
+
|style="padding: 0px 0px 0px 60px;"|✔ Open Tickets For The Period
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ 3. Section 1: [CRM] WWW Created Panels Report (Data Table)
+
|style="padding: 0px 0px 0px 60px;"|✔ New Invoices For The Time Period
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ 4. Section 1: [CRM] WWW Renewals Report (Data Table)
+
|style="padding: 0px 0px 0px 60px;"|✔ Invoice Reminders For The Time Period
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ 5. Section 1: Created Panels Report (Data Table)
+
|style="padding: 0px 0px 0px 60px;"|✔ Hosting Renewals
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ 6. Section 1: Income Per Country (Column Chart)
+
|style="padding: 0px 0px 0px 60px;"|✔ Suspended Services For The Time Period
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 60px;"|Section 2: Income Per Country (Pie Chart)
+
|style="padding: 0px 0px 0px 45px;"|✔ Complete Cases:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ 7. Section 1: Income Per Country Per Product (Data Table)
+
|style="padding: 0px 0px 0px 60px;"|✔ Closed & Answered Status Tickets By The Staff Member
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ 8. Section 1: MRR & Churn Metrics (Data Table)
+
|style="padding: 0px 0px 0px 60px;"|✔ Tickets Stats In Time By The Staff Member
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ 9. Section 1: MRR & Churn Per Product (Data Table)
+
|style="padding: 0px 0px 0px 60px;"|✔ Completed To-Do List Tasks By The Staff Member
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ 10. Section 1: Orders Report (Data Table)
+
|style="padding: 0px 0px 0px 60px;"|✔ To-Do Tasks Stats Per Status By The Staff Member
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ 11. Section 1: Paid Orders Report (Data Table)
+
|style="padding: 0px 0px 0px 60px;"|✔ Orders Summary
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ 12. Section 1: Renewal Report (Data Table)
+
|style="padding: 0px 0px 0px 45px;"|✔ Tasks And Tickets In Progress:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ 13. Section 1: Open Tickets For The Time Period (Data Table)
+
|style="padding: 0px 0px 0px 60px;"|✔ General Tickets Statistics - For Selected Staff Member Or Team In Time
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 60px;"|Section 2: New Invoices For The Time Period (Data Table)
+
|style="padding: 0px 0px 0px 60px;"|✔ To-Do List - Tasks Per Status For Selected Staff Member Or Team In Time
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 60px;"|Section 3: Invoice Reminders For The Time Period (Data Table)
+
|style="padding: 0px 0px 0px 60px;"|✔ To-Do List - Tasks In Progress For Selected Staff Member Or Team In Time
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 60px;"|Section 4: Hosting Renewals (Data Table)
+
|style="padding: 0px 0px 0px 45px;"|✔ Unpaid Invoices
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 60px;"|Section 5: Suspended Services For The Time Period (Data Table)
+
|style="padding: 0px 0px 0px 45px;"|✔ Client Payment History
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 60px;"|Section 6: Domain Renewals For The Time Period (Data Table)
+
|style="padding: 0px 0px 0px 30px;"|✔ 'Services' Section:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ 14. Section 1: Transferred Domains Report (Data Table)
+
|style="padding: 0px 0px 0px 45px;"|✔ Product Income In Location
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ 15. Section 1: Closed/Answered Status Tickets By The Staff Member (Data Table)
+
|style="padding: 0px 0px 0px 45px;"|✔ Income Per Country
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 60px;"|Section 2: Tickets Stats For The Staff Over Time (Area Chart)
+
|style="padding: 0px 0px 0px 45px;"|✔ MRR & Churn Metrics
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 60px;"|Section 3: Closed To-Do List Tasks Owned By The Staff Member (Data Table)
+
|style="padding: 0px 0px 0px 45px;"|✔ MRR & Churn Per Product
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 60px;"|Section 4: To-Do List Tasks Owned By The Staff Member Grouped By Status (Pie Chart)
+
|style="padding: 0px 0px 0px 45px;"|✔ Orders Number
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 60px;"|Section 5: Orders Summary (Area Chart)
+
|style="padding: 0px 0px 0px 45px;"|Orders Over The Weekdays
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ 16. Section 1: Opened Tickets Stats For This Staff Over Time (Area Chart)
+
|style="padding: 0px 0px 0px 45px;"|✔ Registered Services
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 60px;"|Section 2: To-Do List Tasks Owned By The Staff Member Grouped By Status (Pie Chart)
+
|style="padding: 0px 0px 0px 45px;"|✔ Renewals Report
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 60px;"|Section 3: Closed To-Do List Tasks Owned By The Staff Member (Data Table)
+
|style="padding: 0px 0px 0px 45px;"|✔ Tasks And Tickets In Progress:
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Transferred Domains Report
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ 'CRM Related' Section:
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ WWW Created Panels Report
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Traders Renewals Report
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ WWW Renewals Report
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Leads Report
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ 'Staff Members' Section:
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Tickets In Hours
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Ticket Replies By Admin
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Comments On Course Of Ticket Solving
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Ratings Of Ticket Solving Course
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Ticket Response Rating
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Flexible Transactions Report
 
|}
 
|}
  
Line 200: Line 358:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:RG_1.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:RG2_1.png]]
 
|}
 
|}
 
{|
 
{|
Line 207: Line 365:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:RG_2.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:RG2_2.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''3. Remove all files from '' 'templates_c' ''folder.
+
|style="padding: 0px 0px 15px 15px;"|'''3. When you install Report Generator for the first time you have to rename '' 'license_RENAME.php' '' file.'''<br />
|}
+
{|
+
|style="padding: 0px 0px 15px 15px;"|'''4. When you install Report Generator for the first time you have to rename '' 'license_RENAME.php' '' file.'''<br />
+
 
File is located in '' 'modules/addons/reportgenerator/license_RENAME.php'. '' Rename it from '' 'license_RENAME.php' '' to '' 'license.php'. ''
 
File is located in '' 'modules/addons/reportgenerator/license_RENAME.php'. '' Rename it from '' 'license_RENAME.php' '' to '' 'license.php'. ''
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:RG_3.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:RG2_3.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''5. In order to configure your license key, you have to edit a previously renamed '' 'license.php' file.' '' '''<br />
+
|style="padding: 0px 0px 15px 15px;"|'''4. In order to configure your license key, you have to edit a previously renamed '' 'license.php' file.' '' '''<br />
 
Enter your license key between quotation marks as presented on the following screen. You can find your license key in your client area'' → 'My Products'. ''
 
Enter your license key between quotation marks as presented on the following screen. You can find your license key in your client area'' → 'My Products'. ''
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:RG_4.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:RG2_4.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''6. Now you have to create 3 folders in a '' 'storage' '' folder and set chmod '' '755' '' or '' '777' '' to them.'''<br />
+
|style="padding: 0px 0px 15px 15px;"|'''5. Now you have to activate the module in your WHMCS system.'''<br />
'' 'storage' '' folder is located in '' 'your_whmcs/modules/addons/reportgenerator/'. ''<br />
+
Log in to your WHMCS admin area. Go to '' 'Setup' '' '' 'Addon Modules'. '' Afterwards, find '' 'Report Generator' '' and press '' 'Activate' '' button.
''Note: If you set up chmods incorrectly, export report and generate PDF report functionalities will not work. ''
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:RG_5.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:RG2_6.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''7. Now you have to activate the module in your WHMCS system.'''<br />
+
|style="padding: 0px 0px 15px 15px;"|'''6. In the next step you need to permit access to this module.'''<br />
Log in to your WHMCS admin area. Go to '' 'Setup' '' → '' 'Addon Modules'. '' Afterwards, find '' 'Report Generator' '' and press '' 'Activate' '' button.
+
To do so, click on '' 'Configure' '' button, tick '' 'Full Administrator' '' and press '' 'Save Changes'. ''
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:RG_6.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:RG2_7.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''8. In the next step you need to permit access to this module.'''<br />
+
|style="padding: 0px 0px 15px 15px;"|'''7. You have just successfully installed Report Generator!'''<br />
To do so, click on '' 'Configure' '' button, tick '' 'Full Administrator' '' and press '' 'Save Changes'. ''
+
You can access the module at '' 'Addons' '' '' 'Report Generator'. ''
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:RG_7.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:RG2_8.png]]
 
|}
 
|}
 +
 +
=Configuration and Management=
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''9. The last step is setting up cron jobs.'''<br />
+
|style="padding: 10px 0px 30px 15px;"|'''Report Generator For WHMCS allows you to create custom reports using drag & drop WYSIWYG builder.<br/>
You can find them at your module '' 'Addons' '' → '' 'Report Generator' '' → '' 'Cron Jobs' '' → '' 'Cron Setup'. ''
+
Module also offers additional useful features like predefined reports, import/export of reports, generating reports in PDF, ability to send them to admins and much more.
 
|}
 
|}
 +
 +
==Predefined Reports==
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:RG_8.png]]
+
|style="padding: 10px 0px 5px 15px;"|'' 'Reports' '' the main section of the module, gives a preview of all available reports, those predefined as well as those you create by yourself.<br/>
 +
Predefined reports are divided into five categories plus custom reports if you have some.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''10. You have just successfully installed Report Generator!'''<br />
+
|style="padding: 10px 0px 20px 15px;"|'''Clients Information''' - eleven predefined reports that will show statistics on data related to your clients, for example statistics on placed orders, tasks, etc.
You can access the module at '' 'Addons' '' → '' 'Report Generator'. ''
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:RG_9.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:RG2_10.png]]
 
|}
 
|}
 
=Configuration and Management=
 
 
{|
 
{|
|style="padding: 10px 0px 30px 15px;"|'''Report Generator For WHMCS allows you to create custom reports using drag & drop WYSIWYG builder.<br />
+
|style="padding: 10px 0px 20px 15px;"|'''Services''' - nine different reports ready to analyze any services related data like income, renewals or transfers in your system.
Module also offers additional useful features like predefined reports, import/export of reports, generating reports in PDF, ability to send them to admins and much more.
+
 
|}
 
|}
 
==Reports List==
 
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|At the '' 'Reports Lists' '' tab you can view all predefined reports as well as those created by you.<br />
+
|style="padding: 0px 0px 20px 25px;"|[[File:RG2_10_1.png]]
Here you can manage your reports by viewing (1), editing (2) and removing them (8).<br />
+
Additionally, you can generate PDF version of reports (3) as well as export reports to CSV (4 & 5), XML (6) and XML structure (7).  
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:RG_10.png]]
+
|style="padding: 10px 0px 20px 15px;"|'''Staff Members''' - three predefined reports related to staff members and tickets department.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|For predefined reports you can view report, generate PDF file and export report to CSV and XML.
+
|style="padding: 0px 0px 20px 25px;"|[[File:RG2_10_2.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:RG_11.png]]
+
|style="padding: 0px 0px 15px 15px;"|'''CRM Related''' - four ground reports based on your CRM data. Please note that you can see them only if you are using our CRM For WHMCS module.<br/> More about CRM For WHMCS can be found [http://www.modulesgarden.com/products/whmcs/crm/features here], instructions how to [http://www.docs.modulesgarden.com/CRM_For_WHMCS configure] your CRM.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|To start creation of report press '' 'Create New Report'. ''<br />
+
|style="padding: 0px 0px 20px 25px;"|[[File:RG2_10_3.png]]
More information about creating new reports will be presented in the [[#Creating_Report|'''Creating Report''']] section.
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:RG_12.png]]
+
|style="padding: 0px 0px 20px 15px;"|'''Custom reports''' - all reports that you have personally created using our inbuilt creators.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 30px 25px;"|[[File:RG2_10_4.png]]
 
|}
 
|}
 
===Report View===
 
===Report View===
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|In the report view you can see all tables and charts generated by the report.<br />
+
|style="padding: 10px 0px 20px 15px;"|Press '' 'Show' '' button next to a report you are interested in.
You can display report in a simple or widget format. To switch between them press one of the buttons marked on the screen below.
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:RG_13.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:RG2_13.png]]
 
|}
 
|}
 
===PDF Report View===
 
 
{|
 
{|
|style="padding: 10px 0px 20px 15px;"|You can also view a PDF version of report which can be sent to your staff members or saved to PDF file on your disk.
+
|style="padding: 0px 0px 15px 15px;"|Depending on the type of report you choose, you can choose the time frames in which you want to see the statistics.<br/>
 +
Provide the beginning and ending dates, then press '' 'Filter' '' button. Fresh report will be generated on the run.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:RG_14.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:RG2_13_1.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 15px;"|In case of some reports filtering is impossible due to the stable content of the report.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 25px;"|[[File:RG213_2.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 15px;"|You can always view a printable version of report or generate a PDF which can be saved on your disk.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 30px 25px;"|[[File:RG2_14.png]]
 
|}
 
|}
  
 
==Creating Report==
 
==Creating Report==
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|In this section we will show you how to prepare a few examplary reports.<br />
+
|style="padding: 10px 0px 15px 15px;"|In this section we will show you how to prepare a few exemplary reports.<br/>
If you wish to create your own report, we strongly recommend creating reports shown below firstly in order to get some practice.<br />
+
We will now show you how to develop three different reports, each one will slightly more complicated than the previous one.<br/>
The first report will be quite simple and described step by step while the next ones will be more and more complex.<br />
+
The first steps are the same for each advancement level.
We will show you how specific options affect a final report.
+
 
|}
 
|}
===First Report - User Accounts Created===
 
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|In the beginning there is only one section in your report. Each section generates one chart on the final report.<br />
+
|style="padding: 0px 0px 15px 15px;"|Press '' 'Create Report' ''
In order to create additional charts on your report you need to add a new section.<br />
+
Below we will show you how to set up a single section. This exemplary report will show all new clients whose accounts were created during the last month.<br />
+
Start by entering report name and description.
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:RG_15.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:RG2_15.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|Now, select desired chart type and table you want to start with.<br />
+
|style="padding: 0px 0px 15px 15px;"|Now select the type of chart that you wish to achieve in the final result.<br/>
As you can see, default columns have been loaded. For purposes of this report we will remove them through pressing '' 'Remove All The Columns'. ''
+
You may generate a '' 'Colum', 'Pie', 'Table' '' or '' 'Area' '' chart. For presentation purposes we will start with a Table chart.<br/>
 +
Press it to select.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:RG_16.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:RG2_15.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|Adding columns to report is quite easy owing to an autocomplete box.<br />
+
|style="padding: 0px 0px 15px 15px;"|It is time to select the creator type. You can generate your report with:
Type in the table name and a list of all available columns will show up. Now, select desired column.
+
*creator for beginners
 +
*creator for admins on an intermediate level
 +
*creator for professionals - expert<br/>
 +
Let's begin with the easiest one - '' 'Beginner'. ''
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:RG_17.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:RG2_16.png]]
 
|}
 
|}
 
+
===Beginner - Unpaid Invoices Per Clients===
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|As you may have noticed earlier, each change made affects report preview displayed below.<br />
+
|style="padding: 10px 0px 10px 15px;"|When you enter the creator, the first things you can see is a wide description table with example. When you are familiar with it, press to hide.
In some situations preview may be replaced with error, which will contain information about lacking or miss-configured settings of report.<br />
+
On the following screen error message is caused by using incorrect function '' 'COUNT()'. ''
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:RG_18.png]]
+
|style="padding: 0px 0px 15px 15px;"|'' 'Base Table' '' and '' 'List of available database tables'. ''<br/>
 +
Depending on what your report is going to analyze, you must now find appropriate table.<br/> For example if you want to create a report that will base on clients, then find such WHMCS table.<br/>
 +
If you want to join it with another table , then drag it and drop into '' 'Join Additional Information','' note that you may join only tables highlighted in blue.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|To set up time period for report, go to '' 'Conditions' '' tab and mark '' 'Filter results by date'. ''
+
|style="padding: 0px 0px 20px 25px;"|[[File:RG2_17.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:RG_19.png]]
+
|style="padding: 0px 0px 15px 15px;"|Now, let's move to '' 'Display If' '' section. From available '' 'Fields' '' drag option that you want select.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|Afterwards, select '' 'Clients Table : datecreated' '' and '' 'Monthly' '' from marked dropdown menus.<br />
+
|style="padding: 0px 0px 20px 25px;"|[[File:RG2_17_1.png]]
Now, report will be generated using only accounts created during the last 30 days.<br />
+
''Note: Time period for report can be changed later at the report view or email configuration.''
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:RG_20.png]]
+
|style="padding: 0px 0px 20px 15px;"|We have decided to drag status and provide value: '' 'Unpaid'.'' Then only unpaid invoices will be taken into consideration in the final report.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|You can set up ordering records by specific column. To do that, go to '' 'Groups & Limits' '' tab.<br />
+
|style="padding: 0px 0px 20px 25px;"|[[File:RG2_18.png]]
We will order records by client last name. Choose '' 'Clients Table : lastname' '' and '' 'Ascending' '' as shown on the following screen.<br />
+
Your report displaying all new accounts created during the last month is ready, press '' 'Generate Report' '' to save it.
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:RG_21.png]]
+
|style="padding: 0px 0px 20px 15px;"|Let's move to '' 'Select Fields To Display On Final Report' '' section. Drag from ' ''Fields' ' section any fields that you wish to see on your report.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|Let's view that report through pressing '' 'View' '' button.<br />
+
|style="padding: 0px 0px 20px 25px;"|[[File:RG2_20.png]]
As you can see, column names are names of table columns.<br />
+
Our module allows you to easily change column names under which table columns will be displayed.<br />
+
You will find more information about setting up custom column names in [[#Tables_And_Columns_Definitions|'''Tables And Columns Definitions''']] section.<br />
+
While viewing report with enabled filtering by date you can easily change time periods as shown on the following screen.
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:RG_22.png]]
+
|style="padding: 0px 0px 15px 15px;"|You can also decide the way the entries will be sorted.<br/>
 +
On the screen below you can see sorting by invoice due date in descending order.
 
|}
 
|}
 
===Second Report - Orders Per User===
 
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|This report will be counting orders made by clients this year. Due to that, we will need to use group by command to count those products.<br />
+
|style="padding: 0px 0px 20px 25px;"|[[File:RG2_21.png]]
As previously, start by defining report name and description. Additionally, choose report type and starting table.
+
|}
 +
{|
 +
|style="padding: 0px 0px 15px 15px;"|Let's check how our report will look like.<br/>
 +
You can see there a list of clients, due date of their unpaid invoices together with the amount to pay  and a selected payment method.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 25px;"|[[File:RG2_22.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 15px 15px;"|Take a look at the full creator view.<br/>Save the changes when your report is ready.<br/>
 +
Apart form the options used to generate this report, there are also '' 'Group By' '' and ' ''Limit'. ''<br/>We will show how to use them in other examples.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 25px;"|[[File:RG2_23.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 15px;"|Finally, name your report and describe it shortly.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 25px;"|[[File:RG2_24.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 15px 15px;"|When everything is ready, you ca see your report. You can always:
 +
1. Edit your report section
 +
2. Delete report section
 +
3. Print the report
 +
4. View PDF version
 +
5. Add ne section to the report
 +
6. Delete the whole report.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 30px 25px;"|[[File:RG2_25.png]]
 +
|}
 +
===Intermediate Creator===
 +
{|
 +
|style="padding: 10px 0px 30px 15px;"|Detailed instructions on how to use our Intermediate creator will be available soon!<br/>
 +
Please be patient.
 
|}
 
|}
 +
===Advanced Creator===
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:RG_23.png]]
+
|style="padding: 10px 0px 30px 15px;"|This section is not ready yet. We are sorry for the inconvenience.
 
|}
 
|}
 +
<!--
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|Join orders table to clients table. We will need it to display columns from both tables here.<br />
+
|style="padding: 0px 0px 15px 15px;"|Join orders table to clients table. We will need it to display columns from both tables here.<br/>
 
Press '' 'Join Another Table' '' to proceed.
 
Press '' 'Join Another Table' '' to proceed.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:RG_24.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:RG2_24.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|It is time to think about how we want to connect these two tables.<br />
+
|style="padding: 0px 0px 15px 15px;"|It is time to think about how we want to connect these two tables.<br/>
We want to display a client even if he/she has no orders, therefore from '' 'Please Specify A Join Type' '' we will choose:<br />
+
We want to display a client even if he/she has no orders, therefore from '' 'Please Specify A Join Type' '' we will choose:<br/>
'' 'Return all rows from the left table, even if there are no matches at the right table'. ''
+
'' 'Return all rows from the left table, even if there are no matches at the right table'.''
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:RG_25.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:RG2_25.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|Now select two tables to join. For purposes of this report, these will be tables '' 'Clients' '' and '' 'Orders'. ''<br />
+
|style="padding: 0px 0px 15px 15px;"|Now select two tables to join. For purposes of this report, these will be tables '' 'Clients' '' and '' 'Orders'. ''<br/>
 
It is time to decide which columns will be used to join chosen columns.<br />
 
It is time to decide which columns will be used to join chosen columns.<br />
In the table '' 'Orders' '' we can find column '' 'userid' '' in which there is stored ID of client who made an order.<br />
+
In the table '' 'Orders' '' we can find column '' 'userid' '' in which there is stored ID of client who made an order.<br/>
Therefore we will join them using '' 'Clients Table : ID' '' and '' 'Orders Table : userid'. ''<br />
+
Therefore we will join them using '' 'Clients Table : ID' '' and '' 'Orders Table : userid'. ''<br/>
 
In the end press '' 'Confirm!' ''
 
In the end press '' 'Confirm!' ''
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:RG_26.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:RG2_26.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|We want to display clients details in one column and quantity of orders in another one.<br />
+
|style="padding: 0px 0px 15px 15px;"|We want to display clients details in one column and quantity of orders in another one.<br/>
 
The first column will be displayed by:
 
The first column will be displayed by:
 
  concat(tblclients.id, '# ', tblclients.firstname, ' ', tblclients.lastname) as Client
 
  concat(tblclients.id, '# ', tblclients.firstname, ' ', tblclients.lastname) as Client
Line 422: Line 613:
 
Count along with grouping by allow us to count records for each client.  
 
Count along with grouping by allow us to count records for each client.  
 
  Orders Table : ID as Any_Order_Exist
 
  Orders Table : ID as Any_Order_Exist
This column was added to handle clients who do not have any orders.<br />
+
This column was added to handle clients who do not have any orders.<br/>
Due to join type, '' 'COUNT(*) as Orders' '' will be filled with 1 for them.<br />
+
Due to join type, '' 'COUNT(*) as Orders' '' will be filled with 1 for them.<br/>
 
Proceed to '' 'Groups & Limits' '' tab to set up grouping by (currently our generator does not recognize what should be counted).
 
Proceed to '' 'Groups & Limits' '' tab to set up grouping by (currently our generator does not recognize what should be counted).
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:RG_27.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:RG2_27.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|We want to group records by clients, therefore fill '' 'Group This Section By' '' with '' 'Clients Table : ID' '' which is a unique key at the client table.<br />
+
|style="padding: 0px 0px 15px 15px;"|We want to group records by clients, therefore fill '' 'Group This Section By' '' with '' 'Clients Table : ID' '' which is a unique key at the client table.<br/>
Additionally, let's set up sorting clients by quantity of orders, we can use column alias for this.<br />
+
Additionally, let's set up sorting clients by quantity of orders, we can use column alias for this.<br/>
 
As we predicted, clients with 0 orders have assigned 1 order. Proceed to '' 'Your Own Code' '' to fix that.
 
As we predicted, clients with 0 orders have assigned 1 order. Proceed to '' 'Your Own Code' '' to fix that.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:RG_28.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:RG2_28.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|At '' 'Your Own Code' '' tab you can modify received output.<br />
+
|style="padding: 0px 0px 15px 15px;"|At '' 'Your Own Code' '' tab you can modify received output.<br/>
 
Code has to be placed in delimiters as shown below.
 
Code has to be placed in delimiters as shown below.
 
  <?php  
 
  <?php  
 
  // your custom code here
 
  // your custom code here
 
  ?>  
 
  ?>  
The '' '$result' '' variable is passed by reference and contains just iterated element of the result array.<br />
+
The '' '$result' '' variable is passed by reference and contains just iterated element of the result array.<br/>
In this way you can create new columns in your table or modify existing ones through modifying this variable.<br />
+
In this way you can create new columns in your table or modify existing ones through modifying this variable.<br/>
You can access it as typical array where the key is a column name and value is a current row value.<br />
+
You can access it as typical array where the key is a column name and value is a current row value.<br/>
'''Important 1: <span style="color:#FF0000">Use this field with caution</span>, because every mistake made here can result with <span style="color:#FF0000">error in your production environment</span>.'''<br />
+
'''Important 1: <span style="color:#FF0000">Use this field with caution</span>, because every mistake made here can result with <span style="color:#FF0000">error in your production environment</span>.'''<br/>
''Note: While working on $result you can use aliases!''<br />
+
''Note: While working on $result you can use aliases!''<br/>
What we need to do is assign 0 to '' 'Orders' '' column if '' 'Any_Order_Exist' '' column is empty.<br />
+
What we need to do is assign 0 to '' 'Orders' '' column if '' 'Any_Order_Exist' '' column is empty.<br/>
Additionally, we are unable to remove previously added column, therefore we will display '' 'Yes/No' '' in '' 'Any_Order_Exist' '' depending on existence of any order assigned to client.<br />
+
Additionally, we are unable to remove previously added column, therefore we will display '' 'Yes/No' '' in '' 'Any_Order_Exist' '' depending on existence of any order assigned to client.<br/>
 
Code placed below will do it for you:
 
Code placed below will do it for you:
 
  <?php
 
  <?php
Line 467: Line 658:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:RG_29.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:RG2_29.png]]
 
|}
 
|}
 
{|
 
{|
Line 473: Line 664:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:RG_30.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:RG2_30.png]]
 
|}
 
|}
 +
-->
  
===Third Report - Unpaid Invoices===
+
<!--
 +
===Expert - Unpaid Invoices===
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|In the third report we will show you how to prepare report displaying clients with the highest number of unpaid invoices.<br />
+
|style="padding: 10px 0px 15px 15px;"|In the third report we will show you how to prepare report displaying clients with the highest number of unpaid invoices.<br/>
We will also add second section displaying unpaid invoices which can be filtered by client first and last name.<br />
+
We will also add second section displaying unpaid invoices which can be filtered by client first and last name.<br/>
Start by defining report name and description, choose report type and starting table.<br />
+
Start by defining report name and description, choose report type and starting table.<br/>
 
Press '' 'Join Another Table' '' to proceed.
 
Press '' 'Join Another Table' '' to proceed.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:RG_31.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:RG2_31.png]]
 
|}
 
|}
 
{|
 
{|
Line 490: Line 683:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:RG_32.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:RG2_32.png]]
 
|}
 
|}
 
{|
 
{|
Line 497: Line 690:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:RG_33.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:RG2_33.png]]
 
|}
 
|}
 
{|
 
{|
Line 503: Line 696:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:RG_34.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:RG2_34.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|Select column you want to define condition for, select filter operand, define default value of filter and filter friendly name.<br />
+
|style="padding: 0px 0px 15px 15px;"|Select column you want to define condition for, select filter operand, define default value of filter and filter friendly name.<br/>
 
Conditions can be changed at the report view, they will be displayed under friendly name defined here.
 
Conditions can be changed at the report view, they will be displayed under friendly name defined here.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:RG_35.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:RG2_35.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|Fill '' 'concat(tblclients.id, tblclients.lastname, tblclients.firstname)' '' into '' 'Group This Section By' '' field.<br />
+
|style="padding: 0px 0px 15px 15px;"|Fill '' 'concat(tblclients.id, tblclients.lastname, tblclients.firstname)' '' into '' 'Group This Section By' '' field.<br/>
Owing to previously introduced concat you can both make sure you will be counting invoices properly and display string generated by concat under summary column in table.<br />
+
Owing to previously introduced concat you can both make sure you will be counting invoices properly and display string generated by concat under summary column in table.<br/>
This concat returns client ID, lastname and firstname in one string.<br />
+
This concat returns client ID, lastname and firstname in one string.<br/>
Order records using '' 'Sum' '' alias and define limit of column for this report.<br />
+
Order records using '' 'Sum' '' alias and define limit of column for this report.<br/>
 
Now, let's create the second section. To do so, press '' 'Create New Section'. ''
 
Now, let's create the second section. To do so, press '' 'Create New Section'. ''
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:RG_36.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:RG2_36.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|In this section we want to display a list of all unpaid invoices of a selected client.<br />
+
|style="padding: 0px 0px 15px 15px;"|In this section we want to display a list of all unpaid invoices of a selected client.<br/>
Select date table and start of client table.<br />
+
Select date table and start of client table.<br/>
 
Additionally, join client table with invoice table as in previous section.  
 
Additionally, join client table with invoice table as in previous section.  
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:RG_37.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:RG2_37.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|Now, add desired columns. As you can see on the following screen, we have used concat to display clients details in the first column.<br />
+
|style="padding: 0px 0px 15px 15px;"|Now, add desired columns. As you can see on the following screen, we have used concat to display clients details in the first column.<br/>
 
Proceed to condition tab and press '' 'Add New Condition' '' button.
 
Proceed to condition tab and press '' 'Add New Condition' '' button.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:RG_38.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:RG2_38.png]]
 
|}
 
|}
 
{|
 
{|
Line 543: Line 736:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:RG_39.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:RG2_39.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:RG_40.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:RG2_40.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|Proceed to '' 'Groups & Limits' '' tab and set up ordering by ID.<br />
+
|style="padding: 0px 0px 15px 15px;"|Proceed to '' 'Groups & Limits' '' tab and set up ordering by ID.<br/>
 
You can also increase limits of record displayed on the report.
 
You can also increase limits of record displayed on the report.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:RG_41.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:RG2_41.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|Let's proceed to '' 'Your Own Code' '' section to replace '' 'No Company Assigned' '' with blank field.<br />
+
|style="padding: 0px 0px 15px 15px;"|Let's proceed to '' 'Your Own Code' '' section to replace '' 'No Company Assigned' '' with blank field.<br/>
 
Copy and paste code placed below:
 
Copy and paste code placed below:
 
  <?php
 
  <?php
Line 568: Line 761:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:RG_42.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:RG2_42.png]]
 
|}
 
|}
 +
-->
  
==Modifying Report==
+
<!--
 +
==Modify Report==
 
{|
 
{|
|style="padding: 10px 0px 20px 15px;"|All reports can be easily altered. Press '' 'Edit' '' next to report that you wish to modify.
+
|style="padding: 10px 0px 20px 15px;"|All custom reports can be easily altered. Press '' 'Edit' '' next to report that you wish to modify.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:RG_43.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:RG2_43.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|Edit screen is the same as generate screen. Therefore you are allowed to modify and even entirely change report according to your needs.<br />
+
|style="padding: 0px 0px 15px 15px;"|Edit screen is the same as generate screen. Therefore you are allowed to modify and even entirely change report according to your needs.<br/>
We will add filtering results by clients' nationality to this report.<br />
+
We will add filtering results by clients' nationality to this report.<br/>
 
Join hosting table with client table as shown on the following screen.
 
Join hosting table with client table as shown on the following screen.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:RG_44.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:RG2_44.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|Proceed to '' 'Conditions' '' tab and press '' 'Add New Filter' ''.<br />
+
|style="padding: 0px 0px 15px 15px;"|Proceed to '' 'Conditions' '' tab and press '' 'Add New Filter'.''<br/>
 
Filter set up shown on the following screen will filter report output depending on client's country.
 
Filter set up shown on the following screen will filter report output depending on client's country.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:RG_44_1.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:RG2_44_1.png]]
 
|}
 
|}
 +
-->
  
==Email Configuration==
+
==Schedule Report==
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|At '' 'Email Configuration' '' you can set up emails with PDF reports sent to administrators.<br />
+
|style="padding: 10px 0px 15px 15px;"|At '' 'Schedule Reports' '' section, you can point which reports will be sent directly to administrators.<br/>
Start by selecting admin or admins to which email with report should be sent.<br />
+
Press '' 'Schedule Report' '' to begin.
Afterwards, choose which of your reports should be sent and decide how often reports should be sent using '' 'Time Period' '' dropdown menu.<br />
+
In addition to that, you can define filter values for generated report if report uses any.<br />
+
Confirm through pressing '' 'Add Relation' '' button.
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:RG_45.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:RG2_45.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|As you can see on the following screen, all relations are listed at the bottom of '' 'Email Configuration' '' page.<br />
+
|style="padding: 0px 0px 15px 15px;"|Box with a form to fill in will appear. Start by selecting the report you want to schedule.<br/> On the dropdowm menu you will find all reports available in you module including your custom reports.<br/> ''Please note that the form may slightly differ depending on the selected report type.''<br/>
Each of those relations can be removed at any time through pressing '' 'Delete' '' button.  
+
Afterwards, specify the conditions, how often reports should be sent, time period for which the report shall be generated and way of sending, by email or by FTP etc.<br/>
 +
Additionally, provide staff email addresses or FTP details.<br/>
 +
Confirm through pressing '' 'Add Rule' '' button.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:RG_46.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:RG2_46.png]]
 
|}
 
|}
 
==Import==
 
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|To import report from the XML file into your Report Generator, go to '' 'Import' '' tab.<br />
+
|style="padding: 0px 0px 15px 15px;"|As you can see on the following screen, all scheduled reports are listed in the table with report name, frequency and assigned admin users.<br/>
Press '' 'Browse' '' button and select your report XML file.<br />
+
Each of planned relations can be removed or edited at any time, use action buttons to do so.
Afterwards, press '' 'Upload' '' button and your report will be uploaded into the module.
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:RG_47.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:RG2_47.png]]
|}
+
{|
+
|style="padding: 0px 0px 15px 15px;"|Imported report should be renamed afterwards.<br />
+
Press '' 'Update Report' '' as soon as you finish.
+
|}
+
{|
+
|style="padding: 0px 0px 20px 25px;"|[[File:RG_48.png]]
+
|}
+
{|
+
|style="padding: 0px 0px 20px 15px;"|Now you can go to '' 'Reports List' '' to see that your report has been successfully imported and it is ready to use.
+
|}
+
{|
+
|style="padding: 0px 0px 30px 25px;"|[[File:RG_49.png]]
+
 
|}
 
|}
  
==Default Reports Settings==
+
==Import/Export==
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|At '' 'Settings' '' → '' 'Default Reports Settings' '' tab you are allowed to define a few behaviors of our module.<br />
+
|style="padding: 10px 0px 15px 15px;"|'' 'Import/Export' '' section allows to quickly import your saved previously reports if you have for example stored them on your external disk for later use.<br/>
1. Protects generating reports from data lost during refreshing.<br />
+
Just select file and press '' 'Import'. '' Imported report will appear on the list of your custom reports.
2. Pressing '' 'To PDF' '' adds a cron job which will generate a PDF report for you.<br />
+
Reports generated by cron are available at '' 'Cron Jobs' '' → '' 'Cron Generated Reports'. ''<br />
+
3. Font used to generate PDF reports is switched to font, which supports unicode.<br />
+
During this option being enabled, generated PDF reports are much larger than earlier.
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:RG_50.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:RG2_48.png]]
 
|}
 
|}
 
==Tables And Columns Definitions==
 
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|Our module allows you to set up custom table and column names. It is very simple.<br />
+
|style="padding: 0px 0px 15px 15px;"|Underneath, you can see a list of your custom reports. Press '' 'Export' '' button to save its files on your disk.
Go to '' 'Report Generator' '' → '' 'Settings' '' → '' 'Advanced Builder Settings' ''. As you can see, there are three text fields.<br />
+
The first one, '' 'Table Definitions' '' enables you to easily change name of the tables visible on the reports created by module.<br />
+
The second one, '' 'Column Definitions' '' does the same thing for columns.<br />
+
'' 'Additional Group Expressions' '' field, lets you set up predefined MySQL expressions which afterwards may be added through one click.<br />
+
''Note 1: '' 'Column Definitions' '' will set up custom name for all columns with that name.''
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:RG_51.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:RG2_49.png]]
 
|}
 
|}
  
 +
<!--
 
==Migration==
 
==Migration==
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|Due to changes in the module and its structure, upgrading it from version 1.0 requires migration tool.<br />
+
|style="padding: 10px 0px 15px 15px;"|Due to changes in the module and its structure, upgrading it from version 1.0 requires migration tool.<br/>
It can be accessed at '' 'Migration' '' tab of our module and allows you to migrate reports from the previous version of Report Generator For WHMCS.<br />
+
It can be accessed at '' 'Migration' '' tab of our module and allows you to migrate reports from the previous version of Report Generator For WHMCS.<br/>
As you can see, all reports which existed in version 1.0 are listed here. In order to import report from the previous version of the module press '' 'Migrate' '' button next to it.<br />
+
As you can see, all reports which existed in version 1.0 are listed here. In order to import report from the previous version of the module press '' 'Migrate' '' button next to it.<br/>
 
'''Important: Email settings will be lost during the upgrade.'''
 
'''Important: Email settings will be lost during the upgrade.'''
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:RG_52.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:RG2_52.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|Afterwards, press '' 'Update Report' '' button. Your report is now available at '' 'Reports List' '' → '' 'User Generated Reports'. ''
+
|style="padding: 0px 0px 20px 15px;"|Afterwards, press '' 'Update Report' '' button. Your report is now available at '' 'Reports List' → 'User Generated Reports'.''
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:RG_53.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:RG2_53.png]]
 
|}
 
|}
 +
-->
  
 
=Tips=
 
=Tips=
 
{|
 
{|
|style="padding: 10px 0px 10px 15px;"|1. In order to work properly, module requires PHP with a PDO support.
+
|style="padding: 10px 0px 30px 15px;"|1. If you want to edit your custom report and make it more complicated, you may do it with a more advanced creator.<br/>
 +
When you are editing a report you may choose from the beginning which creator type you are going to use.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 15px;"|2. There is workaround which enables you to copy report. Simply export report to XML structure and import report from a received file.
+
|style="padding: 0px 0px 0px 15px;"|
 
|}
 
|}
  
 
=Common Problems=
 
=Common Problems=
 
{|
 
{|
|style="padding: 10px 0px 10px 15px;"|'''1. When you have problems with connection, check whether your SELinux or firewall does not block ports.'''
+
|style="padding: 10px 0px 30px 15px;"|'''1. When you have problems with connection, check whether your SELinux or firewall does not block ports.'''
|}
+
{|
+
|style="padding: 0px 0px 0px 15px;"|2. If you encounter any troubles with our module it is possible that you have not installed PDO.
+
|}
+
{|
+
|style="padding: 0px 0px 30px 15px;"|3. Problem during exporting report to a file.<br />
+
'''Cause:''' Module is unable to save the file.<br />
+
'''Solution:''' Set '' 'your_whmcs/modules/addons/reportgenerator/storage' '' folder as writable.<br />
+
Ensure three writable folders are created inside of '' 'storage' '' folder:
+
*dumps
+
*export
+
*reports
+
 
|}
 
|}

Revision as of 17:46, 14 September 2016

Contents

About Report Generator For WHMCS

Report Generator For WHMCS allows you to generate and manage any kind of reports using inbuilt drag & drop WYSIWYG editor.

The module lets you adjust reports to your needs through using various filters and even your own PHP code. It also permits to display prepared reports in tables, graphs or charts.
You can generate reports in XML, CSV and PDF, as well as schedule their creation and send them over an email to specified staff members.

  • Admin Area Features:
✔ Generate Your Own Report Using One Of 3 Creators
✔ View 35 Predefined Reports
✔ Modify Report Results With Dynamic Filters
✔ Generate PDF Files From Reports
✔ Print Reports With A Print Preview
✔ Schedule Automatic Reports With Specified Options Being Sent:
✔ To Chosen Staff Members
✔ To SFTP Server
✔ Export & Import Reports Structure To File
✔ Export Reports To CSV & XML File Formats (Coming Soon)
  • Report Creation Features:
✔ Choose One Of 3 Creators:
✔ Beginner:
✔ Drag & Drop Editor
✔ WHMCS Tables Only
✔ Join Tables With Known Relations Only
✔ Intermediate:
✔ Drag & Drop Editor
✔ All Tables Available
✔ Modify Output With PHP
✔ Advanced:
✔ Write SQL Query
✔ All Tables Available
✔ Modify Output With PHP
✔ Choose Section Display Type:
✔ Data Table
✔ Pie Chart
✔ Area Chart
✔ Column Chart
✔ Create Multi-Section Reports
✔ Clone Sections (Coming Soon)
✔ Create Section Using Multiple Tables
✔ Dynamic Filter Types:
✔ Data Range Filter - Available On Report View
✔ Dropdown Filter - Specify Available Options During Report Creation
✔ Number Range Filter
✔ Text Filter
✔ Cron Date Filter - Define Date Range For Scheduled Reports
  • Additional Basic & Intermediate Creators Features:
✔ Mark Tables With Known Relations And Automatically Configure Join In Table
✔ Advanced Conditioning:
✔ Define Static Condition
✔ Define Requested Relation Between Two Fields
✔ Add Dynamic Filter As Condition
✔ Output Field:
✔ Field - Display Field As Is
✔ Concat - Join Multiple Fields Into One
✔ Substr - Display Only Part Of Chosen Field
✔ Sum - Summarize All Values With The Same Value Of Group By Field
✔ Count - Count All Values With The Same Value Of Group By Field
✔ Max - Display Maximal Value Found Within Fields With The Same Value Of Group By Field
✔ Min - Display Minimal Value Found Within Fields With The Same Value Of Group By Field
✔ Avg - Display Average Of Fields With The Same Value Of Group By Field
✔ Limit Amount Of Data Displayed On Report
✔ Skip Chosen Amount Of First Records Displayed On Report
✔ Live Preview Of Data Returned By Report Creator
✔ Live Preview Of SQL Query Built By Report Creator
✔ Live Preview Of Section Generated By Report Creator
✔ Toggle Between Automatic & Manual Refreshing Of Generated Section
  • General Info:
✔ Report Migration Tool (Coming Soon)
✔ Multi-Language Support
✔ Supports WHMCS V5 and V6
  • Predefined Reports:
✔ 'Clients Information' Section:
✔ Customers Per Country
✔ Most Valuable Clients
✔ Paid Orders Report
✔ Orders Report
✔ Created Panels Report
✔ User Accounts Created:
✔ Number Of Created User Accounts By Date
✔ List Of User Accounts Created
✔ Business Health Status:
✔ Domain Renewals For The Time Period
✔ Open Tickets For The Period
✔ New Invoices For The Time Period
✔ Invoice Reminders For The Time Period
✔ Hosting Renewals
✔ Suspended Services For The Time Period
✔ Complete Cases:
✔ Closed & Answered Status Tickets By The Staff Member
✔ Tickets Stats In Time By The Staff Member
✔ Completed To-Do List Tasks By The Staff Member
✔ To-Do Tasks Stats Per Status By The Staff Member
✔ Orders Summary
✔ Tasks And Tickets In Progress:
✔ General Tickets Statistics - For Selected Staff Member Or Team In Time
✔ To-Do List - Tasks Per Status For Selected Staff Member Or Team In Time
✔ To-Do List - Tasks In Progress For Selected Staff Member Or Team In Time
✔ Unpaid Invoices
✔ Client Payment History
✔ 'Services' Section:
✔ Product Income In Location
✔ Income Per Country
✔ MRR & Churn Metrics
✔ MRR & Churn Per Product
✔ Orders Number
✔ Orders Over The Weekdays
✔ Registered Services
✔ Renewals Report
✔ Tasks And Tickets In Progress:
✔ Transferred Domains Report
✔ 'CRM Related' Section:
✔ WWW Created Panels Report
✔ Traders Renewals Report
✔ WWW Renewals Report
✔ Leads Report
✔ 'Staff Members' Section:
✔ Tickets In Hours
✔ Ticket Replies By Admin
✔ Comments On Course Of Ticket Solving
✔ Ratings Of Ticket Solving Course
✔ Ticket Response Rating
✔ Flexible Transactions Report

Installation

This tutorial will show you how to successfully install and configure Report Generator For WHMCS.

We will guide you step by step through the whole installation and configuration process.

1. Log in to your client area and download Report Generator For WHMCS.
RG2 1.png
2. Upload and extract the module into the main WHMCS directory.

Files in your WHMCS directory should look like these.

RG2 2.png
3. When you install Report Generator for the first time you have to rename 'license_RENAME.php' file.

File is located in 'modules/addons/reportgenerator/license_RENAME.php'. Rename it from 'license_RENAME.php' to 'license.php'.

RG2 3.png
4. In order to configure your license key, you have to edit a previously renamed 'license.php' file.'

Enter your license key between quotation marks as presented on the following screen. You can find your license key in your client area → 'My Products'.

RG2 4.png
5. Now you have to activate the module in your WHMCS system.

Log in to your WHMCS admin area. Go to 'Setup' 'Addon Modules'. Afterwards, find 'Report Generator' and press 'Activate' button.

RG2 6.png
6. In the next step you need to permit access to this module.

To do so, click on 'Configure' button, tick 'Full Administrator' and press 'Save Changes'.

RG2 7.png
7. You have just successfully installed Report Generator!

You can access the module at 'Addons' 'Report Generator'.

RG2 8.png

Configuration and Management

Report Generator For WHMCS allows you to create custom reports using drag & drop WYSIWYG builder.

Module also offers additional useful features like predefined reports, import/export of reports, generating reports in PDF, ability to send them to admins and much more.

Predefined Reports

'Reports' the main section of the module, gives a preview of all available reports, those predefined as well as those you create by yourself.

Predefined reports are divided into five categories plus custom reports if you have some.

Clients Information - eleven predefined reports that will show statistics on data related to your clients, for example statistics on placed orders, tasks, etc.
RG2 10.png
Services - nine different reports ready to analyze any services related data like income, renewals or transfers in your system.
RG2 10 1.png
Staff Members - three predefined reports related to staff members and tickets department.
RG2 10 2.png
CRM Related - four ground reports based on your CRM data. Please note that you can see them only if you are using our CRM For WHMCS module.
More about CRM For WHMCS can be found here, instructions how to configure your CRM.
RG2 10 3.png
Custom reports - all reports that you have personally created using our inbuilt creators.
RG2 10 4.png

Report View

Press 'Show' button next to a report you are interested in.
RG2 13.png
Depending on the type of report you choose, you can choose the time frames in which you want to see the statistics.

Provide the beginning and ending dates, then press 'Filter' button. Fresh report will be generated on the run.

RG2 13 1.png
In case of some reports filtering is impossible due to the stable content of the report.
RG213 2.png
You can always view a printable version of report or generate a PDF which can be saved on your disk.
RG2 14.png

Creating Report

In this section we will show you how to prepare a few exemplary reports.

We will now show you how to develop three different reports, each one will slightly more complicated than the previous one.
The first steps are the same for each advancement level.

Press 'Create Report'
RG2 15.png
Now select the type of chart that you wish to achieve in the final result.

You may generate a 'Colum', 'Pie', 'Table' or 'Area' chart. For presentation purposes we will start with a Table chart.
Press it to select.

RG2 15.png
It is time to select the creator type. You can generate your report with:
  • creator for beginners
  • creator for admins on an intermediate level
  • creator for professionals - expert

Let's begin with the easiest one - 'Beginner'.

RG2 16.png

Beginner - Unpaid Invoices Per Clients

When you enter the creator, the first things you can see is a wide description table with example. When you are familiar with it, press to hide.
'Base Table' and 'List of available database tables'.

Depending on what your report is going to analyze, you must now find appropriate table.
For example if you want to create a report that will base on clients, then find such WHMCS table.
If you want to join it with another table , then drag it and drop into 'Join Additional Information', note that you may join only tables highlighted in blue.

RG2 17.png
Now, let's move to 'Display If' section. From available 'Fields' drag option that you want select.
RG2 17 1.png
We have decided to drag status and provide value: 'Unpaid'. Then only unpaid invoices will be taken into consideration in the final report.
RG2 18.png
Let's move to 'Select Fields To Display On Final Report' section. Drag from ' Fields' ' section any fields that you wish to see on your report.
RG2 20.png
You can also decide the way the entries will be sorted.

On the screen below you can see sorting by invoice due date in descending order.

RG2 21.png
Let's check how our report will look like.

You can see there a list of clients, due date of their unpaid invoices together with the amount to pay and a selected payment method.

RG2 22.png
Take a look at the full creator view.
Save the changes when your report is ready.

Apart form the options used to generate this report, there are also 'Group By' and ' Limit'.
We will show how to use them in other examples.

RG2 23.png
Finally, name your report and describe it shortly.
RG2 24.png
When everything is ready, you ca see your report. You can always:

1. Edit your report section 2. Delete report section 3. Print the report 4. View PDF version 5. Add ne section to the report 6. Delete the whole report.

RG2 25.png

Intermediate Creator

Detailed instructions on how to use our Intermediate creator will be available soon!

Please be patient.

Advanced Creator

This section is not ready yet. We are sorry for the inconvenience.


Schedule Report

At 'Schedule Reports' section, you can point which reports will be sent directly to administrators.

Press 'Schedule Report' to begin.

RG2 45.png
Box with a form to fill in will appear. Start by selecting the report you want to schedule.
On the dropdowm menu you will find all reports available in you module including your custom reports.
Please note that the form may slightly differ depending on the selected report type.

Afterwards, specify the conditions, how often reports should be sent, time period for which the report shall be generated and way of sending, by email or by FTP etc.
Additionally, provide staff email addresses or FTP details.
Confirm through pressing 'Add Rule' button.

RG2 46.png
As you can see on the following screen, all scheduled reports are listed in the table with report name, frequency and assigned admin users.

Each of planned relations can be removed or edited at any time, use action buttons to do so.

RG2 47.png

Import/Export

'Import/Export' section allows to quickly import your saved previously reports if you have for example stored them on your external disk for later use.

Just select file and press 'Import'. Imported report will appear on the list of your custom reports.

RG2 48.png
Underneath, you can see a list of your custom reports. Press 'Export' button to save its files on your disk.
RG2 49.png


Tips

1. If you want to edit your custom report and make it more complicated, you may do it with a more advanced creator.

When you are editing a report you may choose from the beginning which creator type you are going to use.

Common Problems

1. When you have problems with connection, check whether your SELinux or firewall does not block ports.
Navigation
WHMCS Modules
WHMCS Widgets
Translations
cPanel Modules
General
FAQ
Community