基于邮件解析的区块链电子票夹系统

2020-07-14 01:36:21卢光宏周国浩许骏洲潘海楠丁旋段春晖
软件导刊 2020年1期
关键词:区块链

卢光宏 周国浩 许骏洲 潘海楠 丁旋 段春晖

摘要:电子发票和财政电子票据(电子票)在人们日常生活中无处不在,然而当前电子票对用户而言仍然存在着管理困难、归集过程复杂、易重复查验、难以控制等问题。提出基于邮件解析的区块链电子票夹系统,主要服务于报销者与财务人员。目前电子票普遍支持邮箱接收,而一般邮箱不具备电子票信息解析功能,难以进行查阅管理。因此,自主研发一套邮箱服务系统,专门接收含电子票文件或链接的邮件,并能将电子票关键信息准确解析出来,发送至电子票夹应用平台。电子票夹应用平台支持Web网页与小程序的可视化显示,方便用户查看与管理电子票,同时支持一站式报销和入账。电子票每一次状态变更都会同步记录到区块链上,以保证电子票信息的完整性、唯一性与可追溯性。

关键词:区块链;电子票;电子票解析;邮箱服务

DOI: 10. 11907/rjdk.192536

开放科学(资源服务)标识码(OSID):

中图分类号:TP399

文献标识码:A

文章编号:1672-7800(2020)001-0211-05

0 引言

发票和财政票据在人们日常生活中无处不在。发票是指一切单位和个人在购销商品、提供或接受服务以及从事其它经营活动过程中,所开具与收取的业务凭证,是会计核算的原始依据,也是审计机关、税务机关执法检查的重要依据,人们去商城购物、乘坐出租车、或去酒店住宿等经常会收到发票;财政票据是指由财政部门监(印)制、发放与管理,国家机关、事业单位、具有公共管理或服务职能的社会团体以及其它组织依法收取政府非税收入,或者在从事非营利性活动收取财物时,向公民、法人和其它组织开具的凭证,人们缴纳学费、医疗支出、公益捐赠等都会收到财政票据。电子票则将传统纸质发票和财政票据电子化,可实现相同功能。电子票的出现解决了纸质票保管不便、容易丢失、成本较高等缺点,将成为未来发展趋势。

从政策方面看,对于电子发票,2015年11月,国家税务总局发布《关于推行通过增值税电子发票系统开具的增值税电子普通发票有关问题的公告》,要求推行增值税电子发票系统开具的增值税电子普通发票[1];2017年3月,国家税务总局发布《关于进一步做好增值税电子普通发票推行工作的指导意见》,高度重视电子发票推行工作,并规范电子发票服务平台建设[2]。对于财政电子票据,2018年11月,国家财政部发布《关于全面推开财政电子票据管理改革的通知》,需要贯彻“互联网+政务服务”要求,提升财政票据监管效能,全面推开财政电子票据管理改革[3];2019年7月,国家财政部发布《关于全面推行医疗收费电子票据管理改革的通知》,要求全面推行医疗收费电子票据管理改革,规范全国统一医疗收费票据填列,进一步强化保障措施[4]。

从市场方面看,对于电子发票,如今包括淘宝、京东、亚马逊等知名购物平台已经全面支持电子发票。高灯科技副总裁兼CTO杨光说:“中国2018年狭义的发票体量大概接近1千亿张,实际上开具的电子发票仅占5%,电子发票市场潜力十分巨大。”2018年我国电子发票开具数量达到32.7亿张,预计2022年将达到545.5亿张[5]。对于财政电子票据,2017年9月1日,华侨大学财政电子票据管理系统正式上线,并成功开具了该单位第一份财政电子票据,截至2018年4月底,各中央高校共开具财政电子票据43万份,涉及资金45亿元[6]。2019年5月24日,北京大学第一医院成功开出第一张医疗门诊收费电子票据,这是首张中央在京三甲医院开出的医疗收费电子票据,中央单位医疗收费电子票据改革推进工作由此开始[7]。

