税控开票服务器组件接口规范
(标准版)
税控项目组
2015年9月
目录
TOC \o "1-2" \h \z \u HYPERLINK \l "_Toc441147918" 目录 PAGEREF _Toc441147918 \h 2
HYPERLINK \l "_Toc441147919" 第一章 概述 PAGEREF _Toc441147919 \h 3
HYPERLINK \l "_Toc441147920" 1. 接口概述 PAGEREF _Toc441147920 \h 3
HYPERLINK \l "_Toc441147921" 2. 适用范围 PAGEREF _Toc441147921 \h 3
HYPERLINK \l "_Toc441147922" 第二章 接口调用方式 PAGEREF _Toc441147922 \h 4
HYPERLINK \l "_Toc441147923" 1. 本地ActiveX组件调用 PAGEREF _Toc441147923 \h 4
HYPERLINK \l "_Toc441147924" 2. 本地DLL调用 PAGEREF _Toc441147924 \h 6
HYPERLINK \l "_Toc441147925" 第三章 接口定义 PAGEREF _Toc441147925 \h 6
HYPERLINK \l "_Toc441147926" 1. 参数设置 PAGEREF _Toc441147926 \h 6
HYPERLINK \l "_Toc441147927" 2. 税控钥匙信息查询 PAGEREF _Toc441147927 \h 7
HYPERLINK \l "_Toc441147928" 3. 发票开具 PAGEREF _Toc441147928 \h 9
HYPERLINK \l "_Toc441147929" 4. 发票作废 PAGEREF _Toc441147929 \h 15
HYPERLINK \l "_Toc441147930" 5. 发票查询 PAGEREF _Toc441147930 \h 17
HYPERLINK \l "_Toc441147931" 6. 发票领购信息查询 PAGEREF _Toc441147931 \h 20
HYPERLINK \l "_Toc441147932" 7. 发票打印 PAGEREF _Toc441147932 \h 22
HYPERLINK \l "_Toc441147933" 8. 页边距设置 PAGEREF _Toc441147933 \h 23
HYPERLINK \l "_Toc441147934" 9. 查询当前未开票号 PAGEREF _Toc441147934 \h 24
HYPERLINK \l "_Toc441147935" 10. 发票领购信息分发 PAGEREF _Toc441147935 \h 26
HYPERLINK \l "_Toc441147936" 11. 发票领购信息退回 PAGEREF _Toc441147936 \h 27
概述
接口概述
企业核心业务系统通过接口实现与税控开票服务器的通信,完成发票管理、发票开具和税控服务器信息查询功能。接口根据调用方式的不同分为远程Servlet接口和本地ActiveX组件接口。
EMBED Visio.Drawing.15
适用范围
本接口规范仅适用于开票端通过组件接口ActiveX控件和Servlet接口方式访问税控开票服务器。
接口调用方式
本地接口提供ActiveX控件和DLL两种调用方式,接口列表见下表。
序号
接口ID
接口说明
其它说明
20001
参数设置
本地接口
20002
税控钥匙信息查询
本地接口
10008
发票开具
本地接口
10009
发票作废
本地接口
10010
发票查询
本地接口
10005
发票领购信息查询
本地接口
20004
发票打印
本地接口
20003
打印页边距设置
本地接口
10004
查询当前未开票号
本地接口
10006
发票领购信息分发
本地接口
10007
发票领购信息退回
本地接口
本地ActiveX组件调用
ActiveX组件文件名:NISEC_SKSCX.ocx
ActiveX组件GUID:
CLASSID="clsid: 003BD8F2-A6C3-48EF-9B72-ECFD8FC4D49F"
函数定义:
String Operate(string sInputInfo);
参数:
sInputInfo 输入XML信息
返回值:
返回结果XML字符串
调用示例:
ActiveX组件调用示例
本地DLL调用
DLL文件名:NISEC_SKSC.dll
函数定义:
void _stdcall PostAndRecvEx(IN LPSTR pszPost, OUT LPSTR pszRecv)
参数:
pszPost 输入XML信息
pszRecv 返回XML信息
返回值:
无
接口定义
接口中的xml数据项,如无特殊说明,遵从以下规则:
金额字段单位统一为元,小数点后精确到两位。
日期字段格式统一为“YYYYMMDD”。
参数设置
接口说明
参数设置接口完成服务器IP地址、端口号和税控钥匙口令的设置功能,仅ActiveX接口提供该接口,其它接口调用前必须首先调用参数设置接口。
请求数据
请求报文:
服务器IP地址
服务器端口号
税控钥匙口令
注册码
参数说明:
索引
ID
名称
长度
必须
说明
id
交易编号
5
是
20001
comment
交易描述
30
是
参数设置
yylxdm
应用类型代码
1
是
固定为“1”表示国税
servletip
税控开票服务器IP地址
15
是
servletport
税控开票服务器端口号
5
是
keypwd
税控钥匙口令
8
是
zcm
注册码
512
是
返回数据
响应报文:
返回代码
返回信息
参数说明:
索引
ID
名称
长度
必须
说明
id
交易编号
5
是
20001
comment
交易描述
30
是
获取服务器基本信息
yylxdm
应用类型代码
1
是
固定为“1”表示国税
returncode
返回代码
8
是
0成功,其它失败
returnmsg
返回信息
160
是
税控钥匙信息查询
接口说明
提供查询税控钥匙基本信息的接口,主要查询企业纳税人识别号和税控钥匙编号。仅本地组件接口提供该接口,需要保证税控钥匙与本地电脑连接正常。
请求数据
请求报文:
88888888
参数说明:
索引
ID
名称
长度
必须
说明
id
交易编号
5
是
20002
comment
交易描述
30
是
税控钥匙信息查询
yylxdm
应用类型代码
1
是
固定为“1”表示国税
keypwd
税控钥匙口令
8
是
返回数据
响应报文:
返回代码
返回信息
纳税人识别号
税控钥匙编号
参数说明:
索引
ID
名称
长度
必须
说明
id
交易编号
5
是
20002
comment
交易描述
30
是
税控钥匙信息查询
yylxdm
应用类型代码
1
是
固定为“1”表示国税
returncode
返回代码
8
是
0成功,其它失败
returnmsg
返回信息
160
是
nsrsbh
纳税人识别号
20
否
keyno
税控钥匙编号
14
否
前两位固定为“33”
发票开具
接口说明
发票开具接口实现发票的正数开具和负数开具,开具成功后由税控服务器生成税控码,并由本地税控钥匙生成发票签名。该接口根据不同的发票类型,参数定义不同。
请求数据
增值税专用发票(发票类型代码:004)
请求报文:
开票终端标识
发票类型代码
发票请求流水号
开票类型
特殊票种标识
销货单位识别号
销货单位名称
销货单位地址电话
销货单位银行帐号
购货单位识别号
购货单位名称
购货单位地址电话
购货单位银行帐号
清单标志
发票行性质
商品名称
商品税目
规格型号
单位
商品数量
单价
金额
税率
税额
含税标志
合计金额
合计税额
价税合计
备注
收款人
复核人
开票人
信息表编号
原发票代码
原发票号码
签名参数
参数说明:
索引
ID
名称
长度
必须
说明
id
交易编号
5
是
10008
comment
交易描述
8
是
发票开具
yylxdm
应用类型代码
1
是
固定为“1”表示国税
kpzdbs
开票终端标识
16
是
开票终端唯一性标识
fplxdm
发票类型代码
3
是
kplx
开票类型
1
是
0:正数票开具
1:负数票开具
fpqqlsh
发票请求流水号
100
否
如果为空就不校验,有值就不能重复
tspz
特殊票种标识
2
是
“00”不是
“01”农产品销售
“02”农产品收购
xhdwsbh
销货单位识别号
20
是
与税控服务器保持一致
xhdwmc
销货单位名称
100
是
与税控服务器保持一致
xhdwdzdh
销货单位地址电话
100
是
xhdwyhzh
销货单位银行账号
100
是
ghdwsbh
购货单位识别号
20
是
ghdwmc
购货单位名称
100
是
ghdwdzdh
购货单位地址电话
100
是
ghdwyhzh
购货单位银行账号
100
是
qdbz
清单标志
1
是
0:无清单
1:带清单
fphxz
发票行性质
1
是
0 正常行
1 折扣行
2 被折扣行
spmc
商品名称
72
是
折扣行商品名称规则:折扣行数N(XX.XXX%)
spsm
商品税目
20
否
保留字段,目前为空
ggxh
规格型号
36
否
dw
单位
14
否
spsl
商品数量
12
否
小数点后6位
dj
单价
12
否
小数点后6位
je
金额
12
是
小数点后2位,正负
sl
税率
12
是
小数点后2位
se
税额
12
是
小数点后2位,正负
hsbz
含税标志
1
是
0 不含税
1 含税
hjje
合计金额
12
是
小数点后2位,不含税,正负
hjse
合计税额
12
是
小数点后2位,正负
jshj
加税合计
12
是
小数点后2位,正负
bz
备注
150
否
skr
收款人
16
否
fhr
复核人
16
否
kpr
开票人
20
是
中文名称
tzdbh
信息表编号
20
否
yfpdm
原发票代码
10
否
yfphm
原发票号码
8
否
38
qmcs
签名参数
16
否
增值税普通发票(发票类型代码:007)
请求报文:
开票终端标识
发票类型代码
发票请求流水号
开票类型
特殊票种标识
销货单位识别号
销货单位名称
销货单位地址电话
销货单位银行帐号
购货单位识别号
购货单位名称
购货单位地址电话
购货单位银行帐号
清单标志
发票行性质
商品名称
商品税目
规格型号
单位
商品数量
单价
金额
税率
税额
含税标志
合计金额
合计税额
价税合计
备注
收款人
复核人
开票人
信息表编号
原发票代码
原发票号码
签名参数
参数说明:
索引
ID
名称
长度
必须
说明
id
交易编号
5
是
10008
comment
交易描述
8
是
发票开具
yylxdm
应用类型代码
1
是
固定为“1”表示国税
kpzdbs
开票终端标识
16
是
开票终端唯一性标识
fplxdm
发票类型代码
3
是
fpqqlsh
发票请求流水号
100
否
如果为空就不校验,有值就不能重复
kplx
开票类型
1
是
0:正数票开具
1:负数票开具
tspz
特殊票种标识
2
是
“00”不是
“01”农产品销售
“02”农产品收购
xhdwsbh
销货单位识别号
20
是
与税控服务器保持一致
xhdwmc
销货单位名称
100
是
与税控服务器保持一致
xhdwdzdh
销货单位地址电话
100
是
xhdwyhzh
销货单位银行帐号
100
是
ghdwsbh
购货单位识别号
20
否
ghdwmc
购货单位名称
100
是
ghdwdzdh
购货单位地址电话
100
否
ghdwyhzh
购货单位银行帐号
100
否
qdbz
清单标志
1
是
0:无清单
1:带清单
fphxz
发票行性质
1
是
0 正常行
1 折扣行
2 被折扣行
spmc
商品名称
72
是
折扣行商品名称规则:折扣行数N(XX.XXX%)
spsm
商品税目
20
否
保留字段,目前为空
ggxh
规格型号
36
否
dw
单位
14
否
spsl
商品数量
12
否
小数点后6位
dj
单价
12
否
小数点后6位
je
金额
12
是
小数点后2位
sl
税率
12
是
小数点后2位
se
税额
12
是
小数点后2位
hsbz
含税标志
1
是
0 不含税
1 含税
hjje
合计金额
12
是
小数点后2位,不含税
hjse
合计税额
12
是
小数点后2位
jshj
加税合计
12
是
小数点后2位
bz
备注
160
否
skr
收款人
16
否
fhr
复核人
16
否
kpr
开票人
20
是
tzdbh
信息表编号
20
否
yfpdm
原发票代码
10
否
yfphm
原发票号码
8
否
38
qmcs
签名参数
16
否
返回数据
响应报文:
返回代码
返回信息
发票代码
发票号码
开票日期
税控码
校验码
二维码
参数说明:
索引
ID
名称
长度
必须
说明
id
交易编号
5
是
10008
comment
交易描述
8
是
发票开具
yylxdm
应用类型代码
1
是
固定为“1”表示国税
returncode
返回代码
8
是
0成功,其它失败
returnmsg
返回信息
160
是
jqbh
税控服务器编号
12
否
fpdm
发票代码
12
否
fphm
发票号码
8
否
kprq
开票日期
14
否
YYYYMMDDHHMMSS
skm
税控码
112
否
4行,每行28个字符
jym
校验码
22
否
增值税普票有效,增值税专票固定为空
12
ewm
二维码
8192
否
电子发票有效
发票作废
接口说明
通过发票作废接口对已开具的问题发票和未开具的空白发票进行作废处理。已开发票作废要求发票当月开具且未抄报,空白发票作废要求从当前第一张未开具发票开始逐张顺序作废。
请求数据
请求报文:
开票终端标识
发票类型代码
作废类型
发票代码
发票号码
合计金额
作废人
参数说明:
索引
ID
名称
长度
必须
说明
id
交易编号
5
是
10009
comment
交易描述
8
是
发票作废
yylxdm
应用类型代码
1
是
固定为“1”表示国税
kpzdbs
开票终端标识
16
是
开票终端唯一性标识
fplxdm
发票类型代码
3
是
zflx
作废类型
1
是
0:空白票作废
1:已开票作废
fpdm
发票代码
10
是
fphm
发票号码
8
是
hjje
合计金额
8
否
空白作废时为空
zfr
作废人
20
是
返回数据
响应报文:
返回代码
返回信息
发票代码
发票号码
作废日期
参数说明:
索引
ID
名称
长度
必须
说明
id
交易编号
5
是
10009
comment
交易描述
8
是
发票作废
yylxdm
应用类型代码
1
是
固定为“1”表示国税
returncode
返回代码
8
是
0成功,其它失败
returnmsg
返回信息
160
是
fpdm
发票代码
10
否
fphm
发票号码
8
否
zfrq
作废日期
14
否
格式YYYYMMDDHHMMSS
发票查询
接口说明
发票查询接口实现通过接口读取税控服务器发票开具明细信息,可用于发票补打。按开票日期查询时,仅提供查询一天内的发票明细;按发票段查询时,仅支持查询单张发票明细。
请求数据
请求报文:
开票终端标识
发票类型代码
查询方式
查询条件
参数说明:
索引
ID
名称
长度
必须
说明
id
交易编号
5
是
10010
comment
交易描述
8
是
发票查询
yylxdm
应用类型代码
1
是
固定为“1”表示国税
kpzdbs
开票终端标识
16
是
开票终端唯一性标识
fplxdm
发票类型代码
3
是
cxfs
查询方式
1
是
0:按发票号码段查询
1:按时间段查询
cxtj
查询条件
是
cxfs为0时:
发票代码+发票起始号码+发票终止号码
cxfs为1时:
起始日期+终止日期
YYYYMMDD
返回数据
响应报文:
增值税专用发票(发票类型代码:004)
返回代码
返回信息
发票代码
发票号码
发票状态
上传标志
开票日期YYYYMMDDHHMMSS
税控服务器编号
税控码
校验码
销货单位识别号
销货单位名称
销货单位地址电话
销货单位银行帐号
购货单位识别号
购货单位名称
购货单位地址电话
购货单位银行帐号
发票行性质
商品名称
商品税目
规格型号
单位
商品数量
单价
金额
税率
税额
含税标志
发票行性质
商品名称
商品税目
规格型号
单位
商品数量
单价