Nos últimos dias tenho visto em alguns fóruns de programação um assunto cada vez mais freqüente, “Dúvidas no processo de Homologação de aplicações PAF-ECF”. E Tendo em vista a experiência que adquire passando por esse processo por duas vezes, resolvi elaborar esse tutorial dando as coordenadas para quem esta iniciando os procedimentos.

A primeira mão parece ser uma tarefa bastante árdua, mas terminado o processo vimos que não é nenhum bicho de sete cabeças.


Mas sem mais delongas vamos dar inicio ao tutorial.

 

O primeiro passo é fazer o download dos manuais e roteiros de homologação que serão usados para homologar o aplicativo.

No link abaixo você poderá baixar uma cópia do manual de desenvolvimento do aplicativo. Nele tem detalhado todos os requisitos necessários e legislação relacionada do aplicativo PAF-ECF.

http://www.fazenda.mg.gov.br/empresas/ecf/manuais/manu_des.pdf

Neste outro link você irá baixar o roteiro de homologação que será usado pelo órgão credenciado da receita.

http://www.fazenda.mg.gov.br/empresas/ecf/manuais/rafpaf.pdf

Nesta versão do PAF-ECF é necessária a criação de um menu fiscal que deverá gravar várias informações em arquivos eletrônicos no formato de texto. Nestes arquivos deverão conter uma assinatura digital EAD que será validada pelo aplicativo eECFc. Sendo assim, é extremamente aconselhável que você faça essa validação em todos os arquivos antes de ir para o processo de homologação nos órgãos credenciados pela receita. Segue abaixo o link para baixar o aplicativo.

http://www.fazenda.mg.gov.br/empresas/ecf/informacoes/eecfc.htm

Para gerar a assinatura digital EAD, é necessário o uso de DLL de terceiros, bom, pelo menos foi o meio mais fácil que encontrei. No link abaixo eu dou um exemplo da função que uso em meu aplicativo.

//www.devmedia.com.br/articles/viewcomp.asp?comp=15428


Em uma das funções exigidas no menu fiscal, será necessário na criação do nome do arquivo eletrônico no formato de texto, que seja identificado o equipamento ECF pelo código nacional. Esse código foi criado pela receita e poderá se encontrado na tabela que poderá ser baixada no no link abaixo:

http://www.fazenda.mg.gov.br/empresas/ecf/informacoes/TABNCIEE_por_marca.pdf

O menu fiscal é um dos mais importantes pontos de um sistema ECF, dentro dos requisitos atuais de homologação. Nele são concentradas diversas informações referentes ao processamento dos dados do ECF e deve seguir em detalhes os padrões exigidos pela receita. A grande notícia é que para os desenvolvedores que utilizam as dll’s disponibilizadas pelos fabricantes de equipamentos fiscais, e que as mesmas realizam pelo menos 80% do trabalho pesado no processamento das informações, cabendo ao desenvolvedor apenas encontrar o comando certo para criar este menu.

Na sequência deste tutorial estão os comandos das dll’s referentes a cada opção do menu fiscal. Os comandos são referentes aos seguintes equipamentos: Bematech, Daruma, Epson, Elgin e Sweda.

Deve-se elaborar a tela do menu fiscal. A do meu aplicativo ficou parecida com esta da figura:


img


Os títulos de cada opção do menu fiscal devem ser idênticos a descrição solicitada no Roteiro de homologação. Pelo menos foi o que o avaliador me pediu quando realizei a homologação do meu aplicativo.


Segue os comandos:


LX – Leitura X que é um comando básico de todo sistema de ECF.

Bematech - Bematech_FI_LeituraX;
Daruma - Daruma_FI_LeituraX;
Epson - EPSON_RelatorioFiscal_LeituraX;
Sweda - ECF_LeituraX;
Elgin - Elgin_LeituraX;

Não há parâmetros para esta opção;

LMFC – Leitura da memória fiscal Completa e LMFC – Leitura da memória fiscal Simplificada.

Neste requisito terá variações entre faixa de período e ou faixa de reduções-Z tanto para leitura da memória fiscal Completa como para leitura simplificada. E também deverá se impressora pela impressora fiscal ou gerada em arquivo texto. Segue os comandos:

Bematech
Bematech_FI_LeituraMemoriaFiscalDataMFD - Por período na impressora.
Bematech_FI_LeituraMemoriaFiscalSerialDataMFD - Por Período em arquivo.
Bematech_FI_LeituraMemoriaFiscalReducaoMFD - Por Redução na Impressora.
Bematech_FI_LeituraMemoriaFiscalSerialReducaoMFD - Por Redução em Arquivo.

Daruma
Daruma_FI_LeituraMemoriaFiscalData - Por Período na Impressora.
Daruma_FI_LeituraMemoriaFiscalSerialData - Por Período na Impressora.
Daruma_FI_LeituraMemoriaFiscalReducao - Por Redução na Impressora.
Daruma_FI_LeituraMemoriaFiscalSerialReducao - Por Redução em Arquivo.

Epson
EPSON_RelatorioFiscal_Leitura_MF - Por Período na Impressora.
EPSON_RelatorioFiscal_Leitura_MF - Por Período na Impressora.
EPSON_RelatorioFiscal_Leitura_MF - Por Redução na Impressora.
EPSON_RelatorioFiscal_Leitura_MF - Por Redução em Arquivo.

Sweda
ECF_LeituraMemoriaFiscalDataMFD - Por Período na Impressora.
ECF_LeituraMemoriaFiscalSerialDataMFD - Por Período na Impressora.
ECF_LeituraMemoriaFiscalReducaoMFD - Por Redução na Impressora.
ECF_LeituraMemoriaFiscalSerialReducaoMFD - Por Redução em Arquivo.

Elgin
Elgin_LeituraMemoriaFiscalData - Por Período na Impressora.
Elgin_LeituraMemoriaFiscalSerialData - Por Período na Impressora.
Elgin_LeituraMemoriaFiscalReducao - Por Redução na Impressora.
Elgin_LeituraMemoriaFiscalSerialReducao - Por Redução em Arquivo.

Espelho MFD – Como o próprio nome diz, este comando irá gerar um arquivo com o espelho de movimentações efetuadas pelo ECF. Também há variações neste comando que poderá ser por período de data ou numero de redução.

Bematech - Bematech_FI_DownloadMFD
Daruma - Daruma_FIMFD_DownloadDaMFD
Epson – EPSON_Obter_Dados_MF_MFD
Sweda – ECF_DownloadMFD
Elgin – Elgin_DownloadMFD

Arq. MFD – Este comando não é suportado pelas DLL’s. Então seguindo orientação do Roteiro apenas coloquei a mensagem “Função Não suportada pelo modelo do ECF utilizado!”.

Nas Opções que seguintes do menu fiscal (Tabela de Produtos, Estoque, Movimento por ECF, Meios de Pagamento, DAV Emitido, Transferência de Mesas, Mesas Abertas), deverá ser extraídos dados da base de dados do sistema e gerado arquivos textos ou relatórios gerenciais impressos pela impressora fiscal. Os arquivos gerados deverão segui um layout pré-determinado pela receita que você encontrará no seguinte link:

http://www.fazenda.gov.br/confaz/confaz/atos/atos_cotepe/2008/ac006_08.htm

Estes arquivos deverão ser assinados digitalmente, e validados pelo aplicativo eECF. Leia mais sobre este assunto no link.

//www.devmedia.com.br/articles/viewcomp.asp?comp=15428


Para emissão dos Relatórios Gerenciais com os respectivos dados solicitados em cada uma das opções deverá usar os seguintes comandos:

Abertura do Gerencial:
Bematech – Não é necessário comando para abertura, ao enviar primeira linha será aberto o gerencial.
Daruma – Daruma_FI_AbreRelatorioGerencial.
Epson – EPSON_NaoFiscal_Abrir_Relatorio_Gerencial.
Sweda – ECF_AbreRelatorioGerencial.
Elgin – Elgin_AbreRelatorioGerencial.

Imprmir Linha no relatório gerencial:
Bematech – Bematech_FI_UsaComprovanteNaoFiscalVinculadoTEF.
Daruma – Daruma_FI_UsaComprovanteNaoFiscalVinculado.
Epson – EPSON_NaoFiscal_Imprimir_LinhaEX.
Sweda – ECF_UsaComprovanteNaoFiscalVinculado.
Elgin – Elgin_UsaComprovanteNaoFiscalVinculado.

Fechar relatório gerencial:
Bematech – Bematech_FI_FechaRelatorioGerencial.
Daruma – Daruma_FI_FechaRelatorioGerencial.
Epson – EPSON_NaoFiscal_Fechar_Relatorio_Gerencial.
Sweda – ECF_FechaRelatorioGerencial.
Elgin – Elgin_FechaRelatorioGerencial.

Observações:
Antes de ir a um agente credenciado pela receita para realizar a certificação, efetue todos os teste detalhadamente em laboratório, observe bem as entrelinhas, revise os layouts gerados pela aplicação, valide a assinatura EAD. Pois tudo isso será observado criteriosamente pelo examinador, e como terá um alto custo para realização da certificação quanto menos tempo se perde acertando detalhes e melhor.
Quando for para a certificação, será necessário levar as declarações exigidas e também alguns envelopes para lacrar o cd com os códigos fontes.


Atenção:

Quando efetuei a homologação do meu aplicativo ainda era usada a versão 01.03 do roteiro. Foram adicionadas algumas alterações na nova versão do roteiro. Neste tutorial passo apenas uma base para quem deseja efetuar a homologação e ainda não sabe por onde começar.

Tive informações que as novas DLL’s dos fabricantes já estão disponibilizado comando para geração do Arquivo MFD, por favor, verifique!