Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Status

Percentage Progress | Vectors (Formerly: SP Percentage progress bar)
backgroundColor0052CC
percentage100

OwnerBernard Ng
Stakeholders

Purpose

The purpose of this document is to define the conversion approach to migrate unposted legacy withholding tax (WHT) in S/4 HANA.


In general, WHT could be posted at the point of payment or at the point of invoice.

The scope for this CNV 9020 is to cover AP and AR open items where WHT is posted at the point of payment.

Illustration:
Invoice below has been posted in ECC.

Dr. Expense 1000
Dr. VAT          100     
    Cr. Vendor      1100

The objective for this object is to store the WHT information in the table so when posting payment in S/4, system is able to calculate and post WHT correctly as below:
Dr. Vendor   1100
   Cr. WHT       10
   Cr. Bank       1090

Conversion Scope

The scope of this document covers the approach for converting unposted withholding tax items with AP / AR open items from Legacy Source Systems into S/4HANA. 

There are 2 group go-live as below:

  • Group 1 go-live (1 July 2028) (System PF2)
  • Group 2 go-live (1 Jan 2029) (System WP2)

Note:  There is possibility to shift into 1 go live date, this option is currently still being considered.


The data from legacy system includes:

  1. withholding tax items related to AP normal open item/AP special GL open items as per object # 9006/9007, that are in withholding tax mapping table. 
  2. withholding tax items related to AR normal open item /AR special GL open items as per object # 9008/9009, that are in withholding tax mapping table

These withholding taxes migrated to S4 are expected to be posted during payment clearing.

The data from legacy system excludes:

  1. withholding tax items that are not mapped due to invoice level posting in legacy (avoid double posting)


Relevancy rule :

  • Initial extract all documents from WITH_ITEM for mapped withholding tax codes mapped in link with fiscal year =< 2 years from migration cutoff date (note the 2 years is to avoid extracting all history years which are not relevant to AP or AR scope)
  • refer to relevant data extracted from object # 9006/9007/9008/9009 (document number, fiscal year, company code)
  • filter for same document number + fiscal year + company code + wtax type + wtax code from WITH_ITEM table initial extracts 


List of source systems and approximate number of records 
SourceScope

Source Approx No. of Records

Target SystemTarget Approx

No. of Records

PF2withholding tax items of AP / AR open items1000S41000
WP2withholding tax items of AP / AR open items1000S41000
PI2withholding tax items of AP / AR open items10000S410000





Scope of the migration is based on withholding tax linked to migrated AP OPEN ITEMS (9006), AP SPECIAL GL OPEN ITEMS (9007), AR OPEN ITEMS (9008) and AR SPECIAL GL OPEN ITEMS (9009), which have not been posted during legacy open item posting. The withholding tax codes will be mapped in a table (link). If such withholding tax codes are part of the AP/AR objects scope ie same document number/year/company code combination, the respective WITH_ITEM data will be extracted for migration together with each object. There will be no withholding tax posting /line item since it was not posted in legacy yet.

All currencies will be loaded accordingly unless there is a change in company design where local / group currency changes. Rates are as per the historical postings unless specific requirement calls for a fixed rate eg. group currency rate for consolidation purposes. 

Offsetting gl account is respective migration account for AP, AR migration objects (refer link).

There will be no migration of unmapped withholding tax codes ie. history of posted withholding tax will remain in legacy system and will not be posted again in S4. Current year withholding tax reports will be a combination of legacy system data and S4 system data after go-live.

Additional Information

Multi-language Requirement

N/A

Document Management

N/A

Legal Requirement

N/A

Special Requirements

Due to compliance requirement, there will be 3 SAP instances as below:

  • SAP instance for Rest of the World (ROW)
  • SAP instance for China
  • SAP instance for CUI

Withholding data will be migrated to respective SAP instances based on the company codes. Please refer to column "Company Code" and "Instance" in Enterprise Structure Catalog - Google Sheets (worksheet 10. Company code), 





Target Design

The technical design of the target for this conversion approach. 


TableFieldField DescriptionData typeLength (Decimals)Requirement
WITH_ITEMBUKRSCompany CodeCHAR4Mandatory
WITH_ITEMBELNRDocument NumberCHAR10Mandatory
WITH_ITEMGJAHRFiscal YearNUMC4Mandatory
(internal)DOCLNLine itemNUMC3Mandatory

