Carregando ...
Desculpe, ocorreu um erro ao carregar o conteúdo.

33190[OFF-TOPIC] Financeiro - modelagem de recorrência p ara pagamentos no CPagar

Expandir mensagens
  • Vitor Bueno
    19 de mai de 2016
      Olá pessoal,

      Tenho uma problemática a ser resolvida que trata do seguinte:

      Dicionário:

      - Fornecedor: contas convencionais (padaria, papelia, impostos, ...)
      - Credenciado: aquele que executa exames e fecha mensalmente, gerando um espelho para pagamento.
      - Lançamento Planejado: lançamento no CPagar que não tem ainda uma conta real para pagar (ex: Água, Net, Aluguel, Salários....  mas que são projetadas no CPagar para compor o caixa futuro)


      Caso:

      - No contas a pagar efetuo lançamento convencionais (de fornecedores), lançamentos de pagamentos parciais (baixa original, atrelando código filho e criando nova linha de registro) e lançamentos de fechamentos ( comissão de vendedores, e pagamento de credenciados).

      Porém, para fazermos a projeção de um fluxo de caixa, temos de efetuar os lançamentos planejados e quando chegam as contas efetuar a correção dos valores destes lançamentos planejados, tornando-os valores reais.

      Além disto, tenho uma funcionalidade que traz o fluxo de caixa baseado nesta lógica. Tudo funciona, porém, é muito burocrático (oneroso), uma vez que, em janeiro, o usuário tem que efetuar os lançamentos planejados de cada fornecedor (ou credenciado) em 12 parcelas (ou menos, dependendo de cada caso). Embora já tenha lógica para lançamentos múltiplos, ainda assim, a operação se torna custosa e requer que o usuário pense.


      A minha ideia seria a de montar uma tabela a parte do CPagar para controlar as recorrências, e é aí que eu gostaria da sugestão do pessoal quanto a montar esta lógica.

      Olhando pelo lado do custo de processamento do banco, vislumbrei a seguinte opção, para NÃO lançar mais pagamentos planejados, e trazer estes dados de pesquisas diretas no banco:

      - Continuar com a busca do CPagar e agregar a ela uma rotina com UNION fazendo select nas tabelas de faturamento (são em torno de 2000 credenciados faturáveis, com no máximo 5000 itens por mês, para dar a dimensão da busca). Agregar também a pesquisa na tabela de recorrência, ficando:

      SELECT
      ...
      FROM TCPagar

      UNION 

      SELECT
      ...
      FROM TFaturamentoCredenciado

      UNION

      SELECT
      ...
      FROM TCPagarRecorrente


      A atualização desta tabela de recorrência seria feita através de uma rotina anual que coletaria a média dos valores efetivamente lançados (ou corrigidos como pagos) no CPagar, para evitar interação com o usuário, sendo que ele poderia sucumbir com determinado fornecedor desta tabela se for preciso.

      Porém, quão custoso isso se tornaria para o BD considerando que temos um banco centralizado e 33 unidade espalhadas pelo Brasil utilizando o sistema concomitantemente (2-3 pessoas por unidade). 

      Eu, particularmente, não gosto muito de operações com UNION, prefiro montar inserts em tabelas temporárias dentro da StoredProcedure e faço um select no final, mas não sei mensurar se é menos custoso para efeito de processamento. Didaticamente é melhor para entendimento futuro.

      Vocês me sugerem alguma forma de modelagem desta tabela de recorrência? Ou mesmo do processo?


      Utilizo Microsoft SQL Server 2012 - 11.0.2100.60 (X64) Business Intelligence Edition (64-bit) on Windows NT 6.2 <X64> (Build 9200)
      e as pesquisas são 100% feitas via StoredProcedures.


      Qualquer colaboração será bem vinda.


      Agradeço.


      Vitor