Suporta indicadores de segurança, imposto pago e antecipado.
authorThadeu Lima de Souza Cascardo <cascardo@cascardo.eti.br>
Sat, 25 Jul 2015 20:35:51 +0000 (17:35 -0300)
committerThadeu Lima de Souza Cascardo <cascardo@cascardo.eti.br>
Sat, 25 Jul 2015 20:35:51 +0000 (17:35 -0300)
Foi observada uma divergência no valor do indicador de segurança entre
uma declaração retificadora e uma vazia, com apenas recibo anterior. O
mesmo para os valores de imposto pago e antecipado.

Utilizando o código do IRPF Livre, foi constatado que também devem ser
considerados no futuro os casos de Carnê Leão, Lei 11.033 e outros.

gera.c

diff --git a/gera.c b/gera.c
index 9129148..ac4b1c2 100644 (file)
--- a/gera.c
+++ b/gera.c
@@ -55,9 +55,14 @@ static void gera_header(struct declaracao *dec, FILE *f)
        fprintf(f, "%d", dec->obrigatoria); /* TODO: obrigatoria entrega */
        fprintf(f, "%013lld", dec->devido); /* imposto devido, carne-leao, complementar dos dependentes */
        fprintf(f, "%-10.10s", dec->recibo ?: ""); /* recibo ex. anterior */
-       fprintf(f, "2"); /* TODO: indicador seguranca */
-       fprintf(f, "00"); /* TODO: indicador imposto pago */
-       fprintf(f, "0"); /* TODO: indicador imposto antecipado */
+       /* Indicador de segurança: 0 se retificadora, 2 se recibo
+        * anterior, se não 1. */
+       fprintf(f, "%d", dec->retifica ? 0 : (dec->recibo ? 2 : 1));
+       /* Indicador imposto pago, TODO: carnê leão e Lei 11.033. */
+       fprintf(f, "%02d", dec->retido ? 1 : 0);
+       /* Indicador imposto antecipado, TODO: carnê leão, Lei 11.033,
+        * outros. */
+       fprintf(f, "%d", dec->retido ? 1 : 0);
        fprintf(f, "0"); /* TODO: mudanca endereco */
        fprintf(f, "%s", dec->contribuinte.cep);
        fprintf(f, "0"); /* TODO: debito 1a quota */