工商核验规则
判定售粮人能否开具农产品收购发票 · 本文档描述的即为线上实际实现
版本 v2.0
状态 已上线运行
数据源 天眼查开放平台(实时)
更新 2026-08-28
总原则(不变)
售粮人名下只要有市场主体——公司、个体工商户、农民专业合作社、家庭农场,全都算——就不能给他开农产品收购发票。
道理:他有执照就能自己开票给你,你要他的票即可。收购发票是为「开不了票的农业生产者个人」设的补丁,他有执照,这个补丁就不该用。
1数据源与调用方式(实际实现)
| 数据源 | 天眼查开放平台,实时按次计费。用到两个接口:search/2.0(按关键词搜企业)+ ic/baseinfoV2(企业工商详情)。核验明细不落本库,只保存结论与留痕。 |
| 调用链 | 两轮搜索 → 筛候选 → 逐家查详情 → 要素比对(见第 2 节) |
| 触发时机 | 建档时自动查;开单页选人时实时查;档案列表可点「重新核验」强制重查 |
| 缓存 | 核验结论缓存 24 小时;企业详情缓存 7 天。同一人一天内重复查不重复计费 |
| 费用上限 | 一次核验最多 2 次搜索+8 次详情;省内无同名时只花 2 次搜索 |
| 失败兜底 | 接口超时/欠费时自动退回模拟结果并明确标注「外部接口暂不可用」,不卡建档不卡开单 |
2查询流程(为什么是两轮搜索)
第一轮 search(姓名) → 拿「全国同名法人总数」
第二轮 search(姓名 + 客户所在市) → 把本地小主体捞出来
合并去重 → 筛选:法人/经营者姓名精确相等 + 执照存续 + 同省
→ 前 8 家逐个查工商详情(地址 / 电话 / 经营范围)
→ 按第 3 节要素分层判定
▲ 两个实战踩出来的坑(v2.0 的由来)
坑一·搜索截断:全国同名 5000 人时,第一页全是大企业,本地小公司小个体户根本进不来——真实测试中一位售粮人名下 6 家公司全部漏掉。解法:第二轮「姓名+市」组合搜索,同一个人组合搜只有 19 条、全是相关的。
坑二·个体户漏判:搜索结果的匹配类型,公司标「法定代表人匹配」、个体户标「经营者匹配」,按前者过滤会漏掉全部个体户。现改为直接比对法人/经营者姓名字段。
3要素分层与判定(实际实现)
详情接口返回注册地址(到村级)、登记电话、经营范围全文,三要素齐了:
| 要素 | 匹配到 | 强度 | 说明 |
| 登记电话 | 与档案手机号完全一致 | 强 · 单独定案 | 实测有效:真人真号测试一次命中两家公司 |
| 注册地址 | 含档案的村 | 强 | 详情地址精确到村,字符串含匹配 |
| 含档案的乡镇 | 强 | 同上 |
| 含客户经营县 | 中 · 需叠加 | 叠加经营范围含粮 → 升强 |
| 仅同省 | 不计 | — |
| 经营范围 | 含 粮/谷物/米业/农产品/农业/种植/收购/饲料 | 中 · 旁证 | 查详情全文,不再只看企业名称 |
强命中 = 电话一致 或 村/乡镇地址匹配 或(同县+经营范围含粮)
→ 阻断收购发票,转人工核实
中命中 = 仅同县 或 仅经营范围含粮(省内有同名但定不了案)
→ 不阻断,档案挂橙标「留意」
弱 = 仅全国同名,省内无要素命中
→ 放行,记录留痕(证明查过)
4地理锚点从哪来(实际实现)
| 锚点 | 来源 |
| 农户的省 | 身份证号前两位自动判(13→河北、21→辽宁,31 省映射)——河北农户查河北,不写死 |
| 农户的乡镇/村 | 建档时录入(必填),用于村乡级强匹配 |
| 「同县」的县 | 当前客户(收购企业)的经营县——开客户时从工商注册地址自动解析入档,每家客户各用各的县 |
| 组合搜索的市 | 客户工商注册地址解析出的地级市;无则退县名、再退省名 |
客户的经营地址在顾问开客户时自动带出:输入公司名关键词 → 天眼查模糊搜索选中 → 省、县、电话、税号、法人自动入档。
5实测案例(真人真号验收)
强命中 · 电话定案
河北农户(身份证 1306 开头)+真实手机号 → 全国同名法人 5000 位
第二轮「姓名+保定」搜索捞出其名下多家公司+个体户
其中两家登记电话 = 档案手机号 → 强命中·阻断,转人工核实
修复搜索截断前这个人只判到「中命中」——他名下的公司全没进第一页。
正确降级 · 不误拦
同名人在
大连有农业合作社,但农户在
黑山:地址不含其村乡、非客户同县、电话不符
→ 中命中·不阻断(升级前按「同省+名称含粮」会误拦)
6命中后的人工处理(已上线)
| 操作 | 后果 |
| 确认是同一人 · 转对方开票 | 主体类型改「有照主体」,其全部待开单转阻断,应由其自有主体开票给本企业 |
| 不是同一人 · 核实放行 | 必须填写核实依据,放行并留痕备查 |
| 重新核验 | 档案列表按钮,强制跳过缓存重查(规则升级后刷旧档案、农户注销执照后复查) |
建档、核验、放行、确认全部写入操作日志——稽查最怕的不是出错,是什么都没做。
7已实现 / 待实现
| 能力 | 状态 | 说明 |
| 两级实时核验(搜索+详情) | 已上线 | 电话 / 村乡 / 县+粮 全要素 |
| 按身份证判省、按客户定县 | 已上线 | — |
| 中命中档位(留意不拦) | 已上线 | — |
| 缓存、兜底、留痕、重新核验 | 已上线 | — |
| 承诺书 | 已上线 | 纸质签字拍照存档(建档拍照区),不做电子签 |
| 人员搜索接口(按人直接列名下全部企业) | token 无权限 | 开通后可替代两轮搜索,覆盖率 100% |
| 农户县级定位(身份证前 6 位→区划表) | 待做 | 内置区划码表即可,规则不变 |