---
title: "API de Inscrições Estaduais - Gestão de IE | NFE.io | Docs"
description: "Documentação completa da API para gerenciamento de inscrições estaduais (IE) necessárias para emissão de NF-e e NFC-e."
source_url: https://nfe.io/docs/documentacao/gerenciamento-empresas/api-inscricoes-estaduais
last_updated: 2026-02-06
---

# API de Inscrições Estaduais (StateTax)

## Gerencie inscrições estaduais para emissão de NF-e e NFC-e

> **Navegação**
> - [← Voltar para Visão Geral](./gerenciamento-empresas-resumo.md)
> - [Empresas →](./gerenciamento-empresas.md)
> - [Certificados →](./gerenciamento-certificado.md)
> - [Inscrições Municipais →](./gerenciamento-inscricao-municipal.md)

---

## Visão Geral

O recurso **StateTax** (Inscrição Estadual) representa o cadastro da empresa junto à SEFAZ estadual, necessário para emissão de:

- **NF-e** - Nota Fiscal Eletrônica
- **NFC-e** - Nota Fiscal de Consumidor Eletrônica

:::warning[Importante]
Esta API **não cadastra** sua empresa na SEFAZ estadual. Ela apenas **registra na NFE.io os dados** de Inscrição Estadual que você já obteve junto à SEFAZ, para utilizá-los como base nas emissões de NF-e e NFC-e.

O cadastro junto à SEFAZ, obtenção da Inscrição Estadual e habilitação para emissão de documentos fiscais devem ser feitos **diretamente por você** junto ao órgão estadual competente.
:::

---

## Anatomia de uma Inscrição Estadual

### Conceitos Fundamentais

Ao criar uma inscrição estadual, você define os dados necessários para emissão de documentos fiscais na SEFAZ:

| Conceito | Campos na API | Descrição |
|----------|---------------|-----------|
| **Localização** | `Code` | Código do Estado (UF) |
| **Identificação Estadual** | `TaxNumber` | Número da Inscrição Estadual |
| **Tipo de Emissão** | `Type` | NF-e ou NFC-e |
| **Numeração** | `Serie`, `Number` | Série e número atual da numeração |
| **Ambiente** | `EnvironmentType` | Produção ou Homologação |
| **Processamento** | `ProcessingDetails` | Detalhes de autorização e contingência |

### Campos Gerenciados pelo Sistema

Além dos dados que você informa, o sistema gera e mantém automaticamente:

| Campo | Tipo | Quando é definido |
|-------|------|-------------------|
| `Id` | string | Gerado na criação |
| `CompanyId` | string | Vinculado à empresa da URL |
| `AccountId` | string | Vinculado à sua conta/tenant |
| `Status` | enum | Inicia como `Active` |
| `Series` | array | Lista de séries utilizadas, atualizada automaticamente |
| `ProcessingDetails.AuthorityStatus` | enum | Status da SEFAZ em tempo real |
| `ProcessingDetails.StatusOn` | datetime | Data/hora da última atualização do status |
| `CreatedOn` | datetime | Data/hora da criação |
| `ModifiedOn` | datetime | Atualizado a cada alteração |

### Referência Completa de Propriedades

### 📋 Expandir tabela completa

| Propriedade | Tipo | Obrigatório | Descrição |
|-------------|------|:-----------:|-----------|
| `Id` | string | — | Identificador único (gerado) |
| `CompanyId` | string | — | ID da empresa proprietária |
| `AccountId` | string | — | Conta/tenant proprietária |
| `Status` | enum | — | Status operacional |
| `Code` | enum | ✅ | Código do Estado (UF) |
| `TaxNumber` | string | ✅ | Número da Inscrição Estadual |
| `EnvironmentType` | enum | | Ambiente de processamento (`Production` ou `Test`) |
| `SpecialTaxRegime` | enum | | Regime especial de tributação |
| `Type` | enum | ✅ | Tipo de emissão (`NFe` ou `NFCe`) |
| `Serie` | int | | Série atual |
| `Number` | long | | Próximo número da série |
| `Series` | array | — | Lista de séries utilizadas (gerado) |
| `SecurityCredential` | object | | Credenciais de segurança (obrigatório para NFC-e) |
| `SecurityCredential.Id` | int | | ID do CSC |
| `SecurityCredential.Code` | string | | Código CSC |
| `ProcessingDetails` | object | — | Detalhes de processamento |
| `ProcessingDetails.SwitchAuthorizerStrategy` | enum | | Estratégia de troca de autorizador |
| `ProcessingDetails.AuthorityStatus` | enum | — | Status da SEFAZ |
| `ProcessingDetails.StatusOn` | datetime | — | Data do status |
| `ProcessingDetails.LastSwitchAuthorizerDetails` | object | — | Última troca de autorizador |
| `CreatedOn` | datetime | — | Data de criação |
| `ModifiedOn` | datetime | — | Última modificação |

