Skip to Content

Pricing Conditions in CRM Trade Promotions


A CRM trade promotion may generate different types of conditions. Depending on the trade spends a trade promotion will generate price determination relevant conditions such as pricing conditions (PR), rebate conditions (BO) and free goods conditions (FG). This article contains information about PR conditions only.


Pricing Conditions are used in the off-invoice scenario to give a certain discount to the customer when buying the promoted goods. That can be a fixed amount per case (10€ off per sales unit) or a percentage value (2,5% off). The discount is applied on the invoice, the discount is therefore applied in advance. The discount is driven by the trade spend type used. Off-Invoice Trade Spends create condition records from type PR.

The sample promotion contains different trade spends and shows the PR conditions created.

For each trade offinvoice trade spend a seperate PR condition record will be generated.

In case there are exceptions maintained for the products the PR conditions are generated accordingly.

It is therefore possible that several PR condition records are generated for a single product in the trade promotion. This is depending on the product exceptions.

The spend value is taken from the trade spends. There are two different scenarios:

  • CRM rates: In case of CRM rates the spend value is stored in CRM on trade spend level. The values can be edited in CRM using the trade spend assignment block.
  • BI rates: In case of BI rates the spend value is stored in BW only. The values need to be entered in the planning layout of the trade promotion. The trade spend assignment block won't show the values at all.

PR Conditions Generation

PR conditions are either generated when releasing, the trade promotion or can be created manually using the 'generate conditions' button. Using the 'generate conditions' button the PR conditions can be re-generated again after any changes were done to the trade spends.

Using the 'generate conditions' button the conditions are generated or re-generated for the selected trade spend only.

When PR conditions are generated the product assignment is validated against the master data. This happens in the call of

cl_crm_mktgs_prod_assign=>reeval_mass_assign. In case the master data got changed conditions cannot be generated and the following error is raised:

CRM_MKTPL_COND_IF 077 Pricing conds not maintained successfully; status change cannot be saved

In that case the PMDC report needs to be used to correct the product master data. Please find further information about the PMDC in the following document: PMDC report in CRM Trade Promotions

Status Dependencies

There is the following design based on the status of the trade promotion:

  • Status CREATED:
    In status created PR conditions can be generated manually only using the 'generate conditions' button.
  • Status RELEASED:
    On releasing a trade promotion the PR conditions are automatically generated.
  • Status LOCK, CANCEL
    Locking or cancelling a trade promotion deletes the PR conditions. The condition records are not deleted physically but get the deletion flag assigned, and cannot be used.
    Unlocking or undoing the cancel status will activate the PR conditions again that are flagged for deletion.
  • Status FINISHED
    Finishing a trade promotion won't affect the PR conditions, the conditions are still valid.

PR condition records are updated automatically when changing the trade promotion execution dates, or when changing the product or trade spend validity.

When the trade promotion execution period gets changed the PR conditions get changed automatically.

When having product effective dates, chaging the trade promotion date is not changing the Pr condition dates. Those are still created based on the product effective dates.

When changing the spend value or maintaining any product exceptions for a released trade promotion the the PR conditions need to be re-generated manually.

PR conditions are deleted by one of the above mentioned status. Additionally the conditions are deleted when deleting either the product or the trade spend. This is however prohibited for active released trade promotions, so is allowed either for not yet released or for future dated trade promotions only. PR condition records are not deleted physically but get the deletion flag assigned.

The PR conditions can be deleted manually as well. This happens when using the 'delete' button from the Discounts assignment block. This function can be used to delete the individual PR records manually:

Retroactive Trade Spends

