【發(fā)票進階】發(fā)票系統(tǒng)0-1閉環(huán)設(shè)計思路

閆秀兒
12 評論 11213 瀏覽 139 收藏 12 分鐘
🔗 产品经理的职业发展路径主要有四个方向:专业线、管理线、项目线和自主创业。管理线是指转向管理岗位,带一个团队..

編輯導(dǎo)語:發(fā)票是財務(wù)中必不可少的物品,那發(fā)票系統(tǒng)該如何設(shè)計呢?本篇文章中,作者從B端和C端兩個層面,介紹了如何從0到1的設(shè)計發(fā)票系統(tǒng)。感興趣的小伙伴不妨來看看。

之前也寫過發(fā)票的設(shè)計思路,時隔一段時間重新做了發(fā)票的項目,對這部分又有了新的認(rèn)知和思考,更是發(fā)覺之前寫的甚淺。

當(dāng)我?guī)е碌睦斫膺M行分享時,我的思路和方法論已悄然發(fā)生變化,這篇文章講一下發(fā)票系統(tǒng)0-1的閉環(huán)設(shè)計,希望能帶給你幫助~

一、什么是發(fā)票

發(fā)票是指一切單位和個人在購銷商品、提供或接受服務(wù)以及從事其他經(jīng)營活動中,所開具和收取的業(yè)務(wù)憑證,是會計核算的原始依據(jù),也是審計機關(guān)、稅務(wù)機關(guān)執(zhí)法檢查的重要依據(jù)。

發(fā)票分為進項發(fā)票和銷項發(fā)票,簡單說可以理解為作為一個商家,進項發(fā)票就是供應(yīng)商給我們開的票,銷項發(fā)票是我們給購買了商品的客戶開的票

此次文檔范圍主要是銷項發(fā)票~

二、發(fā)票系統(tǒng)對接模型

在之前的文章中也提到,B端系統(tǒng)設(shè)計之初,需要對系統(tǒng)進行分層,明確系統(tǒng)邊界。

這樣做的好處是避免后期業(yè)務(wù)繁雜時各個系統(tǒng)之間功能冗余,邏輯耦合,從而不方便業(yè)務(wù)拓展。

1. 申請層

申請層主要是指申請開具發(fā)票的數(shù)據(jù)源,如toC:用戶端,用戶可以自主開具發(fā)票。

或者toB 在后臺,由客服或者運營為用戶申請開票,當(dāng)發(fā)票開具完成后再將發(fā)票信息展示出來。

2. 接收層

這里的接收層我把它叫做發(fā)票中臺,發(fā)票中臺負責(zé)對接所有所有在申請層的系統(tǒng), 承接所有申請開票的數(shù)據(jù),統(tǒng)一由發(fā)票中臺對接發(fā)票服務(wù)。

當(dāng)發(fā)票開具完成后再將發(fā)票信息傳給申請層的系統(tǒng),有點承上啟下的意思。

這樣設(shè)計的好處有兩點:

  1. 對于上游申請層來說,不需要單獨對接一次外部的發(fā)票服務(wù),對接發(fā)票中臺遠比對接外部的發(fā)票服務(wù)成本低;
  2. 對于發(fā)票中臺來說,所有申請的數(shù)據(jù)都天然維護在這里,方便做前期的校驗、后續(xù)統(tǒng)計等功能。

3. 服務(wù)層

這里的服務(wù)層是指外部的開票服務(wù),發(fā)票中臺將所需要的開票信息透傳給開票服務(wù)。

由開票服務(wù)完成開票、紅沖等操作,再將結(jié)果返回給發(fā)票中臺。

三、對接層

1. 申請層

(1)C端

申請層主要的功能就是「申請開票」。

那么對于C端來說,它面向的對象就是用戶,那么在C端的設(shè)計上就要站在用戶的角度,這里簡單列下主要功能點:

① 申請節(jié)點

前文我們說過,發(fā)票是指一切單位和個人在購銷商品、提供或接受服務(wù)以及從事其他經(jīng)營活動中,所開具和收取的業(yè)務(wù)憑證。

那么開票的前提是有了交易記錄,開票可以根據(jù)流水開,也可以根據(jù)訂單開,下面就按照普遍電商平臺的做法,按照訂單來說明。

申請開票的節(jié)點其實沒有明確的要求,目前業(yè)內(nèi)有的是支付后可以申請,有的是還是收貨后才可以申請,區(qū)別主要是擔(dān)心產(chǎn)生售后行為后,發(fā)票還需要紅沖掉,浪費額外的票量。

但像京東現(xiàn)在已經(jīng)很智能化了,每次支付完會自動開票。

② 申請類型

對于大多數(shù)市面的產(chǎn)品來說,一般在C端只允許用戶開電子票,原因很簡單,電子票和紙質(zhì)票的法律效應(yīng)是一致的。

但是電子票比紙質(zhì)票成本低、效率高,開票所需要的信息也比紙質(zhì)票簡單許多。

當(dāng)然如果用戶有指定開專票或者紙質(zhì)的普票的話,作為商家還是有義務(wù)為用戶開票的,對于這種情況可以走線下聯(lián)系客服等方式在后臺申請開票。

