Personal tools
Namespaces

Variants
Actions

Multibrand 1.X For WHMCS

From ModulesGarden Wiki
(Difference between revisions)
Jump to: navigation, search
 
(19 intermediate revisions by 4 users not shown)
Line 2: Line 2:
 
<meta name="description" content="ModulesGarden Wiki Contains All The Information You Need About The Multibrand For WHMCS Module."></meta>
 
<meta name="description" content="ModulesGarden Wiki Contains All The Information You Need About The Multibrand For WHMCS Module."></meta>
  
=About [http://www.modulesgarden.com/products/whmcs/multibrand/features Multibrand For WHMCS]=
+
=About [https://www.modulesgarden.com/products/whmcs/multibrand Multibrand For WHMCS]=
 
{|
 
{|
 
|style="padding: 10px 0px 10px 0px;"|'''Multibrand For WHMCS''' will allow you to manage multiple brands on multiple websites while using just a single WHMCS installation.
 
|style="padding: 10px 0px 10px 0px;"|'''Multibrand For WHMCS''' will allow you to manage multiple brands on multiple websites while using just a single WHMCS installation.
Line 148: Line 148:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Requires PHP 5.3 or Later
+
|style="padding: 0px 0px 0px 30px;"|✔ Supports PHP 5.4 Up To PHP 7
|}
+
{|
+
|style="padding: 0px 0px 0px 30px;"|✔ Supports PHP 5.3 Up To PHP 7
+
 
|}
 
|}
 
{|
 
{|
Line 167: Line 164:
 
==Installation==
 
==Installation==
 
{|
 
{|
|style="padding: 10px 0px 20px 15px;"|'''1. Log in to your client area and download Multibrand For WHMCS.'''
+
|style="padding: 10px 0px 20px 15px;"|'''1. Log in to your client area and download the module.'''
 
|}
 
|}
 
{|
 
{|
Line 173: Line 170:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''2. Upload and extract the module into the main WHMCS directory.'''<br />
+
|style="padding: 0px 0px 10px 15px;"|'''2. In the downloaded file you will find two packages that support different PHP versions.'''<br/>As presented on the screen below, the first one is dedicated to PHP 7, while the second one is aimed at PHP 5.4 up to PHP 5.6.<br/>It does not apply to open source versions.<br/>
Files in your WHMCS directory should look like these.
+
'' '''Note''': You can check current PHP version in your WHMCS. To do so proceed to ''' 'Utilities' → 'System' → 'PHP Info'.'''
 
|}
 
|}
 
{|
 
{|
Line 180: Line 177:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''3. When you install Multibrand for the first time you have to rename '' 'license_RENAME.php' '' file.'''<br />
+
|style="padding: 0px 0px 15px 15px;"|'''3. Extract the downloaded file and choose the one with the right PHP version. Upload and extract the PHP file into the main WHMCS directory.'''<br />
 +
The content of PHP version files should look like this.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 25px;"|[[File:MB_2_2.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 15px 15px;"|'''4. When you install Multibrand For WHMCS for the first time you have to rename '' 'license_RENAME.php' '' file.'''<br />
 
File is located in '' 'modules/addons/MultibrandFunctionality/license_RENAME.php'.''  Rename it from '' 'license_RENAME.php' '' to '' 'license.php'.''
 
File is located in '' 'modules/addons/MultibrandFunctionality/license_RENAME.php'.''  Rename it from '' 'license_RENAME.php' '' to '' 'license.php'.''
 
|}
 
|}
Line 187: Line 191:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''4. In order to configure your license key, you have to edit a previously renamed '' 'license.php' '' file.'''<br />
+
|style="padding: 0px 0px 15px 15px;"|'''5. In order to configure your license key, you have to edit a previously renamed '' 'license.php' '' file.'''<br />
 
Enter your license key between quotation marks as presented on the following screen. You can find your license key in your client area'' → 'My Products'.''
 
Enter your license key between quotation marks as presented on the following screen. You can find your license key in your client area'' → 'My Products'.''
 
|}
 
|}
Line 196: Line 200:
 
==Activating Addon Module==
 
==Activating Addon Module==
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|'''5. Now you have to activate the module in your WHMCS system.'''<br />
+
|style="padding: 10px 0px 15px 15px;"|'''6. Now you have to activate the module in your WHMCS system.'''<br />
 
Log in to your WHMCS admin area. Go to '' 'Setup' '' → '' 'Addon Modules'. '' Afterwards, find '' 'Multibrand' '' and press '' 'Activate' '' button.
 
Log in to your WHMCS admin area. Go to '' 'Setup' '' → '' 'Addon Modules'. '' Afterwards, find '' 'Multibrand' '' and press '' 'Activate' '' button.
 
|}
 
|}
Line 203: Line 207:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''6. In the next step you need to permit access to this module.'''<br />
+
|style="padding: 0px 0px 15px 15px;"|'''7. In the next step you need to permit access to this module.'''<br />
 
To do so click on '' 'Configure' '' button, tick '' 'Access Control' '' near required admin role groups and press '' 'Save Changes'.''
 
To do so click on '' 'Configure' '' button, tick '' 'Access Control' '' near required admin role groups and press '' 'Save Changes'.''
 
|}
 
|}
Line 211: Line 215:
 
==Additional Settings==
 
==Additional Settings==
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|'''7. Now, set up '' 'logos' '' folder as writable.'''<br />
+
|style="padding: 10px 0px 15px 15px;"|'''8. Now, set up '' 'logos' '' folder as writable.'''<br />
 
Folder is located in '' 'your_whmcs/modules/addons/MultibrandFunctionality/storage/'.''
 
Folder is located in '' 'your_whmcs/modules/addons/MultibrandFunctionality/storage/'.''
 
|}
 
|}
Line 218: Line 222:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''8. The last step is replacing '' 'invoicepdf.tpl' '' file with '' 'invoicepdf_RENAME.tpl' '' for each of the templates used.'''<br />
+
|style="padding: 0px 0px 15px 15px;"|'''9. The last step is replacing '' 'invoicepdf.tpl' '' file with '' 'invoicepdf_RENAME.tpl' '' for each of the templates used.'''<br />
 
'' 'invoicepdf_RENAME.tpl' '' is located in '' 'your_whmcs/templates/default/' ''.<br />
 
'' 'invoicepdf_RENAME.tpl' '' is located in '' 'your_whmcs/templates/default/' ''.<br />
 
Simply, remove default '' 'invoicepdf.tpl' '' file from template folder and copy '' 'invoicepdf_RENAME.tpl' '' into the folder.<br />
 
Simply, remove default '' 'invoicepdf.tpl' '' file from template folder and copy '' 'invoicepdf_RENAME.tpl' '' into the folder.<br />
Line 227: Line 231:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''9. You have just successfully installed Multibrand For WHMCS!'''<br />
+
|style="padding: 0px 0px 15px 15px;"|'''10. You have just successfully installed Multibrand For WHMCS!'''<br />
 
