@plasoft/boletos 1.0.37 → 1.0.39
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.d.mts +11 -5
- package/build/index.d.ts +11 -5
- package/build/index.js +208 -111
- package/build/index.mjs +208 -111
- package/build/sicoob-boleto.hbs +849 -842
- package/package.json +1 -1
package/build/index.d.mts
CHANGED
|
@@ -481,6 +481,7 @@ interface IGerarBoletoSicoob {
|
|
|
481
481
|
interface IDadosBancario$1 {
|
|
482
482
|
agencia: string;
|
|
483
483
|
codigo_cliente: string;
|
|
484
|
+
codigo_cliente_dv: string;
|
|
484
485
|
modalidade: string;
|
|
485
486
|
}
|
|
486
487
|
interface IParcela$1 {
|
|
@@ -488,8 +489,6 @@ interface IParcela$1 {
|
|
|
488
489
|
parcela: number;
|
|
489
490
|
vencimento: string | Date;
|
|
490
491
|
valor: number | string;
|
|
491
|
-
pago: number | string;
|
|
492
|
-
data_emissao: string | Date;
|
|
493
492
|
}
|
|
494
493
|
interface IGerarPDFSicoob {
|
|
495
494
|
banco: Banco.SICOOB;
|
|
@@ -505,6 +504,10 @@ interface IDadosPDF$1 {
|
|
|
505
504
|
agencia: string;
|
|
506
505
|
codigo_cliente: string;
|
|
507
506
|
carteira: string;
|
|
507
|
+
juros: number;
|
|
508
|
+
multa: number;
|
|
509
|
+
desconto: number;
|
|
510
|
+
protesto: number;
|
|
508
511
|
};
|
|
509
512
|
};
|
|
510
513
|
pagador: {
|
|
@@ -535,7 +538,6 @@ interface IDadosPDF$1 {
|
|
|
535
538
|
numeroDocumento: string;
|
|
536
539
|
nossoNumero: string;
|
|
537
540
|
especieDocumento: string;
|
|
538
|
-
aceite: 'S' | 'N';
|
|
539
541
|
moeda: string;
|
|
540
542
|
usoDoBanco?: string;
|
|
541
543
|
codigoBarra: string;
|
|
@@ -545,7 +547,9 @@ interface IDadosPDF$1 {
|
|
|
545
547
|
instrucao1?: string;
|
|
546
548
|
instrucao2?: string;
|
|
547
549
|
instrucao3?: string;
|
|
548
|
-
|
|
550
|
+
instrucao4?: string;
|
|
551
|
+
observacoes?: string[];
|
|
552
|
+
nfs: string;
|
|
549
553
|
};
|
|
550
554
|
}
|
|
551
555
|
interface IGerarRemessaSicoob {
|
|
@@ -562,15 +566,17 @@ interface IDadosRemessa$1 {
|
|
|
562
566
|
dadosBancario: {
|
|
563
567
|
carteira: string;
|
|
564
568
|
agencia: string;
|
|
569
|
+
agenciaDigito: string;
|
|
565
570
|
conta: string;
|
|
571
|
+
contaDigito: string;
|
|
566
572
|
numeroRemessa: string;
|
|
567
573
|
jurosMes: number;
|
|
568
574
|
multaAtraso: number;
|
|
569
575
|
diasProtesto: number;
|
|
570
576
|
modalidade: string;
|
|
571
|
-
aceite: string;
|
|
572
577
|
};
|
|
573
578
|
boletos: {
|
|
579
|
+
identificacaoTitulo: string;
|
|
574
580
|
vencimento: string | Date;
|
|
575
581
|
valor: number | string;
|
|
576
582
|
nossoNumero: string;
|
package/build/index.d.ts
CHANGED
|
@@ -481,6 +481,7 @@ interface IGerarBoletoSicoob {
|
|
|
481
481
|
interface IDadosBancario$1 {
|
|
482
482
|
agencia: string;
|
|
483
483
|
codigo_cliente: string;
|
|
484
|
+
codigo_cliente_dv: string;
|
|
484
485
|
modalidade: string;
|
|
485
486
|
}
|
|
486
487
|
interface IParcela$1 {
|
|
@@ -488,8 +489,6 @@ interface IParcela$1 {
|
|
|
488
489
|
parcela: number;
|
|
489
490
|
vencimento: string | Date;
|
|
490
491
|
valor: number | string;
|
|
491
|
-
pago: number | string;
|
|
492
|
-
data_emissao: string | Date;
|
|
493
492
|
}
|
|
494
493
|
interface IGerarPDFSicoob {
|
|
495
494
|
banco: Banco.SICOOB;
|
|
@@ -505,6 +504,10 @@ interface IDadosPDF$1 {
|
|
|
505
504
|
agencia: string;
|
|
506
505
|
codigo_cliente: string;
|
|
507
506
|
carteira: string;
|
|
507
|
+
juros: number;
|
|
508
|
+
multa: number;
|
|
509
|
+
desconto: number;
|
|
510
|
+
protesto: number;
|
|
508
511
|
};
|
|
509
512
|
};
|
|
510
513
|
pagador: {
|
|
@@ -535,7 +538,6 @@ interface IDadosPDF$1 {
|
|
|
535
538
|
numeroDocumento: string;
|
|
536
539
|
nossoNumero: string;
|
|
537
540
|
especieDocumento: string;
|
|
538
|
-
aceite: 'S' | 'N';
|
|
539
541
|
moeda: string;
|
|
540
542
|
usoDoBanco?: string;
|
|
541
543
|
codigoBarra: string;
|
|
@@ -545,7 +547,9 @@ interface IDadosPDF$1 {
|
|
|
545
547
|
instrucao1?: string;
|
|
546
548
|
instrucao2?: string;
|
|
547
549
|
instrucao3?: string;
|
|
548
|
-
|
|
550
|
+
instrucao4?: string;
|
|
551
|
+
observacoes?: string[];
|
|
552
|
+
nfs: string;
|
|
549
553
|
};
|
|
550
554
|
}
|
|
551
555
|
interface IGerarRemessaSicoob {
|
|
@@ -562,15 +566,17 @@ interface IDadosRemessa$1 {
|
|
|
562
566
|
dadosBancario: {
|
|
563
567
|
carteira: string;
|
|
564
568
|
agencia: string;
|
|
569
|
+
agenciaDigito: string;
|
|
565
570
|
conta: string;
|
|
571
|
+
contaDigito: string;
|
|
566
572
|
numeroRemessa: string;
|
|
567
573
|
jurosMes: number;
|
|
568
574
|
multaAtraso: number;
|
|
569
575
|
diasProtesto: number;
|
|
570
576
|
modalidade: string;
|
|
571
|
-
aceite: string;
|
|
572
577
|
};
|
|
573
578
|
boletos: {
|
|
579
|
+
identificacaoTitulo: string;
|
|
574
580
|
vencimento: string | Date;
|
|
575
581
|
valor: number | string;
|
|
576
582
|
nossoNumero: string;
|
package/build/index.js
CHANGED
|
@@ -1408,9 +1408,7 @@ function gerarRemessa3({ dados }) {
|
|
|
1408
1408
|
arquivo.add(multaAtraso.padStart(4, "0"));
|
|
1409
1409
|
arquivo.add(" ".padEnd(12, " "));
|
|
1410
1410
|
arquivo.add("01");
|
|
1411
|
-
|
|
1412
|
-
const especie = tipo_documento === "F" ? "0" /* FATURA */ : tipo_documento === "N" ? "1" /* NOTA */ : "2" /* LANCAMENTO */;
|
|
1413
|
-
arquivo.add((especie + boleto.numeroDocumento + "/" + boleto.parcela).padEnd(10, " "));
|
|
1411
|
+
arquivo.add(boleto.identificacaoTitulo.padEnd(10, " "));
|
|
1414
1412
|
arquivo.add((0, import_date_fns4.format)(new Date(boleto.vencimento), "ddMMyy"));
|
|
1415
1413
|
arquivo.add(Number(boleto.valor).toFixed(2).replace(".", "").padStart(13, "0"));
|
|
1416
1414
|
arquivo.add(" ".padEnd(9, " "));
|
|
@@ -1480,10 +1478,17 @@ function gerarRetorno3({ dados }) {
|
|
|
1480
1478
|
continue;
|
|
1481
1479
|
}
|
|
1482
1480
|
const meu_numero = linha.substring(116, 126).trim();
|
|
1483
|
-
|
|
1484
|
-
|
|
1485
|
-
|
|
1486
|
-
|
|
1481
|
+
let tipo_documento = "";
|
|
1482
|
+
let id_documento = "";
|
|
1483
|
+
if (meu_numero.includes("-")) {
|
|
1484
|
+
const [tipo, id] = meu_numero.split("-");
|
|
1485
|
+
tipo_documento = tipo;
|
|
1486
|
+
id_documento = id;
|
|
1487
|
+
}
|
|
1488
|
+
let especie = "INDEFINIDO";
|
|
1489
|
+
if (tipo_documento.length) {
|
|
1490
|
+
especie = tipo_documento === "N" ? "NFE" : tipo_documento === "F" ? "FAT" : tipo_documento === "L" ? "FIN" : "INDEFINIDO";
|
|
1491
|
+
}
|
|
1487
1492
|
const valor_titulo = Number(linha.substring(152, 165)) / 100;
|
|
1488
1493
|
const abatimento = Number(linha.substring(227, 240)) / 100;
|
|
1489
1494
|
let valor_desconto = Number(linha.substring(240, 253)) / 100;
|
|
@@ -1499,7 +1504,7 @@ function gerarRetorno3({ dados }) {
|
|
|
1499
1504
|
const descontos = abatimento + valor_desconto;
|
|
1500
1505
|
const valor_total = valor_titulo + valor_multa + valor_juros - descontos;
|
|
1501
1506
|
documentos.push({
|
|
1502
|
-
id_documento
|
|
1507
|
+
id_documento,
|
|
1503
1508
|
especie,
|
|
1504
1509
|
valor: valor_pago,
|
|
1505
1510
|
valor_multa,
|
|
@@ -1531,13 +1536,14 @@ function gerarDadosBoleto4({ dados }) {
|
|
|
1531
1536
|
bancario.modalidade = "01";
|
|
1532
1537
|
}
|
|
1533
1538
|
bancario.modalidade = padLeft(bancario.modalidade, 2);
|
|
1534
|
-
const
|
|
1539
|
+
const codigo_cliente = `${bancario.codigo_cliente}${bancario.codigo_cliente_dv}`;
|
|
1540
|
+
const nossoNumero = getNossoNumero2(bancario.agencia, codigo_cliente, String(parcela.id_boleto));
|
|
1535
1541
|
const fatorVencimento = getFatorVencimento(parcela.vencimento);
|
|
1536
1542
|
const valor = getValor4(Number(parcela.valor));
|
|
1537
|
-
const campoLivre = "1" +
|
|
1543
|
+
const campoLivre = "1" + bancario.agencia + bancario.modalidade + codigo_cliente + nossoNumero + padLeft(parcela.parcela, 3);
|
|
1538
1544
|
const digitoGeral = getDigitoGeral4(`7569${fatorVencimento}${valor}${campoLivre}`);
|
|
1539
1545
|
const codigoBarra2 = `7569${digitoGeral}${fatorVencimento}${valor}${campoLivre}`;
|
|
1540
|
-
const campo1 = copy(codigoBarra2, 1, 4) + copy(codigoBarra2, 20, 24);
|
|
1546
|
+
const campo1 = copy(codigoBarra2, 1, 3) + copy(codigoBarra2, 4, 4) + copy(codigoBarra2, 20, 24);
|
|
1541
1547
|
const campo2 = copy(codigoBarra2, 25, 34);
|
|
1542
1548
|
const campo3 = copy(codigoBarra2, 35, 44);
|
|
1543
1549
|
const campo4 = copy(codigoBarra2, 5, 5);
|
|
@@ -1561,15 +1567,24 @@ function gerarDadosBoleto4({ dados }) {
|
|
|
1561
1567
|
return null;
|
|
1562
1568
|
}
|
|
1563
1569
|
}
|
|
1564
|
-
function getNossoNumero2(
|
|
1565
|
-
|
|
1566
|
-
|
|
1567
|
-
|
|
1568
|
-
|
|
1569
|
-
|
|
1570
|
-
|
|
1571
|
-
|
|
1572
|
-
|
|
1570
|
+
function getNossoNumero2(agencia, codigo_cliente, id_boleto) {
|
|
1571
|
+
codigo_cliente = codigo_cliente.padStart(10, "0");
|
|
1572
|
+
id_boleto = id_boleto.padStart(7, "0");
|
|
1573
|
+
const aux = `${agencia}${codigo_cliente}${id_boleto}`;
|
|
1574
|
+
let i = 22, m = 3, soma = 0;
|
|
1575
|
+
while (true) {
|
|
1576
|
+
i--;
|
|
1577
|
+
soma += m * Number(copy(aux, i, i));
|
|
1578
|
+
if (i === 1)
|
|
1579
|
+
break;
|
|
1580
|
+
if (m === 3)
|
|
1581
|
+
m = 7;
|
|
1582
|
+
if (m === 7)
|
|
1583
|
+
m = 9;
|
|
1584
|
+
if (m === 9)
|
|
1585
|
+
m = 1;
|
|
1586
|
+
if (m === 1)
|
|
1587
|
+
m = 3;
|
|
1573
1588
|
}
|
|
1574
1589
|
let dig = soma % 11;
|
|
1575
1590
|
dig = dig === 1 ? dig = 0 : 11 - dig;
|
|
@@ -1640,10 +1655,12 @@ function gerarRemessa4({ dados }) {
|
|
|
1640
1655
|
arquivo.add("2");
|
|
1641
1656
|
arquivo.add(beneficiario.cnpj);
|
|
1642
1657
|
arquivo.add(" ".padEnd(20, " "));
|
|
1643
|
-
arquivo.add(dadosBancario.agencia.padStart(
|
|
1644
|
-
arquivo.add(dadosBancario.
|
|
1658
|
+
arquivo.add(dadosBancario.agencia.padStart(5, "0"));
|
|
1659
|
+
arquivo.add(dadosBancario.agenciaDigito);
|
|
1660
|
+
arquivo.add(dadosBancario.conta.padStart(12, "0"));
|
|
1661
|
+
arquivo.add(dadosBancario.contaDigito);
|
|
1645
1662
|
arquivo.add("0");
|
|
1646
|
-
arquivo.add(beneficiario.nome.padEnd(30, " "));
|
|
1663
|
+
arquivo.add(removerAcentos(beneficiario.nome).substring(0, 30).padEnd(30, " "));
|
|
1647
1664
|
arquivo.add("SICOOB".padEnd(30, " "));
|
|
1648
1665
|
arquivo.add(" ".padEnd(10, " "));
|
|
1649
1666
|
arquivo.add("1");
|
|
@@ -1665,10 +1682,12 @@ function gerarRemessa4({ dados }) {
|
|
|
1665
1682
|
arquivo.add("2");
|
|
1666
1683
|
arquivo.add(beneficiario.cnpj.padStart(15, "0"));
|
|
1667
1684
|
arquivo.add(" ".padEnd(20, " "));
|
|
1668
|
-
arquivo.add(dadosBancario.agencia.padStart(
|
|
1669
|
-
arquivo.add(dadosBancario.
|
|
1685
|
+
arquivo.add(dadosBancario.agencia.padStart(5, "0"));
|
|
1686
|
+
arquivo.add(dadosBancario.agenciaDigito);
|
|
1687
|
+
arquivo.add(dadosBancario.conta.padStart(12, "0"));
|
|
1688
|
+
arquivo.add(dadosBancario.contaDigito);
|
|
1670
1689
|
arquivo.add(" ");
|
|
1671
|
-
arquivo.add(beneficiario.nome.padEnd(30, " "));
|
|
1690
|
+
arquivo.add(removerAcentos(beneficiario.nome).substring(0, 30).padEnd(30, " "));
|
|
1672
1691
|
arquivo.add(" ".padEnd(80, " "));
|
|
1673
1692
|
arquivo.add(dadosBancario.numeroRemessa.padStart(8, "0"));
|
|
1674
1693
|
arquivo.add(data);
|
|
@@ -1683,21 +1702,19 @@ function gerarRemessa4({ dados }) {
|
|
|
1683
1702
|
const vencimento = (0, import_date_fns5.format)(new Date(boleto.vencimento), "ddMMyyyy");
|
|
1684
1703
|
const valor_juros_dia = Number(boleto.valor) * dadosBancario.jurosMes / 100 / 30;
|
|
1685
1704
|
const protesto = dadosBancario.diasProtesto > 0 ? "1" : "3";
|
|
1686
|
-
const diasProtesto =
|
|
1687
|
-
if (dadosBancario.aceite === "S") {
|
|
1688
|
-
dadosBancario.aceite = "A";
|
|
1689
|
-
}
|
|
1705
|
+
const diasProtesto = dadosBancario.diasProtesto.toString().padStart(2, "0");
|
|
1690
1706
|
total += Number(boleto.valor);
|
|
1691
|
-
sequencia++;
|
|
1692
1707
|
arquivo.add("756");
|
|
1693
1708
|
arquivo.add("0001");
|
|
1694
1709
|
arquivo.add("3");
|
|
1695
|
-
arquivo.add(sequencia.toString().padStart(5, "0"));
|
|
1710
|
+
arquivo.add((++sequencia).toString().padStart(5, "0"));
|
|
1696
1711
|
arquivo.add("P");
|
|
1697
1712
|
arquivo.add(" ");
|
|
1698
1713
|
arquivo.add("01");
|
|
1699
|
-
arquivo.add(dadosBancario.agencia.padStart(
|
|
1700
|
-
arquivo.add(dadosBancario.
|
|
1714
|
+
arquivo.add(dadosBancario.agencia.padStart(5, "0"));
|
|
1715
|
+
arquivo.add(dadosBancario.agenciaDigito);
|
|
1716
|
+
arquivo.add(dadosBancario.conta.padStart(12, "0"));
|
|
1717
|
+
arquivo.add(dadosBancario.contaDigito);
|
|
1701
1718
|
arquivo.add(" ");
|
|
1702
1719
|
arquivo.add(boleto.nossoNumero.padStart(10, "0"));
|
|
1703
1720
|
arquivo.add(boleto.parcela.toString().padStart(2, "0"));
|
|
@@ -1712,7 +1729,7 @@ function gerarRemessa4({ dados }) {
|
|
|
1712
1729
|
arquivo.add("00000");
|
|
1713
1730
|
arquivo.add(" ");
|
|
1714
1731
|
arquivo.add("02");
|
|
1715
|
-
arquivo.add(
|
|
1732
|
+
arquivo.add("N");
|
|
1716
1733
|
arquivo.add(data);
|
|
1717
1734
|
arquivo.add("1");
|
|
1718
1735
|
arquivo.add((0, import_date_fns5.format)((0, import_date_fns5.addDays)(new Date(boleto.vencimento), 1), "ddMMyyyy"));
|
|
@@ -1722,15 +1739,14 @@ function gerarRemessa4({ dados }) {
|
|
|
1722
1739
|
arquivo.add("000000000000000");
|
|
1723
1740
|
arquivo.add("000000000000000");
|
|
1724
1741
|
arquivo.add("000000000000000");
|
|
1725
|
-
arquivo.add(
|
|
1742
|
+
arquivo.add(boleto.identificacaoTitulo.padEnd(25, " "));
|
|
1726
1743
|
arquivo.add(protesto);
|
|
1727
|
-
arquivo.add(diasProtesto
|
|
1744
|
+
arquivo.add(diasProtesto);
|
|
1728
1745
|
arquivo.add("0");
|
|
1729
1746
|
arquivo.add(" ");
|
|
1730
1747
|
arquivo.add("09");
|
|
1731
1748
|
arquivo.add("0000000000");
|
|
1732
1749
|
arquivo.add(" ");
|
|
1733
|
-
sequencia++;
|
|
1734
1750
|
arquivo.addLine();
|
|
1735
1751
|
let tipoInscricao = "1";
|
|
1736
1752
|
if (pagador.pessoa === "F") {
|
|
@@ -1738,26 +1754,18 @@ function gerarRemessa4({ dados }) {
|
|
|
1738
1754
|
} else {
|
|
1739
1755
|
tipoInscricao = "2";
|
|
1740
1756
|
}
|
|
1741
|
-
pagador.endereco.
|
|
1742
|
-
pagador.endereco.logradouro = pagador.endereco.logradouro.toUpperCase();
|
|
1743
|
-
pagador.endereco.municipio = pagador.endereco.municipio.toUpperCase();
|
|
1744
|
-
pagador.endereco.uf = pagador.endereco.uf.toUpperCase();
|
|
1745
|
-
const { tipo_logradouro, logradouro } = getLogradouro(pagador.endereco.logradouro);
|
|
1757
|
+
pagador.endereco.logradouro = `${removerAcentos(pagador.endereco.logradouro).substring(0, 32).padEnd(32, " ")}${pagador.endereco.numero.padEnd(8, " ")}`;
|
|
1746
1758
|
arquivo.add("756");
|
|
1747
1759
|
arquivo.add("0001");
|
|
1748
1760
|
arquivo.add("3");
|
|
1749
|
-
arquivo.add(sequencia.toString().padStart(5, "0"));
|
|
1761
|
+
arquivo.add((++sequencia).toString().padStart(5, "0"));
|
|
1750
1762
|
arquivo.add("Q");
|
|
1751
1763
|
arquivo.add(" ");
|
|
1752
1764
|
arquivo.add("01");
|
|
1753
1765
|
arquivo.add(tipoInscricao);
|
|
1754
1766
|
arquivo.add(pagador.cpfCnpj.padStart(15, "0"));
|
|
1755
|
-
arquivo.add(removerAcentos(pagador.nome
|
|
1756
|
-
arquivo.add(removerAcentos(
|
|
1757
|
-
arquivo.add(" ");
|
|
1758
|
-
arquivo.add(removerAcentos(logradouro).substring(0, 29).padEnd(29, " "));
|
|
1759
|
-
arquivo.add(" ");
|
|
1760
|
-
arquivo.add(pagador.endereco.numero.padEnd(6, " "));
|
|
1767
|
+
arquivo.add(removerAcentos(pagador.nome).substring(0, 40).padEnd(40, " "));
|
|
1768
|
+
arquivo.add(removerAcentos(pagador.endereco.logradouro).substring(0, 40).padEnd(40, " "));
|
|
1761
1769
|
arquivo.add(removerAcentos(pagador.endereco.bairro).substring(0, 15).padEnd(15, " "));
|
|
1762
1770
|
arquivo.add(pagador.endereco.cep.padEnd(8, " "));
|
|
1763
1771
|
arquivo.add(removerAcentos(pagador.endereco.municipio).substring(0, 15).padEnd(15, " "));
|
|
@@ -1767,22 +1775,21 @@ function gerarRemessa4({ dados }) {
|
|
|
1767
1775
|
arquivo.add(" ".padEnd(40, " "));
|
|
1768
1776
|
arquivo.add("000");
|
|
1769
1777
|
arquivo.add(" ".padEnd(28, " "));
|
|
1770
|
-
sequencia++;
|
|
1771
1778
|
arquivo.addLine();
|
|
1772
1779
|
let multa = "0";
|
|
1773
1780
|
let data_multa = "00000000";
|
|
1774
|
-
let
|
|
1781
|
+
let valor_multa = "000000000000000";
|
|
1775
1782
|
dadosBancario.multaAtraso = Number(dadosBancario.multaAtraso || 0);
|
|
1776
1783
|
if (dadosBancario.multaAtraso > 0) {
|
|
1777
1784
|
multa = "2";
|
|
1778
1785
|
data_multa = (0, import_date_fns5.format)((0, import_date_fns5.addDays)(new Date(boleto.vencimento), 1), "ddMMyyyy");
|
|
1779
|
-
|
|
1786
|
+
valor_multa = dadosBancario.multaAtraso.toFixed(2).replace(".", "").padStart(15, "0");
|
|
1780
1787
|
}
|
|
1781
1788
|
arquivo.add("756");
|
|
1782
1789
|
arquivo.add("0001");
|
|
1783
1790
|
arquivo.add("3");
|
|
1784
1791
|
arquivo.add("");
|
|
1785
|
-
arquivo.add(sequencia.toString().padStart(5, "0"));
|
|
1792
|
+
arquivo.add((++sequencia).toString().padStart(5, "0"));
|
|
1786
1793
|
arquivo.add("R");
|
|
1787
1794
|
arquivo.add(" ");
|
|
1788
1795
|
arquivo.add("01");
|
|
@@ -1794,7 +1801,7 @@ function gerarRemessa4({ dados }) {
|
|
|
1794
1801
|
arquivo.add("000000000000000");
|
|
1795
1802
|
arquivo.add(multa);
|
|
1796
1803
|
arquivo.add(data_multa);
|
|
1797
|
-
arquivo.add(
|
|
1804
|
+
arquivo.add(valor_multa);
|
|
1798
1805
|
arquivo.add(" ".padEnd(10, " "));
|
|
1799
1806
|
arquivo.add(" ".padEnd(40, " "));
|
|
1800
1807
|
arquivo.add(" ".padEnd(40, " "));
|
|
@@ -1838,47 +1845,6 @@ function gerarRemessa4({ dados }) {
|
|
|
1838
1845
|
return null;
|
|
1839
1846
|
}
|
|
1840
1847
|
}
|
|
1841
|
-
function getLogradouro(logradouro) {
|
|
1842
|
-
const logradouro_split = logradouro.split(" ");
|
|
1843
|
-
let tipo_logradouro = "RUA";
|
|
1844
|
-
if (/^R(\.|UA)?\b/i.test(logradouro_split[0])) {
|
|
1845
|
-
logradouro = logradouro_split.slice(1).join(" ");
|
|
1846
|
-
} else if (/^AV(\.|ENIDA)?\b/i.test(logradouro_split[0])) {
|
|
1847
|
-
tipo_logradouro = "AV";
|
|
1848
|
-
logradouro = logradouro_split.slice(1).join(" ");
|
|
1849
|
-
} else if (/^SERVIDAO\b/i.test(logradouro_split[0])) {
|
|
1850
|
-
tipo_logradouro = "SEV";
|
|
1851
|
-
logradouro = logradouro_split.slice(1).join(" ");
|
|
1852
|
-
} else if (/^SEV(\.)?\b/i.test(logradouro_split[0])) {
|
|
1853
|
-
tipo_logradouro = "SEV";
|
|
1854
|
-
logradouro = logradouro_split.slice(1).join(" ");
|
|
1855
|
-
} else if (/^ROD(\.|OVIA)?\b/i.test(logradouro_split[0])) {
|
|
1856
|
-
tipo_logradouro = "ROD";
|
|
1857
|
-
logradouro = logradouro_split.slice(1).join(" ");
|
|
1858
|
-
} else if (/^FAZ(\.|ENDA)?\b/i.test(logradouro_split[0])) {
|
|
1859
|
-
tipo_logradouro = "FAZ";
|
|
1860
|
-
logradouro = logradouro_split.slice(1).join(" ");
|
|
1861
|
-
} else if (/^EST(\.|RADA)?\b/i.test(logradouro_split[0])) {
|
|
1862
|
-
tipo_logradouro = "EST";
|
|
1863
|
-
logradouro = logradouro_split.slice(1).join(" ");
|
|
1864
|
-
} else if (/^ALA(\.|MEDA)?\b/i.test(logradouro_split[0])) {
|
|
1865
|
-
tipo_logradouro = "ALA";
|
|
1866
|
-
logradouro = logradouro_split.slice(1).join(" ");
|
|
1867
|
-
} else if (/^ENC(\.|RUZILHADA)?\b/i.test(logradouro_split[0])) {
|
|
1868
|
-
tipo_logradouro = "ENC";
|
|
1869
|
-
logradouro = logradouro_split.slice(1).join(" ");
|
|
1870
|
-
} else if (/^PR(\.|ACA)?\b/i.test(logradouro_split[0])) {
|
|
1871
|
-
tipo_logradouro = "PR";
|
|
1872
|
-
logradouro = logradouro_split.slice(1).join(" ");
|
|
1873
|
-
} else if (/^TRAVESSA\b/i.test(logradouro_split[0])) {
|
|
1874
|
-
tipo_logradouro = "TV";
|
|
1875
|
-
logradouro = logradouro_split.slice(1).join(" ");
|
|
1876
|
-
} else if (/^TV(\.)?\b/i.test(logradouro_split[0])) {
|
|
1877
|
-
tipo_logradouro = "TV";
|
|
1878
|
-
logradouro = logradouro_split.slice(1).join(" ");
|
|
1879
|
-
}
|
|
1880
|
-
return { tipo_logradouro, logradouro };
|
|
1881
|
-
}
|
|
1882
1848
|
|
|
1883
1849
|
// src/banks/sicoob/gerarPDF.ts
|
|
1884
1850
|
var import_bwip_js4 = __toESM(require("bwip-js"));
|
|
@@ -1892,14 +1858,11 @@ function gerarPDF4(_0) {
|
|
|
1892
1858
|
text: dadosPDF.boleto.codigoBarra,
|
|
1893
1859
|
height: 20
|
|
1894
1860
|
});
|
|
1895
|
-
dadosPDF.boleto.numeroDocumento = formatNumeroDocumento(
|
|
1896
|
-
dadosPDF.boleto.numeroDocumento,
|
|
1897
|
-
dadosPDF.boleto.parcela
|
|
1898
|
-
);
|
|
1899
1861
|
dadosPDF.beneficiario.dadosBancario.agencia = formatAgenciaCodigoCedente(
|
|
1900
1862
|
dadosPDF.beneficiario.dadosBancario.agencia,
|
|
1901
1863
|
dadosPDF.beneficiario.dadosBancario.codigo_cliente
|
|
1902
1864
|
);
|
|
1865
|
+
dadosPDF.beneficiario.dadosBancario.carteira = dadosPDF.beneficiario.dadosBancario.carteira.padStart(2, "0");
|
|
1903
1866
|
dadosPDF.boleto.nossoNumero = formatNossoNumero(
|
|
1904
1867
|
dadosPDF.boleto.parcela,
|
|
1905
1868
|
dadosPDF.boleto.nossoNumero
|
|
@@ -1920,6 +1883,7 @@ function gerarPDF4(_0) {
|
|
|
1920
1883
|
dadosPDF.boleto.valorDescontoAbatimento = maskFormat_default.numberToReal(
|
|
1921
1884
|
dadosPDF.boleto.valorDescontoAbatimento
|
|
1922
1885
|
);
|
|
1886
|
+
const valorDocumento = Number(dadosPDF.boleto.valorDocumento);
|
|
1923
1887
|
dadosPDF.boleto.valorDocumento = maskFormat_default.numberToReal(
|
|
1924
1888
|
dadosPDF.boleto.valorDocumento
|
|
1925
1889
|
);
|
|
@@ -1930,6 +1894,23 @@ function gerarPDF4(_0) {
|
|
|
1930
1894
|
if (dadosPDF.boleto.quantidade) {
|
|
1931
1895
|
dadosPDF.boleto.quantidade = maskFormat_default.numberToReal(dadosPDF.boleto.quantidade);
|
|
1932
1896
|
}
|
|
1897
|
+
const jurosMes = dadosPDF.beneficiario.dadosBancario.juros;
|
|
1898
|
+
const jurosDia = jurosMes / 100 / 30 * valorDocumento;
|
|
1899
|
+
if (jurosDia > 0) {
|
|
1900
|
+
dadosPDF.boleto.instrucao1 = `COBRAR JUROS DE R$${maskFormat_default.numberToReal(jurosDia)} AO DIA, AP\xD3S O VENCIMENTO`;
|
|
1901
|
+
}
|
|
1902
|
+
const descontoVencimento = dadosPDF.beneficiario.dadosBancario.desconto || 0;
|
|
1903
|
+
if (descontoVencimento > 0) {
|
|
1904
|
+
dadosPDF.boleto.instrucao2 = `AT\xC9 O VENCIMENTO, CONCEDER DESCONTO DE ${descontoVencimento}%`;
|
|
1905
|
+
}
|
|
1906
|
+
const multaAtraso = dadosPDF.beneficiario.dadosBancario.multa || 0;
|
|
1907
|
+
if (multaAtraso > 0) {
|
|
1908
|
+
dadosPDF.boleto.instrucao3 = `MULTA DE ${multaAtraso}%`;
|
|
1909
|
+
}
|
|
1910
|
+
const protestoDias = dadosPDF.beneficiario.dadosBancario.protesto || 0;
|
|
1911
|
+
if (protestoDias > 0) {
|
|
1912
|
+
dadosPDF.boleto.instrucao4 = `PROTESTAR AP\xD3S ${protestoDias} DIAS CORRIDOS DO VENCIMENTO`;
|
|
1913
|
+
}
|
|
1933
1914
|
dadosPDF.boleto.valor = maskFormat_default.numberToReal(dadosPDF.boleto.valor);
|
|
1934
1915
|
const content = compileHbs(getPathTemplates("sicoob-boleto.hbs"), dadosPDF);
|
|
1935
1916
|
const config = {
|
|
@@ -1970,21 +1951,75 @@ function formatAgenciaCodigoCedente(agencia, conta) {
|
|
|
1970
1951
|
function formatNossoNumero(parcela, nossoNumero) {
|
|
1971
1952
|
parcela = String(parcela).padStart(2, "0");
|
|
1972
1953
|
nossoNumero = nossoNumero.padStart(8, "0");
|
|
1973
|
-
|
|
1974
|
-
return nossoNumeroFmt.apply(parcela + nossoNumero);
|
|
1954
|
+
return `${parcela}/${nossoNumero.slice(0, 7)}-${nossoNumero.slice(7, 8)}`;
|
|
1975
1955
|
}
|
|
1976
|
-
|
|
1977
|
-
|
|
1978
|
-
|
|
1979
|
-
|
|
1980
|
-
|
|
1956
|
+
|
|
1957
|
+
// src/banks/sicoob/gerarRetorno.ts
|
|
1958
|
+
function gerarRetorno4({ dados }) {
|
|
1959
|
+
try {
|
|
1960
|
+
const { arquivo } = dados;
|
|
1961
|
+
const documentos = [];
|
|
1962
|
+
for (let i = 0; i < arquivo.length; i++) {
|
|
1963
|
+
let linha = arquivo[i];
|
|
1964
|
+
const banco = linha.substring(0, 3);
|
|
1965
|
+
if (banco !== "756" /* SICOOB */) {
|
|
1966
|
+
continue;
|
|
1967
|
+
}
|
|
1968
|
+
const ocorrencia = linha.substring(15, 17);
|
|
1969
|
+
if (ocorrencia !== "06" && ocorrencia !== "17") {
|
|
1970
|
+
continue;
|
|
1971
|
+
}
|
|
1972
|
+
let segmento = linha.substring(13, 14);
|
|
1973
|
+
if (segmento === "T") {
|
|
1974
|
+
const meu_numero = linha.substring(105, 130).trimEnd();
|
|
1975
|
+
let tipo_documento = "INDEFINIDO";
|
|
1976
|
+
let id_documento = meu_numero;
|
|
1977
|
+
if (meu_numero.includes("-")) {
|
|
1978
|
+
const [tipo, id] = meu_numero.split("-");
|
|
1979
|
+
tipo_documento = tipo;
|
|
1980
|
+
id_documento = id;
|
|
1981
|
+
}
|
|
1982
|
+
const especie = tipo_documento.length ? tipo_documento : "INDEFINIDO";
|
|
1983
|
+
linha = arquivo[++i];
|
|
1984
|
+
segmento = linha.substring(13, 14);
|
|
1985
|
+
if (segmento === "U") {
|
|
1986
|
+
const valorAbatimentoString = linha.substring(47, 62);
|
|
1987
|
+
const valorAbatimento = Number(valorAbatimentoString) / 100;
|
|
1988
|
+
const valorDescontoString = linha.substring(32, 47);
|
|
1989
|
+
const valorDesconto = Number(valorDescontoString) / 100;
|
|
1990
|
+
const valorPagoString = linha.substring(77, 92);
|
|
1991
|
+
const valorPago = Number(valorPagoString) / 100;
|
|
1992
|
+
const valorJurosString = linha.substring(17, 32);
|
|
1993
|
+
const valorJuros = Number(valorJurosString) / 100;
|
|
1994
|
+
const valorMulta = 0;
|
|
1995
|
+
const descontos = valorAbatimento + valorDesconto;
|
|
1996
|
+
const valorTotal = valorPago - valorJuros + descontos;
|
|
1997
|
+
const documento = {
|
|
1998
|
+
id_documento,
|
|
1999
|
+
especie,
|
|
2000
|
+
valor: valorPago,
|
|
2001
|
+
valor_multa: valorMulta,
|
|
2002
|
+
valor_juros: valorJuros,
|
|
2003
|
+
valor_desconto: valorDesconto,
|
|
2004
|
+
valor_total: valorTotal
|
|
2005
|
+
};
|
|
2006
|
+
documentos.push(documento);
|
|
2007
|
+
}
|
|
2008
|
+
}
|
|
2009
|
+
}
|
|
2010
|
+
return documentos;
|
|
2011
|
+
} catch (error) {
|
|
2012
|
+
console.log(error);
|
|
2013
|
+
return null;
|
|
2014
|
+
}
|
|
1981
2015
|
}
|
|
1982
2016
|
|
|
1983
2017
|
// src/banks/sicoob/index.ts
|
|
1984
2018
|
var sicoob = {
|
|
1985
2019
|
gerarDadosBoleto: gerarDadosBoleto4,
|
|
1986
2020
|
gerarRemessa: gerarRemessa4,
|
|
1987
|
-
gerarPDF: gerarPDF4
|
|
2021
|
+
gerarPDF: gerarPDF4,
|
|
2022
|
+
gerarRetorno: gerarRetorno4
|
|
1988
2023
|
};
|
|
1989
2024
|
|
|
1990
2025
|
// src/banks/banco-brasil/gerarDadosBoleto.ts
|
|
@@ -2347,7 +2382,7 @@ function gerarRemessa5({ dados }) {
|
|
|
2347
2382
|
arquivo.add("000000000000000");
|
|
2348
2383
|
arquivo.add("000000000000000");
|
|
2349
2384
|
arquivo.add("000000000000000");
|
|
2350
|
-
arquivo.add(
|
|
2385
|
+
arquivo.add(boleto.identificacaoTitulo.padEnd(25, " "));
|
|
2351
2386
|
arquivo.add(protesto);
|
|
2352
2387
|
arquivo.add(diasProtesto);
|
|
2353
2388
|
arquivo.add(baixarDevolver);
|
|
@@ -2444,7 +2479,63 @@ function gerarRemessa5({ dados }) {
|
|
|
2444
2479
|
}
|
|
2445
2480
|
|
|
2446
2481
|
// src/banks/banco-brasil/gerarRetorno.ts
|
|
2447
|
-
function
|
|
2482
|
+
function gerarRetorno5({ dados }) {
|
|
2483
|
+
try {
|
|
2484
|
+
const { arquivo } = dados;
|
|
2485
|
+
const documentos = [];
|
|
2486
|
+
for (let i = 0; i < arquivo.length; i++) {
|
|
2487
|
+
let linha = arquivo[i];
|
|
2488
|
+
const banco = linha.substring(0, 3);
|
|
2489
|
+
if (banco !== "001" /* BANCO_BRASIL */) {
|
|
2490
|
+
continue;
|
|
2491
|
+
}
|
|
2492
|
+
const ocorrencia = linha.substring(15, 17);
|
|
2493
|
+
if (ocorrencia !== "06" && ocorrencia !== "17") {
|
|
2494
|
+
continue;
|
|
2495
|
+
}
|
|
2496
|
+
let segmento = linha.substring(13, 14);
|
|
2497
|
+
if (segmento === "T") {
|
|
2498
|
+
const meu_numero = linha.substring(105, 130).trimEnd();
|
|
2499
|
+
let tipo_documento = "INDEFINIDO";
|
|
2500
|
+
let id_documento = meu_numero;
|
|
2501
|
+
if (meu_numero.includes("-")) {
|
|
2502
|
+
const [tipo, id] = meu_numero.split("-");
|
|
2503
|
+
tipo_documento = tipo;
|
|
2504
|
+
id_documento = id;
|
|
2505
|
+
}
|
|
2506
|
+
const especie = tipo_documento.length ? tipo_documento : "INDEFINIDO";
|
|
2507
|
+
linha = arquivo[++i];
|
|
2508
|
+
segmento = linha.substring(13, 14);
|
|
2509
|
+
if (segmento === "U") {
|
|
2510
|
+
const valorAbatimentoString = linha.substring(47, 62);
|
|
2511
|
+
const valorAbatimento = Number(valorAbatimentoString) / 100;
|
|
2512
|
+
const valorDescontoString = linha.substring(32, 47);
|
|
2513
|
+
const valorDesconto = Number(valorDescontoString) / 100;
|
|
2514
|
+
const valorPagoString = linha.substring(77, 92);
|
|
2515
|
+
const valorPago = Number(valorPagoString) / 100;
|
|
2516
|
+
const valorJurosString = linha.substring(17, 32);
|
|
2517
|
+
const valorJuros = Number(valorJurosString) / 100;
|
|
2518
|
+
const valorMulta = 0;
|
|
2519
|
+
const descontos = valorAbatimento + valorDesconto;
|
|
2520
|
+
const valorTotal = valorPago - valorJuros + descontos;
|
|
2521
|
+
const documento = {
|
|
2522
|
+
id_documento,
|
|
2523
|
+
especie,
|
|
2524
|
+
valor: valorPago,
|
|
2525
|
+
valor_multa: valorMulta,
|
|
2526
|
+
valor_juros: valorJuros,
|
|
2527
|
+
valor_desconto: valorDesconto,
|
|
2528
|
+
valor_total: valorTotal
|
|
2529
|
+
};
|
|
2530
|
+
documentos.push(documento);
|
|
2531
|
+
}
|
|
2532
|
+
}
|
|
2533
|
+
}
|
|
2534
|
+
return documentos;
|
|
2535
|
+
} catch (error) {
|
|
2536
|
+
console.log(error);
|
|
2537
|
+
return null;
|
|
2538
|
+
}
|
|
2448
2539
|
}
|
|
2449
2540
|
|
|
2450
2541
|
// src/banks/banco-brasil/index.ts
|
|
@@ -2452,7 +2543,7 @@ var bancoBrasil = {
|
|
|
2452
2543
|
gerarDadosBoleto: gerarDadosBoleto5,
|
|
2453
2544
|
gerarPDF: gerarPDF5,
|
|
2454
2545
|
gerarRemessa: gerarRemessa5,
|
|
2455
|
-
gerarRetorno:
|
|
2546
|
+
gerarRetorno: gerarRetorno5
|
|
2456
2547
|
};
|
|
2457
2548
|
|
|
2458
2549
|
// src/gerar.ts
|
|
@@ -2523,6 +2614,12 @@ function retorno({ banco, dados }) {
|
|
|
2523
2614
|
if (banco === "748" /* SICREDI */) {
|
|
2524
2615
|
return sicredi.gerarRetorno({ banco, dados });
|
|
2525
2616
|
}
|
|
2617
|
+
if (banco === "001" /* BANCO_BRASIL */) {
|
|
2618
|
+
return bancoBrasil.gerarRetorno({ banco, dados });
|
|
2619
|
+
}
|
|
2620
|
+
if (banco === "756" /* SICOOB */) {
|
|
2621
|
+
return sicoob.gerarRetorno({ banco, dados });
|
|
2622
|
+
}
|
|
2526
2623
|
}
|
|
2527
2624
|
|
|
2528
2625
|
// src/config/index.ts
|