---

## Endpoints

| Método | Endpoint | Descrição |
|--------|----------|-----------|
| `POST` | `/v2/companies/{company_id}/statetaxes` | Criar inscrição |
| `GET` | `/v2/companies/{company_id}/statetaxes` | Listar inscrições |
| `GET` | `/v2/companies/{company_id}/statetaxes/{state_tax_id}` | Consultar inscrição |
| `PUT` | `/v2/companies/{company_id}/statetaxes/{state_tax_id}` | Alterar inscrição |
| `DELETE` | `/v2/companies/{company_id}/statetaxes/{state_tax_id}` | Excluir inscrição |
| `POST` | `/v2/companies/{company_id}/statetaxes/{state_tax_id}/switch-authorizer` | Trocar autorizador |

:::info[Autenticação]
Todos os endpoints exigem autenticação via API Key: `Authorization: <sua_api_key>`

→ **[Saiba como obter sua API Key](https://nfe.io/docs/documentacao/nossa-plataforma/chaves-de-autenticacao/)**
:::

---

## Criar uma Inscrição Estadual

Cria uma nova inscrição estadual para a empresa.

```http
POST /v2/companies/{company_id}/statetaxes
```

### Parâmetros de Rota

| Parâmetro | Tipo | Descrição |
|-----------|------|-----------|
| `company_id` | string | ID da empresa |

### Headers

| Header | Valor |
|--------|-------|
| `Content-Type` | `application/json` |
| `Authorization` | `<sua_api_key>` |

### Corpo da Requisição

```json
{
  "StateTax": {
    "Code": "SP",
    "TaxNumber": "123456789",
    "EnvironmentType": "Production",
    "SpecialTaxRegime": "Nenhum",
    "Type": "NFe",
    "Serie": 1,
    "Number": 1,
    "ProcessingDetails": {
      "SwitchAuthorizerStrategy": "Manual"
    }
  }
}
```

### Parâmetros do Corpo

| Campo | Tipo | Obrigatório | Descrição |
|-------|------|-------------|-----------|
| `Code` | enum | ✅ | Código do Estado (UF) |
| `TaxNumber` | string | ✅ | Número da Inscrição Estadual |
| `Type` | enum | ✅ | Tipo de emissão (`NFe` ou `NFCe`) |
| `EnvironmentType` | enum | | `Production` ou `Test` (padrão: `Test`) |
| `SpecialTaxRegime` | enum | | Regime especial de tributação |
| `Serie` | int | | Série inicial (padrão: 1) |
| `Number` | long | | Número inicial da série |
| `SecurityCredential` | object | | Obrigatório para NFC-e |
| `ProcessingDetails` | object | | Configurações de processamento |

#### Objeto SecurityCredential (obrigatório para NFC-e)

| Campo | Tipo | Obrigatório | Descrição |
|-------|------|-------------|-----------|
| `Id` | int | ✅ | ID do CSC (Código de Segurança do Contribuinte) |
| `Code` | string | ✅ | Código CSC |

#### Objeto ProcessingDetails

| Campo | Tipo | Descrição |
|-------|------|-----------|
| `SwitchAuthorizerStrategy` | enum | `Manual` ou `StateTaxAuthorityStatusUnavailable` |

### Resposta de Sucesso

**Status:** `200 OK`

```json
{
  "StateTax": {
    "Id": "stx_001",
    "CompanyId": "company_abc123",
    "AccountId": "acct_12345",
    "Status": "Active",
    "Code": "SP",
    "TaxNumber": "123456789",
    "EnvironmentType": "Production",
    "SpecialTaxRegime": "Nenhum",
    "Type": "NFe",
    "Serie": 1,
    "Number": 1,
    "Series": [1],
    "SecurityCredential": null,
    "ProcessingDetails": {
      "SwitchAuthorizerStrategy": "Manual",
      "AuthorityStatus": "Unknown",
      "StatusOn": "2024-01-15T10:30:00Z",
      "LastSwitchAuthorizerDetails": null
    },
    "CreatedOn": "2024-01-15T10:30:00Z",
    "ModifiedOn": null
  }
}
```

### Respostas de Erro

| Status | Descrição |
|--------|-----------|
| `400 Bad Request` | Dados inválidos |
| `404 Not Found` | Empresa não encontrada |

```json
{
  "Errors": [
    {
      "Code": 40041,
      "Message": "company not found"
    }
  ]
}
```

### Exemplo cURL

```bash
curl -X POST https://api.nfse.io/v2/companies/company_abc123/statetaxes \
  -H "Authorization: sk_live_xxx" \
  -H "Content-Type: application/json" \
  -d '{
    "StateTax": {
      "Code": "SP",
      "TaxNumber": "123456789",
      "EnvironmentType": "Production",
      "Type": "NFe",
      "Serie": 1,
      "Number": 1
    }
  }'
```

### Exemplo PowerShell

```powershell
$headers = @{ Authorization = "sk_live_xxx" }
$body = @{
  StateTax = @{
    Code = "SP"
    TaxNumber = "123456789"
    EnvironmentType = "Production"
    Type = "NFe"
    Serie = 1
    Number = 1
  }
} | ConvertTo-Json -Depth 5

Invoke-RestMethod -Uri "https://api.nfse.io/v2/companies/company_abc123/statetaxes" `
  -Method Post -Headers $headers -Body $body -ContentType "application/json"
```

---

## Listar Inscrições Estaduais

Lista todas as inscrições estaduais de uma empresa com paginação.

```http
GET /v2/companies/{company_id}/statetaxes
```

### Parâmetros de Rota

| Parâmetro | Tipo | Descrição |
|-----------|------|-----------|
| `company_id` | string | ID da empresa |

### Headers

| Header | Valor |
|--------|-------|
| `Accept` | `application/json` |
| `Authorization` | `<sua_api_key>` |

### Parâmetros de Query

| Parâmetro | Tipo | Padrão | Descrição |
|-----------|------|--------|-----------|
| `limit` | int | 10 | Limite de resultados (1-50) |
| `startingAfter` | string | | ID do cursor para próxima página |
| `endingBefore` | string | | ID do cursor para página anterior |

### Ordenação

- Primária: `CreatedOn` (descendente - mais recentes primeiro)
- Secundária: `Id` (ascendente)

### Resposta de Sucesso

**Status:** `200 OK`

```json
{
  "hasMore": false,
  "stateTaxes": [
    {
      "Id": "stx_001",
      "CompanyId": "company_abc123",
      "AccountId": "acct_12345",
      "Status": "Active",
      "Code": "SP",
      "TaxNumber": "123456789",
      "EnvironmentType": "Production",
      "SpecialTaxRegime": "Nenhum",
      "Type": "NFe",
      "Serie": 1,
      "Number": 1500,
      "Series": [1],
      "CreatedOn": "2024-01-15T10:30:00Z",
      "ModifiedOn": "2024-02-20T14:45:00Z"
    },
    {
      "Id": "stx_002",
      "CompanyId": "company_abc123",
      "AccountId": "acct_12345",
      "Status": "Active",
      "Code": "RJ",
      "TaxNumber": "987654321",
      "EnvironmentType": "Production",
      "SpecialTaxRegime": "Nenhum",
      "Type": "NFCe",
      "Serie": 1,
      "Number": 200,
      "Series": [1],
      "SecurityCredential": {
        "Id": 1,
        "Code": "ABC123..."
      },
      "CreatedOn": "2024-01-10T14:00:00Z",
      "ModifiedOn": null
    }
  ]
}
```

### Paginação

Use o `Id` do último item como `startingAfter` para obter a próxima página:

```http
GET /v2/companies/{company_id}/statetaxes?limit=20&startingAfter=stx_002
```

### Respostas de Erro

| Status | Descrição |
|--------|-----------|
| `400 Bad Request` | Parâmetros inválidos |
| `404 Not Found` | Empresa ou cursor não encontrado |

### Exemplo cURL

```bash
curl -X GET "https://api.nfse.io/v2/companies/company_abc123/statetaxes?limit=20" \
  -H "Authorization: sk_live_xxx"
```

---

## Consultar Inscrição Estadual por ID

Retorna os detalhes de uma inscrição estadual específica.

```http
GET /v2/companies/{company_id}/statetaxes/{state_tax_id}
```

### Parâmetros de Rota

| Parâmetro | Tipo | Descrição |
|-----------|------|-----------|
| `company_id` | string | ID da empresa |
| `state_tax_id` | string | ID da inscrição estadual |

### Headers

| Header | Valor |
|--------|-------|
| `Accept` | `application/json` |
| `Authorization` | `<sua_api_key>` |

### Resposta de Sucesso

**Status:** `200 OK`

```json
{
  "StateTax": {
    "Id": "stx_001",
    "CompanyId": "company_abc123",
    "AccountId": "acct_12345",
    "Status": "Active",
    "Code": "SP",
    "TaxNumber": "123456789",
    "EnvironmentType": "Production",
    "SpecialTaxRegime": "Nenhum",
    "Type": "NFe",
    "Serie": 1,
    "Number": 1500,
    "Series": [1, 2],
    "SecurityCredential": null,
    "ProcessingDetails": {
      "SwitchAuthorizerStrategy": "Manual",
      "AuthorityStatus": "Available",
      "StatusOn": "2024-02-20T14:45:00Z",
      "LastSwitchAuthorizerDetails": {
        "FromAuthorizer": "EPEC",
        "ToAuthorizer": "Normal",
        "Reason": "Retorno à operação normal",
        "ModifiedOn": "2024-02-20T14:45:00Z"
      }
    },
    "CreatedOn": "2024-01-15T10:30:00Z",
    "ModifiedOn": "2024-02-20T14:45:00Z"
  }
}
```

### Respostas de Erro

| Status | Descrição |
|--------|-----------|
| `400 Bad Request` | ID inválido |
| `404 Not Found` | Inscrição não encontrada |

```json
{
  "Errors": [
    {
      "Code": 40041,
      "Message": "state tax not found"
    }
  ]
}
```

### Exemplo cURL

```bash
curl -X GET https://api.nfse.io/v2/companies/company_abc123/statetaxes/stx_001 \
  -H "Authorization: sk_live_xxx"
```

---

## Alterar Inscrição Estadual

Atualiza os dados de uma inscrição estadual existente.

```http
PUT /v2/companies/{company_id}/statetaxes/{state_tax_id}
```

### Parâmetros de Rota

| Parâmetro | Tipo | Descrição |
|-----------|------|-----------|
| `company_id` | string | ID da empresa |
| `state_tax_id` | string | ID da inscrição estadual |

### Headers

| Header | Valor |
|--------|-------|
| `Content-Type` | `application/json` |
| `Authorization` | `<sua_api_key>` |

### Corpo da Requisição

```json
{
  "StateTax": {
    "TaxNumber": "123456789",
    "EnvironmentType": "Production",
    "Serie": 2,
    "Number": 1
  }
}
```

### Campos Atualizáveis

| Campo | Tipo | Descrição |
|-------|------|-----------|
| `Code` | enum | Código do Estado (UF) |
| `TaxNumber` | string | Número da Inscrição Estadual |
| `EnvironmentType` | enum | Ambiente de processamento |
| `SpecialTaxRegime` | enum | Regime especial de tributação |
| `Type` | enum | Tipo de emissão |
| `Serie` | int | Série atual |
| `Number` | long | Próximo número da série |
| `SecurityCredential` | object | Credenciais de segurança (NFC-e) |
| `ProcessingDetails.SwitchAuthorizerStrategy` | enum | Estratégia de troca de autorizador |

### Resposta de Sucesso

**Status:** `200 OK`

```json
{
  "StateTax": {
    "Id": "stx_001",
    "CompanyId": "company_abc123",
    "AccountId": "acct_12345",
    "Status": "Active",
    "Code": "SP",
    "TaxNumber": "123456789",
    "EnvironmentType": "Production",
    "SpecialTaxRegime": "Nenhum",
    "Type": "NFe",
    "Serie": 2,
    "Number": 1,
    "Series": [1, 2],
    "SecurityCredential": null,
    "ProcessingDetails": {
      "SwitchAuthorizerStrategy": "Manual",
      "AuthorityStatus": "Available",
      "StatusOn": "2024-02-20T14:45:00Z",
      "LastSwitchAuthorizerDetails": null
    },
    "CreatedOn": "2024-01-15T10:30:00Z",
    "ModifiedOn": "2024-03-10T16:20:00Z"
  }
}
```

### Respostas de Erro

| Status | Descrição |
|--------|-----------|
| `400 Bad Request` | Dados inválidos |
| `404 Not Found` | Inscrição não encontrada |

### Exemplo cURL

```bash
curl -X PUT https://api.nfse.io/v2/companies/company_abc123/statetaxes/stx_001 \
  -H "Authorization: sk_live_xxx" \
  -H "Content-Type: application/json" \
  -d '{
    "StateTax": {
      "Serie": 2,
      "Number": 1
    }
  }'
