計劃預(yù)算產(chǎn)品架構(gòu)設(shè)計(一):如何構(gòu)建預(yù)算控制中臺
談到中臺,或許我們會把其定義為“企業(yè)級能力的復(fù)用平臺”,若復(fù)用能力應(yīng)用于企業(yè)某個領(lǐng)域級或者某個職能級的,并不能稱作中臺。本文將從企業(yè)級的視角論述預(yù)算控制是否能夠用中臺來搭建?
作為一名在財務(wù)產(chǎn)品架構(gòu)設(shè)計領(lǐng)域摸爬滾打了10余年的老兵,今天來談?wù)勵A(yù)算控制中臺的構(gòu)建。談到中臺,我會把其定義為“企業(yè)級能力的復(fù)用平臺”,如果復(fù)用的能力僅僅是企業(yè)某個領(lǐng)域級或者某個職能級的,只能稱為復(fù)用的應(yīng)用構(gòu)件,不能稱作中臺。所以我們從企業(yè)級這一視角來衡量一下預(yù)算控制是否應(yīng)作為中臺來搭建。
“管控”是計劃預(yù)算產(chǎn)品的核心能力,提到計劃預(yù)算,即企業(yè)的全面預(yù)算,我們首先會想到幾個全字,全員、全流程、全業(yè)務(wù),作為承載了企業(yè)戰(zhàn)略和經(jīng)營計劃的預(yù)算,確實覆蓋了企業(yè)所有的業(yè)財領(lǐng)域,但是預(yù)算的目的不僅僅是為了設(shè)計一個多么全面且縝密的Plan,更是為了要在經(jīng)營過程中執(zhí)行好預(yù)算,而管控則是預(yù)算執(zhí)行中的關(guān)鍵抓手,需要管控的場景也滲透到了企業(yè)的各個業(yè)務(wù)域中,包括財務(wù)領(lǐng)域、大供應(yīng)鏈領(lǐng)域、項目領(lǐng)域等等。
下面是筆者總結(jié)的管控業(yè)務(wù)場景:
上圖中的業(yè)務(wù)執(zhí)行域首先可以從企業(yè)對公和對私支付場景劃分:
對公場景:
- 立項-采購需求申請-合同-訂單-付款,此類模型一般是通過立項來預(yù)先占用預(yù)算金額,后邊的采購需求申請、合同、訂單層層受控于項目預(yù)算,最后付款進行預(yù)算的實際執(zhí)行。
- 采購需求申請-合同-付款,此類模型適用于固定金額的合同,一般是由預(yù)算直接控制采購申請,采購申請再控制合同,最后付款進行預(yù)算的執(zhí)行。
- 采購需求申請-合同-訂單-付款,此類模型適用于非固定金額的框架合同,一般是由預(yù)算直接控制采購申請,采購申請再控制訂單,最后付款進行預(yù)算的執(zhí)行(框架合同無固定金額,因此不參與管控)。
- 費用申請-費用執(zhí)行:企業(yè)的部分支出,比如會議費、培訓(xùn)費等等,直接通過報賬付款的方式進行支出,沒有采購及合同環(huán)節(jié),此類場景由預(yù)算直接對申請或者執(zhí)行進行管控。
對私場景:
類似對公的“費用申請-費用執(zhí)行”的模式,由預(yù)算直接對申請或者執(zhí)行進行管控,比如個人的差旅費、交通費等等。
上述場景均是預(yù)算對業(yè)務(wù)執(zhí)行環(huán)節(jié)的控制,此外,預(yù)算可以直接在編制財務(wù)憑證時候?qū)χС隹颇康挠囝~進行控制,即把核算記賬環(huán)節(jié)作為支出環(huán)節(jié),對核算進行管控,當(dāng)然這一模式在當(dāng)今企業(yè)數(shù)字化業(yè)財融合的轉(zhuǎn)型中,應(yīng)用已經(jīng)越來越少了。
從上述企業(yè)支出鏈路的場景分析看,每條鏈路上都有前序業(yè)務(wù)環(huán)節(jié)對后續(xù)業(yè)務(wù)環(huán)節(jié)的管控需求,也許并不都是以預(yù)算額度作為管控,但肯定都是以預(yù)算作為管控起點,在預(yù)占預(yù)算的業(yè)務(wù)環(huán)節(jié)向后續(xù)環(huán)節(jié)進行層層控制。因此預(yù)算控制完全可以作為一個企業(yè)級的能力復(fù)用平臺,即“預(yù)算控制中臺”。下面具體談?wù)勥@個中臺如何進行建模。
首先談一下建立預(yù)算控制中臺我們要遵循的幾個基本原則:
- 獨立性。一個中臺需要能夠獨立運行,不需要依賴于任何其他的業(yè)務(wù)域組件,即它的代碼和數(shù)據(jù)庫都是獨立運行的(數(shù)據(jù)庫獨立是指其他有獨立的數(shù)據(jù)結(jié)構(gòu)),通過接口與其他業(yè)務(wù)域做交互,實現(xiàn)業(yè)務(wù)解耦。
- 以服務(wù)的方式對外提供訪問和接入。這一原則與獨立性原則是相輔相成的,控制中臺與各類異構(gòu)預(yù)算系統(tǒng)、執(zhí)行系統(tǒng)均有交互,均通過功能服務(wù)接口來完成,如沒有特殊情況,并不提供用戶級的業(yè)務(wù)操作界面。
- 僅提供控制服務(wù),即僅提供涉及各類控制場景的公共管控能力,不摻雜業(yè)務(wù)域的個性化、場景化的需求處理。這一點看似容易界定,但是在實現(xiàn)過程中往往會被忽略。一般體現(xiàn)在會把預(yù)算系統(tǒng)或者執(zhí)行系統(tǒng)的業(yè)務(wù)邏輯加持到控制中臺來實現(xiàn),最終影響了中臺的穩(wěn)定性和獨立性。
本著上述三個原則,我們開始預(yù)算控制中臺的架構(gòu)設(shè)計。
從前面章節(jié)的需求場景分析中,我們可以梳理出預(yù)算控制的下列關(guān)鍵需求:
- 預(yù)算控制執(zhí)行,預(yù)算有全面預(yù)算、項目預(yù)算、費用預(yù)算等等,執(zhí)行有供應(yīng)鏈系統(tǒng)、有合同系統(tǒng)、有報賬系統(tǒng)、有核算系統(tǒng)等等,所以作為中臺首先要能發(fā)現(xiàn)這些預(yù)算系統(tǒng)和執(zhí)行系統(tǒng),如何發(fā)現(xiàn),就要有注冊機制,各類異構(gòu)的預(yù)算系統(tǒng)和執(zhí)行系統(tǒng)能夠注冊到控制中臺。
- 預(yù)算要能控制執(zhí)行系統(tǒng),都需要有控制口徑,比如按照項目+科目進行控制,或者按照科目+費用明細(xì)進行控制,要達(dá)成這個控制口徑,就要拉通預(yù)算域和執(zhí)行域的不同管理維度的一致性。舉例來說,預(yù)算域的預(yù)算科目和執(zhí)行域的費用科目如何映射一致,預(yù)算域的預(yù)算項目與執(zhí)行域的執(zhí)行項目如何匹配,需要控制中臺提供雙方管理口徑的映射機制。
- 控制規(guī)則。剛性控制、柔性控制、預(yù)警百分比的管理等等需要在控制中臺能夠設(shè)定。
- 控制時機。一般分為預(yù)先占用、預(yù)算執(zhí)行兩個環(huán)節(jié)。申請環(huán)節(jié)進行預(yù)算占用、付款環(huán)節(jié)進行預(yù)算執(zhí)行。
- 層層控制。前面章節(jié)的控制場景中最長的控制鏈路為“預(yù)算-立項-采購申請-合同-訂單-付款”,隨著企業(yè)數(shù)字化進程的加速,一筆業(yè)務(wù)從業(yè)務(wù)端的發(fā)起到財務(wù)端的資金支付,勢必是一個橫跨企業(yè)各個管理領(lǐng)域的價值鏈的呈現(xiàn),所以這就要求控制中臺具備多環(huán)節(jié)上下游預(yù)算額度轉(zhuǎn)移的能力。
基于上述預(yù)算控制的要點梳理,預(yù)算控制中臺的應(yīng)用架構(gòu)設(shè)計如下圖:
1、預(yù)算系統(tǒng)注冊中心:各類預(yù)算系統(tǒng)通過“預(yù)算系統(tǒng)注冊接口”注冊到預(yù)算控制中臺,包括預(yù)算系統(tǒng)對象以及預(yù)算系統(tǒng)的編制口徑字段。
2、執(zhí)行系統(tǒng)注冊中心:各類執(zhí)行系統(tǒng)通過“預(yù)算執(zhí)行系統(tǒng)注冊接口”注冊到預(yù)算控制中臺,包括執(zhí)行系統(tǒng)對象以及執(zhí)行系統(tǒng)中各類交易單據(jù)的對象。
3、映射中心:
(1)預(yù)算系統(tǒng)對象管理:對預(yù)算系統(tǒng)的各個編制口徑的字段進行編碼、名稱、類型等基礎(chǔ)屬性的管理。
(2)執(zhí)行系統(tǒng)對象管理:對執(zhí)行各個交易單據(jù)對象以及對象的相關(guān)屬性進行管理。
(3)預(yù)算與執(zhí)行元數(shù)據(jù)映射:預(yù)算系統(tǒng)的編制口徑與執(zhí)行系統(tǒng)對象的屬性進行對應(yīng)關(guān)系管理。
(4)預(yù)算與執(zhí)行元數(shù)據(jù)明細(xì)條目映射:預(yù)算系統(tǒng)的編制口徑與執(zhí)行系統(tǒng)對象的屬性間進行具體明細(xì)條目的映射。以預(yù)算科目和費用科目為例,預(yù)算科目與費用科目進行一對一、一對多等多種關(guān)系的映射。
4、控制規(guī)則中心:
(1)控制策略設(shè)置:包括剛性、柔性、累計/不累計、預(yù)警等策略設(shè)置。
(2)控制時機設(shè)置:一般會支持預(yù)先占用、預(yù)算執(zhí)行兩個時機的設(shè)置。
(3)控制鏈路設(shè)置:控制對象和受控對象的設(shè)置。以“預(yù)算-立項-采購申請-訂單-付款”為例,預(yù)算對立項的控制,受控對象為立項(控制對象默認(rèn)為預(yù)算);立項控制采購申請,控制對象為立項單據(jù),受控對象為采購申請,依次類推。
5、預(yù)算執(zhí)行數(shù)據(jù)中心:
(1)預(yù)算數(shù)據(jù)管理: 用于存儲和管理各類預(yù)算系統(tǒng)的預(yù)算明細(xì)數(shù)據(jù),細(xì)化到預(yù)算編制口徑。
(2)執(zhí)行數(shù)據(jù)管理:用于存儲和管理各類執(zhí)行系統(tǒng)的明細(xì)執(zhí)行數(shù)據(jù),細(xì)化到每一筆交易單據(jù)。(3)預(yù)算執(zhí)行臺賬:以臺賬方式呈現(xiàn)上游環(huán)節(jié)預(yù)算額度與下游執(zhí)行環(huán)節(jié)執(zhí)行明細(xì)數(shù)據(jù)的對比情況,可以查看執(zhí)行比率,以及鉆取執(zhí)行的明細(xì)。
6、服務(wù)接口:
預(yù)算控制中臺提供了五個服務(wù)接口:
(1)預(yù)算系統(tǒng)注冊接口:用于異構(gòu)預(yù)算系統(tǒng)的注冊,包括預(yù)算系統(tǒng)對象以及編制口徑等信息的注冊。
(2)執(zhí)行系統(tǒng)注冊接口:用于異構(gòu)執(zhí)行系統(tǒng)的注冊,包括執(zhí)行系統(tǒng)對象以及交易信息的注冊。(3)預(yù)算數(shù)據(jù)接入接口:用于異構(gòu)系統(tǒng)將預(yù)算數(shù)據(jù)推送到控制中臺,作為控制的預(yù)算數(shù)據(jù)。
(4)執(zhí)行數(shù)據(jù)接入接口:用于異構(gòu)系統(tǒng)將執(zhí)行系統(tǒng)推送到控制中臺,作為執(zhí)行的依據(jù)。
(5)預(yù)算執(zhí)行管控接口:各類交易單據(jù)在執(zhí)行系統(tǒng)進行預(yù)算占用、預(yù)算執(zhí)行時可以將交易單據(jù)對象以及交易金額、日期等關(guān)鍵信息實時通過接口傳給控制中臺,由控制中臺根據(jù)控制策略和控制鏈路判斷上游環(huán)節(jié)是否有充足預(yù)算,進而控制交易對象是否可以占用或者執(zhí)行預(yù)算。
通過前面幾個章節(jié)的總結(jié),我們看到預(yù)算控制中臺作為企業(yè)級的管控能力復(fù)用平臺,在企業(yè)業(yè)務(wù)價值鏈過程中發(fā)揮著核心樞紐作用。預(yù)算控制中臺化后,也可將其整合到任一業(yè)務(wù)系統(tǒng)中進行不同交易鏈路間的控制。隨著企業(yè)數(shù)智化進程的加快,預(yù)算控制中臺逐漸會沉淀為其基礎(chǔ)能力,為上層業(yè)務(wù)多環(huán)節(jié)的管控賦能。
當(dāng)然筆者在本篇文章中只是概要的闡述了預(yù)算控制中臺的業(yè)務(wù)場景和架構(gòu)設(shè)計,待落實到企業(yè)應(yīng)用的具體業(yè)務(wù)中,還有很多場景需要在中臺的架構(gòu)層面不斷打磨、完善和迭代。也希望對此專題感興趣的朋友我們一起探討,一起思考,一起提升認(rèn)知。
作者:蔡海生,十余年企業(yè)管理信息系統(tǒng)架構(gòu)及產(chǎn)品經(jīng)驗;微信公眾號:數(shù)說B端
本文由 @數(shù)說B端 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載
題圖來自 Unsplash,基于 CC0 協(xié)議
該文觀點僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺僅提供信息存儲空間服務(wù)。
歡迎朋友加微信hisen14185424一起聊產(chǎn)品,聊架構(gòu)。