一种开具发票的方法及系统技术方案

技术编号:17797091 阅读:34 留言:0更新日期:2018-04-25 20:36
本发明专利技术公开了一种开具发票的方法,该方法包括:订单子系统将订单信息通过消息队列MQ同步给发票子系统;发票子系统根据订单信息和预先录入的仓库名称对应下的发票信息确定所述订单对应的发票数量和每张发票内容,并将每张发票内容通过MQ下传给仓库子系统;仓库子系统根据下传的每张发票内容,以及自身子系统最小发票号码对应的仓库开票人员,顺序打印所述订单对应的每张发票,完成当次发票的开具。本发明专利技术还公开了一种开具发票的系统。采用本发明专利技术能够降低因系统异常对开具发票的影响。

A method and system for invoicing

The present invention discloses an invoice method, which includes: the order subsystem synchronizing the order information to the invoice subsystem through the message queue MQ; the invoice subsystem determines the number of invoices corresponding to the orders and the contents of each invoice according to the invoice information under the order information and the pre recorded warehouse name. The contents of each invoice are passed to the warehouse subsystem through MQ; the warehouse subsystem, based on the contents of each invoice, and the warehouse opener corresponding to the minimum invoice number of its own subsystem, prints each invoice corresponding to the orders in order to complete the opening of the sub invoice. The invention also discloses a system for invoicing. The invention can reduce the influence of system abnormity on invoicing.

