O que é emitir em Contingência – Offline?
A contingência offline é um tipo de emissão que ao ocorrer problemas técnicos, o emitente não precisa interromper suas negociações, e pode realiza-las normalmente. Após cessarem os problemas técnicos, a NFCe deve ser enviada para a SEFAZ, possuindo então a sua validade junto a Receita do Estado.
Como funciona a Contingência Offline do NFCe Cloud?
Quando não é possível emitir normalmente, o Client realiza o processo de emissão em contingência realizando os seguintes passos:
1 – O emissor adiciona no XML de forma automática estas informações de contingência (Tipo de emissão para 9 = Contingência offline, Data e hora da emissão em contingência, e motivo da emissão em contingência) e salva para envio posterior;

2 – Imprime o Danfe NFC-e com as informações de contingência, sendo duas vias, uma VIA – ESTABELECIMENTO e outra VIA – CONSUMIDOR:

3 – Gera RP de retorno com o status OFFLINE no arquivo TXT de emissão;

4 – A cada 3 minutos o Client verifica se existem .xmls emitidos em contingência aguardando envio, no qual envia o mesmo para a Sefaz, trazendo o retorno da emissão no arquivo contingencia_ret como veremos logo a baixo.

Os principais motivos pelo qual o Client realiza a emissão em contingência de uma NFC-e são:
- Client não consegue comunicar com o WebService (provável problema de conexão com a Internet na rede do emitente);
- WebService da Sefaz temporariamente indisponível;
- Client não recebe retorno do WebService da News Systems dentro do tempo limite configurado devido Internet do contribuinte ser muito lenta ou o WebService da Sefaz demorou para responder ao WebService da News Systems.
Neste caso pode ser observado como forma de solução as emissões em contingência a velocidade de internet configurada no sistema.
Execute o NSNFCeClientConfig e selecione a aba INTERNET. Caso esteja configurado como velocidade Rápida altere esta configuração para Média ou Lenta, dependendo da conexão do emitente.
- Rápida irá aguardar por 15 segundos o retorno do Servidor.
- Média irá aguardar por 20 segundos o retorno do Servidor.
- Lenta irá aguardar por 30 segundos o retorno do Servidor.
Após este tempo sem retorno a nota será emitida automaticamente em Contingência Offline

Como configurar Contingência Offline no NFCe Cloud?
- Abra o ‘NSNFCeClientConfig.jar’ e vá na aba ‘Contingência’;
- Marque ‘Sim’ na opção de ‘Entrar em contingência automaticamente?’;
- Selecione o Fuso Horário de acordo com o estado de seu cliente, observando se é horário de verão ou não;
- Insira um motivo para emissão em contingência, com no mínimo 15 caracteres;
- Clique em Aplicar e feche a tela de configuração.

Estando assim configurado o emissor, toda a vez que ocorrer o problema técnico, e o Client não receber o retorno da emissão no tempo configurado, o sistema irá emitir automaticamente esta nota em contingência, e tentará enviar a nota para a sefaz a cada 3 minutos.
Após o envio desta nota, será criado um arquivo na pasta ‘Processados/nsConcluido’, chamado ‘contingencia_ret.txt’.
Como proceder para obter o Retorno do Processamento das Notas emitidas em Contingência?
1 – Seu sistema deverá ler o RP do processamento no mesmo arquivo txt de emissão que foi gerado na pasta Remessas e agora, após o processamento, se encontra na pasta Processados/nsConcluido. Este retorno é gerado ao final do arquivo txt, onde é composto pela CHAVE DE ACESSO e o retorno EMITIDO EM CONTINGÊNCIA. Esta chave deverá ser armazenada em um banco de dados para posteriormente poder ser comparada com a chave da nota já enviada para a sefaz.

2 – Agora com a nota já enviada para a sefaz, você deverá consultar esta chave armazenada no seu banco de dados no arquivo CONTINGENCIA_RET gerado na pasta Processados/nsConcluídos, verificando então se esta nota foi autorizada na sefaz. No caso dela estar com o retorno de Autorizada, basta você armazenar este retorno.

3 – No caso da nota ter sido rejeitada, deverá ser obtido o Retorno da mesma forma para então poder ser ajustada e reenviada.

