《江苏国税网络开票机接口规范.docx》由会员分享,可在线阅读,更多相关《江苏国税网络开票机接口规范.docx(45页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、网络开票机接口设计江苏爱信诺航天信息科技有限公司历 史 版 本版本日期作者修改内容批准人1.02010-07李方平初始化版本PM1.12012-03张世科接口eInfo增加减免信息增加接口更新减免品目Request报文增加isZip1.22012-3-9张世科支持税控机升级接口eInfo增加减免信息限开标志1.32012-3-21张世科接口eInfo返回数据增加时间,格式:yyyy-MM-dd hh:mm:ss,用于授时2.02012-10-21马晓龙更新支持票种,增加接口2.12012-12-04马晓龙增加作废接口2.22012-12-17马晓龙下载发票明细接口名修改为fpPmnr2.320
2、12-12-24马晓龙修改上传发票加密需求2.42013-01-04马晓龙1.增加分机接口2.实现密码加密3.修改购票请求接口2.52013-1-16马晓龙增加zipMode结点,支持处理GZIP2.62013-3-13张伟3.2.2 lgrq 改成 gpts3.8.2 发送报文改动2.72013-4-1张伟章节3.4.2 和 章节4.8.3 的XML中增加s_fp_dm(源发票代码)s_fpqh(源发票号码)2.82013-4-2马晓龙完善3.6升级接口2.92013-4-11马晓龙章节3.4.2 和4.8.3中增加userId2.102013-4-16马晓龙增加3.12,修改3.62.11
3、2013-4-25张伟增加3.13 修改密码2.122013-6-5张伟3.2.3 返回报文中增加mbfs(每本份数)字段2.132013-11-5张伟3.4上传发票请求接口中需要上传客户端的版本号2.142013-11-7张伟报文头中增加securitysecurityModeinterfaceVersion节点目录1.开通流程62.交互说明72.1交互方式72.2交互URL72.3交互基本结构72.3.1提交报文73.报文说明93.1企业基本信息请求93.1.1功能描述93.1.2提交报文93.1.3返回报文93.2购票请求113.2.1功能描述113.2.2提交报文113.2.3返回报文
4、113.3验证码请求133.3.1功能描述133.3.2提交报文133.3.3返回报文143.4上传发票请求143.4.1功能描述143.4.2提交报文143.4.3返回报文303.5更新减免品目303.5.1功能描述303.5.2提交报文303.5.3返回报文313.6网络开票机升级313.6.1功能描述313.6.2提交报文313.6.3返回报文313.7网络授时323.7.1功能描述323.7.2提交报文323.7.3返回报文323.8发票下载323.8.1功能描述323.8.2提交报文323.8.3返回报文333.9作废发票353.9.1功能描述353.9.2提交报文353.9.3返回
5、报文353.10发票分发353.10.1功能描述353.10.2提交报文353.10.3返回报文383.11分机退票383.11.1功能描述383.11.2提交报文383.11.3返回报文393.12下载文件393.12.1功能描述393.12.2提交报文393.12.3返回报文393.13修改密码403.13.1功能描述403.13.2提交报文403.13.3返回报文404.附录403.14江苏国税卷式票目录403.15江苏国税平推式发票目录403.16实例423.16.1购票请求433.16.2上传发票请求435.其他451. 开通流程开通暂定由手工开通。税控机厂商提供需开通的税控机名单(
6、格式下文中描述),由我方开通后返回开通成功的税控机名单(含许可码)给税控机厂商。开通简要流程:税控机厂商提供如下格式的文本文件:机器码,用户ID(用户ID格式为税号+“_*”,*为两位分机号,取值01-99,如无分机,此处与税号一致)如:0712098123456780,3201010000000010712098123456790, 320101000000001_01返回许可码如下:许可码:b7876850b8331a3初始密码:机器码后6位。2. 交互说明122.1 交互方式终端访问CICS web服务器(目前各地级市分别部署)的一个URL,通过HTTP协议连接,均采用POST方法,采用
7、XML格式进行数据封装,提交一个XML,返回一个XML,HTTP协议版本1.1以上。2.2 交互URLCICS URL格式: http:/cicsserver:port/uamsService.htm测试示例:http:/222.190.120.106:7002/uamsService.htm,此处随地级市变动而变动。升级URL: http:/222.190.120.106:7001/service.htm ,仅升级使用,此处唯一。2.3 交互基本结构2.3.1 提交报文请求类型eInfo|fsInfo |upload机器码用户ID(新增)纳税人识别号许可码登录密码(密码安全见下文)厂商代码0
8、6产品代码060-不压缩,默认1压缩ZIP或 GZIP(如无结点或结点为空,默认为ZIP)密文加密模式(规则见下文)接口报文版本号,当前版本号为1.01.请求类型:type=如下表所示序号请求类型说明备注1eInfo获取企业信息2fsInfo获取购票信息3verifyUser上传验证请求上传发票前4upload上传发票5updateJmpm更新减免品目6updateSkj升级税控机注意服务器地址是升级URL7syncTime时间同步8fpPmnr下载发票9fpCancel作废发票10dispense发票分发11withdrawal分机退票12downloadFile下载文件13password
9、修改密码2.password采用密文方式传输,加密规则:password+“JSAISINO”,使用MD5加密(16位),编码为GBK。输入:admin密码JSAISINO输出:7044199e707bd3623.interfaceVersion报文版本号,目前版本是1.03. securityMode规则 暂时只支持MD5(16位)方式加密填写1或留空则为MD5(16位)加密,编码GBK 4. security 存放密文 例如,加密串:2013110711,MD5加密后:7e7e051d1c357eb17e7e051d1c357eb1返回报文服务端根据相应请求返回相关细细,返回的xml会写入
10、如下结构CDATA中,并把如下整个xml返回。请求类型若STATUS为FATAL时在此处写入失败原因3. 报文说明33.1 企业基本信息请求3.1.1 功能描述根据纳税人识别号返回企业基本信息。3.1.2 提交报文发送时遵从2.3.1的结构请求类型(type)为eInfo,依次写入相关参数(param)。3.1.3 返回报文 纳税人识别号 纳税人名称 纳税人税务机关代码 开户银行银行账号生产经营地址电话号码离线时间 单位为天,例:2 征前减免方式 减免数 减免原因代码 限开标志征前减免方式减免数减免原因代码限开标志时间,格式:yyyy-MM-dd hh:mm:ss只支持单户企业下载说明:jmX
11、x 减免信息,没有减免就没有该节点,将来有多个减免种类时,可能多节点,有该节点时可以调用updateJmpm接口,下载减免品目。zqjmfsDm征前减免方式:01按幅度减免,02按额度减免,03优惠税率。jms减免数,zqjmfsDm=01 时,jms为减免百分比,0.3就是减免30%,1就是全免。jmyyDm 减免原因代码,如:A_2011_137,财税2011137号免征蔬菜。xkbz限开标志 1限制只能开指定品目,0不限开。3.2 购票请求3.2.1 功能描述根据参数获取企业购票信息。3.2.2 提交报文发送购票请求根据2.3.1中定义,type为fsInfo,依次写入相关信息。购票天数
12、(数字,例如:90)3.2.3 返回报文发票代码发票号码起当前号码发票号码止用户ID发票种类代码发票名称领购日期领购ID开票限额间隔时间每本份数 多条购票记录实例:13206128053000698001006980310070200032060207WT0603028053通用机打平推式发票2012-11-1932060207WT06030_132061280530_006980012200税控机开发商在开发时应注意一下几点:1)该购票信息为实时购票信息,剔除了验旧缴销票;2) 用户第一次使用(即请求的gpts为空值时)返回该企业三个月前到现在的所有可开票记录;3) 非第一次使用(即请求的g
13、pts有值时)返回从最后一次购票日期开始,到当前止的所有可开票记录4) CTAIS的EJB取票时最小时间单位只精确到月。因此在开发过程中应注意,下载购票信息时返回的票,有可能会与税控机前几次下载的票相等或有交集,开发商在开发过程中应注意比对。5)kpxe如为空,则不限票面金额;如有值,票面金额不得大于限额。6)jgsj如为空,默认为2。7)购票记录返回的是该企业所有领购的发票,机具应根据自身票种支持性过滤其他种类发票;3.3 验证码请求3.3.1 功能描述从后台服务器获取上传所需验证码。3.3.2 提交报文上传发票前先上传一个验证的请求,获取返回验证码verifyUser机器码纳税人识别号登录
14、密码许可码厂商代码06产品代码063.3.3 返回报文验证返回,如验证成功会在CDATA中返回一个验证码。请求类型若STATUS为FATAL时在此处写入失败原因3.4 上传发票请求3.4.1 功能描述将企业开具发票上传至后台服务器。注:801804为限额票,金额不能大于10000元。 805808不限额,但税局也可以对个别企业开票金额进行限制。在购票请求中可以取到限额。3.4.2 提交报文上传处理为确保开票信息传输的效率与安全性,税控机开发商需把XML文件先压缩再加密,再采用Base64编码后放入CDATA中上传。打包只针对上传发票请求,其他请求与返回不采用此方式。之所以先压缩再加密,是因为直
15、接对发票内容XML压缩效率高。采用标准ZIP算法压缩采用对称加密DES算法密钥: NjtwxXmJ密钥编码:UTF8由于DES算法采用的是64位加密方法,所以有8字节补齐的事项。加密前:数据字节长度对8取余,余数为m,若m0,则补足8-m个字节,字节数值为8-m,即差几个字节就补几个字节,字节数值即为补充的字节数,若为0则补充8个字节的8 解密后:取最后一个字节,值为m,则从数据尾部删除m个字节,剩余数据即为加密前的原文 比如差三个字节就要填补3个3: XXXXX333 没有差就填补8个8:88888888采用BASE64编码上传发票请求,存放在基本结构里的CDATA中,上传发票要等验证请求通
16、过后才能上传,且上传时要把验证码加入上传xml中,存放在基本结构中作为的子节点,节点名称为code。 upload 机器码纳税人识别号登录密码(此处为新增内容)许可码厂商代码06产品代码06验证码密文加密模式报文版本号开票方纳税人识别号客户端版本号 发票代码 发票起号发票止号 3位发票代码,根据12位发票代码获取第8位到第10位 发票种类代码 份数 来源类型,类型为8最大金额品名 最大金额数量 金额 日期(yyyyMMdd) 作废标志,1表示作废,0表示正常 售货方税号 售货方名称 售货方电话 售货方地址 售货方开户银行 售货方银行账号 购货方税号 购货方名称 购货方地址 购货方电话 购货方开
17、户银行 购货方银行账号 开票人收款人实际开票方纳税人识别号实际开票方名称实际开票方税务机关代码原发票代码(开具负数发票时需有值,正常发票留空即可)原发票号码(开具负数发票时需有值,正常发票留空即可)用户登录名(一般为税号,如果是分机用户,则为分机名称) 品名即项目 规格型号 计量单位 数量 单价 金额 多个发票明细. 多张发票. 注意:XML节点名称有大小写区分;id.fpDm、id.fpqh由于是复合主键,注意这种点分隔的表达方式;行政区划取意为CTAIS相关概念,尽量明细到开票方所在地区;3位发票种类代码来自于江苏省国家税务局发票样本2010年版本。发票主体内容数据类型描述:名称对应字段数
18、据类型为主键不能为空发票代码id.fpDmvarchar(12)TRUETRUE发票起号id.fpqhvarchar(8)TRUETRUE发票止号fpzhvarchar(8)FALSEFALSE3位发票种类fpzlDm3varchar(3)FALSETRUE发票种类代码fpzlDmvarchar(5)FALSETRUE份数fsnumeric(10,0)FALSETRUE来源类型lylxintFALSETRUE最大金额品名pmvarchar(128)FALSEFALSE最大金额数量slnumeric(16,8)FALSEFALSE金额jenumeric(16,2)FALSETRUE开票日期kpr
19、qDatetimeFALSETRUE作废标志zfbzSmallintFALSETRUE售货方税号kpfNsrsbhvarchar(32)FALSEFALSE售货方名称kpfMcvarchar(128)FALSEFALSE售货方电话kpfLxdhvarchar(60)FALSEFALSE售货方地址kpfLxdzvarchar(200)FALSEFALSE售货方开户银行kpfKhyhvarchar(200)FALSEFALSE售货方银行账号kpfYhzhvarchar(50)FALSEFALSE购货方税号ghfNsrsbhvarchar(20)FALSEFALSE购货方名称ghfMcvarchar
20、(128)FALSEFALSE购货方地址ghfLxdzvarchar(200)FALSEFALSE购货方电话ghfLxdhvarchar(60)FALSEFALSE购货方开户银行ghfKhyhvarchar(200)FALSEFALSE购货方银行账号ghfYhzhvarchar(50)FALSEFALSE开票人kprvarchar(16)FALSEFALSE收款人skrvarchar(16)FALSEFALSE实际开票方纳税人识别号sjKpfNsrsbhvarchar(32)FALSETRUE实际开票方名称sjKpfMcvarchar(128)FALSETRUE实际开票方税务机关代码nsrSw
21、jgDmvarchar(11)FALSETRUE原发票代码s_fp_dmvarchar(12)FALSEFALSE原发票起号s_fpqhvarchar(8)FALSEFALSE3.4.2.1 明细说明(平推票)发票明细内容数据结构描述:明细主表名称对应字段数据类型为主键不能为空品名pmvarchar(16)FALSEFALSE规格型号ggvarchar(16)FALSEFALSE计量单位jldwvarchar(16)FALSEFALSE数量slvarchar(16)FALSEFALSE金额jevarchar(16)FALSEFALSE单价djvarchar(16)FALSEFALSE以下各发票
22、代码中的明细都继承此表。例如:发票代码 80111 发票的XML内容格式是:客户端版本号发票代码发票起号发票止号略过其他节点 备注单价规格金额单位品名数量.record可以有多个复核人3.4.2.1.1 工商业(11)主表:名称说明fhr复核人明细:不同的票种不同的行数:80111、80511:3行80211、80611:4行80311、80711:15行80411、80811:5行名称对应字段继承明细主表bz备注3.4.2.1.2 出口(12)主表:名称说明hth合同号contractNo合同号英文myfs贸易方式trade贸易方式英文xyzh信用证号lcNo信用证号英文receivUnit
23、出售单位英文payUnit购货方英文date日期英文ybh运编号issued开证银行英文qtsx其他事项csfdz出售方英文地址ghfdz购售方英文地址telNo电话英文wbdxje外币大写金额wbJe外币金额biZhong币种bzMc币种名称huiLv汇率hlSz汇率数值slhj数量合计明细:不同的票种不同的行数:80312、80712:15行80812:5行名称对应字段继承明细主表bj标记3.4.2.1.3 废旧物资/粮食等收购(41)主表:名称说明fkr付款人scr司秤人明细:不同的票种不同的行数:80141、80541:3行80241、80641:4行80341、70741:15行80
24、441、80841:5行名称对应字段继承明细主表sf水分dengj等级mz毛重bz备注3.4.2.1.4 废旧物资/粮食等销售(42)主表:名称说明jsfs结算方式scr司秤人xhdd销货地点cydw承运单位明细:不同的票种不同的行数:80141、80541:3行80241、80641:5行80341、70741:15行80441、80841:5行名称对应字段继承明细主表3.4.2.1.5 水电气(51)主表:名称说明zhh总户号dhh段户号cbr抄表人jfy缴费月bz备注明细:不同的票种不同的行数:80151、80551:3行名称对应字段继承明细主表byss本月示数syss上月示数3.4.2
25、.1.6 其他代理服务(国际货代船代)(61)主表:名称说明hb航班qyd起运地mdd目的地dgrq到港日期zhg装货港xhg卸货港fz附注bz备注wbdxje外币大写金额wbJe外币金额biZhong币种bzMc币种名称huiLv汇率hlSz汇率数值pjrX牌价日pjr牌价日rmbjeX人民币小写fhr复核人明细:不同的票种不同的行数:80461、80861:10行名称对应字段继承明细主表tdh提单号bz备注3.4.2.1.7 其他代理服务(报关代理)(62)主表:名称说明wtsh委托书号bz备注tgfjexj通关费金额小计ddfjexj代垫费金额小计明细:不同的票种不同的行数:80462、
26、80862:10行名称对应字段继承明细主表tgxm通关项目tgje通关金额ddfxm代垫项目ddfje代垫金额fz附注bz备注3.4.2.1.8 航空客运(代售服务)(63)主表:名称说明hc航程pzhm票证号码jlbh记录编号fkfs付款方式fhr复核人明细:不同的票种不同的行数:80163、80563:3行名称对应字段继承明细主表bz备注3.4.2.1.9 交通运输(64)主表:名称说明bz备注fhr复核人明细:不同的票种不同的行数:80164、80564:4行80264、80664:8行80364、80764:15行80464、80864:10行名称对应字段继承明细主表kce折扣额fz附
27、注bz备注3.4.2.1.10 其他服业(91)主表:名称说明fhr复核人bz备注明细:不同的票种不同的行数:801191、80591:4行802191、80691:8行803191、80791:15行804191、80891:10行名称对应字段继承明细主表kce折扣额fz附注bz备注3.4.2.2 明细说明(卷式票)发票明细内容数据结构描述:明细主表名称对应字段数据类型为主键不能为空品名pmvarchar(16)FALSEFALSE规格型号ggvarchar(16)FALSEFALSE计量单位jldwvarchar(16)FALSEFALSE数量slvarchar(16)FALSEFALSE
28、金额jevarchar(16)FALSEFALSE单价djvarchar(16)FALSEFALSE以下各发票代码中的明细都继承此表。例如:发票代码 810 发票的XML内容格式是:客户端版本号发票代码发票起号发票止号略过其他节点 单价规格金额单位品名数量.record可以有多个机器编码主表:名称说明jqbm机器编码明细:810:7行名称对应字段继承明细主表3.4.3 返回报文上传发票返回发票种类代码发票代码发票号码申报标志 1成功;2失败 多条发票返回记录3.5 更新减免品目3.5.1 功能描述 根据企业信息获取需要减免品目内容。3.5.2 提交报文发送时遵从2.3.1的结构请求类型(type)为updateJmpm,依次写入相关参数(param)。3.5.3 返回报文返回的xml会写入CDATA中,A_2011_137,财税2011137号免征蔬菜 返回Xml见附件A_2011_137.xml3.6 网络开票机升级3.6.1 功能描述用于提供网络开票机的升级文件。3.6.2 提交报文发送时遵从2.3.1的结构请求类型(type)为updateSkj