验证中国统一社会信用代码
通过检查允许的字符、五段结构、MOD 31-3 校验和以及匹配的公司记录,验证中国统一社会信用代码。
验证中国统一社会信用代码需要进行三项独立测试:规范化可见字符,验证18位结构和校验和,然后确认该代码返回了您预期的法律实体。 通过前两项测试意味着代码在内部是一致的。但这并不能证明公司存在、处于活跃状态或属于发送该代码的供应商。
使用正确的标准
管理的国家标准编码规则是 GB 32100-2015,《法人和其他组织统一社会信用代码编码规则》。国家公共标准平台将其列为现行标准,发布日期为2015年9月17日,实施日期为10月 1,2015。 打开官方标准记录。
使用全称 统一社会信用代码 或USCC(统一社会信用代码)用于审核文件。“注册号”、“税号”和“许可证号”可能在供应商消息中被宽松使用,但此处正在测试的值是当前18位代码,打印在相关的中国注册文件上。
步骤1:在不猜测的情况下进行规范化
将小写字母转换为大写,并删除因复制或视觉分组而引入的空格。不要仅仅因为另一个字符看起来更合理就替换可见字符。如果来源模糊不清,请将位置标记为不可读,并返回营业执照或原始电子文件。
该代码使用此31位字母表:
0123456789ABCDEFGHJKLMNPQRTUWXY
字母 I、O、Z、S和V 被排除在外。它们的存在意味着该字符串无法通过标准字符集测试。这种设计减少了与相似数字或字母的混淆,但低分辨率图像仍可能使允许的字符难以辨认。
步骤2:拆分18个位置
国家发展和改革委员会解释称,18个位置包含五个部分。 阅读官方结构说明。
- 位置 1: 登记管理部门代码。
- 位置 2: 机构或实体类别代码。
- 位置 3-8: 登记机关行政区划代码。
- 位置 9-17: 基于组织机构代码的主体标识符。
- 位置 18: 校验码。
不要将位置 3-8 视为供应商当前的工厂地址。它们描述的是登记管理信息,当主体变更地址或法定代表人时,统一社会信用代码(USCC)保持不变。分段含义有助于检测不合理的转录错误;当前公司事实仍应来自最新记录。
步骤 3:计算最终字符
将前 17 个字符映射到 31 字符字母表中的从零开始的索引位置。按顺序将这些值乘以标准权重:
1, 3, 9, 27, 19, 26, 16, 17, 20, 29, 25, 13, 8, 24, 10, 30, 28
将 17 个乘积相加。校验码索引为:
(31 - (total mod 31)) mod 31
在相同的 31 字符字母表中查找该索引。所得字符必须等于位置 18。如果不匹配,通常意味着转录错误、不允许的字符、长度错误或该字符串未按照此编码规则签发。
了解校验和能检测到的内容
由于每个主体位置都有定义的权重,校验和使得打字错误不太可能未被察觉。更改一个字符通常会改变总和,从而改变所需的最终字符。反转不同加权位置的字符也往往会改变结果。这就是为什么在校验和手动转录或光学字符识别(OCR)后使用该测试很有用。
它不是数字签名。有人可以构造一个新的字符串并计算出数学上正确的最终字符,如下面的训练示例所示。校验和不会联系登记管理机构,不能证明代码已签发,不能识别提供者,不能揭示当前状态,也不能将其与发票关联。它仅测试一个 18 字符的字符串是否与编码规则一致。
不要通过替换允许的字符或重新计算位置 18 来无声地“修复”失败的代码。这会创建一个没有源文档的不同字符串。请返回执照,比较另一份原始文件,或要求供应商提供更清晰的副本。在确定签发值之前,在审核记录中保留两种变体。
校验和工作示例
以下是 一个构造的训练字符串,而非已签发的公司标识符:
9 | 1 | 310000 | ABCDEFGHJ | W
移除分隔符以获得 91310000ABCDEFGHJW。对于前 17 个字符,计算开始于 (9×1) + (1×3) + (3×9) + ... + (18×28)。使用所有标准权重产生的总和为 2,700。
2700 mod 31 = 3(31 - 3) mod 31 = 28- 字母表索引 28 为
W
最终 W 因此通过了此构造主体的校验和。该结果仅确立数学一致性。它不会将训练字符串转变为已签发的代码或公司记录。
步骤 4:匹配注册结果
搜索完整的统一社会信用代码(USCC),并记录返回的准确中文法定名称。将其与营业执照、合同方、发票开具方以及供应商声称代表的公司进行比对。同时记录当前的注册状态和搜索日期。
校验和有效但无匹配记录的情况属于未解决。代码有效但返回不同公司的情况属于身份不匹配。公司匹配但状态为非经营或终止的情况属于状态问题。请将这些结果分开处理,而不是将所有三种情况报告为“统一社会信用代码无效”。
中国注册规则要求统一社会信用代码必须出现在市场主体的营业执照上。 请参阅官方执照字段规则。国家税务总局的英文国家说明也指出,在当前制度下,实体的税务识别号通常使用18位的统一社会信用代码。 阅读官方英文税务识别号说明。历史标识符需要单独解读。
诊断失败或冲突的代码
根据失败类型决定下一步检查内容,而不是报告通用的无效结果。
长度错误
仅移除空格。如果结果仍不是18位,请检查文档是否显示历史注册或税务号码、图像是否被裁剪,或者两个字段是否被连接。不要添加前导零或猜测的校验字符。
禁止使用的字符或校验和不匹配
逐位比较源数据。特别注意模糊的字母和数字,但绝不要凭记忆替换它们。如果两份供应商文件显示不同的字符串,请识别每份文件的日期和开具方,并要求提供当前营业执照。
校验和通过但未找到公司
确认搜索涵盖了相关实体类型,并且提交了完整代码。然后以单独的途径搜索完整的中文法定名称。保留“确认无匹配记录”作为结果;不要将其降级为格式通过。
搜索返回另一个法定名称
将返回的中文名称与供应商提供的名称并列保存。曾用名、关联公司、分支机构、发票开具方和无关联公司需要不同的解释。共享的销售联系人并不意味着独立实体共享同一个统一社会信用代码。
精确报告结果
在供应商文件中使用以下陈述之一:
- 格式失败: 长度错误或包含标准字母表之外的字符。
- 校验和失败: 最后一个字符与前17个位置不匹配。
- 校验和通过,未确认实体: 数学结构通过,但未建立匹配的官方记录。
- 实体不匹配: 代码返回的法定名称与供应商文件中的名称不同。
- 实体匹配: 代码与中文法定名称匹配;状态和交易检查保持独立。
对于文档上下文,返回到 阅读中国营业执照。对于历史税号差异,请使用 统一社会信用代码与中国税号对比。要测试实体匹配, 搜索完整的统一社会信用代码。
本指南验证代码结构并解释身份匹配。它不认证供应商、确立信用度或批准交易。