鐘姿伊 李小蘭 李玉婷



關鍵詞:發票管理系統;圖像增強;區塊鏈電子發票;財務管理
中圖分類號:TP311 文獻標識碼:A
文章編號:1009-3044(2023)02-0039-03
1 概述
隨著計算機信息技術飛速發展,各行業都在嘗試運用更為先進的技術解決煩瑣的業務問題。但部分企業還是選擇人工管理發票數據,但該種管理方式存在以下問題[1]:1)錄入發票系統信息時不僅消耗大量人力物力且錯誤率較高;2)紙質發票作為原始憑證卻容易受潮導致字跡模糊或缺損,不易保存;3)隨著電子發票逐漸增多,查驗真偽過程復雜,保存方式更加復雜不便。因此,在這飛速發展的經濟時代,傳統人工管理發票的方式已經不能滿足實際增長的業務需求。這時,能夠識別電子發票和紙質發票的發票管理系統應運而生,成了各企業不可或缺的財務管理工具[2]。
該文設計開發的基于Web的電子發票管理系統,相較于傳統的紙質發票管理,該系統省去了煩瑣的人力保管查詢過程,實現無紙化辦公,對發票實現了數字化管理,達到了節能減耗的效果。同時,該系統具有在線查驗發票真偽功能,用戶可通過輸入發票代碼、發票號碼、校驗碼等票面信息,即可查驗該發票的相關信息,有效幫助財務人員查驗發票真偽。面對各企業發票類型的差異性,該系統具有較強的通用性,能夠滿足多數企業對發票業務處理需求。
2 電子發票系統的設計
1)設計思路
電子發票管理系統是對市面上主流的電子發票進行報銷、核驗、存檔的一套管理系統,主要使用人員包括普通員工、財務人員、檔案管理人員以及系統管理員。對于不同角色,權限和功能都有不同的劃分:普通員工主要是上傳發票用于報銷;財務人員主要是在員工報銷時核驗電子發票真偽和信息,并在一段時間內對發票進行歸檔;檔案管理人員則主要是查收電子發票的檔案信息;系統管理員除了管理系統用戶之外,還需要配置手動上傳發票的功能,主要針對特殊情況無法正常上傳的發票使用;此外,所有用戶均可管理自己的賬戶,對自己上傳的發票在一定期限內有刪除權限。系統的整體邏輯設計如圖1所示。
2)系統框架
電子發票管理系統整體架構[3]是基于Struts2的框架進行設計和開發的,Struts2框架是一個按照MVC設計模式設計的WEB 層框架,采用攔截器的機制來處理用戶的請求,如圖2所示。根據框架,可將系統劃分為表示層、邏輯層和數據訪問層。表示層即用戶所見界面,提供數據輸入輸出接口,為邏輯層傳輸用戶請求,并返回處理結果;邏輯層則是接受表示層請求,調用系統函數和方法分析請求,傳輸數據,并反饋處理結果;數據訪問層執行請求與數據之間的交互,其核心就是鏈接數據庫,對數據庫進行增刪查改等操作。
3 系統開發
3.1 主要技術
1)圖像增強技術
電子發票管理系統上傳電子發票的目的是將發票通過表示層提供的接口,讀取到發票中的關鍵信息,比如開票日期、發票號碼、發票代碼、開票金額等信息,并將發票文件作為附件上傳到系統中,其中的關鍵技術就是二維碼解析。大部分電子發票都會附帶一個二維碼,通常二維碼中攜帶了這些關鍵信息,基于谷歌的Zxing工具可以實現二維碼的掃描解析,只需要在項目中嵌入相關的包和文件,做好配置就能使用。但是在使用過程中,該工具經常報出“com.google.zxing.NotFoundExceptionm”的異常錯誤,分析后發現,是由于工具不能正確識別二維碼,對此,本系統加入圖像增強技術[4]。
首先將上傳的電子發票文件轉換為圖片,如圖3所示,并將彩色圖片轉換為灰度圖,然后統計每個灰度值在圖像中的占比,以小于當前灰度值的所有灰度值在總像素中所占的比例作為增益系數,對所有像素點進行調節,從而使得圖像對比度增強,解決了二維碼無法識別的問題,處理效果如圖4所示。
2)區塊鏈電子發票解析
區塊鏈電子發票,是區塊鏈技術、大數據和稅務治理的結合體,區塊鏈電子發票具有可溯源、易核驗、成本低等優勢,解決了以往報銷過程中的一些難題。在國家稅務總局的推動下,區塊鏈電子發票或將成為未來市場的主流,而區塊鏈電子發票的解析不同于傳統A類或B類發票。
傳統發票二維碼解析后可以直接獲取到發票信息,而區塊鏈電子發票二維碼掃描后返回的是一個URL[5],需要先截取該URL中的域名,然后將該域名與文件名“/dzswj/bers_ep_web/query_bill_detail”進行組合,得到一個新的路徑,通過訪問該路徑,獲取到發票的相關信息,然后對信息進行一些處理,比如返回的金額需要乘以0.01才是實際金額,返回的開票時間是一個時間戳,需要解析時間戳才能得到“YYYY-MMDD”格式的時間。
3.2 系統功能
發票系統主要功能根據面向的人群可分為四大模塊:一般用戶模塊、財務人員模塊、檔案管理員模塊以及系統管理員模塊[6-8]。每個模塊根據用戶角色開發了相應功能,系統功能結構如圖5所示,發票管理系統菜單頁面如圖6所示。
1)一般用戶功能模塊
由于個人用戶使用發票系統主要完成的就是發票的上傳,所以對于該模塊是實現發票的報銷上傳、上傳記錄的查看以及密碼的修改這三個主要功能。
該系統支持的發票格式有PNG/JPG/PDF三種主流的發票文件格式,用戶選中發票文件上傳之后,后臺通過解析發票的二維碼來讀取發票中的發票號碼、發票金額、開票日期、校驗碼等關鍵信息,并將識別到的信息自動填入頁面中的發票信息表格中,用戶無須自己手動輸入以上發票信息,只需核對系統識別的發票信息是否正確。由于發票號碼是所有發票的唯一標識,所有用戶每次上傳發票時,系統都會比對數據庫,若存在相同發票號碼的記錄,則提醒用戶該發票已核驗報銷,從而有效規避了重復報銷的情況。
2)財務人員功能模塊
針對財務人員模塊,系統主要提供了三大功能:發票驗證、報銷查詢、發票存檔。其中發票驗證提供了掃碼驗證、輸入驗證、官方驗證這三種可供選擇的發票驗證方式,以方便財務人員驗證用戶所上傳的發票的真偽。其中,官方驗證是通過提供國家稅務總局全國增值稅發票查驗平臺接口進行驗證。
報銷查詢是針對一般用戶上傳發票的查詢功能,支持通過發票的基本信息如發票號碼、發票代碼、金額,以及報賬的相關信息如申請報賬人,發票上傳日期,報銷年份,記賬憑證等查詢該發票對應的信息。針對系統中的發票,系統會統計已查驗發票數量、異常發票數量、發票總數量等基本信息,可以方便財務人員合理安排工作進度。財務人員在完成該發票的報銷工作之后就可以對該發票進行歸檔處理。發票歸檔之后,檔案管理員就可以查看該發票報銷的相關信息,而財務人員將無法查看到已歸檔發票信息。另外,一個企業的財務部門也可能會對外開具發票,因此,該系統對于本企業開具的發票向財務人員提供了相關接口,可用于此類發票的存檔查詢。
3)檔案管理人員功能模塊
檔案管理員模塊配置的功能就是對已經歸檔的發票信息以及該發票對應的財務報銷信息進行查看、查詢。在需要以紙質文件的形式保存已歸檔發票的報銷相關信息時可以在檔案管理員的檔案詳情頁面導出全部或某些符合給定條件的發票及報銷相關信息的發票檔案Excel文件。另外,在需要查詢某個已歸檔的發票的報銷信息時可以根據發票號碼、發票代碼等發票信息查詢報銷信息;也可以根據報銷憑證去查詢對應的發票信息。
4)系統管理人員功能模塊
系統管理員主要負責用戶管理和發票手動上傳,功能主要包括:新建賬號、注銷賬號以及用戶密碼管理。在注冊時可以設定用戶的角色信息,系統會根據管理員設置的角色為用戶賦予對應的權限,顯示不同的用戶界面。發票手動上傳主要針對某些無法正常上傳的發票開發的接口,由此保證系統在遇到特殊異常時能正常使用。
4 結束語
本文介紹了一種基于Web的電子發票管理系統,該系統綜合運用了圖像處理、區塊鏈電子發票二維碼解析、Web程序開發等技術,實現了安全、泛化、精確和可視化界面友好的電子發票管理系統。企業員工只需要登錄系統,將需報銷的發票上傳到系統,系統自動進行識別并錄入信息;財務人員可通過該系統對所有發票進行真偽查驗、業務處理和數據歸檔,所有發票都可隨時高效率地查詢管理。該系統不僅能作為企業內部系統對財務數據保密,還能對發票數據進行永久存儲,不僅提高了財務人員的工作效率,也積極響應了信息時代下“互聯網+”的號召。