跳到正文
开灵科技 - 北京开灵科技有限公司API百宝箱

㉑ 查还能开多少票

一句话:这家企业还能开多少钱、还剩几张票、额度激活了没有。 每天开票前跑一遍,能挡掉绝大多数「开到一半失败」。数据类:POST 进 / 工行原样 JSON 出。

接口

POST  https://openapi.kailingteck.com/api/v1/icbc/invoice/ticket-info

鉴权:请求头 X-App-Key + X-Sign + X-Timestamp(同其它开灵接口)。

请求参数(工行全字段 · 原样传)

工行字段必填大白话说明
appId中台填平台编号(开灵自动填,你不用传)
taxpayerNo必填开票企业的税号(统一社会信用代码)
{ "taxpayerNo": "11000000000000003705" }

⚠ 最常见的开票失败原因就藏在这里

taxOffDownLimit(已下载额度)= 0,说明企业漏了一步:授权完成后,要先在税局端 / 乐企端手动下载一次发票额度。

税局的逻辑是:额度先「授予」,企业再「下载」到本地,下载过的额度才能真开票。很多企业法人扫完码就以为办完了, 结果一开票报「当期未下载发票额度,无法开具」。碰到这个报错,不用查别的,直接看这个字段:

  • taxOffDownLimit = 0 → 让企业去下载一次发票,下载完这个数就有了;
  • taxOffDownUnusedLimit = 0 但 taxOffDownLimit 有值 → 下载过的额度用完了,再下载一次;
  • totalRemainNum = 0 → 钱够但票不够(份数用光),同样要去领票;
  • 配上 numLimit / amountLimit 阈值可以让系统自动下载,一劳永逸。

发现问题后要重开的那张票,用 ㉓ 发票上传重试 重推即可,不用重新下单。

返回(工行原样返回)

工行字段大白话说明
returnCode返回码(0-成功,其它-失败)
returnMsg返回信息
taxOffPauseInvoiceFlag税局是不是把这家企业停开了:y-已暂停 / n-未暂停。是 y 就别开了,先去税局问原因
taxOffCurrMonInvoiceLimit税局给的本月发票额度(元)
taxOffUsedRemainLimit税局端可用剩余额度(元)——还能开多少钱
taxOffDownLimit税局端已下载额度(元)。⚠ 这个是 0 就开不出票,见下方提示
taxOffDownUnusedLimit税局端已下载但还没用掉的额度(元)——这才是真正立刻能开的钱
localAvaRemainLimit本地(乐企平台侧)可用剩余额度(元)
localDownLimit本地已下载额度(元)
localUsedLimit本地已使用额度(元)
localLimitDateStart本地发票额度有效期起 yyyyMMdd
localLimitDateEnd本地发票额度有效期止 yyyyMMdd
totalRemainNum总剩余份数(还能开几张票,和额度是两回事,两个都得够)
numLimit发票张数阈值:低于这个数自动去税局下载。0 或空 = 没配自动下载
amountLimit发票额度阈值:低于这个金额自动去税局下载。0 或空 = 没配自动下载
invoiceInfoList发票号段(赋码)明细,数组,字段见下表
vendorNatureDetail企业行业性质明细,数组,字段见下表

invoiceInfoList 发票号段明细

工行字段大白话说明
invoiceStartCode发票起始号码
invoiceEndCode发票终止号码
invoiceNum本号段领用份数
remainNum本号段剩余份数
dataEntryDate入库日期 yyyy-MM-dd HH:mm:ss
currentUnusedCode当前未开号码(下一张票要用的号)

vendorNatureDetail 企业行业性质明细

工行字段大白话说明
vendorNature企业行业性质代码。反向开票只关心两个:50-资源回收企业反向开票·一般计税(可开报废产品收购专票 + 普票)、51-资源回收企业反向开票·简易计税(只能开普票)。其余为成品油 / 机动车 / 稀土 / 卷烟 / 出口退税 / 农产品收购等场景代码(01~39)
validDateStart该资质有效期起 yyyy-MM-dd
validDateEnd该资质有效期止 yyyy-MM-dd。快到期要提前去税局续,过期直接开不了

「税局端」和「本地」两套额度都返回:税局端是真实源头,本地是乐企平台缓存的可用量。以 taxOffDownUnusedLimit 判断能不能开最准。 未配工行凭据时返回 { mock: true }。