Árvore de páginas

PROCESSAMENTO DE MOVIMENTOS DE LIMITE DE CRÉDITO POR INTEGRAÇÃO

   
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

    VISÃO GERAL

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.


    OBJETIVO

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.

  DETALHES FUNCIONAIS


  • 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.

Visualização Android

  COMO USAR?

  1. Configuração de Tipos de Limite de Crédito:

    • Navegue até a configuração de tipos de limite no módulo de vendas.
    • Defina quais tipos de limite de crédito serão utilizados (por exemplo, limite diário, mensal, por pedido).
  2. Aplicação dos Limites ao Cadastro de Clientes:

    • No cadastro de cada cliente, especifique o tipo e o valor do limite de crédito aplicável.
    • Esses limites ajudarão a controlar automaticamente as permissões de venda para cada cliente.
  3. Monitoramento e Ajuste de Limites de Crédito:

    • Regularmente, revise os limites de crédito atribuídos para garantir que estão alinhados com a política de crédito da empresa e a capacidade de pagamento do cliente.
    • Ajuste os limites conforme necessário para acomodar mudanças nas relações de negócio ou na situação financeira do cliente.

 EXEMPLO PRÁTICO


Desafio Antigo:

Gerenciar manualmente os limites de crédito para cada cliente, o que era suscetível a erros e demorado.


Solução Atualizada:

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.


  DETALHES TÉCNICOS

Agora, a integração deverá processar movimentos de limitecredito para que possa liberar a reserva de limitecredito gerada pela aplicação.

Sendo assim:

  • Inserir na tabela 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);
  • O serviço de processamento de limitecredito deverá:
    • Consultar quais são as movimentações de 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
    • Com esses movimentos no fluxo, a integração deverá processar o movimento, com o seguinte update:
      • update limitecreditomovimento set idnprocessado = 1 where idcontrolelimitecreditomovimento in (${consulta 1})
    • Após o processamento das 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}
        • Essa atualização somente deve acontecer quando o parâmetro ${parametro alterasaldo} estiver marcado com valor 1.
  • O serviço de inativação de limitecredito deverá:
    • Consultar quais são as movimentações de 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
    • Com esses movimentos no fluxo, a integração deverá processar o movimento, com o seguinte update:
      • update limitecreditomovimento set idnativo = 0 where idcontrolelimitecreditomovimento in (${consulta 2})

PERGUNTAS FREQUENTES

  • question_answer O que acontece se um pedido exceder o limite de crédito do cliente?
    Se um pedido exceder o limite de crédito disponível, o sistema bloqueará a finalização do pedido e notificará o usuário que o limite de crédito foi ultrapassado. O pedido não poderá ser concluído até que o limite seja ajustado ou o pedido modificado para se adequar ao limite existente.