Cálculo de Margem
Histórico de Revisões
Data | Quem | Comentários |
---|---|---|
11/01/2017 | Victor César | Criação do Documento |
27/01/2017 | Jefferson Quesado | Revisão Arquitetura |
01/02/2017 | Inaldo França | Ajustes solicitados pela arquitetura |
Necessidade
A Agrosema tem a necessidade de detectar se determinada venda está atingindo ou não a margem média de lucro por cada vendedor.
Solução
O Sistema realizará o calculo de rentabilidade para saber se a margem total do pedido está maior ou menor que a margem definida para cada vendedor. Se a margem obtida for menor o sistema exibirá um alerta informando que aquele pedido ficará bloqueado no ERP, caso a margem for maior o sistema não exibirá o alerta.
Para chegar na margem geral do pedido é preciso construir uma série cálculos, onde no final deverá ter a média de todos os produtos do pedido e identificar se a margem foi ou não atingida pelo vendedor.
Iremos dividir em dois momentos o cálculo, Primeiramente calcular o CUSTO de cada item, e depois a MARGEM Geral do Pedido.
Pré-Requisitos
- O Sistema deve ter a configuração ID_RENTABILIDADE com o valor S
- O Sistema deve possuir o cadastro de parâmetro ID_CALCULA_CUSTO configurado com S
- A Margem de cada vendedor deve estar cadastrada no ERP no campo A3_ZZMBMIN e integrada com o GeoSales na tabela VENDEDOR
- O Custo do Produto deve estar cadastrado no ERP no campo DA1_ZZCUST e integrado com o GeoSales na tabela PRODUTO_CUSTO
- O Juros do dia de cada Produto deve estar cadastrado no ERP no campo A3_ZZTXMES e integrado no GeoSales na tabela PRODUTO
- Integrar a tabela FAMILIA_PRODUTO_RENTABILIDADE
Cálculo
Como exemplo iremos adotar as seguinte informações:
- Custo do produto Lorbson - R$400,00 (Essa informação será cadastrada no ERP)
- Quantidade vendida: 1
- Vencimento: Data de Hoje - (Essa campo é o mesmo que foi criado na funcionalidade de Bloqueio por Prazo)
- Vendedor AGROSEMA - Margem Mínima de 15% (Essa informação será cadastrada no ERP)
- Taxa de Juros de (1,8% a.m) / 30 = Taxa de Juros a.d = 0,06%. (Essa informação será cadastrada no ERP)
- Valor total do pedido = R$ 516,75
Cálculo do Custo
- O Custo será calculado através de Listeners, será criado uma tabela na base de dados para listar esses listeners e controlar a ordem de aplicação se houver a necessidade de realizar mais de um cálculo para achar o custo do Produto.
Estrutura da Tabela: APLICACAO_CUSTO
ID | DS_LISTENER | ORDEM | ATIVO |
---|---|---|---|
CÓDIGO SEQUENCIAL | DESCRIÇÃO DO LISTENER | ORDEM DE APLICAÇÃO | SE ESTÁ ATIVO OU NÃO. |
- Todo listener de custo deve preencher o campo VL_CUSTO da tabela ITEM_PEDIDO
- Para o cálculo do custo dos produtos da AGROSEMA será criado o listener TAXA_VENCIMENTO
- Para esse listener será aplicado o seguinte cálculo:
ONDE | |||
---|---|---|---|
DIAS | (VENCIMENTO - DATA ATUAL), Resultado deve ser em número de dias | ||
VR_CUSTO | Custo do produto da tabela PRODUTO_CUSTO | ||
PR_JUROS | Percentual de Juros do dia de Cada produto |
Custo do Produto = VR_CUSTO + (VR_CUSTO * (DIAS * PR_JUROS)) 400 + (400*(0*0,06%)) = R$400,00
- O resultado desse calculo será inserido no campo VL_CUSTO da tabela ITEM_PEDIDO e será utilizado no cálculo da Margem.
Calculo da Margem
- Após obter o custo de cada item a Margem de Lucro do Pedido será calculada da seguinte maneira:
Calcular a Margem do Lucro: Margem de Lucro = 1 - (Soma dos Custos do Produto (Campo VL_CUSTO da tabela ITEM_PEDIDO) * Quantidade de Cada Item / Valor Total do pedido) 1 - (400 / 516,75) = 0,2259 ou 22,59% se multiplicarmos por 100
- Após obter esse percentual o mesmo será comparado com o campo PR_MARGEM.
- Se a Margem for menor que o percentual do PR_MARGEM da tabela VENDEDOR exibir o seguinte alerta: “Pedido bloqueado. Motivo: Margem do pedido abaixo do permitido.”
- Se a margem for maior que o percentual do PR_MARGEM da tabela VENDEDOR não exibir nenhum alerta.
Observação
- Na fórmula que foi enviada pelo Reginaldo da AGROSEMA teriam mais dois passos, mas foi identificado a nível de sistema ele é redundante, uma vez que não iremos exibir o total do lucro do pedido esses calculo NÃO são necessários
Terceiro Cálculo
Calcular o Total do Lucro: Total do Lucro = (Valor total do pedido * Margem de Lucro) 516,75 * 0,2259 = R$116,73
Quarto Cálculo
Margem Geral do pedido Margem = (Soma do Lucro de cada item do pedido / Valor total do pedido) * 100 (116,73 / 516,75) * 100 = 22,59%
Regras de Negócio
[RN1]– Regra de Alerta do pedido
Para exibir alerta de que o pedido será bloqueado no ERP, o resultado da MARGEM deve ser maior ou igual a margem mínima definida por vendedor. No caso supracitado a margem do vendedor é de 15%. Como a margem do pedido foi de 22,59%, o pedido vai passar sem bloqueios.
[RN2] – A mensagem que será exibida será: “Pedido bloqueado. Motivo: Margem do pedido abaixo do permitido.”
[RN3] – Criar o campo PR_MARGEM na tabela VENDEDOR para especificar a margem de cada vendedor.
[RN4] – Criar o campo PR_JUROS na tabela PRODUTO para informar o juros de cada produto
[RN5] – Criar uma configuração ID_ALERTA_MARGEM para ativar o alerta para o calculo de Margem
Integração
No momento da integração os campos e tabelas abaixo devem ser preenchidos, conforme descrito:
[RN6] – O campo PR_MARGEM na tabela VENDEDOR deve ser preenchida com a informação do ERP que da Tabela SA3 da coluna A3_ZZMBMIN.
[RN7] – O campo VR_CUSTO na tabela PRODUTO_CUSTO deve ser preenchida com a informação do ERP que da Tabela DA1 da coluna DA1_ZZCUST.
[RN8] – O campo PR_JUROS na tabela PRODUTO deve ser preenchida com a informação do ERP que da Tabela SA3 da coluna A3_ZZTXMES.
[RN9] - Integrar a tabela FAMILIA_PRODUTO_RENTABILIDADE
Cenários
Cenário Feliz
Dados
- Vendedor: João
- Produto: Semente A
- Custo (R$): 400
- Vencimento: 30 dias (1,33%)
- Margem Vendedor Joao: 15%
- Tx Juros: 0,06% (a.d)
- Total Pedido (R$): 516,75
Operação
- Vendedor João cria o pedido;
- Selecionar o Item: Semente A
- O vendedor salva o Pedido
Assertivas
- Pedido enviado para o ERP com sucesso.
Cenário de Alerta
Dados
- Vendedor: João
- Produto: Semente B
- Custo (R$): 200
- Vencimento: 60 dias (2,40%)
- Margem Vendedor João: 15%
- Tx Juros: 0,06% (a.d)
- Total Pedido (R$): 230
Operação
- Vendedor João cria o pedido;
- Selecionar o Item: Semente B;
- O vendedor salva o Pedido
Assertivas
- A mensagem que será exibida “Pedido bloqueado. Motivo: Margem do pedido abaixo do permitido.”
- Pedido enviado para o ERP com sucesso.
Aprovação
Considero aprovada a documentação da funcionalidade especificada acima, e autorizo a implementação da mesma no Sistema GeoSales, em nome da Organização a qual estou vinculado.
Setor | Aprovado Por | Data | Assinatura |
---|---|---|---|
Tecnologia da Informação | Reginaldo Possari | ||
Comercial | André Franco |