473,513 Members | 3,076 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

How to Calculate Personal income Tax Based on Bands?

4 New Member
The table band is as follows

No. Salary Range New Tax Rate
1 0 – *600 * Non-Taxable
2 601 *– 1,650 10%
3 1,651 – 3,200 15%
4 3,201 – 5,250 20%
5 5,251* – 7,800 25%
6 7,801 – 10,900 30%
7 Over 10,900 35%

Is there Any one can help me? .If i get 20,000 How much I pay tax
Apr 6 '20 #1
8 1859
cactusdata
214 Recognized Expert New Member
First, modify your table to hold numeric values:

Expand|Select|Wrap|Line Numbers
  1. Id    Salary        TaxRate
  2. 1    0,00        0,00%
  3. 2    601,00        10,00%
  4. 3    1.651,00    15,00%
  5. 4    3.201,00    20,00%
  6. 5    5.251,00    25,00%
  7. 6    7.801,00    30,00%
  8. 7    10.900,00    35,00%
Then look up the tax rate and perform the calculation:

Expand|Select|Wrap|Line Numbers
  1. YourSalary = 20000
  2.  
  3. TaxRate = DMax("[TaxRate]", "[Tax]", "[Salary] <= " & Str(YourSalary) & "")
  4. YourTax = YourSalary * TaxRate 
  5.  
  6. YourTax -> 7000
Apr 7 '20 #2
Rabbit
12,516 Recognized Expert Moderator MVP
@cactus, that is not how taxes are calculated. They are calculated at each step, only the remaining amount of salary leftover is calculated at the higher rate.
Apr 7 '20 #3
cactusdata
214 Recognized Expert New Member
Perhaps. There is no single method for calculating tax.
The questioneer must provide the rules for the case in question.
Apr 7 '20 #4
Lulie
4 New Member
Cactusdata

When i calculate in Excl The tax is 5,500 .Because the tax system is progressive tax system.

Rabbit. It is like that you understand it well.


Thank you so much all
Apr 9 '20 #5
Lulie
4 New Member
Income per Month Tax Rate Deduction Rate
Up to 600.00 0% -
601.00 - 1,650.00 10% 60.00
1,651.00 - 3,200.00 15% 142.50
3,201.00 - 5,250.00 20% 302.50
5,251.00 - 7,800.00 25% 235.00
7,801.00 - 10,900.00 30% 955.00
Over 10,900.00 35% 1,500.00

Taxable salary is 20,000 per month. The calculation in xcel is
20,000*35*1,500 = 5,500.00

Cactusdata

I think Your formula is working if you deduct 1,500(deduction rate).Kindly include the deduction rate column in the formula and show me where i can put this formula .Can use it in query?
Apr 9 '20 #6
Lulie
4 New Member
Sorry 20,000*35%-1,500=5,500
Apr 9 '20 #7
cactusdata
214 Recognized Expert New Member
If so, just deduct the 1500:

Expand|Select|Wrap|Line Numbers
  1. YourSalary = 20000
  2.  
  3. TaxRate = DMax("[TaxRate]", "[Tax]", "[Salary] <= " & Str(YourSalary) & "")
  4. YourTax = YourSalary * TaxRate - 1500
  5.  
  6. YourTax -> 5500 
Of course, add a condition to set tax to zero if calculated as negative.
Apr 10 '20 #8
cactusdata
214 Recognized Expert New Member
If you modify the table like this:



you can run a function to use the method mentioned by Rabbit:

Expand|Select|Wrap|Line Numbers
  1. Public Function CalculateTax(ByVal Salary As Currency) As Currency
  2.  
  3.     Dim Records As DAO.Recordset
  4.  
  5.     Dim Sql         As String
  6.     Dim Tax         As Currency
  7.     Dim ThisTax     As Currency
  8.     Dim ThisRange   As Currency
  9.     Dim LastRange   As Currency
  10.     Dim LastRate    As Currency
  11.  
  12.     Sql = "Select Salary, TaxRate From Tax Order By 1"
  13.     Set Records = CurrentDb.OpenRecordset(Sql)
  14.  
  15.     Debug.Print "Level", "Delta", "Rate", "Tax", "Total tax"
  16.     Do
  17.         ThisRange = Records!Salary.Value
  18.         If ThisRange > Salary Then
  19.             If LastRange > 0 Then
  20.                 ThisRange = Salary
  21.             Else
  22.                 Exit Do
  23.             End If
  24.         End If
  25.         ' Tax of range.
  26.         ThisTax = (ThisRange - LastRange) * LastRate
  27.         Tax = Tax + ThisTax
  28.         Debug.Print ThisRange, ThisRange - LastRange, LastRate, ThisTax, Tax
  29.         LastRange = ThisRange
  30.         LastRate = Records!TaxRate.Value
  31.         Records.MoveNext
  32.     Loop Until Records.EOF
  33.     Records.Close
  34.  
  35.     ' Top tax.
  36.     ThisTax = (Salary - LastRange) * LastRate
  37.     Tax = Tax + ThisTax
  38.     Debug.Print " ~", Salary - LastRange, LastRate, ThisTax, Tax
  39.  
  40.     CalculateTax = Tax
  41.  
  42. End Function
