发票数据定期导入接口规范v10.docx
- 文档编号:2851345
- 上传时间:2022-11-15
- 格式:DOCX
- 页数:12
- 大小:69.20KB
发票数据定期导入接口规范v10.docx
《发票数据定期导入接口规范v10.docx》由会员分享,可在线阅读,更多相关《发票数据定期导入接口规范v10.docx(12页珍藏版)》请在冰豆网上搜索。
发票数据定期导入接口规范v10
网络发票系统
外围发票导入接口
一、业务需求描述
对于部分大型(中石化、电信、商场等)有自身的营收系统并使用冠名发票的企业,企业通过自有的营收系统中开具发票。
虽然这些发票也存在电子信息,但是目前没有纳入网络发票信息管理系统中管理,同时又难以实现数据与网络发票系统的实时交互,适用于本类型接口。
二、解决方案
为了实现系统对所有开具发票的统一管理,实现局端及时掌握这类企业的开票内容信息,提供受票方及时查询发票真伪,并对开票内容信息管理和分析利用。
系统为这类企业提供标准接口与其自身的各营收系统对接,实现开具的发票信息能及时准确地纳入电子发票信息管理系统中。
考虑到这类企业营收系统的多样性,系统提供了servlet接口和登录系统网页上传的两种方式导入发票信息。
1、方式一(登录系统网页上传方式):
如果用户是外网用户,首先,拨通vpdn,然后登陆网页地址:
http:
//[100.0.0.4]:
8001.进入登陆页面,内网用户则可以直接登陆网页http:
//[80.16.51.20]:
8000进入登陆页面。
输入纳税人税号及密码,进入功能选择界面,点击“电子发票”图标按钮,显示网络发票系统登陆界面,选择操作用户,输入操作用户的密码,进入网络发票系统,在左边的树形菜单中,选择菜单“信息维护”中的子菜单“外围发票导入”,进入外围发票导入的界面,首先点击“获取上传索引号”按钮,在索引号的输入框中,出现一个发票上传索引号。
然后选择符合约定标准格式的zip文件(文件的大小不能大于30M的zip文件,该文件中可以包含多个符合约定的txt格式(具体格式参见【附录1】)的发票文件,然后点击导入,将文件导入到系统中,如果文件很大,上传需要一段时间,请等待。
如果等待期间由于网络断开,导致不能获取到返回结果,则请待网络恢复正常后,进行结果的查询。
用户可以通过点击“查询”按钮来获取查询结果,如果点击按钮后,提示输入索引号,请将之前获得的索引号输入然后点击“确定”。
系统将把该次操作结果的txt文件以zip格式返回给用户。
用户打开返回的文件查看处理结果。
2、方式二(servlet接口方式):
开票软件通过调用系统提供的servlet接口将开票信息交互到系统。
软件只需要按照约定的接口标准调用即可完成发票信息的交互,为了确保调用方身份的合法性和发票信息安全,我们在接口中设置每次请求的时候,都需要用户传入参数:
nsrsbh,czry,password即开票的纳税人识别号,操作人员名称和操作人员密码,作为身份验证的依据。
输入流为符合约定标准格式的zip文件,里面的文件可以包含多个txt文件,txt文件具体格式参见【附录1】。
具体接口调用如下:
步骤一、上传文件前,开票软件必须先获取发票上传许可索引号。
获取发票上传许可索引号请求路径:
http:
//[hostipaddr]:
[port]/WwfpServer?
sid=zkxx.tax.wwfp.request&nsrsbh=xxxxxx&czry=xxxx&password=xxxxxx
返回结果格式:
XX:
[信息]
异常:
05:
[信息],代表SID号不正确
06:
[信息],代表用户名密码不正确
正常,00:
[信息],信息即为许可索引号
系统异常:
系统出异常,未获取返回信息,主要原因网络连接中断。
如果出现异常或系统异常,请重新发起请求。
其中(下同):
[hostipaddr]为服务器的ip地址.
外网现在为:
100.0.0.4
内网现在为:
xxx.xxx.xxx.xxx
[prot]为服务器端口地址。
现在为:
8001
Nsrsbh,czry,password后面分别输入开票的纳税人识别号,用户名及其密码
步骤二、上传发票,在请求中用户除了要设置参数纳税人识别号,操作人员,密码外,还需要设置参数索引号,内容即为步骤一中获取的许可索引号,并向服务器输入zip格式的文件流。
发票上传的请求路径:
http:
//[hostipaddr]:
[port]/WwfpServer?
sid=zkxx.tax.wwfp.upload&nsrsbh=xxxxxx&czry=xxxx&password=xxxxxx&syh=xxxx
请求的输入流为zip格式的文件流,里面的文件只包含一个符合约定的txt格式的(具体格式参见【附录1】)发票文件。
返回结果格式:
XX:
[信息]
异常:
01:
[信息],代表上传发票的txt文件格式有错误。
02:
[信息],代表该次发票上传的操作正在处理中。
03:
[信息],代表索引号无效。
05:
[信息],代表SID号无效。
06:
[信息],代表用户名密码错误。
正常,00:
[信息],信息即为文件上传成功【具体文件处理结果在步骤3中查询】
系统异常:
系统出异常,未获取返回信息,主要原因网络连接中断。
如果出现异常或系统异常,请重新发起请求。
其中(下同):
其中索引号的内容就是步骤一中获取的索引号。
具体的请求的方法:
java的请参见下面的java示例,
步骤三、获取上传发票结果,在请求中设置参数纳税人识别号,操作人员,密码,索引号,内容即为步骤一中获取的许可索引号。
获取上传发票结果的请求路径:
http:
//[hostipaddr]:
[port]/WwfpServer?
sid=zkxx.tax.wwfp.receive&nsrsbh=xxxxxx&czry=xxxx&password=xxxxxx&syh=xxxx
返回结果格式(具体格式参见【附录2】)。
系统异常:
系统出异常,未获取返回信息,主要原因网络连接中断。
如果出现系统异常,请重新发起请求。
三、业务流程图
四、Java示例(servlet接口方式):
Java源码请求方法如下,供用户参考:
//调用上传zip发票文件的方法
/*如果返回的错误代码为:
“00”代表成功,后面返回zip格式的文件流。
如果“01”代表zip中txt文件的格式不正确,后面返回txt格式的错误提示信息。
*/
publicStringdoCall(FileInputStreamin,Stringhost,intport,StringservletURL,StringParameter)throwsException{
StringBuffersb=newStringBuffer();
StringaUrl="http:
//"+host+":
"+port+"/"+servletURL+Parameter;
HttpURLConnectionurlConn=(HttpURLConnection)getRemoteAccessConn(aUrl);
//写
try
{
OutputStreamop=urlConn.getOutputStream();
intnNumber;
byte[]buffer=newbyte[512];
while((nNumber=in.read(buffer))!
=-1)
op.write(buffer,0,nNumber);
op.flush();
op.close();
in.close();
}catch(Exceptione)
{
Log.debug(e.toString());
}
//读
try
{
StringBuffersb=newStringBuffer();
InputStreamin3=urlConn.getInputStream();
BufferedReaderin2=newBufferedReader(newInputStreamReader(
in3));
Strings2="";
byte[]code=newbyte[4];
in3.read(code);
s2=newString(code);
if(!
(s2.indexOf("00")>-1)){
System.out.println(s2);
while((s2=in2.readLine())!
=null)
System.out.println("s2"+s2);
}else{
FileOutputStreamfos_receive;
fos_receive=newFileOutputStream(newFile("D:
124jg.zip"));
intnNumber;
byte[]buffer=newbyte[512];
while((nNumber=in3.read(buffer))!
=-1)
fos_receive.write(buffer,0,nNumber);
fos_receive.close();
in3.close();
in2.close();
urlConn.disconnect();
System.out.println("sb--->"+sb.toString());
}
}catch(Exceptione)
{
Log.debug(e.toString());
/*如果在调用过程中,发生异常,请判断是否网络断开。
如果网络正常,判断servlet请求的路径是否正确。
如果全部没问题,请根据自己上传的文件的大小和网络的网速,判断文件上传时间。
等待该时间后,通过获取的索引号查询发票上传的结果。
*/
}
returnsb.toString();
}
//调用请求获取发票上传索引号的方法或者通过发票上传索引号,接收发票上传结果的方法
/*如果返回的错误代码为:
“00”代表成功,如果“02”则该数据正在处理,请稍后再进行查询“03”代表请求结果查询的时候,该索引号不正确。
“04”代表发票尚未被上传,请重新上传zip文件。
“05”SID号不正确*/
publicStringdoCall(Stringhost,intport,StringservletURL,StringParameter)throwsException{
StringBuffersb=newStringBuffer();
StringaUrl="http:
//"+host+":
"+port+"/"+servletURL+Parameter;
HttpURLConnectionurlConn=(HttpURLConnection)getRemoteAccessConn(aUrl);
//读
try
{
BufferedReaderin2=newBufferedReader(newInputStreamReader(urlConn.getInputStream()));
Strings=null;
while((s=in2.readLine())!
=null){
sb.append(s).append("\n");
}
In2.close();
urlConn.disconnect();
}catch(Exceptione)
{
Log.debug(e.toString());
/*如果在调用过程中,发生异常,请判断是否网络断开。
如果网络正常,判断servlet请求的路径是否正确。
如果全部没问题,请重新调用该功能*/
}
return
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 发票 数据 定期 导入 接口 规范 v10