Montagem do procNFe - nova funcionalidade
As vezes pode ocorrer algum problema no momento do envio do lote de NF-e e ficarmos sem o recibo de entrega do lote.
Nestes casos, não temos como recuperar o resultado do processamento do lote e o respectivo protocolo de autorização de uso.
Alguns usuários tentam o reenvio do lote, mas na maioria das vezes esta tentativa resulta em Rejeição por Duplicidade de NF-e.
Nesta situação, o procedimento mais adequado é manter a chave de acesso da NF-e inalterada e tentar a Consulta Situação Atual da NF-e (NfeConsulta Protocolo) e podemos ter os seguintes resultados da consulta:
a) Rejeição: NF-e inexistente - significando que o lote não foi recebido pelo Web Service ou a NF-e foi rejeitada - neste caso devemos tentar o reenvio do lote para identificar o problema;
b) Retorno do protocolo com cStat 100 (NF-e autorizada), 101 (NF-e cancelada) ou 110 (NF-e denegada) - para os cStat 100 ou 110, podemos montar o procNFe, pois o protocolo tem as informações necessárias, o único problema é que a ordem das tags não é a mesma do protocolo de autorização de uso.
Para facilitar a vida de nossos usuários estamos disponibilizando uma nova funcionalidade:
Cria o ProcNFe a partir da NFe assinada, a funcionalidade faz a consulta situação da NF-e e caso a NF-e esteja autorizada, cria o procNFe se a NF-e assinada for idêntica à nota fiscal autorizada.
A funcionalidade é útil para os casos em que não houve retorno da transmissão da NF-e/Lote ou para montar os procNFe que não haviam sido criados.
O usúario deve converter o conteúdo do procNFe que retorna para UTF8 antes de gravar o arquivo procNFe.
string CriaProcNFe(ref string NFeAssinada, out string protocolo, out int resultado, string nomeCertificado, out string msgResultado, string proxy, string usuario, string senha)
Entradas: NFeAssinada e nomeCertificado
Retorno : procNFe (retorno da função) e protocolo de autorização de uso (nnnnnnnnnnnnnnn dd/mm/aaaa hh:mm:ss), resultado (100 => se procNFe recuperado)
NFe_Util_v1.6.zip (270.4 KB, 9,801 downloads)