# 进项-抵扣认证全流程

修改历史

版本号 变更日期 变更内容 变更人 对接疑问联系方式
V1.00 2020-05-28 创建 祖凯 zukai@yonyou.com

# 对接流程

1558937474466

注意事项

  • 认证发票需要提前在税务云系统增值税管理-进项认证管理-发票勾选连接税盘并进行同步数据,以确保税局当天发票已经下载到 税务云

  • 操作类型接口需保证税盘在线:勾选、撤销勾选、确认认证、取消认证等

  • 抵扣认证流程基于税局的认证流程,相对复杂,且在不同的报税期表现有所区别,请对接技术人员、业务人员可先到税局对认证的流程进行必要性扫盲和了解https://fpdk.beijing.chinatax.gov.cn/

# 税务云同步数据所在菜单

1558937474466

# 税局2019新认证流程指引

1558937474466

# 1、查询当前税号税期 [税盘在线]

# URL

GET URL:``http://{IP}:{PORT}/invoiceclient-web/api/vat/period?appid=XXXX`

# 请求参数

{
  "nsrsbh":"YYYYYY"
}

# 请求参数说明

参数 类型 长度 是否必填 默认值 描述 说明
nsrsbh String 纳税人识别号

# 返回值

{
    "code": "0000",
    "datas": {
        "expirationDate": "20200615",
        "period": "202005"
    },
    "msg": "SUCCESS"
}

# 返回值说明

参数 类型 描述 说明
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":"YYYYYY"
}

# 请求参数说明

参数 类型 长度 是否必填 默认值 描述 说明
nsrsbh String 纳税人识别号

# 返回值

{
    "code": "0000",
    "datas": "fpdk",
    "msg": "SUCCESS"
}

# 返回值说明

参数 类型 描述 说明
code String 状态码 0000-操作成功;其他:失败
msg String 信息说明
datas String 返回数据 税号匹配登录模式: fpdk-认证平台的税盘模式;dppt-电子税局数电试点税号的账号+密码+手机+验证码模式. 税号模式根据实际税号不同.

# 3、从税务云获取专票(非税局,需要先到税务云同步数据)

# URL

POST URL:``http://{IP}:{PORT}/invoiceclient-web/api/vat/queryInvoice?appid=XXXX`

# 请求体

{
  "fpdm":"xxx",
  "fphm":"yyy",
  "hmDms":[{
      "fpHm":"xxx",
      "fpDm":"yyy"
  }],
  "deductMode": 1,
  "rq_q":"yyyy-MM-dd",
  "rq_z":"yyyy-MM-dd",
  "xsfnsrsbh":"",
  "fpzt":"",
  "fplx":"",
  "rzzt":"",
  "period":"",
  "nsrsbh":"",
  "orgcode":"",
  "page":0,
  "size":50
}

# 请求体说明

参数 类型 长度 是否必填 默认值 描述 说明
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": "0000",
    "msg": "SUCCESS",
    "datas": {
        "contents": [
            {
                "fpDm": "3300162130",
                "fpHm": "15414913",
                "kprq": "20170831",
                "xsfMc": "杭州目庭酒店管理有限公司",
                "hjje": 175.47,
                "hjse": 10.53,
                "verifyStatus": 2,
                "selectTime": null,
                "verifyTime": null,
                "verifyType": "1",
                "fplx": "4",
                "fpzt": "0",
                "xsfNsrsbh": "9133010659309462XE",
                "period": null,
                "taskStatus": 1,
                "relateOrgs": [
                    {"orgId": 11223344,"orgName": "myorg","orgCode":"mycode"}
                ],
                "relateProjects" :[
                    {"projectId": 11223344,"projectName": "myorg","projectCode":"mycode"}
                ]
            }
        ],
        "totalNum": 1286, 总数量
    }
}

# 返回值说明

  • 注意,除一下列明字段之外,多返回的字段请不要使用,后期只对文档中列明的字段保证后期长期维护;如需增加具体某个返回字段,请提需求
参数 类型 描述 说明
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

# 请求体

{
    "hmdms": [
        {
            "fpDm": "3100111130",
            "fpHm": "11404542",
            "kprq": "20170831",
            "yxse": 23.00,
             "undeductReason" : 1
        }
    ],
    "deductMode": 1,
    "gxType": 2,
    "mobileOrEmail":"17090028043",
    "nsrsbh": "91110000600001760P",
    "orgcode":""
}

预勾选:
{
    "hmdms": [
        {
            "fpDm": "4400232130",
            "fpHm": "13566255",
            "kprq": "20230724",
        },
        {
            "fpDm": "4400232130",
            "fpHm": "13566256",
            "kprq": "20230724",
        },
    ],
    "gxType": 1,
    "mobileOrEmail": "xxx@163.com",
    "nsrsbh": "xxxx",
    "orgcode": ""
}

# 请求体说明

参数 类型 长度 是否必填 默认值 描述 说明
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": "0000",
	"msg":"操作成功",
    "datas":{
        "hmdms":[{
            "fpDm":"fpDm",
            "fpHm":"fpHm"
        }]
    },
}

# 返回值说明

参数 类型 描述 说明
code String 状态码 0000-操作成功;
msg String 信息说明
- hmdms Array 撤销失败或检测错误的发票
-- fpDm String 发票代码
-- fpHm String 发票号码
-- errorMsg String 错误信息 仅 预勾选返回

# 返回值 hmdms备注

最新情况无法保证全部成功,检测失败或错误未实际操作的发票,需要后续做失败处理;返回 null 或空数组可全部按成功处理

# 5、撤销勾选(抵扣+不抵扣) [税盘在线]

# URL

