StockMovement (Movimentacao de Estoque)
O StockMovement representa uma movimentacao de estoque, agrupando varias transacoes de produtos.
Descricao
Movimentacoes de estoque permitem registrar entradas, saidas, inventarios e transferencias de produtos em lote. Cada movimentacao contem uma ou mais transacoes de produtos individuais.
Dados
Informacoes da Movimentacao
| Campo | Tipo | Obrigatorio | Descricao |
|---|---|---|---|
| name | Texto | Auto | Nome/numero da movimentacao |
| type | Selecao | Sim | Tipo da movimentacao |
| status | Selecao | Sim | Status atual |
| date | Data | Sim | Data da movimentacao |
| obs | Texto | Nao | Observacoes |
Valores Totais
| Campo | Tipo | Descricao |
|---|---|---|
| total_quantity | Decimal | Quantidade total de itens |
| total_cost | Monetario | Custo total |
| total_additional_cost | Monetario | Custos adicionais (frete, etc.) |
Relacionamentos
Pertence a
| Entidade | Obrigatorio | Descricao |
|---|---|---|
| Account | Sim | Conta do petshop |
| Store | Sim | Filial |
| Deposit | Sim | Deposito destino |
| Provider | Condicional | Fornecedor (se entrada) |
| StockInvoice | Nao | Nota fiscal |
Possui
| Entidade | Descricao |
|---|---|
| StockTransactions | Transacoes de produtos |
Tipos de Movimentacao
entry (Entrada)
- Aumenta estoque
- Vinculada a fornecedor
- Pode ter nota fiscal
exit (Saida)
- Diminui estoque
- Razoes: perda, devolucao, ajuste
inventory (Inventario)
- Ajusta estoque para quantidade contada
- Registra diferenca
transfer (Transferencia)
- Move entre depositos ou lojas
- Cria duas transacoes: saida e entrada
Ciclo de Vida
Estados
| Status | Descricao | Acoes |
|---|---|---|
| draft | Rascunho | Editar, adicionar itens |
| pending | Pendente | Revisar, confirmar |
| done | Finalizado | Somente leitura |
StockTransaction
Dados
| Campo | Tipo | Descricao |
|---|---|---|
| quantity | Decimal | Quantidade |
| signal_quantity | Decimal | Quantidade com sinal |
| new_unit_cost | Monetario | Custo unitario |
| additional_cost | Monetario | Custo adicional rateado |
| average_cost | Monetario | Custo medio resultante |
Calculo do signal_quantity
entry: +quantity
exit: -quantity
inventory: quantity - old_quantity
transfer exit: -quantity
transfer entry: +quantity
Custos Adicionais
Rateio
Custos como frete sao rateados entre produtos:
custo_adicional_item = total_additional_cost * (valor_item / total_valor)
Exemplo
Total produtos: R$ 1.000
Frete: R$ 100
Produto A (R$ 600): frete R$ 60
Produto B (R$ 400): frete R$ 40
Entrada com Nota Fiscal
Processo
- Importar XML da NF-e
- Sistema identifica produtos pelo codigo
- Cria StockTransaction para cada item
- Atualiza custos e estoque
Conciliacao
Se produto nao encontrado:
- Vincula a produto existente, ou
- Cria novo produto
Inventario
Processo
- Criar movimentacao tipo inventory
- Informar quantidade contada por produto
- Sistema calcula diferenca
- Confirmar ajustes
Calculo da Diferenca
diferenca = quantidade_contada - quantidade_sistema
Se diferenca > 0: entrada (sobra)
Se diferenca < 0: saida (falta)
Transferencia
Entre Depositos (Mesma Loja)
- Criar movimentacao transfer
- Selecionar deposito origem e destino
- Adicionar produtos e quantidades
- Confirmar
Entre Lojas
- Criar movimentacao transfer
- Selecionar loja/deposito origem e destino
- Confirmar: cria duas movimentacoes
- Exit na origem
- Entry no destino
Validacoes
| Regra | Descricao |
|---|---|
| Quantidade > 0 | Quantidade deve ser positiva |
| Estoque suficiente | Exit nao pode exceder estoque |
| Deposito obrigatorio | Deposito deve ser informado |
| Produtos obrigatorios | Minimo 1 produto |
Automacoes
Ao Confirmar (status done)
- Cada StockTransaction executa
done! - Atualiza estoque do produto
- Recalcula custo medio (se entrada)
- Atualiza precos (se configurado)
Atualizacao de Precos
Opcao de atualizar precos na entrada:
| Opcao | Efeito |
|---|---|
| update_prices = yes | Atualiza precos de venda |
| update_promotional_prices = yes | Atualiza promocionais proporcionalmente |
Depositos
O que e um Deposito
Local fisico de armazenamento:
- Estoque principal
- Estoque reserva
- Vitrine
- CD (Centro de Distribuicao)
Estoque por Deposito
Cada produto tem estoque separado por deposito:
Produto: Racao Premium
- Deposito Principal: 80 un
- Deposito Reserva: 200 un
- Vitrine: 20 un
Total: 300 un
Permissoes
| Acao | Descricao |
|---|---|
| Criar | Criar movimentacao |
| Editar | Alterar movimentacao draft |
| Confirmar | Finalizar movimentacao |
| Cancelar | Cancelar movimentacao pending |
| Visualizar | Ver detalhes e historico |
Relatorios
Posicao de Estoque
Estoque atual por produto/deposito/loja.
Movimentacoes
Historico de entradas e saidas por periodo.
Inventario
Comparativo contagem x sistema.