Validar um USCC chinês

Valide um Código Unificado de Crédito Social (USCC) chinês verificando seus caracteres permitidos, estrutura em cinco partes, soma de verificação MOD 31-3 e o registro da empresa correspondente.

A validação de um Código Unificado de Crédito Social (USCC) chinês requer três testes separados: normalizar os caracteres visíveis, verificar a estrutura de 18 caracteres e a soma de verificação e, em seguida, confirmar que o código retorna a entidade jurídica esperada. Passar nos dois primeiros testes significa que o código é internamente consistente. Isso não prova que uma empresa existe, está ativa ou pertence ao fornecedor que a enviou.

Analista de conformidade verificando um identificador comercial desfocado com uma calculadora e tela de validação
O caractere de verificação pode capturar muitos erros de transcrição, mas a decisão final ainda depende do registro da empresa retornado pelo código.

Use o padrão correto

A regra nacional de codificação governante é GB 32100-2015, Regra de codificação do identificador unificado de crédito social para entidades jurídicas e outras organizações. A plataforma nacional de padrões públicos a lista como atual, com publicação em 17 de setembro de 2015 e implementação a partir de 1 de outubro de 2015. Abra o registro oficial do padrão.

Use o termo completo Código Unificado de Crédito Social ou USCC no arquivo de revisão. “Número de registro”, “número fiscal” e “número de licença” podem ser usados de forma vaga nas mensagens dos fornecedores, mas o valor sendo testado aqui é o código atual de 18 caracteres impresso no documento relevante de registro chinês.

Etapa 1: normalizar sem suposições

Converta letras minúsculas para maiúsculas e remova espaços introduzidos por cópia ou agrupamento visual. Não substitua um caractere visível apenas porque outro parece mais plausível. Se a fonte estiver borrada, marque a posição como ilegível e volte à licença comercial ou ao arquivo eletrônico original.

O código usa este alfabeto de 31 caracteres:

0123456789ABCDEFGHJKLMNPQRTUWXY

As letras I, O, Z, S e V são excluídas. Sua presença significa que a string não pode passar no teste do conjunto de caracteres padrão. Esse design reduz a confusão com números ou letras semelhantes, mas uma imagem de baixa resolução ainda pode tornar um caractere permitido difícil de ler.

Etapa 2: dividir as posições 18

A Comissão Nacional de Desenvolvimento e Reforma explica que as posições 18 contêm cinco partes. Leia a explicação estrutural oficial.

  1. Posição 1: código do departamento de gestão de registro.
  2. Posição 2: código da categoria da organização ou entidade.
  3. Posições 3-8: código da divisão administrativa da Autoridade de registro.
  4. Posições 9-17: identificador do sujeito com base no código da organização.
  5. Posição 18: caractere de verificação.

Não trate as posições 3-8 como o endereço atual da fábrica do fornecedor. Elas descrevem a administração do registro, e o USCC permanece estável quando um sujeito altera o endereço ou o Representante legal. O significado do segmento é útil para detectar uma transcrição improvável; os fatos atuais da empresa ainda provêm de um registro atual.

Etapa 3: calcular o caractere final

Mapeie cada um dos primeiros 17 caracteres para sua posição baseada em zero no alfabeto de 31 caracteres. Multiplique esses valores pelos pesos padrão na ordem:

1, 3, 9, 27, 19, 26, 16, 17, 20, 29, 25, 13, 8, 24, 10, 30, 28

Some os produtos 17. O índice do caractere de verificação é:

(31 - (total mod 31)) mod 31

Consulte esse índice no mesmo alfabeto de 31 caracteres. O caractere resultante deve ser igual à posição 18. Uma incompatibilidade geralmente indica um erro de transcrição, um caractere não permitido, um comprimento incorreto ou uma string que não foi emitida sob esta regra de codificação.

Saiba o que a soma de verificação pode detectar

A soma de verificação torna menos provável que um erro de digitação passe despercebido porque cada posição do corpo tem um peso definido. Alterar um caractere normalmente altera o total e, portanto, o caractere final exigido. Inverter caracteres em posições com pesos diferentes também frequentemente altera o resultado. É por isso que o teste é útil após a transcrição manual ou OCR.

Não é uma assinatura digital. Alguém pode construir uma nova string e calcular um caractere final matematicamente correto, assim como faz o exemplo de treinamento abaixo. A soma de verificação não entra em contato com uma Autoridade de registro, prova que um código foi emitido, identifica quem o forneceu, revela o status atual ou o vincula a uma fatura. Ela apenas testa se uma string de 18 caracteres é consistente com a regra de codificação.

