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
- Menu Estoque → Cadastros → Produtos (
/apps/product). - Novo →
/apps/product/add(ou editar/apps/product/edit/[id]). - Preencha as abas na ordem: Dados gerais → Dados fiscais / NF-e → Unidades e conversão → Valores e impostos.
- 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
| Campo | Obrigatório | Efeito |
|---|---|---|
| Código | sim (único na empresa) | chave operacional em NF, pedido, FAPOB.product |
| Nome | sim | busca (tokens + pg_trgm) |
| Status | sim | ACTIVE / INACTIVE / BLOCKED — bloqueado não deve sair em venda |
| Descrição | não | texto longo |
| Marca | não | filtro; import legado agrupa nome+marca |
| Categoria | não | SearchField → GET /product-categories/:filialId |
| Localização padrão | não | texto livre (corredor); não substitui o código do armazém 001 |
| Observação | não | não vai para NF-e nem pedido |
| Tipo | sim | MP matéria-prima, PI intermediário, PA acabado, ME embalagem, BN beneficiamento, SC serviço/subcontratação, MC consumo |
| Elegibilidade patrimonial | não | ativo fixo; não transforma o SKU em bem sozinho |
| % Comissão | não | 0 = usa taxa do vendedor |
| Portal do cliente | não | visível no portal operacional (/portal), não no site /conta |
| Imagens | não | JPEG/PNG/WebP até 8 MB; a primeira é capa |
Aba Dados fiscais / NF-e
| Campo | Obrigatório para NF-e | Nota |
|---|---|---|
| NCM | sim | 8 dígitos; busca Receita; matching da regra fiscal por prefixo |
| CFOP | recomendado | default de cadastro ex. 5102; a regra pode sobrescrever no cálculo |
| CEST | só se ST | Convênio 142/2018; não preencha CEST genérico se o item não é ST |
| cEAN / cEANTrib | se houver GTIN | senã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
| Campo | Efeito |
|---|---|
| UM (1ª) | unidade do saldo. Toda NF converte qCom para esta UM |
| 2ª UM | unidade da nota / tributável quando diferente |
Tipo M / D | qtyEstoque = qCom × fator ou ÷ fator |
| Fator | prioridade na entrada: override da tela → FAW02 → este fator → conversão física (TN→KG) → 1 |
| Controle de lote | liga lotControl; flags industriais só valem neste SKU |
| Controle de validade | exige dVal na NF quando enforcement está on |
UM obrigatória. Sem ela o save recusa.
Aba Valores
| Campo | Usar para | Não usar para |
|---|---|---|
Preço de venda (salePrice) | PDV, pedido, orçamento | custo |
Último preço compra (lastPrice) | referência; a NF de entrada atualiza | vender |
Custo médio (averageCost) | atualizado pela entrada; fallback se não há FIFO | preço de lista |
| Peso bruto kg | NF-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
| Sintoma | Causa |
|---|---|
| NF confirma e estoque não anda neste SKU | confirmou outro código; ou UM da NF sem fator e quantidade ficou 0 |
| FEFO/ATP ignoram o produto | lotControl=false |
| Mesmo código em dois tenants | são produtos diferentes (company_id) |
Saiba mais
Armazém · Entrada de NF · Lote · API produtos
