艾力皮達爾·艾尼瓦爾 陳晨
關(guān)鍵詞:財務軟件;小微企業(yè);功能設計
會計信息化是企業(yè)財務工作的必然趨勢,隨著居家辦公模式的產(chǎn)生,企業(yè)的財務軟件也需要滿足居家辦公需求。對于小微企業(yè)來說,其居家辦公財務軟件與大企業(yè)的需求和成本預算還存在一定的差距。因此,小微企業(yè)亟須設計符合自身需求的居家財務軟件。
1小微企業(yè)財務軟件的需求分析
1.1免費使用
主流的財務軟件價格過于昂貴,價格幾千元到幾萬元不等,一些財務軟件使用計算機進行收費,且每一臺計算機都需要購買軟件授權(quán)才能使用[1]??紤]到小微企業(yè)的經(jīng)濟成本因素,應設計一款免費供小微企業(yè)使用的財務軟件。
1.2開源使用
通常財務軟件都是閉源軟件,軟件提供者同時負責軟件的后期維護、改錯,以及功能更新[2]。對于小微企業(yè)來說,功能的要求并不是很復雜,但隨著經(jīng)營業(yè)績的提升,企業(yè)對財務功能的使用則需要進一步優(yōu)化。但考慮到維護和更新成本因素,若設計一款小微企業(yè)可以自主維護和更新的財務軟件,則更符合小微企業(yè)的需求。
1.3內(nèi)存占用小
小微企業(yè)的辦公硬件有一定局限性,常用的主流財務軟件占用內(nèi)存空間巨大,對居家辦公并不友好。因此,小微企業(yè)需要一種輕便、可以隨身攜帶儲存設備的財務軟件。
1.4網(wǎng)絡環(huán)境要求低
小微企業(yè)要實現(xiàn)隨時隨地的財務辦公,就不能使用僅允許局域網(wǎng)訪問的財務軟件[3]。即使依靠VPN訪問,網(wǎng)絡環(huán)境的要求也較高。因此,需要一種可以在任何網(wǎng)絡環(huán)境下隨插隨用的財務軟件。
2系統(tǒng)可行性分析
2.1可行性分析
全球疫情防控背景下,居家辦公已成為常見的辦公模式[4]。成本預算更低的微小型企業(yè)迫切需要小型化、容易上手的財務軟件[5]。為了不受場地限制隨處辦公,本文采用C/S架構(gòu),使用簡單易懂的QT框架來開發(fā)界面。對于微小型企業(yè)而言,不可能有專門崗位負責維護,因此采用易學的編程語言Python作為程序開發(fā)語言。
2.2架構(gòu)選擇
C/S架構(gòu)(客戶端一服務器架構(gòu))采用上下兩層結(jié)構(gòu),服務器負責數(shù)據(jù)存儲和管理,客戶端完成與客戶交互任務,其優(yōu)點是網(wǎng)絡流量低。因此,若使用者需要將服務器搭建到服務器上,這不需要過高的寬帶就能帶來流暢的體驗,維護容易,UI美觀,并降低服務器租金成本。其缺點為當客戶端數(shù)量較多時維護困難,但一般小微型企業(yè)使用人數(shù)較少,對于需要居家辦公的小微型企業(yè)來說,該架構(gòu)優(yōu)勢明顯。
2.3編程語言與數(shù)據(jù)庫選用
Python的優(yōu)點是學習成本低,生態(tài)豐富,使用者僅需短時間學習即能自行添加其他定制功能。比如,改變各種報表展現(xiàn)格式使其更符合自己的審美。Python可以使財務人員在短時間內(nèi)就能完成對軟件的維護,不需要安排專門人員。另外,本文選用的MySQL關(guān)系數(shù)據(jù)庫管理系統(tǒng),也是財務系統(tǒng)的常用數(shù)據(jù)存儲服務器,其優(yōu)點是速度快,生態(tài)豐富,開放源代碼免費。
2.4權(quán)限分析
一個基本的財務軟件,需要有明確的權(quán)限劃分。對于遠程辦公來說,需要更明確的權(quán)限劃分。權(quán)限是指在客戶端與客戶交互時允許客戶操作的范圍,根據(jù)調(diào)研結(jié)果,僅保留了一些必要的權(quán)限,即憑證錄入、憑證審核、憑證刪除等。管理員可以給予各人員相應權(quán)限。
2.5界面框架選用
界面框架使用同樣開源的QT框架,其特點是易上手,自帶組件美觀。QT是一個開源的框架,完全免費,使用成本低。QT擁有眾多豐富友好的界面庫,其操作便捷。
3小微企業(yè)財務軟件的設計
3.1功能設計
3.1.1復式記賬功能
復式記賬法可以全面反映各項經(jīng)濟業(yè)務的全貌,并且可以利用會計要素之間內(nèi)在聯(lián)系與試算平衡來檢查記錄的準確性,是一種較完善的記賬方式,可以通過編程實現(xiàn),快速進行試算平衡,并可以通過各種絢麗報表展示經(jīng)濟業(yè)務全貌。
3.1.2財務報表分析功能
報表分析主要針對資產(chǎn)負債表及利潤表,通過比率分析法、比較分析法、結(jié)構(gòu)分析法進行分析后輸出文字或者圖形等,也可以通過編程實現(xiàn),并提供使用者使其做出決策,結(jié)合matlab模塊,使輸出更直觀。
3.1.3MySQL數(shù)據(jù)關(guān)系存儲
MySQL是一個關(guān)系型的數(shù)據(jù)庫管理系統(tǒng),將財務數(shù)據(jù)儲存在相應表中,而不是都放在一個大倉庫內(nèi),這大大提高了靈活性,可以通過SQL命令精確獲取某一時間的記賬憑證,可以將會計科目儲存在數(shù)據(jù)庫中,可以隨時添加二級科目,并且MySQL提供豐富的查詢語句可以精確查找到需要的科目。
3.1.4C/S架構(gòu)傳輸
在C/S架構(gòu)下,客戶機完成與客戶的交互,再由服務端進行存儲,服務端對數(shù)據(jù)提供安全保護以及保證數(shù)據(jù)完整性,并允許多個客戶機同時訪問服務器。這種架構(gòu)下,訪問者必須安裝特定客戶端,并且客戶端源代碼通過編譯、加殼,安全性很高。而對于B/S架構(gòu),雖然使用者可以隨時隨地通過瀏覽器訪問服務端,但安全性得不到保障。由于前端實務邏輯使用JavaScript編寫而無法進行隱藏,任何人都可以對其進行反編譯,以讀取加密邏輯。反觀C/S,只要客戶端不泄露,就不會造成數(shù)據(jù)丟失。在目前技術(shù)下使用此架構(gòu),通過TCP7IP傳輸,相對容易把握,成本也最低。
3.2數(shù)據(jù)庫設計
3.2.1用戶表
記賬軟件將通過此表判別登人用戶權(quán)限身份,具體為權(quán)限代號0,代表管理員1,代表出納2,代表會計主管等。具體如表1所列。
3.2.2會計科目表
使用者可以通過軟件科目管理功能將企業(yè)所需的會計科目添加到此表中,軟件是根據(jù)科目代號位數(shù)分辨科目級別,type字段為科目類別,具體有資產(chǎn)類科目、負債類科目、所有者權(quán)益類科目,成本類科目、損益類科目。以數(shù)字0—5代表科目類別,軟件通過試算平衡生成各類報表。具體如表2所列。
3.2.3記賬憑證
記賬軟件將所有記賬憑證記錄到該表中,根據(jù)此表生成各類報表,使用者可以通過軟件自帶的記賬憑證管理功能對此表進行增、刪、改等操作。軟件通過code來判別哪些記錄在一條憑證上,這并不影響速度或者可閱讀性。如果不特別標注code字段,軟件將自己選擇合適的代碼以區(qū)分不同憑證。Dr,Cr兩條字段分別記錄借方和貸方余額。Totalaccount,smallaccount將記錄一級科目、二級科目的中文名稱,不以數(shù)字命名是為了提高數(shù)據(jù)庫此表可閱讀性。具體如表3所列。
3.2.4原始憑證圖片表
原始憑證圖片來源可以是手機上傳,也可以是通過軟件拖拽上傳。拖拽上傳時,軟件會通過內(nèi)置OCR接口將圖片轉(zhuǎn)換為文字,并通過json格式儲存在state字段里,這既節(jié)省了OCR識別次數(shù),又節(jié)省資源。這些坐標信息通過QT的Qgraphicsscene展現(xiàn)在用戶面前,使用戶可以通過在圖片上點擊實現(xiàn)圖片文字的復制操作。Image字段儲存圖片的字節(jié)集,以供查閱,并且在此系統(tǒng)下,使用者可以將圖片上傳至服務器。具體如表4所列。
4功能模塊設計與實現(xiàn)
4.1拍照后將憑證上傳至服務器
用戶只需用手機將憑證拍攝并發(fā)送至指定群,憑證將添加到服務器,配合“憑證填制助手”功能,可自動識別出憑證類型,以及必要信息,也可以通過點擊圖片來復制上面字體。該功能通過易語言插件可以完成免費設計。
4.2程序登錄界面
當?shù)卿浗缑娲蜷_時,軟件會從config. ini中查找之前有沒有成功登錄過軟件,若有,則將登錄成功的賬密寫入用戶名密碼框;若沒有,則用戶名、密碼框為空,等待用戶輸入。當點擊登錄按鈕時,觸發(fā)“按鈕1_賬密驗證事件”,在該事件,首先檢查賬密輸入是否規(guī)范,若規(guī)范,則將使用TCP/IP跟服務端通信通過SQL語句以name字段用戶名為條件查詢密碼,再將查詢結(jié)果跟密碼比對,如果對比成功說明賬密正確,此時判斷記住密碼狀態(tài),如為真,將密碼儲存在cinfig. ini配置文件中以供下次免密登錄。
4.3科目管理模塊
用戶可以通過此模塊管理企業(yè)所需的會計科目,這些添加的科目將會在填寫憑證時進行使用??颇繉傩灾傅氖强颇?大類別,用戶可以很方便地對其進行添加。具體如圖1所示。
當科目管理頁面打開時,會在多線程內(nèi)觸發(fā)“刷新科目”事件,在該事件的MySQL數(shù)據(jù)庫中獲取所有科目,并寫入列表變量中,再通過遍歷列表將讀入的數(shù)據(jù)寫入QT的TableWidget組件中。用戶輸入科目代碼、科目名稱、科目類別等信息,并點擊添加科目按鈕將觸發(fā)“按鈕一添加科目”事件,先在該事件的數(shù)據(jù)庫中查詢此科目代碼是否存在,存在即返回“該科目已存在”錯誤,如果不存在,將通過SQL語句添加至數(shù)據(jù)庫進行存儲。
4.4記賬模塊
用戶可以在該模塊下,進行管理憑證的增、減、刪、改等操作,并且可以通過時間篩選出自己所需的記賬憑證,篩選出來的憑證將顯示在左邊小列表框區(qū)域,對用戶挑選出所需要的憑證提供幫助,中間區(qū)域顯示目前選中的憑證,每個憑證將通過唯一憑證號code進行區(qū)分,這些內(nèi)容將儲存在一個表中,以對用戶后續(xù)利用提供幫助。
當用戶填制完一張憑證之后,點擊“上傳”按鈕,觸發(fā)“上傳數(shù)據(jù)庫事件”事件以判斷關(guān)鍵信息。例如,一級科目,借方或貸方是否空白,如空白將上傳失敗,當所有信息填制完畢時,逐條傳遞并上傳至添加類的添加記賬憑證方法中,此方法通過sql語句將此參數(shù)上傳至數(shù)據(jù)庫的bookkeeping表中,每一張憑證記錄將擁有同樣的憑證碼。因此,將其全部放置于一張表中也不用擔心憑證記錄亂的問題。具體如圖2所示。
4.5記賬助手
使用者僅需通過QQ將憑證進行拍照,服務器接收到這些照片后將其存儲在后端,使用者可以選擇自動登賬,或者對圖片點擊、復制上面的文字,以進行登賬。圖片顯示選用QT框架自帶的QGraphicsscene進行顯示,此功能針對非常規(guī)票據(jù)。常規(guī)票據(jù)可自動提取關(guān)鍵信息。
用戶點擊圖片上的字體即可完成對字體的復制,無需手動輸入至計算機,依靠QGraphicsscene強大的圖形項管理功能,將圖片通過已有接口轉(zhuǎn)換成文字,再將文字生成透明圖形項,覆蓋到圖片上,并依靠QGraphicsscene的mousePressEvent事件獲取鼠標點擊的圖形項ID,以讀取圖形項所記錄的信息。
5軟件的功能優(yōu)勢
本文針對小微企業(yè)居家財務辦公的需求,設計居家財務軟件。該軟件解決了傳統(tǒng)財務軟件臃腫、龐大、昂貴、對環(huán)境要求高等問題,功能設計適合居家環(huán)境。其解決了網(wǎng)絡帶寬受限,缺少專業(yè)掃描設備,報銷時無實物憑證等財務軟件使用難題,工作效率高,界面美觀,上手難度低,并具備以下實用功能。
(1)科目管理功能,使用者可以根據(jù)公司所需,增、減、刪、改科目。
(2)無需借助掃描儀等輸入設備即可完成報銷業(yè)務,使辦公環(huán)境更加靈活。
(3)票據(jù)識別功能,軟件自動識別出票據(jù)關(guān)鍵信息,對于特殊票據(jù),直接點擊圖片上的文字就能進行復制,以提高工作效率。