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

工商银行 · 乐企直联(反向开票)

工行融e聚「乐企联用」把 钱(工行打款)和票(乐企开票)绑在一起,一次付款、票和税一起出。开灵中台在中间:对外给你们的系统一套简单接口,对内替你们扛工行的签名和加密。 先看执行流程(谁在什么时候做什么、要多久), 再看四张时序图按节点逐个开发。

看图说明:四条竖线 = 四个角色,箭头 = 谁给谁发一件事,从上往下是时间顺序。 橙色=最关键的一步(付款) · 紫色虚线=工行给你回复/通知 · 中间「开灵中台」那条线,就是我们要开发封装的地方。

执行流程 · 一家新企业上线,谁在什么时候做什么

一家新的回收企业,从签约到开出第一张发票,一共走五步。技术对接只做一次,但每家企业的开户和授权手续都要单独走一遍。整体预计 2 至 3 周,最慢的是工商银行分行建档。

第一步 · 在工商银行开户建档预计 1 至 2 周
1准备企业资料:营业执照、法人身份证、对公账户等回收企业1 至 2 天
2把资料交给工商银行分行,办理签约、建档、开通银税e联工商银行分行3 至 5 天
3工商银行发回这家企业的子商户编号(开票时要用)工商银行分行随建档完成

银行内部流程,催不动,请预留时间。这一步没办完,后面全部免谈。

第二步 · 开灵平台开通预计半天
4在控制台签发接口密钥,渠道选「工商银行」开灵10 分钟
5配置企业品牌(名称、LOGO、主色),用于客户页面白标开灵10 分钟
6把密钥、接口文档、对接说明交给客户技术人员开灵当天
第三步 · 企业做税务授权预计半小时
7在控制台生成企业开通二维码,连同说明发给企业负责人开灵5 分钟
8用「电子税务局」App 扫码、刷脸、设置授权有效期回收企业10 分钟
9在电子税务局里手动下载一次发票,开票额度才会生效回收企业5 分钟

必须法定代表人或财务负责人本人操作,而且要用「电子税务局」App 扫码,微信和工商银行 App 都扫不了。

第四步 · 客户业务系统对接预计 3 至 5 天
10按开灵接口文档开发对接(下面的时序图就是给这一步看的)客户技术3 至 5 天
11在测试环境联调,把收购、付款、开票全流程跑通客户技术 + 开灵1 至 2 天

可与第一步同时进行,不用干等。工商银行的加密与签名全部由开灵承担,客户不用碰。

第五步 · 散户入驻每个散户办一次,1 至 3 天
12扫码打开入驻页,核对身份证与银行卡信息散户本人3 分钟
13手机刷脸完成实名认证散户本人2 分钟
14系统自动把散户和银行卡报给工商银行,建成收款人系统自动即时
15工商银行分行审核收款人工商银行分行1 至 3 天
完成 · 正式开票循环使用
16收购下单,企业负责人付货款,工行自动开票、缴税、打款给散户客户系统 + 企业负责人每票几分钟

三件最容易出错的事

  1. 税务授权必须由法定代表人或财务负责人本人操作,而且要用「电子税务局」App 扫码,微信和工商银行 App 都扫不了。找别人代扫无效。
  2. 授权办完之后,一定要再去电子税务局手动下载一次发票,否则开票会一直失败。这一步最容易被漏掉,漏了从表面看不出原因。
  3. 工商银行的分行建档和散户审核都是银行内部流程,催不动,请预留时间。技术对接可以和这两件事同时进行,不用干等。

图 0 · 企业开通(每家回收企业办一次)

回收企业自己先在工行 + 税务这边把身份和授权办好,之后才能给散户开票。④⑤ 两步是新补的验收环节 —— 以前发出去就不知道老板办没办完,现在查得到了。

散户 / 老板你们的系统开灵中台工商银行①找工行要一个"企业授权二维码"②工行把二维码给回来生成二维码,发给老板微信③法人/财务登录「电子税务局」后扫码授权实人认证 + 录入授权有效期(老板自己在手机上完成)老板还要在电子税务局手动下载一次发票,自动开票额度才生效④查开票人员确认状态 —— 老板到底办完没有未确认 / 已确认 / 已拒绝 / 已解除,可轮询⑤查剩余发票额度 —— 发票下载了没有"已下载额度"还是 0,就说明上一步的下载漏了④⑤ 两项都过 = 这家企业开通完成,可以开票了