BSIK/BSAK/

BSID/BSAD

LIFNR /
KUNNR
Vendor / CustomerCHAR10Mandatory
WITH_ITEMWITHTWithholding tax typeCHAR2Mandatory
WITH_ITEMWT_WITHCDWithholding tax codeCHAR2Mandatory
WITH_ITEMWT_QSSHHW/tax base amnt in LCCURR15(2)Mandatory
WITH_ITEMWT_QSSHBW/tax base amount DCCURR15(2)Mandatory
WITH_ITEMWT_QSSH2W/tax base amount LC2CURR15(2)Optional
WITH_ITEMWT_QSSH3W/tax base amount LC3CURR15(2)Optional
WITH_ITEMWT_BASMANW/tax bse amnt entered man.CHAR1Mandatory
WITH_ITEMWT_QBSHHWithholding tax amnt LCCURR15(2)Mandatory
WITH_ITEMWT_QBSHBWithholding tax amnt DCCURR15(2)Mandatory
WITH_ITEMWT_QBSH2Withholding tax amnt LC2CURR15(2)Optional
WITH_ITEMWT_QBSH3Withholding tax amnt LC3CURR15(2)Optional
WITH_ITEMWT_AMNMANW/tax amount entered manuallyCHAR1Mandatory
WITH_ITEMWT_QSFHHW/tax exempt amount in LCCURR15(2)Optional
WITH_ITEMWT_QSFHBW/tax exempt amount in DCCURR15(2)Optional
WITH_ITEMWT_QSFH2W/tax exempt amount in LC2CURR15(2)Optional
WITH_ITEMWT_QSFH3W/tax exempt amount in LC3CURR15(2)Optional



Data Cleansing


ID

Criticality


Error Message/Report Description

Rule

Output

Source System

N/A


















Conversion Process 

The high-level process is represented by the diagram below:

The high-level process is as follows :

  1. Extract from legacy systems
  2. Transformation : Based on dependent objects (Open AP / AR) , check if wtax codes are mapped in mapping tables. If matched, the respective load data will be generated to respective load file outputs to be combined into respective OPEN AP / AR load files
  3. Load process will be performed in respective OPEN AP / AR objects via respective tool eg. LTMC
  4. There is no loading for this object on its own

Data Privacy and Sensitivity


Extraction

Extract data from a source into Syniti. There are 2 possibilities:

  1. The data exists. Syniti connects to the source and loads the data into Syniti.

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

1.      

Ensure source table WITH_ITEM is extracted according to the agreed cut-off date in the project plan

Data team

2.      

Perform preliminary completeness check 

Data team

3.      

Raise issues as defects if Req # 1 to 3 are not met

Data team

4.      

Repeat Req # 1 to 4 if required

Data team

5.      

Report extraction result to person in charge of conversion

Data team


Selection Screen

Selection Ref ScreenParameter NameSelection TypeRequirementValue to be entered/set





















Data Collection Template (DCT)

 DCT will not be required since Syniti will extract legacy data from 3 legacy systems WP2, PF2 and PI2.


Extraction Dependencies


Item #

Step description

Team responsible

1.      

Any period / year end close activities have been fully completed

Business

2.      

Finance closing is completed and reconciled

Business



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 Syniti to make the data Target ready:

  1. Perform value mapping and data transformation rules.
    1. Legacy values are mapped to the to-be values (this could include a default value)
    2. Values are transformed according to the rules defined in Syniti
  2. 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.      

Ensure all the fields that require value mapping, are completed. Mapping tables have the latest signed-off mapping files imported into ETL Tool.

Data team

2.      

In tool, select the AP / AR Open Items object.

Data team

3.      

Go to Process Area Launch and Process the Object - AP / AR Open Items .

Data team

4.      

Launch the Objects to execute transformation.

Data team

5.      

Monitor the transformation progress and ensure performance and completion is within allowed timeframe

Data team

6.      

Generate Pre-Load reports .

Data team

7.      

Generate data load count.

Data team

8.      

Log errors as defects, if any and address resolutions. Close defects.

