Biblioteca Java para geração de boletos bancários.
jrimum / bopepo Goto Github PK
View Code? Open in Web Editor NEWComponente para a geração de boletos bancários.
Home Page: www.jrimum.org/bopepo
License: Apache License 2.0
Componente para a geração de boletos bancários.
Home Page: www.jrimum.org/bopepo
License: Apache License 2.0
Biblioteca Java para geração de boletos bancários.
Sou desenvolvedor em uma empresa de ERP, e nos deparamos com o seguinte problema:
Um título (Boleto) Com Registro, enviado ao HSBC através de Arquivo Remessa, com o Comando "01 - Registro de títulos", terá sua Linha Digitável gerada (pelo banco) com o Código da Carteira:
00 - Simples
03 - Garantias
Acontece que, o Banco HSBC, ao gerar o Boleto do título sob o comando informado, utilizará um dos códigos acima conforme as opções da Carteira de Cobrança do seu Cliente.
Assim, o CODIGO_DA_CARTEIRA que consta como estático na classe CLHSBCCobrancaRegistrada.java gera problemas na seguinte situação:
Sugiro que haja uma forma de personalizar o Código da Carteira, mesmo que este seja inicializado como "00".
Integrar colaboração iniciada pelo @douglasramiro em:
https://groups.google.com/d/msg/jrimum-community/MUL9a-rOyHE/dq25iBDAUi8J
Parte já foi feita em:
Boa noite
Projeto está ativo/funcional ainda ?
Gostaria de sugerir uma melhoria que consistiria em possibilitar a sobrescrita das labels dos campos do boleto tal como hoje utilizamos o método addTextosExtras
para sobrescrever valores dos campos do boleto. A utilização poderia ficar mais ou menos assim:
boleto.addTextosExtras("lblRsCedente", "Beneficiário")
Sei que hoje isso é possível utilizando um template customizado, mas seria interessante ter a possibilidade de fazer essa alteração via algum método (conforme sugestão acima), já que é uma alteração simples e não necessitaria implementar um template.
Criar um enum com todos os campos padrão do boleto para permitir que o dev localize facilmente qual campo ele precisa modificar e evitar erros de escrita.
Pessoal,
Estou validando o boleto junto ao BANESTES e foi identificado que o cálculo estava dando uma divergência.
Fui no fonte CCLBanestes.java e verifiquei que a regra "Se o Reste > 1, então D2 = 11 - resto" para o recálculo estava faltando.
Fiz esse ajuste e mandei um Pull request
Segundo especificação do Bacen (informação cobrada pelo Bradesco) o nosso número obrigatóriamente deve informar a carteira antes para boletos registrados, porém a API não aceita este formato.
Error org.jrimum.bopepo.campolivre.CampoLivreException: java.lang.IllegalArgumentException: Nosso número ["25/97001498446"] do título deve conter somente dígitos numéricos! java.lang.IllegalArgumentException: Nosso número ["25/97001498446"] do título deve conter somente dígitos numéricos!
I try editing the .ODT template but no success.. any suggestion?
Alguma previsão de retorno do repositório??
Como descrito em jrimum/projeto#2, realizar a troca das APIs após a conclusão de jrimum/texgit#1.
Em JRimum-Community alguns devs demonstraram o interesse em alterar os valores padrão do PDF gerado.
Nova funcionalidade
Métodos para permitir a inserção de valores relacionados aos seguintes dados do documento PDF:
Utilizar novo objeto específico para o Código do Cedente criado em jrimum/domkee#1 para gerar boletos que usem esse número no lugar de usar esse número como o número da conta.
Atualmente o Bopepo tem como saída de dados no boleto, todos os campos em um só padrão independente do banco.
Uma solução adota para permitir que se tenha cada campo escrito em função de um padrão de um dado banco é realizar a sobrescrita de campo.
Para evitar esse retrabalho, pois sabe-se que o nosso número em cada banco segue um padrão de escrita próprio, espera-se que o Bopepo já gere o boleto com o padrão conhecido de um determinado banco.
Fazer
Implementar lógica de geração de dados de campos formatados em função do padrão de cada banco.
Como discutido em JRimum-Community. Os templates do boleto precisam ser alterados para que fiquem de acordo com as novas regras.
Ao gerar a linha digitáveis do boleto da caixa econômica com nosso número de 17 posições, o bopepo está adicionando o número 1 após o código da moeda (9). Esse código está sendo adicionado na classe CLCaixaEconomicaFederalSINCO na seguinte linha:
this.add(new Field(1, 1));
Na minha opinião, isso está errado, pois, como diz a documentação da Caixa, após o código da moeda, deve vir o código do cedente.
Documento da caixa:
http://downloads.caixa.gov.br/_arquivos/cobranca_caixa/manuaissicob/ESP_COD_BARRAS_SIGCB_COBRANCA_CAIXA.pdf
Implementar novo banco com as informações fornecidas em:
https://groups.google.com/d/msg/jrimum-community/TxnmpDNTaF4/DA5U099H-vEJ
Em meu projeto estou utilizando o gradlew para gerir os pacotes de que forma posso fazer isso no bopepo
Existe suporte para boletos ITAU ??
Olá Pessoal.
Primeiramente, que projeto sensacional, parabéns.
Segundamente, só gostaria de confirmar se este exemplo pode ser utilizado para geração de boletos do BB COM REGISTRO.
Obrigado desde já!
Ola
O boleto da caixa já atende ao padrão SIGCB?
Obrigado,
Carlo.
Integrar colaboração feita pelo Fabiano Carrijo iniciada em:
https://groups.google.com/d/msg/jrimum-community/_fOyQ2WnMR0/-Rx0ZWQG0kwJ
Olá tudo bem? Gostaria de saber se existe a possibilidade de mudança de versão da lib Log4j para a mais recente. A atual usada no projeto bopepo, possui vulnerabilidades de backdoor.
Informação cobrada pelo Bradesco, segundo eles é regulamentação do Bacen.
Cedente deve ser renomeado para Beneficiário
Sacado deve ser renomeado para Pagador
De que forma devo realizar a importação ???
Atualmente a passagem de parâmetros é feita passando um par ("NomeDoParametro", Objeto).
Mudar para passar parâmetros utilizando um enum (específico de um banco) e um Number ao invés de um Object.
Devido a várias ocorrências e pedidos, colocar o complemento do endereço do sacado no boleto.
Avaliar sugestão dada por Edson Richter
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.