Difference between revisions of "Promotions"

From WHMCS Documentation

(Limited Recurring Promotions)
Line 1: Line 1:
Promotions can be setup to offer discounts on your Products & Services, Product Addons and Domains. To create a promotion code navigate to '''Setup > Payments > Promotions'''.
+
Promotions can offer discounts on your Products & Services, Product Addons, and Domains. To create a promotion code, navigate to '''Setup > Payments > Promotions'''.
  
See also [[Common Promotions]]
+
See also [[Common Promotions]].
  
 
==Types of promotions that can be offered==
 
==Types of promotions that can be offered==
 +
 
*One Time Discounts
 
*One Time Discounts
 
*Recurring Discounts
 
*Recurring Discounts
*Limited Recurring Discounts (eg. First 2 months free)
+
*Limited Recurring Discounts (for example, first two months free)
*Monetary Discounts (eg. $5 Off)
+
*Monetary Discounts (for example, $5 Off)
*Percentage Discounts (eg. 20% Off)
+
*Percentage Discounts (for example, 20% Off)
*Price Override (eg. Regular price $10, Discount price $8)
+
*Price Override (for example, Regular price $10, Discount price $8)
 
*Free Setup
 
*Free Setup
 
*Apply to Specific Products/Addons/Domain TLDs
 
*Apply to Specific Products/Addons/Domain TLDs
Line 20: Line 21:
 
==How to create a new promotion==
 
==How to create a new promotion==
  
#Begin by going to '''Setup > Payments > Promotions'''
+
To create a new promotion:
#Click the Add New link at the top of the page
+
 
#You must enter a promotion code - this is the code that customers will need to enter on the order form to receive the discount
+
#Go to '''Setup > Payments > Promotions'''.
#You can then choose one of the four promotion types:
+
#Click the Add New link at the top of the page.
#*Percentage - Discounts by a percentage of the original price
+
#Enter a promotion code. This is the code that customers will need to enter on the order form to receive the discount.
#*Fixed Amount - Discount a specified amount from the original price
+
#Choose one of the four promotion types:
#*Price Override - Changes the product price to this value. Useful for offering a consistent discount across multiple billing cycles.
+
#*Percentage Discounts by a percentage of the original price.
#*Free Setup - Discounts any setup fee from the original price.
+
#*Fixed Amount Discount a specified amount from the original price.
#To have the discount only apply to the first invoice leave the '''Recurring''' checkbox unticked. When ticked the discount will apply to renewal invoices. Set the '''Recur For''' field to 0 for all future renewals to be discounted or enter a different number to specify how many cycles the discount lasts for.
+
#*Price Override Changes the product price to this value. Useful for offering a consistent discount across multiple billing cycles.
#*'''Please note, this is in addition to the initial invoice for the product. So if you wish to provide a discount 6 times, enter 5 in the recurring box'''.
+
#*Free Setup Discounts any setup fee from the original price.
#In the '''Value''' field enter the amount of the discount - number only.
+
#To have the discount only apply to the first invoice, leave the '''Recurring''' checkbox unchecked. When you check this, the discount will apply to renewal invoices. Set the '''Recur For''' field to <tt>0</tt> for all future renewals to discount, or enter a different number to specify how many cycles the discount lasts for. This is in addition to the initial invoice for the product. If you wish to provide a discount 6 times, enter 5 in the recurring box'''.
#Next you need to select what products/addons/domain TLDs the promotion applies to and what billing cycles/registration periods are required for it to be applied - these should match those of your products.<br/>'''TIP:''' Your can Ctrl+click to select multiple entries.
+
#In the '''Value''' field, enter the amount of the discount in numbers only.
#The start and expiration date fields are optional - if filled out, the coupon will only start working after the set date and will stop working at the end of the day chosen. You can use one option or both to achieve the desired effect.
+
#Select the products, addons, and domain TLDs that the promotion applies to and what billing cycles or registration periods the discount requires. These should match those of your products. Your can Ctrl+click to select multiple entries.
#The final 4 checkboxes allow you to specify who can use the promotion:
+
#Optionally, set the start and expiration dates. If you use these settings, the coupon will only start working after the start date and will stop working at expiration. You can use one option or both to achieve the desired effect.
#*Apply Once - If the client orders multiple qualifying products the discount is only applied once.
+
#The final checkboxes allow you to specify who can use the promotion:
#*New Signups - Only new clients can use the promotion.
+
#*Apply Once If the client orders multiple qualifying products, the system only applies the discount once.
#*Apply Once / Client - If a client has an existing active order using this promotion they will not be able to use the code a second time.
+
#*New Signups Only new clients can use the promotion.
#*Lifetime Promotion - Client will retain this discount even if they upgrade/downgrade their service in future.
+
#*Apply Once / Client If a client has an existing active order that uses this promotion, they will not be able to use the code a second time.
#*Existing Client - Only existing clients with 1 or more active orders can use the promotion.
+
#*Lifetime Promotion Client will retain this discount even if they upgrade or downgrade their service in future.
 +