You can access your module in '' 'Addons' '' → '' 'Multibrand'.''
 
You can access your module in '' 'Addons' '' → '' 'Multibrand'.''
 
|}
 
|}
Line 283: Line 287:
 
{|
 
{|
 
|style="padding: 0px 0px 30px 15px;"|'''The last step is setting up DNS record, which will point from branded domain towards your main domain used by WHMCS.'''<br />
 
|style="padding: 0px 0px 30px 15px;"|'''The last step is setting up DNS record, which will point from branded domain towards your main domain used by WHMCS.'''<br />
To learn more about setting up CNAME records, proceed to [[Multibrand_For_WHMCS#Creating_CNAME_Records|Creating CNAME Records section]].<br />
+
To learn more about setting up CNAME records, proceed to [[Multibrand_1.X_For_WHMCS#Domains_.26_CNAME_Records_Configuration|Domains & CNAME Records Configuration section]].<br />
 
Do not forget to publish the brand as soon as the CNAME record propagates worldwide.
 
Do not forget to publish the brand as soon as the CNAME record propagates worldwide.
 
|}
 
|}
Line 426: Line 430:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:MB_26_1.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:MB_26_1.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 30px 15px;"|
 +
* For '''all''' WHMCS templates: <br/>
 +
'''1.''' Access the location of your template. For the '''Five''' template it is the '' ''' /yourWHMCS/templates/five/ ''' '' folder, while for the '''Six''' template, you need to go to the '' ''' /yourWHMCS/templates/six/ ''' '' location.<br />
 +
'''2.''' Make a copy of your '''invoicepdf.tpl''' and '''quotepdf.tpl''' files located in your template's folder. <br />
 +
'''3.''' Now, move to the '' 'yourWHMCS/templates/default' '' folder and rename '''invoicepdf_RENAME.tpl''' and '''quotepdf_RENAME.tpl''' to the original file names.<br />
 +
'''4.''' Lastly, replace these files in your template's folder.
 +
<br/><br/>
 +
 
 +
* For the '''Five''' WHMCS template<br/>
 +
'''1.''' Open the '''header.tpl''' file located in the '' ''' /yourWHMCS/templates/five/ ''' '' folder<br />
 +
'''2.''' Find and '''remove''' the following code (should be located in the line 7):
 +
{if $systemurl}<base href="{$systemurl}" />{/if}
 +
'''3.''' Next, find the following code:
 +
<pre><div id="whmcsimglogo"><a href="index.php"><img src="templates/{$template}/img/whmcslogo.png" alt="{$companyname}" /></a></div></pre>
 +
'''4.''' And replace it with:
 +
<a href="{$WEB_ROOT}/index.php"><img src="{if $logo}{$logo}{else}{$WEB_ROOT}/templates/{$template}/img/logo.png{/if}" alt="{$companyname}" /></a>
 +
<br/>
 +
 
 +
* For '''WHMCS V6''' and the '''Six''' template<br/>
 +
'''1.''' Open the '''header.tpl''' file located in the '' ''' /yourWHMCS/templates/six/ ''' '' folder<br />
 +
'''2.''' Find the following code:
 +
<a href="{$WEB_ROOT}/index.php"><img src="{$WEB_ROOT}/templates/{$template}/img/logo.png" alt="{$companyname}" /></a>
 +
'''4.''' And replace it with:
 +
<a href="{$WEB_ROOT}/index.php"><img src="{if $logo}{$logo}{else}{$WEB_ROOT}/templates/{$template}/img/logo.png{/if}" alt="{$companyname}" /></a>
 +
<br/>
 +
 +
* For '''WHMCS V7''' and the '''Six''' template <br/>
 +
'''1.''' Open the '''header.tpl''' file located in the '' ''' /yourWHMCS/templates/six/ ''' '' folder<br />
 +
'''2.''' Find the following block of code:
 +
<pre>
 +
{if $assetLogoPath}
 +
<a href="{$WEB_ROOT}/index.php" class="logo"><img src="{$assetLogoPath}" alt="{$companyname}"></a>
 +
{else}
 +
<a href="{$WEB_ROOT}/index.php" class="logo logo-text">{$companyname}</a>
 +
{/if}
 +
</pre>
 +
'''4.''' And replace it with:
 +
<a href="{$WEB_ROOT}/index.php"><img src="{if $logo}{$logo}{else}{$WEB_ROOT}/templates/{$template}/img/logo.png{/if}" alt="{$companyname}" /></a>
 +
<br />
 +
'''Note''' - Resellers Center For WHMCS v3.X module is no longer compatible with Multibrand For WHMCS v1.X module.
 
|}
 
|}
  
Line 580: Line 626:
 
*there are a few email types: general/product/domain/invoice
 
*there are a few email types: general/product/domain/invoice
 
*there are a lot of default WHMCS templates in the system. These kinds of templates are "special" in a few ways.
 
*there are a lot of default WHMCS templates in the system. These kinds of templates are "special" in a few ways.
*we have only one tool that allows us to adjust emails ([http://docs.whmcs.com/Hooks:EmailPreSend link])
+
*we have only one tool that allows us to adjust emails ([https://developers.whmcs.com/hooks-reference/everything-else/ link])
 
<br />
 
<br />
 
'''How does email branding mechanism look like?'''<br />
 
'''How does email branding mechanism look like?'''<br />
Line 622: Line 668:
 
For instance, if your branded domain is reseller.com and domain with your WHMCS is whmcs.domain.com, your CNAME will be '' 'www.reseller.com. CNAME whmcs.domain.com.'.''<br />
 
For instance, if your branded domain is reseller.com and domain with your WHMCS is whmcs.domain.com, your CNAME will be '' 'www.reseller.com. CNAME whmcs.domain.com.'.''<br />
 
''Note 1: As you can see above, each domain has to be closed with a dot.''<br />
 
''Note 1: As you can see above, each domain has to be closed with a dot.''<br />
''Note 2: To learn more about certificate requirements, visit [[Multibrand_For_WHMCS#Common_Problems|Common Problems section]].''
+
''Note 2: To learn more about certificate requirements, visit [[Multibrand_1.X_For_WHMCS#Common_Problems|Common Problems section]].''
 
|}
 
|}
 
{|
 
{|
Line 671: Line 717:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 5px 15px;"|4. Find the domain to be edited, and click on the corresponding Control Panel link.<br />
+
|style="padding: 0px 0px 10px 15px;"|4. Add a new record or edit an existing one.
Afterwards, proceed to '' 'Websites & Domains' '' tab and press '' 'DNS Settings'.''
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 10px 15px;"|5. Add a new record or edit an existing one.
+
|style="padding: 0px 0px 10px 15px;"|5. Now, change the record type to '' 'CNAME' '' and fill in both '' 'Domain name' '' and '' 'Canonical name'.''<br />
|}
+
{|
+
|style="padding: 0px 0px 10px 15px;"|6. Now, change the record type to '' 'CNAME' '' and fill in both '' 'Domain name' '' and '' 'Canonical name'.''<br />
+
 
Finish by pressing '' 'Ok'.''<br />
 
Finish by pressing '' 'Ok'.''<br />
 
''Note: The changes will take between 4 to 8 hours to update worldwide.''
 
''Note: The changes will take between 4 to 8 hours to update worldwide.''
Line 760: Line 802:
 
In this section we will list the WHMCS modules which do not support multibranding or do not cooperate with Multibrand For WHMCS at all.<br />
 
In this section we will list the WHMCS modules which do not support multibranding or do not cooperate with Multibrand For WHMCS at all.<br />
 
*'''SMS Center For WHMCS''' - SMS sent to customers cannot be branded. Default set of SMS templates is sent to clients from all brands.<br />
 
*'''SMS Center For WHMCS''' - SMS sent to customers cannot be branded. Default set of SMS templates is sent to clients from all brands.<br />
*'''Resellers Center For WHMCS''' - may work in an odd way because of redirection attempts of both modules.
+
*'''Resellers Center For WHMCS''' - This module is not compatible with our Multibrand For WHMCS module.
 +
|}
 +
{|
 +
|style="padding: 10px 0px 20px 15px;"|'''Cloudflare'''
 +
Cloudflare is a service that will [http://support.cloudflare.com/hc/en-us/articles/203322654-Why-is-my-domain-resolving-to-the-wrong-IP-when-I-do-a-DNS-lookup-or-ping mask your server IP address]. <br />
 +
This is because they use their own DNS to resolve to one of their many reverse proxy servers and  will cause incompatibility with Multibrand module. <br />
 +
You may disallow the CloudFlare network to assume NS authority and don't become the intermediary between a user and your server, but then your CloudFlare service may become useless.<br />
 +
 
  
 
|}
 
|}
Line 804: Line 853:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 15px;"|'''5. Please remember that Multibrand For WHMCS works flawlessly with the officially supported and pointed in features list templates.<br/>
+
|style="padding: 0px 0px 5px 15px;"|'''5. Please remember that Multibrand For WHMCS works flawlessly with the officially supported and pointed in features list templates.<br/>
 
These are: ''Template 'Six' '' and '' 'Five'.''<br/> In case you are using some custom template, you must be aware that unexpected errors might occur and we cannot take the responsibility for solving them.
 
These are: ''Template 'Six' '' and '' 'Five'.''<br/> In case you are using some custom template, you must be aware that unexpected errors might occur and we cannot take the responsibility for solving them.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 30px 15px;"|
 +
'''6. Multibrand For WHMCS module is not compatible with our Resellers Center For WHMCS.'''<br/>
 +
There is no integration between these modules and we '''do not''' recommend using them together.
 
|}
 
|}

Latest revision as of 15:18, 20 September 2017

Contents

[edit] About Multibrand For WHMCS

Multibrand For WHMCS will allow you to manage multiple brands on multiple websites while using just a single WHMCS installation.

You will be able to customize your brand through modifying factors like client area template, logo or brand language, and preview the changes with just a single click.
The module enables you to easily assign your clients to and migrate them between brands, as well as assign products and ticket departments to each brand.
Owing to Multibrand For WHMCS your customers will be able to log into specified client areas in accordance with the brand under which they purchased a product or service.

  • Addon Features:
✔ User Friendly Management Of Multiple Brands
✔ Easy Modification Of Existing Brands
✔ Assign/Unassign Clients To Multiple Brands
✔ Assign Products To Brands
✔ Assign Product Bundles To Brands
✔ Assign Ticket Departments To Brands
✔ Configure Payment Gateways For Each Brand Separately:
✔ PayPal - Single Payment And Subscription
✔ 2CheckOut - Single Payment Only
✔ Display Active Clients, Invoices, Orders, Tickets And Services Associated To Brands
✔ Quick Preview Of Branded Client Area
✔ Publish/Unpublish Brands On Click
✔ Set Brand As Default - Automatic Assignment Of New Clients
✔ View Brand Reports - List Of Clients, Invoices, Orders, Tickets And Services
✔ View Dynamic Brands Comparison Reports - Various Graph Types
✔ Generate Separate Email Templates For Each Brand
✔ Verify Integration Of Templates Used By Brands
  • Admin Area Features:
✔ Order Branded Products
✔ Create Branded Invoices
✔ Create Branded Quotes
✔ Open Branded Tickets
✔ Create Branded Announcements
✔ Add Branded Knowledgebase Articles
✔ Add Branded Downloads
✔ Log In As Client To Chosen Brand
  • Client Area Features:
✔ Displayed Client Area Template And Default Language Depend On Brand
✔ Access To Products, Invoices, Downloads, Ticket Departments and Payment Gateways Assigned To Brand
✔ View Articles And Announcements Assigned To Brand
✔ Receive Branded Emails And Invoices
✔ Branded Clients Can Only Log Into Brand They Are Assigned To
✔ Multibranded Clients Can Log Into All Existing Brands With The Same Access Details
  • Brand Configuration:
✔ Default Brand For New Accounts
✔ Brand Name
✔ Company Name
✔ Brand URL Address
✔ Brand Logo
✔ Brand Language
✔ Brand Template
✔ Brand Address
✔ Brand Signature
✔ Brand Email
✔ Brand Graph Color
✔ Brand Terms Of Service URL
  • General Info:
✔ Multi-Language Support
✔ Supports PHP 5.4 Up To PHP 7
✔ Supports WHMCS Templates Five and Six
✔ Supports WHMCS V6 and V7

[edit] Installation

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

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

[edit] Installation

1. Log in to your client area and download the module.
MB 1.png
2. In the downloaded file you will find two packages that support different PHP versions.
As presented on the screen below, the first one is dedicated to PHP 7, while the second one is aimed at PHP 5.4 up to PHP 5.6.
It does not apply to open source versions.

Note: You can check current PHP version in your WHMCS. To do so proceed to 'Utilities' → 'System' → 'PHP Info'.

MB 2.png
3. Extract the downloaded file and choose the one with the right PHP version. Upload and extract the PHP file into the main WHMCS directory.

The content of PHP version files should look like this.

MB 2 2.png
4. When you install Multibrand For WHMCS for the first time you have to rename 'license_RENAME.php' file.

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

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

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

MB 4.png

[edit] Activating Addon Module

6. Now you have to activate the module in your WHMCS system.

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

MB 5.png
7. In the next step you need to permit access to this module.

To do so click on 'Configure' button, tick 'Access Control' near required admin role groups and press 'Save Changes'.

MB 6.png

[edit] Additional Settings

8. Now, set up 'logos' folder as writable.

Folder is located in 'your_whmcs/modules/addons/MultibrandFunctionality/storage/'.

MB 7.png
9. The last step is replacing 'invoicepdf.tpl' file with 'invoicepdf_RENAME.tpl' for each of the templates used.

'invoicepdf_RENAME.tpl' is located in 'your_whmcs/templates/default/' .
Simply, remove default 'invoicepdf.tpl' file from template folder and copy 'invoicepdf_RENAME.tpl' into the folder.
Afterwards, rename the file to 'invoicepdf.tpl' .

MB 7 1.png
10. You have just successfully installed Multibrand For WHMCS!

You can access your module in 'Addons' 'Multibrand'.

MB 8.png

[edit] Configuration and Management

In this section we will show you how to properly set up and use Multibrand For WHMCS.

[edit] Dashboard

Under 'Dashboard' you can find basic information about the module and current status of 'logos' folder.

It is required to set up 'logos' folder as writable in order to upload logos of your brands.
Additionally, here you can find links to articles that will guide through the set up of CNAME records process in the most popular platforms.

MB 9.png

[edit] Brands

Under 'Brands' tab you can create and manage your brands using a single instance of WHMCS solution.

[edit] New Brand

Let's start by creating a new brand. For that purpose go to 'Brands' tab and press 'Create New Brand' button.
MB 10.png
Now, fill out 'Brand Base URL', 'Brand Email', 'Brand Name', 'Company Name', 'Address', 'Terms of Service URL' and 'Signature' with desired values.
  • 'Address' - value from this field will be used as a company address and will be displayed for example on created invoices.
  • 'Brand Email' - will be used to send branded emails to clients.
  • 'Terms of Service URL' - defines URL to Terms of Service for the brand.
MB 11.png
Afterwards, select desired brand language, template and brand color.

Additionally, upload the logo which will be used in branded invoices, emails and client area.
'Save Changes'.
Note: Only published brands can be set as default.
New users created by admin or through API will be assigned to the default brand.

MB 12.png
Now, proceed to 'Settings' → 'Integration Code' and check whether chosen template is integrated correctly with Multibrand.
The last step is setting up DNS record, which will point from branded domain towards your main domain used by WHMCS.

To learn more about setting up CNAME records, proceed to Domains & CNAME Records Configuration section.
Do not forget to publish the brand as soon as the CNAME record propagates worldwide.

[edit] Management of Existing Brands

To manage your brand, press 'Manage' button next to it as shown on the following screen.

[edit] General

General tab contains configuration of the brand.

You can modify your brand at any time, simply alter wanted parameters and press 'Save Changes'.

MB 13.png

[edit] Products

This tab allows you to assign products and product bundles configured in your system to the brand.

Note: Products/product bundles can be assigned to multiple brands at the same time.

MB 14.png

[edit] Ticket Department

Here you can choose ticket departments available from the brand.

'Important': Only one brand for each department is allowed.

MB 15.png

[edit] Payment Gateway

This tab allows you to configure payment gateway for the brand.

To enable payment gateway, mark checkbox next to it, fill out required details and press 'Save Changes'.
Note 1: Remember, to use branded payment gateway you need to activate it first under 'Setup' → 'Payments' → 'Payment Gateways'.
Note 2: Owing to 'Payment Gateway' tab, you can use different details per brand.
Note 3: 2Checkout payment gateway currently supports only single payments.

MB 18.png
Info: please note that only 'PayPal' and '2Checkout' payment gateways can be currently multibranded.

Still, you may use any other payment gateway that is active in your WHMCS system. Multibrand For WHMCS can work with any gateway
that works within your WHMCS, the only limitation is that the other payment gateways use the same settings for all brands.

[edit] Email Templates

Here you are able to generate email templates for the brand only.

Check 'Create Brand Templates' and press 'Save Changes' to create them.

MB 19.png

[edit] Back To Brand Management

Alternatively, you can edit brand values visible in 'Brand Management' tab by pressing them.

Choose/type in the desired value and confirm changes.

MB 20.png
Each brand can be disabled/enabled through pressing 'Published'/'Unpublished' (red) or set up as default through clicking on 'Default' (blue) button.

Both of them are placed in 'Status' column as shown on the screen below.

MB 21.png
In order to view the details of a brand, press 'Toggle Details' button next to the brand.

Here you can find basic information about the brand as well as quick access links to the brand reports.

MB 22.png
You can also view the client area of the brand through pressing 'Preview' button.

The client area should appear in a popup window as shown on the following screen.
You can easily log into/register client account via this popup window.

MB 23.png

[edit] Clients

Any client can be in one of the three states:
  • branded - a client with only one brand assigned. They will be able to log into the brand they are assigned to.
  • semi multi-branded - a client assigned to multiple brands. They will be able to benefit from all brands they are assigned to.
  • fully multi-branded - a client with no brands assigned, such client will be able to log into any of your brands.

Additionally, if they own products from different brands, they will be fluidly redirected between brands when viewing them.

In 'Clients' page you can assign clients to chosen brands.
Note: It's worth mentioning that client can be assigned to multiple brands.
Note 2: We were forced to abandon quick reassigning clients due to optimization reasons.

MB 23 1.png
You can search clients by client name, email and company.
MB 23 2.png

[edit] Brand Reports

In 'Brand Reports' tab you can easily view the reports concerning specific brands.

You can view the reports of clients, invoices, orders, tickets and services bounded to the selected brand.

MB 24.png
In addition, you can select the quantity of records per page, search a specified record and sort records by selected column.
MB 25.png
You can also compare all your brands using tabs marked on the following screen.

Here you can compare them by the amount of clients, orders, services, tickets, invoices, domains and income with various graph types.
On the following screen you can see a web graph with a popup containing the amount of services in brands.
Popups with different information are shown upon hovering over specified parts of graph.

MB 26.png

[edit] Settings

Under settings you can find migration tool, integration code and direct link to the article you are currently reading.

[edit] Integration Code

This integration code is required for correct branding.
MB 26 1.png
  • For all WHMCS templates:

1. Access the location of your template. For the Five template it is the /yourWHMCS/templates/five/ folder, while for the Six template, you need to go to the /yourWHMCS/templates/six/ location.
2. Make a copy of your invoicepdf.tpl and quotepdf.tpl files located in your template's folder.
3. Now, move to the 'yourWHMCS/templates/default' folder and rename invoicepdf_RENAME.tpl and quotepdf_RENAME.tpl to the original file names.
4. Lastly, replace these files in your template's folder.

  • For the Five WHMCS template

1. Open the header.tpl file located in the /yourWHMCS/templates/five/ folder
2. Find and remove the following code (should be located in the line 7):

{if $systemurl}<base href="{$systemurl}" />{/if}

3. Next, find the following code:

<div id="whmcsimglogo"><a href="index.php"><img src="templates/{$template}/img/whmcslogo.png" alt="{$companyname}" /></a></div>

4. And replace it with:

<a href="{$WEB_ROOT}/index.php"><img src="{if $logo}{$logo}{else}{$WEB_ROOT}/templates/{$template}/img/logo.png{/if}" alt="{$companyname}" /></a>


  • For WHMCS V6 and the Six template

1. Open the header.tpl file located in the /yourWHMCS/templates/six/ folder
2. Find the following code:

<a href="{$WEB_ROOT}/index.php"><img src="{$WEB_ROOT}/templates/{$template}/img/logo.png" alt="{$companyname}" /></a>

4. And replace it with:

<a href="{$WEB_ROOT}/index.php"><img src="{if $logo}{$logo}{else}{$WEB_ROOT}/templates/{$template}/img/logo.png{/if}" alt="{$companyname}" /></a>


  • For WHMCS V7 and the Six template

1. Open the header.tpl file located in the /yourWHMCS/templates/six/ folder
2. Find the following block of code:

{if $assetLogoPath}
	<a href="{$WEB_ROOT}/index.php" class="logo"><img src="{$assetLogoPath}" alt="{$companyname}"></a>
{else}
	<a href="{$WEB_ROOT}/index.php" class="logo logo-text">{$companyname}</a>
{/if}

4. And replace it with:

<a href="{$WEB_ROOT}/index.php"><img src="{if $logo}{$logo}{else}{$WEB_ROOT}/templates/{$template}/img/logo.png{/if}" alt="{$companyname}" /></a>


Note - Resellers Center For WHMCS v3.X module is no longer compatible with Multibrand For WHMCS v1.X module.

[edit] Migration Tool

Migration tool allows you to migrate data from Multibrand For WHMCS in version earlier than 1.6.0.

Important: Migration disables branded payment gateways. You have to manually re-enable them.

MB 26 2.png

[edit] Membership In The Admin Area

Multibrand For WHMCS makes management of WHMCS easier through introducing 'Brand Details' column.

'Brand Details' column informs you about membership of clients, invoices, tickets, orders or services to certain brand.
Let's see how it looks in a 'Client List'.

MB 27.png
In 'Order List' it looks similar.

Through pressing a brand name, you will be moved directly to a report page of that brand.
Notice: Client, service etc. status has to be set to active in order to show brand it is assigned to.

MB 28.png

[edit] Invoices/Tickets/Quotes Creation From Admin Area

Due to multibranded clients, they will get invoices/tickets/quotes from multiple brands.

Therefore, you as an administrator have to be able to define from which brand create them.
As you can see on the following screen, from the summary page you can create all of mentioned above as well as log into any of client's brands.

Important: Those can be done only from client summary page in the admin area, other possibilities of creating invoices/tickets/quotes are blocked.

MB 28 1.png
From 'Invoices' tab you can choose brand for a new invoice.
MB 28 2.png
While 'Quotes' tab enables you to choose brand for a new quote.
MB 28 3.png

[edit] Support Functionalities Branded

[edit] Announcements

Create branded announcements. To do so, simply while preparing a new announcement for your clients, choose a brand (from those you have previously added and assigned clients to)
that the announcement will be viewed to.
MB 32.png
On the full list of announcements you can find details on which brand the announcement is assigned to.
MB 33.png
Clients will see only the announcements assigned to their brand in their client area.
MB 34.png

[edit] Downloads

Branded Downloads option works just alike Announcements described above. While adding a new file to download for your clients,
simply assign it to a brand you want it to be available for.
MB 36.png
Note, that you can brand both the download or the category of the downloads itself!

If you brand a category, then any of files in this category will be automatically visible only for clients of this brand.
Remember that files in such category can still have a different brand assigned, then they will not be visible in this group in client area.

MB 35.png
On the list of all categories you can see the just created and branded one next to the ones that already exist with the name of their assigned brands.
MB 35 1.png
Only branded downloads will be visible for clients of a certain brand.
MB 37.png

[edit] Knowledgebase

Using Multibrand For WHMCS you may also brand any article in your knowledgebas.
MB 39.png
You may always brand categories, not only the articles in themselves.
MB 38.png
On the list of all categories you can see which brand they are assigned to.
MB 38 1.png
Only branded knowledgebase articles will be visible for clients of a certain brand.
MB 40.png

[edit] Branded Client Area

Multibrand For WHMCS offers multiple client areas in one solution and lets you have your clients assigned to them.
MB 29.png
On the following screen you can see invoices generated for a brand.
MB 30.png

[edit] Branded Email Templates

Brand settings also apply to emails sent to clients.

On the following screen you can see an example of an order email.

MB 31.png
More About Email Branding

Let's consider how WHMCS has implemented email templates system:

  • there are a few email types: general/product/domain/invoice
  • there are a lot of default WHMCS templates in the system. These kinds of templates are "special" in a few ways.
  • we have only one tool that allows us to adjust emails (link)


How does email branding mechanism look like?

  1. Client enters the site which uses brand #1, and orders a product.
  2. WHMCS creates an order and performs email sending Hosting Account Welcome Email
  3. Using hook, we get:
    • Unique email template name, in this case Hosting Account Welcome Email
    • Parameter 'relid' which, depending on the email type, may be the ID of various entities:
      • for 'general' email type, it is Client ID
      • for 'product' email type, it is Service ID
      • for 'domain' email type, it is Domain ID
      • for 'invoice' email type, it is Invoice ID
    • Basing on that email unique name we are going to determine 'relid' type, so if a unique name contains "Hosting Account Welcome Email" string, we know that 'relid' is a service ID.
  4. Now, we need to determine the brand, so we use the brand of the service ('relid' is in this case our service ID; service brand is a brand from which it was ordered)
  5. As service is created for brand #1, we can obtain this specific brand details
  6. In the next step, all default variables for this email are overridden using once specified brand, such as:
    • company_name, company_domain, whmcs_url, whmcs_link, from (email and name), logo_url
    • As a result you have the same email subject/content with different stack of variables. Email sent from will be changed as well.
  7. In the last step, there is one significant mechanism: (let's just say, that it is the last resort mechanism)
    • When we determine brand, for example MyBrand is a brand name
    • Hook checks if email template with unique name exists: $currentBrand → name.' '.$emailUniqueName (prefix + space + the same unique name)
    • If it exists, the hook disables sending email by WHMCS and the module will send email with found template by our own Mailer
      (as a result, you will find in logs that email was aborted, and it will not be displayed in the list of emails sent to client)


Note: there is much more logic behind that, it is just an overview.

Point is, for predefined email templates everything works fine.
But as soon as admin specifies their own, custom template, and sets it manually to the product, there might be a problem.

So, as you set welcome email to your custom MyBrand Card Brief. Basing on this, we are unable to determine a proper brand.
But when I make the same email, with a unique name Other Product/Service Welcome Email for Copy Brief, it will work.
Why? There is a string inside the email name Other Product/Service Welcome Email so we know it is related to a product.
Following, we are able to get brand attached to that product and then we can brand this template.

Whole idea of this is that we have email, but we do not know for which brand it should be branded.
It is important for current Multibrand state to keep email templates unique names in proper pattern.

[edit] Domains & CNAME Records Configuration

In this section you will find guides on how to create CNAME record in popular control panels.

For instance, if your branded domain is reseller.com and domain with your WHMCS is whmcs.domain.com, your CNAME will be 'www.reseller.com. CNAME whmcs.domain.com.'.
Note 1: As you can see above, each domain has to be closed with a dot.
Note 2: To learn more about certificate requirements, visit Common Problems section.

Domain used by each of the brands MUST BE PARKED on the main domain.
In case a domain cannot be parked or it is a subdomain, you must create CNAME records that will redirect from the brand domain to the main domain.

Only when you have parked your domains you can move to setting CNAME records on your panels. See the tips below.

[edit] cPanel

1. Log into your cPanel.
2. Press 'Simple DNS Zone Editor' under 'Domains' section.
3. Select the domain you wish to manage from the menu.

Note: This step is required only if you own more than one domain.

4. Fill in 'Name' and 'CNAME' record and press 'Add CNAME Record'.

Note: To define record's TTL, you have to use 'Advanced DNS Zone Editor'.

[edit] DirectAdmin

1. Log into your DirectAdmin.
2. Click 'DNS Administration' .
3. Afterwards, press select the desired domain.
4. Fill in the full domain/subdomain into the CNAME record and press 'Add' next to it.

Note: Do not forget to place a dot at the end.

[edit] Plesk

1. Log into your Plesk panel.
2. Press 'Domains' under 'Hosting Services' section.
3. Find the domain to be edited, and click on the corresponding Control Panel link.

Afterwards, proceed to 'Websites & Domains' tab and press 'DNS Settings' .

4. Add a new record or edit an existing one.
5. Now, change the record type to 'CNAME' and fill in both 'Domain name' and 'Canonical name'.

Finish by pressing 'Ok'.
Note: The changes will take between 4 to 8 hours to update worldwide.

Remember to restart your server once it is configured.

[edit] SSL Certificate

In this section you will find all information related to SSL certificate in WHMCS using Multibrand.

If your branded domains or WHMCS domain are using SSL connection, all of them need to have the same certificate.
Certificate Type Required:

  • wildcard - if all brands and main WHMCS are using the same domain.
  • SAN - if your brands and main WHMCS are using different domains.

This is due the way in which WHMCS works. It is not the limitation of our module.
Additionally, in order to fix connection support for secured connections, add the integration code shown below.
Edit 'configuration.php' located in the main WHMCS directory and place following code at the end of the file.
For WHMCS V6:

require_once dirname(__FILE__).'/includes/MultiBrandSSLFixer.php';
$SSLFixer = new MultiBrandSSLFixer();

if($SSLFixer->shouldBeInSSL()){
    if(! $SSLFixer->isInSSL()){
        $SSLFixer->forceRedirect(true);
    }
}else{
    if($SSLFixer->isInSSL()){
        $SSLFixer->forceRedirect(false);
    }
}

For WHMCS V7:

require_once dirname(__FILE__).'/includes/MultiBrandSSLFixer.php';
$SSLFixer = new MultiBrandSSLFixer();
if($SSLFixer->shouldBeInSSL() || $SSLFixer->issetSystemSSLURL($db_host, $db_username, $db_password, $db_name))
  {    
      if(! $SSLFixer->isInSSL())
      {
          $SSLFixer->forceRedirect(true);
      }
  }
  else
  {
      if($SSLFixer->isInSSL())
      {
          $SSLFixer->forceRedirect(false);
      }
  }

[edit] cPanel

Installing SSL certificate for domains managed from cPanel consists of the following steps:
1. Log into your cPanel and press 'SSL/TSLS Manager' under 'Security' section.
2. Click on 'Manage SSL sites' under 'Install and Manage SSL for your site(HTTPS)'.
3a. (installing the certificate) Select the domain, paste certificate and private key and save the settings.

3b. (using already installed certificate) Select it from 'Browse Certificates' and save the settings.

[edit] Branding Limitations & Requirements

[edit] Limitations

WHMCS

In this section we will list the parts of WHMCS which cannot be branded or may be working in an odd way.

  • Bridges - Multibrand For WHMCS does not support any kind of bridges (WordPress, Jomla).
  • Link replacement - currently links are replaced with their branded counterparts with a visible delay.
    This is the only way we could do that for the time being.
  • Clients Profile → Send Email - if you try to send an email template, a branded counterpart of which exists, you will receive an error.
    This is due to its branded counterpart being sent, while default email is blocked.
  • Branded Quote → Duplicate - duplicating a branded quote results in receiving unbranded quote.
  • Emails - not branded due to the lack of possibility to determine from which brand an email should be sent:
    • Affiliate Monthly Referrals Report
    • Clients Only Bounce Message
WHMCS Modules

In this section we will list the WHMCS modules which do not support multibranding or do not cooperate with Multibrand For WHMCS at all.

  • SMS Center For WHMCS - SMS sent to customers cannot be branded. Default set of SMS templates is sent to clients from all brands.
  • Resellers Center For WHMCS - This module is not compatible with our Multibrand For WHMCS module.
Cloudflare

Cloudflare is a service that will mask your server IP address.
This is because they use their own DNS to resolve to one of their many reverse proxy servers and will cause incompatibility with Multibrand module.
You may disallow the CloudFlare network to assume NS authority and don't become the intermediary between a user and your server, but then your CloudFlare service may become useless.


[edit] Requirements

Below we will list elements that require special attention in order to work correctly.
  • Product Bundle - bundle requires all of its products to be assigned to the same brand that the product bundle is.

[edit] Tips

1. The logo image is usually hard coded into the WHMCS template files.

In order to use logo file provided in the 'Multibrand For WHMCS' module, find proper line at the template file and replace it with '{$logo}' variable.
The line responsible for a displayed logo is placed at the 'header.tpl' file located in a currently used template.

2. If you want Captcha security option to be displayed in your client area for all branded domains, you need to configure each of those domains in your Google Account as well.
MB 41.png

[edit] Common Problems

1. When you have problems with connection, check whether your SELinux or firewall does not block ports.
2. Using 'Login as Client' functionality returns:
The page isn't redirecting properly

Solution: This issue will be solved in the next version of module.

3. If your CNAME record is not working, remember that first domain name in CNAME record should be branded domain.

The second one is the domain on which you have your WHMCS. The redirection goes from the first domain to the second.
Dots after domains are also important.
Take note that there could be a delay with propagation of changes for DNS servers while using A type CNAME records.

4. If your branded domain or WHMCS domain are using SSL connection, both of them need to have the same certificate.

If both of them are using the same domain, you will need a wildcard certificate.
If they are using different domains, secure them with the SAN certificate.
This is due to the way WHMCS works. It is not the limitation of our module.

5. Please remember that Multibrand For WHMCS works flawlessly with the officially supported and pointed in features list templates.

These are: Template 'Six' and 'Five'.
In case you are using some custom template, you must be aware that unexpected errors might occur and we cannot take the responsibility for solving them.

6. Multibrand For WHMCS module is not compatible with our Resellers Center For WHMCS.
There is no integration between these modules and we do not recommend using them together.

Navigation
WHMCS Modules
WHMCS Widgets
Translations
cPanel Modules
General
FAQ
Community