@plasoft/boletos 1.0.31 → 1.0.32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/build/index.mjs CHANGED
@@ -219,7 +219,7 @@ function decompress(input) {
219
219
  // src/banks/ailos/gerarPDF.ts
220
220
  function gerarPDF(_0) {
221
221
  return __async(this, arguments, function* ({ dados }) {
222
- var _a, _b, _c, _d;
222
+ var _a, _b, _c, _d, _e, _f, _g, _h;
223
223
  try {
224
224
  const { generatePDF, dadosPDF } = dados;
225
225
  const codigoBarra2 = yield BwipJs.toBuffer({
@@ -261,19 +261,20 @@ function gerarPDF(_0) {
261
261
  dadosPDF.boleto.quantidade = maskFormat_default.numberToReal(dadosPDF.boleto.quantidade);
262
262
  }
263
263
  const jurosMes = Number(((_a = dadosPDF.beneficiario.dadosBancario) == null ? void 0 : _a.juros) || 0);
264
- if (jurosMes > 0) {
265
- dadosPDF.boleto.instrucao1 = `COBRAR JUROS DE ${jurosMes}% AO M\xCAS, AP\xD3S O VENCIMENTO`;
264
+ const jurosAoDia = jurosMes / 30;
265
+ if (!((_b = dadosPDF.boleto.instrucao1) == null ? void 0 : _b.length) && jurosAoDia > 0) {
266
+ dadosPDF.boleto.instrucao1 = `COBRAR JUROS DE ${jurosAoDia}% AO DIA, AP\xD3S O VENCIMENTO`;
266
267
  }
267
- const descontoVencimento = Number(((_b = dadosPDF.beneficiario.dadosBancario) == null ? void 0 : _b.desconto) || 0);
268
- if (descontoVencimento > 0) {
268
+ const descontoVencimento = Number(((_c = dadosPDF.beneficiario.dadosBancario) == null ? void 0 : _c.desconto) || 0);
269
+ if (!((_d = dadosPDF.boleto.instrucao2) == null ? void 0 : _d.length) && descontoVencimento > 0) {
269
270
  dadosPDF.boleto.instrucao2 = `AT\xC9 O VENCIMENTO, CONCEDER DESCONTO DE ${descontoVencimento}%`;
270
271
  }
271
- const multaAtraso = Number(((_c = dadosPDF.beneficiario.dadosBancario) == null ? void 0 : _c.multa) || 0);
272
- if (multaAtraso > 0) {
272
+ const multaAtraso = Number(((_e = dadosPDF.beneficiario.dadosBancario) == null ? void 0 : _e.multa) || 0);
273
+ if (!((_f = dadosPDF.boleto.instrucao3) == null ? void 0 : _f.length) && multaAtraso > 0) {
273
274
  dadosPDF.boleto.instrucao3 = `MULTA DE ${multaAtraso} %`;
274
275
  }
275
- const protestoDias = Number(((_d = dadosPDF.beneficiario.dadosBancario) == null ? void 0 : _d.protesto) || 0);
276
- if (protestoDias > 0) {
276
+ const protestoDias = Number(((_g = dadosPDF.beneficiario.dadosBancario) == null ? void 0 : _g.protesto) || 0);
277
+ if (!((_h = dadosPDF.boleto.instrucao4) == null ? void 0 : _h.length) && protestoDias > 0) {
277
278
  dadosPDF.boleto.instrucao4 = `PROTESTAR AP\xD3S ${protestoDias} DIAS CORRIDOS DO VENCIMENTO`;
278
279
  }
279
280
  dadosPDF.boleto.valor = maskFormat_default.numberToReal(dadosPDF.boleto.valor);
@@ -628,6 +629,7 @@ var Banco = /* @__PURE__ */ ((Banco2) => {
628
629
  Banco2["BRADESCO"] = "005";
629
630
  Banco2["SICREDI"] = "748";
630
631
  Banco2["SICOOB"] = "756";
632
+ Banco2["BANCO_BRASIL"] = "001";
631
633
  return Banco2;
632
634
  })(Banco || {});
633
635
 
@@ -1220,7 +1222,7 @@ function getDigito3(texto) {
1220
1222
  import BwipJs3 from "bwip-js";
1221
1223
  function gerarPDF3(_0) {
1222
1224
  return __async(this, arguments, function* ({ dados }) {
1223
- var _a, _b, _c, _d;
1225
+ var _a, _b, _c, _d, _e, _f, _g;
1224
1226
  try {
1225
1227
  const { generatePDF, dadosPDF } = dados;
1226
1228
  const codigoBarra2 = yield BwipJs3.toBuffer({
@@ -1261,18 +1263,19 @@ function gerarPDF3(_0) {
1261
1263
  dadosPDF.boleto.quantidade = maskFormat_default.numberToReal(dadosPDF.boleto.quantidade);
1262
1264
  }
1263
1265
  const jurosMes = Number(((_a = dadosPDF.beneficiario.dadosBancario) == null ? void 0 : _a.juros) || 0);
1264
- if (jurosMes > 0) {
1265
- dadosPDF.boleto.instrucao1 = `COBRAR JUROS DE ${jurosMes}% AO M\xCAS, AP\xD3S O VENCIMENTO`;
1266
+ const jurosAoDia = jurosMes > 0 ? jurosMes / 30 : 0;
1267
+ if (!((_b = dadosPDF.boleto.instrucao1) == null ? void 0 : _b.length) && jurosAoDia > 0) {
1268
+ dadosPDF.boleto.instrucao1 = `COBRAR JUROS DE ${jurosAoDia}% AO DIA, AP\xD3S O VENCIMENTO`;
1266
1269
  }
1267
- const descontoVencimento = Number(((_b = dadosPDF.beneficiario.dadosBancario) == null ? void 0 : _b.desconto) || 0);
1268
- if (descontoVencimento > 0) {
1270
+ const descontoVencimento = Number(((_c = dadosPDF.beneficiario.dadosBancario) == null ? void 0 : _c.desconto) || 0);
1271
+ if (!((_d = dadosPDF.boleto.instrucao2) == null ? void 0 : _d.length) && descontoVencimento > 0) {
1269
1272
  dadosPDF.boleto.instrucao2 = `AT\xC9 O VENCIMENTO, CONCEDER DESCONTO DE ${descontoVencimento}%`;
1270
1273
  }
1271
- const multaAtraso = Number(((_c = dadosPDF.beneficiario.dadosBancario) == null ? void 0 : _c.multa) || 0);
1272
- if (multaAtraso > 0) {
1274
+ const multaAtraso = Number(((_e = dadosPDF.beneficiario.dadosBancario) == null ? void 0 : _e.multa) || 0);
1275
+ if (!((_f = dadosPDF.boleto.instrucao3) == null ? void 0 : _f.length) && multaAtraso > 0) {
1273
1276
  dadosPDF.boleto.instrucao3 = `MULTA DE ${multaAtraso} %`;
1274
1277
  }
1275
- const protestoDias = Number(((_d = dadosPDF.beneficiario.dadosBancario) == null ? void 0 : _d.protesto) || 0);
1278
+ const protestoDias = Number(((_g = dadosPDF.beneficiario.dadosBancario) == null ? void 0 : _g.protesto) || 0);
1276
1279
  if (protestoDias > 0) {
1277
1280
  dadosPDF.boleto.instrucao4 = `PROTESTAR AP\xD3S ${protestoDias} DIAS CORRIDOS DO VENCIMENTO`;
1278
1281
  }
@@ -1947,6 +1950,436 @@ var sicoob = {
1947
1950
  gerarPDF: gerarPDF4
1948
1951
  };
1949
1952
 
1953
+ // src/banks/banco-brasil/gerarDadosBoleto.ts
1954
+ function gerarDadosBoleto5({ dados }) {
1955
+ try {
1956
+ const {
1957
+ bancario,
1958
+ parcela
1959
+ } = dados;
1960
+ parcela.valor = Number(parcela.valor);
1961
+ const fatorVencimento = getFatorVencimento(parcela.vencimento);
1962
+ const valor = getValor5(parcela.valor);
1963
+ const convenio = padLeft(bancario.convenio, 6);
1964
+ const numeroDocumento = padLeft(`${parcela.id_boleto}2`, 5);
1965
+ const nossoNumero = getNossoNumero3(`${convenio}${numeroDocumento}`);
1966
+ const campoLivre = copy(nossoNumero, 1, 11) + padLeft(bancario.agencia, 4) + padLeft(`${bancario.numero}${bancario.numero_dv}`, 8) + padLeft(bancario.carteira, 2);
1967
+ const digitoGeral = getDigitoGeral5(`0019${fatorVencimento}${valor}${campoLivre}`);
1968
+ const codigoBarra2 = `0019${digitoGeral}${fatorVencimento}${valor}${campoLivre}`;
1969
+ const campo1 = copy(codigoBarra2, 1, 3) + copy(codigoBarra2, 4, 4) + copy(codigoBarra2, 20, 24);
1970
+ const campo2 = copy(codigoBarra2, 25, 34);
1971
+ const campo3 = copy(codigoBarra2, 35, 44);
1972
+ const campo4 = copy(codigoBarra2, 5, 5);
1973
+ const campo5 = copy(codigoBarra2, 6, 9) + copy(codigoBarra2, 10, 19);
1974
+ const digito1 = getDigito5(campo1);
1975
+ const digito2 = getDigito5(campo2);
1976
+ const digito3 = getDigito5(campo3);
1977
+ const linhaDigitavel = campo1 + digito1 + campo2 + digito2 + campo3 + digito3 + campo4 + campo5;
1978
+ const dadosBoleto = {
1979
+ linhaDigitavel,
1980
+ fatorVencimento,
1981
+ valor,
1982
+ convenio,
1983
+ nossoNumero,
1984
+ campoLivre,
1985
+ digitoGeral,
1986
+ codigoBarra: codigoBarra2,
1987
+ numeroDocumento
1988
+ };
1989
+ return dadosBoleto;
1990
+ } catch (error) {
1991
+ console.log("Falha ao gerar dados do boleto", error);
1992
+ return null;
1993
+ }
1994
+ }
1995
+ function getValor5(valor) {
1996
+ const valorFormatado = valor.toFixed(2).replace(/\D/g, "");
1997
+ return padLeft(valorFormatado, 10);
1998
+ }
1999
+ function getNossoNumero3(auxiliar) {
2000
+ let i = 11, j = 10, soma = 0;
2001
+ while (i >= 1) {
2002
+ j--;
2003
+ if (j === 1)
2004
+ j = 9;
2005
+ const numero = Number(copy(auxiliar, i, i));
2006
+ soma += j * numero;
2007
+ i--;
2008
+ }
2009
+ const resto = soma % 11;
2010
+ const digito = resto < 10 ? String(resto) : "X";
2011
+ const nosso_numero = auxiliar + digito;
2012
+ return nosso_numero;
2013
+ }
2014
+ function getDigitoGeral5(texto) {
2015
+ let i = 43;
2016
+ let j = 1;
2017
+ let soma = 0;
2018
+ while (i >= 1) {
2019
+ j++;
2020
+ if (j === 10)
2021
+ j = 2;
2022
+ const valor = Number(copy(texto, i, i));
2023
+ soma += j * valor;
2024
+ i--;
2025
+ }
2026
+ const resto = soma % 11;
2027
+ let digito = 11 - resto;
2028
+ if (digito === 0 || digito > 9)
2029
+ digito = 1;
2030
+ return String(digito);
2031
+ }
2032
+ function getDigito5(texto) {
2033
+ let i = texto.length;
2034
+ let j = 1;
2035
+ let total = 0;
2036
+ let soma = 0;
2037
+ let digito = 0;
2038
+ while (i >= 1) {
2039
+ j = j === 1 ? 2 : 1;
2040
+ let valor = Number(copy(texto, i, i));
2041
+ total = valor * j;
2042
+ if (total >= 10) {
2043
+ valor = Number(copy(total, 1, 1)) + Number(copy(total, 2, 2));
2044
+ } else {
2045
+ valor = total;
2046
+ }
2047
+ soma += valor;
2048
+ i--;
2049
+ }
2050
+ const uni = Number(copy(soma, String(soma).length, String(soma).length));
2051
+ digito = 10 - uni;
2052
+ if (digito === 10)
2053
+ digito = 0;
2054
+ return String(digito);
2055
+ }
2056
+
2057
+ // src/banks/banco-brasil/gerarPDF.ts
2058
+ import BwipJs5 from "bwip-js";
2059
+ function gerarPDF5(_0) {
2060
+ return __async(this, arguments, function* ({ dados }) {
2061
+ var _a, _b, _c, _d, _e, _f, _g, _h;
2062
+ try {
2063
+ const { dadosPDF } = dados;
2064
+ const codigoBarra2 = yield BwipJs5.toBuffer({
2065
+ bcid: "interleaved2of5",
2066
+ text: dadosPDF.boleto.codigoBarra,
2067
+ height: 20
2068
+ });
2069
+ dadosPDF.beneficiario.dadosBancario.agencia = dadosPDF.beneficiario.dadosBancario.agencia.padStart(4, "0");
2070
+ dadosPDF.beneficiario.dadosBancario.conta = dadosPDF.beneficiario.dadosBancario.conta.padStart(7, "0");
2071
+ dadosPDF.boleto.linhaDigitavel = maskFormat_default.codigoBarra(dadosPDF.boleto.linhaDigitavel);
2072
+ dadosPDF.boleto.codigoBarraImage = codigoBarra2.toString("base64");
2073
+ dadosPDF.beneficiario.cnpj = maskFormat_default.retornaCpfCnpjFormatado(
2074
+ dadosPDF.beneficiario.cnpj
2075
+ );
2076
+ dadosPDF.beneficiario.endereco.cep = maskFormat_default.retornaCEPFormatado(
2077
+ dadosPDF.beneficiario.endereco.cep
2078
+ );
2079
+ dadosPDF.pagador.endereco.cep = maskFormat_default.retornaCEPFormatado(
2080
+ dadosPDF.pagador.endereco.cep
2081
+ );
2082
+ dadosPDF.pagador.cnpj = maskFormat_default.retornaCpfCnpjFormatado(dadosPDF.pagador.cnpj);
2083
+ dadosPDF.boleto.valorAcrescimo = maskFormat_default.numberToReal(
2084
+ dadosPDF.boleto.valorAcrescimo
2085
+ );
2086
+ dadosPDF.boleto.valorCobrado = maskFormat_default.numberToReal(
2087
+ dadosPDF.boleto.valorCobrado
2088
+ );
2089
+ dadosPDF.boleto.valorDescontoAbatimento = maskFormat_default.numberToReal(
2090
+ dadosPDF.boleto.valorDescontoAbatimento
2091
+ );
2092
+ dadosPDF.boleto.valorDocumento = maskFormat_default.numberToReal(
2093
+ dadosPDF.boleto.valorDocumento
2094
+ );
2095
+ dadosPDF.boleto.valorMulta = maskFormat_default.numberToReal(dadosPDF.boleto.valorMulta);
2096
+ dadosPDF.boleto.valorOutrasDeducoes = maskFormat_default.numberToReal(
2097
+ dadosPDF.boleto.valorOutrasDeducoes
2098
+ );
2099
+ if (dadosPDF.boleto.quantidade) {
2100
+ dadosPDF.boleto.quantidade = maskFormat_default.numberToReal(dadosPDF.boleto.quantidade);
2101
+ }
2102
+ const jurosMes = Number(((_a = dadosPDF.beneficiario.dadosBancario) == null ? void 0 : _a.juros) || 0);
2103
+ const jurosAoDia = jurosMes / 30;
2104
+ if (!((_b = dadosPDF.boleto.instrucao1) == null ? void 0 : _b.length) && jurosAoDia > 0) {
2105
+ dadosPDF.boleto.instrucao1 = `COBRAR JUROS DE ${jurosMes}% AO DIA, AP\xD3S O VENCIMENTO`;
2106
+ }
2107
+ const descontoVencimento = Number(((_c = dadosPDF.beneficiario.dadosBancario) == null ? void 0 : _c.desconto) || 0);
2108
+ if (!((_d = dadosPDF.boleto.instrucao2) == null ? void 0 : _d.length) && descontoVencimento > 0) {
2109
+ dadosPDF.boleto.instrucao2 = `AT\xC9 O VENCIMENTO, CONCEDER DESCONTO DE ${descontoVencimento}%`;
2110
+ }
2111
+ const multaAtraso = Number(((_e = dadosPDF.beneficiario.dadosBancario) == null ? void 0 : _e.multa) || 0);
2112
+ if (!((_f = dadosPDF.boleto.instrucao3) == null ? void 0 : _f.length) && multaAtraso > 0) {
2113
+ dadosPDF.boleto.instrucao3 = `MULTA DE ${multaAtraso} %`;
2114
+ }
2115
+ const protestoDias = Number(((_g = dadosPDF.beneficiario.dadosBancario) == null ? void 0 : _g.protesto) || 0);
2116
+ if (!((_h = dadosPDF.boleto.instrucao4) == null ? void 0 : _h.length) && protestoDias > 0) {
2117
+ dadosPDF.boleto.instrucao4 = `PROTESTAR AP\xD3S ${protestoDias} DIAS CORRIDOS DO VENCIMENTO`;
2118
+ }
2119
+ dadosPDF.boleto.valor = maskFormat_default.numberToReal(dadosPDF.boleto.valor);
2120
+ const content = compileHbs(getPathTemplates("banco-brasil-boleto.hbs"), dadosPDF);
2121
+ const config = {
2122
+ displayHeaderFooter: false,
2123
+ path: "./boleto.pdf",
2124
+ format: "a4",
2125
+ printBackground: true
2126
+ };
2127
+ let pdfBase64 = null;
2128
+ if (!api.defaults.baseURL) {
2129
+ throw new Error("BaseURL api not found");
2130
+ }
2131
+ const response = yield api.post("/", { content, config });
2132
+ const buffer = Buffer.from(response.data.pdf);
2133
+ pdfBase64 = yield decompress(buffer);
2134
+ return {
2135
+ erro: false,
2136
+ dados: pdfBase64
2137
+ };
2138
+ } catch (error) {
2139
+ console.log(error);
2140
+ return {
2141
+ erro: true,
2142
+ dados: null
2143
+ };
2144
+ }
2145
+ });
2146
+ }
2147
+
2148
+ // src/banks/banco-brasil/gerarRemessa.ts
2149
+ import { addDays as addDays4, format as format5 } from "date-fns";
2150
+ function gerarRemessa5({ dados }) {
2151
+ try {
2152
+ const { dadosBancario, beneficiario, boletos } = dados.remessa;
2153
+ const arquivo = new Arquivo();
2154
+ const dataAtual = /* @__PURE__ */ new Date();
2155
+ const data = format5(dataAtual, "ddMMyyyy");
2156
+ const hora = format5(dataAtual, "HHmmss");
2157
+ const convenio = dadosBancario.convenio.padStart(7, "0");
2158
+ const numero = dadosBancario.conta.padStart(7, "0") + dadosBancario.contaDigito;
2159
+ const remessa2 = `REM${convenio}-${numero}-${data}.REM`;
2160
+ arquivo.add("085");
2161
+ arquivo.add("0000");
2162
+ arquivo.add("0");
2163
+ arquivo.add(" ");
2164
+ arquivo.add("2");
2165
+ arquivo.add(beneficiario.cnpj);
2166
+ arquivo.add(dadosBancario.convenio.padEnd(20, " "));
2167
+ arquivo.add(dadosBancario.agencia.padStart(5, "0"));
2168
+ arquivo.add(dadosBancario.agenciaDigito);
2169
+ arquivo.add(dadosBancario.conta.padStart(12, "0"));
2170
+ arquivo.add(dadosBancario.contaDigito);
2171
+ arquivo.add(" ");
2172
+ arquivo.add(removerAcentos(beneficiario.nome).substring(0, 30).padEnd(30, " "));
2173
+ arquivo.add("AILOS".padEnd(30, " "));
2174
+ arquivo.add(" ");
2175
+ arquivo.add("1");
2176
+ arquivo.add(data);
2177
+ arquivo.add(hora);
2178
+ arquivo.add(dadosBancario.numeroRemessa.padStart(6, "0"));
2179
+ arquivo.add("087");
2180
+ arquivo.add("00000");
2181
+ arquivo.add(" ".padEnd(20, " "));
2182
+ arquivo.add(" ".padEnd(20, " "));
2183
+ arquivo.add(" ".padEnd(29, " "));
2184
+ arquivo.addLine();
2185
+ arquivo.add("085");
2186
+ arquivo.add("0001");
2187
+ arquivo.add("1");
2188
+ arquivo.add("R");
2189
+ arquivo.add("01");
2190
+ arquivo.add(" ");
2191
+ arquivo.add("045");
2192
+ arquivo.add(" ");
2193
+ arquivo.add("2");
2194
+ arquivo.add(beneficiario.cnpj.padStart(15, "0"));
2195
+ arquivo.add(dadosBancario.convenio.padEnd(20, " "));
2196
+ arquivo.add(dadosBancario.agencia.padStart(5, "0"));
2197
+ arquivo.add(dadosBancario.agenciaDigito);
2198
+ arquivo.add(dadosBancario.conta.padStart(12, "0"));
2199
+ arquivo.add(dadosBancario.contaDigito);
2200
+ arquivo.add(" ");
2201
+ arquivo.add(removerAcentos(beneficiario.nome).substring(0, 30).padEnd(30, " "));
2202
+ arquivo.add(" ".padEnd(40, " "));
2203
+ arquivo.add(" ".padEnd(40, " "));
2204
+ arquivo.add(dadosBancario.numeroRemessa.padStart(8, "0"));
2205
+ arquivo.add(data);
2206
+ arquivo.add("00000000");
2207
+ arquivo.add(" ".padEnd(33, " "));
2208
+ arquivo.addLine();
2209
+ let sequencia = 0;
2210
+ let quantidadeRegistro = 0;
2211
+ let total = 0;
2212
+ for (const boleto of boletos) {
2213
+ const { pagador } = boleto;
2214
+ const vencimento = format5(new Date(boleto.vencimento), "ddMMyyyy");
2215
+ total += Number(boleto.valor);
2216
+ const codigoJuro = dadosBancario.jurosMes > 0 ? "2" : "3";
2217
+ const juros = dadosBancario.jurosMes > 0 ? dadosBancario.jurosMes.toFixed(2) : "000000000000000";
2218
+ const jurosVencimento = format5(
2219
+ addDays4(new Date(boleto.vencimento), 1),
2220
+ "ddMMyyyy"
2221
+ );
2222
+ const codigoDesconto = dadosBancario.descontoPagamento > 0 ? "2" : "0";
2223
+ const desconto = dadosBancario.descontoPagamento > 0 ? dadosBancario.descontoPagamento.toFixed(2) : "000000000000000";
2224
+ const protesto = dadosBancario.diasProtesto > 0 ? "1" : "3";
2225
+ const diasProtesto = protesto === "1" ? dadosBancario.diasProtesto.toString() : "00";
2226
+ arquivo.add("085");
2227
+ arquivo.add("0001");
2228
+ arquivo.add("3");
2229
+ arquivo.add((++sequencia).toString().padStart(5, "0"));
2230
+ arquivo.add("P");
2231
+ arquivo.add(" ");
2232
+ arquivo.add("01");
2233
+ arquivo.add(dadosBancario.agencia.padStart(5, "0"));
2234
+ arquivo.add(dadosBancario.agenciaDigito);
2235
+ arquivo.add(dadosBancario.conta.padStart(12, "0"));
2236
+ arquivo.add(dadosBancario.contaDigito);
2237
+ arquivo.add(" ");
2238
+ arquivo.add(boleto.nossoNumero.padEnd(20, " "));
2239
+ arquivo.add("1");
2240
+ arquivo.add("1");
2241
+ arquivo.add("1");
2242
+ arquivo.add("2");
2243
+ arquivo.add("2");
2244
+ arquivo.add(`${boleto.numeroDocumento}/${boleto.parcela}`.padEnd(15, " "));
2245
+ arquivo.add(vencimento);
2246
+ arquivo.add(
2247
+ Number(boleto.valor).toFixed(2).replace(".", "").padStart(15, "0")
2248
+ );
2249
+ arquivo.add(dadosBancario.agencia.padStart(5, "0"));
2250
+ arquivo.add(dadosBancario.agenciaDigito);
2251
+ arquivo.add("02");
2252
+ arquivo.add("A");
2253
+ arquivo.add(data);
2254
+ arquivo.add(codigoJuro);
2255
+ arquivo.add(jurosVencimento);
2256
+ arquivo.add(juros.replace(".", "").padStart(15, "0"));
2257
+ arquivo.add(codigoDesconto);
2258
+ arquivo.add(vencimento);
2259
+ arquivo.add(desconto.replace(".", "").padStart(15, "0"));
2260
+ arquivo.add("000000000000000");
2261
+ arquivo.add("000000000000000");
2262
+ arquivo.add(boleto.identificacaoTitulo.padEnd(25, " "));
2263
+ arquivo.add(protesto);
2264
+ arquivo.add(diasProtesto.padStart(1, "0"));
2265
+ arquivo.add("2");
2266
+ arquivo.add(" ");
2267
+ arquivo.add("09");
2268
+ arquivo.add("0000000000");
2269
+ arquivo.add(" ");
2270
+ arquivo.addLine();
2271
+ let tipoInscricao = "1";
2272
+ if (pagador.pessoa === "F") {
2273
+ tipoInscricao = "1";
2274
+ } else {
2275
+ tipoInscricao = "2";
2276
+ }
2277
+ pagador.endereco.logradouro = `${removerAcentos(pagador.endereco.logradouro).substring(0, 32).padEnd(32, " ")}${pagador.endereco.numero.padEnd(8, " ")}`;
2278
+ arquivo.add("085");
2279
+ arquivo.add("0001");
2280
+ arquivo.add("3");
2281
+ arquivo.add((++sequencia).toString().padStart(5, "0"));
2282
+ arquivo.add("Q");
2283
+ arquivo.add(" ");
2284
+ arquivo.add("01");
2285
+ arquivo.add(tipoInscricao);
2286
+ arquivo.add(pagador.cpfCnpj.padStart(15, "0"));
2287
+ arquivo.add(removerAcentos(pagador.nome).substring(0, 40).padEnd(40, " "));
2288
+ arquivo.add(removerAcentos(pagador.endereco.logradouro).substring(0, 40).padEnd(40, " "));
2289
+ arquivo.add(removerAcentos(pagador.endereco.bairro).substring(0, 15).padEnd(15, " "));
2290
+ arquivo.add(pagador.endereco.cep.substring(0, 5).padStart(5, "0"));
2291
+ arquivo.add(pagador.endereco.cep.substring(5, 7).padStart(3, "0"));
2292
+ arquivo.add(removerAcentos(pagador.endereco.municipio).substring(0, 15).padEnd(15, " "));
2293
+ arquivo.add(removerAcentos(pagador.endereco.uf).padEnd(2, " "));
2294
+ arquivo.add("0");
2295
+ arquivo.add("000000000000000");
2296
+ arquivo.add(" ".padEnd(40, " "));
2297
+ arquivo.add("000");
2298
+ arquivo.add(" ".padEnd(20, " "));
2299
+ arquivo.add(" ".padEnd(8, " "));
2300
+ arquivo.addLine();
2301
+ dadosBancario.multaAtraso = Number(dadosBancario.multaAtraso || 0);
2302
+ if (dadosBancario.multaAtraso > 0) {
2303
+ const multa = dadosBancario.multaAtraso.toFixed(2);
2304
+ arquivo.add("085");
2305
+ arquivo.add("0001");
2306
+ arquivo.add("3");
2307
+ arquivo.add((++sequencia).toString().padStart(5, "0"));
2308
+ arquivo.add("R");
2309
+ arquivo.add(" ");
2310
+ arquivo.add("01");
2311
+ arquivo.add("0");
2312
+ arquivo.add("00000000");
2313
+ arquivo.add("000000000000000");
2314
+ arquivo.add("0");
2315
+ arquivo.add("00000000");
2316
+ arquivo.add("000000000000000");
2317
+ arquivo.add("2");
2318
+ arquivo.add(vencimento);
2319
+ arquivo.add(multa.replace(".", "").padStart(15, "0"));
2320
+ arquivo.add(" ".padEnd(10, " "));
2321
+ arquivo.add(" ".padEnd(40, " "));
2322
+ arquivo.add(" ".padEnd(40, " "));
2323
+ arquivo.add(" ".padEnd(20, " "));
2324
+ arquivo.add("00000000");
2325
+ arquivo.add("000");
2326
+ arquivo.add("00000");
2327
+ arquivo.add(" ");
2328
+ arquivo.add("000000000000");
2329
+ arquivo.add(" ");
2330
+ arquivo.add(" ");
2331
+ arquivo.add("0");
2332
+ arquivo.add("000000000");
2333
+ arquivo.addLine();
2334
+ }
2335
+ quantidadeRegistro++;
2336
+ }
2337
+ arquivo.add("085");
2338
+ arquivo.add("0001");
2339
+ arquivo.add("5");
2340
+ arquivo.add(" ".padEnd(9, " "));
2341
+ arquivo.add((sequencia + 3).toString().padStart(6, "0"));
2342
+ arquivo.add(quantidadeRegistro.toString().padStart(6, "0"));
2343
+ arquivo.add(total.toFixed(2).replace(".", "").padStart(17, "0"));
2344
+ arquivo.add("0".padStart(6, "0"));
2345
+ arquivo.add("0".padStart(17, "0"));
2346
+ arquivo.add("0".padStart(6, "0"));
2347
+ arquivo.add("0".padStart(17, "0"));
2348
+ arquivo.add("0".padStart(6, "0"));
2349
+ arquivo.add("0".padStart(17, "0"));
2350
+ arquivo.add(" ".padStart(8, " "));
2351
+ arquivo.add(" ".padStart(117, " "));
2352
+ arquivo.addLine();
2353
+ arquivo.add("085");
2354
+ arquivo.add("9999");
2355
+ arquivo.add("9");
2356
+ arquivo.add(" ".padEnd(9, " "));
2357
+ arquivo.add("000001");
2358
+ arquivo.add((sequencia + 4).toString().padStart(6, "0"));
2359
+ arquivo.add("000000");
2360
+ arquivo.add(" ".padEnd(205, " "));
2361
+ return {
2362
+ download: remessa2,
2363
+ arquivo: arquivo.getArquivo()
2364
+ };
2365
+ } catch (error) {
2366
+ console.log(error);
2367
+ return null;
2368
+ }
2369
+ }
2370
+
2371
+ // src/banks/banco-brasil/gerarRetorno.ts
2372
+ function gerarRetorno4() {
2373
+ }
2374
+
2375
+ // src/banks/banco-brasil/index.ts
2376
+ var bancoBrasil = {
2377
+ gerarDadosBoleto: gerarDadosBoleto5,
2378
+ gerarPDF: gerarPDF5,
2379
+ gerarRemessa: gerarRemessa5,
2380
+ gerarRetorno: gerarRetorno4
2381
+ };
2382
+
1950
2383
  // src/gerar.ts
1951
2384
  function gerar({ banco, dados }) {
1952
2385
  if (banco === "085" /* AILOS */) {
@@ -1961,6 +2394,9 @@ function gerar({ banco, dados }) {
1961
2394
  if (banco === "756" /* SICOOB */) {
1962
2395
  return sicoob.gerarDadosBoleto({ banco, dados });
1963
2396
  }
2397
+ if (banco === "001" /* BANCO_BRASIL */) {
2398
+ return bancoBrasil.gerarDadosBoleto({ banco, dados });
2399
+ }
1964
2400
  }
1965
2401
 
1966
2402
  // src/pdf.ts
@@ -1977,6 +2413,9 @@ function pdf({ banco, dados }) {
1977
2413
  if (banco === "756" /* SICOOB */) {
1978
2414
  return sicoob.gerarPDF({ banco, dados });
1979
2415
  }
2416
+ if (banco === "001" /* BANCO_BRASIL */) {
2417
+ return bancoBrasil.gerarPDF({ banco, dados });
2418
+ }
1980
2419
  }
1981
2420
 
1982
2421
  // src/remessa.ts
@@ -1993,6 +2432,9 @@ function remessa({ banco, dados }) {
1993
2432
  if (banco === "756" /* SICOOB */) {
1994
2433
  return sicoob.gerarRemessa({ banco, dados });
1995
2434
  }
2435
+ if (banco === "001" /* BANCO_BRASIL */) {
2436
+ return bancoBrasil.gerarRemessa({ banco, dados });
2437
+ }
1996
2438
  }
1997
2439
 
1998
2440
  // src/retorno.ts