不同行業(yè)基本都會有自己獨特的業(yè)務(wù),甚至同行的不同企業(yè)之間的業(yè)務(wù)邏輯也會相差千里,只有最大程度抽象出通用性、標(biāo)準(zhǔn)性和普適性的系統(tǒng)才能夠成為平臺系統(tǒng),平臺系統(tǒng)開發(fā)的成本和難度可想而知。
個人深度參與或獨立設(shè)計開發(fā)過的公共服務(wù)型平臺系統(tǒng),主要包括基礎(chǔ)數(shù)據(jù)平臺、支付平臺、財務(wù)平臺、結(jié)算平臺、配送平臺、CRM、OA等。財務(wù)系統(tǒng)是業(yè)務(wù)系統(tǒng)中重要且復(fù)雜而龐大的一個公共服務(wù)系統(tǒng)。
市面上有很多成熟的財務(wù)軟件可供選擇,比如用友、金蝶和SAP等,這三種財務(wù)軟件我個人都直接開發(fā)對接和踩坑過,這樣看上去好像顯得更加專業(yè),事實是財務(wù)系統(tǒng)至今仍是我最不想開發(fā)的系統(tǒng),咩哈哈。
十多年前我首次接觸財務(wù)系統(tǒng),在帝都某電商公司做財務(wù)開發(fā)。所謂不看不知道,一看想不到,每天和不同系統(tǒng)各種SQL以及不知所云的表字段命名打交道,代碼就像鬧著玩似的,倍感無力,至今心有余悸。
和同事交流后發(fā)現(xiàn),果然大家都是相似的壓抑和不爽,看代碼能當(dāng)場去世的感覺。我想第一印象這么糟糕,財務(wù)系統(tǒng)大概會和我絕緣,想不到離開帝都到魔都工作又機(jī)緣巧合陰差陽錯做了兩次財務(wù)系統(tǒng)開發(fā)。
三次財務(wù)系統(tǒng)開發(fā)經(jīng)歷收獲不少,開闊了眼界,體驗到了復(fù)雜系統(tǒng)的設(shè)計和實現(xiàn),當(dāng)然也有明顯副作用,就是工作量太大,每次發(fā)布上線傷害更大,但是禍兮福所倚,我的代碼自信也給磨礪了出來,咩哈哈。
一入財務(wù)深似海,從此下班是路人。財務(wù)系統(tǒng)實現(xiàn)的不好就會容易變成各路神仙的SQL和Excel奇技淫巧大賽,加班分析數(shù)據(jù)和排查各種問題是常態(tài),不知道這算不算業(yè)界共識,反正我是親自領(lǐng)教過多次了。
雖然財務(wù)系統(tǒng)的開發(fā)體驗一度讓我想起法國作家司湯達(dá)著名的墓志銘”活過,愛過,寫過?!保杏X心累和疲憊,但男子漢大丈夫,能屈能伸,輸人不輸陣,正所謂沒有什么高山不能攀登,我堅信事在人為。
迄今為止,個人深度設(shè)計和開發(fā)過的財務(wù)系統(tǒng)包括的主要功能有:財務(wù)基礎(chǔ)、記賬、開票、報銷、借款、報稅、庫管、履單成本、往來支付、工資福利發(fā)放、財務(wù)報賬、金融保險、增值業(yè)務(wù)、供應(yīng)鏈融資等。
財務(wù)系統(tǒng)常見的其他管理模塊如固定資產(chǎn)管理、現(xiàn)金管理、費(fèi)用管理、合同管理、銀行授信、貸款管理、商業(yè)匯票、擔(dān)保管理、運(yùn)輸管理、分賬管理等等,個人也有間接做過一些二次開發(fā)支持和維護(hù)的工作。
你可能已經(jīng)聽說過對賬、扎帳、平帳、核銷、T+n、應(yīng)收、應(yīng)付、稅控、收支、清算、結(jié)算、NC等等財務(wù)領(lǐng)域的術(shù)語,有很多財務(wù)專業(yè)術(shù)語還很佶屈聱牙,本文不會對這些關(guān)鍵術(shù)語進(jìn)行嚴(yán)格的定義和說明。
自從見識過看一眼會升天的財務(wù)系統(tǒng)代碼,自我感覺再看到任何惡劣晦澀的代碼都能寵辱不驚以平常心對待,直到多年后接手了一個代碼很過分讓人腦殼疼的WMS系統(tǒng),果然天外有天人外有人,咩哈哈。
根據(jù)經(jīng)驗,混亂的demo型財務(wù)系統(tǒng)的特點包括:單據(jù)多且關(guān)系復(fù)雜,基礎(chǔ)數(shù)據(jù)不統(tǒng)一,有跨庫操作,互聯(lián)系統(tǒng)間關(guān)系凌亂,數(shù)據(jù)表字段很多,命名中西合璧,幻數(shù)和枚舉極多,報表多而雜,性能不佳等。
再加上很多公司的財務(wù)系統(tǒng)報銷做的稀爛,每次個人報銷都感覺困難重重舉步維艱體驗奇差,很像公司要賴賬的樣子,所以我對財務(wù)完全沒有任何好感,每次用財務(wù)軟件都有忍不住重寫的沖動,咩哈哈。
雖然財務(wù)系統(tǒng)在個人印象中是極其復(fù)雜繁瑣費(fèi)力不討好的公共服務(wù)系統(tǒng),但作為有潔癖和強(qiáng)迫癥的完美主義者,明知工作量巨大,我還是嘗試用PowerDotNet進(jìn)行重寫,為興趣工作,挑戰(zhàn)不可能也是樂趣。
將財務(wù)過程流水線化是我用PowerDotNet重寫財務(wù)系統(tǒng)的直接動力,但還是低估了體力活的大小,恰巧有段時間心情特別特別好,對寫代碼熱情高漲,去粗取精揚(yáng)長避短大事化小小事化無一通操作就寫完了。
用PowerDotNet重寫后的財務(wù)平臺,模塊劃分明確清晰,功能穩(wěn)定,靈活性和可擴(kuò)展性極好,實現(xiàn)優(yōu)雅,可維護(hù)性也很強(qiáng),良好的工具會讓人更自信更喜歡編程,更讓人積極熱愛自己的編程事業(yè),咩哈哈。
因為不同公司的主業(yè)務(wù)不同,財務(wù)系統(tǒng)的側(cè)重點也會有不同,PowerDotNet這里介紹的財務(wù)平臺,只是個人所從事的電商財務(wù)管理系統(tǒng)中很基礎(chǔ)的通用功能的一部分,當(dāng)然也預(yù)留了特殊業(yè)務(wù)的可擴(kuò)展性。
PowerDotNet的財務(wù)平臺系統(tǒng)設(shè)計和實現(xiàn)做了很多取舍和痛苦抉擇,很多特定行業(yè)或定制化業(yè)務(wù)沒有吸收整合進(jìn)去,畢竟PowerDotNet最初的主要目標(biāo)是要實現(xiàn)一套能夠被絕大多數(shù)公司通用的公共服務(wù)。
面條代碼 (Spaghetti Code)常有,面條系統(tǒng)也不少見。支付、財務(wù)、CRM、配送等系統(tǒng),解耦做不好,很容易變成面條系統(tǒng)。面條系統(tǒng)的解耦難度遠(yuǎn)比業(yè)務(wù)系統(tǒng)按服務(wù)、模塊或應(yīng)用等進(jìn)行劃分解耦難得多。
PowerDotNet的財務(wù)平臺系統(tǒng)在系統(tǒng)解耦方面做了極大努力,非??简為_發(fā)經(jīng)驗和業(yè)務(wù)廣度,因為根據(jù)個人經(jīng)驗,電商財務(wù)系統(tǒng)和商品、庫存、CRM、訂單、支付、配送等系統(tǒng)有藕斷絲連曖昧不清的關(guān)系。
混亂的Excel需求和各種數(shù)據(jù)庫連接是財務(wù)這種容易解耦失敗變成面條系統(tǒng)的直接體現(xiàn)。遵循PowerDotNet的開發(fā)接入規(guī)范,可以大大降低面條系統(tǒng)出現(xiàn)的可能,哪怕是財務(wù)或者WMS這種特別復(fù)雜的系統(tǒng)。
本人有多年一線編程經(jīng)驗和代碼量的積累,PowerDotNet正是積累的直接產(chǎn)物,現(xiàn)在個人遇到技術(shù)和業(yè)務(wù)難題,不敢說隨心所欲信手拈來,卻也有一整套相對完備成熟可行的解決方案或思路,并且屢試不爽。
對于復(fù)雜的CRUD業(yè)務(wù)邏輯型開發(fā)來說,應(yīng)對各種變化是大概率事件,因為“唯一不變的是變化本身”。來說是非者,必是是非人。PowerDotNet不是空口無憑嘴上說說而已,而是拿出實踐成果來證明自己。
編程是非常講究動手實踐的科目,在絕對實力面前,一切方法論高情商都是務(wù)虛的浮云。 事實勝于雄辯,只有把良好的軟件務(wù)實設(shè)計開發(fā)出來,才能證明事情做對了,同時你會不知不覺中發(fā)現(xiàn)路也走寬了。
軟件開發(fā)普遍認(rèn)為造輪子比調(diào)包調(diào)參更高級,PowerDotNet早期也是深受這種說法影響,僅限于框架工具研發(fā),但個人現(xiàn)在的看法和做法已與過去不同,技術(shù)服務(wù)于業(yè)務(wù),軟件開發(fā)離不開業(yè)務(wù)的積累和抽象。
對于復(fù)雜的業(yè)務(wù)開發(fā),尤其是支付和財務(wù)結(jié)算這類復(fù)雜的中大型系統(tǒng),代碼的業(yè)務(wù)可讀性和可維護(hù)性尤為重要,PowerDotNet總結(jié)了前人開發(fā)經(jīng)驗,在代碼業(yè)務(wù)可讀性和可維護(hù)性方面做了很多實踐和探索。
PowerDotNet和PowerDotNetCore不能保證系統(tǒng)設(shè)計和實現(xiàn)的上限有多高,但至少能保證下限不低,因為它們可以提供統(tǒng)一的編程規(guī)范,而且完善的基礎(chǔ)設(shè)施和公共服務(wù)的高度抽象和復(fù)用更便于系統(tǒng)實現(xiàn)。
雄關(guān)漫道真如鐵,而今邁步從頭越。PowerDotNet和PowerDotNetCore目前在財務(wù)系統(tǒng)開發(fā)上已經(jīng)小有所成,但距離好的精品財務(wù)系統(tǒng)目標(biāo)還相去甚遠(yuǎn),財務(wù)開發(fā)道阻且長,這點個人有非常清醒的認(rèn)識。
環(huán)境準(zhǔn)備
1、(必須).Net Framework4.5+
2、(必須)關(guān)系型數(shù)據(jù)庫MySQL或SqlServer或PostgreSQL或MariaDB四選一
3、(必須)PowerDotNet數(shù)據(jù)庫管理平臺,主要使用DBKey功能
4、(必須)PowerDotNet配置中心Power.ConfigCenter
5、(必須)PowerDotNet注冊中心Power.RegistryCenter
6、(必須)PowerDotNet緩存平臺Power.Cache
7、(必須)PowerDotNet消息平臺Power.Message
8、(必須)PowerDotNet文件平臺Power.File
9、(必須)PowerDotNet個人用戶管理平臺Power.PCRM
10、(必須)PowerDotNet人員管理平臺Power.HCRM
11、(必須)PowerDotNet基礎(chǔ)數(shù)據(jù)平臺Power.BaseData
12、(必須)PowerDotNet定時任務(wù)調(diào)度平臺Power.TaskSchedule
13、(必須)PowerDotNet數(shù)據(jù)同步平臺Power.DataX
14、(必須)PowerDotNet支付平臺Power.Payment
15、(必須)PowerDotNet商品管理平臺Power.Commodity(后續(xù)詳細(xì)介紹)
一、財務(wù)基礎(chǔ)
財務(wù)基礎(chǔ)數(shù)據(jù)包括財務(wù)專用基礎(chǔ)數(shù)據(jù)、外部業(yè)務(wù)系統(tǒng)基礎(chǔ)數(shù)據(jù)和全局通用基礎(chǔ)數(shù)據(jù)。
1、財務(wù)專用基礎(chǔ)數(shù)據(jù)
比如收支項目、費(fèi)用類型、結(jié)算方式、賬期類型、稅率、銀行類型、銀行信息、銀行賬戶等,這些數(shù)據(jù)基本都是財務(wù)系統(tǒng)內(nèi)專用,其他業(yè)務(wù)系統(tǒng)很少用或者不用,就算要用也是提供接口低頻調(diào)用。
2、業(yè)務(wù)系統(tǒng)基礎(chǔ)數(shù)據(jù)
財務(wù)和外部互聯(lián)互通的業(yè)務(wù)系統(tǒng)非常多,常見的比如商品、采銷、支付、配送、倉儲、人員管理等,后面介紹電商財務(wù)系統(tǒng)會和哪些常見的業(yè)務(wù)系統(tǒng)進(jìn)行互聯(lián)互通。
使用依賴的業(yè)務(wù)系統(tǒng)的基礎(chǔ)數(shù)據(jù),常規(guī)有三種方式,PowerDotNet都給出了完美支持
(1)直接連接業(yè)務(wù)庫查詢,有了DBKey這非常容易,但是極不推薦這樣做
(2)調(diào)用業(yè)務(wù)系統(tǒng)查詢接口,這是我們所推崇的服務(wù)化方案,有了服務(wù)治理,開發(fā)工作量并不大
(3)在財務(wù)系統(tǒng)里冗余一份數(shù)據(jù),通過數(shù)據(jù)同步平臺同步基礎(chǔ)數(shù)據(jù)至財務(wù)庫,開發(fā)人手不足的情況下,這是最優(yōu)方案
3、全局通用基礎(chǔ)數(shù)據(jù)
比如區(qū)域、證件類型、幣種、語言、應(yīng)用終端類型、公司信息、組織信息等,從基礎(chǔ)數(shù)據(jù)平臺可以輕松獲取這些數(shù)據(jù),PowerDotNet重寫的財務(wù)平臺主要借助數(shù)據(jù)同步平臺同步數(shù)據(jù)至財務(wù)庫。
萬丈高樓平地起,財務(wù)基礎(chǔ)是沒什么技術(shù)含量純HelloWorld型體力活,但它卻是財務(wù)平臺穩(wěn)定可靠運(yùn)行的基石,根據(jù)我的經(jīng)驗,混亂的財務(wù)系統(tǒng)通常都能看到基礎(chǔ)數(shù)據(jù)的隨意變更痕跡。
不重視基礎(chǔ),就是不尊重軟件開發(fā)規(guī)律,任何輕視基礎(chǔ)數(shù)據(jù)抽象設(shè)計和管理的公司遲早都要受到懲罰。
二、財務(wù)應(yīng)收
財務(wù)平臺設(shè)計與開發(fā)涉及到大量專業(yè)的財務(wù)和會計知識,深入理解這些業(yè)務(wù)知識對開發(fā)人員的好處顯而易見,在財務(wù)系統(tǒng)中最常見的就是各種往來賬,比如應(yīng)收賬款和應(yīng)付賬款,預(yù)付賬款和預(yù)收賬款等。
本文根據(jù)個人開發(fā)過的財務(wù)結(jié)算系統(tǒng)常見的劃分方式進(jìn)行總結(jié),對于一般公司而言基本夠用,但實際開發(fā)應(yīng)結(jié)合公司業(yè)務(wù)需要進(jìn)行規(guī)劃開發(fā)和管理,本文所寫的單據(jù)和業(yè)務(wù)分類僅供參考。
財務(wù)應(yīng)收屬于通常我們所說的AR范疇。
1、應(yīng)收單
應(yīng)收單單據(jù)的抽象是企業(yè)應(yīng)收賬款的直接體現(xiàn)。
應(yīng)收賬款是指企業(yè)在正常的經(jīng)營過程中因銷售商品、產(chǎn)品、提供勞務(wù)等業(yè)務(wù),應(yīng)向購買單位收取的款項,包括應(yīng)由購買單位或接受勞務(wù)單位負(fù)擔(dān)的稅金、代購買方墊付的各種運(yùn)雜費(fèi)等。
應(yīng)收賬款雖然是你的資產(chǎn),但它現(xiàn)在畢竟在別人兜里,能否收回來是個未知數(shù),所以應(yīng)收賬款非常的“虛”。如果應(yīng)收賬款占總資產(chǎn)的比重過大,企業(yè)的財務(wù)模型可能非常不健康。
?2、收款單
應(yīng)收單是應(yīng)收,還沒有收到手里,收款單則偏重于實收,收款單通常是在應(yīng)收賬款收到的情況下進(jìn)行創(chuàng)建,但也支持特殊業(yè)務(wù)需要,先創(chuàng)建收款單而后真正收款到賬。
以一個電商場景舉例,國內(nèi)機(jī)票商戶創(chuàng)建訂單,調(diào)用支付平臺接口或跳轉(zhuǎn)到支付平臺完成支付后,得到支付單結(jié)果,國內(nèi)機(jī)票變更訂單狀態(tài),做其他相關(guān)業(yè)務(wù)邏輯,最后在財務(wù)平臺創(chuàng)建收款單。
3、應(yīng)收退款單
應(yīng)收退款單可以認(rèn)為是收款單的逆向單據(jù),一個收款單可以創(chuàng)建一個或多個應(yīng)收退款單。
在支付平臺里我們已經(jīng)介紹了支付單有三種常見類型,即扣款支付單、退款支付單和擔(dān)保支付單。應(yīng)收退款單發(fā)起的真實退款在支付平臺都有體現(xiàn)。
以一個電商場景舉例,國內(nèi)機(jī)票商戶訂單支付完成后,個人用戶或者企業(yè)用戶發(fā)起退款,我們通常有兩種鏈路模式進(jìn)行退款處理:
(1)國內(nèi)機(jī)票商戶直接調(diào)用支付平臺接口進(jìn)行退款,得到退款支付單結(jié)果,國內(nèi)機(jī)票變更訂單狀態(tài),做其他業(yè)務(wù)邏輯,最后在財務(wù)平臺創(chuàng)建應(yīng)收退款單。
(2)國內(nèi)機(jī)票商戶調(diào)用財務(wù)平臺創(chuàng)建應(yīng)收退款單接口,財務(wù)人員在財務(wù)平臺審核并調(diào)用支付平臺接口退款,支付平臺回調(diào)通知財務(wù)平臺,財務(wù)平臺回調(diào)通知商戶,商戶做退款后業(yè)務(wù)邏輯。
根據(jù)個人開發(fā)經(jīng)驗,建議使用(1)這種處理路由,因為這種模式給了商戶更多的靈活性,鏈路也相對簡短一點。
4、應(yīng)收發(fā)票
應(yīng)收發(fā)票是開票模塊最重要的業(yè)務(wù)功能之一,涉及非常多的財務(wù)業(yè)務(wù)邏輯,包括稅控、創(chuàng)建財務(wù)應(yīng)收、代收代付、紅沖、發(fā)票文件處理、虛擬開票、票據(jù)作廢等。
5、應(yīng)收對賬
對賬同樣也是財務(wù)平臺的重要模塊。在單據(jù)多且雜的財務(wù)系統(tǒng)中,主要單據(jù)的對賬功能必不可少,對及時發(fā)現(xiàn)和解決業(yè)務(wù)問題有不可或缺的作用。
在支付平臺里我們已經(jīng)簡單介紹過對賬功能,支付平臺分擔(dān)了一部分財務(wù)對賬功能,系統(tǒng)解耦更加合理。
財務(wù)單據(jù)對賬更偏重于實際業(yè)務(wù)單據(jù)的數(shù)據(jù)比對,而不僅僅是支付或退款數(shù)據(jù)。
6、應(yīng)收核銷
財務(wù)系統(tǒng)核銷單也是很常見的單據(jù),但是核銷單功能并不是必須的,如果人手不足,可以簡化設(shè)計直接在業(yè)務(wù)單據(jù)上進(jìn)行核銷處理而不用獨立設(shè)計核銷單。
小結(jié):從我們熟悉的電商系統(tǒng)角度看來,財務(wù)應(yīng)收更加直面終端用戶,線上和線下業(yè)務(wù)都能覆蓋,更加偏重于B2C,但B2B也能很好支持。
三、財務(wù)應(yīng)付
財務(wù)應(yīng)付屬于通常我們所說的AP范疇。
根據(jù)個人經(jīng)驗,AP應(yīng)付模塊和供應(yīng)鏈管理、庫存管理、金融、運(yùn)營等業(yè)務(wù)平臺深度綁定,財務(wù)業(yè)務(wù)邏輯的復(fù)雜程度和業(yè)務(wù)部門的需求有直接關(guān)系,所以通用型財務(wù)平臺是真不好寫。
1、應(yīng)付單
和應(yīng)收單類似,應(yīng)付單單據(jù)的抽象是企業(yè)應(yīng)付賬款的直接體現(xiàn)。
應(yīng)付賬款是會計科目的一種,用以核算企業(yè)因購買材料、商品和接受勞務(wù)供應(yīng)等經(jīng)營活動應(yīng)支付的款項。
應(yīng)付賬款通常是指因購買材料、商品或接受勞務(wù)供應(yīng)等而發(fā)生的債務(wù),這是買賣雙方在購銷活動中由于取得物資與支付貨款在時間上不一致而產(chǎn)生的負(fù)債。
?2、付款單
從企業(yè)自身角度出發(fā),收款單是收取個人用戶、企業(yè)用戶或者供應(yīng)商的錢,也就是掙錢;付款單就是將企業(yè)的錢花出去給到個人用戶、企業(yè)用戶或者供應(yīng)商,也就是花錢。
付款單根據(jù)經(jīng)營對象的不同,又分為經(jīng)營性付款單和非經(jīng)營性付款單,這一節(jié)寫的是經(jīng)營性付款單,主要面向企業(yè)用戶或者供應(yīng)商,后一節(jié)單獨寫非經(jīng)營性付款單。
付款單真正付款,前期哪怕已經(jīng)被審核確認(rèn)通過,最后提交真正轉(zhuǎn)賬付款時也需要財務(wù)人員再次確認(rèn)付款信息,防止誤操作導(dǎo)致不必要損失,出問題了也可以說是業(yè)務(wù)操作問題,這就是嚴(yán)謹(jǐn)^_^。
3、應(yīng)付退款單
應(yīng)付退款單又稱應(yīng)付退貨單,主要處理公司付款后,因為各種問題導(dǎo)致公司退貨至企業(yè)用戶或者供應(yīng)商的單據(jù)。
應(yīng)付退款單的主要業(yè)務(wù)邏輯可以看做是付款單的逆向單據(jù),但是實際情況是非常復(fù)雜多變的,比如因為供應(yīng)商問題,常常導(dǎo)致公司無法拿到退款而產(chǎn)生壞賬。
4、應(yīng)付發(fā)票
和應(yīng)收發(fā)票相比,應(yīng)付發(fā)票邏輯就簡潔多了。根據(jù)個人經(jīng)驗,應(yīng)付發(fā)票經(jīng)常要和Excel、PDF、圖片等類型的文件有直接聯(lián)系,處理不好,也會加重財務(wù)人員處理票據(jù)的效率和準(zhǔn)確性。
5、應(yīng)付對賬
應(yīng)付對賬和應(yīng)收對賬類似,主要用于查漏補(bǔ)缺,對于業(yè)務(wù)邏輯極其復(fù)雜且款項很多金額很大的財務(wù)應(yīng)付單據(jù)來說,每一筆單據(jù)對賬都要非常到位才行,否則財務(wù)月結(jié)必然困難重重。
6、應(yīng)付核銷
和應(yīng)收核銷非常相似,應(yīng)付核銷單主要是由AP相關(guān)單據(jù)的核銷操作而產(chǎn)生。
7、應(yīng)付催款
應(yīng)付催款單主要是由AP相關(guān)單據(jù)的審計或?qū)~操作而產(chǎn)生,無法收回的款項就會形成壞賬,應(yīng)付催款單經(jīng)常和壞賬聯(lián)系在一起。
小結(jié):從我們熟悉的電商系統(tǒng)角度看來,財務(wù)應(yīng)付更加直面B端企業(yè)或者供應(yīng)商,更加偏重于B2B。
四、非經(jīng)營性付款
非經(jīng)營性付款仍然屬于AP應(yīng)付范疇,非經(jīng)營性可以直觀理解為不參加企業(yè)的生產(chǎn)經(jīng)營活動,不能直接地為企業(yè)創(chuàng)造價值和帶來收益,和經(jīng)營性付款有顯著區(qū)別。
1、非經(jīng)營性付款單
非經(jīng)營性付款單主要來源包括(日常、差旅和業(yè)務(wù)招待)報銷單、借款單和付款申請單,其中報銷單和借款單主要針對企業(yè)自己的雇員,所以通常和人員管理或者OA有直接聯(lián)系。
非經(jīng)營性付款單真正付款,和經(jīng)營性付款單處理流程基本一樣,不能和錢過不去,最后提交真正付款時也需要財務(wù)人員再次確認(rèn)付款信息,防止誤操作導(dǎo)致公司或個人不必要損失。
2、報銷單
3、借款單
4、付款申請單
5、工資福利發(fā)放
非經(jīng)營性付款單也是付款單的一種,需要通過支付平臺將公司的錢轉(zhuǎn)賬到用戶。
財務(wù)系統(tǒng)維護(hù)了一份人員賬戶信息,便于通過支付平臺進(jìn)行轉(zhuǎn)賬匯款操作,這樣財務(wù)平臺和支付平臺、人員管理平臺HCRM就可以實現(xiàn)互聯(lián)互通了,報銷、借款、工資福利發(fā)放等功能實現(xiàn)易如反掌。
五、簡易工作流
1、流程設(shè)計
財務(wù)平臺像OA系統(tǒng)一樣,經(jīng)常有需要將單據(jù)做各種業(yè)務(wù)流程控制,比如單據(jù)審批、對賬、核銷等操作,這就涉及到工作流的設(shè)計和實現(xiàn),工作流是獨立的基礎(chǔ)框架軟件,不是本文重點,僅作參考。
PowerDotNet設(shè)計實現(xiàn)的財務(wù)簡易工作流主要有流程模板、流程規(guī)則、流程實例、流程節(jié)點(步驟)、流程節(jié)點日志共5張表,配合HCRM,支持單據(jù)撤銷、通過、駁回、退回到某步驟這幾種常見處理。
2、流程模板
財務(wù)簡易工作流主要包括兩大類流程模板,即應(yīng)收流程審核模板和應(yīng)付流程審核模板,業(yè)務(wù)處理狀態(tài)僅包括撤銷、通過、駁回、退回到某步驟四種,功能雖然不太全,但是一般財務(wù)業(yè)務(wù)單據(jù)基本夠用。
應(yīng)收流程審核模板,處理步驟相對較少,通常創(chuàng)建好應(yīng)收單,普通財務(wù)人員審核即可,一般不需要財務(wù)總監(jiān)或者更高級別人員審核,有些應(yīng)收單據(jù)甚至在程序自動簡單校對后可根據(jù)定時任務(wù)自動審核。
應(yīng)付流程審核模板,相比應(yīng)收流程,應(yīng)付流程往往更加嚴(yán)格,步驟也多,除了普通財務(wù)人員,往往需要總監(jiān)或更高級別人員二次或三次審核,畢竟應(yīng)付是要公司大筆花錢出去,出了問題后果很難承受。
3、流程處理
目前實現(xiàn)的財務(wù)簡易工作流,支持應(yīng)收和應(yīng)付常見單據(jù)處理流程,但是內(nèi)部還是有不少和人員相關(guān)的業(yè)務(wù)邏輯判斷處理,和HCRM耦合較深,狀態(tài)判斷也不夠靈活,這是財務(wù)簡易工作流不足的地方。
工作流規(guī)則是不怎么會變化的,但變化又是確實存在的,比如付款單審核用到的付款額度規(guī)則,可能超過N萬就要總監(jiān)審批,N就會根據(jù)需要調(diào)整,這種就容易出現(xiàn)歷史單據(jù)和當(dāng)前配置規(guī)則處理不一致。
解決的方法也很簡單,每次創(chuàng)建流程實例,將當(dāng)前流程規(guī)則自動生成實例規(guī)則,實例僅和實例規(guī)則匹配,這樣就達(dá)到歷史數(shù)據(jù)就按照歷史規(guī)則進(jìn)行處理,新流程數(shù)據(jù)按照新規(guī)則進(jìn)行業(yè)務(wù)處理的目的。
財務(wù)簡易工作流已支持業(yè)務(wù)人員審核、財務(wù)專員審核和財務(wù)總監(jiān)審核,但是單據(jù)審核和工作流處理緊密相連不好移植,很難獨立出通用的財務(wù)工作流抽象,這是我不推薦這個簡易工作流的主要原因。
六、庫存單據(jù)
庫存單據(jù)管理主要包括庫存入庫、庫存出庫和庫存盤點等,其中入庫類型又可分為采購入庫、調(diào)撥入庫、移倉入庫、銷售退貨等,出庫類型可分為銷售出庫、調(diào)撥出庫、移倉出庫、采購?fù)素浀葞追N類型。
庫存通常都在WMS或進(jìn)銷存系統(tǒng)中管理,為了解耦,財務(wù)系統(tǒng)理論上是不需要單獨存儲庫存單據(jù)的。但根據(jù)經(jīng)驗,財務(wù)單據(jù)經(jīng)常要查詢庫存業(yè)務(wù)數(shù)據(jù),可以根據(jù)業(yè)務(wù)需要將固化的庫存數(shù)據(jù)寫入財務(wù)。
庫存系統(tǒng)中數(shù)據(jù)量較大或者經(jīng)常變動的數(shù)據(jù),比如庫存流水、庫存快照等,不建議存儲在財務(wù)系統(tǒng)中,WMS和財務(wù)的庫存單據(jù)我都親自開發(fā)過,也算是見多識廣了,咩哈哈。
作為資深且涉獵廣泛的程序員,對于庫存和秒殺這樣的有較高技術(shù)挑戰(zhàn)的公共服務(wù)型系統(tǒng),如果沒有親自開發(fā)過不能不算一種遺憾。
通常介紹到這里你就知道我可能要在某個有空的時候?qū)憣憥齑嫦到y(tǒng)了,是的,幾年前我確實為庫存系統(tǒng)搬過磚,本人就是這樣全面,但是說實話庫存系統(tǒng)通用性比支付財務(wù)CRM等系統(tǒng)差遠(yuǎn)了,咩哈哈。
1、庫存入庫
2、庫存出庫
庫存入庫和出庫涉及到每筆庫存的流水,財務(wù)平臺也有詳細(xì)的流水記錄可供查看。
七、財務(wù)報表
財務(wù)報表是財務(wù)系統(tǒng)必不可少的也是開發(fā)人員繞不開的一個重要功能模塊,大公司里往往會產(chǎn)生各種財務(wù)報表,兼有各種酷炫展示,通常開發(fā)工作量非常大且枯燥。
常見報表需要支持餅圖、柱狀圖、折線圖等,報表可視化通常需要開發(fā)后端報表元數(shù)據(jù)管理模塊,也需要前端和客戶端技術(shù)支持,當(dāng)然這不是本文重點,順帶一提。
報表需求的一個常見情形是很多中小公司跟風(fēng)搞大數(shù)據(jù),強(qiáng)擼“低代碼平臺”,連接各個系統(tǒng)數(shù)據(jù)庫,拼接sql,不好查詢的就跨庫硬查,放在前端用漂亮的圖表顯示出來,或者再投到大屏上,很高級的樣子。
報表這種對查看使用的人友好,必然對開發(fā)維護(hù)的人不友好。個人經(jīng)歷的業(yè)務(wù)系統(tǒng)報表需求,尤其是支付財務(wù)方面的報表,簡直可以直接寫一個“你沒見過的爛代碼”系列。
PowerDotNet實現(xiàn)的財務(wù)平臺對報表開發(fā)進(jìn)行了歸類分析和總結(jié),根據(jù)數(shù)據(jù)特征分組,我們通常可以將數(shù)據(jù)分為結(jié)構(gòu)化數(shù)據(jù)、半結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù)三種。
結(jié)構(gòu)化數(shù)據(jù):一般是指可以使用關(guān)系型數(shù)據(jù)庫表示和存儲,可以用二維表來邏輯表達(dá)實現(xiàn)的數(shù)據(jù)。
半結(jié)構(gòu)化數(shù)據(jù):是結(jié)構(gòu)化數(shù)據(jù)的一種形式,它并不符合關(guān)系型數(shù)據(jù)庫或其他數(shù)據(jù)表的形式關(guān)聯(lián)起來的數(shù)據(jù)模型結(jié)構(gòu),但包含相關(guān)標(biāo)記,用來分隔語義元素以及對記錄和字段進(jìn)行分層,數(shù)據(jù)的結(jié)構(gòu)和內(nèi)容混在一起,沒有明顯的區(qū)分,因此它也被稱為自描述的結(jié)構(gòu),簡單的說半結(jié)構(gòu)化數(shù)據(jù)就是介于完全結(jié)構(gòu)化數(shù)據(jù)和完全無結(jié)構(gòu)的數(shù)據(jù)之間的數(shù)據(jù)。例如:HTML、Markdown、JSON、XML和一些NoSQL數(shù)據(jù)庫等就屬于半結(jié)構(gòu)化數(shù)據(jù)。
非結(jié)構(gòu)化數(shù)據(jù):顧名思義,就是沒有固定結(jié)構(gòu)的數(shù)據(jù)。
非結(jié)構(gòu)化數(shù)據(jù)包括所有格式的辦公文檔、文本、圖片、多媒體文件等都屬于非結(jié)構(gòu)化數(shù)據(jù)。對于這類數(shù)據(jù),我們一般直接整體進(jìn)行存儲,而且一般存儲為二進(jìn)制的數(shù)據(jù)格式。
PowerDotNet財務(wù)系統(tǒng)的報表開發(fā),主要支持結(jié)構(gòu)化數(shù)據(jù),對于非結(jié)構(gòu)化或半結(jié)構(gòu)化數(shù)據(jù),要么間接轉(zhuǎn)為結(jié)構(gòu)化數(shù)據(jù),要么放在大數(shù)據(jù)平臺/ETL進(jìn)行處理,不建議直接在關(guān)系型數(shù)據(jù)庫上設(shè)計XML或者JSON格式的字段,哪怕關(guān)系型數(shù)據(jù)早就支持這些字段類型。
PowerDotNet實現(xiàn)的財務(wù)平臺根據(jù)日常報表需求抽象提取出了常用的導(dǎo)入導(dǎo)出模板,日常報表導(dǎo)入和導(dǎo)出功能通常只需要配置下模板一行代碼即可搞定。
PowerDotNet實現(xiàn)的財務(wù)平臺支持應(yīng)收、應(yīng)付、發(fā)票、對賬、轉(zhuǎn)賬、非經(jīng)營性付款、NC管理等主要模塊的常見報表功能,也開發(fā)了一個便于開發(fā)人員拉取數(shù)據(jù)的萬能自定義報表功能。
1、簡單報表
PowerDotNet開發(fā)的財務(wù)平臺,對于常見的財務(wù)單據(jù),都開發(fā)出了導(dǎo)出Excel功能,滿足絕大多數(shù)財務(wù)基本需求。
2、復(fù)雜報表
在財務(wù)報表模塊我是經(jīng)常碰到洋洋灑灑幾百上千行十幾二十個表join連接查詢的SQL,子查詢嵌套子查詢是常態(tài),跨庫查詢也不在話下。PowerDotNet會全力拒絕出現(xiàn)這種難以維護(hù)的SQL出現(xiàn)。
雖然報表開發(fā)通常都很復(fù)雜,但作為一名3000多行復(fù)雜SQL語句曾經(jīng)的直接受害者,個人強(qiáng)烈建議SQL Boy要向CRUD Boy轉(zhuǎn)變,思路換一下,程序的可維護(hù)性、可擴(kuò)展性甚至靈活性都大大加強(qiáng)。
對于復(fù)雜報表,PowerDotNet有三種處理方式。
第一種是實時join連表查詢,相對而言sql也不怎么復(fù)雜,對于數(shù)據(jù)量不大的單據(jù),這種就能快速解決問題。
第二種是借助PowerDotNet的數(shù)據(jù)同步平臺和定時任務(wù)平臺,將報表數(shù)據(jù)結(jié)轉(zhuǎn)到一張表或幾張表,非實時的財務(wù)報表的生成和查詢邏輯可以大大簡化。
第三種是針對財務(wù)系統(tǒng)單獨創(chuàng)建報表數(shù)據(jù)庫ReportDB,通過數(shù)據(jù)庫的同步功能或借助PowerDotNet的數(shù)據(jù)同步平臺和定時任務(wù)平臺,專門生成報表,和第二種唯一區(qū)別是新增一個報表數(shù)據(jù)庫。
根據(jù)個人經(jīng)驗,對于復(fù)雜報表,尤其是涉及到多系統(tǒng)的數(shù)據(jù)查詢,定時生成寬表(大表)幾乎不可避免的,否則報表查詢的SQL將會是開發(fā)者和維護(hù)者的噩夢。
3、萬能報表
稍微懂點財務(wù)和技術(shù)的業(yè)務(wù)人員對SQL總有一種執(zhí)念,所以還是需要暴露萬能報表功能給業(yè)務(wù)以備不時之需。你要說這樣玩不安全,當(dāng)業(yè)務(wù)系統(tǒng)和數(shù)據(jù)庫系統(tǒng)權(quán)限控制是吃素的?
八、NC管理
個人開發(fā)業(yè)務(wù)系統(tǒng)曾經(jīng)對接過用友NC和金蝶EAS,也對接過SAP,對這三種財務(wù)軟件相對有點了解,本文以比較熟悉的用友NC舉例。
1、NC基礎(chǔ)
NC基礎(chǔ)和財務(wù)基礎(chǔ)一樣,導(dǎo)入NC必備,雖然沒什么技術(shù)含量但是需要好好開發(fā)管理起來,否則各種基礎(chǔ)數(shù)據(jù)問題很容易導(dǎo)致混亂。
2、NC應(yīng)付
3、NC付款
4、已導(dǎo)入NC單據(jù)
為了防止重復(fù)導(dǎo)入,需要加一層已導(dǎo)入NC單據(jù),主要的應(yīng)收和應(yīng)付財務(wù)單據(jù)表都設(shè)計一個是否導(dǎo)入NC字段就沒有必要了,當(dāng)然多一個冗余字段也沒有任何問題。
相比金蝶的EAS,導(dǎo)入NC需要二次開發(fā)很多東西,但是NC財務(wù)功能也更強(qiáng)大更完善。
5、定時導(dǎo)入NC
有了PowerDotNet定時任務(wù)調(diào)度平臺Power.TaskSchedule和服務(wù)治理平臺,只需要在財務(wù)系統(tǒng)開發(fā)Job接口,在定時任務(wù)調(diào)度平臺點點按鈕配置即可。
通常支付和財務(wù)都有很多定時任務(wù),我個人傾向于把支付和財務(wù)分在不同分片單獨進(jìn)行處理,當(dāng)然如果對性能相對沒有要求,也可以把它們放在一個分片處理。
九、支付管理
支付和財務(wù)聯(lián)系實在是太緊密了。
在支付平臺里我們已經(jīng)介紹過,為了將財務(wù)和支付完全解耦,讓財務(wù)平臺專注于財務(wù)方面的事情,支付平臺專注于支付方面的事情,比如對賬功能,財務(wù)平臺可以直接調(diào)用支付平臺接口。
當(dāng)然根據(jù)個人開發(fā)經(jīng)驗,財務(wù)系統(tǒng)經(jīng)常需要排查支付相關(guān)問題,為了在財務(wù)平臺更好的排查支付或退款等問題,這里列出財務(wù)平臺對支付功能的補(bǔ)充。
1、轉(zhuǎn)賬回調(diào)
每一筆轉(zhuǎn)賬匯款都有回調(diào)數(shù)據(jù)由支付平臺通知到財務(wù)平臺,兩個平臺雖然有數(shù)據(jù)冗余,卻極大地提高了高頻數(shù)據(jù)查詢效率。
2、支付工具
有些應(yīng)急單據(jù)可以直接在財務(wù)平臺后臺頁面快速查詢或者處理退款等操作,也可以按部就班,商戶創(chuàng)建退款單,財務(wù)平臺審核,支付平臺發(fā)起真實退款,按照業(yè)務(wù)需求模型來完成邏輯。
對于多商戶系統(tǒng),財務(wù)平臺支付工具的開發(fā)非常有利于解決各種各樣的支付或退款問題,這是多年開發(fā)經(jīng)驗實踐而得出來的結(jié)論。
十、稅控管理
1、稅控盤
稅控盤是一種專用的稅控裝置,按照國家稅務(wù)總局的“稅控盤技術(shù)規(guī)范”進(jìn)行研制。
金稅盤和稅控盤都可以用于開具增值稅專用發(fā)票和增值稅普通發(fā)票,也能開具貨運(yùn)專票和機(jī)動車發(fā)票。
個人開發(fā)財務(wù)系統(tǒng)使用過百旺稅控盤,了解膚淺,不求甚解,小記一下,咩哈哈。
2、稅控發(fā)票
稅控發(fā)票主要包括開票設(shè)置、開票、發(fā)票作廢、發(fā)票打印、發(fā)票上傳等核心功能。
這一塊需要實際開發(fā)財務(wù)頁面才能理解,我的印象中百旺稅控盤用到了古老的ActiveX技術(shù),有瀏覽器兼容問題,好像IE兼容最好,有些國產(chǎn)瀏覽器也能正常使用。
十一、財務(wù)回調(diào)
?和支付平臺類似,財務(wù)系統(tǒng)里也有大量的回調(diào)和補(bǔ)償操作,定時任務(wù)調(diào)度平臺Power.TaskSchedule真是功不可沒。
回調(diào)通知必須做好接口串行化和業(yè)務(wù)數(shù)據(jù)冪等性處理,防止高并發(fā)情況下導(dǎo)致的單據(jù)重復(fù)創(chuàng)建。
1、業(yè)務(wù)系統(tǒng)回調(diào)財務(wù)平臺
典型的如訂單系統(tǒng)(各個商戶)、支付平臺、門店系統(tǒng)、結(jié)算系統(tǒng)等通過財務(wù)平臺接口創(chuàng)建財務(wù)單據(jù),完成互聯(lián)互通。
2、財務(wù)平臺回調(diào)業(yè)務(wù)系統(tǒng)
主要功能就是在財務(wù)平臺完成單據(jù)業(yè)務(wù)邏輯后通知各個業(yè)務(wù)系統(tǒng)財務(wù)處理結(jié)果。
正是因為支付、財務(wù)、訂單等系統(tǒng)的回調(diào)非常頻繁,借助服務(wù)治理平臺,PowerDotNet的回調(diào)可以大大簡化,完全可以抽象成一個獨立系統(tǒng)或應(yīng)用專門處理回調(diào)通知邏輯,減少各個系統(tǒng)的重復(fù)建設(shè)。
十二、文字識別
個人開發(fā)過的主要功能,就是基于OCR的文字識別功能,自動識別發(fā)票圖片上的發(fā)票號和財務(wù)業(yè)務(wù)單據(jù)進(jìn)行關(guān)聯(lián)處理,接著將發(fā)票圖片自動轉(zhuǎn)換為pdf文件最后上傳文件服務(wù)器。
這部分功能主要偏重于客戶端程序?qū)崿F(xiàn),當(dāng)然也做了網(wǎng)頁版自動識別補(bǔ)償程序,不過客戶端跑的非常穩(wěn)定,網(wǎng)頁版幾乎沒有用到。
十三、互操作
和支付平臺類似,財務(wù)平臺也需要調(diào)用很多二方庫三方庫甚至要通過外部SDK進(jìn)行socket通信處理(碼槍、高拍儀、自助開票機(jī)等),在稅控處理模塊還可能需要使用古老的ActiveX技術(shù)。
我們可通過regsvr32命令行注冊COM組件直接在項目中引用DLL,或者通過DllImport實現(xiàn)互操作,這些可參考支付平臺互操作一節(jié),本文不再贅述。
十四、系統(tǒng)交互
財務(wù)平臺和很多內(nèi)部業(yè)務(wù)系統(tǒng)保持互通關(guān)系,有些公司很多業(yè)務(wù)系統(tǒng)都必須圍繞財務(wù)平臺開展業(yè)務(wù)活動,不然會引發(fā)各種混亂,整理下個人開發(fā)和對接過的幾種常見互聯(lián)系統(tǒng)。
1、訂單系統(tǒng)
這里的訂單系統(tǒng)可以直接理解為支付平臺抽象出來的商戶系統(tǒng),比如電商領(lǐng)域常見的各種業(yè)務(wù)訂單、賬戶充值等,都可以抽象為商戶訂單系統(tǒng)。
PowerDotNet實現(xiàn)的財務(wù)平臺提供了所有商戶支付和退款的兜底方案,如果商戶系統(tǒng)因為業(yè)務(wù)邏輯頻繁改動而造成支付和退款業(yè)務(wù)難題,財務(wù)平臺可以代勞。
2、支付系統(tǒng)
在支付平臺里已經(jīng)對支付和財務(wù)之間的關(guān)系有詳細(xì)介紹,這里不再贅述。
3、CRM
財務(wù)系統(tǒng)和HCRM、PCRM及ECRM都有緊密聯(lián)系,不論是偏向B2C業(yè)務(wù)的應(yīng)收還是偏向B2B業(yè)務(wù)的應(yīng)付,都離不開和人打交道。
4、結(jié)算系統(tǒng)
結(jié)算系統(tǒng)我個人也親自開發(fā)過,甚至模塊劃分AR、AP、發(fā)票、對賬單這些都幾乎相同。
我個人參與開發(fā)過幾個復(fù)雜而重要的結(jié)算應(yīng)用,手頭還有源代碼,C#和Java版本的都有,但我對它們都不太滿意,甚至短期內(nèi)也沒有寫出來介紹的沖動,咩哈哈。
毋庸置疑,財務(wù)和結(jié)算聯(lián)系最緊密,很多公司都把兩者放在一個系統(tǒng)中進(jìn)行開發(fā)。
5、賬戶系統(tǒng)
賬戶系統(tǒng)可以抽象理解為一個支付商戶(特殊的訂單系統(tǒng)),賬戶的充值、提現(xiàn)、支付和退款都需要在財務(wù)系統(tǒng)中有體現(xiàn),都要有詳細(xì)的往來賬流水。
6、商品系統(tǒng)
毫無疑問,企業(yè)在正常的經(jīng)營過程中,必須有銷售商品、產(chǎn)品、提供勞務(wù)等業(yè)務(wù),訂單系統(tǒng)主要提供商品售賣服務(wù),所以商品(含虛擬商品)系統(tǒng)必然是和財務(wù)系統(tǒng)緊密聯(lián)系在一起的。
商品也是大多數(shù)企業(yè)非常重要的核心業(yè)務(wù)系統(tǒng),某些特殊場景除了商品,還要考慮輔料、原料(物料)等,商品管理系統(tǒng)的設(shè)計直接關(guān)系到采銷、財務(wù)、訂單等核心業(yè)務(wù)系統(tǒng)的復(fù)雜度。
7、庫存系統(tǒng)
如你所知,庫存系統(tǒng)主要用于管理商品庫存,主要包括商品入庫和商品出庫。
商品主要由供應(yīng)商提供,我們常見的企業(yè)進(jìn)銷存系統(tǒng)或采銷系統(tǒng)或倉儲WMS系統(tǒng)或供應(yīng)鏈系統(tǒng)等都和庫存緊密相關(guān),可以算作庫存系統(tǒng)的核心。
8、門店系統(tǒng)
門店系統(tǒng)主要經(jīng)營企業(yè)線下業(yè)務(wù),相較于線上業(yè)務(wù),線下業(yè)務(wù)模式可能遠(yuǎn)遠(yuǎn)不同于線上,但門店系統(tǒng)的經(jīng)營活動最終也會將各業(yè)務(wù)單據(jù)寫入到財務(wù)系統(tǒng)中去。
9、票券系統(tǒng)
財務(wù)系統(tǒng)記賬時可能需要記錄票券系統(tǒng)的單據(jù)號,這些單據(jù)號主要用于分析對賬和排查問題,這樣票券系統(tǒng)就和財務(wù)系統(tǒng)產(chǎn)生關(guān)系,不過這種聯(lián)系并不算非常緊密。
10、其他系統(tǒng)
其他如運(yùn)營、活動等電商業(yè)務(wù)系統(tǒng)也和財務(wù)有些聯(lián)系,根據(jù)業(yè)務(wù)需要,這些系統(tǒng)和財務(wù)都會或多或少有交互,本文就不再介紹了。
小結(jié):個人認(rèn)為開發(fā)好財務(wù)系統(tǒng),需要深厚的專業(yè)知識和技術(shù)積累,也需要高屋建瓴的抽象和洞若觀火的編碼能力,還需要不同系統(tǒng)組織和管理的支持,否則財務(wù)系統(tǒng)很可能拖泥帶水成為業(yè)務(wù)發(fā)展的瓶頸。
十五、其他
本人開發(fā)過的財務(wù)平臺的其他主要功能還包括:
1、補(bǔ)償和重試
因為財務(wù)和各個業(yè)務(wù)系統(tǒng)互聯(lián)互通非常頻繁,所以需要定時做補(bǔ)償和重試操作,和支付平臺類似,借助定時任務(wù)調(diào)度平臺,這些都是沒有難度的體力活,寫寫接口配置下補(bǔ)償和重試job即可。
2、敏感數(shù)據(jù)脫敏處理
財務(wù)敏感數(shù)據(jù)必須加密存儲,比如人員賬戶信息等必須賦予最高數(shù)據(jù)安全性。
3、數(shù)據(jù)結(jié)轉(zhuǎn)與備份
和支付平臺一樣,自從用了DataX數(shù)據(jù)同步平臺,這一塊幾乎不用寫任何代碼了,咩哈哈。
4、財務(wù)監(jiān)控
和支付平臺類似,也根據(jù)實際業(yè)務(wù)和部署情況,抽象出財務(wù)業(yè)務(wù)正常指標(biāo),按需動態(tài)配置監(jiān)控和預(yù)警參數(shù),可進(jìn)行短信、郵件、釘釘、微信等方式進(jìn)行業(yè)務(wù)告警。
對于轉(zhuǎn)賬付款等和金錢有關(guān)的操作要設(shè)置安全付款額度指標(biāo),超過額度就給相關(guān)財務(wù)人員發(fā)送預(yù)警提示。
5、財務(wù)接口安全
財務(wù)平臺所有信息敏感的(尤其是和錢、余額、積分、資金、流水等相關(guān)的)接口必須經(jīng)過嚴(yán)格的授權(quán)、鑒權(quán)、認(rèn)證(校驗token)、驗簽等操作,這些都是服務(wù)治理平臺分內(nèi)的事情。
6、成本中心
主要功能包括履單成本和運(yùn)營成本,單據(jù)實現(xiàn)和AP付款單有很多相似之處,對于公司成本控制有直接幫助。
7、商務(wù)排款
AP模塊重要功能,根據(jù)公司政策,給各采銷小組分配額度,實現(xiàn)對供應(yīng)商的有計劃的付款,主要包括財務(wù)基礎(chǔ)配置、額度管理、排款管理、稅票管理和付款管理。
8、增值業(yè)務(wù)
增值業(yè)務(wù)通常是公司主業(yè)之外的副產(chǎn)品,也就是副業(yè),某些公司的副業(yè)絕大多數(shù)不如雞肋,食之相當(dāng)無味,棄之毫不可惜,說不定等你辛苦開發(fā)完了,公司倒閉也沒用到,咩哈哈。
9、財務(wù)報帳
?偏重于企業(yè)臺賬的流程管理,主要單據(jù)包括報銷申請單、借款申請單、付款單、收款單、立項申請單等。
10、供應(yīng)鏈融資
主要抽象出借款單、還款單、利息單、費(fèi)用單等單據(jù)用于實現(xiàn)供應(yīng)鏈融資管理,對于傳統(tǒng)財務(wù)開發(fā)來說,還算有點業(yè)務(wù)上的亮點。
11、存貨核算
涉及到物料、商品、庫存等業(yè)務(wù)單據(jù)復(fù)雜的財務(wù)邏輯計算,和采銷、生產(chǎn)加工以及庫存管理密切相關(guān),可能還要和SAP等系統(tǒng)對接。
12、金融保險
此金融保險非彼金融保險,業(yè)務(wù)需求多樣隨意的結(jié)果就是命名多樣而隨意。文章來源:http://www.zghlxwxcb.cn/news/detail-709998.html
13、發(fā)票打印
發(fā)票打印模塊個人開發(fā)過的最重要的功能是打印模板的制作,以及瀏覽器插件的安裝和各種兼容問題排查,說多了都是淚,就讓這一切都隨風(fēng)去吧,咩哈哈。文章來源地址http://www.zghlxwxcb.cn/news/detail-709998.html
到了這里,關(guān)于PowerDotNet平臺化軟件架構(gòu)設(shè)計與實現(xiàn)系列(16):財務(wù)平臺的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!