图 A · 散户入驻(每个散户办一次:扫脸实名 + 建收款人)

散户第一次卖货前办一次:资料在你们自己界面填,中间借工行扫脸实名,最后把散户报给工行建成"收款人"。

散户 / 老板你们的系统开灵中台工商银行①散户填身份证、银行卡拍照自动识别 · 在你们自己的页面②带散户去工行"扫脸认证"生成工行扫脸页面③工行给回扫脸页面入口④散户在工行页面刷脸眨眼等活体检测,散户自己完成⑤问工行:这人扫脸过了没?⑥把散户 + 银行卡报给工行,建成"收款人"工行分行审核这个收款人⑦工行通知:通过 / 驳回以后散户换银行卡 / 注销 / 查状态,也各有一个接口(改 · 删 · 查)

扫脸的活体检测有 动态 / 静态 / 无 三种,用哪种要跟工行分行确认(H5 直连还是 App 集成聚富通 SDK)。

图 B · 每卖一票(散户入驻后,循环)

散户入驻后每卖一票走这条线;第 ④ 步"付款"是扳机,一按,工行把钱和票一起出。

散户 / 老板你们的系统开灵中台工商银行①先问工行:这个散户还能开票吗?查额度红线 · 近12月500万 / 年200万②再问:企业还有发票额度吗?额度不够就别往下走了,省得开到一半失败③把这一票的开票信息报给工行下单卖的什么、多少钱、开给谁,一次报上去④散户在工行侧确认这一票金额散户自己点,你们不用管⑤老板付货款 ★一单一付,或勾一批订单批量付付款成功 → 工行自动:开票 + 替散户把税交了 + 把剩下的钱打给散户以上是默认走法「企业替散户交税」。如果这一票要让散户自己去交税,改走下面的图 B2⑥工行通知:票开好了开票 / 缴税 / 支付 状态推给你们⑦兜底再查一下开到哪步了确认 / 付款 / 开票 / 上传 / 缴税 5 个状态⑧上传失败的票,重试一次失败原因常见:当期未下载发票额度⑨把开好的数电票下载下来

图 B2 · 散户自己交税(和图 B 二选一)

平常都是企业替散户把税交了(图 B),散户拿到手的是税后的钱。 再生资源回收这类业务里,还可以换成散户自己去交税—— 企业把货款全额给散户,税让散户本人去办。

对企业来说差别就两点:付出去的钱变多了(全额货款,不再扣税),但税不归企业管了。选哪种在下单那一步就要定,开完票再改不了。

散户 / 老板你们的系统开灵中台工商银行这条线只在「再生资源回收」这类业务里有,而且要在下单那一步就选定,中途改不了①下单时说明:这一票的税由散户自己交跟平常下单是同一步,只是多勾一个选项②散户在工行侧确认这一票金额散户自己点,跟平常一样③老板付货款 ★注意:这次付的是全额货款,里面不含税钱这里是和平常最大的不同 —— 工行不再替散户扣税,货款一分不少全打给散户④工行通知:票开好了票是开出来了,但这一票的税还没交税由散户本人去交,自己在电子税务局或银行渠道申报缴纳。这一步企业和平台都插不上手⑤每天拉一次对账单,看散户到底交了没对账单里能看到这一票是谁交的税、交了多少散户拖着不交会怎么样,由税务规定说了算,不是工行接口能管的 —— 这点要提前跟客户讲清楚

图 C · 日常运维与对账(周期性,不在单票流程里)

这条线不在"卖一票"里,但决定这套东西能不能长期稳定跑: 授权别过期、额度别用光、每月账对得上。都是定时任务,不需要人盯。

散户 / 老板你们的系统开灵中台工商银行①定期刷新企业授权令牌授权到期前自动续,不用再麻烦老板扫一次码②盯着发票额度,快用完就预警同时能看出企业有没有漏做"下载发票"③每月拉一次开票汇总蓝票/红票 张数金额税额 + 已缴税费 + 确认状态④每天取一次缴税对账单SFTP 下载昨日缴税流水,验签解压后逐笔与本地订单勾兑④ 走 SFTP 不走 HTTP:gw.open.icbc.com.cn:8001 的 download 目录取 zip+sign+check 三件套,验签且比对文件大小后才可入库。T+1 出账,拿不到当天数据。对账单字段可查:实际缴税金额、是否需要补缴、缴纳方式(自然人自办/企业委托扣缴)、发票是否可下载;靠 merOrderId 与我方订单号勾兑。