```

---

## Excluir Inscrição Estadual

Exclui uma inscrição estadual da empresa.

:::warning[Atenção]
Este processo é **irreversível**. Histórico de numeração será perdido.
:::

```http
DELETE /v2/companies/{company_id}/statetaxes/{state_tax_id}
```

### Parâmetros de Rota

| Parâmetro | Tipo | Descrição |
|-----------|------|-----------|
| `company_id` | string | ID da empresa |
| `state_tax_id` | string | ID da inscrição estadual |

### Headers

| Header | Valor |
|--------|-------|
| `Authorization` | `<sua_api_key>` |

### Resposta de Sucesso

**Status:** `204 No Content`

(Sem corpo na resposta)

### Respostas de Erro

| Status | Descrição |
|--------|-----------|
| `400 Bad Request` | ID inválido |
| `404 Not Found` | Inscrição não encontrada |

### Exemplo cURL

```bash
curl -X DELETE https://api.nfse.io/v2/companies/company_abc123/statetaxes/stx_001 \
  -H "Authorization: sk_live_xxx"
```

---

## Trocar Autorizador (Switch Authorizer)

Altera o autorizador da inscrição estadual, útil para operações de contingência.

```http
POST /v2/companies/{company_id}/statetaxes/{state_tax_id}/switch-authorizer
```

### Parâmetros de Rota

| Parâmetro | Tipo | Descrição |
|-----------|------|-----------|
| `company_id` | string | ID da empresa |
| `state_tax_id` | string | ID da inscrição estadual |

### Headers

| Header | Valor |
|--------|-------|
| `Content-Type` | `application/json` |
| `Authorization` | `<sua_api_key>` |

### Corpo da Requisição

```json
{
  "Authorizer": "EPEC",
  "Reason": "SEFAZ indisponível - ativando contingência EPEC"
}
```

### Parâmetros do Corpo

| Campo | Tipo | Obrigatório | Descrição |
|-------|------|-------------|-----------|
| `Authorizer` | enum | ✅ | Novo autorizador (`Normal` ou `EPEC`) |
| `Reason` | string | ✅* | Motivo da troca (obrigatório para EPEC, 15-256 caracteres) |

:::note
O campo `Reason` é obrigatório quando `Authorizer` = `EPEC` e deve ter entre 15 e 256 caracteres.
:::

### Resposta de Sucesso

**Status:** `200 OK`

```json
{
  "FromAuthorizer": "Normal",
  "ToAuthorizer": "EPEC",
  "Reason": "SEFAZ indisponível - ativando contingência EPEC",
  "ModifiedOn": "2024-01-20T15:30:00Z"
}
```

### Respostas de Erro

| Status | Descrição |
|--------|-----------|
| `400 Bad Request` | Dados inválidos |
| `404 Not Found` | Inscrição não encontrada |

### Exemplo cURL

```bash
curl -X POST https://api.nfse.io/v2/companies/company_abc123/statetaxes/stx_001/switch-authorizer \
  -H "Authorization: sk_live_xxx" \
  -H "Content-Type: application/json" \
  -d '{
    "Authorizer": "EPEC",
    "Reason": "SEFAZ indisponível - ativando contingência EPEC"
  }'