③ 申請信息

不同類型的票需要的信息是不一樣的,同樣紙票和普票所需要的信息也不相同;

這里其實分為幾部分,用戶的個人申請信息和發(fā)票信息,其中個人申請信息是用戶自己需要提供的信息,發(fā)票信息都是開發(fā)票需要。

但是由系統(tǒng)自主可以通過訂單獲取到的。

下圖我簡單列了下基本信息,有的字段對于不同的發(fā)票類型、發(fā)票種類都有不一樣的輸入要求。

  • 查看開票進度:用戶申請開票后,發(fā)票的狀態(tài)要講對應(yīng)展示文案告知用戶開票進度,給用戶有一個預(yù)期
  • 查看發(fā)票、下載發(fā)票、發(fā)送郵箱:開票后用戶可以下載發(fā)票或者選擇將發(fā)票發(fā)送到指定郵箱

(2)B端后臺

  • 申請節(jié)點:同用戶端,前后臺保持一致
  • 申請類型:在后臺申請的話,那么他可申請的范圍包括普票、專票、包括電子票和紙質(zhì)票。
  • 查看開票進度:后臺也需要展示開票進度,這樣用戶咨詢客服或者運營時,內(nèi)部人員也可以給出反饋
  • 查看發(fā)票、下載發(fā)票、發(fā)送郵箱:根據(jù)使用的群體,來設(shè)計系統(tǒng)需要支持哪些權(quán)限范圍的功能,比如用戶是可以下載發(fā)票的,但是考慮到數(shù)據(jù)風(fēng)險,客服是不可以下載的等等

2. 接收層

我們這里可以理解為一個發(fā)票中臺臺系統(tǒng),用來存儲所有申請開票的申請單。

從對接模型上說,這是一個接收層,當(dāng)然從功能上來說,也可以在這個后臺申請發(fā)票。

后臺系統(tǒng)最基礎(chǔ)的增刪改查功能這里不多贅述,之前寫的一篇已經(jīng)寫過了。

這里其實還想說一個更重要的點,是單據(jù)之間的關(guān)系以及單據(jù)的狀態(tài)機。

下面用一個ER圖可以看一下訂單、發(fā)票、申請單映射關(guān)系

  1. 訂單和申請單是1對N的,因為會存在部分退款后,用戶需要對余額重新申請開票的場景,理論上用戶申請開票只有金額限制,不應(yīng)該有次數(shù)限制,只要可開票金額大于0且小于等于實付金額,就是可以開票的。
  2. 訂單和發(fā)票的關(guān)系是1對N的,出現(xiàn)這種情況可能是因為一筆訂單中包含不同的稅目的商品,內(nèi)部的額外需求,需要將這類發(fā)票拆開,或者是因為開票金額超過限額,會拆分開成幾張票。目前限額最大值有1萬、10萬、100萬,一般是由公司和稅務(wù)局核定后,設(shè)置在系統(tǒng)里的。

從創(chuàng)建申請單,到這筆申請單的狀態(tài)流轉(zhuǎn)為終態(tài),這其中不同狀態(tài)機下對應(yīng)的是不同的操作功能映射。

如常見的幾個狀態(tài)機:『待審核』『審核中』『待開票』『開票中』『已開票』『已紅沖』。(目前絕大多數(shù)電子票都是不需要審核直接開票的,紙質(zhì)票大多數(shù)還是需要審核的)

不同狀態(tài)下C端的展示邏輯、后臺的功能都不同,舉個例子用戶提交開票信息后,不管申請單數(shù)據(jù)狀態(tài)是審核中還是開票中,對用戶而言都包裝成『開票中』;

例如『待審核』狀態(tài)下可以『審核駁回』或『審核通過』『已開票』狀態(tài)下可以下載、查看發(fā)票,這都是要基于狀態(tài)機的變化來的。

3. 外部開票服務(wù)

外部開票服務(wù)其實就是目前做的很成熟一些稅控服務(wù),如某稅,發(fā)票中臺通過對接這樣的服務(wù)來實現(xiàn)開票、紅沖等需求,主要工作量在于兩邊的接口對接。

藍票如上所述一般是用戶/客服/運營主動申請的,但是紅票最好是可以系統(tǒng)自動判斷訂單的狀態(tài),進行紅沖。

四、其他

一般比較完善的發(fā)票中臺,會將票倉管理、主體管理、稅目信息管理、票額管理等信息都在線上維護起來。

線上化程度越高,對于業(yè)務(wù)來說效率就越高,但這個并不影響開票的主流程。

各家公司會根據(jù)自己的量級來評估線上化的程度,按自身業(yè)務(wù)實際情況選擇。

 

本文由 @閆秀兒 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)作者許可,禁止轉(zhuǎn)載。

題圖來自Unsplash,基于CC0協(xié)議。

專欄作家

閆秀兒,微信公眾號:閆秀兒,人人都是產(chǎn)品經(jīng)理專欄作家。持續(xù)沉淀、持續(xù)成長的交易產(chǎn)品。

本文原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載

題圖來自 Unsplash,基于 CC0 協(xié)議