【技术实现步骤摘要】
一种开具发票的方法及系统
本专利技术涉及税务服务
,特别涉及一种开具发票的方法及系统。
技术介绍
电子商务中增值税普通发票承担着非常重要的角色:1、发票是从事生产、经营的企事业单位和个人,以其在销售商品或提供应税劳务及从事其他经营活动时取得的应税收入为对象,向付款方开具的收款凭证。用户可用于售后、退款的购物凭证。2、发票是记录经济活动内容的载体,是财务管理的重要工具;3、发票是税务机关控制税源,征收税款的重要依据;发票是国家监督经济活动,维护经济秩序,保护国家财产安全的重要手段。电子商务中增值税普通发票一般都是随货一起送给客户,现有技术发票开具的方案可以是:S1、在发票子系统录入仓库名称对应下的发票信息,并为该仓库每个仓库开票人员分配相应的发票号码段;发票子系统将该仓库每个仓库开票人员分配相应的发票号码段通过WS接口调用发送给仓库子系统。S2、仓库子系统验证为每个仓库开票人员分配的的最小发票号码与该仓库开票人员获取的纸质发票中最小发票号码是否一致,如果一致,则确定初始化发票通过。S3、初始化完成后,仓库子系统根据商品与订单号的对应关系通过WS接口调用通知订单子系统将该订单号对应的订单信息同步给发票子系统。S4、在订单信息同步后,发票子系统根据订单信息和发票信息确定发票的数量和每张发票内容,并将为每张发票生成的唯一标识和每张发票内容通过WS接口调用下传给仓库子系统。S5、仓库子系统根据下传的每张发票内容打印每张发票,完成发票的开具。并记录每张发票的唯一标识和发票号码的对应关系。S6、仓库子系统通过WS接口调用回传每张发票的唯一标识和发票号码的对应关系至发票子系统。S7、发票子系统根据每张发票的唯一标识和发票号码的对应关系更新已开具发票的状态。在每卷发票开具前,发票子系统通过WS接口调用通知仓库子系统重复执行步骤S2,进行下一卷发票的开具。由上述可以看出,现有发票开具包括:发票录入分配、仓库发票初始化、订单信息同步、发票信息下传、仓库发票开具和仓库发票回传等环节。现有技术的问题在于:1、各个子系统间交互过多,且严重依赖WS接口调用,发票子系统录入分配成功后,仓库子系统才能进行发票初始化操作,如果初始化失败就会导致无法开具发票;订单子系统将订单信息同步给发票子系统后,发票子系统才能下传发票内容给仓库子系统,如果同步失败就会导致无法发票下传;仓库子系统初始化操作和发票子系统下传发票内容成功后,才能进行发票的开具;仓库子系统回传给发票子系统成功后,发票子系统才能更新自身子系统的最新发票状态,下一卷的发票初始化才能成功,如果发票回传失败就会导致无法进行下一卷的初始化操作,等等。2、WS接口调用每次发送的信息数量较少。为了防止数据量大而导致处理超时,需要人为拆分多次传输数据,严重影响工作效率。3、一旦WS接口调用失败,必须等到手工处理发票信息成功后,才能继续进行发票开具,非常影响开票以及订单生产效率。WS接口调用为单次调用,一旦失败,就需要人工介入,费时费力。
技术实现思路
本专利技术的目的在于提供一种开具发票的方法及系统,能够降低因系统异常对开具发票的影响。为实现上述专利技术目的,本专利技术提供了一种开具发票的方法,该方法包括:订单子系统将订单信息通过消息队列MQ同步给发票子系统;发票子系统根据订单信息和预先录入的仓库名称对应下的发票信息确定所述订单对应的发票数量和每张发票内容,并将每张发票内容通过MQ下传给仓库子系统;仓库子系统根据下传的每张发票内容,以及自身子系统最小发票号码对应的仓库开票人员,顺序打印所述订单对应的每张发票,完成当次发票的开具。为实现上述专利技术目的,本专利技术还提供了一种开具发票的系统,该系统包括:订单子系统,将订单信息通过消息队列MQ同步给发票子系统;发票子系统,根据订单信息和预先录入的仓库名称对应下的发票信息确定所述订单对应的发票数量和每张发票内容,并将每张发票内容通过MQ下传给仓库子系统;仓库子系统,根据下传的每张发票内容,以及自身子系统最小发票号码对应的仓库开票人员,顺序打印所述订单对应的每张发票,完成当次发票的开具。综上所述,本专利技术提供的开具发票的方法及系统,发票信息对应具体仓库录入到发票子系统中,并利用MQ发送到仓库子系统,该仓库的仓库开票人员自行认领发票信息中各自的发票号码段,而不是由发票子系统分配决定,如此就不会出现发票子系统分配给仓库开票人员的发票与仓库开票人员手里的发票不一致的情况,这样仓库子系统就无需进行初始化操作。订单子系统可以随时利用MQ同步订单信息给发票子系统,无需像现有技术那样必须依赖仓库子系统初始化操作完成后,订单子系统才能同步订单信息。发票子系统利用MQ下传发票内容成功后,仓库子系统就可以进行发票的开具,无需像现有技术那样仓库子系统初始化操作和发票子系统下传发票内容成功后,才能进行发票的开具。本专利技术仓库子系统可以统一回传,不需要像现有技术那样每次发票开具后都需要回传。因此,本专利技术的方案与现有技术相比,通过MQ异步处理,减少了系统间的直接交互,降低了因系统异常对开具发票的影响。附图说明图1为本专利技术开具发票的方法流程示意图。图2为本专利技术实施例一发票管理的流程示意图。图3为本专利技术开具发票的系统结构示意图。具体实施方式为使本专利技术的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本专利技术所述方案作进一步地详细说明。本专利技术发票开具过程通过MQ的形式离线化、异步化,无须担心调用失败或者处理超时等问题,有效减少了系统异常的几率。本专利技术订单子系统可以随时利用MQ同步订单信息给发票子系统,无需像现有技术那样必须依赖仓库子系统初始化操作完成后,订单子系统才能同步订单信息。也就是说,订单子系统同步订单信息前,不需要与仓库子系统有交互。本专利技术仓库子系统可以统一回传,不需要像现有技术那样每次发票开具后都需要回传。也就是说,本专利技术仓库子系统可以将多次开具的发票一次性回传给发票子系统,相比于现有技术来说,回传时与发票子系统的交互更少。系统间的交互少,也有效减少了系统异常的几率,从而降低因系统异常对开具发票的影响。另一方面,通过检测子系统进行监控,一旦MQ发生异常,则利用缓存,作为降级方案,进行数据的调度和补充,无须人工介入。消息队列(MQ)是一种应用程序对应用程序的通信方法。消息传递指的是程序之间通过在消息中发送数据进行通信,而不是通过直接调用彼此来通信,直接调用通常是用于诸如远程过程调用的技术。所以本专利技术子系统间的通信都是通过MQ进行,MQ具有高可用、高性能,无须担心调用失败或者处理超时等问题。通过MQ将业务过程离线化、异步化,保证发票开具不受影响。本专利技术开具发票的方法流程示意图如图1所示:步骤11、订单子系统将订单信息通过消息队列(MQ)同步给发票子系统;所述订单信息包括:发票所属区域、抬头、商品内容、商品金额、商品个数。步骤12、发票子系统根据订单信息和预先录入的仓库名称对应下的发票信息确定所述订单对应的发票数量和每张发票内容,并将每张发票内容通过MQ下传给仓库子系统;所述仓库名称对应下的发票信息包括:发票所属区域、发票代码、发票起始至终止号码、纳税人识别号、发票高度及宽度、发票头和尾的高度,以及每张发票最高开具金额。其中,发票子系统根据订单信息和预先录入的仓库名称对应下的发票信本文档来自技高网
...
一种开具发票的方法及系统

