Portal do Governo do Estado de São Paulo

Governo do Estado de São Paulo



Posto Fiscal Eletrônico
Sintegra

FÓRMULA PARA CÁLCULO DO DÍGITO VERIFICADOR DA INSCRIÇÃO ESTADUAL

A fórmula para o dígito verificador da inscrição estadual é feita em módulo 11.

Regra Geral:

Em todas as contagens de posições de caracteres e cálculos efetuados deverão ser ignorados caracteres diferentes da letra "P" e dos algarismos 0, 1, 2, 3, 4, 5, 6, ,7, 8 e 9.

Industriais e comerciantes (exceto produtores rurais a eles não equiparados)

Formato: 12 dígitos sendo que o 9º e o 12º são dígitos verificadores

Exemplo: Inscrição Estadual 110.042.490.114

a) Cálculo do 1º dígito verificador, ou seja, do 9º dígito contado a partir da esquerda:

Atribui-se um peso a cada dígito da Inscrição Estadual seguindo a ordem utilizada abaixo:

                   1   1   0   0   4   2   4   9   0   1    1   4
                   1   3   4   5   6   7   8  10  ( PESOS )

( 1  x  1 )  +   ( 1  x 3 )  +   ( 0  x  4 )  +   ( 0  x  5 )  +  ( 4  x  6 )  +   ( 2  x 7 )  +   ( 4  x  8 )  +   ( 9  x  10 ) =  

                 1 + 3 + 0 + 0 + 24 + 14 + 32 + 90 = 164

O dígito verificador será o algarismo mais à direita do resto da divisão do resultado obtido acima (164) por 11:
     164 / 11 = 14 com resto = 10,
                   
                 então o 1º dígito verificador (9ª posição) é   0 (zero)

b) Cálculo do 2º dígito verificador, ou seja, do 12º dígito contado a partir da esquerda:

Atribui-se um peso a cada dígito da Inscrição Estadual seguindo a ordem utilizada abaixo:

                   1   1   0   0   4   2   4   9   0   1    1   4
                   3   2   10   9   8   7   6  5   4   3   2   (PESOS)

     ( 1  x  3 ) + ( 1  x  2 ) + ( 0  x  10 ) + ( 0  x  9 ) + ( 4 8 ) + ( 2  x  7 ) + ( 4  x  6 ) + ( 9  x  5 ) + ( 0  x  4 ) + ( 1  x  3 )  +   ( 1  x  2 )  =  

                  3 + 2 + 0 + 0 + 32 + 14 + 24 + 45 + 0 + 3 + 2 = 125

O dígito verificador será o algarismo mais à direita do resto da divisão do resultado obtido acima (118) por 11:
     125 / 11 = 11 com resto = 4,

                 então o 2º dígito verificador (12ª posição) é   4 (quatro)

Fica então formada a inscrição:   110.042.490.114

Produtor Rural (Não equiparado a industrial ou comerciante, cujas inscrições obedecem a regra descrita no item anterior)
 Formato: P0MMMSSSSD000 13 caracteres sendo que o 10º caracter contado a partir da esquerda (“D”) é o dígito verificador
Inicia sempre com “P” e apresenta a sequência  0MMMSSSSD000, onde:
a) 0MMMSSSS são os  algarismos que serão utilizados no cálculo do dígito verificador “D” ;
b) "D" é o  dígito verificador que consiste os 8 (oito) dígitos imediatamente anteriores e
c)  000 são  3 (três) dígitos que compõem o nº de inscrição mas não são utilizados no cálculo do dígito verificador
 
Exemplo: Inscrição Estadual P-01100424.3/002

Cálculo do dígito verificador, ou seja, do 10º dígito contado a partir da esquerda, incluindo-se na contagem a letra “P”:

Atribui-se um peso a cada dígito da Inscrição Estadual a partir do primeiro 0 (zero) seguindo a ordem utilizada abaixo:

                   0   1   1   0   0   4   2   4   3
                   1   3   4   5   6   7   8  10  ( PESOS )

        ( 0  x  1 ) + ( 1  x  3 ) + ( 1  x  4 ) + ( 0  x  5 ) + ( 0 6 ) + ( 4  x  7 ) + ( 2  x  8 ) + ( 4  x  10 )  =

                   0 + 3 + 4 + 0 + 0 + 28 + 16 + 40 = 91