#*Existing Client Only existing clients with one or more active orders can use the promotion.
 
#*Enable for product upgrades – Refer to [[#Upgrades/Downgrades]] below.
 
#*Enable for product upgrades – Refer to [[#Upgrades/Downgrades]] below.
#In the admin notes section add information pertinent to the promotion.
+
#In the admin notes section, add information pertinent to the promotion.
  
Please note: the promotion code changes the First Payment Amount when a customer or administrator uses the code while ordering. It does not change the Recurring Amount. If it did automatically update the recurring amount then this would prevent administrators from being able to manually update the recurring amount value when a promotion code was in use.
+
The promotion code changes the First Payment Amount when a customer or administrator uses the code while ordering. It does not change the Recurring Amount. If it did automatically update the recurring amount, this would prevent administrators from being able to manually update the recurring amount value when a promotion code was in use.
  
Instead, the promotion code is used to discount the Recurring Amount automatically on renewal invoices as applicable.
+
Instead, the system uses the promotion code to discount the Recurring Amount automatically on renewal invoices.
  
 
==Limiting Usage==
 
==Limiting Usage==
  
With WHMCS, you can set the maximum number of times a promotion can be usedYou do this as follows:
+
With WHMCS, you can set the maximum number of times to honor a promotion.  To do this:
  
#Go to Setup > Payments > Promotions
+
#Go to Setup > Payments > Promotions.
#Locate the promotion you want to limit the usage of and click the edit icon next to it
+
#Locate the promotion you want to limit the usage of and click the edit icon next to it.
#In the Maximum Uses field, enter the number of uses that you want to allow (the number of times that the promotion has already been used will be shown below the field)
+
#In the Maximum Uses field, enter the number of uses that you want to allow (the number of times that customers have used the promotion will display below the field).
#For unlimited uses, enter the value zero
+
#For unlimited uses, enter the value zero.
#Once complete, simply click the Save Changes button
+
#Click the Save Changes button.
  
 
==Prerequisites==
 
==Prerequisites==
  
By selecting products from the "Requires" menu it is possible to stipulate which products/services the client must also have in their shopping cart before the discount will be applied. This can be used to offer "buy x get y half price" style promotions.
+
By selecting products from the "Requires" menu, you can stipulate which products or services the client must also have in their shopping cart before applying the discount. This can be used to offer "buy x get y half price" style promotions.
  
The "Also allow existing products in account to qualify for promotion" option means that the products the client already owns will be included in the promotion criteria.
+
The "Also allow existing products in account to qualify for promotion" option allows the system to include products that the client already owns in the promotion criteria.
  
For example if the client already owns product x they would be able to use the promo code when ordering product y. With this option disabled the client would need to order both products x and y at the same time to qualify.
+
For example, if the client already owns product x, they would be able to use the promotion code when ordering product y. If you disable this option, the client would need to order both products x and y at the same time to qualify.
  
 
==Upgrades/Downgrades==
 
==Upgrades/Downgrades==
  
Ticking this checkbox means the promo code will be used by the client when placing an upgrade/downgrade order, particularly useful for offering incentives when upselling. When ticked some new options will appear, the intricacies of upgrade/downgrade promotions are explained below:
+
When you check this checkbox, the client will use the promo code when placing an upgrade or downgrade order, which is particularly useful for offering incentives when upselling. When you check this, some new options will appear:
  
 
===Products/Services===
 
