Giter Club home page Giter Club logo

bopepo's People

Contributors

clairtonluz avatar fernandobgi avatar gilmatryx avatar misaelbarreto avatar romuloaps avatar rvnovaes avatar samuelvalerio avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

bopepo's Issues

[Banestes] Erro no cálculo do dígito da chave asbace

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

Possibilitar sobrescrita de labels dos campos do boleto

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.

Novo enum com todos os campos padrões do boleto

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.

  • Criar novo método para permitir a sobrescrita com o enum.

Nosso número não aceita / (barra)

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!

Vulnerabilidades do projeto

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.

Código de Carteira fixo no Boleto HSBC deve ser variável

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:

  • O Cliente registra um título no Banco;
  • O Banco gera e envia o Boleto (Original) ao Sacado;
  • Caso, por alguma razão (ex.: extravio do Boleto Original), o Sacado solicite o mesmo Boleto ao Cliente, e este gerá-lo (Cópia) através do ERP que faz uso da bopepo, a linha digitável poderá não ser a mesma, visto o problema relatado;
  • O Sacado efetua o pagamento do Boleto (Cópia) porém o Banco não o reconhece, visto que não é mesmo Boleto (Original) que o Banco gerou;
  • Após o vencimento do Boleto, o Banco pode entrar com uma ação de PROTESTO contra o Sacado.

Sugiro que haja uma forma de personalizar o Código da Carteira, mesmo que este seja inicializado como "00".

Campos formatados em função do padrão de cada Banco

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.

Campo Cedente deve ser beneficiário

Informação cobrada pelo Bradesco, segundo eles é regulamentação do Bacen.

Cedente deve ser renomeado para Beneficiário
Sacado deve ser renomeado para Pagador

Inserir meta-dados realcionados ao PDF

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:

  • Titulo
  • Autor
  • Assunto
  • Palavras-Chave
  • Data de Criação

Caixa econômica (17 posições)

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.