Pragiva — Tecnologia na prática

Não consigo movimentar: o estoque ficaria negativo. O que conferir

O Protheus recusou a saída, a transferência ou a exclusão da nota porque o saldo ficaria negativo. Veja o que olhar na tela, quem pode liberar e quando o parâmetro MV_ESTNEG não resolve.

Protheus Guia de processo 5 min de leitura

Assista o vídeo Ver o fluxograma

Resposta rápida

Resposta curta
a rotina calculou que, depois do seu lançamento, o saldo daquele produto e armazém ficaria abaixo de zero e barrou.
O que fazer primeiro
confira o saldo do produto no armazém certo (F4) e a quantidade que você digitou.
Quem decide deixar negativar
quem configura o estoque. Operador não resolve mudando parâmetro.
Pegadinha
produto com lote ou endereço continua sendo barrado mesmo quando o ambiente permite saldo negativo.
Nesta página6 seções

Você lança uma requisição, uma saída ou uma transferência e a tela mostra uma mensagem de saldo negativo no produto e armazém. O sistema não errou: o lançamento foi maior do que o saldo que ele enxerga.

Por onde começar

O estoque ficaria negativo: por onde olhar
nãosimnão, falta saldosim, mas a tela recusasimnãoMensagem: o saldo ficaria negativoO armazém e a quantidadeestão certos?Corrija o armazém ou a quantidadeHá saldo no F4deste armazém?Entrada pendente?Lance ou aguarde a entradaProduto controlalote ou endereço?Falta saldo no lote ou endereço:veja a divergênciaRegra do ambiente:fale com a TI ou o responsável peloestoque
  1. Confirme o armazém. O saldo é por produto e armazém. Saída do armazém 01 não usa o saldo do 02.
  2. Veja o saldo com F4 no campo do produto. O que importa para o bloqueio é o saldo do armazém, e não o total geral. Se o disponível do F4 parecer menor que o atual, leia Saldo disponível menor que o saldo atual.
  3. Confira a data do movimento. Em alguns ambientes o saldo é calculado na data do lançamento; nesses, uma data anterior à entrada que deveria cobrir a saída faz o saldo parecer insuficiente. Se a TI não souber dizer como o seu ambiente calcula, use a data de hoje como teste.
  4. Confira a entrada que você esperava. Se ela ainda não foi lançada, o saldo dela não existe para o sistema.
  5. Produto com lote ou endereço: o saldo precisa existir no lote ou endereço informado, não só no armazém. Para comparar os três saldos, veja como comparar SB2, SB8 e SBF.
  6. Se tudo isso está certo e há saldo, peça à TI para conferir a configuração e eventual personalização do ambiente. Não tente “dar a volta” lançando uma entrada fictícia.

Onde esse bloqueio aparece

O parâmetro de saldo negativo é consultado nas rotinas de movimento de estoque. Ele aparece em:

Situação na telaRotina
Movimentos internos (requisição, devolução)Movimentos internos simples e múltiplos
Transferência entre armazénsTransferência
Excluir nota fiscal de entradaDocumento de entrada

Exclusão de nota de entrada merece cuidado: tirar a entrada pode deixar o saldo negativo se o produto já foi consumido. Nesse caso, no ambiente que não permite negativo, a exclusão só segue se houver uma regra própria do ambiente que a autorize; sem ela, o sistema barra. A regra é o ponto de entrada tratado em MT103ENEG.

No faturamento, a preparação da nota também confere saldo de lote e de endereço de quem controla um deles quando o ambiente não permite negativo. Pedido que não aparece para faturar por falta de saldo tem leitura própria em Pedido não fatura: crédito ou estoque?.

Erro comum: achar que “permitir negativo” vale para tudo

Mesmo no ambiente que permite saldo negativo, o produto que controla lote ou endereço continua sendo barrado nos movimentos internos e na transferência. O mesmo vale para a exclusão de nota de entrada. Para esses produtos, só vale o saldo real do lote ou do endereço.

E, no ambiente que permite negativo, produto comum pode passar sem aviso nas movimentações internas. O saldo negativo gerado fica no estoque até alguém corrigir com uma entrada. Se o seu ambiente vive com saldo negativo, o problema deixa de ser o bloqueio e passa a ser o controle.

Quem resolve

SituaçãoQuem resolve
Armazém, quantidade ou data erradosVocê, corrigindo o lançamento
Falta de entrada (nota ou apontamento atrasado)Quem faz a entrada
Saldo de lote ou endereço divergenteResponsável pelo estoque
Ambiente deveria permitir negativo e não permiteTI e consultor, com decisão do responsável pelo estoque

Solução de problemas

SintomaCausa provávelO que conferir
Há saldo no armazém, mas a mensagem apareceSaldo em outro armazém, ou lote e endereço sem saldoArmazém digitado; saldo por lote e endereço
Funcionava ontem e hoje nãoSaldo foi consumido ou reservado por outro lançamentoF4 do produto
Produto comum passa e o de lote nãoEsperado: lote e endereço são sempre conferidosSaldo do lote ou endereço
Exclusão da nota de entrada recusadaProduto já foi consumidoMovimentos do produto depois da entrada; MT103ENEG

Para TI e consultor: onde ver isso no banco

O parâmetro guarda S (permite) ou N (não permite). O padrão o trata assim:

  • Movimentos internos e transferência: com N, a rotina compara o saldo disponível do produto no armazém com a quantidade e recusa se ficar abaixo de zero. Esse saldo é calculado pela configuração de saldo do ambiente: em uma das opções ele é posicionado na data do lançamento; nas demais, é o saldo atual. Com S, essa conta não roda para produto comum.
  • Produto com lote (rastro) ou endereço (localização): a conferência roda de qualquer forma, independente do valor do parâmetro.
  • Exclusão de nota de entrada: com S, produto comum recebe um aviso de que o saldo ficará negativo e o usuário escolhe continuar ou abortar, e produto com lote ou endereço é barrado. Com N, entra o ponto de entrada MT103ENEG (produto com lote e sem endereço não chega a ele e é barrado); sem o ponto de entrada, a exclusão é barrada.
  • O conteúdo de MV_ESTNEG varia por instalação: não presuma S nem N. Na leitura em código, parâmetro ausente é tratado como N em alguns pontos e como S em outros, então confira o conteúdo cadastrado com a consulta abaixo.
Confira no seu ambienteSQL
SELECT X6_VAR, X6_TIPO, X6_DESCRIC, X6_CONTEUD
  FROM SX6010
 WHERE X6_VAR = 'MV_ESTNEG'
   AND D_E_L_E_T_ = ' '

A consulta mostra o cadastro no seu ambiente; ela não diz sozinha qual rotina barra. Para ver o saldo que a rotina enxerga, troque filial e produto:

Confira no seu ambienteSQL
SELECT B2_LOCAL, B2_QATU, B2_RESERVA, B2_QEMP
  FROM SB2010
 WHERE B2_FILIAL = '01' AND B2_COD = 'P-001'
   AND D_E_L_E_T_ = ' '
 ORDER BY B2_LOCAL

Para lote e endereço, o saldo está em e ; o roteiro de comparação está em divergência de estoque. Mudar o conteúdo de MV_ESTNEG é decisão de negócio: afeta todas as rotinas acima, então não mude sem o responsável pelo estoque.

Continue por aqui