Cadastro de produtos

Dúvida: como cadastrar produto para o estoque controlar saldo, NF-e e lote.

Dúvida: como cadastrar um produto para o controle de estoque?

Ambiente: M3R ONE — Estoque → Cadastros → Produtos. Tabela FAPOA. Código único por empresa (não por filial). O saldo, porém, é por filial + armazém.

Pré-requisitos: empresa e filial selecionadas na sessão; permissão products; ao menos um armazém ativo se for movimentar.

Caminho

  1. Menu Estoque → Cadastros → Produtos (/apps/product).
  2. Novo → /apps/product/add (ou editar /apps/product/edit/[id]).
  3. Preencha as abas na ordem: Dados gerais → Dados fiscais / NF-e → Unidades e conversão → Valores e impostos.
  4. Salvar. Código é informado ou gerado conforme a tela; não reutilize código de SKU de outro tenant (mesmo string é outro id).

Aba Dados gerais

CampoObrigatórioEfeito
Códigosim (único na empresa)chave operacional em NF, pedido, FAPOB.product
Nomesimbusca (tokens + pg_trgm)
StatussimACTIVE / INACTIVE / BLOCKED — bloqueado não deve sair em venda
Descriçãonãotexto longo
Marcanãofiltro; import legado agrupa nome+marca
CategorianãoSearchField → GET /product-categories/:filialId
Localização padrãonãotexto livre (corredor); não substitui o código do armazém 001
Observaçãonãonão vai para NF-e nem pedido
TiposimMP matéria-prima, PI intermediário, PA acabado, ME embalagem, BN beneficiamento, SC serviço/subcontratação, MC consumo
Elegibilidade patrimonialnãoativo fixo; não transforma o SKU em bem sozinho
% Comissãonão0 = usa taxa do vendedor
Portal do clientenãovisível no portal operacional (/portal), não no site /conta
ImagensnãoJPEG/PNG/WebP até 8 MB; a primeira é capa

Aba Dados fiscais / NF-e

CampoObrigatório para NF-eNota
NCMsim8 dígitos; busca Receita; matching da regra fiscal por prefixo
CFOPrecomendadodefault de cadastro ex. 5102; a regra pode sobrescrever no cálculo
CESTsó se STConvênio 142/2018; não preencha CEST genérico se o item não é ST
cEAN / cEANTribse houver GTINsenão a NF usa SEM GTIN conforme regra da emissão

Alíquotas no cadastro (icms, ipi, CBS/IBS) são fallback. O motor usa FAY006 quando encontra regra.

Aba Unidades e conversão

CampoEfeito
UM (1ª)unidade do saldo. Toda NF converte qCom para esta UM
2ª UMunidade da nota / tributável quando diferente
Tipo M / DqtyEstoque = qCom × fator ou ÷ fator
Fatorprioridade na entrada: override da tela → FAW02 → este fator → conversão física (TN→KG) → 1
Controle de loteliga lotControl; flags industriais só valem neste SKU
Controle de validadeexige dVal na NF quando enforcement está on

UM obrigatória. Sem ela o save recusa.

Aba Valores

CampoUsar paraNão usar para
Preço de venda (salePrice)PDV, pedido, orçamentocusto
Último preço compra (lastPrice)referência; a NF de entrada atualizavender
Custo médio (averageCost)atualizado pela entrada; fallback se não há FIFOpreço de lista
Peso bruto kgNF-e—

Gravar o cadastro nunca aplica o motor de preço às escuras. Se o cálculo sugerir outro salePrice, o save abre modal (informado vs sugerido); o usuário escolhe.

O que o cadastro não faz

  • Não cria linha em FAPOB. Saldo zero até a primeira entrada/ajuste/OP.
  • Não reserva. Reserva nasce do pedido/OP.
  • Não emite NF.

Erros comuns

SintomaCausa
NF confirma e estoque não anda neste SKUconfirmou outro código; ou UM da NF sem fator e quantidade ficou 0
FEFO/ATP ignoram o produtolotControl=false
Mesmo código em dois tenantssão produtos diferentes (company_id)

Saiba mais

Armazém · Entrada de NF · Lote · API produtos