| Status | Approved |
|---|---|
| Owner | |
| Stakeholders |
Purpose
The purpose of this document is to define the data conversion approach for creating Tax Condition Records in the SAP S/4HANA target system, as part of a Greenfield implementation.
In SAP ECC, sales tax condition records for pricing condition types that exist as part of the pricing procedure configuration and are stored in condition tables such as A*, KONV, and related master and transactional tables. These records are used to define tax elements such as sales tax, VAT, GST, etc., across sales documents.
In SAP S/4HANA, the structure and usage of sales condition records remain largely consistent; however, data models may be simplified, and dependencies on country of sales, receiver's country, business partners (replacing customer/vendor master records) become critical in ensuring consistency across sales functions.
This conversion aims to migrate active and relevant tax pricing condition records from existing ECC systems into S/4HANA by applying required transformation logic using Syniti as the data migration and transformation platform. The converted records will be loaded into the target S/4HANA system using standard SAP mechanisms such as IDOCs, BAPIs, or direct table loads where applicable.
Conversion Scope
The scope of this document includes the end-to-end approach for:
- Extracting existing Tax Condition Records from SAP ECC systems WP2 and PF2.
- Applying transformation and cleansing logic via Syniti to conform with the S/4HANA data model and business partner framework.
- Loading the transformed condition records into SAP S/4HANA while ensuring data integrity, correct assignment to condition types, condition tables, access sequences, and pricing procedures.
This process will support the migration of condition records such as:
- Output Tax (e.g., MWST)
- US Tax per document (e.g., UTXD)
- India GST ( e.g., JOCG )
The data from legacy system includes:
Tax condition records relevant for sales transactions, maintained across applicable tax codes and jurisdiction codes
Tax rates for output tax determination (e.g., VAT, GST, sales tax)
Tax exemption indicators or reduced rates as per customer-specific agreements
Effective and expiration dates for tax condition records
The data from legacy system excludes:
Pricing condition records (covered in CONV-1034 Pricing Condition Records Specification)
Rebate condition records (managed via Condition Contracts setup)
Withholding tax configurations (handled separately in the Master Data Migration scope)
| Source | Scope | Source Approx No. of Records | Target System | Target Approx No. of Records |
|---|---|---|---|---|
| WP2 | Tax Condition Records | S/4HANA System | ||
| PF2 | Tax Condition Records | S/4HANA System | ||
Additional Information
Multi-language Requirement
Not Applicable
Document Management
None identified. The conversion scope is limited to the migration of tax condition data records. No document attachments, images, or supporting files are included.
Legal Requirement
Special Requirements
Target Design
The technical design of the target for this conversion approach.
| Table | Field | Data Element | Field Description | Data Type | Length | Requirement |
|---|---|---|---|---|---|---|
| KONH | KNUMH | KNUMH | Condition Record Number | CHAR | 10 | Mandatory (Key) |
| KONH | ERDAT | ERDAT | Created On | DATS | 8 | Optional |
| KONH | DATAB | DATAB | Valid From | DATS | 8 | Mandatory |
| KONH | DATBI | DATBI | Valid To | DATS | 8 | Mandatory |
| KONP | KSCHL | KSCHL | Condition Type (Tax Code) | CHAR | 4 | Mandatory |
| KONP | KBETR | KBETR | Tax Rate | CURR | 11 | Mandatory |
| KONP | KONWA | KONWA | Condition Unit (Currency or Percentage) | CUKY | 5 | Mandatory |
Data Cleansing
| ID | Criticality | Error Message/Report Description | Rule | Output | Source System |
|---|---|---|---|---|---|
1035-001 | C1 | Remove obsolete condition records | Eliminate pricing condition records where the material, customer, or condition type is blocked or discontinued. | List of obsolete records | WP2/PF2 |
1035-002 | C1 | Validate Customer-Material master data | Ensure pricing condition records refer to valid and active Customer and Material master records. | List of invalid Customer Material combinations | WP2/PF2 |
1035-003 | C1 | Remove expired condition records | Delete condition records where validity end date has already passed. Exception the condition records required for open sales orders under migration scope | List of expired records | WP2/PF2 |
1035-004 | C1 | Validate mandatory fields | Check for missing mandatory fields (e.g. Condition Value, Currency, UoM, Scale data, Validity dates). | List of incomplete records | WP2/PF2 |
1035-005 | C2 | Detect duplicate condition records | Identify and flag duplicate pricing condition records for the same condition type, key combination, and validity period. This is possible as the source is from multiple systems WP2 and PF2 | List of duplicate records | WP2/PF2 |
1035-006 | C1 | Validate currency consistency | Validate that the currency used in pricing conditions matches the currency allowed for the corresponding sales organization or customer master data. | List of inconsistent currency | WP2/PF2 |
1035-007 | C2 | Validate scale data | Identify and correct scale records with inconsistent or overlapping ranges (quantity/value). | List of scale issues | WP2/PF2 |
1035-008 | C1 | Validate unit of measure consistency | Validate unit of measure used in pricing conditions aligns with material master base UoM and allowed UoMs. | List of inconsistent UoM records | WP2/PF2 |
Conversion Process
The high-level process is represented by the diagram below:
Data Privacy and Sensitivity
Extraction
Extract data from a source into . There are 2 possibilities:
- The data exists. connects to the source and loads the data into . There are 3 methods:
- Perform full data extraction from relevant tables in the source system(s).
- Perform extraction through the application layer.
- Only if ; cannot connect to the source, data is loaded to the repository from the provided source system extract/report.
- The data does not exist (or cannot be converted from its current state). The data is manually collected by the business directly in . This is to be conducted using DCT (Data Collection Template) in
The agreed Relevancy criteria is applied to the extracted records to identify the records that are applicable for the Target loads
Extraction Run Sheet
| Req # | Requirement Description | Team Responsible |
|---|---|---|
| 1035-001 | Confirm scope and extraction approach for each ECC source systems WP2, PF2 (direct DB or manual extract) | Data Team (L2C), Data Team (Syniti) |
| 1035-002 | Establish and validate Syniti connectivity to both ECC source systems | Technical / Basis Team, Data Team (Syniti) |
| 1035-003 | Perform full data extraction from relevant SAP pricing tables (e.g., A*, KONH, KONP, etc.) from both source systems WP2, PF2 | Data Team (Syniti) |
| 1035-004 | Extract pricing condition records via the application layer for additional validations for Manual Data Collection using DCTs | Functional / Data Team (L2C) |
| 1035-005 | Apply agreed Relevancy Criteria to filter only applicable condition records for S/4HANA (e.g., active conditions, valid dates, active customers/materials) | Data Team (L2C), Data Team (Syniti) |
| 1035-006 | In case of restricted access or connectivity issues, receive pre-extracted pricing reports/files from source system team and upload to Syniti Migrate manually | Data Team (L2C), Data Team (Syniti) |
| 1035-007 | Identify pricing data not present in SAP (e.g., special rates, legacy exceptions) and collect manually via DCT (Data Collection Template) | Business Users / Data Team (L2C), Data Team (Syniti) |
| 1035-008 | Perform data quality checks on extracted records (e.g., missing key fields, invalid dates, incorrect formats) | Data Team (L2C), Data Team (Syniti) |
| 1035-009 | Review and approve extracted data sample sets from each source system before transformation begins | Business / Functional Team |
| 1035-010 | Archive raw extracts and maintain extraction audit logs for traceability | Data Team (L2C), Data Team (Syniti) / PMO Team |
Selection Screen
| Selection Ref Screen | Parameter Name | Selection Type | Requirement | Value to be entered/set |
|---|---|---|---|---|
Data Collection Template (DCT)
Target Ready Data Collection Template will be created for data with exception of some fields which require transformation as mentioned in the transformation rule.DCT Rules
| Field Name | Field Description | Rule |
|---|---|---|
| KSCHL | Condition Type | Mandatory. Must be a valid condition type configured in S/4HANA. Use lookup list provided. |
| Field List Based on Chosen Access Table / Key Combination (Refer to Full Template List Above) | ||
| VKORG | Sales Organization | Mandatory. Must match valid Sales Org values in target system. Only authorized values per scope should be used. |
| VTWEG | Distribution Channel | Optional based on condition table. Must be valid if provided. |
| SPART | Division | Optional. Use only if applicable. Validate against S/4HANA master data. |
| KUNNR | Customer Number | Must be a valid customer number in the S/4HANA master data. |
| LIFNR | Vendor Number | Use only when condition type applies to vendor. Must match master data. |
| MATNR | Material Number | Used only for material-based pricing. Should be padded to 18 characters. |
| WERKS | Plant | Optional. Use only if relevant for the pricing condition. |
| Mandatory Fields in All DCTs | ||
| KBETR | Condition Rate | Mandatory. Should be numeric. Decimal separator should be "." (e.g., 25.50). |
| KONWA | Currency | Mandatory. Must be a valid ISO currency code (e.g., USD, EUR). |
| KPEIN | Pricing Unit | Mandatory. Must be numeric and represent number of units (e.g., 1, 1000). |
| KMEIN | Unit of Measure | Mandatory. Must match valid UOM from SAP (e.g., EA, KG, L). |
| DATAB | Valid From Date | Mandatory. Format: YYYYMMDD. Cannot be in the past or beyond system date range. |
| DATBI | Valid To Date | Mandatory. Format: YYYYMMDD. Must be later than Valid From date. |
Extraction Dependencies
| Item # | Step Description | Team Responsible |
|---|---|---|
Transformation
The Target fields are mapped to the applicable Legacy field that will be its source, this is a 3-way activity involving the Business, Functional team and Data team. This identifies the transformation activity required to allow to make the data Target ready:
- Perform value mapping and data transformation rules.
- Legacy values are mapped to the to-be values (this could include a default value)
- Values are transformed according to the rules defined in
- Prepare target-ready data in the structure and format that is required for loading via prescribed Load Tool. This step also produces the load data ready for business to perform Pre-load Data Validation
Transformation Run Sheet
| Item # | Step Description | Team Responsible |
|---|---|---|
| 1 | Identify target S/4HANA fields and determine applicable legacy source fields from both ECC systems WP2, PF2 | Functional Team (L2C)+ Data Team (L2C) |
| 2 | Review condition types and access tables used in each ECC source systems WP2, PF2 | Business Team + Functional Team (L2C) |
| 3 | Map legacy field values to S/4HANA target values (including field-level mapping and technical names) | Data Team (L2C), Data Team (Syniti) |
| 4 | Define value mapping rules for fields requiring standardization or harmonization across the two source systems WP2, PF2 (i.e., USD, US$ mapped to USD, and ZD01 and ZDISC from ECC system mapped to ZD01 etc., | Functional Team (L2C)+ Data Team (L2C) |
| 5 | Identify and agree on default values where legacy data is incomplete or inconsistent | Business Team + Functional Team (L2C) |
| 6 | Configure transformation rules in Syniti Migrate (including calculated fields, formatting rules, etc.) | Data Team (Syniti), Data Team (L2C) |
| 7 | Review transformation logic and mappings with Business for confirmation | Business Team + Functional Team (L2C) |
| 8 | Perform initial transformation run and generate draft target-ready dataset | Data Team (Syniti), |
| 9 | Review draft target-ready data for structure and completeness | Data Team (L2C), Functional Team (L2C) |
| 10 | Share transformed data with Business for Pre-load Validation | Business Team |
| 11 | Incorporate feedback from Business and refine mappings or transformation logic as needed | Data Team (L2C) |
| 12 | Finalize and approve transformed data as Target Ready Load File | Business + Functional (L2C) + Data Team (L2C) |
| 13 | Handover final file to Load Team or trigger the load via Syniti Load Workbench | Data Team (Syniti), Data Load Team |
Transformation Rules
Please check the attached file for the complete field to mapping table mapping CNV-1034-Transformation Rules
| Rule # | Source system | Source Table | Source Field | Source Description | Target System | Target Table | Target Field | Target Description | Transformation Logic |
|---|---|---|---|---|---|---|---|---|---|
| 1035-001 | QF2 | BOLL | A764 | ALAND / LLAND / VKORG | S/4HANA | A764 | BOLL | ||
| 1035-002 | QF2 | BOLL | A110 | LLAND / VKORG | S/4HANA | A110 | BOLL | ||
| 1035-003 | QF2 | CTXJ | A604 | AUART_SD | S/4HANA | A604 | CTXJ | ||
| 1035-004 | QF2 | CV | A534 | KUNNR / LLAND / SPART / VKBUR / VKORG / VTWEG / ZZPRODH_P3 | S/4HANA | A534 | CV |
Transformation Mapping
| Field Name | Mapping Table Name | Mapping Table Description |
|---|---|---|
| AUART_SD | AUART | Sales Document Types |
| BUKRS | BUKRS | Company Code |
| KUNAG | KUNNR | Business Partner - Customer |
| KUNNR | KUNNR | Business Partner - Customer |
| KUNRG | KUNNR | Business Partner - Customer |
| KUNWE | KUNNR | Business Partner - Customer |
| LGORT | LGORT | Storage Location |
| MATKL | MATKL | Material Group |
| MATNR | MATNR | Material Master |
| PRODH | PRODH | Product Hierarchy |
| SPART | SPART | Division |
| VKBUR | VKBUR | Sales Office |
| VKORG | VKORG | Sales Organization |
| VKORGAU | VKORG | Sales Organization |
| VTWEG | VTWEG | Distribution Channel |
| WERKS | WERKS | Plant |
Transformation Dependencies
List the steps that need to occur before transformation can commence| Item # | Step Description | Team Responsible |
|---|---|---|
Pre-Load Validation
Project Team
Completeness
| Task | Action |
|---|---|
Accuracy
| Task | Action |
|---|---|
Business
Completeness
| Task | Action |
|---|---|
Accuracy
| Task | Action |
|---|---|
Load
The load process includes:
- Execute the automated data load into target system using load tool or product the load file if the load must be done manually
- Once the data is loaded to the target system, it will be extracted and prepared for Post Load Data Validation
Load Run Sheet
| Item # | Step Description | Team Responsible |
|---|---|---|
Load Phase and Dependencies
Configuration
| Item # | Configuration Item |
|---|---|
Conversion Objects
| Object # | Preceding Object Conversion Approach |
|---|---|
| list the exact title of the conversion object of only the immediate predecessor – this will then confirm the DDD (Data Dependency Diagram) | |
Error Handling
| Error Type | Error Description | Action Taken |
|---|---|---|
Post-Load Validation
Project Team
Completeness
| Task | Action |
|---|---|
Accuracy
| Task | Action |
|---|---|
Business
Completeness
| Task | Action |
|---|---|
Accuracy
| Task | Action |
|---|---|
Key Assumptions
- Master Data Standard is up to date as on the date of documenting this conversion approach and data load.
- is in scope based on data design and any exception requested by business.
See also
Change log
Workflow history
| Title | Last Updated By | Updated | Status | |
|---|---|---|---|---|
| There are no pages at the moment. | ||||
