1.0.0 • Published 9 years ago

atualizar-boleto v1.0.0

Weekly downloads
2
License
MIT
Repository
github
Last release
9 years ago

atualizar-boleto

Build Status

Módulo para atualização de valor do boleto bancário. Calcula multa, mora ou desconto.

Instalação

npm install --save atualizar-boleto

Utilização

var atualizarBoleto = require('atualizar-boleto');

atualizarBoleto({
    valor: 100,
    vencimento: new Date('Thu Jul 10 2015 12:00:00 GMT-0300 (BRT)'),
    dataDoPagamento: new Date(),
    porcentagemDaMulta: 0.02, // 2%
    porcentagemDaMora: 0.01, // 1% ao mês
    porcentagemDoDesconto: 0.05, // 5%
    diasDeAntecipacaoParaDesconto: 5
}, function(err, valorAtualizado) {
    if(err) {
        throw err;
    }

    console.log('Valor atualizado: ', valorAtualizado);
});

Como é complicado "calcular" quando os feriados móveis caem e como também é possível a criação de novos feriados, este módulo permite que você implemente a sua própria função que responde se uma data é ou não feriado (você pode consultar seu banco de dados ou algum webservice, por exemplo).

Você DEVE implementar esta função ou eventualmente o valor será calculado errado gerando prejuizo para uma das duas partes envolvidas. Veja o exemplo abaixo:

var atualizarBoleto = require('atualizar-boleto');

function eFeriado(data, callback) {
    // Lembre-se que `data` é um objeto do moment,
    // se quiser trabalhar com um objeto de data do JavaScript
    // adicione a linha; data = data.toDate();

    if(data.day() === 0 || data.day() === 6) {
        return callback(null, true); // É sábado ou domingo
    }

    var select = bancoDeDados.select([
        'SELECT * FROM feriados WHERE data=',
        data.format('DD/MM/YYYY')
    ].join(''));

    select.complete(function(err, feriados) {
        if(err) {
            return callback(err);
        }

        callback(null, feriados.length);
    });
}

atualizarBoleto({
    valor: 100,
    vencimento: new Date('Thu Jul 10 2015 12:00:00 GMT-0300 (BRT)'),
    dataDoPagamento: new Date(),
    porcentagemDaMulta: 0.02, // 2%
    porcentagemDaMora: 0.01, // 1% ao mês
    porcentagemDoDesconto: 0.05, // 5%
    diasDeAntecipacaoParaDesconto: 5,
    eFeriado: eFeriado // Informe aqui a sua função
}, function(err, valorAtualizado) {
    if(err) {
        throw err;
    }

    console.log('Valor atualizado: ', valorAtualizado);
});

Projetos Relacionados

  • Brasil Biblioteca de ferramentas utilitárias voltadas para programadores brasileiros.

  • Inscrição Estadual Biblioteca de validação de inscrições estaduais em JavaScript (browser e node.js)

  • DANFE Módulo node.js para gerar DANFEs em .pdf

Contribuições

  • Execute npm test antes de enviar pull requests, tenha certeza que todos os testes estão passando.
  • Envie bitcoins para 1MCMHhGyjK72CMsRG4yD2SsPCQ7haQDhPG

Licença MIT