Skip to Content
Author's profile photo Vinod Vemuru

Tax code recycling – The best way to limit number of tax codes in the system

Tax code is like a natural resource where the availability of new tax code for creation would exhaust at some point if it is not managed with proper planning.

In this blog, I would like to explain how to effectively recycle the tax codes.

Tax codes are created at country level based on the legal requirements of the country. One tax code is created per tax percentage and the account keys to be used in a country.

E.G: As on today the tax rate in a country is say 20% and to be posted in account key MWS (Output Tax). New tax code is created for this.

After sometime, say tax rate has been changed from 20% to 22%. We can’t change the tax rate in the existing tax code as this has already been used by the country and any change in percentage would lead to conflicts. So, a new tax code should be created.

There would be multiple tax rates in a country to be posted to different account keys like output tax, acquisition tax, non-deductible tax etc which is equal to the same number of tax codes.

It is not necessary that, we would be using all the tax codes created in the system. There might be a scenario where tax codes are created as per the legal requirements but was never used due to nonexistence of the business in that particular area. If a new request is received for tax rate change at later point, tax code recycling should be done before we rush through FTXP to create the new tax code. Because, there is a limitation in the system on number of tax codes that can be created in SAP.

Let us see how many tax codes can be created in the system.

Tax code is a 2 digit field and allowed characters are 0-9 and A-Z.

Number of letters available = 10 (0-9) + 26(A-Z) = 36

Number of 2 digit tax codes that can be created = 36*36 = 1296

So, total number of tax codes that can be created are 1296.

Due to this reason, new tax code creation should be done only if tax code recycling can’t be done. So, let us see how to recycle the tax codes.

TAANA Analysis:

T-code TAANA is used for table analysis. Using TAANA, we can identify the tax codes which are created in the system but never used. Follow below steps to identify unused tax codes.

1. Go to T-code TAANA and click on Start table analysis (F8).

Capture.PNG

2. Enter BSET as table name and click the push button “Analysis variant”. In the next popup, click on “Ad Hoc Variant” button.

Untitled.jpg

3. Select the fields Company code, Fiscal year, Tax code and continue.

Untitled.jpg

4. Select the new variant and continue.

Untitled.jpg

5. Select the run in background option and proceed. Most of the time, “Online” option wont work due to huge number of records to be extracted.

Untitled.jpg

6. A background job would be scheduled. Once the job is completed, results can be checked to see how many documents are posted for each tax code.

    Double click on green light to see the results.

Untitled.jpg

7. Identify the tax procedure assigned to the country from t-code OBBG.

8. Extract the list of tax codes defined in this tax procedure of the country from table T007A.

9. Identify the list of company codes defined for the country from t-code OBY6 or table T001.

10. Filter the output for the company codes and tax codes extracted above.

11. Now check the number of entries against each tax code. If we find any tax code with zero entries, that means, this tax code is just defined and never used in the country. This kind of tax codes can be cross validated with business to check if there is any plan to use that tax code in future. If the answer is not going to be used, this tax code can be configured for the new requirement.

So, effectively we are recycling the existing tax code in the system which is never used.

If there is no free tax code available/business is planning to use the free tax code which is not used till now, next step is to identify the tax code in a different tax procedure which is using same account keys (eg: MWS, VST etc) and same tax G/L accounts as per the new requirement.

E.g.: Existing tax code A1 is using G/L 12345 with account key MWS in country Italy with tax rate 20%.

New requirement is to have a new tax code in country Spain with account key MWS and tax G/L 12345 with tax rate 15%.

In this case, tax code A1 of Italy can be extended to Spain with 15% tax.

Logic behind this is, tax percentage is maintained in condition record at country level. So, same tax code of Italy can be recycled to Spain with a different percentage.

Important: In this case, we should make sure that account key and tax G/L to be used are same in both countries.

Table T030K can be used to identify the tax codes that share the same account keys and tax G/L accounts as per the new requirement.

E.G: New requirement is to have a tax code in Spain with rate 15% and post to account key MWS and Tax G/L 123456.

Assume that there is no free tax code found in step 1.

Now  go to T030K table, enter operating chart of accounts (Should be same for both countries), account key as MWS and G/L as 123456.

If there is any existing tax code which meets this criteria, that can be recycled to Spain with 15% tax rate. Please note that tax rate of existing tax code in a different country can be same/different than our requirement.

Untitled.png

I have attached the list of possible permutations and combinations of the tax codes that can be created in the system for your reference. Text file is uploaded as excel file is not allowed to upload. This file can be opened with excel for easy reading.

Hope this blog may help many people in this forum. You are most welcome to share your experience in this area and feed back on this blog 🙂

Best regards,

Vinod Vemuru.

Assigned Tags

      30 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Arvind Pereira
      Arvind Pereira

      well written Vinod, its very clear and concise

      Author's profile photo Vinod Vemuru
      Vinod Vemuru
      Blog Post Author

      Thanks Arvind 🙂

      Author's profile photo Khushbu Ranjan
      Khushbu Ranjan

      Good one!

      Author's profile photo Vinod Vemuru
      Vinod Vemuru
      Blog Post Author

      Thanks Khushbu 🙂

      Author's profile photo Former Member
      Former Member

      Very informative and useful document.

      Author's profile photo CA. Prasad Atmakuri
      CA. Prasad Atmakuri

      Thanks Vinod for sharing such nice and informative document 🙂

      Would like to see more from you 😉

      Regards

      Prasad

      Author's profile photo Vinod Vemuru
      Vinod Vemuru
      Blog Post Author

      Thanks Prasad. Many things are lined up. But, time is not permitting me to prepare and post here. Will take out some time and contribute to this own place where I was groomed up 😉

      Author's profile photo Ranu Eugene
      Ranu Eugene

      Hi Vinod,

      Very informative and useful document for one and all.

      Thanks for sharing such a wonderful document, I seriously appreciate your dedication and hard work behind this  information.

      Keep up the good work. 🙂

      Best of Luck. 🙂

      Regards

      Eugene

      Author's profile photo Vinod Vemuru
      Vinod Vemuru
      Blog Post Author

      Thanks Ranu 🙂

      Author's profile photo Srinu S
      Srinu S

      Hi Vinod,

      Very helpful document. Thanks for sharing. Keep sharing. 🙂

      Srinu.

      Author's profile photo Vinod Vemuru
      Vinod Vemuru
      Blog Post Author

      Thanks Srinivas 🙂

      Author's profile photo Former Member
      Former Member

      Useful one...Thanks.

      Best Regards,

      Naresh K.

      Author's profile photo Godavari SAP
      Godavari SAP

      Very useful document.

      Author's profile photo Former Member
      Former Member

      The content was very informative. Thanks a lot for sharing this document

      Regards,

      Ramakrishnan. S

      Author's profile photo Vinod Vemuru
      Vinod Vemuru
      Blog Post Author

      Thanks a lot Naresh, Godavari, Rama 🙂

      Author's profile photo Lakshmi Kumari Sama
      Lakshmi Kumari Sama

      Hi Vinod,

      Thanks alot for sharing such an informative document.It is very userful. Keep sharing!

      Regards,

      Lakshmi S

      Author's profile photo Vinod Vemuru
      Vinod Vemuru
      Blog Post Author

      Thanks Lakshmi 🙂

      Author's profile photo Former Member
      Former Member

      Hi Vinod,

      Useful document. Thanks for sharing with community.

      Ramesh Nalamada

      Author's profile photo Vinod Vemuru
      Vinod Vemuru
      Blog Post Author

      Thanks a lot Ramesh 🙂

      Author's profile photo Former Member
      Former Member

      Thanks Vinod for sharing nice document

      Author's profile photo Vinod Vemuru
      Vinod Vemuru
      Blog Post Author

      Thanks Svamsi 🙂

      Author's profile photo Former Member
      Former Member

      Hi Vinod

      Thanks for sharing such an elaborate information on Tax codes, Very useful.

      Thanks a lot!!!

      Regards Madhu

      Author's profile photo Vinod Vemuru
      Vinod Vemuru
      Blog Post Author

      Thanks Madhu 🙂

      Author's profile photo Former Member
      Former Member

      Hi Vinod,

      Very useful document indeed!

      I have a question that maybe you can clarify. Considering the above example with Italy and Spain. Does it work as described in the case that both countries are assigned to the same tax procedure?

      Thank you!

      Cristina

      Author's profile photo Vinod Vemuru
      Vinod Vemuru
      Blog Post Author

      Hi Cristina,

      I didn't try this yet. But, it should work fine as tax percentage condition record is maintained at country level. Dont have access to SAP for next couple of days. Just try and let us know the results.

      Thanks,

      V V

      Author's profile photo Bob Schmidt
      Bob Schmidt

      This is a nice explanation on the table structure behind tax code configuration.  I hadn't used TAANA with any regularity but it really helps in this case.  Well done...

      Author's profile photo Manuel Lozano
      Manuel Lozano

      Very good document.

      In my case we archive data every year so in the system we only have data for the last 5 years. Therefore if I follow the approach above I could miss tax codes that were used in the past but not in the last 5 years and removing them would be an error.

      Do you have any idea of doing it considering the data archived?

      Thanks

      Manuel

      Author's profile photo Mukthar Ali Ahamed N
      Mukthar Ali Ahamed N

      Nice document..Thanks for sharing..

      Author's profile photo Ian Fitzmaurice
      Ian Fitzmaurice

      Very helpful

      Author's profile photo Sanjeev kumar Jain
      Sanjeev kumar Jain

      The total number of Tax Codes which can be created in system will be 36*35= 1260 and not 1296.

      This works on the concept of the permissible permutations from the kitty of total 36 characters available. Out of 36, you have to make a permutation of 2 digits so it will be 36 *35.