Having funds management integrated in trade promotions enables further planning options within the trade promotion cycle. The trade promotion has a funs plan assigned, that contains several funds. The correct funds to be used for the trade promotion activities are determined based on specific criteria, the particulate funds are associated to the trade promotion at various levels. The expenses expected for the trade promotion are determined and budget is reserved accordingly.
Funds Plan
The funds plan is the most top object in funds management. A funds plan is created as a certain funds plan type, for a certain planning period, for a certain currency and for certain organizational data. Once the funds plan is released it can be used in trade promotions.
![ex funds plan.jpg]()
The funds plan type defines the technical details of the funds plan and define the scenario where the funds plan is supposed to be used, such as TPM or MDF scenario. The funds plan type further defines which fund types can be assigned within the funds plan.
Funds
A fund is the object used for managing funds. The fund type defines the usage of a fund, the fund type is linked to a specific expense type. Additionally the funds type defines the fund attributes used for funds determination.
![ex fund.jpg]()
Once a fund is in status preliminary any budget may be posted on the fund. The available budget together with several other key figures are available in the fund checkbook.
![ex fund checkbook.jpg]()
Several funds are grouped together within a funds plan. Once the funds are released, they can be used in the trade promotion.
The sample funds plan contains 3 funds from different funds types, generated for different product categories.
![ex fund plan funds.jpg]()
TP Fund Association
The integration of funds management into trade promotion management starts with the assignment of the funds plan to the trade promotion. Once the funds plan is assigned to the trade promotion, system ensures that the currencies of the trade promotion and the funds plan match, and that the date range for the trade promotion falls within the planning period of the funds plan, and finally that the funds plan is released.
![graph tp fund assignment2.jpg]()
The funds plan is to be entered in the header of the trade promotion.![ex tp funds plan assignment.jpg]()
Once a certain status is reached the fund association is generated. Technically the same happens from the FUND_ASSOCIATION_HANDLER.
The FUND_ASSOCIATION_HANDLER triggers the funds determination and returns the correct fund for each product dimension / expense type combination. System validates the fund attributes against the trade promotion attributes.
![graph funds determination2.jpg]()
If a fund is returned by the fund determination the fund association is generated accordingly.
![graph fund assoziation 3.jpg]()
In case more products or more expense types are used in the trade promotion the number of different funds returned depends on the fund association level.
Fund Association Levels
Funds can be associated at the following levels
- Root: with funds association at root level, funds are determined based on the data in the trade promotion header. This should be used if the funds don't have product attributes defined. This is used for general purpose as the funds that are not for specific trade expenses.
![graph fa root.jpg]()
- Product: with funds association at product level, a level suitable fund is determined for each product included in the trade promotion. The system retrieves the funds applicable to the product (also including product category, product group, and product segment) based on the fund determination rules. This assumes that the fund used at the product level is applicable for all the trade spends you set up for the trade promotion.
![graph fa prod2.jpg]()
A trade promotion having 2 product and 2 trade spends assigned gets the funds determined for the products for the first available funds type:
![ex fund asso pr.jpg]()
- Trade spend: with funds association at trade spend level, a suitable fund is determined for each trade spend used in your trade promotion. System uses the expense type that is mapped to the trade spend and the fund determination rules to determine a suitable fund from the funds plan. This option should only be used if the funds don't have product attributes defined.
![graph fa expense.jpg]()
A trade promotion having 2 product and 2 trade spends assigned gets 1 funds determined for each trade spend. The several products may use the same fund:
![ex fund asso ts.jpg]()
- Trade spend/product: with funds association at trade spend level, a suitable fund is determined for each combination of product and trade spend. This is the most precise way to associate a fund to the trade promotion if the funds in the system have both product and account attributes defined. The fund details assignment block is used to associate the funds at this level.
![graph fa prod expense.jpg]()
A trade promotion having 2 product and 2 trade spends assigned gets the funds determined for each product and trade spend combination:
![ex fund asso ts pr.jpg]()
Huge trade promotions with several products and several trade spends may cause performance issues, since for each combination the funds determination is called.
Fund Determination
Fund determination searches and evaluates funds of the assigned funds plan based on certain match criteria. The match criteria are evaluated against the funds attributes. The following match criteria are available in the system:
- Sales or marketing organizational data
- Territory hierarchy
- Marketing plan hierarchy
- Account hierarchy
- top down fund determination: Fund determination searches for funds that are assigned to the same account hierarchy node level and to a specific account hierarchy node level further down in the account hierarchy.
- bottom up fund determination: Fund determination searches for funds that are assigned to the same account hierarchy node level and to all levels up in the account hierarchy.
- Product hierarchy
- bottom-up fund determination: Fund determination searches for funds that are assigned to the same product category and to all levels up in the product hierarchy.
Additionally the TP application uses the following information for determining the funds:
- Funds plan: only funds assigned to the TP funds plan are returned
- Fund status: funds need to be in released status
- Expense type
If no fund or more than one unique fund is returned by the fund determination the same can be assigned manually. If one unique fund is determined the same is assigned automatically.
Fund Usages
Whenever a trade promotion reserves any budget of a specific fund this creates a fund usage. The fund usage represents all fund consumption of the trade promotion.
Whenever the trade promotion receives a status that is supposed to reserve a certain budget the fund usages are generated. Technically this happens from the FUND_USAGE_GENERATION_HANDLER. It is the TP status that triggers the generation of the fund usage.
![graph fu approved2.jpg]()
Each combination of fund, expense type, product dimension allow exactly 1 fund usage to be generated. In case 1 fund usage got balanced manually by the user, system won't allow to create a new fund usage for the same trade promotion for the same attributes.
Availability Check
Once fund usage items are generated in the trade promotion the availability for the assigned funds can be checked. This happens based on the AVC profile which has certain check and tolerance rules assigned. If the availability check if failing either a hard error or a warning is raised. The availability check is triggered by the FUND_AVAILABILITY_CHECK_HANDLER. Technically this is a simulation of a fund posting.
Fund Postings
The fund usage holds the postings done to a specific fund. The status of the trade promotion defines which postings happen to the funds. On changing the status of a the trade promotion the FUND_PREPARE_POSTING_HANDLER generates the fund posting transactions, on saving the FUND_POSTING_HANDLER saves the fund posting on database.
Each fund posting has a certain posting transaction, and updates certain value categories. The fund checkbook is updated according to the value category from the fund posting. In that example the status 'approved' creates a 'reserve budget' transaction that updates the prereserved amount in the fund:
![graph fp appr.jpg]()
The status 'released' puts the amount from prereserved to reserved. The 'reserve budget' fund posting therefore releases the prereserved amount and reserves the amount accordingly:
![graph fp rel2.jpg]()
Fund Posting Transactions
There are the following different posting transactions available.
- Reserve Budget
- triggered from changing the trade promotion status
- holds PRERESERVED '20' and RESERVED '21' value category postings
- Update Claim
- triggered by approving claim
- holds APPROVEDCLAIM '32' and RELEASEDTOSETTLE '40' value category postings
- Settle Claim
- triggered by CRM claim settlement
- holds SETTLED '41', RELEASEDTOSETTLE '40' and EXPENSED '44' value category postings
- External Settlement
- holds EXTERNALLYSETTLED '42', SETTLED '41' and EXPENSED '44' value category postings
- Balance Fund Usage
- triggered by any TP status that balances the fund usage, or on manually balancing the fund usage
- holds UNCONSUMEDBUDGET '15', ACCRUALBALANCE '48' and EXPENSED '44' value category postings
Fund Posting Value Categories
Some of the fund posting value categories are calculated based on some other fund posting key figures.
- Unconsumed budget: The UNCONSUMEDBUDGET '15' value category holds the still available budget for a fund usage (Budget - Actuals)
- calculated with formula: unconsumed budget = reserved - (approved claim - expired approved claim + externally settled).
Accruals
For all committed amounts other than provided for off-invoice discounts the amounts can be accrued to post the expenses.
There are two types of Accruals:
- Volume Based
Sales Orders are created in ERP and the budget they consume are transferred to CRM.- Accrual calculation determine the amount of the rebates based on Sales volume
- Accrual posting transfers the results from ERP to CRM.
- Fund Based for fixed rebates A fixed amount of money is set for a given period of time (e.g. 1000$ for one year). Small amounts of money are calculated to pay the customer on short period basis (e.g. 250$ per quarter).
- Accrual calculation determines the frequency and the amount of money of the payments
- Accrual posting transfers the results from ERP to CRM.
The accruals are not calculated automatically but require scheduling the accrual calculation run as a background job. The accrual method can use various reference data types. Examples include sales volumes (SAP ERP), trade promotion management (TPM) planning data, or funds data. The accrual results are then stored within the accrual staging area. The accruals can then be edited in from the staging area. To create the accruals posting another background job needs to be scheduled.
![graph accrual 2.jpg]()
The accrual calculation happens based on the fund usages generated for a trade promotion. The accrual run results in a fund postings of value category '47 Accrual Balance' for CRM and ERP accruals and a fund posting of value category '42 External Settlement' for the off-invoice scenario or free goods scenario. The fund checkbook is updated accordingly and the fund posting is available in the fund usage:
![graph accrual 3.jpg]()
Accruals can be calculated based on the following calculation methods:
- ERP_SV: Accrues ERP sales volumes and TPM take rates using the ERP sales volume agreement accrual rate
- FIXED_DT: Accrues the amount reserved for the fund usage on a fixed date
- FUNDFIXD: Used for fund-based accruals and accrues the entire amount of the fund on the date the accrual posting is performed (fixed date)
- FUNDRDTA: Spreads fund-based accrual amounts using reference data
- NB_DAYS: Spreads the amount reserved for the fund usage equally over the number of days that it accrues. The number of days can span several periods.
- REF_DATA: Spreads accrual amount using reference data
If accruals are built and calculated in crm the following reports must be scheduled in the following order:
- RCRM_FM_ACL_ACCRUAL_UPLOAD_SV: Uploads sales volumes from ERP to CRM
- RCRM_FM_ACL_ACCRUAL_RUN: Calculates accruals
- RCRM_FM_ACL_ACCRUAL_POSTING_FM: Posts accruals
To retrieve expenses for off-invoice (discount) trade spends there is the following report available:
- RCRM_FM_ACL_ACCRUAL_UPLOAD_DIS
The report reads table S060 in ERP using the Condition record number KNUMH and returns the statistics values to CRM for generating the posting. In case there are no values in S060 table for the affected conditions type the same needs to be checked from SD side. A known issue is solved with the following note:
1491854 Condition update: Incorrect values in copied documents
To calculate accruals for free good trade spends there is the following report available:
- RCRM_MKTPL_TPM_DISC_FRGOODS
To bring ERP accruals to CRM there is the following report available:
- RCRM_MKTPL_TPM_EXT_ACCRUALS
Depending on the scenario there following reports need to be used and result in the following fund postings:
- CRM accruals
![graph accruals3.jpg]()
- ERP accruals
![graph accruals ext accrual final.jpg]()
- Off-invoice scenario or Free goods scenario
![graph accruals off invoice.jpg]()
When balancing a fund usage there is the following design based on the accruals profile - depending on the accrual profile on the fund usage has the external accrual set there is the following design:
- CRM accruals
When the accruals are handled in CRM the accruals are balanced in CRM when balancing the fund usage. - External accruals
When the accruals are handled in ERP the promotional rebates are built and reversed in ERP. The accruals are uploaded to CRM using the external accruals load report. Since the accruals are reversed at the time the rebate agreement is finalized in ERP, there is no need not reverse the accrual balance in CRM when the fund usage is balanced. The accrual reversal should be brought to CRM using external accruals load.
Further useful information about accruals is available in the following document:
Accrual creation(calculation) by CRM fund management
Trade Promotion Status dependencies
Depending on the trade promotion status there is the following design for fund usages and fund postings.
- Approved: Fund usage will be created (if not yet created) in status 'released' and a 'Reverve Budget' posting is created with 'prereserved amount' value category
- Released: Fund usage will be created (if not yet created) in status 'released' and a 'Reverve Budget' posting is created with 'reserved amount' value category. The earlier prereserved amount is released again.
- Canceled: A 'Cancel Budget' posting is created that releases the 'prereserved amount' and the 'reserved amount' value categories. Additionally a 'Balance Fund Usage' posting is created with 'unconsumed budget', 'accrual balance' and expensed' value categories. The fund usage gets the status 'balanced' so no more postings can happen for the fund usage.
![graph fp cancelled.jpg]()
- Finished: A 'Balance Fund Usage' posting is created with 'unconsumed budget', 'accrual balance' and expensed' value categories. The fund usage gets the status 'balanced' so no more postings can happen for the fund usage. The reserved budget is not released again, this is the main difference to the cancellation process.
![graph fp finished2.jpg]()
Deleting Trade Spends or Products
Deleting products or trade spend is not allowed for released trade promotions. However for approved trade promotions it is allowed. Since for approved trade promotions there may be fund usages with budget reservation posting available, there is the following design:
- deleting products: the prereserved budget of the deleted product is released again, and added to the prereserved budget of the remaining funds. In case there are no further funds for the postings - this is the case if one single product is used and gets deleted - the prereserved amount gets released.
- deleting trade spends: since the trade spend is the main driver for the fund usages, deleting the trade spend is balancing the fund usage. Any prereserved amount gets released. In case the funds integration is set up a way that the fund usage contains reserved amount this is not released again, but the not used budget is posted to the unconsumed budget. Reserving the amount should happen on releasing the trade promotion. In that case deleting the trade spend is not longer allowed.
Customizing
Fund Plans and Funds
Settings for fund plans and funds need to be maintained in the following customizing:
Customer Relationship Management
Funds Management
Funds Plans and Funds
This customizing in not trade promotion specific.
TP Funds Integration
To enable funds integration in trade promotion management the following customizing needs to be maintained:
Customer Relationship Management
Trade Promotion Management
Trade Promotions
Funds Integration
Define Settings for Funds Integration
In the 'Trade Spend to Expense Type' dialog the mapping from the trade spend type, spend category, spend method to the expense type is done. The 'Expense Type to Key Figure' dialog holds the mapping from the expense type the the BW key figure used for retrieving the amount. In the 'TFM Integration View' dialog the fund integration settings for each trade promotion type are done. This contains the following maintenance dialogs:
- Fund Association: holds the fund association level, the fund determination profile and the fund plan date range check.
![cust1.jpg]()
- Expense Type to Accrual Profile: holds the accrual profile and the accrual date range maintained for each expense type
![cust3.jpg]()
- System Status to AVC Profile: defines which value category posting is done by the system status set. Additionally this customizing holds the AVC profile and defines if the funds plan is still editable in this status.
![cust4.jpg]()
- User Status to AVC Profile: defines which value category posting is done by the user status set. Additionally this customizing holds the AVC profile and defines if the funds plan is still editable in this status.
- Aggregation Type: the aggregation type defines how product data is aggregated when the system generates fund usage items for a trade promotion. This is relevant in case several products are used rather than product categories or product groups.
Status Driven Events
In trade promotion management most processes related to funds integration are driven by setting the status. Those so called status driven events are defined in the following customizing:
Customer Relationship Management
Trade Promotion Management
Basic Data
Define Status-Driven Events
These events are triggered depending on a certain user or system status.
Further information on status driven events is available with the following SAP notes:
1521715 Warning messages for certain Status-Driven Events
1308738 Event handler setup for TPM Fund Integration
Fund Determination
The following customizing is required to set up the fund determination match criteria:
Customer Relationship Management
Funds Management
Fund Determination
Define Fund Determination Profiles
Availability Control (AVC)
The AVC profile needs to be defined in the following customizing:
Customer Relationship Management
Funds Management
Availability Control (AVC)
Define Availability Control (AVC) Profiles
![cust5.jpg]()
The AVC profile holds the information about the check rules and the tolerance profile assigned.
Accruals
Settings for accruals need to be maintained in the following customizing:
Customer Relationship Management
Funds Management
Accruals
Define Accrual Profiles
![cust6.jpg]()
The accrual profile holds the calculation method for calculating the accruals.
Since the accruals retrieve ERP statistics the middleware needs to be set up properly as well.
In CRM the following steps are required:
A subscription for the replication object CRM_FM_EXTDATA from transaction SMOEAC needs to be maintained under the publication 'Enhanced Rebates
Data Transfer'. The subscription should be created for the connected ERP site.
If there are duplicate active versions of publication 'Enhanced Rebates Data Transfer' the following note needs to be implemented:
1462672 Duplicate publilcations for Enhanced Rebates Data Transfer
Then the replication objects services for CRM_FM_EXTDATA needs to be generated from transaction SMOGGEN.
In transaction R3AC1 the adapter object CRM_FM_ENH_REB the filters need to be in sync with ERP.
On ERP side an entry in table CRMOBJECT need to be available:
CONSUMER | OBJNAME |
---|
CRM | CRM_FM_ENH_REB |
Common Issues
There may be some inconsistences related to fund postings - once the root cause for the inconsistencies is determined the following reports are available to correct those faulty postings:
- CRM_FM_FPO_CORRECT_FINALIZE: this report needs to be run once after upgrade to CRM 7.0 in order to migrate the unconsumed budget values
- CRM_FM_FPO_CONSISTENCY: this report is used to find fund postings with references to non-existing claim documents
Please refer to the disclaimer of the report and run the report in simulation mode only, this is documented in the following note:
1646935 Fund posting with reference to non-existing claims - CRM_FM_FPO_AGR_CONSISTENCY: this report checks the consistency of the "checkbook", i.e. the fund period and fund usage item aggregates for fund postings.
Please refer to the disclaimer of the report and run the report in simulation mode only, this is documented in the following note:
1288073 Fund posting aggregates consistency report - CRM_FM_FPO_CORRECT_POSTINGS: This report is used to correct individual fund postings for two different reasons:
- The fund posting is wrong and needs to be reversed. A possible reason for a wrong fund posting might be the abortion of the creation or the status change of a claim. Prior to the correctionof note 1664635 this might have lead to wrong posting.
- The budget reservation posting for a trade promotion reversed existin external settlements by ERP discount uploads.
Please refer to the disclaimer of the report and run the report in simulation mode only, this is documented in the following note:
1681596 Inconsistent fund postings
Additionally there are some known errors related to trade promotion funds integration. Those are solved with the following SAP notes:
2111673 Fund posting from none existing fund usage
2103980 External accrual values are not correct in CRM / Run time error when running External accruals load
2093937 Error on finalize posting in case of missing accrual profile
2090209 Double clearing the reserved amount of a fund usage
2094576 Wrong posting against logically deleted items
2064326 Wrong Accruals after change of transfer date
2058494 Fund posting not cancelled upon document cancellation
2031014 Accrual items wrongly created or no accrual postings get created
2021587 Double reserved or pre-reserved amount posted
1989720 Performance improvement - Funds management reports
1974922 Wrong fund posting upon deletion of a trade spend from a trade promotion
1971614 TP with Funds: AVC error when TP status is set to rejected
1962993 TPM: Fund posting bdocs failing when accruals are handled in ERP
1947138 Deleted fund usage item accrual not reversed
1937330 No fund posting created on fund usage balancing
1650841 Discount Load Program issues error - No valid currency
This document should provide an overview fund management integration in trade promotions. In case you feel anything is missing, or anything is unclear please let me know.