===Products/Services===
Line 72: Line 74:
 
Select the ''Products/Services'' radio option as the '''Upgrade Type'''.
 
Select the ''Products/Services'' radio option as the '''Upgrade Type'''.
  
The Type, Recurring and Value fields are used as normal to specify the value of the discount and how long it lasts for. The '''Applies To''' field is used to select which products the promo code can be applied to - the client will receive the discount when upgrading to this product.
+
Use the Type, Recurring and Value fields to specify the value of the discount and how long it lasts.  
  
For upgrades/downgrades the '''Requires''' field is used slightly different from normal. It restricts which products can be upgraded from - clients can upgrade from Product y (selected) to this product and receive a discount, but not upgrade from Product x (not selected) and receive a discount.
+
Use the '''Applies To''' field to select which products to apply the promotional code to. The client will receive the discount when upgrading to this product.
 +
 
 +
For upgrades and downgrades, you use the '''Requires''' field slightly differently. It restricts which products clients can upgrade. For example, they can upgrade from Product y (selected) to this product and receive a discount, but not upgrade from Product x (not selected) and receive a discount.
  
 
===Configurable Options===
 
===Configurable Options===
  
Discounts can be offered to clients not just for changing product but also configurable options, select the ''Configurable Options'' radio option as the '''Upgrade Type'''.
+
To offer discounts to clients for configurable options, select the ''Configurable Options'' radio option as the '''Upgrade Type'''.
  
Use the '''Upgrade Discount''' fields to specify the discount value as a percentage or fixed amount for the configurable options. Then use the '''Config Options Upgrades''' menu to select which option this discounts applies to.
+
Use the '''Upgrade Discount''' fields to specify the discount value as a percentage or fixed amount for the configurable options. Then, use the '''Config Options Upgrades''' menu to select which option this discount applies to.
  
If the main Type, Recurring and Value fields are used at the top of the page then as well as discounting the configurable option a discount will also be applied to the parent product. Leave blank to just apply the discount to the configurable option.
+
If you use the main Type, Recurring and Value fields at the top of the page, the system will apply a discount to the parent product as well as to the configurable option. Leave this blank to only apply the discount to the configurable option.
  
 
==Promotion Links==
 
==Promotion Links==
  
You can give links out to users that will automatically apply a certain promotion code to their order if it applies.  To do that, simply use a link like the one below:
+
You can give links to users that will automatically apply a certain promotion code to their order if it applies.  To do that, use a link like the one below:
  
 
cart.php?promocode=TEST '''OR''' cart.php?a=add&pid=1&promocode=TEST
 
cart.php?promocode=TEST '''OR''' cart.php?a=add&pid=1&promocode=TEST
  
Both of the above will apply the promotion code "TEST" to the order.  With the first link, the user can choose the package they want and with the second they are taken straight to step 2 of the order process with product id 1 selected.<br />
+
Both of the above will apply the promotion code "TEST" to the order.  With the first link, the user can choose the package they want. With the second, they will go straight to step 2 of the order process with product ID 1 selected.
More ways to link to WHMCS are detailed at [[Linking to WHMCS]].
+
 
 +
For more information, see [[Linking to WHMCS]].
  
 
==Management==
 
==Management==
It is possible when creating a promotion to specify an expiry date, but if you want the promo code to become invalid before this date is reached click the '''Expire Now''' link on the Setup > Payments > Promotions page.
+
When you create a promotion, you can specify an expiry date. If you want the promotion code to become invalid before this date, click the '''Expire Now''' link on the Setup > Payments > Promotions page.
  
A copy of any promotion can be created by clicking the '''Duplicate Promotion''' link. Particularly useful for quickly running a successful promotion again or providing a personalised promo code to a client.
+
You can create a copy of any promotion by clicking the '''Duplicate Promotion''' link. This is particularly useful for quickly running a successful promotion again or providing a personalised promo code to a client.
  
 
==Manually Applying a Promotion==
 
==Manually Applying a Promotion==
  
WHMCS allows you to manually add a Promotion Code to an existing service. This type of addition can be made when viewing a client’s existing service in the Admin Area.
+
WHMCS allows you to manually add a Promotion Code to an existing service. You can make this type of addition when viewing a client’s existing service in the Admin Area.
  
