From: Adonay Felipe Nogueira Date: Tue, 6 Apr 2021 19:23:05 +0000 (-0300) Subject: Automatiza código Receitanet e adiciona versão do IRPF 2021. X-Git-Url: http://git.cascardo.eti.br/?p=cascardo%2Fdeclara.git;a=commitdiff_plain;h=8ea9c1613eb66c3e73e8d17139c070dd6de1ab33 Automatiza código Receitanet e adiciona versão do IRPF 2021. 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 --- 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 */