F215FES - Fechamento dos Estoques - Detalhes
O sistema é bastante flexível em relação às movimentações de estoques, permitindo movimentos de estoques inexistentes (negativos) e movimentos retroativos. Na fase de implantação do sistema, é comum que as inicializem seus estoques com quantidades e valores irreais com o intuito de efetuar ajustes e correções a posteriores, o que pode acarretar distorções nos valores apurados. O cálculo do preço médio não considera as movimentações em todos os depósitos e em filiais diferentes, e desta forma a valorização dos movimentos pode ser feita de forma inadequada. Estes facilitadores podem gerar algumas inconsistências nos estoques referentes à quantidades e valores.
A adequação dos movimentos iniciais e a revalorização dos movimentos, calculando um preço médio por produto em cada filial, garantindo com fidelidade as informações geradas para a própria Empresa e para o Fisco é garantida por esta rotina.
Para os produtos produzidos, o preço médio é sempre recalculado ao realizar uma atualização dos estoques após alterar o preço de custo da derivação do produto. Este recálculo ocorre para todos os movimentos constantes dentro do período em aberto para o estoque e não somente para os movimentos posteriores à alteração do preço de custo na derivação.
Resumo das funções da rotina de fechamento dos estoques
- Alterar o valor do primeiro movimento;
- Calcular o preço médio por filial de cada movimento considerando os critérios estabelecidos para produtos produzidos e comprados;
- Atualizar os valores dos movimentos valorizados pelo preço médio considerando os critérios estabelecidos para produtos produzidos e comprados;
- Atualizar a quantidade e valor anterior do estoque por depósito;
- Atualizar o último preço médio (após o fechamento) na tabela "E075DER" (derivações do produto)
- Tratar opções de incluir um movimento de acerto na tabela "E210MVP" (movimentação de estoques) ou alterar o saldo em estoque na tabela "E210EST" (saldo em estoque), quando houver diferenças entre as movimentações e o saldo em estoque dos produtos;
- Atualizar data inicial e final de estoque na filial (Cadastro/Filiais/Estoques);
- Gravar um registro na tabela "E215FES" (fechamento dos estoques) permitindo a consulta pela tela "F215CFE".
Consistências efetuadas internamente antes do início do fechamento
- Tratamento de movimentos zerados:
Verificar e excluir todos os movimentos cuja quantidade e valor estão zerados;
Quando for o primeiro movimento e a quantidade for igual a zero e valor diferente de zero o movimento também é excluído. - Verificação dos parâmetros da
transação:
Verificar se os movimentos possuem os parâmetros da transação necessários para o processamento, como por exemplo: tipo de movimentação (E/S), tipo de estoque movimentado (NO, NB, NR), forma de valorização do movimento (M/F);
Caso existam parâmetros em branco estes serão gravados no log do fechamento de estoques (F215PFE). Orienta-se que a correção destes parâmetros seja feita pelo responsável pelo banco de dados na empresa. - Verificação dos preços de custo
zerados:
Verificar se os produtos produzidos que possuem movimentação dentro do período do fechamento estão com preço de custo diferente de zero. Caso existam produtos produzidos sem preço de custo, estes serão gravados no log de fechamento de estoques (F215PFE). Basta informar o custo do produto em Cadastros > Produtos e Serviços > Produtos > Individual ou Agrupado. - Integração pendente no WMS WIS:
- Quando houver integração com o WMS WIS e existir alguma Ordem de Separação/Recebimento gerada pelo ERP e que esteja pendente de retorno do WMS WIS (com exceção de pendências de pedido de venda ou pré-fatura), não será possível realizar o fechamento de estoque (lembrando que a validação do ERP neste ponto é apenas para ordens geradas pelo ERP). Para maiores informações sobre esse ponto de validação, verifique o artigo ERP – Integração WMS WIS – Não é possível realizar o fechamento de estoque da filial XX, empresa XX, na data DD/MM/AAAA, pois existem uma ou mais solicitações de integração com o WMS realizadas até esta data que ainda estão pendentes. Adicionalmente à validação padrão do ERP para Ordens de Separação/Recebimento, é possível ativar o parâmetro global PenEstWms. Este parâmetro, quando ativado, faz com que o sistema ERP verifique registros pendentes de integração na tabela INT_S_AJUSTE_ESTOQUE do WMS WIS para o período em que está sendo efetuado o fechamento de estoques. Caso hajam registros não integrados, o fechamento de estoques será impedido pelo ERP até que as pendências sejam tratadas.
Importante
A alteração do parâmetro global PenEstWms exige que o Middleware Senior seja reiniciado, caso o processo de fechamento de estoque esteja sendo realizado via web service ou processo agendado.
- Quando houver integração com o WMS WIS e existir alguma ordem de integração pendente no WMS WIS (com exceção de pendências de pedido de venda ou pré-fatura), não será possível realizar o fechamento de estoque. No entanto, é possível utilizar o parâmetro global PenEstWms, que verifica registros pendentes de integração na tabela INT_S_AJUSTE_ESTOQUE. Para isso, o parâmetro deve estar definido como "S - Sim".
- Verificação de processos em execução:
Caso o processo de fechamento/atualização de estoques esteja em execução para a filial que está se deseja iniciar um novo processamento, será retornada a mensagem a seguir, bloqueando processamentos paralelos da mesma filial: "Existe um fechamento/atualização de estoques em andamento para a filial X no período de DD/MM/AAAA a DD/MM/AAAA inicializada pelo usuário Y. Último status gerado pela execução foi no dia DD/MM/AAAA às HH:MM. Não será possível alterar o período de estoques ou iniciar um novo fechamento/atualização de estoques nesse momento."
O que define se há um processo de fechamento/atualização de estoques em andamento para a empresa/filial são dois pontos simultâneos:
- na tabela Estoques - Fechamento dos Estoques (E215FES), o último registro gravado para a empresa/filial estiver com o campo HORFIM igual a "0", indicando que o processo não finalizou;
- na tabela Estoques - Detalhes de Execução de Fechamento / Atualização de Estoques (E215DET), para o processo de fechamento/atualização de estoques em andamento o último registro gravado considerando a hora de geração (E215DET.HORGER) ter sido há menos de dez minutos.
Caso a execução do processo não finalize corretamente, deixando assim o campo HORFIM da tabela E215FES igual a "0", após dez minutos sem serem gravados registros na tabela E215DET para o processo de fechamento/atualização de estoques em andamento, um novo processamento de fechamento/atualização será permitido.
Preço Médio
A tabela "E210MED" armazenará os preços médios dos produtos/derivações por filial. Esta tabela será alimentada à medida em que os processos de fechamento forem executados. Ao executar o processo para períodos diferentes dos períodos já fechados, sempre atualizará o preço médio na tabela nova.
Em processo de vendas o sistema utilizará o preço médio da filial nos preços brutos dos produtos/derivações, sendo que se esta informação ainda não existir, por não ter sido rodado o fechamento, o sistema utilizará o preço médio da derivação (filial do último fechamento).
Produtos com Saldo Negativo
Para armazenar os registros dos produtos com saldo negativo em um determinado dia existe tabela "E210END". O saldo negativo existente nesta tabela, será a posição dos produtos numa determinada filial. A medida que o fechamento processa as informações, é realizado um controle de entradas menos as saídas, e caso o saldo fique negativo, esta informação será guardada na respectiva tabela. O saldo negativo será diário, ou seja, mesmo que no final do processamento um determinado produto estiver com um saldo positivo, se durante o processamento ele houver alguma posição negativa, o registro será gravado. No início de todo processamento a tabela será limpa, exceto para os períodos já fechados da respectiva filial.
Cálculos para apuração do preço médio de ICMS e revalorização do ICMS para os movimentos
No processo de atualização e fechamento dos estoques, serão efetuados, além dos cálculos de preço médio e revalorização dos movimentos, os cálculos para apuração do preço médio de ICMS e revalorização do ICMS para os movimentos dos itens que estão sendo processados.
Para que seja efetuado o cálculo de ICMS nos movimentos de estoque ocorre é necessário que o parâmetro Filial calcula ICMS da tela F070FES - Cadastros > Filiais > Parâmetros por Gestão > Estoques" esteja definido como "Sim".
Apuração:
- Calcular o preço médio de ICMS por filial de cada movimento considerando os critérios estabelecidos para produtos produzidos e comprados;
- Atualizar os valores de ICMS dos movimentos valorizados pelo preço médio considerando os critérios estabelecidos para produtos produzidos e comprados.
Cálculo do Preço Médio de ICMS
- Preço médio de ICMS dinâmico para produtos comprados:
Os movimentos de estoque cujo parâmetro de valorização dos estoques na transação seja "M"(Movimento), terão seus valores de ICMS mantidos no movimento e efetuam o cálculo do preço médio ICMS dividindo o valor acumulado de ICMS na filial pela quantidade do produto no estoque da filial.
Os movimentos de estoque cujo parâmetro de valorização dos estoques na transação seja "F"(Fechamento), são valorizados com base no preço médio de ICMS atual da filial. - Preço médio de ICMS dinâmico para produtos produzidos:
Para os produtos produzidos, os movimentos de entrada serão valorizados pelo preço de custo de ICMS gravado na tabela E210MED (saldos por filial). A gravação do preço de custo de ICMS será feita através de uma rotina do módulo de custos. - Transferências:
Somente serão revalorizados os movimentos oriundos de transferências via nota fiscal dos tipos (2, 3, 4, 5, 7,11)*. O valor do ICMS do movimento de entrada é obtido a partir do movimento de saída previamente calculado pelo fechamento dos estoques.
* alguns tipos de notas fiscais de entrada são valorizados mediante parametrização no sistema.
Preço Médio de Produtos Controlados por Série
Para as situações onde cada série terá um valor preço médio específico foram criados, nas tabelas de Origem (E085ORI), Família (E012FAM) e Produto (E075PRO), os campos: Controla valor individual da série (CTRVIS), Data Alteração Controle Vlr. Ind. Série (DATVIS) e Hora Alteração Controle Vlr. Ind. Série (HORVIS).
O campo Controla valor individual da série indica se a origem/família/produto terá a valorização controlada de forma individual. O padrão será "N", mas ao alterar para "S" será gravada a data e hora da alteração, para que apenas a partir desse momento o sistema passe a trabalhar da forma proposta. Os dados existentes na base anteriores à data e hora apresentados por estes campos não serão alterados. Os parâmetros que serão considerados nas movimentações serão os do cadastro de produtos (E075PRO), sendo que os mesmos campos nos cadastros de origem e família serão utilizados somente para sugestão. Para gravar os valores individuais de cada série foi criado no novo campo Valor acumulado da Série (VLRSER) na tabela E210DLS. Nas telas de cadastro de produto individual no (F075PRO) e agrupado (F075GFP)A opção deste campo somente poderá ser alterada caso as séries do produto não possuam estoque.
Funcionamento da Rotina:
Todos os movimentos, tanto de entrada, quanto de saída precisam ter como forma
de valorização "M" (E001TNS.ESTVMV);
Exceto para o primeiro movimento da série (entrada inicial), todos os demais
precisam ter quantidade zero (0) e valor maior que zero (0), tornando o
movimento um acerto de valor;
O primeiro movimento para a referida série, obrigatoriamente precisa estar
ligado a uma nota fiscal de entrada (compra inicial da mercadoria);
O valor apenas será acumulado somente se o produto em questão for controlado
por série e o novo campo na origem estiver definido como "S";
Os valores provenientes de movimentos de acerto de entrada, apenas serão
repassados a estrutura de série e somente se já existe um valor inicial no
registro da mesma;
Os valores provenientes de acerto de saída, apenas serão repassados à
estrutura de série somente se já existir um valor gravado na tabela e o cálculo
nunca deixará o valor negativo. Caso aconteça de o valor da saída seja superior
ao valor existente na tabela, o registro receberá o valor zero (0);
Exclusões de movimentos de acerto apenas serão permitidas somente se a série
em questão ainda possuir saldo físico em estoque;
Cancelamentos/reabilitações de notas fiscais de entrada apenas serão
permitidos se todas as séries ligadas à mesma, ainda estiverem com saldo .físico
em estoque. Este procedimento se faz necessário, pois se alguma série já teve
uma saída registrada, o rateio dos valores ficaria totalmente comprometido;
Os movimentos de acerto manuais podem ser feitos pelas duas telas de
movimentação de estoque (F210MVP/F210LOT) e a série precisa ser informada. Se a
série não for informada, o sistema não saberá internamente de que série o
movimento vai abater/acrescentar um valor.
Nota Fiscal de Entrada tipo 1 - quando o sistema se deparar com um movimento de entrada oriundo de uma nota fiscal, será feito o seguinte cálculo: Valor a ser repassado para a série (E210DLS.VLRSER): Valor movimento / Quantidade movimento (E210MVP.VLRMOV / E210MVP.QTDMOV). Este será o valor individual para cada série". Desta forma saberemos quanto "custou" cada série.
Nota Fiscal de Entrada tipo 8 - valor a ser repassado para a E210DLS: Valor movimento frete / Quantidade de séries que entrou na nota original (E210MVP.VLRMOV / E210MVP.QTDNFE). Este será o valor individual de frete para cada série e será somado ao valor já existente.
Observação
Se uma ou mais séries ligadas à nota original não estiverem mais no estoque, devido a um processo de venda, o frete será rateado apenas nas séries que ainda tem saldo físico.
Movimentos de acerto (ENTRADA/SAÍDA) - valor a ser repassado para a E210DLS: Valor movimento (E210MVP.VLRMOV). Este será o valor a ser repassado para a série informada no movimento.
Movimentos de Venda (SAÍDA) com quantidade - o valor a ser utilizado para o movimento de saída (com forma de Valorização "F"), será simplesmente o valor individual existente da série (E210DLS.VLRSER). O sistema passará a não usar mais o preço médio para revalorizar a saída, mas sim o valor acumulado para a referida série.
Fechamento dos Estoques - o processo de fechamento dos estoques foi alterado para que o valor para o movimento de saída seja o valor existente na série do produto e não mais o preço médio no fechamento. Este procedimento será feito sempre que o fechamento encontrar um movimento de SAÍDA, com forma de valorização "F", cujo produto seja controlado por série e a origem do mesmo esta definido para trabalhar com valores individuais.
- normalmente o cálculo é feito da seguinte forma: Valor do movimento para a
saída (forma padrão): Quantidade movimento * Preço médio atual (E210MVP.QTDMOV *
E210MVP.PRMEST).
usando o novo método: Valor do movimento para a saída:- Se a quantidade for igual a 1: o sistema buscará o valor para a série do movimento (a ser encontrada na E210DLS). Este novo valor será simplesmente o valor existente no novo atributo (E210DLS.VLRSER)
- Se a quantidade for superior a 1: o sistema buscará os valores para todas as séries envolvidas nesta saída (a ser encontrada na E210DLS). Este novo valor será simplesmente o somatório dos valores existentes no novo atributo (E210DLS.VLRSER)
Consulta de Séries - disponibilizado o campo Valor Acum. Série, campo este que é o novo atributo criado para a estrutura E210DLS. Esta informação servirá apenas como consulta e ajudará o usuário quando o mesmo informar este valor na nota fiscal de saída. - F213CSS - Verificar o novo campo de consulta Valor Acum. Série que foi disponibilizado.