```

### Exemplo PowerShell

```powershell
$headers = @{ Authorization = "sk_live_xxx" }
$body = @{
  Authorizer = "EPEC"
  Reason = "SEFAZ indisponível - ativando contingência EPEC"
} | ConvertTo-Json

Invoke-RestMethod -Uri "https://api.nfse.io/v2/companies/company_abc123/statetaxes/stx_001/switch-authorizer" `
  -Method Post -Headers $headers -Body $body -ContentType "application/json"
```

---

## Fluxo de Contingência

### Ativar Contingência EPEC

Quando a SEFAZ está indisponível:

```
1. Detectar indisponibilidade da SEFAZ
       ↓
2. POST /switch-authorizer com Authorizer="EPEC"
       ↓
3. Emitir NF-e em contingência EPEC
       ↓
4. Quando SEFAZ voltar: POST /switch-authorizer com Authorizer="Normal"
```

### Consultar Histórico de Trocas

O histórico da última troca está disponível em `ProcessingDetails.LastSwitchAuthorizerDetails`:

```json
{
  "ProcessingDetails": {
    "SwitchAuthorizerStrategy": "Manual",
    "AuthorityStatus": "Available",
    "StatusOn": "2024-02-20T14:45:00Z",
    "LastSwitchAuthorizerDetails": {
      "FromAuthorizer": "EPEC",
      "ToAuthorizer": "Normal",
      "Reason": "Retorno à operação normal",
      "ModifiedOn": "2024-01-20T08:00:00Z"
    }
  }
}
```

