进项-抵扣认证全流程
修改历史
版本号 | 变更日期 | 变更内容 | 变更人 | 对接疑问联系方式 |
V1.00 | 2020-05-28 | 创建 | 祖凯 | zukai@yonyou.com |
对接流程

注意事项:
认证发票需要提前在税务云系统
的增值税管理-进项认证管理-发票勾选
连接税盘并进行同步数据,以确保税局当天发票已经下载到 税务云
操作类型接口需保证税盘在线:勾选、撤销勾选、确认认证、取消认证等
抵扣认证流程基于税局的认证流程,相对复杂,且在不同的报税期表现有所区别,请对接技术人员、业务人员可先到税局对认证的流程进行必要性扫盲和了解
:https://fpdk.beijing.chinatax.gov.cn/
税务云同步数据所在菜单

税局2019新认证流程指引

1、查询当前税号税期 [税盘在线]
URL
GET
URL:``http://{IP}:{PORT}/invoiceclient-web/api/vat/period?appid=XXXX`
请求参数
请求参数说明
参数 | 类型 | 长度 | 是否必填 | 默认值 | 描述 | 说明 |
nsrsbh | String | | 是 | | 纳税人识别号 | |
返回值
返回值说明
参数 | 类型 | 描述 | 说明 |
code | String | 状态码 | 0000-操作成功;其他:失败 |
msg | String | 信息说明 | |
expirationDate | String | 当前税期截止日期,一般为次月15号 | |
period | String | 当前税期 | |
2、检测税盘是否在线
URL
GET
URL:``http://{IP}:{PORT}/invoiceclient-web/api/vat/disk/check?appid=XXXX`
请求参数
请求参数说明
参数 | 类型 | 长度 | 是否必填 | 默认值 | 描述 | 说明 |
nsrsbh | String | | 是 | | 纳税人识别号 | |
返回值
返回值说明
参数 | 类型 | 描述 | 说明 |
code | String | 状态码 | 0000-操作成功;其他:失败 |
msg | String | 信息说明 | |
datas | String | 返回数据 | 税号匹配登录模式: fpdk-认证平台的税盘模式;dppt-电子税局数电试点税号的账号+密码+手机+验证码模式. 税号模式根据实际税号不同. |
3、从税务云获取专票(非税局,需要先到税务云同步数据)
URL
POST
URL:``http://{IP}:{PORT}/invoiceclient-web/api/vat/queryInvoice?appid=XXXX`
请求体
请求体说明
参数 | 类型 | 长度 | 是否必填 | 默认值 | 描述 | 说明 |
fpdm | String | | 否 | | 发票代码 | |
fphm | String | | 否 | | 发票号码 | |
hmDms | Array | | 否 | | 代码号码列表 | hmDms 与 开票日期的限定(rq_q,rq_z)至少一个必填 |
-fpDm | String | | 否 | | 发票代码 | |
-fpHm | String | | 否 | | 发票代码 | |
rq_q | String | | 是 | | 开票起始日期 | yyyy-MM-dd格式 |
rq_z | String | | 是 | | 开票截止日期 | yyyy-MM-dd格式 |
xsfnsrsbh | String | | 否 | | 销售方纳税人识别号 | |
xsfmc | String | | 否 | | 销售方名称 | |
fpzt | String | | 否(往期不填) | | 发票状态 | 空:全部,0:正常,1:失控,2:作废,3:红冲,4:异常 |
fplx | String | | 否(往期不填) | | 发票类型 | 空:全部,4:增值税专用发票,6:货运专用发票,5:机动车发票,认证发票类型 |
rzzt | String | | 否(往期不填) | | 认证状态 | 空:全部,2:未勾选,3:已勾选未认证,4:已认证 |
period | String | | 否(不填时,查询已认证数据默认查询当期) | | 认证期间 | yyyyMM格式 |
deductMode | Number | | 否 | | 抵扣类型 | 抵扣类型 1.抵扣(默认) 2.不抵扣 3.退税 |
nsrsbh | String | | 否 | | 纳税人识别号 | 与orgcode不能同时为空 |
orgcode | String | | 否 | | 组织机构代码 | 与nsrsbh不能同时为空 |
page | String | | 否 | | 页数 | 默认0,起始页是0 |
size | String | | 否 | | 当前页数量 | 默认50 |
返回值
返回值说明
- 注意,除一下列明字段之外,多返回的字段请不要使用,后期只对文档中列明的字段保证后期长期维护;如需增加具体某个返回字段,请提需求
参数 | 类型 | 描述 | 说明 |
code | String | 状态码 | 0000-操作成功;详见状态码说明 |
msg | String | 信息说明 | |
fpDm | String | 发票代码 | |
fpHm | String | 发票号码 | |
kprq | String | 开票日期(yyyyMMdd) | |
xsfMc | String | 销售方名称 | |
xsfNsrsbh | String | 销售方纳税人识别号 | |
hjje | double | 合计金额 | |
hjse | double | 合计税额 | |
yxse | double | 有效税额 | |
usage | String | 用途 | 1.抵扣勾选 2.不抵扣勾选 3退税勾选 |
fplx | String | 发票类型 | 4:增值税专用发票,6:货运专用发票,5:机动车发票 ,其他全面见 认证发票类型 |
fpzt | String | 发票状态 | 0:正常,1:失控,2:作废,3:红冲,4:异常 |
period | String | 认证税期 | yyyyMM |
verifyType | String | 认证类型 | 1:勾选 0:扫描 |
verifyTime | String | 认证时间 | yyyy-MM-dd HH:mm:ss |
selectTime | String | 勾选时间 | yyyy-MM-dd HH:mm:ss |
verifyStatus | String | 认证状态 | 2:未勾选,3:已勾选未认证,4:已认证 |
taskStatus | String | 异步任务状态,对于”电子税局版“税号,用于确认 ”勾选“ 操作的完成状态 | 1-税局处理中;2-税局处理成功;3-税局处理失败 |
* relateOrgs | Array | 关联组织 | 数组 |
-orgId | Long | 组织ID - 关联台账获得 | 组织ID |
-orgCode | String | 组织编码 | 组织编码 |
-orgName | String | 组织名称 | 组织名称 |
* relateProjects | Array | 关联组织 | 数组 |
-projectId | Long | 项目ID - 关联台账获得 | 项目ID |
-projectCode | String | 项目编码 | 项目编码 |
-projectName | String | 项目名称 | 项目名称 |
4、发票勾选(抵扣+不抵扣) [税盘在线]
URL
POST
url:http://{IP}:{PORT}/invoiceclient-web/api/vat/gxtj?appid=XXXX
请求体
请求体说明
参数 | 类型 | 长度 | 是否必填 | 默认值 | 描述 | 说明 |
fpDm | String | | 是 | | 发票代码 | |
fpHm | String | | 是 | | 发票号码 | |
kprq | String | | 是 | | 开票日期 | yyyyMMdd格式 |
- undeductReason | Integer | | 否 | | 不抵扣原因,不抵扣勾选-必填 | 1-用于非应税项目 2-用于免税项目 3-用于集体福利和个人消费 4-非正常损失 5-其他 ;预勾选此参数无效 |
yxse | Number | | 否 | 0 | 有效税额 | 预勾选此参数无效 |
nsrsbh | String | | 否 | | 纳税人识别号 | 与orgcode不能同时为空 |
orgcode | String | | 否 | | 组织机构编码 | 与nsrsbh不能同时为空 |
deductMode | Number | | 否 | | 抵扣类型 | 抵扣类型 1.抵扣(默认) 2.不抵扣 ; 预勾选此参数无效 |
gxType | Number | | 否 | | 抵扣类型 | 抵扣类型 2.勾选(默认) 1.预勾选 |
mobileOrEmail | String | | 否 | | 勾选人信息 | 勾选人再税务云的手机或邮箱 |
返回值
返回值说明
参数 | 类型 | 描述 | 说明 |
code | String | 状态码 | 0000-操作成功; |
msg | String | 信息说明 | |
- hmdms | Array | 撤销失败或检测错误的发票 | |
-- fpDm | String | 发票代码 | |
-- fpHm | String | 发票号码 | |
-- errorMsg | String | 错误信息 | 仅 预勾选返回 |
返回值 hmdms备注
5、撤销勾选(抵扣+不抵扣) [税盘在线]
URL
POST
url:http://{IP}:{PORT}/invoiceclient-web/api/vat/cxgx?appid=XXXX
请求体
请求体说明
参数 | 类型 | 长度 | 是否必填 | 默认值 | 描述 | 说明 |
fpDm | String | | 是 | | 发票代码 | |
fpHm | String | | 是 | | 发票号码 | |
kprq | String | | 是 | | 开票日期 | yyyyMMdd格式 |
nsrsbh | String | | 否 | | 纳税人识别号 | 与orgcode不能同时为空 |
orgcode | String | | 否 | | 组织机构代码 | 与nsrsbh不能同时为空 |
deductMode | Number | | 否 | | 抵扣类型 | 抵扣类型 1.撤销抵扣(默认) 2.撤销不抵扣 ; 预勾选此参数无效 |
gxType | Number | | 否 | | 抵扣类型 | 抵扣类型 2.勾选(默认) 1.预勾选 |
返回值
返回值说明
参数 | 类型 | 描述 | 说明 |
code | String | 状态码 | 0000-操作成功;详见状态码说明 |
msg | String | 信息说明 | |
- hmdms | Array | 撤销失败或检测错误的发票 | |
-- fpDm | String | 发票代码 | |
-- fpHm | String | 发票号码 | |
-- errorMsg | String | 错误信息 | 仅 预勾选返回 |
返回值 hmdms备注
6、抵扣认证-统计 [税盘在线]
此接口为异步接口,只返回请求成功失败,返回结果不代表认证成功,只代表请求成功,具体流程参照对接流程
URL
POST
url:http://{IP}:{PORT}/invoiceclient-web/api/vat/qrrz?appid=XXXX
请求体
请求体说明
参数 | 类型 | 长度 | 是否必填 | 默认值 | 描述 | 说明 |
nsrsbh | String | | 是 | | 纳税人识别号 | 不能为空 |
password | String | | 是 | | 纳税人识别号 | 确认签名必传 |
返回值
返回值说明
参数 | 类型 | 描述 | 说明 |
code | String | 状态码 | 0000-请求成功;5001: 当前状态不可认证(时间 |
msg | String | 信息说明 | |
7、抵扣认证-查询 [税盘在线]
建议用户触发查询;因为认证税期的复杂关系,认证成功失败与税盘状态,税盘数据,税期数据有密切关系,定时器造成大量重试意义不大;平均1-10分钟认证成功
另,本接口返回状态为 税局原始状态 (抵扣勾选统计-统计状态)
URL
POST
url:http://{IP}:{PORT}/invoiceclient-web/api/vat/qrrz-query?appid=XXXX
请求体
请求体说明
参数 | 类型 | 长度 | 是否必填 | 默认值 | 描述 | 说明 |
nsrsbh | String | | 是 | | 纳税人识别号 | 不能为空 |
返回值
返回值说明
参数 | 类型 | 描述 | 说明 |
code | String | 状态码 | 0000-操作成功; 无需关注 |
msg | String | 信息说明 | |
datas | Object | | |
- status | String | 认证状态:0.未认证 1.认证中 2.认证成功 3.认证失败 | |
- info | String | 进度信息文本 | |
status::认证状态对照说明
- 为造成误解与低效对接,本说明默认 <文档阅读者> 已了解 税期、申报期、非申报期、申请统计、确认签名、撤销统计、认证等税务认证概念, 如不了解请自行咨询业务人员
接口返回状态(status) | 状态信息 | 比照税局状态&场景 | 建议的操作 |
0 | 未认证 | 未做 "申请统计" 的初始状态 | 可以调用 “【抵扣认证 - 统计】” 接口 |
1 | 认证中 | “申报期”中 “进行” 认证 且 已统计状态 | 此状态说明一定处于 “申报期”,可以定时扫描一直到 “认证成功” ;如10分钟后仍是 “认证中”,则先 “【抵扣认证 - 取消】”,再重新 “抵扣认证 - 统计” |
2 | 认证成功 | 已完成确认签名(“申报期”) | 说明已完成确认签名,可以去申报;也可以根据业务需要,“抵扣认证 - 取消”,再重新【抵扣认证 - 统计】 |
3 | 认证失败 | “非申报期”中 进行 认证 且 “已统计” 状态 (【不可签名】) | 一直到 “申报期”后 ,才可进行:【抵扣认证 - 取消】(必须先撤销),再进行 “【抵扣认证-统计】” |
8、抵扣认证-取消 [税盘在线]
###URL
POST
url:http://{IP}:{PORT}/invoiceclient-web/api/vat/qrrz-cancel?appid=XXXX
请求体
请求体说明
参数 | 类型 | 长度 | 是否必填 | 默认值 | 描述 | 说明 |
nsrsbh | String | | 是 | | 纳税人识别号 | 不能为空 |
返回值
返回值说明
参数 | 类型 | 描述 | 说明 |
code | String | 状态码 | 0000-认证成功; 5002:当前状态不可取消认证(时间 |
msg | String | 信息说明 | |
9、从税务云获取预勾选发票(非税局,需要先到税务云同步数据)【预勾选】
URL
POST
URL:``http://{IP}:{PORT}/invoiceclient-web/api/vat/queryPrecheckInvoice?appid=XXXX`
请求体
请求体说明
参数 | 类型 | 长度 | 是否必填 | 默认值 | 描述 | 说明 |
nsrsbh | String | | 是 | | 纳税人识别号 | 与orgcode不能同时为空 |
hmDms | Array | | 否 | | 代码号码列表 | hmDms 与 开票日期的限定(rq_q,rq_z)至少一个必填 |
-fpDm | String | | 否 | | 发票代码 | |
-fpHm | String | | 否 | | 发票代码 | |
rq_q | String | | 是 | | 开票起始日期 | yyyy-MM-dd格式 |
rq_z | String | | 是 | | 开票截止日期 | yyyy-MM-dd格式 |
xsfnsrsbh | String | | 否 | | 销售方纳税人识别号 | |
xsfmc | String | | 否 | | 销售方名称 | |
fpzt | String | | 否(往期不填) | | 发票状态 | 空:全部,0:正常,1:失控,2:作废,3:红冲,4:异常 |
fplx | String | | 否(往期不填) | | 发票类型 | 空:全部,4:增值税专用发票,6:货运专用发票,5:机动车发票,认证发票类型 |
rzzt | String | | 否(往期不填) | | 认证状态 | 空:全部,2:未勾选,3:已勾选未认证,4:已认证 |
period | String | | 否(不填时,查询已认证数据默认查询当期) | | 认证期间 | yyyyMM格式 |
selectPerson | String | | 否 | | 勾选人-用友姓名,非用户id、用户编号 | |
precheckPerson | String | | 否 | | 预勾选人-用友姓名,非用户id、用户编号 | |
precheckStatus | Integer | | 否 | | 预勾选状态 0:未勾选;1:已勾选 | |
accountUser | String | | 否 | | 记账人 | |
accountPeriod | String | | 否 | | 记账期间 | |
precheckTimeStart | String | | 否 | | 预勾选日期开始 | |
precheckTimeEnd | String | | 否 | | 预勾选日期截止 | |
voucherId | String | | 否 | | 凭证号 | |
srcBillcode | String | | 否 | | 来源单据号 | |
bsubinvoice | String | | 否 | | 是否分包- Y:是;N:否 | |
relationBusiCollection | String | | 否 | | 是否在台账 0-不在 1-在 | |
projectNames | Array[String] | | 否 | | 项目名称 | |
orgcode | String | | 否 | | 组织机构代码 | |
page | String | | 否 | | 页数 | 默认1,起始页是1 |
size | String | | 否 | | 当前页数量 | 默认50 |
返回值
返回值说明
参数 | 类型 | 描述 | 说明 |
code | String | 状态码 | 0000-操作成功;详见状态码说明 |
msg | String | 信息说明 | |
totalNum | Integer | 总数量 | |
contents | Array[Object] | 信息说明 | |
- fpDm | String | 发票代码 | |
- fpHm | String | 发票号码 | |
- kprq | String | 开票日期(yyyyMMdd) | |
- xsfMc | String | 销售方名称 | |
- xsfNsrsbh | String | 销售方纳税人识别号 | |
- hjje | double | 合计金额 | |
- hjse | double | 合计税额 | |
- yxse | double | 可抵扣金额 | |
- fplx | String | 发票类型 | 4:增值税专用发票,6:货运专用发票,5:机动车发票 ,其他全面见 认证发票类型 |
- fpzt | String | 发票状态 | 0:正常,1:失控,2:作废,3:红冲,4:异常 |
- period | String | 认证税期 | yyyyMM |
- verifyType | String | 认证类型 | 1:勾选 0:扫描 |
- verifyTime | String | 认证时间 | yyyy-MM-dd HH:mm:ss |
- selectTime | String | 勾选时间 | yyyy-MM-dd HH:mm:ss |
- verifyStatus | String | 认证状态 | 2:未勾选,3:已勾选未认证,4:已认证 |
- precheckStatus | String | 预勾选状态 | 预勾选状态 0:未勾选;1:已勾选 |
- precheckUserName | String | 预勾选人 | |
- precheckTime | String | 预勾选日期 | |
- orgNameBc | String | 会计主体名称 | |
- projectName | String | 项目名称 | |
- voucherId | String | 凭证号 | |
- accountUser | String | 记账人 | |
- accountTime | String | 记账日期 | |
- reimburseUser | String | 报销人 | |
- reimburseDate | String | 报账日期 | |
- accountPeriod | String | 会计期间 | |
- srcBillcode | String | 来源单据号 | |
- accountNote | String | 记账备注 | |
- vnote | String | 报账备注 | |
- bsubinvoice | String | 是否分包 | 是否分包- Y:是;N:否 |
- relationBusiCollection | String | 是否在台账 | 是否在台账 0-不在 1-在 |
- taxbodyName | String | 受票企业名称 | |
10、 附录
认证发票类型
code | 描述 | 备注 |
2 | 增值税电子专用发票 | |
4 | 增值税专用发票 | |
5 | 机动车销售统一发票 | |
6 | 货物运输业增值税专用发票 | |
14 | 通行费增值税电子普通发票 | |
15 | 二手车销售统一发票 | |
17 | 海关缴款书 | |
31 | 电子发票(增值税专用发票) | |
33 | 纸质发票(增值税专用发票) | |
状态码
状态码 | 说明 |
0000 | 操作成功 |
1001 | 数据不合法,传入参数 |
1002 | 数据不存在 |
9999 | 未知错误 |
5001 | 当前状态不可认证(时间 |
5002 | 当前状态不可取消认证(时间 |