初識(shí)“會(huì)計(jì)引擎”原理
在財(cái)務(wù)工作中,當(dāng)企業(yè)業(yè)務(wù)復(fù)雜、數(shù)據(jù)量大時(shí),完全依賴財(cái)務(wù)人員人工處理,效率低且正確率難以保證,所以由業(yè)務(wù)數(shù)據(jù)實(shí)現(xiàn)自動(dòng)化賬務(wù)處理勢(shì)在必行。而實(shí)現(xiàn)自動(dòng)處理前需要先將業(yè)務(wù)數(shù)據(jù)向財(cái)務(wù)數(shù)據(jù)進(jìn)行轉(zhuǎn)換,會(huì)計(jì)引擎可以幫助解決此問(wèn)題。本文作者介紹了會(huì)計(jì)引擎的搭建、規(guī)則和規(guī)則配置,一起來(lái)看一下吧。
在企業(yè)經(jīng)營(yíng)中,財(cái)務(wù)人員通過(guò)會(huì)計(jì)憑證記錄企業(yè)的經(jīng)濟(jì)活動(dòng),并依據(jù)會(huì)計(jì)憑證登記賬簿。傳統(tǒng)的財(cái)務(wù)工作中,會(huì)計(jì)人員根據(jù)紙質(zhì)的原始憑證,依賴財(cái)務(wù)工作經(jīng)驗(yàn)編制分錄并錄入到賬務(wù)系統(tǒng)中。
當(dāng)企業(yè)業(yè)務(wù)復(fù)雜、數(shù)據(jù)量大時(shí),完全依賴財(cái)務(wù)人員人工處理,效率低且正確率難以保證。
所以,由業(yè)務(wù)數(shù)據(jù)實(shí)現(xiàn)自動(dòng)化賬務(wù)處理勢(shì)在必行。
但是企業(yè)的業(yè)務(wù)數(shù)據(jù)一般為顆粒度更細(xì)的明細(xì)數(shù)據(jù),而財(cái)務(wù)數(shù)據(jù)則是需要符合會(huì)計(jì)準(zhǔn)則的數(shù)據(jù),因此必須先將業(yè)務(wù)數(shù)據(jù)向財(cái)務(wù)數(shù)據(jù)進(jìn)行轉(zhuǎn)換。會(huì)計(jì)引擎則可以幫助解決此問(wèn)題。
基于以上背景,我們可以把會(huì)計(jì)引擎理解為一個(gè)翻譯工具。這需要我們提前將翻譯規(guī)則在預(yù)設(shè)翻譯器中,然后輸入業(yè)務(wù)語(yǔ)言,便可按照預(yù)設(shè)的規(guī)則,輸出對(duì)應(yīng)的財(cái)務(wù)語(yǔ)言。也就實(shí)現(xiàn)了業(yè)務(wù)數(shù)據(jù)到財(cái)務(wù)數(shù)據(jù)的轉(zhuǎn)換,最終生成預(yù)制憑證。
01 如何搭建會(huì)計(jì)引擎
首先要明確,會(huì)計(jì)引擎的目的是實(shí)現(xiàn)賬務(wù)自動(dòng)化,即由業(yè)務(wù)數(shù)據(jù)自動(dòng)生成會(huì)計(jì)憑證。那么我們可以從會(huì)計(jì)憑證出發(fā),倒推出生成一個(gè)會(huì)計(jì)憑證都需要什么內(nèi)容,從而明確會(huì)計(jì)引擎的構(gòu)成。
市面上比較常見(jiàn)的會(huì)計(jì)核算系統(tǒng)有金蝶、用友、SAP、Oracle,不同會(huì)計(jì)核算系統(tǒng)的憑證格式不同。下面我們以用友NC生成的憑證為例。
以下憑證的主要內(nèi)容包括:
核算賬簿(帳套信息)、憑證制單日期、憑證類別、會(huì)計(jì)期間、借貸方向、憑證摘要、會(huì)計(jì)科目、幣種、金額、輔助核算。
可以看出,憑證是有一定格式的,并且部分內(nèi)容無(wú)法從業(yè)務(wù)數(shù)據(jù)中直接獲取?;谝陨?,會(huì)計(jì)引擎應(yīng)具備的主要功能為:
- 對(duì)于直接能找到業(yè)務(wù)數(shù)據(jù)與憑證內(nèi)容對(duì)應(yīng)關(guān)系的,根據(jù)規(guī)則進(jìn)行映射,直接轉(zhuǎn)換。
- 對(duì)于無(wú)法找到業(yè)務(wù)數(shù)據(jù)與憑證內(nèi)容直接關(guān)系的,則要根據(jù)規(guī)則對(duì)業(yè)務(wù)數(shù)據(jù)進(jìn)行加工計(jì)算,再得到憑證需要的結(jié)果。
總結(jié)來(lái)說(shuō),會(huì)計(jì)引擎首先需要預(yù)設(shè)規(guī)則,然后調(diào)用相應(yīng)規(guī)則。
02 會(huì)計(jì)引擎的規(guī)則
還以上面憑證舉例,簡(jiǎn)單列舉幾個(gè)想要生成這張憑證應(yīng)配置的規(guī)則:
- 核算賬簿的取值規(guī)則
- 制單日期的取值規(guī)則
- 會(huì)計(jì)期間的取值規(guī)則
- 借貸方向的生成規(guī)則
- 摘要的生成規(guī)則
- 會(huì)計(jì)科目的生成規(guī)則
- 輔助核算項(xiàng)的取值規(guī)則
那么這些規(guī)則具體又是如何構(gòu)成的呢?
我們知道,規(guī)則的組成是:條件語(yǔ)句和結(jié)果語(yǔ)句,這放在會(huì)計(jì)引擎當(dāng)中依舊適用。會(huì)計(jì)引擎規(guī)則中的條件語(yǔ)句由業(yè)務(wù)數(shù)據(jù)組成,結(jié)果語(yǔ)句則由財(cái)務(wù)數(shù)據(jù)組成。
例如:
條件==>商品類別=女裝上衣;
結(jié)果==>收入成本明細(xì)科目=服裝類/女裝。
理解為:如果業(yè)務(wù)數(shù)據(jù)上的商品類別是【女裝上衣】時(shí),那么對(duì)應(yīng)到賬務(wù)系統(tǒng)中的收入成本科目為【服裝類/女裝】。
在實(shí)際業(yè)務(wù)應(yīng)用中,規(guī)則的條件語(yǔ)句可以是多個(gè),多條件的組合邏輯可以是“或”關(guān)系“且”關(guān)系等,結(jié)果語(yǔ)句同理。
例如:
條件1==>公司名稱=北京xx科技有限公司
條件2==>單據(jù)類別=應(yīng)收單
條件3==>商品類別=女裝上衣
條件組合邏輯“==>且”
結(jié)果1==>核算賬簿=北京xx科技
結(jié)果2==>會(huì)計(jì)科目=應(yīng)收賬款/服裝類/女裝
結(jié)果組合邏輯“==>且”
理解為:如果業(yè)務(wù)數(shù)據(jù)上的公司名稱是【北京xx科技有限公】,單據(jù)類別是【應(yīng)收單】,且商品類別是【女裝上衣】時(shí),那么此條業(yè)務(wù)數(shù)據(jù)對(duì)應(yīng)到賬務(wù)系統(tǒng)中的核算賬簿是【北京xx科技】,且會(huì)計(jì)科目是【應(yīng)收帳款/服裝類/女裝】。
以上只是介紹了會(huì)計(jì)引擎規(guī)則基本的構(gòu)成,具體規(guī)則內(nèi)容,還需要結(jié)合公司具體的業(yè)務(wù)場(chǎng)景、業(yè)務(wù)流程以及賬務(wù)處理方式等進(jìn)行詳細(xì)梳理。
03 會(huì)計(jì)引擎的規(guī)則配置
盡管不同公司、不同業(yè)務(wù)的會(huì)計(jì)引擎內(nèi)容大不相同,但配置頁(yè)面,萬(wàn)變不離其宗。
考慮到需要配置的規(guī)則數(shù)量大,適用場(chǎng)景多,我們?cè)趯?shí)際應(yīng)用中可以在規(guī)則的結(jié)構(gòu)上增加一級(jí)——“規(guī)則類型”以便管理和配置。
通過(guò)維護(hù)規(guī)則類型,限定每類規(guī)則可以使用的條件和結(jié)果因子,縮小配置規(guī)則時(shí)的選擇范圍。
下面舉例一個(gè)簡(jiǎn)單的模型,這里我們默認(rèn)條件和結(jié)果之間的判斷詞為“則”,同一規(guī)則各條件、結(jié)果之間的組合邏輯均為“且”。即:如果“條件1”且“條件2“,則“結(jié)果1”。
規(guī)則類型管理原型頁(yè)面:
說(shuō)明:
1)所屬組織用來(lái)限定當(dāng)前規(guī)則適用的組織范圍
2)條件因子和結(jié)果因子是數(shù)據(jù)庫(kù)內(nèi)已有的字段,用戶通過(guò)選擇的方式任意添加(條件和結(jié)果至少各一個(gè)),添加即:指定該種規(guī)則類型對(duì)應(yīng)可選的條件或結(jié)果。
規(guī)則管理原型頁(yè)面:
說(shuō)明:
1)每條規(guī)則都需要選擇已有的規(guī)則類型。
2)條件、結(jié)果下拉列表中帶出的條件因子和結(jié)果因子,會(huì)根據(jù)已選擇的規(guī)則類型決定??商砑佣鄠€(gè)條件和多個(gè)結(jié)果。
3)條件因子的值、和結(jié)果因子的值,即所選條件和結(jié)果因子對(duì)應(yīng)的枚舉值。
舉例:
以上會(huì)計(jì)引擎的功能模型、原型頁(yè)面等都是最簡(jiǎn)單的邏輯,在實(shí)際應(yīng)用當(dāng)中需要根據(jù)業(yè)務(wù)復(fù)雜程度、用戶個(gè)性化要求、服務(wù)器性能等再做相關(guān)設(shè)計(jì)。
接下來(lái)會(huì)有幾篇文章來(lái)詳細(xì)介紹業(yè)務(wù)數(shù)據(jù)獲取及存儲(chǔ),會(huì)計(jì)憑證生成及提交,會(huì)計(jì)核算軟件的接收和處理,以及幾個(gè)憑證實(shí)例。。
專欄作家
陳天宇宙,微信公眾號(hào):陳天宇宙,人人都是產(chǎn)品經(jīng)理專欄作家。多平臺(tái)支付領(lǐng)域?qū)谧髡?,十年資深產(chǎn)品;專注為10萬(wàn)支付產(chǎn)品經(jīng)理和支付機(jī)構(gòu)以及企業(yè)提供深度支付內(nèi)容和服務(wù)!
題圖來(lái)自 Unsplash,基于 CC0 協(xié)議
該文觀點(diǎn)僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺(tái)僅提供信息存儲(chǔ)空間服務(wù)。
被動(dòng)態(tài)會(huì)計(jì)指令DMAAI支配的恐懼
老師,請(qǐng)問(wèn)還會(huì)出會(huì)計(jì)憑證的其他文章介紹嘛?
首先,為什么能做成引擎,是因?yàn)樨?cái)務(wù)的核算科目萬(wàn)變不離其宗,就那么幾個(gè);引擎的關(guān)鍵點(diǎn)在于配置沒(méi)錯(cuò),你講的偏向于“翻譯”,但是關(guān)于“為什么”這么設(shè)計(jì),建議展開(kāi)一下,避免看的人走一些彎路
看了陳老師的文章非常贊同,期待和您做業(yè)財(cái)引擎相關(guān)的深入交流,還請(qǐng)加我微信,多謝。
讀遍陳老師的每一篇文章 獲益匪淺