NFeDistribuicaoDFe: Acesso a documentos fiscais e eventos, NT 2014/002
NFeDistribuicaoDFe: Acesso a documentos fiscais e eventos, NT 2014/002 O projeto Nota Fiscal Eletrônica (NF-e) busca oferecer aos participantes do processo acesso eficiente e seguro às informações de seu interesse. Para atender a essa demanda, a Nota Técnica 2014/002 atualizou o Web Service NFeDistribuicaoDFe,...
NFeDistribuicaoDFe: Acesso a documentos fiscais e eventos, NT 2014/002
O projeto Nota Fiscal Eletrônica (NF-e) busca oferecer aos participantes do processo acesso eficiente e seguro às informações de seu interesse. Para atender a essa demanda, a Nota Técnica 2014/002 atualizou o Web Service NFeDistribuicaoDFe, consolidando a distribuição de documentos fiscais eletrônicos (DF-e) e informações relacionadas. Este serviço é essencial para emitentes, destinatários, transportadores e terceiros.
O Serviço NFeDistribuicaoDFe
O Web Service NFeDistribuicaoDFe centraliza a distribuição de informações resumidas e documentos fiscais eletrônicos. Ele atende a diferentes atores da NF-e, seja pessoa física ou jurídica. Permite acesso a documentos não gerados pelo próprio interessado, mas que são de seu interesse, utilizando um certificado digital de PJ ou PF. Para Pessoas Jurídicas, a autenticação ocorre pelo CNPJ base, permitindo consultas com qualquer CNPJ da empresa, desde que o CNPJ base seja o mesmo do certificado.
Evolução e abrangência
O serviço NFeDistribuicaoDFe visa substituir o Web Service NfeConsultaDest, que fornecia informações para a manifestação do destinatário. A Nota Técnica 2014/002 foi desenvolvida para ampliar essa capacidade, incluindo eventos como Registro de Passagem e Pedido de Prorrogação/Cancelamento de prazo de suspensão do ICMS.
A distribuição abrange documentos para:
* Emitentes: Conforme grupo emit (id:C01).
* Destinatários: Conforme grupo dest (id:E01).
* Transportadores: Conforme grupo transporta (id:X03).
* Terceiros: Pessoas físicas autorizadas a acessar o XML, conforme grupo autXML (id:GA01).
Vigência da Nota Técnica 2014/002
A Nota Técnica 2014/002, versão 1.02, foi divulgada em Outubro de 2016. Os schemas de liberação para esta NT foram o PL_NFeDistDFe_102.
* Início de vigência em ambiente de homologação: 05/12/2016.
* Início de vigência em ambiente de produção: 09/01/2017.
* Desativação dos Web Services NfeConsultaDest e NFeDownloadNF: 02/05/2017.
Documentos e informações disponíveis
O serviço disponibiliza documentos fiscais eletrônicos e informações resumidas por até três meses após a recepção pelo Ambiente Nacional da NF-e. A tabela a seguir detalha a disponibilidade para cada ator:
| Documentos | Emitente | Destinatário ¹ | Transportador ² | Terceiros ³ |
|---|---|---|---|---|
| NF-e | Não | Sim | Sim | Sim |
| Evento de Cancelamento | Não | Sim | Sim | Sim |
| Evento de Carta de Correção | Não | Sim | Sim | Sim |
| Eventos de Manifestação do Destinatário | Sim | Não | Não | Sim |
| Eventos da Suframa (Vistoria/Internalização) | Sim | Sim | Não | Sim |
| EPEC | Não | Sim | Sim | Não |
| Eventos de Pedido de Prorrogação de Prazo | Não | Sim | Não | Não |
| Eventos do Fisco em Resposta ao Pedido de Prorrogação | Sim | Sim | Não | Não |
| Resumo de NF-e | Não | Sim | Não | Não |
| Resumo de Eventos CT-e Autorizado/Cancelado | Sim | Sim | Sim | Sim |
| Resumo de Eventos MDF-e Autorizado/Cancelado | Sim | Sim | Sim | Sim |
| Resumo de Eventos de Registro de Passagem | Sim | Sim | Sim | Sim |
¹ Para destinatários, documentos e resumos de eventos ficam disponíveis apenas se houver "Ciência da Operação", "Operação não Realizada" ou "Confirmação de Operação" para a NF-e. Exceção é o Evento de Cancelamento, disponível sem manifestação. Antes da manifestação, o destinatário acessa apenas o Resumo de NF-e e o cancelamento da NF-e.
² A NF-e é disponível ao transportador identificado no grupo X03.
³ Terceiros com CNPJ ou CPF na tag autXML terão acesso à NF-e.
Estrutura da Mensagem de Entrada
A requisição de distribuição de DF-e é feita via XML, utilizando o schema distDFeInt_v9.99.xsd. A mensagem raiz é distDFeInt e contém parâmetros para identificar o ambiente, a UF do autor e o interessado.
Parâmetros da requisição
Os campos principais da mensagem de entrada incluem:
* versao: Versão do leiaute.
* tpAmb: Identifica o ambiente (1=Produção / 2=Homologação).
* cUFAutor: Código da UF do autor.
* CNPJ: CNPJ do interessado na DF-e.
* CPF: CPF do interessado na DF-e.
Existem três tipos de consultas, definidas pelas tags:
* distNSU: Para distribuição de um conjunto de DF-e a partir de um NSU (Número Sequencial Único) informado. Contém o campo ultNSU, que é o último NSU recebido pelo ator.
* consNSU: Para consultar um DF-e a partir de um NSU específico. Contém o campo NSU.
* consChNFe: Para consultar uma NF-e pela chave de acesso informada. Contém o campo chNFe.
Estrutura da Mensagem de Retorno
O retorno do serviço é uma estrutura XML com os documentos de interesse, limitada a 50 documentos por lote, usando o schema retDistDFeInt_v9.99.xsd.
Os campos chave da mensagem de retorno são:
* versao: Versão do leiaute.
* tpAmb: Ambiente (Produção/Homologação).
* verAplic: Versão do aplicativo que processou a consulta.
* cStat: Código do status da resposta.
* xMotivo: Descrição do status da resposta.
* dhResp: Data e hora da resposta.
* ultNSU: Último NSU pesquisado no Ambiente Nacional. Permite continuar a consulta.
* maxNSU: Maior NSU existente no Ambiente Nacional para o CNPJ/CPF informado.
* loteDistDFeInt: Contém o conjunto de informações resumidas e documentos fiscais eletrônicos.
* docZip: Informação resumida ou documento fiscal eletrônico, compactado no padrão Gzip, com atributos NSU (NSU do documento) e schema (identifica o schema XML e versão).
Otimização da Mensagem de Retorno
Para reduzir a necessidade de infraestrutura de rede, cada documento na mensagem de retorno é compactado usando o padrão Gzip (tag docZip). Essa compactação pode reduzir o tamanho da mensagem em aproximadamente 60%, facilitando a transmissão e recepção dos dados. As aplicações cliente devem descompactar o documento para o processamento.
Processo de Distribuição de Documentos Fiscais Eletrônicos
Este serviço pode ser consumido por qualquer ator da NF-e (emitente, destinatário, transportador ou terceiro), pessoa física ou jurídica, que possua um certificado digital. O Ambiente Nacional atribui um Número Sequencial Único (NSU) para cada interessado nos documentos fiscais, garantindo uma sequência sem intervalos.
Geração do pedido
O XML do pedido de distribuição suporta três tipos de consulta, conforme a tag utilizada:
Consulta por NSU informado (distNSU)
A aplicação cliente informa o ultNSU (último número sequencial único) que possui. Se o NSU informado for menor que o primeiro disponível, o Ambiente Nacional fornecerá os documentos a partir do primeiro NSU existente.
Consulta de DF-e específico (consNSU)
Usada para consultar pontualmente um NSU que foi identificado como faltante na base de dados do interessado. A aplicação cliente informa o NSU desejado. Este mecanismo ajuda a preencher lacunas na sequência de documentos.
Consulta de NFe por chave de acesso (consChNFe)
Permite consultar uma NF-e de maneira pontual por sua chave de acesso. A aplicação cliente deve fornecer uma chave de acesso válida para recuperar o documento.
Identificação do interessado
É necessário informar o CPF da pessoa física ou CNPJ da empresa para a recuperação dos DF-e. Isso permite que uma empresa recupere documentos de qualquer um de seus estabelecimentos utilizando um único certificado digital de PJ. O pedido é enviado via Web Service, exigindo um certificado digital PJ ou PF válido.
Processamento da Requisição distNSU
O Web Service gera lotes de até 50 documentos para o interessado, contendo informações resumidas ou DF-e com NSU superior ao informado. Se o NSU informado for menor que o primeiro disponível, a aplicação fornecerá os documentos a partir do primeiro.
As regras para a criação do lote incluem:
* Ordem crescente de NSU.
* O lote pode conter qualquer tipo de documento válido e seu NSU.
* Máximo de 50 documentos por lote.
Documentos emitidos pela própria empresa não ficam disponíveis. A geração do NSU é organizada pela ordem cronológica de recepção dos documentos no Ambiente Nacional, não pela emissão.
As respostas podem ser:
* Rejeição: Mensagem com o motivo da falha (cStat).
* Nenhum documento localizado: Não há documentos fiscais para o CNPJ/CPF informado (cStat = '137').
* Documento(s) localizado(s): Devolução dos documentos encontrados (cStat = '138').
É recomendado aguardar um mínimo de uma hora antes de uma nova solicitação caso não haja mais documentos a pesquisar (ultNSU igual a maxNSU).
Processamento da Requisição consNSU
Este tipo de requisição é utilizada para identificar e preencher lacunas na sequência de NSUs recebidos. Se o Ambiente Nacional gerar NSUs sem lacunas, a distribuição distNSU deve fornecer uma sequência ordenada. Falhas nesse processo podem ser corrigidas com a consulta pontual de NSUs faltantes.
As respostas possíveis são:
* Rejeição: Mensagem com o motivo da falha (cStat).
* Nenhum documento localizado: O Ambiente Nacional não gerou o NSU (cStat = '137').
* Documento localizado: Devolução do documento fiscal encontrado (cStat = '138').
Processamento da Requisição consChNFe
A consulta por chave de acesso permite ao interessado acessar pontualmente uma NF-e específica. A chave de acesso deve ser válida, existir no Ambiente Nacional e estar vinculada ao interessado como destinatário, transportador ou terceiro.
- Destinatário: Se houver manifestação (
Ciência da Operação,Operação não RealizadaouConfirmação de Operação), a NF-e completa é retornada. Caso contrário, apenas o resumo da NF-e é disponibilizado, contendo as informações necessárias para a manifestação. - Transportador e Terceiros: A NF-e completa é disponibilizada.
- Emitente: A NF-e não é disponibilizada nesta consulta.
Esta consulta está disponível para documentos recebidos nos últimos 90 dias. Após esse período, não é possível recuperar a NF-e.
As respostas podem ser:
* Rejeição: Mensagem com o motivo da falha (cStat).
* Nenhum documento localizado: A NF-e não existe no Ambiente Nacional (cStat = '137').
* Documento localizado: Devolução do documento fiscal encontrado (cStat = '138').
Validação de Certificado
O Web Service exige a validação do certificado de transmissão. As regras incluem verificações sobre a existência do certificado, versão, validade, cadeia de certificação, Lista de Certificados Revogados (LCR) e se o certificado raiz difere da "ICP-Brasil". Além disso, verifica a presença da extensão de CNPJ ou CPF no certificado. Muitas dessas validações são tratadas pelo protocolo SSL.
Validação Inicial da Mensagem
A mensagem de requisição enviada ao Web Service é submetida a validações iniciais. O tamanho do XML de dados não pode exceder 10 KB. Mensagens que ultrapassem este limite podem ser rejeitadas (cStat = '214'). O serviço também verifica se o servidor de processamento está paralisado momentaneamente (cStat = '108') ou sem previsão (cStat = '109').
Validação da Área de Dados
A área de dados da mensagem passa por duas etapas de validação:
Validação de forma da área de dados
Verifica a conformidade com o Schema XML, o uso de prefixos no namespace, a codificação (deve ser UTF-8), e se a versão dos dados informada é suportada ou superior à versão vigente.
Validação de regras de negócio
Inclui verificações como:
* Ambiente da NF-e: Diferente do ambiente do Web Service (cStat = '252').
* CNPJ/CPF do interessado: Inválido ou zerado (cStat = '489', '490').
* Certificado Digital: O CNPJ base ou CPF do certificado deve ser o mesmo do CNPJ/CPF consultado (cStat = '593', '472').
* NSU informado: Superior ao maior NSU disponível (cStat = '589').
* Chave de Acesso: Várias regras de validação para sua estrutura (dígito verificador, código UF, ano, mês, CNPJ, modelo, número da NF), com códigos de rejeição específicos (ex: cStat = '236', '614' a '619').
* NF-e inexistente: Para a chave de acesso informada (cStat = '217').
* Prazo de download: A NF-e deve estar no prazo de 90 dias da data de recebimento no Ambiente Nacional (cStat = '632').
* Permissão: O CNPJ/CPF do interessado deve ter permissão para consultar a NF-e (cStat = '640).
* **Emitente:** A NF-e não é disponibilizada para o emitente (cStat= '641).
* Situação da NF-e: NF-e Cancelada ou Denegada resultam em arquivo indisponível para download (cStat = '653', '654').
Leiautes Resumidos
Para compartilhar informações relevantes de forma a manter o sigilo, foram criados leiautes com informações resumidas da NF-e e de seus eventos.
Resumo da NFe
O leiaute Resumo da NF-e (schema resNFe_v9.99.xsd) é gerado pelo Ambiente Nacional com informações essenciais da NF-e. Este documento é distribuído aos destinatários, permitindo a manifestação sobre a operação. Inclui dados como:
* chNFe (Chave de Acesso).
* CNPJ ou CPF e xNome (Razão Social ou Nome) do emitente.
* IE (Inscrição Estadual).
* dhEmi (Data de Emissão) e tpNF (Tipo de Operação).
* vNF (Valor Total da NF-e).
* digVal (Digest Value da NF-e).
* dhRecbto (Data de Autorização) e nProt (Número de Protocolo).
* cSitNFe (Situação da NF-e: Uso autorizado, Uso denegado, NF-e Cancelada).
Resumo do Evento de NFe
O leiaute Resumo do Evento de NF-e (schema resEvento_v9.99.xsd) contém informações resumidas de um evento de NF-e. Seus campos incluem:
* cOrgao (Código do órgão de recepção do Evento, sendo 91 para Ambiente Nacional).
* CNPJ ou CPF do emitente.
* chNFe (Chave de Acesso da NF-e).
* dhEvento (Data e hora do evento).
* tpEvento (Código do evento) e nSeqEvento (Número sequencial do evento).
* xEvento (Descrição do evento).
* dhRecbto (Data de autorização do evento) e nProt (Número de protocolo do evento).
Modelo de Distribuição
O modelo de distribuição de documentos é baseado na geração de um Número Sequencial Único (NSU) para cada CNPJ ou CPF. A consulta no Web Service NFeDistribuicaoDFe pode ser feita a qualquer momento.
O fluxo de distribuição pode ser exemplificado da seguinte forma:
1. O emitente gera e transmite uma NF-e, que é autorizada pela Sefaz e compartilhada com o Ambiente Nacional.
2. O Ambiente Nacional gera um NSU para o destinatário do resumo da NF-e e o disponibiliza para consulta.
3. O destinatário consulta o serviço a partir do último NSU recebido e recupera o resumo.
4. Com o resumo, o destinatário gera um evento de NF-e (ex: manifestação do destinatário).
5. O Ambiente Nacional gera um NSU do evento para o emitente e o disponibiliza.
6. Se for um evento de manifestação que não seja "desconhecimento da operação", o Ambiente Nacional gera um NSU para o destinatário com a NF-e completa (liberação para download).
7. O emitente consulta o serviço a partir do último NSU e recupera o evento gerado pelo destinatário.
8. O destinatário consulta o serviço a partir do último NSU e recupera a NF-e.
9. O emitente gera um evento de sua NF-e (ex: cancelamento), que é compartilhado.
10. O Ambiente Nacional gera um NSU para o destinatário do evento do emitente e o disponibiliza.
11. O destinatário consulta o serviço e recupera o evento do emitente.
12. O Ambiente Nacional recebe um evento do fisco e gera NSUs para emitente e destinatário, disponibilizando-os.
13. Ambos consultam o serviço e recuperam o evento do fisco.
Este modelo simplifica o download da NF-e, pois a partir da manifestação do destinatário, o Ambiente Nacional gera automaticamente um NSU referenciando a NF-e e permitindo sua recuperação.
Boas Práticas e Uso Indevido
É importante que as aplicações cliente utilizem o serviço de forma eficiente. O uso indevido, como tentativas sucessivas de busca de registros já disponibilizados, pode sobrecarregar os recursos do Ambiente Nacional. Para controlar isso, o Web Service manterá controles para identificar essas situações. Novas tentativas de uso indevido serão rejeitadas com o erro "656-Rejeição: Consumo Indevido".
Endereço do Web Service
O endereço do Web Service de Distribuição do Ambiente Nacional está disponível no Portal da NF-e (http://www.nfe.fazenda.gov.br/portal), no link "Serviços" / "Relação de Serviços Web". Para o ambiente de homologação, o endereço está no Portal de Homologação (http://hom.nfe.fazenda.gov.br/portal).
Códigos de Erro
O processamento das solicitações no Web Service NFeDistribuicaoDFe pode resultar em diversos códigos de status (cStat), indicando o sucesso ou a causa de uma rejeição. Estes códigos e suas descrições detalhadas auxiliam na identificação e correção de problemas, abrangendo desde falhas no certificado digital e validações da mensagem até regras de negócio específicas, como a validade da chave de acesso ou o prazo de disponibilidade do documento. A consulta a essa tabela de códigos é fundamental para a correta implementação e manutenção das aplicações que interagem com o serviço.