雖然电子票的发展非常迅速,但仍存在着一些亟需解决的问题,这些问题主要面向报销者和财务人员。对于报销者而言,主要存在以下问题:①归集困难。电子票通常存储在个人邮箱、微信卡包、支付宝发票管家、百望,航信网等应用中,查看与管理比较困难;②报销过程复杂。用户报销时需要将电子票打印出来,程序繁琐,目前尚难以实现无纸化报销;③难以控制。用户难以知晓报销状态,有时还会出现重复报销的情况,从而带来许多不必要的麻烦。对于财务而言,主要存在以下问题:①操作繁琐。需要处理各种不同的纸质原票和打印票;②查验冗余。为防止重复报销,确认合法性,对于每一张票都要仔细查验;③管理困难。一般需通过财务软件或Excel手动录入数据,管理过程比较复杂。

1 研究现状

自国家大力推行电子票应用以来,国内学者即开始对电子票展开研究。近年来面向发票管理平台的研究层出不穷[8-9],这些研究虽然保证了电子票系统的鲁棒性与高效性,但仍然需要用户手动录入信息、手工查验,用户体验不佳。同时研究者们在票据方面也进行了相关探索,一些研究为了省去手动录入的繁琐操作,使用Tesseract-OCR文字识别技术实现纸质票据文档的信息提取,但仍需要手动拍照上传,并且准确率不是很高,难以达到财务工作要求[10]。

上述系统只是解决了电子票数字化的问题,电子票本身是否可信则需要进行查验。对于发票而言,国内有全国增值税发票查验平台,但是查验需要安装根证书,并且每一张票都有查验数量限制;对于财政票据而言,各地方都有各自的查验平台,因而难以解决多地报销问题。所以目前一些研究创新地使用区块链技术[11]实现全流程上链,各地方信息共享,同时区块链技术优化了数字票据交易与结算流程。

区块链技术来源于2008年中本聪[12]发表的关于比特币的论文,该论文创造性地提出了区块链技术。区块链技术能够实现多方数据共享且不可篡改,并实现比特币交易记账,但难以支持更加复杂的交易类型。因此,以太坊应运而生[13],以太坊对脚本、竞争币和链上元协议概念进行整合,使得开发者可以创建任意基于共识、具有高扩展性、标准、特性完备、便于开发与协同的应用(智能合约)。使用以太坊智能合约即可实现电子票流转业务,但以太坊属于公链,每个人都参与共识,其处理速度无法满足电子票业务场景。若需要少数节点共识可以选择联盟链,目前流行的联盟链有Hyperledger Fabric[14-15]、FISCO BCOS[16]、Cor-da[17]等,其处理速度普遍较快,且可以实现用户数据互通。

上述方案可以解决电子票的大部分问题,但依然难以归集所有电子票。目前用户电子票可能存在于各个平台中,如支付宝发票管家[18]、微信卡包[19]等,但各平台中的数据无法统一,导致用户使用非常不便。因此,本文通过邮箱服务归集全量的电子票。

2 研究内容

针对上述问题,一种理想解决方案是打通所有业务系统、财务软件、国税/财政电子票管理系统,从而使电子票能够全量归集、自动报销、统一管理,以便在最大程度上提升用户体验,但需要对现有系统进行整体调整与改造,需要耗费大量时间、精力和财力。本文将通过一个电子票夹平台,用更简单、成本更低、更便捷的方式解决以上问题。本文目标为电子票全量归集、自动录入、一站式报销、全过程可追溯与信息综合管理。

(1)全量归集。目前大多数电子票据平台都支持通过邮件形式开具票据,为了能够以成本最低的方式归集所有电子票,本系统使用邮件服务的方式接收用户电子票据,以实现对电子票据的全量归集。

(2)自动录入。手动录入电子票据信息往往会出现录入错误等问题,系统希望在接收到电子票据后能够自动解析出其中的关键信息,并将电子票据信息与报销信息自动录入到区块链上。

