Você sabe o que é consulta CT-e? Conheça este recurso da SEFAZ-AN e turbine seu software para facilitar ainda mais a vida do seu cliente.
Existem alguns recursos essenciais para um software de logística. No módulo fiscal, por exemplo, é necessário fornecer todas as rotinas para emissão do Conhecimento de Transporte Eletrônico (CT-e).
No entanto, existem outras funcionalidades relacionadas a documento fiscal eletrônico que podem ser exploradas pelo seu ERP. Uma delas é o módulo de Consulta CT-e, que facilita o controle da transportadora e do cliente dela sobre suas operações.
Você sabe o que é Consulta CT-e? Para que serve? E o mais importante: como implementar no seu software? Vamos descobrir!
O que é Consulta CT-e?
Primeiramente precisamos entender o que é o CT-e? O CT-e: Conhecimento de Transporte Eletrônico, modelo 57 é um documento fiscal eletrônico, de existência apenas digital que deve ser emitido para acobertar operações de prestação de serviço de transporte de cargas. A obrigação de emitir CT-e abrange transportadoras de diferentes modais de transporte, simplificando as obrigações fiscais do contribuinte e facilitando a fiscalização.
A Consulta CT-e é um processo de consulta de informações e download de XML do Conhecimento de Transporte Eletrônico e seus respectivos Eventos do CT-e. É um recurso exclusivo da SEFAZ-AN. A Consulta CT-e permite consultar todos os dados de um conhecimento de transporte eletrônico. Podendo ser consultados os CT-e emitidos em casos de testes de homologação técnica (sem validade jurídica) ou os emitidos por estabelecimentos já credenciados à emissão (com validade jurídica).
O que é CTeDistribuicaoDFe ?
Este web service, oficialmente chamado de CTeDistribuicaoDFe, é compartilhado entre todas as Sefaz estaduais. Publicado na Nota Técnica 2015.002, o serviço substitui a Consulta de CT-es Destinados, que foi descontinuada no final de 2015.
Ele permite a consulta, a manifestação e então o download do XML do CT-e ou seus respectivos eventos, na qual o usuário é um dos atores do CT-e, como emitente, tomador, expedidor, destinatário ou terceiro.
Os documentos fiscais eletrônicos estarão disponíveis para distribuição por até 3 meses após sua recepção pelo Ambiente Nacional do CT-e. A distribuição ocorrerá para os atores que desempenham papéis de emitente, destinatário, remetente, recebedor, expedidor, tomador e terceiros devendo ser informado na tag autXML conforme tabela abaixo:
1 O CT-e estará disponível para terceiros somente cujo CNPJ ou CPF estiverem informados no grupo autXML, sendo que para estes usuários, visando a preservação do sigilo fiscal, todas as chaves de acesso de CT-e e NF-e relacionadas no CT-e distribuído deverão ser alteradas para o literal 99999999999999999999999999999999999999999999, conforme decisão do ENCAT.
Como implementar a Consulta CT-e?
Para realização da Consulta CT-e, o usuário precisa realizar uma comunicação com o web service CTeDistribuicaoDFe, e fornecer suas algumas informações:
- Código da UF do ator
- CNPJ ou CPF do interessado
- NSU (Número Sequencial Único)
- Tipo do NSU, específico ou último
Essa operação também exige o uso de Certificado Digital para autenticação do ator dos documentos.
Se você quiser poupar tempo e esforço de implementação, existem bibliotecas e APIs prontas, contendo toda a rotina da consulta CT-e, como o CTe TecnoSpeed.
Utilizando a DLL CTe TecnoSpeed
Se você utilizar a integração via DLL do CTe TecnoSpeed, deverá chamar o método ConsultarDistribuicaoDFe para realizar este processo. Os parâmetros para seu preenchimento são:
- aCodigoUF (Código da UF do ator)
- aCNPJCPF (CNPJ ou CPF do interessado no DF-e)
- aNSU (Número sequencial único a ser consultado)
- aTipoNSU (Tipo do NSU, específico ou último)
- nkEspecifico=1 ou nkUltimo=0
Como retorno dessa operação, você receberá um arquivo XML contendo os documentos (compactados em base64) de interesse do ator.
procedure TFrmExemplo.BtConsultarDfeClick(Sender: TObject); var _returnValue: string; begin try _returnValue := CTe.ConsultarDistribuicaoDFe(IntToStr(CTe.ObterCodigoUF(edUF.Text)), edtCNPJ.Text , EdtNsu.text, TNSUKind(RgNsu.ItemIndex)); except raise ; end; end;
Para complementar o método ConsultarDistribuicaoDFe que retorna o XML contendo os documentos de interesse do ator compactados deve ser utilizado o método TratarXMLRetornoDFe.
Esse método recebe o XML de retorno da consulta DFe e faz o tratamento de cada XML compactado e o retorna na pasta definida na propriedade DiretorioXmlTomadorServico .
Seu único parâmetro de utilização é o:
- aXML (XML de retorno da consulta de DFe)
Como retorno, você obterá os XML solicitados, sem compactação, na pasta definida na propriedade.
procedure TFrmExemplo.BtConsultarDfeClick(Sender: TObject); var _returnValue: string; begin try _returnValue := CTe.ConsultarDistribuicaoDFe(IntToStr(CTe.ObterCodigoUF(edUF.Text)), edtCNPJ.Text , EdtNsu.text, TNSUKind(RgNsu.ItemIndex)); CTe.TratarXMLRetornoDFe(_returnValue); except raise ; end; end;
Utilizando a API CTe TecnoSpeed
Se você utiliza a integração via API do CTe TecnoSpeed, deverá utilizar a rota /consultadfe para obtenção do CT-e
https://managersaas.tecnospeed.com.br:8081/ManagerAPIWeb/cte/consultadfe
A SEFAZ disponibiliza as consultas por lotes de até 50 CT-es. Ao realizar a consulta, o CTe TecnoSpeed retorna todos os lotes localizados nos 15 dias anteriores à consulta, caso não seja passado nenhum parâmetro na consulta.
A Querystring deve ser realizada assim:
Nome | Descrição |
Grupo | Nome do grupo |
CNPJ | CNPJ que está vinculado ao grupo que será usado para realizar a consulta, apenas números |
TipoNSU | 0 – Até a ultima NSU encontrada
1 – Somente a NSU específica |
NSU | Número que indica a primeira NSU a ser consultada. Caso seja informado com zero, ou com um NSU muito antigo, a consulta retornará unicamente os CT-e’s que tenham sido recepcionados nos últimos 15 dias |
Como retorno desta requisição, você obterá uma mensagem semelhante a essa:
"cStatus", "xMotivo", "ultNSU", "maxNSU" 138, Documento localizado, 000000000001234, 000000000005678
Facilite a implementação do CT-e no seu software
A Consulta de CT-e através do web service CTeDistribuicaoDFe é apenas um dos muitos processos que o CTe TecnoSpeed pode te ajudar a implementar no seu sistema. Integrável via DLL ou API, você ainda conta com uma equipe de consultoria técnica e tributária.
Economize tempo e esforço no desenvolvimento do módulo fiscal do seu ERP de logística. Deixe com quem entende de documentos fiscais eletrônicos!