For companies using SAP Business ByDesign CRM (Customer Relationship Management) the pricing strategy plays a key role in the success of business. Especially ByDesign product capabilities for flexible pricing based on extension fields are key enabler for successful pricing strategies. Using customer specific extension fields you have the possibility to influence the ByDesign price determination and realize pricing strategies that take into account company or industry-specific information and data.
This blog post
- Briefly presents a how to influence price, discount, surcharge, freight in SAP Business ByDesign Customer Relationship Management based on custom extension field
- Explains how to adapt price strategy for custom extension fields
- Explains how to enable custom extension fields to be part of standard pricing extension scenario
- Explains how to maintain price, discount, surcharge, freight master data for custom extension fields
- Briefly presents how price determination works in business documents based on custom extension fields
Background:
ByD offers feature enhancement by adding custom extension fields in UI via key user extensibility and by adding partner extension fields via SAP Cloud Applications Studio.
This page is about showcase custom specific extension fields to be able to influence price, discount, surcharge, freight in all Customer Relationship Management documents, like Sales Orders, Sales Quotes, Service Orders, Invoice Requests, Customer Invoices and so on.
Overview
The SAP Business ByDesign solution allows you to create new extension fields, either at an item level or header level, for all documents relevant to Customer Relationship Management, like Sales Orders, Sales Quotes, Service Orders, Invoice Request and Customer Invoice and so on. You can add these extension fields to newly created pricing tables in Business Configuration, to ensure that the price strategy is dependent on the value in those fields. You can also assign these pricing tables to access sequences to define their priority. you can create pricing tables for price lists, discount lists, freights, and surcharges.
Prerequisites
You must be a key user to carry out the following activities.
Process Flow
Key user follows the below steps to enable price determination by custom extension field
Step 1: Create an Extension Field
Key user adds extension field to introduce new functionality as part of enhancing existing solution.
For more information, refer to Create an Extension Field , and Add an Extension Field to an Extension Scenario in Help Center.
- While adding the extension field to an extension scenario, ensure to select the scenario CRM Pricing, to make the newly created extension field relevant for pricing in CRM. To do this, click the Further Usage link. On the Extension Scenarios tab of the screen, select CRM Pricing and click Add Field. The extension field will be made available in all the business contexts involved in the selected extension scenario.
- To add the price relevant extension field to the service Calculate Price – Price List, go to Services tab, click Add Field and select Calculate Price – Price List or Calculate Price – Price Specification.
For example, If the extension field in Sales Order is in General tab, then use extension scenario CRM Pricing (Header) and the service Calculate Price – Price List.
If the field is in Sales Order is in Item tab, then use extension scenario CRM Pricing (Item) and the service Calculate Price – Price Specification.
Step 2: Configure Price Strategy for the Extension Field
Key user wish to influence price determination based on customer specific extension fields and realize pricing strategies that take into account company or industry-specific information and data
Go to the Business Configuration work center, click on Open Activity List, and select the fine-tuning activity Configure Price Strategy.
- Create a Pricing Table
Pricing Table is a set of price relevant key fields ( Standard / Extension fields) based on which the price determination should be done
To create a pricing table, do the following:
- Select Pricing Table to go the Maintenance View for Pricing Table
- Click Add Row, enter an appropriate Name for the pricing table.
Note: The name of the pricing table must start with CUS, and must not exceed 18 characters in length. |
- Select the Relevance of the pricing table. Ideally, the relevance of the pricing table must be the same as that of the extension field. For example, during the creation of the extension field, if you have chosen the field to be at the item level of a business document, the relevance of the pricing table should be Item Level.
- Under Fields, select the extension field created from the drop-down, and select Search if you want the extension field to be considered during master data retrieval.
If you are creating the pricing table for price list or discount list, then you must select List Identifier as the first row under the Fields table, followed by the extension field. If you are creating the pricing table for surcharge or freight, then the first row must be the extension field.
|
- Select Save & Close to save your changes.
- Define the Access Sequence
Sequence in which the price engine will start determining the Price, discount , Surcharge, Freight
- Select Access Sequence to add the newly created pricing table to the access sequence.
- Depending on whether you have created the pricing table for price list, discount list, freight, or surcharge, and on whether it is at header level or item level, chose the appropriate option from the access sequence list.
- Under Pricing Table, click Add Row and add the pricing table to the list.
- Under Fields, you will be able to view the columns of your pricing table that were added during its creation.
- Select Save & Close to save your changes.
- Assign Pricing Groups
Collection of Header and Item price tables displayed in "Product and Service Portfolio" UI for master data maintenance
- Select Pricing Group Assignments to assign the pricing table to the relevant pricing groups.
- Select the relevant pricing group, depending on whether you have created the pricing table for price list, discount list, freight, or surcharge.
- Under Pricing Group Item Assignments, click Add Row to give a relevant description for your pricing table, and select the appropriate Header Pricing Table and the Item Pricing Table from the drop-down.
- Select Save & Close to save your changes.
Do's and Don'ts Configure Price Strategy for the Extension Field
DO's
- Sequence of entries in Access Sequence is used by price engine to determine the price , example: most relevant price table to be at the end of the access sequence table, example: in case if user has product specific price, Product category specific price and custom extension field specific price , then custom specific price should be at the bottom of the access sequence table , and then Product category specific and product specific.
Note 1 : Custom Price List has more priority over standard price list
Note 2 : Sequence of entries in "Pricing Groups" is only for the display purpose , order in which to display entries in price list UI in "Product and Service Portfolio" work center.
Use Case : you created two custom price tables one for "Product Category" and "Extension Field" , another price table for "Product" and "Extension Field" , in the access sequence you added the first entry with "Product" and "Extension Field" , then second entry in access sequence "Product Category" and "Extension Field" .
Note: order in which the entries are maintained in "Pricing Group" is not relevant for price list determination by price engine, order in "Pricing Group" is only for display purpose.
System behavior: In this case system will pick custom Product Category specific price list over custom Product price list .
Correction : maintain the first entry with "Product Category" and "Extension Field" , then second entry in access sequence "Product" and "Extension Field"
- on delete of extension fields used in Configure Price Strategy , user has remove relevant entries from "Pricing Groups" and "Access Sequence".
Note 1: user could have deleted the extension field from system
Note 2: user could have unassigned extension field from "CRM Pricing" extension scenario
Use Case : you created custom "Extension Field" and added them to "CRM Pricing" extension scenario , after that used the extension fields in creation of pricing tables and used those price tables in the access sequence and pricing groups . After that you decided to delete the extension field either by marking it as not relevant in "CRM Pricing" extension scenario or by deleting it from system.
Note: extension field will have technical names in access sequence, example /BYD…… or YND3NWGIY…….
System behavior: system dumps on traversing to "Product and Service Portfolio" work center price list / discount list UI .
Correction : remove such entries (which are using obsolete pricing extension fields) from Pricing Group and Access Sequence
Don'ts
- Creation of multiple custom Price Tables with same set of fields
Note 1 : make sure to reuse the price tables , instead of creating duplicate price tables with same keys, it will lead to functional issues during determination of price table at runtime and confusing for end user in understanding which one to use in what scenario.
Use Case : you created custom price tables for test purpose with combination of SAP Standard fields and "Extension Field" . After that you decided to recreate new price tables with same set of fields without checking to reuse the existing price tables.
Note: deletion of price tables is not allowed , since it will lead to loss of price master data.
System behavior: will end up having multiple price tables with same set of keys
- Creation of Custom price tables with same set of keys as standard SAP delivered Price Tables
Note 1: Custom Price Tables always has priority over SAP delivered Standard Price Table, in such cases at run time price engine picks prices from custom tables , which could lead to function issues in price determination , example: in case if user has SAP delivered standard product specific price and created custom price table with "Product category" key field . Then price engine will pick "Product category" price over "Product" price, which is functionally not correct.
Use Case : you created custom price table with same set of SAP delivered standard fields, after that used the custom price table in the access sequence and pricing groups .
Note: you should check if standard SAP delivered price table will best fit the requirement ( check in Business Configuration )
System behavior: Custom Price list will have priority over any SAP delivered standard price tables .
Correction : remove the custom price list from Pricing Group and Access Sequence and scope the standard price list in Business configuration
Step 3: Price Master Data Maintenance
Price, discount , Surcharge, Freight master data can be maintained based on Standard / Extension fields
- Go to the Product and Service Portfolio work center, Pricing view, and select the relevant option depending on the pricing table created.
- In the Show drop down, select the description given to your pricing table, and click Go.
- Click New, and under the Items tab maintain the relevant master data.
- Click Save and then Release to save your changes.
Step 4: Determination in Business Document
Create a business document for which you have created an extension field. The pricing table determination will take into consideration the master data maintained.
On creation of business document user should make sure to enter the matching data in the price relevant standard / extension fields for which the price master data is maintained in system.
The following examples show how you can create new extension fields, and new pricing tables for surcharge and discount lists:
Example 1: Creating a new extension field, and a pricing table for surcharge. Assigning the extension field to the pricing table to ensure that the pricing is dependent on the value in the extension field.
1. In the Sales Order document, create a new extension field – Mailbox Options with the following three drop-down values:
- Normal
- Speed
- Express
You can create the extension field in the adaptation mode of the relevant business document. For more information, refer to Create an Extension Field , and Add an Extension Field to an Extension Scenario in Help Center.
2. In the Business Configuration work center, click on Open Activity List, and select Configure Price Strategy in the fine-tuning activity phase.
- Select Pricing Table, and do the following:
- Create new table with the name CUSMAILSUR.
- Set the Relevance as Item Level.
- Under Fields, select the extension field Mailbox Options.
- Select Search to mark it as a search relevant field.
- Click Save & Close.
- Select Access Sequence, and do the following:
- Select the access sequence Surcharge that is relevant for item level.
- Under Pricing Table, add a new row with CUSMAILSUR.
- Click Save & Close.
- Select Pricing Group Assignments, and do the following:
- Select the row with Surcharge.
- Under Pricing Group Item Assignments, add a new row with the description ‘Surcharge Determination for Mailbox Options’, and select the Header Pricing Table as CUSGEN and the Item Pricing Table as CUSMAILSUR.
- Click Save & Close.
3. In the Product and Service Portfolio work center, Pricing view, Surcharge subview, do the following:
- Select ‘Surcharge Determination for Mailbox Options’, and click Go.
- Click New, and under the Items tab maintain the desired surcharge amount.
- Click Save, and then Release.
4. In the Sales Orders work center, create a new sales order. You will be able to view the new extension field Mailbox Options. The solution will consider the surcharge amount defined in the previous step while calculating surcharge for the mailbox options defined.
|
Example 2: Creating a new extension field, and a discount list, to ensure that the discounts calculated in the business document depend on the value in the extension field.
List is a combination of header level and item level fields. In this example, we are creating a discount list with Customer Group Field at the header level and Product ID at the item level for the extension field Mailbox Options.
1. In the Sales Order document, create a new extension field – Mailbox Options with the following three drop-down values:
- Normal
- Speed
- Express
You can create the extension field in the adaptation mode of the relevant business document.
2. In the Business Configuration work center, click on Open Activity List, and select Configure Price Strategy in the fine-tuning activity phase.
- Select Pricing Table, and do the following:
- Create new table with the name CUSGROUP.
- Set the Relevance as Header Level.
- Under Fields, add one or more rows.
- Click Save.
- Create new table with the name CUSPROD.
- Set the Relevance as Item Level.
- Under Fields, select List Identifier, and select Search to mark it as a search relevant field.
- Under Fields, add two more rows. Select Product ID in one, and set the second row with the extension field Mailbox Options.
- Select Search for both rows to mark them as search relevant fields.
- Click Save & Close.
- Select Access Sequence, and do the following:
- Select the access sequence Discount List (for CUSGROUP), and under Pricing Table, select the table CUSGROUP.
- Select the access sequence Discount (for CUSPROD), and under Pricing Table, select the table CUSPROD.
- Click Save & Close.
- Select Pricing Group Assignments, and do the following:
- Select the row with Discount.
- Under Pricing Group Item Assignments, add a new row with the description ‘Discounts for Mailbox Options’, and select the Header Pricing Table as CUSGROUP and the Item Pricing Table as CUSPROD.
- Click Save & Close.
3. In the Product and Service Portfolio work center, Pricing view, Discount List sub view, do the following:
- Select ‘Discounts for Mailbox Options’, and click Go.
- Click New, and under the Items tab maintain the desired discounts.
- Click Save, and then Release.
4. In the Sales Orders work center, create a new sales order. You will be able to view the new extension field Mailbox Options. The solution will consider the discount percentages and amounts defined in the previous step while calculating discounts for the mailbox options defined. |
Example: Adding an Extension Field to the Sales Process
Overview
The following example describes how to add an extension field with the field type “Text” to the business context Account - General Information and then add the extension field to the end-to-end sales process flow. In this example, the extension field is added to the General Information, or header level, of each business context.
Procedure
Create the extension field
In this step, you create an extension field in the Account - General Information business context and make it visible in the Accounts view.
- In the Account Management work center, Accounts view, enter adaptation mode by selecting Enter Adaptation Mode from the Adapt menu.
- Select Edit Screen from the Adapt menu.
The adaptation panel opens on the right side of the screen.
- In the adaptation panel, click on the Extension Fields pane. Here you see three screen sections to which you can add an extension field.
- Select the screen section Accounts and click Add.
- In the Add New Field dialog box, the business context Account - General Information is preselected. It is also possible to select the business context Contact - General Information but this is not required for this example.
- Select the field type Text and enter a field label.
- Click Save.
The extension field is created in the Account - General Information business context but is not yet visible on any screens or in any form templates, reports, and so on.
- To make the extension field visible on the Accounts view, Accounts screen section, select the Visible checkbox next to the extension field name in the adaptation panel.
- Save and publish your changes.
|
For more information about extension fields, refer to Extension Fields Quick Guide documentation in Help Center
|
Make the extension field visible on all account screens
You now need to make sure that the extension field that you created in the previous step is visible on all of the screens that you require it on. For example, the following procedure shows how to make the new text field visible on the corporate account editor. Note that all steps are taken while still in adaptation mode.
- In the Account Management work center, Accounts view, select Corporate Account from the New menu.
- On the New Corporate Account screen, select Edit Screen from the Adapt menu.
- In the adaptation panel, click on the Extension Fields pane.
Here you see two sections to which you can add an extension field. They are both based on the Account - General Information business context. The extension field that you created on the previous step is shown in the List of Fields.
- Select the Visible checkbox next to the extension field.
- Save and publish your changes and close the adaptation panel.
Repeat these steps for all screens that you want to display the extension field on.
|
You can also add the extension field to form templates, data sources, reports, and so on. For more information about these steps, refer to following Key User Adaptation Quick Guide documentation in Help Center.
|
- Add the extension field to the “Account – General Information to Sales – General Information” extension scenario You now need to extend the Account - General Information to Sales - General Information extension scenario so that the new extension field is available in the sales area.
- In the Account Management work center, Accounts view, enter adaptation mode and open the Extension Fields pane in the adaptation panel.
- Select the extension field that you created and click on the Further Usage link under Field Properties.
- On the Further Usage screen, navigate to the Extension Scenarios tab.
- Select the extension scenario Account - General Information to Sales - General Information. For detailed information about the data flows available in each extension scenario, click the arrow icon beside the extension scenario name.
- Click Add Field. This activates the data flows between the account and the sales business contexts. The extension field now becomes available in all business contexts that are part of the extension scenario. You now have to make the extension field visible on any screens that you require in the sales area. This includes sales quotes, sales orders, and customer returns. For example, you could make the extension field visible on the Sales Order editor.
- Extend all remaining extension scenarios To complete the end-to-end process, you must extend the Sales - General Information, Sales Order - General Information to Invoice Requests - General Information, and Invoice Requests - General Information to Customer Invoice - General Information , CRM Pricing extension scenarios and make the extension field visible on the necessary screens.
- In the Sales Order work center, Sales Orders view, enter adaptation mode and open the Extension Fields pane in the adaptation panel.
- Select the extension field from the list and click Further Usage.
- On the Further Usage screen, on the Extension Scenarios tab, select the Sales - General Information extension scenario and click Add Field. This activates all data flows between business contexts in the sales area, for example between the sales quote and the sales order. You should already have made the field visible for these business contexts in the previous step.
- Select the Sales Order - General Information to Invoice Requests - General Information extension scenario and click Add Field.
- Navigate to the Customer Invoicing work center, Invoice Requests view. Here, you can make the extension field visible, as required.
- In the Invoice Requests view, open the adaptation panel and under Extension Fields, select the extension field and click Further Usage.
- On the Extension Scenarios tab of the Further Usage screen, select the Invoice Requests - General Information to Customer Invoice - General Information extension scenario. This activates the data flow between the invoice request and the customer invoice.
- Navigate to the Customer Invoicing work center, Invoices and Credit Memos view. Here, you can make the extension field visible, as required. For more information about adding extension fields to form templates, data sources, reports, and so on, refer to following Key User Adaptation Quick Guide documentation in Help Center.
Result
The extension field is available on all screens for which you made it visible and, when you create follow-on documents based on the account, the extension field and the data entered in the field is available in all follow-on business documents.