On this page, you will see a “Promotion Code” drop-down menu. Click on this drop-down menu to be provided with a list of all the active promotions currently setup on the installation. From this list you can select the promotion you would like to apply to the service, and then click on the “Save Changes” button to commit your changes.
+
On this page, you will see a “Promotion Code” drop-down menu. Click on this menu for a list of all the active promotions on the installation. From this list, you can select the promotion you would like to apply to the service, and then click on the “Save Changes” button to commit your changes.
  
The “Recurring Amount” value displayed on the service page is the final amount that the client will be billed after the selected promotion is taken into consideration. Therefore selecting a promotion code by itself will not change the amount invoiced.
+
The “Recurring Amount” value on the service page is the final amount to bill the client for after taking the selected promotion into consideration. Selecting a promotion code by itself will not change the invoice amount.
  
Due to this behavior, it is important to update the “Recurring Amount” value so that it reflects the amount you want the customer to pay after the promotion code has been applied. This can be done in one of two ways:
+
Due to this behavior, it is important to update the “Recurring Amount” value so that it reflects the amount you want the customer to pay after applying the promotion code. You can do this in one of two ways:
  
# Manually calculate the amount that you would like the customer to pay after the discount, enter it into the “Recurring Amount” field, and then click on the “Save Changes” button.
+
# Manually calculate the amount that you would like the customer to pay after the discount and enter it into the “Recurring Amount” field. Then, click on the “Save Changes” button.
# Select the “Auto Recalculate on Save” button, and then click on the “Save Changes” button. This option will have WHMCS take the current pricing configured for the Product/Service, apply the discount from the selected Promotion Code, and then set the “Recurring Amount” to that value.
+
# Select the “Auto Recalculate on Save” button, and then click on the “Save Changes” button. This option will have WHMCS take the current pricing for the Product/Service, apply the discount from the selected Promotion Code, and then set the “Recurring Amount” to that value.
  
For client services with a promotion code applied, WHMCS alters how the service’s invoice items are generated for renewal invoices.
+
For client services with a promotion code, WHMCS alters how it generates the service’s invoice items for renewal invoices.
  
To provide the client with information concerning discounts provided by promotion codes, WHMCS will generate two invoice items.  The first item will display the sum of the “Recurring Amount” value and the discount amount. While the second item will display the discount amount.
+
To provide the client with information concerning discounts from promotion codes, WHMCS will generate two invoice items.  The first item will display the sum of the “Recurring Amount” value and the discount amount. The second item will display the discount amount.
  
As an example, if you have a service with a “Recurring Amount” value of “10.00” and apply a promotion code that offers a 50% discount, then the following invoice items will be generated when the service renews:
+
As an example, if you have a service with a “Recurring Amount” value of “10.00” and apply a promotion code that offers a 50% discount, then the system will generate the following invoice items when the service renews:
  
 
* Invoice Item for Service Renewal: 20.00
 
* Invoice Item for Service Renewal: 20.00
Line 122: Line 127:
  
 
This is the recommended method to convey a discount to clients.
 
This is the recommended method to convey a discount to clients.
If you had this same service with no promotion code selected, then the following invoice items would be generated upon renewal instead:
+
 
 +
If you had this same service with no promotion code, then the system would generate the following invoice items upon renewal instead:
  
 
* Invoice Item for Service Renewal: 10.00
 
* Invoice Item for Service Renewal: 10.00
Line 129: Line 135:
 
Both invoices result in a charge of 10.00, however one shows the client that they are paying this price because of a promotion code.
 
Both invoices result in a charge of 10.00, however one shows the client that they are paying this price because of a promotion code.
  
Should you want to provide the client with a discount, but not have a promotion code invoice item created, then you could do this by either manually specifying a “Price Override” value when creating the order, or by modifying the “Recurring Amount” value.
+
If you want to provide the client with a discount, but not create a promotion code invoice item, then you could do this by either manually specifying a “Price Override” value when creating the order, or by modifying the “Recurring Amount” value.
  
 
==Notes==
 
==Notes==
 
===Limited Recurring Promotions===
 
