Order promotions are applied based on quantity or price tiers of the order.
This article explains how to install the Order Promotions module. To create Order Promotions, see Item and Order Trade Promotions Editor Guide. (You can also view a recorded training webinar on creating promotions - Product Education - Trade Promotions training).
To install Order Trade Promotions, log in to the Pepperi Webapp (you must log in via the new login) as an Admin user.
Click on Settings -> Configuration -> Add on Manager
NOTE: If you have a custom Webapp Main Bar configured in the webapp, the Settings gear will not be visible. You will need to remove the custom Main Bar for the Admin profile only (add the Admin profile to the Webapp Main Bar customization with no file selected). This will not affect the view of buyers or other profiles using the webapp.
Select Order Trade Promotions
Select the Edit Menu and Install
Now, continue to the additional installation steps detailed below.
(If you don't see the add-on you want in the list or get a notification that you don't have access to install this Add on, contact us to enable it)
Additional Installation Steps
To complete the installation, the admin must complete the following steps. Once the admin completes these steps, then any user can use the promotions editor to create the promotions themselves.
Before installation - check your internal delimiter in ERP Integration Configuration settings. The internal delimiter cannot be set to ':' otherwise the data from the promotions will not be displayed in the editors. If your internal delimiter is set to ':' and you need to change it to ';' or '~' consult with your Pepperi project manager first, because this will affect your integration data.
- Run the installation for each Transaction Type you want to create Order Trade Promotions for.
- Define Promotion Types in the Types Editor
- Modify the workflow of the Transaction Types you installed the Order Trade Promotions on, in the Pepperi back office.
- Indicate custom pricing fields for Order Promotions
- Advanced configuration for Order Promotions with an "Additional Phase"
- Create Items list (you can define which Item list will be used as default for selection of items when creating promotions in the Order TP Editor)
- Create a shortcut button to the editor for the user who will be configuring the trade promotions (marketing manager, sales manager etc.)
Detailed instructions for each step appear below.
1. Run the installation for each Transaction Type you want to create Order Trade Promotions for.
The Order Trade Promotions Add on will be added. For Order Trade Promotions to be configured, you must run the installation for each Transaction Type you wish to have Order Trade Promotions for.
For example: B2B Transaction, Sales Rep Order, etc.
Best practice
It is best practice to first duplicate the transaction you want to use promotion on - for example duplicate your Sales Order Transaction to "Sales Order with Promotions" - and install the promotion on the duplicated transaction. That way you can use the duplicated transaction during the configuration and testing period and once done, run the installation again on the original transaction. Once you are done testing, you will need to modify those promotion types to apply to the original "Sales Order". Promotion types are explained below.
How to Duplicate a Transaction Type
Create test orders with test values of your duplicated transaction:
If you are limiting promotions by Transaction Type, you will need to create at least one test order on the duplicated Transaction Type in order for the editor to recognize this transaction. Also, any Transaction fields that you want to use to limit the promotion by will need to have at least one test order with each value so that you can select it when configuring the promotion types (ie if you want to limit promotions by payment method of cash, you must have at least one test order where the value cash was selected for the payment method field in the database, for the editor to recognize this value).
Go to Settings -> Promotion Setup -> Order TP Setup
Select the Transaction Type that will support Order Trade Promotions (note the best practice tip above before selecting your transaction).
After the installation, the following objects will be created in your Pepperi back office.
NOTE: Do not delete or change these objects otherwise the promotion will not work properly.
- User defined tables with the prefix of 'PPI_OrderPromotion'
- Custom Transaction fields in the selected Transaction Type with the prefix of 'PPI_OrderPromotion' (in addition to any existing custom fields you already may have in this Transaction)
2. Define Promotion Types in the Types Editor
In order to create Order Trade Promotions, you must first define the combinations of properties that the Order promotions apply to. These are called "Order Promotion Types", and they are defined in the Order Promotion Types Editor. They will later be selected in the Order Promotions Editor to define the promotions themselves.
Here are some examples:
Promotion Applies to |
Properties to add to the Order Promotion Type (Object -> Property) |
Medium sized Accounts, that usually pay by credit, but this order paying by cash |
Account -> Size Account -> Default Payment method Transaction-> Selected Payment Method |
Small customers located in City "A", only when sales reps are ordering on the app |
Account -> Size Account -> City Transaction -> Type |
Buyers ordering on Pepperi B2B eCommerce site only |
Transaction -> Type |
In the Type definition, you define which fields will be used, and not the values of the fields to be filtered. (You will define the values in the Order Promotion editor).
Go to Promotions Setup -> Order TP Types, and click Add+, to define a type.
Description - name the Promotion Type, make it a descriptive name so that it is clear to the person who will need to select the type in the Editor.
Priority - give a priority to each type. If there is more than one Promotion that applies, then the promotions will be applied in order of their priority.
The priority is relevant only if you don't want to apply multiple promotions.
Apply multiple promotions -
- Yes, continue to the next promotion - means that all promotions will apply on top of each other. In this case, the Priority does not matter, enter "1" for Priority.
- No - means that if more than one Promotion applies to the Order, then no additional promotions will be applied after the current one.
Example: There is an Order discount of 10% for orders over $500, and there is an Order discount of 5% for Medium sized Accounts
Over $500 total discount - Priority=1
Medium Sized Account - Priority=2
If you choose "Yes, continue to next promotion" on Over $500 promotion type - a Medium sized customer with total over $500 gets both discounts
If you choose "No" on the Over $500 promotion type - a Medium sized customer with total over $500 gets only the Over $500 10% discount, will not continue to the next promotion
Promotion Properties
Object Type - Select the object of the Promotion Type fields - Account or Transaction
Property - Select the field for the Object type, includes custom fields.
Click Add + to add more properties.
Click Save.
3. Modify the workflow of the Transaction Types you installed the Order Trade Promotions on, in the Pepperi back office.
You'll need to edit the Workflow as follows:
Add the following actions in the transition to the final (typically between In Creation -> Submit) status of the transaction you installed the Order Trade Promotions on.
- Add a 'Calculate Formula' action with the 'PPI_OrderPromotion_Trigger' field.
- Add a 'Branch' action on the 'PPI_OrderPromotion_AdditionalPhaseShouldStart' field. The failure workflow should continue to the same status.
- Add an 'Open Campaign' action with 'PPI_OrderPromotion_AdditionalPhaseItemExternalID' field after the 'Branch' action.
The Workflow for each Transaction with Order Trade Promotions enabled will look like this:
If you have additional actions, such as Notifications or other Alerts, you can include those actions in the Workflow at any point as well.
4. Indicate custom pricing fields for Order Promotions
By default, the Order Promotion module will use default fields from the Transaction as input to determine if the promotion should be applied, and as output to set the new price or discount. These fields are listed in the table below.
If you are using custom fields for these fields, you will need to indicate which fields the promotions should be based on by editing the PPI_OrderPromotion_Init field.
Default Input | Default Output |
SubTotalAfterItemsDiscount field for the total price of the order before promotion discount (ie Buy $1200 or more and get 15% off order)
|
GrandTotal field for final price after order promotion discount. |
DiscountPercentage field to store the discount percentage applied to the order by the order promotion. | |
UnitsQuantity field for quantity based order promotions (ie Buy 100 items get 5% off order) |
|
UnitPrice field for the item price for any additional item added by the order promotion |
UnitPriceAfterDiscount field to store the price after discount of any additional item added by the order promotion. |
UnitDiscountPercentage field to store the discount percentage applied to any additional item added by the order promotion. | |
TotalUnitPriceAfterDiscount for the total of each line |
To indicate your own custom fields:
- Edit the PPI_OrderPromotion_Init Custom Transaction Field
- Go to the Input or Output section (see below), uncomment the relevant lines and enter your custom field names.
Examples of custom input fields:
If you are using a custom field TSACalcSubTotal instead of the default SubTotalAfterItemsDiscount, uncomment the API_OrderPrice line and enter your field API name instead of "TSAmySubTotalAfterItemsDiscount".
If you are using a custom field TSACalcUnitQuantity instead of the default UnitsQuantity, uncomment the API_Discount_BreakBy-Quantity and enter your field API name instead of "TSAmyUnitsQuantity".
Examples of custom output fields:
If you are using a custom field TSACalcOrderDiscount instead of the default DiscountPercentage field, to store the percentage discount on the order, uncomment the API_OrderDiscount line and enter your field API name instead of "TSAmyDiscountPercentage".
If you are using a custom field TSACalcOrderTotalAfterDiscount instead of the default GrandTotal, to store the order total after the order promotion discount, uncomment the API_OrderPriceAfterDiscount and enter the API name of your field instead of "TSAmyGrandTotal".
/* Input fields: */
// config.APINames["API_OrderPrice"] = "TSAmySubTotalAfterItemsDiscount"; // The field which contains the order price
// config.APINames["API_Discount_BreakBy_Quantity"] = "TSAmyUnitsQuantity"; // The field which contains the order quantity (for a quantity based discount)
// config.APINames["API_Discount_BreakBy_Price"] = "TSAmyTotalUnitsPriceBeforeDiscount"; // The field which contains the order total price (for a price based discount)
// config.APINames["API_UnitPrice"] = "TSAmyUnitPrice"; // The field which contains the item price (for additional item)
/* Output fields: */
// config.APINames["API_OrderDiscount"] = "TSAmyDiscountPercentage"; // This field will be set with the new order discount
// config.APINames["API_OrderPriceAfterDiscount"] = "TSAmyGrandTotal"; // This field will be set with the new total price after discount
// config.APINames["API_UnitDiscount"] = "TSAmyUnitDiscountPercentage"; // This field will be set with the new discount (for additional item)
// config.APINames["API_UnitPriceAfterDiscount"] = "TSAmyUnitPriceAfterDiscount"; // This field will be set with the new unit price after discount (for additional item)
// config.APINames["API_TotalUnitsPriceAfterDiscount"] = "TSAmyTotalUnitsPriceAfterDiscount"; // This field will be set with the new total unit price after discount (for additional item)
// config.APINames["API_UnitsQuantity"] = "TSAmyUnitsQuantity"; // This field will be set with the new quantity (for additional item)
5. Advanced configuration for Order Promotions with an "Additional Phase"
In case your Order Promotion includes an additional phase, meaning you can select additional free or discounted items based on the criteria in the promotion, then you need to select a Transaction Type that will contain these additional items.
If the criteria are met, an additional items window will open up, allowing the user to select from a predefined list of items.
In the installer select Advanced setup:
There will be a default transaction for additional items selected for you. If you have created more Additional Items transactions you will be able to select them here. Click Save.
Further configuration of the items in the additional phase will be done in the Order Promotion Editor.
6. Create Items list (you can define which one to use for selection)
Before configuring Trade Promotions in the editor, the admin will need to create at least one Items List. (If you've already created the list for another type of Trade Promotion, no need to do it again. The same list can be used to configure all Promotion types).
To create an Items List please follow these instructions carefully - Item Lists
When creating the list, make sure to include fields in the List View layout, and Smart Search of each list that will enable quick filtering of the lists, so that it's easier to find the Items that the promotions will apply to.
If you have created a specific Item List (or Account List) that is more convenient for you to use for selecting Items or Accounts for a promotion, you can define that as the default list that will be shown.
To define a specific Account or Item selection list:
Settings -> Promotion Setup -> Item TP Setup
Click on Advanced Setup and enter the List ID(s)
You can find the List ID as explained in section #9 in Package Promotions Advanced Configuration
6. Create a shortcut button to the editor for the user who will be configuring the trade promotions (marketing manager, sales manager etc.)
The user who will configure the promotions in the editor will need access to the editor page (they won't have access via the Settings Add-ons if they are not an Admin).
First set the Addon Permissions for the profile in order to allow them to access the add ons: How to set Addon Permissions.
Then copy the editor page link and add it as an Online Add-on shortcut button to the user's Pepperi home screen.
If you want the user to have access to the editors for all 3 types of Trade Promotions - Item, Order, and Package - you will need to create 3 shortcuts (each editor has its own link. Instructions for each editor are in the installation guide for that editor).
If you upgrade the version of a promotion Add-on you will need to re-copy the link and replace it in the online add on.
To copy the link:
Go to Promotions Editor -> Order TP Editor
When the editor loads, copy the URL. It will look like this (with your ID):
https://app.pepperi.com/CustomPlugin/<Order_Trade_Promotions_ID>/defaultEditor
Then add it as an online add-on button on the user's home screen - How to add shortcuts to links on the App Home Screen and Menus
User's home screen with Promotion Editor shortcut buttons
0 comments
Please sign in to leave a comment.