Blog

Consulta de NF-e Destinadas e Distribuição (Baixar o XML das notas)

Distribuição de NF-e

A SEFAZ passou a exigir o uso adequado desse WebService conforme INFORME publicado no site oficial:

04/03/2022 – Atualização das Regras de Uso Indevido do Web Service NFeDistribuicaoDFe – NT 2014.002 ( https://www.nfe.fazenda.gov.br/portal/exibirArquivo.aspx?conteudo=C/xkRclIh74= ). É importante seguir as exigências para evitar bloqueios. Entre elas:

  1. Não pode ter mais de um software consultando as notas;
  2. Deve ser consultado a partir do último NSU;
  3. Deve ser respeitado o intervalo mínimo 60 minutos.

A distribuição seguem as determinações da SEFAZ conforme Nota Técnica 2014.002 – v.1.12 – Publicada em 09/03/2022 ( https://www.nfe.fazenda.gov.br/portal/exibirArquivo.aspx?conteudo=C/xkRclIh74= ).

Utilize a função: “SEFAZ NF-e – Distribuição de NF-e“, para consultar os documentos fiscais de interesse, ela tem comportamentos distintos, de acordo com os parâmetros informados:

  1. Conector (Variante);
  2. Este parâmetro pode ser informado com um dos dois itens abaixo:
    • Número sequencia (último NSU com até 15 digitos), caso não saiba informe 0 (zero) para baixar as últimas notas;
    • Chave de acesso da NF-e (44 caracteres) para  obter uma NF-e específica;
    • XML completo a ser utilizado na consulta.

O retorno dessa função será uma lista de NF-e emitidas ou uma NF-e específica, de acordo com os dados passados no segundo parâmetro. Ela corresponde ao WebService “NfeDistribuicaoDFe”.

IMPORTANTE 1: Atualmente este WebService só está disponível no “AN“. Defina o servidor no conector antes de executar a chamada através da função “SEFAZ – Definir Servidor“.

IMPORTANTE 2: Configure o tipo de serviço para “NFE” usando a função “SEFAZ – Definir Tipo de Serviço“.

Obtendo uma lista de documentos

Utilize a função: “SEFAZ NF-e – Distribuição de DF-e“, que deve ser utilizada com os seguintes parâmetros:

  1. Conector (Variante);
  2. Número sequencia (último NSU com até 15 digitos), caso não saiba informe 0 (zero) para baixar as últimas notas.

O retorno dessa função será uma lista de NF-e emitidas contra o CNPJ do certificado. Se for passado a chave de acesso será o XML da NF-e em questão.

Processando a resposta

Após obter a lista de documentos emitidos utilize a função de processar XML para transformar o resultado em lista, percorra todas as chaves do mapa retornado (usando as funções nativas do Maker);

Obtenha os itens cujo retorno sejam prefixados por:
nfeDistDFeInteresseResponse/nfeDistDFeInteresseResult/retDistDFeInt/loteDistDFeInt/docZip[@nsu=”

Observe, para cada nota existirão 2 entradas, numa delas terá o sufixo “:ISO-8859-1”, o que permite a leitura dos XMLs em versões do webrun com charset diferente. Verifique qual das duas versões funciona no seu ambiente e use somente uma delas.

Obtenha o XML da NF-e e processe para obter a chave de acesso de cada documento. Com a chave de acesso é possível consultar o XML completo conforme NT2014.002.

Baixando o XML completo de uma NF-e

Utilize a mesma função do passo anterior: “SEFAZ NF-e – Distribuição de DF-e“, que desta vez será utilizada com os seguintes parâmetros:

  1. Conector (Variante);
  2. Chave de acesso da NF-e (44 caracteres) para  obter uma NF-e específica.

O retorno dessa função será o XML da NF-e que pode estar completo ou resumido se não tiver sido manifestado a ciência.

Dando ciência a operação

A manifestação pode ser feita por evento através das funções a seguir:

  1. Criar o conector (Variante);
  2. Definir o Ambiente Nacional como destino: SEFAZ – Definir Servidor(Conector, “AN”);
  3. Gerar o XML do manifesto já assinado usando a função: “SEFAZ – XML- Manifestação do Destinatário – Evento“;
  4. Enviar a manifestação com a função “SEFAZ NF-e – Enviar evento(conector, XML assinado)“;
  5. Obter o retorno para confirmar se o evento foi aceito ou rejeitado.

Leave a comment