@plasoft/boletos 1.0.31 → 1.0.33

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.js CHANGED
@@ -256,7 +256,6 @@ function decompress(input) {
256
256
  // src/banks/ailos/gerarPDF.ts
257
257
  function gerarPDF(_0) {
258
258
  return __async(this, arguments, function* ({ dados }) {
259
- var _a, _b, _c, _d;
260
259
  try {
261
260
  const { generatePDF, dadosPDF } = dados;
262
261
  const codigoBarra2 = yield import_bwip_js.default.toBuffer({
@@ -287,6 +286,7 @@ function gerarPDF(_0) {
287
286
  dadosPDF.boleto.valorDescontoAbatimento = maskFormat_default.numberToReal(
288
287
  dadosPDF.boleto.valorDescontoAbatimento
289
288
  );
289
+ const valorDocumento = Number(dadosPDF.boleto.valorDocumento);
290
290
  dadosPDF.boleto.valorDocumento = maskFormat_default.numberToReal(
291
291
  dadosPDF.boleto.valorDocumento
292
292
  );
@@ -297,19 +297,20 @@ function gerarPDF(_0) {
297
297
  if (dadosPDF.boleto.quantidade) {
298
298
  dadosPDF.boleto.quantidade = maskFormat_default.numberToReal(dadosPDF.boleto.quantidade);
299
299
  }
300
- const jurosMes = Number(((_a = dadosPDF.beneficiario.dadosBancario) == null ? void 0 : _a.juros) || 0);
301
- if (jurosMes > 0) {
302
- dadosPDF.boleto.instrucao1 = `COBRAR JUROS DE ${jurosMes}% AO M\xCAS, AP\xD3S O VENCIMENTO`;
300
+ const jurosMes = dadosPDF.beneficiario.dadosBancario.juros;
301
+ const jurosDia = jurosMes / 100 / 30 * valorDocumento;
302
+ if (jurosDia > 0) {
303
+ dadosPDF.boleto.instrucao1 = `COBRAR JUROS DE R$${maskFormat_default.numberToReal(jurosDia)} AO DIA, AP\xD3S O VENCIMENTO`;
303
304
  }
304
- const descontoVencimento = Number(((_b = dadosPDF.beneficiario.dadosBancario) == null ? void 0 : _b.desconto) || 0);
305
+ const descontoVencimento = dadosPDF.beneficiario.dadosBancario.desconto || 0;
305
306
  if (descontoVencimento > 0) {
306
307
  dadosPDF.boleto.instrucao2 = `AT\xC9 O VENCIMENTO, CONCEDER DESCONTO DE ${descontoVencimento}%`;
307
308
  }
308
- const multaAtraso = Number(((_c = dadosPDF.beneficiario.dadosBancario) == null ? void 0 : _c.multa) || 0);
309
+ const multaAtraso = dadosPDF.beneficiario.dadosBancario.multa || 0;
309
310
  if (multaAtraso > 0) {
310
- dadosPDF.boleto.instrucao3 = `MULTA DE ${multaAtraso} %`;
311
+ dadosPDF.boleto.instrucao3 = `MULTA DE ${multaAtraso}%`;
311
312
  }
312
- const protestoDias = Number(((_d = dadosPDF.beneficiario.dadosBancario) == null ? void 0 : _d.protesto) || 0);
313
+ const protestoDias = dadosPDF.beneficiario.dadosBancario.protesto || 0;
313
314
  if (protestoDias > 0) {
314
315
  dadosPDF.boleto.instrucao4 = `PROTESTAR AP\xD3S ${protestoDias} DIAS CORRIDOS DO VENCIMENTO`;
315
316
  }
@@ -665,6 +666,7 @@ var Banco = /* @__PURE__ */ ((Banco2) => {
665
666
  Banco2["BRADESCO"] = "005";
666
667
  Banco2["SICREDI"] = "748";
667
668
  Banco2["SICOOB"] = "756";
669
+ Banco2["BANCO_BRASIL"] = "001";
668
670
  return Banco2;
669
671
  })(Banco || {});
670
672
 
@@ -1257,7 +1259,6 @@ function getDigito3(texto) {
1257
1259
  var import_bwip_js3 = __toESM(require("bwip-js"));
1258
1260
  function gerarPDF3(_0) {
1259
1261
  return __async(this, arguments, function* ({ dados }) {
1260
- var _a, _b, _c, _d;
1261
1262
  try {
1262
1263
  const { generatePDF, dadosPDF } = dados;
1263
1264
  const codigoBarra2 = yield import_bwip_js3.default.toBuffer({
@@ -1287,6 +1288,7 @@ function gerarPDF3(_0) {
1287
1288
  dadosPDF.boleto.valorDescontoAbatimento = maskFormat_default.numberToReal(
1288
1289
  dadosPDF.boleto.valorDescontoAbatimento
1289
1290
  );
1291
+ const valorDocumento = Number(dadosPDF.boleto.valorDocumento);
1290
1292
  dadosPDF.boleto.valorDocumento = maskFormat_default.numberToReal(
1291
1293
  dadosPDF.boleto.valorDocumento
1292
1294
  );
@@ -1297,19 +1299,20 @@ function gerarPDF3(_0) {
1297
1299
  if (dadosPDF.boleto.quantidade) {
1298
1300
  dadosPDF.boleto.quantidade = maskFormat_default.numberToReal(dadosPDF.boleto.quantidade);
1299
1301
  }
1300
- const jurosMes = Number(((_a = dadosPDF.beneficiario.dadosBancario) == null ? void 0 : _a.juros) || 0);
1301
- if (jurosMes > 0) {
1302
- dadosPDF.boleto.instrucao1 = `COBRAR JUROS DE ${jurosMes}% AO M\xCAS, AP\xD3S O VENCIMENTO`;
1302
+ const jurosMes = dadosPDF.beneficiario.dadosBancario.juros;
1303
+ const jurosDia = jurosMes / 100 / 30 * valorDocumento;
1304
+ if (jurosDia > 0) {
1305
+ dadosPDF.boleto.instrucao1 = `COBRAR JUROS DE R$${maskFormat_default.numberToReal(jurosDia)} AO DIA, AP\xD3S O VENCIMENTO`;
1303
1306
  }
1304
- const descontoVencimento = Number(((_b = dadosPDF.beneficiario.dadosBancario) == null ? void 0 : _b.desconto) || 0);
1307
+ const descontoVencimento = dadosPDF.beneficiario.dadosBancario.desconto || 0;
1305
1308
  if (descontoVencimento > 0) {
1306
1309
  dadosPDF.boleto.instrucao2 = `AT\xC9 O VENCIMENTO, CONCEDER DESCONTO DE ${descontoVencimento}%`;
1307
1310
  }
1308
- const multaAtraso = Number(((_c = dadosPDF.beneficiario.dadosBancario) == null ? void 0 : _c.multa) || 0);
1311
+ const multaAtraso = dadosPDF.beneficiario.dadosBancario.multa || 0;
1309
1312
  if (multaAtraso > 0) {
1310
- dadosPDF.boleto.instrucao3 = `MULTA DE ${multaAtraso} %`;
1313
+ dadosPDF.boleto.instrucao3 = `MULTA DE ${multaAtraso}%`;
1311
1314
  }
1312
- const protestoDias = Number(((_d = dadosPDF.beneficiario.dadosBancario) == null ? void 0 : _d.protesto) || 0);
1315
+ const protestoDias = dadosPDF.beneficiario.dadosBancario.protesto || 0;
1313
1316
  if (protestoDias > 0) {
1314
1317
  dadosPDF.boleto.instrucao4 = `PROTESTAR AP\xD3S ${protestoDias} DIAS CORRIDOS DO VENCIMENTO`;
1315
1318
  }
@@ -1984,6 +1987,436 @@ var sicoob = {
1984
1987
  gerarPDF: gerarPDF4
1985
1988
  };
1986
1989
 
1990
+ // src/banks/banco-brasil/gerarDadosBoleto.ts
1991
+ function gerarDadosBoleto5({ dados }) {
1992
+ try {
1993
+ const {
1994
+ bancario,
1995
+ parcela
1996
+ } = dados;
1997
+ parcela.valor = Number(parcela.valor);
1998
+ const fatorVencimento = getFatorVencimento(parcela.vencimento);
1999
+ const valor = getValor5(parcela.valor);
2000
+ const convenio = padLeft(bancario.convenio, 6);
2001
+ const numeroDocumento = padLeft(`${parcela.id_boleto}2`, 5);
2002
+ const nossoNumero = getNossoNumero3(`${convenio}${numeroDocumento}`);
2003
+ const campoLivre = copy(nossoNumero, 1, 11) + padLeft(bancario.agencia, 4) + padLeft(`${bancario.numero}${bancario.numero_dv}`, 8) + padLeft(bancario.carteira, 2);
2004
+ const digitoGeral = getDigitoGeral5(`0019${fatorVencimento}${valor}${campoLivre}`);
2005
+ const codigoBarra2 = `0019${digitoGeral}${fatorVencimento}${valor}${campoLivre}`;
2006
+ const campo1 = copy(codigoBarra2, 1, 3) + copy(codigoBarra2, 4, 4) + copy(codigoBarra2, 20, 24);
2007
+ const campo2 = copy(codigoBarra2, 25, 34);
2008
+ const campo3 = copy(codigoBarra2, 35, 44);
2009
+ const campo4 = copy(codigoBarra2, 5, 5);
2010
+ const campo5 = copy(codigoBarra2, 6, 9) + copy(codigoBarra2, 10, 19);
2011
+ const digito1 = getDigito5(campo1);
2012
+ const digito2 = getDigito5(campo2);
2013
+ const digito3 = getDigito5(campo3);
2014
+ const linhaDigitavel = campo1 + digito1 + campo2 + digito2 + campo3 + digito3 + campo4 + campo5;
2015
+ const dadosBoleto = {
2016
+ linhaDigitavel,
2017
+ fatorVencimento,
2018
+ valor,
2019
+ convenio,
2020
+ nossoNumero,
2021
+ campoLivre,
2022
+ digitoGeral,
2023
+ codigoBarra: codigoBarra2,
2024
+ numeroDocumento
2025
+ };
2026
+ return dadosBoleto;
2027
+ } catch (error) {
2028
+ console.log("Falha ao gerar dados do boleto", error);
2029
+ return null;
2030
+ }
2031
+ }
2032
+ function getValor5(valor) {
2033
+ const valorFormatado = valor.toFixed(2).replace(/\D/g, "");
2034
+ return padLeft(valorFormatado, 10);
2035
+ }
2036
+ function getNossoNumero3(auxiliar) {
2037
+ let i = 11, j = 10, soma = 0;
2038
+ while (i >= 1) {
2039
+ j--;
2040
+ if (j === 1)
2041
+ j = 9;
2042
+ const numero = Number(copy(auxiliar, i, i));
2043
+ soma += j * numero;
2044
+ i--;
2045
+ }
2046
+ const resto = soma % 11;
2047
+ const digito = resto < 10 ? String(resto) : "X";
2048
+ const nosso_numero = auxiliar + digito;
2049
+ return nosso_numero;
2050
+ }
2051
+ function getDigitoGeral5(texto) {
2052
+ let i = 43;
2053
+ let j = 1;
2054
+ let soma = 0;
2055
+ while (i >= 1) {
2056
+ j++;
2057
+ if (j === 10)
2058
+ j = 2;
2059
+ const valor = Number(copy(texto, i, i));
2060
+ soma += j * valor;
2061
+ i--;
2062
+ }
2063
+ const resto = soma % 11;
2064
+ let digito = 11 - resto;
2065
+ if (digito === 0 || digito > 9)
2066
+ digito = 1;
2067
+ return String(digito);
2068
+ }
2069
+ function getDigito5(texto) {
2070
+ let i = texto.length;
2071
+ let j = 1;
2072
+ let total = 0;
2073
+ let soma = 0;
2074
+ let digito = 0;
2075
+ while (i >= 1) {
2076
+ j = j === 1 ? 2 : 1;
2077
+ let valor = Number(copy(texto, i, i));
2078
+ total = valor * j;
2079
+ if (total >= 10) {
2080
+ valor = Number(copy(total, 1, 1)) + Number(copy(total, 2, 2));
2081
+ } else {
2082
+ valor = total;
2083
+ }
2084
+ soma += valor;
2085
+ i--;
2086
+ }
2087
+ const uni = Number(copy(soma, String(soma).length, String(soma).length));
2088
+ digito = 10 - uni;
2089
+ if (digito === 10)
2090
+ digito = 0;
2091
+ return String(digito);
2092
+ }
2093
+
2094
+ // src/banks/banco-brasil/gerarPDF.ts
2095
+ var import_bwip_js5 = __toESM(require("bwip-js"));
2096
+ function gerarPDF5(_0) {
2097
+ return __async(this, arguments, function* ({ dados }) {
2098
+ var _a, _b, _c, _d, _e, _f, _g, _h;
2099
+ try {
2100
+ const { dadosPDF } = dados;
2101
+ const codigoBarra2 = yield import_bwip_js5.default.toBuffer({
2102
+ bcid: "interleaved2of5",
2103
+ text: dadosPDF.boleto.codigoBarra,
2104
+ height: 20
2105
+ });
2106
+ dadosPDF.beneficiario.dadosBancario.agencia = dadosPDF.beneficiario.dadosBancario.agencia.padStart(4, "0");
2107
+ dadosPDF.beneficiario.dadosBancario.conta = dadosPDF.beneficiario.dadosBancario.conta.padStart(7, "0");
2108
+ dadosPDF.boleto.linhaDigitavel = maskFormat_default.codigoBarra(dadosPDF.boleto.linhaDigitavel);
2109
+ dadosPDF.boleto.codigoBarraImage = codigoBarra2.toString("base64");
2110
+ dadosPDF.beneficiario.cnpj = maskFormat_default.retornaCpfCnpjFormatado(
2111
+ dadosPDF.beneficiario.cnpj
2112
+ );
2113
+ dadosPDF.beneficiario.endereco.cep = maskFormat_default.retornaCEPFormatado(
2114
+ dadosPDF.beneficiario.endereco.cep
2115
+ );
2116
+ dadosPDF.pagador.endereco.cep = maskFormat_default.retornaCEPFormatado(
2117
+ dadosPDF.pagador.endereco.cep
2118
+ );
2119
+ dadosPDF.pagador.cnpj = maskFormat_default.retornaCpfCnpjFormatado(dadosPDF.pagador.cnpj);
2120
+ dadosPDF.boleto.valorAcrescimo = maskFormat_default.numberToReal(
2121
+ dadosPDF.boleto.valorAcrescimo
2122
+ );
2123
+ dadosPDF.boleto.valorCobrado = maskFormat_default.numberToReal(
2124
+ dadosPDF.boleto.valorCobrado
2125
+ );
2126
+ dadosPDF.boleto.valorDescontoAbatimento = maskFormat_default.numberToReal(
2127
+ dadosPDF.boleto.valorDescontoAbatimento
2128
+ );
2129
+ dadosPDF.boleto.valorDocumento = maskFormat_default.numberToReal(
2130
+ dadosPDF.boleto.valorDocumento
2131
+ );
2132
+ dadosPDF.boleto.valorMulta = maskFormat_default.numberToReal(dadosPDF.boleto.valorMulta);
2133
+ dadosPDF.boleto.valorOutrasDeducoes = maskFormat_default.numberToReal(
2134
+ dadosPDF.boleto.valorOutrasDeducoes
2135
+ );
2136
+ if (dadosPDF.boleto.quantidade) {
2137
+ dadosPDF.boleto.quantidade = maskFormat_default.numberToReal(dadosPDF.boleto.quantidade);
2138
+ }
2139
+ const jurosMes = Number(((_a = dadosPDF.beneficiario.dadosBancario) == null ? void 0 : _a.juros) || 0);
2140
+ const jurosAoDia = jurosMes / 30;
2141
+ if (!((_b = dadosPDF.boleto.instrucao1) == null ? void 0 : _b.length) && jurosAoDia > 0) {
2142
+ dadosPDF.boleto.instrucao1 = `COBRAR JUROS DE ${jurosMes}% AO DIA, AP\xD3S O VENCIMENTO`;
2143
+ }
2144
+ const descontoVencimento = Number(((_c = dadosPDF.beneficiario.dadosBancario) == null ? void 0 : _c.desconto) || 0);
2145
+ if (!((_d = dadosPDF.boleto.instrucao2) == null ? void 0 : _d.length) && descontoVencimento > 0) {
2146
+ dadosPDF.boleto.instrucao2 = `AT\xC9 O VENCIMENTO, CONCEDER DESCONTO DE ${descontoVencimento}%`;
2147
+ }
2148
+ const multaAtraso = Number(((_e = dadosPDF.beneficiario.dadosBancario) == null ? void 0 : _e.multa) || 0);
2149
+ if (!((_f = dadosPDF.boleto.instrucao3) == null ? void 0 : _f.length) && multaAtraso > 0) {
2150
+ dadosPDF.boleto.instrucao3 = `MULTA DE ${multaAtraso} %`;
2151
+ }
2152
+ const protestoDias = Number(((_g = dadosPDF.beneficiario.dadosBancario) == null ? void 0 : _g.protesto) || 0);
2153
+ if (!((_h = dadosPDF.boleto.instrucao4) == null ? void 0 : _h.length) && protestoDias > 0) {
2154
+ dadosPDF.boleto.instrucao4 = `PROTESTAR AP\xD3S ${protestoDias} DIAS CORRIDOS DO VENCIMENTO`;
2155
+ }
2156
+ dadosPDF.boleto.valor = maskFormat_default.numberToReal(dadosPDF.boleto.valor);
2157
+ const content = compileHbs(getPathTemplates("banco-brasil-boleto.hbs"), dadosPDF);
2158
+ const config = {
2159
+ displayHeaderFooter: false,
2160
+ path: "./boleto.pdf",
2161
+ format: "a4",
2162
+ printBackground: true
2163
+ };
2164
+ let pdfBase64 = null;
2165
+ if (!api.defaults.baseURL) {
2166
+ throw new Error("BaseURL api not found");
2167
+ }
2168
+ const response = yield api.post("/", { content, config });
2169
+ const buffer = Buffer.from(response.data.pdf);
2170
+ pdfBase64 = yield decompress(buffer);
2171
+ return {
2172
+ erro: false,
2173
+ dados: pdfBase64
2174
+ };
2175
+ } catch (error) {
2176
+ console.log(error);
2177
+ return {
2178
+ erro: true,
2179
+ dados: null
2180
+ };
2181
+ }
2182
+ });
2183
+ }
2184
+
2185
+ // src/banks/banco-brasil/gerarRemessa.ts
2186
+ var import_date_fns6 = require("date-fns");
2187
+ function gerarRemessa5({ dados }) {
2188
+ try {
2189
+ const { dadosBancario, beneficiario, boletos } = dados.remessa;
2190
+ const arquivo = new Arquivo();
2191
+ const dataAtual = /* @__PURE__ */ new Date();
2192
+ const data = (0, import_date_fns6.format)(dataAtual, "ddMMyyyy");
2193
+ const hora = (0, import_date_fns6.format)(dataAtual, "HHmmss");
2194
+ const convenio = dadosBancario.convenio.padStart(7, "0");
2195
+ const numero = dadosBancario.conta.padStart(7, "0") + dadosBancario.contaDigito;
2196
+ const remessa2 = `REM${convenio}-${numero}-${data}.REM`;
2197
+ arquivo.add("085");
2198
+ arquivo.add("0000");
2199
+ arquivo.add("0");
2200
+ arquivo.add(" ");
2201
+ arquivo.add("2");
2202
+ arquivo.add(beneficiario.cnpj);
2203
+ arquivo.add(dadosBancario.convenio.padEnd(20, " "));
2204
+ arquivo.add(dadosBancario.agencia.padStart(5, "0"));
2205
+ arquivo.add(dadosBancario.agenciaDigito);
2206
+ arquivo.add(dadosBancario.conta.padStart(12, "0"));
2207
+ arquivo.add(dadosBancario.contaDigito);
2208
+ arquivo.add(" ");
2209
+ arquivo.add(removerAcentos(beneficiario.nome).substring(0, 30).padEnd(30, " "));
2210
+ arquivo.add("AILOS".padEnd(30, " "));
2211
+ arquivo.add(" ");
2212
+ arquivo.add("1");
2213
+ arquivo.add(data);
2214
+ arquivo.add(hora);
2215
+ arquivo.add(dadosBancario.numeroRemessa.padStart(6, "0"));
2216
+ arquivo.add("087");
2217
+ arquivo.add("00000");
2218
+ arquivo.add(" ".padEnd(20, " "));
2219
+ arquivo.add(" ".padEnd(20, " "));
2220
+ arquivo.add(" ".padEnd(29, " "));
2221
+ arquivo.addLine();
2222
+ arquivo.add("085");
2223
+ arquivo.add("0001");
2224
+ arquivo.add("1");
2225
+ arquivo.add("R");
2226
+ arquivo.add("01");
2227
+ arquivo.add(" ");
2228
+ arquivo.add("045");
2229
+ arquivo.add(" ");
2230
+ arquivo.add("2");
2231
+ arquivo.add(beneficiario.cnpj.padStart(15, "0"));
2232
+ arquivo.add(dadosBancario.convenio.padEnd(20, " "));
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(removerAcentos(beneficiario.nome).substring(0, 30).padEnd(30, " "));
2239
+ arquivo.add(" ".padEnd(40, " "));
2240
+ arquivo.add(" ".padEnd(40, " "));
2241
+ arquivo.add(dadosBancario.numeroRemessa.padStart(8, "0"));
2242
+ arquivo.add(data);
2243
+ arquivo.add("00000000");
2244
+ arquivo.add(" ".padEnd(33, " "));
2245
+ arquivo.addLine();
2246
+ let sequencia = 0;
2247
+ let quantidadeRegistro = 0;
2248
+ let total = 0;
2249
+ for (const boleto of boletos) {
2250
+ const { pagador } = boleto;
2251
+ const vencimento = (0, import_date_fns6.format)(new Date(boleto.vencimento), "ddMMyyyy");
2252
+ total += Number(boleto.valor);
2253
+ const codigoJuro = dadosBancario.jurosMes > 0 ? "2" : "3";
2254
+ const juros = dadosBancario.jurosMes > 0 ? dadosBancario.jurosMes.toFixed(2) : "000000000000000";
2255
+ const jurosVencimento = (0, import_date_fns6.format)(
2256
+ (0, import_date_fns6.addDays)(new Date(boleto.vencimento), 1),
2257
+ "ddMMyyyy"
2258
+ );
2259
+ const codigoDesconto = dadosBancario.descontoPagamento > 0 ? "2" : "0";
2260
+ const desconto = dadosBancario.descontoPagamento > 0 ? dadosBancario.descontoPagamento.toFixed(2) : "000000000000000";
2261
+ const protesto = dadosBancario.diasProtesto > 0 ? "1" : "3";
2262
+ const diasProtesto = protesto === "1" ? dadosBancario.diasProtesto.toString() : "00";
2263
+ arquivo.add("085");
2264
+ arquivo.add("0001");
2265
+ arquivo.add("3");
2266
+ arquivo.add((++sequencia).toString().padStart(5, "0"));
2267
+ arquivo.add("P");
2268
+ arquivo.add(" ");
2269
+ arquivo.add("01");
2270
+ arquivo.add(dadosBancario.agencia.padStart(5, "0"));
2271
+ arquivo.add(dadosBancario.agenciaDigito);
2272
+ arquivo.add(dadosBancario.conta.padStart(12, "0"));
2273
+ arquivo.add(dadosBancario.contaDigito);
2274
+ arquivo.add(" ");
2275
+ arquivo.add(boleto.nossoNumero.padEnd(20, " "));
2276
+ arquivo.add("1");
2277
+ arquivo.add("1");
2278
+ arquivo.add("1");
2279
+ arquivo.add("2");
2280
+ arquivo.add("2");
2281
+ arquivo.add(`${boleto.numeroDocumento}/${boleto.parcela}`.padEnd(15, " "));
2282
+ arquivo.add(vencimento);
2283
+ arquivo.add(
2284
+ Number(boleto.valor).toFixed(2).replace(".", "").padStart(15, "0")
2285
+ );
2286
+ arquivo.add(dadosBancario.agencia.padStart(5, "0"));
2287
+ arquivo.add(dadosBancario.agenciaDigito);
2288
+ arquivo.add("02");
2289
+ arquivo.add("A");
2290
+ arquivo.add(data);
2291
+ arquivo.add(codigoJuro);
2292
+ arquivo.add(jurosVencimento);
2293
+ arquivo.add(juros.replace(".", "").padStart(15, "0"));
2294
+ arquivo.add(codigoDesconto);
2295
+ arquivo.add(vencimento);
2296
+ arquivo.add(desconto.replace(".", "").padStart(15, "0"));
2297
+ arquivo.add("000000000000000");
2298
+ arquivo.add("000000000000000");
2299
+ arquivo.add(boleto.identificacaoTitulo.padEnd(25, " "));
2300
+ arquivo.add(protesto);
2301
+ arquivo.add(diasProtesto.padStart(1, "0"));
2302
+ arquivo.add("2");
2303
+ arquivo.add(" ");
2304
+ arquivo.add("09");
2305
+ arquivo.add("0000000000");
2306
+ arquivo.add(" ");
2307
+ arquivo.addLine();
2308
+ let tipoInscricao = "1";
2309
+ if (pagador.pessoa === "F") {
2310
+ tipoInscricao = "1";
2311
+ } else {
2312
+ tipoInscricao = "2";
2313
+ }
2314
+ pagador.endereco.logradouro = `${removerAcentos(pagador.endereco.logradouro).substring(0, 32).padEnd(32, " ")}${pagador.endereco.numero.padEnd(8, " ")}`;
2315
+ arquivo.add("085");
2316
+ arquivo.add("0001");
2317
+ arquivo.add("3");
2318
+ arquivo.add((++sequencia).toString().padStart(5, "0"));
2319
+ arquivo.add("Q");
2320
+ arquivo.add(" ");
2321
+ arquivo.add("01");
2322
+ arquivo.add(tipoInscricao);
2323
+ arquivo.add(pagador.cpfCnpj.padStart(15, "0"));
2324
+ arquivo.add(removerAcentos(pagador.nome).substring(0, 40).padEnd(40, " "));
2325
+ arquivo.add(removerAcentos(pagador.endereco.logradouro).substring(0, 40).padEnd(40, " "));
2326
+ arquivo.add(removerAcentos(pagador.endereco.bairro).substring(0, 15).padEnd(15, " "));
2327
+ arquivo.add(pagador.endereco.cep.substring(0, 5).padStart(5, "0"));
2328
+ arquivo.add(pagador.endereco.cep.substring(5, 7).padStart(3, "0"));
2329
+ arquivo.add(removerAcentos(pagador.endereco.municipio).substring(0, 15).padEnd(15, " "));
2330
+ arquivo.add(removerAcentos(pagador.endereco.uf).padEnd(2, " "));
2331
+ arquivo.add("0");
2332
+ arquivo.add("000000000000000");
2333
+ arquivo.add(" ".padEnd(40, " "));
2334
+ arquivo.add("000");
2335
+ arquivo.add(" ".padEnd(20, " "));
2336
+ arquivo.add(" ".padEnd(8, " "));
2337
+ arquivo.addLine();
2338
+ dadosBancario.multaAtraso = Number(dadosBancario.multaAtraso || 0);
2339
+ if (dadosBancario.multaAtraso > 0) {
2340
+ const multa = dadosBancario.multaAtraso.toFixed(2);
2341
+ arquivo.add("085");
2342
+ arquivo.add("0001");
2343
+ arquivo.add("3");
2344
+ arquivo.add((++sequencia).toString().padStart(5, "0"));
2345
+ arquivo.add("R");
2346
+ arquivo.add(" ");
2347
+ arquivo.add("01");
2348
+ arquivo.add("0");
2349
+ arquivo.add("00000000");
2350
+ arquivo.add("000000000000000");
2351
+ arquivo.add("0");
2352
+ arquivo.add("00000000");
2353
+ arquivo.add("000000000000000");
2354
+ arquivo.add("2");
2355
+ arquivo.add(vencimento);
2356
+ arquivo.add(multa.replace(".", "").padStart(15, "0"));
2357
+ arquivo.add(" ".padEnd(10, " "));
2358
+ arquivo.add(" ".padEnd(40, " "));
2359
+ arquivo.add(" ".padEnd(40, " "));
2360
+ arquivo.add(" ".padEnd(20, " "));
2361
+ arquivo.add("00000000");
2362
+ arquivo.add("000");
2363
+ arquivo.add("00000");
2364
+ arquivo.add(" ");
2365
+ arquivo.add("000000000000");
2366
+ arquivo.add(" ");
2367
+ arquivo.add(" ");
2368
+ arquivo.add("0");
2369
+ arquivo.add("000000000");
2370
+ arquivo.addLine();
2371
+ }
2372
+ quantidadeRegistro++;
2373
+ }
2374
+ arquivo.add("085");
2375
+ arquivo.add("0001");
2376
+ arquivo.add("5");
2377
+ arquivo.add(" ".padEnd(9, " "));
2378
+ arquivo.add((sequencia + 3).toString().padStart(6, "0"));
2379
+ arquivo.add(quantidadeRegistro.toString().padStart(6, "0"));
2380
+ arquivo.add(total.toFixed(2).replace(".", "").padStart(17, "0"));
2381
+ arquivo.add("0".padStart(6, "0"));
2382
+ arquivo.add("0".padStart(17, "0"));
2383
+ arquivo.add("0".padStart(6, "0"));
2384
+ arquivo.add("0".padStart(17, "0"));
2385
+ arquivo.add("0".padStart(6, "0"));
2386
+ arquivo.add("0".padStart(17, "0"));
2387
+ arquivo.add(" ".padStart(8, " "));
2388
+ arquivo.add(" ".padStart(117, " "));
2389
+ arquivo.addLine();
2390
+ arquivo.add("085");
2391
+ arquivo.add("9999");
2392
+ arquivo.add("9");
2393
+ arquivo.add(" ".padEnd(9, " "));
2394
+ arquivo.add("000001");
2395
+ arquivo.add((sequencia + 4).toString().padStart(6, "0"));
2396
+ arquivo.add("000000");
2397
+ arquivo.add(" ".padEnd(205, " "));
2398
+ return {
2399
+ download: remessa2,
2400
+ arquivo: arquivo.getArquivo()
2401
+ };
2402
+ } catch (error) {
2403
+ console.log(error);
2404
+ return null;
2405
+ }
2406
+ }
2407
+
2408
+ // src/banks/banco-brasil/gerarRetorno.ts
2409
+ function gerarRetorno4() {
2410
+ }
2411
+
2412
+ // src/banks/banco-brasil/index.ts
2413
+ var bancoBrasil = {
2414
+ gerarDadosBoleto: gerarDadosBoleto5,
2415
+ gerarPDF: gerarPDF5,
2416
+ gerarRemessa: gerarRemessa5,
2417
+ gerarRetorno: gerarRetorno4
2418
+ };
2419
+
1987
2420
  // src/gerar.ts
1988
2421
  function gerar({ banco, dados }) {
1989
2422
  if (banco === "085" /* AILOS */) {
@@ -1998,6 +2431,9 @@ function gerar({ banco, dados }) {
1998
2431
  if (banco === "756" /* SICOOB */) {
1999
2432
  return sicoob.gerarDadosBoleto({ banco, dados });
2000
2433
  }
2434
+ if (banco === "001" /* BANCO_BRASIL */) {
2435
+ return bancoBrasil.gerarDadosBoleto({ banco, dados });
2436
+ }
2001
2437
  }
2002
2438
 
2003
2439
  // src/pdf.ts
@@ -2014,6 +2450,9 @@ function pdf({ banco, dados }) {
2014
2450
  if (banco === "756" /* SICOOB */) {
2015
2451
  return sicoob.gerarPDF({ banco, dados });
2016
2452
  }
2453
+ if (banco === "001" /* BANCO_BRASIL */) {
2454
+ return bancoBrasil.gerarPDF({ banco, dados });
2455
+ }
2017
2456
  }
2018
2457
 
2019
2458
  // src/remessa.ts
@@ -2030,6 +2469,9 @@ function remessa({ banco, dados }) {
2030
2469
  if (banco === "756" /* SICOOB */) {
2031
2470
  return sicoob.gerarRemessa({ banco, dados });
2032
2471
  }
2472
+ if (banco === "001" /* BANCO_BRASIL */) {
2473
+ return bancoBrasil.gerarRemessa({ banco, dados });
2474
+ }
2033
2475
  }
2034
2476
 
2035
2477
  // src/retorno.ts