X-Git-Url: http://git.cascardo.eti.br/?a=blobdiff_plain;f=lib%2Fgera.c;h=c189fc31c2ceda77c6f54e7406ae7299b7b31cf9;hb=fabac8c0e597d6398c877251652b1a351a93b687;hp=2d02d26ab14642e333a153cb2ef80110593ede7b;hpb=fd1f6192290c7f2f3b8d0e136776c3aa0a9d0a16;p=cascardo%2Fdeclara.git diff --git a/lib/gera.c b/lib/gera.c index 2d02d26..c189fc3 100644 --- a/lib/gera.c +++ b/lib/gera.c @@ -251,8 +251,8 @@ static void gera_simples(struct declaracao *dec, FILE *f) fprintf(f, "%s", dec->cpf); /* CPF: 11 dígitos */ fprintf(f, "%013lld", 0); /* TODO: carnê leão */ fprintf(f, "%013lld", 0); /* TODO: lucros e dividendos */ - /* rendimentos isentos */ - fprintf(f, "%013lld", totais_get(dec, "ISENTOS")); + /* rendimentos isentos titular */ + fprintf(f, "%013lld", totais_get(dec, "ISENTOSTIT")); /* rendimentos tributação exclusiva, exceto décimo terceiro */ fprintf(f, "%013lld", totais_get(dec, "EXCLUSIVOS_SEM_13o")); /* 13o. */ @@ -260,8 +260,10 @@ static void gera_simples(struct declaracao *dec, FILE *f) fprintf(f, "%013lld", 0); /* TODO: retido na fonte (Lei 11.033) */ fprintf(f, "%013lld", 0); /* TODO: 13o. dependentes */ fprintf(f, "%013lld", 0); /* TODO: lucros dependentes */ - fprintf(f, "%013lld", 0); /* TODO: isentos dependentes */ - fprintf(f, "%013lld", 0); /* TODO: exclusivos dependentes */ + /* BUG IRPF: O IRPF imprime 0 aqui mesmo com doações e poupança. */ + /* fprintf(f, "%013lld", totais_get(dec, "ISENTOSDEP")); */ + fprintf(f, "%013lld", 0); /* isentos dependentes */ + fprintf(f, "%013lld", totais_get(dec, "EXCLUSIVOSDEP")); /* exclusivos dependentes */ fprintf(f, "%-13.13s", ""); /* FILLER */ fprintf(f, "%-13.13s", ""); /* FILLER */ fprintf(f, "%013lld", 0); /* TODO: rendimentos PF */ @@ -270,7 +272,7 @@ static void gera_simples(struct declaracao *dec, FILE *f) fprintf(f, "%013lld", 0); /* TODO: rendimentos PF ext. depend. */ fprintf(f, "%013lld", 0); /* TODO: carnê-leão PF? */ fprintf(f, "%013lld", 0); /* TODO: carnê-leão dependentes */ - fprintf(f, "%013lld", totais_get(dec, "DEPENDENTES")); /* TODO: dedução dependentes */ + fprintf(f, "%013lld", totais_get(dec, "DEPENDENTES")); /* dedução dependentes */ fprintf(f, "%013lld", 0); /* TODO: previdência RRA */ fprintf(f, "%013lld", 0); /* TODO: previdência RRA dependentes */ fprintf(f, "%013lld", 0); /* TODO: pensão RRA */ @@ -314,9 +316,9 @@ static void gera_totais_simples(struct declaracao *dec, FILE *f) fprintf(f, "%013lld", totais_get(dec, "BENSANTERIOR")); /* total bens ano anterior */ fprintf(f, "%013lld", totais_get(dec, "BENS")); /* total bens ano base */ fprintf(f, "%013lld", totais_get(dec, "ISENTOSTIT")); /* rendimentos isentos titular */ - fprintf(f, "%013lld", 0); /* TODO: rendimentos isentos dependentes */ - fprintf(f, "%013lld", totais_get(dec, "EXCLUSIVOSTIT")); /* TODO: tributação exclusiva titular */ - fprintf(f, "%013lld", 0); /* TODO: tributação exclusiva dependentes */ + fprintf(f, "%013lld", totais_get(dec, "ISENTOSDEP")); /* rendimentos isentos dependentes */ + fprintf(f, "%013lld", totais_get(dec, "EXCLUSIVOSTIT")); /* tributação exclusiva titular */ + fprintf(f, "%013lld", totais_get(dec, "EXCLUSIVOSDEP")); /* tributação exclusiva dependentes */ fprintf(f, "%013lld", 0); /* TODO: total não tributável */ fprintf(f, "%013lld", 0); /* TODO: total dívidas ano anterior */ fprintf(f, "%013lld", 0); /* TODO: total dívidas ano base */ @@ -368,7 +370,7 @@ static void gera_completa(struct declaracao *dec, FILE *f) fprintf(f, "%013lld", 0); fprintf(f, "%013lld", totais_get(dec, "DECIMOTERCEIRO")); /* TODO: 13o titular */ fprintf(f, "%013lld", 0); /* TODO: 13o dependente */ - fprintf(f, "%05d", 0); /* TODO: dependentes com instrucao */ + fprintf(f, "%05d", totais_get(dec, "DEPSINSTRUCAO")); /* dependentes com instrucao */ fprintf(f, "%05d", 0); /* TODO: alimentandos com instrucao */ fprintf(f, "%013lld", 0); /* TODO: rendimentos PF titular */ fprintf(f, "%013lld", 0); /* TODO: rendimentos PF dependente */ @@ -400,7 +402,7 @@ static void gera_totais_completa(struct declaracao *dec, FILE *f) /* TODO (2016): somar FUNPRESP acima do limite */ fprintf(f, "%013lld", totais_get(dec, "PREVIDENCIA")); /* previdencia privada */ fprintf(f, "%013lld", totais_get(dec, "DEPENDENTES")); /* deducao dependentes */ - fprintf(f, "%013lld", 0); /* TODO: deducao instrucao */ + fprintf(f, "%013lld", totais_get(dec, "INSTRUCAO")); /* deducao instrucao */ fprintf(f, "%013lld", totais_get(dec, "MEDICAS")); /* despesas medicas */ fprintf(f, "%013lld", 0); /* TODO: pensao */ fprintf(f, "%013lld", 0); /* TODO: pensao escritura publica */ @@ -445,9 +447,9 @@ static void gera_totais_completa(struct declaracao *dec, FILE *f) fprintf(f, "%013lld", 0); /* TODO: imposto moeda estrangeira */ fprintf(f, "%013lld", 0); /* TODO: imposto ganhos capital moeda */ fprintf(f, "%013lld", totais_get(dec, "ISENTOSTIT")); /* rendimentos isentos titular */ - fprintf(f, "%013lld", 0); /* TODO: rendimentos isentos dependentes */ + fprintf(f, "%013lld", totais_get(dec, "ISENTOSDEP")); /* rendimentos isentos dependentes */ fprintf(f, "%013lld", totais_get(dec, "EXCLUSIVOSTIT")); /* TODO: tributação exclusiva titular */ - fprintf(f, "%013lld", 0); /* TODO: tributação exclusiva dependentes */ + fprintf(f, "%013lld", totais_get(dec, "EXCLUSIVOSDEP")); /* tributação exclusiva dependentes */ fprintf(f, "%013lld", 0); /* TODO: doações campanha */ fprintf(f, "%013lld", 0); /* TODO: rendimentos PF exigibilidade suspensa titular */ fprintf(f, "%013lld", 0); /* TODO: rendimentos PF exigibilidade suspensa dependentes */ @@ -477,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 */ @@ -485,7 +487,7 @@ static void gera_isentos(struct declaracao *dec, FILE *f) fprintf(f, "%013lld", 0); /* TODO: pensão por invalidez */ fprintf(f, "%013lld", totais_get(dec, "POUPANCA")); fprintf(f, "%013lld", 0); /* TODO: sócio ou titular de empresa */ - fprintf(f, "%013lld", 0); /* TODO: herança, transferências patrimoniais */ + fprintf(f, "%013lld", totais_get(dec, "DOACOES")); /* herança, transferências patrimoniais */ fprintf(f, "%013lld", 0); /* TODO: outros rendimentos isentos */ fprintf(f, "%-60.60s", ""); /* FILLER1 */ fprintf(f, "%-13.13s", ""); /* FILLER2 */ @@ -696,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); @@ -901,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);