===Limited Recurring Promotions===
The number of recurrences for a Limited Recurring promotion (which are configured using the "Recur For x Times" setting) are counted by looking at the invoice line items related to the service.  By looking at the number of invoice line items generated for a service, WHMCS makes a determination for how many times the promotional discount has been applied.  
+
The system counts the number of recurrences for a Limited Recurring promotion (which are configured using the "Recur For x Times" setting) by looking at the invoice line items for the service.  By looking at the number of invoice line items for a service, WHMCS makes a determination for how many times it has applied the promotional discount.  
  
Once all a promotion code's recurrences have been used for a given service, the service will revert to the standard price automatically.
+
After the system has used all of a promotion code's recurrences for a given service, the service will revert to the standard price automatically.
  
If you wish to provide an an extension of the promotion, it would be necessary to increase the "Times" setting in the promotion code configuration, this will apply to all existing services using this promo code instantly. Deleting invoices will not extend the duration of the promotional discount.
+
If you wish to provide an an extension of the promotion, it would be necessary to increase the "Times" setting in the promotion code configuration. This will apply to all existing services using this promo code, instantly. Deleting invoices will not extend the duration of the promotional discount.
  
 
===Fixed Amount Promotions and Additional Currencies===
 
===Fixed Amount Promotions and Additional Currencies===
When defining the value for a Fixed Amount promotion, it is important to note that this value applies to the Base Currency. For instance - if the installation's Base Currency is USD, then setting the Value for a Fixed Amount promotion to 100 will provide a discount of $100.00 USD when used by customers.
+
When defining the value for a Fixed Amount promotion, it is important to note that this value applies to the Base Currency. For example, if the installation's Base Currency is USD, then setting the Value for a Fixed Amount promotion to 100 will provide a discount of $100.00 USD when customers use it.
 
   
 
   
If the installation has additional currencies configured, beyond the Base Currency, then the Base Conversion Rate will be used to determine the discount provided to customers using these additional currencies.
+
If the installation has additional currencies beyond the Base Currency, the system will use the Base Conversion Rate to determine the discount for customers using these additional currencies.
 
   
 
   
More information about Currencies and Exchange Rates can be found at [[Currencies]].
+
For more information, see [[Currencies]].
  
 
===Create Custom Promo===
 
===Create Custom Promo===
 
   
 
   
A button labeled "Create Custom Promo" can be found next to the Promotion field when manually adding a new order via the Add Order section of the Admin Area.
+
A "Create Custom Promo" button displays next to the Promotion field when you manually add a new order via the Add Order section of the Admin Area.
 
   
 
   
Clicking this button displays a modal which allows you to specify a custom promotion code that will automatically be created and applied to the immediate order.
+
Clicking this button displays a modal that allows you to specify a custom promotion code that the system will automatically create and apply to the immediate order.
 
   
 
   
Usage of this feature requires that the Administrator User have both the "Use Any Promotion Code on Order" and "Create/Edit Promotions" permissions. You can read more about permissions on the [[Administrators_and_Permissions|Administrators and Permissions]] page.
+
Use of this feature requires that the Administrator User have both the "Use Any Promotion Code on Order" and "Create/Edit Promotions" permissions. You can read more about permissions on the [[Administrators_and_Permissions|Administrators and Permissions]] page.

Revision as of 20:12, 5 May 2020

Promotions can offer discounts on your Products & Services, Product Addons, and Domains. To create a promotion code, navigate to Setup > Payments > Promotions.

See also Common Promotions.

Types of promotions that can be offered

  • One Time Discounts
  • Recurring Discounts
  • Limited Recurring Discounts (for example, first two months free)
  • Monetary Discounts (for example, $5 Off)
  • Percentage Discounts (for example, 20% Off)
  • Price Override (for example, Regular price $10, Discount price $8)
  • Free Setup
  • Apply to Specific Products/Addons/Domain TLDs
  • Apply to Specific Billing Cycles or Registration Periods
  • Apply Once per Order or to All Applicable Items in Cart
  • Lifetime Promotion
  • Valid for New Signups Only
  • Valid for upgrade orders only

How to create a new promotion

