Overview
The purpose of this document is to provide insights to the customers, how chapter 4 withholding tax reporting for 1042S can be implemented using the generic withholding tax reporting framework. This process is divided into two sections: (a) Configuration (b) Code Implementation.
In the configuration section, the customer needs to make necessary customizing settings/customization in the system to adapt chapter 4 master data information. The code implementation part is to move the values from the customizing to the standard dictionary structures available in the generic withholding tax reporting framework.
Configuration
- Define placeholder for Chapter 4 status code for withholding agent.
- Run transaction SM30 and provide view name as V_T001I.
- Click on Maintain button.
- Click on New Entries button.
- Maintain the information as given below.
- Parameter Type: USCHP4
- Description: Chapter 4 Status Code
- Length: 2
- ISO Code: US
- Save and exit from the view.
![1_Status_Code.jpg]()
2. Go to IMG (T-code: SPRO): Financial Accounting à Financial Accounting Global Settings àCompany Code à Enter Global Parameters
- Select the company code for which the Chapter 4 status code is to be maintained.
- Click on Additional Data button.
- Maintain the Chapter 4 status code value against the placeholder.
- Save and exit.
3. Maintain exemption code for Chapter 4.
- Run transaction SM30 and provide view name as V_T059V.
- Click on Maintain button.
- Provide country key as US and choose OK.
- Choose the New Entries button.
- Maintain the Chapter 4 exemption codes. (Refer page number 17 of 1042S instructions for the exemption codes - http://www.irs.gov/pub/irs-pdf/i1042s.pdf)
- Save and exit.
![2_Exemption_Code.jpg]()
4. Define withholding tax key for chapter 4.
- Go to transaction SM30.
- Provide view name as V_T059Z_WITHCD2 and choose the Maintain button.
- Provide country key US and choose OK.
- Choose the New Entries button.
- Maintain values as below.
- Withholding tax Key: CHP4
- Description: Chapter 4
- Save and exit.
![3_WTax_Key.jpg]()
5. Assign withholding tax key to tax type/ tax code.
- Go to transaction SM30.
- Provide view name as ‘V_T059Z_AR’ and choose the Maintain button.
- Provide country key as US and choose OK.
- Assign the withholding tax key against the tax type/ tax code.
- Save and exit.
![4_key_assignment.jpg]()
6. Maintain the status code.
- Withholding Agent’s / Recipient’s Status Code is maintained as Recipient Code.
- Go to transaction code SM30.
- Provide view name as V_T059C.
- Choose the Maintain button.
- Provide country key as US and choose OK.
- Choose the New Entries button.
- Provide the status code and its description against the withholding tax type.
- Save and exit.
![5_Recipeint_Code.jpg]()
7. Assign the status code and exemption code to the vendor master.
- Go to transaction code FK02.
- Provide company code and vendor number and select withholding tax check box.
- Press Enter and maintain the values.
- Maintain the values as below:
- Recipient Type: The status code maintained can be selected here from F4 help.
- Exemption code can be assigned to the exemption reason.
- Exemption rate to be maintained along with exemption period.
- Save and exit.
Code Implementation
Once the configuration is complete, some code implementation is necessary to transfer these values to the corresponding placeholders.
The standard structures are expanded to hold values at company code level and partner level, but the mapping needs to be done by the customer.
The user exit WTAXREPORT_MODIFY must be implemented by the customer. In my opinion, the method MODIFY_DATA_BEFORE_OUTPUT is the right method to implement the code. The reason is that, when the control reaches this method, the system divides the data into 3 different internal tables C_COMPCD for company code info, C_PARTNER for business partner information, and C_FIDOC for document level information.
Company code level data mapping
- To pass the withholding tax indicator for agent , the value X should be passed to placeholder C_COMPCD-US_CHP4.
- The status code of the withholding agent (which was maintained as the additional data of company code using the configuration step 1) to be reported in the form. For this, you need to implement the code to read the parameter value (PAVAL) from the table T001Z with the parameter type (PARTY) USCHP4. The parameter value should be moved to C_COMPCD- US_CH4_STATUS field.
Partner Level data mapping:
1. To mark the checkbox for chapter 4 in the form , the value 'X should be passed to placeholder C_PARTNER-US_1042_CHP4.
2. Chapter 4 status code, exemption code, and exemption rate can be read from LFBW table. You may need to provide the vendor number (LIFNR), tax type, and tax code to identify the right record and pass the values as given below:
- Status Code : C_PARTNER-US_CH4_RCODE .
- Exemption Code: C_PARTNER-US_1042_EXMCODE
- Tax Rate : C_PARTNER- US_1042_RATE