Pricing and conditions with SAP
Nothing is impossible! In this book, you will learn how to set up and optimize pricing in your company to meet both everyday and advanced requirements. The team of authors guides you from the basics of condition techniques and standard customizing to the in-depth customer-specific adjustments that the SAP system allows you to make. You will learn how to work with condition records, calculation schemas, and more. Use the detailed information on formulas and conditions to implement even the trickiest requests from your sales colleagues in SD. A separate chapter provides an overview of pricing in SAP S/4HANA.
- Elements and master data of condition technique
- Condition records and types, sales order, group conditions, and bonus processing
- Process flow logic, conditions, formulas, user exits, and much more
You'll learn about:
- Condition technology for beginners and advanced users:
Learn how to maintain condition master data and use special functions and condition types in no time at all. Learn how to determine condition records correctly and use evaluations and worklists in practice.
- Implement pricing strategies:
Delve into the customizing of pricing: working with condition records, pricing in sales documents, special functions, and selected condition schemas and condition types.
- Mapping customer-specific requirements:
When the standard is exhausted: master the special features of condition technology in pricing, useful programs, conditions, formulas, and user exits in SD. See how typical practical requirements are mastered and keep an eye on system performance.
Key Highlights:
- Areas of application and elements of condition technique
- Condition master data for pricing
- Evaluations and worklists
- Customizing pricing
- Working with condition records
- Pricing in sales documents
- Calculation schemas and condition types
- Important pricing programs
- Typical practical requirements for pricing
- Bonus processing
- Condition profiles
View Full Table of Contents
- Introduction
- Part I Conditioning techniques
- 1 Areas of application and elements of conditioning technology
- 1.1 Properties of conditions
- 1.2 Areas of application for condition technology (use of conditions)
- 1.3 Selected areas of application (uses)
- 1.3.1 Use A: Pricing
- 1.3.2 Use B: Message determination
- 1.3.3 Use C: Account determination
- 1.3.4 Use D: Material determination
- 1.3.5 Use E: Bonus
- 1.3.6 Use G: Material listing/exclusion
- 1.3.7 Use N: Natural discount determination
- 1.3.8 Use 3: Campaign determination
- 1.3.9 Use T: Data acquisition
- 1.4 Areas of application for condition technology (condition application)
- 1.5 Overview of condition technique elements
- 1.6 Field catalog and communication structures
- 1.6.1 Field catalog
- 1.6.2 Communication structures
- 1.7 Condition tables
- 1.8 Access sequences
- 1.8.1 Access Sequence with Different Condition Tables
- 1.8.2 Access Sequence with a Single Condition Table (Partially Qualified Access)
- 1.8.3 Access sequence with fields in the free key
- 1.8.4 Exclusive or additive access
- 1.8.5 Direct values
- 1.8.6 Data determination during access
- 1.9 Condition types
- 1.10 Condition master data
- 1.10.1 Data model
- 1.10.2 Maintenance dialog for simple uses
- 1.10.3 Maintenance dialog for complex uses
- 1.10.4 Validity Period
- 1.10.5 Release status and processing status
- 1.11 Calculation Schemas
- 1.12 Determination Analysis
- 1.13 Conditions
- 1.14 Overview of the entire process
- 1.15 Conclusion
- 2 Condition master data for pricing
- 2.1 Condition maintenance via condition type
- 2.1.1 "Detail" function
- 2.1.2 "Additional Data" function
- 2.1.3 "Scales" function
- 2.1.4 "Additional Conditions" function
- 2.1.5 "Validity Periods" function
- 2.1.6 "Natural discount" function
- 2.1.7 "Status Information" function
- 2.1.8 "Cumulative Values" function
- 2.1.9 "Other Condition Type" function
- 2.2 Condition Maintenance via Area Menus
- 2.3 Condition maintenance via the index
- 2.4 Agreements
- 2.4.1 Sales agreements
- 2.4.2 Bonus agreements
- 2.5 Price agreements
- 2.6 Conclusion
- 3 Evaluations and worklists
- 3.1 Condition lists
- 3.1.1 Calling up condition lists
- 3.1.2 Customizing condition lists
- 3.1.3 Condition Lists as Part of Condition Maintenance via Area Menus
- 3.2 Worklists in the "Internal Sales Representative" role
- 3.2.1 Changing a query
- 3.2.2 Personalizing queries
- 3.2.3 Defining new queries
- 3.3 Condition information
- 3.4 Net price list
- 3.5 Performance-optimized price list
- 3.5.1 Creating price lists
- 3.5.2 Customizing and customer enhancements
- 3.5.3 Registration of fields
- 3.5.4 Data determination and filling of communication structures
- 3.5.5 Enhancements to the selection screen
- 3.5.6 Enhancements to the price list result
- 3.5.7 Overview of Customizing
- 3.5.8 Important reports and function modules
- 3.6 Conclusion
- Part II Pricing
- 4 Customizing Pricing
- 4.1 Implementing an initial customer-specific pricing scenario
- 4.1.1 Creating a Condition Table
- 4.1.2 Creating an Access Sequence
- 4.1.3 Customizing the Condition Type
- 4.1.4 Creating a Condition Type
- 4.1.5 Including the condition type in a calculation schema
- 4.1.6 Specifying the pricing procedure determination
- 4.1.7 Testing the pricing scenario
- 4.2 Elements of pricing in detail
- 4.2.1 Condition table
- 4.2.2 Access sequence
- 4.2.3 Condition type
- 4.2.4 Calculation Schema
- 4.3 Customer-Specific Adjustments and Customer Namespaces
- 4.3.1 "Creative Use" of Standard Customizing
- 4.3.2 New fields for pricing
- 4.3.3 Conditions and formulas (routines)
- 4.3.4 User exits for pricing
- 4.4 Example of implementing more complex requirements
- 4.5 Configurable formulas and parameters
- 4.5.1 Implementation of a simple scenario with configurable parameters and formulas
- 4.5.2 Elements of configurable parameters and formulas in detail
- 4.5.3 Customer-specific adjustments in configurable parameters and formulas
- 4.6 Connection to the results and market segment accounting (COPA)
- 4.7 Conclusion
- 5 Working with Condition Records
- 5.1 Release status
- 5.1.1 Release status characteristics
- 5.1.2 Release Status for Condition Records
- 5.1.3 Special case of release status in connection with agreements
- 5.2 Mass changes/creation with reference
- 5.3 Copying Conditions
- 5.3.1 Prerequisites
- 5.3.2 Application example
- 5.4 Condition maintenance with area menus
- 5.5 Additional Functions within Condition Maintenance
- 5.5.1 Change documents
- 5.5.2 Texts
- 5.5.3 Additional conditions
- 5.5.4 Deleting condition master data
- 5.6 Conclusion
- 6 Pricing in Sales Documents
- 6.1 Item condition screen
- 6.1.1 "Condition Detail" Function
- 6.1.2 "Insert Line" function
- 6.1.3 "Delete Line" function
- 6.1.4 "Condition Record Master Data" function
- 6.1.5 "Analysis (Pricing Log)" function
- 6.1.6 "Update Prices" function
- 6.1.7 Configurable user interface for pricing
- 6.2 Header condition screen
- 6.2.1 "Update Prices" at header level
- 6.3 Predefined price elements in the item overview
- 6.4 Price agreements
- 6.4.1 Creating price agreements
- 6.4.2 Displaying price agreements using the condition index
- 6.5 Price determination when creating documents with reference
- 6.6 Pricing for rental and maintenance contracts (periodic billing plan)
- 6.7 Pricing for fixed-amount contracts (milestone billing plan)
- 6.8 Pricing for expense accounting
- 6.9 Conclusion
- 7 Special functions of pricing
- 7.1 Group conditions
- 7.1.1 Absolute per capita conditions
- 7.1.2 Percentage-based header conditions
- 7.1.3 Graduated conditions without group key
- 7.1.4 Graduated conditions with group key
- 7.1.5 Percentage and absolute group conditions with condition records
- 7.2 Condition exclusion
- 7.2.1 Simple condition exclusion via conditions
- 7.2.2 Condition exclusion via exclusion groups
- 7.2.3 Condition exclusion via formulas
- 7.3 Condition update
- 7.4 Tax Determination in Sales
- 7.4.1 Simple tax determination
- 7.4.2 Tax determination via accounting (tax trigger)
- 7.4.3 Tax determination with external tax interface
- 7.4.4 Tax increase
- 7.5 Discounts in kind in sales
- 7.6 Costs of the sales transaction
- 7.6.1 Warehouse sales (no cross-company)
- 7.6.2 Drop Shipment (Third Party)
- 7.6.3 Cross-company warehouse sales
- 7.6.4 Make-to-order production with/without production order
- 7.6.5 Actual cost settlement
- 7.6.6 Condition type VPRS (transfer price)
- 7.7 Currency conversions in sales
- 7.7.1 Local currency
- 7.7.2 Document currency and exchange rate
- 7.7.3 Exchange rate for accounting (currency exchange rate for FI postings)
- 7.7.4 Condition currency and exchange rate
- 7.7.5 Currency Customizing and Exchange Rates
- 7.7.6 Currency translation
- 7.8 Print Preparation of the Pricing Result
- 7.8.1 The scope of message processing functions
- 7.8.2 Print Preparation of Item Values and Document Footer
- 7.9 Conclusion
- Part III Further technical basics, tips, and tricks
- 8 Selected calculation schemas and condition types
- 8.1 Selected calculation schemas
- 8.1.1 Scheme RVAA01 (standard)
- 8.1.2 Schema RVAA02 (price book)
- 8.1.3 Schema RVAB01 (initial prices include tax (B2C))
- 8.1.4 Schema PSER01 (Periodic Billing)
- 8.1.5 Schema PSER02 (service/expense billing)
- 8.1.6 Schema ICAA01 (Internal billing invoice)
- 8.1.7 Schema WK0001 (value contract)
- 8.1.8 Schema RVWIA1 (Plants abroad/tax treatment)
- 8.1.9 Schema RVACRN (Contract Billing)
- 8.2 Selected Condition Types of the Standard Schema
- 8.2.1 Condition type EDI1/EDI2 (expected customer price)
- 8.2.2 Condition types RL00/MW15 (invoice list conditions)
- 8.2.3 Condition type SKTV/SKTO (Cash discount)
- 8.2.4 Condition type HM00 (Order value)
- 8.2.5 Condition type AMIW/AMIZ (minimum order value/minimum value surcharge)
- 8.2.6 Condition type AZWR (Down payment value)
- 8.2.7 Condition type GRWR (border crossing value)
- 8.3 Conclusion
- 9 Special Features of Condition Technique in Pricing
- 9.1 Interfaces, Tables, and Relationships
- 9.1.1 Interfaces for condition tables and master data maintenance
- 9.1.2 Interfaces to the pricing modules
- 9.1.3 Internal structures and tables of the pricing programs
- 9.1.4 Order of fields in the condition table
- 9.2 Data Determination Using Conditions
- 9.2.1 Variant 1 – Data determination during access, use in subsequent accesses
- 9.2.2 Variant 2 – Data determination during access, transfer to the document item using a condition (mapping of hierarchical structures)
- 9.2.3 Transfer from condition master record using formula or condition
- 9.2.4 Variant 3 – Transfer to XKOMV from condition record using formula
- 9.2.5 Variant 4 – Transfer to KOMK from condition record via condition
- 9.2.6 Variant 5 – Use of information from other document conditions in formulas
- 9.3 Fields with multiple entries
- 9.3.1 The KOMPLOOP variant for multiple fields
- 9.3.2 The repeat field variant for multiple fields
- 9.3.3 The variant with business add-in SD_COND_LOAD_MVA
- 9.4 Conclusion
- 10 Important programs for pricing
- 10.1 Function module PRICING
- 10.1.1 Routine "prepare_pricing"
- 10.1.2 Routine "konditionsvorstep"
- 10.1.3 Routine "konv_einlesen"
- 10.1.4 Routine "xkomv_build_from_komt1"
- 10.1.5 Routine "xkomv_build_from_tkomv"
- 10.1.6 Routine "evaluate_xkomv"
- 10.1.7 Routine "xkomv_exclusion"
- 10.1.8 Routine "xkomv_transfer_to_tkomv"
- 10.2 Function module PRICING_COMPLETE
- 10.2.1 The different types of group conditions
- 10.2.2 Calling the PRICING_COMPLETE function module in order processing
- 10.2.3 Flow of the PRICING_COMPLETE function module
- 10.3 Function module PRICING_COPY
- 10.4 Data storage of the pricing result
- 10.5 Function module PRICING_REFRESH
- 10.6 Dialog connection/other function modules
- 10.6.1 Function module PRICING_LOAD_CONDITION_TYPS
- 10.6.2 Dialog Connection
- 10.6.3 Function module PRICING_DETERMINE_DATES
- 10.7 Relationship between the components of pricing
- 10.8 Conclusion
- 11 System Adjustments with Conditions, Formulas, and User Exits
- 11.1 Pricing Types
- 11.1.1 Control via the "komp-kaend_typ" field
- 11.1.2 Control via the "komp-konau_typ" field
- 11.2 Conditions
- 11.2.1 Manipulation of KOMK and KOMP fields using conditions
- 11.2.2 Overriding pricing types using conditions
- 11.2.3 Example 1 – Use of table TKSCHLEXCL
- 11.2.4 Example 2 – Use of tables TKSCHL and TKSCHLEXCL
- 11.2.5 Call time of the Prestep condition
- 11.2.6 Call time of the final condition
- 11.2.7 Behavior with copied conditions
- 11.3 An example of using formulas
- 11.4 Condition formulas
- 11.4.1 Basic condition formulas
- 11.4.2 Graduated base formulas
- 11.4.3 Condition value formulas
- 11.4.4 Group key routine
- 11.5 Special Logic of Pricing Type F in the Routine "xkomv_bewerten"
- 11.5.1 Time point A
- 11.5.2 Time point B
- 11.5.3 Time point C
- 11.5.4 Time point D
- 11.6 Pricing result in KOMP
- 11.6.1 Field "komp-fxmsg" (message number)
- 11.6.2 Field "komp-prsok" (price determination OK)
- 11.6.3 Field "komp-cepok" (status of expected customer price)
- 11.6.4 Field "komp-mprok" (status of manual price change)
- 11.6.5 Field "komp-koupd" (condition update)
- 11.6.6 Field "Komp-netpr" (net price)
- 11.6.7 Field "komp-netwr" (net value of the item)
- 11.6.8 Field komp-mwsbp (tax amount of the item)
- 11.6.9 Field "komp-wavwr" (settlement value of the item)
- 11.6.10 Fields "komp"–"brtwr," "kzwi1"–"kzwi6," etc. (subtotals)
- 11.7 Control indicator "xkomv-ksteu"
- 11.8 User exits
- 11.8.1 User exits of function group V61A
- 11.8.2 User exits of function group V69A
- 11.9 Enhancements to the KONV table
- 11.10 Performance aspects
- 11.11 Error Messages/Error Handling
- 11.12 Conclusion
- 12 Typical practical requirements for pricing and their solutions
- 12.1 Budgeting requirements
- 12.1.1 Statistics tables S060 and S469
- 12.1.2 Statistics table S071
- 12.1.3 Budgeting requirements
- 12.2 Conditions not found – why is that?
- 12.3 Rounding
- 12.4 Prices with more than two decimal places
- 12.5 Handling freight surcharges
- 12.5.1 Calculate freight surcharges in full with the first delivery
- 12.5.2 Do not calculate freight surcharges for discounts in kind and returns
- 12.5.3 Exclude freight surcharges if certain materials are also sold
- 12.6 Authorization dependency of the condition screen
- 12.7 Inclusion of new subtotal fields
- 12.8 Maintain master data fields depending on date
- 12.8.1 Data determination for order item VBAP
- 12.8.2 Data determination for order header VBAK/commercial data VBKD
- 12.8.3 Example of Substituting a Customer Group (VBKD-KDGRP)
- 12.8.4 Advantages and disadvantages of data retrieval within and outside of pricing
- 12.8.5 Data determination in billing
- 12.9 Copied conditions and subsequent quantity change
- 12.9.1 Simple solution for absolute amount conditions
- 12.9.2 Complex solution for all condition types
- 12.10 Increased prices in returns and credit memos
- 12.11 Key figures for reporting and analysis
- 12.11.1 Setting up a new, consolidated calculation schema
- 12.11.2 Key figure 1 – Initial value (KZWI1)
- 12.11.3 Key figure 2 – Standard conditions (KZWI2)
- 12.11.4 Key figure 3 – Customer-specific conditions (KZWI3)
- 12.11.5 Key figure 4 – Manual conditions (KZWI4)
- 12.11.6 Key figure 5 – Bonus conditions (KZWI5)
- 12.11.7 Key figure 6 – Net value (NETWR)
- 12.11.8 Key figure 7 – Clearing value (WAVWR)
- 12.12 Condition record-specific conditions
- 12.12.1 Creating a new usage task
- 12.12.2 Excluding certain material classes in a condition record
- 12.13 Conclusion
- 13 Pricing in Selected Applications
- 13.1 Pricing in sales orders
- 13.1.1 Routine "userexit_pricing_prepare_tkomk"
- 13.1.2 Routine "userexit_pricing_prepare_tkomp"
- 13.1.3 Response to changes in document content
- 13.1.4 Triggering a new price determination manually in the sales order
- 13.2 Pricing in the billing document
- 13.3 Pricing in the purchase order
- 13.4 Pricing in Accounting
- 13.5 Tax calculation in financial accounting
- 13.6 Pricing in transportation processing (freight calculation)
- 13.7 Conclusion
- 14 Performance and testing
- 14.1 SAP table buffer
- 14.2 Condition Prestep and Access Optimization
- 14.3 Order of Fields in Condition Tables
- 14.4 Use of conditions
- 14.5 Group Conditions and Formulas
- 14.6 Special Features in Sales Orders and Billing
- 14.6.1 Special Features in Sales Orders
- 14.6.2 Special features in billing
- 14.6.3 Supplying the KOMK communication structure
- 14.7 Analysis tools
- 14.8 Testing
- 14.9 Conclusion
- 15 Pricing in SAP S/4HANA
- 15.1 Overview of SAP S/4HANA
- 15.1.1 The SAP HANA Database
- 15.1.2 The SAP Fiori User Interface
- 15.1.3 Deployment options for SAP S/4HANA
- 15.2 Differences and similarities between SAP ERP and SAP S/4HANA
- 15.2.1 Data Model
- 15.2.2 Configuration
- 15.2.3 System Customization
- 15.2.4 Master Data Maintenance
- 15.2.5 Zero value processing
- 15.2.6 Bonus
- 15.2.7 Analytics
- 15.2.8 Extension of Access Sequence
- 15.3 Migration to SAP S/4HANA
- 15.3.1 Extension of the KONV Table
- 15.3.2 Extension of Draft Tables
- 15.3.3 Extensions of data elements
- 15.3.4 Interfaces
- 15.3.5 Access to the KONV Table
- 15.3.6 VOFM routines
- 15.3.7 Fields in the PRCD_ELEMENTS table that are no longer supported
- 15.3.8 Access sequences with more than 99 accesses
- 15.3.9 The VAKEY and VADAT fields
- 15.3.10 Currency of the sales document in the PRCD_ELEMENTS table
- 15.4 Pricing in SAP S/4HANA Cloud
- 15.4.1 Configuration
- 15.4.2 In-app extensibility
- 15.5 Conclusion
- Part IV Bonus Processing in Sales
- 16 Bonus Processing in Sales
- 16.1 Overview of bonus processing
- 16.1.1 Creating a bonus agreement
- 16.1.2 Sales: Bonus conditions in the document
- 16.1.3 Settling bonus agreements
- 16.1.4 Deleting agreements
- 16.1.5 Retroactive changes and bonus index
- 16.2 Elements of bonus processing in detail
- 16.2.1 Condition technique for bonus processing
- 16.2.2 Bonus agreement types
- 16.2.3 Activating bonus processing
- 16.2.4 Bonus document types
- 16.2.5 Activating the new rebate procedure
- 16.2.6 Important reports
- 16.2.7 Cross-condition record graduated basis determination
- 16.2.8 Replacing the Index Table for Rebates
- 16.3 Extended Bonus Processing
- 16.3.1 Implementation of an initial scenario
- 16.3.2 Customizing Extended Bonus Processing
- 16.4 System Adjustments in the Bonus Environment
- 16.4.1 Business Transaction Event 00503201
- 16.4.2 Business Add-in BADI_SD_REBATES
- 16.4.3 Business Add-Ins in Extended Bonus Processing
- 16.5 Typical Practical Requirements
- 16.5.1 Exclusion
- 16.5.2 Settlement Material and Tax Classification
- 16.5.3 External Control of Bonuses
- 16.6 Conclusion
- Appendix
- A Condition Profiles
- B SAP CRM connection
- C The authors
- Index
Preisfindung und Konditionstechnik mit SAP
Geht nicht gibt’s nicht! In diesem Buch lernen Sie, wie Sie die Preisfindung in Ihrem Unternehmen einrichten und optimieren, um sowohl alltägliche als auch fortgeschrittene Anforderungen zu erfüllen. Das Autorenteam führt Sie von den Grundlagen der Konditionstechnik über das Standard-Customizing bis tief in die kundenindividuellen Anpassungen, die Ihnen das SAP-System ermöglicht. Sie erfahren, wie Sie mit Konditionssätzen, Kalkulationsschemata und Co. arbeiten. Nutzen Sie die detaillierten Informationen zu Formeln und Bedingungen, und setzen Sie auch die kniffligsten Wünsche der Vertriebskollegen in SD um. In einem separaten Kapitel finden Sie einen Überblick zur Preisfindung in SAP S/4HANA.
- Elemente und Stammdaten der Konditionstechnik
- Konditionssätze und -arten, Kundenauftrag, Gruppenkonditionen und Bonusabwicklung
- Ablauflogiken, Bedingungen, Formeln, User-Exits u.v.m.
Du lernst etwas über:
- Konditionstechnik für Einsteiger und Fortgeschrittene:
So pflegen Sie Konditionsstammdaten und nutzen selbst spezielle Funktionen und Konditionsarten im Handumdrehen. Lernen Sie, wie Sie Konditionssätze korrekt ermitteln und Auswertungen und Arbeitsvorräte in der Praxis einsetzen.
- Preisfindungsstrategien umsetzen:
Vertiefen Sie sich in das Customizing der Preisfindung: Arbeiten mit Konditionssätzen, die Preisfindung im Vertriebsbeleg, spezielle Funktionen sowie ausgewählte Konditionsschemata und Konditionsarten.
- Kundenindividuelle Anforderungen abbilden:
Wenn der Standard ausgereizt ist: Meistern Sie Besonderheiten der Konditionstechnik in der Preisfindung, nützliche Programme sowie Bedingungen, Formeln und User-Exits in SD. Verfolgen Sie, wie typische Praxisanforderungen gemeistert werden, und behalten Sie die Systemperformance im Blick.
Aus dem Inhalt:
- Einsatzgebiete und Elemente der Konditionstechnik
- Konditionsstammdaten der Preisfindung
- Auswertungen und Arbeitsvorräte
- Customizing der Preisfindung
- Arbeiten mit Konditionssätzen
- Preisfindung im Vertriebsbeleg
- Kalkulationsschemata und Konditionsarten
- Wichtige Programme der Preisfindung
- Typische Praxisanforderungen an die Preisfindung
- Bonusabwicklung
- Konditionssteckbriefe
Komplettes Inhaltsverzeichnis