O dígito verificador será o algarismo mais à direita do resto da divisão do resultado obtido acima (91) por 11:
                   91 / 11 = 8 com resto = 3

                  então o dígito verificador (10ª posição) é 3 (três)

Fica então formada a inscrição:    P-01100424.3/002


 
FÓRMULAS PARA CÁLCULO DOS DÍGITOS VERIFICADORES
DAS INSCRIÇÕES ESTADUAIS DE TODOS OS ESTADOS

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, se executam rotinas que variam de uma caso para outro, segundo a coluna Rot, e que são definidas em 4) abaixo.

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.

UF Caso CRITÉRIO DE ENQUADRAMENTO Tam Fat f Cálculo DVX Cálculo DVY VALORES POSSÍVEIS PARA DÍGITOS
    IEs incluindo o DV     Rot Md TP Rot Md TP 14 13 12 11 10 9 8 7 6 5 4 3 2 1
AC 1 IEs até 11/99 9 0 E 11 P1       -- -- -- -- -- =0 =1 0/9 0/9 0/9 0/9 0/9 0/9 DVX
AC 2 IEs após 11/99 13 0 E 11 P2 E 11 P1 -- =0 =1 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 DVX DVY
AL   Todas 9 0 B, D 11 P1       -- -- -- -- -- =2 =4 =0,3,5, 7,8 0/9 0/9 0/9 0/9 0/9 DVX
AP 1 IE <= 030170009 9 0 C, E 11 P1       -- -- -- -- -- =0 =3 0/9 0/9 0/9 0/9 0/9 0/9 DVX
AP 2 030170010 <= IE <= 030190229 9 1 C, E 11 P1       -- -- -- -- -- =0 =3 0/9 0/9 0/9 0/9 0/9 0/9 DVX
AP 3 IE >= 030190230 9 0 E 11 P1       -- -- -- -- -- =0 =3 0/9 0/9 0/9 0/9 0/9 0/9 DVX
AM   Todas 9 0 E 11 P1       -- -- -- -- -- =0 =4,7 0/9 0/9 0/9 0/9 0/9 0/9 DVX
BA 1 IE inic. com 0, 1, 2, 3, 4, 5, 8 8 0 E 10 P2 E 10 P3 -- -- -- -- -- -- 0/9 0/9 0/9 0/9 0/9 0/9 DVY DVX
BA 2 IE inic. com 6, 7, 9 8 0 E 11 P2 E 11 P3 -- -- -- -- -- -- 0/9 0/9 0/9 0/9 0/9 0/9 DVY DVX
CE   Todas 9 0 E 11 P1       -- -- -- -- -- =0 0/9 0/9 0/9 0/9 0/9 0/9 0/9 DVX
DF   Todas 13 0 E 11 P2 E 11 P1 -- =0 =7 =3,4 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 DVX DVY
ES   Todas 9 0 E 11 P1       -- -- -- -- -- =0 =0,8 0/9 0/9 0/9 0/9 0/9 0/9 DVX
GO 1 101031050 <= IE<= 101199979 9 1 E 11 P1       -- -- -- -- -- =1 =0,1,5 0/9 0/9 0/9 0/9 0/9 0/9 DVX
GO 2 IE fora do intervalo acima 9 0 E 11 P1       -- -- -- -- -- =1 =0,1,5 0/9 0/9 0/9 0/9 0/9 0/9 DVX
MA   Todas 9 0 E 11 P1       -- -- -- -- -- =1 =2 0/9 0/9 0/9 0/9 0/9 0/9 DVX
MT   Todas 11 0 E 11 P1       -- -- -- 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 DVX
MS   Todas 9 0 E 11 P1       -- -- -- -- -- =2 =8 0/9 0/9 0/9 0/9 0/9 0/9 DVX
MG   Todas 13 0 A, E 10 P10 E 11 P11 -- 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 DVX DVY
PA   Todas 9 0 E 11 P1       -- -- -- -- -- =1 =5 0/9 0/9 0/9 0/9 0/9 0/9 DVX
PB   Todas 9 0 E 11 P1       -- -- -- -- -- =1 =6 0/9 0/9 0/9 0/9 0/9 0/9 DVX
PR   Todas 10 0 E 11 P9 E 11 P8 -- -- -- -- 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 DVX DVY
PE   Todas 14 1 E 11 P7       =1 =8 1/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 DVX
PI   Todas 9 0 E 11 P1       -- -- -- -- -- =1 =9 0/9 0/9 0/9 0/9 0/9 0/9 DVX
RJ   Todas 8 0 E 11 P8       -- -- -- -- -- -- =1,7, 8,9 0/9 0/9 0/9 0/9 0/9 0/9 DVX
RN   Todas 9 0 B, D 11 P1       -- -- -- -- -- =2 =0 0/3 0/9 0/9 0/9 0/9 0/9 DVX
RS   Todas 10 0 E 11 P1       -- -- -- -- 0/4 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 DVX
RO 1 IEs até 07/2000 9 1 E 11 P4       -- -- -- -- -- 1/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 DVX
RO 2 IEs após 08/2000 14 0 E 11 P1       0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 DVX
RR   Todas 9 0 D 9 P5       -- -- -- -- -- =2 =4 0/9 0/9 0/9 0/9 0/9 0/9 DVX
SC   Todas 9 0 E 11 P1       -- -- -- -- -- 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 DVX
SP 1 IE comécio e indústria 12 0 D 11 P12 D 11 P13 -- -- 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 DVX 0/9 0/9 DVY
SP 2 IE prod rural (inicia com P) 13 0 D 11 P12       -- =P 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 DVX 0/9 0/9 0/9
SE   Todas 9 0 E 11 P1       -- -- -- -- -- 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 DVX
TO   Todas 11 0 E 11 P6       -- -- -- =2 =9 =0, 9 =1, 2,3,9 0/9 0/9 0/9 0/9 0/9 0/9 DVX