Data team

9.      

Re-transform and re-validate the Pre-load reports if necessary.

Data team

10.   

Validate the transformed file as part of pre-load validation, raise data defects or provide the pre-load sign-off.

Business

11.   

Analyse and resolve any pre-load defects logged by business.

Data team

12.   

Repeat steps 6 to 11 if necessary

Data team

13.   

Proceed to pre-load validations

Data team

Transformation Rules


Rule #Source systemSource TableSource FieldSource DescriptionTarget systemTarget TableTarget FieldTarget DescriptionTransformation logic
1LegacyWITH_ITEMBUKRSCompany CodeS/4HANAWITH_ITEMBUKRSCompany CodeMap from source to target using Company code mapping table (refer link).
2LegacyWITH_ITEMBELNRDocument NumberS/4HANAWITH_ITEMBELNRDocument NumberIf wtax code is in mapping table (link) and these fields match with AP / AR extraction according to Doc + Year + company code, this record will be combined to become 1 field (REFERENCE DOCUMENT NUMBER) for matching with AP / AR record
3LegacyWITH_ITEMGJAHRFiscal YearS/4HANAWITH_ITEMGJAHRFiscal Year
4Legacy

Line itemS/4HANA(internal)DOCLNLine itemRunning number starting from 001
5LegacyBSIK/BSAK/
BSID/BSAD
LIFNR / KUNNRVendor / CustomerS/4HANABSIK/BSAK/
BSID/BSAD
LIFNR / KUNNRVendor / CustomerMap from BP mapping XREF
6LegacyWITH_ITEMWITHTWithholding tax typeS/4HANAWITH_ITEMWITHTWithholding tax typeMap from source to target using Withholding tax mapping table (link).
7LegacyWITH_ITEMWT_WITHCDWithholding tax codeS/4HANAWITH_ITEMWT_WITHCDWithholding tax codeMap from source to target using Withholding tax mapping table (link).
8LegacyWITH_ITEMWT_QSSHHW/tax base amnt in LCS/4HANAWITH_ITEMWT_QSSHHW/tax base amnt in LCCopy source value
9LegacyWITH_ITEMWT_QSSHBW/tax base amount DCS/4HANAWITH_ITEMWT_QSSHBW/tax base amount DCCopy source value
10LegacyWITH_ITEMWT_QSSH2W/tax base amount LC2S/4HANAWITH_ITEMWT_QSSH2W/tax base amount LC2Automatically converted during posting
11LegacyWITH_ITEMWT_QSSH3W/tax base amount LC3S/4HANAWITH_ITEMWT_QSSH3W/tax base amount LC3Automatically converted during posting
12LegacyWITH_ITEMWT_BASMANW/tax bse amnt entered man.S/4HANAWITH_ITEMWT_BASMANW/tax bse amnt entered man.Default X
13LegacyWITH_ITEMWT_QBSHHWithholding tax amnt LCS/4HANAWITH_ITEMWT_QBSHHWithholding tax amnt LCCopy source value
14LegacyWITH_ITEMWT_QBSHBW/tax amount in DCS/4HANAWITH_ITEMWT_QBSHBW/tax amount in DCCopy source value
15LegacyWITH_ITEMWT_QBSH2Withholding tax amnt LC2S/4HANAWITH_ITEMWT_QBSH2Withholding tax amnt LC2Automatically converted during posting
16LegacyWITH_ITEMWT_QBSH3Withholding tax amnt LC3S/4HANAWITH_ITEMWT_QBSH3Withholding tax amnt LC3Automatically converted during posting
17LegacyWITH_ITEMWT_AMNMANW/tax amount entered manuallyS/4HANAWITH_ITEMWT_AMNMANW/tax amount entered manuallyDefault X
18LegacyWITH_ITEMWT_QSFHHW/tax exempt amount in LCS/4HANAWITH_ITEMWT_QSFHHW/tax exempt amount in LCCopy source value
19LegacyWITH_ITEMWT_QSFHBW/tax exempt amount in DCS/4HANAWITH_ITEMWT_QSFHBW/tax exempt amount in DCCopy source value

