# Fluxo - Envio Contingência SEFAZ NFC-e

## O que é a emissão em contingência?

A emissão em contingência é um processo criado para que, sempre que hajam problemas na autorização da nota pela SEFAZ, o contribuinte tenha um respaldo para que sua operação prossiga normalmente. Segundo o [Ajuste SINIEF 19/16](https://www.confaz.fazenda.gov.br/legislacao/ajustes/2016/AJ_019_16):

> **Cláusula décima primeira** Quando em decorrência de problemas técnicos não for possível transmitir a NFC-e para a unidade federada do emitente, ou obter resposta à solicitação de Autorização de Uso da NFC-e, o contribuinte deverá operar em contingência, mediante a adoção, a critério da unidade federada, de uma das seguintes alternativas:
>
> *I - efetuar geração prévia do documento fiscal eletrônico em contingência e autorização posterior, conforme definições constantes no MOC.*
>
> *II - utilizar equipamento Emissor de Cupom Fiscal - ECF ou Sistema Autenticador e Transmissor - SAT;*
>
> *III - transmitir Evento Prévio de Emissão em Contingência - EPEC (NFC-e), para a unidade federada autorizadora, nos termos da cláusula décima quarta, e imprimir pelo menos uma via do DANFE NFC-e que deverá conter a expressão “DANFE NFC-e impresso em contingência - EPEC regularmente recebido pela administração tributária autorizadora”, presumindo-se inábil o DANFE NFC-e impresso sem a regular recepção do EPEC pela unidade federada autorizadora.*

Nós trabalhamos com a emissão do documento fiscal eletrônico emitido em contingência.

Para entender como é o processo de emissão em contingência, o fluxo demonstrado a seguir acoberta a emissão da nota dentro da integração com a InvoiSys.

## APIs Essenciais 💡

* **Envio Completo em contingência do documento**: [/api/nfce/envioxmlcontingencia](/invoisys/endpoints/emissao-notas/nfc-e-1/api-envio-contingencia-completo-da-nfc-e.md)
* **Envio Híbrido em contingência do documento**: [/api/nfce/enviohibridacontingencia](/invoisys/endpoints/emissao-notas/nfc-e-1/api-envio-contingencia-hibrida-da-nfc-e.md)
* **Gerar DANFE**: [/api/nfce/getdanfe/{id}](/invoisys/endpoints/emissao-notas/nf-e/api-danfe-por-id.md)

## APIs Opcionais 🥈

* **Envio Completo do documento**: [/api/nfce/envioxmlnormal](/invoisys/endpoints/emissao-notas/nfc-e-1/api-envio-normal-completo-da-nfc-e.md)
* **Envio Híbrido do documento**: [/api/nfce/enviohibridanormal](/invoisys/endpoints/emissao-notas/nfc-e-1/api-envio-normal-hibrido-da-nfc-e.md)
* **Consulta do documento por ID**: [/api/nfce/{id}](/invoisys/endpoints/emissao-notas/nfc-e-1/api-consulta-nfc-e-por-id.md)
* **Consulta do documento por Chave de Acesso**: [/api/nfce/getbychavedeacesso/{chave}](/invoisys/endpoints/emissao-notas/nfc-e-1/api-consulta-nfc-e-por-chave-de-acesso.md)
* **Consulta do documento por Número/Série**: [/api/nfce/getby\_numero\_serie\_cnpj/{numero}/{serie}/{cnpj}/{ambiente}](/invoisys/endpoints/emissao-notas/nfc-e-1/api-consulta-nfc-e-por-numero-e-serie.md)
* **Cancelar documento por ID Estabelecimento**: [/api/nfce/cancelarnfce](/invoisys/endpoints/emissao-notas/nfc-e-1/api-cancelar-inutilizar-nfc-e.md)
* **Cancelar documento por CNPJ**: [/api/nfce/cancelarnfcecnpj](/invoisys/endpoints/emissao-notas/nfc-e-1/api-cancelar-inutilizar-nfc-e-por-cnpj.md)

## Etapas e suas APIs

Para detalharmos melhor a operação, a separamos em tópicos, [porém você consegue ver o fluxo completo aqui](https://drive.google.com/open?id=1_hb3oLPdhVgtHOPDcXqAcV1vGdhLWAq0) 📝.

### 1) Emissão da NFC-e

Antes de iniciamos a emissão da nota, é necessário estar com um token de acesso válido, pois este será utilizado no cabeçalho da chamada da [API de Envio](/invoisys/endpoints/emissao-notas/nf-e/api-envio.md). Tendo ele em mãos, podemos partir para a emissão da nota.

A sua missão é gerar os dados da operação, como Produtos, Pagamentos, etc., e criar um XML (Modelo Completo) ou JSON (Modelo Híbrido) que será mandado em nossas APIs.

Assim que recebermos a chamada, faremos algumas validações no XML. Se estiver correto, assinaremos o mesmo e o transmitiremos à SEFAZ.

Aqui você irá enviar a operação de venda para nós, utilizando a [API de Envio Completo](/invoisys/endpoints/emissao-notas/nfc-e-1/api-envio-normal-completo-da-nfc-e.md) ou [API de Envio Híbrida](/invoisys/endpoints/emissao-notas/nfc-e-1/api-envio-normal-hibrido-da-nfc-e.md). Iremos montar e assinar o XML, e vamos enviá-lo à SEFAZ.

### 2) Retorno da Chamada (Exceção na comunicação com a SEFAZ)

Diferente do que vimos no [Retorno do Envio Normal](/invoisys/getting-started/documentos-fiscais/emissao/nfc-e/fluxo-operacional/envio-normal-nfc-e-fluxo-completo.md#2-retorno-da-chamada), dessa vez não temos uma resposta da SEFAZ para emissão da nota, sendo assim, temos uma exceção na comunicação.

A intermitência será captada por nós, e em seguida retornamos as seguintes tags:

* `acoes: enviarContingencia`: Retorno `true`;
* `acoes: cancelar`: Retorno `true`.

```csharp
{
  "dadosDoDocumento": null,
  "acoes": {
    "corrigirDocumento": false,
    "cancelar": true,
    "enviarContingencia": true,
    "tentarNovamenteMaisTarde": false,
    "entrarEmContatoComSuporteImediatamente": false,
    "emitirProximoDocumentoNormal": null
  },
  "excecao": "The request failed with HTTP status 404: Not Found."
}
```

![](/files/-LwJBgJA3U9qlD04MjBC)

### 3) Emissão em contingência

Primeiramente é necessário avançar a numeração da nota. Você deve se perguntar:

*"Por que devo trocar a numeração se ainda não emiti a nota?"*

A gente te explica!

Quando ocorre uma exceção na comunicação com a SEFAZ, não temos o retorno da chamada, ou seja, não sabemos se a nota foi autorizada, pois a própria SEFAZ não nos informou. Sendo assim, acaba sendo um risco enviar na mesma numeração, pois pode ocorrer uma duplicidade ou rejeição do documento e, por consequência, o atraso na operação.

Para complementar o processo e evitarmos que tenhamos duas notas acobertando a operação, devemos enviar o cancelamento da nota que não obteve retorno da SEFAZ.

Além dessa explicação, também temos o [embasamento legal](https://www.confaz.fazenda.gov.br/legislacao/ajustes/2005/AJ_007_05) sobre a não reutilização de um número emitido como normal para uma emissão em contingência.

> &#x20;**Cláusula décima primeira**\
> **...**\
> § 2º **É vedada**: A reutilização, em contingência, de número de NFC-e transmitida com tipo de emissão “Normal”;

{% hint style="info" %}
**Resumindo a Operação:**

\- Emissão na numeração 1/1;\
\- Timeout na operação;\
\- Emissão da mesma nota em contingência na numeração 2/1;\
\- Cancelamento da nota de numeração 1/1.
{% endhint %}

O segundo passo é adicionar as tags:

* `dhCont` que terá a data e hora de entrada em contingência;
* `xJust` que terá a justificativa da entrada em contingência.

![](/files/-LwJDEhyMqS7ihzPuONw)

Após ajustarmos, podemos realizar a chamada da [API para Envio em Contingência Completo](/invoisys/endpoints/emissao-notas/nfc-e-1/api-envio-contingencia-completo-da-nfc-e.md) ou [API para Envio em Contingência Híbrido](/invoisys/endpoints/emissao-notas/nfc-e-1/api-envio-contingencia-hibrida-da-nfc-e.md). Também deveremos efetuar o [Cancelamento da nota que apresentou uma exceção na comunicação com a SEFAZ](/invoisys/getting-started/documentos-fiscais/emissao/nf-e/teste-fluxos-operacionais/cancelamento-modelo-completo.md).

### 4) Retorno da chamada

Assim como no envio normal, as notas emitidas em contingência também terão uma mensagem de retorno da SEFAZ. Esta mensagem será recebida por nós, e em seguida retornaremos na mesma chamada da API juntamente com os dados do documento e suas respectivas ações. É com base nesse retorno que entendemos o que deve ser feito após a emissão da NF-e.

Nele existem algumas informações que podem ser interessantes você guardar, como a `chaveDeAcesso` e o `id` do documento criado em nossa base, pois são utilizados em outras APIs.

```csharp
{
  "dadosDoDocumento": {
    ...
    "dataDeAutorizacao": null,
    "documentoComErro": false,
    "codigoStatusSEFAZ": null,
    "descricaoStatusSEFAZ": null,
    ...
    "documentoJaEmitidoAnteriormente": false,
    "status": {
      "key": 4,
      "value": "Aguardando envio para SEFAZ"
    }
  },
  "acoes": {
    "corrigirDocumento": false,
    "cancelar": false,
    "enviarContingencia": false,
    "tentarNovamenteMaisTarde": false,
    "entrarEmContatoComSuporteImediatamente": false,
    "emitirProximoDocumentoNormal": true
  },
  "excecao": null
}
```

![](/files/-LwJDe6h74OkmcGM1Els)

Resumidamente, com base no retorno podemos chegar a 3 cenários:

[a) Autorização da NF-e](/invoisys/getting-started/documentos-fiscais/emissao/nfc-e/fluxo-operacional/envio-contingencia-sefaz-nfc-e-flux.md#autorizacao);\
[b) Rejeição da NF-e](/invoisys/getting-started/documentos-fiscais/emissao/nfc-e/fluxo-operacional/envio-contingencia-sefaz-nfc-e-flux.md#rejeicao);\
[c) Exceção na comunicação com a SEFAZ](/invoisys/getting-started/documentos-fiscais/emissao/nfc-e/fluxo-operacional/envio-contingencia-sefaz-nfc-e-flux.md#excecao-na-comunicacao-com-a-sefaz);

#### a) Autorização

Para verificarmos se nota foi autorizada, devemos seguir os [mesmos passos descritos no fluxo do envio normal](/invoisys/getting-started/documentos-fiscais/emissao/nfc-e/fluxo-operacional/envio-normal-nfc-e-fluxo-completo.md#a-autorizacao-da-nfc-e).

{% hint style="info" %}
**Cancelamento por Substituição**\
A NFC-e emitida em contingência serve para acobertar a NFC-e que não teve retorno da SEFAZ. Nós explicamos no [fluxo de Cancelamento/Inutilização da NFC-e](/invoisys/getting-started/documentos-fiscais/emissao/nfc-e/fluxo-operacional/envio-cancelamento-inutilizacao-nfc-e-fluxo-completo.md)
{% endhint %}

![](/files/-LwJGXi2RRm9f9HeNy5j)

#### b) Rejeição

Assim como na autorização, também seguiremos o [mesmos passos do Fluxo de Envio Normal para identificar se a nota foi rejeitada e qual rejeição a nota recebeu](/invoisys/getting-started/documentos-fiscais/emissao/nfc-e/fluxo-operacional/envio-normal-nfc-e-fluxo-completo.md#b-rejeicao-da-nfc-e).

![](/files/-LwJH2db7kBZ54KNRrj5)

#### c) Exceção na Comunicação com a SEFAZ

Este cenário é tratato por nossa solução. Quando ocorre o *Timeout* no envio deste documento, nós fazemos o reagendamento automático.

![](/files/-LwJHGIjO53aeCfvechp)

Neste caso, você poderá utilizar as APIs abaixo para checar periodicamente se o documento teve o status atualizado:

* [API de Consultar NFC-e por ID](/invoisys/endpoints/emissao-notas/nfc-e-1/api-consulta-nfc-e-por-id.md);
* [API de Consultar NFC-e por Número e Série](/invoisys/endpoints/emissao-notas/nfc-e-1/api-consulta-nfc-e-por-numero-e-serie.md);&#x20;
* [API de Consultar NFC-e por Chave de Acesso](/invoisys/endpoints/emissao-notas/nfc-e-1/api-consulta-nfc-e-por-chave-de-acesso.md).

Terminamos esta etapa 😁. Para seguir, basta selecionar a *card* abaixo.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://integracao.gitbook.io/invoisys/getting-started/documentos-fiscais/emissao/nfc-e/fluxo-operacional/envio-contingencia-sefaz-nfc-e-flux.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
