Validação da Inscrição Estadual
Validação da Inscrição Estadual
Conceito
A Microsiga disponibilizou a função 'IE' para calculo do digito verificador da Inscrição Estadual. Esta implementação auxiliará no cadastramento de cliente, fornecedores, transportadores e demais cadastros que necessitarem da Inscrição Estadual, bem como na exportação dos meio-magnéticos. A seguir demonstraremos um exemplo de preenchimento do cadastro de clientes, campo A1_INSCR.
IE(M->A1_INSCR,M->A1_EST)
Juntamente com a função de validação da Inscrição Estadual, foi disponibilizado o relatório FISRIE. Este relatório tem como objetivo indicar ao usuário do sistema quais cliente e fornecedores possuem erro no preenchimento da Inscrição Estadual.
Abaixo transcrevemos a fonte da regra de utilizada para o calculo do digito verificador obtido no site: www.sintegra.gov.br.
VERIFICAÇÃO DOS DÍGITOS DE TODAS AS INSCRIÇÕES ESTADUAIS (IEs)
1) INSTRUÇÕES
1.1) Inicialmente, enquadra-se a IE numa das linhas da tabela 2), identificando a UF e utilizando o critério de enquadramento, e se confere o seu tamanho, que deve coincidir com o contido na coluna Tam. Só se deve considerar os dígitos de 0 a 9, incluindo posições que contêm o dígito verificador (DV), e deixando de lado os separadores, como ?.?, ??? ou ?/?.
1.2) Depois, confere-se a formação de cada um dos dígitos, contando a posição de cada um deles da direita para a esquerda, e comparando-os com os valores nas colunas de Valores possíveis para os dígitos, cujo conteúdo é esclarecido no item 3) abaixo.
1.3) Confere-se o dígito verificador DVX, utilizando para cada caso os seguintes procedimentos: Primeiro, se multiplica cada dígito di pelo peso pi na tabela de pesos (coluna TP) correspondente, obtendo-se novos valores mi e calcula-se ainda a soma S de todos os mi. As tabelas de pesos são identificadas como P1 a P13, e estão todas relacionadas no item 5) abaixo.
1.4) Em seguida, executam-se as rotinas definidas em 4) abaixo, e que variam de uma caso para outro, segundo a coluna Rot.
1.5) Se o DV obtido em 1.4) for 10, substitui-se o DV por zero; se for 11, substitui-se o mesmo pelo Fator f correspondente. Compara-se então o DV calculado com aquele contido na posição em que está DVX, verificando assim a validade desse último.
1.6) Caso a IE também possua um outro dígito verificador DVY, repete-se os passos 1.3) a 1.5), com DVY no lugar de DVX.
1.7) Pode se simplificar a verificação feita em 1.3) a 1.6), agrupando-se os casos com rotinas de verificação similares. Para DVX, os casos são: i) AC/1, AP/3, AM, CE, ES, GO/2, MA, MS, PA, PB, PI, SC, SE, AC/2, BA/1, BA/2, DF, GO/1, MT, PR, PE, RJ, RS, RO e TO, que usam a mesma rotina E, sendo que os parâmetros f, Md e TP são iguais nos primeiros treze casos relacionados (de AC/1 a SE), diferindo nos demais casos; ii) AL e RN, usando B e D; iii) AP/1 e AP/2, usando C e E; iv) SP/1, SP/2 e RR, usando D; v) MG, usando A e E. No cálculo de DVY, todos usam a rotina E, exceto SP/1.