The spution consists of two parts: Coding changes and configuration of the SD pricing procedure and the Withholding Tax Calculation.
1. Coding changes:
The easiest way is to apply the indicated support package. If this is not possible, you have to carry out the following manual activities:
a) Create Function group ID_SD_GEN
Create the Function group ID_SD_GEN in the development class ID-FI.
Create the following function modules:
WHT_CODE_IN_SD_PRICING_CHECK
Importing
Name Typing Assoc. Type
IS_KOMK TYPE KOMK
IS_KOMT1 TYPE KOMT1
IT_XKOMV TYPE TAX_XKOMV_TAB
IT_T683S TYPE TY_T683S
Tables
Name Typing Assoc. Type
IT_KOMT1 TYPE KOMT1
Exceptions
Exception Text
WHT_CODE_NOT_FOUND Corresponding WHT Tax Code not found
PRICING_INCONSISTENCY Pricing document is inconsistent
CUSTOMIZING_INCONSISTENCY Customizing is inconsistent
WHT_KNBW_CHECK
Importing
Name Typing Assoc. Type
IV_LAND TYPE ALAND
IV_KSCHL TYPE KSCHL
IV_KUNNR TYPE KUNNR
IV_BUKRS TYPE BUKRS
IV_PRSDT TYPE PRSDT
Exporting
Name Typing Assoc. Type Pass Value
EV_WHT_CODE TYPE WT_WITHCD X
Exceptions
Exception Text
NOT_DUE Not due for Withholding Tax
b) Create pricing requirement routines
For technical reasons, the pricing requirement routines 164 and 165
cannot be created in a customer system since they are in SAP name range. However, you can create the routines by choosing numbers in customer name range, e.g. 964 and 965, and then introducing the coding by means of the correction instruction.
The procedure to create the routines is as follows:
Start transaction VOFM. From the menu, choose the entry "Requirements --> Pricing". Scrpl to the end of the list and create the fplowing entries:
Routine number Description
964 Withh.Tax: WHT Code
965 WHT Base amount
Select the entry 964 and press the editor button to navigate to the source code of the routine.
Return, highlight the entry again and choose the menu entry "Edit --> Activate".
Repeat these steps for the entry 965.
Then you can apply the correction instructions.
2. Changes in configuration
You can easily configure any base amount for the withholding taxes by changes to the pricing procedure and the definition of the base amount for the withhpding tax. An example is given below.
The approach is as follows:
- The withholding tax base is calculated in the SD pricing procedure and posted as a tax to a separate account in FI
- An offset condition in the SD pricing is posted to the same account but using a different account key.
- The withholding tax is configured as "Base amount is modified tax amount". The posting key from the first condition is entered as relevant for the determination of the base amount.
An example for the case of using the freight as basis for the tax is given below.
a) Create Condition types
Create the following SD condition types with transaction V/06:
Condition type WCOD: "Withholding Tax Code"
Access seq. J1AG
Cond. class 'W' Wage withholding Tax
Calculat.type 'A' Percentage
Cond.category 'D' Tax
Manual entries 'D' Not possible to process manually
Header condition ' '
Item Condition 'X'
RefConType ' '
RefApplicatio ' '
Delete from database 'B without popup'
Condition type WBAS: "Withholding Tax Base"
Access seq. MWST
Cond. class 'D' Taxes
Calculat.type 'A' Percentage
Cond.category 'D' Tax
Manual entries 'D' Not possible to process manually
Header condition ' '
Item Condition 'X'
RefConType ' '
RefApplicatio ' '
Delete from database 'B without popup'
Condition type WOFF: "Withholding Tax Offset"
Access seq. MWST
Cond. class 'D' Taxes
Calculat.type 'A' Percentage
Cond.category 'D' Tax
Manual entries 'D' Not possible to process manually
Header condition ' '
Item Condition 'X'
RefConType ' '
RefApplicatio ' '
Delete from database 'B without popup'
FI Condition types:
The condition types WBAS and WOFF must be created as FI condition types by copying the condition type MWAS. The IMG activity is found under
Financial Accounting
Financial Accounting Global Settings
Tax on Sales/Purchases
Basic Settings
Check Calculation Procedure
Define Condition Types
b) Create posting keys
If the posting keys WG3 and WG4 do not exist in your system, you can create them according to the instructions given in Note 747607. You do NOT have to apply that Note, only the relevant posting keys.
c) Pricing procedure
The condition types WBAS and WOFF must be inserted into the relevant pricing procedures. For FI, this is carried out in the folllowing IMG activity:
Financial Accounting
Financial Accounting Global Settings
Tax on Sales/Purchases
Basic Settings
Check Calculation Procedure
Define Procedures
Insert the condition types into the FI procedure (e.g. TAXMX) as given below:
Step Type Text Fro ActKey
200 WBAS Withhpding Tax Base 100 WG3
205 WOFF Withhpding Tax Offs 200 WG4
For the SD pricing, use transaction V/08 to maintain the SD pricing procedure (e.g. RVAAMX) as follows:
Step Cntr CTyp Fro To Man. Mdt Stat P SubTo Reqt AltCTy AltCBV ActKy
985 WCOD 164
986 WBAS 810 815 165 WG3
987 WOFF 986 WG4
This setup expects the freight conditions HD00 and KF0 in the line range810 to 815. If this is not the case, adapt the "From" and "To" fields accordingly.
Condition records for condition types WBAS and WOFF
FI: In transaction FTXP, maintain entries for the tax codes required
Maintain 100% for WBAS and -100% for WOFF
SD: Maintain TSKD and TSKM for WBAS and WOFF
Copy the values for MWST to the tax types WBAS and WOFF
Create condition records with the proper tax code
Maintain 100% for WBAS and -100% for WOFF
Note that you have to create condition records for WCOD according to the instructions of note 178824.
d) Configuration of Withholding Tax
The IMG activitiy is found under the following node:
Financial Accounting
Financial Accounting Global Settings
Withholding Tax
Extended Withholding Tax
Calculation
Withholding Tax Type
The withholding tax type is configured in the activities
"Define Withholding Tax Type for invoice posting" or
"Define Withholding Tax Type for payment posting" as required.
Define the WHT type FR with the Base amount as "Modified Tax Amount". Set the other parameters as required.
Assign SD condition to the relevant WHT Tax Type.
This activity is found under the above mentioned node as "Assign Condition Type to Withholding Tax Type".
Here, assign WCOD to the Withholding Tax Type FR.
Assign Posting Key WG3 to the modifed tax amount for FR
Under the WHT node, perform the following activity
Withholding Tax Base Amount
Define Processing Key for Modified Tax Amount
you can use the check report from Note 178824 to verify the customizing settings.
Assign customer master data to the Withholding tax type FR and the relevant withholding tax codes.