Não 'repare' silenciosamente um código falho substituindo um caractere permitido ou recalculando a posição 18. Isso cria uma string diferente sem documento de origem. Retorne à licença, compare outro documento original ou peça ao fornecedor uma cópia mais clara. Mantenha ambas as variantes no registro de revisão até que o valor emitido seja estabelecido.

Exemplo prático de soma de verificação

O seguinte é um string de treinamento construída, não um identificador de empresa emitido:

9 | 1 | 310000 | ABCDEFGHJ | W

Remova os separadores para obter 91310000ABCDEFGHJW. Para os primeiros 17 caracteres, o cálculo começa (9×1) + (1×3) + (3×9) + ... + (18×28). Usando todos os pesos padrão, produz-se um total de 2,700.

  1. 2700 mod 31 = 3
  2. (31 - 3) mod 31 = 28
  3. O índice do alfabeto 28 é W

O final W portanto passa na soma de verificação para este corpo construído. Esse resultado estabelece apenas consistência matemática. Ele não transforma a string de treinamento em um código emitido ou em um registro de empresa.

Etapa 4: corresponder ao resultado do registro

Pesquise no USCC completo e registre o nome jurídico exato em chinês retornado. Compare-o com a licença comercial, a parte contratual, o emitente da fatura e a empresa que o fornecedor afirma representar. Registre também o status atual de registro e a data da pesquisa.

Um checksum válido sem registro correspondente é não resolvido. Um código válido que retorna uma empresa diferente é uma incompatibilidade de identidade. Uma empresa correspondente com status inativo ou encerrado é um problema de status. Mantenha esses resultados separados em vez de relatar todos os três como “USCC inválido.”

As regras de registro na China exigem que o USCC apareça na licença comercial da entidade de mercado. Consulte a regra oficial do campo da licença. A nota oficial em inglês da Administração Estatal de Impostos também explica que o número de identificação fiscal de uma entidade geralmente utiliza o USCC de 18 caracteres sob o regime atual. Leia a nota oficial em inglês sobre o NIF. Identificadores históricos requerem interpretação separada.

Diagnostique um código falho ou conflitante

Use o tipo de falha para decidir o que inspecionar em seguida, em vez de relatar um resultado genérico de invalidade.

Comprimento incorreto

Remova apenas espaços em branco. Se o resultado ainda não tiver 18 caracteres, verifique se o documento mostra um registro histórico ou número fiscal, se a imagem foi cortada ou se dois campos foram unidos. Não adicione zeros à esquerda nem um caractere de verificação suposto.

Caractere proibido ou incompatibilidade de checksum

Compare a fonte posição por posição. Preste atenção especial às letras e números borrados, mas nunca os substitua de memória. Se dois documentos do fornecedor mostrarem strings diferentes, identifique a data e o emissor de cada documento e solicite a licença atual.

Checksum passa, mas a pesquisa não retorna nenhuma empresa

Confirme que a pesquisa cobriu o tipo de entidade relevante e que o código completo foi submetido. Em seguida, pesquise o nome jurídico completo em chinês como uma rota separada. Preserve “nenhum registro correspondente confirmado” como o resultado; não o degrade para uma aprovação de formato limpo.

A pesquisa retorna outro nome jurídico

Mantenha o nome chinês retornado e o nome fornecido pelo fornecedor lado a lado. Um nome anterior, empresa relacionada, filial, emitente de fatura e empresa não relacionada exigem explicações diferentes. O contato de vendas compartilhado não faz com que entidades distintas compartilhem um único USCC.

Relate o resultado com precisão

Use uma das seguintes declarações no arquivo do fornecedor:

  • Falha de formatação: comprimento incorreto ou um caractere fora do alfabeto padrão.
  • Falha de checksum: o último caractere não corresponde às primeiras 17 posições.
  • Checksum passou, nenhuma entidade confirmada: a estrutura matemática passou, mas nenhum registro oficial correspondente foi estabelecido.
  • Incompatibilidade de entidade: o código retornou um nome jurídico diferente daquele do documento do fornecedor.
  • Entidade correspondente: código e nome jurídico chinês corresponderam; as verificações de status e transação permanecem separadas.

Para o contexto do documento, volte para lendo a licença comercial chinesa. Para diferenças históricas no número fiscal, utilize USCC versus número fiscal da China. Para testar a correspondência da entidade, pesquise o USCC completo.

Este guia valida a estrutura do código e explica a correspondência de identidade. Ele não autentica um fornecedor, estabelece solvência ou aprova uma transação.