A past dated trade promotion (with having the end date earlier than today's date) has so called retroactive trade spends assigned. With having business function CRM_TPM_1 activated it is controlled via the customizing whether it is allowed to process retroactive trade spends. There is a check if off-invoice trade spends exist in the trade promotion. When off-invoice trade spends with dates in the past already exist, there is the following customizing:

  • Retro-Active Trade Spend Allowed
    • Past dated off-invoice trade spends can be added
    • Products can be added for past dated trade spends
  • Retro-Active Trade Spend not Allowed
    • Off-invoice trade spends with dates in the past must not be added or processed
    • Effective dates for products that are in the past must not be added

The design is documented in the following KBA:

2181744 - Error "Cannot add or modify retroactive off-invoice trade spend "in Trade promotion with Retroactive Dates


CRM or BI rates:

In the following customizing it needs to be defined wheater CRM or BI rates are used.

Customer Relationship Management

Trade Promotion Management

Basic Data

Define Rates' Origin

This customizing defines where to maintain the spend values.

Trade Spends

In the following customizing is required for defining the trade spends that are to be used in the trade promotion.

Customer Relationship Management

Trade Promotion Management

Trade Promotions

Trade Spends

Define Trade Spends for Values

The customizing defines the possible spend type, spend category and spend method. This customizing holds the mapping to the key figure used in the planning layout.

Using the 'Relate Date Range' maintenance dialog any of the additional date range can be used as condition dates.

Condition Generation Customizing

The condition generation is depending on the condition generation type. The condition generation type is mapped to a the trade promotion type and the sales organization, distribution channel and division data. The mapping is done in the following customizing:

Customer Relationship Management

Trade Promotion Management

Trade Promotions

Condition Maintenance

Assign Condition Generation Types

The PR conditions customizing is linked to the condition generation type and needs to be maintained in the following customizing:

Customer Relationship Management

Trade Promotion Management

Trade Promotions

Condition Maintenance

Define Condition Generation

The PR specific customizing is available in the 'Pricing Condition Types' dialog.

This contains a mapping from the trade spend type, spend category, spend method to the condition type. The condition type from usage PR are off-invoice conditions.

The 'Conditions Table' dialog holds the mapping for the account dimension and product dimension to the condition table that is used for generating the PR records.

Condition Types

The condition types are available in the following customizing path:

Customer Relationship Management

Basic Functions


Define Settings for Pricing

Create Condition Types

The condition type stores the information about the conditions to be generated. For Pr conditions the most important information is the calculation type. The calculation type specifies how the system calculates the conditon value. For PR conditions this is either a fixed amount per quantity or a percentage value.

Condition Tables

The condition tables are available in the following customizing path:

Customer Relationship Management

Master Data

Conditions and Condition Technique

Condition Technique: Basics

Create Condition Tables

The condition table contains the combination of fields used for the coniditons generation.

Retroactive Trade Spends

The following customizing enables for trade promotions created in a specific sales area:

Customer Relationship Management

Trade Promotion Management

Trade Promotions

Trade Spends

Define Sales Areas for Off-Invoice Check


The BAdI CRM_MKTPL_COND_IF provides method CHANGE_WORKING_SET_PR to modify the PR condition records while creation. This may be used to change or add addional attributes.

Additional Information

Depending on the account dimension of the trade promotion the PR conditions can be created on sold to level, or on account hierarchy or target group level. The same is defined by the condition table used.

Some PR condition records may not include the account field at all, these condition records require the campaign ID instead. The conditions are then identified and applied when the trade promotion is determined using the CD records. This is the case for short term trade promotions.

In this case there is no account information included in the PR record, but due to the condition type used the TP guid is available on the PR condition record.

Pricing Conditions can never be generated without spend value assigned. The conditions generation is failing with the following error messages in that case:

No data for condition generation available for &1, &2, &3. [CRM_MKTPL_COND_IF 109]

No data for condition generation available [CRM_MKTPL_COND_IF 044]

Using report CRM_MKTPL_COND_IF_R002 PR conditions for trade promotions can be created from the backend.

Known Issues

There are some known issues that should be solved with the following SAP notes:

Conditions cannot be generated due to overlaping condition records

Date Shift not working

There is an issue happening for long term trade promotions - for trade promotions without having campaign determination records and without having the campaign guid available as field in the underlying condition table. Whenever there are similar conditions existing that were deleted earlier (technically got the deletion flag) conditions cannot be generated properly on releasing the newly created trade promotion, nor on shifting the trade promotion dates. The reason is an overlap issue with the existing deleted condition records.

The deleted condition records may come from old 'finished' ttrade promotions. Those deleted records should not be considered in the overlap checks.

The issue can be solved with implementing BAdI /SAPCND/MNT_CHK_R3C.

Using the following filter settings:

Appl.     = CRM

Usages    = PR

Cond.Type = *

Table     = *

MaintCont = 'CAMPAIGN'

The interface method PREVENT_PROCESSING_DELETED_WSI needs to be implemented - the following can be taken as a template:


* By default method was executed and everything was ok

e_was_executed = ctcus_true.

e_result       = 0.

* TP excludes deleted condition records from processing

* Overlap check will not take deleted records into consideration

e_is_processing_allowed = ctcus_false.


Error on generating conditions

2195430  Not able to generate conditions: infinite loop

2074961  Error in condition generation when BO and PR trade spends exist and one has conditions at customer level

2035429  In Trade Promotion, when generating conditions, if trade spend value is 0, in certain circumstances no error message is triggered.

1901912  Condition generation errors

Error on changing TP status

2145334  Run time error while closing long term Promotions

Error on shifting TP dates

2064219  In Trade Promotion, changing the Effective To date of a product category change the 'TO' date of all product category condition records

1999452  Dates in campaign determination record not adjusted when campaign dates are changed

1644003  Cannot change End Date of a released Off-Invoice Promotion

Amount issues with BI rates:

When using BI rates the decimal settings in BPS planning need to be considered as well - the set up is documented in the following blog:

Decimal issues in BPS Planning for CRM Marketing Objects

This document should provide an overview about PR conditions in trade promotions. In case you feel anything is missing, or anything is unclear please let me know.

A similar document is available for Campaign Determination Conditions in CRM Trade Promotions and Rebate Conditions in CRM Trade Promotions.