From 8ea9c1613eb66c3e73e8d17139c070dd6de1ab33 Mon Sep 17 00:00:00 2001 From: Adonay Felipe Nogueira Date: Tue, 6 Apr 2021 16:23:05 -0300 Subject: [PATCH] =?utf8?q?Automatiza=20c=C3=B3digo=20Receitanet=20e=20adic?= =?utf8?q?iona=20vers=C3=A3o=20do=20IRPF=202021.?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Como a Receita Federal do Brasil começou a receber declarações a partir do ano de exercício de 1991 (sobre o ano-calendário de 1990) e, considerando que cada ano avança 100 unidades no código Receitanet, tem-se que o ano-exercício de 1991 é representado por 100, e o de 2021 por 3100. Signed-off-by: Adonay Felipe Nogueira Signed-off-by: Thadeu Lima de Souza Cascardo --- lib/gera.c | 33 +++++++++++++++------------------ 1 file changed, 15 insertions(+), 18 deletions(-) diff --git a/lib/gera.c b/lib/gera.c index 2495992..30669fb 100644 --- a/lib/gera.c +++ b/lib/gera.c @@ -42,34 +42,31 @@ static void gera_header(struct declaracao *dec, FILE *f) fprintf(f, "IRPF "); fprintf(f, "%04d", dec->ano); /* Exercício */ fprintf(f, "%04d", dec->ano - 1); /* Ano base */ - if (dec->ano == 2015) - fprintf(f, "2500"); /* Código */ - else if (dec->ano == 2016) - fprintf(f, "2600"); /* Código */ - else if (dec->ano == 2017) - fprintf(f, "2700"); /* Código */ - else if (dec->ano == 2018) - fprintf(f, "2800"); /* Código */ - else if (dec->ano == 2019) - fprintf(f, "2900"); /* Código */ - else if (dec->ano == 2020) - fprintf(f, "3000"); + + /* Código Receitanet */ + fprintf(f, (dec->ano - 1990) * 100); + fprintf(f, "%s", dec->retifica ? "1" : "0"); /* Retificadora */ fprintf(f, "%s", dec->cpf); /* CPF: 11 dígitos */ fprintf(f, " "); /* Filler */ fprintf(f, "1"); /* Tipo NI: Pessoa Física (1) */ + + /* Versão IRPF */ if (dec->ano == 2015) - fprintf(f, "130"); /* Versão IRPF */ + fprintf(f, "130"); else if (dec->ano == 2016) - fprintf(f, "110"); /* Versão IRPF */ + fprintf(f, "110"); else if (dec->ano == 2017) - fprintf(f, "130"); /* Versão IRPF */ + fprintf(f, "130"); else if (dec->ano == 2018) - fprintf(f, "160"); /* Versão IRPF */ + fprintf(f, "160"); else if (dec->ano == 2019) - fprintf(f, "150"); /* Versão IRPF */ + fprintf(f, "150"); else if (dec->ano == 2020) - fprintf(f, "180"); /* Versão IRPF */ + fprintf(f, "180"); + else if (dec->ano == 2021) + fprintf(f, "120"); + fprintf(f, "%-60.60s", dec->nome); fprintf(f, "%-2.2s", dec->contribuinte.uf ?: ""); fprintf(f, "%s", "0000000000"); /* FIXME: hash */ -- 2.20.1