Valorização das Transferências
Para tratar da estabilidade dos valores de transferências de estoques entre filiais, entre produtos e entre depósitos, foi criado a rotina para valorização.
O objetivo da rotina é manter os valores de movimentos iguais entre os movimentos de saída e entrada não subtraindo ou adicionando valor e ainda deixando os movimentos de acordo com o preço médio e assim, não distorcendo o mesmo.
Importante
- Em transferências, o valor de saída e de entrada entre os movimentos deve ser exatamente o mesmo;
- Quando a rotina de apuração de custos estiver igual a "S - Sim" a partir do parâmetro Custos por Filial na tela F070EMP, não será possível a utilização da rotina de Valorização das Transferências;
- A rotina de valorização das transferências não atualiza os registros na tabela Estoques - Movimentos (E210MVP).
O que você pode fazer:
Ative e configure o identificador de regras EST-215ONLTR01, conforme os cenários identificados.
É utilizado processo de transferência entre filiais com 2 movimentos de estoque. Considere o depósito DEP01 da filial e DEP02 da filial 2.
Nesse exemplo a transferência será da filial 1 para a 2:
- 1º Movimento de estoque: saída do DEP01 com a transação de estoques 91250;
- 2º Movimento de estoque: entrada no DEP02 com a transação de estoques 91201.
Nesse caso, as variáveis da regra ligada ao identificador devem estar assim:
- EstATnsSai = “91250”:
- Indicar através da regra, quais são as transações de saída envolvidas;
- EstATnsEnt = “91201”:
- Indicar através da regra, quais são as transações de entrada envolvidas;
- EstATnsPri = “91250”:
- Indicar através da regra, qual é a transação principal, ou seja, a transação que está presente no movimento de estoque que dá início a todo processo de transferência. Essa configuração é a qual garante que todos os movimentos de estoque envolvidos no processo tenham o mesmo valor de movimento.
É utilizado o processo de transferência entre filiais com depósitos de trânsito, ou seja, são gerados 4 movimentos de estoque e utilizado 3 depósitos. Considere o depósito DEP01 para a filial 1, TRA01 para a filial 1, DEP02 para a filial 2.
Nesse exemplo a transferência será da filial 1 para a 2:
- 1º Movimento de estoque: saída do DEP01 com a transação de estoques 91250;
- 2º Movimento de estoque: entrada no TRA01 com a transação de estoques 91200;
- 3º Movimento de estoque: saída do TRA01 com a transação de estoques 91251;
- 4º Movimento de estoque: entrada no DEP02 com a transação de estoques 91201;
Nesse caso, as variáveis da regra ligada ao identificador deve estar assim:
- EstATnsSai = “91250,91251”: Indicar através da regra, quais são as transações de saída envolvidas;
- EstATnsEnt = “91200,91201”: Indicar através da regra, quais são as transações de entrada envolvidas;
- EstATnsPri = “91250”: Indicar através da regra, qual é a transação principal, ou seja, a transação que está presente no movimento de estoque que dá início a todo processo de transferência. Essa configuração é a qual garante que todos os movimentos de estoque envolvidos no processo tenham o mesmo valor de movimento;
- EstATnsCpm = ”91251”: Indicar através da regra, qual é a transação de saída do depósito de trânsito, pois no momento da valorização do estoque, mesmo se tratando de um movimento de saída, o preço médio desse será recalculado (valor de estoque / quantidade de estoque). Esse cálculo é necessário para que o preço médio a ser utilizado no próximo movimento seja coerente com a filial de destino, pois senão houver esse recálculo, será utilizado o preço médio da filial de origem, pois nesse caso o movimento de saída do depósito de trânsito ficaria com o preço médio utilizado no movimento de saída da filial de origem.
É utilizado processo de transferência entre filiais com 2 movimentos de estoque, porém na nota de saída é um produto e na entrada é outro. Se trata de um processo muito pouco utilizado. Considere o depósito DEP01 da filial e DEP02 da filial 2.
Nesse exemplo a transferência será da filial 1 para a 2:
- 1º Movimento de estoque: saída do DEP01 com a transação de estoques 91250, produto 10;
- 2º Movimento de estoque: entrada no DEP02 com a transação de estoques 91201, produto 20.
Nesse caso, as variáveis da regra ligada ao identificador devem estar assim:
- EstATnsSai = “91250”: Indicar através da regra, quais são as transações de saída envolvidas;
- EstATnsEnt = “91201”: Indicar através da regra, quais são as transações de entrada envolvidas;
- EstATnsPri = “91250”: Indicar através da regra, qual é a transação principal, ou seja, a transação que está presente no movimento de estoque que dá início a todo processo de transferência.
Essa configuração é a qual garante que todos os movimentos de estoque envolvidos no processo tenham o mesmo valor de movimento:
- EstAClcPrp = "S": Essa variável indica que o cálculo do movimento de entrada será feito de maneira proporcional ao movimento de saída, pois como os produtos são diferentes entre a entrada e a saída, pode ocorrer da quantidade também serem diferentes. Com isso o valor dos movimentos de saída e entrada fiquem iguais (salvo arredondamentos).
Transferência entre produtos ou depósitos. Esse tipo de transferência não envolve notas fiscais, pois devem ser utilizados dentro da mesma filial. É permitido fazer o processo de transferência de produtos ou depósitos sendo 1 x 1, 1 x n, n x 1 ou n x n.
A configuração da regra é a mesma para todos:
- EstATnsSai = “91240”: Indicar através da regra, quais são as transações de saída envolvidas;
- EstATnsEnt = “91211”: Indicar através da regra, quais são as transações de entrada envolvidas;.
Importante
- Quando há mais de um cenário no mesmo ambiente, as transações são configuradas da mesma forma, porém juntas;
- Se houvesse a necessidade de configurar o cenário 1 e 3, as variáveis na regra ficariam, conforme exemplo a seguir:
- EstATnsSai = “91250,91251,91240”;
- EstATnsEnt = “91200,91201,91211”;
- EstATnsPri = “91250”;
- EstATnsCpm = ”91251”.
Funcionamento da rotina de valorização nas transferências de estoque entre filiais
Em um cenário onde temos as filiais 1, 2 e 3, para iniciar o exemplo, considere:
- Na filial 1, temos 10 quantidades e um preço médio de R$ 15,00 resultando em um valor de estoque de R$ 150,00;
- Na filial 2, temos 10 quantidades e um preço médio de R$ 20,00 resultando em um valor de estoque de R$ 200,00;
- Na filial 3, temos 10 quantidades e um preço médio de R$ 22,00 resultando em um valor de estoque de R$ 220,00.
Seguimos aos movimentos de transferência de estoques entre as filiais, considerando os cenários 1 e 2 descritos anteriormente:
- Da filial 1 para a filial 2: 4 quantidades a R$ 15,00 com o valor de movimento de R$ 60,00;
- Da filial 2 para a filial 3: 6 quantidades a R$ 20,00 com o valor de movimento de R$ 120,00.
Realizada as transferências, ao ser executada a rotina de valorização, será feito o seguinte cálculo:
- Considere que a valorização seja iniciada na filial 3 (a ordem das filiais na execução a própria rotina define por isso não existe configuração para definir essa ordem. No exemplo, iremos utilizar a filial 3 para ficar claro o funcionamento), então ao ser valorizado o movimento de entrada na filial 3 das 6 quantidades, a rotina verifica que há transferências a serem valorizadas antes da saída na filial 2 (que é o par dessa de entrada na filial 3) e então também faz a valorização da entrada das 4 quantidades na filial 2. Com isso será calculado o preço médio correto a ser utilizado na saída da transferência da filial 2. Esse preço médio é gravado na tabela E210TRA para ser utilizado posteriormente na atualização ou fechamento de estoques.
1º Movimento - Saída Filial 1 (91250)
- 4 * R$ 15,00 = Valor do Movimento R$ 60,00
- Preço Médio R$ 15,00
2º Movimento – Entrada Filial 2 (91201)
Para manter o mesmo valor de movimento, o preço médio utilizado nas entradas será sempre o mesmo do movimento de saída.
- 4 * R$ 15,00 = Valor do Movimento R$ 60,00
- Preço Médio R$ 200,00 + R$ 60,00 = Valor de Estoque R$ 260,00
- 10 + 4 = Quantidade de Estoque = 14
- R$ 260,00 / 14 = Preço Médio Calculado na entrada = R$ 18,57142
3º Movimento – Saída filial 2 (91250)
Como o preço médio foi atualizado no segundo movimento, agora o preço médio não é mais R$ 20,00 e sim R$ 18,57142.
- 6 * 18,57142 = Valor do Movimento R$ 111,43
- Preço Médio = 18,57142
4º Movimento - Entrada Filial 3 (91201)
Para manter o mesmo valor de movimento, o preço médio utilizado nas entradas será sempre o mesmo do movimento de saída.
- 6 * 18,57142 = Valor do Movimento R$ 111,43
- Preço Médio R$ 220,00 + R$ 111,43 = Valor de Estoque R$ 331,43
- 10 + 6 = Quantidade de Estoque = 16
- R$ 331,43 / 16 = Preço Médio Calculado R$ 20,71437
1º Movimento - Saída Filial 1 (91250)
- 4 * R$ 15,00 = Valor do Movimento R$ 60,00
- Preço Médio R$ 15,00
2º Movimento – Entrada no depósito de trânsito Filial 1 (91200)
Para manter o mesmo valor de movimento, o preço médio utilizado nas entradas será sempre o mesmo do movimento de saída.
- 4 * R$ 15,00 = Valor do Movimento R$ 60,00
- Preço Médio R$ 0,00 + R$ 60,00 = Valor de Estoque R$ 60,00
- 0 + 4 = Quantidade de Estoque = 4
- R$ 60,00 / 4 = Preço Médio Calculado na entrada = R$ 15,00
3º - Movimento – Saída do depósito de trânsito Filial 1 (91251)
- 4 * R$ 15,00 = Valor do Movimento R$ 60,00
- Preço Médio R$ 15,00
Nesse movimento, temos algumas particularidades:
- Mesmo se tratando de um movimento de saída, o preço médio utilizado aqui será o mesmo que foi utilizado no movimento de saída principal (91250), pois temos que manter sempre o mesmo de movimento nas transferências;
- Nesse movimento de saída, o preço médio será recalculado sempre (valor de estoque / quantidade de estoque) para que o preço médio fique coerente com que sobrou em estoque. No nosso exemplo, o estoque foi zerado.
4º Movimento – Entrada na filial 2 (91201)
Para manter o mesmo valor de movimento, o preço médio utilizado nas entradas será sempre o mesmo do movimento de saída.
- 4 * R$ 15,00 = Valor do Movimento R$ 60,00
- Preço Médio R$ 200,00 + R$ 60,00 = Valor de Estoque R$ 260,00
- 10 + 4 = Quantidade de Estoque = 14
- R$ 260,00 / 14 = Preço Médio Calculado na entrada = R$ 18,57142
5º Movimento – Saída da filial 2 (91250)
Como o preço médio foi atualizado no segundo movimento, agora o preço médio não é mais R$ 20,00 e sim R$ 18,57142.
- 6 * 18,57142 = Valor do Movimento R$ 111,43
- Preço Médio = 18,57142
6º Movimento – Entrada no depósito de trânsito Filial 2 (91200)
Para manter o mesmo valor de movimento, o preço médio utilizado nas entradas será sempre o mesmo do movimento de saída
- 6 * 18,57142 = Valor do Movimento R$ 111,43
- Preço Médio = 18,57142
- R$ 0,00 + R$ 111,43 = Valor de Estoque R$ 111,43
- 0 + 6 = Quantidade de Estoque = 6
- R$ 111,43 / 6 = Preço Médio Calculado na entrada = R$ 18,57142
7º Movimento – Saída do depósito de trânsito Filial 2 (91251)
- 6 * R$ 18,57142= Valor do Movimento R$ 111,43
- Preço Médio R$ 18,57142
Nesse movimento, temos algumas particularidades:
- Mesmo se tratando de um movimento de saída, o preço médio utilizado aqui será o mesmo que foi utilizado no movimento de saída principal (91250), pois temos que manter sempre o mesmo de movimento nas transferências;
- Nesse movimento de saída, o preço médio será recalculado sempre (valor de estoque / quantidade de estoque) para que o preço médio fique coerente com que sobrou em estoque. No nosso exemplo, o estoque foi zerado.
8º Movimento – Entrada na filial 3 (91201)
Para manter o mesmo valor de movimento, o preço médio utilizado nas entradas será sempre o mesmo do movimento de saída
- 6 * 18,57142 = Valor do Movimento R$ 111,43
- Preço Médio R$ 220,00 + R$ 111,43 = Valor de Estoque R$ 331,43
- 10 + 6 = Quantidade de Estoque = 16
- R$ 331,43 / 16 = Preço Médio Calculado R$ 20,71437
Importante
- Como o preço médio do mesmo produto pode ser diferente entre as filias, pode ocorrer cenários onde a quantidade de estoque fique igual a zero, porém o valor de estoque seja diferente de zero, ou seja, sobrou (quando valor positivo) ou faltou (quando valor negativo) valor no estoque. Para resolver esse tipo de cenário, deve ser ativado o identificador de regras EST-215GERAC01. Esse identificador tem o objetivo de gerar movimentos de acerto de valor no estoque, fazendo com que não exista valores no estoque quando esse produto for movimentado novamente, mantendo o preço médio correto, pois sobras ou faltas no valor de estoque influenciam diretamente o preço médio calculado quando esse produto for movimentado novamente;
- Um outro cenário que esse mesmo identificador ajusta, é quando temos quantidade em estoque e valor de estoque negativo. Nas transferências entre filiais, isso também pode ocorrer devido à diferença de preço médio entre filiais.
- Exemplo: na valorização de estoques, o resultado foi 10 quantidades em estoque com um valor de estoque de R$ -25,00 e um preço médio de R$ 15,00.
- Nesse exemplo, o valor de estoque deveria ser de R$ 150,00. Nesse contexto, será gerado um movimento de acerto posterior a esse da seguinte forma:
- Será uma entrada para o mesmo produto/derivação/depósito no valor de R$ 175,00. Assim o valor de estoque passa a ser de (175-25) = R$ 150,00.
Execução da rotina de valorização nas transferências entre produtos ou depósitos
Nesses cenários, a rotina de valorização grava na tabela E210TRA qual foi o preço médio utilizado na saída e posteriormente, no fechamento/atualização de estoques, utiliza esse preço médio. Para todos os cenários de transferências: 1 x 1, 1 x n, n x 1 ou n x n, a rotina calcula corretamente qual é o preço médio a ser utilizado na entrada com base no que foi gravado pela valorização na tabela E210TRA, já que as entradas nesse tipo de transferência sempre são valorizadas após a saída.
Importante
- Nas transferências de produtos ou depósitos 1 x n, n x 1 ou n x n, podem ocorrer pequenas diferenças causadas por arredondamentos;
- Verificar a configuração da variável "EstATnsStp" do identificador de regra EST-215ONLTR01 para identificar ou não a configuração da mesma;
- Caso houver a necessidade de eliminar as diferenças de arredondamentos na valorização das transferências de produtos ou depósitos 1 x n, n x 1 ou n x n, pode-se utilizar a variável EstNVlrAjt do identificador de regras EST-215ONLTR01.
Utilização da rotina de Valorização das Transferências
- Caso utilize o identificador EST–215IGUAL01 e possua estoque em trânsito (aqueles movimentos de saída de transferências que não deram entrada no destino no mesmo período de estoques), existe um passo a mais para iniciar a utilização da rotina de valorização:
- Necessário um mês de corte para se conseguir colocar em produção a nova rotina.
Exemplo:
Considerando o fechamento de estoque do mês 10 e pretendendo utilizar a nova rotina e tendo em vista que a execução do fechamento do mês 10 é no dia 01/11:
- Nesse dia deve-se então desativar o identificador de regras 215IGUAL01, realizar toda configuração para a nova rotina e então executar uma valorização de todo o estoque para todas a filiais na tela F215FES;
- Feito isso, antes de fechar o estoque, deve-se agora desativar o identificador de regras EST-215ONLTR01 e ativar novamente o EST-215IGUAL01 e somente depois fechar os estoques;
- Após terminado todo o processo de fechamento de estoques do mês 10, deve-se definitivamente desativar o identificador de regras EST-215IGUAL01 e ativar o EST-215ONLTR01.
- Necessário um mês de corte para se conseguir colocar em produção a nova rotina.
- Ativar o identificador de regras EST-215DAFDI01 (como melhoria de desempenho);
- Recomenda-se utilizar o identificador EST-215GERAC01. Com esse identificador ativo, o preço médio não irá sofrer com sobras de valores no estoque;
- Ativar também o identificador de regras EST-215ONLTR01 e configurar corretamente a regra com as transações envolvidas em transferência entra filiais, entre produtos e depósitos.
- É altamente recomendado executar o processo automático 153 - Valorização das Transferências ao menos uma vez ao dia (no período noturno). Da mesma forma que é recomendado executar a rotina de fechamento/atualização de estoques uma vez ao dia. O processo automático 153, deve ser agendado somente para uma filial, pois a própria rotina identifica para quais filias precisa ser executada e o faz sem a necessidade de agendamentos para todas. Essa rotina deve ser executada obrigatoriamente antes da rotina de fechamento/atualização de estoques, ou seja, a rotina de fechamento/atualização de estoques passa a ser sucessora da rotina 153.
Observação
- As filiais envolvidas em movimentos de transferências de estoques devem ter obrigatoriamente o mesmo período de estoques em aberto, para que a rotina de valorização funcione corretamente;
- A rotina deve ser executada sempre antes do fechamento/atualização de estoques na tela F215FES através do botão Transferências. Deve-se utilizar a opção Atualização dos Estoques para a possibilitar a execução da rotina. Os parâmetros da tela serão considerados na valorização. Pode ser utilizado os filtros de Produto e Derivação presentes no botão Seleção. O tipo de fechamento “Por Origem” também está disponível. A não execução dessa rotina irá acarretar em valores diferentes entre saídas e entradas das transferências após o fechamento de estoques;
- A rotina de valorização pode apresentar algumas inconsistências nos primeiros meses de utilização em estoques que ficam em trânsito (aqueles movimentos de saída de transferências que não deram entrada no destino no mesmo período de estoques), pois como antes não existia a rotina de valorização, não foi gerado o registro do preço médio na tabela E210TRA para o movimento de saída;Exemplo:
A saída no mês 09 e sua entrada somente no mês 10. Se começamos a utilizar a rotina no mês 10, não temos o registro da saída na tabela E210TRA, ou seja, para esse movimento de entrada no mês 10 a rotina não irá funcionar. Nesse caso a valorização de estoques para esse movimento de entrada irá ocorrer como era antes da utilização da nova rotina. Com o passar dos meses da utilização da rotina, esses cenários não irão mais acontecer. Os resultados plenos da nova rotina somente serão possíveis após alguns fechamentos de estoques (2 ou 3 meses dependendo de cada cenário de negócio).
- Ao executar o processo de Valorização das Transferências, as tabelas E210MED e E075MED não serão atualizadas com o preço médio. Isso é para que melhore o desempenho da rotina de valorização. A atualização das tabelas mencionadas fica a cargo da atualização/fechamento de estoques.
Valorização das Transferências através do fechamento multinível
A rotina de valorização será executada por origem para todas as filias que forem necessárias antes de ser executado o fechamento das origens. Para isso, será utilizada a mesma parametrização da rotina na tela F215FES e não há necessidade de novas parametrizações.
Essa nova execução da valorização é necessária para ajustar os preços médios na tabela E210TRA de acordo com o novo custo do produto.
No término, o sistema apresentará uma mensagem confirmando o fim da execução.