---
title: "Corrige uma NF-e rejeitada e reenvia"
method: POST
path: "/v1/nfe/{id}/correcao"
tags: ["Emissão de NF-e"]
---

# Corrige uma NF-e rejeitada e reenvia

`POST /v1/nfe/{id}/correcao`

## Request

- Base URL: `https://api.sudrel.com.br/api`
- URL: `https://api.sudrel.com.br/api/v1/nfe/{id}/correcao`
- Auth: HTTP bearer

Só para nota `rejeitada`. O corpo é o pedido completo, como em
`POST /v1/nfe`; a nota é refeita com o **mesmo número** e transmitida de
novo. Se o mês virou desde a reserva, a chave de acesso muda (a anterior
fica em `chaves_anteriores`), porque a chave carrega o ano e o mês de
emissão. Responde 200 com a nota autorizada, 202 se ainda transmite, ou 422
`nfe_rejeitada` de novo. Outro status é 409 `nfe_nao_corrigivel`.

## Path parameters

- `id` string, required

## Query parameters

- `empresa_id` string

## Headers

- `Prefer` string

## Request body

- NfeEntrada: Pedido de NF-e no modo `informado`: os tributos de cada item vêm prontos. Campos em português, `snake_case`. O que a Sudrel preencher aparece em `ajustes` na resposta.
  - `empresa_id` string, required
  - `referencia` string: Seu identificador, único por empresa e ambiente.
  - `modo` 'informado' | 'calcular' | 'conferir'
  - `operacao` 'venda' | 'venda_consumidor_final' | 'remessa' | 'transferencia' | 'bonificacao' | 'devolucao': Modos calcular e conferir. Padrão venda.
  - `subtipo` 'conserto' | 'demonstracao' | 'industrializacao' | 'outras' | 'comercializacao': Remessa e devolução.
  - `chave_referenciada` string: Chave de acesso da NF-e de origem (44 caracteres; pode ter letra com CNPJ alfanumérico). Obrigatória com `finalidade` `devolucao` ou `complementar` e com `operacao: devolucao`; aceita nas outras. Na devolução vai em cada item (`det/DFeReferenciado`); nas outras finalidades, em `NFref/refNFe`.
  - `serie` integer: Omitida: a série da API desta empresa.
  - `natureza_operacao` string, required
  - `tipo_operacao` 'saida' | 'entrada'
  - `finalidade` 'normal' | 'complementar' | 'ajuste' | 'devolucao'
  - `presenca` 'nao_se_aplica' | 'presencial' | 'internet' | 'telefone' | 'entrega_em_domicilio' | 'presencial_fora_do_estabelecimento' | 'outros', required
  - `consumidor_final` boolean
  - `intermediador` boolean: Só `false` nesta versão (venda pelo próprio canal).
  - `destinatario` object, required: Só o documento basta. Com CNPJ, a Sudrel completa `nome` e `endereco` pela consulta pública do CNPJ (base da Receita Federal) e `contribuinte` e `inscricao_estadual` pelo cadastro da SEFAZ da UF do destinatário. Com CPF, mande `nome` e, no `endereco`, só `cep` e `numero`: rua, bairro e cidade vêm do CEP, e o CPF é `nao_contribuinte`. O que você mandar prevalece; o que a Sudrel preencheu volta em `ajustes` (regras `nfe_destinatario_*`). Sem resposta da SEFAZ sobre a inscrição estadual, a nota é recusada com `destinatario_ie_indisponivel` (retentável), nunca emitida com um palpite.
    - `documento` string, required: CPF ou CNPJ.
    - `nome` string: Obrigatório com CPF. Com CNPJ, vem da Receita se faltar.
    - `contribuinte` 'contribuinte' | 'isento' | 'nao_contribuinte': Sem ele, a Sudrel consulta a SEFAZ (CNPJ) ou usa `nao_contribuinte` (CPF).
    - `inscricao_estadual` string: Obrigatória com `contribuinte`.
    - `optante_simples` boolean: Modo calcular: o destinatário é ME/EPP? Exigido na venda interna do fabricante a contribuinte (alíquota de 7% da Bahia).
    - `email` string
    - `endereco` object: Completo, ou só `cep` e `numero` (o resto vem do CEP). Com CNPJ, pode faltar inteiro (vem da Receita).
      - `logradouro` string
      - `numero` string
      - `complemento` string
      - `bairro` string
      - `municipio_ibge` string
      - `municipio` string
      - `uf` string: `EX` para exterior.
      - `cep` string
      - `telefone` string
  - `itens` union[], required
    - union
      - NfeItem
        - `codigo` string, required
        - `descricao` string, required
        - `gtin` string: Omitido: "SEM GTIN".
        - `ncm` string, required
        - `cest` string
        - `cfop` string, required
        - `origem` string, required: Origem da mercadoria, 0 a 8.
        - `unidade` string, required
        - `quantidade` number, required
        - `valor_unitario` number, required
        - `valor_total` number: Omitido: quantidade vezes valor unitário.
        - `desconto` number
        - `frete` number
        - `seguro` number
        - `outras_despesas` number
        - `icms` object, required: `cst` (00, 10, 20, 40, 41, 50, 60, 70) ou `csosn` (101, 102, 103, 300, 400, 500), com base, alíquota e valor quando o grupo pede. CST 10 e 70 exigem o grupo `st`.
          - `cst` string
          - `csosn` string
          - `modalidade_base_calculo` string
          - `base_calculo` number
          - `aliquota` number
          - `valor` number
          - `reducao_base_calculo` number: CST 20 e 70.
          - `fcp` object: FECP (CST 00, 10, 20 e 70).
            - `base_calculo` number
            - `aliquota` number
            - `valor` number
          - `st` object: ICMS-ST do substituto (CST 10 e 70).
            - `modalidade_base_calculo` string
            - `mva` number
            - `reducao_base_calculo` number
            - `base_calculo` number
            - `aliquota` number
            - `valor` number
            - `fcp` object
              - …
          - `st_retido` object: ICMS-ST retido anteriormente (CST 60 / CSOSN 500).
            - `base_calculo` number
            - `aliquota` number
            - `valor_substituto` number
            - `valor` number
        - `pis` NfePisCofins, required
          - `cst` string, required
          - `base_calculo` number
          - `aliquota` number
          - `valor` number
        - `cofins` NfePisCofins, required
          - `cst` string, required
          - `base_calculo` number
          - `aliquota` number
          - `valor` number
        - `ex_tipi` string: Exceção da TIPI (EXTIPI).
        - `item_referenciado` integer: Devolução: número deste item na nota de origem (`nItem`). Opcional; vai junto da chave da nota de origem no item.
        - `ipi` object: Grupo IPI (acréscimo da fase 3). IPITrib com CST 00, 49, 50 ou 99; IPINT com CST 01 a 05 ou 51 a 55.
          - `cst` string
          - `enquadramento` string
          - `base_calculo` number
          - `aliquota` number
          - `valor` number
        - `ibs_cbs` object
          - `cst` string
          - `classificacao_tributaria` string
          - `base_calculo` number
          - `ibs_uf` object
            - `aliquota` number
            - `valor` number
          - `ibs_municipio` object
            - `aliquota` number
            - `valor` number
          - `cbs` object
            - `aliquota` number
            - `valor` number
      - NfeItemCalculado: Item dos modos calcular e conferir (no conferir, mais os campos do item informado).
        - `produto` string, required: Código do produto em /v1/produtos.
        - `quantidade` number, required
        - `valor_unitario` number, required
        - `desconto` number
        - `frete` number
        - `seguro` number
        - `outras_despesas` number
        - `informacoes_adicionais` string
        - `st_retido` object: ICMS-ST retido anteriormente na revenda (CST 60 / CSOSN 500). Prevalece sobre o que viria das entradas vinculadas.
          - `base_calculo` number
          - `aliquota` number
          - `valor_substituto` number
          - `valor` number
  - `transporte` object
    - `modalidade` 'emitente' | 'destinatario' | 'terceiros' | 'proprio_emitente' | 'proprio_destinatario' | 'sem_frete'
  - `totais` object: Opcional. O que você mandar é conferido contra a soma dos itens; o que faltar é somado.
    - `valor_produtos` number
    - `valor_nota` number
    - `base_icms` number
    - `valor_icms` number
    - `valor_desconto` number
    - `valor_frete` number
    - `valor_seguro` number
    - `outras_despesas` number
    - `valor_pis` number
    - `valor_cofins` number
    - `ibs_cbs` object
      - `base_calculo` number
      - `ibs_uf` number
      - `ibs_municipio` number
      - `ibs` number
      - `cbs` number
  - `pagamentos` object[], required
    - `forma` 'dinheiro' | 'cheque' | 'cartao_credito' | 'cartao_debito' | 'credito_loja' | 'vale_alimentacao' | 'vale_refeicao' | 'vale_presente' | 'vale_combustivel' | 'boleto' | 'deposito' | 'pix' | 'pix_estatico' | 'transferencia' | 'programa_fidelidade' | 'sem_pagamento' | 'outros', required: `pix` é o Pix dinâmico (tPag 17); `pix_estatico` (tPag 20) é o QR fixo ou a chave.
    - `valor` number, required
  - `troco` number
  - `autorizados_xml` string[]: CPF/CNPJ autorizados a baixar o XML.
  - `informacoes_complementares` string
  - `informacoes_fisco` string