該文觀點僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺僅提供信息存儲空間服務(wù)。

更多精彩內(nèi)容,請關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號或下載App
評論
評論請登錄
  1. 大佬如何處理,在b端場景下,用戶應(yīng)開而未開發(fā)票的問題

    來自北京 回復(fù)
    1. 你這個不合規(guī)吧,按國稅局對財務(wù)的要求,所有的現(xiàn)金交易都必需開票,不管用戶有無申請。有些電商是用戶未申請但內(nèi)部是有開出,只是沒有給用戶顯示出票據(jù)而已

      來自廣東 回復(fù)
  2. 會有多個訂單對應(yīng)1張發(fā)票的情況嗎?如果開在一張票上,后面全退了一個訂單1,再開票會不會有訂單1和發(fā)票詳情對不上吧?

    回復(fù)
    1. 訂單與發(fā)票存在1:N的場景,文中所描述的模型有缺失,訂單可能會被拆成不同的商品(即貨物)類型,商品與發(fā)票有對應(yīng)的關(guān)系,不同平臺的建設(shè)是不一樣的。若不同商品開在不同的發(fā)票上,或者不同的商品運營主體不同,例如美團外賣,快遞費是美團平臺運營的、餐費是商家運營的,按照誰收費誰開票(真正的資金流向)的原則,必然是在不同的發(fā)票上。

      來自上海 回復(fù)
    2. 1、開票時需要記錄訂單與商品的關(guān)系、還需要記錄商品與發(fā)票的關(guān)系,否則會出現(xiàn)基于某張發(fā)票沖紅找不到對應(yīng)的訂單,也不知道需要沖減訂單的哪一部分。
      2、實際運營中存在另一種訂單部分開票場景,例1中,用戶實付金額5W元,但是用戶只想開具5W元的3W元;
      3.合并訂單開票,高頻低額的訂單,需要將所有訂單合并開具。

      訂單實際與發(fā)票是多對多的關(guān)系,但訂單與發(fā)票不應(yīng)該是直接關(guān)系上的。

      目前互聯(lián)網(wǎng)產(chǎn)品淘寶、京東、美團外賣基本是基于單訂單開具;美團零售(自營)、餓了么餐飲和零售、滴滴出行是基于多訂單合并開票的

      來自上海 回復(fù)
    3. 商品關(guān)聯(lián)訂單,訂單關(guān)聯(lián)發(fā)票申請單,發(fā)票申請單關(guān)聯(lián)發(fā)票,發(fā)票自然就記錄的關(guān)聯(lián)的商品。

      來自北京 回復(fù)
  3. 大佬,咨詢個問題,我們做的是電商的產(chǎn)品,在商品中心上架的商品,與進貨的商品如何做關(guān)聯(lián),進貨商品的發(fā)票屬性/規(guī)格/數(shù)量這些信息維護在哪塊是進銷存系統(tǒng)嗎還是商品系統(tǒng)

    來自北京 回復(fù)
    1. 我也想知道

      來自湖南 回復(fù)
    2. 其實都可以,采購時其實對商品的屬性已知,該批次比如商品的稅率、貨物品名、規(guī)格都是已知的。商品發(fā)布時,商品詳情中也有對應(yīng)的信息。不過開票是基于合同(訂單、合同、賬單)維度開具,而訂單的商品詳情必然有相關(guān)屬性,維護在商品側(cè)更好。

      來自上海 回復(fù)
  4. 你好,想請問一下:
    “對于上游申請層來說,不需要單獨對接一次外部的發(fā)票服務(wù),對接發(fā)票中臺遠比對接外部的發(fā)票服務(wù)成本低;”
    有個疑問:我自己的理解,對于上游申請層來說,即使對接了發(fā)票中臺,發(fā)票中臺最終也是要對接外部底層發(fā)票服務(wù)商的,那么上游申請層對接發(fā)票中臺的優(yōu)勢為什么是比直接對接外部底層發(fā)票服務(wù)商更低呢?

    來自上海 回復(fù)
    1. 哦哦,突然理解了,因為會涉及到多個上游申請層對接,而發(fā)票中臺只需要對接一次外部底層發(fā)票服務(wù)商,應(yīng)該是這個答案吧哈哈??

      來自上海 回復(fù)
    2. 是的!

      來自北京 回復(fù)
专题
13623人已学习12篇文章
本专题的文章分享了CRM的入门知识,分享了CRM是什么。
专题
12802人已学习14篇文章
现在,不少企业和行业都走上了数字化转型的征程。本专题的文章分享了数字化营销策略。
专题
11301人已学习12篇文章
保险是一种保障机制,能够在遭遇意外时起到缓冲保底作用的财务工具。本专题的文章分享了互联网保险产品设计指南。
专题
16902人已学习12篇文章
如何搞懂财务和业务之间的关系,并推进业务系统财务模块的建设呢?本专题的文章分享了财务系统的设计指南。
专题
15726人已学习12篇文章
本专题的文章分享了如何从0到1搭建结算平台
专题
12808人已学习15篇文章
知识付费是内容赛道上的一块高地,有着上百亿的市场规模。本专题的文章分享了关于对知识付费的观点。