(3)一站式报销。传统报销周期过长,本系统希望能够实现一站式报销功能,不需要打印票据,也不需要与财务人员当面交流,从而节约报销者和财务人员时间。

(4)全过程可追溯。采用电子票据代替纸质票据后,容易出现重复报销等问题,希望通过将电子票信息与报销状态存入区块链中,从而解决重复报账、真伪查验等问题,保证电子票的可追溯性。

(5)信息综合管理。将所有电子票据信息归集到平台后,希望给用户提供相应的可视化界面,令其能够更方便地对电子票进行管理。

3 总体设计

3.1 设计思路

目前电子票普遍支持邮箱接收,而一般邮箱不具备电子票信息解析功能,难以进行查阅与管理。因此,本文研发一套邮箱服务系统,专门用于接收电子票邮件,并将关键信息解析出来,发送至电子票夹应用平台。电子票夹应用平台支持Web网页与小程序展示,方便用户查看与管理电子票,同时支持一站式报销和人账。电子票每一次状态变更都会同步记录到区块链上,以保证电子票信息的完整性、唯一性与可追溯性。整体设计思路如图1所示。

3.2 业务流程

为实现上述目标,根据实际业务流程对系统进行解读,如图2所示。

详细业务流程如下:

(1)申请邮箱。用户首先需要注册一个账号,注册成功后,系统会根据输入用户名自动生成一个邮箱地址,通过该邮箱地址或手机号登录平台。

(2)取票。商家将电子票通过邮件方式发送给报销人注册的邮箱,邮箱收到邮件后会对电子票进行自动解析。解析的电子票详细信息会被记录在应用平台上,同时在电子票夹区块链中进行存证。

(3)报销。报销者登录账号后即可看到待处理的电子票,然后将其发送给财务进行报销,电子票转交信息会记录到区块链上。

(4)入账。财务登录账号后会看到待处理的电子票详细信息,如果核对无误,财务将给报销人转账并将电子票状态置为已报销,该过程同样也会存证上链。

整个业务过程可追溯,详细流程如图3所示。

4 系统架构

4.1 整体架构

系统核心模块主要有电子票夹前端UI、邮件处理模块、电子票解析引擎、电子票夹后端服务、状态数据库、区块链对接模块与区块链。其中,电子票夹前端UI向用户展示信息,方便用户操作;邮件处理模块接收外部邮箱服务传来的电子票邮件,并将其中的电子票提取出来发送给电子票解析引擎进行解析;电子票夹后端服务处理来自电子票夹前端UI与电子票解析引擎的请求,与系统其它部分进行数据交互;状态数据库负责存储用户与票夹数据,并支持复杂查询;区块链对接模块将底层与区块链交互逻辑进行业务封装,对电子票进行信息存证,并与状态数据库保持数据同步。系统具体架构如图4所示。

4.2 模块设计

(1)电子票夹前端UI。目前已支持采用网页和小程序形式呈现,用户收到带有电子票的邮件后,即可在页面上看到电子票信息详情,可以很方便地进行电子票的筛选、查询、转发、报销、入账等操作。该模块使用React框架[20]与Ant Design实现,通过HTTPS协议与电子票夹后端服务进行JSON格式的数据交互。

