Como emitir NFC-e offline

26/05/2022 - #: NFCe

Existes alguns cenários que devem ser bem entendidos para que o processo não fique falho, vamos aos dois casos:

1. Sefaz com lentidão, mas processou seu documento fiscal
Quando é enviado um documento fiscal por exemplo com o numero 1 e a Sefaz esta com lentidão e nos devolve um erro maior que 7000 isso indica um erro de comunicação que pode representar varias coisas, em alguns casos a Sefaz recebe o documento fiscal e o mesmo fica na fila de processamento, fazendo com que a consulta retorne uma nota ainda não processada, nesse caso iremos lhe retornar código 5023, fazendo com que seja aguardado alguns minutos para ser feito a consulta pela chave de acesso na API.

{
    "sucesso": false,
    "codigo": 7028,
    "mensagem": "Falha de Comunicação! TimeOut.",
    "chave": "50190813188739000110650010000012001581978549"
}


Nesse formato para não deixar o cliente parado e esperando a NFC-e ser autorizada, deve ser incrementado a numeração dessa NFC-e para 2 e enviado ela novamente com o grupo contingencia no payload, iremos devolver a impressão da NFC-e em contingência offline, deve ser entregue ao cliente e o processo é finalizado, assim o cliente não ira ficar esperando.

{
    "contingencia": {
        "data": "2022-05-20T10:00:00-03:00",
        "motivo": "Sefaz fora do ar"
    },
    "natureza_operacao": "VENDA DENTRO DO ESTADO",
    "serie": "1",
    "numero": "1035",
    "data_emissao": "2020-10-15T03:00:00-03:00",
    "presenca_comprador": "9",
    "destinatario": {
        "cnpj": "15493535500128",
        "nome": "EMPRESA MODELO",
        "indicador_inscricao_estadual": "1",
        "inscricao_estadual": "212055510",
        "endereco": {
            "logradouro": "AVENIDA TESTE",
            "numero": "444",
            "bairro": "CENTRO",
            "codigo_municipio": "2408003",
            "nome_municipio": "Mossoro",
            "uf": "RN",
            "cep": "59653120",
            "codigo_pais": "1058",
            "nome_pais": "BRASIL",
            "telefone": "8499995555"
        }
    },
    "itens": [
        {
            "numero_item": "1",
            "codigo_produto": "000297",
            "descricao": "SAL GROSSO 50KGS",
            "codigo_ncm": "55110011",
            "cfop": "5102",
            "unidade_comercial": "SC",
            "quantidade_comercial": 10,
            "valor_unitario_comercial": "22.45",
            "valor_bruto": "224.50",
            "unidade_tributavel": "SC",
            "quantidade_tributavel": "10.00",
            "valor_unitario_tributavel": "22.45",
            "origem": "0",
            "inclui_no_total": "1",
            "imposto": {
                "valor_aproximado_tributos": 9.43,
                "icms": {
                    "situacao_tributaria": "102",
                    "modalidade_base_calculo": "3",
                    "valor_base_calculo": "0.00",
                    "modalidade_base_calculo_st": "4",
                    "aliquota_reducao_base_calculo": "0.00",
                    "aliquota": "0.00",
                    "aliquota_final": "0.00",
                    "valor": "0.00",
                    "aliquota_margem_valor_adicionado_st": "0.00",
                    "aliquota_reducao_base_calculo_st": "0.00",
                    "valor_base_calculo_st": "0.00",
                    "aliquota_st": "0.00",
                    "valor_st": "0.00"
                },
                "pis": {
                    "situacao_tributaria": "01",
                    "valor_base_calculo": 224.5,
                    "aliquota": "1.65",
                    "valor": "3.70"
                },
                "cofins": {
                    "situacao_tributaria": "01",
                    "valor_base_calculo": 224.5,
                    "aliquota": "7.60",
                    "valor": "17.06"
                }
            },
            "valor_desconto": 0,
            "valor_frete": 0,
            "valor_seguro": 0,
            "valor_outras_despesas": 0,
            "informacoes_adicionais_item": "Valor aproximado tributos R$: 9,43 (4,20%) Fonte: IBPT"
        }
    ],
    "frete": {
        "modalidade_frete": "0",
        "volumes": [
            {
                "quantidade": "10",
                "especie": null,
                "marca": "TESTE",
                "numero": null,
                "peso_liquido": 500,
                "peso_bruto": 500
            }
        ]
    },
    "pagamento": {
        "formas_pagamento": [
            {
                "meio_pagamento": "01",
                "valor": "224.50",
                "tipo_integracao": "2"
            }
        ]
    },
    "informacoes_adicionais_contribuinte": "PV: 3325 * Rep: DIRETO * Motorista:  * Forma Pagto: 04 DIAS * teste de observação para a nota fiscal * Valor aproximado tributos R$9,43 (4,20%) Fonte: IBPT",
    "pessoas_autorizadas": [
        {
            "cnpj": "96256273000170"
        }, {
            "cnpj": "80681257000195"
        }
    ]
}


Após ser feito a emissão offline deve ser utilizado a rota de processamento de NFC-e offline na API,
com isso será enviado a NFC-e número 2 para a Sefaz.
Porém com esse cenário temos um problema, pois a Sefaz pode ter autorizado a NFC-e número 1(Emissão em modo normal porém com lentidão na Sefaz) e também a NFC-e número 2(Emissão em modo offline), para resolver isso existe uma rota na API que é para Cancelamento por Substituição, aonde tem um prazo de 168 horas para fazer a substituição de NFC-e número 1 pela número 2.

2. Sefaz fora e não recebeu seu documento fiscal
Nesse cenário a NFC-e número 1 não foi recebida nem processada pela Sefaz, então deve ser incrementado o número para 2 e feito o envio offline conforme mencionado no cenário a cima.
Tendo certeza de que a NFC-e número 1 não existe na Sefaz deve ser feito a inutilização dessa numeração.