④ 自然人开票校验
出售人(自然人)开票资格校验:查税局阻断名单标志,并返回月累计/年累计开票金额,内置 60 万(个税分档线)/180 万(预警线)/500 万(经营主体登记红线)三道年累计校验。建单前的第四道闸。数据类接口。
属「乐企联用 · 报废产品收购(9 个业务接口)」——底层编排 乐企原子接口,你只调这一个。
接口(数据类)
POST https://openapi.kailingteck.com/api/v1/invoice/reverse/lqbiz/seller/check
鉴权:X-App-Key + X-Timestamp(Unix 秒) + X-Sign(= sha256(appKey + 时间戳 + 报文 + appSecret))。正式 AppKey/AppSecret 请联系开灵商务或您的开灵项目经理获取,联调期可先用演示密钥。
内置能力:内置 60 万/180 万/500 万三道年累计校验线 内部编排:CXZRRKPXX
请求参数
| 参数 | 必填 | 说明 |
|---|---|---|
zrrxm | 必填 | 自然人姓名 |
sfzjhm | 必填 | 身份证件号码 |
sfzjlx | 选填 | 证件类型,默认 201 居民身份证 |
返回参数(data)
| 参数 | 说明 |
|---|---|
allowed | boolean,=非阻断名单 且 年累计未超 500 万 |
blockedFlag | boolean,税局阻断反向开票自然人标志(zdfxkpzrrbz=Y) |
monthTotal | 月累计开票总金额(一人式金额,含乐企/电票/税控三渠道) |
yearTotal | 年累计开票金额(乐企普票+乐企专票+电票普票) |
thresholds.over60w | 超 60 万:个税进入 0.5% 档(60 万内 0.25%,2026 年 12 号公告三流合一口径) |
thresholds.over180w | 超 180 万:平台预警线,建议关注 |
thresholds.over500w | 超 500 万:红线,不得继续反向开票,应引导办理经营主体登记 |
detail | 乐企原始累计字段(lqfxkpppje/lqgsljje/yjgsljse 等,算税引擎同源取数) |
hint | 分档结论文案,可直接展示 |
请求示例
{ "zrrxm": "李建国", "sfzjhm": "37061119790101001X" }返回示例(成功)
{ "code": "CYT_00000", "msg": "success", "requestId": "cyt_xxx", "data": {
"allowed": true, "blockedFlag": false,
"monthTotal": 56000, "yearTotal": 420000,
"thresholds": { "over60w": false, "over180w": false, "over500w": false },
"detail": { "yljkpzje": 56000, "lqfxkpppje": 420000, "lqgsljje": 300000, "yjgsljse": 750 },
"hint": "校验通过"
} }返回示例(失败/业务拦截)
{ "code": "CYT_00000", "msg": "success", "data": {
"allowed": false, "blockedFlag": false,
"monthTotal": 260000, "yearTotal": 5230000,
"thresholds": { "over60w": true, "over180w": true, "over500w": true },
"hint": "年累计开票总额已超 500 万红线,应引导办理经营主体登记"
} }异常与报错
| 情形 | 含义与处理 |
|---|---|
| HTTP 200 · allowed=false | blockedFlag=true 为税局阻断名单,不可开;over500w=true 引导办理经营主体登记转正向开票 |
| HTTP 502 · CYT_50200 | 查询失败;常见:姓名与证件号不一致 |
前端怎么用
const r = await post('/lqbiz/seller/check', { zrrxm, sfzjhm });
if (!r.data.allowed) return alert(r.data.hint); // 阻断/超500万 → 拦截建单
if (r.data.thresholds.over60w) toast('该出售人年累计已超 60 万,本单个税按 0.5% 档');