Na nota rejeitada pela Sefaz, você deverá realizar a correção da mesma, e enviar novamente para a sefaz, alterando as seguintes informações no arquivo txt de emissão:
- Forma de emissão(Linha B coluna 14 tag:tpEmis) deve conter valor ‘9’;
- Data e hora da entrada em contingência (linha B coluna 20 tag:dhCont) preenchida com a hora da ocorrência dos problemas técnicos;
- Justificativa da entrada em contingência (linha B coluna 21 tag:xJust).

Como acontecem as tentativas de processamento das emissões em contingencia?
O NFCe Cloud tem alguns padrões quando a emissão é realizada em contingencia, justamente para garantir que o documento foi enviado para a sefaz. E essas tentativas de envio dos dados da contingencia para a Sefaz acontece da seguinte forma:
Quantidade de tentativas | Minutos | |
---|---|---|
0 | 3 | |
1 | 10 | |
2 | 30 | |
3 | 60 | 1 hora |
4 | 90 | 1.5 horas |
5 | 120 | 2 horas |
6 | 240 | 4 horas |
7 | 360 | 6 horas |
8 | 480 | 8 horas |
9 | 720 | 12 horas |
10 | 1440 | 24 horas |
Ou seja, o Client tenta enviar o documento emitido em contingencia até 10x em um período de 24 horas. Se depois de todas essas tentativas mesmo assim não conseguirmos obter um retorno satisfatório, ai sim encerramos essas tentativas e retornamos algo sobre o processamento na pasta contingencia_ret.
Essas tentativas ocorrem para os seguintes erros especificos:
- RP| | |108|Servico Paralisado Momentaneamente (curto prazo)| | | | | |
- RP| | |109|Servico Paralisado sem previsao| | | | | |
- RP| | |999|Could not establish trust relationship for the SSL/TLS secure channel with authority ‘nfce.sefazrs.rs.gov.br‘.| | | | | |
Lembrando que o código de erro 999 é um retorno genérico, quando o erro não tem um código especifico da sefaz, normalmente sendo um problema de comunicação com a sefaz, a mensagem é retornada utilizando o código citado.
Outra questão importante é você estar atento a todos aos retornos diferentes de Autorizado (100|Autorizado o uso da NF-e), pois todos os retornos que não são autorizados, são passiveis de reprocessamento do documento. Segue abaixo alguns exemplos:
- RP| | |778|Rejeicao: Informado NCM inexistente [nItem:4]|NFe11111111111111111111111111111111111111111111| | | | |
- RP| | |998|Certificado Digital Vencido, favor verificar com a sua Software House|NFe11111111111111111111111111111111111111111111| | | | |
- RP| | |999|There was no endpoint listening at https://nfce.sefazrs.rs.gov.br/ws/NfeStatusServico/NfeStatusServico4.asmx that could accept the message. This is often caused by an incorrect address or SOAP action. See InnerException, if present, for more details.|NFe11111111111111111111111111111111111111111111| | | | |
Aqui constam apenas alguns retornos de exemplo, mas existem diversos códigos de rejeições da sefaz que podem ser visto no manual de contribuinte da NFe 4.00.
Como podemos perceber o processo de emissão em contingencia é realizado através de inúmeras tentativas de processamento para garantir que o seu documento chegue até a sefaz para ser autorizado.
O que fazer para resolver problemas das emissões feitas em contigência?
Como comentamos no texto acima estamos focando em lhe ajudar a solicinar os problemas quando as emissões são feitas em contingência. Uma pergunta importante é o que fazer para resolver problemas das emissões que cairam em contingencia e tiveram um retorno de erro no contingencia_ret?
Sempre que o retorno que vier no arquivo contingencia_ret for diferente de 999 ou 998 você deve pedir par ao usuário final ajustar o layout do do txt ou xml e reenviar o documento para ser processado novamente, isso pode ser um padrão no seu sistema, pois sempre será uma rejeição da sefaz. Um exemplo classico é a rejeição
- RP| | |778|Rejeicao: Informado NCM inexistente [nItem:4]|NFe11111111111111111111111111111111111111111111| | | | |

Para os retornos 999 e 998 como comentamos que são códigos genéricos que podem vir retornos gerais como erros de comunicação com a sefaz depois de esgotadas as tentativas de envio para a sefaz, neste caso você também precisará reenviar o mesmo arquivo para ser reprocessado novamente. Um exemplo clássico é o retorno de erro de SSL/TLS, neste caso é necessário reenviar o mesmo documento com as informações de contingencia informadas.
Outra opção importante é realizar a consulta de situação do documento na sefaz, através da chave do documento você pode consulta-lo diretamente na sefaz e saber se ele foi autorizado ou não.