李春喜
摘要:新個(gè)人所得稅法實(shí)施后,工資及個(gè)稅的計(jì)算邏輯發(fā)生了變化,如何高效、準(zhǔn)確地完成工資個(gè)稅的計(jì)算及個(gè)稅申報(bào),是小微企業(yè)的人力和財(cái)務(wù)人員迫切希望解決的問(wèn)題。Python作為一門新興編程語(yǔ)言由于上手簡(jiǎn)單,功能強(qiáng)大受到了廣泛的歡迎。本文通過(guò)對(duì)最新個(gè)人所得稅法的相關(guān)要求進(jìn)行詳細(xì)分析,梳理了員工薪酬及個(gè)稅的計(jì)算邏輯,利用Python語(yǔ)言設(shè)計(jì)開發(fā)出一套員工工資及個(gè)稅計(jì)算小工具,幫助小微企業(yè)降低運(yùn)營(yíng)成本,提高工作效率。
關(guān)鍵詞:小微企業(yè)、工資個(gè)稅、計(jì)稅工具、Python
一、引言
2018年8月31日全國(guó)人民代表大會(huì)常務(wù)委員會(huì)批準(zhǔn)了修訂后的《中華人民共和國(guó)個(gè)人所得稅法》,同年國(guó)務(wù)院修訂《中華人民共和國(guó)個(gè)人所得稅法實(shí)施條例》,并于2019年1月1日起正式實(shí)施。本次修訂提高了個(gè)人所得稅的免征額,同時(shí)對(duì)個(gè)人所得形式、扣除項(xiàng)目、稅率和級(jí)距、征收方式等方面進(jìn)行了較大的調(diào)整。
按照稅法要求,企業(yè)應(yīng)對(duì)本公司員工工資薪金收入進(jìn)行個(gè)人所得稅的代扣代繳。新個(gè)人所得稅法實(shí)施以后,企業(yè)員工工資及個(gè)稅的計(jì)算邏輯較以往發(fā)生了較大的變化,主要表現(xiàn)在:一是個(gè)稅適用稅率由按照月度收入計(jì)算,變更為按年度累進(jìn)計(jì)算適用稅率,企業(yè)計(jì)算個(gè)稅時(shí)需要對(duì)員工當(dāng)年發(fā)放的全部收入進(jìn)行累加;二是增加了子女教育、繼續(xù)教育、大病醫(yī)療、住房貸款利息或者住房租金、贍養(yǎng)老人等支出等專項(xiàng)扣除項(xiàng)目,具體金額由員工自行申報(bào),并且動(dòng)態(tài)變化;三是2020年以來(lái)由于“新冠”疫情的原因國(guó)家推出了減稅降費(fèi)政策,個(gè)別地區(qū)出現(xiàn)了社?;鶖?shù)、公積金基數(shù)不同步的情況。以上因素,對(duì)企業(yè)編制員工工資表及個(gè)稅申報(bào)的工作提出了更高的要求。小微企業(yè)作為經(jīng)濟(jì)社會(huì)活動(dòng)的基本企業(yè)單元,與大型企業(yè)相比信息化水平低,系統(tǒng)建設(shè)投入不足。在新個(gè)人所得稅法實(shí)施的背景下,如何高效、準(zhǔn)確地完成工資個(gè)稅的計(jì)算及個(gè)稅申報(bào),是小微企業(yè)的人力和財(cái)務(wù)人員迫切希望解決的問(wèn)題。
Python作為一門新興編程語(yǔ)言由于上手簡(jiǎn)單,功能強(qiáng)大受到了廣泛的歡迎。在金融財(cái)務(wù)領(lǐng)域利用Python開展數(shù)據(jù)分析、生產(chǎn)力工具開發(fā)等以提升工作效率的做法已經(jīng)越來(lái)越普遍。本文通過(guò)對(duì)最新個(gè)人所得稅法的相關(guān)要求進(jìn)行詳細(xì)分析,梳理了員工薪酬及個(gè)稅的計(jì)算邏輯,利用Python語(yǔ)言設(shè)計(jì)開發(fā)出一套員工工資及個(gè)稅計(jì)算小工具,幫助小微企業(yè)降低運(yùn)營(yíng)成本,提高工作效率。
二、系統(tǒng)設(shè)計(jì)
(一)工資薪金個(gè)稅相關(guān)政策
根據(jù)個(gè)人所得稅法的有關(guān)規(guī)定,企業(yè)向員工支付的工資薪金(包括以貨幣形式支付的福利)屬于員工居民綜合所得,企業(yè)應(yīng)在發(fā)放工資時(shí)計(jì)算員工的應(yīng)納稅所得額,并按照相應(yīng)的稅率代扣代繳個(gè)人所得稅,同時(shí)進(jìn)行個(gè)稅預(yù)繳申報(bào)。
對(duì)于居民個(gè)人的綜合所得,以每一納稅年度的收入額依次減掉減除費(fèi)用、專項(xiàng)扣除、專項(xiàng)附加扣除和依法確定的其他扣除后的余額,為應(yīng)納稅所得額。其中專項(xiàng)扣除,包括居民個(gè)人按照國(guó)家規(guī)定的范圍和標(biāo)準(zhǔn)繳納的基本養(yǎng)老保險(xiǎn)、基本醫(yī)療保險(xiǎn)、失業(yè)保險(xiǎn)等社會(huì)保險(xiǎn)費(fèi)和住房公積金等;專項(xiàng)附加扣除包括子女教育、繼續(xù)教育、大病醫(yī)療、住房貸款利息或者住房租金、贍養(yǎng)老人等支出;其他扣除,包括個(gè)人繳付符合國(guó)家規(guī)定的企業(yè)/職業(yè)年金,個(gè)人購(gòu)買符合國(guó)家規(guī)定的商業(yè)健康保險(xiǎn)、稅收遞延型商業(yè)養(yǎng)老保險(xiǎn)的支出,以及國(guó)務(wù)院規(guī)定可以扣除的其他項(xiàng)目。
根據(jù)《中華人民共和國(guó)個(gè)人所得稅法》(2018年修訂版)個(gè)人綜合所得按納稅年度合并計(jì)算個(gè)人所得稅,根據(jù)所得額分別適用百分之三至百分之四十五的超額累進(jìn)稅率(見表一)。
(二)需求分析
經(jīng)過(guò)分析,對(duì)于小微企業(yè)人力資源和財(cái)務(wù)部門而言,工資及個(gè)稅相關(guān)的需求主要包括四部分,一是完成每月代扣代繳個(gè)稅及實(shí)發(fā)工資的計(jì)算并輸出Excel格式的工資表;二是基于已計(jì)算完成的工資、個(gè)稅信息生成Excel格式個(gè)稅申報(bào)表;三是基于已計(jì)算完成的實(shí)發(fā)工資信息,生成銀行代發(fā)工資要求的Excel格式的工資代發(fā)文件。四是可根據(jù)需要,查詢各個(gè)月度員工應(yīng)發(fā)工資、專項(xiàng)扣除、專項(xiàng)附加扣除、應(yīng)繳個(gè)稅、實(shí)繳個(gè)稅、實(shí)發(fā)工資數(shù)據(jù),以及截至某個(gè)月度的累計(jì)數(shù)據(jù)等。
(三)功能設(shè)計(jì)
工資個(gè)稅計(jì)算小工具共分為四個(gè)功能模塊,分別為基礎(chǔ)設(shè)置、工資個(gè)稅計(jì)算、報(bào)表生成、歷史數(shù)據(jù)查詢。
基礎(chǔ)設(shè)置模塊主要實(shí)現(xiàn)初次應(yīng)用系統(tǒng)時(shí)對(duì)當(dāng)年以前月度基礎(chǔ)信息的導(dǎo)入,以便計(jì)算存儲(chǔ)累計(jì)數(shù)據(jù)。
工資個(gè)稅計(jì)算模塊主要實(shí)現(xiàn)基于歷史累計(jì)數(shù)據(jù)和當(dāng)月導(dǎo)入基礎(chǔ)數(shù)據(jù)進(jìn)行員工當(dāng)月應(yīng)繳個(gè)稅、實(shí)發(fā)工資的計(jì)算。
報(bào)表生成模塊主要實(shí)現(xiàn)月度工資表、月度個(gè)稅申報(bào)表、月度工資代發(fā)表的生成導(dǎo)出。
歷史數(shù)據(jù)查詢模塊主要支持對(duì)當(dāng)年歷史月度相關(guān)數(shù)據(jù)的查詢導(dǎo)出。
(四)數(shù)據(jù)存儲(chǔ)設(shè)計(jì)
考慮到小微企業(yè)的工資數(shù)據(jù)量相對(duì)不大,為降低實(shí)現(xiàn)的復(fù)雜度,采用HDF5 (Hierarchical Data Format) 這一常見的跨平臺(tái)數(shù)據(jù)儲(chǔ)存文件,進(jìn)行數(shù)據(jù)存儲(chǔ)。建立Data1,Data2兩張數(shù)據(jù)表存儲(chǔ)相關(guān)信息。其中Data1存儲(chǔ)月度員工應(yīng)發(fā)工資、專項(xiàng)扣除、專項(xiàng)附加扣除、其他扣除、應(yīng)繳個(gè)稅、實(shí)繳個(gè)稅、實(shí)發(fā)工資等數(shù)據(jù)。Data2存儲(chǔ)截至某個(gè)月度的累計(jì)數(shù)據(jù)信息。此外,設(shè)計(jì)一張《基礎(chǔ)數(shù)據(jù)導(dǎo)入表》,該表為Excel表格式,包含的字段與Data1基本相同,但不包含應(yīng)繳個(gè)稅及實(shí)發(fā)工資信息?!痘A(chǔ)數(shù)據(jù)導(dǎo)入表》用于企業(yè)的人力資源和財(cái)務(wù)部門進(jìn)行基礎(chǔ)數(shù)據(jù)的準(zhǔn)備,如填報(bào)每位員工的本月工資發(fā)放額、社保、公積金扣繳額等。
Data1表的結(jié)構(gòu)如下:
三、系統(tǒng)實(shí)現(xiàn)
(一)功能實(shí)現(xiàn)
按個(gè)人所得稅法規(guī)定,綜合所得根據(jù)年內(nèi)累計(jì)收入確定適用邊際稅率,所以計(jì)算當(dāng)月個(gè)稅時(shí)需要對(duì)當(dāng)年度截至當(dāng)前月度的累計(jì)收入及相應(yīng)的扣除項(xiàng)進(jìn)行累加計(jì)算,此項(xiàng)工作若由人工計(jì)算非常繁瑣,但將各月度工資表的數(shù)據(jù)存入系統(tǒng),通過(guò)系統(tǒng)寫好的邏輯自動(dòng)匯總計(jì)算,則十分容易。
計(jì)算個(gè)稅及實(shí)發(fā)工資的基本邏輯是:針對(duì)每位員工,對(duì)年度內(nèi)截至當(dāng)前各月度稅前應(yīng)發(fā)工資、減除費(fèi)用、專項(xiàng)扣除、專項(xiàng)附加扣除、其他扣除分別進(jìn)行累計(jì),然后按照以下公式分別計(jì)算出累計(jì)應(yīng)納稅所得額、累計(jì)應(yīng)扣繳稅額、本月應(yīng)繳稅額、本月實(shí)發(fā)工資:
累計(jì)應(yīng)納稅所得額=累計(jì)收入額-累計(jì)減除費(fèi)用-累計(jì)專項(xiàng)扣除-累計(jì)專項(xiàng)附加扣除-累計(jì)其他扣除;
累計(jì)應(yīng)扣繳稅額=累計(jì)應(yīng)納稅所得額*邊際稅率-速算扣除數(shù);
本月應(yīng)繳稅額=累計(jì)應(yīng)扣繳稅額-累計(jì)已預(yù)繳稅額;
本月實(shí)發(fā)工資=本期收入-本期減除費(fèi)用-本期專項(xiàng)扣除-本期專項(xiàng)附加扣除-本期應(yīng)繳稅額;
各模塊實(shí)現(xiàn)功能如下:
1、基礎(chǔ)設(shè)置。用戶運(yùn)行系統(tǒng)后,提示用戶如果是首次使用系統(tǒng),須將截至當(dāng)前各月度的《基礎(chǔ)數(shù)據(jù)導(dǎo)入表》放到指定文件夾,系統(tǒng)進(jìn)行遍歷讀入,并計(jì)算出各月Data1,Data2表相應(yīng)數(shù)據(jù),存入HDF5文件。如果是當(dāng)年的1月份,則不存在歷史累計(jì)數(shù)據(jù),可直接退出。此外,也可以通過(guò)從稅務(wù)機(jī)關(guān)系統(tǒng)導(dǎo)出已向稅務(wù)機(jī)關(guān)申報(bào)的收入、個(gè)稅數(shù)據(jù),作為歷史數(shù)據(jù)存入Data2表,替代對(duì)歷史月度《基礎(chǔ)數(shù)據(jù)導(dǎo)入表》的遍歷。
2、工資個(gè)稅計(jì)算。提示用戶將本月《基礎(chǔ)數(shù)據(jù)導(dǎo)入表》放入指定文件夾,系統(tǒng)將相關(guān)數(shù)據(jù)讀入,同時(shí)從HDF5文件讀入上月Data2表數(shù)據(jù),進(jìn)行運(yùn)算后生成本月Data1、Data2表數(shù)據(jù)。如果是1月份,不存在上月數(shù)據(jù),可直接根據(jù)當(dāng)月Data1表數(shù)據(jù),生成Data2表數(shù)據(jù)。
3、報(bào)表生成。提示用戶選擇報(bào)表生成月份,根據(jù)用戶選擇,讀取相應(yīng)月度Data1表數(shù)據(jù),抽取相應(yīng)字段生成Excel格式的月度工資表、月度個(gè)稅申報(bào)表、月度工資代發(fā)表,并輸出到默認(rèn)文件夾。
4、歷史數(shù)據(jù)查詢。用戶可選擇月份,導(dǎo)出相應(yīng)月度的Data1、Data2表數(shù)據(jù)及對(duì)所有月度Data1、Data2表收入、支出同名字段累加的數(shù)據(jù)。
5、技術(shù)實(shí)現(xiàn)上,借助于Python的Pandas包進(jìn)行Excel文件讀入,讀入的數(shù)據(jù)通過(guò)DataFrame數(shù)據(jù)形式進(jìn)行運(yùn)算,運(yùn)算結(jié)果可通過(guò)Pandas的功能進(jìn)行Excel文件輸出。對(duì)于月度Data1數(shù)據(jù),以月度名+批次名(如20210101)作為key名。對(duì)于Data2表數(shù)據(jù),以c+月度名+批次名(如c20210101)作為key名。Data1、Data2表分別存儲(chǔ)到HDF5文件,并輸出到指定文件夾,需要運(yùn)算時(shí)再用Python讀入,轉(zhuǎn)換為DataFrame數(shù)據(jù)形式。
(二)功能實(shí)現(xiàn)的關(guān)注點(diǎn)
1、當(dāng)月應(yīng)納稅所得額的計(jì)算依賴于上月Data2表及本月Data1表、Data2三張表中的數(shù)據(jù),其中姓名是作為主鍵對(duì)三張表進(jìn)行關(guān)聯(lián)?,F(xiàn)實(shí)中企業(yè)會(huì)發(fā)生員工的離職、入職等情況,這時(shí)需要特定邏輯進(jìn)行處理:上月Data2表存在主鍵,而本月Data1表中不存在的,視為離職,不對(duì)該條記錄做運(yùn)算;上月Data2表不存在主鍵,而本月Data1表中存在的,視為新入職,歷史累計(jì)數(shù)據(jù)初始化為零。
2、按照新個(gè)人所得稅法,個(gè)稅的征繳適用超額累進(jìn)稅率,需要對(duì)每位員工的累計(jì)應(yīng)納稅所得額進(jìn)行判斷,根據(jù)金額確定適應(yīng)的稅率,需要增加專門的處理邏輯。
3、專項(xiàng)附加扣除包括子女教育、繼續(xù)教育、大病醫(yī)療、住房貸款利息或者住房租金、贍養(yǎng)老人數(shù)據(jù)是員工根據(jù)個(gè)人情況申報(bào)的數(shù)據(jù),會(huì)根據(jù)員工個(gè)人情況的變化發(fā)生變化,每月的數(shù)據(jù)都可能不同。
4、在個(gè)稅申報(bào)表中只需要生成姓名、證照類型、證照號(hào)碼、本期收入、基本養(yǎng)老保險(xiǎn)費(fèi)、基本醫(yī)療保險(xiǎn)費(fèi)、失業(yè)保險(xiǎn)費(fèi)、住房公積金、企業(yè)/職業(yè)年金這些字段的數(shù)據(jù),對(duì)于專項(xiàng)附加扣除字段的信息,以稅務(wù)局系統(tǒng)中存儲(chǔ)的為準(zhǔn)。
5、由于部分企業(yè)會(huì)根據(jù)考核結(jié)果單獨(dú)發(fā)放獎(jiǎng)金或績(jī)效,個(gè)別月份存在多次發(fā)放薪金的可能,在遍歷各月度Data1、Data2文件時(shí)要注意數(shù)據(jù)的完整性,不能遺漏。
四、系統(tǒng)應(yīng)用
(一)運(yùn)行效果
某小微企業(yè)有員工100人,編制計(jì)算工資表需要2-3小時(shí)的時(shí)間,利用工資個(gè)稅小工具計(jì)算輸出工資表,大約10分鐘內(nèi)可完成工資表、個(gè)稅申報(bào)表、代發(fā)工資表的生成及整理,工作效率大幅提升,同時(shí)還減少了人工計(jì)算出錯(cuò)的概率。
(二)存在不足及完善思路
1、目前小工具僅實(shí)現(xiàn)了基于《基礎(chǔ)數(shù)據(jù)導(dǎo)入表》的導(dǎo)入數(shù)據(jù)進(jìn)行計(jì)算輸出,而《基礎(chǔ)數(shù)據(jù)導(dǎo)入表》中各項(xiàng)基礎(chǔ)信息仍需要人工進(jìn)行錄入。下一步可考慮根據(jù)上月的Data1表自動(dòng)生成本月的Data1表,再由企業(yè)人力和財(cái)務(wù)人員對(duì)增減員進(jìn)行干預(yù),可進(jìn)一步提升工資計(jì)算工作的自動(dòng)化水平。
2、目前小工具尚缺少用戶和權(quán)限控制功能,不利于工資數(shù)據(jù)的保密。下一步可考慮增加用戶及權(quán)限設(shè)定功能,使之從小工具向功能較為完善的系統(tǒng)進(jìn)化。
3、小工具不具備自動(dòng)提醒功能。目前是每年的7月份社保、公積金基數(shù)都會(huì)發(fā)生變化,當(dāng)用戶輸入處理數(shù)據(jù)的月度為7月時(shí),系統(tǒng)可增加提示功能,提醒用戶是否已更新社保和公積金基數(shù)。
4、為了簡(jiǎn)化數(shù)據(jù)處理,在數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)時(shí),對(duì)子女教育、繼續(xù)教育、大病醫(yī)療、住房貸款利息或者住房租金、贍養(yǎng)老人等專項(xiàng)附加扣除的細(xì)項(xiàng)并未做存儲(chǔ),簡(jiǎn)單以專項(xiàng)附加扣除匯總數(shù)替代,不利于日常管理查詢,下一步可考慮增加專項(xiàng)附加扣除明細(xì)導(dǎo)入功能,將從稅務(wù)局網(wǎng)站下載的專項(xiàng)附加扣除明細(xì)自動(dòng)導(dǎo)入系統(tǒng)存儲(chǔ)。
五、總結(jié)
基于Python開發(fā)的工資個(gè)稅小工具,屬于輕量級(jí)的小應(yīng)用。由于其基于開源的Python語(yǔ)言開發(fā),不但為小微企業(yè)節(jié)省了購(gòu)買人力資源系統(tǒng)的成本,同時(shí)減少了小微企業(yè)人力資源和財(cái)務(wù)人員的工作壓力,避免了人工操作出錯(cuò)的概率,較Excel操作還可以處理更大規(guī)模的數(shù)據(jù),有較強(qiáng)的可擴(kuò)展性,為小微企業(yè)信息化建設(shè)提供了參考。
參考文獻(xiàn)
[1]全國(guó)人民代表大會(huì)常務(wù)委員會(huì)關(guān)于修改《中華人民共和國(guó)個(gè)人所得稅法》的決定,中華人民共和國(guó)主席令第九號(hào),2018-8-31.
[2]《中華人民共和國(guó)個(gè)人所得稅法實(shí)施條例》,中華人民共和國(guó)國(guó)務(wù)院令 第707號(hào),2018-12-18