### Estratégia Automática

Configure `ProcessingDetails.SwitchAuthorizerStrategy` como `StateTaxAuthorityStatusUnavailable` para que o sistema troque automaticamente para contingência quando a SEFAZ estiver indisponível.

---

## Regras de Validação

O sistema aplica as seguintes regras de validação ao criar ou alterar uma inscrição estadual:

### Dados da Inscrição Estadual

| Campo | Regra | Mensagem de Erro |
|-------|-------|------------------|
| `Status` | Inscrição deve estar ativa para alterações | state tax is not active |
| `Code` | Obrigatório, deve ser UF válida (exceto EX e NA) | state code is not valid |
| `TaxNumber` | Obrigatório, deve ser IE válida para o estado | tax number is not valid |
| `Serie` | Deve ser entre 1 e 999 | serie is not valid |

### Validação de NFC-e

| Campo | Regra | Mensagem de Erro |
|-------|-------|------------------|
| `SecurityCredential` | Obrigatório quando `Type` = `NFCe` | Security credential is not valid |
| `SecurityCredential.Id` | Deve ser maior que 0 | Security credential is not valid |
| `SecurityCredential.Code` | Não pode ser vazio | Security credential is not valid |

### Validação de Contingência

| Campo | Regra | Mensagem de Erro |
|-------|-------|------------------|
| `Reason` | Obrigatório para EPEC, 15-256 caracteres | reason must be between 15 and 256 characters for contingency authorizer |

