Suporta indenizações isentas, como FGTS e aviso prévio.
authorThadeu Lima de Souza Cascardo <cascardo@cascardo.eti.br>
Sun, 10 Apr 2016 22:44:18 +0000 (19:44 -0300)
committerThadeu Lima de Souza Cascardo <cascardo@cascardo.eti.br>
Mon, 11 Apr 2016 00:29:08 +0000 (21:29 -0300)
Indenizações como FGTS, aviso prévio e abono pecuniário contam como
rendimentos isentos.

lib/gera.c
lib/isento.c

index 79fe63e..c189fc3 100644 (file)
@@ -479,7 +479,7 @@ static void gera_isentos(struct declaracao *dec, FILE *f)
        fprintf(f, "%-11.11s", dec->cpf);
        fprintf(f, "%013lld", 0); /* TODO: bolsa de estudo */
        fprintf(f, "%013lld", 0); /* TODO: pecúlio de previdência privada */
-       fprintf(f, "%013lld", 0); /* TODO: FGTS, aviso prévio indenizado */
+       fprintf(f, "%013lld", totais_get(dec, "INDENIZACOES")); /* FGTS, aviso prévio indenizado */
        fprintf(f, "%013lld", 0); /* TODO: ganho de capital isento */
        fprintf(f, "%013lld", 0); /* TODO: lucros e dividendos */
        fprintf(f, "%013lld", 0); /* TODO: atividade rural */
@@ -698,6 +698,11 @@ static void gera_doacao(struct declaracao *dec, FILE *f)
        gera_isento(dec, f, 82);
 }
 
+static void gera_indenizacoes(struct declaracao *dec, FILE *f)
+{
+       gera_isento(dec, f, 93);
+}
+
 static void gera_plr(struct declaracao *dec, FILE *f)
 {
        gera_isento(dec, f, 96);
@@ -903,6 +908,7 @@ static int gera(struct declaracao *dec, char *filename)
                W(fn); \
        }
        IW(gera_doacao, 82);
+       IW(gera_indenizacoes, 93);
        IW(gera_plr, 96);
        IW(gera_poupanca, 98);
        IW(gera_aplicacoes, 99);
index af3700e..8bab86c 100644 (file)
@@ -40,6 +40,15 @@ static int isento_totais_update(struct declaracao *dec, struct isento *isento)
                        r += totais_add(dec, "ISENTOSTIT", isento->valor);
                }
                break;
+       case 93:
+               r = totais_add(dec, "INDENIZACOES", isento->valor);
+               r += totais_add(dec, "ISENTOS", isento->valor);
+               if (isento->dependente) {
+                       r += totais_add(dec, "ISENTOSDEP", isento->valor);
+               } else {
+                       r += totais_add(dec, "ISENTOSTIT", isento->valor);
+               }
+               break;
        case 96:
                r = totais_add(dec, "PLR", isento->valor);
                r += totais_add(dec, "EXCLUSIVOS", isento->valor);