(2)邮件处理模块。该模块支持邮件接收,同时在收到含有电子票的邮件之后,模块会立即搜索电子票所在位置,可能是在附件中,也可能在某个链接中,之后模块会提取这些信息发送给电子票解析引擎。该模块使用Postfix与Dovecot[2l实现。

(3)电子票解析引擎。该模块会对电子票进行解析,提取电子票中的关键信息,便于数据存储与统计。该模块使用Python实现,通过HTTPS协议与电子票夹后端服务进行JSON格式的数据交互。本文使用基于字符位置的电子发票解析方案,目前较为流行的电子发票信息解析提取技术为OCR识别技术,该技术利用光学字符识别技术提取图片上的文字内容。阿里、百度、腾讯、华为等公司都基于OCR技术提供了一系列服务,但该技术需要先將PDF格式的电子发票转化为图片格式,可能会导致分辨率降低,从而降低识别准确率。本文通过直接提取PDF的方式则可以避免转化过程,提高识别准确率。本方案通过提取发票信息中的字符位置,然后根据位置信息进行划分,并将字符进行重组。

本文采用上述方法直接对所有电子票进行解析,即可非常清晰、完整地获得所有信息。

(3)电子票夹后端服务。电子票夹后端服务接收电子票夹前端UI与电子票解析引擎发送的请求,并根据请求内容进行电子票信息存证或信息查询。电子票夹后端服务使用Java语言与Spring Boot框架实现。

(4)状态数据库。状态数据库负责存储用户与电子票数据。状态数据库采用MvSQL,并利用Hibernate框架实现数据的增删改查。

(5)区块链对接模块。区块链对接模块封装了底层与区块链交互的部分,向上提供电子票存证、转发、报销、人账、查询等多种业务接口。该模块通过}昆合加密方式保证电子票的授权访问,即只有参与方才能对电子票进行解密读取。同时与状态数据库保持信息同步,并缓存链上状态。数据库拥有同步数据后,即可更方便地提供全面的检索功能。该模块使用Java语言编写。

(6)区块链。区块链模块采用4个节点的联盟链实现,主要提供电子票存证与查询接口。部署的智能合约使用Solidity编写,合约中主要包含单位注册、电子票开具、电子票冲红、电子票打印、电子票入账、交易链上信息查询、电子票详情查询等接口,同时也会对各个交易请求进行校验,确保电子票的规范化。

5 系统界面

由于系统主要分为邮箱服务系统、电子票夹平台、电子票夹区块链3个模块,所以界面展示部分也按照这3个模块进行介绍。

5.1 邮箱服务系统

邮箱服务系统在收到邮件后会进行自动解析,得到电子票上的全部信息,并以JSON格式输出。

5.2 电子票夹平台

平台可分为3大模块:首页、用户模块、电子票模块。首页有平台基本介绍,以及用户当前状态可进行的一些基本操作;用户模块包括注册页面、登录页面以及用户个人信息页面。在个人信息页面中,用户可查看自己的邮箱、手机号码、注册时间以及所有电子票。电子票模块暂时以电子发票为例进行展示,包括“我的发票”和“曾有发票”页面。对于用户当前所有发票,用户可在“我的发票”页面查看;对于转发给别人的发票,用户可在“曾有发票”页面查看,如图5所示。

在“我的发票”页面,用户可选择一张或多张发票,点击转发按钮将这些发票转发给别人,或者点击人账按钮将这些发票入账。

5.3 电子票夹区块链

可以在区块链浏览器上查找到交易hash对应详情,如图6所示。

6 结语

本文研发的系统将邮箱服务与电子票相结合,便于用户管理与归集电子票。同时,本系统将区块链技术与电子票据相结合,通过将报销过程的每个步骤记录在区块链中,避免了重复报销与虚假报销的风险,保证了电子票可信、可查、可控、可溯源。系统学习成本低、解析准确率高,且自动化上链、归集管理方便,用户报销简便、全过程可追溯,因此具有巨大的市场潜力。

参考文献:

[1] 国家税务总局.关于推行通过增值税电子发票系统开具的增值税电子普通发票有关问题的公告[EB/OL].http://www.chinatax.gov.cn/n8 10341/n8 10765/n 146597 7/n 146600Vc2061033/content.html.

[2] 国家税务总局.关于进一步做好增值税电子普通发票推行工作的指导意见[EB/OL]。http://www.chinatax.gov.cn/n810341/n8 10755/c2540586/content.html.

[3] 国家财政部.关于全面推开财政电子票据管理改革的通知[EB/OL]. http: //www.gov.cn/ximven/2018-1 l/15/content_5340693.htm.

[4] 国家财政部.关于全面推行医疗收费电子票据管理改革的通知[ EB/OL]. http: //news.emoney.cn/zhengce/3047368.shtml.

