Suporta NIT, exigido a partir de 2017
[cascardo/declara.git] / lib / gera.c
index 6cf116e..c4bc17f 100644 (file)
@@ -105,19 +105,23 @@ static void gera_header(struct declaracao *dec, FILE *f)
        fprintf(f, "%-14.14s", rendimento_cnpj_ordenado(dec, 1)); /* CNPJ maior 2 */
        fprintf(f, "%-14.14s", rendimento_cnpj_ordenado(dec, 2)); /* CNPJ maior 3 */
        fprintf(f, "%-14.14s", rendimento_cnpj_ordenado(dec, 3)); /* CNPJ maior 4 */
-       /* CPF e DN de dependentes 1 a 6 */
-       for (i = 1; i <= 6; i++) {
-               struct dependente *dependente = list_get(dec->dependentes, i - 1);
-               if (dependente && dependente->cpf && dependente->cpf[0]) {
-                       fprintf(f, "%-11.11s", dependente->cpf);
-               } else {
-                       fprintf(f, "%-11.11s", "");
-               }
-               if (dependente && dependente->dn && dependente->dn[0]) {
-                       fprintf(f, "%-8.8s", dependente->dn);
-               } else {
-                       fprintf(f, "%-8.8s", "");
+       if (dec->ano < 2017) {
+               /* CPF e DN de dependentes 1 a 6 */
+               for (i = 1; i <= 6; i++) {
+                       struct dependente *dependente = list_get(dec->dependentes, i - 1);
+                       if (dependente && dependente->cpf && dependente->cpf[0]) {
+                               fprintf(f, "%-11.11s", dependente->cpf);
+                       } else {
+                               fprintf(f, "%-11.11s", "");
+                       }
+                       if (dependente && dependente->dn && dependente->dn[0]) {
+                               fprintf(f, "%-8.8s", dependente->dn);
+                       } else {
+                               fprintf(f, "%-8.8s", "");
+                       }
                }
+       } else {
+               fprintf(f, "%-114.114s", "");
        }
        /* medico maior, TODO: outros códigos */
        fprintf(f, "%-14.14s", medico_cnpj_ordenado(dec, 0));
@@ -219,7 +223,7 @@ static void gera_contribuinte(struct declaracao *dec, FILE *f)
        } else if (dec->ano >= 2016) {
                fprintf(f, "%-90.90s", ""); /* FILLER3 */
                /* TODO: NIT/PIS/PASEP de Pessoa Física no exterior */
-               fprintf(f, "%-11.11s", "");
+               fprintf(f, "%-11.11s", dec->contribuinte.nit ?: "");
                /* CPF do cônjuge */
                fprintf(f, "%-11.11s", dec->conjuge.cpf ?: "");
        }