Abaixo serão listados os códigos de retorno que determinam o processo de emissão NFC-e / SAT para São Paulo.
Os códigos são:
✓ Código 205 (código genérico de falha de comunicação): Este código é retornado quando ocorrer uma falha de comunicação com a SEFAZ, ou com o Concentrador. O que diferencia a mensagem de retorno é somente a mensagem apresentada no campo <description>.
Onde:
1 - Quando ocorrer erro de comunicação com a SEFAZ irá retornar a seguinte mensagem no campo <description>: "Não foi possível enviar NFC-e problema de comunicação com a SEFAZ".
2 - Quando ocorrer erro de comunicação com o Concentrador irá retornar a seguinte mensagem no campo <description>: "Não foi possível enviar NFC-e problema de comunicação com o concentrador".
Exemplo de retorno com o código 205:
<?xml version="1.0" encoding="UTF-8"?>
<nfce version="4.00">
<response>
<code>205</code>
<description>Nao foi possível enviar NFCe problema de comunicação com a Sefaz</description>
</response>
<sefazrejection>
<code>XXXX</code>
<description>XXXXXXX</description>
</sefazrejection>
</nfce>
✓ Código 213 (Quando não tem contingência ativa): Este código é retornado quando o agente não identifica qual o tipo de contingência está marcado para ser utilizado. É um código que raramente irá apresentar, porém deve ser considerado.
Exemplo de retorno com o código 213:
<?xml version="1.0" encoding="UTF-8"?>
<nfce version="4.00">
<response>
<code>213</code>
<description>Nao foi possivel enviar NFCe problema de comunicação. Nenhuma contingencia ativa</description> </response> <sefazrejection>
<code>XXXX</code>
<description>XXXXXXX</description>
</sefazrejection>
</nfce>
✓ Código 218 (Sinaliza que a SEFAZ ainda está em contingência): Este código é retornado somente quando o sistema identifica que a SEFAZ ainda está em contingência e sinaliza para o agente que ele deve guardar o número para utilizar na próxima emissão;
Exemplo de retorno com o código 218:
<?xml version="1.0" encoding="UTF-8"?>
<nfce version="4.00">
<response>
<code>218</code>
<description>Tipo de emissao invalido para estado de contingencia</description> </response> <sefazrejection>
<code>XXXX</code>
<description>XXXXXXX</description>
</sefazrejection>
</nfce>
Estes são os códigos que sinalizam para o PDV que ele precisa emitir a nota com tipo de emissão em contingencia tpemis = 9.
Abaixo segue fluxo de como funciona as emissões:
1º Envio
✓PDV -> Envia NFC-e com tipo de emissão normal (tpemiss=1);
✓NDD -> Captura o arquivo e envia para a SEFAZ;
✓NDD -> Recebe um timeout da SEFAZ/Concentrador impossibilitando o envio da nota por falha de comunicação;
✓NDD -> Retorna para o PDV o código 205 ou 213;
✓NDD -> Dispara o arquivo CAN-INUT para inutilizar ou cancelar a nota que deu erro de comunicação;
✓PDV -> Envia NFC-e com tipo de emissão em contingencia tpemiss=9 (APARTIR DESTE MOMENTO O PROCESSO É O MESMO QUE JÁ É EFETUADO HOJE PARA EMISSAO SAT EM SÃO PAULO);
✓NDD -> Captura o arquivo e envia para o equipamento SAT;
✓NDD -> Retorna a Nota que foi processada no equipamento SAT (IGUAL O PROCESSO JÁ EFETUADO HOJE NO PDV).
2º Envio
✓PDV -> Envia NFC-e com tipo de emissão normal (tpemiss=1);
✓NDD -> Captura o arquivo e envia para a SEFAZ;
✓NDD -> Identifica que o concentrador ainda está em contingencia e retorna 218, pois não foi possível autorizar via SEFAZ;
✓NDD -> Não dispara o arquivo CAN-INUT (este processo serve para o reaproveitamento da numeração evitando a inutilização desnecessária, pois neste caso a nota não foi enviada para a SEFAZ e foi barrada no concentrador);
✓PDV -> Envia NFC-e com tipo de emissão em contingencia tpemiss=9 (APARTIR DESTE MOMENTO O PROCESSO É O MESMO QUE JÁ É EFETUADO HOJE PARA EMISSAO SAT EM SÃO PAULO);
✓NDD -> Captura o arquivo e envia para o equipamento SAT;
✓NDD -> Retorna a Nota que foi processada no equipamento SAT (IGUAL O PROCESSO JÁ EFETUADO HOJE NO PDV).
E assim segue o fluxo, quando a SEFAZ retornar o sistema automaticamente volta a emitir NFC-e normal e caso ocorra falha de comunicação o fluxo volta para o processo acima descrito sempre iniciado pelo primeiro envio.