Configuring Sales Margins and Markups
Warning: If you need to change your margins or markups configuration, including rating attribute changes, to avoid business disruptions due to conflicting configurations and incorrect charges, please follow Changing Margin and Markup Configurations.
You can configure sales margins and markups depending on your distribution chain structure (the configuration procedure is the same):
As a Provider, you can configure sales margins and markups depending on your distribution chain structure:
Note: Third-party Resellers can only configure their own margins and markups after you complete your Provider-level configuration. The configuration procedure is the same for providers and resellers.
- Distribution through regional operating units ("OPCOs"):
- L0 (Provider): CloudBlue Commerce installation owner
- L1 (Provider's OPCO): Provider ← Set MSRP, margins and markups in UX1 for Resellers
- L2 (Reseller): Reseller ← Set margins and markups in UX1 for Resellers
- ...
- Li (Reseller): Reseller ← Set margins and markups in UX1 for Resellers
- Li+1(Reseller's OPCO): Reseller ← Set margins and markups in UX1 for Resellers
- ...
- Ln (Customer): End Customer
- ...
- Li+1(Reseller's OPCO): Reseller ← Set margins and markups in UX1 for Resellers
- Li (Reseller): Reseller ← Set margins and markups in UX1 for Resellers
- ...
- L2 (Reseller): Reseller ← Set margins and markups in UX1 for Resellers
- L1 (Provider's OPCO): Provider ← Set MSRP, margins and markups in UX1 for Resellers
- L0 (Provider): CloudBlue Commerce installation owner
- Distribution through third-party resellers:
- L0 (Provider): Provider ← Set MSRP, margins and markups in UX1 for Providers
- L1 (Reseller): Reseller ← Set margins and markups in UX1 for Resellers
- ...
- Ln-1 (Reseller): Reseller ← Set margins and markups in UX1 for Resellers
- Ln (Customer): End Customer
- Ln-1 (Reseller): Reseller ← Set margins and markups in UX1 for Resellers
- ...
- L1 (Reseller): Reseller ← Set margins and markups in UX1 for Resellers
- L0 (Provider): Provider ← Set MSRP, margins and markups in UX1 for Providers
Configuration of margins and markups is necessary and possible only for service plans with resources that must be rated using one of these rating models:
- Usage data rated by the vendor for the End Customer ('Price Rated' or 'PR')
- Usage data rated by the vendor for the Provider ('Cost Rated' or 'CR')
Margins and markups are not configured for service plans that must be rated using the Usage data rated by the vendor for all parties ('Tier Rated' or 'TR') rating model. For such service plans, usage data is imported fully rated by the vendor for all the three distribution chain parties. Vendor-rated Data Manager performs no additional calculations for such data; configuration of sales margins and markups is not performed.
Prerequisites
- PAYG service plans have been delegated to the necessary operating units.
- The Application Rating Engine PAYG: Margin Manager privilege has been granted to the necessary users.
Default Configuration for All Direct Resellers and Customers
To configure sales margins or markups for a service plan for all direct resellers (the default configuration):
Important: For this functionality to be available to a user, the Application Rating Engine PAYG: Margin Manager privilege is necessary. Resellers can set only their own margins and markups and only after you complete your provider-level configuration (until then, they cannot open the service plan at UX1 for Resellers > Price Management).
- Log in to UX1 for Providers or UX1 for Resellers. Go to Price Management. Click the necessary service plan.
- Choose the RATING MODEL (or usage schema) that you want to use to rate the service plan resources:
Important: You can choose only one rating model for a service plan and you can make this choice only once. You can set margins and markups only after the RATING MODEL is set. Please use different service plans for resources that must be rated using different rating models. If you need to change the rating model for a product, you must create a new service plan for this product and choose the necessary rating model for the new service plan.
Note: The rating model Usage data rated by the vendor for all parties ('Tier Rated' or 'TR') is not available for choice because such resources are imported fully rated by the vendor for all the distribution chain parties. Vendor-rated Data Manager makes no additional calculations for such resources. For service plans with such resources, sales margins and markups are not configured.
Usage data rated by the vendor for the End Customer ('Price Rated' or 'PR'): Under this model, the imported usage data is rated based on the vendor's list price for the customer and the margin percentages you configure below.
Usage data rated by the vendor for the Provider ('Cost Rated' or 'CR'): Under this model, the imported usage data is rated based on the vendor's price for the provider (or provider cost) and the markup percentages you configure below.
Click Save and confirm your choice.
-
(For Price Rated resources only) Optionally, to rate the imported usage data for the same product item differently depending on the value of some input parameter, set the RATING ATTRIBUTE.
Note: For example, a vendor uses a policy of compensating resellers based on customer satisfaction. By using a "customer satisfaction" attribute, the vendor may send customer satisfaction information to the Provider for each usage item and instruct the Provider to set the reseller margin accordingly:
• if the customer is satisfied with the reseller's service level (the attribute value, for example, is "1", which means "satisfied"), then the reseller's margin must be 5%.
• if the customer is dissatisfied with the reseller's service level (the attribute value, for example, is "0", which means "dissatisfied"), then the reseller's margin must be 0%.To configure an optional rating attribute:
Note: For a service plan with Price Rated resources, only one attribute with multiple values is allowed.
- In the RATING ATTRIBUTE tile, click CREATE.
- Enter the attribute name and values. Save the attribute. As a result, for each product item and attribute value, a separate line is automatically added to the margins table.
- Click SAVE.
-
(For Price Rated resources only) Define sales margins in the table:
Note: For each product item, there is a line for the default margin configuration (with empty ATTRIBUTE NAME and ATTRIBUTE VALUE). If you configured RATING ATTRIBUTE, for each product item and attribute value there is also a separate line. Usage data imported with the listed attribute values, will be rated according to the corresponding lines; usage data imported without attribute values or with unexpected attribute values will be rated according to the default configuration.
-
In the MARGINS section, click EDIT MARGINS.
-
In each line, set TOTAL MARGIN and YOUR MARGIN. The RESELLER / CUSTOMER MARGIN value is calculated automatically:
RESELLER / CUSTOMER MARGIN = TOTAL MARGIN - YOUR MARGIN
Important: If you need to set TOTAL MARGIN to 0% for a product item (for example, an Azure NCE resource), to avoid selling it below its cost to lower-level resellers and customers, do not apply discounts to this product item.
For the lowest-level distributor (after which there is only an end customer):RESELLER / CUSTOMER MARGIN = 0.
-
Click SAVE.
Warning: To ensure correct billing, complete all margin values for all product items. For your convenience, the system allows you to save partially completed margin values. If some of the values are null, a warning message is displayed. However, it is necessary to complete all margin values for all product items of the service plan. To view all product items, reset the search and view all pages of the product items list.
-
- (For Cost Rated resources only) Define sales markups for each product item and each attribute value:
- In the MARKUPS section, click EDIT MARKUPS.
For each item, set YOUR MARKUP and TOTAL RECOMMENDED MARKUP. The RESELLER / CUSTOMER MARKUP value is calculated automatically:
RECOMMENDED RESELLER / CUSTOMER MARKUP = (RECOMMENDED TOTAL MARKUP – YOUR MARKUP) / (1 + YOUR MARKUP / 100)
Note: Relationships between markups are non-linear:
RECOMMENDED RESELLER / CUSTOMER MARKUP ≠ RECOMMENDED TOTAL MARKUP - YOUR MARKUPPlease note that End Customers pay the price calculated at their immediate distributor's level. Depending on market conditions, distributors can regulate the price using markups. The effective price for an End Customer depends on YOUR MARKUP values defined by all distributors in the distribution channel and does not depend on RECOMMENDED TOTAL MARKUP and RECOMMENDED RESELLER / CUSTOMER MARKUP values.
For the lowest-level distributor (after which there is only an End Customer):If the distributor sets YOUR MARKUP value = RECOMMENDED TOTAL MARKUP value:
- RECOMMENDED RESELLER / CUSTOMER MARKUP = 0
- The customer pays the recommended price.
If the distributor sets YOUR MARKUP value < RECOMMENDED TOTAL MARKUP value:
- RECOMMENDED RESELLER / CUSTOMER MARKUP > 0
- The customer pays less than recommended.
If the distributor sets YOUR MARKUP value > RECOMMENDED TOTAL MARKUP value:
- RECOMMENDED RESELLER / CUSTOMER MARKUP is set to 0.
- The customer pays more than recommended.
If the distributor sets YOUR MARKUP value = 0 (or the value is not set):
- RECOMMENDED TOTAL MARKUP is used instead of YOUR MARKUP when calculating the price for the End Customer.
- The lowest-level Reseller earns 0% markup on the purchase.
Click SAVE.
Warning: To ensure correct billing, complete all markup values for all product items. For your convenience, the system allows you to save partially completed markup values. If some of the values are null, a warning message is displayed. However, it is necessary to complete all markup values for all product items of the service plan. To view all product items, reset the search and view all pages of the product items list.
Custom Configuration for an Individual Direct Reseller
To configure sales margins or markups for a service plan for an individual direct reseller (a custom configuration):
Important: For this functionality to be available to a user, the Application Rating Engine PAYG: Margin Manager privilege is necessary. Resellers can set only their own margins and markups and only after you complete your provider-level configuration (until then, they cannot open the service plan at UX1 for Resellers > Price Management).
- Log in to UX1 for Providers or UX1 for Resellers. Go to Price Management. Click the necessary service plan.
-
Switch to the RESELLERS tab. Click the necessary reseller. Switch Custom Settings on.
Important: If you switch Custom Settings off, the existing custom margin and markup settings are reset to defaults. When reset, the custom settings are not stored.
-
Adjust the configuration values as necessary. You can customize YOUR MARGIN and YOUR MARKUP only.
Note: After you enable Custom Settings, the default configuration is displayed, in which you can make adjustments. However, you cannot customize the TOTAL MARGIN and RECOMMENDED TOTAL MARKUP values.
- Save the changes.
Changing Margin and Markup Configurations
Warning: Be careful when making margin and markup configuration changes, including changes to rating attributes. Such changes may result in business disruptions for both providers and resellers due to conflicting configurations across the distribution chain and resulting incorrect charges for PAYG services.
Changing margins, markups, or attributes may result in configuration inconsistencies and incorrect charges for PAYG services for your resellers and customers.
To avoid business disruptions, make changes to your margin and markup settings in the following way:
-
Before making any changes, notify your resellers and agree on the procedure and timeline.
Important: Changes must be made sequentially starting with the contract owner and ending with the lowest-level resellers. Resellers see a warning in the UI and know they must change their margin and markup configuration only after their immediate upper-level distributor makes changes.
- Stop the rating process.
- Change margins and markups as necessary.
- Make sure that your resellers complete their changes.
- Restart the rating process.
Suspending Usage Data Rating
To make changes to your margin and markup configurations while ensuring correct usage data rating across your distribution chain, you can temporarily stop usage data rating and then resume it after you complete the changes. Please use an appropriate option.
Option 1: Suspend Usage Reporting from CloudBlue Connect
If you receive usage reports from CloudBlue Connect-based applications, you can temporarily stop usage reporting when you need to make changes to your margin or markup configurations.
Limitations
-
The procedure works only for CloudBlue Connect-based applications and does not work for other APS applications.
-
Only automatic reporting is stopped. If a usage report is imported through the UI or API, it will be processed based on the current margins and markups, which may be under construction, and the results may be incorrect.
Procedure
To stop the automatic import of usage data from CloudBlue Connect:
-
Go to Provider Control Panel > Operations > Operations > Tasks > Periodic. Cancel the following task (click the task, then click Cancel Task):
CloudBlue Connect Extension <UUID> Connect Chunk Usage Files retrieval
-
Run the following task and wait for its completion (click the task, then click Run Task):
Rating Engine PAYG ... Charges Rate Task
-
Cancel the Rating Engine PAYG ... Charges Rate Task task (click the task, then click Cancel Task).
After usage reporting from CloudBlue Connect is suspended, you can change your margin and markup settings in CloudBlue Commerce and synchronize your actions with your resellers.
Restarting Usage Reporting from CloudBlue Connect
To re-enable automatic usage reporting from CloudBlue Connect:
-
Go to Provider Control Panel > Operations > Operations > Tasks > Periodic. Run the Rating Engine PAYG ... Charges Rate Task task (click the task, then click Run Task) and wait for its completion.
-
Run the CloudBlue Connect Extension <UUID> Connect Chunk Usage Files retrieval task.
Option 2: Stopping Usage Data Rating by Vendor-rated Data Manager
To allow yourself a maintenance window to change your margin or markup settings, you can also stop usage data rating by Vendor-rated Data Manager. In this case, usage reports will be imported but temporarily will not be processed.
Limitations
When suspended, usage data rating by Vendor-rated Data Manager remains inactive until the Vendor-rated Data Manager microsevice POD is restarted in the Kubernetes cluster as a result of:
- Vendor-rated Data Manager update
- K8s probes being triggered for Vendor-rated Data Manager
- K8s node with Vendor-rated Data Manager restart
Procedure
To suspend usage charge processing by Vendor-rated Data Manager:
-
Go to the CloudBlue Commerce Management Node.
-
Disable data rating:
kubectl exec -it $(kubectl get pods -l 'app=ratingenginepayg' -o name | cut -d'/' -f 2) -- sh /opt/jboss/wildfly/bin/jboss-cli.sh -c --command='/system-property=rateJobEnabled:add(value=false)'
Expected result:
{"outcome" => "success"}
After data processing by Vendor-rated Data Manager is suspended, you can change your margin and markup settings in CloudBlue Commerce and synchronize your actions with your resellers.
Restarting Usage Report Processing
To restart usage charge processing by Vendor-rated Data Manager:
-
Go to the CloudBlue Commerce Management Node.
-
Re-enable data rating:
kubectl exec -it $(kubectl get pods -l 'app=ratingenginepayg' -o name | cut -d'/' -f 2) -- sh /opt/jboss/wildfly/bin/jboss-cli.sh -c --command='/system-property=rateJobEnabled:remove()'
Expected result:
{"outcome" => "success"}
-
Go to Provider Control Panel > Operations > Operations > Tasks > Periodic. Run the Rating Engine PAYG ... Charges Rate Task task (click the task, then click Run Task) and wait for its completion.
Checking Whether Usage Report Processing Is Enabled or Disabled
To check whether usage report processing is enabled:
-
Go to the CloudBlue Commerce Management Node.
-
Check the data rating status:
kubectl exec -it $(kubectl get pods -l 'app=ratingenginepayg' -o name | cut -d'/' -f 2) -- sh /opt/jboss/wildfly/bin/jboss-cli.sh -c --command='/system-property=rateJobEnabled:read-resource()'
Usage report processing is disabled if the result is:
{
"outcome" => "success",
"result" => {"value" => "false"}
}Otherwise, usage report processing is enabled.