目的:假如某人年薪100萬,如何分配月發和年終獎會使其納稅金額最少
規則:月發工資納稅計算方法
級數 |
工資含稅級距 |
稅率 |
速算扣除數 |
1 |
0-1500 |
3% |
0 |
2 |
1500-4500 |
10% |
105 |
3 |
4500-9000 |
20% |
555 |
4 |
9000-35000 |
25% |
1005 |
5 |
35000-55000 |
30% |
2755 |
6 |
55000-80000 |
35% |
5505 |
7 |
80000以上 |
45% |
13505 |
納稅公式為:(月工資金額-3500)*對應稅率-速算扣除數
假如某員工月發金額為5500元,其納稅金額為:
年終獎納稅規則:
1、發放年終獎的當月工資高於3500元時,年終獎扣稅方式為:年終獎*稅率-速算扣除數,稅率是按年終獎/12作為“應納稅所得額”對應的稅率。
2、當月工資低於3500元時,年終獎個人所得稅=(年終獎-(3500-月工資))*稅率-速算扣除數,稅率是按年終獎-(3500-月工資)除以12作為“應納稅所得額”對應的稅率。
(規則2可不遵守,主要滿足規則1即可,因為涉及納稅都是工資高的,工資低的可忽略)
假如某員工年終獎為6.6萬,起納稅為:
先判斷納稅等級,即66000/12=5500元(在納稅等級第二等級),故納稅金額為:
最想要的效果是假如此人年薪要求稅后100萬,該如何設置其月發和年終獎金額?(稅后100萬,就要將納稅金額考慮在工資范圍內)
%% 工資稅率最小計算
clc;
clear all;
close all;
totalIncome = 1000000;
[tatalTax ,taxOfMonth]= CalculateTotalTax(0,totalIncome);
for i = 100:100:floor(totalIncome/12)
[tatalTax_temp,taxlOfMonth_temp] = CalculateTotalTax(i,totalIncome);
if tatalTax_temp < tatalTax
tatalTax = tatalTax_temp;
taxOfMonth = taxlOfMonth_temp;
incomeOfMonth = i + taxOfMonth;
rewardOfYear = totalIncome - i * 12;
end
end
totalRewardOfYear = rewardOfYear + (tatalTax - taxOfMonth*12 );
function [tatalTax ,taxOfmonth]= CalculateTotalTax(income,totalIncome)
%計算納稅總額;
% totalIncome = 1000000;
if income > totalIncome/12
tatalTax = inf;
return;
elseif income < 0;
tatalTax = inf;
return;
end
rewardOfYear = totalIncome - income * 12;
[taxRate,QuickDeduction ] = myTax( income,true );
tatalTax = (income - 3500) * taxRate - QuickDeduction;
taxOfmonth = tatalTax ;
tatalTax = tatalTax * 12;
if income > 3500;
[taxRate,QuickDeduction ] = myTax(rewardOfYear/12,false );
tatalTax = tatalTax + rewardOfYear * taxRate -QuickDeduction;
else
rewardOfYear = rewardOfYear - (3500 - income);
if rewardOfYear < 0
rewardOfYear = 0;
end
[taxRate,QuickDeduction ] = myTax( rewardOfYear/12,false );
tatalTax = tatalTax + rewardOfYear * taxRate -QuickDeduction;
end
end
function [taxRate,QuickDeduction ] = myTax( salary,flag )
%實現稅率和速算扣除數的查找
%月工資要減3500元年終獎除以12后;
if flag == true
if salary <= 3500
taxRate = 0;
QuickDeduction = 0;
return;
end
taxSalary = salary - 3500;%這個使計算工資的納稅部分;
else
taxSalary = salary;%這個計算年終獎的納稅;
end
switch true
case taxSalary <= 1500
taxRate = 0.03;
QuickDeduction = 0;
case taxSalary <= 4500;
taxRate = 0.1;
QuickDeduction = 105;
case taxSalary <= 9000;
taxRate = 0.2;
QuickDeduction = 555;
case taxSalary <= 35000;
taxRate = 0.25;
QuickDeduction = 1005;
case taxSalary <= 55000;
taxRate = 0.3;
QuickDeduction = 2755;
case taxSalary <= 80000;
taxRate = 0.35;
QuickDeduction = 5505;
otherwise
taxRate = 0.45;
QuickDeduction = 13505;
end
end