CN112712403A - 一种离线发票开具方法及系统 - Google Patents
一种离线发票开具方法及系统 Download PDFInfo
- Publication number
- CN112712403A CN112712403A CN202011562418.3A CN202011562418A CN112712403A CN 112712403 A CN112712403 A CN 112712403A CN 202011562418 A CN202011562418 A CN 202011562418A CN 112712403 A CN112712403 A CN 112712403A
- Authority
- CN
- China
- Prior art keywords
- offline
- code
- invoice
- line
- invoice number
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/04—Billing or invoicing
Landscapes
- Business, Economics & Management (AREA)
- Development Economics (AREA)
- Accounting & Taxation (AREA)
- Economics (AREA)
- Finance (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供一种离线发票开具方法及系统,开票终端在离线时通过动态链接库文件的离线号码生成规则生成离线发票号码,在线时查询本地未上传离线发票号码,经过加密处理后上传至税局服务器端;税局服务器端兼容存储在线和离线两种模式下生成的发票号码数据。通过本发明,纳税人获取发票号码不必受限于税局的服务网点,发票号码的生成和分发场景更加务实和高效;发票号码生成也不用受网络限制,离线情况下也能有效支撑纳税人的开票需求。
Description
技术领域
本发明属于税务管理领域,特别是涉及到一种离线发票开具方法及系统。
背景技术
发票号码是税务部门对发票所赋予的特殊编码,由“发票号码”或“发票代码+发票号码”等形式,组成发票的唯一识别码。在发票信息检索和查验发票真伪等领域,有着切实而广泛的用途。
目前国内的发票号码由税务部门统一生成,纳税人在开票之前需要携带“金税盘”等物理设备到税务大厅或者通过网络分发等方式,提前向税局申领发票号段。纳税人在开票时,需要按照申领到的发票号段,依次使用,作为发票的识别号码。
但是在海外税务系统应用当中,由于一些国家存在税务网点较少,纳税人到税务大厅办理业务不够方便;当地的网络基础设施较差,纳税人无法保持实时联网,存在大量需要离线开票的业务场景等情况,因此海外的税务系统无法照搬国内经验。
针对离线开票最主要的问题就是发票号码的重复问题,现有技术中有的解决方案是在开票设备终端离线时,使用其他联网设备(例如手机终端)基于安全密钥从税局在线申领号码,然后离线的开票设备终端使用该号码作为发票号码,但对于网络基础设施较差的海外,该方法同样并不适用。
发明内容
针对以上问题,本发明提出了一种离线发票开具方法及系统,支持离线实时生成不重复的发票号码,可免去纳税人开票前需要事先领取发票号段的步骤。
为了实现上述目的,本发明的技术方案是这样实现的:
一种离线发票开具方法,包括:
S1、开票终端在离线时通过动态链接库文件的离线号码生成规则生成离线发票号码,所述离线号码生成规则中离线发票号码包括:模式码、时间码、设备码、随机码,各码以既定的方式排列,保证离线发票号码的唯一性;
S2、开票终端在线时,通过动态链接库文件的在线上传规则,查询本地未上传离线发票号码,经过加密处理后上传至税局服务器端;
S3、税局服务器端兼容存储在线和离线两种模式下生成的发票号码数据。
进一步的,步骤S1所述时间码包括财年编码、月份编码、日期编码,所述的编码以组合或分列的形式分布在离线发票号码中。
进一步的,步骤S1所述设备码包括制造商编码和设备号编码,所述的编码以组合或分列的形式分布在离线发票号码中。
进一步的,步骤S1所述既定方式中,既定的为各码的分布排序方式。
进一步的,所述动态链接库文件与上层程序通信的方式设置了单独专属的协议约定。
本发明的另一方面,还提供了一种离线发票开具系统,包括:开票终端的离线开票程序和税局服务器端的兼容存储程序;所述离线开票程序中设有动态链接库文件,所述动态链接库文件设有离线号码生成规则和在线上传规则;所述离线号码生成规则中规定的离线发票号码包括:模式码、时间码、设备码、随机码,各码以既定的方式排列,保证离线发票号码的唯一性;所述在线上传规则中设有查询本地未上传离线发票号码功能以及上传加密功能;
所述税局服务端的兼容存储程序包括离线发票号码解密接收和兼容存储功能。
进一步的,所述动态链接库文件分层设计,对外接口为java调用层,内部对接Linux操作系统C/C++的底层功能逻辑接口,最终生成后缀为.so的JNI动态链接库文件。
更进一步的,所述动态链接库文件设有与上层java程序通信的专属协议约定。
与现有技术相比,本发明具有如下的有益效果:
1、通过本发明,纳税人获取发票号码不必受限于税局的服务网点,发票号码的生成和分发场景更加务实和高效;
2、通过本发明,发票号码生成也不用受网络限制,离线情况下也能有效支撑纳税人的开票需求;
3、本发明中税局端的发票数据存储,能够兼容在线和离线两种模式下生成的数据,不会对发票查验等功能造成业务上的区别。
附图说明
图1是本发明实施例中的离线开具发票的流程示意图;
图2是本发明实施例中的离线发票号码序列示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以通过具体情况理解上述术语在本发明中的具体含义。
下面将参考附图并结合实施例来详细说明本发明。
在海外的税务系统,尤其是网络环境较差的场景中,使用本发明进行离线开票时发票号码生成方案的具体实施例中,流程如图1所示,包括如下:
一、纳税人采用离线模式开票时,在开票终端输入开票信息并提交后,开票终端将调用程序中的动态链接库按离线业务规则生成离线发票号。生成的发票数据将暂存在终端设备的本地存储空间上,并将该离线票标记为未上传状态,具体生成规则如下:
对于离线情况下产生的发票号,票号将被配置为{1}-{2}-{2}-{2}-{6}-{2}-{5}的总长度为20位的伪序列,如下所定义:
1 | 首位数字代表发票开具模式,1表示在线模式,2表示离线模式 |
2 | 2-3位代表当前财年的2位数 |
2 | 4-5位代表了开票设备制造商的2位数字编码 |
2 | 6-7位代表当前月份的2位数字 |
6 | 8-13位截取当前开票设备号的末尾6位数字,并且设备号也是唯一的 |
2 | 14-15位代表当天日期的2位数字 |
5 | 16-20位是随机生成的5位序列号 |
生成离线发票号码序列如图2所示。
二、等网络恢复连接后,纳税人退出离线状态,并重新以在线模式登录开票设备,此时设备会查询暂存在本地存储中所有的未上传离线票,并以后台服务的形式,通过网络接口,经过加密处理后上传至税局服务器端进行统一存储。
三、如果上传成功,税局服务端接口将返回成功标志,开票设备再根据此标志将对应的本地离线票更新为已上传状态,避免下次登录时重复上传;反之,如果税局服务端接口没有返回成功标志,则不会更新该离线票的上传状态,等到下次在线登录时,将继续执行该离线票的上传流程,直到上传成功为止。
四、离线发票号码生成时的技术实现:
基于上述业务规则,使用C语言编写离线发票号码的生成算法,并编译生成一个独立后缀为.so的动态链接库程序文件。该动态库为分层设计,对外接口为java调用层,也可以理解为应用程序层,内部对接Linux操作系统C/C++的底层功能逻辑接口,最终生成后缀为.so的JNI动态链接库文件。该方案具有如下特性:
1、具备较好的可移植性和复用性。.so的动态链接库为独立性程序文件,可嵌入到其他软件中以供调用,基于类Linux操作系统内核的环境下均可运行。本方案中采用的开票设备运行的是Android系统,底层实现是Linux操作系统内核,并且开票软件同样是基于java语言开发,可以很好地调用上述动态链接库。后续根据业务需要还可以做Linux系统或IOS系统下的移植,具有较高的复用性。
2、执行速度快,文件体积小。动态库文件采用C语言编译而成,继承了C语言执行速度快的特点,能够有效节省开票时间,提升开票效率。并且该文件大小仅有20KB,可以有效节省终端设备的使用空间。
3、具有较好的安全性。该动态库与上层Java通信时,使用了特殊的协议约定,即使被私自挪用,在未获取协议内容的情况下,也无法被正常调用。并且在当前的应用场景中,动态链接库会连同开票软件其他文件一同打包,经过安全性加固后再正式对外发布,提升了程序的安全性。
五、发票数据在税局服务端统一存储:
基于以上方案,离线发票号码采用与在线发票号码不同的业务规则,可满足在离线模式下,纳税人端仍然能够生成唯一发票号码的应用场景要求。
为了保证数据的兼容性、减少业务的复杂度,在线开具的发票和离线开具的发票,除了发票号码长度不同外,其他开票信息的数据结构和格式是保持一致的。不会由于不同开票方式导致发票的数据结构不同,造成业务流程对发票数据的处理方式不同。最终,在线和离线生成的发票数据,都将会以相同数据格式统一存储到税局端的数据库中。所述相同数据格式即是指无论离线还是在线开票信息的数据结构和格式是保持一致的,只有发票号码长度不同。
本发明在线和离线模式下采用不同的发票号码生成规则,能够保证发票号码的唯一性,不会重复。
在离线开票模式下,终端设备无需联网也能基于业务规则生成发票号码,速度更快,应用场景更丰富。
离线发票号码生成程序由C语言开发,适配Linux操作系统内核,执行速度快,安全性更高。
用于离线生成发票号码的.so的文件为独立性程序文件,具有可移植性和复用性。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种离线发票开具方法,其特征在于,包括:
S1、开票终端在离线时通过动态链接库文件的离线号码生成规则生成离线发票号码,所述离线号码生成规则中离线发票号码包括:模式码、时间码、设备码、随机码,各码以既定的方式排列,保证离线发票号码的唯一性;
S2、开票终端在线时,通过动态链接库文件的在线上传规则,查询本地未上传离线发票号码,经过加密处理后上传至税局服务器端;
S3、税局服务器端兼容存储在线和离线两种模式下生成的发票号码数据。
2.根据权利要求1所述的一种离线发票开具方法,其特征在于,步骤S1所述时间码包括财年编码、月份编码、日期编码,所述的编码以组合或分列的形式分布在离线发票号码中。
3.根据权利要求1所述的一种离线发票开具方法,其特征在于,步骤S1所述设备码包括制造商编码和设备号编码,所述的编码以组合或分列的形式分布在离线发票号码中。
4.根据权利要求1、2、3任一项所述的一种离线发票开具方法,其特征在于,步骤S1所述既定方式中,既定的为各码的分布排序方式。
5.根据权利要求1所述的一种离线发票开具方法,其特征在于,所述动态链接库文件与上层程序通信的方式设置了单独专属的协议约定。
6.一种离线发票开具系统,其特征在于,包括:开票终端的离线开票程序和税局服务器端的兼容存储程序;所述离线开票程序中设有动态链接库文件,所述动态链接库文件设有离线号码生成规则和在线上传规则;所述离线号码生成规则中规定的离线发票号码包括:模式码、时间码、设备码、随机码,各码以既定的方式排列,保证离线发票号码的唯一性;所述在线上传规则中设有查询本地未上传离线发票号码功能以及上传加密功能;
所述税局服务端的兼容存储程序包括离线发票号码解密接收和兼容存储功能。
7.根据权利要求6所述的一种离线发票开具系统,其特征在于,所述动态链接库文件分层设计,对外接口为java调用层,内部对接Linux操作系统C/C++的底层功能逻辑接口,最终生成后缀为.so的JNI动态链接库文件。
8.根据权利要求6或7所述的一种离线发票开具系统,其特征在于,所述动态链接库文件设有与上层java程序通信的专属协议约定。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011562418.3A CN112712403B (zh) | 2020-12-25 | 2020-12-25 | 一种离线发票开具方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011562418.3A CN112712403B (zh) | 2020-12-25 | 2020-12-25 | 一种离线发票开具方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112712403A true CN112712403A (zh) | 2021-04-27 |
CN112712403B CN112712403B (zh) | 2023-03-14 |
Family
ID=75546519
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011562418.3A Active CN112712403B (zh) | 2020-12-25 | 2020-12-25 | 一种离线发票开具方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112712403B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114842596A (zh) * | 2021-12-15 | 2022-08-02 | 航天信息股份有限公司 | 一种支持离线的税控服务系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101673445A (zh) * | 2009-09-25 | 2010-03-17 | 浪潮齐鲁软件产业有限公司 | 一种加油站行业自动开发票的方法 |
CN103914925A (zh) * | 2012-12-30 | 2014-07-09 | 航天信息股份有限公司 | 对离线开具网络发票进行管控的方法和系统 |
CN103971274A (zh) * | 2014-05-30 | 2014-08-06 | 税友软件集团股份有限公司 | 离线应急电子发票的处理方法、处理装置及处理系统 |
CN106920135A (zh) * | 2015-12-28 | 2017-07-04 | 航天信息股份有限公司 | 一种pos开票服务器离线交易的实现方法及系统 |
CN110880131A (zh) * | 2019-11-11 | 2020-03-13 | 深圳前海微众银行股份有限公司 | 一种发票的生成方法及装置 |
CN111161000A (zh) * | 2019-12-05 | 2020-05-15 | 航天信息股份有限公司 | 一种面向小微企业的税控方法及系统 |
-
2020
- 2020-12-25 CN CN202011562418.3A patent/CN112712403B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101673445A (zh) * | 2009-09-25 | 2010-03-17 | 浪潮齐鲁软件产业有限公司 | 一种加油站行业自动开发票的方法 |
CN103914925A (zh) * | 2012-12-30 | 2014-07-09 | 航天信息股份有限公司 | 对离线开具网络发票进行管控的方法和系统 |
CN103971274A (zh) * | 2014-05-30 | 2014-08-06 | 税友软件集团股份有限公司 | 离线应急电子发票的处理方法、处理装置及处理系统 |
CN106920135A (zh) * | 2015-12-28 | 2017-07-04 | 航天信息股份有限公司 | 一种pos开票服务器离线交易的实现方法及系统 |
CN110880131A (zh) * | 2019-11-11 | 2020-03-13 | 深圳前海微众银行股份有限公司 | 一种发票的生成方法及装置 |
CN111161000A (zh) * | 2019-12-05 | 2020-05-15 | 航天信息股份有限公司 | 一种面向小微企业的税控方法及系统 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114842596A (zh) * | 2021-12-15 | 2022-08-02 | 航天信息股份有限公司 | 一种支持离线的税控服务系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112712403B (zh) | 2023-03-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100478956C (zh) | 生成和获取报表的方法及相应的系统 | |
CN1946023B (zh) | 用于接入网关的认证和授权体系结构 | |
CN1568473B (zh) | 交易处理 | |
CN101385322B (zh) | 无线订户记帐系统中的自动帐目映射 | |
CN107481072A (zh) | 便携式网络开票系统及方法 | |
CN108605044A (zh) | 先进的装置锁定标准 | |
CN111552991A (zh) | 一种区块链交易方法及装置 | |
JP5675662B2 (ja) | ショートメッセージ決済システム | |
CN112712403B (zh) | 一种离线发票开具方法及系统 | |
US20230325833A1 (en) | Blockchain-based data processing method and apparatus, device, storage medium, and program product | |
EP2523485A1 (en) | Method and service platform for implementing funds transfer using mobile terminal | |
EP1820311B1 (en) | A messaging gateway and method | |
CN100558188C (zh) | 消息处理设备、系统及方法 | |
CN100512345C (zh) | 用于在电信网络中配置业务的方法和系统 | |
CN110248354A (zh) | 一种基于动态配置的数据处理方法及其应用 | |
US7747485B2 (en) | Variable account data information system and method | |
CN111324645A (zh) | 区块链的数据处理方法及装置 | |
CN109525550A (zh) | 一种数据报文的处理方法、装置以及系统 | |
CN112770008A (zh) | 一种智能拨测话单稽核方法及系统 | |
CN111311342A (zh) | 基于区块链的数据处理方法、装置、设备及可读存储介质 | |
CN118036045B (zh) | 标识生成方法、装置及计算机设备、存储介质、程序产品 | |
CN117057806B (zh) | 基于区块链的数据处理方法、装置及相关设备 | |
CN113495982B (zh) | 交易节点管理方法、装置、计算机设备及存储介质 | |
CN107609871A (zh) | 支付轨迹重现方法、装置、系统、电子设备、存储介质 | |
CN112883038B (zh) | 一种基于区块链的数据管理方法、计算机及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |