Guia Geral - Componente EFD-Reinf – Central de Atendimento
O Componente EFD-Reinf da Tecnospeed é uma biblioteca contendo todos os métodos necessários para emitir os eventos que a receita exige. É a escolha ideal para quem pode consumir OCX e prefere manter todo o processo de mensageria dentro do próprio ambiente. Para utilizar o Componente em seu software, basta instanciá-lo em seu projeto, implementar chamadas para cada um dos métodos e configurá-los de acordo com sua necessidade.
Instalar Componente EFD Reinf
Instanciar Componente - Delphi, C# e VB6
Gerar/Assinar XML
Instalação Componente EFD Reinf
Após aprovação do pedido de adesão, em até 24 horas úteis, nossa equipe financeira irá realizar o faturamento e disponibilizar o Componente EFD-Reinf para download na Central do Cliente. Você pode acessar a Central do Cliente com os dados de acesso que você preencheu no formulário de registro (aquele que você preencheu um pouco antes de assinar o contrato).
O arquivo identificado com o nome INSTALADOR deverá ser utilizado no ambiente de desenvolvimento, ele possui os arquivos necessários para chamar os métodos dentro da sua IDE/editor de códigos, além dos arquivos necessários para a geração dos XML.
Já o arquivo identificado com o nome DEPENDÊNCIAS é utilizado no ambiente do cliente, possuindo apenas a OCX de utilização do componente (e as dll's necessárias) além dos arquivos necessários para a geração dos XML!
A primeira tela, trará a versão do componente e algumas recomendações, após verifica-las, basta clicar em avançar. Após isso, seleciona onde quer que deseja que os arquivos sejam salvos. Recomendamos deixar no diretório padrão "C:\Program Files\TecnoSpeed\Reinf" porém, você pode alterá-lo para que se ajuste a sua demanda. Feito isso, clique em avançar novamente.
E você está pronto para começar a utilização de componente EFD-Reinf da TecnoSpeed!
No ambiente onde o sistema for ser executado, devemos instalar a versão Dependencies, que é a versão Full reduzida, com apenas as DLLs necessárias para o componente funcionar.
Para instalá-la, basta executar o instalador e seguir as instruções na tela.
ReinfClientX.ocx
ReinfGovX.ocx
ReinfClientX_TLB
Reinf : TspdReinfClientX;
Reinf := TspdReinfClientX.Create(nil);
Public Reinf As ReinfClientX.spdReinfClientX
Set Reinf = New ReinfClientX.spdReinfClientX
using spdReinfClientX
ReinfClientX.spdReinfClientX Reinf = new ReinfClientX.spdReinfClientX();
O componente EFD-Reinf possui algumas propriedades que precisam estar configuradas para que seja possível realizar sua utilização de forma correta.
Lembrando que é necessário utilizar o método ConfigurarSoftwareHouse, onde você passa o CNPJ e Token cadastrados em nossa Conta TecnoSpeed.
Nome Certificado e Versão Manual
Fluxo ideal da emissão da EFD-Reinf
Para facilitar os retorno dos eventos já processados pela receita, a TecnoSpeed armazena as informações de envio e consulta em uma banco de dados para que seja possível o retorno mais rápido desses eventos.
Todo o processo de comunicação com a receita (envio e retorno dos eventos) é feito através da API da TecnoSpeed (exceto o evento R-2099, onde a comunicação é feita diretamente com a receita) para que consuma o minimo de recursos possíveis das maquinas de seus clientes.
O fluxo de emissão do EFD-Reinf é bem simples, após realizar toda a configuração do componente, você irá gerar o xml, assina-lo e envia-lo. Após o envio do lote, a TecnoSpeed retorna um ID de Lote que identifica seu lote em nosso servidor.
Feito isso, a receita irá fazer todas as validações necessárias no lote e nos eventos e após o fim da validação, retornar com o Recibo (em caso de autorização) ou com as ocorrências do lote/evento para que seja possível analisar e ajustar os erros.
É necessário enviar uma consulta do ID de Lote retornado no envio, para saber se o lote foi autorizado ou não. Somente com esta consulta você terá o resultado do processamento.
Todos esses passos são realizados através do nosso componente, e veremos tudo isso de forma mais detalhada.
Para gerar o arquivo de integração utilizando um arquivo TX2, é necessário seguir o nosso Dicionário de Dados. Aqui nós veremos como ler as colunas deste dicionário, como iniciar e concluir um arquivo e como informar os grupos que podem se repetir.
Inicializando e finalizando um arquivo de integração
Feito a geração do Tx2 agora precisamos gerar o XML, que será assinado e enviado para a receita!
A geração do XML é bem simples, basta passar ao método GerarXMLporTx2 o Tx2 como um parâmetro e ele irá retornar o XML gerado.
Para enviar um evento à Receita, é necessário realizar uma assinatura digital do XML. Esta assinatura é realizada utilizando um Certificado Digital.
Para assinar o XML de envio, é necessário utilizar o método AssinarEvento. Como parâmetro, é necessário informar o XML sem assinatura como string. O método retornará o mesmo XML passado como parâmetro na função, porém ele terá as tags de assinatura em seu conteúdo.
Para enviar um evento a Receita é necessário possuir o XML gerado e assinado, feitos na etapa anterior. Basta passar o xml para o método EnviaLoteEventos.
Feito isso você recebera o id de lote e poderá realizar a consulta do evento para obter o retorno da receita.
Para recepcionar os seus valores de forma mais fácil, a TecnoSpeed parseia os dados do evento, você pode verificar um exemplo da consulta em nossas demos disponibilizadas no GitHub.
Ocorrência de Lote
É possível verificar se tiveram ocorrências no lote através do CountOcorrencias, ele retornará a quantidade de ocorrências no lote caso existe, é possível verificar um exemplo de uso em nosso post referente a consulta dos eventos.
Ocorrência de Evento
Também é possível verificar, nos casos de erros no evento, as ocorrências do evento. o Count dentro da classe IspdRetConsultarLoteItem possui a contagem de ocorrências caso existam, e através dela podemos fazer o laço para verificar todas as ocorrências geradas, temos um exemplo em código em nosso post de consulta dos eventos.