封装顺序清单(25 个工行接口 · 严格按业务从前到后)

1–11 = 主线闭环(对应上方图 0/A/B,建完就能演示"开出一张票");12–19 = 支线(收款人维护、异常冲红、退税对账);20–25 = 工行补充的新接口(开通验收、额度管控、批量付款、失败重试、令牌续期、月度对账)。

封装序阶段大白话开灵方法工行接口状态
底座—签名/加密底座lib/upstream/icbc-leqi.tsRSA2 + AES(已建)✅ 已建·已测
1企业开通企业授权二维码POST /api/v1/icbc/enterprise/auth企业授权与发票管理接口✅ 已建·已测
2散户入驻带散户去扫脸POST /api/v1/icbc/receiver/face-auth实人认证H5页面接口✅ 已建·已测
3散户入驻查扫脸结果POST /api/v1/icbc/receiver/face-auth/query实人认证H5结果查询接口✅ 已建·已测
4散户入驻建成"收款人"POST /api/v1/icbc/receiver/add反向开票自然人新增接口✅ 已建·已测
5散户入驻接入驻审核结果/api/callback/icbc + /receiver/audit-status智慧清分收方审核异步通知✅ 已建·已测
6每卖一票查能不能开 · 500万红线POST /api/v1/icbc/person/quota查询自然人开票信息接口✅ 已建·已测
7每卖一票下单POST /api/v1/icbc/order/pre开票信息预下单接口⚠ 待工行文档
8每卖一票老板付款(扳机)POST /api/v1/icbc/order/pay开票付方支付接口✅ 已建·已测
9每卖一票接开票通知/api/callback/icbc + /invoice/notify-status银税协同通知报文(反向开票通知)✅ 已建·已测
10每卖一票查开票状态POST /api/v1/icbc/invoice/query开票信息预查询接口✅ 已建·已测
11每卖一票下载发票POST /api/v1/icbc/invoice/download发票下载接口✅ 已建·已测
12收款人维护散户换银行卡POST /api/v1/icbc/receiver/update反向开票自然人修改接口✅ 已建·已测
13收款人维护散户注销POST /api/v1/icbc/receiver/delete反向开票自然人删除接口✅ 已建·已测
14收款人维护查散户POST /api/v1/icbc/receiver/query反向开票自然人查询接口✅ 已建·已测
15异常红冲POST /api/v1/icbc/invoice/red-offset红字冲销开票接口✅ 已建·已测
16异常撤销红字确认单POST /api/v1/icbc/invoice/red-offset/revoke红字冲销确认单撤销接口✅ 已建·已测
17异常作废发票POST /api/v1/icbc/invoice/reversal发票取消接口✅ 已建·已测
18退税/对账退税POST /api/v1/icbc/invoice/back-tax开票退税接口(仅再生资源)✅ 已建·已测
19退税/对账拉对账单(SFTP)需 SFTP + 凭据(非透传)国税再生资源对账单文件获取接口⚠ 待工行文档
20企业开通老板授权办完没有POST /api/v1/icbc/invoice/register-confirm查询开票人员登记确认状态接口✅ 已建·已测
21企业开通 · 每卖一票还能开多少票 / 额度激活没POST /api/v1/icbc/invoice/ticket-info查询剩余发票信息接口✅ 已建·已测
22每卖一票批量付款开票POST /api/v1/icbc/order/batch-pay开票批量实名签接口✅ 已建·已测
23异常上传失败重试POST /api/v1/icbc/invoice/upload-retry发票上传重试接口✅ 已建·已测
24运维刷新企业授权令牌POST /api/v1/icbc/enterprise/refresh-auth刷新企业授权令牌接口✅ 已建·已测
25退税/对账月度开票汇总对账POST /api/v1/icbc/invoice/summary-confirm查询发票汇总确认信息接口✅ 已建·已测

工行凭据在 控制台 → 工商银行 tab 配置,未配前接口返回 mock、不扣费。