MDF-e: Distribuição de DF-e e Acesso a Documentos Fiscais
A distribuição de DF-e para MDF-e otimiza o acesso a documentos e dados fiscais. Aborda os beneficiários da NT 2015.002.
MDF-e: Distribuição de DF-e e Acesso a Documentos Fiscais
O ambiente fiscal brasileiro inclui diversos projetos de documentos fiscais eletrônicos. Um desses desafios consiste em prover informações relevantes aos atores envolvidos de maneira eficiente e confiável. O serviço de distribuição de Documentos Fiscais Eletrônicos (DF-e) para o Manifesto Eletrônico de Documentos Fiscais (MDF-e) foi estabelecido para atender a essa necessidade, conforme detalhado na Nota Técnica 2015.002.
Este serviço tem o objetivo de disponibilizar informações e DF-e de interesse para os atores do MDF-e. A distribuição ocorre para terceiros autorizados a acessar o XML (tag autXML), para os contratantes do serviço (grupo infContratante do modal rodoviário) e para proprietários de veículos cujo Registro Nacional de Transportadores Rodoviários de Cargas (RNTRC) seja diferente do RNTRC do emitente do MDF-e.
Arquitetura de comunicação e padrões técnicos
A comunicação para o serviço de distribuição de DF-e segue um modelo de Web Service de processamento síncrono. Isso significa que o aplicativo do contribuinte envia uma mensagem com os parâmetros da pesquisa, e o Web Service retorna uma mensagem de resposta na mesma conexão, confirmando o recebimento da solicitação.
Padrões de comunicação e segurança
O meio físico de comunicação é a internet, utilizando o protocolo TLS versão 1.2 ou superior. Este protocolo, combinado com autenticação mútua, garante um canal de comunicação seguro e permite a identificação tanto do servidor quanto do cliente por meio de certificados digitais. Essa abordagem elimina a necessidade de usuário e senha.
O modelo de comunicação adere 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 ocorre no padrão SOAP versão 1.2, com mensagens XML no formato Style/Encoding: Document/Literal. A chamada ao Web Service é 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ões de documento XML
A especificação do documento XML segue a recomendação W3C para XML 1.0. A codificação dos caracteres é UTF-8, com todos os documentos XML iniciando com a declaração <?xml version="1.0" encoding="UTF-8"?>.
A declaração de namespace deve ser única no elemento raiz do documento, seguindo o padrão <distDFeInt xmlns='http://www.portalfiscal.inf.br/mdfe' >. O uso de declarações de namespace diferentes do padrão é proibido. Também não é permitida a utilização de prefixos de namespace, para otimizar o tamanho do arquivo XML.
Para assegurar a integridade das informações e a correta formação dos arquivos XML, o contribuinte deve validar a mensagem XML pelo Schema (XSD - XML Schema Definition) disponibilizado pelo Ambiente Autorizador antes do envio.
Certificado digital
O certificado digital exigido no 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 do certificado digital. O certificado é necessário durante a transmissão das mensagens entre o servidor do contribuinte e o Ambiente Autorizador e deve ter a extensão "Autenticação Cliente" no Extended Key Usage.
Padrão de compactação
Para minimizar as necessidades de infraestrutura de rede, o padrão de compactação adotado é o Gzip (GNU zip), implementado em plataformas como Java e .NET framework 2.0. Cada documento contido na mensagem de retorno da solicitação é compactado individualmente, o que pode reduzir o tamanho da mensagem de retorno em aproximadamente 60%. A aplicação cliente deve descompactar o documento para o tratamento normal.
Serviço de distribuição MDF-e Atores (MDFeDistribuicaoDFe)
O serviço MDFeDistribuicaoDFe permite que um ator do MDF-e acesse documentos fiscais eletrônicos (DF-e) que não foram gerados por ele, mas são de seu interesse. Pode ser utilizado por qualquer ator de MDF-e, pessoa física ou jurídica, que possua um certificado digital correspondente (PJ ou PF). No caso de pessoa jurídica, a autenticação ocorre pelo CNPJ base, e a consulta pode ser feita com qualquer CNPJ da empresa, desde que o CNPJ base consultado seja o mesmo do certificado digital.
Os DF-e são disponibilizados para distribuição por até seis meses após sua recepção pelo Ambiente Nacional do MDF-e. Os documentos que podem ser disponibilizados para terceiros (informados na tag autXML) incluem:
- MDF-e
- Evento de Cancelamento
- Evento de Encerramento / Encerramento do Fisco
- Evento de Inclusão de Condutor
Leiaute da mensagem de entrada
A mensagem de entrada é uma estrutura XML que contém os parâmetros da consulta do MDF-e, seguindo o Schema XML distDFeInt_v9.99.xsd. Os campos principais incluem:
distDFeInt(TAG raiz)versao: Versão do leiaute.tpAmb: Identificação do Ambiente (1=Produção / 2=Homologação).CNPJouCPF: CNPJ ou CPF do interessado no DF-e.distNSU: Grupo para distribuir um conjunto de DF-e a partir de um NSU. Inclui o campoultNSU, que representa o último Número Sequencial Único (NSU) recebido pelo ator. Se informado como zero ou um NSU muito antigo, a consulta retorna informações dos DF-e recepcionados nos últimos seis meses.consNSU: Grupo para consultar um DF-e específico a partir de um NSU. Inclui o campoNSU, utilizado para consultar pontualmente um NSU identificado como faltante.
Leiaute da mensagem de retorno
A mensagem de retorno é uma estrutura XML com o resultado da consulta, seguindo o Schema XML retDistDFeInt_v9.99.xsd. Os campos de destaque são:
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 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, que pode conter odocZip.docZip: Informação do documento fiscal eletrônico de interesse, compactado individualmente.NSU(nodocZip): NSU do documento fiscal.schema(nodocZip): Identificação do Schema XML para validação do XML contido no campo seguinte, identificando o tipo e versão do documento (ex:procMDFe_v3.00.xsd).
Processo de distribuição de DF-e de interesse
O Ambiente Nacional gera um Número Sequencial Único (NSU) para cada interessado nos documentos fiscais, garantindo uma sequência de numeração sem intervalos na base de dados. 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
Para este tipo de consulta, o aplicativo cliente do Web Service informa o ultNSU que possui. Se o NSU informado for menor que o primeiro NSU disponível, o Ambiente Nacional fornecerá os documentos a partir do primeiro disponível. O Web Service gera lotes de até 50 documentos, com NSU superior ao informado, em ordem crescente. O lote pode conter qualquer tipo de documento válido e seu respectivo NSU. Documentos emitidos pela própria empresa não estão disponíveis para consulta.
A resposta do Web Service pode ser:
* Rejeição: Mensagem com o motivo da falha no cStat.
* Nenhum documento localizado: cStat='137-Nenhum documento localizado', indicando a ausência de documentos para o CNPJ/CPF.
* Documento localizado: cStat='138-Documento localizado', com a devolução dos documentos.
Se o ultNSU informado for igual ao maxNSU do Ambiente Nacional, não há mais documentos a serem pesquisados no momento. Nesses casos, a empresa deve aguardar um mínimo de uma hora antes de fazer uma nova solicitação de distribuição.
consNSU: Distribuição de DF-e vinculado ao NSU informado
Este processo permite consultar pontualmente um NSU específico que foi identificado como faltante na base de dados do interessado. Isso é útil quando há lacunas na sequência de NSUs recebidos, sugerindo falha anterior na distribuição. O aplicativo cliente informa o NSU desejado na tag consNSU.
As respostas do Web Service são similares:
* Rejeição: Mensagem com o motivo da falha no cStat.
* Nenhum documento localizado: cStat='137-Nenhum documento localizado', indicando que o NSU não foi gerado no Ambiente Nacional.
* Documento localizado: cStat='138-Documento localizado', com a devolução do documento.
Envio de informações
O pedido de distribuição é enviado por Web Service, exigindo um certificado digital PJ ou PF válido. O Web Service do Ambiente Nacional é acionado pelo aplicativo cliente do interessado, que deve enviar uma mensagem de acordo com os padrões estabelecidos.
Regras de validação do serviço
O serviço de distribuição de DF-e possui regras de validação aplicadas em diferentes etapas para garantir a conformidade das solicitações.
Validações de certificado do transmissor
Estas validações verificam a autenticidade e validade do certificado digital utilizado:
* Certificado Transmissor inválido (inexistente, versão diferente de "3", Basic Constraint false, KeyUsage não define "Autenticação Cliente"). (cStat 280)
* Validade do Certificado (data início e data fim). (cStat 281)
* Cadeia de Certificação (AC emissora não cadastrada, AC revogada, certificado não assinado pela AC). (cStat 283)
* LCR (Lista de Certificados Revogados) do Certificado Transmissor. (cStat 286)
* Certificado do Transmissor revogado. (cStat 284)
* Certificado Raiz diferente de "ICP-Brasil". (cStat 285)
* Falta da extensão de CNPJ ou CPF no Certificado. (cStat 287)
Validação inicial da mensagem no Web Service
São verificações básicas sobre a estrutura da mensagem:
* Tamanho do XML de Dados superior a 10 Kbytes. (cStat 214)
* XML de Dados Malformado. (cStat 243)
* Verificação se o serviço está paralisado momentaneamente ou sem previsão. (cStat 108, 109)
Validação das informações de controle da chamada
Estas validações são realizadas no mdfeCabecMsg do SOAP Header:
* Elemento mdfeCabecMsg inexistente no SOAP Header. (cStat 242)
* Campo cUF inexistente ou UF inválida. (cStat 409, 410)
* Campo versaoDados inexistente ou versão não suportada. (cStat 411, 239)
Validação da área de dados da mensagem
Verificações sobre o conteúdo XML da mensagem:
* Schema XML da Área de Dados. (cStat 215)
* Existência de namespace diferente do padrão (http://www.portalfiscal.inf.br/mdfe). (cStat 598)
* Existência de caracteres de edição no início/fim da mensagem ou entre as tags. (cStat 599)
* Uso de prefixo no namespace. (cStat 404)
* XML utiliza codificação diferente de UTF-8. (cStat 402)
Validações das regras de negócio
Estas regras verificam a lógica do pedido:
* Tipo do ambiente do MDF-e difere do ambiente do Web Service. (cStat 252)
* CNPJ ou CPF do interessado na distribuição inválido (DV ou zeros). (cStat 489, 490)
* CNPJ base do certificado digital diferente do CNPJ base consultado. (cStat 491)
* CPF do certificado digital diferente do CPF consultado. (cStat 492)
* NSU informado superior ao maior NSU disponível para consulta. (cStat 493)
* NSU informado corresponde a documento autorizado há mais de seis meses. (cStat 730)
Recomendações e endereços do Web Service
Para evitar o uso indevido do serviço, como aplicações em "loop" que consomem recursos de forma desnecessária, o Ambiente Autorizador mantém controles. Tentativas sucessivas de busca de registros já disponibilizados ou consultas abusivas resultam na rejeição com o erro cStat='678-Rejeição: Consumo Indevido'.
Os endereços do Web Service de Distribuição do Ambiente Nacional estão disponíveis no Portal dos Documentos Fiscais Eletrônicos da SVRS (http://dfe-portal.svrs.gov.br/MDFe), na seção '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
Conclusão
O serviço de distribuição de DF-e para o MDF-e representa uma ferramenta fundamental para contadores e empresários que necessitam de acesso eficiente e confiável a documentos fiscais eletrônicos de seu interesse. A compreensão dos padrões técnicos e das regras de validação é essencial para a correta implementação e utilização do Web Service. A adesão às especificações de XML, certificados digitais e o manejo adequado das consultas via NSU garantem o acesso às informações necessárias e evitam rejeições por uso indevido ou inconsistências nos dados.