---

## Códigos de Erro

### Validação de Dados

| Código | Mensagem | Descrição |
|--------|----------|-----------|
| 40002 | state tax is not active | Inscrição inativa não permite alterações |
| 40003 | tax number is not valid | Inscrição Estadual inválida para o estado |

### Validação de Empresa

| Código | Mensagem | Descrição |
|--------|----------|-----------|
| 40035 | account id is null or empty | AccountId não informado |
| 40037 | company id is null or empty | CompanyId não informado |
| 40040 | request state is null | Payload da inscrição estadual nulo |
| 40041 | company not found | Empresa não encontrada |
| 40042 | company is not available to issue | Empresa inativa |
| 40043 | account id is not valid to this company | AccountId não corresponde à empresa |

### Validação de Inscrição Estadual

| Mensagem | Descrição |
|----------|-----------|
| state tax id is null or empty | StateTaxId não informado |
| state tax not found | Inscrição estadual não encontrada |
| account id is not valid to this state tax | AccountId não corresponde à inscrição |
| company id is not valid to this state tax | CompanyId não corresponde à inscrição |
| state code is not valid | Código do estado inválido |
| serie is not valid | Série fora do intervalo permitido |
| Security credential is not valid | Credencial de segurança inválida |

---

## Enums

### StateCode (Código do Estado)

| Nome | Descrição |
|------|-----------|
| `AC` | Acre |
| `AL` | Alagoas |
| `AP` | Amapá |
| `AM` | Amazonas |
| `BA` | Bahia |
| `CE` | Ceará |
| `DF` | Distrito Federal |
| `ES` | Espírito Santo |
| `GO` | Goiás |
| `MA` | Maranhão |
| `MT` | Mato Grosso |
| `MS` | Mato Grosso do Sul |
| `MG` | Minas Gerais |
| `PA` | Pará |
| `PB` | Paraíba |
| `PR` | Paraná |
| `PE` | Pernambuco |
| `PI` | Piauí |
| `RJ` | Rio de Janeiro |
| `RN` | Rio Grande do Norte |
| `RS` | Rio Grande do Sul |
| `RO` | Rondônia |
| `RR` | Roraima |
| `SC` | Santa Catarina |
| `SP` | São Paulo |
| `SE` | Sergipe |
| `TO` | Tocantins |

