Funcionalidade/Limite de crédito
Necessidade
Dependendo do tipo de venda, é necessário colocar um limite do quanto o cliente pode ficar com títulos em aberto.
Tipos de crédito
Alguns clientes possuem créditos distintos dependendo do Meio de Pagamento. Por exemplo, o cliente Martins possui 3000 reais de limite de crédito quando usa Cartão de crédito e 200 reais de Cheque Especial.
Excedente
As vezes, é possível assumir alguns riscos. Esses riscos são assumidos quando o cliente ultrapassa o valor do limite de crédito, indo até um valor excedente máximo. Existem duas fontes da informação do quanto o cliente pode exceder o seu limite de crédito:
- diretamente na tabela cliente
- valor excedente global, na configuração de limite excedente
Caso o cliente possua um valor de excedente explícito, esse valor será usado (incluindo 0). Caso ele não possua esse valor, usa-se o global.
Por questões de nomenclatura de cálculo, o excedente modifica o valor mínimo aceitável
do saldo do cliente. Caso não se use o excedente, o valor mínimo aceitável
é 0.
A vista NALS
Apesar do nome, o a vista NALS é bem intuitivo: caso o pagamento seja a vista, Não Altera Limite Saldo.
Isso indica que, caso o cliente pague no momento da compra, essa compra não alterará o saldo do limite de crédito do cliente.
Solução declarativa
Durante a tirada do pedido, interessa-se pelo limite de crédito caso essa venda faça com que o saldo fique abaixo do valor mínimo aceitável. Para saber se isso vai acontecer, precisa-se levar em consideração o limite do cliente L
, o quanto desse limite o cliente já consumiu (desconsiderando o pedido atual) C
, o valor do pedido atual P
e calcular o valor mínimo aceitável M
.
Dessa forma, o pedido estará válido para o limite de crédito se e somente se:
(L - C) - P >= M
Onde L - C
é o saldo disponível para consumir S
.