<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://3.19.219.109/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=DanR</id>
		<title>WHMCS Documentation - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://3.19.219.109/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=DanR"/>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/Special:Contributions/DanR"/>
		<updated>2026-04-03T19:47:31Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.29.1</generator>

	<entry>
		<id>http://3.19.219.109/index.php?title=Project_Management&amp;diff=30493</id>
		<title>Project Management</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Project_Management&amp;diff=30493"/>
				<updated>2021-07-11T13:11:27Z</updated>
		
		<summary type="html">&lt;p&gt;DanR: /* Settings */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
&lt;br /&gt;
The Official Project Management addon for WHMCS is a tool designed to help you organise jobs &amp;amp; tasks, allowing you to tie Support Tickets &amp;amp; Invoices with To-Do Items to create Projects.  The aim is to connect everything together via a single interface, avoiding unecessary &amp;amp; time consuming duplication to third party systems, and allowing staff to privately communicate and track internal discussions, share files, and track (as well as optionally bill) for time spent on individual tasks.&lt;br /&gt;
&lt;br /&gt;
To find out more, please visit [https://www.whmcs.com/project-management/ www.whmcs.com/project-management]&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Installation &amp;amp; Setup==&lt;br /&gt;
&lt;br /&gt;
The Project Management Add-on is supplied with WHMCS by default.&lt;br /&gt;
&lt;br /&gt;
To activate the addon, navigate to '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; Addon Modules''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Addon Modules''' and hit the ''Activate'' button.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;You will need to purchase the Project Management add-on for your WHMCS license if you have not already done so. [http://www.whmcs.com/addons/project-management/ Learn more]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Following activation of the module, assign yourself permissions to access it and then you can navigate to the add-on by going to Addons &amp;gt; Project Management.&lt;br /&gt;
&lt;br /&gt;
===Settings===&lt;br /&gt;
&lt;br /&gt;
*'''Access Control''' - These checkboxes allow you to define which role groups you want to allow to access and use the project management system&lt;br /&gt;
*'''Master Admin Users''' - This series of checkboxes is where you define who you want to be able to access and configure the Project Management Addon settings within the module itself - this includes settings such as project statuses and access permissions&lt;br /&gt;
&lt;br /&gt;
==Upgrading==&lt;br /&gt;
&lt;br /&gt;
To apply a manual update to the Project Management Addon, download the update from our website, unzip the files and upload them to the root WHMCS directory - the files are provided within the appropriate sub-directories to ensure correct upload.&lt;br /&gt;
&lt;br /&gt;
Upon your first visit to the Project Management Addon within your WHMCS admin area the new update will be detected and any required database updates will be automatically applied.&lt;br /&gt;
&lt;br /&gt;
==Getting Started==&lt;br /&gt;
&lt;br /&gt;
To access the Project Management addon, simply navigate to '''Addons &amp;gt; Project Management'''&lt;br /&gt;
&lt;br /&gt;
You will then be presented with the Project Management Overview.  This page lists all projects by default, in ascending order of due date, so those due first will appear at the top, listing the title, staff member the project is assigned to, status, creation &amp;amp; due dates, number of days left or overdue, and the last updated date for the project.&lt;br /&gt;
&lt;br /&gt;
From this page you can also review the most recent 10 activity log entries displayed to the right of the page, and search for projects which we'll look at in more detail later on.&lt;br /&gt;
&lt;br /&gt;
Everything within the Project Management system starts out with a project.  Tasks, Tickets, Invoices, Attachments &amp;amp; Messages, all must belong to a project.  So let's get started with creating a project...&lt;br /&gt;
&lt;br /&gt;
===Creating Your First Project===&lt;br /&gt;
&lt;br /&gt;
#Click the '''Create New Project''' button (found at the top left of every Project Management Page)&lt;br /&gt;
#A dialog window will then slide into view, where you will find fields for entering the title of the project, the creation date, due date, staff assignee (if any) and associated ticket number (again optional)&lt;br /&gt;
#Once you are done, click '''Create'''&lt;br /&gt;
#You will now be taken to the Project overview screen, and congratulations, you just created your first project!&lt;br /&gt;
&lt;br /&gt;
You can also create a project directly from within a support ticket, using the &amp;quot;Create New Project&amp;quot; button that will appear at the top of the ticket if no projects are currently assigned to it.&lt;br /&gt;
&lt;br /&gt;
==The Project Management Screen==&lt;br /&gt;
&lt;br /&gt;
This is the main page where you'll spend most of your time - the project management screen - the page that let's you view everything relating to your project.  There's no tabs or pages here, everything is on a single page, at your finger tips, right where you need it.&lt;br /&gt;
&lt;br /&gt;
[[File:Projectmanagementview.png|800px]]&lt;br /&gt;
&lt;br /&gt;
At the very top we have the project title, click the pencil edit icon to change the project title. Next to it are the '''Project Command buttons'''; Start Timer, Add Comment, Upload File, Send Email and Watching buttons. Use the green [[#Tracking_Time|Start Timer]] button when you start working on a project, whilst the ''Add Comment'' button records a private staff-only note. ''Upload File'' and ''Send Email'' allow you to perform those two actions respectively. Switch the ''Watching'' button to the On position to receive email notifications of changes to the project, switch it to Off to stop receiving these emails. &lt;br /&gt;
&lt;br /&gt;
Next we have the '''Info Bar'''. This contains all the project details - the creation date, staff member it's assigned to, associated client, due date, total time worked and status. Probably the most important statistic is ''due date'';  when it's Green there are 1 or more days to go until it's due, but the days left turn Red when there's only 1 day left, or it is overdue.&lt;br /&gt;
&lt;br /&gt;
Below that are the '''Project Tabs''', giving you access to Tasks, Messages, Time Tracking, Tickets, Billing/Invoices, Files and the Project Log.&lt;br /&gt;
&lt;br /&gt;
The Project Log provides a full history of each and every action carried out on that project, the date/time it was done, and the admin user who performed it.&lt;br /&gt;
&lt;br /&gt;
===Editing Projects===&lt;br /&gt;
&lt;br /&gt;
To edit projects, providing you have the required permissions, you'll see an Edit button located towards the top right of the screen.  Upon clicking that, the previous display values will be transformed into input fields allowing you to update and make changes, and the edit button will be replaced with Save and Cancel buttons that you can use to save your changes, or abort.  If saving, a success message will appear briefly to confirm success.&lt;br /&gt;
&lt;br /&gt;
The Associated Client field features an intelligent search feature, so you can search for a client to assign to by entering any part of their name, company or email address, and simply select the desired result from the list of matches that get displayed.&lt;br /&gt;
&lt;br /&gt;
===Changing Status===&lt;br /&gt;
&lt;br /&gt;
To change the status of a project, simply change the dropdown value located to the right of the info bar at any time.  Selection changes for this are automatically saved, so there's no save or submit required.  A success message will appear briefly to confirm success.&lt;br /&gt;
&lt;br /&gt;
===Project Tasks===&lt;br /&gt;
&lt;br /&gt;
Tasks can be created using the &amp;quot;New Task&amp;quot; input field. Simply enter the task and press Enter key, or click the Add button to create it.  Upon pressing enter, the task will be added and the input field reset to empty to allow you to quickly and easily add multiple tasks in one go.&lt;br /&gt;
Once a task is completed it can be marked '''complete''' by ticking the checkbox next to the task name.&lt;br /&gt;
&lt;br /&gt;
====Tracking Time====&lt;br /&gt;
&lt;br /&gt;
To track the time spent on tasks, staff members click the green ''Track Time'' button on the project page when they start working on it. This creates a time log entry with their username, and the start time.  The button will then change to an orange ''End Timer'' button, click this button when finished working on the project.&lt;br /&gt;
&lt;br /&gt;
This time entry can then be assigned to a task via the '''Time Tracking''' tab. Click the ''Edit'' pencil icon and select the relevant task from the modal which appears.&lt;br /&gt;
&lt;br /&gt;
The total time is calculated on a per task basis, and for the project as a whole (total project time is displayed on the Info Bar).&lt;br /&gt;
&lt;br /&gt;
====Editing Tasks====&lt;br /&gt;
&lt;br /&gt;
If you have permissions, you can also edit tasks, which allows you to edit both the task title, and any time logged entries recorded for it, allowing to edit both the staff member and the start or end times for the task.&lt;br /&gt;
&lt;br /&gt;
===Task Templates===&lt;br /&gt;
Task Templates are a predefined list of tasks that can be added to a project via the push of a button. This feature offers the ability to store a list of commonly used tasks as a single template so that they can be added to additional projects on an as needed basis.&lt;br /&gt;
&lt;br /&gt;
When viewing a Project, the Task Templates menu can be found on the right-hand side of the page. There you will see two buttons: Save Task List, and Import Tasks.&lt;br /&gt;
&lt;br /&gt;
====Save Task List====&lt;br /&gt;
This option allows you to save all of the tasks associated with the current Project into a single task list. Upon clicking the button, a modal will appear with a prompt to enter a name for the new task list, and clicking Save will see the new list created.&lt;br /&gt;
&lt;br /&gt;
====Import Tasks====&lt;br /&gt;
This option allows you to import tasks from an existing Task List. Upon clicking the button, a modal will appear with a search field that allows you to search for a list via the Project ID, Title, or Task Template Name. After locating the task list you can then select which tasks you would like to import, and click on the Import button to add them to the current project.&lt;br /&gt;
&lt;br /&gt;
====Manage Tasks====&lt;br /&gt;
Task Templates can be managed via the Settings &amp;gt; Task Templates section of the Project Management Addon. There you are able to review any existing templates, and delete them if required.&lt;br /&gt;
&lt;br /&gt;
===Associated Tickets===&lt;br /&gt;
&lt;br /&gt;
Assocating tickets to a project is simply a case of entering the Ticket Number into the input field and clicking Add. WHMCS will verify that the ticket number is valid, and that it isn't already assigned to the project, and if so will associate it to it.&lt;br /&gt;
&lt;br /&gt;
A single ticket can be assigned to multiple projects, and a single project can have multiple tickets assigned to it.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' If a project is not yet associated to a client, then if a ticket belonging to a registered client is assigned, that client will automatically be associated with the project as well.&lt;br /&gt;
&lt;br /&gt;
===Associated Invoices===&lt;br /&gt;
&lt;br /&gt;
Invoices associated with projects allow you to view their status from within the project itself.&lt;br /&gt;
&lt;br /&gt;
Invoices do not have to be assigned manually, they are automatically detected in one of 3 ways:&lt;br /&gt;
&lt;br /&gt;
#By containing a line item which includes the phrase &amp;quot;Ticket #xxxxxx&amp;quot; followed by any ticket number associated with the invoice as above&lt;br /&gt;
#By containing a line item which includes the phrase &amp;quot;Project #XXX&amp;quot; followed by the Project ID number being viewed&lt;br /&gt;
#Or by having been generated directly from the Project view itself, using either the '''Quick Invoice''' or '''Bill for Task Time Entries''' feature&lt;br /&gt;
&lt;br /&gt;
Therefore to de-associate an invoice from a project the line item description would need to have the ticket or project reference it contains removed.&lt;br /&gt;
&lt;br /&gt;
===Staff Messageboard===&lt;br /&gt;
&lt;br /&gt;
The staff messageboard is a way for staff members to communicate between each other in a centralised system that all staff can access and see.  Each message posted includes a date/time stamp, and can if needed include file attachments also.  It works in much the same way as the ticket system, except this is for private staff communication only and is not visible to clients.&lt;br /&gt;
&lt;br /&gt;
===Attachments===&lt;br /&gt;
&lt;br /&gt;
The attachments section allows you to upload files to the project without posting a message.&lt;br /&gt;
&lt;br /&gt;
All attachments, both uploaded here and as attachments in messages posted on the staff messageboard, are stored under the attachments directory, in a folder structure of /projects/xxx/ where xxx is the Project ID number, so projects can be easily accessed by FTP if needed, and cleaned up.&lt;br /&gt;
&lt;br /&gt;
==Searching For &amp;amp; Locating Projects==&lt;br /&gt;
&lt;br /&gt;
Accessible on the main navigation bar from every page within the Project Management Addon is the filter shortcuts.  These allow you to filter the projects list in the following ways:&lt;br /&gt;
&lt;br /&gt;
*'''Incomplete''' - View all incomplete projects&lt;br /&gt;
*'''My Incomplete''' - View the incomplete projects that are just assigned to you&lt;br /&gt;
*'''View All''' - View all projects, including completed ones&lt;br /&gt;
*'''Assigned To Me''' - View all projects assigned to you, including completed ones&lt;br /&gt;
*'''Due Within 7 Days''' - View all projects due within the week (or overdue)&lt;br /&gt;
*'''Closed''' - View just the completed projects&lt;br /&gt;
&lt;br /&gt;
There is also a search field located at the top right of the project management nav bar on every page.  This allows you to search by Project Title, or Associated Ticket Numbers.&lt;br /&gt;
&lt;br /&gt;
If only 1 match is found for the search term entered you will be taken straight into the project view for the matching item, otherwise you will be displayed a list of results to choose from.&lt;br /&gt;
&lt;br /&gt;
There are 2 more ways of accessing projects, from tickets and clients.&lt;br /&gt;
&lt;br /&gt;
#When viewing '''any tickets associated''' with a project, you will automatically be displayed the associated projects information within the support ticket itself, showing the title, due date and status of the project(s) relating to it&lt;br /&gt;
#And also from the '''client summary page''', a new link will appear under the &amp;quot;Other Actions&amp;quot; menu, labelled &amp;quot;View Projects&amp;quot; allowing you to jump to the projects listing overview, filtered for all projects belonging to just that client.&lt;br /&gt;
&lt;br /&gt;
==Homepage Widget==&lt;br /&gt;
&lt;br /&gt;
The addon also includes a homepage widget, which you can activate for your admin role group in the normal way in '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; Admin Users''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Administrator Roles'''.  The widget allows you to see an overview of projects, including title, due date, days left &amp;amp; status, as well as recent activity, with just your assigned projects displayed by default.&lt;br /&gt;
&lt;br /&gt;
==Reports==&lt;br /&gt;
&lt;br /&gt;
The Reports menu item found in the top right menu bar allows you to access the reports for the project management system. The reports available currently allow you to review projects, time, and amounts invoiced, with options to filter by date range, and per staff member for analysis of work performed.&lt;br /&gt;
&lt;br /&gt;
==Settings==&lt;br /&gt;
&lt;br /&gt;
The settings area is where the Project Management specific options can be configured, as well as the internal access permissions for Project Management related actions.&lt;br /&gt;
&lt;br /&gt;
*'''Default Hourly Rate''' - This is where you define the standard hourly rate you charge, to be used in automatic time based billing calculations, but the rate can always be overriden on a per case basis when generating invoices for time based logs&lt;br /&gt;
*'''Project Statuses''' - This field allows you to customise the available statuses for projects, by entering a comma separated list of values.&lt;br /&gt;
*'''Completed Statuses''' - This is where you define which statuses will be treated as completed - ie. not incomplete or awaiting work - by default this is the Abandoned and Completed project statuses&lt;br /&gt;
*'''Client Area Access''' - [[File:Pma_clientarea_overview.png|thumb]]This displays an area to clients where they can view the status and details of their projects. There are granular options controlling which areas clients can see/use. Once configured, the client area can be accessed via /index.php?m=project_management&lt;br /&gt;
[[File:Pma_clientarea_projectview.png|800px]]&lt;br /&gt;
&lt;br /&gt;
===Permissions===&lt;br /&gt;
&lt;br /&gt;
The project management permissions allow you to fine tune and control exactly what you want your different levels of staff to be able to access or do, on a per administrator role basis.  A range of permisions are available to configure, allowing add, edit and delete rights to be assigned individually.&lt;br /&gt;
&lt;br /&gt;
==API==&lt;br /&gt;
A range of API commands are available for the addon to facilitate project management from remote systems. At the time of writing they are:&lt;br /&gt;
&lt;br /&gt;
*[https://developers.whmcs.com/api-reference/addprojectmessage/ AddProjectMessage]&lt;br /&gt;
*[https://developers.whmcs.com/api-reference/addprojecttask/ AddProjectTask]&lt;br /&gt;
*[https://developers.whmcs.com/api-reference/createproject/ CreateProject]&lt;br /&gt;
*[https://developers.whmcs.com/api-reference/deleteprojecttask/ DeleteProjectTask]&lt;br /&gt;
*[https://developers.whmcs.com/api-reference/endtasktimer/ EndTaskTimer]&lt;br /&gt;
*[https://developers.whmcs.com/api-reference/getproject/ GetProject]&lt;br /&gt;
*[https://developers.whmcs.com/api-reference/getprojects/ GetProjects]&lt;br /&gt;
*[https://developers.whmcs.com/api-reference/starttasktimer/ StartTaskTimer]&lt;br /&gt;
*[https://developers.whmcs.com/api-reference/updateproject UpdateProject]&lt;br /&gt;
*[https://developers.whmcs.com/api-reference/updateprojecttask UpdateProjectTask]&lt;br /&gt;
&lt;br /&gt;
A full and current list is published at https://developers.whmcs.com/api/api-index/&lt;br /&gt;
&lt;br /&gt;
==Uninstalling==&lt;br /&gt;
To uninstall the module and completely remove all associated data (projects, logs, tasks, task templates and attachments) please follow the steps for [[Addon_Modules_Management#Removing_An_Addon|Removing An Addon]].&lt;/div&gt;</summary>
		<author><name>DanR</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=File:Pma_clientarea_projectview.png&amp;diff=30492</id>
		<title>File:Pma clientarea projectview.png</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=File:Pma_clientarea_projectview.png&amp;diff=30492"/>
				<updated>2021-07-11T13:00:17Z</updated>
		
		<summary type="html">&lt;p&gt;DanR: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>DanR</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=File:Pma_clientarea_overview.png&amp;diff=30491</id>
		<title>File:Pma clientarea overview.png</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=File:Pma_clientarea_overview.png&amp;diff=30491"/>
				<updated>2021-07-11T12:59:18Z</updated>
		
		<summary type="html">&lt;p&gt;DanR: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>DanR</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Security/Ban_Control&amp;diff=30345</id>
		<title>Security/Ban Control</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Security/Ban_Control&amp;diff=30345"/>
				<updated>2021-06-01T14:52:44Z</updated>
		
		<summary type="html">&lt;p&gt;DanR: /* Managing Banned IPs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Banning IP Addresses==&lt;br /&gt;
With WHMCS, it is possible to ban an IP address from accessing your entire WHMCS system.&lt;br /&gt;
&lt;br /&gt;
===Managing Banned IPs===&lt;br /&gt;
&lt;br /&gt;
To view all the banned IP addresses in your system, go to '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; Banned IPs'''.  You will then see the banned IP addresses, the reason for that ban, and the date and time at which the ban expires.  You can delete IP addresses that have been banned in error from the ban list using the red delete icon to the right of the line.&lt;br /&gt;
&lt;br /&gt;
===Adding a New Banned IP===&lt;br /&gt;
&lt;br /&gt;
To add a new banned IP address, click the '''Add''' tab near the top of the page.  The add options will appear. You can enter the IP address you want to ban, the reason for banning it, and the date and time at which the ban should expire. Then, click the Add Banned IP button to ban the IP address.  The change will take effect immediately.&lt;br /&gt;
&lt;br /&gt;
The last two blocks accept wildcards to enable you to block IP address ranges (for example, 189.123.789.* or 189.123.*.*).&lt;br /&gt;
&lt;br /&gt;
===Searching Banned IPs===&lt;br /&gt;
&lt;br /&gt;
To search for a banned IP address, click the Filter tab near the top of the page.  You can then filter the list of banned IP addresses, by IP address or reason, to locate specific IPs you wish to un-ban.&lt;br /&gt;
&lt;br /&gt;
==Banning Email Domains==&lt;br /&gt;
&lt;br /&gt;
With WHMCS, you can ban email domains from signing up.  This is useful if you want to block customers from signing up using free email accounts.&lt;br /&gt;
&lt;br /&gt;
To enable this feature, go to '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; Banned Emails'''.  You will then see a list of all the currently banned email domains and the number of times a customer has attempted to sign up using them.&lt;br /&gt;
&lt;br /&gt;
To add a new banned email domain, click the Add tab at the top of the page and then enter the email domain you wish to ban. For example, &amp;quot;hotmail.com&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Auto Ban Control==&lt;br /&gt;
&lt;br /&gt;
By default, WHMCS blocks any user IP addresses that attempt to log in to the admin area with a valid username and incorrect password three or more times. The length of this ban, by default, is 15 minutes. This helps to prevent hackers from endlessly trying different password combinations in order to gain access to your admin area.  You can alter the length of this ban by going to '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; General Settings &amp;gt; Security tab &amp;gt; Failed Admin Login Ban Time'''.&lt;br /&gt;
&lt;br /&gt;
To '''disable IP banning''' for failed admin logins, set this value to 0. The system will never attempt to ban IP addresses and the user will be able to continue to attempt to log in endlessly. For this reason, we recommend a minimum value of at least 1.&lt;/div&gt;</summary>
		<author><name>DanR</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Security/Ban_Control&amp;diff=30344</id>
		<title>Security/Ban Control</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Security/Ban_Control&amp;diff=30344"/>
				<updated>2021-06-01T14:52:18Z</updated>
		
		<summary type="html">&lt;p&gt;DanR: /* Banning Email Domains */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Banning IP Addresses==&lt;br /&gt;
With WHMCS, it is possible to ban an IP address from accessing your entire WHMCS system.&lt;br /&gt;
&lt;br /&gt;
===Managing Banned IPs===&lt;br /&gt;
&lt;br /&gt;
To view all the banned IP addresses in your system, go to '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; Other &amp;gt; Manage Banned IPs'''.  You will then see the banned IP addresses, the reason for that ban, and the date and time at which the ban expires.  You can delete IP addresses that have been banned in error from the ban list using the red delete icon to the right of the line.&lt;br /&gt;
&lt;br /&gt;
===Adding a New Banned IP===&lt;br /&gt;
&lt;br /&gt;
To add a new banned IP address, click the '''Add''' tab near the top of the page.  The add options will appear. You can enter the IP address you want to ban, the reason for banning it, and the date and time at which the ban should expire. Then, click the Add Banned IP button to ban the IP address.  The change will take effect immediately.&lt;br /&gt;
&lt;br /&gt;
The last two blocks accept wildcards to enable you to block IP address ranges (for example, 189.123.789.* or 189.123.*.*).&lt;br /&gt;
&lt;br /&gt;
===Searching Banned IPs===&lt;br /&gt;
&lt;br /&gt;
To search for a banned IP address, click the Filter tab near the top of the page.  You can then filter the list of banned IP addresses, by IP address or reason, to locate specific IPs you wish to un-ban.&lt;br /&gt;
&lt;br /&gt;
==Banning Email Domains==&lt;br /&gt;
&lt;br /&gt;
With WHMCS, you can ban email domains from signing up.  This is useful if you want to block customers from signing up using free email accounts.&lt;br /&gt;
&lt;br /&gt;
To enable this feature, go to '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; Banned Emails'''.  You will then see a list of all the currently banned email domains and the number of times a customer has attempted to sign up using them.&lt;br /&gt;
&lt;br /&gt;
To add a new banned email domain, click the Add tab at the top of the page and then enter the email domain you wish to ban. For example, &amp;quot;hotmail.com&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Auto Ban Control==&lt;br /&gt;
&lt;br /&gt;
By default, WHMCS blocks any user IP addresses that attempt to log in to the admin area with a valid username and incorrect password three or more times. The length of this ban, by default, is 15 minutes. This helps to prevent hackers from endlessly trying different password combinations in order to gain access to your admin area.  You can alter the length of this ban by going to '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; General Settings &amp;gt; Security tab &amp;gt; Failed Admin Login Ban Time'''.&lt;br /&gt;
&lt;br /&gt;
To '''disable IP banning''' for failed admin logins, set this value to 0. The system will never attempt to ban IP addresses and the user will be able to continue to attempt to log in endlessly. For this reason, we recommend a minimum value of at least 1.&lt;/div&gt;</summary>
		<author><name>DanR</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=OpenSRS&amp;diff=30343</id>
		<title>OpenSRS</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=OpenSRS&amp;diff=30343"/>
				<updated>2021-06-01T13:26:28Z</updated>
		
		<summary type="html">&lt;p&gt;DanR: /* Troubleshooting */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{registrar&lt;br /&gt;
| register = yes&lt;br /&gt;
| transfer = yes&lt;br /&gt;
| renew = yes&lt;br /&gt;
| lock = yes&lt;br /&gt;
| dns = yes&lt;br /&gt;
| whois = yes&lt;br /&gt;
| regns = yes&lt;br /&gt;
| getepp = yes&lt;br /&gt;
| domainsync = yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Activation==&lt;br /&gt;
To activate and begin using the OpenSRS registrar module, follow the steps below:&lt;br /&gt;
&lt;br /&gt;
# Login to your WHMCS Admin Area&lt;br /&gt;
# Navigate to '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; Domain Registrars''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Products/Services &amp;gt; Domain Registrars'''.&lt;br /&gt;
# Locate OpenSRS in the list&lt;br /&gt;
# Click the '''Activate''' button&lt;br /&gt;
# Enter your OpenSRS API credentials&lt;br /&gt;
# Click Save Changes to complete the process&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-warning&amp;quot;&amp;gt;Before you can begin using the OpenSRS API with your account you must authorize your server IP for access to your account. See below for steps to do this.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===IP Registration===&lt;br /&gt;
* OpenSRS's API is IP restricted.&lt;br /&gt;
* Therefore to use the OpenSRS API, you must first access the OpenSRS Reseller Web Interface using your OpenSRS username and password, and then access the “Add IPs for Script/API Access” link.&lt;br /&gt;
* The IP address that needs to be set up is the one that your WHMCS instance will be seen as from the world wide web.&lt;br /&gt;
&lt;br /&gt;
===Additional Registrar Module Files Requirement===&lt;br /&gt;
OpenSRS requires some third party classes such as PEAR in order to work and it’s likely that the module will fail to operate entirely without these files.  The files can be obtained using the following link and need to be unzipped and the contents uploaded into the /modules/registrars/opensrs/ folder.&lt;br /&gt;
&lt;br /&gt;
http://www.whmcs.com/members/dl.php?type=d&amp;amp;id=29&lt;br /&gt;
&lt;br /&gt;
Finally, domain pricing needs to be configured within WHMCS.  Please see the  [[Domains Management]] page for additional help on doing that.&lt;br /&gt;
&lt;br /&gt;
===Private Key Generation===&lt;br /&gt;
To generate your private key, login to the OpenSRS Reseller Web Interface using your OpenSRS username and password and access the “Generate New Private Key” link.&lt;br /&gt;
&lt;br /&gt;
===Configuring your OpenSRS Reseller Account===&lt;br /&gt;
Before using OpenSRS for domain registrations your OpenSRS reseller account should be configured and funded for use.&lt;br /&gt;
&lt;br /&gt;
Please refer to “Setting your account defaults” and “Payments” (funding your account) sections in the “Reseller's Guide to Domain Name Registration and Management” available in the documentation section of our OpenSRS.com website (http://opensrs.com/resources).&lt;br /&gt;
&lt;br /&gt;
The “Reseller's Guide to Domain Name Registration and Management” is a very important resource for managing and troubleshooting domain registrations, as is the Reseller Web Interface we provide you with your OpenSRS reseller account.&lt;br /&gt;
&lt;br /&gt;
==Automatic Registration==&lt;br /&gt;
WHMCS allows you to setup automatic domain registration on a per extension basis enabling you to use different registrars for different TLDs to give you the flexibility to offer more extensions and always get the best value.&lt;br /&gt;
To enable automatic registration, please refer to [[Domain Pricing|Configuring Automatic Registration]]&lt;br /&gt;
&lt;br /&gt;
==Automatic Domain Synchronization==&lt;br /&gt;
The OpenSRS module supports automatic domain synchronization for syncing of expiry dates and status changes for incoming transfers.&lt;br /&gt;
To enable this functionality, you need to ensure you have the '''Domain Sync Enabled''' in '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; General Settings &amp;gt; Domains''' or, prior to WHMCS 8.0, '''Setup &amp;gt; General Settings &amp;gt; Domains'''. Ensure you have the [[Crons#Domain_Sync_Cron|Domain Sync Cron]] configured on your system.&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
'''Blank Response or Connection Error Message'''&amp;lt;br&amp;gt;&lt;br /&gt;
This is commonly caused by the port numbers that the OpenSRS API operates on being blocked by your server's firewall. The ports used in communication to the API are &amp;lt;tt&amp;gt;55443&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;55000&amp;lt;/tt&amp;gt; so need to be opened for outbound connections.&lt;br /&gt;
&lt;br /&gt;
'''Partially Loaded Page (Blank or Lost Formatting)'''&amp;lt;br&amp;gt;&lt;br /&gt;
The OpenSRS module requires some additional files in order to work. Please refer to the [[OpenSRS#Requirements|Requirements]] section above for more info.&lt;br /&gt;
&lt;br /&gt;
'''Domain Already Renewed'''&amp;lt;br&amp;gt;&lt;br /&gt;
Seeing this error when attempting to renew a domain is caused by an invalid or incorrect Expiry Date value under the client's Domains tab. Correcting this value will enable the domain to be renewed.&lt;br /&gt;
&lt;br /&gt;
'''Order xxxxxxx is not a pending, declined or cancelled order and cannot be processed'''&amp;lt;br&amp;gt;&lt;br /&gt;
The domain name will still be registered, but changing the &amp;quot;Process Immediately&amp;quot; setting in your OpenSRS account to &amp;quot;Off&amp;quot; will stop this error occurring. &lt;br /&gt;
&lt;br /&gt;
{{modules}}&lt;/div&gt;</summary>
		<author><name>DanR</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Servers&amp;diff=30338</id>
		<title>Servers</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Servers&amp;diff=30338"/>
				<updated>2021-06-01T13:08:48Z</updated>
		
		<summary type="html">&lt;p&gt;DanR: /* Creating a Group */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Adding a New Server==&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;a href=&amp;quot;http://www.youtube.com/watch?v=7Mg6OMqJxps&amp;amp;hd=1&amp;quot; class=&amp;quot;docs-video-tutorial&amp;quot;&amp;gt;&amp;lt;em&amp;gt;Watch the video tutorial for this feature.&amp;lt;/em&amp;gt;&amp;lt;span&amp;gt; &amp;lt;img src=&amp;quot;https://assets.whmcs.com/icons/youtube.png&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Adding a Server===&lt;br /&gt;
&lt;br /&gt;
WHMCS provides a Server Setup Wizard to allow for quick and easy implementation of new servers. &lt;br /&gt;
&lt;br /&gt;
To use this:&lt;br /&gt;
&lt;br /&gt;
#Go to '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; Products/Services &amp;gt; Servers'''.&lt;br /&gt;
#Click '''Add New Server'''.&lt;br /&gt;
#Input your required module, hostname or IP address, username, and password. Also enter your '''API Token''' if you have one.&lt;br /&gt;
#Click '''Test Connection'''. This will ensure that WHMCS can successfully connect to this server. After testing, the servers configuration page will appear.&lt;br /&gt;
*Add more information according to your requirements. For more information, see [[#Manually_Adding_a_New_Server|Manually Adding a New Server]].&lt;br /&gt;
&lt;br /&gt;
[[File:ServerSetup.png|500px|center]]&lt;br /&gt;
&lt;br /&gt;
===Manually Adding a New Server===&lt;br /&gt;
&lt;br /&gt;
You can add new servers using our older method by going to '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; Products/Services &amp;gt; Servers''' and selecting '''Add New Server'''. On this, page, click the &amp;quot;Click Here&amp;quot; link to load the previous experience.&lt;br /&gt;
&lt;br /&gt;
All fields are optional, but you should at least enter a name and IP address for each server you add. You can configure:&lt;br /&gt;
&lt;br /&gt;
*Name — Enter a unique name to identify this server.&lt;br /&gt;
*Hostname — Enter the primary domain of the server. The system uses this to link to the server with certain modules.&lt;br /&gt;
*IP Address — Enter the primary IP address of the server. The system uses this to connect to the server.&lt;br /&gt;
*Assigned IP Addresses — Enter the other IP addresses for the server here. The system uses them in conjunction with Utilities &amp;gt; [[Domain_Resolver_Checker|Domain Resolver]] to check which domains in WHMCS are pointing to your server.&lt;br /&gt;
*Monthly Cost — Optionally enter the monthly server cost. The system uses this in reports to calculate profit.&lt;br /&gt;
*Datacenter/NOC — Optionally, enter the datacenter for the server. The system only uses this to help you keep records of where servers are.&lt;br /&gt;
*Maximum No. of Accounts — Enter the maximum number of accounts to add to the server. The system uses this to find the server's use percentage and determine when the default server is full. Once the selected server is full the default is updated so accounts can be provisioned on the next server with available space.&lt;br /&gt;
*Primary/Secondary/Tertiary/Quaternary Nameservers — Enter the nameservers for this server (for example, &amp;lt;tt&amp;gt;ns1.yourdomain.com&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;ns2.yourdomain.com&amp;lt;/tt&amp;gt;). The system uses them in the welcome email and when registering domains.&lt;br /&gt;
*Primary/Secondary/Tertiary/Quaternary Nameserver IPs — Enter the IP addresses for each of the nameservers. The system may use this in emails.&lt;br /&gt;
*Server Type, Username, Access Hash and Password — Enter the root or reseller login details for your server. For cPanel &amp;amp; WHM servers, you can also enter a username and access hash.&lt;br /&gt;
* If you use the cPanel, DirectAdmin, or Plesk modules, click '''Test Connection''' to test the details you enter on this page. This ensures that the connection and login details are valid before saving.&lt;br /&gt;
*Server Status URL — Enter the URL for the status folder. See the Status Monitoring section below.&lt;br /&gt;
&lt;br /&gt;
If this is the only server for the selected module, click on the name and ensure it results in an asterisk (*) next to it. This ensures it is the default. The system will use it when any other non-specific configuration (server groups) doesn't apply.&lt;br /&gt;
&lt;br /&gt;
===Syncing Accounts to WHMCS===&lt;br /&gt;
&lt;br /&gt;
After adding a new server, it's possible that you already have some accounts on your server that you want to import in to WHMCS.&lt;br /&gt;
&lt;br /&gt;
In WHMCS 7.8, we introduced a new Server Sync Tool, which allows for quick and easy imports from any server that supports it.&lt;br /&gt;
&lt;br /&gt;
==Status Monitoring==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;a href=&amp;quot;http://www.youtube.com/watch?v=0w7YcalU078&amp;amp;hd=1&amp;quot; class=&amp;quot;docs-video-tutorial&amp;quot;&amp;gt;&amp;lt;em&amp;gt;Watch the video tutorial for this feature.&amp;lt;/em&amp;gt;&amp;lt;span&amp;gt; &amp;lt;img src=&amp;quot;https://assets.whmcs.com/icons/youtube.png&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Status monitoring allows you to view the load and uptime for each of your Linux-based servers from within the WHMCS client or admin area.&lt;br /&gt;
&lt;br /&gt;
To enable this, you must upload the status folder in the WHMCS zip file download to each of your servers. Then, enter the URL to that folder in the server setup '''Server Status URL''' field. You can also leave the field blank, which disables monitoring for that server.&lt;br /&gt;
&lt;br /&gt;
WHMCS disables PHP Info output by default for security reasons. To enable it, uncomment the line &amp;lt;tt&amp;gt;#phpinfo();&amp;lt;/tt&amp;gt; (remove the #) within the &amp;lt;tt&amp;gt;index.php&amp;lt;/tt&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
===Customising the Ports===&lt;br /&gt;
The ports that the server status page checks can be customised by editing the &amp;lt;tt&amp;gt;/templates/*your active template*/serverstatus.tpl&amp;lt;/tt&amp;gt; template file. You will need to modify two parts of the template:&lt;br /&gt;
&lt;br /&gt;
Near line 44:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;th class=&amp;quot;text-center&amp;quot;&amp;gt;HTTP&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th class=&amp;quot;text-center&amp;quot;&amp;gt;FTP&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th class=&amp;quot;text-center&amp;quot;&amp;gt;POP3&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These are the column headings. You can change them to describe the ports you will be monitoring.&lt;br /&gt;
&lt;br /&gt;
Near line 73:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
checkPort({$num}, 80);&lt;br /&gt;
checkPort({$num}, 21);&lt;br /&gt;
checkPort({$num}, 110);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Change the numbers (80, 21, and 110 by default) to change, add, or remove ports to check.&lt;br /&gt;
&lt;br /&gt;
==Deleting a Server==&lt;br /&gt;
&lt;br /&gt;
To delete a server, go to '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; Servers''' and click the red X icon on the same row as the server you wish to delete. If the deletion succeeds, a message will appear confirming whether you want to delete it. Click OK to remove it.&lt;br /&gt;
&lt;br /&gt;
You cannot delete a server with assigned accounts. This includes terminated and cancelled accounts.&lt;br /&gt;
&lt;br /&gt;
==Status==&lt;br /&gt;
Status is not the same as Status Monitoring, above. Servers can have one of two statuses: enabled and disabled, denoted by a green check or grey X respectively. During normal operations, a server would be active. However, if you will no longer use an old server and disconnect it, change the status to disabled.&lt;br /&gt;
&lt;br /&gt;
Disabling a server removes it from the daily usage statistics update (which could fail if a disconnected server was active) and moves it to the bottom of all server menus.&lt;br /&gt;
&lt;br /&gt;
To change the status of a server, navigate to Setup &amp;gt; Servers and click the status icon to toggle to the other status. For example, click the green checkmark icon on an active server to deactivate it.&lt;br /&gt;
&lt;br /&gt;
==Server Groups==&lt;br /&gt;
&lt;br /&gt;
Server groups allow you to configure servers into sets in which you can assign products automatically, based on your requirements and provisioning settings. For example, you may want shared accounts on certain servers and resellers on others, with accounts being distributed evenly between all the servers you have. Server groups make this possible.&lt;br /&gt;
&lt;br /&gt;
===Creating a Group===&lt;br /&gt;
&lt;br /&gt;
To create a group:&lt;br /&gt;
&lt;br /&gt;
#Go to '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; Servers''' or, prior to WHMCS 8.0,  '''Setup &amp;gt; Products/Services &amp;gt; Servers''' .&lt;br /&gt;
#Click '''Create New Group''' under the '''Options''' heading.&lt;br /&gt;
#Enter a name for your group.&lt;br /&gt;
#Choose whether to assign new orders to the least-full server ''(based on the percentage of accounts available within the '''Maximum No. of Account''' value)''  '''or''' fill the default server until it reaches the limit for accounts, and then move to the next server.&lt;br /&gt;
#Select the servers you want to assign to this group in the box on the left.&lt;br /&gt;
#Click '''Add''' to move them to the box on the right, which contains the servers for this group.&amp;lt;br /&amp;gt;'''NOTE:''' If you only assign one server to a group, select the ''Add to the least full server'' fill type.&lt;br /&gt;
#Click '''Save Changes''' to complete the process.&lt;br /&gt;
&lt;br /&gt;
===Assigning Products to a Group===&lt;br /&gt;
&lt;br /&gt;
To assign a product to a group:&lt;br /&gt;
#Find the product in the '''Products &amp;amp; Services''' configuration area.&lt;br /&gt;
#Click the edit icon for it.&lt;br /&gt;
#Click the '''Module Settings''' tab.&lt;br /&gt;
#Use the '''Server Group''' menu to select the server group. By default, this is None, which assigns the product to the default server for that module.&lt;br /&gt;
&lt;br /&gt;
===Editing/Deleting a Group===&lt;br /&gt;
&lt;br /&gt;
You will see the same interface and options when you edit a group as when you create one.&lt;br /&gt;
*You can add or remove servers from a group at any time.&lt;br /&gt;
*You can set the maximum number of accounts to assign to a server when editing the setup of the individual server.&lt;/div&gt;</summary>
		<author><name>DanR</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=System_Utilities&amp;diff=30337</id>
		<title>System Utilities</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=System_Utilities&amp;diff=30337"/>
				<updated>2021-05-30T12:46:05Z</updated>
		
		<summary type="html">&lt;p&gt;DanR: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Link Tracking==&lt;br /&gt;
&lt;br /&gt;
The link or ad tracker tool allows you to track your advertising campaigns. You can set up the various links you want to use and then, instead of linking directly, you use the tracking link WHMCS gives you.  It then tracks the number of clickthroughs you get and, ultimately, conversions, using a cookie and providing an easy way to analyse how successful different promotions and links are.&lt;br /&gt;
&lt;br /&gt;
How does it all work? When the click passes through WHMCS the system increments the count by one, but also sets a cookie on the user's computer to say they used that link. The system only stores the latest link they used, so a conversion never counts more than once. The cookie lasts for three months, so if a user then places an order with that cookie still present on their computer, the conversion count for that link increases.&lt;br /&gt;
&lt;br /&gt;
===How to add a tracked URL===&lt;br /&gt;
&lt;br /&gt;
To do this:&lt;br /&gt;
&lt;br /&gt;
#Begin by going to '''Utilities &amp;gt; Link Tracking'''.&lt;br /&gt;
#Click &amp;quot;Add a New Link&amp;quot;.&lt;br /&gt;
#Enter a name to identify the link and the URL to forward the user to.&lt;br /&gt;
#Click Add Link. The system will add the link for tracking.&lt;br /&gt;
&lt;br /&gt;
===How to get the URL to use for tracking===&lt;br /&gt;
&lt;br /&gt;
To do this:&lt;br /&gt;
&lt;br /&gt;
#After adding the URL for tracking, click the edit icon next to it.&lt;br /&gt;
#The Link/URL field on the edit page will show the link you need to use (for example, http://demo.whmcs.com/link.php?id=1)&lt;br /&gt;
#Link to that URL from wherever you run the promotion.&lt;br /&gt;
&lt;br /&gt;
===How to monitor the links===&lt;br /&gt;
&lt;br /&gt;
To check on your links, go to '''Utilities &amp;gt; Link Tracking'''. WHMCS lists the links you've set up for tracking, the number of clicks each has had, and the number of conversions (orders).&lt;br /&gt;
&lt;br /&gt;
==Calendar==&lt;br /&gt;
&lt;br /&gt;
[[File:calendar.png|thumb|The Calendar]]&lt;br /&gt;
&lt;br /&gt;
The calendar lists all pending, active and suspended products, addons, domains, and to-do items on the dates they are due. When you use this in conjunction with our [http://www.whmcs.com/addons/project-management/ Project Management Addon] it will also display the due date of projects.  It allows you to easily see, at a glance, upcoming payments, domain expiration, and projects for each date.&lt;br /&gt;
&lt;br /&gt;
You can also add your own events and tasks to the calendar.  These can be either one time events or regular recurring events (for example, server payments or admin tasks) and can span multiple days. To add an event, click the date you want to add it on and fill in the popup. To edit an event, click on it on the scheduled day and a popup will appear to allow adjustments.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;title&amp;quot;&amp;gt;Timezones&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
When entering a start/finish time use the '''UTC''' timezone. The calendar will then convert this to your WHMCS installations' timezone for display purposes.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the calendar becomes busy, you can use the Show/Hide filters to reduce the amount of displayed data. Detailed weekly and daily listings are available by clicking the appropriate button in the top right corner of the calendar.&lt;br /&gt;
&lt;br /&gt;
A [[Widgets|widget]], available on the admin homepage, displays today's events, and allows you to see the scheduled events for any day in the current month and even add new events directly from the admin summary.&lt;br /&gt;
&lt;br /&gt;
==To-Do List==&lt;br /&gt;
&lt;br /&gt;
The to do list allows you to add tasks that need to be finished, the dates they are due for completion, and the assigned admin. To-Do Items can also have an unlimited length description for storing additional information about the task. Access the To-Do list via '''Utilities &amp;gt; To-Do List'''. The admin homepage widget displays due items.&lt;br /&gt;
&lt;br /&gt;
Enable or disable automated domain-related To-Do entry creation in the [[Domains_Tab|General Settings]].&lt;br /&gt;
&lt;br /&gt;
==Activity Logs==&lt;br /&gt;
&lt;br /&gt;
WHMCS logs all activity, admin logins, gateway communications, sent and received email communications, and domain lookups.  This allows you to monitor and track all the activity taking place inside your WHMCS system.  You can find the logs in '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Logs''' in the left-side menu (or in the '''Utilities''' menu in WHMCS 7.x and earlier). They include:&lt;br /&gt;
&lt;br /&gt;
* [[Activity_Logs|Activity Log]]&lt;br /&gt;
* Admin Log &lt;br /&gt;
* Module Log&lt;br /&gt;
* Email Message Log&lt;br /&gt;
* Ticket Mail Import Log &lt;br /&gt;
* WHOIS Lookup History Log &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-warning&amp;quot;&amp;gt;&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Note:&amp;lt;/strong&amp;gt; The '''Email Message Log''' will log all emails that WHMCS sends to clients, with the exception of the &amp;quot;Automated Password Reset&amp;quot;, &amp;quot;Client Email Address Verification&amp;quot;, and &amp;quot;Password Reset Validation&amp;quot; emails.&amp;lt;/p&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Over time, log records in your WHMCS System will accumulate.  As the number of records grows, so will your database, and you may begin noticing a reduction in performance. If these start affecting performance, WHMCS allows you to empty them at any time. To empty your logs, perform the following actions: &lt;br /&gt;
&lt;br /&gt;
# Log in to your WHMCS Admin Area.&lt;br /&gt;
# Navigate to '''Utilities &amp;gt; System Cleanup'''. You will see options to empty the Gateway, and WHOIS Lookup logs.&lt;br /&gt;
# Click the '''Go''' button next to the log you would like to empty. A confirmation message will then appear, confirming that the system emptied the log.&lt;br /&gt;
&lt;br /&gt;
Additionally, from the same Cleanup Operations page, you can prune the Client Activity Logs so that the system only maintains entries after a specified date. To do this, enter in your desired date, and click on the Delete button. Again, a confirmation message will then appear to confirm that the system pruned the log.&lt;br /&gt;
&lt;br /&gt;
==Database Backups==&lt;br /&gt;
&lt;br /&gt;
WHMCS stores its data in your database, so is very important. It is therefore recommended that you take regular backups of it. There are two built-in solutions for automated database backups using the daily cron. One is email and the other is an FTP backup to a remote server. You can find configuration instructions on the [[Backups|Backups Page]].&lt;br /&gt;
&lt;br /&gt;
==System Cleanup==&lt;br /&gt;
With constant daily operations, the log files in WHMCS can become quite large. The Cleanup Operations page allows you to prune logs to reduce the size of the database and reduce disk space. You can find this at '''Utilities &amp;gt; System &amp;gt; System Cleanup'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-warning&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;title&amp;quot;&amp;gt;Note:&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Only delete information you're certain is no longer necessary (for example, for audit purposes). WHMCS Technical Support may be unable to assist in some matters if you have removed the relevant logs.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Empty Gateway Log===&lt;br /&gt;
This clears out the '''Billing &amp;gt; Gateway Log''' communication between you and your payment gateways. It does not affect transactions and invoices.&lt;br /&gt;
&lt;br /&gt;
===Empty Whois Lookup Log===&lt;br /&gt;
Clears out the '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Logs &amp;gt; WHOIS Lookup Log''' ('''Utilities &amp;gt; Logs &amp;gt; WHOIS Lookup Log''' in WHMCS 7.x and earlier) of the domains that clients have checked.&lt;br /&gt;
&lt;br /&gt;
===Empty Ticket Mail Import Log===&lt;br /&gt;
This clears out the '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Logs &amp;gt; Ticket Mail Import Log''' ('''Utilities &amp;gt; Logs &amp;gt; Ticket Mail Import Log''' in WHMCS 7.x and earlier) of the record of emails you piped into the WHMCS ticket system. It does not affect tickets themselves.&lt;br /&gt;
&lt;br /&gt;
===Empty Template Cache===&lt;br /&gt;
WHMCS caches templates into static files to reduce the loading time of each page. In order for template changes to take effect, it is necessary to clear the cached files.&lt;br /&gt;
&lt;br /&gt;
In order to do this, remove all existing files from the templates_c folder, which you can do quickly and easily using this option. Make sure the &amp;lt;tt&amp;gt;/templates_c&amp;lt;/tt&amp;gt; directory is writeable so that WHMCS is able to delete the cache files and generate new ones.&lt;br /&gt;
&lt;br /&gt;
===Prune Client Activity Logs===&lt;br /&gt;
Select a date to remove any client entries in '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Logs''' ('''Utilities &amp;gt; Logs &amp;gt; Activity Log''' in WHMCS 7.x and earlier) before that date. Non-client-related entries will remain.&lt;br /&gt;
&lt;br /&gt;
===Prune Saved Emails===&lt;br /&gt;
Select a date to remove any emails in '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Logs &amp;gt; Ticket Mail Import Log''' ('''Utilities &amp;gt; Logs &amp;gt; Ticket Mail Import Log''' in WHMCS 7.x and earlier)  before that date.&lt;br /&gt;
&lt;br /&gt;
=== Prune Old Attachments===&lt;br /&gt;
Select a date to remove any support ticket attachments from closed tickets which are also older than the date selected. The system will also delete them from the /attachments directory.&lt;br /&gt;
&lt;br /&gt;
==PHP Info==&lt;br /&gt;
The '''PHP Info''' page outputs a variety of information about the current configuration of PHP and the server. This includes information such as PHP options and extensions, the PHP version, server information, and &amp;lt;tt&amp;gt;php.ini&amp;lt;/tt&amp;gt; configuration settings currently in use for the WHMCS Admin Area.&lt;br /&gt;
&lt;br /&gt;
These details come directly from the &amp;lt;tt&amp;gt;phpinfo()&amp;lt;/tt&amp;gt; PHP function and are not edited or changed by WHMCS.&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting System Utilities==&lt;br /&gt;
===Database Backup Fails/Timesout===&lt;br /&gt;
The most common reason for database backups to fail is simply that it has grown too large and the PHP process takes too long or uses too much memory and is killed before it can complete the backup process.&lt;br /&gt;
&lt;br /&gt;
You can find further details on this in the [[Backups#Limitations|Backups Limitations]] section.&lt;br /&gt;
&lt;br /&gt;
===System Cleanup page fails to load===&lt;br /&gt;
If the System Cleanup page fails to load entirely, this can be caused by a missing or unreadable 'attachments' directory.&lt;br /&gt;
&lt;br /&gt;
You should ensure the attachments directory path configured in Storage Settings exists and is readable. It is also important to ensure the attachments directory path is absolute and not relative to avoid timeout issues on the System Cleanup page. &lt;br /&gt;
&lt;br /&gt;
You can find further details on changing the Storage Settings path in our [[Moving_Storage_Locations]] guide.&lt;/div&gt;</summary>
		<author><name>DanR</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Email_Sending_Issues&amp;diff=30310</id>
		<title>Email Sending Issues</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Email_Sending_Issues&amp;diff=30310"/>
				<updated>2021-05-18T15:27:54Z</updated>
		
		<summary type="html">&lt;p&gt;DanR: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sometimes, the system may not send mail using the expected methods. The problem is usually a misconfiguration.&lt;br /&gt;
&lt;br /&gt;
==Emails Not Sending==&lt;br /&gt;
&lt;br /&gt;
===General Emails===&lt;br /&gt;
&lt;br /&gt;
If the system isn't sending general emails, such as client sign-up or order confirmations, take the following steps to ensure a correct setup.&lt;br /&gt;
&lt;br /&gt;
First, check these points:&lt;br /&gt;
&lt;br /&gt;
#Check whether you have disabled the email template in '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; Email Templates'''.&lt;br /&gt;
#Check whether custom action hooks that could prevent email from sending exist in the &amp;lt;tt&amp;gt;/includes/hooks&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;/modules/addons&amp;lt;/tt&amp;gt; directories.&lt;br /&gt;
#Check whether you can send the emails manually.&lt;br /&gt;
&lt;br /&gt;
If the above steps don't resolve the issue:&lt;br /&gt;
&lt;br /&gt;
#Check whether any email appears at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Logs &amp;gt; Email Message Log''' ('''Utilities &amp;gt; Logs &amp;gt; Email Message Log''' in WHMCS 7.x and earlier).&lt;br /&gt;
#Check whether an error occurs at the time of email sending under '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Logs &amp;gt; [[Activity_Logs|Activity Log]]''' ('''Utilities &amp;gt; Logs &amp;gt; Activity Log''' in WHMCS 7.x and earlier).&lt;br /&gt;
&lt;br /&gt;
'''No Error in Activity Log:'''&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If a message exists in the '''Email Message Log''' and there are no errors in the '''Activity Log''', the message likely left WHMCS without any errors from your mail server. Therefore, the problem is one of email delivery and not a WHMCS software issue. Contact your mail server administrator to investigate. &lt;br /&gt;
&lt;br /&gt;
There are many '''Email Templates''' that the '''Email Message Log''' doesn't record, in order to protect the sensitive data they contain. These are: &lt;br /&gt;
&lt;br /&gt;
* Automated Password Reset.&lt;br /&gt;
* Client Email Address Verification.&lt;br /&gt;
* Password Reset Validation.&lt;br /&gt;
&lt;br /&gt;
In addition to this, there a number of '''Email Templates''' that the system won't CC or BCC at the template level. These are:&lt;br /&gt;
&lt;br /&gt;
* Password Reset Validation.&lt;br /&gt;
* Password Reset Confirmation.&lt;br /&gt;
* Automated Password Reset.&lt;br /&gt;
&lt;br /&gt;
===Product Welcome Email===&lt;br /&gt;
&lt;br /&gt;
Problems with the sending of the welcome emails are typically due to an issue with account creation. For more information, see [[Auto Setup Issues]].&lt;br /&gt;
&lt;br /&gt;
===Support Ticket Notifications===&lt;br /&gt;
&lt;br /&gt;
If the system isn't sending support ticket notification emails to your staff (for example, new support tickets or new client replies) take the following steps to ensure it is set up properly:&lt;br /&gt;
&lt;br /&gt;
First, check these points:&lt;br /&gt;
&lt;br /&gt;
#Check whether you have selected the '''Enable Ticket Notifications''' options under '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; Manage Admins &amp;gt; Administrator Users &amp;gt; Edit'''.&lt;br /&gt;
#Check whether you have selected the '''Support Emails''' option under '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; Manage Admins &amp;gt; Administrator Roles &amp;gt; Edit'''.&lt;br /&gt;
#Check whether the admin ticket notification emails are disabled under '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; Email Templates'''.&lt;br /&gt;
&lt;br /&gt;
If the above steps don't resolve the issue:&lt;br /&gt;
&lt;br /&gt;
#Check whether you have selected the '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; General Settings &amp;gt; Support &amp;gt; Disable Reply Email Logging''' option. After deselecting it, attempt to replicate the issue.&lt;br /&gt;
#Check whether there's an error at the time of email sending under '''System Settings (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Logs''' ('''Utilities &amp;gt; Logs &amp;gt; Activity Log''' in WHMCS 7.x and earlier).&lt;br /&gt;
&lt;br /&gt;
'''No Error in Activity Log:'''&lt;br /&gt;
&lt;br /&gt;
If there is no error in the '''Activity Log''' at the time of email sending, this indicates that the email left WHMCS without any errors from your mail server. Therefore, the problem is one of email delivery and not a WHMCS software issue. Contact your mail server administrator to investigate.&lt;br /&gt;
&lt;br /&gt;
==Emails Flagged as Spam==&lt;br /&gt;
&lt;br /&gt;
There are multiple reasons why systems may deliver emails from a WHMCS installation to a spam folder or reject them. Usually, this is due to the server configuration. WHMCS email templates should not trigger any standard spam rules. &lt;br /&gt;
&lt;br /&gt;
First, check these points:&lt;br /&gt;
 &lt;br /&gt;
* Check whether you can use SMTP rather than PHP mail under '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; General Settings &amp;gt; Mail'''. Many email providers block PHP mailer scripts as &amp;quot;unverified mail&amp;quot;. &lt;br /&gt;
 &lt;br /&gt;
* Verify that the email address you are sending &amp;quot;from&amp;quot; actually exists on your server, and whether it can send and receive mail normally. &lt;br /&gt;
 &lt;br /&gt;
* Check your mail server's IP address to verify it is not in any blacklists at http://mxtoolbox.com.&lt;br /&gt;
 &lt;br /&gt;
* Contact your web hosting or mail server provider for investigation into your IP reputation. They will be able to contact other email providers on your behalf. &lt;br /&gt;
 &lt;br /&gt;
* If you suspect that the wording of an email may be triggering a filter, try customizing you email templates so they do not match every other WHMCS installation's emails. &lt;br /&gt;
 &lt;br /&gt;
* Verify that your domain has an accurate and strict SPF record setup, as well as a correct PTR record.&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
 &lt;br /&gt;
Sometimes, the error output in the '''Activity Log''' when sending of emails via SMTP fails can lack verbosity. Alternatively, the underlying cause may be different from the message that the system ultimately displays. Adding the following line to the &amp;lt;tt&amp;gt;configuration.php&amp;lt;/tt&amp;gt; file will output a lot of debugging information when you send mail manually. This requires that the '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; General Settings &amp;gt; Mail &amp;gt; Mail Type''' is '''SMTP''':&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;$smtp_debug = true;&amp;lt;/source&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
After sending an email manually, the system will display the interaction between your server and the email server, for debugging purposes. After this process, be sure to revert the change to the &amp;lt;tt&amp;gt;configuration.php&amp;lt;/tt&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
===Common Errors===&lt;br /&gt;
&lt;br /&gt;
The following are errors which may commonly appear in the activity log when attempting to send an email, resulting in email sending failure.&lt;br /&gt;
&lt;br /&gt;
====Could not connect to SMTP host====&lt;br /&gt;
&lt;br /&gt;
There are several possible reasons for this error:&lt;br /&gt;
&lt;br /&gt;
# The SMTP settings in the '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; General Settings &amp;gt; Mail''' tab are incorrect. Check with your system administrator to verify that you have entered the correct SMTP host, port, username, and password, and that you have selected the appropriate SSL type for use with your mail server.&lt;br /&gt;
#The mail server is blocking connections from your WHMCS installation's server.&lt;br /&gt;
#Your WHMCS installation's server is blocking outgoing connections to the mail server.&lt;br /&gt;
#The system is using an inappropriate SMTP port and the '''SSL Type''' option is selected. For example, selecting TLS and the port number 256 would cause this error. For a list of the most common port assignments, see '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; General Settings &amp;gt; [http://docs.whmcs.com/Mail_Tab#SMTP_Port Mail &amp;gt; SMTP Port]'''.&lt;br /&gt;
#The mail server is advertising that TLS connections are available, but when a secure connection is attempted it fails due to a certificate validation error. The appropriate solution would be to ensure that you have installed a validated certificate on the mail server. As a workaround, you can set the '''SMTPAutoTLS''' setting to ''false'' in ''/vendor/phpmailer/phpmailer/class.phpmailer.php''. For more information, see [https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting#opportunistic-tls the PHPMailer troubleshooting documentation].&lt;br /&gt;
&lt;br /&gt;
====Message body empty====&lt;br /&gt;
&lt;br /&gt;
A &amp;quot;Message Body Empty&amp;quot; error indicates that a syntax error occurred, preventing the email from sending. Review '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Logs''' ('''Utilities &amp;gt; Logs &amp;gt; Activity Log''' in WHMCS 7.x and earlier) at the time of sending for entries beginning &amp;quot;Smarty Error&amp;quot;. This will provide more information on the invalid syntax, which you will need to correct before attempting to send the email again.&lt;br /&gt;
&lt;br /&gt;
====The following recipients failed====&lt;br /&gt;
&lt;br /&gt;
This error is often due to a misaddressed email. Check the following locations to ensure a valid email address:&lt;br /&gt;
&lt;br /&gt;
*The client's '''Profile''' tab.&lt;br /&gt;
*The client's '''Contacts''' tab.&lt;br /&gt;
*'''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; General Settings &amp;gt; Mail &amp;gt; BCC Messages''' text box.&lt;br /&gt;
*'''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; Email Templates &amp;gt; Edit &amp;gt; Copy To''' text box.&lt;br /&gt;
*All administrator users under '''System Settings (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; Manage Admins &amp;gt; Administrator Users.&lt;br /&gt;
&lt;br /&gt;
Check for blank spaces or punctuation before or after an email address in all the above locations.&lt;br /&gt;
&lt;br /&gt;
====Email Send Aborted By Hook====&lt;br /&gt;
 &lt;br /&gt;
An &amp;quot;Email Send Aborted By Hook&amp;quot; error indicates that a custom hook has prevented the email from sending.&lt;br /&gt;
 &lt;br /&gt;
Take the following actions to begin troubleshooting this error:&lt;br /&gt;
&lt;br /&gt;
* Enable the [[Other_Tab#Hooks_Debug_Mode|Hooks Debug Mode]] option.&lt;br /&gt;
* Replicate the error again.&lt;br /&gt;
* Disable the Hooks Debug Mode option.&lt;br /&gt;
* Review the [[Activity_Logs|Activity Log]].&lt;br /&gt;
* Locate the &amp;quot;Email Send Aborted By Hook&amp;quot; error in the log.&lt;br /&gt;
&lt;br /&gt;
After locating the error look over the adjacent entries for a series of three lines that look similar to the following:&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
Hooks Debug: Hook File Loaded: /path/to/the/hook_file.php&lt;br /&gt;
Hooks Debug: Hook Defined for Point: EmailPreSend - Priority: 1 - Function Name: (anonymous function)&lt;br /&gt;
Hooks Debug: Attempting to load hook file: /path/to/the/hook_file.php&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
The file in the &amp;quot;Hook File Loaded&amp;quot; and &amp;quot;Attempting to load hook file&amp;quot; entries is the hook responsible for the &amp;quot;Email Send Aborted By Hook&amp;quot; error.&lt;br /&gt;
 &lt;br /&gt;
Contact the developer of that hook file for more information.&lt;br /&gt;
&lt;br /&gt;
====Email sending aborted.====&lt;br /&gt;
 &lt;br /&gt;
An &amp;quot;Email sending aborted.&amp;quot; error indicates that an unknown issue has prevented the email from sending.&lt;br /&gt;
 &lt;br /&gt;
This error commonly occurs when there is a configuration issue with the file paths in the [[Storage_Settings|Storage Settings]] section of the installation.&lt;br /&gt;
 &lt;br /&gt;
To remedy this, ensure that you have updated the storage locations. For more information, see the [[Moving_Storage_Locations|Moving Storage Locations]] guide.&lt;br /&gt;
&lt;br /&gt;
====Email sending aborted by configuration====&lt;br /&gt;
 &lt;br /&gt;
In WHMCS 8.1, this error indicates that you have set '''Disable Email Sending''' to '''ON''' at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; General Settings''' in the '''Mail''' tab. The system creates a log entry each time that you enable or disable this setting. For more information, see [[Disabling Outgoing Mail]].&lt;br /&gt;
 &lt;br /&gt;
We recommend that you only enable this setting when you are testing updates or customizations on a development installation or while troubleshooting.&lt;br /&gt;
&lt;br /&gt;
{{troubleshooting}}&lt;br /&gt;
&lt;br /&gt;
==Emails Flagged as Spam==&lt;br /&gt;
 &lt;br /&gt;
There are multiple reasons why systems may deliver emails from a WHMCS installation to a spam folder or reject them. Usually, this is due to the server configuration. WHMCS email templates should not trigger any standard spam rules.&lt;br /&gt;
 &lt;br /&gt;
First, check these points:&lt;br /&gt;
 &lt;br /&gt;
* If you use '''PHP Mail''', check whether you can use a different '''Mail Provider''' under '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; General Settings &amp;gt; Mail'''. Many email providers block PHP mailer scripts as &amp;quot;unverified mail&amp;quot;.&lt;br /&gt;
 &lt;br /&gt;
* Verify that the email address you are sending &amp;lt;tt&amp;gt;from&amp;lt;/tt&amp;gt; actually exists on your server, and whether it can send and receive mail normally.&lt;br /&gt;
 &lt;br /&gt;
* Check your mail server's IP address to verify that it's not in any blacklists at [http://mxtoolbox.com the mxtoolbox website].&lt;br /&gt;
 &lt;br /&gt;
* Contact your web hosting or mail server provider for investigation into your IP reputation. They will be able to contact other email providers on your behalf.&lt;br /&gt;
 &lt;br /&gt;
* If you suspect that the wording of an email may be triggering a filter, try customizing you email templates so they do not match every other WHMCS installation's emails.&lt;br /&gt;
 &lt;br /&gt;
* Verify that your domain has an accurate and strict SPF record setup, as well as a correct PTR record.&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
  &lt;br /&gt;
Sometimes, the '''Activity Log''' error output lacks verbosity when sending emails via SMTP fails. Alternatively, the underlying cause may be different from the message that the system ultimately displays.&lt;br /&gt;
 &lt;br /&gt;
===For version 8.0 and later===&lt;br /&gt;
In WHMCS v8.0+ follow these steps if your Mail Provider is SMTP:&lt;br /&gt;
# Navigate to '''Configuration &amp;gt; System Settings &amp;gt; General Setting &amp;gt; Mail Tab''' and click the '''Configure Mail Provider''' button&lt;br /&gt;
# Tick the ''SMTP Debug'' checkbox&lt;br /&gt;
# Click Test Configuration&lt;br /&gt;
# View the debugging output in the '''Configuration &amp;gt; System Logs'''.&lt;br /&gt;
 &lt;br /&gt;
===For version 7.x and earlier===&lt;br /&gt;
In WHMCS 7 and earlier, adding the following line to the &amp;lt;tt&amp;gt;configuration.php&amp;lt;/tt&amp;gt; file will output a large amount of debugging information when you send mail manually. This requires that '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; General Settings &amp;gt; Mail &amp;gt; Mail Type''' is ''SMTP'':&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;$smtp_debug = true;&amp;lt;/source&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
After sending an email manually, the system will display the interaction between your server and the email server, for debugging purposes. After this process, be sure to revert the change to the &amp;lt;tt&amp;gt;configuration.php&amp;lt;/tt&amp;gt; file.&lt;/div&gt;</summary>
		<author><name>DanR</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Crons&amp;diff=30307</id>
		<title>Crons</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Crons&amp;diff=30307"/>
				<updated>2021-05-17T16:34:16Z</updated>
		
		<summary type="html">&lt;p&gt;DanR: /* Legacy Cron File Locations */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;Need to troubleshoot the cron? Checkout our [https://help.whmcs.com/m/automation/l/683269-advanced-cron-troubleshooting| Advanced Cron Troubleshooting Guide.]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cron tasks must be created to automate tasks within WHMCS.&lt;br /&gt;
&lt;br /&gt;
Cron is the name given to a system daemon used to execute tasks (in the background) at designated times. WHMCS has a number of files that are required to be run on a periodic basis in this way. All these files are located in the ''crons'' directory.&lt;br /&gt;
&lt;br /&gt;
==Setting up the Cron Tasks==&lt;br /&gt;
&lt;br /&gt;
===System Cron===&lt;br /&gt;
&lt;br /&gt;
The system cron automates tasks within WHMCS. It should be configured as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;table table-bordered&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Version&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;System Cron Frequency&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;WHMCS 6.3.x and earlier&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Once per day&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;WHMCS 7.0 and later&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Every 5 minutes, or as frequently as your web hosting provider allows (minimum once per hour)&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Sample Cron Command'''&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cli&amp;quot;&amp;gt;&lt;br /&gt;
*/5 * * * * php -q /home/username/crons/cron.php&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can find a copy&amp;amp;paste ready command with the path specific for your setup by navigating to '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; Automation Settings''' or, prior to WHMCS 8.0,  '''Setup &amp;gt; Automation Settings''' within your WHMCS installation and copying the command from the &amp;quot;Cron Command&amp;quot; field using the copy button on the field.&lt;br /&gt;
&lt;br /&gt;
[[File:ConfigAutoCronCommand.png]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-success&amp;quot;&amp;gt;Most web hosting control panels provide a simple user interface for creating cron jobs. We have guides and documentation for most popular control panels [[Cron Configuration|available here]].&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Domain Sync Cron===&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-warning&amp;quot;&amp;gt;&amp;lt;i class=&amp;quot;fa fa-question-circle&amp;quot;&amp;gt;&amp;lt;/i&amp;gt; This cron is only required in 7.5 and earlier. It should be removed in 7.6 and above&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This cron task monitors for incoming domain transfers and synchronises expiry date changes made directly at a registrar. We recommend running this no more frequently than once every couple of days. More information is available at [[Domains_Tab#Domain_Sync_Enabled]] and [[Domain Synchronisation]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Sample Cron Command'''&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cli&amp;quot;&amp;gt;&lt;br /&gt;
0 3 */2 * * php -q /home/username/crons/domainsync.php&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The above example will run every 2 days at 3am.&lt;br /&gt;
&lt;br /&gt;
===POP Email Import Cron===&lt;br /&gt;
&lt;br /&gt;
This cron task is only required if you wish to import emails to the support queue via the POP3 protocol (we recommend using [[Email Piping]] wherever possible). If required, this should be configured to run every 5 minutes.&lt;br /&gt;
&lt;br /&gt;
'''Sample Cron Command'''&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cli&amp;quot;&amp;gt;&lt;br /&gt;
*/5 * * * * php -q /home/username/crons/pop.php&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The above example will run the POP3 email import task every 5 minutes.&lt;br /&gt;
&lt;br /&gt;
===Change of Daily Cron Hour===&lt;br /&gt;
&lt;br /&gt;
The desired time of day for the daily automated actions to be executed can be changed via the &amp;quot;Time of Day&amp;quot; setting detailed in our [[Automation_Settings]] documentation.&lt;br /&gt;
&lt;br /&gt;
WHMCS uses the PHP &amp;quot;now()&amp;quot; timestamp when the cron.php script is run to determine the current time. The calculation as to whether it is currently the &amp;quot;Time of Day&amp;quot; hour is based upon the value output by the PHP configuration applied the cron.php execution.&lt;br /&gt;
&lt;br /&gt;
We recommend executing the cron every 5 minutes. WHMCS will never perform a particular task more frequently than [[Crons#Task_Options_for_skip_.26_do Crons - Task Options for skip|documented here]]. Hence the cron.php file can be triggered every 5 minutes without any duplication occurring.&lt;br /&gt;
&lt;br /&gt;
If you do want to execute cron.php only at the hour specified in the &amp;quot;Time of Day&amp;quot; setting, ensure the timezone WHMCS is operating under matches that of the server's command line. More information on this can be found in the [[Changing_Timezone]] documentation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-warning&amp;quot;&amp;gt;The cron must execute the cron.php file within the hour set in the automation settings of WHMCS otherwise the daily automated tasks won't be performed.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Secure The Crons Directory==&lt;br /&gt;
&lt;br /&gt;
The crons folder may be moved to any place above or below the docroot.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-warning&amp;quot;&amp;gt;We recommend moving it to a non-public directory above your web root to prevent web based access.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
More information on moving the crons folder can be found in the [[Custom Crons Directory|Custom Crons Directory article]].&lt;br /&gt;
&lt;br /&gt;
==System Cron==&lt;br /&gt;
&lt;br /&gt;
The system cron (''crons/cron.php'') automates tasks within WHMCS. This script can be executed with a number of optional values. This allows very specific control of the tasks performed and the output generated by the script. For most installations, a simple entry that invokes the System Cron script (''crons/cron.php'') is all that is needed.&lt;br /&gt;
&lt;br /&gt;
===Input===&lt;br /&gt;
&lt;br /&gt;
The system cron script has the following argument input structure:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cli&amp;quot;&amp;gt;&lt;br /&gt;
cron.php [&amp;lt;command&amp;gt; [options]]&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The script also provides backwards capability for input options available prior to WHMCS v7.1:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cli&amp;quot;&amp;gt;&lt;br /&gt;
cron.php [legacy_option_flags]&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mixing of legacy option flags with the new argument options is not supported and will not work.&lt;br /&gt;
&lt;br /&gt;
===Commands===&lt;br /&gt;
&lt;br /&gt;
The cron.php command line script has 3 essential commands:&lt;br /&gt;
&lt;br /&gt;
* '''all''' - attempt to perform all due automation tasks. If no input is provided, this command is assumed.&lt;br /&gt;
* '''skip''' - perform all tasks, just like the '''all''' command, but exclude those specified in the input&lt;br /&gt;
* '''do''' - only perform, unconditionally, the task(s) specified in the input options&lt;br /&gt;
&lt;br /&gt;
There are two supporting commands:&lt;br /&gt;
&lt;br /&gt;
* '''help''' - provides usage help &amp;amp; options for the command specified&lt;br /&gt;
* '''list''' - list all possible commands&lt;br /&gt;
&lt;br /&gt;
===Options===&lt;br /&gt;
&lt;br /&gt;
Each command has its own set of options which can be view with the ''help &amp;lt;command&amp;gt;'' input syntax&lt;br /&gt;
&lt;br /&gt;
====Additional Options====&lt;br /&gt;
&lt;br /&gt;
* -F, --force&lt;br /&gt;
** Force the execution of tasks, regardless of &amp;quot;due&amp;quot; or &amp;quot;in progress&amp;quot; state&lt;br /&gt;
* -v, -vv, -vvv&lt;br /&gt;
** Verbosity of command line output&lt;br /&gt;
* --email-report=[1|0]&lt;br /&gt;
** Force send a digest report of work performed during execution. During the normal &amp;quot;daily&amp;quot; run, this is set to an implicit value of &amp;quot;1&amp;quot;. In all other cases, the implicit value is &amp;quot;0&amp;quot;&lt;br /&gt;
* -V, --version&lt;br /&gt;
** Output the WHMCS version and exits&lt;br /&gt;
* --no-ansi&lt;br /&gt;
** Strip any non-printing command line markup (used for color output)&lt;br /&gt;
* -h, --help&lt;br /&gt;
** Print help for a command; same as the '''help''' command itself&lt;br /&gt;
&lt;br /&gt;
===Output===&lt;br /&gt;
&lt;br /&gt;
The System Cron will not generate any success console output by default. Use the verbosity options if you require progressive completion information while attending the manual execution of System Cron invocation.&lt;br /&gt;
&lt;br /&gt;
The System Cron will, by default, generate a Digest Email Report when performing the &amp;quot;Daily&amp;quot; group of tasks. This report can be forcibly generated for any particular invocation with the ''--email-report=1'' report. The Digest Email Report will only contain information related to that execution and will not contain aggregate information from prior executions. Please visit the [[Automation Status]] page in your Admin area to get an overview of daily aggregated work.&lt;br /&gt;
&lt;br /&gt;
===Tasks===&lt;br /&gt;
&lt;br /&gt;
All routines of system cron (''cron.php'') are tasks. Most tasks are daily, and should only be run once a day. Some tasks benefit from running multiple times a day, such as ticket escalations or checking for WHMCS Updates. Other tasks should only run once a month, such as calculating overage usage and generating the respective invoices.&lt;br /&gt;
&lt;br /&gt;
====Task Options for '''skip''' and '''do'''====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;Option_Flags&amp;quot; style=&amp;quot;visibility: hidden&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
When performing a '''skip''' or '''do''' command, you can itemize which tasks are excluded or included respectively.&lt;br /&gt;
Below is a table that itemizes these task options, as well as their normal frequency.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;table&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; style=&amp;quot;width:30%&amp;quot;| Option&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; style=&amp;quot;width:20%&amp;quot;| Legacy Option&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; style=&amp;quot;width:40%&amp;quot;| Description&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; style=&amp;quot;width:10%&amp;quot;| Frequency&lt;br /&gt;
|-&lt;br /&gt;
| --CurrencyUpdateExchangeRates&lt;br /&gt;
| updaterates&lt;br /&gt;
| Update Currency Exchange Rates&lt;br /&gt;
| Daily&lt;br /&gt;
|-&lt;br /&gt;
| --CurrencyUpdateProductPricing&lt;br /&gt;
| updatepricing&lt;br /&gt;
| Update Product Prices for Current Rates&lt;br /&gt;
| Daily&lt;br /&gt;
|-&lt;br /&gt;
| --CreateInvoices&lt;br /&gt;
| invoices&lt;br /&gt;
| Generate Invoices&lt;br /&gt;
| Daily&lt;br /&gt;
|-&lt;br /&gt;
| --AddLateFees&lt;br /&gt;
| latefees&lt;br /&gt;
| Apply Late Fees&lt;br /&gt;
| Daily&lt;br /&gt;
|-&lt;br /&gt;
| --ProcessCreditCardPayments&lt;br /&gt;
| ccprocessing&lt;br /&gt;
| Process Credit Card Charges&lt;br /&gt;
| Daily&lt;br /&gt;
|-&lt;br /&gt;
| --InvoiceReminders&lt;br /&gt;
| invoicereminders&lt;br /&gt;
| Generate daily reminders for unpaid and overdue invoice&lt;br /&gt;
| Daily&lt;br /&gt;
|-&lt;br /&gt;
| --DomainRenewalNotices&lt;br /&gt;
| domainrenewalnotices&lt;br /&gt;
| Processing Domain Renewal Notices&lt;br /&gt;
| Daily&lt;br /&gt;
|-&lt;br /&gt;
| --DomainStatusSync&lt;br /&gt;
| n/a&lt;br /&gt;
| Processing Domain Status Syncing for Active domains. Batches of 50. Known as DomainExpirySync in v7.7 and earlier&lt;br /&gt;
| As soon as every hour&lt;br /&gt;
|-&lt;br /&gt;
| --DomainTransferSync&lt;br /&gt;
| n/a&lt;br /&gt;
| Processing Domain Transfer Syncing for Pending Transfer domains&lt;br /&gt;
| As soon as every hour &lt;br /&gt;
|-&lt;br /&gt;
| --CancellationRequests&lt;br /&gt;
| cancelrequests&lt;br /&gt;
| Process Cancellation Requests&lt;br /&gt;
| Daily&lt;br /&gt;
|-&lt;br /&gt;
| --AutoSuspensions&lt;br /&gt;
| suspensions&lt;br /&gt;
| Processing Overdue Suspensions&lt;br /&gt;
| Daily&lt;br /&gt;
|-&lt;br /&gt;
| --AutoTerminations&lt;br /&gt;
| terminations&lt;br /&gt;
| Process Overdue Terminations&lt;br /&gt;
| Daily&lt;br /&gt;
|-&lt;br /&gt;
| --FixedTermTerminations&lt;br /&gt;
| fixedtermterminations&lt;br /&gt;
| Process Fixed Term Terminations&lt;br /&gt;
| Daily&lt;br /&gt;
|-&lt;br /&gt;
| --CloseInactiveTickets&lt;br /&gt;
| closetickets&lt;br /&gt;
| Auto Close Inactive Tickets&lt;br /&gt;
| Daily&lt;br /&gt;
|-&lt;br /&gt;
| --AutoPruneTicketAttachments&lt;br /&gt;
| n/a&lt;br /&gt;
| Auto Remove Inactive Ticket Attachments. Batches of 1000&lt;br /&gt;
| Hourly&lt;br /&gt;
|-&lt;br /&gt;
| --AffiliateCommissions&lt;br /&gt;
| affcommissions&lt;br /&gt;
| Process Delayed Affiliate Commissions&lt;br /&gt;
| Daily&lt;br /&gt;
|-&lt;br /&gt;
| --AffiliateReports&lt;br /&gt;
| affreports&lt;br /&gt;
| Send Monthly Affiliate Reports&lt;br /&gt;
| Monthly&lt;br /&gt;
|-&lt;br /&gt;
| --EmailMarketer&lt;br /&gt;
| emailmarketing&lt;br /&gt;
| Process Email Marketer Rules&lt;br /&gt;
| Daily&lt;br /&gt;
|-&lt;br /&gt;
| --CreditCardExpiryNotices&lt;br /&gt;
| ccexpirynotices&lt;br /&gt;
| Sending Credit Card Expiry Reminders&lt;br /&gt;
| Monthly&lt;br /&gt;
|-&lt;br /&gt;
| --SslSync&lt;br /&gt;
| n/a &lt;br /&gt;
| Check validity of SSL Certificates on services and domains. Batches of 100. v7.7+&lt;br /&gt;
| Daily&lt;br /&gt;
|-&lt;br /&gt;
| --UpdateServerUsage&lt;br /&gt;
| usagestats&lt;br /&gt;
| Updating Disk &amp;amp; Bandwidth Usage Stats&lt;br /&gt;
| Daily&lt;br /&gt;
|-&lt;br /&gt;
| --OverageBilling&lt;br /&gt;
| overagesbilling&lt;br /&gt;
| Process Overage Billing Charges and Generate Invoices&lt;br /&gt;
| Monthly&lt;br /&gt;
|-&lt;br /&gt;
| --AutoClientStatusSync&lt;br /&gt;
| clientstatussync&lt;br /&gt;
| Synchronise Client Status&lt;br /&gt;
| Daily&lt;br /&gt;
|-&lt;br /&gt;
| --UpdateDomainExpiryStatus&lt;br /&gt;
| n/a&lt;br /&gt;
| Update Domain Expiry Status for domains with a past Expiry Date&lt;br /&gt;
| Daily&lt;br /&gt;
|-&lt;br /&gt;
| --TicketEscalations&lt;br /&gt;
| escalations&lt;br /&gt;
| Process and escalate tickets per any Escalation Rules&lt;br /&gt;
| As soon as every 3 minutes&lt;br /&gt;
|-&lt;br /&gt;
| --CheckForWhmcsUpdate&lt;br /&gt;
| n/a&lt;br /&gt;
| Check for WHMCS Software Updates&lt;br /&gt;
| As soon as every 8 hours&lt;br /&gt;
|-&lt;br /&gt;
| --DatabaseBackup&lt;br /&gt;
| backups&lt;br /&gt;
| Create a database backup and deliver via FTP or email&lt;br /&gt;
| Daily&lt;br /&gt;
|-&lt;br /&gt;
| --DataRetentionPruning&lt;br /&gt;
| n/a &lt;br /&gt;
| Process data retention pruning operation. v7.5+&lt;br /&gt;
| Daily&lt;br /&gt;
|-&lt;br /&gt;
| --ServerUsageCount&lt;br /&gt;
| n/a &lt;br /&gt;
| Auto Update Server Usage Count. Displayed on '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; Servers''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Products/Services &amp;gt; Servers'''. v7.8+&lt;br /&gt;
| Hourly&lt;br /&gt;
|-&lt;br /&gt;
| --ServerRemoteMetaData&lt;br /&gt;
| n/a &lt;br /&gt;
| Auto Update Server Meta Data. Displayed on '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; Servers''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Products/Services &amp;gt; Servers'''. v7.8+&lt;br /&gt;
| Hourly&lt;br /&gt;
|-&lt;br /&gt;
| --TenantUsageMetrics&lt;br /&gt;
| n/a &lt;br /&gt;
| Auto Update Service Usage Data. Displayed when viewing Service within Client Area. v7.9+&lt;br /&gt;
| Twice-daily&lt;br /&gt;
|-&lt;br /&gt;
| --EmailCampaigns&lt;br /&gt;
| n/a &lt;br /&gt;
| Update the status of Email Campaigns and schedule emails. Batches of 25&lt;br /&gt;
| As soon as every 5 minutes&lt;br /&gt;
|-&lt;br /&gt;
| --ProcessEmailQueue&lt;br /&gt;
| n/a &lt;br /&gt;
| Process scheduled emails within Email Campaigns. Batches of 25&lt;br /&gt;
| As soon as every 5 minutes&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Types====&lt;br /&gt;
&lt;br /&gt;
There are two types of tasks:&lt;br /&gt;
* '''Application''': Advances state of client data, such as orders, billing, and provisioning&lt;br /&gt;
* '''System''': Provides software related functionality, such as generating backups or performing database normalization.&lt;br /&gt;
** The &amp;quot;DatabaseBackup&amp;quot; task is the only task option of the '''System''' type which can be included/excluded from execution. All other '''System''' type task options will be performed explicitly as required by WHMCS and thus do not have option flags.&lt;br /&gt;
&lt;br /&gt;
====Tasks &amp;amp; --force Option====&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;--force&amp;quot; option does exactly that...it will force execute ''any'' application tasks (respective of the command ['''all''', '''skip''', '''do''']) regardless if the task is suppose to run once a day, a month, or at a time other than now.&lt;br /&gt;
&lt;br /&gt;
* The '''all''' command with the &amp;quot;--force&amp;quot; flag will execute all application tasks, as if each one were due exactly now.&lt;br /&gt;
* The '''skip''' command with the &amp;quot;--force&amp;quot; will first exclude the specified tasks (i.e., the ones provided as task option flags) and then operate on all other tasks as if each were due exactly now, similar to the '''all''' command.&lt;br /&gt;
* The '''do''' command is designed to only run the tasks specified (i.e., the ones provided as task option flags) and to run them immediately, thus the &amp;quot;--force&amp;quot; option is always implied and is not a valid option.&lt;br /&gt;
* The &amp;quot;--force&amp;quot; option has no effect on '''System''' type tasks (except &amp;quot;DatabaseBackup&amp;quot;)&lt;br /&gt;
* The &amp;quot;--force&amp;quot; option has no effect on whether the Daily Digest Email Report is sent, that is controlled via the --email-report option.&lt;br /&gt;
&lt;br /&gt;
====Advanced Task Scheduling====&lt;br /&gt;
&lt;br /&gt;
In some environments or use-cases, having fine-grained control of one or more tasks is important. This is possible through a combination of multiple '''do''' and '''skip''' crontab entries.&lt;br /&gt;
Tasks performed as part of a '''do''' command will not have their internal scheduling tracking modified. This is to ensure the integrity of a normal invocation of the System Cron.&lt;br /&gt;
If you want a particular task to only execute on a particular schedule, create a '''do''' command for that task and alter your main System Cron invocation to '''skip''' that task (all other non-itemized tasks will be performed on the WHMCS schedule in this '''skip''').&lt;br /&gt;
Likewise, if you never wish to have a particular task executed, alter your System Cron entry to be a '''skip''' command with the option for that particular task.&lt;br /&gt;
&lt;br /&gt;
===Hook Points===&lt;br /&gt;
&lt;br /&gt;
The System Cron has six hook events:&lt;br /&gt;
&lt;br /&gt;
* PreCronJob&lt;br /&gt;
** Fires only during the daily cron run&lt;br /&gt;
** Is invoked before any tasks are executed&lt;br /&gt;
** Registered hooks receive no parameter arguments&lt;br /&gt;
* PreAutomationTask&lt;br /&gt;
** Is invoked before each Application task&lt;br /&gt;
** Registered hooks receive one parameter argument:&lt;br /&gt;
*** The task object that is about to be executed, which adheres to WHMCS\Scheduling\Task\TaskInterface&lt;br /&gt;
*** The return value of this hook is not inspected. However, if an exception is thrown, the task will not be executed, be marked as incomplete, and iteration to the next task will commence&lt;br /&gt;
* PostAutomationTask&lt;br /&gt;
** Is invoked after each Application task&lt;br /&gt;
** Registered hooks receive two parameter arguments:&lt;br /&gt;
*** The task object that was just executed, which adheres to WHMCS\Scheduling\Task\TaskInterface&lt;br /&gt;
*** The boolean state if the task executed without throwing an Exception&lt;br /&gt;
*** The return value of this hook is not inspected. Any Exception thrown will be discarded&lt;br /&gt;
* DailyCronJobEmail&lt;br /&gt;
** Fires during the daily cron run or when --email-report=1 is specified&lt;br /&gt;
** Is invoked after all Application tasks are executed, immediate prior to the DailyCronJob hook&lt;br /&gt;
** If a registered hook returns true, the digest email report will not be sent&lt;br /&gt;
** Registered hooks receive no parameter arguments&lt;br /&gt;
* DailyCronJob&lt;br /&gt;
** Fires only during the daily cron run&lt;br /&gt;
** Is invoked after all Application tasks are executed, immediate proceeding the DailyCronJobEmail hook&lt;br /&gt;
** Register hooks receive no parameter arguments&lt;br /&gt;
* AfterCronJob&lt;br /&gt;
** Fires each time cron is invoked&lt;br /&gt;
** Is invoked after all Application &amp;amp; System tasks are executed, just prior to script termination&lt;br /&gt;
** Registered hooks receive no parameter arguments&lt;br /&gt;
&lt;br /&gt;
===Example Crontab Entries===&lt;br /&gt;
&lt;br /&gt;
Below are examples that demonstrate the flexibility of the System Cron input options and how you could craft your crontab entry. For most WHMCS installation, you should just have one entry (Ex. 1).&lt;br /&gt;
If you wish to disable certain tasks entirely, consider looking at the related functionality's documentation first to understand how your may be able optimize your WHMCS settings from the administration area and potential avoid unnecessary crontab entries.&lt;br /&gt;
&lt;br /&gt;
Ex 1. Standard System Cron entry:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cli&amp;quot;&amp;gt;&lt;br /&gt;
*/5 * * * * php -q /path/to/cron.php&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ex 2. Explicit entry to perform all scheduled task if they are due (will behave the same as Ex. 1):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cli&amp;quot;&amp;gt;&lt;br /&gt;
*/5 * * * * php -q /path/to/cron.php all&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ex 3. Always skip sending domain renewal notices, but perform all other tasks as normal if they are due:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cli&amp;quot;&amp;gt;&lt;br /&gt;
*/5 * * * * php -q /path/to/cron.php skip --DomainRenewalNotices&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ex 4. Always skip ticket escalations and auto suspensions. Process ticket escalations Monday-Friday during business hours, at the top of the hour, and auto suspension Monday-Friday at the start of business:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cli&amp;quot;&amp;gt;&lt;br /&gt;
*/5 * * * * php -q /path/to/cron.php skip --TicketEscalations --AutoSuspensions&lt;br /&gt;
0 9,10,11,12,13,14,15,16 * * 1-5 php -q /path/to/cron.php do --TicketEscalations&lt;br /&gt;
0 9 * * 1-5 php -q /path/to/cron.php do --AutoSuspensions&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ex 5. In some hosting environments, direct crontab entries are not permitted. The System Cron can be invoked through an HTTP request (provided the script is accessible within the docroot)&lt;br /&gt;
The follow demonstrates performing all tasks except DomainRenewalNotices and TicketEscalations&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cli&amp;quot;&amp;gt;&lt;br /&gt;
GET http://www.yourdomain.com/admin/cron.php?command=skip&amp;amp;options=DomainRenewalNotices,TicketEscalations&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Legacy Cron File Locations==&lt;br /&gt;
&lt;br /&gt;
Prior to WHMCS version 6, the automated task files were located across various directories. From WHMCS version 6 onwards all cron files are now located in the '''crons''' directory by default.&lt;br /&gt;
&lt;br /&gt;
To aide in the transition process to their new locations, version 6.0 of WHMCS includes proxy files in the old locations that will allow all existing configured cron and piping commands to continue operating without any changes post-upgrade to 6.0.&lt;br /&gt;
&lt;br /&gt;
However, we encourage you to update your cron and piping commands to use the new locations prior to updating to Version 8.0.&lt;br /&gt;
&lt;br /&gt;
The old locations are deprecated as of Version 6.0, and the proxy functionality is removed as of version 8.0. The proxy files and their proxy locations are:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;/admin/cron.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;/pipe/pipe.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;/pipe/pop.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;If you do not require these proxy files, you can safely remove them from your installation.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
If you do not receive the daily cron digest email, see a warning on the System Health Status overview page, or on the Automation Status page then this indicates the cron not running. Troubleshooting and resolving this is a matter of priority, as the daily automation tasks are an integral part of WHMCS.&lt;br /&gt;
&lt;br /&gt;
The most common issues and how to resolve them can be found on the [[Cron Job Issues]] page.&lt;br /&gt;
&lt;br /&gt;
Detailed steps on how to debug the cron execution can be found in our [https://help.whmcs.com/m/automation/l/683269-advanced-cron-troubleshooting| Advanced Cron Troubleshooting] Guide.&lt;br /&gt;
&lt;br /&gt;
Further useful troubleshooting documentation can be found [https://help.whmcs.com/m/automation/c/195647 here.]&lt;/div&gt;</summary>
		<author><name>DanR</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Cron_Configuration&amp;diff=30306</id>
		<title>Cron Configuration</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Cron_Configuration&amp;diff=30306"/>
				<updated>2021-05-17T16:33:13Z</updated>
		
		<summary type="html">&lt;p&gt;DanR: /* Setting Up Cron Jobs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Cron tasks must be created to automate tasks within WHMCS.&lt;br /&gt;
&lt;br /&gt;
Cron is the name given to a system daemon used to execute tasks (in the background) at designated times. WHMCS has a number of files that are required to be run on a periodic basis in this way. All these files are located in the crons directory.&lt;br /&gt;
&lt;br /&gt;
A single cron named the '''System Cron''' automates all core functions of the system including invoicing, reminders, suspensions and other daily automation tasks.&lt;br /&gt;
&lt;br /&gt;
In WHMCS 6.3.x and earlier, the system cron should be configured to run no more than '''once per day'''.  In WHMCS 7.0 and later, the system cron should be configured to run every 5 minutes, or as frequently as your web hosting provider will allow.&lt;br /&gt;
&lt;br /&gt;
==Setting Up Cron Jobs==&lt;br /&gt;
The tutorials &amp;amp; screenshots below demonstrate how to configure the WHMCS cron on the most common hosting control panels.&lt;br /&gt;
&lt;br /&gt;
The system will attempt to determine the PHP path to use for your cron command. Prior to WHMCS 8.0, this can be seen at '''Setup &amp;gt; Automation Settings'''. For WHMCS 8.0 and above, please visit '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; Automation Settings''' and click on the first badge.&lt;br /&gt;
&lt;br /&gt;
[[File:Cron-configuration-badge.png|border]]&lt;br /&gt;
&lt;br /&gt;
===cPanel===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;a href=&amp;quot;https://www.youtube.com/watch?v=caZWco1R2kk&amp;amp;hd=1&amp;quot; class=&amp;quot;docs-video-tutorial&amp;quot;&amp;gt;&amp;lt;em&amp;gt;Watch the video tutorial for this feature&amp;lt;/em&amp;gt;&amp;lt;span&amp;gt;&amp;amp;nbsp;&amp;lt;img src=&amp;quot;https://assets.whmcs.com/icons/youtube.png&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Click on the '''Cron Job''' icon in cPanel, select the ''Once Per Five Minutes'' option from the Common Settings dropdown menu. Then paste the cron command into the Command field.&lt;br /&gt;
&lt;br /&gt;
[[File:cPCron.png|border]]&lt;br /&gt;
&lt;br /&gt;
Alternatively click the Advanced (Unix Style) button and use the following:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|+cPanel  Cron&lt;br /&gt;
! Option&lt;br /&gt;
!   &lt;br /&gt;
! Minute&lt;br /&gt;
! Hour&lt;br /&gt;
! Day&lt;br /&gt;
! Month&lt;br /&gt;
! Weekday&lt;br /&gt;
!&lt;br /&gt;
! Command&lt;br /&gt;
|-&lt;br /&gt;
| a)&lt;br /&gt;
| &lt;br /&gt;
| */5&lt;br /&gt;
| *&lt;br /&gt;
| *&lt;br /&gt;
| *&lt;br /&gt;
| *&lt;br /&gt;
| &lt;br /&gt;
| php -q /path/to/home/public_html/whmcspath/crons/cron.php&lt;br /&gt;
|-&lt;br /&gt;
| b)&lt;br /&gt;
| &lt;br /&gt;
| */5&lt;br /&gt;
| *&lt;br /&gt;
| *&lt;br /&gt;
| *&lt;br /&gt;
| *&lt;br /&gt;
| &lt;br /&gt;
| wget -O &amp;lt;nowiki&amp;gt;http://www.yourdomain.com/whmcspath/crons/cron.php&amp;lt;/nowiki&amp;gt; &amp;gt;/dev/null&lt;br /&gt;
|-&lt;br /&gt;
| c)&lt;br /&gt;
| &lt;br /&gt;
| */5&lt;br /&gt;
| *&lt;br /&gt;
| *&lt;br /&gt;
| *&lt;br /&gt;
| *&lt;br /&gt;
| &lt;br /&gt;
| GET &amp;lt;nowiki&amp;gt;http://www.yourdomain.com/whmcspath/crons/cron.php&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Direct Admin===&lt;br /&gt;
&lt;br /&gt;
The command for Direct Admin is generally the same as cPanel, however, you need to reference the full path to the php binary.&lt;br /&gt;
&lt;br /&gt;
This can be /usr/bin/php, /usr/bin/home/php or /usr/local/bin/php but this is dependent on the server setup and you should check with your Server Administrator for the full path to the php binary.&lt;br /&gt;
&lt;br /&gt;
An example command to run is:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
!Command&lt;br /&gt;
|-&lt;br /&gt;
| /usr/bin/php -q /home/demo_user/domains/testdomain.com/public_html/whmcspath/crons/cron.php&lt;br /&gt;
|-&lt;br /&gt;
| /usr/local/bin/php -q /home/demo_user/domains/testdomain.com/public_html/whmcspath/crons/cron.php&lt;br /&gt;
|-&lt;br /&gt;
| wget -O /dev/null &amp;lt;nowiki&amp;gt;http://domain.tld/path/to/cron.php&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| GET &amp;lt;nowiki&amp;gt;http://www.yourdomain.com/whmcspath/crons/cron.php&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[File:DACron.png|border]]&lt;br /&gt;
&lt;br /&gt;
===DotNetPanel===&lt;br /&gt;
&lt;br /&gt;
Navigate to the hosting space in which WHMCS is installed and click '''Scheduled Tasks''' from the Hosting Space Menu, then click ''Add Scheduled Task''.&lt;br /&gt;
&lt;br /&gt;
From the Task Type dropdown menu select the ''Check Web Site Availability'' option and enter the URL of the cron.php file into the ''URL'' field.&lt;br /&gt;
Use the ''Schedule'' options to run this task Daily and finally ensure it's active and running.&lt;br /&gt;
&lt;br /&gt;
[[Image:Wsp_cron_config.png]]&lt;br /&gt;
&lt;br /&gt;
===Windows Server===&lt;br /&gt;
&lt;br /&gt;
Depending on your server setup, you can run the cron directly from the php executable. If this is not possible, you would need to use the server browser to run the cron&lt;br /&gt;
&lt;br /&gt;
An example command to run is:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
!Command&lt;br /&gt;
|-&lt;br /&gt;
|C:\php\php.exe -q &amp;quot;C:\inetpub\wwwroot\whmcs7\admin\cron.php&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;quot;c:\program files\internet explorer\iexplore.php&amp;quot; &amp;quot;&amp;lt;nowiki&amp;gt;http://www.yourdomain.com/whmcspath/cron.php&amp;lt;/nowiki&amp;gt;&amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
You should then set the task to run at a certain time every day. The time is up to you.&lt;br /&gt;
&lt;br /&gt;
[[Image:windows_cron.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Plesk===&lt;br /&gt;
&lt;br /&gt;
Navigate to the Domain where WHMCS is hosted, and click on the Schedule Tasks option in the top-right menu.&lt;br /&gt;
&lt;br /&gt;
From the Schedule Tasks page, perform the following actions:&lt;br /&gt;
&lt;br /&gt;
# Click on the Add Task button&lt;br /&gt;
# Set &amp;quot;Task type&amp;quot; to the &amp;quot;Run PHP script&amp;quot; option&lt;br /&gt;
# Input the path to your cron.php script into the &amp;quot;Script path&amp;quot; field&lt;br /&gt;
# Select PHP 5.6 or later for the &amp;quot;Use PHP version&amp;quot; option&lt;br /&gt;
# Select the &amp;quot;Cron style&amp;quot; option from the &amp;quot;Run&amp;quot; drop-down menu&lt;br /&gt;
# Input &amp;quot;*/5 * * * *&amp;quot; into the &amp;quot;Cron style&amp;quot; field&lt;br /&gt;
# Click on the &amp;quot;OK&amp;quot; button&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
!Example &amp;quot;Script path&amp;quot; for Linux&lt;br /&gt;
|-&lt;br /&gt;
| /path/to/whmcs/crons/cron.php&lt;br /&gt;
|}&lt;br /&gt;
[[File:PleskLinCron.png|border]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
!Example &amp;quot;Script path&amp;quot; for Windows&lt;br /&gt;
|-&lt;br /&gt;
| /path/to/whmcs/crons/cron.php&lt;br /&gt;
|}&lt;br /&gt;
[[File:PleskWinCron.png|border]]&lt;br /&gt;
&lt;br /&gt;
===Helm===&lt;br /&gt;
&lt;br /&gt;
[[Image:helm3cron.jpg]]&lt;br /&gt;
&lt;br /&gt;
===InterWorx===&lt;br /&gt;
&lt;br /&gt;
[[Image:interworx.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Linux with no control panel===&lt;br /&gt;
&lt;br /&gt;
Use the command to open the crontab editor: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;$ crontab -e &amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a new line enter:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;*/5 * * * * php -q /path/to/home/public_html/whmcspath/crons/cron.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Type &amp;lt;tt&amp;gt;:wq&amp;lt;/tt&amp;gt; and press the Enter key to save the changes to the crontab and close the editor.&lt;/div&gt;</summary>
		<author><name>DanR</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Domain_Categories&amp;diff=30305</id>
		<title>Domain Categories</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Domain_Categories&amp;diff=30305"/>
				<updated>2021-05-17T16:31:18Z</updated>
		
		<summary type="html">&lt;p&gt;DanR: /* How do I customise the domain categories? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&amp;lt;i class=&amp;quot;fa fa-info-circle&amp;quot;&amp;gt;&amp;lt;/i&amp;gt; This page describes a feature available in version 7.10 and above.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==What are domain categories?==&lt;br /&gt;
&lt;br /&gt;
Domain Categories are used in the client area to group domain TLDs into categories such as &amp;quot;Popular&amp;quot;, &amp;quot;Shopping&amp;quot;, or &amp;quot;Real Estate&amp;quot; and makes it easier for clients to navigate and find their ideal domain extension.&lt;br /&gt;
&lt;br /&gt;
==How do I customise the domain categories?==&lt;br /&gt;
&lt;br /&gt;
The domain categories shipped with WHMCS by default can be found in &amp;lt;tt&amp;gt;/resources/domains/dist.categories.json&amp;lt;/tt&amp;gt;. This file should '''not''' be edited.&lt;br /&gt;
&lt;br /&gt;
To add or edit domain category definitions, begin by creating a custom categories.json file located at &amp;lt;tt&amp;gt;/resources/domains/categories.json&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Inside it, define the domain categories you wish to use. This file will remain in place when updating WHMCS.&lt;br /&gt;
&lt;br /&gt;
TLDs can appear in multiple categories; for example, a UK-based company might include .UK and .CO.UK TLDs in the &amp;quot;Popular&amp;quot; category as well as a &amp;quot;Local Geographic&amp;quot; category.&lt;br /&gt;
&lt;br /&gt;
===Adding a TLD/Category===&lt;br /&gt;
 &lt;br /&gt;
Inside your custom &amp;lt;tt&amp;gt;/resources/domains/categories.json&amp;lt;/tt&amp;gt; file, add a section that resembles this example:&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;source lang=&amp;quot;yaml&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;Awesome Domains&amp;quot;: [&lt;br /&gt;
        &amp;quot;.whmcs&amp;quot;,&lt;br /&gt;
        &amp;quot;.whmcstest&amp;quot;&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This example adds a domain category called &amp;quot;Awesome Domains&amp;quot; with the &amp;quot;.whmcs&amp;quot; and &amp;quot;.whmcstest&amp;quot; domain TLDs.&lt;br /&gt;
&lt;br /&gt;
A domain category definition is simply the category name, with an array of the domain TLDs which should be included in that category.&lt;br /&gt;
&lt;br /&gt;
===Removing a TLD from a default TLD Category===&lt;br /&gt;
 &lt;br /&gt;
Inside your custom &amp;lt;tt&amp;gt;/resources/domains/categories.json&amp;lt;/tt&amp;gt; file, add a section that resembles this example:&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;source lang=&amp;quot;yaml&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
&amp;quot;REMOVE&amp;quot;: {&lt;br /&gt;
    &amp;quot;Popular&amp;quot; : [&lt;br /&gt;
        &amp;quot;.com&amp;quot;, &amp;quot;.net&amp;quot;&lt;br /&gt;
    ]&lt;br /&gt;
},&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This example removes the .com and .net TLD from showing in the default Popular category.&lt;/div&gt;</summary>
		<author><name>DanR</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Clients:Summary_Tab&amp;diff=30186</id>
		<title>Clients:Summary Tab</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Clients:Summary_Tab&amp;diff=30186"/>
				<updated>2021-05-06T14:30:29Z</updated>
		
		<summary type="html">&lt;p&gt;DanR: /* Due Date Changes Prorata Calculation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Client Management}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The Summary tab is first displayed when viewing a client's Profile. It's accessed via the '''Clients &amp;gt; View/Search Clients''' page. It contains an overview of the client's details, some quick billing and service statistics, quick links to many common management actions as well as a list of all their services, domains and addons. This page describes each option available under the Summary tab.&lt;br /&gt;
[[File:client_summary.png|thumb|Client Summary Tab]]&lt;br /&gt;
&lt;br /&gt;
==Summary Actions==&lt;br /&gt;
&lt;br /&gt;
The very first thing in the top-left corner of the page is the client's unique ID number and their name. To the right of this are the summary actions, these allow for quick management of billing-related settings. By clicking the red &amp;quot;No&amp;quot; or green &amp;quot;Yes&amp;quot; text you can instantly toggle the status of the available options:&lt;br /&gt;
&lt;br /&gt;
*Exempt From Tax - If Yes the client will not be charged tax even if they meet a tax rule&lt;br /&gt;
*Auto CC Processing - If Yes the client's credit card stored in WHMCS will automatically be charged on invoice due dates&lt;br /&gt;
*Send Overdue Reminders - If Yes the client will receive overdue reminder emails when their invoices become overdue.&lt;br /&gt;
* Apply Late Fees - If Yes the client will be charged a late fee when their invoices become overdue. Late fees must be activated and configured in [[Invoice_Tab#Late_Fee_Type|General Settings]] and [[Automation_Settings#Add_Late_Fee_Days|Automation Settings]]&lt;br /&gt;
&lt;br /&gt;
==Clients Information==&lt;br /&gt;
&lt;br /&gt;
This section displays the client's contact information; name, address and phone number. In addition there are the following links:&lt;br /&gt;
&lt;br /&gt;
===Reset &amp;amp; Send Password===&lt;br /&gt;
&lt;br /&gt;
Clicking this link will instantly generate a new client area password for the client and email it to them.&lt;br /&gt;
&lt;br /&gt;
Clients can also request a password reset themselves by clicking the the '''Forgotten Password''' link on the login form to begin the reset process:&lt;br /&gt;
&lt;br /&gt;
*After entering their email address, if a security question answer is specified they will be prompted to provide the answer, then an email is sent containing a confirmation link to ensure they are actually the one who requested the reset. The reset link is valid for 2 hours from the time of request&lt;br /&gt;
**If no security question answer is set, the email will be sent immediately upon entering a valid email address.&lt;br /&gt;
*When they click the link in the email, clients will be taken to the password reset validation page where a new password can be specified. They can then login immediately using the new password. If the client didn't request the reset they are advised to simply ignore the email and not click the link.&lt;br /&gt;
&lt;br /&gt;
===Login as Owner===&lt;br /&gt;
 &lt;br /&gt;
View the client area exactly as the account's owner would see it. You can also perform actions on their behalf, like placing orders or opening tickets. When you finish, click '''Return to Admin Area''' in the top-right corner.&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-warning&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;title&amp;quot;&amp;gt;WHMCS 7.10 and earlier&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Prior to WHMCS 8.0, this was '''Login as Client'''.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Contacts/Sub-Accounts==&lt;br /&gt;
&lt;br /&gt;
If a client has created Contacts or Sub-Accounts, they will be listed here. Click the contact's name to edit the record. This is explained in more detail on the [[Clients:Contacts_Tab|Contact Tab]] page.&lt;br /&gt;
&lt;br /&gt;
===Add Contact===&lt;br /&gt;
&lt;br /&gt;
Click here to create a new contact or sub-account for this client.&lt;br /&gt;
&lt;br /&gt;
==Pay Methods==&lt;br /&gt;
&lt;br /&gt;
Displays an overview of the client's current registered Pay Methods within WHMCS.&lt;br /&gt;
&lt;br /&gt;
===Adding a Pay Method===&lt;br /&gt;
&lt;br /&gt;
You can add a new Pay Method by selecting &amp;quot;Add Credit Card&amp;quot; or &amp;quot;Add Bank Account&amp;quot;. These links will only be available when an appropriate module has been activated.&lt;br /&gt;
&lt;br /&gt;
===Viewing Full Card Number===&lt;br /&gt;
&lt;br /&gt;
For Pay Methods where the client Credit Card number is stored locally (Local Encryption):&lt;br /&gt;
&lt;br /&gt;
Click the respective Pay Method to open details about it. &lt;br /&gt;
Next to the masked credit card number, click the Padlock icon. &lt;br /&gt;
Finally, enter your Credit Card Encryption hash (Found in configuration.php) to reveal the full number.&lt;br /&gt;
For Tokenisation gateways, viewing the full card number is not possible as the details are not stored in WHMCS. The respective token and last 4 digits of the card number are however available for view.&lt;br /&gt;
&lt;br /&gt;
===Removing Card Details===&lt;br /&gt;
&lt;br /&gt;
Click the respective Pay Method you wish to delete. A modal will appear displaying details about this Pay Method. Click the red &amp;quot;Delete&amp;quot; button to remove these details from the Client Account and WHMCS.&lt;br /&gt;
&lt;br /&gt;
==Invoices/Billing==&lt;br /&gt;
&lt;br /&gt;
In this section quick invoice and billing statistics are displayed; the number of invoices in each status along with the total value of each in brackets. The Total Income statistic shows the total of all transactions paid by the client, whilst the Credit Balance shows the current amount of credit available to the client to spend.&lt;br /&gt;
&lt;br /&gt;
===Create Invoice===&lt;br /&gt;
&lt;br /&gt;
This link creates a [[Invoicing#Creating_Custom_Invoices|custom invoice]]. Clicking the link immediately creates an empty invoice to which line items can be added as desired. This link will not trigger the sending of an email to the client.&lt;br /&gt;
&lt;br /&gt;
===Create Add Funds Invoice===&lt;br /&gt;
&lt;br /&gt;
You can create invoices in this way to allow a client to deposit funds to their account, or to charge a specific amount from a clients credit card. A popup will appear allowing the amount of credit to be specified. [[Add_Funds|More Information]].&lt;br /&gt;
&lt;br /&gt;
===Generate Due Invoices===&lt;br /&gt;
&lt;br /&gt;
Click here to generate any invoices due for the client's services, billable items, domains or addons. Useful if one of the aforementioned items has been modified and a new invoices needs to be generated without the need to run the entire automation cron job. A popup will appear asking whether you wish to send the invoice notification email.&lt;br /&gt;
&lt;br /&gt;
===Add Billable Item===&lt;br /&gt;
&lt;br /&gt;
This link will take you directly to the Add Billable Item interface. Read more about [[Billable_Items|Billable Items here]].&lt;br /&gt;
&lt;br /&gt;
===Manage Credits===&lt;br /&gt;
&lt;br /&gt;
Displays a popup displaying the client's credit history; how credits were earned and spent. Credit can also be manually added and removed using the appropriate buttons. You also have the option to delete entries if you wish and they will then be deducted from the credit balance.&lt;br /&gt;
&lt;br /&gt;
Read more about [[Transactions#Managing_Credit|Managing Credit]] here.&lt;br /&gt;
&lt;br /&gt;
==Create New Quote==&lt;br /&gt;
&lt;br /&gt;
This link will take you directly to the Quote creation interface. Read more about [[Quotes|Quotes here]].&lt;br /&gt;
&lt;br /&gt;
==Other Information==&lt;br /&gt;
&lt;br /&gt;
In this section, miscellaneous information is displayed; the client's status, their client group, signup date, length of time since signup and the IP address, hostname + time of their last login.&lt;br /&gt;
&lt;br /&gt;
==Products/Services==&lt;br /&gt;
&lt;br /&gt;
In this section the numbers all the services, domains quotes, support tickets and affiliate signups for this client are displayed. The active service count is displayed first, with the total - including services in suspended, terminated and cancelled statuses - in brackets.&lt;br /&gt;
&lt;br /&gt;
===View Orders===&lt;br /&gt;
&lt;br /&gt;
Click this link to see a list of all orders placed by this client. Read more about [[Order_Management|Order Management]] here.&lt;br /&gt;
&lt;br /&gt;
===Add New Order===&lt;br /&gt;
&lt;br /&gt;
This link will take you to the admin order form. This allows orders to be placed on behalf of the client, and for products and promotional codes to be used in combinations not possible on the public order form.&lt;br /&gt;
&lt;br /&gt;
==Files==&lt;br /&gt;
&lt;br /&gt;
The files section in a client's summary allows you to upload files specific to that customer.&lt;br /&gt;
&lt;br /&gt;
* This can be used for documents, agreements or other downloads specific to the individual&lt;br /&gt;
* Files can be set as Admin Only to only be viewed by admins, otherwise they show on the Client Area Homepage for the client to be able to download&lt;br /&gt;
* Files are uploaded to the /attachments directory and can be added and managed from the Client Summary page in the admin area&lt;br /&gt;
&lt;br /&gt;
==Recent Emails==&lt;br /&gt;
&lt;br /&gt;
Displayed here are the last five emails sent to the client by WHMCS. A longer email history can be viewed under the Emails tab.&lt;br /&gt;
&lt;br /&gt;
==Other Actions==&lt;br /&gt;
&lt;br /&gt;
Within this section are a number of miscellaneous links which perform a variety of tasks.&lt;br /&gt;
&lt;br /&gt;
===View Account Statement===&lt;br /&gt;
&lt;br /&gt;
Provides a statement of account for this client accounts between a date range. Displays Type (add funds, transaction, invoice), date, description, credits, debits and a running balance&lt;br /&gt;
&lt;br /&gt;
===Open New Support Ticket===&lt;br /&gt;
&lt;br /&gt;
This link enables you to open a support ticket under the client's account. Useful for initiating correspondence with the client and keeping a full record of the conversation.&lt;br /&gt;
&lt;br /&gt;
===View all Support Tickets===&lt;br /&gt;
&lt;br /&gt;
Click here to see see a list of all support tickets assigned to the client in the departments to which your administrator account is assigned. If the client had tickets in departments of which you are not a member, they would not be displayed here.&lt;br /&gt;
&lt;br /&gt;
===Activate as Affiliate===&lt;br /&gt;
&lt;br /&gt;
If enabled clients can join the affiliate program from within the client area. Staff members can also add the client to the affiliate program by clicking this link.&lt;br /&gt;
&lt;br /&gt;
===View Affiliate Details===&lt;br /&gt;
&lt;br /&gt;
Once the client has been activated as an affiliate, the 'View Affiliate Details' link will be displayed in its place. Click it to see the client's referrals, commissions pending and paid, as well as your payments to them. Read more about [[Affiliates|Affiliates here]].&lt;br /&gt;
&lt;br /&gt;
==Merge Client Accounts==&lt;br /&gt;
&lt;br /&gt;
Merging clients combines 2 separate client accounts in WHMCS into one. This merges everything relating to the 2 separate entities into one including but not limited to products, invoices, transactions, tickets, etc...&lt;br /&gt;
[[File:Merge clients.png|thumb|Merge Clients Popup]]&lt;br /&gt;
#Begin by locating the first of the clients you want to merge&lt;br /&gt;
#Click the '''Merge Client Accounts''' link on the Client Summary page&lt;br /&gt;
#In the popup that appears, you will be asked to enter the Client ID. If you don't know the client's ID the Search field can be used to search by name, company or email address. Click the client's name and the ID will be filled in.&lt;br /&gt;
#After specifying the second client, you can choose which profile you want to keep, so either merge into the first client, or second client - this determines which profile data is kept - ie. name, email address, etc...&lt;br /&gt;
#Once happy, click the submit button to complete the process&lt;br /&gt;
&lt;br /&gt;
===Close Clients Account===&lt;br /&gt;
&lt;br /&gt;
Closing a client's account will prevent them from being able to login to the client area. This link will also change the status of unpaid invoices to cancelled, and all services to cancelled. It will not run any module termination functions.&lt;br /&gt;
&lt;br /&gt;
===Delete Clients Account===&lt;br /&gt;
 &lt;br /&gt;
To remove a client, click this link. If you also want to remove any associated users that aren't associated with other client accounts, check the checkbox. Then, confirm the deletion. The client will be removed and you will be returned to the '''Clients''' list.&lt;br /&gt;
 &lt;br /&gt;
Deleting a client removes everything related to that client from the WHMCS database, with the exception of transactions. This is because transactions are considered income that isn't being refunded when the client is removed. If you want to also remove the client's transactions, do this in the '''Transactions''' tab before you delete the client.&lt;br /&gt;
&lt;br /&gt;
==Send Email==&lt;br /&gt;
&lt;br /&gt;
Use this dropdown to send any 'General' type email templates to clients, or select the &amp;quot;New Message&amp;quot; option to compose a new email from scratch. Product and Domain type emails can be sent using the dedicated dropdowns under the corresponding tabs.&lt;br /&gt;
&lt;br /&gt;
==Admin Notes==&lt;br /&gt;
&lt;br /&gt;
Here staff can enter private notes about the client to be displayed to whoever views this Summary tab. Separate notes sections are available available under the Products/Services , Domains and Notes tab.&lt;br /&gt;
&lt;br /&gt;
==Filtering Products==&lt;br /&gt;
[[File:filtering_products.png|thumb|Product Filtering]]&lt;br /&gt;
There may be situations where it's desirable to filter the client's product/services list to only display items in certain statuses. For example if a client has lots of old cancelled services you may wish to only display the active, pending and fraud products (hiding the cancelled ones).&lt;br /&gt;
&lt;br /&gt;
To achieve this click the '''Status Filter''' button under the Admin Notes section within the client's Summary tab. A prompt will appear allowing you to select which statuses should be displayed.&lt;br /&gt;
&lt;br /&gt;
The button will turn green so you can tell at-a-glance when the filter is applied.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' The filter selected here will apply across all clients and will be remembered until the web browser is closed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Services, Addon, Domains, Quotes==&lt;br /&gt;
&lt;br /&gt;
The Services, Addons, Domains and Quotes lists will often take up the majority of the client's Summary tab. They provide a comprehensive list of all the client's services with you alongside key information for each (such as price, signup date, status and next due date).&lt;br /&gt;
&lt;br /&gt;
The lists are ordered based upon the item's ID number. Click the ID number of the Edit icon to see the full details of the item from where you can make changes.&lt;br /&gt;
&lt;br /&gt;
The Current Quotes section displays quotes with a Valid Until Date up to and included today's date. When this is passed they can be viewed under the [[Clients:Quotes_Tab|Quotes tab]]&lt;br /&gt;
&lt;br /&gt;
==Mass Updating Services/Addons/Domains==&lt;br /&gt;
&lt;br /&gt;
[[File:Bulk_actions_panel.png|thumb|Mass Update Panel]]&lt;br /&gt;
The mass update options enable you to make changes to more than one of a given clients products, add-ons and domains at a time. This is useful for making bulk changes to a clients products and services.&lt;br /&gt;
&lt;br /&gt;
Supported fields you can change in a mass update include:&lt;br /&gt;
* Status&lt;br /&gt;
* Payment Method&lt;br /&gt;
* Override Auto-Suspend&lt;br /&gt;
* Pricing&lt;br /&gt;
* Billing Cycle&lt;br /&gt;
* Next Due Date&lt;br /&gt;
&lt;br /&gt;
You can also perform all the core module commands - Create, Suspend, Unsuspend, Terminate, Change Package and Change Password.&lt;br /&gt;
&lt;br /&gt;
To use the feature, follow the steps below:&lt;br /&gt;
&lt;br /&gt;
# Tick the checkboxes next to the Products/Services, Addons and/or Domains you want to update,&lt;br /&gt;
# Scroll to the Bulk Actions panel located at the bottom of the Client Summary page&lt;br /&gt;
# Click the Advanced Options link to reveal all the options&lt;br /&gt;
# Make your changes and selections (leaving blank any fields you don't wish to change)&lt;br /&gt;
# Click '''Apply''' to complete the changes&lt;br /&gt;
&lt;br /&gt;
===Due Date Changes Prorata Calculation===&lt;br /&gt;
&lt;br /&gt;
When making a change to the '''Next Due Date''' of products and services, you also have the option to bill for the days between the current next due date and the target next due date you set. This is useful for synchronising multiple different products to a single common due date each billing cycle.&lt;br /&gt;
&lt;br /&gt;
To do this, follow the steps below:&lt;br /&gt;
&lt;br /&gt;
# Tick the checkboxes next to the '''Products/Services''', '''Addons''' and/or '''Domains''' you want to update.&lt;br /&gt;
# Scroll to the '''Bulk Actions''' panel located at the bottom of the '''Client Summary''' page.&lt;br /&gt;
# Click the '''Advanced Options''' link to reveal the additional options.&lt;br /&gt;
# Enter the desired '''Next Due Date'''.&lt;br /&gt;
# Tick the '''Create Prorata Invoice''' checkbox.&lt;br /&gt;
# Click '''Apply''' to complete the changes.&lt;br /&gt;
&lt;br /&gt;
The page will reload with confirmation of the changes and that an invoice has been generated.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;title&amp;quot;&amp;gt;Note:&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt; An invoice will only be generated if the differences for all products result in an amount being due. If the total differences result in a credit then no invoice will be generated and no credit will be issued. If you wish to add a credit for the difference, we have details on [[Credit/Prefunding#Adding_Credit_to_a_Client|adding a credit manually here.]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Invoice Selected Items==&lt;br /&gt;
&lt;br /&gt;
There may be times where a client asks for you to invoice them for the next renewal date early. To do this in WHMCS,&lt;br /&gt;
&lt;br /&gt;
#Begin by navigating to the '''Clients Summary''' page for the client you want to invoice&lt;br /&gt;
#Now tick the boxes of the '''Products/Services/Addons''' and/or '''Domains''' you want to generate an invoice for&lt;br /&gt;
#To complete, click the '''Invoice Selected Items''' button to create the invoice(s) for them&lt;br /&gt;
#Multiple invoices may be created if the due dates and payment methods differ as invoicing rules are obeyed as normal&lt;br /&gt;
&lt;br /&gt;
'''Note:''' You won't be able to generate another invoice if an invoice has already been made for the next due date.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' If the Separate Invoices option is enabled in the client's Profile or Client Group, when selecting multiple items here with the same Next Due Date, it will not apply and all possible items will be invoiced together. If you need to split them up, you can edit the resulting invoices and use the Split Invoice function.&lt;br /&gt;
&lt;br /&gt;
==Delete Selected Items==&lt;br /&gt;
&lt;br /&gt;
This button can be used to delete multiple items en-mass. Tick the checkboxes next to the services, domains, addons or quotes you wish to remove from WHMCS and click the Delete Selected Items button.&lt;br /&gt;
&lt;br /&gt;
This will remove the record form WHMCS, but will not trigger any module commands (ie. a hosting account associated with a service will stay on the server).&lt;/div&gt;</summary>
		<author><name>DanR</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Common_Promotions&amp;diff=30185</id>
		<title>Common Promotions</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Common_Promotions&amp;diff=30185"/>
				<updated>2021-05-06T14:26:11Z</updated>
		
		<summary type="html">&lt;p&gt;DanR: /* Notes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
This page contains some of the promotions commonly used in the hosting industry and how to achieve them in WHMCS.&lt;br /&gt;
&lt;br /&gt;
==Free Domain Name==&lt;br /&gt;
&lt;br /&gt;
You are able to offer free domains with your packages when purchased with certain payment terms - for example you might want to offer a free domain when a package is purchased annually:&lt;br /&gt;
&lt;br /&gt;
#Begin by going to '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; Products/Services''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Products/Services'''.&lt;br /&gt;
#Next, click the edit icon next to the product or service that you want to offer a free domain with&lt;br /&gt;
#Now select the Free Domain tab from the tabs at the top of the page&lt;br /&gt;
#Tick the box labelled Free Domain to offer a free domain with this package&lt;br /&gt;
#Then select the payment terms (or billing cycles) that you want to offer the free domain with - press Ctrl when clicking the options to select more than one&lt;br /&gt;
#Now you need to select which TLDs the free domain offer applies to.  This allows you to exclude high priced TLDs such as .tv  Again, use Ctrl when clicking the options to select more than one&lt;br /&gt;
#Now click the Save Changes button&lt;br /&gt;
&lt;br /&gt;
That's it!  Your package will now not charge the user for the domain when ordered with the billing cycle specified, this will be reflected on the checkout page.&lt;br /&gt;
&lt;br /&gt;
===Notes===&lt;br /&gt;
* The Free Domain promo relies on the '''Next Due Date''' and the '''Payment Gateway''' of the product and domain name being the same. Therefore it is important this is maintained. If the next due dates were changed, the domain would be renewed automatically at no cost to the client. For this reason we recommend disabling the '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; Automation Settings &amp;gt; Domain Sync Settings &amp;gt; Sync Next Due Date''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Automation Settings &amp;gt; Domain Sync Settings &amp;gt; Sync Next Due Date''' option.&lt;br /&gt;
* Free domains are registered for 1 year at a time. If a biennial or triennial product is ordered, the domain will renew automatically after the first and/or second year as appropriate.&lt;br /&gt;
* If a client cancels the hosting package then the domain name will automatically revert to your regular pricing.&lt;br /&gt;
* Domain renewal reminder emails aren't sent for domains with a 0.00 price to avoid confusion.&lt;br /&gt;
* Please ensure that the number of days box for the '''Domain Settings''' setting located under the '''Advanced Settings''' link at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; Automation Settings &amp;gt; Invoice Generation &amp;gt; Advanced Settings''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Automation Settings &amp;gt; Invoice Generation &amp;gt; Advanced Settings''' is left blank.&lt;br /&gt;
* Please ensure the '''Separate Invoices''' option on the client's Profile tab is unticked.&lt;br /&gt;
&lt;br /&gt;
==Free Trial==&lt;br /&gt;
&lt;br /&gt;
[[Products_and_Services#Pricing_Tab|Free Trial functionality]] is built into WHMCS which will automatically terminate an account x days after ordering and send an email to the client:&lt;br /&gt;
&lt;br /&gt;
#Edit a product at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; Products/Services''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Products/Services &amp;gt; Products/Services'''.&lt;br /&gt;
#Click '''Pricing'''.&lt;br /&gt;
#Enter the length of your free trial in the '''Auto Terminate/Fixed Term''' field (in days)&lt;br /&gt;
#Select the email to be sent to clients when their free trial period ends and the account is terminated using the '''Termination Email''' dropdown&amp;lt;div class=&amp;quot;docs-alert-success&amp;quot;&amp;gt;A new Product-type email template can be created via Setup &amp;gt; Email Templates which will appear in the list&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This logic can then be used in conjunction with a promo code to offer customers their first month free whilst still taking their payment details for your security checks:&lt;br /&gt;
&lt;br /&gt;
#Go to '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; Promotions''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Payments &amp;gt; Promotions'''.&lt;br /&gt;
#Click &amp;quot;Add New&amp;quot;&lt;br /&gt;
#Enter the promotion code &amp;quot;freetrial&amp;quot;&lt;br /&gt;
#Change the value to 100.00&lt;br /&gt;
#Select Monthly from the drop down menu&lt;br /&gt;
#Set the remaining settings as you would any regular promotion (maximum uses, expiry date, applicable packages)&lt;br /&gt;
#Click the Create Promotion button&lt;br /&gt;
&lt;br /&gt;
Now you can either have your customers enter the promotion code &amp;quot;freetrial&amp;quot; or use one of the following links to apply the free trial automatically:&lt;br /&gt;
&lt;br /&gt;
 http://example.com/whmcs/cart.php?promocode=freetrial  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;If you do not wish to collect a client's payment details for a free trial, set the ''Payment Type'' value to &amp;quot;Free&amp;quot; under the product's [[Products_and_Services#Pricing_Tab|Pricing tab]] instead.&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>DanR</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Clients:Summary_Tab&amp;diff=30184</id>
		<title>Clients:Summary Tab</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Clients:Summary_Tab&amp;diff=30184"/>
				<updated>2021-05-06T14:07:02Z</updated>
		
		<summary type="html">&lt;p&gt;DanR: /* Due Date Changes Prorata Calculation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Client Management}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The Summary tab is first displayed when viewing a client's Profile. It's accessed via the '''Clients &amp;gt; View/Search Clients''' page. It contains an overview of the client's details, some quick billing and service statistics, quick links to many common management actions as well as a list of all their services, domains and addons. This page describes each option available under the Summary tab.&lt;br /&gt;
[[File:client_summary.png|thumb|Client Summary Tab]]&lt;br /&gt;
&lt;br /&gt;
==Summary Actions==&lt;br /&gt;
&lt;br /&gt;
The very first thing in the top-left corner of the page is the client's unique ID number and their name. To the right of this are the summary actions, these allow for quick management of billing-related settings. By clicking the red &amp;quot;No&amp;quot; or green &amp;quot;Yes&amp;quot; text you can instantly toggle the status of the available options:&lt;br /&gt;
&lt;br /&gt;
*Exempt From Tax - If Yes the client will not be charged tax even if they meet a tax rule&lt;br /&gt;
*Auto CC Processing - If Yes the client's credit card stored in WHMCS will automatically be charged on invoice due dates&lt;br /&gt;
*Send Overdue Reminders - If Yes the client will receive overdue reminder emails when their invoices become overdue.&lt;br /&gt;
* Apply Late Fees - If Yes the client will be charged a late fee when their invoices become overdue. Late fees must be activated and configured in [[Invoice_Tab#Late_Fee_Type|General Settings]] and [[Automation_Settings#Add_Late_Fee_Days|Automation Settings]]&lt;br /&gt;
&lt;br /&gt;
==Clients Information==&lt;br /&gt;
&lt;br /&gt;
This section displays the client's contact information; name, address and phone number. In addition there are the following links:&lt;br /&gt;
&lt;br /&gt;
===Reset &amp;amp; Send Password===&lt;br /&gt;
&lt;br /&gt;
Clicking this link will instantly generate a new client area password for the client and email it to them.&lt;br /&gt;
&lt;br /&gt;
Clients can also request a password reset themselves by clicking the the '''Forgotten Password''' link on the login form to begin the reset process:&lt;br /&gt;
&lt;br /&gt;
*After entering their email address, if a security question answer is specified they will be prompted to provide the answer, then an email is sent containing a confirmation link to ensure they are actually the one who requested the reset. The reset link is valid for 2 hours from the time of request&lt;br /&gt;
**If no security question answer is set, the email will be sent immediately upon entering a valid email address.&lt;br /&gt;
*When they click the link in the email, clients will be taken to the password reset validation page where a new password can be specified. They can then login immediately using the new password. If the client didn't request the reset they are advised to simply ignore the email and not click the link.&lt;br /&gt;
&lt;br /&gt;
===Login as Owner===&lt;br /&gt;
 &lt;br /&gt;
View the client area exactly as the account's owner would see it. You can also perform actions on their behalf, like placing orders or opening tickets. When you finish, click '''Return to Admin Area''' in the top-right corner.&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-warning&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;title&amp;quot;&amp;gt;WHMCS 7.10 and earlier&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Prior to WHMCS 8.0, this was '''Login as Client'''.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Contacts/Sub-Accounts==&lt;br /&gt;
&lt;br /&gt;
If a client has created Contacts or Sub-Accounts, they will be listed here. Click the contact's name to edit the record. This is explained in more detail on the [[Clients:Contacts_Tab|Contact Tab]] page.&lt;br /&gt;
&lt;br /&gt;
===Add Contact===&lt;br /&gt;
&lt;br /&gt;
Click here to create a new contact or sub-account for this client.&lt;br /&gt;
&lt;br /&gt;
==Pay Methods==&lt;br /&gt;
&lt;br /&gt;
Displays an overview of the client's current registered Pay Methods within WHMCS.&lt;br /&gt;
&lt;br /&gt;
===Adding a Pay Method===&lt;br /&gt;
&lt;br /&gt;
You can add a new Pay Method by selecting &amp;quot;Add Credit Card&amp;quot; or &amp;quot;Add Bank Account&amp;quot;. These links will only be available when an appropriate module has been activated.&lt;br /&gt;
&lt;br /&gt;
===Viewing Full Card Number===&lt;br /&gt;
&lt;br /&gt;
For Pay Methods where the client Credit Card number is stored locally (Local Encryption):&lt;br /&gt;
&lt;br /&gt;
Click the respective Pay Method to open details about it. &lt;br /&gt;
Next to the masked credit card number, click the Padlock icon. &lt;br /&gt;
Finally, enter your Credit Card Encryption hash (Found in configuration.php) to reveal the full number.&lt;br /&gt;
For Tokenisation gateways, viewing the full card number is not possible as the details are not stored in WHMCS. The respective token and last 4 digits of the card number are however available for view.&lt;br /&gt;
&lt;br /&gt;
===Removing Card Details===&lt;br /&gt;
&lt;br /&gt;
Click the respective Pay Method you wish to delete. A modal will appear displaying details about this Pay Method. Click the red &amp;quot;Delete&amp;quot; button to remove these details from the Client Account and WHMCS.&lt;br /&gt;
&lt;br /&gt;
==Invoices/Billing==&lt;br /&gt;
&lt;br /&gt;
In this section quick invoice and billing statistics are displayed; the number of invoices in each status along with the total value of each in brackets. The Total Income statistic shows the total of all transactions paid by the client, whilst the Credit Balance shows the current amount of credit available to the client to spend.&lt;br /&gt;
&lt;br /&gt;
===Create Invoice===&lt;br /&gt;
&lt;br /&gt;
This link creates a [[Invoicing#Creating_Custom_Invoices|custom invoice]]. Clicking the link immediately creates an empty invoice to which line items can be added as desired. This link will not trigger the sending of an email to the client.&lt;br /&gt;
&lt;br /&gt;
===Create Add Funds Invoice===&lt;br /&gt;
&lt;br /&gt;
You can create invoices in this way to allow a client to deposit funds to their account, or to charge a specific amount from a clients credit card. A popup will appear allowing the amount of credit to be specified. [[Add_Funds|More Information]].&lt;br /&gt;
&lt;br /&gt;
===Generate Due Invoices===&lt;br /&gt;
&lt;br /&gt;
Click here to generate any invoices due for the client's services, billable items, domains or addons. Useful if one of the aforementioned items has been modified and a new invoices needs to be generated without the need to run the entire automation cron job. A popup will appear asking whether you wish to send the invoice notification email.&lt;br /&gt;
&lt;br /&gt;
===Add Billable Item===&lt;br /&gt;
&lt;br /&gt;
This link will take you directly to the Add Billable Item interface. Read more about [[Billable_Items|Billable Items here]].&lt;br /&gt;
&lt;br /&gt;
===Manage Credits===&lt;br /&gt;
&lt;br /&gt;
Displays a popup displaying the client's credit history; how credits were earned and spent. Credit can also be manually added and removed using the appropriate buttons. You also have the option to delete entries if you wish and they will then be deducted from the credit balance.&lt;br /&gt;
&lt;br /&gt;
Read more about [[Transactions#Managing_Credit|Managing Credit]] here.&lt;br /&gt;
&lt;br /&gt;
==Create New Quote==&lt;br /&gt;
&lt;br /&gt;
This link will take you directly to the Quote creation interface. Read more about [[Quotes|Quotes here]].&lt;br /&gt;
&lt;br /&gt;
==Other Information==&lt;br /&gt;
&lt;br /&gt;
In this section, miscellaneous information is displayed; the client's status, their client group, signup date, length of time since signup and the IP address, hostname + time of their last login.&lt;br /&gt;
&lt;br /&gt;
==Products/Services==&lt;br /&gt;
&lt;br /&gt;
In this section the numbers all the services, domains quotes, support tickets and affiliate signups for this client are displayed. The active service count is displayed first, with the total - including services in suspended, terminated and cancelled statuses - in brackets.&lt;br /&gt;
&lt;br /&gt;
===View Orders===&lt;br /&gt;
&lt;br /&gt;
Click this link to see a list of all orders placed by this client. Read more about [[Order_Management|Order Management]] here.&lt;br /&gt;
&lt;br /&gt;
===Add New Order===&lt;br /&gt;
&lt;br /&gt;
This link will take you to the admin order form. This allows orders to be placed on behalf of the client, and for products and promotional codes to be used in combinations not possible on the public order form.&lt;br /&gt;
&lt;br /&gt;
==Files==&lt;br /&gt;
&lt;br /&gt;
The files section in a client's summary allows you to upload files specific to that customer.&lt;br /&gt;
&lt;br /&gt;
* This can be used for documents, agreements or other downloads specific to the individual&lt;br /&gt;
* Files can be set as Admin Only to only be viewed by admins, otherwise they show on the Client Area Homepage for the client to be able to download&lt;br /&gt;
* Files are uploaded to the /attachments directory and can be added and managed from the Client Summary page in the admin area&lt;br /&gt;
&lt;br /&gt;
==Recent Emails==&lt;br /&gt;
&lt;br /&gt;
Displayed here are the last five emails sent to the client by WHMCS. A longer email history can be viewed under the Emails tab.&lt;br /&gt;
&lt;br /&gt;
==Other Actions==&lt;br /&gt;
&lt;br /&gt;
Within this section are a number of miscellaneous links which perform a variety of tasks.&lt;br /&gt;
&lt;br /&gt;
===View Account Statement===&lt;br /&gt;
&lt;br /&gt;
Provides a statement of account for this client accounts between a date range. Displays Type (add funds, transaction, invoice), date, description, credits, debits and a running balance&lt;br /&gt;
&lt;br /&gt;
===Open New Support Ticket===&lt;br /&gt;
&lt;br /&gt;
This link enables you to open a support ticket under the client's account. Useful for initiating correspondence with the client and keeping a full record of the conversation.&lt;br /&gt;
&lt;br /&gt;
===View all Support Tickets===&lt;br /&gt;
&lt;br /&gt;
Click here to see see a list of all support tickets assigned to the client in the departments to which your administrator account is assigned. If the client had tickets in departments of which you are not a member, they would not be displayed here.&lt;br /&gt;
&lt;br /&gt;
===Activate as Affiliate===&lt;br /&gt;
&lt;br /&gt;
If enabled clients can join the affiliate program from within the client area. Staff members can also add the client to the affiliate program by clicking this link.&lt;br /&gt;
&lt;br /&gt;
===View Affiliate Details===&lt;br /&gt;
&lt;br /&gt;
Once the client has been activated as an affiliate, the 'View Affiliate Details' link will be displayed in its place. Click it to see the client's referrals, commissions pending and paid, as well as your payments to them. Read more about [[Affiliates|Affiliates here]].&lt;br /&gt;
&lt;br /&gt;
==Merge Client Accounts==&lt;br /&gt;
&lt;br /&gt;
Merging clients combines 2 separate client accounts in WHMCS into one. This merges everything relating to the 2 separate entities into one including but not limited to products, invoices, transactions, tickets, etc...&lt;br /&gt;
[[File:Merge clients.png|thumb|Merge Clients Popup]]&lt;br /&gt;
#Begin by locating the first of the clients you want to merge&lt;br /&gt;
#Click the '''Merge Client Accounts''' link on the Client Summary page&lt;br /&gt;
#In the popup that appears, you will be asked to enter the Client ID. If you don't know the client's ID the Search field can be used to search by name, company or email address. Click the client's name and the ID will be filled in.&lt;br /&gt;
#After specifying the second client, you can choose which profile you want to keep, so either merge into the first client, or second client - this determines which profile data is kept - ie. name, email address, etc...&lt;br /&gt;
#Once happy, click the submit button to complete the process&lt;br /&gt;
&lt;br /&gt;
===Close Clients Account===&lt;br /&gt;
&lt;br /&gt;
Closing a client's account will prevent them from being able to login to the client area. This link will also change the status of unpaid invoices to cancelled, and all services to cancelled. It will not run any module termination functions.&lt;br /&gt;
&lt;br /&gt;
===Delete Clients Account===&lt;br /&gt;
 &lt;br /&gt;
To remove a client, click this link. If you also want to remove any associated users that aren't associated with other client accounts, check the checkbox. Then, confirm the deletion. The client will be removed and you will be returned to the '''Clients''' list.&lt;br /&gt;
 &lt;br /&gt;
Deleting a client removes everything related to that client from the WHMCS database, with the exception of transactions. This is because transactions are considered income that isn't being refunded when the client is removed. If you want to also remove the client's transactions, do this in the '''Transactions''' tab before you delete the client.&lt;br /&gt;
&lt;br /&gt;
==Send Email==&lt;br /&gt;
&lt;br /&gt;
Use this dropdown to send any 'General' type email templates to clients, or select the &amp;quot;New Message&amp;quot; option to compose a new email from scratch. Product and Domain type emails can be sent using the dedicated dropdowns under the corresponding tabs.&lt;br /&gt;
&lt;br /&gt;
==Admin Notes==&lt;br /&gt;
&lt;br /&gt;
Here staff can enter private notes about the client to be displayed to whoever views this Summary tab. Separate notes sections are available available under the Products/Services , Domains and Notes tab.&lt;br /&gt;
&lt;br /&gt;
==Filtering Products==&lt;br /&gt;
[[File:filtering_products.png|thumb|Product Filtering]]&lt;br /&gt;
There may be situations where it's desirable to filter the client's product/services list to only display items in certain statuses. For example if a client has lots of old cancelled services you may wish to only display the active, pending and fraud products (hiding the cancelled ones).&lt;br /&gt;
&lt;br /&gt;
To achieve this click the '''Status Filter''' button under the Admin Notes section within the client's Summary tab. A prompt will appear allowing you to select which statuses should be displayed.&lt;br /&gt;
&lt;br /&gt;
The button will turn green so you can tell at-a-glance when the filter is applied.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' The filter selected here will apply across all clients and will be remembered until the web browser is closed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Services, Addon, Domains, Quotes==&lt;br /&gt;
&lt;br /&gt;
The Services, Addons, Domains and Quotes lists will often take up the majority of the client's Summary tab. They provide a comprehensive list of all the client's services with you alongside key information for each (such as price, signup date, status and next due date).&lt;br /&gt;
&lt;br /&gt;
The lists are ordered based upon the item's ID number. Click the ID number of the Edit icon to see the full details of the item from where you can make changes.&lt;br /&gt;
&lt;br /&gt;
The Current Quotes section displays quotes with a Valid Until Date up to and included today's date. When this is passed they can be viewed under the [[Clients:Quotes_Tab|Quotes tab]]&lt;br /&gt;
&lt;br /&gt;
==Mass Updating Services/Addons/Domains==&lt;br /&gt;
&lt;br /&gt;
[[File:Bulk_actions_panel.png|thumb|Mass Update Panel]]&lt;br /&gt;
The mass update options enable you to make changes to more than one of a given clients products, add-ons and domains at a time. This is useful for making bulk changes to a clients products and services.&lt;br /&gt;
&lt;br /&gt;
Supported fields you can change in a mass update include:&lt;br /&gt;
* Status&lt;br /&gt;
* Payment Method&lt;br /&gt;
* Override Auto-Suspend&lt;br /&gt;
* Pricing&lt;br /&gt;
* Billing Cycle&lt;br /&gt;
* Next Due Date&lt;br /&gt;
&lt;br /&gt;
You can also perform all the core module commands - Create, Suspend, Unsuspend, Terminate, Change Package and Change Password.&lt;br /&gt;
&lt;br /&gt;
To use the feature, follow the steps below:&lt;br /&gt;
&lt;br /&gt;
# Tick the checkboxes next to the Products/Services, Addons and/or Domains you want to update,&lt;br /&gt;
# Scroll to the Bulk Actions panel located at the bottom of the Client Summary page&lt;br /&gt;
# Click the Advanced Options link to reveal all the options&lt;br /&gt;
# Make your changes and selections (leaving blank any fields you don't wish to change)&lt;br /&gt;
# Click '''Apply''' to complete the changes&lt;br /&gt;
&lt;br /&gt;
===Due Date Changes Prorata Calculation===&lt;br /&gt;
&lt;br /&gt;
When making a change to the '''Next Due Date''' of products and services, you also have the option to bill for the days between the current next due date and the target next due date you set. This is useful for synchronising multiple different products to a single common due date each billing cycle.&lt;br /&gt;
&lt;br /&gt;
To do this, follow the steps below:&lt;br /&gt;
&lt;br /&gt;
# Tick the checkboxes next to the '''Products/Services''', '''Addons''' and/or '''Domains''' you want to update.&lt;br /&gt;
# Scroll to the '''Bulk Actions''' panel located at the bottom of the '''Client Summary''' page.&lt;br /&gt;
# Click the '''Advanced Options''' link to reveal the additional options.&lt;br /&gt;
# Enter the desired '''Next Due Date'''.&lt;br /&gt;
# Tick the &amp;quot;Create Prorata Invoice&amp;quot; checkbox.&lt;br /&gt;
# Click '''Apply''' to complete the changes.&lt;br /&gt;
&lt;br /&gt;
The page will reload with confirmation of the changes and that an invoice has been generated.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;title&amp;quot;&amp;gt;Note:&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt; An invoice will only be generated if the differences for all products result in an amount being due. If the total differences result in a credit then no invoice will be generated and no credit will be issued. If you wish to add a credit for the difference, we have details on [[Credit/Prefunding#Adding_Credit_to_a_Client|adding a credit manually here.]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Invoice Selected Items==&lt;br /&gt;
&lt;br /&gt;
There may be times where a client asks for you to invoice them for the next renewal date early. To do this in WHMCS,&lt;br /&gt;
&lt;br /&gt;
#Begin by navigating to the '''Clients Summary''' page for the client you want to invoice&lt;br /&gt;
#Now tick the boxes of the '''Products/Services/Addons''' and/or '''Domains''' you want to generate an invoice for&lt;br /&gt;
#To complete, click the '''Invoice Selected Items''' button to create the invoice(s) for them&lt;br /&gt;
#Multiple invoices may be created if the due dates and payment methods differ as invoicing rules are obeyed as normal&lt;br /&gt;
&lt;br /&gt;
'''Note:''' You won't be able to generate another invoice if an invoice has already been made for the next due date.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' If the Separate Invoices option is enabled in the client's Profile or Client Group, when selecting multiple items here with the same Next Due Date, it will not apply and all possible items will be invoiced together. If you need to split them up, you can edit the resulting invoices and use the Split Invoice function.&lt;br /&gt;
&lt;br /&gt;
==Delete Selected Items==&lt;br /&gt;
&lt;br /&gt;
This button can be used to delete multiple items en-mass. Tick the checkboxes next to the services, domains, addons or quotes you wish to remove from WHMCS and click the Delete Selected Items button.&lt;br /&gt;
&lt;br /&gt;
This will remove the record form WHMCS, but will not trigger any module commands (ie. a hosting account associated with a service will stay on the server).&lt;/div&gt;</summary>
		<author><name>DanR</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Common_Promotions&amp;diff=30183</id>
		<title>Common Promotions</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Common_Promotions&amp;diff=30183"/>
				<updated>2021-05-06T13:58:55Z</updated>
		
		<summary type="html">&lt;p&gt;DanR: /* Notes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
This page contains some of the promotions commonly used in the hosting industry and how to achieve them in WHMCS.&lt;br /&gt;
&lt;br /&gt;
==Free Domain Name==&lt;br /&gt;
&lt;br /&gt;
You are able to offer free domains with your packages when purchased with certain payment terms - for example you might want to offer a free domain when a package is purchased annually:&lt;br /&gt;
&lt;br /&gt;
#Begin by going to '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; Products/Services''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Products/Services'''.&lt;br /&gt;
#Next, click the edit icon next to the product or service that you want to offer a free domain with&lt;br /&gt;
#Now select the Free Domain tab from the tabs at the top of the page&lt;br /&gt;
#Tick the box labelled Free Domain to offer a free domain with this package&lt;br /&gt;
#Then select the payment terms (or billing cycles) that you want to offer the free domain with - press Ctrl when clicking the options to select more than one&lt;br /&gt;
#Now you need to select which TLDs the free domain offer applies to.  This allows you to exclude high priced TLDs such as .tv  Again, use Ctrl when clicking the options to select more than one&lt;br /&gt;
#Now click the Save Changes button&lt;br /&gt;
&lt;br /&gt;
That's it!  Your package will now not charge the user for the domain when ordered with the billing cycle specified, this will be reflected on the checkout page.&lt;br /&gt;
&lt;br /&gt;
===Notes===&lt;br /&gt;
* The Free Domain promo relies on the Next Due Date and the Payment Gateway of the product and domain name being the same, therefore it is important this is maintained. If the Next Due Dates were changed the domain would be renewed automatically at no cost to the client, for this reason we recommend disabling the  '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; Automation Settings &amp;gt; Domain Sync Settings &amp;gt; Sync Next Due Date''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Automation Settings &amp;gt; Domain Sync Settings &amp;gt; Sync Next Due Date''' option.&lt;br /&gt;
* Free domains are registered for 1 year at a time. If a biennial or triennial product is ordered the domain will renew automatically after the first and/or second year as appropriate.&lt;br /&gt;
* If a client cancels the hosting package then the domain name will automatically revert to your regular pricing.&lt;br /&gt;
* Domain renew reminder emails aren't sent for domains with a 0.00 price to avoid confusion.&lt;br /&gt;
* Please ensure that the number of days box for the '''Domain Settings''' setting located under the '''Advanced Settings''' link at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; Automation Settings &amp;gt; Invoice Generation &amp;gt; Advanced Settings''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Automation Settings &amp;gt; Invoice Generation &amp;gt; Advanced Settings''' is left blank.&lt;br /&gt;
* Please ensure the '''Separate Invoices''' option on the client's Profile tab is unticked.&lt;br /&gt;
&lt;br /&gt;
==Free Trial==&lt;br /&gt;
&lt;br /&gt;
[[Products_and_Services#Pricing_Tab|Free Trial functionality]] is built into WHMCS which will automatically terminate an account x days after ordering and send an email to the client:&lt;br /&gt;
&lt;br /&gt;
#Edit a product at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; Products/Services''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Products/Services &amp;gt; Products/Services'''.&lt;br /&gt;
#Click '''Pricing'''.&lt;br /&gt;
#Enter the length of your free trial in the '''Auto Terminate/Fixed Term''' field (in days)&lt;br /&gt;
#Select the email to be sent to clients when their free trial period ends and the account is terminated using the '''Termination Email''' dropdown&amp;lt;div class=&amp;quot;docs-alert-success&amp;quot;&amp;gt;A new Product-type email template can be created via Setup &amp;gt; Email Templates which will appear in the list&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This logic can then be used in conjunction with a promo code to offer customers their first month free whilst still taking their payment details for your security checks:&lt;br /&gt;
&lt;br /&gt;
#Go to '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; Promotions''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Payments &amp;gt; Promotions'''.&lt;br /&gt;
#Click &amp;quot;Add New&amp;quot;&lt;br /&gt;
#Enter the promotion code &amp;quot;freetrial&amp;quot;&lt;br /&gt;
#Change the value to 100.00&lt;br /&gt;
#Select Monthly from the drop down menu&lt;br /&gt;
#Set the remaining settings as you would any regular promotion (maximum uses, expiry date, applicable packages)&lt;br /&gt;
#Click the Create Promotion button&lt;br /&gt;
&lt;br /&gt;
Now you can either have your customers enter the promotion code &amp;quot;freetrial&amp;quot; or use one of the following links to apply the free trial automatically:&lt;br /&gt;
&lt;br /&gt;
 http://example.com/whmcs/cart.php?promocode=freetrial  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;If you do not wish to collect a client's payment details for a free trial, set the ''Payment Type'' value to &amp;quot;Free&amp;quot; under the product's [[Products_and_Services#Pricing_Tab|Pricing tab]] instead.&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>DanR</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Client_Email_Verification&amp;diff=30181</id>
		<title>Client Email Verification</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Client_Email_Verification&amp;diff=30181"/>
				<updated>2021-05-04T16:47:05Z</updated>
		
		<summary type="html">&lt;p&gt;DanR: /* Why enable it? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Email Verification''' checks to ensure that the email address a client registers with is valid and their own.&lt;br /&gt;
&lt;br /&gt;
When you enable this, upon creation of a new client account or change of email address, the system sends an email is to the email address, asking the user to confirm that they intended to register or make the change to the email address.&lt;br /&gt;
&lt;br /&gt;
The validation link they receive is valid for 24 hours. If it expires, the client can request a new verification email by logging in to the client area.&lt;br /&gt;
&lt;br /&gt;
==Why enable it?==&lt;br /&gt;
&lt;br /&gt;
Enabling '''Email Verification''' helps to protect against signing up using incorrectly-typed and unauthorized email addresses. It can also act as part of order review and fraud screening procedures.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;title&amp;quot;&amp;gt;Note&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
To help reduce the number of emails new clients are sent after signing up, the client will not receive the separate ''Welcome'' email when '''Email Verification''' is enabled.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Enabling Email Verification==&lt;br /&gt;
&lt;br /&gt;
To enable '''Email Verification''', navigate to '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; General Settings &amp;gt; [[Configuration#General_Settings|Security]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; General Settings &amp;gt; Security'''.  Check the '''Email Verification''' checkbox and save the changes. &lt;br /&gt;
&lt;br /&gt;
[[File:Enable_email_verification.png|center|850x250px|Enable email verification in general settings]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;title&amp;quot;&amp;gt;Note&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Enabling '''Email Verification''' will not send an email verification request to any existing clients automatically. Their accounts will display as unverified and continue to operate unaffected.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Default Behaviour==&lt;br /&gt;
&lt;br /&gt;
When you enable this, the client will receive an email verification notice when the following events occur:&lt;br /&gt;
&lt;br /&gt;
* A new user registration.&lt;br /&gt;
* A change of email address for an existing account.&lt;br /&gt;
&lt;br /&gt;
Clients access is not restricted to the client area, services, or support resources prior to email verification completion. This is to allow the client to access the services and support resources they have paid for.&lt;br /&gt;
&lt;br /&gt;
After the client follows the link in the verification email, the client must log in to the client area to complete the verification process. Once they successfully authenticate, a success message will display on the next page.&lt;br /&gt;
&lt;br /&gt;
In the admin area, the email verification banner will no longer display and a ''Verified'' badge will display.&lt;br /&gt;
&lt;br /&gt;
[[File:email-verified-ca.png|800px|Verified email in client profile view]]&lt;br /&gt;
&lt;br /&gt;
==Resending the Verification Email==&lt;br /&gt;
&lt;br /&gt;
If a client has not verified their email address, they will see the option to resend the verification email in the banner notice in the client area. Admins also have this ability from the admin client summary page.&lt;br /&gt;
&lt;br /&gt;
Clicking the '''Resend Verification Email''' button sends an email with a link that is valid for 60 minutes. If the recipient follows the link after the 60 minute window or multiple times (which invalidates the previous link) then an error will display upon attempting to verify using an older link. The user will have the option to request a new email verification.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&lt;br /&gt;
Prior to 8.0, the email verification link was valid for 24 hours.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Client Area User Interface==&lt;br /&gt;
&lt;br /&gt;
When you enable this, any client who has not completed the email verification process will see a banner reminding them to take action when they log in.  This banner appears on all pages of the client area.&lt;br /&gt;
&lt;br /&gt;
No functionality is limited in the client area for clients with an unverified email address.&lt;br /&gt;
&lt;br /&gt;
[[File:Verify-email-link-ca.png|center|850px|Email verification banner on client side]]&lt;br /&gt;
&lt;br /&gt;
==Admin Area User Interface==&lt;br /&gt;
&lt;br /&gt;
When you enable this, any client who has not completed the email verification process will see a banner at the top of their client summary page and when viewing orders they submitted (pictured below).&lt;br /&gt;
&lt;br /&gt;
[[File:Client_profile_verification_banner.png|400x150px|Client profile verification banner]]&lt;br /&gt;
[[File:Manage_orders_verification_banner.png|400x150px|Manage orders client verification status]]&lt;br /&gt;
&lt;br /&gt;
An option to resend the verification email is also available from both pages. Clicking this will invalidate any previous verification links.&lt;br /&gt;
&lt;br /&gt;
A badge will also display alongside the client's email address throughout the admin area, denoting whether the client's email address is verified.&lt;br /&gt;
&lt;br /&gt;
[[File:Unverified_badge.png|right|400x250px|Unverified email badge]]&lt;br /&gt;
[[File:Verified_badge.png|400x250px|Verified email badge]]&lt;/div&gt;</summary>
		<author><name>DanR</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Email_Piping:_Google_Apps&amp;diff=30180</id>
		<title>Email Piping: Google Apps</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Email_Piping:_Google_Apps&amp;diff=30180"/>
				<updated>2021-05-04T12:25:00Z</updated>
		
		<summary type="html">&lt;p&gt;DanR: /* Configuration */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This article covers how to go about configuring the support ticket system to enable importing of new tickets and replies from e-mail accounts hosted with GSuite (formerly known as Google Apps).&lt;br /&gt;
&lt;br /&gt;
Before beginning, we recommend having WHMCS set up and working properly on your web server so as to avoid any unexpected issues.&lt;br /&gt;
&lt;br /&gt;
==Configuration==&lt;br /&gt;
&lt;br /&gt;
Follow these steps: &amp;lt;br&amp;gt;&lt;br /&gt;
1. Create a GSuite account at https://gsuite.google.com/ &amp;lt;br&amp;gt;&lt;br /&gt;
2. Verify the domain where WHMCS is installed with GSuite and complete their setup process. &amp;lt;br&amp;gt;&lt;br /&gt;
3. Log in to the Admin Console at https://gsuite.google.com/ and create appropriate email accounts that will be using the WHMCS ticketing system and receiving tickets and replies.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-success&amp;quot;&amp;gt;A separate email account should be created for each support department.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&lt;br /&gt;
Starting with version 8.1 WHMCS can use OAuth to authenticate with your GSuite account. For details on how to do this please check our [https://help.whmcs.com/m/support_tools/l/1328652-setting-up-pop3-importing-with-oauth-via-google Setting Up POP3 Importing with OAuth via Google] guide.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4. For all accounts that will be receiving tickets, be sure to enable POP3 and IMAP in GMail's webmail interface:  [https://support.google.com/a/answer/9003945 Enable IMAP] [https://support.google.com/mail/answer/7104828 Enable POP3]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;Enable '''Enable POP for mail that arrives from now on'''. Otherwise, POP will be enabled for all emails in the inbox (even older emails that may not need to be imported) and will cause all of them to be imported by WHMCS.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
5. Please ensure that Imap-SSL/Pop3-SSL is in the PHP installation on the server. Such a change (if needed) will usually require the hosting provider or system administrator to do this. The reason for enabling this is because GSuite services will only accept secured connections.&lt;br /&gt;
6. Under  '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; Support Departments''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Support &amp;gt; Support Departments'''.  in WHMCS, create at least one department and configure the email account assigned to it like so:&lt;br /&gt;
 '''hostname:''' pop.gmail.com&lt;br /&gt;
 '''port:''' 995&lt;br /&gt;
 '''user:''' youremail@yourdomain.com&lt;br /&gt;
 '''pwd:''' yourpassw0rd&lt;br /&gt;
&lt;br /&gt;
7. Create a cron job to trigger the &amp;lt;tt&amp;gt;/crons/pop.php&amp;lt;/tt&amp;gt; file every 5 minutes. We have guides on creating cron job in most web hosting control panels here: https://docs.whmcs.com/Cron_Configuration&lt;br /&gt;
&lt;br /&gt;
Once this is done, any new emails to the support email addresses should be imported. If they are not, please follow the troubleshooting steps below to determine the cause and correct it as needed.&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
If e-mails are not being imported from GSuite as expected, there are some steps that can be taken to debug and correct this.&lt;br /&gt;
&lt;br /&gt;
The first step is to check the ticket import logs in '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Logs''' or, prior to WHMCS 8.0, '''Utilities &amp;gt; Ticket Mail Import Log''' in the WHMCS admin area. Look for any entries for the e-mails in question. If there are no applicable entries present, it usually indicates that the pop.php cron job isn't set up  or is unable to successfully import the e-mails due to one or more of the below reasons:&lt;br /&gt;
&lt;br /&gt;
* Verify that Pop3 and IMAP is enabled for the applicable Gsuite inbox as described in the Configuration section above and that the /crons/pop.php cron job has been created and is running every 5 minutes.&lt;br /&gt;
* If the cron job is running, view the output that it is creating (depending on the server, the cron job to email its results to an email address) and see if an error is being generated.&lt;br /&gt;
* If that command succeeds and no other firewall restrictions are in place, then the connection is unobstructed on your server side.&lt;br /&gt;
&lt;br /&gt;
For more specific troubleshooting of the above, please refer to our help articles at [https://help.whmcs.com/m/support_tools/l/679784-troubleshooting-email-piping-problems Troubleshooting Email Piping Problems] and [https://help.whmcs.com/m/support_tools/l/679785-troubleshooting-email-piping-problems-advanced Troubleshooting Email Piping Problems Advanced]&lt;br /&gt;
===Connection refused===&lt;br /&gt;
* Check that the server's firewall isn't blocking traffic to google.&lt;br /&gt;
* To make absolutely sure that the server's firewall is not blocking your connection attempts, run this telnet command from the server using SSH:    '''telnet gmail-pop.l.google.com 995'''&lt;br /&gt;
===Too many login failures===&lt;br /&gt;
* Double-check the username and password entered on the Support Department configuration are correct. You can find these at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; Support Departments''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Support &amp;gt; Support Departments'''.&lt;br /&gt;
* Adjust the Gmail account settings to allow [https://support.google.com/accounts/answer/6010255?hl=en-GB less secure apps]. This allows external applications such as WHMCS to authenticate to the account via username and password.&lt;br /&gt;
* Check the Recent Activity page in Gmail to see whether the login attempt was blocked at their end: [https://support.google.com/accounts/answer/6063333?hl=en ‘Suspicious sign in prevented’ email].&lt;br /&gt;
&lt;br /&gt;
===Can not authenticate to POP3 server===&lt;br /&gt;
Refer to the troubleshooting steps for [[#Too many login failures]]&lt;br /&gt;
===Password command failed===&lt;br /&gt;
Refer to the troubleshooting steps for [[#Too many login failures]]&lt;br /&gt;
&lt;br /&gt;
If there are any issues after verifying the suggested troubleshooting steps above, it will be necessary to contact Google or visit their discussion forums for GSuite.  It is possible they may be blocking your server from accessing their mail servers.&lt;br /&gt;
&lt;br /&gt;
===Email imported multiple times===&lt;br /&gt;
This situation occurrs if a single mailbox is shared between multiple WHMCS support departments. To resolve this please configure a separate email account for each department.&lt;br /&gt;
&lt;br /&gt;
==Workaround for those without SSL==&lt;br /&gt;
&lt;br /&gt;
In some cases, it may be necessary to work around your server not properly handling SSL for POP3. To do so, create another POP3 e-mail account at a different domain name outside GSuite (that does not require SSL to pick up via POP3), and then have your GSuite e-mail forward to that e-mail address. Then in WHMCS, use POP3 to pick up the e-mail at the POP3 account that does not require SSL.  The user will never notice since they send all e-mails to your GSuite address, and receive e-mails &amp;quot;from&amp;quot; your Google Apps address (or whatever address you have assigned in WHMCS for that support department).&lt;/div&gt;</summary>
		<author><name>DanR</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Automation_Settings&amp;diff=30179</id>
		<title>Automation Settings</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Automation_Settings&amp;diff=30179"/>
				<updated>2021-05-04T12:23:10Z</updated>
		
		<summary type="html">&lt;p&gt;DanR: /* Invoice Generation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The '''Automation Settings''' allow you to configure all of WHMCS's automated processes. This includes suspensions, unsuspensions, terminations, how far in advance the system generates invoices, and when the system sends overdue notices. It's the one central place that controls everything that the daily automation tasks do.&lt;br /&gt;
&lt;br /&gt;
To trigger the daily automation tasks, you must configure a [[Crons|Cron Job]] at a recommended frequency of every 5 minutes. This is usually part of the initial installation of WHMCS.&lt;br /&gt;
&lt;br /&gt;
[[File:Videotutorial.png‎|center|link=https://www.youtube.com/watch?v=Yk3-Ud0jITc&amp;amp;list=PLfpgUwyOgC7C4wwPhB7jEqSp_esXB31Jb&amp;amp;index=5&amp;amp;t=0s|Watch Video Tutorial]]&lt;br /&gt;
&lt;br /&gt;
==Scheduling==&lt;br /&gt;
&lt;br /&gt;
===Time of Day===&lt;br /&gt;
[[File:Time of Day.png|thumb|Time of Day]]&lt;br /&gt;
This setting allows you to select the hour in which you'd like WHMCS to perform all daily automation tasks. To function properly, this setting depends on configuring your cron job to run at least once every hour. We recommend setting it to run every 5 minutes to allow other system processes, such as checking for updates, to take place.&lt;br /&gt;
&lt;br /&gt;
==Automatic Module Functions==&lt;br /&gt;
[[File:Automatic Module Functions.png|thumb|Automatic Module Functions]]&lt;br /&gt;
These settings pertain to your customer’s products or services and how the system handles non-payment.&lt;br /&gt;
&lt;br /&gt;
===Enable Suspension===&lt;br /&gt;
Selecting this option will enable automatic suspensions when payments for products or services are overdue. The setting below (Suspend Days) controls the amount of time between your customer becoming overdue and when the system suspends them.&lt;br /&gt;
&lt;br /&gt;
===Suspend Days===&lt;br /&gt;
If you enabled Enable Suspension, this configures the amount of time between a customer's product or service becoming overdue and the system suspending them.&lt;br /&gt;
&lt;br /&gt;
===Enable Unsuspension===&lt;br /&gt;
When you enable this setting, services that the system suspended due to &amp;quot;Overdue on Payment&amp;quot; will automatically become unsuspended when they pay the unpaid invoice for the item. However, if you suspended products or services manually, and assigned a custom reason for suspension, then an automatic reactivation will not occur. For example, you may have manually suspended an item with a reason of &amp;quot;Broken Terms of Service&amp;quot; or &amp;quot;Awaiting ID Verification&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Enable Termination===&lt;br /&gt;
Enable this option to terminate the client's service (remove it from the server) according to the setting below (Termination Days).&lt;br /&gt;
&lt;br /&gt;
===Termination Days===&lt;br /&gt;
If you selected Enable Termination, this determines the number of days between a product or service becoming overdue and the system terminating that product or service.&lt;br /&gt;
&lt;br /&gt;
==Billing Settings==&lt;br /&gt;
[[File:Billing Settings.png|thumb|Billing Settings]]&lt;br /&gt;
Use these settings to determine how the system generates invoices and sends payment reminders to your customers. Setting the Unpaid and Overdue Reminder settings to &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; will prevent the system from sending the related emails.&lt;br /&gt;
&lt;br /&gt;
===Invoice Generation===&lt;br /&gt;
This is the number of days before the system will generate due date invoices. For example, if this setting is &amp;lt;tt&amp;gt;7&amp;lt;/tt&amp;gt;, the system will generate an invoice seven days before the due date for products, services, addons, and domains. The number of days should be an integer of &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; or more.&lt;br /&gt;
&lt;br /&gt;
====Per Billing Cycle Settings====&lt;br /&gt;
By clicking '''Advanced Settings''', you can specify a different invoice generation setting for each billing cycle. For example, you may want the system to generate invoices for monthly services seven days in advance and generate invoices for annual services 14 days in advance.&lt;br /&gt;
&lt;br /&gt;
====Domain Invoice Generation====&lt;br /&gt;
This optional setting allows you to specify how far in advance to generate domain renewal invoices. You can use this if you want to give a longer time between invoice generation and the due date for domain invoices. This is particularly useful when you don't accept payments online and more time might be necessary to avoid domain expiration.&lt;br /&gt;
&lt;br /&gt;
Leave this setting blank if you want the system to generate all invoices at the same time.&lt;br /&gt;
&lt;br /&gt;
===Payment Reminder Emails===&lt;br /&gt;
If you enable this, the system will remind your customers by email in advance of an unpaid invoice's due date. It does this using the ''Invoice Unpaid Reminder'' setting (below). This setting does not apply to Overdue Reminders.&lt;br /&gt;
&lt;br /&gt;
===Invoice Unpaid Reminder===&lt;br /&gt;
The system sends this email before the due date if the invoice remains unpaid, to remind a customer that the invoice will be due soon.&lt;br /&gt;
&lt;br /&gt;
=== Overdue Reminders===&lt;br /&gt;
If a customer hasn't paid an invoice in a certain number of days after the due date, the system will email the customer with a reminder.&lt;br /&gt;
&lt;br /&gt;
===Add Late Fee Days===&lt;br /&gt;
If a customer hasn't paid an invoice that is this number of days overdue, your customer will be charged late fees (according to your choices in General Settings).&lt;br /&gt;
&lt;br /&gt;
===Overage Billing Charges===&lt;br /&gt;
Use this to determine how to bill clients for overage (if you enabled this). The first setting will calculate the bandwidth overage costs on the last day of each month and create an invoice that is due immediately. This will create a separate invoice.&amp;lt;br /&amp;gt;&lt;br /&gt;
The second setting will still calculate the overage change on the last day of the month, but it will not create a separate invoice. Instead, the system will add it to the client's next invoice.&lt;br /&gt;
&lt;br /&gt;
===Change Invoice Status===&lt;br /&gt;
Part of the [[Payment_Reversals|Payment Reversals]] feature. Set Invoice to Collections Status. WHMCS uses the collections status for invoices to denote invoices that are bad debts. You can use this to track invoices that have received payment disputes or chargebacks.&lt;br /&gt;
&lt;br /&gt;
===Change Due Dates===&lt;br /&gt;
Part of the [[Payment_Reversals|Payment Reversals]] feature. This reverts Next Due Date Increments for the products and services in an invoice. The system considers them as due again, and, in cases where the date is in the past, overdue, which will trigger an automated suspension until repayment is made.&lt;br /&gt;
&lt;br /&gt;
==Credit Card Charging Settings==&lt;br /&gt;
[[File:Credit Card Charging Settings.png|thumb|Credit Card Charging Settings]]&lt;br /&gt;
Use these settings to determine how to charge your customer's cards when you use a merchant gateway to handle credit card payments.&lt;br /&gt;
&lt;br /&gt;
===Process Days Before Due===&lt;br /&gt;
This specifies the number of days before the due date that you wish to capture. For example, setting this to &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; would attempt to charge the card for the first time one day before the invoice due date.&lt;br /&gt;
&lt;br /&gt;
=== Attempt Only Once===&lt;br /&gt;
By default, the system will attempt to capture payment for unpaid invoices daily until it succeeds.  When you enable this option, WHMCS will only attempt to charge the customer’s card once. If it fails, it will not try again until the client or an admin makes a manual payment attempt.&lt;br /&gt;
&lt;br /&gt;
===Retry Every Week For===&lt;br /&gt;
If a credit card is declined and you have enabled this setting, WHMCS will attempt the card once a week for this number of weeks. For example, if you set this to &amp;lt;tt&amp;gt;2&amp;lt;/tt&amp;gt;, the system would attempt to charge the card two additional times.  Set this to &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; to disable this, causing the system to attempt to change the card every day.&lt;br /&gt;
&lt;br /&gt;
===CC Expiry Notices Date===&lt;br /&gt;
This is the day of the month on which the system will send reminder emails to active clients with cards that expire by the end of the month, asking them to update their records. On the 1st of the month, WHMCS will remove any credit cards with an expiration date before that day's date.&lt;br /&gt;
&lt;br /&gt;
We recommend a low value, such as &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt;, to give clients as much notice as possible to update their card details. For example:&lt;br /&gt;
&lt;br /&gt;
'''Scenario'''&amp;lt;br/&amp;gt;&lt;br /&gt;
Card Expiry Date: March 2020&amp;lt;br/&amp;gt;&lt;br /&gt;
CC Expiry Noticed Date: 1&lt;br /&gt;
&lt;br /&gt;
'''Timeline of Events'''&amp;lt;br/&amp;gt;&lt;br /&gt;
Reminder email sent: 1st March 2020&amp;lt;br/&amp;gt;&lt;br /&gt;
Card removed from WHMCS: 1st April 2020&lt;br /&gt;
&lt;br /&gt;
===Do Not Remove CC on Expiry===&lt;br /&gt;
When you enable this option, the client's credit card information will remain on file after its expiration date. When you disable this, the system will remove the credit card details using the setting you specified for CC Expiry Notices Date.&lt;br /&gt;
&lt;br /&gt;
==Currency Auto Update Settings==&lt;br /&gt;
[[File:Currency Auto Update Settings.png|thumb|Currency Auto Update Settings]]&lt;br /&gt;
Use these settings for the multi-currency system.&lt;br /&gt;
&lt;br /&gt;
===Exchange Rates===&lt;br /&gt;
When you enable this setting, WHMCS will connect with the European Central Bank and obtain the latest exchange rates. This will ensure your currency conversion functions are always using an accurate rate. For more information, see the list of [[Currencies#Auto_Updating_Rates |supported currencies]].&lt;br /&gt;
&lt;br /&gt;
===Product Prices===&lt;br /&gt;
When you enable this setting, the system will automatically update your prices according to the exchange rates. For example, if you have a product that costs $1 in your default base currency (USD) and the exchange rate is 0.6 for a second currency (GBP), the product’s price would automatically update to £0.6. Tomorrow, if the exchange rate changed to 0.7, a $1 product would change to £0.7.&lt;br /&gt;
&lt;br /&gt;
==Domain Reminder Settings==&lt;br /&gt;
[[File:Domain Reminder Settings.png|thumb|Domain Reminder Settings]]&lt;br /&gt;
These settings determine when and how many emails the system sends to your customers to remind them to renew their domain names. You can send a maximum of five reminders. If you set any field to &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; it will disable that email.&lt;br /&gt;
&lt;br /&gt;
You can configure WHMCS to send Domain Renewal Notices before and after a domain has expired.&lt;br /&gt;
&lt;br /&gt;
For more information on this functionality, see the [[Domain Renewal Notices]] documentation.&lt;br /&gt;
&lt;br /&gt;
==Domain Sync Settings==&lt;br /&gt;
[[File:Domain Sync Settings.png|thumb|Domain Sync Settings]]&lt;br /&gt;
===Domain Sync Enabled===&lt;br /&gt;
Enable this setting for the [[Domain_Synchronisation|domain date and status synchronisation function]].&lt;br /&gt;
&lt;br /&gt;
===Sync Next Due Date===&lt;br /&gt;
Use this setting to choose whether to sync the Next Due Date to the Expiry Date, and, if you wish, how many days in advance of it.&lt;br /&gt;
&lt;br /&gt;
===Domain Sync Notify Only===&lt;br /&gt;
If you enable this, the domain sync script won't make any changes. It will only notify admins of the changes it would have made. This is useful for debugging.&lt;br /&gt;
&lt;br /&gt;
===Domain Expiry Sync Frequency===&lt;br /&gt;
A value of &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; will check the domain expiration dates every four hours. Use this setting to set a different frequency. The lowest frequency setting, &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt;, will check every hour.&lt;br /&gt;
&lt;br /&gt;
===Pending Transfer Sync Frequency===&lt;br /&gt;
A value of &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; will check the domains in Pending Transfer status every four hours. Use this setting to set a different frequency. The lowest frequency setting, &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt;, will check every hour.&lt;br /&gt;
&lt;br /&gt;
==Support Ticket Settings==&lt;br /&gt;
[[File:Support Ticket Settings.png|thumb|Support Ticket Settings]]&lt;br /&gt;
===Close Inactive Tickets===&lt;br /&gt;
After this amount of time has passed, the system will close any tickets that meet both of the following criteria:&lt;br /&gt;
&lt;br /&gt;
* The ticket's status is either answered or customer reply.&lt;br /&gt;
* There have been no new replies from staff or the customer.&lt;br /&gt;
&lt;br /&gt;
The system will also send an email to the customer.&lt;br /&gt;
&lt;br /&gt;
Tickets in on hold and in progress status are exempt from auto-closure. Closure takes place when the daily cron job runs.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;You must configure Ticket Statuses to &amp;quot;Auto-Close&amp;quot; for this setting to take effect. You can learn more about Ticket Statuses and the Auto-Close functionality in our [https://docs.whmcs.com/Support_Ticket_Statuses#Status_Options Status Options documentation].&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Prune Ticket Attachments===&lt;br /&gt;
When this setting is enabled, ticket attachments will be automatically deleted after the selected amount of time of inactivity following the closure of a ticket.  This can be set between 1 and 24 months.&lt;br /&gt;
&lt;br /&gt;
For more information on this functionality, see the [[Ticket Attachment Pruning]] documentation.&lt;br /&gt;
&lt;br /&gt;
==Data Retention Settings==&lt;br /&gt;
[[File:Data Retention Settings.png|thumb|Data Retention Settings]]&lt;br /&gt;
{{:Data_Retention_Policy_Automation}}&lt;br /&gt;
&lt;br /&gt;
For more information, see the [[Data_Retention_Policy_Automation|Data Retention Policy Automation page]].&lt;br /&gt;
&lt;br /&gt;
==Miscellaneous==&lt;br /&gt;
[[File:Miscellaneous.png|thumb|Miscellaneous]]&lt;br /&gt;
===Cancellation Requests===&lt;br /&gt;
When you enable the [[Other_Tab#Show_Cancellation_Link|Show Cancellation Link]] option, enabling this setting will automatically terminate the client’s package on the termination date.&lt;br /&gt;
&lt;br /&gt;
===Update Usage Statistics===&lt;br /&gt;
Enabling this option will display disk and bandwidth usage statistics from the hosting control panel (if it is supported) inside the WHMCS admin and client areas. It will update them on a daily basis.&lt;br /&gt;
&lt;br /&gt;
===Client Status Update===&lt;br /&gt;
The following applies to the client status dropdown found in the client account Profile tab. WHMCS automatically sets clients with no active products or services to Inactive status. This helps you to distinguish and filter clients effectively. However, you can stop WHMCS from doing this by changing this setting. More information on this feature is available in [[Clients:Profile_Tab#Changing_a_Clients_Status|Client Management]].&lt;br /&gt;
&lt;br /&gt;
'''Disabled''' — The system won't change the status of a client automatically.&lt;br /&gt;
&lt;br /&gt;
'''Change client status based on active/inactive products''' — If a client has no active or suspended products or services, the system will automatically set their account to Inactive status the next time that the cron job runs.&lt;br /&gt;
&lt;br /&gt;
'''Change client status based on active/inactive products and not logged in for longer than 3 months''' — In addition to the above option, the system will only set a client's account to inactive when their last login date was over 3 months ago.&lt;br /&gt;
&lt;br /&gt;
===Automatically Delete Inactive Clients===&lt;br /&gt;
&lt;br /&gt;
This setting allows you to configure client records to be automatically deleted after a given number of months with no invoice or transaction history. This setting defaults to off.&lt;br /&gt;
&lt;br /&gt;
To enable this, you must select the radio option for removing clients automatically and specify a number of months that is greater than 0.&lt;br /&gt;
&lt;br /&gt;
When you enable it, the system performs the Data Retention Pruning task daily and will remove clients that meet the following conditions:&lt;br /&gt;
&lt;br /&gt;
* Are in a status of [[Automation_Settings#Client_Status_Update|Inactive or Closed]].&lt;br /&gt;
* Have no invoices that have been marked paid within the given number of months you specify.&lt;br /&gt;
* Have no transactions that have been entered or applied within the given number of months you specify.&lt;br /&gt;
* Is an affiliate with a balance greater than 0 or has made a referral within the specified retention period.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-warning&amp;quot;&amp;gt;'''Important Note:''' It is the presence of paid invoices or transactions within the given timeframe that defines client records which are kept. Enabling this feature with clients in an Inactive or Closed status, that have no invoice or transaction history, will result in those clients being deleted immediately.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The client status can be changed automatically by the system. This is controlled by '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; Automation Settings &amp;gt; [[Automation_Settings#Client_Status_Update|Client Status Update''']].&amp;lt;/onlyinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>DanR</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Configuring_Sign-In_using_Twitter&amp;diff=30178</id>
		<title>Configuring Sign-In using Twitter</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Configuring_Sign-In_using_Twitter&amp;diff=30178"/>
				<updated>2021-05-04T12:20:10Z</updated>
		
		<summary type="html">&lt;p&gt;DanR: /* Configuring Sign-In with Twitter */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This article is part of the [[Sign-In Integrations]] feature.&lt;br /&gt;
&lt;br /&gt;
==Purpose==&lt;br /&gt;
&lt;br /&gt;
Enabling the Twitter Sign In Integration enables visitors and customers to register, sign in and connect their Twitter accounts with your WHMCS installation for faster sign-up and automatic sign-in.&lt;br /&gt;
&lt;br /&gt;
[[File:Signinintegrationslogin.png]]&lt;br /&gt;
&lt;br /&gt;
==Configuring Sign-In with Twitter==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;a href=&amp;quot;https://vimeo.com/231458433&amp;quot; class=&amp;quot;docs-video-tutorial&amp;quot;&amp;gt;&amp;lt;em&amp;gt;Watch the video tutorial for this feature&amp;lt;/em&amp;gt;&amp;lt;span&amp;gt;&amp;amp;nbsp;&amp;lt;img src=&amp;quot;https://assets.whmcs.com/icons/youtube.png&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There are 2 steps required to set up Sign-In with Twitter:&lt;br /&gt;
&lt;br /&gt;
# [[Configuring_Sign-In_using_Twitter#Create a Twitter App and Retrieve API Credentials|Create a Twitter App and Retrieve API Credentials]]&lt;br /&gt;
# [[Configuring_Sign-In_using_Twitter#Activate Twitter Sign In within WHMCS|Activate Twitter Sign In within WHMCS]]&lt;br /&gt;
&lt;br /&gt;
===Create a Twitter App and Retrieve API Credentials===&lt;br /&gt;
&lt;br /&gt;
Twitter Sign In Integration requires a Twitter App and API Credential Set.  You can create this using your existing Twitter account. Users will only see the App Name you define and not see anything relating to the account you use to create the project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-warning&amp;quot;&amp;gt;Be aware that the Twitter account under which you create the app cannot be changed without requiring users to re-authenticate and re-link their accounts, so it is important to set the app up under an account that you will always have access to.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1. Visit https://developer.twitter.com/en/portal/dashboard &amp;lt;br&amp;gt;&lt;br /&gt;
2. If not logged in, log in to your Twitter account &amp;lt;br&amp;gt;&lt;br /&gt;
3. Click the '''Create Project''' button &amp;lt;br&amp;gt;&lt;br /&gt;
4. Select a project name. This can be anything such as &amp;quot;WHMCS Login&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
5. Select an app name. This can be anything such as &amp;quot;WHMCS Client Area Login&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Screenshot-3.png|thumb]]&lt;br /&gt;
&lt;br /&gt;
6. You will now be presented with your API keys. You should take note of the '''API Key''' and '''API secret key'''&amp;lt;br&amp;gt;&lt;br /&gt;
7. Go to app settings and scroll down and click '''Edit''' on Authentication Settings section&amp;lt;br&amp;gt;&lt;br /&gt;
8. Enable '''3-legged OAuth'''&amp;lt;br&amp;gt;&lt;br /&gt;
9. Enter your WHMCS Client area URL for the callback URLs and Website URL and click '''Save'''&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You must also enter a valid URL in the Callback URL fields. The URL you enter here is not used, but the valid URL of the callback file must be defined to enable WHMCS to utilize callbacks. &lt;br /&gt;
&lt;br /&gt;
Because there are three possible callback URLs depending upon the '''Friendly URLs''' feature settings, we suggest adding all three:&lt;br /&gt;
&lt;br /&gt;
* http://demo.whmcs.com/whmcs/index.php&lt;br /&gt;
* http://demo.whmcs.com/whmcs/index.php/auth/provider/twitter_oauth/callback&lt;br /&gt;
* http:///demo.whmcs.com/whmcs/auth/provider/twitter_oauth/callback&lt;br /&gt;
&lt;br /&gt;
Replace &amp;lt;i&amp;gt;&amp;lt;nowiki&amp;gt;http://demo.whmcs.com/whmcs/&amp;lt;/nowiki&amp;gt;&amp;lt;/i&amp;gt; with the actual URL of your WHMCS installation&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-warning&amp;quot;&amp;gt;Ensure that the '''WHMCS System URL''' in WHMCS, Twitter &amp;quot;Website&amp;quot; and Twitter &amp;quot;Callback URLs&amp;quot; either all contain www subdomain or not, or matching subdomain. Failing to do so will result in an Invalid Details error when trying to activate the Twitter sign-in integration in WHMCS. &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can now proceed to Activate Twitter Sign In within WHMCS.&lt;br /&gt;
&lt;br /&gt;
===Activate Twitter Sign In within WHMCS===&lt;br /&gt;
&lt;br /&gt;
# Log in to the WHMCS Admin Area&lt;br /&gt;
# Navigate to '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; Sign-In Integration''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Sign-In Integrations'''.&lt;br /&gt;
# Select '''Activate''' under the Twitter heading&lt;br /&gt;
# Enter your Twitter '''API Key''' in to the '''ConsumerKey''' field and the '''API Secret''' into the '''ConsumerSecret''' field&lt;br /&gt;
# Click '''Save &amp;amp; Activate'''&lt;br /&gt;
&lt;br /&gt;
WHMCS will attempt to validate and test the details you have entered. If the API Key and Secret are valid and successfully authenticate with the Twitter API, the values will be saved and the modal will close.&lt;br /&gt;
&lt;br /&gt;
Congratulations! Twitter Sign In is now enabled.&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
&lt;br /&gt;
For troubleshooting help, please refer to [[Troubleshooting Sign-In using Twitter]]&lt;/div&gt;</summary>
		<author><name>DanR</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Domain_Transfers&amp;diff=30151</id>
		<title>Domain Transfers</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Domain_Transfers&amp;diff=30151"/>
				<updated>2021-04-27T16:17:27Z</updated>
		
		<summary type="html">&lt;p&gt;DanR: /* Outgoing Domain Transfers */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Overview==&lt;br /&gt;
&lt;br /&gt;
* WHMCS allows your customers to transfer domains to and away from you via a varied array of registrar modules. To see if your registrar module supports Domain Transfers, you can visit the [[Domain_Registrars|Domain Registrars]] page and then review the Supported Features chart.&lt;br /&gt;
* A domain transfer is the process of moving a domain from one registrar to another. Once a domain transfer has been performed, the registrar the domain was transferred to will handle all information pertaining the domain and its management.&lt;br /&gt;
* To initiate a transfer, an order must be placed for it. Customers can place an order for a Domain Transfer via the Client Area by navigating to '''Store &amp;gt; Transfer Domains to Us'''. Alternatively, administrators can place an order for a Domain Transfer via the Admin Area by navigating to '''Orders &amp;gt; Add New Order'''.&lt;br /&gt;
&lt;br /&gt;
==Incoming Domain Transfers==&lt;br /&gt;
&lt;br /&gt;
[[File:Domain-transfer.png]]&lt;br /&gt;
&lt;br /&gt;
* If the &amp;quot;Allow clients to transfer a domain to you&amp;quot; option is enabled in the Admin Area at Setup &amp;gt; General Settings &amp;gt; Domains tab, then your customers will see the &amp;quot;Transfer in a Domain&amp;quot; option in the Shopping Cart.&lt;br /&gt;
* Customers can choose to transfer in any domains with TLDs that have pricing configured in the Admin Area at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; Domain Pricing''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Products/Services &amp;gt; Domain Pricing'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-warning&amp;quot;&amp;gt;&lt;br /&gt;
Please note that a domain transfer will be billed and performed for the shortest configured period.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Once the order has been completed and paid WHMCS will initiate the transfer process, and the &amp;quot;Domain Transfer Initiated&amp;quot; email notification will be sent to the customer.&lt;br /&gt;
&lt;br /&gt;
==Outgoing Domain Transfers==&lt;br /&gt;
&lt;br /&gt;
* To initiate a transfer away from WHMCS customer's will first want to ensure that their domain name is unlocked, and they will need to get their EPP code.&lt;br /&gt;
*  If the registrar module offers the ability, WHMCS can lock or unlock the domain name for them. Customers that want to unlock their domain name can do so via the Client Area by navigating to '''Domains &amp;gt; My Domains''', clicking on the domain, and then clicking on '''Registrar Lock'''.&lt;br /&gt;
* The EPP code is basically a password for a domain name. It is a security measure, ensuring that only the domain name owner can transfer a domain name.&lt;br /&gt;
* Customers can retrieve the EPP code needed to transfer their domain to a new registrar via the Client Area as well. This can be done by navigating to navigating to '''Domains &amp;gt; My Domains''', clicking on the domain, and then clicking on '''Get EPP Code'''.&lt;br /&gt;
* Administrators can retrieve the EPP code from the Admin Area if needed. This can be done by navigating to the domain's page, and then clicking on the '''Get EPP Code''' button.&lt;br /&gt;
* Domain names that have not yet been successfully transferred from another registrar will have the &amp;quot;Pending Transfer&amp;quot; status.&lt;br /&gt;
&lt;br /&gt;
==Transfer Automation==&lt;br /&gt;
&lt;br /&gt;
* With the Domain Syncronisation feature WHMCS is able to identify when a domain transfer has been completed or failed. It will ensure that the Next Due Date, Expiry Date, and Status values are updated for domains on the installation.&lt;br /&gt;
* Most Registrar Modules support the Domain Syncronisation functionality, however not all do. To see if your desired registrar module supports this feature you'll want to click on the module on the [[Domain_Registrars|Domain Registrars]] page and then review the Supported Features chart.&lt;br /&gt;
* Once the domain transfer from another registrar has completed, WHMCS will send the &amp;quot;Domain Transfer Completed&amp;quot; email notification to the customer, and the domain will be set to the &amp;quot;Active&amp;quot; status.&lt;br /&gt;
* If a domain transfer from another registrar fails, then WHMCS will send the &amp;quot;Domain Transfer Failed&amp;quot; email notification to the customer to let them know and advise as how to proceed.&lt;br /&gt;
* The following registrar modules will automatically set the domain's status to &amp;quot;Transferred Away&amp;quot; once the transfer to another registrar has been completed. This will prevent WHMCS from generating renewal invoices for the transferred domain:&lt;br /&gt;
**[[Enom]]&lt;br /&gt;
**[[ResellerClub]]&lt;br /&gt;
**[[HexoNet]]&lt;/div&gt;</summary>
		<author><name>DanR</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=File:Screenshot-3.png&amp;diff=30123</id>
		<title>File:Screenshot-3.png</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=File:Screenshot-3.png&amp;diff=30123"/>
				<updated>2021-04-25T15:27:40Z</updated>
		
		<summary type="html">&lt;p&gt;DanR: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>DanR</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=How_To_Guides&amp;diff=30120</id>
		<title>How To Guides</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=How_To_Guides&amp;diff=30120"/>
				<updated>2021-04-21T14:23:30Z</updated>
		
		<summary type="html">&lt;p&gt;DanR: /* Convert invoice amounts into a different currency */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page contains step-by-step instructions for certain common scenarios that may occur while running a business. There are more tips, tricks and howto's [http://forum.whmcs.com/forumdisplay.php?29-Tips-Tricks-amp-Howto-s in our forum].&lt;br /&gt;
&lt;br /&gt;
==Regenerate Historical Invoices==&lt;br /&gt;
When switching from a manual billing system or software for which an import script is not available, you may want to have a record of past invoices that you issued before you started using WHMCS.&lt;br /&gt;
&lt;br /&gt;
Once you have added the client and their service, navigate to the client's Products/Services tab and set the '''Next Due Date''' back to the date you want the first historical invoice to be due via their Products/Services tab and Save Changes. For example, if the client has an invoice every month starting in June, 2011, set it to 28/06/2011.&lt;br /&gt;
&lt;br /&gt;
Click the '''Generate Due Invoices''' button from the summary page to create last year's invoice. When the system prompts you, select &amp;quot;No&amp;quot; so that the client doesn't receive a notification email.&lt;br /&gt;
&lt;br /&gt;
Next, navigate to the Invoices tab, click the invoice, and then click the Add Payment tab to record the payment details per [[Transactions]]. Uncheck the &amp;quot;Send Email&amp;quot; option so the client doesn't receive a notification email.&lt;br /&gt;
&lt;br /&gt;
This will cause the Next Due Date to increment forward one billing cycle, so in our example it will now be 28/06/2012. Click the &amp;quot;Generate Due Invoices&amp;quot; again and the system will create the June 2011 invoice.&lt;br /&gt;
&lt;br /&gt;
Repeat this until the Next Due Date is showing the date the client's next payment is due.&lt;br /&gt;
&lt;br /&gt;
==Update Domain Pricing==&lt;br /&gt;
[[File:change.png|thumb|Bulk Price Updater]]Occasionally, it may be necessary to update the price of existing domain names or products in your system (for example, in line with wholesale price increases). There may also be times where it is desirable to increase the price of specific domain addons (for example, if you wish to start charging for ID Protection after previously offering it for free). You can achieve this with the [[Bulk Pricing Updater Addon]] and these instructions:&lt;br /&gt;
&lt;br /&gt;
*Begin by navigating to '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; Addon Modules''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Addon Modules'''.&lt;br /&gt;
*Locate and Activate the '''Bulk Pricing Updater''' addon (it may already be active, in which case you can skip this step).&lt;br /&gt;
*Ensure that you have access to the module by scrolling down the page following activation and ensuring your admin role group (usually Full Administator) has the checkbox checked in the Access Control permissions for it.&lt;br /&gt;
*Navigate to '''Addons &amp;gt; Bulk Pricing Updater''' to actually access the addon module.&lt;br /&gt;
*Set your criteria and perform the pricing update. To do this:&lt;br /&gt;
**'''Step 1''' — Choose the type of item you wish to make a pricing update to, which in this case is Domains.&lt;br /&gt;
**'''Step 2''' — Specify the criteria for identifying the items you wish to change the pricing on by checking the corresponding TLD checkboxes.&lt;br /&gt;
***Select the statuses you want to apply the change to. We recommend only Pending, Pending Transfer, and Active statuses. Expired and Cancelled domains won't receive invoices again.&lt;br /&gt;
***Select the Registration Period you want to apply the change to (for example, one or two years). You will need to run an update for each pricing term you offer.&lt;br /&gt;
***If you only wish to change the price of domains with specific addons active, check the relevant Domain Addons checkboxes. This is useful for adjusting the price of the individual addons (for example, to increase the price of ID Protection, select the ID Protection checkbox).&lt;br /&gt;
***The currency and current price are optional. If you run multiple currencies then you would need to do a separate update request for each currency, and if you have certain clients on older or special pricing, you can use the current price field to restrict a change to only users with a specific current price, thus allowing you to keep the users on different pricing.&lt;br /&gt;
***The system will prompt you to provide either a New Price to assign matching items to, or an amount to Increase Existing Prices By. You should only ever specify one or the other of these (never both).&lt;br /&gt;
**'''Step 3''' — Review — This step provides a summary of your criteria and the change that will be made and asks you to confirm everything is correct. Once you proceed, you can't undo the action, so be sure to check the proposed changes and criteria.&lt;br /&gt;
**'''Step 4''' — Perform Update — The system will perform the update and the addon will tell you the number of items that the system adjusted. Upon completion of an update, if you find it didn't apply to as many items as you had expected, you can go back and refine your criteria further.&lt;br /&gt;
&lt;br /&gt;
==Change Tax Rate==&lt;br /&gt;
Sometimes, governments change the sales tax rates. This is significant, since you must also update your rates accordingly.&lt;br /&gt;
&lt;br /&gt;
For the purposes of this example the UK sales tax, VAT, is increasing from 17.5% to 20% on 4th January.&lt;br /&gt;
&lt;br /&gt;
This means that at midnight on Monday, 3rd January, or at the latest before the cron job run on the 4th for generating new invoices, you will want to update the tax rules in your WHMCS installation so that new orders and invoices use the higher rate. This is possible through the WHMCS admin interface under '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; Tax Configuration''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Payments &amp;gt; Tax Configuration''':&lt;br /&gt;
&lt;br /&gt;
*Delete the original tax rule by clicking the corresponding red delete icon.&lt;br /&gt;
*Create a new tax rule with exactly the same country and state but enter the new tax rate.&lt;br /&gt;
&lt;br /&gt;
Any invoices that the system generates after this change will use the new tax rate, but any existing invoices will keep the old tax rate.&lt;br /&gt;
&lt;br /&gt;
If you have '''multiple separate rules''' this method can be time-consuming, so you can do this in bulk by running an SQL update query on your WHMCS database via a tool such as phpMyAdmin:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;UPDATE tbltax SET taxrate=20 WHERE taxrate=17.5;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This won't affect existing invoices, and it will keep the 17.5% tax rates they had when the system generated them. This will just mean that for any invoices that the system generates after the change, use the new higher 20% tax rate.&lt;br /&gt;
&lt;br /&gt;
If you also wish to update existing but unpaid invoices from before the 4th but due on or after it, then you can use this query to do that:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;UPDATE tblinvoices SET taxrate=20,tax=subtotal*0.2,total=subtotal+tax-credit WHERE status='Unpaid'&lt;br /&gt;
AND taxrate=17.5 AND duedate&amp;gt;='2011-01-04'; &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Migrate Payment Gateways==&lt;br /&gt;
Sometimes, you may want to stop using one payment gateway and switch to another. This is a general guide to the process:&lt;br /&gt;
&lt;br /&gt;
#Enable the new payment gateway module under '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; Payment Gateways''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Payments &amp;gt; Payment Gateways'''. Configure it per our [[Payment_Gateways|documentation]].&lt;br /&gt;
#Deactivate the old module by clicking '''Deactivate''' on the Payment Gateways page.&lt;br /&gt;
#The system will prompt you to choose the payment gateway you wish to reassign all existing services and invoices to. Select the new payment gateway. For more information, see [[Payment_Gateways#Deactivating_Gateway_Modules|Deactivating Gateway Modules]].&lt;br /&gt;
#Depending upon the type of payment gateway module you're switching to, there may be a third step:&lt;br /&gt;
##If you are switching between merchant gateways or third party gateway modules, there is no third step and you are finished.&lt;br /&gt;
##If you are switching to a merchant gateway for the first time, the client will need to log in and enter their card details to the &amp;quot;My Details&amp;quot; page in the client area. The system will charge the card when the next invoice is due.&lt;br /&gt;
##If you are switching between tokenisation modules, the client will need to log in and pay their first invoice manually, which will store their card details on your processor's servers. The system will attempt subsequent payments automatically. Regrettably, there isn't a way for the migration to be done without client's intervention because the system requires their CVV number for the first payment.&lt;br /&gt;
##If you are switching from a merchant gateway to a tokenization gateway, typically clients will need to manually pay their next invoice via the client area.  If you store card details or a token for the client, you may wish to delete them via the &amp;quot;Credit Card Information&amp;quot; link on each client's summary page beforehand. There are some exceptions, though, and some payment gateways have card number migration paths:&amp;lt;br/&amp;gt;- [[Stripe#Migrating_to_Stripe|Stripe]]&lt;br /&gt;
##If you are switching from a merchant or tokenization gateway to a third party gateway, clients will need to manually pay their next invoice via the client area. If you store card details or a token for the client, you may wish to delete them via the &amp;quot;Credit Card Information&amp;quot; link on each client's summary page beforehand.&lt;br /&gt;
&lt;br /&gt;
==Advanced Billing Scenarios==&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;a href=&amp;quot;https://www.youtube.com/watch?v=glZv8iZU0mU&amp;amp;hd=1&amp;quot; class=&amp;quot;docs-video-tutorial&amp;quot;&amp;gt;&amp;lt;em&amp;gt;Watch the video tutorial for this feature&amp;lt;/em&amp;gt;&amp;lt;span&amp;gt;&amp;amp;nbsp;&amp;lt;img src=&amp;quot;https://assets.whmcs.com/icons/youtube.png&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The above video tutorial shows and explains how to handle two advanced billing scenarios:&lt;br /&gt;
#Change a billing cycle from annual to monthly, with the added complication that the system has already generated an annual renewal invoice.&lt;br /&gt;
#Consolidate the renewal date of several services onto the same day on a single invoice in the future, even if the client has already renewed some services this month.&lt;br /&gt;
&lt;br /&gt;
==Switching Domain Registrars==&lt;br /&gt;
&lt;br /&gt;
Domain prices change frequently. If one finds a chosen registrar's price is no longer competitive, it may be desirable to transfer existing domains to a different registrar without the client's knowledge. WHMCS can make the process easier, saving the need to log in to both provider's control panels:&lt;br /&gt;
&lt;br /&gt;
# Navigate to '''Clients &amp;gt; Domain Registrations''' and select the domain in question.&lt;br /&gt;
# Uncheck the '''Registrar Lock''' checkbox and click Save Changes.&lt;br /&gt;
# Click the '''Modify Contact Details''' button.&lt;br /&gt;
# Change the registrant email address to your own and click Save Changes.&lt;br /&gt;
# Return to the client's Domains tab and click the '''Get EPP Code''' button.&lt;br /&gt;
# Note the onscreen EPP Code.&lt;br /&gt;
# Select the new domain registrar from the Registrar dropdown menu.&lt;br /&gt;
# Click the '''Transfer''' Module Command button.&lt;br /&gt;
&lt;br /&gt;
You should see a confirmation message stating the transfer initiated  successfully. It is likely that the client's Domains tab will display an error message from the new registrar, but this will disappear once the transfer process is complete.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;title&amp;quot;&amp;gt;Note&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Once the transfer process is complete, be sure to use the Modify Contact Details button to change the registrant email address back to the client's own address.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Convert invoice amounts into a different currency==&lt;br /&gt;
It is possible that not every gateway you use will accept all the currencies you offer on your site. Many gateway modules support a '''Convert To For Processing''' option so WHMCS can transparently convert the payment amount into a different currency before sending the client to the payment gateway.&lt;br /&gt;
&lt;br /&gt;
For example: Gateway A only operates in USD, but you have configured multi-currency in WHMCS, offering prices in USD, GBP and EUR. When a client places an order for 10GBP and chooses to pay via Gateway A, the system will automatically convert the amount to 15USD before the payment processes. The client is able to make payment via Gateway A where they otherwise would not be able to do so.&lt;br /&gt;
&lt;br /&gt;
To configure this feature:&lt;br /&gt;
# Navigate to '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; Payment Gateways &amp;gt; Manage Existing Gateways''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Payments &amp;gt; Payment Gateways &amp;gt; Manage Existing Gateways'''.&lt;br /&gt;
# Under the payment gateway in question, locate the '''Convert to For Processing''' setting.&lt;br /&gt;
# From the menu, select your desired currency.&lt;br /&gt;
# Click '''Save Changes'''.&lt;br /&gt;
&lt;br /&gt;
To continue the example from above, one would choose the USD currency from the Gateway A section.&lt;br /&gt;
The system will send all payments to this gateway in the chosen currency, regardless of which currency the client selected on the order form.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;title&amp;quot;&amp;gt;Note&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
The Convert to For Processing option will appear once you configure a second currency.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;title&amp;quot;&amp;gt;Note&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
The system performs the currency conversion using the '''Base Conversion Rate''' in your WHMCS installation at the time of payment.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Credit a client for money received==&lt;br /&gt;
When you receive money from a client, you should record it in WHMCS as a transaction. But if the payment is not for a specific invoice or the client has accidentally overpaid, the client's credit balance should be increased accordingly. Adding credits via the &amp;quot;Manage Credits&amp;quot; popup would not appear on the transaction record as they are not transactions. &lt;br /&gt;
&lt;br /&gt;
To credit a client and create a transaction:&lt;br /&gt;
&lt;br /&gt;
* Navigate to '''Billing &amp;gt; Transactions List &amp;gt; Add Transaction''' tab.&lt;br /&gt;
* Enter the details of the credit.&lt;br /&gt;
* Check the '''Credit''' checkbox.&lt;br /&gt;
* Click Add Transaction.&lt;br /&gt;
&lt;br /&gt;
This will ensure your accounting records are accurate and the Account Statement report is balanced.&lt;br /&gt;
&lt;br /&gt;
==Cancel and regenerate invoice==&lt;br /&gt;
Sometimes, you may wish to cancel an unpaid invoice and later need to regenerate an invoice covering the same time period for the service.&lt;br /&gt;
&lt;br /&gt;
To cancel the original invoice:&lt;br /&gt;
&lt;br /&gt;
* Navigate to Billing &amp;gt; Invoices.&lt;br /&gt;
* Click on the invoice in question.&lt;br /&gt;
* Click the &amp;quot;Marked Cancelled&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
To regenerate the invoice for the same period:&lt;br /&gt;
&lt;br /&gt;
* Navigate to Clients &amp;gt; Products/Services.&lt;br /&gt;
* Click on the service.&lt;br /&gt;
* Move the Next Due Date forward by one day. This will ensure the &amp;quot;next invoice date&amp;quot; value in the database resets to match the next due date when using [[Invoice_Tab#Continuous_Invoice_Generation|Continuous Invoicing]].&lt;br /&gt;
&lt;br /&gt;
* Click Save Changes.&lt;br /&gt;
* Navigate to the Client Summary page.&lt;br /&gt;
* Click &amp;quot;Generate Due Invoices&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Skip an invoice==&lt;br /&gt;
Occasionally you may wish to skip an invoice, giving the customer the invoiced period at no charge, but resume charging on the next due date.&lt;br /&gt;
&lt;br /&gt;
If an unpaid invoice already exists:&lt;br /&gt;
&lt;br /&gt;
* Navigate to Billing &amp;gt; Invoices.&lt;br /&gt;
* Click the invoice in question.&lt;br /&gt;
* Click the &amp;quot;Mark Cancelled&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
You can now set the Next Due Date for when charging should resume:&lt;br /&gt;
&lt;br /&gt;
* Navigate to the service that you wish to extend at no charge.&lt;br /&gt;
* Set the the Next Due Date.&lt;br /&gt;
* Click &amp;quot;Save Changes&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The system will create the next invoice on the new Next Due Date without charging for the period between the old next due date and the new next due date.&lt;/div&gt;</summary>
		<author><name>DanR</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Module_Class_Autoloading&amp;diff=30060</id>
		<title>Module Class Autoloading</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Module_Class_Autoloading&amp;diff=30060"/>
				<updated>2021-03-09T20:29:52Z</updated>
		
		<summary type="html">&lt;p&gt;DanR: Replaced content with &amp;quot;This page has moved to https://developers.whmcs.com/modules/module-class-autoloading/&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page has moved to https://developers.whmcs.com/modules/module-class-autoloading/&lt;/div&gt;</summary>
		<author><name>DanR</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=System_Utilities&amp;diff=30059</id>
		<title>System Utilities</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=System_Utilities&amp;diff=30059"/>
				<updated>2021-03-09T15:38:25Z</updated>
		
		<summary type="html">&lt;p&gt;DanR: /* Prune Old Attachments */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Link Tracking==&lt;br /&gt;
&lt;br /&gt;
The link or ad tracker tool allows you to track your advertising campaigns. You can set up the various links you want to use and then, instead of linking directly, you use the tracking link WHMCS gives you.  It then tracks the number of clickthroughs you get and, ultimately, conversions, using a cookie and providing an easy way to analyse how successful different promotions and links are.&lt;br /&gt;
&lt;br /&gt;
How does it all work? When the click passes through WHMCS the system increments the count by one, but also sets a cookie on the user's computer to say they used that link. The system only stores the latest link they used, so a conversion never counts more than once. The cookie lasts for three months, so if a user then places an order with that cookie still present on their computer, the conversion count for that link increases.&lt;br /&gt;
&lt;br /&gt;
===How to add a tracked URL===&lt;br /&gt;
&lt;br /&gt;
To do this:&lt;br /&gt;
&lt;br /&gt;
#Begin by going to '''Utilities &amp;gt; Link Tracking'''.&lt;br /&gt;
#Click &amp;quot;Add a New Link&amp;quot;.&lt;br /&gt;
#Enter a name to identify the link and the URL to forward the user to.&lt;br /&gt;
#Click Add Link. The system will add the link for tracking.&lt;br /&gt;
&lt;br /&gt;
===How to get the URL to use for tracking===&lt;br /&gt;
&lt;br /&gt;
To do this:&lt;br /&gt;
&lt;br /&gt;
#After adding the URL for tracking, click the edit icon next to it.&lt;br /&gt;
#The Link/URL field on the edit page will show the link you need to use (for example, http://demo.whmcs.com/link.php?id=1)&lt;br /&gt;
#Link to that URL from wherever you run the promotion.&lt;br /&gt;
&lt;br /&gt;
===How to monitor the links===&lt;br /&gt;
&lt;br /&gt;
To check on your links, go to '''Utilities &amp;gt; Link Tracking'''. WHMCS lists the links you've set up for tracking, the number of clicks each has had, and the number of conversions (orders).&lt;br /&gt;
&lt;br /&gt;
==Calendar==&lt;br /&gt;
&lt;br /&gt;
[[File:calendar.png|thumb|The Calendar]]&lt;br /&gt;
&lt;br /&gt;
The calendar lists all pending, active and suspended products, addons, domains, and to-do items on the dates they are due. When you use this in conjunction with our [http://www.whmcs.com/addons/project-management/ Project Management Addon] it will also display the due date of projects.  It allows you to easily see, at a glance, upcoming payments, domain expiration, and projects for each date.&lt;br /&gt;
&lt;br /&gt;
You can also add your own events and tasks to the calendar.  These can be either one time events or regular recurring events (for example, server payments or admin tasks) and can span multiple days. To add an event, click the date you want to add it on and fill in the popup. To edit an event, click on it on the scheduled day and a popup will appear to allow adjustments.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;title&amp;quot;&amp;gt;Timezones&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
When entering a start/finish time use the '''UTC''' timezone. The calendar will then convert this to your WHMCS installations' timezone for display purposes.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the calendar becomes busy, you can use the Show/Hide filters to reduce the amount of displayed data. Detailed weekly and daily listings are available by clicking the appropriate button in the top right corner of the calendar.&lt;br /&gt;
&lt;br /&gt;
A [[Widgets|widget]], available on the admin homepage, displays today's events, and allows you to see the scheduled events for any day in the current month and even add new events directly from the admin summary.&lt;br /&gt;
&lt;br /&gt;
==To-Do List==&lt;br /&gt;
&lt;br /&gt;
The to do list allows you to add tasks that need to be finished, the dates they are due for completion, and the assigned admin. To-Do Items can also have an unlimited length description for storing additional information about the task. Access the To-Do list via '''Utilities &amp;gt; To-Do List'''. The admin homepage widget displays due items.&lt;br /&gt;
&lt;br /&gt;
Enable or disable automated domain-related To-Do entry creation in the [[Domains_Tab|General Settings]].&lt;br /&gt;
&lt;br /&gt;
==Activity Logs==&lt;br /&gt;
&lt;br /&gt;
WHMCS logs all activity, admin logins, gateway communications, sent and received email communications, and domain lookups.  This allows you to monitor and track all the activity taking place inside your WHMCS system.  You can find the logs in '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Logs''' in the left-side menu (or in the '''Utilities''' menu in WHMCS 7.x and earlier). They include:&lt;br /&gt;
&lt;br /&gt;
* [[Activity_Logs|Activity Log]]&lt;br /&gt;
* Admin Log &lt;br /&gt;
* Module Log&lt;br /&gt;
* Email Message Log&lt;br /&gt;
* Ticket Mail Import Log &lt;br /&gt;
* WHOIS Lookup History Log &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-warning&amp;quot;&amp;gt;&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Note:&amp;lt;/strong&amp;gt; The '''Email Message Log''' will log all emails that WHMCS sends to clients, with the exception of the &amp;quot;Automated Password Reset&amp;quot;, &amp;quot;Client Email Address Verification&amp;quot;, and &amp;quot;Password Reset Validation&amp;quot; emails.&amp;lt;/p&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Over time, log records in your WHMCS System will accumulate.  As the number of records grows, so will your database, and you may begin noticing a reduction in performance. If these start affecting performance, WHMCS allows you to empty them at any time. To empty your logs, perform the following actions: &lt;br /&gt;
&lt;br /&gt;
# Log in to your WHMCS Admin Area.&lt;br /&gt;
# Navigate to '''Utilities &amp;gt; System Cleanup'''. You will see options to empty the Gateway, and WHOIS Lookup logs.&lt;br /&gt;
# Click the '''Go''' button next to the log you would like to empty. A confirmation message will then appear, confirming that the system emptied the log.&lt;br /&gt;
&lt;br /&gt;
Additionally, from the same Cleanup Operations page, you can prune the Client Activity Logs so that the system only maintains entries after a specified date. To do this, enter in your desired date, and click on the Delete button. Again, a confirmation message will then appear to confirm that the system pruned the log.&lt;br /&gt;
&lt;br /&gt;
==Database Backups==&lt;br /&gt;
&lt;br /&gt;
WHMCS stores its data in your database, so is very important. It is therefore recommended that you take regular backups of it. There are two built-in solutions for automated database backups using the daily cron. One is email and the other is an FTP backup to a remote server. You can find configuration instructions on the [[Backups|Backups Page]].&lt;br /&gt;
&lt;br /&gt;
==System Cleanup==&lt;br /&gt;
With constant daily operations, the log files in WHMCS can become quite large. The Cleanup Operations page allows you to prune logs to reduce the size of the database and reduce disk space. You can find this at '''Utilities &amp;gt; System &amp;gt; System Cleanup'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-warning&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;title&amp;quot;&amp;gt;Note:&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Only delete information you're certain is no longer necessary (for example, for audit purposes). WHMCS Technical Support may be unable to assist in some matters if you have removed the relevant logs.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Empty Gateway Log===&lt;br /&gt;
This clears out the '''Billing &amp;gt; Gateway Log''' communication between you and your payment gateways. It does not affect transactions and invoices.&lt;br /&gt;
&lt;br /&gt;
===Empty Whois Lookup Log===&lt;br /&gt;
Clears out the '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Logs &amp;gt; WHOIS Lookup Log''' ('''Utilities &amp;gt; Logs &amp;gt; WHOIS Lookup Log''' in WHMCS 7.x and earlier) of the domains that clients have checked.&lt;br /&gt;
&lt;br /&gt;
===Empty Ticket Mail Import Log===&lt;br /&gt;
This clears out the '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Logs &amp;gt; Ticket Mail Import Log''' ('''Utilities &amp;gt; Logs &amp;gt; Ticket Mail Import Log''' in WHMCS 7.x and earlier) of the record of emails you piped into the WHMCS ticket system. It does not affect tickets themselves.&lt;br /&gt;
&lt;br /&gt;
===Empty Template Cache===&lt;br /&gt;
WHMCS caches templates into static files to reduce the loading time of each page. In order for template changes to take effect, it is necessary to clear the cached files.&lt;br /&gt;
&lt;br /&gt;
In order to do this, remove all existing files from the templates_c folder, which you can do quickly and easily using this option. Make sure the &amp;lt;tt&amp;gt;/templates_c&amp;lt;/tt&amp;gt; directory is writeable so that WHMCS is able to delete the cache files and generate new ones.&lt;br /&gt;
&lt;br /&gt;
===Prune Client Activity Logs===&lt;br /&gt;
Select a date to remove any client entries in '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Logs''' ('''Utilities &amp;gt; Logs &amp;gt; Activity Log''' in WHMCS 7.x and earlier) before that date. Non-client-related entries will remain.&lt;br /&gt;
&lt;br /&gt;
===Prune Saved Emails===&lt;br /&gt;
Select a date to remove any emails in '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Logs &amp;gt; Email Message Log''' ('''Utilities &amp;gt; Logs &amp;gt; Email Message Log''' in WHMCS 7.x and earlier) before that date.&lt;br /&gt;
&lt;br /&gt;
=== Prune Old Attachments===&lt;br /&gt;
Select a date to remove any support ticket attachments from closed tickets which are also older than the date selected. The system will also delete them from the /attachments directory.&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting System Utilities==&lt;br /&gt;
===Database Backup Fails/Timesout===&lt;br /&gt;
The most common reason for database backups to fail is simply that it has grown too large and the PHP process takes too long or uses too much memory and is killed before it can complete the backup process.&lt;br /&gt;
&lt;br /&gt;
You can find further details on this in the [[Backups#Limitations|Backups Limitations]] section.&lt;br /&gt;
&lt;br /&gt;
===System Cleanup page fails to load===&lt;br /&gt;
If the System Cleanup page fails to load entirely, this can be caused by a missing or unreadable 'attachments' directory.&lt;br /&gt;
&lt;br /&gt;
You should ensure the attachments directory path configured in Storage Settings exists and is readable. It is also important to ensure the attachments directory path is absolute and not relative to avoid timeout issues on the System Cleanup page. &lt;br /&gt;
&lt;br /&gt;
You can find further details on changing the Storage Settings path in our [[Moving_Storage_Locations]] guide.&lt;/div&gt;</summary>
		<author><name>DanR</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Activity_Logs&amp;diff=30058</id>
		<title>Activity Logs</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Activity_Logs&amp;diff=30058"/>
				<updated>2021-03-09T15:21:12Z</updated>
		
		<summary type="html">&lt;p&gt;DanR: /* Limiting/Clearing Logs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;title&amp;quot;&amp;gt;WHMCS 7.x and earlier&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
In WHMCS 7.x and earlier, you can find this at '''Utilities &amp;gt; Activity Log'''.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The activity log in WHMCS records events that occur to allow for tracking who and what initiated various actions and to allow for troubleshooting any errors or problems that occur. &lt;br /&gt;
&lt;br /&gt;
For example, if automatic setup ever fails for any reason, the activity log will hold the error message response that came back from the module to allow you to find out why.  Similarly, if you have any problems with the cron job, the activity log will show you what tasks the cron job is performing and allow you to see at exactly which point or item it is failing.&lt;br /&gt;
&lt;br /&gt;
For more information about WHMCS log files, see [[System_Utilities#Activity_Logs|System Utilities]].&lt;br /&gt;
&lt;br /&gt;
==Reviewing Activity Logs==&lt;br /&gt;
&lt;br /&gt;
There are two types of log entries: client logs and system logs. Client logs are events and actions relating to a specific client, and you can view them from the '''Log''' tab within a client's profile. You can access the full system log, which includes both client and system log entries, via '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Logs'''.&lt;br /&gt;
&lt;br /&gt;
Each action or event records the date and time the action occured, a description indicating what happened, the currently-logged-in admin user who invoked the action ('''System''' for non-admin-initiated actions) and the IP address of the user who caused it (for example, the admin's, client's, or system's IP address).&lt;br /&gt;
&lt;br /&gt;
In both locations, you can filter the log entries for entries on a specific date, for a specific username or IP address, or containing certain keywords. This allows you to narrow the log down quickly and easily for the specific action or event you are looking for.&lt;br /&gt;
&lt;br /&gt;
==Limiting/Clearing Logs==&lt;br /&gt;
&lt;br /&gt;
The system automatically purges system log entries when the daily cron tasks execute and when you load the Activity Log page.&lt;br /&gt;
&lt;br /&gt;
System log entries are limited based on your settings in '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; General Settings &amp;gt; Limit Activity Log'''. &lt;br /&gt;
&lt;br /&gt;
The system keeps client log entries indefinitely, so the logs can easily reach many thousands. This shouldn't affect the performance of your system, but if you do want to trim client history logs, you can delete all entries before a certain date in '''Utilities &amp;gt; System Cleanup'''.&lt;/div&gt;</summary>
		<author><name>DanR</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Licensing&amp;diff=30055</id>
		<title>Licensing</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Licensing&amp;diff=30055"/>
				<updated>2021-03-09T14:33:10Z</updated>
		
		<summary type="html">&lt;p&gt;DanR: /* Changing the License Key WHMCS uses */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Moving WHMCS==&lt;br /&gt;
When you move your WHMCS system, if the domain, IP address, or directory you use it in is changing, you must update your license. The method to use depends on the license you have:&lt;br /&gt;
&lt;br /&gt;
===1. You purchased your license directly from us===&lt;br /&gt;
&lt;br /&gt;
If you purchased your license from us directly, you can reissue your license from [http://whmcs.com/members|our client area] without any manual intervention from us.  To do this, log in, go to Services &amp;gt; My Licenses, select your license key, and click '''Reissue''' under the Management Actions tab. Then, visit your WHMCS installation in the new location. The system will save the new valid access details.&lt;br /&gt;
&lt;br /&gt;
===2. You obtain your license from your web host===&lt;br /&gt;
&lt;br /&gt;
If you received your license from your hosting provider, you can't reissue your license from our client area. This is because the domain and IP address cannot change. Contact your hosting provider to have them update the license for use at the new location. If you are moving to a different hosting provider, you cannot move your license key with you and you will require a new license key for use at the new location.&lt;br /&gt;
&lt;br /&gt;
To move WHMCS:&lt;br /&gt;
&lt;br /&gt;
* Disable or remove the WHMCS cron jobs from the old server. This prevents automation from running and making changes.&lt;br /&gt;
* Create a backup of your database [[Maintenance#Backing_up_your_WHMCS_Database|following these instructions]].&lt;br /&gt;
* Make sure the new server meets the [[System_Requirements|system requirements]].&lt;br /&gt;
* Transfer the files to the new server.&lt;br /&gt;
* [[Maintenance#Restoring_a_Database_Backup|Restore the database]] via phpMyAdmin on the new server and make any changes to the database settings in &amp;lt;tt&amp;gt;configuration.php&amp;lt;/tt&amp;gt;.&lt;br /&gt;
* Reissue your license using the steps above.&lt;br /&gt;
* Log in to your WHMCS admin area and update the system URLs in '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; General Settings''' or, prior to WHMCS 8.0, '''Setup &amp;gt; General Settings'''.&lt;br /&gt;
* Check whether the system properly modified your cron jobs, payment gateway callbacks, and email forwarders.&lt;br /&gt;
* Update your [[Further Security Steps#Secure_the_Writeable_Directories|custom directory locations]].&lt;br /&gt;
* Update your [[Moving_Storage_Locations|storage locations]].&lt;br /&gt;
* Delete the WHMCS files from the old location.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;a href=&amp;quot;https://www.whmcs.com/services#installation?utm_medium=docs&amp;quot; class=&amp;quot;docs-video-tutorial&amp;quot;&amp;gt;&amp;lt;em&amp;gt;&amp;lt;small&amp;gt;&amp;lt;b&amp;gt;Transfer Services:&amp;lt;/b&amp;gt; Have our team transfer your WHMCS installation.&amp;lt;/small&amp;gt;&amp;lt;/em&amp;gt;&amp;lt;span class=&amp;quot;button&amp;quot;&amp;gt;Services&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Changing the License Key WHMCS uses==&lt;br /&gt;
&lt;br /&gt;
To change the license key your WHMCS system uses, log in to the admin area and go to '''Help (&amp;lt;i class=&amp;quot;fa fa-question-circle&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; License Information''' or, prior to WHMCS 8.0, '''Help &amp;gt; Change License Key'''. Enter your new license key and admin login details to verify the change. &lt;br /&gt;
&lt;br /&gt;
If you are unable to login due to an invalid license error, you can click the '''Click here to enter a new license key.''' link to the Change License Key page and provide a valid license key.&lt;br /&gt;
&lt;br /&gt;
==Is licensing dependant on whmcs.com being online?==&lt;br /&gt;
&lt;br /&gt;
No. WHMCS uses a local key licensing system with periodic remote verification checks. Once every seven days, your WHMCS system will contact our server to ensure it is being run in the correct location and that the license is still valid. Whether your WHMCS system is online is not dependant on our server being online during the time the local key is valid.&lt;br /&gt;
&lt;br /&gt;
If our licensing server is unavailable on the day of your next verification check, the system will allow up to three days to make a connection. If, after this time, the system still can't verify your license with our licensing server, your WHMCS Admin Area will become inactive until WHMCS can contact our server again.&lt;br /&gt;
&lt;br /&gt;
Your WHMCS Client Area will always remain online, even if you have an invalid or expired license, to ensure your clients have uninterrupted access.&lt;br /&gt;
&lt;br /&gt;
==Common Errors==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&lt;br /&gt;
For information on troubleshooting common licensing errors, see [[License Troubleshooting]].&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>DanR</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Editing_Client_Area_Menus&amp;diff=30054</id>
		<title>Editing Client Area Menus</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Editing_Client_Area_Menus&amp;diff=30054"/>
				<updated>2021-03-09T14:29:15Z</updated>
		
		<summary type="html">&lt;p&gt;DanR: /* Add a special offer image and link to the top of the topmost sidebar */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;WHMCS version 6 introduces a programmatic way to interact with the client area navigation and sidebars through hooks and modules.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-warning&amp;quot;&amp;gt;&amp;lt;strong&amp;gt;In a hurry?&amp;lt;/strong&amp;gt; We have made available two guides containing copy &amp;amp; paste ready code samples for common customisations performed to the dynamic navigation and sidebar menus.&lt;br /&gt;
* [[Client Area Navigation Menus Cheatsheet]]&lt;br /&gt;
* [[Client Area Sidebars Cheatsheet]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Menu structure=&lt;br /&gt;
&lt;br /&gt;
The client area's navigation and sidebars are defined in a tree structure of [http://docs.whmcs.com/classes/classes/WHMCS.View.Menu.Item.html menu item objects]. Each menu item has one parent item and can have many child items. The only menu item with no parent an invisible root item that is not displayed on the page.&lt;br /&gt;
&lt;br /&gt;
==Navigation bars==&lt;br /&gt;
&lt;br /&gt;
Navigation bars consist of the invisible menu root with children representing every item displayed in the navigation bar. Each of these items may have their own child items. These child items are rendered as that navigation bar item's dropdown menu. &lt;br /&gt;
&lt;br /&gt;
* ''Navigation bar root Item''&lt;br /&gt;
** navigation item&lt;br /&gt;
** navigation item&lt;br /&gt;
*** dropdown item&lt;br /&gt;
** navigation item&lt;br /&gt;
*** dropdown item&lt;br /&gt;
*** dropdown item &lt;br /&gt;
*** dropdown item&lt;br /&gt;
** navigation item &lt;br /&gt;
&lt;br /&gt;
Navigation bars are displayed on every page in the client area, but their contents may change if a client is logged in or not. For instance, the navigation bar may show login and password recovery links if a user isn't logged in.&lt;br /&gt;
&lt;br /&gt;
==Sidebars==&lt;br /&gt;
&lt;br /&gt;
Like the navigation bar, the sidebars in WHMCS begin with an invisible menu root, but each child represents an individual panel in the side bar. Each panel item is rendered as an item within the panel in the WHMCS client area.&lt;br /&gt;
&lt;br /&gt;
* ''Sidebar root Item''&lt;br /&gt;
** panel&lt;br /&gt;
*** panel item&lt;br /&gt;
*** panel item&lt;br /&gt;
*** panel item&lt;br /&gt;
** panel&lt;br /&gt;
*** panel item&lt;br /&gt;
*** panel item&lt;br /&gt;
** panel&lt;br /&gt;
*** panel item&lt;br /&gt;
*** panel item&lt;br /&gt;
*** panel item&lt;br /&gt;
&lt;br /&gt;
Sidebars help provide context for the data displayed on the page. Different pages in the client area may have different sidebar items. For example, a page to view an account may contain sidebar links to view that client’s open tickets or unpaid invoices.&lt;br /&gt;
&lt;br /&gt;
=Menu layout=&lt;br /&gt;
&lt;br /&gt;
==Desktop mode==&lt;br /&gt;
&lt;br /&gt;
[[Image:Desktop mode.png|thumb|The WHMCS 6.0 client area layout in desktop mode]] There are two navigation bars in WHMCS’ client area. The primary navigation bar contains the bulk of the menu and floats to the left of the secondary navigation bar. The secondary navigation bar contains user-specific items and changes if a client is logged in to WHMCS. When a client is not logged in then the secondary navigation contains a login link, and when a client is logged in then the secondary menu contains links to the client’s account.&lt;br /&gt;
&lt;br /&gt;
Likewise there are two sidebars on every client area page. The primary sidebar is displayed above the secondary side bar on the left side of the page. Sidebar content varies per page, though the primary sidebar typically displays information directly relevant to the page content while the secondary sidebar usually contains more general links. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Responsive mode==&lt;br /&gt;
&lt;br /&gt;
[[Image:Responsive mode.png|thumb|The WHMCS 6.0 client area layout in responsive mode]] Responsive mode is activated when WHMCS’ client area is viewed on a smaller screen device such as a phone or tablet. WHMCS rearranges the page layout in responsive mode for best display on mobile devices. &lt;br /&gt;
&lt;br /&gt;
In responsive mode the primary and secondary navigation bars are displayed above the primary sidebar, followed by the page’s content with the secondary sidebar displayed at the bottom of the page. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Menu items=&lt;br /&gt;
&lt;br /&gt;
Menu items are modeled in code by the [https://docs.whmcs.com/classes/7.6/WHMCS/View/Menu/Item.html &amp;lt;tt&amp;gt;\WHMCS\View\Menu\Item&amp;lt;/tt&amp;gt;] class. These objects contain all of the information needed to render that menu item within a template, including their parent and child menu item relationships. Menu items can have the following aspects:&lt;br /&gt;
&lt;br /&gt;
* A single parent item&lt;br /&gt;
* Multiple optional child items&lt;br /&gt;
* A name used to internally refer to the menu item&lt;br /&gt;
* A label to display when the item is rendered to the page. If no label is defined, then WHMCS render's the menu item's name&lt;br /&gt;
* A URI to link to when the user clicks or taps on a menu item&lt;br /&gt;
* An optional icon displayed to the left of the label. WHMCS has access to both the [http://getbootstrap.com/components/#glyphicons Glyphicons] and [http://fortawesome.github.io/Font-Awesome/ Font Awesome] libraries. &lt;br /&gt;
* An optional badge displayed to the right of the label, usually used for contextual information, such as the number of tickets in a status next to that statuses' name&lt;br /&gt;
* The order that a menu item is displayed in its parent's list of children.&lt;br /&gt;
&lt;br /&gt;
=Menu item arrangement=&lt;br /&gt;
&lt;br /&gt;
==Navigation bars==&lt;br /&gt;
&lt;br /&gt;
[[Image:Navbar item.png|thumb|A client area navigation bar item represented as menu item properties.]] This diagram represents an individual menu item in the navigation bars. All of the menu item’s children are rendered as dropdown menu items. All menu items are rendered with icons to the left of a link to the menu item’s URI followed by the menu item’s badge. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Sidebars==&lt;br /&gt;
&lt;br /&gt;
[[Image:Sidebar panel.png|thumb|A client area sidebar panel represented as menu item properties.]] This diagram represents an individual menu item in the sidebars. Unlike the navigation bars this menu item renders a panel in the side bar. Items in the panel rendered by the menu item’s children. Note how body and footer HTML content are also rendered around sidebar panel items. All menu items are rendered with icons to the left of a link to the menu item’s URI followed by the menu item’s badge.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Interacting with menus=&lt;br /&gt;
&lt;br /&gt;
==Hooks==&lt;br /&gt;
&lt;br /&gt;
WHMCS 6.0 introduces a number of hooks to allow menu interaction before they’re sent to the template renderer. Use WHMCS’ &amp;lt;tt&amp;gt;add_hook()&amp;lt;/tt&amp;gt; function to call custom code when WHMCS reaches these hook points during page generation. &lt;br /&gt;
&lt;br /&gt;
* '''ClientAreaPrimaryNavbar'''&lt;br /&gt;
** Called prior to rendering navigation bars.&lt;br /&gt;
** Passes the primary navigation bar object to the hook function.&lt;br /&gt;
* '''ClientAreaSecondaryNavbar'''&lt;br /&gt;
** Called prior to rendering navigation bars.&lt;br /&gt;
** Passes the secondary navigation bar object to the hook function.&lt;br /&gt;
* '''ClientAreaNavbars'''&lt;br /&gt;
** Called prior to rendering navigation bars.&lt;br /&gt;
** Passes no parameters to the hook function.&lt;br /&gt;
* '''ClientAreaPrimarySidebar'''&lt;br /&gt;
** Called prior to rendering sidebars.&lt;br /&gt;
** Passes the primary side bar object to the hook function.&lt;br /&gt;
* '''ClientAreaSecondarySidebar'''&lt;br /&gt;
** Called prior to rendering sidebars.&lt;br /&gt;
** Passes the secondary side bar object to the hook function.&lt;br /&gt;
* '''ClientAreaSidebars'''&lt;br /&gt;
** Called prior to rendering sidebars.&lt;br /&gt;
** Passes no parameters to the hook function&lt;br /&gt;
&lt;br /&gt;
==Direct Access==&lt;br /&gt;
&lt;br /&gt;
WHMCS allows direct manipulation of menu objects outside the hooks system for modules and other custom code that don’t use the hooks system. The built-in &amp;lt;tt&amp;gt;Menu&amp;lt;/tt&amp;gt; class is an alias to an object repository that can retrieve all of WHMCS’ menu objects. Please note that if the menu isn’t generated by the page yet then an empty menu structure may exist that is overwritten by normal page generation. WHMCS recommends using the hooks system to interact with menus.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;Menu&amp;lt;/tt&amp;gt; class has four static methods to retrieve menus:&lt;br /&gt;
&lt;br /&gt;
* ''Item'' '''Menu::primaryNavbar()'''&lt;br /&gt;
** Retrieve the primary navigation bar.&lt;br /&gt;
* ''Item'' '''Menu::secondaryNavbar()'''&lt;br /&gt;
** Retrieve the secondary navigation bar.&lt;br /&gt;
* ''Item'' '''Menu::primarySidebar()'''&lt;br /&gt;
** Retrieve the primary sidebar.&lt;br /&gt;
* ''Item'' '''Menu::secondarySidebar()'''&lt;br /&gt;
** Retrieve the secondary sidebar.&lt;br /&gt;
&lt;br /&gt;
WHMCS employs a number of pre-built sidebars in its built-in pages. These side bars are available to hook and module developers through the &amp;lt;tt&amp;gt;Menu::PrimarySidebar()&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;Menu::SecondarySidebar()&amp;lt;/tt&amp;gt; methods. Call either of these methods with the name of the sidebar  as the first parameter to retrieve the pre-built sidebar. WHMCS will build the side bar if it isn't already defined. See the table below for the currently defined pre-built sidebars and which pages they are used on.&lt;br /&gt;
&lt;br /&gt;
==Context==&lt;br /&gt;
&lt;br /&gt;
WHMCS’ menus, especially the sidebars, render information specific to the page in the client area that’s being accessed by the user. For instance, client information is passed to  '''Account &amp;gt; My Account''' or, prior to WHMCS 8.0, '''My Account'''. Ticket information is passed to the “view ticket page”. This data is passed to menu item objects as context. Context can be any PHP object or data type. The &amp;lt;tt&amp;gt;Menu&amp;lt;/tt&amp;gt; class has two static methods for setting and retrieving context items:&lt;br /&gt;
&lt;br /&gt;
* ''void'' '''Menu::addContext(string $key, mixed $value)'''&lt;br /&gt;
** Add $value to the menu context at the key $key, overriding existing values.&lt;br /&gt;
* ''mixed|null'' '''Menu::context(string $key)'''&lt;br /&gt;
** Retrieve the menu context at $key or null if no context exists at the key.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Pre-set sidebars used per page&lt;br /&gt;
|-&lt;br /&gt;
! Sidebar name&lt;br /&gt;
! Pages used on&lt;br /&gt;
! Context&lt;br /&gt;
|-&lt;br /&gt;
! affiliateView&lt;br /&gt;
| &lt;br /&gt;
* &amp;lt;tt&amp;gt;affiliates.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
* ''[http://docs.whmcs.com/classes/7.1/WHMCS/User/Client.html \WHMCS\User\Client]|null'': '''client'''&lt;br /&gt;
** The client currently logged in, or &amp;lt;tt&amp;gt;null&amp;lt;/tt&amp;gt; if no client is logged in&lt;br /&gt;
|-&lt;br /&gt;
! announcementList&lt;br /&gt;
| &lt;br /&gt;
* &amp;lt;tt&amp;gt;announcements.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* ''[http://docs.whmcs.com/classes/7.1/WHMCS/User/Client.html \WHMCS\User\Client]|null'': '''client'''&lt;br /&gt;
** The client currently logged in, or &amp;lt;tt&amp;gt;null&amp;lt;/tt&amp;gt; if no client is logged in&lt;br /&gt;
* ''[[collection]] of [https://github.com/briannesbitt/Carbon \Carbon\Carbon]'': '''monthsWithAnnouncements'''&lt;br /&gt;
** The past ten months in which announcements have been published.&lt;br /&gt;
|-&lt;br /&gt;
! clientAddFunds&lt;br /&gt;
| &lt;br /&gt;
* &amp;lt;tt&amp;gt;clientarea.php?action=addfunds&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* ''[http://docs.whmcs.com/classes/7.1/WHMCS/User/Client.html \WHMCS\User\Client]|null'': '''client'''&lt;br /&gt;
** The client currently logged in, or &amp;lt;tt&amp;gt;null&amp;lt;/tt&amp;gt; if no client is logged in&lt;br /&gt;
|-&lt;br /&gt;
! clientRegistration&lt;br /&gt;
| &amp;lt;tt&amp;gt;register.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* ''[http://docs.whmcs.com/classes/7.1/WHMCS/User/Client.html \WHMCS\User\Client]|null'': '''client'''&lt;br /&gt;
** The client currently logged in, or &amp;lt;tt&amp;gt;null&amp;lt;/tt&amp;gt; if no client is logged in.&lt;br /&gt;
* ''[[collection]] of [http://docs.whmcs.com/classes/7.1/WHMCS/User/Client/SecurityQuestion.html \WHMCS\User\Client\SecurityQuestion]'': '''securityQuestions'''&lt;br /&gt;
** The configured system security questions.&lt;br /&gt;
|-&lt;br /&gt;
! clientQuoteList&lt;br /&gt;
| &lt;br /&gt;
* &amp;lt;tt&amp;gt;clientarea.php?action=quotes&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* ''[http://docs.whmcs.com/classes/7.1/WHMCS/User/Client.html \WHMCS\User\Client]|null'': '''client'''&lt;br /&gt;
** The client currently logged in, or &amp;lt;tt&amp;gt;null&amp;lt;/tt&amp;gt; if no client is logged in.&lt;br /&gt;
|-&lt;br /&gt;
! clientView&lt;br /&gt;
|&lt;br /&gt;
* &amp;lt;tt&amp;gt;clientarea.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;clientarea.php?action=addcontact&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;clientarea.php?action=changepw&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;clientarea.php?action=contacts&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;index.php?rp=/account/paymentmethods&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;clientarea.php?action=details&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;clientarea.php?action=emails&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;clientarea.php?action=security&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* ''[http://docs.whmcs.com/classes/7.1/WHMCS/User/Client.html \WHMCS\User\Client]|null'': '''client'''&lt;br /&gt;
** The client currently logged in, or &amp;lt;tt&amp;gt;null&amp;lt;/tt&amp;gt; if no client is logged in.&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | domainList&lt;br /&gt;
| &lt;br /&gt;
* &amp;lt;tt&amp;gt;clientarea.php?action=domains&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* ''[http://docs.whmcs.com/classes/7.1/WHMCS/User/Client.html \WHMCS\User\Client]|null'': '''client'''&lt;br /&gt;
** The client currently logged in, or &amp;lt;tt&amp;gt;null&amp;lt;/tt&amp;gt; if no client is logged in&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | If the &amp;lt;tt&amp;gt;q&amp;lt;/tt&amp;gt; request variable is defined, then the client's associated domain counts in the primary sidebar are filtered to those domains whose names contain &amp;lt;tt&amp;gt;q&amp;lt;/tt&amp;gt;'s value.&lt;br /&gt;
|-&lt;br /&gt;
! domainView&lt;br /&gt;
| style=&amp;quot;white-space:nowrap&amp;quot; | &lt;br /&gt;
* &amp;lt;tt&amp;gt;clientarea.php?action=domaincontacts&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;clientarea.php?action=domaindetails&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;clientarea.php?action=domaindns&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;clientarea.php?action=domainemailforwarding&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;clientarea.php?action=domaingetepp&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;clientarea.php?action=domainregisterns&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* ''[http://docs.whmcs.com/classes/7.1/WHMCS/User/Client.html \WHMCS\User\Client]|null'': '''client'''&lt;br /&gt;
** The client currently logged in, or &amp;lt;tt&amp;gt;null&amp;lt;/tt&amp;gt; if no client is logged in.&lt;br /&gt;
* ''[http://docs.whmcs.com/classes/7.1/WHMCS/Domain/Domain.html \WHMCS\Domain\Domain]'': '''domain'''&lt;br /&gt;
** The domain that the client is viewing on the page.&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | downloadList	&lt;br /&gt;
|&lt;br /&gt;
* &amp;lt;tt&amp;gt;dl.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;downloads.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* ''[http://docs.whmcs.com/classes/7.1/WHMCS/User/Client.html \WHMCS\User\Client]|null'': '''client'''&lt;br /&gt;
** The client currently logged in, or &amp;lt;tt&amp;gt;null&amp;lt;/tt&amp;gt; if no client is logged in&lt;br /&gt;
* ''[[collection]] of [http://docs.whmcs.com/classes/7.1/WHMCS/Download/Download.html \WHMCS\Download\Download]'': '''topFiveDownloads'''&lt;br /&gt;
** The five most downloaded files that are not hidden or in a hidden download category, ordered by number of downloads in descending order.&lt;br /&gt;
* ''[http://docs.whmcs.com/classes/7.1/WHMCS/Download/Category.html \WHMCS\Download\Category]'': '''downloadCategory'''&lt;br /&gt;
** The download category the user is currently viewing.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | The ''topFiveDownloads'' and 'downloadCategory'' contexts are only passed to &amp;lt;tt&amp;gt;download.php&amp;lt;/tt&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
! invoiceList&lt;br /&gt;
| &lt;br /&gt;
* &amp;lt;tt&amp;gt;clientarea.php?action=invoices&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;clientarea.php?action=masspay&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* ''[http://docs.whmcs.com/classes/7.1/WHMCS/User/Client.html \WHMCS\User\Client]|null'': '''client'''&lt;br /&gt;
** The client currently logged in, or &amp;lt;tt&amp;gt;null&amp;lt;/tt&amp;gt; if no client is logged in&lt;br /&gt;
|-&lt;br /&gt;
! networkIssueList&lt;br /&gt;
| &amp;lt;tt&amp;gt;serverstatus.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* ''[http://docs.whmcs.com/classes/7.1/WHMCS/User/Client.html \WHMCS\User\Client]|null'': '''client'''&lt;br /&gt;
** The client currently logged in, or &amp;lt;tt&amp;gt;null&amp;lt;/tt&amp;gt; if no client is logged in.&lt;br /&gt;
* ''array'': '''networkIssueStatusCounts'''&lt;br /&gt;
** A key/value pair of network issue statuses and the number of network issues with each status.&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | orderFormView&lt;br /&gt;
| &amp;lt;tt&amp;gt;cart.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* ''[http://docs.whmcs.com/classes/7.1/WHMCS/User/Client.html \WHMCS\User\Client]|null'': '''client'''&lt;br /&gt;
** The client currently logged in, or &amp;lt;tt&amp;gt;null&amp;lt;/tt&amp;gt; if no client is logged in.&lt;br /&gt;
* ''[[collection]] of [http://docs.whmcs.com/classes/7.1/WHMCS/Product/Group.html \WHMCS\Product\Group]'': '''productGroups'''&lt;br /&gt;
** A WHMCS installation's configured product groups.&lt;br /&gt;
* ''int'': '''productGroupId'''&lt;br /&gt;
** The current ''gid'' GET parameter value. &lt;br /&gt;
* ''bool'': '''domainRegistrationEnabled'''&lt;br /&gt;
** Whether or not WHMCS is configured to register domains.&lt;br /&gt;
* ''bool'': '''domainTransferEnabled'''&lt;br /&gt;
** Whether or not WHMCS is configured to transfer domains.&lt;br /&gt;
* ''bool'': '''domainRenewalEnabled'''&lt;br /&gt;
** Whether or not WHMCS is configured to renew domains.&lt;br /&gt;
* ''string'': '''domain'''&lt;br /&gt;
** When configuring domain options, the name of the domain in the shopping cart.&lt;br /&gt;
* ''string'': '''currency'''&lt;br /&gt;
** The user's configured currency, or the system currency if no user is logged in. Eg: &amp;quot;USD&amp;quot;, &amp;quot;GBP&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Only the secondary sidebar is supported on &amp;lt;tt&amp;gt;cart.php&amp;lt;/tt&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | serviceList&lt;br /&gt;
|&lt;br /&gt;
* &amp;lt;tt&amp;gt;clientarea.php?action=hosting&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;clientarea.php?action=products&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;clientarea.php?action=services&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* ''[http://docs.whmcs.com/classes/7.1/WHMCS/User/Client.html \WHMCS\User\Client]|null'': '''client'''&lt;br /&gt;
** The client currently logged in, or &amp;lt;tt&amp;gt;null&amp;lt;/tt&amp;gt; if no client is logged in.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | If the &amp;lt;tt&amp;gt;q&amp;lt;/tt&amp;gt; request variable is defined, then the client's associated service counts in the primary sidebar are filtered to those services whose domain names contain &amp;lt;tt&amp;gt;q&amp;lt;/tt&amp;gt;'s value.&lt;br /&gt;
|-&lt;br /&gt;
! serviceUpgrade&lt;br /&gt;
| &lt;br /&gt;
* &amp;lt;tt&amp;gt;upgrade.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* ''[http://docs.whmcs.com/classes/7.1/WHMCS/User/Client.html \WHMCS\User\Client]|null'': '''client'''&lt;br /&gt;
** The client currently logged in, or &amp;lt;tt&amp;gt;null&amp;lt;/tt&amp;gt; if no client is logged in.&lt;br /&gt;
* ''[http://docs.whmcs.com/classes/7.1/WHMCS/Service/Service.html \WHMCS\Service\Service]'': '''service'''&lt;br /&gt;
** The service currently being upgraded.&lt;br /&gt;
|-&lt;br /&gt;
! serviceView&lt;br /&gt;
|&lt;br /&gt;
* &amp;lt;tt&amp;gt;clientarea.php?action=cancel&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;clientarea.php?action=productdetails&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* ''[http://docs.whmcs.com/classes/7.1/WHMCS/User/Client.html \WHMCS\User\Client]|null'': '''client'''&lt;br /&gt;
** The client currently logged in, or &amp;lt;tt&amp;gt;null&amp;lt;/tt&amp;gt; if no client is logged in.&lt;br /&gt;
* ''[http://docs.whmcs.com/classes/7.1/WHMCS/Service/Service.html \WHMCS\Service\Service]'': '''service'''&lt;br /&gt;
** The service that the client is viewing on the page.&lt;br /&gt;
|-&lt;br /&gt;
! sslCertificateOrderView&lt;br /&gt;
| &lt;br /&gt;
* &amp;lt;tt&amp;gt;configuressl.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* ''[http://docs.whmcs.com/classes/7.1/WHMCS/User/Client.html \WHMCS\User\Client]|null'': '''client'''&lt;br /&gt;
** The client currently logged in, or &amp;lt;tt&amp;gt;null&amp;lt;/tt&amp;gt; if no client is logged in&lt;br /&gt;
* ''[http://docs.whmcs.com/classes/7.1/WHMCS/Service/Service.html \WHMCS\Service\Service]|null'': '''service'''&lt;br /&gt;
** The service object representing the SSL certificate being ordered&lt;br /&gt;
* ''string'': '''orderStatus'''&lt;br /&gt;
** The current status of the SSL certificate order &lt;br /&gt;
* ''array'': '''displayData'''&lt;br /&gt;
** A key/value pair of additional SSL certificate data that is displayed on the page on step two of the order process&lt;br /&gt;
* ''int'': '''step'''&lt;br /&gt;
** The current step of the order process&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | support&lt;br /&gt;
| ''various''&lt;br /&gt;
|&lt;br /&gt;
* ''[http://docs.whmcs.com/classes/7.1/WHMCS/User/Client.html \WHMCS\User\Client]|null'': '''client'''&lt;br /&gt;
** The client currently logged in, or &amp;lt;tt&amp;gt;null&amp;lt;/tt&amp;gt; if no client is logged in&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | The support secondary sidebar is displayed when a contact does not have permission to perform an action in the client area.&lt;br /&gt;
|-&lt;br /&gt;
! supportKnowledgeBase&lt;br /&gt;
| &lt;br /&gt;
* &amp;lt;tt&amp;gt;knowledgebase.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* ''[http://docs.whmcs.com/classes/7.1/WHMCS/User/Client.html \WHMCS\User\Client]|null'': '''client'''&lt;br /&gt;
** The client currently logged in, or &amp;lt;tt&amp;gt;null&amp;lt;/tt&amp;gt; if no client is logged in&lt;br /&gt;
* ''array'': '''knowledgeBaseTags'''&lt;br /&gt;
** An array of knowledge base tags and the number of articles with each tag.&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | ticketFeedback&lt;br /&gt;
| &lt;br /&gt;
* &amp;lt;tt&amp;gt;viewticket.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* ''[http://docs.whmcs.com/classes/7.1/WHMCS/User/Client.html \WHMCS\User\Client]|null'': '''client'''&lt;br /&gt;
** The client currently logged in, or &amp;lt;tt&amp;gt;null&amp;lt;/tt&amp;gt; if no client is logged in.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Only used on viewticket.php when a user is entering feedback for a recently closed ticket.&lt;br /&gt;
|-&lt;br /&gt;
! ticketList&lt;br /&gt;
| &lt;br /&gt;
* &amp;lt;tt&amp;gt;supporttickets.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* ''[http://docs.whmcs.com/classes/7.1/WHMCS/User/Client.html \WHMCS\User\Client]|null'': '''client'''&lt;br /&gt;
** The client currently logged in, or &amp;lt;tt&amp;gt;null&amp;lt;/tt&amp;gt; if no client is logged in.&lt;br /&gt;
* ''array'': '''ticketStatusCounts'''&lt;br /&gt;
** A key/value pair of ticket statuses with the number of tickets in that status.&lt;br /&gt;
|-&lt;br /&gt;
! ticketSubmit&lt;br /&gt;
| &lt;br /&gt;
* &amp;lt;tt&amp;gt;submitticket.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* ''[http://docs.whmcs.com/classes/7.1/WHMCS/User/Client.html \WHMCS\User\Client]|null'': '''client'''&lt;br /&gt;
** The client currently logged in, or &amp;lt;tt&amp;gt;null&amp;lt;/tt&amp;gt; if no client is logged in.&lt;br /&gt;
|-&lt;br /&gt;
! ticketView&lt;br /&gt;
| &lt;br /&gt;
* &amp;lt;tt&amp;gt;viewticket.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* ''[http://docs.whmcs.com/classes/7.1/WHMCS/User/Client.html \WHMCS\User\Client]|null'': '''client'''&lt;br /&gt;
** The client currently logged in, or &amp;lt;tt&amp;gt;null&amp;lt;/tt&amp;gt; if no client is logged in.&lt;br /&gt;
* ''int'': '''ticketId'''&lt;br /&gt;
** The id number of the ticket the user is viewing.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Examples=&lt;br /&gt;
&lt;br /&gt;
==Add a social media panel to the end of the sidebar==&lt;br /&gt;
 &lt;br /&gt;
[[Image:Custom social media sidebar panel.png|thumb|The Client Area supports a secondary sidebar with a custom social media panel highlighted.]]&lt;br /&gt;
 &lt;br /&gt;
You may want to better connect with your clients by using social media. The menu hooks in WHMCS 6.0 and later allow you to insert links to your company’s Facebook, Twitter, and other social media profiles directly into the interface. We recommend putting them at the end of the secondary sidebar so they’re rendered last and won’t interrupt your users’ experience.&lt;br /&gt;
 &lt;br /&gt;
This example uses the &amp;lt;tt&amp;gt;ClientAreaSecondarySidebar&amp;lt;/tt&amp;gt; hook and the menu item’s &amp;lt;tt&amp;gt;addChild()&amp;lt;/tt&amp;gt;and &amp;lt;tt&amp;gt;moveToBack()&amp;lt;/tt&amp;gt; methods. To add panel with links to the sidebar you will need to create a panel at the end of the sidebar, retrieve the new panel, and add social media links to the panel. The Font Awesome library already has icons for all of these services.&lt;br /&gt;
 &lt;br /&gt;
To do this:&lt;br /&gt;
 &lt;br /&gt;
# Create the &amp;lt;tt&amp;gt;includes/hooks/socialMediaPanel.php&amp;lt;/tt&amp;gt; file in your WHMCS installation.&lt;br /&gt;
# Enter the code below.&lt;br /&gt;
# Save the file.&lt;br /&gt;
# Reload your WHMCS installation’s Client Area.&lt;br /&gt;
 &lt;br /&gt;
WHMCS automatically loads all hooks the &amp;lt;tt&amp;gt;includes/hooks&amp;lt;/tt&amp;gt; directory. The &amp;lt;tt&amp;gt;SecondarySidebar&amp;lt;/tt&amp;gt; hook is registered with &amp;lt;tt&amp;gt;add_hook()&amp;lt;/tt&amp;gt; and is consequently loaded every time WHMCS renders the secondary sidebar on page load.&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
 &lt;br /&gt;
use WHMCS\View\Menu\Item as MenuItem;&lt;br /&gt;
 &lt;br /&gt;
// Add social media links to the end of all secondary sidebars.&lt;br /&gt;
add_hook('ClientAreaSecondarySidebar', 1, function (MenuItem $secondarySidebar)&lt;br /&gt;
{&lt;br /&gt;
    // Add a panel to the end of the secondary sidebar for social media links.&lt;br /&gt;
    // Declare it with the name &amp;quot;social-media&amp;quot; so we can easily retrieve it&lt;br /&gt;
    // later.&lt;br /&gt;
    $secondarySidebar-&amp;gt;addChild('social-media', array(&lt;br /&gt;
        'label' =&amp;gt; 'Social Media',&lt;br /&gt;
        'uri' =&amp;gt; '#',&lt;br /&gt;
        'icon' =&amp;gt; 'fas fa-thumbs-up',&lt;br /&gt;
    ));&lt;br /&gt;
 &lt;br /&gt;
    // Retrieve the panel we just created.&lt;br /&gt;
    $socialMediaPanel = $secondarySidebar-&amp;gt;getChild('social-media');&lt;br /&gt;
 &lt;br /&gt;
    // Move the panel to the end of the sorting order so it's always displayed&lt;br /&gt;
    // as the last panel in the sidebar.&lt;br /&gt;
    $socialMediaPanel-&amp;gt;moveToBack();&lt;br /&gt;
 &lt;br /&gt;
    // Add a Facebook link to the panel.&lt;br /&gt;
    $socialMediaPanel-&amp;gt;addChild('facebook-link', array(&lt;br /&gt;
        'uri' =&amp;gt; 'https://facebook.com/our-great-company',&lt;br /&gt;
        'label' =&amp;gt; 'Like us on Facebook!',&lt;br /&gt;
        'order' =&amp;gt; 1,&lt;br /&gt;
        'icon' =&amp;gt; 'fab fa-facebook-f fa-fw',&lt;br /&gt;
    ));&lt;br /&gt;
 &lt;br /&gt;
    // Add a Twitter link to the panel after the Facebook link.&lt;br /&gt;
    $socialMediaPanel-&amp;gt;addChild('twitter-link', array(&lt;br /&gt;
        'uri' =&amp;gt; 'https://twitter.com/ourgreatcompany',&lt;br /&gt;
        'label' =&amp;gt; 'Follow us on Twitter!',&lt;br /&gt;
        'order' =&amp;gt; 2,&lt;br /&gt;
        'icon' =&amp;gt; 'fab fa-twitter fa-fw',&lt;br /&gt;
    ));&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Add a special offer image and link to the top of the topmost sidebar==&lt;br /&gt;
&lt;br /&gt;
[[Image:Custom panel body html highlighted.png|thumb|The WHMCS 6 client area announcements sidebar panel with a custom special offer highlighted.]] Your web host is doing amazing and to celebrate is offering a discount to all users. The marketing folks want a small image and message in the top of the first sidebar panel on every page that links to a page with the special offer. &lt;br /&gt;
&lt;br /&gt;
This example uses the '''ClientAreaPrimarySidebar''' hook and the menu item’s &amp;lt;tt&amp;gt;getFirstChild()&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;setBodyHtml()&amp;lt;/tt&amp;gt; methods. To add panel with links to the sidebar we must:&lt;br /&gt;
&lt;br /&gt;
# Get the first panel from the primary sidebar.&lt;br /&gt;
# Set the panel’s body HTML.&lt;br /&gt;
&lt;br /&gt;
Create the &amp;lt;tt&amp;gt;includes/hooks/specialOfferInSidebar.php&amp;lt;/tt&amp;gt; file in your WHMCS installation and enter the code below. As with the previous example the new file and hook within the file is run on page load and adds the image and link to the topmost panel in the primary sidebar, no matter which page the client is accessing.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
use WHMCS\View\Menu\Item as MenuItem;&lt;br /&gt;
 &lt;br /&gt;
add_hook('ClientAreaPrimarySidebar', 1, function (MenuItem $primarySidebar)&lt;br /&gt;
{&lt;br /&gt;
    // The HTML for the link to the the special offer.&lt;br /&gt;
    $specialOfferHtml = &amp;lt;&amp;lt;&amp;lt;EOT&lt;br /&gt;
&amp;lt;a href=&amp;quot;//myawesomecompany.com/special-offer/&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;img src=&amp;quot;/assets/img/catdeals.png&amp;quot; alt=&amp;quot;Click here for amazing deals!&amp;quot;&amp;gt;&lt;br /&gt;
   Kitten says &amp;lt;strong&amp;gt;&amp;lt;em&amp;gt;thanks&amp;lt;/em&amp;gt;&amp;lt;/strong&amp;gt; for making us the best web host!&lt;br /&gt;
&amp;lt;/a&amp;gt;&lt;br /&gt;
EOT;&lt;br /&gt;
 &lt;br /&gt;
    if($primarySidebar-&amp;gt;count() &amp;gt; 0)&lt;br /&gt;
    {&lt;br /&gt;
 &lt;br /&gt;
         // Add a link to the special to the first panel's body HTML. It will render&lt;br /&gt;
        // above the panel's menu item list.&lt;br /&gt;
        $firstSidebar = $primarySidebar-&amp;gt;getFirstChild();&lt;br /&gt;
  &lt;br /&gt;
    	$firstSidebar-&amp;gt;setBodyHtml($specialOfferHtml);&lt;br /&gt;
 &lt;br /&gt;
    }&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Move the “Contact Us” link to the secondary navigation bar and add more contact options==&lt;br /&gt;
&lt;br /&gt;
[[Image:Custom navbar menu highlighted.png|thumb|The WHMCS 6 client area navbars with the Contact Us link moved to the secondary navbar with a custom dropdown menu.]] The graphic designer feels that our awesome hosting company’s WHMCS installation will more closely match the main site if the “Contact Us” link is moved to the right hand side of the installation’s navigation bars before the “Account” link. They also want a dropdown under the link with links specifically to email the sales team, call us, and provide a map to the company via Google Maps.&lt;br /&gt;
&lt;br /&gt;
This example requires manipulating more than one menu bar. To do that we’ll use the '''ClientAreaNavbars''' hook and the &amp;lt;tt&amp;gt;Menu&amp;lt;/tt&amp;gt; class to retrieve the primary and secondary navigation bars. We’ll use the menu item’s &amp;lt;tt&amp;gt;getChild()&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;removeChild()&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;addChild()&amp;lt;/tt&amp;gt;, and &amp;lt;tt&amp;gt;moveToFront()&amp;lt;/tt&amp;gt; methods and the static &amp;lt;tt&amp;gt;Menu::primaryNavbar()&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;Menu::secondaryNavbar()&amp;lt;/tt&amp;gt; methods. Here’s what we’ll do:&lt;br /&gt;
&lt;br /&gt;
# Save the “Contact Us” link from the primary navigation bar.&lt;br /&gt;
# Remove the “Contact Us” link from the primary navigation bar.&lt;br /&gt;
# Add an email link child to the “Contact Us” link.&lt;br /&gt;
# Add a phone link child to the “Contact Us” link.&lt;br /&gt;
# Add a map link child to the “Contact Us” link.&lt;br /&gt;
# Add the “Contact Us” link to the secondary navigation bar then move it to the beginning of the menu.&lt;br /&gt;
&lt;br /&gt;
Create the &amp;lt;tt&amp;gt;includes/hooks/moveContactUsLink.php&amp;lt;/tt&amp;gt; file in your WHMCS installation and enter the code below. As with the other examples this hook file is picked up on page load and rearranges the navigation bars with the appropriate dropdown items.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
 &lt;br /&gt;
add_hook('ClientAreaNavbars', 1, function ()&lt;br /&gt;
{&lt;br /&gt;
    // Get the current navigation bars.&lt;br /&gt;
    $primaryNavbar = Menu::primaryNavbar();&lt;br /&gt;
    $secondaryNavbar = Menu::secondaryNavbar();&lt;br /&gt;
&lt;br /&gt;
if (!is_null($primaryNavbar-&amp;gt;getChild('Contact Us'))){&lt;br /&gt;
 &lt;br /&gt;
    // Save the &amp;quot;Contact Us&amp;quot; link and remove it from the primary navigation bar.&lt;br /&gt;
    $contactUsLink = $primaryNavbar-&amp;gt;getChild('Contact Us');&lt;br /&gt;
    $primaryNavbar-&amp;gt;removeChild('Contact Us');&lt;br /&gt;
 &lt;br /&gt;
    // Add the email sales link to the link's drop-down menu.&lt;br /&gt;
    $contactUsLink-&amp;gt;addChild('email-sales', array(&lt;br /&gt;
        'label' =&amp;gt; 'Email our sales team',&lt;br /&gt;
        'uri' =&amp;gt; 'sales@my-awesome-company.com',&lt;br /&gt;
        'order' =&amp;gt; 1,&lt;br /&gt;
        'icon' =&amp;gt; 'far fa-gem',&lt;br /&gt;
    ));&lt;br /&gt;
 &lt;br /&gt;
    // Add the call us link to the link's drop-down menu.&lt;br /&gt;
    $contactUsLink-&amp;gt;addChild('call-us', array(&lt;br /&gt;
        'label' =&amp;gt; 'Call us',&lt;br /&gt;
        'uri' =&amp;gt; 'tel:+18005551212',&lt;br /&gt;
        'order' =&amp;gt; 2,&lt;br /&gt;
        'icon' =&amp;gt; 'fas fa-mobile-alt',&lt;br /&gt;
    ));&lt;br /&gt;
 &lt;br /&gt;
    // Add the map to the company to the link's drop-down menu.&lt;br /&gt;
    $contactUsLink-&amp;gt;addChild('map', array(&lt;br /&gt;
        'label' =&amp;gt; '123 Main St. AnyTown, TX 11223, USA',&lt;br /&gt;
        'uri' =&amp;gt; 'https:\/\/maps.google.com/maps/place/some-map-data',&lt;br /&gt;
        'order' =&amp;gt; 3,&lt;br /&gt;
        'icon' =&amp;gt; 'fas fa-map-marker-alt',&lt;br /&gt;
    ));&lt;br /&gt;
 &lt;br /&gt;
    // Add the link and its drop-down children to the secondary navigation bar.&lt;br /&gt;
    $secondaryNavbar-&amp;gt;addChild($contactUsLink);&lt;br /&gt;
 &lt;br /&gt;
    // Make sure the contact us link appears as the first item in the&lt;br /&gt;
    // secondary navigation bar.&lt;br /&gt;
    $contactUsLink-&amp;gt;moveToFront();&lt;br /&gt;
}});&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Add support hours and a custom message to the sidebar on the submit ticket page==&lt;br /&gt;
&lt;br /&gt;
[[Image:Custom support hours panel.png|thumb|The WHMCS 6 submit ticket page in responsive mode with support hours and a custom message in the primary sidebar.]] Your business has really taken off, and it's finally time to hire someone to help answer support tickets and sales inquiries. The new hire can't work 24 hours a day, 7 days a week, so it's time to implement official support hours. Your UX people feel that it's best to notify your users of these support hours on the submit ticket page, but only the submit ticket page. They'd like the hours at the top of the primary sidebar, so they're in plain view for the users. They'd also love it if we could notify the users that they can expect a reply from us soon or if they have to wait until the next business day.&lt;br /&gt;
&lt;br /&gt;
Since the powers that be want this to appear at the top of the sidebars we'll manipulate the primary sidebar via the '''ClientAreaPrimarySidebar''' hook. We’ll use the menu item’s &amp;lt;tt&amp;gt;addChild()&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;moveToFront()&amp;lt;/tt&amp;gt;, and &amp;lt;tt&amp;gt;setBodyHtml()&amp;lt;/tt&amp;gt; methods to add the new panel. The special message to the user addresses the logged in user by first name. Every sidebar has a &amp;quot;client&amp;quot; context available which contains the record of the client that is logged in or ''null'' if no client is logged in. The &amp;lt;tt&amp;gt;Menu::context()&amp;lt;/tt&amp;gt; method will retrieve the client record for us. If the client is logged in then we'll use the client object's &amp;lt;tt&amp;gt;firstName&amp;lt;/tt&amp;gt; property to address the user by name. Version 6.0 uses the very helpful [https://github.com/briannesbitt/Carbon Carbon date library] internally. Carbon is available to third party developers, so we'll use it to determine if support is currently open. Here’s what we’ll do:&lt;br /&gt;
&lt;br /&gt;
# Determine if the user is visiting &amp;lt;tt&amp;gt;submitticket.php&amp;lt;/tt&amp;gt;.&lt;br /&gt;
# Add a &amp;quot;Support Hours&amp;quot; panel to the primary sidebar and move it to the front so it displays at the top.&lt;br /&gt;
# Create child items in the support hours panel saying when support is open and closed.&lt;br /&gt;
# Determine if support is currently open.&lt;br /&gt;
# If there is a user logged in then determine their first name.&lt;br /&gt;
# Assign the support hours' panel body HTML to a special message depending on the logged in user's first name and whether support is currently open.&lt;br /&gt;
&lt;br /&gt;
Create the &amp;lt;tt&amp;gt;includes/hooks/addSupportHours.php&amp;lt;/tt&amp;gt; file in your WHMCS installation and enter the code below. As with the other examples this hook file is picked up on page load and adds the custom panel and message to the primary sidebar before the submit ticket page renders.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
use Carbon\Carbon;&lt;br /&gt;
use WHMCS\View\Menu\Item as MenuItem;&lt;br /&gt;
&lt;br /&gt;
// Add a helpful support hours notice to the top of the sidebar on the submit&lt;br /&gt;
// ticket page.&lt;br /&gt;
if (App::getCurrentFilename() == 'submitticket') {&lt;br /&gt;
    add_hook('ClientAreaPrimarySidebar', 1, function (MenuItem $primarySidebar) &lt;br /&gt;
    {&lt;br /&gt;
        // Create the support hours panel and make sure it's the first one&lt;br /&gt;
        // displayed.&lt;br /&gt;
        /** @var MenuItem $supportHours */&lt;br /&gt;
        $supportHours = $primarySidebar-&amp;gt;addChild('Support Hours');&lt;br /&gt;
        $supportHours-&amp;gt;moveToFront();&lt;br /&gt;
&lt;br /&gt;
        // Add hours to the panel.&lt;br /&gt;
        $supportHours-&amp;gt;addChild(&lt;br /&gt;
            '&amp;lt;strong&amp;gt;Open&amp;lt;/strong&amp;gt; 08:00-17:00 M-F',&lt;br /&gt;
            array(&lt;br /&gt;
                'icon'  =&amp;gt; 'far fa-smile',&lt;br /&gt;
                'order' =&amp;gt; 1,&lt;br /&gt;
            )&lt;br /&gt;
        );&lt;br /&gt;
        $supportHours-&amp;gt;addChild(&lt;br /&gt;
            '&amp;lt;strong&amp;gt;Closed&amp;lt;/strong&amp;gt; Weekends',&lt;br /&gt;
            array(&lt;br /&gt;
                'icon'  =&amp;gt; 'far fa-frown',&lt;br /&gt;
                'order' =&amp;gt; 2,&lt;br /&gt;
            )&lt;br /&gt;
        );&lt;br /&gt;
&lt;br /&gt;
        // Add a custom notice to the support hours panel with the logged in&lt;br /&gt;
        // client's first name and a different message depending on whether&lt;br /&gt;
        // support is open.&lt;br /&gt;
        /** @var \WHMCS\User\Client $client */&lt;br /&gt;
        $client = Menu::context('client');&lt;br /&gt;
        $greeting = is_null($client)&lt;br /&gt;
            ? ''&lt;br /&gt;
            : &amp;quot;, &amp;lt;strong&amp;gt;{$client-&amp;gt;firstName}&amp;lt;/strong&amp;gt;&amp;quot;;&lt;br /&gt;
    &lt;br /&gt;
        $now = Carbon::now();&lt;br /&gt;
        $supportIsOpen = $now-&amp;gt;isWeekday()&lt;br /&gt;
            &amp;amp;&amp;amp; $now-&amp;gt;hour &amp;gt;= 8&lt;br /&gt;
            &amp;amp;&amp;amp; $now-&amp;gt;hour &amp;lt;= 17;&lt;br /&gt;
&lt;br /&gt;
        $supportHours-&amp;gt;setBodyHtml(&lt;br /&gt;
            $supportIsOpen&lt;br /&gt;
                ? &amp;quot;Hi{$greeting}! We're open and will respond to your ticket soon!&amp;quot;&lt;br /&gt;
                : &amp;quot;Don't worry{$greeting}! We will respond on the next business day. Sit tight!&amp;quot;&lt;br /&gt;
        );&lt;br /&gt;
    });&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>DanR</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Migration_Guide&amp;diff=30053</id>
		<title>Migration Guide</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Migration_Guide&amp;diff=30053"/>
				<updated>2021-03-09T14:25:55Z</updated>
		
		<summary type="html">&lt;p&gt;DanR: /* Adding Domains */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;We understand that the majority of companies already have a billing system in place to manage their hosting clients and worry about the difficulties of switching to a new billing system. With that in mind, we provide the following guides and automation scripts in order to make importing easy.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;a href=&amp;quot;https://www.whmcs.com/services#installation?utm_medium=docs&amp;quot; class=&amp;quot;docs-video-tutorial&amp;quot;&amp;gt;&amp;lt;em&amp;gt;&amp;lt;small&amp;gt;&amp;lt;b&amp;gt;Migration Services:&amp;lt;/b&amp;gt; Contact our team to discuss our migration services.&amp;lt;/small&amp;gt;&amp;lt;/em&amp;gt;&amp;lt;span class=&amp;quot;button&amp;quot;&amp;gt;Services&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==ImportAssist==&lt;br /&gt;
&lt;br /&gt;
[[File:import_assist_banner_2.png|link=https://marketplace.whmcs.com/product/46]]&lt;br /&gt;
&lt;br /&gt;
When performing a migration from another billing system or WHMCS installation, we recommend using our ImportAssist addon, which supports importing data from multiple billing systems. At this time, this supports the following systems:&lt;br /&gt;
&lt;br /&gt;
* WHMCS Version 6.2.x, 6.3.x, 7.0.x, 7.1.x, 7.2.x, 7.3.x, 7.4.x, 7.5.x, 7.6.x, 7.7.x&lt;br /&gt;
* Blesta Version 2.x, 3.x&lt;br /&gt;
* ClientExec Version 5.3+&lt;br /&gt;
* HostBill 2016 Version&lt;br /&gt;
&lt;br /&gt;
For detailed information on obtaining and using ImportAssist, see [[ImportAssist]].&lt;br /&gt;
&lt;br /&gt;
==Server Sync Tool==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;This section refers to a new feature in WHMCS 7.8. To import services from a cPanel &amp;amp; WHM server when using WHMCS 7.7 and older, see the cPanel &amp;amp; WHM Import section below.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In WHMCS 7.8, we've introduced a new Server Sync Tool that can compare and sync details from cPanel, Plesk and DirectAdmin servers. This is particularly useful for performing an initial import when first starting with WHMCS, but you can also use it for other purposes, such as identifying and importing missing domains, syncing usernames and package information, and terminating inactive domains.&lt;br /&gt;
&lt;br /&gt;
For detailed information on how it works and how to use it, see [[Server_Sync_Tool|Server Sync Tool]].&lt;br /&gt;
&lt;br /&gt;
==cPanel &amp;amp; WHM Import Script==&lt;br /&gt;
&lt;br /&gt;
When using WHMCS 7.7 or older, you can access the WHM Import Tool using the Utilities menu.  This will allow you to import all the domains from your existing cPanel &amp;amp; WHM servers. For more information and steps, see [[CPanel/WHM_Import|CPanel/WHM Import]].&lt;br /&gt;
&lt;br /&gt;
==Manual Entry==&lt;br /&gt;
&lt;br /&gt;
We understand that the ImportAssist addon and Server Sync Tool may not always meet your needs for adding clients and their items (for example, when you need to add a client manually and there is no associated hosting account or domain registrar for their items). In these circumstances, it is possible to add clients and their items manually via the admin area using the instructions below.&lt;br /&gt;
&lt;br /&gt;
===Adding Clients===&lt;br /&gt;
&lt;br /&gt;
To manually import your clients, use the following steps for each client:&lt;br /&gt;
&lt;br /&gt;
#Go to Clients &amp;gt; Add New Client.&lt;br /&gt;
#Fill out the client details. You must provide, at least, the first and last names, email address, and password.&lt;br /&gt;
#Optionally, deselect the checkbox to send a New Account Information Message.&lt;br /&gt;
#Click Add Client.&lt;br /&gt;
&lt;br /&gt;
You have now finished adding your client. However, the system will not automatically notify your client that you added them. You can now add the applicable items to their account in the section below.&lt;br /&gt;
&lt;br /&gt;
===Adding Services===&lt;br /&gt;
&lt;br /&gt;
Once you have added the clients, you can proceed to add their services (such as hosting accounts).  Perform the following steps for each client:&lt;br /&gt;
&lt;br /&gt;
#On the Client Summary page, click &amp;quot;Add New Order&amp;quot; in the &amp;quot;Actions&amp;quot; panel.&lt;br /&gt;
#The system will preselect the client. Fill out the rest of the form, beginning with choosing the payment gateway you want their future invoices to use.&lt;br /&gt;
# Choose the applicable product or service and the billing cycle.&lt;br /&gt;
# If the service has an associated domain name, enter it in the textbox. If you also control the domain name registration, select &amp;quot;Register&amp;quot; on the domain section below and choose any addons the user has for their domain.&lt;br /&gt;
#Deselect the boxes for ''Order Confirmation'' and ''Generate Invoice''. This will ensure that the system doesn't email the client about the order you are adding.&lt;br /&gt;
#Select Active from the Order Status menu. Then, click Submit to add the order to WHMCS.&lt;br /&gt;
The system will display the order details page, which will summarise the details of the order you added.&lt;br /&gt;
&lt;br /&gt;
As the final step, go into the service details and set the correct next due date. To do this from the order details page, click on the link in the &amp;quot;Item&amp;quot; column of the items ordered. This will take you to the service details page. From there, you can edit the next due payment date. For hosting accounts, select the correct server and enter the username for the account to allow WHMCS to perform suspensions and terminations.&lt;br /&gt;
&lt;br /&gt;
===Adding Domains===&lt;br /&gt;
&lt;br /&gt;
To add a domain without a product:&lt;br /&gt;
&lt;br /&gt;
#On the Client Summary page, click the  '''Add New Order''' link in the '''Actions''' panel. The system will preselect the client. &lt;br /&gt;
# Now you need to fill out the rest of the form, beginning with choosing the payment gateway for future invoices to use by default.&lt;br /&gt;
#Select '''Active''' from the '''Order Status''' menu.&lt;br /&gt;
#Deselect the checkboxes for sending an order confirmation and generating an invoice. This will ensure that the client is not emailed about the order you are adding and no invoice is raised.&lt;br /&gt;
#Select '''Registration''' for the domain registration type. The domain fields will then be shown.&lt;br /&gt;
#Enter the domain in the '''Domain''' field.&lt;br /&gt;
#Choose the number of years you want to invoice the client for at the time of renewal.&lt;br /&gt;
#Select any addons that the user has for their domain such as DNS Management.&lt;br /&gt;
#Now, click '''Submit''' to add the order to WHMCS. The system will display the order details page, which will summarise the details of the order you added.&lt;br /&gt;
&lt;br /&gt;
Finally, now the domain is added into WHMCS you should ensure the next due date, expiry date, and the domains registrar is set correctly.&lt;br /&gt;
&lt;br /&gt;
To do this from the order details page, click the '''Domain''' link in the &amp;quot;Item&amp;quot; column. This will take you to the domain details page. You can now select the domain registrar, set the correct next due and expiry dates, and then click '''Save Changes'''.&lt;/div&gt;</summary>
		<author><name>DanR</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Cancellation_Requests&amp;diff=29998</id>
		<title>Cancellation Requests</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Cancellation_Requests&amp;diff=29998"/>
				<updated>2021-02-23T17:41:46Z</updated>
		
		<summary type="html">&lt;p&gt;DanR: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Cancellation Requests enable your clients to let you know when they no longer wish to continue their service and can ensure services are automatically terminated when no longer required.&lt;br /&gt;
&lt;br /&gt;
===Enabling Cancellation Requests===&lt;br /&gt;
In '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; Automation Settings''' under &amp;quot;Miscellaneous&amp;quot; there is an option for &amp;quot;Cancellation Requests&amp;quot;. Once enabled accounts will automatically be terminated when the Cancellation Request becomes due.&lt;br /&gt;
&lt;br /&gt;
===Show Cancellation Link===&lt;br /&gt;
When you enable the '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; General Settings &amp;gt; Other Tab &amp;gt; [[Other_Tab#Show_Cancellation_Link|Show Cancellation Link]]''' option a link will be shown in the client area so your clients can place a Cancellation Request automatically.&lt;br /&gt;
&lt;br /&gt;
Customers can request cancellation from the product details page. The Cancellation Request will actioned then appear in '''Clients &amp;gt; Cancellation Requests''' along with an email notification and will be processed automatically when the cron runs. For more information [[Products_Management#Cancelling_a_Product.2FService|refer to this page]].&lt;br /&gt;
&lt;br /&gt;
Once a Cancellation Request is placed and/or the termination date is set, WHMCS will automatically terminate the client's package on the termination date.&lt;br /&gt;
&lt;br /&gt;
===Invoices after Cancellation===&lt;br /&gt;
When enabled, any unpaid invoices for a service will be cancelled automatically when a client submits a cancellation request. If the service renewal has been invoiced with other items only the cancelled item will be removed from the invoice. Any discounts or group discounts that apply to the cancelled service will be removed as well.&lt;br /&gt;
&lt;br /&gt;
===Manual Cancellation===&lt;br /&gt;
If the Cancellation Request setting is '''not''' enabled then at this point you must navigate to the cancellation requests page, click through to the service page and click the '''Terminate''' module command button to remove the account from the server. The cancellation request is then moved from the ''Open Requests'' page to ''Completed Requests''.&lt;br /&gt;
&lt;br /&gt;
===Automated Cancellation===&lt;br /&gt;
If the Cancellation Request setting '''is''' enabled the cancellation request will be actioned when the daily automation cron runs on the appropriate day. For example if the ''Immediate'' option was selected it will be terminated on the next cron run; if ''End of Billing Period'' was selected it will be terminated when the cron runs on the service's Next Due Date.&lt;br /&gt;
&lt;br /&gt;
===Voiding Cancellation Requests===&lt;br /&gt;
If a Cancellation Request has been submitted by your client and they later change their mind, it is quick and easy to void their cancellation request. Simply navigate to '''Clients &amp;gt; Cancellation Requests''', locate the cancellation you wish to remove, and then click the red X next to the request to remove it. This will stop the cancellation from processing automatically. You'll need to make sure to mark any invoices that were cancelled as &amp;quot;Unpaid&amp;quot; to prevent billing errors.&lt;br /&gt;
&lt;br /&gt;
===Admin Scheduled Cancellations===&lt;br /&gt;
As an admin user, you can schedule the termination of a product at the end of the currently active period by going to the Products/Services tab, ticking the '''Auto-Terminate End of Cycle''' option and optionally entering a reason/note for it. Any unpaid invoices for the product will be cancelled and will suppress any further renewal invoices from generating for this product and terminate it when the next due date is reached.&lt;br /&gt;
The &amp;quot;Cancellation Requests&amp;quot; setting in '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; Automation Settings''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Automation Settings''' must also be enabled.&lt;br /&gt;
&lt;br /&gt;
===Admin Immediate Cancellation===&lt;br /&gt;
If you want to cancel or terminate a product or service immediately then you simply need to locate the item you wish to cancel and from the Products/Services page and click the '''Terminate''' button if the product is linked to a module. If it is not linked to a module, you should manually change the dropdown status from Active to '''Cancelled'''. Once you've done this, no further invoices will generate for the item.&lt;/div&gt;</summary>
		<author><name>DanR</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Licensing&amp;diff=29955</id>
		<title>Licensing</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Licensing&amp;diff=29955"/>
				<updated>2021-01-28T13:18:18Z</updated>
		
		<summary type="html">&lt;p&gt;DanR: /* Changing the License Key WHMCS uses */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Moving WHMCS==&lt;br /&gt;
When you move your WHMCS system, if the domain, IP address, or directory you use it in is changing, you must update your license. The method to use depends on the license you have:&lt;br /&gt;
&lt;br /&gt;
===1. You purchased your license directly from us===&lt;br /&gt;
&lt;br /&gt;
If you purchased your license from us directly, you can reissue your license from [http://whmcs.com/members|our client area] without any manual intervention from us.  To do this, log in, go to Services &amp;gt; My Licenses, select your license key, and click '''Reissue''' under the Management Actions tab. Then, visit your WHMCS installation in the new location. The system will save the new valid access details.&lt;br /&gt;
&lt;br /&gt;
===2. You obtain your license from your web host===&lt;br /&gt;
&lt;br /&gt;
If you received your license from your hosting provider, you can't reissue your license from our client area. This is because the domain and IP address cannot change. Contact your hosting provider to have them update the license for use at the new location. If you are moving to a different hosting provider, you cannot move your license key with you and you will require a new license key for use at the new location.&lt;br /&gt;
&lt;br /&gt;
To move WHMCS:&lt;br /&gt;
&lt;br /&gt;
* Disable or remove the WHMCS cron jobs from the old server. This prevents automation from running and making changes.&lt;br /&gt;
* Create a backup of your database [[Maintenance#Backing_up_your_WHMCS_Database|following these instructions]].&lt;br /&gt;
* Make sure the new server meets the [[System_Requirements|system requirements]].&lt;br /&gt;
* Transfer the files to the new server.&lt;br /&gt;
* [[Maintenance#Restoring_a_Database_Backup|Restore the database]] via phpMyAdmin on the new server and make any changes to the database settings in &amp;lt;tt&amp;gt;configuration.php&amp;lt;/tt&amp;gt;.&lt;br /&gt;
* Reissue your license using the steps above.&lt;br /&gt;
* Log in to your WHMCS admin area and update the system URLs in '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; General Settings''' or, prior to WHMCS 8.0, '''Setup &amp;gt; General Settings'''.&lt;br /&gt;
* Check whether the system properly modified your cron jobs, payment gateway callbacks, and email forwarders.&lt;br /&gt;
* Update your [[Further Security Steps#Secure_the_Writeable_Directories|custom directory locations]].&lt;br /&gt;
* Update your [[Moving_Storage_Locations|storage locations]].&lt;br /&gt;
* Delete the WHMCS files from the old location.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;a href=&amp;quot;https://www.whmcs.com/services#installation?utm_medium=docs&amp;quot; class=&amp;quot;docs-video-tutorial&amp;quot;&amp;gt;&amp;lt;em&amp;gt;&amp;lt;small&amp;gt;&amp;lt;b&amp;gt;Transfer Services:&amp;lt;/b&amp;gt; Have our team transfer your WHMCS installation.&amp;lt;/small&amp;gt;&amp;lt;/em&amp;gt;&amp;lt;span class=&amp;quot;button&amp;quot;&amp;gt;Services&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Changing the License Key WHMCS uses==&lt;br /&gt;
&lt;br /&gt;
To change the license key your WHMCS system uses, log in to the admin area and go to '''Help (&amp;lt;i class=&amp;quot;fa fa-question-circle&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; License Information''' or, prior to WHMCS 8.0, '''Help &amp;gt; Change License Key'''. Enter your new license key and admin login details to verify the change. If can't log in due to a license invalid error, use the link to the change license page from the license error page.&lt;br /&gt;
&lt;br /&gt;
==Is licensing dependant on whmcs.com being online?==&lt;br /&gt;
&lt;br /&gt;
No. WHMCS uses a local key licensing system with periodic remote verification checks. Once every seven days, your WHMCS system will contact our server to ensure it is being run in the correct location and that the license is still valid. Whether your WHMCS system is online is not dependant on our server being online during the time the local key is valid.&lt;br /&gt;
&lt;br /&gt;
If our licensing server is unavailable on the day of your next verification check, the system will allow up to three days to make a connection. If, after this time, the system still can't verify your license with our licensing server, your WHMCS Admin Area will become inactive until WHMCS can contact our server again.&lt;br /&gt;
&lt;br /&gt;
Your WHMCS Client Area will always remain online, even if you have an invalid or expired license, to ensure your clients have uninterrupted access.&lt;br /&gt;
&lt;br /&gt;
==Common Errors==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&lt;br /&gt;
For information on troubleshooting common licensing errors, see [[License Troubleshooting]].&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>DanR</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Products_and_Services&amp;diff=29951</id>
		<title>Products and Services</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Products_and_Services&amp;diff=29951"/>
				<updated>2021-01-26T13:31:08Z</updated>
		
		<summary type="html">&lt;p&gt;DanR: /* Details */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Configure products via '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt;  Products/Services''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Products/Services &amp;gt; Products/Services'''.&lt;br /&gt;
&lt;br /&gt;
For basic instructions for creating your first product group and product, see [[Setting Up Your First Product]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;a href=&amp;quot;https://www.youtube.com/watch?v=sUpr2dHOUrg&amp;quot; class=&amp;quot;docs-video-tutorial&amp;quot;&amp;gt;&amp;lt;em&amp;gt;Watch the video tutorial for this feature&amp;lt;/em&amp;gt;&amp;lt;span&amp;gt; &amp;lt;img src=&amp;quot;https://assets.whmcs.com/icons/youtube.png&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;a href=&amp;quot;https://www.whmcs.com/services#installation?utm_medium=docs&amp;quot; class=&amp;quot;docs-video-tutorial&amp;quot;&amp;gt;&amp;lt;em&amp;gt;&amp;lt;small&amp;gt;&amp;lt;b&amp;gt;Configuration Service:&amp;lt;/b&amp;gt; Have our team configure WHMCS for you.&amp;lt;/small&amp;gt;&amp;lt;/em&amp;gt;&amp;lt;span class=&amp;quot;button&amp;quot;&amp;gt;Services&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Product Groups==&lt;br /&gt;
Product groups organize products on the order form. Each group has a separate page, so you can split products into categories or across several pages for ease of display. For example, you may wish to list your shared hosting plans separately from reseller plans. Clients can switch between groups on the order form or you can link to them directly (see [[#Links Tab| Links]] below).&lt;br /&gt;
&lt;br /&gt;
To create a product group:&lt;br /&gt;
&lt;br /&gt;
#Click '''Create a New Group'''.&lt;br /&gt;
#Enter a '''Product Group Name'''. This will display on the order form.&lt;br /&gt;
#Use the '''URL''' that WHMCS generated from the group name, or enter your desired '''URL'''.&lt;br /&gt;
#Enter a '''Product Group Headline''' and '''Product Group Tagline'''.&lt;br /&gt;
#If you want to use a different template from the default for this group, select an '''Order Form Template'''. Normally, all product groups use the system default order form template in '''General Settings'''.&lt;br /&gt;
#Check the '''Available Payment Gateways''' to offer on the checkout page for products in this group.&lt;br /&gt;
#Check '''Hidden''' to hide the group on the order form.&lt;br /&gt;
#Click '''Save Changes'''. &lt;br /&gt;
&lt;br /&gt;
To edit the group at a later date, click the corresponding edit icon in the '''Products/Services''' list. &lt;br /&gt;
&lt;br /&gt;
To customize display sorting, see [[Products_and_Services#Sorting|Sorting]].&lt;br /&gt;
&lt;br /&gt;
==Products==&lt;br /&gt;
To create a new product:&lt;br /&gt;
#Click '''Create a New Product'''.&lt;br /&gt;
#Choose a '''Product Type'''.&lt;br /&gt;
#Choose the '''Product Group''' that you just selected.&lt;br /&gt;
#Enter a '''Product Name'''.&lt;br /&gt;
#Select a '''Module'''. For example, for hosting plans hosted on a Plesk server, select ''Plesk''.&lt;br /&gt;
#Toggle '''Create as Hidden''' to hide or show the product on the client-side order form.&lt;br /&gt;
#Click '''Continue''' and then configure the tabs on the page that appears. For more on these tabs, see the sections below.&lt;br /&gt;
#After you configure the additional tabs, click '''Save Changes'''.&lt;br /&gt;
&lt;br /&gt;
To edit the product at a later date, click the corresponding edit icon in the '''Products/Services''' list. &lt;br /&gt;
&lt;br /&gt;
To customise display sorting, see [[Products_and_Services#Sorting|Sorting]].&lt;br /&gt;
&lt;br /&gt;
===Details===&lt;br /&gt;
'''Details''' contains general information about a product, including its name and product group:&lt;br /&gt;
&lt;br /&gt;
* '''Product Type''', '''Product Group''' and '''Product Name''' — See the [[#Products|Products]] section above.&lt;br /&gt;
* '''Product Description''' — The detailed information that relates to this product on the order form.&lt;br /&gt;
** The system maintains line breaks when you format a description. &lt;br /&gt;
** When using HTML, we recommend avoiding new lines unless you want them to appear in the end result.&lt;br /&gt;
** When the &amp;lt;tt&amp;gt;key: value&amp;lt;/tt&amp;gt; format is used in the description the [[Standard_Order_Form_Templates#Feature_Highlights|Feature Highlights]] styling will be applied.&lt;br /&gt;
* '''Welcome Email''' — The email template to send when activating the product. You can create custom email templates to use on different products. For more information, see [[Email Templates]].&lt;br /&gt;
* '''Require Domain''' — The domain registration option on ordering. You should always enable this for hosting and disable it for other products that don't require a domain name.&lt;br /&gt;
* '''Stock Control''' — The available quantity of an item (for example, servers) or a limited special-offer product. Check this to enable the limit, and then enter the remaining quantity. WHMCS will stop orders when it reaches zero. &lt;br /&gt;
* '''Apply Tax''' — Whether to apply tax rules to this product. For more information, see [[Tax Configuration|Tax/VAT Rules]].&lt;br /&gt;
* '''Featured''' — Display a product more prominently on some supported order forms.&lt;br /&gt;
* '''Hidden''' — Whether to show the product on the order form. Customers will still be able to order this using the direct order links.&lt;br /&gt;
* '''Retired''' — Whether to hide the product from admin area menus, like the product menu in the client's profile.&lt;br /&gt;
&lt;br /&gt;
===Pricing===&lt;br /&gt;
'''Pricing''' lets you specify the prices and duration of the product.&lt;br /&gt;
&lt;br /&gt;
[[File:Price grid.png|thumb|Price Grid]]&lt;br /&gt;
&lt;br /&gt;
*'''Payment Types''' — Select '''Free''', '''One Time''', or '''Recurring'''. If you select '''One Time''' or '''Recurring''', the pricing grid will appear. Enable each billing cycle by checking '''Enable'''.&lt;br /&gt;
**For '''One Time''' products, enable '''One Time/Monthly''' and enter your prices into that column.&lt;br /&gt;
**For '''Recurring''' products, check '''Enable''' for the billing cycles that you want to offer with the product.&lt;br /&gt;
**For '''Setup Fee''' in each column, enter any setup fees for a given billing cycle. For example, you may charge setup fees on monthly cycles and offer free setup for yearly cycles.&lt;br /&gt;
*'''Allow Multiple Quantities''' — Select whether clients can order multiples of this product on the checkout page. The product cannot require additional configuration (like product custom fields or configurable options).&lt;br /&gt;
** ''No'' — Disables the option to specify a quantity for this product.&lt;br /&gt;
** ''Yes - Multiple Services'' — Each unit represents its own individual service instance. For example, specifying a quantity of 10 will create 10 service records upon ordering, each with its own price (Recurring Amount).&lt;br /&gt;
** ''Yes - Scaling Service'' — Each service instance allows a quantity to be defined. For example, specifying a quantity of 10 will create one service, with the service price (Recurring Amount) multiplied by the numbers of units specified.&lt;br /&gt;
*'''Recurring Cycles Limit''' — For '''Recurring''' payment types, the default value (&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt;) will invoice indefinitely until cancelled. However, by entering a value in this field, you can limit the number of times this product will invoice the client. For example, entering &amp;lt;tt&amp;gt;5&amp;lt;/tt&amp;gt; on a monthly product would keep the system from generating an invoice in the 6th month after ordering.&lt;br /&gt;
*'''Auto Terminate/Fixed Term''' — You can set up products that automatically terminate after a set number of days from the service's registration date. &lt;br /&gt;
**To enable this, enter the number of days to wait before terminating and choose an email template to send to the client when the termination occurs (for example, an up-selling email to promote your paid products in the case of a trial, or confirmation of payment completing for installment payments). Set '''Auto Terminate/Fixed Term''' to 0 to disable this feature. &lt;br /&gt;
**Entering a number in this field terminate the product when the cron job runs that many days after the product registration date.&lt;br /&gt;
**Use this to offer free trial products for a certain period of time or time-limited products that should only recur for a certain number of cycles before stopping.&lt;br /&gt;
*'''Termination Email''' — If you entered an '''Auto Terminate/Fixed Term''' value, select an email to send to the client at product termination.&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;title&amp;quot;&amp;gt;Note:&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Termination Email''' only includes custom product-type email templates. For more information on creating a custom email template, see [http://docs.whmcs.com/Email_Templates Email Templates].&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
*'''Prorata Billing''' — This allows you to bill products on a specific day of the month and charge a prorata amount at the initial time of order. If you check this, the system will charge all clients on one specific day each month. Otherwise, the product will use the default anniversary billing system (for example, Jun 15–Jul 15). Changes to this setting apply to new orders only.&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;title&amp;quot;&amp;gt;Note:&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Prorata billing is not compatible with the free domain logic or having domain renewal invoices that the system generates further in advance than other products.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
*'''Prorata Date''' — The specific billing date for all sales of the product. If you set this to &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt;, the system will charge all clients on the 1st of each month.&lt;br /&gt;
*'''Charge Next Month''' — After this day of the month, the system will also charge a client for the next month in their initial payment when signing up on a monthly billing cycle. &lt;br /&gt;
**If you don't enable this, if you have set the prorata date to 1, and a client signs up on the 30th of the month, they would only pay a small amount. &lt;br /&gt;
**If you enable this, they would pay the prorated amount plus the next month in advance. &lt;br /&gt;
**To prorate a product but not to enable this feature, set '''Prorata Date''' to a normal value and '''Charge Next Month''' to &amp;lt;tt&amp;gt;32&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Module Settings===&lt;br /&gt;
&lt;br /&gt;
This tab specifies which server type the product will use and how WHMCS will behave when someone orders this product.&lt;br /&gt;
&lt;br /&gt;
*From '''Module Name''', select the type of server you're using. If a product has no specific module to link to, set it to ''[[Auto_Release|Autorelease]]'' to simulate activation and send a welcome email.&lt;br /&gt;
*Select your desired options. The options you will see depend on your module. For more information about each module, see the [[Server_Modules|Provisioning Modules]] section.&lt;br /&gt;
*Select one of the four automation settings for product activation:&lt;br /&gt;
**'''Automatically setup the product as soon as an order is placed''' — Set it up instantly. Usually, you would use this for free products.&lt;br /&gt;
**'''Automatically setup the product as soon as the first payment is received''' — Perform the setup as soon as the customer pays for the order.&lt;br /&gt;
**'''Automatically setup the product when you manually accept a pending order''' — Perform the setup only when an admin has manually reviewed and accepted the order.&lt;br /&gt;
**'''Do not automatically setup this product''' — Never auto-set-up the product. Admins can still initiate manually from the product details page under a clients profile.&lt;br /&gt;
&lt;br /&gt;
====Metric Billing====&lt;br /&gt;
[[File:Usage-billing-module-settings-metric-config.png|thumb|]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;title&amp;quot;&amp;gt;Metric Billing&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Metric Billing''' displays in '''Module Settings''' when you select a module that supports this feature (WHMCS version 7.9 and above).&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To enable a metric for billing or display purposes, set the toggle to '''On'''. If you enable a metric, it will appear within the client's product details view of the client area. An admin will always see all metrics, enabled or disabled, within the admin area when viewing a service for a product that reports metrics.&lt;br /&gt;
&lt;br /&gt;
To configure pricing for a metric, click '''Configure Pricing''' for that metric. &lt;br /&gt;
&lt;br /&gt;
For usage and configuration instructions, see [[Usage Billing]].&lt;br /&gt;
&lt;br /&gt;
===Custom Fields===&lt;br /&gt;
&lt;br /&gt;
From this tab you can create custom fields for this product. This allows you to collect additional order form information that you need to supply the product. &lt;br /&gt;
&lt;br /&gt;
*Field types consist of text boxes, menus, checkboxes, link or URL fields, and password fields. Text in password fields appears as asterisks (&amp;lt;tt&amp;gt;****&amp;lt;/tt&amp;gt;).&lt;br /&gt;
*You can set fields as admin-only for private data, required or optional on the order form, displayed on the order form, displayed in the client area, or displayed on invoices (such as VAT numbers).&lt;br /&gt;
&lt;br /&gt;
For more information, see [[Custom_Fields|Custom Fields]].&lt;br /&gt;
&lt;br /&gt;
===Configurable Options===&lt;br /&gt;
&lt;br /&gt;
Use this tab to select the configurable options to associate with the product. You can display them on the order form or in the client area. '''Configurable Options''' are options that alter the price of the product.&lt;br /&gt;
&lt;br /&gt;
For more information, see [[Addons_and_Configurable_Options|Addons and Configurable Options]].&lt;br /&gt;
&lt;br /&gt;
===Upgrades===&lt;br /&gt;
&lt;br /&gt;
This tab allows you to specify whether the client can upgrade or downgrade from this product to another. WHMCS can fully automate upgrades and downgrades for many of the modules.&lt;br /&gt;
&lt;br /&gt;
*Select the products that the product can be upgraded or downgraded to.&lt;br /&gt;
*Use &amp;lt;tt&amp;gt;Ctrl+Click&amp;lt;/tt&amp;gt; to select multiple products.&lt;br /&gt;
*Check '''Configurable Options''' to enable upgrading configurable options, if there are any on the product.&lt;br /&gt;
*Select an '''Upgrade Email''' template to use when a client upgrades to this product. You will first need to create a new product email template under '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; Email Templates'''.&lt;br /&gt;
&lt;br /&gt;
For more information about how WHMCS calculates and processes upgrades and downgrades, see [[Automated_Upgrades_and_Downgrades|Automated Upgrades and Downgrades]].&lt;br /&gt;
&lt;br /&gt;
===Free Domain===&lt;br /&gt;
Use this tab to configure the offer of a free domain with a product. WHMCS lets you offer free domains with your packages when customers purchase them with certain payment terms. For example, you might want to offer a free domain when someone purchases a package annually.&lt;br /&gt;
&lt;br /&gt;
*For '''Free Domain''', choose whether and how to offer a free domain.&lt;br /&gt;
*Select one or more '''Free Domain Payment Terms''' to set the billing cycles that are required for a product to receive a free domain.&lt;br /&gt;
*Select one or more '''Free Domain TLDs''' to set which TLDs can be used for a free domain.&lt;br /&gt;
&lt;br /&gt;
For more information on how to configure this, see [[Domains_Configuration#Offering_Free_Domain_Registration_with_Selected_Packages|Offering Free Domain Registration]].&lt;br /&gt;
&lt;br /&gt;
===Other===&lt;br /&gt;
The penultimate tab contains miscellaneous settings such as product affiliate rates, product downloads, and overage billing.&lt;br /&gt;
&lt;br /&gt;
*'''Custom Affiliate Payout''' — The custom payout rate for this specific product if it's using the built-in affiliate system. This setting overrides or disables the system default commission rate.&lt;br /&gt;
*'''Affiliate Pay Amount''' — The percentage or amount paid for a purchase of this product, depending on your choice for the setting above.&lt;br /&gt;
*'''One Time Payout''' — Check this to pay only a one-time commission.&lt;br /&gt;
*'''Subdomain Options''' — Enter a domain in the format &amp;quot;.yourdomain.com&amp;quot; if you want to offer a free subdomain option for the domain at signup. You can offer more than one by entering a comma separated list (for example, &amp;quot;.yourdomain.com,.yourdomain.net&amp;quot;).&lt;br /&gt;
*'''Associated Downloads''' — The files to automatically release to the customer when the product is activated. &lt;br /&gt;
**Click '''Add Category''' to create a new category of downloads.&lt;br /&gt;
**Click '''Quick Upload''' to upload a new file.&lt;br /&gt;
**See [[Product Downloads Distribution]] for more information.&lt;br /&gt;
*'''Overages Billing''' — Enables billing for the product based on disk and bandwidth usage for the month. Refer to [[Disk Space and Bandwidth Overage Billing]] for more information.&lt;br /&gt;
*'''Soft Limits''' — Enter the soft limits for '''Disk Usage''' and '''Bandwidth'''.&lt;br /&gt;
*'''Overage Costs''' — Enter the overage costs for '''Disk Usage''' and '''Bandwidth'''.&lt;br /&gt;
&lt;br /&gt;
===Links tab===&lt;br /&gt;
This tab contains the URLs to link to for this product.&lt;br /&gt;
&lt;br /&gt;
*Each URL will add the product to the shopping cart and jump straight to the configuration step.&lt;br /&gt;
*There are many more possible variations. For more information, see [[Linking to WHMCS]].&lt;br /&gt;
&lt;br /&gt;
==Sorting==&lt;br /&gt;
&lt;br /&gt;
Groups and products are sortable using the crosshair icon on the appropriate row. This is on the left for groups and the right for products.&lt;br /&gt;
&lt;br /&gt;
[[File:Drag_and_drop_sorting.png|center|850x250px]]&lt;br /&gt;
&lt;br /&gt;
After moving, a success message will appear on the top right of the page to confirm that the system saved the sort order. It is not possible to move products between groups using the drag-and-drop method.&lt;br /&gt;
&lt;br /&gt;
==Feature Highlights==&lt;br /&gt;
 &lt;br /&gt;
'''Feature Highlights''' allow you to define features and their values for products in a way that WHMCS can interpret for comparison-based display.&lt;br /&gt;
 &lt;br /&gt;
The system supports '''Feature Highlights''' for most order form templates. For more information, see [[Standard_Order_Form_Templates#Templates|Standard Order Form Templates]].&lt;/div&gt;</summary>
		<author><name>DanR</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Domain_Categories&amp;diff=29939</id>
		<title>Domain Categories</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Domain_Categories&amp;diff=29939"/>
				<updated>2021-01-20T10:50:28Z</updated>
		
		<summary type="html">&lt;p&gt;DanR: /* Sample whois.json Override File */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&amp;lt;i class=&amp;quot;fa fa-info-circle&amp;quot;&amp;gt;&amp;lt;/i&amp;gt; This page describes a feature available in version 7.10 and above.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==What are domain categories?==&lt;br /&gt;
&lt;br /&gt;
Domain Categories are used in the client area to group domain TLDs into categories such as &amp;quot;Popular&amp;quot;, &amp;quot;Shopping&amp;quot;, or &amp;quot;Real Estate&amp;quot; and makes it easier for clients to navigate and find their ideal domain extension.&lt;br /&gt;
&lt;br /&gt;
==How do I customise the domain categories?==&lt;br /&gt;
&lt;br /&gt;
The domain categories shipped with WHMCS by default can be found in ''/resources/domains/dist.categories.json''. This file should '''not''' be edited.&lt;br /&gt;
&lt;br /&gt;
To add or edit domain category definitions, begin by creating a custom categories.json file located at ''/resources/domains/categories.json''&lt;br /&gt;
&lt;br /&gt;
Inside it, define the domain categories you wish to use. This file will remain in place when updating WHMCS.&lt;br /&gt;
&lt;br /&gt;
TLDs can appear in multiple categories, for example, a UK-based company might include .UK and .CO.UK TLDs in the &amp;quot;Popular&amp;quot; category as well as a &amp;quot;Local Geographic&amp;quot; category.&lt;br /&gt;
&lt;br /&gt;
Below is a sample custom categories.json file defining the domain category &amp;quot;Awesome Domains&amp;quot; with the &amp;quot;.whmcs&amp;quot; and &amp;quot;.whmcstest&amp;quot; domain TLDs.&lt;br /&gt;
&lt;br /&gt;
===Sample categories.json Override File===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;yaml&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
&amp;quot;Awesome Domains&amp;quot;: [&lt;br /&gt;
&amp;quot;.whmcs&amp;quot;,&lt;br /&gt;
&amp;quot;.whmcstest&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A domain category definition is simply the category name, with an array of the domain TLDs which should be included in that category.&lt;/div&gt;</summary>
		<author><name>DanR</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Products_and_Services&amp;diff=29938</id>
		<title>Products and Services</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Products_and_Services&amp;diff=29938"/>
				<updated>2021-01-19T15:54:36Z</updated>
		
		<summary type="html">&lt;p&gt;DanR: /* Details */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Configure products via '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt;  Products/Services''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Products/Services &amp;gt; Products/Services'''.&lt;br /&gt;
&lt;br /&gt;
For basic instructions for creating your first product group and product, see [[Setting Up Your First Product]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;a href=&amp;quot;https://www.youtube.com/watch?v=sUpr2dHOUrg&amp;quot; class=&amp;quot;docs-video-tutorial&amp;quot;&amp;gt;&amp;lt;em&amp;gt;Watch the video tutorial for this feature&amp;lt;/em&amp;gt;&amp;lt;span&amp;gt; &amp;lt;img src=&amp;quot;https://assets.whmcs.com/icons/youtube.png&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;a href=&amp;quot;https://www.whmcs.com/services#installation?utm_medium=docs&amp;quot; class=&amp;quot;docs-video-tutorial&amp;quot;&amp;gt;&amp;lt;em&amp;gt;&amp;lt;small&amp;gt;&amp;lt;b&amp;gt;Configuration Service:&amp;lt;/b&amp;gt; Have our team configure WHMCS for you.&amp;lt;/small&amp;gt;&amp;lt;/em&amp;gt;&amp;lt;span class=&amp;quot;button&amp;quot;&amp;gt;Services&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Product Groups==&lt;br /&gt;
Product groups organize products on the order form. Each group has a separate page, so you can split products into categories or across several pages for ease of display. For example, you may wish to list your shared hosting plans separately from reseller plans. Clients can switch between groups on the order form or you can link to them directly (see [[#Links Tab| Links]] below).&lt;br /&gt;
&lt;br /&gt;
To create a product group:&lt;br /&gt;
&lt;br /&gt;
#Click '''Create a New Group'''.&lt;br /&gt;
#Enter a '''Product Group Name'''. This will display on the order form.&lt;br /&gt;
#Use the '''URL''' that WHMCS generated from the group name, or enter your desired '''URL'''.&lt;br /&gt;
#Enter a '''Product Group Headline''' and '''Product Group Tagline'''.&lt;br /&gt;
#If you want to use a different template from the default for this group, select an '''Order Form Template'''. Normally, all product groups use the system default order form template in '''General Settings'''.&lt;br /&gt;
#Check the '''Available Payment Gateways''' to offer on the checkout page for products in this group.&lt;br /&gt;
#Check '''Hidden''' to hide the group on the order form.&lt;br /&gt;
#Click '''Save Changes'''. &lt;br /&gt;
&lt;br /&gt;
To edit the group at a later date, click the corresponding edit icon in the '''Products/Services''' list. &lt;br /&gt;
&lt;br /&gt;
To customize display sorting, see [[Products_and_Services#Sorting|Sorting]].&lt;br /&gt;
&lt;br /&gt;
==Products==&lt;br /&gt;
To create a new product:&lt;br /&gt;
#Click '''Create a New Product'''.&lt;br /&gt;
#Choose a '''Product Type'''.&lt;br /&gt;
#Choose the '''Product Group''' that you just selected.&lt;br /&gt;
#Enter a '''Product Name'''.&lt;br /&gt;
#Select a '''Module'''. For example, for hosting plans hosted on a Plesk server, select ''Plesk''.&lt;br /&gt;
#Toggle '''Create as Hidden''' to hide or show the product on the client-side order form.&lt;br /&gt;
#Click '''Continue''' and then configure the tabs on the page that appears. For more on these tabs, see the sections below.&lt;br /&gt;
#After you configure the additional tabs, click '''Save Changes'''.&lt;br /&gt;
&lt;br /&gt;
To edit the product at a later date, click the corresponding edit icon in the '''Products/Services''' list. &lt;br /&gt;
&lt;br /&gt;
To customise display sorting, see [[Products_and_Services#Sorting|Sorting]].&lt;br /&gt;
&lt;br /&gt;
===Details===&lt;br /&gt;
'''Details''' contains general information about a product, including its name and product group:&lt;br /&gt;
&lt;br /&gt;
* '''Product Type''', '''Product Group''' and '''Product Name''' — See the [[#Products|Products]] section above.&lt;br /&gt;
* '''Product Description''' — The detailed information that relates to this product on the order form.&lt;br /&gt;
** The system maintains line breaks when you format a description. &lt;br /&gt;
** When using HTML, we recommend avoiding new lines unless you want them to appear in the end result.&lt;br /&gt;
** When using &amp;quot;key: value&amp;quot; format is used in description the [[Standard_Order_Form_Templates#Feature_Highlights|Feature Highlights]] styling will be applied.&lt;br /&gt;
* '''Welcome Email''' — The email template to send when activating the product. You can create custom email templates to use on different products. For more information, see [[Email Templates]].&lt;br /&gt;
* '''Require Domain''' — The domain registration option on ordering. You should always enable this for hosting and disable it for other products that don't require a domain name.&lt;br /&gt;
* '''Stock Control''' — The available quantity of an item (for example, servers) or a limited special-offer product. Check this to enable the limit, and then enter the remaining quantity. WHMCS will stop orders when it reaches zero. &lt;br /&gt;
* '''Apply Tax''' — Whether to apply tax rules to this product. For more information, see [[Tax Configuration|Tax/VAT Rules]].&lt;br /&gt;
* '''Featured''' — Display a product more prominently on some supported order forms.&lt;br /&gt;
* '''Hidden''' — Whether to show the product on the order form. Customers will still be able to order this using the direct order links.&lt;br /&gt;
* '''Retired''' — Whether to hide the product from admin area menus, like the product menu in the client's profile.&lt;br /&gt;
&lt;br /&gt;
===Pricing===&lt;br /&gt;
'''Pricing''' lets you specify the prices and duration of the product.&lt;br /&gt;
&lt;br /&gt;
[[File:Price grid.png|thumb|Price Grid]]&lt;br /&gt;
&lt;br /&gt;
*'''Payment Types''' — Select '''Free''', '''One Time''', or '''Recurring'''. If you select '''One Time''' or '''Recurring''', the pricing grid will appear. Enable each billing cycle by checking '''Enable'''.&lt;br /&gt;
**For '''One Time''' products, enable '''One Time/Monthly''' and enter your prices into that column.&lt;br /&gt;
**For '''Recurring''' products, check '''Enable''' for the billing cycles that you want to offer with the product.&lt;br /&gt;
**For '''Setup Fee''' in each column, enter any setup fees for a given billing cycle. For example, you may charge setup fees on monthly cycles and offer free setup for yearly cycles.&lt;br /&gt;
*'''Allow Multiple Quantities''' — Select whether clients can order multiples of this product on the checkout page. The product cannot require additional configuration (like product custom fields or configurable options).&lt;br /&gt;
** ''No'' — Disables the option to specify a quantity for this product.&lt;br /&gt;
** ''Yes - Multiple Services'' — Each unit represents its own individual service instance. For example, specifying a quantity of 10 will create 10 service records upon ordering, each with its own price.&lt;br /&gt;
** ''Yes - Scaling Service'' — Each service instance allows a quantity to be defined. For example, specifying a quantity of 10 will create one service, with the service price multiplied by the numbers of units specified.&lt;br /&gt;
*'''Recurring Cycles Limit''' — For '''Recurring''' payment types, the default value (&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt;) will invoice indefinitely until cancelled. However, by entering a value in this field, you can limit the number of times this product will invoice the client. For example, entering &amp;lt;tt&amp;gt;5&amp;lt;/tt&amp;gt; on a monthly product would keep the system from generating an invoice in the 6th month after ordering.&lt;br /&gt;
*'''Auto Terminate/Fixed Term''' — You can set up products that automatically terminate after a set number of days from the service's registration date. &lt;br /&gt;
**To enable this, enter the number of days to wait before terminating and choose an email template to send to the client when the termination occurs (for example, an up-selling email to promote your paid products in the case of a trial, or confirmation of payment completing for installment payments). Set '''Auto Terminate/Fixed Term''' to 0 to disable this feature. &lt;br /&gt;
**Entering a number in this field terminate the product when the cron job runs that many days after the product registration date.&lt;br /&gt;
**Use this to offer free trial products for a certain period of time or time-limited products that should only recur for a certain number of cycles before stopping.&lt;br /&gt;
*'''Termination Email''' — If you entered an '''Auto Terminate/Fixed Term''' value, select an email to send to the client at product termination.&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;title&amp;quot;&amp;gt;Note:&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Termination Email''' only includes custom product-type email templates. For more information on creating a custom email template, see [http://docs.whmcs.com/Email_Templates Email Templates].&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
*'''Prorata Billing''' — This allows you to bill products on a specific day of the month and charge a prorata amount at the initial time of order. If you check this, the system will charge all clients on one specific day each month. Otherwise, the product will use the default anniversary billing system (for example, Jun 15–Jul 15). Changes to this setting apply to new orders only.&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;title&amp;quot;&amp;gt;Note:&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Prorata billing is not compatible with the free domain logic or having domain renewal invoices that the system generates further in advance than other products.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
*'''Prorata Date''' — The specific billing date for all sales of the product. If you set this to &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt;, the system will charge all clients on the 1st of each month.&lt;br /&gt;
*'''Charge Next Month''' — After this day of the month, the system will also charge a client for the next month in their initial payment when signing up on a monthly billing cycle. &lt;br /&gt;
**If you don't enable this, if you have set the prorata date to 1, and a client signs up on the 30th of the month, they would only pay a small amount. &lt;br /&gt;
**If you enable this, they would pay the prorated amount plus the next month in advance. &lt;br /&gt;
**To prorate a product but not to enable this feature, set '''Prorata Date''' to a normal value and '''Charge Next Month''' to &amp;lt;tt&amp;gt;32&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Module Settings===&lt;br /&gt;
&lt;br /&gt;
This tab specifies which server type the product will use and how WHMCS will behave when someone orders this product.&lt;br /&gt;
&lt;br /&gt;
*From '''Module Name''', select the type of server you're using. If a product has no specific module to link to, set it to ''[[Auto_Release|Autorelease]]'' to simulate activation and send a welcome email.&lt;br /&gt;
*Select your desired options. The options you will see depend on your module. For more information about each module, see the [[Server_Modules|Provisioning Modules]] section.&lt;br /&gt;
*Select one of the four automation settings for product activation:&lt;br /&gt;
**'''Automatically setup the product as soon as an order is placed''' — Set it up instantly. Usually, you would use this for free products.&lt;br /&gt;
**'''Automatically setup the product as soon as the first payment is received''' — Perform the setup as soon as the customer pays for the order.&lt;br /&gt;
**'''Automatically setup the product when you manually accept a pending order''' — Perform the setup only when an admin has manually reviewed and accepted the order.&lt;br /&gt;
**'''Do not automatically setup this product''' — Never auto-set-up the product. Admins can still initiate manually from the product details page under a clients profile.&lt;br /&gt;
&lt;br /&gt;
====Metric Billing====&lt;br /&gt;
[[File:Usage-billing-module-settings-metric-config.png|thumb|]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;title&amp;quot;&amp;gt;Metric Billing&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Metric Billing''' displays in '''Module Settings''' when you select a module that supports this feature (WHMCS version 7.9 and above).&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To enable a metric for billing or display purposes, set the toggle to '''On'''. If you enable a metric, it will appear within the client's product details view of the client area. An admin will always see all metrics, enabled or disabled, within the admin area when viewing a service for a product that reports metrics.&lt;br /&gt;
&lt;br /&gt;
To configure pricing for a metric, click '''Configure Pricing''' for that metric. &lt;br /&gt;
&lt;br /&gt;
For usage and configuration instructions, see [[Usage Billing]].&lt;br /&gt;
&lt;br /&gt;
===Custom Fields===&lt;br /&gt;
&lt;br /&gt;
From this tab you can create custom fields for this product. This allows you to collect additional order form information that you need to supply the product. &lt;br /&gt;
&lt;br /&gt;
*Field types consist of text boxes, menus, checkboxes, link or URL fields, and password fields. Text in password fields appears as asterisks (&amp;lt;tt&amp;gt;****&amp;lt;/tt&amp;gt;).&lt;br /&gt;
*You can set fields as admin-only for private data, required or optional on the order form, displayed on the order form, displayed in the client area, or displayed on invoices (such as VAT numbers).&lt;br /&gt;
&lt;br /&gt;
For more information, see [[Custom_Fields|Custom Fields]].&lt;br /&gt;
&lt;br /&gt;
===Configurable Options===&lt;br /&gt;
&lt;br /&gt;
Use this tab to select the configurable options to associate with the product. You can display them on the order form or in the client area. '''Configurable Options''' are options that alter the price of the product.&lt;br /&gt;
&lt;br /&gt;
For more information, see [[Addons_and_Configurable_Options|Addons and Configurable Options]].&lt;br /&gt;
&lt;br /&gt;
===Upgrades===&lt;br /&gt;
&lt;br /&gt;
This tab allows you to specify whether the client can upgrade or downgrade from this product to another. WHMCS can fully automate upgrades and downgrades for many of the modules.&lt;br /&gt;
&lt;br /&gt;
*Select the products that the product can be upgraded or downgraded to.&lt;br /&gt;
*Use &amp;lt;tt&amp;gt;Ctrl+Click&amp;lt;/tt&amp;gt; to select multiple products.&lt;br /&gt;
*Check '''Configurable Options''' to enable upgrading configurable options, if there are any on the product.&lt;br /&gt;
*Select an '''Upgrade Email''' template to use when a client upgrades to this product. You will first need to create a new product email template under '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; Email Templates'''.&lt;br /&gt;
&lt;br /&gt;
For more information about how WHMCS calculates and processes upgrades and downgrades, see [[Automated_Upgrades_and_Downgrades|Automated Upgrades and Downgrades]].&lt;br /&gt;
&lt;br /&gt;
===Free Domain===&lt;br /&gt;
Use this tab to configure the offer of a free domain with a product. WHMCS lets you offer free domains with your packages when customers purchase them with certain payment terms. For example, you might want to offer a free domain when someone purchases a package annually.&lt;br /&gt;
&lt;br /&gt;
*For '''Free Domain''', choose whether and how to offer a free domain.&lt;br /&gt;
*Select one or more '''Free Domain Payment Terms''' to set the billing cycles that are required for a product to receive a free domain.&lt;br /&gt;
*Select one or more '''Free Domain TLDs''' to set which TLDs can be used for a free domain.&lt;br /&gt;
&lt;br /&gt;
For more information on how to configure this, see [[Domains_Configuration#Offering_Free_Domain_Registration_with_Selected_Packages|Offering Free Domain Registration]].&lt;br /&gt;
&lt;br /&gt;
===Other===&lt;br /&gt;
The penultimate tab contains miscellaneous settings such as product affiliate rates, product downloads, and overage billing.&lt;br /&gt;
&lt;br /&gt;
*'''Custom Affiliate Payout''' — The custom payout rate for this specific product if it's using the built-in affiliate system. This setting overrides or disables the system default commission rate.&lt;br /&gt;
*'''Affiliate Pay Amount''' — The percentage or amount paid for a purchase of this product, depending on your choice for the setting above.&lt;br /&gt;
*'''One Time Payout''' — Check this to pay only a one-time commission.&lt;br /&gt;
*'''Subdomain Options''' — Enter a domain in the format &amp;quot;.yourdomain.com&amp;quot; if you want to offer a free subdomain option for the domain at signup. You can offer more than one by entering a comma separated list (for example, &amp;quot;.yourdomain.com,.yourdomain.net&amp;quot;).&lt;br /&gt;
*'''Associated Downloads''' — The files to automatically release to the customer when the product is activated. &lt;br /&gt;
**Click '''Add Category''' to create a new category of downloads.&lt;br /&gt;
**Click '''Quick Upload''' to upload a new file.&lt;br /&gt;
**See [[Product Downloads Distribution]] for more information.&lt;br /&gt;
*'''Overages Billing''' — Enables billing for the product based on disk and bandwidth usage for the month. Refer to [[Disk Space and Bandwidth Overage Billing]] for more information.&lt;br /&gt;
*'''Soft Limits''' — Enter the soft limits for '''Disk Usage''' and '''Bandwidth'''.&lt;br /&gt;
*'''Overage Costs''' — Enter the overage costs for '''Disk Usage''' and '''Bandwidth'''.&lt;br /&gt;
&lt;br /&gt;
===Links tab===&lt;br /&gt;
This tab contains the URLs to link to for this product.&lt;br /&gt;
&lt;br /&gt;
*Each URL will add the product to the shopping cart and jump straight to the configuration step.&lt;br /&gt;
*There are many more possible variations. For more information, see [[Linking to WHMCS]].&lt;br /&gt;
&lt;br /&gt;
==Sorting==&lt;br /&gt;
&lt;br /&gt;
Groups and products are sortable using the crosshair icon on the appropriate row. This is on the left for groups and the right for products.&lt;br /&gt;
&lt;br /&gt;
[[File:Drag_and_drop_sorting.png|center|850x250px]]&lt;br /&gt;
&lt;br /&gt;
After moving, a success message will appear on the top right of the page to confirm that the system saved the sort order. It is not possible to move products between groups using the drag-and-drop method.&lt;br /&gt;
&lt;br /&gt;
==Feature Highlights==&lt;br /&gt;
 &lt;br /&gt;
'''Feature Highlights''' allow you to define features and their values for products in a way that WHMCS can interpret for comparison-based display.&lt;br /&gt;
 &lt;br /&gt;
The system supports '''Feature Highlights''' for most order form templates. For more information, see [[Standard_Order_Form_Templates#Templates|Standard Order Form Templates]].&lt;/div&gt;</summary>
		<author><name>DanR</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Friendly_URLs&amp;diff=29925</id>
		<title>Friendly URLs</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Friendly_URLs&amp;diff=29925"/>
				<updated>2021-01-15T15:28:25Z</updated>
		
		<summary type="html">&lt;p&gt;DanR: /* WHMCS Rules */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&amp;lt;i class=&amp;quot;fa fa-question-circle&amp;quot;&amp;gt;&amp;lt;/i&amp;gt; This page describes a feature available in version 7.2 and above&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Many functions and pages of WHMCS can be accessed through search engine friendly (SEF) URLs.  The capability of WHMCS to process such URIs is heavily dependent on the webserver environment.  WHMCS will perform an initial inspection of the environment and automatically configure the most optimal settings for your environment.&lt;br /&gt;
&lt;br /&gt;
There are several settings that will affect the WHMCS's behavior regarding SEF.  They are located at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; General Settings &amp;gt; General''' or, prior to WHMCS 8.0, '''Setup &amp;gt; General Settings &amp;gt; General'''.&lt;br /&gt;
&lt;br /&gt;
=Simple Mode Selection=&lt;br /&gt;
&lt;br /&gt;
Directly in the General Tab, next the the Friendly URLs label are two controls that can simplify the SEF mode that WHMCS will use.&lt;br /&gt;
&lt;br /&gt;
[[File:friendly_uri_setting.png|700px]]&lt;br /&gt;
&lt;br /&gt;
==URI Path Mode==&lt;br /&gt;
The URI path mode is used by WHMCS when constructing URIs, URLs, or relative paths in rendered output (ie. links on pages).&lt;br /&gt;
&lt;br /&gt;
There are three possible modes:&lt;br /&gt;
* '''Fully Friendly Rewrite''' - This option will generate highly systematic URLs, which are excellent for search engines and visitors alike.  The are completely decoupled from the file system.  This mode is only valid in environments that support Apache Mod_Rewrite behavior.  &lt;br /&gt;
** Example: ''&amp;lt;nowiki&amp;gt;http://awesome.host/knowledgebase&amp;lt;/nowiki&amp;gt;''&lt;br /&gt;
&lt;br /&gt;
* '''Friendly index.php''' - This option will generate systematic URLs but is coupled to the filesystem.  It is a good option for search engines and visitors if your environment does not support Apache Mod_Rewrite.  This mode is only valid in environments that support Apache AcceptPathInfo behavior.  &lt;br /&gt;
** Example: ''&amp;lt;nowiki&amp;gt;http://awesome.host/index.php/knowledgebase&amp;lt;/nowiki&amp;gt;''&lt;br /&gt;
&lt;br /&gt;
* '''Basic URLs''' - This option will generate URLs which are ubiquitously supported in all web environments.  Most search engine technologies are capable of moderate to advanced indexing when analyzing these types of URLs.  However some internet users find these URLs unattractive and cumbersome. &lt;br /&gt;
** Example: ''&amp;lt;nowiki&amp;gt;http://awesome.host/index.php?rp=/knowledgebase&amp;lt;/nowiki&amp;gt;''&lt;br /&gt;
&lt;br /&gt;
You can quickly change the URI path mode via the dynamic dropdown which lists all possible URI path mode options.  Your current mode setting will appear with a white background at the top of dynamic dropdown selection, as well as in the options list within a right-angle bracket denoting the selection.&lt;br /&gt;
&lt;br /&gt;
[[File:Friendly_Url_Simple_Mode_Select.png|280px]]&lt;br /&gt;
&lt;br /&gt;
The best option detected by WHMCS for your current environment will have a green background within options list.  All other options will have a blue background.  You may select and override the system's best detected suggestion at any time to facilitate the optimal experience for you WHMCS.  One such scenario would be if you WHMCS is running on a web server other than Apache, where URL rewrites are controlled at a server-level and cannot be accurately observed by applications. Another scenario might be if a customization prepares link paths relative to the current link path and not as absolute path to WHMCS or the website.&lt;br /&gt;
&lt;br /&gt;
When you select an option from the dynamic dropdown it will be saved automatically.  The current selection denotation will be updated as well as the status label.  If the selection is the same as what was detected as the best option, the status label will be green and read &amp;quot;System-Detected&amp;quot;, otherwise  it will be blue and read &amp;quot;Manual-Override&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Recheck Environment==&lt;br /&gt;
The recheck button, represented with a circular arrow icon, will perform an environment detection and immediately update your Friendly URLs settings to the optimal configuration.  If the Auto-Managed Rewrite setting is not enabled, and the system detects that modifications to your rewrite file (.htaccess) may occur during the optimization routine, you will be a prompted to enable it before any changes are applied.&lt;br /&gt;
&lt;br /&gt;
=Advanced Settings=&lt;br /&gt;
To the right of the URI Mode Selection and Recheck Button the is an Advanced Setting link which provides you more options and information so that you may manually optimizing your environment and WHMCS settings for Friendly URLs.&lt;br /&gt;
&lt;br /&gt;
==Path Mode==&lt;br /&gt;
The Path Mode management tab of Advanced Settings allows you to manually override the system-detected URI Path Mode and shows which modes are known to be support by your environment.&lt;br /&gt;
&lt;br /&gt;
[[File:UriPathModeMgmt.png|550px]]&lt;br /&gt;
&lt;br /&gt;
The settings provided here perform the same result as the Simple Mode Selection but with more explicit control.  Notably, you may enable the manual override option while selecting a URI Path Mode that is the same as the system detected value.&lt;br /&gt;
&lt;br /&gt;
Setting are automatically saved on change.&lt;br /&gt;
&lt;br /&gt;
==Rewrite File==&lt;br /&gt;
The Rewrite File management tab of Advanced Settings allows you to manually select how WHMCS should control the rewrite file (.htaccess) as well as a copy of the WHMCS rewrite rules.  Rewrite rules are used to alter inbound HTTP requests so that the application can effectively process Friendly URLs&lt;br /&gt;
&lt;br /&gt;
[[File:UriMgmtRewriteRuleTab.png|550px]]&lt;br /&gt;
&lt;br /&gt;
===Rewrite File Management===&lt;br /&gt;
====Initial Evaluation====&lt;br /&gt;
Upon installation (or upgrade to v7.2), WHMCS will perform an evaluation of your current environment.  This evaluation will inspect the following:&lt;br /&gt;
&lt;br /&gt;
A. Does the current environment support Apache Mod_Rewrite?&lt;br /&gt;
&lt;br /&gt;
B. Is there an .htaccess file within the WHMCS root directory?&lt;br /&gt;
&lt;br /&gt;
C. If there is an .htaccess file, are the contents identical to the suggested ruleset provided in htaccess.txt of previous WHMCS releases?&lt;br /&gt;
&lt;br /&gt;
D. If there is an .htaccess file, and it is not identical to previous releases' ruleset suggestions, do the contents contain the WHMCS comment marks indicating WHMCS has leveraged this file in the past?&lt;br /&gt;
&lt;br /&gt;
After the evaluation, one of the following will occur:&lt;br /&gt;
&lt;br /&gt;
* If the current environment is not supported (not A), then Auto-Managed Rewrite is disabled and and no further action will be taken.&lt;br /&gt;
&lt;br /&gt;
* If the environment is supported (A) and a .htaccess file does exist (not B), Auto-Managed Rewrite will be enabled and a fresh .htaccess file will be created with the latest WHMCS rewrite ruleset.  Any future update of WHMCS that requires a change to the rewrite ruleset will be applied automatically during the update process.&lt;br /&gt;
&lt;br /&gt;
* If the environment is supported (A) and there is an .htaccess file (B), only if the contents are solely WHMCS content (C) or the WHMCS ruleset has been managed by WHMCS automation along with your own custom rules (D) will Auto-Managed Rewrite be enabled.  The current .htaccess file will be updated to the current WHMCS ruleset.  Any future update of WHMCS that requires a change to the rewrite ruleset will be applied automatically during the update process.&lt;br /&gt;
&lt;br /&gt;
* If the environment is supported (A) and there is a .htaccess file (B), but it is not solely WHMCS content or there is no indication that WHMCS can manage its rules along side your custom rules (neither C or D), then Auto-Managed Rewrite is disabled and no further action will be taken.&lt;br /&gt;
&lt;br /&gt;
====Manual Management====&lt;br /&gt;
At any time you may enable or disable Auto-Managed Rewrite.  When this option is enabled, any new rules issued as part of a WHMCS update will be applied to the .htaccess file of the WHMCS root directory during the update process.  Your Auto-Managed Rewrite toggle selection is immediately saved on change.&lt;br /&gt;
&lt;br /&gt;
Manually enabling Auto-Managed Rewrite will not automatically reevaluate or synchronize the WHMCS ruleset.  Likewise, disabling Auto-Managed Rewrite will not inspect or alter the contents of .htaccess.&lt;br /&gt;
&lt;br /&gt;
When the Advanced Setting dialog is opened, if the current contents of .htaccess are not in-sync with the WHMCS ruleset, you will have a Synchronize option.  This option is provided regardless of the Auto-Managed Rewrite setting. To synchronize the ruleset, simply click the Synchronize button that is below the Auto-Managed Rewrite toggle.  Synchronization will occur immediately when this button is clicked.  &lt;br /&gt;
&lt;br /&gt;
When rules are applied to .htaccess, they are placed between comment markers that clearly indicate the beginning and end of the WHMCS ruleset.  If you require custom rulesets for other destinations within the WHMCS root directory, make sure that you place them before or after these comment markers.&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&amp;lt;i class=&amp;quot;fa fa-info-circle fa-fw&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;&amp;amp;nbsp; Compatibility with other rules in .htaccess will need to be determined and adjusted by your system administrative staff.  WHMCS cannot automatically detect compatibility with other rules. Furthermore, WHMCS Technical Support can only provided limited suggestions based on what WHMCS required to function as designed.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===WHMCS Rules===&lt;br /&gt;
A copy of the WHMCS ruleset for your current version of WHMCS is displayed for your inspection and application.  Some web environments provide alternative mechanisms for performing URI rewrites on inbound HTTP requests.  Your system administrative staff should be able to update your alternative web environment based on this information to fully utilize the Friendly URLs feature of WHMCS.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&amp;lt;i class=&amp;quot;fa fa-question-circle&amp;quot;&amp;gt;&amp;lt;/i&amp;gt; These .htaccess rules apply to WHMCS version 7.2 and above.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
### BEGIN - WHMCS managed rules - DO NOT EDIT BETWEEN WHMCS MARKERS ###&lt;br /&gt;
&amp;lt;IfModule mod_rewrite.c&amp;gt;&lt;br /&gt;
RewriteEngine on&lt;br /&gt;
&lt;br /&gt;
# RewriteBase is set to &amp;quot;/&amp;quot; so rules do not need updating if the&lt;br /&gt;
# installation directory is relocated.  It is imperative that&lt;br /&gt;
# there is also a RewriteCond rule later that can effectively get&lt;br /&gt;
# the actual value by comparison against the request URI.&lt;br /&gt;
# &lt;br /&gt;
# If there are _any_ other RewriteBase directives in this file,&lt;br /&gt;
# the last entry will take precedence!&lt;br /&gt;
RewriteBase /&lt;br /&gt;
&lt;br /&gt;
# Redirect directories to an address with slash&lt;br /&gt;
RewriteCond %{REQUEST_FILENAME} -d&lt;br /&gt;
RewriteRule ^(.+[^/])$  $1/ [R]&lt;br /&gt;
&lt;br /&gt;
# Send all remaining (routable paths) through index.php&lt;br /&gt;
RewriteCond %{REQUEST_FILENAME} !-f&lt;br /&gt;
RewriteCond %{REQUEST_FILENAME} !-d&lt;br /&gt;
# Determine and use the actual base&lt;br /&gt;
RewriteCond $0#%{REQUEST_URI} ([^#]*)#(.*)\1$&lt;br /&gt;
RewriteRule ^.*$ %2index.php [QSA,L]&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
### END - WHMCS managed rules - DO NOT EDIT BETWEEN WHMCS MARKERS ###&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>DanR</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Friendly_URLs&amp;diff=29924</id>
		<title>Friendly URLs</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Friendly_URLs&amp;diff=29924"/>
				<updated>2021-01-15T15:28:03Z</updated>
		
		<summary type="html">&lt;p&gt;DanR: /* WHMCS Rules */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&amp;lt;i class=&amp;quot;fa fa-question-circle&amp;quot;&amp;gt;&amp;lt;/i&amp;gt; This page describes a feature available in version 7.2 and above&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Many functions and pages of WHMCS can be accessed through search engine friendly (SEF) URLs.  The capability of WHMCS to process such URIs is heavily dependent on the webserver environment.  WHMCS will perform an initial inspection of the environment and automatically configure the most optimal settings for your environment.&lt;br /&gt;
&lt;br /&gt;
There are several settings that will affect the WHMCS's behavior regarding SEF.  They are located at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; General Settings &amp;gt; General''' or, prior to WHMCS 8.0, '''Setup &amp;gt; General Settings &amp;gt; General'''.&lt;br /&gt;
&lt;br /&gt;
=Simple Mode Selection=&lt;br /&gt;
&lt;br /&gt;
Directly in the General Tab, next the the Friendly URLs label are two controls that can simplify the SEF mode that WHMCS will use.&lt;br /&gt;
&lt;br /&gt;
[[File:friendly_uri_setting.png|700px]]&lt;br /&gt;
&lt;br /&gt;
==URI Path Mode==&lt;br /&gt;
The URI path mode is used by WHMCS when constructing URIs, URLs, or relative paths in rendered output (ie. links on pages).&lt;br /&gt;
&lt;br /&gt;
There are three possible modes:&lt;br /&gt;
* '''Fully Friendly Rewrite''' - This option will generate highly systematic URLs, which are excellent for search engines and visitors alike.  The are completely decoupled from the file system.  This mode is only valid in environments that support Apache Mod_Rewrite behavior.  &lt;br /&gt;
** Example: ''&amp;lt;nowiki&amp;gt;http://awesome.host/knowledgebase&amp;lt;/nowiki&amp;gt;''&lt;br /&gt;
&lt;br /&gt;
* '''Friendly index.php''' - This option will generate systematic URLs but is coupled to the filesystem.  It is a good option for search engines and visitors if your environment does not support Apache Mod_Rewrite.  This mode is only valid in environments that support Apache AcceptPathInfo behavior.  &lt;br /&gt;
** Example: ''&amp;lt;nowiki&amp;gt;http://awesome.host/index.php/knowledgebase&amp;lt;/nowiki&amp;gt;''&lt;br /&gt;
&lt;br /&gt;
* '''Basic URLs''' - This option will generate URLs which are ubiquitously supported in all web environments.  Most search engine technologies are capable of moderate to advanced indexing when analyzing these types of URLs.  However some internet users find these URLs unattractive and cumbersome. &lt;br /&gt;
** Example: ''&amp;lt;nowiki&amp;gt;http://awesome.host/index.php?rp=/knowledgebase&amp;lt;/nowiki&amp;gt;''&lt;br /&gt;
&lt;br /&gt;
You can quickly change the URI path mode via the dynamic dropdown which lists all possible URI path mode options.  Your current mode setting will appear with a white background at the top of dynamic dropdown selection, as well as in the options list within a right-angle bracket denoting the selection.&lt;br /&gt;
&lt;br /&gt;
[[File:Friendly_Url_Simple_Mode_Select.png|280px]]&lt;br /&gt;
&lt;br /&gt;
The best option detected by WHMCS for your current environment will have a green background within options list.  All other options will have a blue background.  You may select and override the system's best detected suggestion at any time to facilitate the optimal experience for you WHMCS.  One such scenario would be if you WHMCS is running on a web server other than Apache, where URL rewrites are controlled at a server-level and cannot be accurately observed by applications. Another scenario might be if a customization prepares link paths relative to the current link path and not as absolute path to WHMCS or the website.&lt;br /&gt;
&lt;br /&gt;
When you select an option from the dynamic dropdown it will be saved automatically.  The current selection denotation will be updated as well as the status label.  If the selection is the same as what was detected as the best option, the status label will be green and read &amp;quot;System-Detected&amp;quot;, otherwise  it will be blue and read &amp;quot;Manual-Override&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Recheck Environment==&lt;br /&gt;
The recheck button, represented with a circular arrow icon, will perform an environment detection and immediately update your Friendly URLs settings to the optimal configuration.  If the Auto-Managed Rewrite setting is not enabled, and the system detects that modifications to your rewrite file (.htaccess) may occur during the optimization routine, you will be a prompted to enable it before any changes are applied.&lt;br /&gt;
&lt;br /&gt;
=Advanced Settings=&lt;br /&gt;
To the right of the URI Mode Selection and Recheck Button the is an Advanced Setting link which provides you more options and information so that you may manually optimizing your environment and WHMCS settings for Friendly URLs.&lt;br /&gt;
&lt;br /&gt;
==Path Mode==&lt;br /&gt;
The Path Mode management tab of Advanced Settings allows you to manually override the system-detected URI Path Mode and shows which modes are known to be support by your environment.&lt;br /&gt;
&lt;br /&gt;
[[File:UriPathModeMgmt.png|550px]]&lt;br /&gt;
&lt;br /&gt;
The settings provided here perform the same result as the Simple Mode Selection but with more explicit control.  Notably, you may enable the manual override option while selecting a URI Path Mode that is the same as the system detected value.&lt;br /&gt;
&lt;br /&gt;
Setting are automatically saved on change.&lt;br /&gt;
&lt;br /&gt;
==Rewrite File==&lt;br /&gt;
The Rewrite File management tab of Advanced Settings allows you to manually select how WHMCS should control the rewrite file (.htaccess) as well as a copy of the WHMCS rewrite rules.  Rewrite rules are used to alter inbound HTTP requests so that the application can effectively process Friendly URLs&lt;br /&gt;
&lt;br /&gt;
[[File:UriMgmtRewriteRuleTab.png|550px]]&lt;br /&gt;
&lt;br /&gt;
===Rewrite File Management===&lt;br /&gt;
====Initial Evaluation====&lt;br /&gt;
Upon installation (or upgrade to v7.2), WHMCS will perform an evaluation of your current environment.  This evaluation will inspect the following:&lt;br /&gt;
&lt;br /&gt;
A. Does the current environment support Apache Mod_Rewrite?&lt;br /&gt;
&lt;br /&gt;
B. Is there an .htaccess file within the WHMCS root directory?&lt;br /&gt;
&lt;br /&gt;
C. If there is an .htaccess file, are the contents identical to the suggested ruleset provided in htaccess.txt of previous WHMCS releases?&lt;br /&gt;
&lt;br /&gt;
D. If there is an .htaccess file, and it is not identical to previous releases' ruleset suggestions, do the contents contain the WHMCS comment marks indicating WHMCS has leveraged this file in the past?&lt;br /&gt;
&lt;br /&gt;
After the evaluation, one of the following will occur:&lt;br /&gt;
&lt;br /&gt;
* If the current environment is not supported (not A), then Auto-Managed Rewrite is disabled and and no further action will be taken.&lt;br /&gt;
&lt;br /&gt;
* If the environment is supported (A) and a .htaccess file does exist (not B), Auto-Managed Rewrite will be enabled and a fresh .htaccess file will be created with the latest WHMCS rewrite ruleset.  Any future update of WHMCS that requires a change to the rewrite ruleset will be applied automatically during the update process.&lt;br /&gt;
&lt;br /&gt;
* If the environment is supported (A) and there is an .htaccess file (B), only if the contents are solely WHMCS content (C) or the WHMCS ruleset has been managed by WHMCS automation along with your own custom rules (D) will Auto-Managed Rewrite be enabled.  The current .htaccess file will be updated to the current WHMCS ruleset.  Any future update of WHMCS that requires a change to the rewrite ruleset will be applied automatically during the update process.&lt;br /&gt;
&lt;br /&gt;
* If the environment is supported (A) and there is a .htaccess file (B), but it is not solely WHMCS content or there is no indication that WHMCS can manage its rules along side your custom rules (neither C or D), then Auto-Managed Rewrite is disabled and no further action will be taken.&lt;br /&gt;
&lt;br /&gt;
====Manual Management====&lt;br /&gt;
At any time you may enable or disable Auto-Managed Rewrite.  When this option is enabled, any new rules issued as part of a WHMCS update will be applied to the .htaccess file of the WHMCS root directory during the update process.  Your Auto-Managed Rewrite toggle selection is immediately saved on change.&lt;br /&gt;
&lt;br /&gt;
Manually enabling Auto-Managed Rewrite will not automatically reevaluate or synchronize the WHMCS ruleset.  Likewise, disabling Auto-Managed Rewrite will not inspect or alter the contents of .htaccess.&lt;br /&gt;
&lt;br /&gt;
When the Advanced Setting dialog is opened, if the current contents of .htaccess are not in-sync with the WHMCS ruleset, you will have a Synchronize option.  This option is provided regardless of the Auto-Managed Rewrite setting. To synchronize the ruleset, simply click the Synchronize button that is below the Auto-Managed Rewrite toggle.  Synchronization will occur immediately when this button is clicked.  &lt;br /&gt;
&lt;br /&gt;
When rules are applied to .htaccess, they are placed between comment markers that clearly indicate the beginning and end of the WHMCS ruleset.  If you require custom rulesets for other destinations within the WHMCS root directory, make sure that you place them before or after these comment markers.&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&amp;lt;i class=&amp;quot;fa fa-info-circle fa-fw&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;&amp;amp;nbsp; Compatibility with other rules in .htaccess will need to be determined and adjusted by your system administrative staff.  WHMCS cannot automatically detect compatibility with other rules. Furthermore, WHMCS Technical Support can only provided limited suggestions based on what WHMCS required to function as designed.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===WHMCS Rules===&lt;br /&gt;
A copy of the WHMCS ruleset for your current version of WHMCS is displayed for your inspection and application.  Some web environments provide alternative mechanisms for performing URI rewrites on inbound HTTP requests.  Your system administrative staff should be able to update your alternative web environment based on this information to fully utilize the Friendly URLs feature of WHMCS.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&amp;lt;i class=&amp;quot;fa fa-question-circle&amp;quot;&amp;gt;&amp;lt;/i&amp;gt; These .htaccess rules apply to WHMCS version 7.2 and above.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;source-cli&amp;quot;&amp;gt;&lt;br /&gt;
### BEGIN - WHMCS managed rules - DO NOT EDIT BETWEEN WHMCS MARKERS ###&lt;br /&gt;
&amp;lt;IfModule mod_rewrite.c&amp;gt;&lt;br /&gt;
RewriteEngine on&lt;br /&gt;
&lt;br /&gt;
# RewriteBase is set to &amp;quot;/&amp;quot; so rules do not need updating if the&lt;br /&gt;
# installation directory is relocated.  It is imperative that&lt;br /&gt;
# there is also a RewriteCond rule later that can effectively get&lt;br /&gt;
# the actual value by comparison against the request URI.&lt;br /&gt;
# &lt;br /&gt;
# If there are _any_ other RewriteBase directives in this file,&lt;br /&gt;
# the last entry will take precedence!&lt;br /&gt;
RewriteBase /&lt;br /&gt;
&lt;br /&gt;
# Redirect directories to an address with slash&lt;br /&gt;
RewriteCond %{REQUEST_FILENAME} -d&lt;br /&gt;
RewriteRule ^(.+[^/])$  $1/ [R]&lt;br /&gt;
&lt;br /&gt;
# Send all remaining (routable paths) through index.php&lt;br /&gt;
RewriteCond %{REQUEST_FILENAME} !-f&lt;br /&gt;
RewriteCond %{REQUEST_FILENAME} !-d&lt;br /&gt;
# Determine and use the actual base&lt;br /&gt;
RewriteCond $0#%{REQUEST_URI} ([^#]*)#(.*)\1$&lt;br /&gt;
RewriteRule ^.*$ %2index.php [QSA,L]&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
### END - WHMCS managed rules - DO NOT EDIT BETWEEN WHMCS MARKERS ###&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>DanR</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Friendly_URLs&amp;diff=29923</id>
		<title>Friendly URLs</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Friendly_URLs&amp;diff=29923"/>
				<updated>2021-01-15T15:25:48Z</updated>
		
		<summary type="html">&lt;p&gt;DanR: /* WHMCS Rules */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&amp;lt;i class=&amp;quot;fa fa-question-circle&amp;quot;&amp;gt;&amp;lt;/i&amp;gt; This page describes a feature available in version 7.2 and above&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Many functions and pages of WHMCS can be accessed through search engine friendly (SEF) URLs.  The capability of WHMCS to process such URIs is heavily dependent on the webserver environment.  WHMCS will perform an initial inspection of the environment and automatically configure the most optimal settings for your environment.&lt;br /&gt;
&lt;br /&gt;
There are several settings that will affect the WHMCS's behavior regarding SEF.  They are located at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; General Settings &amp;gt; General''' or, prior to WHMCS 8.0, '''Setup &amp;gt; General Settings &amp;gt; General'''.&lt;br /&gt;
&lt;br /&gt;
=Simple Mode Selection=&lt;br /&gt;
&lt;br /&gt;
Directly in the General Tab, next the the Friendly URLs label are two controls that can simplify the SEF mode that WHMCS will use.&lt;br /&gt;
&lt;br /&gt;
[[File:friendly_uri_setting.png|700px]]&lt;br /&gt;
&lt;br /&gt;
==URI Path Mode==&lt;br /&gt;
The URI path mode is used by WHMCS when constructing URIs, URLs, or relative paths in rendered output (ie. links on pages).&lt;br /&gt;
&lt;br /&gt;
There are three possible modes:&lt;br /&gt;
* '''Fully Friendly Rewrite''' - This option will generate highly systematic URLs, which are excellent for search engines and visitors alike.  The are completely decoupled from the file system.  This mode is only valid in environments that support Apache Mod_Rewrite behavior.  &lt;br /&gt;
** Example: ''&amp;lt;nowiki&amp;gt;http://awesome.host/knowledgebase&amp;lt;/nowiki&amp;gt;''&lt;br /&gt;
&lt;br /&gt;
* '''Friendly index.php''' - This option will generate systematic URLs but is coupled to the filesystem.  It is a good option for search engines and visitors if your environment does not support Apache Mod_Rewrite.  This mode is only valid in environments that support Apache AcceptPathInfo behavior.  &lt;br /&gt;
** Example: ''&amp;lt;nowiki&amp;gt;http://awesome.host/index.php/knowledgebase&amp;lt;/nowiki&amp;gt;''&lt;br /&gt;
&lt;br /&gt;
* '''Basic URLs''' - This option will generate URLs which are ubiquitously supported in all web environments.  Most search engine technologies are capable of moderate to advanced indexing when analyzing these types of URLs.  However some internet users find these URLs unattractive and cumbersome. &lt;br /&gt;
** Example: ''&amp;lt;nowiki&amp;gt;http://awesome.host/index.php?rp=/knowledgebase&amp;lt;/nowiki&amp;gt;''&lt;br /&gt;
&lt;br /&gt;
You can quickly change the URI path mode via the dynamic dropdown which lists all possible URI path mode options.  Your current mode setting will appear with a white background at the top of dynamic dropdown selection, as well as in the options list within a right-angle bracket denoting the selection.&lt;br /&gt;
&lt;br /&gt;
[[File:Friendly_Url_Simple_Mode_Select.png|280px]]&lt;br /&gt;
&lt;br /&gt;
The best option detected by WHMCS for your current environment will have a green background within options list.  All other options will have a blue background.  You may select and override the system's best detected suggestion at any time to facilitate the optimal experience for you WHMCS.  One such scenario would be if you WHMCS is running on a web server other than Apache, where URL rewrites are controlled at a server-level and cannot be accurately observed by applications. Another scenario might be if a customization prepares link paths relative to the current link path and not as absolute path to WHMCS or the website.&lt;br /&gt;
&lt;br /&gt;
When you select an option from the dynamic dropdown it will be saved automatically.  The current selection denotation will be updated as well as the status label.  If the selection is the same as what was detected as the best option, the status label will be green and read &amp;quot;System-Detected&amp;quot;, otherwise  it will be blue and read &amp;quot;Manual-Override&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Recheck Environment==&lt;br /&gt;
The recheck button, represented with a circular arrow icon, will perform an environment detection and immediately update your Friendly URLs settings to the optimal configuration.  If the Auto-Managed Rewrite setting is not enabled, and the system detects that modifications to your rewrite file (.htaccess) may occur during the optimization routine, you will be a prompted to enable it before any changes are applied.&lt;br /&gt;
&lt;br /&gt;
=Advanced Settings=&lt;br /&gt;
To the right of the URI Mode Selection and Recheck Button the is an Advanced Setting link which provides you more options and information so that you may manually optimizing your environment and WHMCS settings for Friendly URLs.&lt;br /&gt;
&lt;br /&gt;
==Path Mode==&lt;br /&gt;
The Path Mode management tab of Advanced Settings allows you to manually override the system-detected URI Path Mode and shows which modes are known to be support by your environment.&lt;br /&gt;
&lt;br /&gt;
[[File:UriPathModeMgmt.png|550px]]&lt;br /&gt;
&lt;br /&gt;
The settings provided here perform the same result as the Simple Mode Selection but with more explicit control.  Notably, you may enable the manual override option while selecting a URI Path Mode that is the same as the system detected value.&lt;br /&gt;
&lt;br /&gt;
Setting are automatically saved on change.&lt;br /&gt;
&lt;br /&gt;
==Rewrite File==&lt;br /&gt;
The Rewrite File management tab of Advanced Settings allows you to manually select how WHMCS should control the rewrite file (.htaccess) as well as a copy of the WHMCS rewrite rules.  Rewrite rules are used to alter inbound HTTP requests so that the application can effectively process Friendly URLs&lt;br /&gt;
&lt;br /&gt;
[[File:UriMgmtRewriteRuleTab.png|550px]]&lt;br /&gt;
&lt;br /&gt;
===Rewrite File Management===&lt;br /&gt;
====Initial Evaluation====&lt;br /&gt;
Upon installation (or upgrade to v7.2), WHMCS will perform an evaluation of your current environment.  This evaluation will inspect the following:&lt;br /&gt;
&lt;br /&gt;
A. Does the current environment support Apache Mod_Rewrite?&lt;br /&gt;
&lt;br /&gt;
B. Is there an .htaccess file within the WHMCS root directory?&lt;br /&gt;
&lt;br /&gt;
C. If there is an .htaccess file, are the contents identical to the suggested ruleset provided in htaccess.txt of previous WHMCS releases?&lt;br /&gt;
&lt;br /&gt;
D. If there is an .htaccess file, and it is not identical to previous releases' ruleset suggestions, do the contents contain the WHMCS comment marks indicating WHMCS has leveraged this file in the past?&lt;br /&gt;
&lt;br /&gt;
After the evaluation, one of the following will occur:&lt;br /&gt;
&lt;br /&gt;
* If the current environment is not supported (not A), then Auto-Managed Rewrite is disabled and and no further action will be taken.&lt;br /&gt;
&lt;br /&gt;
* If the environment is supported (A) and a .htaccess file does exist (not B), Auto-Managed Rewrite will be enabled and a fresh .htaccess file will be created with the latest WHMCS rewrite ruleset.  Any future update of WHMCS that requires a change to the rewrite ruleset will be applied automatically during the update process.&lt;br /&gt;
&lt;br /&gt;
* If the environment is supported (A) and there is an .htaccess file (B), only if the contents are solely WHMCS content (C) or the WHMCS ruleset has been managed by WHMCS automation along with your own custom rules (D) will Auto-Managed Rewrite be enabled.  The current .htaccess file will be updated to the current WHMCS ruleset.  Any future update of WHMCS that requires a change to the rewrite ruleset will be applied automatically during the update process.&lt;br /&gt;
&lt;br /&gt;
* If the environment is supported (A) and there is a .htaccess file (B), but it is not solely WHMCS content or there is no indication that WHMCS can manage its rules along side your custom rules (neither C or D), then Auto-Managed Rewrite is disabled and no further action will be taken.&lt;br /&gt;
&lt;br /&gt;
====Manual Management====&lt;br /&gt;
At any time you may enable or disable Auto-Managed Rewrite.  When this option is enabled, any new rules issued as part of a WHMCS update will be applied to the .htaccess file of the WHMCS root directory during the update process.  Your Auto-Managed Rewrite toggle selection is immediately saved on change.&lt;br /&gt;
&lt;br /&gt;
Manually enabling Auto-Managed Rewrite will not automatically reevaluate or synchronize the WHMCS ruleset.  Likewise, disabling Auto-Managed Rewrite will not inspect or alter the contents of .htaccess.&lt;br /&gt;
&lt;br /&gt;
When the Advanced Setting dialog is opened, if the current contents of .htaccess are not in-sync with the WHMCS ruleset, you will have a Synchronize option.  This option is provided regardless of the Auto-Managed Rewrite setting. To synchronize the ruleset, simply click the Synchronize button that is below the Auto-Managed Rewrite toggle.  Synchronization will occur immediately when this button is clicked.  &lt;br /&gt;
&lt;br /&gt;
When rules are applied to .htaccess, they are placed between comment markers that clearly indicate the beginning and end of the WHMCS ruleset.  If you require custom rulesets for other destinations within the WHMCS root directory, make sure that you place them before or after these comment markers.&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&amp;lt;i class=&amp;quot;fa fa-info-circle fa-fw&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;&amp;amp;nbsp; Compatibility with other rules in .htaccess will need to be determined and adjusted by your system administrative staff.  WHMCS cannot automatically detect compatibility with other rules. Furthermore, WHMCS Technical Support can only provided limited suggestions based on what WHMCS required to function as designed.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===WHMCS Rules===&lt;br /&gt;
A copy of the WHMCS ruleset for your current version of WHMCS is displayed for your inspection and application.  Some web environments provide alternative mechanisms for performing URI rewrites on inbound HTTP requests.  Your system administrative staff should be able to update your alternative web environment based on this information to fully utilize the Friendly URLs feature of WHMCS.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&amp;lt;i class=&amp;quot;fa fa-question-circle&amp;quot;&amp;gt;&amp;lt;/i&amp;gt; These .htaccess rules apply to WHMCS version 7.2 and above.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
### BEGIN - WHMCS managed rules - DO NOT EDIT BETWEEN WHMCS MARKERS ###&lt;br /&gt;
&amp;lt;IfModule mod_rewrite.c&amp;gt;&lt;br /&gt;
RewriteEngine on&lt;br /&gt;
&lt;br /&gt;
# RewriteBase is set to &amp;quot;/&amp;quot; so rules do not need updating if the&lt;br /&gt;
# installation directory is relocated.  It is imperative that&lt;br /&gt;
# there is also a RewriteCond rule later that can effectively get&lt;br /&gt;
# the actual value by comparison against the request URI.&lt;br /&gt;
# &lt;br /&gt;
# If there are _any_ other RewriteBase directives in this file,&lt;br /&gt;
# the last entry will take precedence!&lt;br /&gt;
RewriteBase /&lt;br /&gt;
&lt;br /&gt;
# Redirect directories to an address with slash&lt;br /&gt;
RewriteCond %{REQUEST_FILENAME} -d&lt;br /&gt;
RewriteRule ^(.+[^/])$  $1/ [R]&lt;br /&gt;
&lt;br /&gt;
# Send all remaining (routable paths) through index.php&lt;br /&gt;
RewriteCond %{REQUEST_FILENAME} !-f&lt;br /&gt;
RewriteCond %{REQUEST_FILENAME} !-d&lt;br /&gt;
# Determine and use the actual base&lt;br /&gt;
RewriteCond $0#%{REQUEST_URI} ([^#]*)#(.*)\1$&lt;br /&gt;
RewriteRule ^.*$ %2index.php [QSA,L]&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
### END - WHMCS managed rules - DO NOT EDIT BETWEEN WHMCS MARKERS ###&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>DanR</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Friendly_URLs&amp;diff=29894</id>
		<title>Friendly URLs</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Friendly_URLs&amp;diff=29894"/>
				<updated>2021-01-11T19:13:56Z</updated>
		
		<summary type="html">&lt;p&gt;DanR: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&amp;lt;i class=&amp;quot;fa fa-question-circle&amp;quot;&amp;gt;&amp;lt;/i&amp;gt; This page describes a feature available in version 7.2 and above&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Many functions and pages of WHMCS can be accessed through search engine friendly (SEF) URLs.  The capability of WHMCS to process such URIs is heavily dependent on the webserver environment.  WHMCS will perform an initial inspection of the environment and automatically configure the most optimal settings for your environment.&lt;br /&gt;
&lt;br /&gt;
There are several settings that will affect the WHMCS's behavior regarding SEF.  They are located at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; General Settings &amp;gt; General''' or, prior to WHMCS 8.0, '''Setup &amp;gt; General Settings &amp;gt; General'''.&lt;br /&gt;
&lt;br /&gt;
=Simple Mode Selection=&lt;br /&gt;
&lt;br /&gt;
Directly in the General Tab, next the the Friendly URLs label are two controls that can simplify the SEF mode that WHMCS will use.&lt;br /&gt;
&lt;br /&gt;
[[File:friendly_uri_setting.png|700px]]&lt;br /&gt;
&lt;br /&gt;
==URI Path Mode==&lt;br /&gt;
The URI path mode is used by WHMCS when constructing URIs, URLs, or relative paths in rendered output (ie. links on pages).&lt;br /&gt;
&lt;br /&gt;
There are three possible modes:&lt;br /&gt;
* '''Fully Friendly Rewrite''' - This option will generate highly systematic URLs, which are excellent for search engines and visitors alike.  The are completely decoupled from the file system.  This mode is only valid in environments that support Apache Mod_Rewrite behavior.  &lt;br /&gt;
** Example: ''&amp;lt;nowiki&amp;gt;http://awesome.host/knowledgebase&amp;lt;/nowiki&amp;gt;''&lt;br /&gt;
&lt;br /&gt;
* '''Friendly index.php''' - This option will generate systematic URLs but is coupled to the filesystem.  It is a good option for search engines and visitors if your environment does not support Apache Mod_Rewrite.  This mode is only valid in environments that support Apache AcceptPathInfo behavior.  &lt;br /&gt;
** Example: ''&amp;lt;nowiki&amp;gt;http://awesome.host/index.php/knowledgebase&amp;lt;/nowiki&amp;gt;''&lt;br /&gt;
&lt;br /&gt;
* '''Basic URLs''' - This option will generate URLs which are ubiquitously supported in all web environments.  Most search engine technologies are capable of moderate to advanced indexing when analyzing these types of URLs.  However some internet users find these URLs unattractive and cumbersome. &lt;br /&gt;
** Example: ''&amp;lt;nowiki&amp;gt;http://awesome.host/index.php?rp=/knowledgebase&amp;lt;/nowiki&amp;gt;''&lt;br /&gt;
&lt;br /&gt;
You can quickly change the URI path mode via the dynamic dropdown which lists all possible URI path mode options.  Your current mode setting will appear with a white background at the top of dynamic dropdown selection, as well as in the options list within a right-angle bracket denoting the selection.&lt;br /&gt;
&lt;br /&gt;
[[File:Friendly_Url_Simple_Mode_Select.png|280px]]&lt;br /&gt;
&lt;br /&gt;
The best option detected by WHMCS for your current environment will have a green background within options list.  All other options will have a blue background.  You may select and override the system's best detected suggestion at any time to facilitate the optimal experience for you WHMCS.  One such scenario would be if you WHMCS is running on a web server other than Apache, where URL rewrites are controlled at a server-level and cannot be accurately observed by applications. Another scenario might be if a customization prepares link paths relative to the current link path and not as absolute path to WHMCS or the website.&lt;br /&gt;
&lt;br /&gt;
When you select an option from the dynamic dropdown it will be saved automatically.  The current selection denotation will be updated as well as the status label.  If the selection is the same as what was detected as the best option, the status label will be green and read &amp;quot;System-Detected&amp;quot;, otherwise  it will be blue and read &amp;quot;Manual-Override&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Recheck Environment==&lt;br /&gt;
The recheck button, represented with a circular arrow icon, will perform an environment detection and immediately update your Friendly URLs settings to the optimal configuration.  If the Auto-Managed Rewrite setting is not enabled, and the system detects that modifications to your rewrite file (.htaccess) may occur during the optimization routine, you will be a prompted to enable it before any changes are applied.&lt;br /&gt;
&lt;br /&gt;
=Advanced Settings=&lt;br /&gt;
To the right of the URI Mode Selection and Recheck Button the is an Advanced Setting link which provides you more options and information so that you may manually optimizing your environment and WHMCS settings for Friendly URLs.&lt;br /&gt;
&lt;br /&gt;
==Path Mode==&lt;br /&gt;
The Path Mode management tab of Advanced Settings allows you to manually override the system-detected URI Path Mode and shows which modes are known to be support by your environment.&lt;br /&gt;
&lt;br /&gt;
[[File:UriPathModeMgmt.png|550px]]&lt;br /&gt;
&lt;br /&gt;
The settings provided here perform the same result as the Simple Mode Selection but with more explicit control.  Notably, you may enable the manual override option while selecting a URI Path Mode that is the same as the system detected value.&lt;br /&gt;
&lt;br /&gt;
Setting are automatically saved on change.&lt;br /&gt;
&lt;br /&gt;
==Rewrite File==&lt;br /&gt;
The Rewrite File management tab of Advanced Settings allows you to manually select how WHMCS should control the rewrite file (.htaccess) as well as a copy of the WHMCS rewrite rules.  Rewrite rules are used to alter inbound HTTP requests so that the application can effectively process Friendly URLs&lt;br /&gt;
&lt;br /&gt;
[[File:UriMgmtRewriteRuleTab.png|550px]]&lt;br /&gt;
&lt;br /&gt;
===Rewrite File Management===&lt;br /&gt;
====Initial Evaluation====&lt;br /&gt;
Upon installation (or upgrade to v7.2), WHMCS will perform an evaluation of your current environment.  This evaluation will inspect the following:&lt;br /&gt;
&lt;br /&gt;
A. Does the current environment support Apache Mod_Rewrite?&lt;br /&gt;
&lt;br /&gt;
B. Is there an .htaccess file within the WHMCS root directory?&lt;br /&gt;
&lt;br /&gt;
C. If there is an .htaccess file, are the contents identical to the suggested ruleset provided in htaccess.txt of previous WHMCS releases?&lt;br /&gt;
&lt;br /&gt;
D. If there is an .htaccess file, and it is not identical to previous releases' ruleset suggestions, do the contents contain the WHMCS comment marks indicating WHMCS has leveraged this file in the past?&lt;br /&gt;
&lt;br /&gt;
After the evaluation, one of the following will occur:&lt;br /&gt;
&lt;br /&gt;
* If the current environment is not supported (not A), then Auto-Managed Rewrite is disabled and and no further action will be taken.&lt;br /&gt;
&lt;br /&gt;
* If the environment is supported (A) and a .htaccess file does exist (not B), Auto-Managed Rewrite will be enabled and a fresh .htaccess file will be created with the latest WHMCS rewrite ruleset.  Any future update of WHMCS that requires a change to the rewrite ruleset will be applied automatically during the update process.&lt;br /&gt;
&lt;br /&gt;
* If the environment is supported (A) and there is an .htaccess file (B), only if the contents are solely WHMCS content (C) or the WHMCS ruleset has been managed by WHMCS automation along with your own custom rules (D) will Auto-Managed Rewrite be enabled.  The current .htaccess file will be updated to the current WHMCS ruleset.  Any future update of WHMCS that requires a change to the rewrite ruleset will be applied automatically during the update process.&lt;br /&gt;
&lt;br /&gt;
* If the environment is supported (A) and there is a .htaccess file (B), but it is not solely WHMCS content or there is no indication that WHMCS can manage its rules along side your custom rules (neither C or D), then Auto-Managed Rewrite is disabled and no further action will be taken.&lt;br /&gt;
&lt;br /&gt;
====Manual Management====&lt;br /&gt;
At any time you may enable or disable Auto-Managed Rewrite.  When this option is enabled, any new rules issued as part of a WHMCS update will be applied to the .htaccess file of the WHMCS root directory during the update process.  Your Auto-Managed Rewrite toggle selection is immediately saved on change.&lt;br /&gt;
&lt;br /&gt;
Manually enabling Auto-Managed Rewrite will not automatically reevaluate or synchronize the WHMCS ruleset.  Likewise, disabling Auto-Managed Rewrite will not inspect or alter the contents of .htaccess.&lt;br /&gt;
&lt;br /&gt;
When the Advanced Setting dialog is opened, if the current contents of .htaccess are not in-sync with the WHMCS ruleset, you will have a Synchronize option.  This option is provided regardless of the Auto-Managed Rewrite setting. To synchronize the ruleset, simply click the Synchronize button that is below the Auto-Managed Rewrite toggle.  Synchronization will occur immediately when this button is clicked.  &lt;br /&gt;
&lt;br /&gt;
When rules are applied to .htaccess, they are placed between comment markers that clearly indicate the beginning and end of the WHMCS ruleset.  If you require custom rulesets for other destinations within the WHMCS root directory, make sure that you place them before or after these comment markers.&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&amp;lt;i class=&amp;quot;fa fa-info-circle fa-fw&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;&amp;amp;nbsp; Compatibility with other rules in .htaccess will need to be determined and adjusted by your system administrative staff.  WHMCS cannot automatically detect compatibility with other rules. Furthermore, WHMCS Technical Support can only provided limited suggestions based on what WHMCS required to function as designed.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===WHMCS Rules===&lt;br /&gt;
A copy of the WHMCS ruleset for your current version of WHMCS is displayed for your inspection and application.  Some web environments provide alternative mechanisms for performing URI rewrites on inbound HTTP requests.  Your system administrative staff should be able to update your alternative web environment based on this information to fully utilize the Friendly URLs feature of WHMCS.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&amp;lt;i class=&amp;quot;fa fa-question-circle&amp;quot;&amp;gt;&amp;lt;/i&amp;gt; These .htaccess rules apply to WHMCS version 7.2 and above&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
### BEGIN - WHMCS managed rules - DO NOT EDIT BETWEEN WHMCS MARKERS ###&lt;br /&gt;
&amp;lt;IfModule mod_rewrite.c&amp;gt;&lt;br /&gt;
RewriteEngine on&lt;br /&gt;
&lt;br /&gt;
# RewriteBase is set to &amp;quot;/&amp;quot; so rules do not need updating if the&lt;br /&gt;
# installation directory is relocated.  It is imperative that&lt;br /&gt;
# there is also a RewriteCond rule later that can effectively get&lt;br /&gt;
# the actual value by comparison against the request URI.&lt;br /&gt;
# &lt;br /&gt;
# If there are _any_ other RewriteBase directives in this file,&lt;br /&gt;
# the last entry will take precedence!&lt;br /&gt;
RewriteBase /&lt;br /&gt;
&lt;br /&gt;
# Redirect directories to an address with slash&lt;br /&gt;
RewriteCond %{REQUEST_FILENAME} -d&lt;br /&gt;
RewriteRule ^(.+[^/])$  $1/ [R]&lt;br /&gt;
&lt;br /&gt;
# Send all remaining (routable paths) through index.php&lt;br /&gt;
RewriteCond %{REQUEST_FILENAME} !-f&lt;br /&gt;
RewriteCond %{REQUEST_FILENAME} !-d&lt;br /&gt;
# Determine and use the actual base&lt;br /&gt;
RewriteCond $0#%{REQUEST_URI} ([^#]*)#(.*)\1$&lt;br /&gt;
RewriteRule ^.*$ %2index.php [QSA,L]&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
### END - WHMCS managed rules - DO NOT EDIT BETWEEN WHMCS MARKERS ###&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>DanR</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Friendly_URLs&amp;diff=29893</id>
		<title>Friendly URLs</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Friendly_URLs&amp;diff=29893"/>
				<updated>2021-01-11T19:13:15Z</updated>
		
		<summary type="html">&lt;p&gt;DanR: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&amp;lt;i class=&amp;quot;fa fa-question-circle&amp;quot;&amp;gt;&amp;lt;/i&amp;gt; This page describes a feature available in version 7.2 and above&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Many functions and pages of WHMCS can be accessed through search engine friendly (SEF) URLs.  The capability of WHMCS to process such URIs is heavily dependent on the webserver environment.  WHMCS will perform an initial inspection of the environment and automatically configure the most optimal settings for your environment.&lt;br /&gt;
&lt;br /&gt;
There are several settings that will affect the WHMCS's behavior regarding SEF.  They are located at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; General Settings &amp;gt; General''' or, prior to WHMCS 8.0, '''Setup &amp;gt; General Settings &amp;gt; General'''.&lt;br /&gt;
&lt;br /&gt;
=Simple Mode Selection=&lt;br /&gt;
&lt;br /&gt;
Directly in the General Tab, next the the Friendly URLs label are two controls that can simplify the SEF mode that WHMCS will use.&lt;br /&gt;
&lt;br /&gt;
[[File:friendly_uri_setting.png|700px]]&lt;br /&gt;
&lt;br /&gt;
==URI Path Mode==&lt;br /&gt;
The URI path mode is used by WHMCS when constructing URIs, URLs, or relative paths in rendered output (ie. links on pages).&lt;br /&gt;
&lt;br /&gt;
There are three possible modes:&lt;br /&gt;
* '''Fully Friendly Rewrite''' - This option will generate highly systematic URLs, which are excellent for search engines and visitors alike.  The are completely decoupled from the file system.  This mode is only valid in environments that support Apache Mod_Rewrite behavior.  &lt;br /&gt;
** Example: ''&amp;lt;nowiki&amp;gt;http://awesome.host/knowledgebase&amp;lt;/nowiki&amp;gt;''&lt;br /&gt;
&lt;br /&gt;
* '''Friendly index.php''' - This option will generate systematic URLs but is coupled to the filesystem.  It is a good option for search engines and visitors if your environment does not support Apache Mod_Rewrite.  This mode is only valid in environments that support Apache AcceptPathInfo behavior.  &lt;br /&gt;
** Example: ''&amp;lt;nowiki&amp;gt;http://awesome.host/index.php/knowledgebase&amp;lt;/nowiki&amp;gt;''&lt;br /&gt;
&lt;br /&gt;
* '''Basic URLs''' - This option will generate URLs which are ubiquitously supported in all web environments.  Most search engine technologies are capable of moderate to advanced indexing when analyzing these types of URLs.  However some internet users find these URLs unattractive and cumbersome. &lt;br /&gt;
** Example: ''&amp;lt;nowiki&amp;gt;http://awesome.host/index.php?rp=/knowledgebase&amp;lt;/nowiki&amp;gt;''&lt;br /&gt;
&lt;br /&gt;
You can quickly change the URI path mode via the dynamic dropdown which lists all possible URI path mode options.  Your current mode setting will appear with a white background at the top of dynamic dropdown selection, as well as in the options list within a right-angle bracket denoting the selection.&lt;br /&gt;
&lt;br /&gt;
[[File:Friendly_Url_Simple_Mode_Select.png|280px]]&lt;br /&gt;
&lt;br /&gt;
The best option detected by WHMCS for your current environment will have a green background within options list.  All other options will have a blue background.  You may select and override the system's best detected suggestion at any time to facilitate the optimal experience for you WHMCS.  One such scenario would be if you WHMCS is running on a web server other than Apache, where URL rewrites are controlled at a server-level and cannot be accurately observed by applications. Another scenario might be if a customization prepares link paths relative to the current link path and not as absolute path to WHMCS or the website.&lt;br /&gt;
&lt;br /&gt;
When you select an option from the dynamic dropdown it will be saved automatically.  The current selection denotation will be updated as well as the status label.  If the selection is the same as what was detected as the best option, the status label will be green and read &amp;quot;System-Detected&amp;quot;, otherwise  it will be blue and read &amp;quot;Manual-Override&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Recheck Environment==&lt;br /&gt;
The recheck button, represented with a circular arrow icon, will perform an environment detection and immediately update your Friendly URLs settings to the optimal configuration.  If the Auto-Managed Rewrite setting is not enabled, and the system detects that modifications to your rewrite file (.htaccess) may occur during the optimization routine, you will be a prompted to enable it before any changes are applied.&lt;br /&gt;
&lt;br /&gt;
=Advanced Settings=&lt;br /&gt;
To the right of the URI Mode Selection and Recheck Button the is an Advanced Setting link which provides you more options and information so that you may manually optimizing your environment and WHMCS settings for Friendly URLs.&lt;br /&gt;
&lt;br /&gt;
==Path Mode==&lt;br /&gt;
The Path Mode management tab of Advanced Settings allows you to manually override the system-detected URI Path Mode and shows which modes are known to be support by your environment.&lt;br /&gt;
&lt;br /&gt;
[[File:UriPathModeMgmt.png|550px]]&lt;br /&gt;
&lt;br /&gt;
The settings provided here perform the same result as the Simple Mode Selection but with more explicit control.  Notably, you may enable the manual override option while selecting a URI Path Mode that is the same as the system detected value.&lt;br /&gt;
&lt;br /&gt;
Setting are automatically saved on change.&lt;br /&gt;
&lt;br /&gt;
==Rewrite File==&lt;br /&gt;
The Rewrite File management tab of Advanced Settings allows you to manually select how WHMCS should control the rewrite file (.htaccess) as well as a copy of the WHMCS rewrite rules.  Rewrite rules are used to alter inbound HTTP requests so that the application can effectively process Friendly URLs&lt;br /&gt;
&lt;br /&gt;
[[File:UriMgmtRewriteRuleTab.png|550px]]&lt;br /&gt;
&lt;br /&gt;
===Rewrite File Management===&lt;br /&gt;
====Initial Evaluation====&lt;br /&gt;
Upon installation (or upgrade to v7.2), WHMCS will perform an evaluation of your current environment.  This evaluation will inspect the following:&lt;br /&gt;
&lt;br /&gt;
A. Does the current environment support Apache Mod_Rewrite?&lt;br /&gt;
&lt;br /&gt;
B. Is there an .htaccess file within the WHMCS root directory?&lt;br /&gt;
&lt;br /&gt;
C. If there is an .htaccess file, are the contents identical to the suggested ruleset provided in htaccess.txt of previous WHMCS releases?&lt;br /&gt;
&lt;br /&gt;
D. If there is an .htaccess file, and it is not identical to previous releases' ruleset suggestions, do the contents contain the WHMCS comment marks indicating WHMCS has leveraged this file in the past?&lt;br /&gt;
&lt;br /&gt;
After the evaluation, one of the following will occur:&lt;br /&gt;
&lt;br /&gt;
* If the current environment is not supported (not A), then Auto-Managed Rewrite is disabled and and no further action will be taken.&lt;br /&gt;
&lt;br /&gt;
* If the environment is supported (A) and a .htaccess file does exist (not B), Auto-Managed Rewrite will be enabled and a fresh .htaccess file will be created with the latest WHMCS rewrite ruleset.  Any future update of WHMCS that requires a change to the rewrite ruleset will be applied automatically during the update process.&lt;br /&gt;
&lt;br /&gt;
* If the environment is supported (A) and there is an .htaccess file (B), only if the contents are solely WHMCS content (C) or the WHMCS ruleset has been managed by WHMCS automation along with your own custom rules (D) will Auto-Managed Rewrite be enabled.  The current .htaccess file will be updated to the current WHMCS ruleset.  Any future update of WHMCS that requires a change to the rewrite ruleset will be applied automatically during the update process.&lt;br /&gt;
&lt;br /&gt;
* If the environment is supported (A) and there is a .htaccess file (B), but it is not solely WHMCS content or there is no indication that WHMCS can manage its rules along side your custom rules (neither C or D), then Auto-Managed Rewrite is disabled and no further action will be taken.&lt;br /&gt;
&lt;br /&gt;
====Manual Management====&lt;br /&gt;
At any time you may enable or disable Auto-Managed Rewrite.  When this option is enabled, any new rules issued as part of a WHMCS update will be applied to the .htaccess file of the WHMCS root directory during the update process.  Your Auto-Managed Rewrite toggle selection is immediately saved on change.&lt;br /&gt;
&lt;br /&gt;
Manually enabling Auto-Managed Rewrite will not automatically reevaluate or synchronize the WHMCS ruleset.  Likewise, disabling Auto-Managed Rewrite will not inspect or alter the contents of .htaccess.&lt;br /&gt;
&lt;br /&gt;
When the Advanced Setting dialog is opened, if the current contents of .htaccess are not in-sync with the WHMCS ruleset, you will have a Synchronize option.  This option is provided regardless of the Auto-Managed Rewrite setting. To synchronize the ruleset, simply click the Synchronize button that is below the Auto-Managed Rewrite toggle.  Synchronization will occur immediately when this button is clicked.  &lt;br /&gt;
&lt;br /&gt;
When rules are applied to .htaccess, they are placed between comment markers that clearly indicate the beginning and end of the WHMCS ruleset.  If you require custom rulesets for other destinations within the WHMCS root directory, make sure that you place them before or after these comment markers.&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&amp;lt;i class=&amp;quot;fa fa-info-circle fa-fw&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;&amp;amp;nbsp; Compatibility with other rules in .htaccess will need to be determined and adjusted by your system administrative staff.  WHMCS cannot automatically detect compatibility with other rules. Furthermore, WHMCS Technical Support can only provided limited suggestions based on what WHMCS required to function as designed.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===WHMCS Rules===&lt;br /&gt;
A copy of the WHMCS ruleset for your current version of WHMCS is displayed for your inspection and application.  Some web environments provide alternative mechanisms for performing URI rewrites on inbound HTTP requests.  Your system administrative staff should be able to update your alternative web environment based on this information to fully utilize the Friendly URLs feature of WHMCS.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i class=&amp;quot;fa fa-question-circle&amp;quot;&amp;gt;&amp;lt;/i&amp;gt; These .htaccess rules apply to WHMCS version 7.2 and above&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
### BEGIN - WHMCS managed rules - DO NOT EDIT BETWEEN WHMCS MARKERS ###&lt;br /&gt;
&amp;lt;IfModule mod_rewrite.c&amp;gt;&lt;br /&gt;
RewriteEngine on&lt;br /&gt;
&lt;br /&gt;
# RewriteBase is set to &amp;quot;/&amp;quot; so rules do not need updating if the&lt;br /&gt;
# installation directory is relocated.  It is imperative that&lt;br /&gt;
# there is also a RewriteCond rule later that can effectively get&lt;br /&gt;
# the actual value by comparison against the request URI.&lt;br /&gt;
# &lt;br /&gt;
# If there are _any_ other RewriteBase directives in this file,&lt;br /&gt;
# the last entry will take precedence!&lt;br /&gt;
RewriteBase /&lt;br /&gt;
&lt;br /&gt;
# Redirect directories to an address with slash&lt;br /&gt;
RewriteCond %{REQUEST_FILENAME} -d&lt;br /&gt;
RewriteRule ^(.+[^/])$  $1/ [R]&lt;br /&gt;
&lt;br /&gt;
# Send all remaining (routable paths) through index.php&lt;br /&gt;
RewriteCond %{REQUEST_FILENAME} !-f&lt;br /&gt;
RewriteCond %{REQUEST_FILENAME} !-d&lt;br /&gt;
# Determine and use the actual base&lt;br /&gt;
RewriteCond $0#%{REQUEST_URI} ([^#]*)#(.*)\1$&lt;br /&gt;
RewriteRule ^.*$ %2index.php [QSA,L]&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
### END - WHMCS managed rules - DO NOT EDIT BETWEEN WHMCS MARKERS ###&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>DanR</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Friendly_URLs&amp;diff=29892</id>
		<title>Friendly URLs</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Friendly_URLs&amp;diff=29892"/>
				<updated>2021-01-11T18:13:44Z</updated>
		
		<summary type="html">&lt;p&gt;DanR: /* WHMCS Rules */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&amp;lt;i class=&amp;quot;fa fa-question-circle&amp;quot;&amp;gt;&amp;lt;/i&amp;gt; This page describes a feature available in version 7.2 and above&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Many functions and pages of WHMCS can be accessed through search engine friendly (SEF) URLs.  The capability of WHMCS to process such URIs is heavily dependent on the webserver environment.  WHMCS will perform an initial inspection of the environment and automatically configure the most optimal settings for your environment.&lt;br /&gt;
&lt;br /&gt;
There are several settings that will affect the WHMCS's behavior regarding SEF.  They are located at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; General Settings &amp;gt; General''' or, prior to WHMCS 8.0, '''Setup &amp;gt; General Settings &amp;gt; General'''.&lt;br /&gt;
&lt;br /&gt;
=Simple Mode Selection=&lt;br /&gt;
&lt;br /&gt;
Directly in the General Tab, next the the Friendly URLs label are two controls that can simplify the SEF mode that WHMCS will use.&lt;br /&gt;
&lt;br /&gt;
[[File:friendly_uri_setting.png|700px]]&lt;br /&gt;
&lt;br /&gt;
==URI Path Mode==&lt;br /&gt;
The URI path mode is used by WHMCS when constructing URIs, URLs, or relative paths in rendered output (ie. links on pages).&lt;br /&gt;
&lt;br /&gt;
There are three possible modes:&lt;br /&gt;
* '''Fully Friendly Rewrite''' - This option will generate highly systematic URLs, which are excellent for search engines and visitors alike.  The are completely decoupled from the file system.  This mode is only valid in environments that support Apache Mod_Rewrite behavior.  &lt;br /&gt;
** Example: ''&amp;lt;nowiki&amp;gt;http://awesome.host/knowledgebase&amp;lt;/nowiki&amp;gt;''&lt;br /&gt;
&lt;br /&gt;
* '''Friendly index.php''' - This option will generate systematic URLs but is coupled to the filesystem.  It is a good option for search engines and visitors if your environment does not support Apache Mod_Rewrite.  This mode is only valid in environments that support Apache AcceptPathInfo behavior.  &lt;br /&gt;
** Example: ''&amp;lt;nowiki&amp;gt;http://awesome.host/index.php/knowledgebase&amp;lt;/nowiki&amp;gt;''&lt;br /&gt;
&lt;br /&gt;
* '''Basic URLs''' - This option will generate URLs which are ubiquitously supported in all web environments.  Most search engine technologies are capable of moderate to advanced indexing when analyzing these types of URLs.  However some internet users find these URLs unattractive and cumbersome. &lt;br /&gt;
** Example: ''&amp;lt;nowiki&amp;gt;http://awesome.host/index.php?rp=/knowledgebase&amp;lt;/nowiki&amp;gt;''&lt;br /&gt;
&lt;br /&gt;
You can quickly change the URI path mode via the dynamic dropdown which lists all possible URI path mode options.  Your current mode setting will appear with a white background at the top of dynamic dropdown selection, as well as in the options list within a right-angle bracket denoting the selection.&lt;br /&gt;
&lt;br /&gt;
[[File:Friendly_Url_Simple_Mode_Select.png|280px]]&lt;br /&gt;
&lt;br /&gt;
The best option detected by WHMCS for your current environment will have a green background within options list.  All other options will have a blue background.  You may select and override the system's best detected suggestion at any time to facilitate the optimal experience for you WHMCS.  One such scenario would be if you WHMCS is running on a web server other than Apache, where URL rewrites are controlled at a server-level and cannot be accurately observed by applications. Another scenario might be if a customization prepares link paths relative to the current link path and not as absolute path to WHMCS or the website.&lt;br /&gt;
&lt;br /&gt;
When you select an option from the dynamic dropdown it will be saved automatically.  The current selection denotation will be updated as well as the status label.  If the selection is the same as what was detected as the best option, the status label will be green and read &amp;quot;System-Detected&amp;quot;, otherwise  it will be blue and read &amp;quot;Manual-Override&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Recheck Environment==&lt;br /&gt;
The recheck button, represented with a circular arrow icon, will perform an environment detection and immediately update your Friendly URLs settings to the optimal configuration.  If the Auto-Managed Rewrite setting is not enabled, and the system detects that modifications to your rewrite file (.htaccess) may occur during the optimization routine, you will be a prompted to enable it before any changes are applied.&lt;br /&gt;
&lt;br /&gt;
=Advanced Settings=&lt;br /&gt;
To the right of the URI Mode Selection and Recheck Button the is an Advanced Setting link which provides you more options and information so that you may manually optimizing your environment and WHMCS settings for Friendly URLs.&lt;br /&gt;
&lt;br /&gt;
==Path Mode==&lt;br /&gt;
The Path Mode management tab of Advanced Settings allows you to manually override the system-detected URI Path Mode and shows which modes are known to be support by your environment.&lt;br /&gt;
&lt;br /&gt;
[[File:UriPathModeMgmt.png|550px]]&lt;br /&gt;
&lt;br /&gt;
The settings provided here perform the same result as the Simple Mode Selection but with more explicit control.  Notably, you may enable the manual override option while selecting a URI Path Mode that is the same as the system detected value.&lt;br /&gt;
&lt;br /&gt;
Setting are automatically saved on change.&lt;br /&gt;
&lt;br /&gt;
==Rewrite File==&lt;br /&gt;
The Rewrite File management tab of Advanced Settings allows you to manually select how WHMCS should control the rewrite file (.htaccess) as well as a copy of the WHMCS rewrite rules.  Rewrite rules are used to alter inbound HTTP requests so that the application can effectively process Friendly URLs&lt;br /&gt;
&lt;br /&gt;
[[File:UriMgmtRewriteRuleTab.png|550px]]&lt;br /&gt;
&lt;br /&gt;
===Rewrite File Management===&lt;br /&gt;
====Initial Evaluation====&lt;br /&gt;
Upon installation (or upgrade to v7.2), WHMCS will perform an evaluation of your current environment.  This evaluation will inspect the following:&lt;br /&gt;
&lt;br /&gt;
A. Does the current environment support Apache Mod_Rewrite?&lt;br /&gt;
&lt;br /&gt;
B. Is there an .htaccess file within the WHMCS root directory?&lt;br /&gt;
&lt;br /&gt;
C. If there is an .htaccess file, are the contents identical to the suggested ruleset provided in htaccess.txt of previous WHMCS releases?&lt;br /&gt;
&lt;br /&gt;
D. If there is an .htaccess file, and it is not identical to previous releases' ruleset suggestions, do the contents contain the WHMCS comment marks indicating WHMCS has leveraged this file in the past?&lt;br /&gt;
&lt;br /&gt;
After the evaluation, one of the following will occur:&lt;br /&gt;
&lt;br /&gt;
* If the current environment is not supported (not A), then Auto-Managed Rewrite is disabled and and no further action will be taken.&lt;br /&gt;
&lt;br /&gt;
* If the environment is supported (A) and a .htaccess file does exist (not B), Auto-Managed Rewrite will be enabled and a fresh .htaccess file will be created with the latest WHMCS rewrite ruleset.  Any future update of WHMCS that requires a change to the rewrite ruleset will be applied automatically during the update process.&lt;br /&gt;
&lt;br /&gt;
* If the environment is supported (A) and there is an .htaccess file (B), only if the contents are solely WHMCS content (C) or the WHMCS ruleset has been managed by WHMCS automation along with your own custom rules (D) will Auto-Managed Rewrite be enabled.  The current .htaccess file will be updated to the current WHMCS ruleset.  Any future update of WHMCS that requires a change to the rewrite ruleset will be applied automatically during the update process.&lt;br /&gt;
&lt;br /&gt;
* If the environment is supported (A) and there is a .htaccess file (B), but it is not solely WHMCS content or there is no indication that WHMCS can manage its rules along side your custom rules (neither C or D), then Auto-Managed Rewrite is disabled and no further action will be taken.&lt;br /&gt;
&lt;br /&gt;
====Manual Management====&lt;br /&gt;
At any time you may enable or disable Auto-Managed Rewrite.  When this option is enabled, any new rules issued as part of a WHMCS update will be applied to the .htaccess file of the WHMCS root directory during the update process.  Your Auto-Managed Rewrite toggle selection is immediately saved on change.&lt;br /&gt;
&lt;br /&gt;
Manually enabling Auto-Managed Rewrite will not automatically reevaluate or synchronize the WHMCS ruleset.  Likewise, disabling Auto-Managed Rewrite will not inspect or alter the contents of .htaccess.&lt;br /&gt;
&lt;br /&gt;
When the Advanced Setting dialog is opened, if the current contents of .htaccess are not in-sync with the WHMCS ruleset, you will have a Synchronize option.  This option is provided regardless of the Auto-Managed Rewrite setting. To synchronize the ruleset, simply click the Synchronize button that is below the Auto-Managed Rewrite toggle.  Synchronization will occur immediately when this button is clicked.  &lt;br /&gt;
&lt;br /&gt;
When rules are applied to .htaccess, they are placed between comment markers that clearly indicate the beginning and end of the WHMCS ruleset.  If you require custom rulesets for other destinations within the WHMCS root directory, make sure that you place them before or after these comment markers.&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&amp;lt;i class=&amp;quot;fa fa-info-circle fa-fw&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;&amp;amp;nbsp; Compatibility with other rules in .htaccess will need to be determined and adjusted by your system administrative staff.  WHMCS cannot automatically detect compatibility with other rules. Furthermore, WHMCS Technical Support can only provided limited suggestions based on what WHMCS required to function as designed.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===WHMCS Rules===&lt;br /&gt;
A copy of the WHMCS ruleset for your current version of WHMCS is displayed for your inspection and application.  Some web environments provide alternative mechanisms for performing URI rewrites on inbound HTTP requests.  Your system administrative staff should be able to update your alternative web environment based on this information to fully utilize the Friendly URLs feature of WHMCS.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
### BEGIN - WHMCS managed rules - DO NOT EDIT BETWEEN WHMCS MARKERS ###&lt;br /&gt;
&amp;lt;IfModule mod_rewrite.c&amp;gt;&lt;br /&gt;
RewriteEngine on&lt;br /&gt;
&lt;br /&gt;
# RewriteBase is set to &amp;quot;/&amp;quot; so rules do not need updating if the&lt;br /&gt;
# installation directory is relocated.  It is imperative that&lt;br /&gt;
# there is also a RewriteCond rule later that can effectively get&lt;br /&gt;
# the actual value by comparison against the request URI.&lt;br /&gt;
# &lt;br /&gt;
# If there are _any_ other RewriteBase directives in this file,&lt;br /&gt;
# the last entry will take precedence!&lt;br /&gt;
RewriteBase /&lt;br /&gt;
&lt;br /&gt;
# Redirect directories to an address with slash&lt;br /&gt;
RewriteCond %{REQUEST_FILENAME} -d&lt;br /&gt;
RewriteRule ^(.+[^/])$  $1/ [R]&lt;br /&gt;
&lt;br /&gt;
# Send all remaining (routable paths) through index.php&lt;br /&gt;
RewriteCond %{REQUEST_FILENAME} !-f&lt;br /&gt;
RewriteCond %{REQUEST_FILENAME} !-d&lt;br /&gt;
# Determine and use the actual base&lt;br /&gt;
RewriteCond $0#%{REQUEST_URI} ([^#]*)#(.*)\1$&lt;br /&gt;
RewriteRule ^.*$ %2index.php [QSA,L]&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
### END - WHMCS managed rules - DO NOT EDIT BETWEEN WHMCS MARKERS ###&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>DanR</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=System_Health_Status&amp;diff=29891</id>
		<title>System Health Status</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=System_Health_Status&amp;diff=29891"/>
				<updated>2021-01-11T18:06:09Z</updated>
		
		<summary type="html">&lt;p&gt;DanR: /* The Checks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The '''System Health Status''' page provides an overview of the WHMCS installation and system environment status. This can be found under '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Health''' &lt;br /&gt;
&lt;br /&gt;
It will highlight any potential configuration or security related issues that may need your attention.&lt;br /&gt;
&lt;br /&gt;
It also allows you to check if any updates are available for your currently installed WHMCS version, as well as providing quick and easy access to the Changelog and Release Notes for it.&lt;br /&gt;
&lt;br /&gt;
==The Checks==&lt;br /&gt;
&lt;br /&gt;
[[File:SystemHealthStatusPage.png|thumb|System Health Status Page]]An overview of the checks performed and the purpose of each is provided below.&lt;br /&gt;
&lt;br /&gt;
'''System Cron Tasks'''&lt;br /&gt;
&lt;br /&gt;
Checks that the system cron has run to completion within the last 24 hours.  If this reports a failure, it indicates that either the cron is not running (invalid cron command, file permissions, cron folder path, etc.) or that the cron is failing to complete successfully.&lt;br /&gt;
&lt;br /&gt;
If this check reports a problem, you should begin by checking your cron command configuration and the activity log within WHMCS. Further helpful documentation regarding this check can be found [https://help.whmcs.com/m/troubleshooting/l/757222-resolving-attention-items-on-the-system-health-status-page#system_cron_tasks here]&lt;br /&gt;
&lt;br /&gt;
For further assistance, please contact our support team.&lt;br /&gt;
&lt;br /&gt;
'''Cron PHP Version Mismatch'''&lt;br /&gt;
&lt;br /&gt;
Many server configurations utilize a separate php.ini file in the command line or cron engine than the web server uses. This can sometimes cause issues when different configurations are used in two places.&lt;br /&gt;
&lt;br /&gt;
This warning identifies if automation tasks are being executed under different PHP versions to that being used to visit the admin area via a browser.&lt;br /&gt;
&lt;br /&gt;
Please [https://help.whmcs.com/m/automation/l/969680-identifying-the-php-ini-used-for-in-command-line-cron-engine review this guide] for step-by-step instructions to resolve this situation on a stock cPanel server.&lt;br /&gt;
&lt;br /&gt;
Otherwise contact your server admin/hosting provider for assistance.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&lt;br /&gt;
The result of this check are cached so the warning may not disappear immediately after making the necessary changes to resolve the issue and will only update after the Daily Cron tasks have been executed.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Insecure Permissions Check'''&lt;br /&gt;
&lt;br /&gt;
Ensures that key files and directories have appropriate permissions. Will alert you to ownership mismatches and/or permission levels that are higher than required for day-to-day operation of the system.&lt;br /&gt;
&lt;br /&gt;
Please see this [https://help.whmcs.com/m/troubleshooting/l/757222-resolving-attention-items-on-the-system-health-status-page#permissions_check help guide] for more information. &lt;br /&gt;
&lt;br /&gt;
'''Required PHP Extensions'''&lt;br /&gt;
&lt;br /&gt;
Checks for any PHP extensions required by WHMCS to operate and will alert you to any that are missing.  Should any be reported as missing, you should recompile PHP with the missing extensions included, as detailed [https://help.whmcs.com/m/troubleshooting/l/757222-resolving-attention-items-on-the-system-health-status-page#required_php_extensions here]&lt;br /&gt;
&lt;br /&gt;
'''Recommended PHP Extensions'''&lt;br /&gt;
&lt;br /&gt;
Checks for the presence of recommended PHP extensions. While not strictly required, this will alert you to any extensions which are not available in your environment that are either required by certain addons/modules or that can help provide improved performance. Detailed in our help guide [https://help.whmcs.com/m/troubleshooting/l/690502-resolving-warnings-on-the-system-health-status-page#recommended_php_extensions here] we recommend recompiling PHP with the missing extensions listed. &lt;br /&gt;
&lt;br /&gt;
'''Required PHP Functions'''&lt;br /&gt;
&lt;br /&gt;
Checks for any PHP functions that are required for WHMCS to operate and will alert you to any that are disabled. If you see any functions reported here, you should check for the presence of them in the ''php.ini'' configuration file '''disable_functions''' setting and remove them.&lt;br /&gt;
&lt;br /&gt;
'''PHP Memory Limit'''&lt;br /&gt;
&lt;br /&gt;
Checks the memory limit setting in your PHP environment and will alert you when it is too low. Will alert you by way of a failure level alert when below the minimum required value and a warning level alert when above the minimum but below the recommended value. For more details on the required memory limit, please refer to the [[System Requirements]] page.&lt;br /&gt;
&lt;br /&gt;
'''Error Reporting'''&lt;br /&gt;
&lt;br /&gt;
Alerts you if error reporting is enabled in your environment. While useful for development and debugging situations, in production, we strongly recommend having error reporting disabled for security reasons. &lt;br /&gt;
&lt;br /&gt;
'''PHP Error Levels'''&lt;br /&gt;
&lt;br /&gt;
Alerts you if the error reporting level is set to a very high level. We recommend only logging certain error types, as detailed [https://help.whmcs.com/m/troubleshooting/l/757222-resolving-attention-items-on-the-system-health-status-page#display_errors here]&lt;br /&gt;
&lt;br /&gt;
'''PHP Version'''&lt;br /&gt;
&lt;br /&gt;
Checks your PHP Version. Will alert you if your current PHP version has reached End of Life and is no longer supported by the PHP Group.&lt;br /&gt;
&lt;br /&gt;
'''Customising Default Paths'''&lt;br /&gt;
&lt;br /&gt;
Checks for the existance of custom directory paths. You can customise some of the default directory paths in WHMCS to make it more difficult for malicious users to find them. This check will alert you if any directories that support customisation have not been customised. Please see  [https://help.whmcs.com/m/troubleshooting/l/690502-resolving-warnings-on-the-system-health-status-page#custom_templates this] helpful documentation about this. &lt;br /&gt;
&lt;br /&gt;
'''Using Default Templates'''&lt;br /&gt;
&lt;br /&gt;
Alerts you if any template settings are set to a template of a default name which could be an indication of customisations having been made to a default template. This can result in customisations being lost at the time of the next upgrade. Please see  [https://help.whmcs.com/m/troubleshooting/l/690502-resolving-warnings-on-the-system-health-status-page#custom_templates this] helpful documentation about this. &lt;br /&gt;
&lt;br /&gt;
'''Installed cURL Version'''&lt;br /&gt;
&lt;br /&gt;
Checks the installed curl version and alerts you if your version is known to have any vulnerabilities. More information available [https://help.whmcs.com/m/troubleshooting/l/690502-resolving-warnings-on-the-system-health-status-page#curl_tls_openssl_version_warnings here]&lt;br /&gt;
&lt;br /&gt;
'''SSL Support in cURL'''&lt;br /&gt;
&lt;br /&gt;
Checks to ensure that the curl library present in the PHP environment has SSL support which is required for normal WHMCS operation and many of the modules which come with WHMCS.&lt;br /&gt;
&lt;br /&gt;
'''PHP Session Support'''&lt;br /&gt;
&lt;br /&gt;
Alerts you to any issues with the PHP Session configuration in your PHP environment, please see both [https://help.whmcs.com/m/troubleshooting/l/690502-resolving-warnings-on-the-system-health-status-page#the_php_session_save_path_is_not_writeable this] documentation and [https://help.whmcs.com/m/troubleshooting/l/690502-resolving-warnings-on-the-system-health-status-page#the_php_session_save_path_is_not_writeable this] for more information. &lt;br /&gt;
&lt;br /&gt;
'''Secure TLS Support in cURL'''&lt;br /&gt;
&lt;br /&gt;
Checks to ensure that the curl library present in the PHP environment supports secure TLS versions (TLS v1.1 and v1.2). With many payment vendors phasing out legacy SSL/TLS protocols in accordance with PCI DSS recommendations, this check will help to stay up to date with newer standards.&lt;/div&gt;</summary>
		<author><name>DanR</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Stripe_ACH&amp;diff=29890</id>
		<title>Stripe ACH</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Stripe_ACH&amp;diff=29890"/>
				<updated>2021-01-11T17:58:41Z</updated>
		
		<summary type="html">&lt;p&gt;DanR: /* Getting Started */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&amp;lt;i class=&amp;quot;fa fa-question-circle&amp;quot;&amp;gt;&amp;lt;/i&amp;gt; This page describes a Payment Gateway Module in version 7.9 and above.&amp;lt;/div&amp;gt;&lt;br /&gt;
__TOC__ &lt;br /&gt;
{{gateways&lt;br /&gt;
| type = token&lt;br /&gt;
| recurring = yes&lt;br /&gt;
| onetime = yes&lt;br /&gt;
| refunds = yes&lt;br /&gt;
| deletecc = yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Getting Started==&lt;br /&gt;
&lt;br /&gt;
To activate and configure the Stripe ACH module for use, follow the steps below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;Plaid and Stripe have partnered in order to offer frictionless money transfers without the need to ever handle an account or routing number. Using Plaid allows you to instantly authenticate a customer's account and automatically generate a Stripe bank account token. The WHMCS Stripe ACH integration requires Plaid. If you do not have a Plaid account, you can sign up at https://dashboard.plaid.com/signup&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-warning&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;title&amp;quot;&amp;gt;Activate ACH at Stripe&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Before payments can be processed via Stripe ACH, it is necessary to activate ACH capabilities on your Stripe account. This guide demonstrates the process: https://plaid.com/docs/stripe/#step1&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Begin by logging into the [https://dashboard.plaid.com/team/integrations Plaid control panel] and navigate to ''Team Settings &amp;gt; Integrations''&lt;br /&gt;
# Click ''Enable'' next to the Stripe integration and follow the on-screen instructions through to completion&lt;br /&gt;
# Once Plaid and Stripe are successfully linked, login to your WHMCS Administration Area&lt;br /&gt;
# Navigate to '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; Payment Gateways''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Payments &amp;gt; Payment Gateways'''.&lt;br /&gt;
# Select the All Payment Gateways tab&lt;br /&gt;
# Locate '''Stripe ACH''' and click to activate it&lt;br /&gt;
# Stripe ACH uses API keys for authentication. Upon activation, you will be asked to enter the Secret and Publishable API Keys. If you currently have the [[Stripe]] gateway configured you can check the box for &amp;quot;Use Stripe Configuration&amp;quot; to use the same API keys as the existing [[Stripe]] gateway without needing to enter them again. &lt;br /&gt;
#* These can be found inside the Stripe portal at https://dashboard.stripe.com/account/apikeys [[File:Stripe ach gateway.png|thumb|Stripe ACH Configuration in WHMCS]]&lt;br /&gt;
# Do not enter a value for the Webhook Secret Key, it will be generated automatically.&lt;br /&gt;
# Stripe ACH uses Plaid to validate bank information entered by clients. You will need to enter your Plaid Client ID, Public Key and Secret&lt;br /&gt;
#* These can be found inside the Plaid portal at https://dashboard.plaid.com/account/keys&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;When using newer Plaid accounts, 'link_tokens' are provided instead of 'public_key', you will need to contact Plaid support and request public_key is enabled on your Plaid account if you are also using a version of WHMCS prior to 8.1.0.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
When using WHMCS 8.1.0+ no changes are required to the Plaid account.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Customise the Display Name as desired&lt;br /&gt;
# Customise the Statement Descriptor if desired (maximum of 22 characters)&lt;br /&gt;
# Click '''Save Changes''' to complete the setup process.&lt;br /&gt;
&lt;br /&gt;
Stripe ACH is now active and ready for use.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;'''Transaction Fees:''' Stripe returns transaction fees in the default currency of the Stripe account. If you have a different default currency in WHMCS, you must ensure you have configured the currency of your Stripe account in '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; Currencies''' or, prior to WHMCS 8.0, ''Setup &amp;gt; Payments &amp;gt; Currencies'' along with a valid exchange rate to allow WHMCS to be able to convert the fee into your other currencies.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Webhook Secret Key===&lt;br /&gt;
&lt;br /&gt;
The Stripe ACH module requires a valid Webhook and Secret Key in order for payments to be recognised and automatically applied to invoices.&lt;br /&gt;
&lt;br /&gt;
Should the Secret Key for the Webhook be modified at Stripe, this must be updated within the WHMCS Stripe ACH module configuration:&lt;br /&gt;
&lt;br /&gt;
* Login to your Stipe account, navigate to '''Developers &amp;gt; Webhooks page'''&lt;br /&gt;
* Click on the webhook for the ''stripe_ach.php'' URL (there should only be one)&lt;br /&gt;
*In the Signing Secret section click '''Click to reveal'''&lt;br /&gt;
*Copy the secret and login to the WHMCS Admin Area&lt;br /&gt;
*Navigate to the '''Manage Existing Gateways''' tab at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; Payment Gateways''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Payments &amp;gt; Payment Gateways'''.&lt;br /&gt;
*Paste the value into the '''Stripe ACH WebHook Endpoint Secret''' field.&lt;br /&gt;
*Click Save Changes&lt;br /&gt;
&lt;br /&gt;
Subsequent payment notifications will be passed to WHMCS successfully once again.&lt;br /&gt;
&lt;br /&gt;
==Payment Workflow==&lt;br /&gt;
&lt;br /&gt;
# Automated recurring and on-demand billing is supported.&lt;br /&gt;
# ACH Payments can take up to 5 days to process. The invoice will be placed in Payment Pending until the payment has cleared.&lt;br /&gt;
# When making a payment, customers are able to select to use a previously stored bank account or enter a new one.&lt;br /&gt;
# Customers never leave your WHMCS installation during checkout or adding/removing a new bank account.&lt;br /&gt;
# Personal bank information is submitted directly to Stripe/Plaid and is never stored in your local WHMCS installation.&lt;br /&gt;
# The Stripe API is used for refunds and obtaining transaction information.&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
===error===&lt;br /&gt;
A simple message '''error''' when attempting to make payment indicates invalid credentials or incomplete Plaid configuration. To resolve it, please check the following points:&lt;br /&gt;
&lt;br /&gt;
1. The Plaid Client Id, Public Key and Secret combination is being rejected.&lt;br /&gt;
&lt;br /&gt;
Ensure the API Keys have been correctly copied from your [https://dashboard.plaid.com/account/keys|Plaid account]  into WHMCS in the '''Manage Existing Gateways''' tab at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; Payment Gateways''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Payments &amp;gt; Payment Gateways'''.&lt;br /&gt;
&lt;br /&gt;
Please review the [[#Getting Started]] steps above to ensure all the configuration has been fully completed.&lt;br /&gt;
&lt;br /&gt;
2. The Sandbox/Development Secret is being used in a live move or vice versa. &lt;br /&gt;
Plaid issues individual Secrets for use with the Sandbox, Developer and Live environments. Ensure that the Plaid Secret entered correctly corresponds to the Plaid Environment setting.&lt;br /&gt;
&lt;br /&gt;
To use Plaid in production mode to process real payments:&lt;br /&gt;
* Login to your [https://dashboard.plaid.com/account/keys Plaid account], navigate to ''Team Settings &amp;gt; Keys''&lt;br /&gt;
* Copy the Production Secret&lt;br /&gt;
* In the WHMCS Admin, navigate to the '''Manage Existing Gateways''' tab at '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; Payment Gateways''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Payments &amp;gt; Payment Gateways'''.&lt;br /&gt;
* Use the ''Plaid Environment'' dropdown to select the '''Production''' option&lt;br /&gt;
* Paste it into the Plaid Secret field&lt;br /&gt;
* Click Save Changes&lt;br /&gt;
Please review the [[#Getting Started]] steps above to ensure all the configuration has been fully completed.&lt;br /&gt;
&lt;br /&gt;
3. The Stripe integration is not enabled in your Plaid account. &lt;br /&gt;
To use Stripe ACH, Plaid must be linked to your Stripe account.&lt;br /&gt;
&lt;br /&gt;
Follow these steps to activate the Stripe integration with your Plaid account: https://plaid.com/docs/stripe/#step1&lt;br /&gt;
Please review the [[#Getting Started]] steps above to ensure all the configuration has been fully completed.&lt;/div&gt;</summary>
		<author><name>DanR</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Support_Departments&amp;diff=29889</id>
		<title>Support Departments</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Support_Departments&amp;diff=29889"/>
				<updated>2021-01-11T17:53:52Z</updated>
		
		<summary type="html">&lt;p&gt;DanR: /* Creating Departments */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Departments==&lt;br /&gt;
&lt;br /&gt;
Support departments help you categorize tickets. The first step in the user ticket submission process is to choose a department. You can assign different staff to different departments with different people handling the different areas. Sales, Support, and Billing are common departments. For more information about the Support Ticket system, see [[Support Tickets]].&lt;br /&gt;
&lt;br /&gt;
==Creating Departments==&lt;br /&gt;
&lt;br /&gt;
To set up departments:&lt;br /&gt;
&lt;br /&gt;
# Go to '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; Support Departments''' ('''Setup &amp;gt; Support &amp;gt; Support Departments''' prior to WHMCS 8.0) and click '''Add New Department'''.&lt;br /&gt;
# Enter a '''Department Name''' and '''Description''' to display to users. The system will use the email address to send notifications relating to the ticket to users. Make this unique for each department.&lt;br /&gt;
# For '''Assigned Admin Users''', check the boxes for each admin who will have access to the tickets in this department.&lt;br /&gt;
# For '''Clients Only''', specify whether it's a clients-only department, which requires you to log in. For example, Sales would be a public department while you might set Support to clients-only.&lt;br /&gt;
# For '''Pipe Replies Only''', select whether to require users to log in to the Client Area to open new tickets. Attempts to open new tickets via email will fail, but users can still respond to tickets via email.&lt;br /&gt;
# For '''No Autoresponder''', check the box to prevent sending an autoresponder email when a new ticket opens&lt;br /&gt;
# For '''Feedback Request''', check the box to send an email request for a user to provide feedback for their support ticket experience. You can review the results of the feedback emails via the '''Ticket Feedback Scores''' and '''Ticket Feedback Comments''' reports.&lt;br /&gt;
# For '''Hidden''', check the box to hide the department. Users can only access hidden departments via a direct link.&lt;br /&gt;
# If you want to poll your mailserver using mail importing, enter the appropriate information at the bottom of the form. For more information, see [[Email Importing]] and [https://help.whmcs.com/m/support_tools/l/1328652-setting-up-pop3-importing-with-oauth-via-google Setting Up POP3 Importing with OAuth via Google].&lt;br /&gt;
# Click '''Add New Department'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-warning&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;title&amp;quot;&amp;gt;Re-using email addresses&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Using the same POP3 details on multiple support departments is not recommended and will likely cause duplicate tickets to be imported.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Custom Fields==&lt;br /&gt;
&lt;br /&gt;
After you create a department, you can create [[custom fields]] to display during ticket submission. Click '''Edit''' next to the department and go to the '''Custom Fields''' tab.&lt;br /&gt;
&lt;br /&gt;
==Email Piping and Importing==&lt;br /&gt;
&lt;br /&gt;
You can automatically send user emails into the ticket system as tickets and ticket replies. To do this, you will need to either pipe or import the email into WHMCS (email piping and email importing). &lt;br /&gt;
&lt;br /&gt;
* For more information about email piping, see [[Email Piping]].&lt;br /&gt;
* For more information about email importing, see [[Email Importing]].&lt;/div&gt;</summary>
		<author><name>DanR</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=System_Health_Status&amp;diff=29827</id>
		<title>System Health Status</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=System_Health_Status&amp;diff=29827"/>
				<updated>2020-12-30T20:50:01Z</updated>
		
		<summary type="html">&lt;p&gt;DanR: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The '''System Health Status''' page provides an overview of the WHMCS installation and system environment status. This can be found under '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Health''' &lt;br /&gt;
&lt;br /&gt;
It will highlight any potential configuration or security related issues that may need your attention.&lt;br /&gt;
&lt;br /&gt;
It also allows you to check if any updates are available for your currently installed WHMCS version, as well as providing quick and easy access to the Changelog and Release Notes for it.&lt;br /&gt;
&lt;br /&gt;
==The Checks==&lt;br /&gt;
&lt;br /&gt;
[[File:SystemHealthStatusPage.png|thumb|System Health Status Page]]An overview of the checks performed and the purpose of each is provided below.&lt;br /&gt;
&lt;br /&gt;
'''System Cron Tasks'''&lt;br /&gt;
&lt;br /&gt;
Checks that the system cron has run to completion within the last 24 hours.  If this reports a failure, it indicates that either the cron is not running (invalid cron command, file permissions, cron folder path, etc.) or that the cron is failing to complete successfully.&lt;br /&gt;
&lt;br /&gt;
If this check reports a problem, you should begin by checking your cron command configuration and the activity log within WHMCS. Further helpful documentation regarding this check can be found [https://help.whmcs.com/m/troubleshooting/l/757222-resolving-attention-items-on-the-system-health-status-page#system_cron_tasks here]&lt;br /&gt;
&lt;br /&gt;
For further assistance, please contact our support team.&lt;br /&gt;
&lt;br /&gt;
'''Cron PHP Version Mismatch'''&lt;br /&gt;
&lt;br /&gt;
Many server configurations utilize a separate php.ini file in the command line or cron engine than the web server uses. This can sometimes cause issues when different configurations are used in two places.&lt;br /&gt;
&lt;br /&gt;
This warning identifies if automation tasks are being executed under different PHP versions to that being used to visit the admin area via a browser.&lt;br /&gt;
&lt;br /&gt;
Please [https://help.whmcs.com/m/automation/l/969680-identifying-the-php-ini-used-for-in-command-line-cron-engine review this guide] for step-by-step instructions to resolve this situation on a stock cPanel server.&lt;br /&gt;
&lt;br /&gt;
Otherwise contact your server admin/hosting provider for assistance.&lt;br /&gt;
&lt;br /&gt;
'''Insecure Permissions Check'''&lt;br /&gt;
&lt;br /&gt;
Ensures that key files and directories have appropriate permissions. Will alert you to ownership mismatches and/or permission levels that are higher than required for day-to-day operation of the system.&lt;br /&gt;
&lt;br /&gt;
Please see this [https://help.whmcs.com/m/troubleshooting/l/757222-resolving-attention-items-on-the-system-health-status-page#permissions_check help guide] for more information. &lt;br /&gt;
&lt;br /&gt;
'''Required PHP Extensions'''&lt;br /&gt;
&lt;br /&gt;
Checks for any PHP extensions required by WHMCS to operate and will alert you to any that are missing.  Should any be reported as missing, you should recompile PHP with the missing extensions included, as detailed [https://help.whmcs.com/m/troubleshooting/l/757222-resolving-attention-items-on-the-system-health-status-page#required_php_extensions here]&lt;br /&gt;
&lt;br /&gt;
'''Recommended PHP Extensions'''&lt;br /&gt;
&lt;br /&gt;
Checks for the presence of recommended PHP extensions. While not strictly required, this will alert you to any extensions which are not available in your environment that are either required by certain addons/modules or that can help provide improved performance. Detailed in our help guide [https://help.whmcs.com/m/troubleshooting/l/690502-resolving-warnings-on-the-system-health-status-page#recommended_php_extensions here] we recommend recompiling PHP with the missing extensions listed. &lt;br /&gt;
&lt;br /&gt;
'''Required PHP Functions'''&lt;br /&gt;
&lt;br /&gt;
Checks for any PHP functions that are required for WHMCS to operate and will alert you to any that are disabled. If you see any functions reported here, you should check for the presence of them in the ''php.ini'' configuration file '''disable_functions''' setting and remove them.&lt;br /&gt;
&lt;br /&gt;
'''PHP Memory Limit'''&lt;br /&gt;
&lt;br /&gt;
Checks the memory limit setting in your PHP environment and will alert you when it is too low. Will alert you by way of a failure level alert when below the minimum required value and a warning level alert when above the minimum but below the recommended value. For more details on the required memory limit, please refer to the [[System Requirements]] page.&lt;br /&gt;
&lt;br /&gt;
'''Error Reporting'''&lt;br /&gt;
&lt;br /&gt;
Alerts you if error reporting is enabled in your environment. While useful for development and debugging situations, in production, we strongly recommend having error reporting disabled for security reasons. &lt;br /&gt;
&lt;br /&gt;
'''PHP Error Levels'''&lt;br /&gt;
&lt;br /&gt;
Alerts you if the error reporting level is set to a very high level. We recommend only logging certain error types, as detailed [https://help.whmcs.com/m/troubleshooting/l/757222-resolving-attention-items-on-the-system-health-status-page#display_errors here]&lt;br /&gt;
&lt;br /&gt;
'''PHP Version'''&lt;br /&gt;
&lt;br /&gt;
Checks your PHP Version. Will alert you if your current PHP version has reached End of Life and is no longer supported by the PHP Group.&lt;br /&gt;
&lt;br /&gt;
'''Customising Default Paths'''&lt;br /&gt;
&lt;br /&gt;
Checks for the existance of custom directory paths. You can customise some of the default directory paths in WHMCS to make it more difficult for malicious users to find them. This check will alert you if any directories that support customisation have not been customised. Please see  [https://help.whmcs.com/m/troubleshooting/l/690502-resolving-warnings-on-the-system-health-status-page#custom_templates this] helpful documentation about this. &lt;br /&gt;
&lt;br /&gt;
'''Using Default Templates'''&lt;br /&gt;
&lt;br /&gt;
Alerts you if any template settings are set to a template of a default name which could be an indication of customisations having been made to a default template. This can result in customisations being lost at the time of the next upgrade. Please see  [https://help.whmcs.com/m/troubleshooting/l/690502-resolving-warnings-on-the-system-health-status-page#custom_templates this] helpful documentation about this. &lt;br /&gt;
&lt;br /&gt;
'''Installed cURL Version'''&lt;br /&gt;
&lt;br /&gt;
Checks the installed curl version and alerts you if your version is known to have any vulnerabilities. More information available [https://help.whmcs.com/m/troubleshooting/l/690502-resolving-warnings-on-the-system-health-status-page#curl_tls_openssl_version_warnings here]&lt;br /&gt;
&lt;br /&gt;
'''SSL Support in cURL'''&lt;br /&gt;
&lt;br /&gt;
Checks to ensure that the curl library present in the PHP environment has SSL support which is required for normal WHMCS operation and many of the modules which come with WHMCS.&lt;br /&gt;
&lt;br /&gt;
'''PHP Session Support'''&lt;br /&gt;
&lt;br /&gt;
Alerts you to any issues with the PHP Session configuration in your PHP environment, please see both [https://help.whmcs.com/m/troubleshooting/l/690502-resolving-warnings-on-the-system-health-status-page#the_php_session_save_path_is_not_writeable this] documentation and [https://help.whmcs.com/m/troubleshooting/l/690502-resolving-warnings-on-the-system-health-status-page#the_php_session_save_path_is_not_writeable this] for more information. &lt;br /&gt;
&lt;br /&gt;
'''Secure TLS Support in cURL'''&lt;br /&gt;
&lt;br /&gt;
Checks to ensure that the curl library present in the PHP environment supports secure TLS versions (TLS v1.1 and v1.2). With many payment vendors phasing out legacy SSL/TLS protocols in accordance with PCI DSS recommendations, this check will help to stay up to date with newer standards.&lt;/div&gt;</summary>
		<author><name>DanR</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=File:SystemHealthStatusPage.png&amp;diff=29826</id>
		<title>File:SystemHealthStatusPage.png</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=File:SystemHealthStatusPage.png&amp;diff=29826"/>
				<updated>2020-12-30T20:46:45Z</updated>
		
		<summary type="html">&lt;p&gt;DanR: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>DanR</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Server_Sync_Tool&amp;diff=29825</id>
		<title>Server Sync Tool</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Server_Sync_Tool&amp;diff=29825"/>
				<updated>2020-12-30T19:35:45Z</updated>
		
		<summary type="html">&lt;p&gt;DanR: /* Choosing items to be Imported/Synced */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
&lt;br /&gt;
The server sync tool can be used to syncronise records within WHMCS with a remote web server or module.&lt;br /&gt;
&lt;br /&gt;
It allows you to easily identify and resolve discrepancies in the following contexts:&lt;br /&gt;
&lt;br /&gt;
* Accounts that exist on the remote system (typically a web server) but that do not exist within WHMCS&lt;br /&gt;
* Service records that are active within WHMCS but that do not exist on the remote system&lt;br /&gt;
* Service records that exist within WHMCS but have differing info to the remote system&lt;br /&gt;
&lt;br /&gt;
The sync tool has a 3 step process, first analysing accounts and providing you with an informative report that highlights any discrepancies, and giving you the opportunity to review and either resolve discrepancies manually, or have the tool automatically correct them for you.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;This tool has replaced the ''cPanel/WHM Import'' tool that could previously be found under the Utilities menu prior to WHMCS 7.8&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Performing a Sync==&lt;br /&gt;
&lt;br /&gt;
To perform a sync, follow the steps below.&lt;br /&gt;
&lt;br /&gt;
# Begin by navigating to '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; Servers''' or, prior to WHMCS 8.0, '''Setup &amp;gt; Products/Services &amp;gt; Servers'''.&lt;br /&gt;
# Click the ''Sync Accounts'' button for the server you wish to analyse. Note that this button will only appear for servers assigned to modules that support the Sync functionality. At the time of writing this includes: cPanel, Plesk and DirectAdmin modules.&lt;br /&gt;
# WHMCS will make an API call to the remote web server to fetch an up-to-date list of account records. This may take a few seconds.&lt;br /&gt;
# Upon completion, an analysis summary report will be displayed to you that looks something like the following.&lt;br /&gt;
&lt;br /&gt;
[[File:Server_sync_analyse.png|frame|800px]]&lt;br /&gt;
&lt;br /&gt;
From here you can review the discrepancies between the service records within WHMCS and the records on the remote system.&lt;br /&gt;
&lt;br /&gt;
The report UI is broken up into two columns. On the left is the data retrieved from the remote system, and on the right are the service record matches found within WHMCS. Any differences will be highlighted in red. Exact matches will be highlighted in green.&lt;br /&gt;
&lt;br /&gt;
The ID column within the WHMCS service record area of the UI provides a link to the manage service screen for those records. This can be used to jump to a service within WHMCS and make quick manual edits.&lt;br /&gt;
&lt;br /&gt;
===Choosing items to be Imported/Synced===&lt;br /&gt;
&lt;br /&gt;
The Import/Sync checkbox on the far right of the review table can be checked in order to have a service automatically updated by the Sync Tool.  There are 3 possible scenarios:&lt;br /&gt;
&lt;br /&gt;
# '''Partial Match''' - Service record exists in WHMCS but there are some discrepancies in data - checking the Import/Sync checkbox for a service like this will result in the service being modified to match the information returned from the remote system.  This can include updating any of the following: domain, primary IP, username, product, status and/or creation date.&lt;br /&gt;
# '''Missing within WHMCS''' - This occurs when an account exists on the remote system, but no matching service record can be found within WHMCS. Select the Import/Sync option for a record like this will result in a new service record being created. WHMCS will attempt to use an existing product if a match is found, otherwise it will create a new product also.&lt;br /&gt;
# '''Missing on Remote System''' - This occurs when a service record exists within WHMCS but not on the remote system. &lt;br /&gt;
'''''To Terminate the Service in WHMCS:''''' Selecting the Import/Sync option for a record like this will cause the service to be set to Terminated within WHMCS.&lt;br /&gt;
&lt;br /&gt;
'''''To Create the Service on the Server:''''' Go to the Service, ensure the details are set correctly and click the Create button to provision it again.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-warning&amp;quot;&amp;gt;Auto-imported services will be created under an existing client with a matching email address, or a newly created client where no existing match exists. Since most web server control panels do not track end customer details, we can usually import only an email address and other details must be populated manually. In cases where even an email address is not available, a placeholder email address of {domain}@example.com will be used for the client in WHMCS.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once you have made your selections of the accounts you wish to import/sync, click Continue. This will take you to a Review step.&lt;br /&gt;
&lt;br /&gt;
===Reviewing Import/Sync Items===&lt;br /&gt;
&lt;br /&gt;
After selecting the records you wish to sync on the Analyse step, you will be presented with a Review step as pictured below.&lt;br /&gt;
&lt;br /&gt;
[[File:Server_sync_review.png|frame|800px]]&lt;br /&gt;
&lt;br /&gt;
The review summary will be broken up into the 3 categories described above, making clear what actions are about to be performed for each of the records you selected.&lt;br /&gt;
&lt;br /&gt;
If you want to make any changes, hit the Back button located to the bottom left of the review screen.  Once you are happy, hit the Continue button to execute the Sync process.&lt;br /&gt;
&lt;br /&gt;
Upon completion, you will be presented with a summary of the sync process.  Further details indicating what records have been updated or changes will be available in the activity log. Navigate to '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Logs''' or, prior to WHMCS 8.0, '''Utilities &amp;gt; System &amp;gt; Activity Log''' to review it.&lt;/div&gt;</summary>
		<author><name>DanR</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=Marketgoo_via_WHMCS_MarketConnect&amp;diff=29819</id>
		<title>Marketgoo via WHMCS MarketConnect</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=Marketgoo_via_WHMCS_MarketConnect&amp;diff=29819"/>
				<updated>2020-12-29T18:16:29Z</updated>
		
		<summary type="html">&lt;p&gt;DanR: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MarketConnect}}&lt;br /&gt;
WHMCS MarketConnect allows you to resell marketgoo SEO services.&lt;br /&gt;
&lt;br /&gt;
==Supported Actions==&lt;br /&gt;
&lt;br /&gt;
* Automated provisioning of new Marketgoo accounts&lt;br /&gt;
* Single sign-on into the marketgoo SEO Dashboard from Client and Admin Areas&lt;br /&gt;
* Upsells/Promotions within the client area&lt;br /&gt;
* Automated Cancellation&lt;br /&gt;
&lt;br /&gt;
==Setup and Configuration==&lt;br /&gt;
&lt;br /&gt;
To activate and begin reselling marketgoo via WHMCS MarketConnect, simply navigate to Setup &amp;gt; MarketConnect within your WHMCS admin area and click the Activate button under the marketgoo product offering. &lt;br /&gt;
&lt;br /&gt;
==marketgoo Automation==&lt;br /&gt;
&lt;br /&gt;
When ordering marketgoo as a stand alone service or as an add-on to a Hosting or Reseller Account, WHMCS and MarketConnect fully automates the marketgoo provisioning process. This will start the marketgoo analysis process for the provided domain.&lt;br /&gt;
&lt;br /&gt;
==Admin Management Actions==&lt;br /&gt;
&lt;br /&gt;
For any marketgoo order, an Admin user is able to perform the following actions from the service management page:&lt;br /&gt;
&lt;br /&gt;
* '''Login to the marketgoo Dashboard''' - Clicking this button will perform single sign-on into the marketgoo dashboard for the given website.&lt;br /&gt;
&lt;br /&gt;
Single Sign-On to the marketgoo dashboard can also be accessed via the MarketConnect management page in '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; MarketConnect &amp;gt; marketgoo &amp;gt; Manage''' or, prior to WHMCS 8.0, '''Setup &amp;gt; MarketConnect &amp;gt; marketgoo &amp;gt; Manage'''&lt;br /&gt;
&lt;br /&gt;
[[File:MarketgooServiceManagement.png]]&lt;br /&gt;
&lt;br /&gt;
==Client Management Actions==&lt;br /&gt;
&lt;br /&gt;
When logged into the Client Area, if a customer has an active marketgoo service, they will be provided with a link to Single Sign-On into the marketgoo Dashboard from where they can manage and use the marketgoo service.&lt;br /&gt;
&lt;br /&gt;
==Client Area Promotions==&lt;br /&gt;
&lt;br /&gt;
MarketConnect supports showing marketgoo promotions on the client area homepage, shopping cart and when managing a web hosting product that does not have a marketgoo service attached to it.&lt;br /&gt;
&lt;br /&gt;
For more information, please refer to [[MarketConnect_Promotions_and_Upsells|MarketConnect Promotions and Upsells]].&lt;br /&gt;
&lt;br /&gt;
== Further Reading ==&lt;br /&gt;
For further help and information, please refer to our marketgoo Knowledgebase @ https://marketplace.whmcs.com/help/connect/kb/marketgoo&lt;/div&gt;</summary>
		<author><name>DanR</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=CodeGuard_via_WHMCS_MarketConnect&amp;diff=29818</id>
		<title>CodeGuard via WHMCS MarketConnect</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=CodeGuard_via_WHMCS_MarketConnect&amp;diff=29818"/>
				<updated>2020-12-29T18:16:14Z</updated>
		
		<summary type="html">&lt;p&gt;DanR: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MarketConnect}}&lt;br /&gt;
WHMCS MarketConnect allows you to resell CodeGuard Cloud Website Backup.&lt;br /&gt;
&lt;br /&gt;
==Supported Actions==&lt;br /&gt;
&lt;br /&gt;
* Automated Provisioning of CodeGuard Services&lt;br /&gt;
* Single Sign-On into CodeGuard Dashboard from Client and Admin Areas&lt;br /&gt;
* Upsells and Promotions within the Client Area&lt;br /&gt;
* Automated Cancellation&lt;br /&gt;
&lt;br /&gt;
==Setup and Configuration==&lt;br /&gt;
&lt;br /&gt;
To activate and begin reselling CodeGuard via WHMCS MarketConnect, go to '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[MarketConnect]]''' or, prior to WHMCS 8.0, '''Setup &amp;gt; MarketConnect''' within your WHMCS admin area. Click the '''Activate''' button under CodeGuard.&lt;br /&gt;
&lt;br /&gt;
==CodeGuard Automation==&lt;br /&gt;
&lt;br /&gt;
When ordering CodeGuard as an addon to a Hosting or Reseller Account, WHMCS and MarketConnect fully automate the CodeGuard provisioning process.  This includes automated provisioning of SFTP/FTP access credentials where possible.&lt;br /&gt;
&lt;br /&gt;
===SFTP/FTP Access===&lt;br /&gt;
&lt;br /&gt;
The CodeGuard service uses SFTP access to automatically back up your website.&lt;br /&gt;
&lt;br /&gt;
For all CodeGuard plans, the system provisions dedicated SFTP accounts for cPanel hosting accounts and supplies them to CodeGuard automatically. If the SFTP account creation fails, or, when tested, is unavailable, or when using DirectAdmin hosting accounts, the system creates and supplies a dedicated FTP account. For Plesk servers, the system uses the primary account login details.&lt;br /&gt;
&lt;br /&gt;
If the system can't provision SFTP or FTP access successfully, the welcome email for the customer contains instructions for the user detailing how to create their website backup manually within their CodeGuard account.&lt;br /&gt;
&lt;br /&gt;
==Admin Management Actions==&lt;br /&gt;
&lt;br /&gt;
For any CodeGuard order, an Admin user is able to perform the following actions from the service management page:&lt;br /&gt;
&lt;br /&gt;
* '''Login to CodeGuard Control Panel''' — Clicking this button will perform single sign-on into the CodeGuard dashboard for the given website.&lt;br /&gt;
&lt;br /&gt;
You can also access Single Sign-On to the CodeGuard dashboard via the MarketConnect management page in '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; [[MarketConnect]] &amp;gt; CodeGuard &amp;gt; Manage''' or, prior to WHMCS 8.0, '''Setup &amp;gt; MarketConnect &amp;gt; CodeGuard &amp;gt; Manage'''.&lt;br /&gt;
&lt;br /&gt;
==Client Management Actions==&lt;br /&gt;
&lt;br /&gt;
When logged in to the Client Area, if a customer has an active CodeGuard service, they will receive a link to access and manage their backups that will perform Single Sign-On and take them directly to the CodeGuard Control Panel.&lt;br /&gt;
&lt;br /&gt;
==Client Area Promotions==&lt;br /&gt;
&lt;br /&gt;
MarketConnect supports showing CodeGuard promotions in the client area homepage, sidebar, shopping cart and when managing a web hosting product that does not have a CodeGuard service attached to it.&lt;/div&gt;</summary>
		<author><name>DanR</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=SiteLock_VPN_via_MarketConnect&amp;diff=29817</id>
		<title>SiteLock VPN via MarketConnect</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=SiteLock_VPN_via_MarketConnect&amp;diff=29817"/>
				<updated>2020-12-29T18:15:57Z</updated>
		
		<summary type="html">&lt;p&gt;DanR: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MarketConnect}}&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&amp;lt;i class=&amp;quot;fa fa-info-circle&amp;quot;&amp;gt;&amp;lt;/i&amp;gt; This page describes a feature available in version 7.9 and above&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
WHMCS MarketConnect allows you to resell SiteLock VPN.&lt;br /&gt;
&lt;br /&gt;
==Supported Actions==&lt;br /&gt;
&lt;br /&gt;
* Automated Provisioning of new SiteLock VPN Accounts&lt;br /&gt;
* Single Sign-On into the SiteLock Management Dashboard from Client and Admin Areas&lt;br /&gt;
* Upsells/Promotions within the client area&lt;br /&gt;
* Automated Cancellation&lt;br /&gt;
&lt;br /&gt;
==Setup and Configuration==&lt;br /&gt;
&lt;br /&gt;
To activate and begin reselling SiteLock VPN via WHMCS MarketConnect, simply navigate to '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; MarketConnect''' or, prior to WHMCS 8.0, '''Setup &amp;gt; MarketConnect''' within your WHMCS admin area. Click the '''Activate''' button under the SiteLock VPN product offering.&lt;br /&gt;
&lt;br /&gt;
==SiteLock VPN Automation==&lt;br /&gt;
&lt;br /&gt;
When ordering SiteLock VPN, WHMCS and MarketConnect fully automates the VPN account setup process.&lt;br /&gt;
&lt;br /&gt;
==Admin Management Actions==&lt;br /&gt;
&lt;br /&gt;
For any SiteLock VPN order, an Admin user is able to perform the following actions:&lt;br /&gt;
&lt;br /&gt;
* '''Login to SiteLock VPN Control Panel''' - Clicking this button will perform single sign-on into the SiteLock Dashboard.&lt;br /&gt;
&lt;br /&gt;
[[File:Sitelock-vpn-admin-management-panel.png]]&lt;br /&gt;
&lt;br /&gt;
==Client Management Actions==&lt;br /&gt;
&lt;br /&gt;
When logged into the Client Area, if a customer has an active SiteLock VPN service, they will be provided with a panel allowing them to login to the SiteLock Dashboard to manage their VPN service. The SiteLock Dashboard allows for configuration and reset of their VPN access credentials, as well as downloading of the VPN clients.&lt;br /&gt;
&lt;br /&gt;
The SiteLock VPN panel is pictured below.&lt;br /&gt;
&lt;br /&gt;
[[File:sitelock-vpn-clientarea-manage.png]]&lt;br /&gt;
&lt;br /&gt;
==Client Area Promotions==&lt;br /&gt;
&lt;br /&gt;
MarketConnect supports showing a SiteLock VPN promotion (pictured below) on the client area homepage to users who do not currently have the SiteLock VPN service.&lt;br /&gt;
&lt;br /&gt;
[[File:sitelock-vpn-clientarea-promo.png]]&lt;/div&gt;</summary>
		<author><name>DanR</name></author>	</entry>

	<entry>
		<id>http://3.19.219.109/index.php?title=SiteLock_via_WHMCS_MarketConnect&amp;diff=29816</id>
		<title>SiteLock via WHMCS MarketConnect</title>
		<link rel="alternate" type="text/html" href="http://3.19.219.109/index.php?title=SiteLock_via_WHMCS_MarketConnect&amp;diff=29816"/>
				<updated>2020-12-29T18:15:33Z</updated>
		
		<summary type="html">&lt;p&gt;DanR: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MarketConnect}}&lt;br /&gt;
&amp;lt;div class=&amp;quot;docs-alert-info&amp;quot;&amp;gt;&amp;lt;i class=&amp;quot;fa fa-question-circle&amp;quot;&amp;gt;&amp;lt;/i&amp;gt; This page describes a feature available in version 7.5 and above&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
WHMCS MarketConnect allows you to resell SiteLock Website Security services.&lt;br /&gt;
&lt;br /&gt;
==Supported Actions==&lt;br /&gt;
&lt;br /&gt;
* Automated Provisioning of SiteLock services&lt;br /&gt;
* Single Sign-On into SiteLock Dashboard from Client and Admin Areas&lt;br /&gt;
* Upsells/Promotions within the client area&lt;br /&gt;
* Automated Cancellation&lt;br /&gt;
&lt;br /&gt;
==Setup and Configuration==&lt;br /&gt;
&lt;br /&gt;
To activate and begin reselling SiteLock via WHMCS MarketConnect, simply navigate to  '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; MarketConnect''' or, prior to WHMCS 8.0, ''Setup &amp;gt; MarketConnect'' within your WHMCS admin area and click the '''Activate''' button under the SiteLock product offering.&lt;br /&gt;
&lt;br /&gt;
==SiteLock Automation==&lt;br /&gt;
&lt;br /&gt;
When ordering SiteLock as an add-on to a Hosting or Reseller Account, WHMCS and MarketConnect fully automates the SiteLock provisioning process.  This includes automated provisioning of FTP access credentials and DNS records where required.&lt;br /&gt;
&lt;br /&gt;
===FTP Access===&lt;br /&gt;
&lt;br /&gt;
The SiteLock service utilises FTP access to automatically fix infected websites.&lt;br /&gt;
&lt;br /&gt;
For SiteLock plans that offer the auto-fixing service, a dedicated FTP account will be provisioned for cPanel and DirectAdmin hosting accounts and supplied to SiteLock automatically. For Plesk servers the primary account login details are used.&lt;br /&gt;
&lt;br /&gt;
If FTP access is unable to be automatically provisioned successfully, the welcome email sent to the customer contains instructions for the user detailing how to set FTP credentials manually.&lt;br /&gt;
&lt;br /&gt;
===DNS Records===&lt;br /&gt;
&lt;br /&gt;
For the WAF and CDN services offered with some SiteLock plans, there are DNS record changes that have to be performed to utilise the service.&lt;br /&gt;
&lt;br /&gt;
For cPanel, DirectAdmin and Plesk hosting accounts, WHMCS will attempt to do this automatically on the server.&lt;br /&gt;
&lt;br /&gt;
If the automatic provisioning fails, or an external DNS service is being used, the record changes will need to be performed manually.  The SiteLock Welcome Email sent to the customer following activation of the service contains instructions that detail the changes needed.&lt;br /&gt;
&lt;br /&gt;
==Admin Management Actions==&lt;br /&gt;
&lt;br /&gt;
For any SiteLock order, an Admin user is able to perform the following actions from the service management page as shown below:&lt;br /&gt;
&lt;br /&gt;
[[File:Sitelock-marketconnect-service.png]]&lt;br /&gt;
&lt;br /&gt;
* '''Login to SiteLock Control Panel''' - Clicking this button will perform single sign-on into the SiteLock dashboard for the given website.&lt;br /&gt;
* '''Update FTP Access Credentials''' - Allows you to update the FTP access credentials for the given website. This only appears for SiteLock services and addons that require FTP. To use this, update the custom field values for FTP access, click '''Save Changes''', and then click this button to submit the new FTP details to SiteLock.&lt;br /&gt;
&lt;br /&gt;
Single Sign-On to the SiteLock dashboard can also be accessed via the MarketConnect management page in  '''Configuration (&amp;lt;i class=&amp;quot;fa fa-wrench&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;) &amp;gt; System Settings &amp;gt; MarketConnect &amp;gt; SiteLock &amp;gt; Manage''' or, prior to WHMCS 8.0, ''Setup &amp;gt; MarketConnect &amp;gt; SiteLock &amp;gt; Manage''&lt;br /&gt;
&lt;br /&gt;
==Client Management Actions==&lt;br /&gt;
&lt;br /&gt;
When logged into the Client Area, if a customer has an active SiteLock service, they will be provided with a link to Single Sign-On into the SiteLock Dashboard from where they can manage and use the SiteLock service.&lt;br /&gt;
&lt;br /&gt;
==Client Area Promotions==&lt;br /&gt;
&lt;br /&gt;
MarketConnect supports showing SiteLock promotions on the client area homepage, shopping cart and when managing a web hosting product that does not have a SiteLock service attached to it.&lt;br /&gt;
&lt;br /&gt;
For more information, please refer to [[MarketConnect Promotions and Upsells]].&lt;br /&gt;
&lt;br /&gt;
==Further Reading==&lt;br /&gt;
&lt;br /&gt;
For further help and information, please refer to our SiteLock Knowledgebase @ https://marketplace.whmcs.com/help/connect/kb/sitelock_website_security&lt;/div&gt;</summary>
		<author><name>DanR</name></author>	</entry>

	</feed>