To create a new promotion:

  1. Go to Setup > Payments > Promotions.
  2. Click the Add New link at the top of the page.
  3. Enter a promotion code. This is the code that customers will need to enter on the order form to receive the discount.
  4. Choose one of the four promotion types:
    • Percentage — Discounts by a percentage of the original price.
    • Fixed Amount — Discount a specified amount from the original price.
    • Price Override — Changes the product price to this value. Useful for offering a consistent discount across multiple billing cycles.
    • Free Setup — Discounts any setup fee from the original price.
  5. To have the discount only apply to the first invoice, leave the Recurring checkbox unchecked. When you check this, the discount will apply to renewal invoices. Set the Recur For field to 0 for all future renewals to discount, or enter a different number to specify how many cycles the discount lasts for. This is in addition to the initial invoice for the product. If you wish to provide a discount 6 times, enter 5 in the recurring box.
  6. In the Value field, enter the amount of the discount in numbers only.
  7. Select the products, addons, and domain TLDs that the promotion applies to and what billing cycles or registration periods the discount requires. These should match those of your products. Your can Ctrl+click to select multiple entries.
  8. Optionally, set the start and expiration dates. If you use these settings, the coupon will only start working after the start date and will stop working at expiration. You can use one option or both to achieve the desired effect.
  9. The final checkboxes allow you to specify who can use the promotion:
    • Apply Once — If the client orders multiple qualifying products, the system only applies the discount once.
    • New Signups — Only new clients can use the promotion.
    • Apply Once / Client — If a client has an existing active order that uses this promotion, they will not be able to use the code a second time.
    • Lifetime Promotion — Client will retain this discount even if they upgrade or downgrade their service in future.
    • Existing Client — Only existing clients with one or more active orders can use the promotion.
    • Enable for product upgrades – Refer to #Upgrades/Downgrades below.
  10. In the admin notes section, add information pertinent to the promotion.

The promotion code changes the First Payment Amount when a customer or administrator uses the code while ordering. It does not change the Recurring Amount. If it did automatically update the recurring amount, this would prevent administrators from being able to manually update the recurring amount value when a promotion code was in use.

Instead, the system uses the promotion code to discount the Recurring Amount automatically on renewal invoices.

Limiting Usage

With WHMCS, you can set the maximum number of times to honor a promotion. To do this:

  1. Go to Setup > Payments > Promotions.
  2. Locate the promotion you want to limit the usage of and click the edit icon next to it.
  3. In the Maximum Uses field, enter the number of uses that you want to allow (the number of times that customers have used the promotion will display below the field).
  4. For unlimited uses, enter the value zero.
  5. Click the Save Changes button.

Prerequisites

By selecting products from the "Requires" menu, you can stipulate which products or services the client must also have in their shopping cart before applying the discount. This can be used to offer "buy x get y half price" style promotions.

The "Also allow existing products in account to qualify for promotion" option allows the system to include products that the client already owns in the promotion criteria.

For example, if the client already owns product x, they would be able to use the promotion code when ordering product y. If you disable this option, the client would need to order both products x and y at the same time to qualify.

Upgrades/Downgrades

When you check this checkbox, the client will use the promo code when placing an upgrade or downgrade order, which is particularly useful for offering incentives when upselling. When you check this, some new options will appear:

Products/Services

Select the Products/Services radio option as the Upgrade Type.

Use the Type, Recurring and Value fields to specify the value of the discount and how long it lasts.

Use the Applies To field to select which products to apply the promotional code to. The client will receive the discount when upgrading to this product.

For upgrades and downgrades, you use the Requires field slightly differently. It restricts which products clients can upgrade. For example, they can upgrade from Product y (selected) to this product and receive a discount, but not upgrade from Product x (not selected) and receive a discount.

Configurable Options

To offer discounts to clients for configurable options, select the Configurable Options radio option as the Upgrade Type.

Use the Upgrade Discount fields to specify the discount value as a percentage or fixed amount for the configurable options. Then, use the Config Options Upgrades menu to select which option this discount applies to.

If you use the main Type, Recurring and Value fields at the top of the page, the system will apply a discount to the parent product as well as to the configurable option. Leave this blank to only apply the discount to the configurable option.

Promotion Links

You can give links to users that will automatically apply a certain promotion code to their order if it applies. To do that, use a link like the one below:

cart.php?promocode=TEST OR cart.php?a=add&pid=1&promocode=TEST

Both of the above will apply the promotion code "TEST" to the order. With the first link, the user can choose the package they want. With the second, they will go straight to step 2 of the order process with product ID 1 selected.

For more information, see Linking to WHMCS.

Management

When you create a promotion, you can specify an expiry date. If you want the promotion code to become invalid before this date, click the Expire Now link on the Setup > Payments > Promotions page.

You can create a copy of any promotion by clicking the Duplicate Promotion link. This is particularly useful for quickly running a successful promotion again or providing a personalised promo code to a client.

Manually Applying a Promotion

WHMCS allows you to manually add a Promotion Code to an existing service. You can make this type of addition when viewing a client’s existing service in the Admin Area.

On this page, you will see a “Promotion Code” drop-down menu. Click on this menu for a list of all the active promotions on the installation. From this list, you can select the promotion you would like to apply to the service, and then click on the “Save Changes” button to commit your changes.

The “Recurring Amount” value on the service page is the final amount to bill the client for after taking the selected promotion into consideration. Selecting a promotion code by itself will not change the invoice amount.

Due to this behavior, it is important to update the “Recurring Amount” value so that it reflects the amount you want the customer to pay after applying the promotion code. You can do this in one of two ways:

  1. Manually calculate the amount that you would like the customer to pay after the discount and enter it into the “Recurring Amount” field. Then, click on the “Save Changes” button.
  2. Select the “Auto Recalculate on Save” button, and then click on the “Save Changes” button. This option will have WHMCS take the current pricing for the Product/Service, apply the discount from the selected Promotion Code, and then set the “Recurring Amount” to that value.

For client services with a promotion code, WHMCS alters how it generates the service’s invoice items for renewal invoices.

To provide the client with information concerning discounts from promotion codes, WHMCS will generate two invoice items. The first item will display the sum of the “Recurring Amount” value and the discount amount. The second item will display the discount amount.

As an example, if you have a service with a “Recurring Amount” value of “10.00” and apply a promotion code that offers a 50% discount, then the system will generate the following invoice items when the service renews:

  • Invoice Item for Service Renewal: 20.00
  • Promotion Code (50% Off): -10.00
  • Invoice Total: 10.00

This is the recommended method to convey a discount to clients.

If you had this same service with no promotion code, then the system would generate the following invoice items upon renewal instead:

  • Invoice Item for Service Renewal: 10.00
  • Invoice Total: 10.00

Both invoices result in a charge of 10.00, however one shows the client that they are paying this price because of a promotion code.

If you want to provide the client with a discount, but not create a promotion code invoice item, then you could do this by either manually specifying a “Price Override” value when creating the order, or by modifying the “Recurring Amount” value.

Notes

Limited Recurring Promotions

The system counts the number of recurrences for a Limited Recurring promotion (which are configured using the "Recur For x Times" setting) by looking at the invoice line items for the service. By looking at the number of invoice line items for a service, WHMCS makes a determination for how many times it has applied the promotional discount.

After the system has used all of a promotion code's recurrences for a given service, the service will revert to the standard price automatically.

If you wish to provide an an extension of the promotion, it would be necessary to increase the "Times" setting in the promotion code configuration. This will apply to all existing services using this promo code, instantly. Deleting invoices will not extend the duration of the promotional discount.

Fixed Amount Promotions and Additional Currencies

When defining the value for a Fixed Amount promotion, it is important to note that this value applies to the Base Currency. For example, if the installation's Base Currency is USD, then setting the Value for a Fixed Amount promotion to 100 will provide a discount of $100.00 USD when customers use it.

If the installation has additional currencies beyond the Base Currency, the system will use the Base Conversion Rate to determine the discount for customers using these additional currencies.

For more information, see Currencies.

Create Custom Promo

A "Create Custom Promo" button displays next to the Promotion field when you manually add a new order via the Add Order section of the Admin Area.

Clicking this button displays a modal that allows you to specify a custom promotion code that the system will automatically create and apply to the immediate order.

Use of this feature requires that the Administrator User have both the "Use Any Promotion Code on Order" and "Create/Edit Promotions" permissions. You can read more about permissions on the Administrators and Permissions page.