### EnvironmentType (Ambiente)

| Nome | Valor | Descrição |
|------|-------|-----------|
| `Test` | 0 | Homologação (padrão) |
| `Production` | 1 | Produção (emissão real) |

### Status

| Nome | Valor | Descrição |
|------|-------|-----------|
| `Inactive` | -1 | Inativa (excluída/desativada) |
| `None` | 0 | Não definido |
| `Active` | 1 | Ativa (permite operações) |

### StateTaxType (Tipo de Emissão)

| Nome | Valor | Descrição |
|------|-------|-----------|
| `Default` | 0 | Padrão |
| `NFe` | 1 | NF-e - Nota Fiscal Eletrônica |
| `NFCe` | 2 | NFC-e - Nota Fiscal de Consumidor Eletrônica |

### SpecialTaxRegime (Regime Especial de Tributação)

| Nome | Valor | Descrição |
|------|-------|-----------|
| `Automatico` | -1 | Automático |
| `Nenhum` | 0 | Sem regime especial |
| `MicroempresaMunicipal` | 1 | Microempresa municipal |
| `Estimativa` | 2 | Regime de estimativa |
| `SociedadeDeProfissionais` | 3 | Sociedade de profissionais |
| `Cooperativa` | 4 | Cooperativa |
| `MicroempreendedorIndividual` | 5 | MEI |
| `MicroempresarioEmpresaPequenoPorte` | 6 | ME/EPP |

### StateTaxProcessingAuthorizer (Autorizador)

| Nome | Valor | Descrição |
|------|-------|-----------|
| `Normal` | 1 | SEFAZ normal |
| `EPEC` | 4 | Contingência EPEC (Evento Prévio de Emissão em Contingência) |

### StateTaxProcessingSwitchAuthorizerStrategy (Estratégia de Troca)

| Nome | Valor | Descrição |
|------|-------|-----------|
| `Manual` | 0 | Troca manual |
| `StateTaxAuthorityStatusUnavailable` | 1 | Troca automática quando SEFAZ indisponível |

### StateTaxAuthorityStatus (Status da SEFAZ)

| Nome | Valor | Descrição |
|------|-------|-----------|
| `Paused` | -2 | Pausada |
| `Unavailable` | -1 | Indisponível |
| `Unknown` | 0 | Desconhecido |
| `Available` | 1 | Disponível |

---

## Boas Práticas

### Numeração de Séries

- Use séries sequenciais simples (`1`, `2`, `3`)
- Mantenha controle do último número usado
- Não reutilize números dentro da mesma série
- Ao mudar de série, inicie a numeração em 1

### Validação de Inscrição Estadual

- Valide o formato da IE antes de enviar
- O sistema valida automaticamente a IE para a maioria dos estados
- Alguns estados (GO, PA) têm validação simplificada

### Contingência

- Monitore a disponibilidade da SEFAZ
- Tenha um plano de contingência documentado
- O motivo da contingência deve ter entre 15 e 256 caracteres
- Registre o motivo de cada troca de autorizador
- Retorne ao modo normal assim que possível

### Múltiplas Inscrições

- Uma empresa pode ter inscrições em diferentes estados
- Cada inscrição possui séries independentes
- Gerencie a numeração de cada estado separadamente

### NFC-e

- O CSC (Código de Segurança do Contribuinte) é obrigatório
- Obtenha o CSC junto à SEFAZ do estado
- Mantenha o CSC seguro e não compartilhe

---

## Próximos Passos

Após criar a inscrição estadual:

1. **Configure o certificado digital** correspondente ao CNPJ → [Ver documentação](./gerenciamento-certificado.md)
2. **Inicialize a numeração** da série conforme necessário
3. **Configure a estratégia de contingência** se desejar troca automática
4. **Comece a emitir** NF-e ou NFC-e

Para emissão de NFS-e, crie uma [Inscrição Municipal](./gerenciamento-inscricao-municipal.md).

---

## Veja também:

- [API de Empresas](./gerenciamento-empresas.md) - Gerenciamento de empresas
- [API de Certificados](./gerenciamento-certificado.md) - Gerenciamento de certificados digitais
- [Inscrições Municipais](./gerenciamento-inscricao-municipal.md) - Configuração para NFS-e