[5] 中国产业信息网.2018-2024年中国电子发票市场运营态势及前景预测报告[ EB/OL].http://www.chyxx.com/research/201 802/611165.html.

[6] 中国财经报.应用电子票高校领新潮——部分高校开展财政电子票据管理改革纪实[ EB/OL].http://pjzx.mof.gov.cn/zhengwuxinxi/gongzuodongtai/201806/t2018060 L291498l.html.

[7] 票据监管中心.中央在京三甲医院开出首张医疗收费电子票据[ EB/OL] .http: //pjzx.mof.gov.cn/zhengwuxinxi/gongzuotongzhi/201 905/t20190529_3267807.html.

[8] 雷晓.基于B/S架构的网络发票管理系统的设计[D].成都:电子科技大学,2018.

[9] 董小芳.网络发票管理平台的设计与实现[D].天津:天津大学,2014.

[10]王希晨.基于Tesseract的電子票据云平台的设计与实现[D].南京:南京大学,2016.

[11]黄佳,明红娟.区块链技术在数字票据交易平台中的应用[J]湖北理工学院学报(人文社会科学版),2018.35(6):41-44.

[12]NAKAMOTO S. Bitcoin:a peer-to-peer electronic cash system[ EB/OL]. https: //bitcoin.org/bitcoin.pdf.

[13] BUTERIN V.A next-generation smart contract and decentralized ap-plication platform[J]. white paper, 2014,3:37.

[14]ANDROULAKI E,BARGER A, BORTNIKOV V.et al. HyperledgerFabric:A Distributed Operating System for Permissioned Blockchains[C]. The Thineenth EuroSys Conference, 2018.

[15] CACHIN C.Architecture of the hyperledger blockchain fabric[C].Workshop on Distributed Cryptocurrencies and Consensus Ledgers,2016.

[16]FISCO BCOS. The building block of open consortium chain[ EB/OL].https: //www.fisco-bcos.org/.

[17]BROWN R G,CARLYLE J,CRIGG I, et al. Corda: an introduction[J]. R3 CEV, 2016,l:15.

[18]叶纯青.支付宝推扫码开发票[J].金融科技时代,2017 (7):26.

[19] 梁丽雯.微信发票来了无纸化报销是趋势[J].金融科技时代,2016, 24(5):87.

[20]BANKS A, PORCELLO E.Learning react: functional web develop-ment with react and redux[M]. O'Reilly Media, Inc., 2017.

[21]徐建.基于Linux平台的邮件系统的设计与实现[J].湖北民族学院学报(自然科学版),2011(1):103-105.

(责任编辑:黄健)

作者简介:卢光宏(1996-),男,清华大学软件学院硕士研究生,研究方向为安全计算;周国浩(1996-),男,清华大学软件学院硕士研究生,研究方向为区块链网络安全;许骏洲(1998-),男,清华大学软件学院硕士研究生,研究方向为智能合约的形式化验证;潘海楠(1989-),男,清华大学软件学院硕士研究生,研究方向为增量学习;丁旋(1986-),男,博士,清华大学软件学院助理研究员,研究方向为隐私保护、安全计算;段春晖(1992-),女,博士,清华大学软件学院博士后,研究方向为RFID。

猜你喜欢
区块链
区块链对互联网金融发展的重塑与挑战分析
基于区块链技术的海上散装液体化学品运输安全监管方法
水运管理(2016年11期)2017-01-07 13:25:48
保险企业的区块链技术应用方向选择研究
区块链技术在金融领域的应用与前景研究
中国市场(2016年32期)2016-12-06 11:21:13
区块链技术的应用价值分析
商情(2016年40期)2016-11-28 11:24:12
“区块链”发展现状评述及展望
商(2016年34期)2016-11-24 14:46:00
“区块链”的苟且、诗和远方
基于区块链技术的数字货币与传统货币辨析
企业导报(2016年19期)2016-11-05 18:12:43
互联网金融新模式与中小企业融资关系研究
智能合约与金融合约
商(2016年6期)2016-04-20 17:50:36