Skip to Content
0

Logic behind tax amount calculation in FB60

Jul 06, 2017 at 07:11 AM

426

avatar image

Hello,

Sorry for the long post!

I want to know how exactly sap works on calculating the tax amount. One of my users wants to overwrite the local tax amount (tax amount in local currency calculated by SAP based on the rate for Taxes field) with the amount entered in tax tab->tax data->LC tax amount.

Scenario:

The base amount is 6000 USD, Tax : 7% i.e. 420 USD. Rate for Taxes : 1.39770. Local currency amount generated by SAP : 587.03

Here is the procedure the user followed:

The user didn't check the auto calculate tax amount, so tax amount needs to be entered manually. User entered tax amount as 587.04 in local currency (As received from the vendor) and rate for taxes as 1.39770.The tax amount in doc. currency is shown as 420 USD. When the user simulated the document, the LC tax amount is changed to 587.03. According to the actual calculation (420*1.39770 = 587.034), the amount is right. The user now complains "How the amount is changed even after I enter amount manually?".
Now coming to the debugging part, the tax amount is calculated in LTAX1F02 under subroutine (FORM steuer_umrechnen USING s01_fwste s01_hwste). According to my observation, in which ever currency the tax amount is entered(either 420 USD or 587.04 SGD), the amount taken into account is doc.currency amount and system auto calculates the local amount based on the exchange rate entered in rate for taxes. System accepts whatever value I give in DC tax amount, but it's overwriting the LC amount. Is it a standard behavior of SAP? Do we need to configure any settings or enhance standard logic to NOT TO AUTO CALCULATE TAX AMOUNT IN LC ?.

Attaching the screen shots for better understanding.

Any clue is highly appreciated.

Regards,

Priyanka.

lc-tax-issue.gif (91.2 kB)
10 |10000 characters needed characters left characters exceeded

This is not an ABAP question, is it? Can you remove the tag "ABAP" please?

0

Hi Uwe,

Apologies.

I implemented an implicit enhancement under form steuer_umrechnen to overcome the problem. But when the LC tax amount is entered, I can't find any global variable that's storing this amount(In debugging). So, my implementation is not working in that case. I wanted to know any developer has faced this issue earlier, so that they can shed some light on this. Hope you understand my concern.

Thanks,

Priyanka.

0
* Please Login or Register to Answer, Follow or Comment.

3 Answers

MaDhU ReDdY Jul 07, 2017 at 05:32 PM
2

Hi

Normally it should be possible to enter and post manual tax amounts. Did you try any transaction other than ENJOY like FB01 ? Enjoy transactions work in different fashion. To switch this off, you can configure table TVAT001 at below path.

Spro - Financial Accounting -> Financial Accounting Global Settings -> Tax on Sales/Purchases -> Basic Settings -> Switch Off Tax Translation between Local and Document Currency

Show 1 Share
10 |10000 characters needed characters left characters exceeded

Thanks Madhu. But it didn't work out for me! Switching off tax translation is for FB01 or enjoy transactions?

Regards,

Priyanka.

0
Ramesh Das Jul 10, 2017 at 02:16 PM
1

Hi Priyanka,

Its a standard behavior of SAP to calculate the LC amount of the DC amount by taking the prevailing exchange rate. If you want to keep your LC amount of Tax different then please try the below settings (as suggested by Madhu also).

SPRO - Financial Accounting -> Financial Accounting Global Settings -> Tax on Sales/Purchases -> Basic Settings -> Switch Off Tax Translation between Local and Document Currency

However, in that case the difference amount will be posted to the Unrealized Forex Gain/Loss A/c. The actual Tax amount in LC was coming as 2123.65 which was changed to 2125.

Hope, it helps.

Regards

Ramesh


tax1.jpg (74.9 kB)
tax.jpg (15.2 kB)
Show 4 Share
10 |10000 characters needed characters left characters exceeded

Hi Ramesh,

Thanks for your answer.We already have the configuration activated.

After many trials with different LC amounts, I understand that SAP doesn't take whatever value we provide, unless it's very close to the original tax amount.(In my scenario, SAP allowed only 587.03 and 587.04). For all other values it threw an error saying tax amount is incorrect. The gain or loss account also holds the same value(-0.92) in case of both amounts.

System exchange rate in TCURR is 1.39550, Rate for Taxes is 1.39770

According to the logic, For LC tax amount 587.03

The exchange difference is (420 * 1.39550) - 587.03 i.e. 586.11-587.03 = -0.92

In the same way, For LC tax amount 587.04

The exchange difference is (420 * 1.39550) - 587.04 i.e. 586.11-587.04 = -0.93

If the system takes my input as 587.04, the difference should be -0.93. However, the simulation gives 587.03 as tax amount and difference as -0.92. Based on this, Can I say "SAP is overwriting my input for LC tax amount" ? Where is that 0.01 gone?

Regards,

Priyanka.

0

Hi Priyanka,

As you are using separate exchange rate for tax, I hope the same has been configured through "Determine Exchange Rate for Tax Items".

Regarding system not taking any other amount except 587.04/587.03, I guess the same has been determined as per the Tolerance percentage rate maintained in the tax code. Can you please have a look at that ?

Regarding 0.01 difference, did you check the rounding rule in the corresponding condition type ?

Can you please try simulating the scenario with a tax code with a higher Tol.per.rate and observe the result ? Thanks for coming up with an interesting issue hence please keep posted your observations.

Best Regards

Ramesh

0

Hi Ramesh,

Thanks again.

We didn't maintain tolerance percentage rate for our tax rate and our condition type doesn't have any rounding rule(it's empty). When I tried to give the tolerance rate (I tried 10,20,99,0.1 to 0.9), system threw an error F5061: "Balance in local currency & is too large for automatic adjustment". The interesting thing is even after I reverted the changes (no tolerance rate), it's throwing the same error. Now the system is not accepting even 587.04.Don't know which other settings are activated due to the addition of tolerance rate. If you ever encountered this issue, please share your solution. I am trying to get more information from my FI consultant on this. If I get any clue, I will share.

Thanks & Regards,

Priyanka.

0

Hi Priyanka,

The help of Tol per in Tax code says that "For the tax code, this defines the percentage rate which is accepted as tolerance between a calculated value and a value you have entered......". So its strange that changing the Tol per in a tax code through FTXP impacting any other config items. Sorry but I have not come across any such thing before.

No rounding rule means the Commercial rounding which is if the digit is 5 or above 5 then rounded up to the next digit while below 5 is ignored.

Regards

Ramesh

0
Kaptain SAP Jul 07, 2017 at 06:25 AM
0

Preference is given to document amount currency as it serves multiple purpose. The Company Code currency and reporting currencies could be different.

As per the tax behaviour, system calculates based on the document currency. Translation of currencies happens at the backend, based on rates.

Hence we have the F/X gain / loss amount calculation - which is reconciling the Document Amount and Local Currency Amount

Show 1 Share
10 |10000 characters needed characters left characters exceeded

Hi,

Thanks for the information.That means SAP will calculate tax amount in company currency(local currency) even after I manually enter the tax amount? If so, Is there any way that I can make system take my input instead of auto-calculating the amount?

Regards,

Priyanka.

1