## Response `200`

Autorizada.

- Nfe
  - `id` string
  - `referencia` string, nullable
  - `status` 'transmitindo' | 'aguardando_confirmacao' | 'autorizada' | 'rejeitada' | 'denegada' | 'cancelada' | 'descartada' | 'contingencia_epec'
  - `empresa_id` string
  - `ambiente` 'sandbox' | 'producao'
  - `simulacao` string, nullable
  - `modo` 'informado' | 'calcular' | 'conferir'
  - `modelo` 55
  - `serie` integer
  - `numero` integer
  - `chave_acesso` string
  - `chaves_anteriores` string[]: Chaves que a nota teve antes de uma correção num mês seguinte.
  - `chave_referenciada` string, nullable: Chave da NF-e de origem referenciada (devolução, complementar); null quando a nota não referencia nenhuma.
  - `protocolo` string, nullable
  - `emitida_em` string, date-time, nullable
  - `autorizada_em` string, date-time, nullable
  - `valor_total` string, nullable
  - `sefaz` object, nullable
    - `cstat` string
    - `motivo` string
  - `rejeicao` NfeRecusa, nullable
    - `codigo_oficial` string: cStat da SEFAZ.
    - `mensagem` string: xMotivo da SEFAZ.
    - `explicacao` object, nullable
      - `codigo` string
      - `campo` string, nullable
      - `correcao` string
  - `denegacao` NfeRecusa, nullable
    - `codigo_oficial` string: cStat da SEFAZ.
    - `mensagem` string: xMotivo da SEFAZ.
    - `explicacao` object, nullable
      - `codigo` string
      - `campo` string, nullable
      - `correcao` string
  - `falha_envio` object, nullable: Nota em `transmitindo` que ainda não chegou à SEFAZ por uma falha antes do envio. Com `certificado_recusado_pela_sefaz`, a SEFAZ recusou o certificado sem processar a nota (nenhuma NF-e foi criada lá): a Sudrel tenta de novo em `proxima_tentativa`, e a prontidão mostra o item `certificado_sefaz`. Com `envio_pausado`, a recusa se repetiu (3 vezes, por padrão) e a Sudrel parou de tentar (webhook `NFE_ENVIO_PAUSADO`): a nota volta sozinha quando o certificado passar no teste da prontidão (um certificado novo, ou o mesmo uma hora depois).
    - `motivo` 'certificado_recusado_pela_sefaz' | 'envio_pausado' | 'uf_indisponivel' | 'falha_antes_do_envio'
    - `mensagem` string
    - `desde` string, date-time, nullable
    - `proxima_tentativa` string, date-time, nullable
    - `pausado_em` string, date-time, nullable
  - `contingencia` object, nullable: A nota entrou em contingência (veja Contingência da NF-e). Nulo na emissão normal.
    - `modo` 'svc_an' | 'svc_rs' | 'epec'
    - `tp_emis` 4 | 6 | 7
    - `situacao` 'em_contingencia' | 'autorizada_em_contingencia' | 'epec_registrado' | 'epec_prazo_proximo' | 'epec_rejeitado' | 'duplicata_cancelada' | 'duplicata_nao_cancelada' | 'duplicata_original_denegada'
    - `motivo` string: A justificativa (xJust) impressa no DANFE.
    - `desde` string, date-time
    - `chave_original` string: A chave tpEmis 1, que nunca foi transmitida.
    - `chave_original_transmitida` false
    - `epec` object, nullable
      - `protocolo` string
      - `registrado_em` string, date-time
      - `prazo_transmissao` string, date-time: 168 horas depois do EPEC.
      - `correcao` string, nullable
    - `reconciliacao` object, nullable
      - `em` string, date-time
      - `resultado` 'original_inexistente' | 'duplicata_cancelada' | 'duplicata_nao_cancelada' | 'duplicata_original_denegada'
  - `confirmacao` object, nullable
    - `motivo` string
    - `desde` string, date-time, nullable
    - `mensagem` string
    - `correcao` string
  - `descarte` object, nullable
    - `em` string, date-time
    - `automatico` boolean
    - `motivo` string, nullable
  - `cancelamento` object, nullable
    - `em` string, date-time
    - `protocolo` string
    - `justificativa` string
  - `cartas_correcao` object[]
    - `sequencia` integer
    - `texto` string
    - `status` 'transmitindo' | 'registrada' | 'rejeitada'
    - `protocolo` string, nullable
    - `sefaz` object, nullable
      - `cstat` string
      - `motivo` string
    - `em` string, date-time
  - `ajustes` object[]
    - `campo` string
    - `acao` 'preenchido' | 'derivado' | 'exigido' | 'omitido' | 'calculado' | 'divergente'
    - `motivo` string
    - `regra` string
    - `valor` unknown
    - `versao` string: Versão da regra, tabela ou calculadora.
    - `fonte` string: Fonte legal do valor.
  - `eventos` object[]
    - `tipo` string
    - `em` string, date-time
    - `detalhe` object
  - `regras_versao` string
  - `criada_em` string, date-time
  - `atualizada_em` string, date-time
  - `links` object
    - `self` string
    - `xml` string
    - `danfe` string

## Other responses

- `202`: Ainda transmitindo.
- `401`: `nao_autenticado`: chave de API ausente, inválida ou revogada.
- `404`: `nfe_nao_encontrada`: nenhuma NF-e com esse id, referência ou chave de acesso nesta conta e neste ambiente.
- `409`: `nfe_nao_corrigivel`.
- `422`: `validacao` ou `nfe_rejeitada`.

---

[API](https://skmtc.dev/sudrel/apis/api-publica-sudrel-nfs-e-nf-e-e-ct-e.md) · [All operations](https://skmtc.dev/sudrel/apis/api-publica-sudrel-nfs-e-nf-e-e-ct-e/llms.txt) · [OpenAPI document](https://skmtc.dev/sudrel/apis/api-publica-sudrel-nfs-e-nf-e-e-ct-e/revisions/efd7baba9e37?raw)
