Como efetuar o controle de estoque
Rotinas do módulo Estoque no M3R: cadastro, armazém, entrada, transferência, ajuste, inventário, reserva, kardex e custo FIFO.
Dúvida: como efetuar o controle de estoque no M3R?
Ambiente: M3R ONE — módulo Estoque (código 02) — todas as filiais do tenant. O saldo é por filial e por armazém (código de 3 dígitos, ex. 001). Não existe saldo “da empresa” somado automaticamente na operação de saída; a consulta F7 do produto soma armazéns só para visualização.
Solução: não há uma única rotina que “controle o estoque”. Cada empresa combina as rotinas abaixo. O M3R não edita um campo Saldo no cadastro do produto: cada movimento grava uma linha nova no razão FAPOB (append-only). O saldo atual é o registro de maior id para (produto, armazém, filial).
Durante a explicação, cada rotina aponta para o artigo com campos, passos e o que o sistema grava. Estas são as rotinas usadas no dia a dia — não o catálogo inteiro do sidebar.
1º Cadastro de produtos
Menu: Estoque → Cadastros → Produtos (/apps/product). Inclusão: /apps/product/add.
Cadastra o SKU (FAPOA): código único por empresa, descrição, marca, categoria, tipo (MP PI PA ME BN SC MC), armazém padrão, UM de estoque, NCM/CFOP/CEST, preço de venda, controles de lote e validade.
Sem produto não há movimento, NF, pedido nem OP. Artigo: Cadastro de produtos.
2º Cadastro de armazéns
Menu: Estoque → Cadastros → Armazéns (/apps/stock/warehouses).
O armazém (local) identifica o depósito da filial. Código + nome + status ACTIVE / BLOCKED. Transferência, inventário, NF e OP exigem um local ativo. Artigo: Armazéns.
3º Entrada de documentos (NF)
Menu: Estoque → Operações → Entrada de Documentos (/apps/entry-document). Fila SEFAZ: /apps/nfe-entrada.
É a rotina que aumenta saldo de compra. O pedido de compra (FAC009) não lança FAPOB. Só a confirmação da NF (FAR01) cria movimento origem ENTRY_DOCUMENT, camada FIFO FACL01, CP e lote (se lotControl). Artigo: Entrada de NF e Compras — documento de entrada.
4º Transferência entre armazéns
Menu: Estoque → Operações → Movimentação → Transferências (/apps/stock/transfers).
Move saldo dentro da mesma filial, de um local para outro. Não transfere entre filiais. Fluxo: rascunho → Aprovar → Concluir (aí sim grava dois FAPOB: saída na origem + entrada no destino, mesmo document). Artigo: Transferência.
5º Ajustes (movimentação interna)
Menu: Estoque → Operações → Movimentação → Ajustes (/apps/stock/adjustments).
Entrada ou saída interna sem NF (requisição, devolução ao armazém, correção). Motivos: avaria, perda, encontrado, diferença de contagem, correção, outro. Item POSITIVE (entra) ou NEGATIVE (sai). Rascunho não mexe no saldo; Aprovar gera FAPOB origem ADJUSTMENT. Redução sempre exige quantidade e motivo. Artigo: Ajuste.
Doação de lote não usa esta tela: origem DONATION, flag industrial.donation.enabled. Ver qualidade industrial.
6º Inventário (contagem física)
Menu: Estoque → Inventário (/apps/stock/inventory). Detalhe: /apps/stock/inventory/[id].
Contagem física × saldo do sistema. Tipos: Completo, Parcial, Cíclico, Pontual. Passos: Rascunho → Em andamento (digitar quantidades) → Contado (revisar divergências) → Aprovado (o sistema gera o ajuste para a quantidade contada a partir do saldo atual, não reaplica o delta do snapshot). Artigo: Inventário.
7º Reservas
Menu: Estoque → Operações → Movimentação → Reservas (/apps/stock/reservations).
Empenho (FARES01) para pedido, OP, transferência ou manual. Disponível para vender = físico (ou lotes ACTIVE) menos reserva ACTIVE. Pedido de venda reserva; orçamento não. Artigo: Reservas e ATP e Saldo e ATP.
8º Kardex físico-financeiro
Menu: Estoque → Relatórios → Kardex Físico-Financeiro (/apps/stock/reports/kardex).
Mostra entradas, saídas, custo do movimento e saldo quantidade/valor a partir do razão e das camadas FIFO. Artigo: Kardex.
9º Custo (FIFO)
Não há tela “Recalcular custo médio”. Na entrada, cria-se camada FACL01. Na saída (faturamento, OP, ajuste negativo, doação), consumeFIFO() consome a camada mais antiga (entryDate, depois id). Sem camada, usa Product.averageCost. Nunca usa preço de venda. Artigo: Custo FIFO.
10º Produção, lote, MRP
Menu: Estoque → Produção → Ordens de Produção / MRP / Central industrial.
BOM, OP, FEFO, recall e doação são o caminho industrial (flags OFF por padrão). Hub: Produção e lotes.
Relatórios e API
Relatórios de saldo, posição, ABC, giro · API (razões, ATP, transferência, ajuste, contagem).
IPs
IP.STOCK.MOVEMENT.BEFORE_POST / AFTER_POST existem no catálogo e não estão wired. O writer já serializa o razão com lock. Lista: IPs.
