20

京东发票系统架构大揭秘

 5 years ago
source link: https://mp.weixin.qq.com/s/qpj7lkDth344l33faJBx3g?amp%3Butm_medium=referral
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

来这里找志同道合的小伙伴!

> > > >   概述

发票,作为生产经营的主要凭证,是京东交易环节中的重要一环,发票系统为这一环节提供发票服务,根据订单数据开具相应的发票。目前京东主要开具的发票类型有电子普通发票和增值税专用发票,随着电子发票的大力推广,已经在2018年5月结束在库房生产环节打印纸质普通发票的历史。

> > > >   系统业务

发票系统主要有四个业务条线,分别是主站、订单开票、大客户还有非订单开票。

2Yvymeb.jpg!web 发票系统业务思维导图

> > > >   主站

主站发票有结算页发票、增票资质、查看发票和发票自助。

结算页发票主要是为下单黄金流程——结算,提供发票选择服务。通过订单不同维度的数据组合,提供了一套可开发票的规则,以便用户在下单时进行发票的选择。

增票资质是提供给主站个人中心维护增票资质的一个入口,用户可以在个人中心的增票资质页面进行资质的维护。为后续增票开具提供资质数据和审核依据。

查看发票除了在发票详情页和订单详情页进行发票数据的展示之外,还为订单列表页提供查看发票或补开发票的入口。

发票自助分为客服自助和客户自助,客服和客户可以自助提交发票补换开申请。

> > > >   订单开票

电子票按业务可分为自营电子票和POP电子票。

自营电子票主要是在订单完成之后,自动为用户开具电子票。为了更好的用户体验,节能补贴订单为用户提供了电子票打印服务。

POP电子票面对的是POP商家,可以分为代开和自开。代开是代替POP商家为用户开具电子票。自开是针对商家自开发票的模式,将商家自开的发票提供给用户。

增票开票节点也是在订单完成之后,由财务人员操作ERP系统进行增票开具,以及通过发票邮寄平台与青龙系统交互,将增票邮寄到用户手中。

> > > >   大客户

大客户的开票特点是集中开票。

集中开票是在订单完成之后,开票系统不会自动开具发票,由大客户系统进行多订单集中申请开票。集中开票的重要处理是要将不同订单的相同商品进行合并,减少发票张数以便于客户使用。

增票区块链利用区块链技术为大客户提供了电子化的增票服务。

> > > >   非订单开票

除了订单业务之外,其他都可统称为非订单业务。开票数据由上游推送,特点就是推送什么开什么。主要提供给结算系统、京东物流、四季优选等上游系统开具电子票和增票的服务。

> > > >   系统架构

发票系统有三个核心模块,为京东整个发票业务提供了最基础的功能支持:发票数据源、开票模块、发票核心数据。

EzyAF3i.jpg!web 发票系统模块结构图

> > > >   发票数据源

发票数据源模块主要的功能是负责落地订单开票所需要的应开数据,目前电子票和增票开票的数据统一由发票应开系统提供。发票应开系统将订单不同维度的数据进行初步加工并存储,为后续的开票流程提供开票数据的查询及更新服务。

> > > >   开票模块

不同的票种有着截然不同的开票方式:

电子票开票通过消息驱动,全流程自动化开票。开完票之后会向用户发送邮件通知,用户还可以通过APP/PC/微信卡包等方式进行电子票的查看和下载。

增票开票则是通过接入财务的分布式任务框架,通过任务或者手工操作ERP系统的方式生成开票数据,由开票员导出到税控机的方式进行开票。开完票之后通过与青龙系统打通,自动推送生成发票邮寄任务,将发票邮寄到用户手中。

发票模板管理系统为各个开票系统提供了发票拆分功能,维护各类发票的拆分逻辑以及拆分所需的参数配置,确保订单发票在超限额或者超限行的情况下能够开具准确无误,是开票系统依赖的核心功能。

> > > >   发票核心数据

发票实开台账作为发票数据副本,是发票系统的核心数据,实时与发票生产系统进行数据同步,为其他系统提供发票数据的多维度快速查询及计算功能。

发票监控系统为订单开票进行把关,实时监控发票的应开与实开金额,防止发票错开而造成的损失。

> > > >   开票流程

> > > >   正向开票

接下来给大家着重介绍一下订单类发票系统的开票流程:

z26vQbM.jpg!web 正向开票流程图

如上图所示,用户下单产生订单数据之后,发票应开系统对订单数据进行预处理,获取商品数据,计算商品优惠、配送费等金额,生成发票维度数据。为后续的开票提供基础数据。

订单完成之后,不同的发票类型将进入到不同的开票流程中。

电子票进入开票流程后无需人工介入,全流程自动化。而增票开具后需要将发票进行打包邮寄。

> > > >   逆向开票

发票逆向流程一般是发生在用户退款、商品价保、发票换开等需要重新开票的场景。

逆向 开票 流程图:

aUJviyz.jpg!web

发票系统通过与退款系统对接,当发生售后退款时,发票应开系统会记录商品退款记录,重新计算发票应开数据。

电子票逆向与正向一样,全流程自动化处理。而对于增票而言,逆向需要用户将发票寄回,进行冲红或重开处理。

> > > >   总结

发票系统作为企业税务管理的重要组成部分,聚焦发票的自动化、流程化。为降低企业税收成本、规避税务风险、提高企业税务管理水平和效率方面有积极的作用。

---------------------END ---------------------

下面的内容同样精彩

点击图片即可阅读

京东技术   关注技术的公众号

iYN7nmA.jpg!web

长按,识别二维码,加关注


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK