Jéter Rabelo Ferreira

Geração De Arquivo Magnético Convênio 115/03

268 posts neste tópico

Olá.

 

Tenho um cliente (Provedor de Internet) que me solicitou que as NF's dele fossem emitidas "eletronicamente".

 

Pesquisando, verificamos que as empresas prestadoras de serviço de Energia e Telecomunicações são abrangidas pelo Convênio 115/03.

 

Esse convênio, entre outras coisas, dá a  possibilidade da empresa emitir NF's "eletrônicamente", que podem ser impressas em folha A4 e  etc, obedecendo poucas regras.

 

Uma dessas regras é que sejam gerados (4) arquivos textos contendo os dados dessas notas.

 

Partindo dessa premissa, desenvolvi um componente para faz a geração desses arquivos, o mesmo é composto de apenas uma unit.

 

Depois desse discurso, vai minha pergunta: Estou disposto a doar esse componente para o ACBr. Há interesse? 

 

Atenciosamente..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi Jeter,

A NFe não contempla esta operação ?

Qual seria a base para o novo componente. ( ACBrSintegra, ACBrSPED, etc ) ?

1 pessoa curtiu isso

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi Daniel

 

Obs: Estou criando outro post pois não consigo acessar o original

 

"

Oi Jeter,

A NFe não contempla esta operação ?

Qual seria a base para o novo componente. ( ACBrSintegra, ACBrSPED, etc ) ?"

 

Respondendo as suas perguntas:

 

A NFe não contempla esta operação ? Não. Segue abaixo a primeira cláusula do referido convênio:

 

Cláusula primeira A emissão, escrituração, manutenção e prestação das informações relativas aos documentos fiscais a seguir enumerados, com emissão em uma única via por sistema eletrônico de processamento de dados obedecerão ao disposto neste convênio:

I - Nota Fiscal/Conta de Energia Elétrica, modelo 6;

II - Nota Fiscal de Serviço de Comunicação, modelo 21;

III - Nota Fiscal de Serviço de Telecomunicações, modelo 22;

IV - qualquer outro documento fiscal relativo à prestação de serviço de comunicação ou ao fornecimento de energia elétrica.

 

Qual seria a base para o novo componente. ( ACBrSintegra, ACBrSPED, etc ) ? Ele não se parece com nenhum dos dois, pois são gerados 4 arquivos contendo as seguintes informações:
- Mestre: (Dados da NF,e valores)
- Items: (Detalhamento do items que compõem o mestre)
- Destinatario: (Todos os destinatários, mesmo que repetidos. Esse arquivo deve ter o mesmo tamanho do Mestre em bytes. Os dois tem o tamanho de 258 caracteres)
- Totalizador (O programa validador cria esse, por isso eu nem implementei a geração desse)

Obs: O arquivo é delimitado por espaços, como o Sintegra.

 

Caso queira, pode ler a respeito no endereço: http://www.fazenda.gov.br/confaz/confaz/convenios/icms/2003/CV115_03.htm

 

Programa validador e demais informações podem ser acessadas em: http://www.fazenda.sp.gov.br/download/comunica_energia.shtm

 

Deu muito trabalho para reunir as informações. Procuramos a SEF e eles não sabiam nada para poder nos ajudar.

 

Um detalhe que me chamou a atenção nesse convênio é que a numeração das Notas são zeradas a cada mês, começando em 1 novamente.

 

A semelhança com a NF-e é a impressão, não há necessidade de ser formulário autorizado. É feita em folha tipo A4 mesmo. A única exigência é a respeito da assinatura MD5 que deve ficar numa região de 12 cm2. No demais, não tem mais nenhhum regra na impressão.

 

Outra coisa, essa NF é emitida somente para os serviços que envolvam - Provimento de Internet, TV por Assinatura, Fornecimento de Energia e etc (Conforme informações no convênio). Quando a empresa for vender equipamentos, deve-se utilizar a NF-e mesmo. Quanto a isso não há alteração.

 

Outra coisa é que devem ser lançados nessas NF's a cobrança referente a Juros/Multa, Taxas e etc. Mesmo os valores que não fazem parte da BC de ICMS.

 

Tome como base uma conta de Telefone, Internet, Energia elétrica e etc. Essas empresas utilizam esse convênio para pode emitir suas NF's.

 

Qualquer outra dúvida estou a disposição.

 

Atenciosamente.

 

 

 

 

 

1 pessoa curtiu isso

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho que eu acidentalmente apaguei o tópico original... desculpe-me e obrigado por ter criado um novo tópico...

 

A ideia é fazer apenas a geração dos Arquivos ? ou também a impressão da NF ?

 

Há alguma necessidade de transmitir esses arquivos para algum WebService ?

 

O MD5 poderia  ser computado com o ACBrEAD

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sem probelmas.

 

Vamos as respostas:

 

"A ideia é fazer apenas a geração dos Arquivos ? ou também a impressão da NF ?:"

 

O componente que criei gera apenas os arquivos. Eu fiz a impressão utilizando como base o form da NF-e/Fortes, mas utilizando as minhas classes. Como disse no Post anterior, não há nenhuma regulamentação a respeito do impressão, portanto as empresas podem imprimir sua NF como quiser, criando seus prórpios LayOuts desde que contenha o MD5 (Assinatura) num campo de 12cm2 com as informações "Reservado ao Fisco"

 

"Há alguma necessidade de transmitir esses arquivos para algum WebService ?"

 

Não. Deve-se gravar um CD/DVD e enviar à SEF até o 5º dia do mês subsequente (ainda estamos verificando isso, pois varia de estado para estado) 

 

"O MD5 poderia ser computado com o ACBrEAD"

 

Sim, estou utilizando essa classe mesmo.

 

