For Company operating in retail industry working without promotions is rather not possible at the moment. Unfortunately with most of the projects I have seen for retail industry, external tools are used to plan and execute promotion management as a replacement of using SAP promotions. Other solution is that in SAP only promotion determination is done in Sales documents for further reporting analyses but whole planning and logistics operations are done outside.
Below described SAP configuration of promotion with integration of Bonus buy in POS system.
Customizing for promotion is in SPRO -> Logistics -> General – Retail Promotion
Promotion type: As a first step new promotion type (or existing can be reused as well) is defined.
Definition of promotion type is split into following section
- Price activation – These are default values regarding conditions that are going to be created and on which level. All are changeable directly in the promotion. As in the example below, only sales price (Create SP conditions) is going to be changed and adjusted in transfer price from DC to store will be done (Create DC conditions). For sales price calculation option ‘Without calculation’ means creation of sales conditions without any margin calculation that is without change of DC and Purchasing conditions. From remaining fields important is Price activat. type which indicate level of price activation (again changeable in Promotion).
- Condition type groups – Because as a result of promotion processing we can generate multiple of different pricing conditions, allowed to be generated in Promotion are assigned to groups (one group for purchase one for sales). These condition are supplementary regarding to promotion sales price calculation.
- Reference for sales price determ. – Whenever article is entered in the promotion system tries to calculate non-promotion sales price. To determine sales price procedure distribution chain and reference site is needed. Despite mentioned parameters are not mandatory it’s important to enter them in case if promotion is article related as system based on it does promotion sales price conditions determination.
- Sales Discount – As the promotion is not always related to article discount, there is an option to generate again special sales conditions for absolute percentage and value discount. You can assignment it to different level of groups like merchandise categories etc.
- Control – This section describes non-pricing related behaviour of promotions. At the beginning set of default dates for multiple purposes like prices dates, start of sales, listing etc (more regarding dates later). Further default values for allocation table are set and how article is checked against promotion listing procedure (listing procedure one that is marked as default for promotions – field TWLV- AKTVF). For announcement as a subsequent processing output with promotion can be generated, procedure and application are set here.
Below example of promotion type configuration that I’m going to use later on.
Sales Price calculation and Condition generation
Price conditions coming out of promotion processing could be generated in three different way from a single promotion.
Tab Discounts – here condition types defined in the section of Sales Discounts of promotion can be maintained for Material (only these assigned in promotion), Material category, MC hierarchy, Article hierarchy or generally valid condition. Per one level of new condition maintaining it’s possible to enter either percentage discount or value discount, not both together.
Tab SP conditions – in this tab, sales conditions assigned to group of SP condition defined in promotion are maintained. Due to the system is launching tcode to maintain condition (VK11) information about which table is to be used is assigned in customizing.
Fast entry tab (or details of promotion item) – last way to generate promotion conditions (generation depends on sales, purchasing and DC checkbox) is related to sales price calculation. Below only short explanation related more to integration between promotion processing and sales price calculation. The whole process of sales price calculation is quite advance and for more details about it including logic for transfer price, please have a look here.
How the sales price is calculated in Promotion?
To calculate initial sales price system needs to determine first sales calculation procedure. In definition for promotion type there is a section reference for sales price determination that includes fields Sales Organization, Distribution channel, Customer and Price List. These fields are copied to promotion and based on them system does determination of sales price calculation procedure (more preciously only with Sales Organization, Distribution channel and Price List). With determined procedure sales price is calculated. If Customer is defined in promotion type it’s used to calculate price, otherwise price on the level of Distribution chain and price list is calculated as a base sales price in promotion (TCode VKP2 can be used to display article price on different levels).
Whenever new sales price has been set in promotion, system is executing sales price calculation with procedure determined as described above. With new values further processing steps depend on settings in promotion, which new conditions should be created (Sales, DC, Purchasing) or if sales price should be directly stored in condition (‘Without calculation’ checkbox) when price is activated.
Some steps in executed pricing procedure contain extra condition type that is updated in case of promotion processing. Example of it is step with list field ENDPR that in regular price calculation updates VKP2 condition type but in case of promotion calculation VKA0 condition type is updated.
Promotion can be created from WAK1 transaction or from Price Planning Workbench (PPW). Second option is more related with price and markup calculation and integration with MAP (Merchandising and Assortment Planning). In this article only direct creation option with WAK1 is used.
From my perspective promotion can be split into two kinds, first one is where articles are assigned and second type is where only condition types for discounts or bonus buy are created (third option is to use both options in same promotion).
On the initial screen basic data regarding promotion are entered like currency and ‘on sales date’. In overview section most of data is entered regarding article, quantity, logistics (allocation, deliveries etc), site validity, bonus buy and discount. Some of them like bonus buy, discounts or modules are not available in creation mode but only in change.
I will skip settings like allocation (more information about allocation can be found here), free buys etc. Allocation tab controls the degree of store participation (mandatory quantities of merchandise for each store, optional quantities and optional participation).
At the header level, mostly default data has been copied from promotion type definition.
If you wish to clearly define responsibilities, you can assign organizational levels (purchasing organization, sales organization and distribution channel) to a promotion as an attribute for evaluation purposes.
For date purpose there is an option to set different validity periods and/or delivery dates for stores taking part in the promotion. Option to set validity periods for purchasing, sales, and deliveries, for both retail and wholesale customers.
- The purchasing period, within which you can order merchandise from your suppliers. Only during this validity period do the promotion purchasing conditions apply.
- The order period, within which orders can be placed with the distribution center
- The delivery period, within which merchandise must arrive in the stores
- The selling period, within which the sales price conditions defined for the promotion are valid and within which the merchandise is on sale in the stores
On item level following tabs are filled in creation mode (don’t forget that some of them can only be maintained within change mode).
Site group assignment – here promotion is assigned to sites that participate in it. This require to created site group. Site group can be created in advance and used multiple times or it’s promotion dependent. Second type work fine but I’m not able to generate listing conditions based on site-group created only for promotion.
As a limitation I see that promotion cannot be created directly for the Customer which can be huge wholesale organization. In this case Customer should be reflected in the system as site to assign it site group, or sales price condition can be maintained where in access sequence there is a Customer field.
Modules – For listing purpose promotion can create two types of modules, one is promotion module to include articles and second one for exclusion of article for particular sites. Both modules can act only on articles defined in promotion.
SP condition – as described above, in this tab sales conditions assigned to group of SP condition defined in promotion type definition are maintained. Here you can also maintain rebate settlement for SD (Rebate agreement) and MM (End of period rebate).
When promotion is created subsequent processing can be executed depending on the promotion requirement.
- Price activation and Supply Source determination – as name indicate system will active price defined in promotion and condition records are created. If there is more than one vendor for each article, you can also create separate purchase prices. Sales price activation should be done after source determination is performed. The reason of that is the assignment of purchase price which has been set in promotion item. If item was assigned to site group that contains more them one site and procurement for promotion is with external source, purchase price from promotion needs to be activated for all vendors determined for each site in site group. Supply source (Vendor) is used later on to generate allocation table. Although considered part of subsequent processing, this is an optional feature which is not automatically invoked by the system, and can be used independently of the other subsequent processing functions.
- Announcement – step used to communicate about promotion with stores. Scope of massage exchange (which can include, notification, request to confirmation) is set as default in promotion type.
- Listing – not always article is listed in site for which promotion is created. In this case listing module can be created for duration of promotion (more preciously for duration of listing set in promotion). The field with listing has few option to be checked before promotion specific listing module is created
- Blank – no check against listing rules/condition before listing module is created
- X – check only against listing procedure. Before promotion listing module is created system does check against listing procedure marked as default for check in promotion processing.
- Y – check against listing condition. Before promotion listing module is created system does check against already existing listing conditions. If article is not listed for site then not possible to processed it further and create listing conditions
- Allocation table – step used to generate allocation table for procurement and/or distribution of goods from DC to stores.
Split valuation for promotion
Split valuation for promotion is predefined by SAP and contains Valuation category R – Retail with has two valuation types: Normal (RNORMAL) and Promotion (RACTION). When purchase orders are created, the system checks to see whether the article is assigned to a promotion. If so, it proposes the default valuation type (for example, promotion or normal) based on the valuation category in the article master record and the valuation types assigned to it in Customizing for Material Management. However, this can be overridden (changed to normal, or no split valuation).
For Purchase Order promotion determination and proper valuation type is done as a follow-up function of allocation table.
For Sales Orders determination of promotion (setting per sales area and sales order type) is working based on the promotion number, promotion valuation type is determined. In case of POS transaction despite of presents of promotion number in incoming POS transaction system is taking to GI valuation of normal stock.
For both POS and non-POS sales, the sales document for an article contains the promotion number, if it exists. If so, the value of the article sold is posted against the promotion stock account for the site and the revenue is posted to a special promotion account. If a promotion number does not exist (for example, when the promotion is over), the value is posted to the normal stock and revenue accounts.
Coupons entitle customers to a bonus for purchasing merchandise. For example, buy two pieces and get a third one free, or an extra 20% off on all previously marked-down merchandise. Coupons are treated as articles in the SAP system. You create an article master data record for each coupon. Article type COUP is delivered with the standard system. Coupon information is downloaded to POS at the same time as other promotion data. You configure the POS side to verify that the required articles are purchased in the correct quantities before the coupon is applied.
From promotion point of view use of Bonus buy is seamless. Proper data are first distributed to POS system and later on POS system is responsible to include proper data into inbound message. Bonus buy can be created in advance with transaction VBK1 or directly in Promotion. To Bonus buy in section of prerequisites you assign conditions that makes bonus buy valid. Usually it’s assignment of coupon article. In promotion if Bonus buy was created in advance then on tab of coupons you assign coupon article used in Bonus buy.
Coupon article is assigned to coupon distribution profile that tells system how to distribute discount amount coming from use of bonus buy.
And later on the invoice generated as sales in POS system we see distribution of value of Bonus buy discount according to used coupon article and it’s assigned profile