3) VALORES POSSÍVEIS PARA OS DÍGITOS

M/N - Posição em que é aceito qualquer algarismo, de M a N (p.ex. 0/9 significa de 0 a 9).
DV - Dígito verificador, aceita qualquer algarismo de 0 a 9.
-- - Posição não usada, acima do tamanho da IE,
=N - Posição sempre ocupada pelo algarismo ou letra N (não se usam letras no cálculo do DV).
=M,N,P - Posição ocupada só pelos algarismos M,N ou P.

4) DEFINIÇÃO DAS ROTINAS DE CÁLCULO DOS DÍGITOS

A - Divide-se cada valor mi por 10, chama-se de qi o quociente inteiro obtido e incrementa-se o valor de S pela soma de todos os valores qi
B - Multiplica-se S por 10, obtendo-se novo S
C - Soma-se (5+4*f) a S, onde f é o Fator  f da tabela 2), obtendo-se novo S
D - Divide-se S pelo módulo Md e o digito verificador DV  será o resto da divisão
E - Divide-se S pelo módulo Md, chama-se de R o resto da divisão e calcula-se DV = Md-R


5)  TABELAS  DE  PESOS

POS 14 13 12 11 10 9 8 7 6 5 4 3 2 1
TP PESOS
P1 6 5 4 3 2 9 8 7 6 5 4 3 2 0
P2 5 4 3 2 9 8 7 6 5 4 3 2 0 0
P3 6 5 4 3 2 9 8 7 6 5 4 3 0 2
P4 0 0 0 0 0 0 0 0 6 5 4 3 2 0
P5 0 0 0 0 0 1 2 3 4 5 6 7 8 0
P6 0 0 0 9 8 0 0 7 6 5 4 3 2 0
P7 5 4 3 2 1 9 8 7 6 5 4 3 2 0
P8 8 7 6 5 4 3 2 7 6 5 4 3 2 0
P9 7 6 5 4 3 2 7 6 5 4 3 2 0 0
P10 0 1 2 1 1 2 1 2 1 2 1 2 0 0
P11 0 3 2 11 10 9 8 7 6 5 4 3 2 0
P12 0 0 1 3 4 5 6 7 8 10 0 0 0 0
P13 0 0 3 2 10 9 8 7 6 5 4 3 2 0