Sempre a disposição.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ao que parece você já desenvolveu todo o componente para a geração do arquivo...

 

Ficou contente no seu interesse em doá-lo para o ACBr...

 

Se desejar, anexe os fontes para uma analise inicial... Quando se trata de código aberto alguns cuidados são necessários, como:

- "Assinar" todos os fontes com o cabeçalho da LGPL (não esqueça de deixar claro que você é o autor)

- Criar um Demo, que possa servir de teste e aprendizado

- Criar um Package para instalação

- Criar um belo icone para o componente

 

Quanto mais simples for a instalação e uso do componente, maiores as chances de outros usuários utilizarem o mesmo, e posteriormente contribuírem com melhorias ou correções

Compartilhar este post


Link para o post
Compartilhar em outros sites

Seguem anexos arquivos de demonstração

 

Uma informação. O componente vai trabalhar da mesma que forma o sintegra: Apenas geração dos arquivos

 

Caso acharem necessário a impressão, posso alterar meu form de impressão para ler as classes do referido componente.

 

Pois eu fiz todo o processo de impressão e deixei a geração dos arquivos magnéticos por último, por isso não está sendo utilizado o mesmo na impressão.

 

Mas, como eu disse no Post Anterior, a impressão é livre para cada empresa.

 

Atenciosamente

 

arquivos.7z

post-258-0-35278400-1361280161_thumb.jpg

arquivos.7z

post-258-0-35278400-1361280161_thumb.jpg

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ao que parece você já desenvolveu todo o componente para a geração do arquivo...

 

Ficou contente no seu interesse em doá-lo para o ACBr...

 

Se desejar, anexe os fontes para uma analise inicial... Quando se trata de código aberto alguns cuidados são necessários, como:

- "Assinar" todos os fontes com o cabeçalho da LGPL (não esqueça de deixar claro que você é o autor)

- Criar um Demo, que possa servir de teste e aprendizado

- Criar um Package para instalação

- Criar um belo icone para o componente

 

Quanto mais simples for a instalação e uso do componente, maiores as chances de outros usuários utilizarem o mesmo, e posteriormente contribuírem com melhorias ou correções

Daniel

 

Vou providenciar isso, começando em renomear meu componente para TACBrConvenio115.

 

Meu único problema é o ícone, sou péssimo nisso  :mrgreen:

Depois que estiver tudo OK, eu anexo aqui para vocês analizarem.

 

Atenciosamente

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal,

 só pra informar que eu restaurei o tópico inicial e uni os dois, pois estava tendo dificuldades de entender do que se tratava. :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi Jéter,

 

Estou em plena homologação de PAF-ECF, por isso ainda não pude analisar...

 

Se algum outro "commiter" quiser analisar e subir, por favor fiquem a vontade...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Creio q não teve commiter desse novo componente...

 

se ouve o mesma ja esta no ACBr...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia Jeter.

 

Após analisar os fontes do componente notei apenas um pequeno detalhe que talvez pudesse ser alterado...

 

A propriedade FClassificacaoItem é do tipo  String, porém notei que no método set dela é feita uma validação do valor informado, esta informação é algo que costuma sofrer muita mudanças, ou esses valores são mais estavéis? Pois para garantir que o usuário informe apenas opções válidas poderia ser criado um tipo enumerado para esta propriedade.

 

Att.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia Juliana.

 

A principio eu pensei em fazer um enumerado também. Mas como são muitas opções, optei por fazer como string, validando o conteúdo.

 

Desde que o convênio 115 foi criado, em 2003, só houve uma alteração nessa tabela, e foi nos idos de 2005.

 

Verifique o manual/Lay-Out do convenio em: http://www.fazenda.gov.br/confaz/confaz/convenios/icms/2003/CV115_03.htm na tabela 11.5.

 

Caso haja algum novo acréscimo, basta colocar-mos o(s) codigo(s) na verificação.

 

Qualquer dúvida, estou a disposição.

Compartilhar este post


Link para o post
Compartilhar em outros sites

A vantagem de tipos enumerados, é que a IDE já mostra os possíveis valores...

Mas nesse caso acho que o usuário já deve saber como preencher esta propriedade...

Acho melhor manter a implementação original do Jeter, afinal a consistência já é realizada...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde Jeter.

 

Foi necessário efetuar um pequeno ajuste no componente para que o mesmo seja compilado no Delphi 7, uma vez que nesta versão do Delphi não existe o tipo TDate por isso substitui esses tipos por TDateTime.

 

Porém ao gerar um demo para esta versão do Delphi, o mesmo está reclamando das seguintes propriedades da classe TACBrConvenio115Item: TipoAssinante e TipoUtilizacao, notei que elas realmente não existem para esta classe...

 

Att.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde Juliana

 

Pode comentar essas duas linhas.

 

Quando eu criei o exemplo essas duas property's existiam, depois eu fiz um refactoring no compoennte e as exclui.

 

Essas property's existem no TACBrConvenio115Mestre


Atenciosamente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia a todos!

 

Juliana, quando o componente estará disponível no branches ou trunk? vou precisar dele também.

 

Grato

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia.

 

O componente já está disponível no svn.

 

Att.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Hum!!!

 

Esquece Juliana. Fui atualizar meus fontes agora e veio os arquivos..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Jeter.

 

Com relação ao MD5, não preciso gravar no banco? vai ser gerado pelo componente na hora? e aquele que sai impresso na nota?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Jeter,

Me desculpe por ter esquecido de analisar e subir o componente... e novamente muito obrigado pela doação... os fontes se encaixaram bem aos padrões do projeto... Parabéns pela iniciativa...

 

Juliana,

Muito obrigado pela ajuda... Vejo que cada vez mais você ficou especialista em arquivos fiscais ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!


Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.


Entrar Agora