【技术保护点】
一种开具发票的方法,其特征在于,该方法包括:订单子系统将订单信息通过消息队列MQ同步给发票子系统;发票子系统根据订单信息和预先录入的仓库名称对应下的发票信息确定所述订单对应的发票数量和每张发票内容,并将每张发票内容通过MQ下传给仓库子系统;仓库子系统根据下传的每张发票内容,以及自身子系统最小发票号码对应的仓库开票人员,顺序打印所述订单对应的每张发票,完成当次发票的开具。

【技术特征摘要】
1.一种开具发票的方法,其特征在于,该方法包括:订单子系统将订单信息通过消息队列MQ同步给发票子系统;发票子系统根据订单信息和预先录入的仓库名称对应下的发票信息确定所述订单对应的发票数量和每张发票内容,并将每张发票内容通过MQ下传给仓库子系统;仓库子系统根据下传的每张发票内容,以及自身子系统最小发票号码对应的仓库开票人员,顺序打印所述订单对应的每张发票,完成当次发票的开具。2.如权利要求1所述的方法,其特征在于,在仓库子系统打印每张发票之前,该方法还包括:发票子系统将所录入的仓库名称对应下的发票信息通过MQ发送给仓库子系统;仓库子系统确认该仓库每个仓库开票人员所分配的发票号码段存在于该仓库对应的发票信息中。3.如权利要求1所述的方法,其特征在于,发票子系统将每张发票内容通过MQ下传给仓库子系统的同时,将为每张发票生成的唯一标识下传给仓库子系统;仓库子系统在打印开具发票时,还包括:记录当次开具的每张发票的唯一标识和发票号码的对应关系;在完成多次发票的开具后,统一回传多次开具的每张发票的唯一标识和发票号码的对应关系至发票子系统,由发票子系统根据多次开具的每张发票的唯一标识和发票号码的对应关系更新已开具发票的状态。4.如权利要求1、2或3所述的方法,其特征在于,MQ发送端向MQ接收端发送MQ时,将发送的数据内容缓存在缓存数据库中;该方法还包括:检测子系统定时发送检测MQ消息,在发送失败时确定当前交互的MQ发送异常;并定时检测MQ发送端缓存数据库中的数据内容和MQ接收端本地数据库中的数据内容是否一致,如果不一致,则将MQ发送端缓存数据库中的数据内容调度补充到MQ接收端本地数据库中。5.如权利要求1所述的方法,其特征在于,所述订单信息包括:发票所属区域、抬头、商品内容、商品金额、商品个数;所述仓库名称对应下的发票信息包括:发票所属区域、发票代码、发票起始至终止号码、纳税人识别号、发票高度及宽度、发票头和尾的高度,以及每张发票最高开具金额;所述打印的每张发票包括:发票所属区域、抬头、商品内容、商品金额、商品个数、发票代码、发票号码、纳税人识别号、仓库开票人员。6.如权利要求5所述的...

【专利技术属性】
技术研发人员:马文军
申请(专利权)人:北京京东尚科信息技术有限公司北京京东世纪贸易有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1