POST url:http://{IP}:{PORT}/invoiceclient-web/api/vat/cxgx?appid=XXXX


# 请求体

{
    "hmdms": [
        {
            "fpDm": "3100171130",
            "fpHm": "11404542",
            "kprq": "20170831"
        }
    ],
    "deductMode": 1,
    "gxType": 2,
    "nsrsbh": "91110000600001760P",
    "orgcode":""
}

预勾选:
{
    "hmdms": [
        {
            "fpDm": "4400232130",
            "fpHm": "13566255",
            "kprq": "20230724",
        },
        {
            "fpDm": "4400232130",
            "fpHm": "13566256",
            "kprq": "20230724",
        },
    ],
    "gxType": 1,
    "mobileOrEmail": "xxx@163.com",
    "nsrsbh": "xxxx",
    "orgcode": ""
}

# 请求体说明

参数 类型 长度 是否必填 默认值 描述 说明
fpDm String 发票代码
fpHm String 发票号码
kprq String 开票日期 yyyyMMdd格式
nsrsbh String 纳税人识别号 与orgcode不能同时为空
orgcode String 组织机构代码 与nsrsbh不能同时为空
deductMode Number 抵扣类型 抵扣类型 1.撤销抵扣(默认) 2.撤销不抵扣 ; 预勾选此参数无效
gxType Number 抵扣类型 抵扣类型 2.勾选(默认) 1.预勾选

# 返回值

{
	"code": "0000",
	"msg":"修改成功",
    "datas":{
        "hmdms":[{
            "fpDm":"fpDm",
            "fpHm":"fpHm"
        }]
    },
}

# 返回值说明

参数 类型 描述 说明
code String 状态码 0000-操作成功;详见状态码说明
msg String 信息说明
- hmdms Array 撤销失败或检测错误的发票
-- fpDm String 发票代码
-- fpHm String 发票号码
-- errorMsg String 错误信息 仅 预勾选返回

# 返回值 hmdms备注

最新情况无法保证全部成功,检测失败或错误未实际操作的发票,需要后续做失败处理;返回 null 或空数组,则全部按成功处理

# 6、抵扣认证-统计 [税盘在线]

此接口为异步接口,只返回请求成功失败,返回结果不代表认证成功,只代表请求成功,具体流程参照对接流程

# URL

POST url:http://{IP}:{PORT}/invoiceclient-web/api/vat/qrrz?appid=XXXX


# 请求体

{
    "nsrsbh": "91110000600001760P",
    "password" : "税局抵扣认证密码"
}

# 请求体说明

参数 类型 长度 是否必填 默认值 描述 说明
nsrsbh String 纳税人识别号 不能为空
password String 纳税人识别号 确认签名必传

# 返回值

{
	"code": "0000",
	"msg":"请求成功"
}

# 返回值说明

参数 类型 描述 说明
code String 状态码 0000-请求成功;5001: 当前状态不可认证(时间
msg String 信息说明

# 7、抵扣认证-查询 [税盘在线]

建议用户触发查询;因为认证税期的复杂关系,认证成功失败与税盘状态,税盘数据,税期数据有密切关系,定时器造成大量重试意义不大;平均1-10分钟认证成功 另,本接口返回状态为 税局原始状态 (抵扣勾选统计-统计状态)

# URL

POST url:http://{IP}:{PORT}/invoiceclient-web/api/vat/qrrz-query?appid=XXXX


# 请求体

{
    "nsrsbh": "91110000600001760P"
}

# 请求体说明

参数 类型 长度 是否必填 默认值 描述 说明
nsrsbh String 纳税人识别号 不能为空

# 返回值

{
	"code": "0000",
	"msg":"查询成功",
    "datas": {
        "status": "1",
        "info": "认证成功"
    }
}

# 返回值说明

参数 类型 描述 说明
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": "91110000600001760P"
}

# 请求体说明

参数 类型 长度 是否必填 默认值 描述 说明
nsrsbh String 纳税人识别号 不能为空

# 返回值

{
	"code": "0000",
	"msg":"取消成功"
}

# 返回值说明

参数 类型 描述 说明
code String 状态码 0000-认证成功; 5002:当前状态不可取消认证(时间
msg String 信息说明

# 9、从税务云获取预勾选发票(非税局,需要先到税务云同步数据)【预勾选】

# URL

POST URL:``http://{IP}:{PORT}/invoiceclient-web/api/vat/queryPrecheckInvoice?appid=XXXX`

# 请求体

{
  "hmDms":[{
      "fpHm":"xxx",
      "fpDm":"yyy"
  }],
  "rq_q":"yyyy-MM-dd",
  "rq_z":"yyyy-MM-dd",
  "xsfnsrsbh":"",
  "fpzt":"",
  "fplx":"",
  "rzzt":"",
  "period":"",
  "nsrsbh":"",
  "orgcode":"",
  "page":0,
  "size":50
}

# 请求体说明

参数 类型 长度 是否必填 默认值 描述 说明
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": "0000",
    "msg": "SUCCESS",
    "datas": {
        "contents": [
            {
                "fpDm": "3300162130",
                "fpHm": "15414913",
                "kprq": "20170831",
                "xsfMc": "杭州目庭酒店管理有限公司",
                "hjje": 175.47,
                "hjse": 10.53,
                "verifyStatus": 2,
                "selectTime": null,
                "verifyTime": null,
                "verifyType": "1",
                "fplx": "4",
                "fpzt": "0",
                "xsfNsrsbh": "9133010659309462XE",
                "period": null,
                "taskStatus": 1
            }
        ],
        "totalNum": 1286
    }
}

# 返回值说明

参数 类型 描述 说明
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 当前状态不可取消认证(时间
Last Updated: 10/13/2023, 11:36:13 AM