Output will be similar to:

Expand|Select|Wrap|Line Numbers
  1. ? CalculateTax(20000)
  2. Level         Delta         Rate          Tax           Total tax
  3.  600           600           0             0             0 
  4.  1650          1050          0,1           105           105 
  5.  3200          1550          0,15          232,5         337,5 
  6.  5250          2050          0,2           410           747,5 
  7.  7800          2550          0,25          637,5         1385 
  8.  10900         3100          0,3           930           2315 
  9.  ~             9100          0,35          3185          5500 
  10.  5500 
Apr 10 '20 #9

Sign in to post your reply or Sign up for a free account.

Similar topics

3
8205
by: carla | last post by:
I am using Access 2000 and have a table, tblCurrent. That table contains several fields - three of those fields are , and . What I want to accomplish in my data entry form, is first entering the , then enter a if known, and lastly have calculate the total weight of * if Is Not Null. If I don't know the BaleWt, I will simply enter the...
14
4682
by: SpyderSL | last post by:
Hey, I have created an access form, in which I have a drop down with employee names. These are the steps I would like to happen: 1. A user will enter a number in FIELD A 2. The user will choose an employee name from the drop down 3. A number should calculate based on the name chosen and number entered in FIELD B.
3
2420
by: Michelle Anderson | last post by:
I have an access form. In the form, it co ntains 3 fields : Type, hours, and Amount. Field "Type" is a combo box and it contains 2 values: Standard and Rush Field " Hours" is just a numeric field Field "Amount" is a currency field. What I try to do is if the user select Standard from the field "Type", the field "Amount" will be...
1
1456
by: michaelw118 | last post by:
I would like to add certain percentage of allowance based on the production run. In excel, the formula look like this : =IF(E5<=3000,E5*1.25,IF(E5<=6000,E5*1.15,IF(E5<=10000,E5*1.1,IF(E5<=30000,E5*1.09,IF(E5<=60000,E5*1.075,IF(E5<=100000,E5*1.06,IF(E5<=250000,E5*1.055,IF(E5<=2000000,E5*1.05)))))))) It means if the production run is <...
3
1865
by: wish | last post by:
Dear all; Can someone guide me how to code out the javascript to calculate the estimate date based on the user selected date and the how long the duration in term of week. eg. 19/9/2007 is select by user 1 weeks is duration also select by user ans: 26/9/2007 Thanks for ur help.
0
2455
by: mervyn | last post by:
Hi There, I am very new to .NET and VB so this may be a really simple thing to solve but here is my issue I have a a textbox with a value in it. I know what the length of the text in the text box is. I would then like to set the width of the text box (in px) to an appropriate calculated value based on the length. So, if the text length is...
2
1037
by: Rajesh123469 | last post by:
I have set of numbers created Like Time numbers 00:15:00 2 00:20:00 4 01:00:00 6 ------- --- How to calculate the numbers in above 1 hour in visual basic
17
2192
by: MNNovice | last post by:
Calculate net amount based on conditions ________________________________________ I need to calculate a net amount that is based on FedRatio. Normally the FedRatio is set to be 80% but there are a few instances where it varies depending on a GrantNo and ProjectNo. To convert APAmount to NetAmount, I will need to incorporate these criteria. ...
1
1242
by: rrykos1 | last post by:
Hello, I have been searching all ofer and can not find/figure out how to calculate the number of work days between two dates excluding holidays based on a 4, 5, 6, or 7 day workweek. I have the following code now that works for a 5 day workweek but I can not figure how to revise it to work for the 4 day, 6 day and 7 day workweeks. Any help...
0
7177
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language...
0
7394
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. ...
1
7123
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For...
1
5100
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes...
0
4756
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert...
0
3248
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in...
0
1611
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
1
811
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
0
470
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.