LegacyWITH_ITEMWT_QSFH2W/tax exempt amount in LC2S/4HANAWITH_ITEMWT_QSFH2W/tax exempt amount in LC2Automatically converted during posting

LegacyWITH_ITEMWT_QSFH3W/tax exempt amount in LC3S/4HANAWITH_ITEMWT_QSFH3W/tax exempt amount in LC3Automatically converted during posting


List of Custom Target Reports for this object is maintained here: Conversion Specification - Custom Reports Register.


Note on currencies :

Currency Adjustment During Migration (TCURX Consideration)
In SAP, the TCURX table defines the number of decimal places used for each currency.
This impacts how amounts are stored internally in database tables versus how they are displayed externally in user interfaces or reports.
Currencies such as JPY (Japanese Yen)KRW (Korean Won), or VND (Vietnamese Dong) are typically configured with no decimal places (TCURX-CURRDEC = 0).
Understanding and correctly applying the TCURX rules is essential during data migration to ensure financial consistency between ECC and S/4HANA.
Internal vs External Currency Representation example:

External Amount
The amount value as displayed to users in SAP screens and reports.
96015 JPY


Internal Amount
The amount value stored in database tables for computation.
960.15
Multiplied by factor = 10² if target has 2 decimals
 During data migration, these internal (technical) amounts must be converted to external amounts to ensure accuracy and consistency in the target S/4HANA system.
Conversion Formula:
External Amount =  Internal Amount * 10 to the power ( 2 - Number of decimal for the currency in TCURX table )

Transformation Mapping

Mapping Table Name

Mapping Table Description

Company Code

Mapping of legacy company codes to target system value

Withholding Tax

Mapping of legacy withholding tax types and tax codes to target system value by country and company code (withholding tax in scope only)

Transformation Dependencies

List the steps that need to occur before transformation can commence
Item #Step DescriptionTeam Responsible
1Ensure all the fields that require value mapping, as stipulated. Mapping tables, have the correct values mapped and imported into tool.Data team




Pre-Load Validation

Project Team

Completeness


Task

Action

Generation of
Pre-load reports

Mandatory field check.
Based on S/4HANA target design fields, account field status groups and tax settings

Check if records have all mandatory fields filled and mapped, otherwise they should be flagged as error.


Check signage of amount.

Check whether source data (including DCT) has debit and credit entries in the same line. If sign is the same in all the three currency fields, then no action needed.

If the sign in the document currency and company code currency field are different, then the document needs to be corrected in the source system or DCT.

Ensure all transactions have values in Document Currency and Local Currency
(i.e. no 0.00 allowed) 

Reconciliation of total

Record Count

Check the sum of record count of the AP /AR withholding tax items in the load file is the same as source. The record count for AP / AR withholding tax items will be done on the group basis. The fields in the group are consist of: Company Code, withholding tax code


Check Amount in Document Currency and Local Currency

Check the sum of the amount in Document Currency and Local Currency in load file is the same as source. If any of the sum is different, flag the record as error.

Reconcile wtax code between BP master and wtax open items

For withholding tax relevant to respective AP open items, compare the wtax type and code with the respective BP master wtax type/code. If different, this needs to be flag as a issue which require cleansing / decision from business to take action.


Accuracy


Task

Action

Mandatory field mapping and transformation

Obtain a list of the fields to be populated with values from mapping files and ensure all these fields contain S/4HANA values. 
Review the data report to ensure mapping value is not missing in tool.
Capture errors in the Data Error report.





Business

Completeness

TaskAction
Verify record count in Pre-load reports by region

In legacy system, execute withholding tax reports for withholding tax codes and AP / AR document numbers by company.

Group the output of the report by Company Code and compare the count in this report against the AP / AR withholding tax items count in the pre-load file.

If any of the count is different, raise defect and flag the relevant record as error.


Accuracy

TaskAction
Conversion accuracy

Verify AP/AR withholding tax items are transformed accurately as per endorsed transformation/mapping rules.

Review error reports in tool for any mismatch or missing transformed values.

In legacy system, execute withholding tax report (t/code: S_P00_07000134) with selection parameters.

If any of the sum is different, raise defect and flag the relevant record as error.


Load

