Grande Oliva,

Tenho de registrar minha admiração pela sua luta, pelo seu empenho e
dedicação em relação a liberdade do sistema do IRPF. Não só por isso é
claro, mas também por toda a luta pelo Software Livre.

É um trabalho solitário e determinado, parabéns!

Tenho certeza que se o sistema fosse livre já a alguns anos teríamos muito
mais inteligência, funcionalidades e agilidade nele. Isso é um fato que
todos nós sabemos. Parece que só a receita não.

Saudações Livres,

José Luis *Pissin* (Pizza)


Em 3 de março de 2010 05:07, Alexandre Oliva <lxol...@fsfla.org> escreveu:

> Oi,
>
> Só pra repetir aqui com muitos detalhes o que já anunciei bem
> resumidamente no identi.ca:
>
> A Receita Federal fez o favor de mudar o formato de arquivo na versão
> final do IRPF-Livre 2010.  Também fez a mesma coisa no IRPF2008v3.0,
> mexeu um pouquinho na lista de bancos no IRPF2009v2.0, e passou a exigir
> declarações com esses (não tão) novos números de versões para quem
> precisar fazer retificações.
>
> No próprio dia primeiro, já arrumei o IRPF-Livre 2010 pra gerar arquivos
> iguais aos da versão final.  Uma das alterações mais interessantes foi
> que o campo ENDERECO_MAC, que era deixado em branco na versão de testes,
> agora era preenchido.  Sei lá por que a Receita Federal quer saber o
> endereço físico da máquina usada pra preencher uma declaração, nem por
> que ela acha que tem o direito de colocar essa informação particular na
> declaração assim, na surdina, mas vi aí uma oportunidade bacana pra
> “assinar” declarações com o IRPF-Livre.
>
> A oportunidade se consolidou quando descobri que o GCJ / GNU Classpath
> ainda não oferece os métodos necessários pra pegar o ENDERECO_MAC da
> interface de rede conectada à Internet.  Isso é funcionalidade de Java
> 1.6.  Ponto negativo pra Receita Federal: pra que que precisava exigir
> versão mais nova do Java, se um montão de gente já tem versões mais
> antigas perfeitamente funcionais instaladas?  Certamente não é só porque
> o OpenJDK 1.6 é Livre, né?  Até porque, de fato, não é: só o IcedTea,
> que substitui os pedaços privativos do OpenJDK, é realmente Livre.
>
> Enfim, a solução foi deixar o usuário preencher o campo ENDERECO_MAC
> como lhe conviesse: 12 caracteres hexadecimais pra se divertir à
> vontade.  Dá pra colocar o valor igual ao determinado pelo IRPF2010, pra
> verificar que a declaração fica idêntica bit a bit, aí depois troca pra
> outra coisa pra “assinar” a declaração.  Eu, por exemplo, usei
> “001F8EEDO300", uma tentativa porca de escrever FREEDOM com hexadecimal.
> Mais porca ainda porque consegui colocar uma letra O onde tinha que ser
> um zero.  E, sabe o quê?  A declaração foi enviada sem problema algum.
> Então, ao que tudo indica, podem deitar e rolar nesse campo:
> "RECEITASUCKS", "FORAIRPF2010", "IRPFLIV4EVER".  Claro que, pra fazer
> isso, precisa usar o IRPF-Livre pelo menos pra preparar a declaração pro
> envio ;-)
>
>
> Usando essa versão, a r6674, já entreguei declarações minha e da minha
> esposa ontem.  O meu amigo lá na agência do Banco do Brasil, quando me
> viu chegando com os disquetes na mão, falou “Nossa, já?!?” :-) Levei em
> pen-drive também, mas não conseguimos descobrir como usar as interfaces
> USB da máquina nova que botaram na mesa dele :-( O sistema é GNU/Linux,
> mas há várias razões pra não habilitar USB num banco que não permite aos
> funcionários sequer trocar e-mails com clientes.
>
>
> Descobri, enquanto preparava essas declarações, que o IRPF-Livre (assim
> como o IRPF privativo) não fazia alguns cálculos quando lia os dados do
> arquivo XML.  Foi uma surpresa: ele faz bastantes contas, mas em
> particular o resultado da ficha cônjuge e os totais das fichas de
> rendimentos isentos e rendimentos com tributação exclusiva na fonte não
> eram recalculados.  Não consegui descobrir o porquê :-(
>
> O resultado: se não fizesse essas contas na mão, a declaração seria
> gerada sem uma das linhas, onde deveriam ser sumarizados os rendimentos
> isentos (e, se não me engano, também os com tributação exclusiva na
> fonte).  Resumos também sairiam tortos, podendo até levar a suspeitas de
> tentativa de fraude, apesar de isso não fazer muito sentido, pois são
> rendimentos que não geram tributação, ou que já foram tributados, e a
> Receita já foi devidamente informada sobre eles.  Como evidência de que
> não dá problema, as declarações que entreguei em 2009, com essas linhas
> faltando, passaram lisas.
>
> Mesmo assim, achei melhor preparar declarações de retificação, até
> porque a Receita Federal continua insistindo que minhas declarações de
> 2008 dão “Erro de descompctação” (sic).  De repente, corringindo isso,
> vai.
>
> Preparei as retificações desde 2007, calculando esses números na mão,
> verificando que tava tudo certo, gravei as declarações no disquete junto
> com as de 2010, e...  O banco não aceitou as declarações nem de 2008 nem
> de 2009, porque foram geradas com versões antigas demais “do IRPF”.
> Bom, tecnicamente, não foram, mas como o IRPF-Livre gera declarações
> iguaizinhas às do IRPF privativo em que se baseou, ele continuava
> dizendo que era versão 1.0.
>
> Lá vou eu então atualizar o IRPF-Livre 2008 e 2009.  Enquanto mexia
> nisso, me ocorreu que não custava muito dar um jeito de ele fazer as
> contas que não fazia, ainda que na marra.  Fui lá e fiz.  Aproveitei pra
> implementar um novo comando que dispensa a dança do grava/restaura pra
> recalcular valores derivados dos preenchidos: o comando recalcula agora
> faz isso, sem passar por um arquivo intermediário, refazendo as contas e
> gravando diretamente no repositório xml.  Muito mais prático ;-)
>
> Enquanto implementava essas coisas, entre elas o cálculo do resultado da
> ficha cônjuge, pensei...  Pô...  É chato pacas ficar caçando os números
> da declaração do cônjuge, especialmente sem um comandinho que cuspa na
> tela o resumo da declaração.  Esse comandinho, ainda não fiz, mas fiz
> algo muitíssimo mais útil: um comando que abre a sua declaração, a de
> seu cônjuge (que precisa estar no mesmo repositório), faz as contas de
> um e de outro e preenche as fichas de Cônjuge nas respectivas
> declarações.  E pronto!  Não é o máximo?  Viu, Receita, é por coisas
> assim, e muitas outras mais, que esse (e qualquer outro) tipo de
> software tinha que ser Livre!
>
> Com as novas versões dos IRPF-Livre 2007, 2008, 2009 e 2010, que acabei
> de publicar, todas identificadas como r6675 nos respectivos anos (é o
> número da revisão no repositório SVN, cada ano com seu branch), gerei
> novas declarações de 2008 e 2009, pra entregar amanhã^Wdaqui a pouco, e
> verifiquei que não mudou nada nas declarações de 2010 nem de 2007, como
> esperado.  Ufa!, fiz as contas direitinho ;-)
>
> Aproveitei pra fazer um back-port de algumas funcionalidades pra versão
> de 2007.  Por exemplo, agora ela imprime o “número do recibo” quando
> prepara uma declaração pra entrega, como as mais novas já faziam.  É,
> isso mesmo, a Receita Federal chama um hash calculado sobre a declaração
> de “número de recibo”, embora não tenha recebido a declaração.  Imagina
> que barato a Receita Federal dizer que você não entregou a declaração, e
> você chega lá com o número de recibo?  Forçando um pouquinho a barra,
> daria até pra gerar um arquivo de recibo, que só a própria Receita ia
> poder dizer se é válido ou não.  Agora imagina que barato você ter um
> .REC gerado pela Receita e ela dizer que não foi ela que emitiu.  Já
> pensou?
>
> Enfim...  Era meio chato achar esse número no arquivo de declaração
> anterior, na hora de preparar uma retificação (pra declaração no ano
> seguinte é tranquila, o importador já preenche), e mesmo assim ele
> aparece no arquivo de declaração sem os dois dígitos verificadores (por
> isso que implementei lá por 2008 o comandinho calculaDV, agora também na
> versão para 2007), então achei que valia a pena.
>
> Amanhã (ou, no caso, daqui a pouco) vou passar no BB de novo pra
> entregar as retificações, aproveitando a tranquilidade bancária de
> início de mês.  E aí, salvo relatórios de erros, provavelmente só volto
> a esse programa ano que vem.
>
> Saudações Livres,
>
> --
> Alexandre Oliva, freedom fighter    http://FSFLA.org/~lxoliva/
> You must be the change you wish to see in the world. -- Gandhi
> Be Free! -- http://FSFLA.org/   FSF Latin America board member
> Free Software Evangelist      Red Hat Brazil Compiler Engineer
> _______________________________________________
> PSL-Brasil mailing list
> PSL-Brasil@listas.softwarelivre.org
> http://listas.softwarelivre.org/mailman/listinfo/psl-brasil
> Regras da lista:
> http://twiki.softwarelivre.org/bin/view/PSLBrasil/RegrasDaListaPSLBrasil
> SAIR DA LISTA ou trocar a senha:
> http://listas.softwarelivre.org/mailman/options/psl-brasil
>
_______________________________________________
PSL-Brasil mailing list
PSL-Brasil@listas.softwarelivre.org
http://listas.softwarelivre.org/mailman/listinfo/psl-brasil
Regras da lista:
http://twiki.softwarelivre.org/bin/view/PSLBrasil/RegrasDaListaPSLBrasil
SAIR DA LISTA ou trocar a senha:
http://listas.softwarelivre.org/mailman/options/psl-brasil

Responder a