Produto: | Automação da Força de Vendas |
Linha de Produto: | TOTVS CRM |
Segmento: | Cross Segmentos |
Módulo: | Vendas - Limite de Crédito |
Aplicação: | Web/Mobile |
Identificador: | DTSFAPD-2755 |
A funcionalidade recentemente implementada permite o processamento automatizado dos movimentos de limite de crédito por integração. Esse processo garante que os limites de crédito definidos sejam respeitados ao finalizar pedidos, reforçando o controle financeiro nas transações.
O objetivo desta funcionalidade é automatizar o controle de limites de crédito durante transações de venda, assegurando que os pedidos não excedam os limites pré-estabelecidos para cada cliente. Isso ajuda a prevenir riscos financeiros e melhora a gestão de crédito.
Validação de Limite de Crédito na Finalização do Pedido: Ao finalizar um pedido, o sistema automaticamente verifica se o limite de crédito disponível para o cliente cobre o valor do pedido. Isso é feito para assegurar que todas as transações estejam dentro do limite de crédito aprovado para cada cliente, evitando exposições financeiras indesejadas.
Bloqueio ou Permissão de Finalização Baseado no Limite de Crédito: Se o pedido exceder o limite de crédito disponível, o sistema bloqueia a finalização do pedido e alerta o usuário sobre a insuficiência de crédito. Isso impede que vendas sejam processadas sem a devida autorização, mantendo a integridade financeira da operação.
Reversão Automática de Movimentos de Crédito em Cancelamentos: Se um pedido previamente aprovado e que consumiu parte do limite de crédito for cancelado, o sistema automaticamente restaura o valor ao limite de crédito do cliente. Essa funcionalidade assegura que o limite de crédito seja sempre atualizado e correto, refletindo apenas as transações ativas.
Configuração de Tipos de Limite de Crédito:
Aplicação dos Limites ao Cadastro de Clientes:
Monitoramento e Ajuste de Limites de Crédito:
Desafio Antigo:
Gerenciar manualmente os limites de crédito para cada cliente, o que era suscetível a erros e demorado.
Com a nova funcionalidade, o sistema processa automaticamente as verificações de limite de crédito conforme os pedidos são finalizados, garantindo que as operações comerciais respeitem os limites financeiros dos clientes e reduzindo o risco de crédito.
Agora, a integração deverá processar movimentos de limitecredito
para que possa liberar a reserva de limitecredito
gerada pela aplicação.
Sendo assim:
wsconfigintegracao
:
INSERT INTO public.wsconfigintegracao (erp,contexto,descricao,tabela,campo,valor,idnativo)
VALUES ('COMUM','LIMITECREDITO','Parâmetro que define os status de pedidos que terão seus movimentos de limitecredito processados pela integração automaticamente. Valores podem ser separados por vírgula','processamovimento','sgltiposituacaopedido','PF',1);
INSERT INTO public.wsconfigintegracao (erp,contexto,descricao,tabela,campo,valor,idnativo)
VALUES ('COMUM','LIMITECREDITO','Parâmetro que define os status de pedidos que terão seus movimentos de limitecredito inativados pela integração automaticamente. Valores podem ser separados por vírgula','inativamovimento','sgltiposituacaopedido','PC',1);
INSERT INTO public.wsconfigintegracao (erp,contexto,descricao,tabela,campo,valor,idnativo)
VALUES ('COMUM','LIMITECREDITO','Parâmetro que define se o saldo de limitecredito será atualizado após processamento de flex. Valores podem ser: 1(sim) e 0(não)','apos_processamento','alterasaldo','0',1);
limitecredito
deverá:
limitecredito
ativas e não processadas de pedidos que possuem status dentro do definido pelo parâmetro processamovimento
.
// consulta 1
select * from limitecreditomovimento lcm
inner join pedido p on p.idpedido = lcm.idpedido
where p.idtiposituacaopedido in (select idtiposituacaopedido from tiposituacaopedido where sgltiposituacaopedido in (${parâmetro processamovimento})) and lcm.idnativo = 1 and lcm.idnprocessado = 0
update limitecreditomovimento set idnprocessado = 1 where idcontrolelimitecreditomovimento in (${consulta 1})
limitecreditos
acima, a integração deverá atualizar o saldo limitecredito
com o valor que foi recém processado, segundo:
update limitecredito set saldodisponível = saldodisponivel + ${movimento processado}
${parametro alterasaldo}
estiver marcado com valor 1.
limitecredito
deverá:
limitecredito
não processadas de pedidos que possuem status dentro do definido pelo parâmetro inativamovimento
.
// consulta 2
select * from limitecreditomovimento lcm
inner join pedido p on p.idpedido = lcm.idpedido
where p.idtiposituacaopedido in (select idtiposituacaopedido from tiposituacaopedido where sgltiposituacaopedido in (${parâmetro inativamovimento})) and lcm.idnativo = 1 and lcm.idnprocessado = 0
update limitecreditomovimento set idnativo = 0 where idcontrolelimitecreditomovimento in (${consulta 2})