支付清結(jié)算之賬戶和賬務(wù)處理
這是清結(jié)算系列的第四篇文章,本文重點介紹清結(jié)算中的賬戶和賬務(wù)的處理。 請務(wù)必閱讀這幾篇文章以便理解這里的流程。
一、賬戶體系
在設(shè)計清結(jié)算系統(tǒng)前,首先需要完成賬戶體系的梳理。 賬戶是用來記錄會計科目所反映的業(yè)務(wù)內(nèi)容的工具,它根據(jù)會計科目來開設(shè)的。 賬戶有多種維度的分類。 按照經(jīng)濟內(nèi)容來說,賬戶分為資產(chǎn)類賬戶、負(fù)債類賬戶、所有者權(quán)益類賬戶、損益類賬戶、成本類賬戶和共同類賬戶。 按照會計周期內(nèi)期末是否有余額,也分為實賬戶和虛賬戶。
1. 資產(chǎn)類賬戶
用來反映資產(chǎn)增加、減少以及增減變動結(jié)果的賬戶。和支付系統(tǒng)相關(guān)的主要資產(chǎn)類賬戶有: 銀行存款、應(yīng)收賬款、預(yù)付賬款、庫存商品、發(fā)出商品等。 資產(chǎn)增加登記在借方,減少登記在貸方,期末有余額的話,一般出現(xiàn)在借方。 在一個會計期間,所有借方金額的累加為“借方本期發(fā)生額”,所有貸方金額的累加為“貸方本期發(fā)生額”。
資產(chǎn)賬戶的余額=借方期初余額+借方本期發(fā)生額-貸方本期發(fā)生額。
為了跟蹤在每個銀行的存款變更情況, 需要對公司在各個銀行開通的收款賬戶設(shè)置對應(yīng)的銀行存款賬戶、應(yīng)收賬款賬戶。在小明購買會員卡的案例中,資產(chǎn)類賬戶包括:
- 銀行存款,這是一個總賬賬戶,記錄電商公司在各個銀行的總存款。
- 應(yīng)收賬款,這是一個總賬賬戶,記錄在銀行的應(yīng)收賬款,這是虛賬戶,期末無余額。
- 銀行存款-工行,這是一個明細賬戶,對應(yīng)在工行的對公賬戶的存款變化;
- 應(yīng)收賬款-工行,這是一個明細賬戶,記錄在工行的收款情況,這是虛賬戶,期末無余額。
2. 負(fù)債類賬戶
負(fù)債類賬戶也是實賬戶,記賬規(guī)則跟資產(chǎn)類相反,負(fù)債增加記為貸,負(fù)債減少記為借,期末如有余額,一般在貸方,表明期末有債務(wù)實有額,負(fù)債類賬戶的余額計算:
貸方期末余額=貸方期初余額+貸方本期發(fā)生額-借方本期發(fā)生額
從支付系統(tǒng)的角度, 電商公司的自有賬戶,包括針對個人的賬戶和針對商戶的賬戶,一般放在負(fù)債類賬戶下,此外,應(yīng)付賬款、預(yù)收賬款、應(yīng)交稅費等,也是負(fù)債類賬戶。
3. 所有者權(quán)益類賬戶
所有者權(quán)益類賬戶用來反映所有者權(quán)益增加、減少和變動結(jié)果的賬戶, 記賬規(guī)則跟負(fù)債類賬戶一致:所有者權(quán)益增加記為貸,減少記為借。和支付系統(tǒng)有關(guān)的所權(quán)賬戶包括 本年利潤、利潤分配等賬戶。 企業(yè)取得的收入最終會使得所有者權(quán)益增加,因此收入類賬戶的記賬方法跟所有者權(quán)益一致:增加記為貸,減少或者轉(zhuǎn)銷記為借,通常該賬戶期末無余額(因為期末收入都會轉(zhuǎn)為所有者權(quán)益,如未分配利潤等),屬于虛賬戶。
4. 損益類賬戶
損益類賬戶分為收入類和費用類賬戶。
收入類賬戶指各種收入、補貼、投資收益,如主營業(yè)務(wù)收入、其他業(yè)務(wù)收入和營業(yè)外收入等,增加記為貸,減少記為借。
企業(yè)在日常經(jīng)營活動中會發(fā)生各種各樣的耗費,這些耗費在會計學(xué)上稱為成本費用,它們是收入的抵減項目,在抵銷收入之前,可以視為一種資產(chǎn),因此成本費用類賬戶的記賬規(guī)則跟資產(chǎn)類一樣:增加記為借,減少或者轉(zhuǎn)銷記為貸。費用類賬戶包括:主營業(yè)務(wù)成本、其他業(yè)務(wù)成本、營銷費用等。
按照企業(yè)會計制度的規(guī)定,損益類賬戶的科目余額,應(yīng)該結(jié)轉(zhuǎn)入利潤分配科目,期末余額為零,為虛賬戶。
在本案例中,損益類賬戶包括:
- 主營業(yè)務(wù)收入,這是總分類賬戶。
- 主營業(yè)務(wù)收入-會員卡,針對會員卡業(yè)務(wù)的收入。
- 營銷費用,這是總分類賬戶。
- 營銷費用-優(yōu)惠券,用來跟蹤優(yōu)惠券相關(guān)的支出。
- 渠道費用,這是總分類賬戶。
- 渠道費用-工行: 用來跟蹤在工行的渠道費用支出。
5. 成本類賬戶
有成本核算的企業(yè)需要設(shè)立的賬戶,包括生產(chǎn)成本、勞務(wù)成本等,本文暫不涉及。
6. 共同類賬戶
這是反映特殊經(jīng)濟業(yè)務(wù)的賬戶, 本文暫不涉及。
7. 賬戶體系
二、賬戶結(jié)構(gòu)
如前述文章介紹,我們采用復(fù)式借貸記賬法。對于分戶賬,或者說明細賬,如下示例:
在這個實例中, 賬戶中賬務(wù)相關(guān)的結(jié)構(gòu)包括:
- 賬戶名稱:如上述的“應(yīng)收賬款-工行收款”
- 會計分錄: 除了登記借方金額、貸方金額,還需更新賬戶余額
- 期末借方余額、期末貸方余額、期末余額:按期定時計算。在日切時,計算日發(fā)生額和余額。在按月、季度和年作為會計周期時也采用類似的方法處理。 除了日切是必須的,其它時間段的處理是根據(jù)財務(wù)需要來實現(xiàn)。
在實現(xiàn)上,賬戶的各個屬性更新時間并不一致,所以在設(shè)計賬戶表的時候,可以按照更新時機來劃分表。
參考 賬戶設(shè)計 一文, 總的來說,賬戶的結(jié)構(gòu)如下圖所示,包括基本信息、關(guān)聯(lián)實體、權(quán)限控制、余額和賬務(wù)相關(guān)信息。
在存儲上,賬務(wù)相關(guān)信息一般是和賬戶其他信息相互獨立處理,處理賬務(wù)相關(guān)信息的子系統(tǒng)被稱為賬務(wù)子系統(tǒng)或者記賬子系統(tǒng)。
三、支付流程
接著之前的小明購買會員卡的案例,不考慮優(yōu)惠券和卡采購的情況,會計分錄:
在線上的實時處理流程如下:
- 用戶購買會員卡,提交訂單,會員卡向訂單系統(tǒng)請求生成訂單,訂單系統(tǒng)向支付系統(tǒng)發(fā)出支付請求;
- 支付系統(tǒng)生成支付記錄,并向銀行發(fā)出請求;
- 銀行實時從小明的銀行卡賬戶上扣款100元,通知支付系統(tǒng)小明支付成功;
- 支付系統(tǒng)賬務(wù)子系統(tǒng)在自己的賬戶體系中記錄小明的這一筆消費支出,給會員卡業(yè)務(wù)賬戶增加對應(yīng)的資金,通知會員卡系統(tǒng)發(fā)送卡給小明。
- 支付系統(tǒng)發(fā)送消息異步通知會計系統(tǒng)進行記賬。
這5個步驟都是線上的流程,在此過程中,各個子系統(tǒng)之間的交互如下圖所示。 我們逐步分析這里涉及到的對象。
四、支付訂單
這個流程中,首先生成的是支付訂單。這是一個比較簡單的訂單,僅涉及到一個商家和一個商品。 在比較復(fù)雜的電商場景中,一個訂單會涉及到多個商家、多種商品以及對應(yīng)的優(yōu)惠活動。也就是,一個總訂單會被拆分為多個子訂單。這部分內(nèi)容將在后續(xù)的訂單系統(tǒng)設(shè)計一文中詳細介紹。 而訂單中和資金相關(guān)的內(nèi)容,都需要在賬戶體系中建立對應(yīng)的科目和賬戶。在請求支付時,只會將總訂單提交支付,拆分子訂單是在訂單系統(tǒng)中完成的。
針對上述場景,為了簡化處理,假定老熊公司當(dāng)天總共完成了三筆會員卡交易,支付訂單如下:
五、支付記錄
在這個流程中,訂單系統(tǒng)向支付系統(tǒng)請求支付時,支付系統(tǒng)將產(chǎn)生支付記錄(支付訂單)。 支付記錄內(nèi)容比較多,這些數(shù)據(jù)是后續(xù)進行記賬的基礎(chǔ)。
針對本案例,產(chǎn)生的支付記錄的主要字段:
這里需要注意的幾個屬性:
- 訂單號: 這是總訂單號。支付系統(tǒng)不再對訂單進行拆分。 訂單拆分是訂單系統(tǒng)的功能。
- 支付流水號:在支付記錄中,針對每個(總)訂單號,會有對應(yīng)的支付流水號。 如果用戶使用組合支付,如上述場景,小明使用余額支付了20元,使用銀行卡支付了剩余的80元,那這將產(chǎn)生2個支付流水號。為了避免洗錢風(fēng)險,簡化訂單處理,包括淘寶在內(nèi),現(xiàn)在一般都不再提供組合支付的支持。
- 支付方式和支付渠道: 用戶選擇的支付方式和實際執(zhí)行支付的渠道可以是不一樣的。比如用戶選擇了廣發(fā)信用卡來支付,但實際上電商公司沒有直接對接農(nóng)行,而是通過支付寶來對接, 那對應(yīng)的支付渠道就是支付寶。
- 本條記錄在支付成功后,會產(chǎn)生記賬憑證和對賬憑證。 這一條記錄將產(chǎn)生多條會計分錄,記賬憑證是關(guān)聯(lián)這些會計分錄和支付記錄的字段。對賬憑證是根據(jù)對賬周期來分配的。在日切后,對賬憑證號相應(yīng)的也會做更新。
在產(chǎn)生支付記錄后,在上述流程的第5步通過消息機制來異步觸發(fā)記賬流程。賬務(wù)系統(tǒng)接收到記賬消息后,開始更新賬戶信息。記賬分為兩個階段:
- - 支付記賬,針對線上的賬戶實時更新的需求,需要讓用戶及時看到賬戶余額和訂單狀態(tài),賬務(wù)信息記錄到用戶和商戶上,采用單邊賬的形式。
- - 會計記賬,采用復(fù)式記帳法,滿足會計記賬需求,記錄會計分錄和余額,為對賬和清結(jié)算提供支持。
六、支付記賬
支付記賬是在支付流程中完成的,目的是讓用戶完成購買后,能夠立即看到支付結(jié)果和賬戶余額。為了提升性能,支付記賬一般采用單邊賬的形式,即將會計分錄登記在用戶側(cè)或者商戶側(cè)。
在上述案例中,第6步處理,在服務(wù)器上與銀行側(cè)同步登記一筆從小明銀行卡的支出,并在會員業(yè)務(wù)賬戶上登記一筆收入。 如果使用的是零錢支付,這一個步驟就很重要,從零錢賬戶上扣除費用計算余額,添加對應(yīng)的消費記錄,是在一個事務(wù)中完成。
七、會計記賬
會計記賬采用復(fù)式記賬,不同業(yè)務(wù)記賬方式也不一樣。小明買卡的案例中,需要記錄的條目有:
- 在工行收款賬戶下,登記 99.9的借記 條目
- 在工行手續(xù)費的賬戶下,登記0.1元的借記條目
- 在主營業(yè)務(wù)收入-會員卡的賬戶下,登記100元的貸記條目。
這3條記錄是通過事務(wù)處理一次生成。當(dāng)天發(fā)生的三筆交易,產(chǎn)生的記賬內(nèi)容如下:
實際實現(xiàn)上,科目一列,使用賬號ID來替代。 每個賬戶的本期發(fā)生額,可以在另一個表中單獨異步計算。
八、對賬
在會計上,對賬分三個部分:賬證核對、賬賬核對和賬實核對,做到賬證相符、賬賬相符和賬實相符。在電商支付系統(tǒng)中,需要完成的對賬工作包括內(nèi)部對賬、外部對賬和資金對賬。 其中外部對賬又分為和支付渠道的對賬、和商戶的對賬以及和用戶的對賬。 這里簡單介紹每個對賬流程以及對記賬的影響,詳細的對賬和軋賬流程,將在下一篇文章中說明。
1. 內(nèi)部對賬
內(nèi)部對賬的內(nèi)容包括:
- 核實賬戶系統(tǒng)中的賬務(wù)與支付記錄的一致性;
- 核實會計系統(tǒng)中的賬務(wù)與支付記錄的一致性。
這是后續(xù)賬賬核對和賬實核對的基礎(chǔ),也是對外對賬的基礎(chǔ)。 這兩個對賬任務(wù)一般是在后臺定時運行(5分鐘運行一次),除非系統(tǒng)有bug或者發(fā)生故障,內(nèi)部對賬一般不會出現(xiàn)差錯。如有差錯,也需要人工處理。
2. 渠道對賬
一般銀行、第三方支付提供T+1的對賬單,這是執(zhí)行渠道對賬的依據(jù)。 在上述案例中,支付系統(tǒng)每天拉取工行前一天的對賬單,核對交易流水。與此同時,按照從工行獲取的對賬單,記錄資金歸集的賬務(wù)。
接收到工行對賬單后,按照對賬單生成憑證:
注意上述的日期、憑證號,以及借貸關(guān)系。
3. 賬賬核對
完成渠道對賬后,需要進行日結(jié)和試算平衡:
- 總分類賬各賬戶本期借方發(fā)生額合計與貸方余額合計是否相等;
- 總分類賬各賬戶借方余額合計與貸方發(fā)生額合計是否相符;
- 核對各種明細賬及現(xiàn)金、銀行存款日記賬的本期發(fā)生額及期末余額同總分類賬中有關(guān)賬戶的余額是否相等。
從科目維度,計算:
- 科目期初余額+科目當(dāng)日發(fā)生額=科目期末余額
- 下級科目余額總和=上級科目余額(科目總分檢查)
4. 賬實核對
對電商公司來說,最重要的賬實核對,是驗證銀行存款的變化和實際資金流向是一致的。一般是需要登錄到銀行網(wǎng)銀系統(tǒng)中來人工核實。 如果對接的銀行多,銀行提供網(wǎng)銀對賬單,也可以自動進行,查詢出入款總額。
詳細的對賬和軋賬流程,將在下一篇文章中說明。
【本文為51CTO專欄作者“鳳凰牌老熊”的原創(chuàng)稿件,轉(zhuǎn)載請通過微信公眾號“鳳凰牌老熊”聯(lián)系作者本人】