Validar a Inscrição Estadual de São Paulo
Formato e dígito verificador da IE de SP.
Como calcular o dígito verificador da IE de São Paulo
110.042.490.114regra de SPExemplo
1º dígito verificador: os dígitos 1 1 0 0 4 2 4 9 vezes os pesos 1 3 4 5 6 7 8 10 somam 164. 164 ÷ 11 deixa resto 10. Resto 10 dá 0. Resultado: 0, confere. 2º dígito verificador: os dígitos 1 1 0 0 4 2 4 9 0 1 1 vezes os pesos 3 2 10 9 8 7 6 5 4 3 2 somam 125. 125 ÷ 11 deixa resto 4. Resultado: 4, confere. Os dígitos verificadores conferem.
Os dígitos verificadores conferem.
A regra em texto
Passo a passo
- 1.1º DV (9º dígito): multiplique os 8 primeiros dígitos pelos pesos 1, 3, 4, 5, 6, 7, 8, 10 e some.
- 2.Divida por 11. O DV é o algarismo da direita do resto (resto 10 dá 0).
- 3.2º DV (12º dígito): multiplique os 11 primeiros dígitos pelos pesos 3, 2, 10, 9, 8, 7, 6, 5, 4, 3, 2 e repita a regra.
- 4.Produtor rural (P-99999999.9/999): só um DV, no 10º caractere, com os pesos 1, 3, 4, 5, 6, 7, 8, 10 sobre os 8 dígitos depois do P.
Formato da IE de São Paulo
Máscara usual
999.999.999.999
- Dígitos
- 12 (produtor rural: P + 12)
- Dígitos verificadores
- 2: no 9º e no 12º dígito
- Prefixo
- Nenhum exigido
- Nas inscrições reais
- o começo varia
- Em SP o DV é o próprio resto, e não 11 − resto.
- Não descarte o P da IE de produtor rural: sem ele o número fica com 12 dígitos e falha.
Dígito válido não significa IE ativa
O cálculo só mostra que o número foi digitado certo. A inscrição ainda pode não existir, estar suspensa, baixada ou inapta, ser de outro contribuinte ou não estar habilitada para NF-e. Para saber, consulte o cadastro.
10 consultas grátis de IE e CNPJ por mês, direto no painel.
Código para validar a IE de São Paulo
// IE de São Paulo: confere tamanho, prefixo e dígito verificador.
// Não diz se a inscrição está ativa: isso só a consulta ao cadastro responde.
function validarIeSP(ie) {
const n = String(ie).toUpperCase().replace(/[\s./-]/g, "");
const produtor = n.startsWith("P"); // produtor rural: P + 12 dígitos
const digitos = produtor ? n.slice(1) : n;
if (!/^\d{12}$/.test(digitos) || /^(\d)\1+$/.test(digitos)) return false;
const d = [...digitos].map(Number);
const soma = (pesos) => pesos.reduce((s, p, i) => s + d[i] * p, 0);
// O DV é o algarismo da direita do resto da divisão por 11
const dv1 = (soma([1, 3, 4, 5, 6, 7, 8, 10]) % 11) % 10;
if (produtor) return dv1 === d[8];
const dv2 = (soma([3, 2, 10, 9, 8, 7, 6, 5, 4, 3, 2]) % 11) % 10;
return dv1 === d[8] && dv2 === d[11];
}import re
def validar_ie_sp(ie: str) -> bool:
"""IE de São Paulo: confere tamanho, prefixo e dígito verificador.
Não diz se a inscrição está ativa: isso só a consulta ao cadastro responde.
"""
n = re.sub(r"[\s./-]", "", ie.upper())
produtor = n.startswith("P") # produtor rural: P + 12 dígitos
digitos = n[1:] if produtor else n
if not re.fullmatch(r"\d{12}", digitos) or len(set(digitos)) == 1:
return False
d = [int(c) for c in digitos]
def soma(pesos):
return sum(x * p for x, p in zip(d, pesos))
# O DV é o algarismo da direita do resto da divisão por 11
dv1 = soma([1, 3, 4, 5, 6, 7, 8, 10]) % 11 % 10
if produtor:
return dv1 == d[8]
dv2 = soma([3, 2, 10, 9, 8, 7, 6, 5, 4, 3, 2]) % 11 % 10
return dv1 == d[8] and dv2 == d[11]
A biblioteca validador-ie é aberta (licença MIT): as regras das 27 UFs em JavaScript/TypeScript e Python, sem dependências, com testes por estado. Como instalar
npm install validador-iepip install validador-ie
Fonte da regra: SEFAZ-SP: rotina de consistência da IE
Perguntas frequentes — IE SP
Quantos dígitos tem a Inscrição Estadual de São Paulo?
Dígitos: 12 (produtor rural: P + 12). Máscara usual: 999.999.999.999. Prefixo: nenhum exigido. Dígitos verificadores: 2: no 9º e no 12º dígito. Exemplo de documentação: 110.042.490.114.
Como calcular o dígito verificador da IE de São Paulo?
Dois dígitos verificadores, no 9º e no 12º dígito; o DV é o algarismo da direita do resto da divisão por 11. O passo a passo, com um exemplo resolvido, está nesta página.
Se o dígito verificador confere, a IE está ativa?
Não. O cálculo só mostra que o número foi digitado certo. Para saber se a inscrição existe, está ativa e a quem pertence, consulte o cadastro de contribuintes de São Paulo.
O validador desta página envia a IE para algum lugar?
Não. O cálculo roda no seu navegador e a IE digitada não é enviada a lugar nenhum. Ela só sai daqui se você clicar em “Ver se está ativa”, que abre o cadastro grátis com a consulta pronta.
Validar a IE de outro estado
- AC · Acre
- AL · Alagoas
- AM · Amazonas
- AP · Amapá
- BA · Bahia
- CE · Ceará
- DF · Distrito Federal
- ES · Espírito Santo
- GO · Goiás
- MA · Maranhão
- MG · Minas Gerais
- MS · Mato Grosso do Sul
- MT · Mato Grosso
- PA · Pará
- PB · Paraíba
- PE · Pernambuco
- PI · Piauí
- PR · Paraná
- RJ · Rio de Janeiro
- RN · Rio Grande do Norte
- RO · Rondônia
- RR · Roraima
- RS · Rio Grande do Sul
- SC · Santa Catarina
- SE · Sergipe
- TO · Tocantins