MDFeDistribuicaoDFe: Obtenção de Documentos Fiscais Eletrônicos (NT 2015.002)
MDFeDistribuicaoDFe: Obtenção de Documentos Fiscais Eletrônicos (NT 2015.002) O Manifesto Eletrônico de Documentos Fiscais (MDF-e) tem um serviço específico para disponibilizar informações e Documentos Fiscais Eletrônicos (DF-e) de interesse dos atores envolvidos. Esta funcionalidade visa otimizar a comunicação e o...
MDFeDistribuicaoDFe: Obtenção de Documentos Fiscais Eletrônicos (NT 2015.002)
O Manifesto Eletrônico de Documentos Fiscais (MDF-e) tem um serviço específico para disponibilizar informações e Documentos Fiscais Eletrônicos (DF-e) de interesse dos atores envolvidos. Esta funcionalidade visa otimizar a comunicação e o acesso a dados fiscais para as partes relacionadas aos processos do MDF-e. O serviço permite acesso a documentos não gerados pelo próprio ator.
Resumo do Serviço de Distribuição MDF-e
O serviço de distribuição de DF-e do Manifesto Eletrônico de Documentos Fiscais, detalhado na Nota Técnica 2015.002, fornece informações de interesse para os atores do MDF-e. A distribuição é feita para terceiros autorizados a acessar o XML (campo autXML), para os contratantes do serviço (campo infContratante do modal rodoviário) e para os proprietários de veículo cujo Registro Nacional de Transportadores Rodoviários de Carga (RNTRC) seja diferente do RNTRC do emitente do MDF-e.
Arquitetura de Comunicação com o Contribuinte
O Web Service de Distribuição de DF-e opera de forma síncrona. O aplicativo do contribuinte envia uma mensagem com os parâmetros de pesquisa e o Web Service responde confirmando o recebimento da solicitação na mesma conexão. Este modelo garante feedback imediato sobre o processamento da requisição.
Padrões Técnicos Utilizados
A comunicação e o processamento do serviço seguem padrões técnicos específicos para garantir integridade e segurança.
Padrão de documento XML
A especificação XML segue a recomendação W3C para XML 1.0, com codificação de caracteres em UTF-8. Todos os documentos XML iniciam com a declaração <?xml version="1.0" encoding="UTF-8"?>.
A declaração de namespace deve ser única no elemento raiz do documento, utilizando o padrão <distDFeInt xmlns='http://www.portalfiscal.inf.br/mdfe' >. Não é permitido o uso de prefixos de namespace, visando otimizar o tamanho do arquivo XML.
Para a validação da integridade e formação dos arquivos XML, as mensagens devem ser submetidas à validação pelo Schema (XSD - XML Schema Definition) disponibilizado pelo Ambiente Autorizador antes do envio.
Padrão de Comunicação
A comunicação utiliza a Internet como meio físico, com protocolo TLS versão 1.2 ou superior. A autenticação mútua via certificados digitais garante a segurança do canal e a identificação do servidor e cliente. O modelo segue o padrão de Web Services definido pelo WS-I Basic Profile.
A troca de mensagens ocorre no padrão SOAP versão 1.2, com mensagens XML no padrão Style/Encoding: Document/Literal. A chamada do Web Service distDFeInt é feita com o envio de uma mensagem XML através do campo mdfeDadosMsg. A versão do leiaute XML (versaoDados) e o código da Unidade Federada (UF) requisitada (cUF) são informados no elemento mdfeCabecMsg do SOAP header.
Padrão de Certificado Digital
O certificado digital exigido é emitido por Autoridade Certificadora credenciada pela Infraestrutura de Chaves Públicas Brasileira (ICP-Brasil), dos tipos A1 ou A3. O certificado deve conter o CNPJ da pessoa jurídica ou CPF da pessoa física titular e possuir a extensão "Extended Key Usage" com permissão de "Autenticação Cliente".
Padrão de Compactação
O padrão de compactação adotado é o Gzip (GNU zip), suportado por plataformas como Java e .NET framework 2.0.
Padrão de mensagens dos Web Services
As chamadas e retornos dos Web Services utilizam mensagens com uma estrutura padrão:
cUF: Código da UF de origem da mensagem, no elementomdfeCabecMsg(SOAP Header).versaoDados: Versão do leiaute da estrutura XML informada na área de dados, também nomdfeCabecMsg(SOAP Header).Área de Dados: Estrutura XML variável definida na documentação do Web Service acessado, no SOAP Body.
Tabela de Unidades Federadas
O serviço utiliza uma tabela padronizada de códigos para identificar as Unidades Federadas (UFs) nas mensagens. Cada UF possui um código numérico específico que deve ser corretamente informado nas requisições.
Informações de controle e área de dados das mensagens
As informações de controle da chamada são armazenadas no elemento mdfeCabecMsg do SOAP Header. Elas identificam a UF de origem do emissor (cUF) e a versão do leiaute XML (versaoDados). A área de dados da mensagem, no SOAP Body, contém o documento XML que deve seguir o leiaute específico do Web Service acessado.
Validação da estrutura XML das Mensagens dos Web Services
A validação da estrutura XML das mensagens é feita por um analisador sintático (parser) que verifica a conformidade com o Schema XML definido. Qualquer divergência resulta em um erro de validação. É responsabilidade do aplicativo do contribuinte gerar mensagens no leiaute em vigor e informar a versão correta no campo versaoDados do mdfeCabecMsg.
Resumo dos Padrões Técnicos
| Características | Descrição |
|---|---|
| WebServices | Padrão definido pelo WS-I Basic Profile 1.1. |
| Meio lógico de comunicação | WebServices, disponibilizados pelo Ambiente Autorizador do MDF-e. |
| Meio físico de comunicação | Internet. |
| Protocolo Internet | TLS versão 1.2, com autenticação mútua via certificados digitais. |
| Padrão de troca de mensagens | SOAP versão 1.2. |
| Padrão da mensagem | XML no padrão Style/Encoding: Document/Literal. |
| Padrão de certificado digital | X.509 versão 3, emitido por Autoridade Certificadora ICP-Brasil (A1 ou A3), contendo CNPJ ou CPF do proprietário. |
| Padrão de Compactação | Gzip (GNU ZIP). |
Serviço de Distribuição MDF-e Atores (MDFeDistribuicaoDFe)
Este serviço é projetado para distribuir informações de documentos fiscais eletrônicos de interesse de um ator, seja pessoa física ou jurídica. O método para acesso é mdfeDistDFeInteresse.
Ele permite que um ator do MDF-e acesse DF-e que não foram gerados por ele, mas que são de seu interesse. O serviço pode ser consumido por qualquer ator de MDF-e que possua um certificado digital de Pessoa Jurídica (PJ) ou Pessoa Física (PF). Para PJ, a autenticação ocorre pelo CNPJ base, permitindo consultas com qualquer CNPJ da empresa desde que o CNPJ base seja o mesmo do certificado digital.
Os DF-e estarão disponíveis para distribuição por até 6 meses após sua recepção pelo Ambiente Nacional do MDF-e. Os documentos disponibilizados para terceiros incluem:
- MDF-e
- Evento de Cancelamento
- Evento de Encerramento / Encerramento do Fisco
- Evento de Inclusão de Condutor
Leiaute Mensagem de Entrada
A mensagem de entrada é uma estrutura XML para consulta do MDF-e, seguindo o Schema XML distDFeInt_v9.99.xsd. Campos importantes incluem:
distDFeInt(TAG raiz): Inicia a estrutura da mensagem.versao: Versão do leiaute.tpAmb: Identifica o ambiente (1=Produção / 2=Homologação).CNPJouCPF: Identificação do interessado no DF-e.distNSU: Grupo para distribuir um conjunto de DF-e a partir de um Número Sequencial Único (NSU).ultNSU: Último NSU recebido pelo ator. Se informado com zero ou um NSU muito antigo, a consulta retorna informações dos DF-e recepcionados nos últimos 6 meses.
consNSU: Grupo para consultar um DF-e a partir de um NSU específico.NSU: Número Sequencial Único para consulta pontual de um DF-e faltante.
Leiaute Mensagem de Retorno
A mensagem de retorno é uma estrutura XML com o resultado da consulta, seguindo o Schema XML retDistDFeInt_v9.99.xsd. Campos essenciais são:
retDistDFeInt(TAG raiz): Resposta da consulta.versao: Versão do leiaute de retorno.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 literal do status da resposta.dhResp: Data e hora da mensagem de resposta.ultNSU: Último NSU pesquisado no Ambiente Nacional.maxNSU: Maior NSU existente no Ambiente Nacional para o CNPJ/CPF informado.loteDistDFeInt: Conjunto de informações de documentos fiscais.docZip: Informação do documento fiscal eletrônico de forma compactada.NSU: NSU do documento fiscal.schema: Identificação do Schema XML para validar o XML no campodocZip.
Mensagem de Retorno Compactada
Para reduzir a necessidade de infraestrutura de rede, cada documento na mensagem de retorno é compactado individualmente usando o padrão Gzip (GNU zip). Essa compactação pode reduzir o tamanho da mensagem de retorno em aproximadamente 60%. A aplicação cliente deve descompactar os documentos para tratamento.
Descrição do Processo de Distribuição de DF-e de Interesse
O serviço pode ser utilizado por atores autorizados ao XML, contratantes, e proprietários de veículos com RNTRC distinto do emitente do manifesto, sejam pessoas físicas ou jurídicas com certificado digital. O Ambiente Nacional gera um NSU para cada interessado nos documentos fiscais, garantindo uma sequência de numeração sem intervalos.
Geração do pedido de distribuição
O XML do pedido de distribuição suporta dois tipos de consultas, definidas pelas tags distNSU e consNSU.
distNSU - Distribuição de Conjunto de DF-e a Partir do NSU Informado
A aplicação cliente informa o último ultNSU que possui. Se o NSU for menor que o primeiro NSU disponível, o Ambiente Nacional fornecerá os documentos a partir do primeiro disponível para consulta.
consNSU - Distribuição de DF-e vinculado ao NSU Informado
Este processo permite consultar um DF-e pontual a partir de um NSU específico, útil para identificar e preencher lacunas na base de dados do interessado. A aplicação cliente informa o NSU faltante.
CNPJ ou CPF do interessado no DF-e
É necessário informar o CPF da pessoa ou CNPJ da empresa para recuperar os DF-e. Este campo permite que uma empresa recupere DF-e de qualquer um de seus estabelecimentos usando um único certificado digital PJ, desde que o CNPJ base do certificado corresponda ao CNPJ consultado.
Envio das informações
O pedido de distribuição é enviado via Web Service, exigindo um certificado digital PJ ou PF válido. A mensagem enviada pela aplicação cliente deve aderir aos padrões estabelecidos na nota técnica.
Processamento da Requisição de Distribuição (distNSU)
O Web Service gera lotes de até 50 documentos com informações dos DF-e que tenham um NSU superior ao informado. Se o NSU for menor que o primeiro disponível, o Ambiente Nacional entrega os documentos a partir do primeiro.
As regras para a criação do lote de documentos são:
- Ordem crescente de NSU.
- O lote pode conter qualquer tipo de documento válido e seu respectivo NSU.
- Quantidade máxima de documentos no lote: 50.
É importante notar que documentos emitidos pela própria empresa não ficam disponíveis para consulta por este serviço. O Ambiente Nacional organiza a geração do NSU por ordem de autorização, e o processo de recepção e sincronização dos documentos ocorre em ordem cronológica de emissão ou autorização de uso.
A resposta do Web Service pode ser:
- Rejeição: Com o motivo da falha no
cStat. - Nenhum documento localizado (
cStat='137'): Não há DF-e para o CNPJ/CPF informado. - Documento localizado (
cStat='138'): Com os DF-e encontrados.
Após uma solicitação que indica que não há mais documentos a serem pesquisados (quando ultNSU é igual a maxNSU), a empresa deve aguardar um tempo mínimo de uma hora antes de fazer uma nova solicitação.
Processamento da Requisição de Distribuição (consNSU)
Como o Ambiente Nacional gera NSU sem lacunas, a identificação de um NSU faltante na base de dados do interessado sugere uma falha no processo de distribuição. Nesses casos, o interessado deve consultar pontualmente os NSUs identificados como faltantes, informando o NSU desejado na tag consNSU do XML de requisição.
A resposta do Web Service pode ser:
- Rejeição: Com o motivo da falha no
cStat. - Nenhum documento localizado (
cStat='137'): Indica que o Ambiente Nacional não gerou o NSU, e ele deve ser desconsiderado. - Documento localizado (
cStat='138'): Com o DF-e encontrado.
Regras de Validação Básicas do Serviço
O serviço aplica uma série de validações para garantir a segurança e a correção das informações.
- Certificado Digital: Validações de certificado de transmissor (validade, cadeia de certificação, LCR, revogação, conformidade ICP-Brasil, existência de CNPJ ou CPF).
- Validação Inicial da Mensagem: Verifica o tamanho do XML (limite de 10 Kbytes), se o XML está malformado e o status do serviço (paralisado momentaneamente ou sem previsão).
- Validação das Informações de Controle: Garante a presença e validade do elemento
mdfeCabecMsg, dos camposcUFeversaoDadosno SOAP Header. - Validação da Área de Dados: Verifica o Schema XML da área de dados, a ausência de namespaces diferentes do padrão, a inexistência de caracteres de edição e o uso correto da codificação UTF-8.
- Validações das Regras de Negócio:
- O tipo de ambiente (
tpAmb) do MDF-e deve ser o mesmo do Web Service. - O CNPJ ou CPF do interessado deve ser válido.
- O CNPJ base ou CPF do certificado digital utilizado na transmissão deve coincidir com o CNPJ ou CPF consultado.
- O NSU informado não deve ser superior ao maior NSU disponível para consulta.
- O NSU solicitado não pode corresponder a um documento autorizado há mais de seis meses, caso em que retorna o menor NSU aceito para busca.
- O tipo de ambiente (
Recomendações Para Evitar o Uso Indevido
Para prevenir sobrecarga nos ambientes autorizadores por aplicações que entram em "loop" de consultas, o Web Service mantém controles para identificar uso indevido. Tentativas sucessivas de busca de registros já disponibilizados são rejeitadas com o erro 678-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 dos Documentos Fiscais Eletrônicos da SVRS (http://dfe-portal.svrs.gov.br/MDFe), no link 'Serviços' / 'Relação de Serviços Web'.
- Produção:
https://mdfe.svrs.rs.gov.br/WS/MDFeDistribuicaoDFe/MDFeDistribuicaoDFe.asmx - Homologação:
https://mdfe-homologacao.svrs.rs.gov.br/WS/MDFeDistribuicaoDFe/MDFeDistribuicaoDFe.asmx
Tabela de Códigos e Descrições de Mensagens de Erros
O serviço possui uma tabela de códigos e descrições de erros que auxiliam na compreensão do motivo de rejeições ou resultados do processamento das solicitações. Esta tabela é fundamental para o tratamento de retornos do Web Service. Alguns códigos importantes incluem:
137: Nenhum documento localizado.138: Documento localizado.214: Rejeição: Tamanho da mensagem excedeu o limite.243: Rejeição: XML Malformado.491: Rejeição: CNPJ-Base consultado difere do CNPJ-Base do Certificado Digital.678: Rejeição: Consumo indevido.730: Rejeição: NSU solicitado muito antigo.
Conclusão
O serviço MDFeDistribuicaoDFe oferece um mecanismo padronizado e seguro para atores do Manifesto Eletrônico de Documentos Fiscais acessarem DF-e de seu interesse. Através de requisições síncronas e seguindo padrões técnicos rigorosos, o sistema permite a consulta de conjuntos de documentos ou de NSUs específicos, facilitando a gestão fiscal e a conformidade. A compreensão dos padrões técnicos e das regras de validação é fundamental para o uso eficiente deste serviço.