@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.mjs CHANGED
@@ -219,7 +219,6 @@ 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;
223
222
  try {
224
223
  const { generatePDF, dadosPDF } = dados;
225
224
  const codigoBarra2 = yield BwipJs.toBuffer({
@@ -250,6 +249,7 @@ function gerarPDF(_0) {
250
249
  dadosPDF.boleto.valorDescontoAbatimento = maskFormat_default.numberToReal(
251
250
  dadosPDF.boleto.valorDescontoAbatimento
252
251
  );
252
+ const valorDocumento = Number(dadosPDF.boleto.valorDocumento);
253
253
  dadosPDF.boleto.valorDocumento = maskFormat_default.numberToReal(
254
254
  dadosPDF.boleto.valorDocumento
255
255
  );
@@ -260,19 +260,20 @@ function gerarPDF(_0) {
260
260
  if (dadosPDF.boleto.quantidade) {
261
261
  dadosPDF.boleto.quantidade = maskFormat_default.numberToReal(dadosPDF.boleto.quantidade);
262
262
  }
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`;
263
+ const jurosMes = dadosPDF.beneficiario.dadosBancario.juros;
264
+ const jurosDia = jurosMes / 100 / 30 * valorDocumento;
265
+ if (jurosDia > 0) {
266
+ dadosPDF.boleto.instrucao1 = `COBRAR JUROS DE R$${maskFormat_default.numberToReal(jurosDia)} AO DIA, AP\xD3S O VENCIMENTO`;
266
267
  }
267
- const descontoVencimento = Number(((_b = dadosPDF.beneficiario.dadosBancario) == null ? void 0 : _b.desconto) || 0);
268
+ const descontoVencimento = dadosPDF.beneficiario.dadosBancario.desconto || 0;
268
269
  if (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
+ const multaAtraso = dadosPDF.beneficiario.dadosBancario.multa || 0;
272
273
  if (multaAtraso > 0) {
273
- dadosPDF.boleto.instrucao3 = `MULTA DE ${multaAtraso} %`;
274
+ dadosPDF.boleto.instrucao3 = `MULTA DE ${multaAtraso}%`;
274
275
  }
275
- const protestoDias = Number(((_d = dadosPDF.beneficiario.dadosBancario) == null ? void 0 : _d.protesto) || 0);
276
+ const protestoDias = dadosPDF.beneficiario.dadosBancario.protesto || 0;
276
277
  if (protestoDias > 0) {
277
278
  dadosPDF.boleto.instrucao4 = `PROTESTAR AP\xD3S ${protestoDias} DIAS CORRIDOS DO VENCIMENTO`;
278
279
  }
@@ -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,6 @@ 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;
1224
1225
  try {
1225
1226
  const { generatePDF, dadosPDF } = dados;
1226
1227
  const codigoBarra2 = yield BwipJs3.toBuffer({
@@ -1250,6 +1251,7 @@ function gerarPDF3(_0) {
1250
1251
  dadosPDF.boleto.valorDescontoAbatimento = maskFormat_default.numberToReal(
1251
1252
  dadosPDF.boleto.valorDescontoAbatimento
1252
1253
  );
1254
+ const valorDocumento = Number(dadosPDF.boleto.valorDocumento);
1253
1255
  dadosPDF.boleto.valorDocumento = maskFormat_default.numberToReal(
1254
1256
  dadosPDF.boleto.valorDocumento
1255
1257
  );
@@ -1260,19 +1262,20 @@ function gerarPDF3(_0) {
1260
1262
  if (dadosPDF.boleto.quantidade) {
1261
1263
  dadosPDF.boleto.quantidade = maskFormat_default.numberToReal(dadosPDF.boleto.quantidade);
1262
1264
  }
1263
- 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`;
1265
+ const jurosMes = dadosPDF.beneficiario.dadosBancario.juros;
1266
+ const jurosDia = jurosMes / 100 / 30 * valorDocumento;
1267
+ if (jurosDia > 0) {
1268
+ dadosPDF.boleto.instrucao1 = `COBRAR JUROS DE R$${maskFormat_default.numberToReal(jurosDia)} AO DIA, AP\xD3S O VENCIMENTO`;
1266
1269
  }
1267
- const descontoVencimento = Number(((_b = dadosPDF.beneficiario.dadosBancario) == null ? void 0 : _b.desconto) || 0);
1270
+ const descontoVencimento = dadosPDF.beneficiario.dadosBancario.desconto || 0;
1268
1271
  if (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);
1274
+ const multaAtraso = dadosPDF.beneficiario.dadosBancario.multa || 0;
1272
1275
  if (multaAtraso > 0) {
1273
- dadosPDF.boleto.instrucao3 = `MULTA DE ${multaAtraso} %`;
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 = dadosPDF.beneficiario.dadosBancario.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