MDFe: Serviço de Distribuição de DF-e na Nota Técnica 2015.002
MDFe: Serviço de Distribuição de DF-e na Nota Técnica 2015.002 A gestão de documentos fiscais eletrônicos (DF-e) é um desafio para as empresas, especialmente para os atores envolvidos em operações de transporte de carga. Para otimizar o acesso e o compartilhamento dessas informações, a Secretaria da Fazenda...
MDFe: Serviço de Distribuição de DF-e na Nota Técnica 2015.002
A gestão de documentos fiscais eletrônicos (DF-e) é um desafio para as empresas, especialmente para os atores envolvidos em operações de transporte de carga. Para otimizar o acesso e o compartilhamento dessas informações, a Secretaria da Fazenda disponibiliza serviços específicos. Um desses serviços é detalhado na Nota Técnica 2015.002, que descreve o serviço de distribuição de DF-e de interesse dos atores do Manifesto Eletrônico de Documentos Fiscais (MDF-e).
Este serviço visa prover informações e documentos fiscais eletrônicos relevantes para os envolvidos no processo do MDF-e de forma eficiente. O foco é na disponibilização de dados para terceiros autorizados, contratantes do serviço e proprietários de veículos em condições específicas.
Resumo do Serviço de Distribuição
O objetivo central do serviço de distribuição é facilitar o acesso dos atores do MDF-e a documentos fiscais eletrônicos que lhes interessam, mas que não foram por eles gerados. Essa distribuição é feita para:
- Terceiros informados no conteúdo do MDF-e no grupo de pessoas autorizadas a acessar o XML.
- Contratantes do serviço de transporte no modal rodoviário.
- Proprietários de veículo quando o Registro Nacional de Transportadores Rodoviários de Carga (RNTRC) do proprietário for diferente do RNTRC do emitente do MDF-e.
O acesso pode ser realizado por pessoas jurídicas ou físicas que possuam um certificado digital válido. 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 digital.
Os documentos ficam disponíveis para distribuição por até seis meses após sua recepção pelo Ambiente Nacional do MDF-e. Os tipos de documentos disponibilizados incluem o próprio MDF-e, eventos de cancelamento, encerramento (normal ou do fisco) e inclusão de condutor.
Arquitetura de Comunicação com o Contribuinte
A comunicação para o serviço de distribuição de DF-e opera em um padrão síncrono. Isso significa que, ao enviar uma solicitação com os parâmetros desejados para a pesquisa, o Web Service imediatamente retorna uma mensagem de resposta na mesma conexão, confirmando o recebimento da solicitação.
Padrões Técnicos
A operação do serviço de distribuição é sustentada por padrões técnicos específicos:
Padrão de documento XML
A especificação do documento XML segue a recomendação W3C para XML 1.0, com codificação de caracteres em UTF-8. Todos os documentos XML devem iniciar com a declaração <?xml version="1.0" encoding="UTF-8"?>.
A declaração de namespace deve ser única, no elemento raiz do documento, com o padrão <distDFeInt xmlns='http://www.portalfiscal.inf.br/mdfe' >. O uso de prefixos de namespace é vedado para otimizar o tamanho do arquivo XML.
Para garantir a integridade das informações e a formação correta dos arquivos, o contribuinte deve validar a mensagem XML 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 o protocolo TLS versão 1.2 ou superior e autenticação mútua via certificados digitais. Isso assegura um canal seguro e a identificação tanto do servidor quanto do cliente. O modelo de comunicação está alinhado ao padrão de Web Services definido pelo WS-I Basic Profile.
A troca de mensagens entre os Web Services do Ambiente Autorizador e o aplicativo do contribuinte é realizada no padrão SOAP versão 1.2, com troca de mensagens XML no padrão Style/Encoding: Document/Literal. A chamada do Web Service MDFeDistribuicaoDFe é feita com o envio de uma mensagem XML através do campo mdfeDadosMsg. A versão do leiaute da mensagem XML e o código da Unidade Federada (UF) requisitada são informados nos campos versaoDados e cUF, respectivamente, localizados no elemento mdfeCabecMsg do SOAP header.
Padrão de Certificado Digital
O certificado digital exigido para o Projeto do MDF-e deve ser emitido por Autoridade Certificadora credenciada pela Infraestrutura de Chaves Públicas Brasileira (ICP-Brasil), dos tipos A1 ou A3. Ele precisa conter o CNPJ da pessoa jurídica ou CPF da pessoa física titular e ter a extensão Extended Key Usage com permissão de "Autenticação Cliente".
Padrão de compactação
Para otimizar o volume de dados, o padrão de compactação adotado é o Gzip (GNU zip), implementado nas plataformas Java e .NET framework 2.0 (classe System.IO.Compression.GZipStream).
Padrão de mensagens dos Web Services
As chamadas e retornos dos Web Services utilizam um padrão de mensagem com:
* cUF: código da UF de origem da mensagem, no elemento mdfeCabecMsg (SOAP Header).
* versaoDados: versão do leiaute da estrutura XML informada na área de dados, também no mdfeCabecMsg.
* Área de Dados: estrutura XML variável, definida na documentação do Web Service acessado, no SOAP Body.
A W3C e o WS-I Basic Profile são referências para esses padrões.
Tabela de Unidades Federadas
O serviço utiliza os códigos das Unidades Federadas para identificar a origem da mensagem, conforme a divisão regional:
- Região Norte: Rondônia (11), Acre (12), Amazonas (13), Roraima (14), Pará (15), Amapá (16), Tocantins (17).
- Região Nordeste: Maranhão (21), Piauí (22), Ceará (23), Rio Grande do Norte (24), Paraíba (25), Pernambuco (26), Alagoas (27), Sergipe (28).
- Região Sudeste: Minas Gerais (31), Espírito Santo (32), Rio de Janeiro (33), São Paulo (35).
- Região Sul: Paraná (41), Santa Catarina (42), Rio Grande do Sul (43).
- Região Centro-Oeste: Mato Grosso do Sul (50), Mato Grosso (51), Goiás (52), Distrito Federal (53).
Validação da estrutura XML das Mensagens dos Web Services
As mensagens XML são validadas por um analisador sintático (parser) que verifica a conformidade com o Schema XML definido. Divergências na estrutura do XML causam um erro de validação. É fundamental que o aplicativo do contribuinte gere mensagens no leiaute em vigor e informe corretamente a versão do leiaute no campo versaoDados do elemento mdfeCabecMsg no SOAP Header.
Serviço de Distribuição MDF-e Atores (MDFeDistribuicaoDFe)
Este serviço, acessado pelo método mdfeDistDFeInteresse, permite que um ator do MDF-e obtenha acesso a DF-e que não foram gerados por ele, mas são de seu interesse. Para isso, é necessário possuir um certificado digital de Pessoa Jurídica (PJ) ou Pessoa Física (PF) válido.
Leiaute Mensagem de Entrada
A mensagem de entrada é uma estrutura XML para a consulta do MDF-e, seguindo o Schema XML distDFeInt_v9.99.xsd. Inclui campos como:
distDFeInt: Tag raiz.versao: Versão do leiaute.tpAmb: Identificação do 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 NSU.ultNSU: Último NSU recebido pelo ator. Se informado como zero ou muito antigo, a consulta retorna documentos dos últimos seis meses.consNSU: Grupo para consultar um DF-e a partir de um NSU específico.NSU: Número Sequencial Único para consultas pontuais de documentos faltantes.
Leiaute Mensagem de Retorno
A mensagem de retorno é uma estrutura XML com o resultado da consulta, conforme o Schema XML retDistDFeInt_v9.99.xsd. Contém:
retDistDFeInt: Tag raiz da resposta.versao: Versão do leiaute.tpAmb: Identificação do ambiente.verAplic: Versão do aplicativo que processou a consulta.cStat: Código do status da resposta.xMotivo: Descrição literal do status.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 até 50 documentos, compactado individualmente.NSU: NSU do documento fiscal.schema: Identificação do Schema XML para validar o XML do documento.
Mensagem de Retorno Compactada
Para reduzir a necessidade de infraestrutura de rede, cada documento na mensagem de retorno é compactado usando o padrão Gzip. Estima-se uma redução de 60% no tamanho da mensagem. A aplicação do Ambiente Nacional compacta cada documento individualmente, e a aplicação cliente deve descompactá-los para o tratamento normal.
Descrição do Processo de Distribuição de DF-e de Interesse
O serviço pode ser utilizado por pessoas físicas ou jurídicas com certificado digital, que sejam: autorizadas ao XML, contratantes, ou proprietários de veículos com RNTRC diferente do emitente do manifesto. O Ambiente Nacional gera um Número Sequencial Único (NSU) para cada interessado, garantindo uma sequência sem intervalos.
Geração do pedido de distribuição
O XML do pedido suporta dois tipos de consulta, 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 NSU que possui (ultNSU). Se o NSU informado for menor que o primeiro disponível, o Ambiente Nacional fornecerá os documentos a partir do primeiro.
consNSU - Distribuição de DF-e vinculado ao NSU Informado
Permite a consulta pontual de um NSU específico que foi identificado como faltante 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 de seu interesse. Um certificado digital PJ permite que uma empresa recupere DF-e de qualquer um de seus estabelecimentos, desde que o CNPJ base seja o mesmo do certificado.
Envio das informações
O pedido de distribuição é enviado via Web Service, exigindo um certificado digital PJ ou PF válido. A aplicação cliente deve enviar uma mensagem que esteja em conformidade com os padrões estabelecidos.
Processamento da Requisição de Distribuição de conjunto de DF-e a partir do NSU informado (distNSU)
O Web Service gera lotes com até 50 documentos para o interessado, com NSU superior ao informado. Se o NSU inicial for menor que o primeiro disponível, os documentos são fornecidos a partir do primeiro. A criação do lote segue regras como ordem crescente de NSU, possibilidade de conter qualquer tipo de documento válido e limite de 50 documentos por lote. Documentos emitidos pela própria empresa não estão disponíveis para consulta.
A geração do NSU dos documentos é organizada por ordem de autorização no Ambiente Nacional, em processo assíncrono. Isso significa que a empresa pode recuperar todos os documentos de seu interesse assim que forem processados para distribuição.
As respostas do Web Service podem ser:
* Rejeição: mensagem com o motivo da falha no cStat.
* Nenhum documento localizado: cStat='137-Nenhum documento localizado', indicando que não há documentos para o CNPJ/CPF.
* Documento localizado: cStat='138-Documento localizado', com os documentos fiscais encontrados.
Para evitar consumo indevido, se o NSU informado (ultNSU) for igual ao maior NSU do Ambiente Nacional (maxNSU), o solicitante deve aguardar um tempo mínimo de uma hora antes de fazer uma nova solicitação.
Processamento da Requisição de Distribuição de DF-e vinculado ao NSU informado (consNSU)
Caso uma lacuna seja identificada na base de dados do interessado, indicando falha na distribuição, é possível consultar pontualmente os NSU faltantes. Isso é feito utilizando o método mdfeDistDFeInteresse do Web Service MDFeDistribuicaoDFe e informando o NSU desejado na tag consNSU do XML de requisição.
As respostas do Web Service são similares:
* Rejeição: com o motivo da falha no cStat.
* Nenhum documento localizado: cStat='137-Nenhum documento localizado', indicando que o NSU não foi gerado e deve ser desconsiderado.
* Documento localizado: cStat='138-Documento localizado', com o documento fiscal encontrado.
Regras de Validação Básicas do Serviço
O serviço impõe regras de validação para garantir a segurança e a integridade da comunicação e dos dados.
Validação Inicial da Mensagem no Web Service
A mensagem é descartada se o tamanho do XML de dados exceder 10 Kbytes. Mensagens malformadas (XML de Dados Malformado) também são rejeitadas. Além disso, verificações são feitas para indicar se o serviço está paralisado momentaneamente ou sem previsão.
Validação das informações de controle da chamada ao Web Service
A Nota Técnica 2015.002 especifica validações para o elemento mdfeCabecMsg do SOAP Header. Informações como a UF solicitante (cUF) e a versão da mensagem (versaoDados) são verificadas. Solicitações com informações inexistentes ou inválidas são rejeitadas. Este grupo de validações será descontinuado em futuras versões do MDF-e.
Validação da área de dados da mensagem
As validações de forma aplicadas à área de dados incluem a verificação do Schema XML, a ausência de namespaces diferentes do padrão (http://www.portalfiscal.inf.br/mdfe), a inexistência de caracteres de edição e o uso da codificação UTF-8.
Validações das Regras de Negócio
Regras de negócio validam aspectos como:
* Divergência entre o tipo de ambiente do MDF-e e o ambiente do Web Service.
* Validade do CNPJ ou CPF do interessado (dígito verificador ou zeros).
* Conformidade entre o CNPJ base do certificado digital e o CNPJ consultado, ou entre o CPF do certificado e o CPF consultado.
* Número do NSU informado não pode ser superior ao maior NSU disponível para consulta.
* NSU informado não pode corresponder a documento autorizado há mais de seis meses.
Recomendações Para Evitar o Uso Indevido
A experiência demonstra que algumas aplicações cliente podem gerar "uso indevido" dos ambientes autorizadores, como entrar em "loop" e sobrecarregar o canal de comunicação. Para mitigar isso, o Web Service mantém controles para identificar tentativas sucessivas de busca de registros já disponibilizados. Novas tentativas nessas condições serão rejeitadas com o erro 678-Rejeição: Consumo Indevido.
Endereço do Web Service
Os endereços do Web Service de Distribuição do Ambiente Nacional para produção e homologação estão disponíveis no Portal dos Documentos Fiscais Eletrônicos da SVRS, 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
O Portal dos Documentos Fiscais Eletrônicos da SVRS é a fonte para localizar estes serviços.
Tabela de Códigos e Descrições de Mensagens de Erros
O serviço de distribuição retorna códigos de status e mensagens para indicar o resultado do processamento ou os motivos de não atendimento da solicitação. Alguns códigos relevantes incluem:
- 108: Serviço Paralisado Momentaneamente.
- 109: Serviço Paralisado sem Previsão.
- 137: Nenhum documento localizado.
- 138: Documento localizado.
- 214: Rejeição: Tamanho da mensagem excedeu o limite.
- 243: Rejeição: XML Malformado.
- 280 a 287: Rejeições relacionadas a Certificado Transmissor inválido, data de validade, cadeia de certificação, revogação, diferença da ICP-Brasil ou falta de CNPJ/CPF.
- 402: Rejeição: XML da área de dados com codificação diferente de UTF-8.
- 404: Rejeição: Uso de prefixo de namespace não permitido.
- 491: Rejeição: CNPJ base consultado difere do CNPJ base do Certificado Digital.
- 493: Rejeição: NSU informado superior ao maior NSU da base de dados.
- 678: Rejeição: Consumo indevido.
- 730: Rejeição: NSU solicitado muito antigo.
Conclusão
O serviço de distribuição de Documentos Fiscais Eletrônicos (DF-e) para atores do Manifesto Eletrônico de Documentos Fiscais (MDF-e), conforme detalhado na Nota Técnica 2015.002, estabelece um mecanismo robusto para o acesso e a recuperação de informações fiscais relevantes. Sua arquitetura baseada em Web Services e padrões técnicos rigorosos garante a integridade e a segurança dos dados. Compreender os padrões técnicos, os leiautes de mensagens e as regras de validação é fundamental para o uso eficiente e correto desse serviço pelas empresas e profissionais da área fiscal. A adesão a essas diretrizes evita rejeições e otimiza o processo de consulta de DF-e, contribuindo para a conformidade fiscal.