Transferência entre armazéns

Dúvida: como transferir saldo de um local para outro na mesma filial.

Dúvida: como transferir produto entre armazéns?

Ambiente: Estoque → Operações → Movimentação → Transferências (/apps/stock/transfers). Não transfere entre filiais.

Pré-requisitos: dois armazéns ativos na mesma filial; saldo suficiente na origem (salvo política de negativo da filial, padrão não permite); permissão transferencias.

Caminho na tela

  1. Nova Transferência.
  2. Campos do cabeçalho:
CampoObrigatórioNota
OrigemsimSearchField de local
Destinosimdiferente da origem
Solicitantenãofuncionário
Observaçõesnão
Itenssimproduto + quantidade (UM de estoque)
  1. Salvar → status DRAFT. Ainda não há FAPOB.
  2. Na grade: Aprovar (DRAFT → APPROVED). Continua sem movimento.
  3. Concluir (APPROVED → COMPLETED) — POST /stock-transfer/execute/:id. Aí o Core grava os movimentos.
  4. Cancelar vale em DRAFT e APPROVED. COMPLETED não volta pelo botão da lista.

Abas da lista: Todas, Rascunho, Aprovadas, Concluídas, Canceladas. Visualizar: /apps/stock/transfers/[id].

O que o sistema grava ao concluir

  • Um FAPOB saída (S) no local origem, origem TRANSFER.
  • Um FAPOB entrada (E) no local destino, mesma quantidade e mesmo document (código da transferência).
  • Custo da saída via FIFO na origem; a entrada no destino herda o custo do movimento (não “zera” o custo).
  • Com lote: a transferência deve carregar lot_id quando o SKU tem lotControl e a flag de lote está ligada (senão o lote some no destino).

Regras

  • Mesma empresa/filial. Locais diferentes.
  • Estorno de transferência não é “apagar linha”: use movimento de volta ou ajuste, conforme o caso. Estorno genérico: POST /stock/reverse/:movementId com motivo, se o saldo permitir.

API

MétodoRotaQuando
GET/stock-transfer/:filialIdlista (status, page, limit)
GET/stock-transfer/detail/:iddetalhe
POST/stock-transfer/:filialIdcria rascunho
PATCH/stock-transfer/:idedita rascunho
DELETE/stock-transfer/:idexclui rascunho
POST/stock-transfer/approve/:idaprova (approvedBy)
POST/stock-transfer/execute/:idconclui e lança estoque

Erros comuns

SintomaCausa
Salvou e o kardex não mudouficou em rascunho ou só aprovada — falta Concluir
Recusa por saldoorigem sem disponível (reserva de pedido come o ATP)
Tentou outra filialbloqueado de propósito

Saiba mais

Ajuste (quando não é mudança de local) · Kardex