Loading will be done through migration cockpit at respective objects (AP OPEN ITEMS (9006), AP SPECIAL GL OPEN ITEMS (9007), AR OPEN ITEMS (9008), AR SPECIAL GL OPEN ITEMS (9009) and therefore, data from the transformation export view to be exported into the load file format.

3 export views to be prepared based on the field list from the XML load templates attached. 

  1. Create export view for the WITHHOLDING TAX ITEMS of AP OPEN ITEMS (9006), AP SPECIAL GL OPEN ITEMS (9007)
  2. Create export view for the WITHHOLDING TAX ITEMS of AR OPEN ITEMS (9008), AR SPECIAL GL OPEN ITEMS (9009)



View file
nameSource data for FI - Accounts receivable open item.xml
height250
View file
nameSource data for FI - Accounts payable open item.xml
height250

Load Run Sheet


Item

Step description


Team responsible

1

Ensure the load tools are transported into the correct tool instance.

Data team

2

Ensure DCTs and all required mappings are submitted and complete

Data team

3

Ensure Pre-load sign-offs are obtained.

Data team

4

Execute tool AP/AR withholding tax items

Data team

5

Generate the post load reports in tool.

Data team

6

Log errors as defects, if any and address resolutions. Close defects.

Data team

7

Resolve defects by reupload and re-generate post load reports if necessary.

Data team

8

Business to validate the post load files as part of post-load validation, raise data defects or provide the post-load sign-off.

Business

9

Repeat steps 5 to 7 if necessary.

Data team



Load Phase and Dependencies

Configuration

Item #

Configuration item

1.      

Company code-related configuration (posting period variant).

2.      

Finance posting (document types, document number ranges, special gl indicator)

3.      

Currencies (currency keys, decimal places in currencies)

4.      

Withholding Tax (tax types , tax codes)

 Conversion Objects

Object #Preceding Object Conversion Approach
1067GL Account Operational CoA (incl. secondary CE)
3018Business Partners - FI Vendor (FLVN00)
9006AP Open Items
9007AP Special GL Open Items
9008AR Open Items
9009AR Special GL Open Items

Error Handling


Error type

Error description

Action taken

Withholding Tax type does not exist

Withholding Tax type does not exist in company

Ensure the Withholding tax type mapping is correct

Withholding Tax code does not exist

Withholding Tax code does not exist in company

Ensure the Withholding tax code mapping is correct


Post-Load Validation

Project Team

Completeness

TaskAction
Reconciliation of Record Count

Total number of records loaded for AP /AR withholding tax items will be generated in the Post-load reports in tool based on the target table and fields mentioned

The reconciliation needs to be executed on the total number of ‘valid’ records and currency amount per company code in the source compared to total number of records and currency amount in S/4HANA

Record Count

Check the sum of record count of the tax items in the load file is the same as S/4HANA. The record count for AP/AR withholding tax items will be done on the group basis. The fields in the group are consist of: Company Code, withholding tax code

Check Amount in Document Currency and Local Currency

Check on line item level that the sum of the amount in Document Currency and Local Currency in the load file is the same as posted in S/4HANA. If any of the sum is different, flag the record as error.


Accuracy

TaskAction
Check values in key fields for accuracy

Post-load reports will have the same structure as the load file and some additional columns as required to facilitate the post load validation.

Leverage on tool to create a Post Load report that reports S/4HANA loaded records along with the legacy values side-by-side to allow for 100% check of all these fields in the shortest possible time.

Any mismatch will be reported under the Post Load - Error report.




Business

Completeness

TaskAction
Record Count Check

Review the record count report from the Data Team and ensure it is correct by cross-checking with the record count confirmed during Pre-load Business Validations


Business may also run VAT reports or equivalent report in Fiori App to display loaded AP / AR withholding tax items in S/4HANA and compare results against the pre-load reports generated from tool.

Accuracy

TaskAction
Withholding tax items totalsCheck withholding tax totals by Company code. Totals should be checked in Document, Local and Group currency.
Spot checkBusiness should choose some tax codes and perform comprehensive check of withholding tax items etc. Such companies should have huge number of withholding tax items or have certain complexity in conversion.


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.



Change log

Change History
limit10

Workflow history

Workflow Report
parent@self
hideheadertrue
typeapprovals