# Documentação do Sistema de Estoque

## Visão Geral

O Sistema de Estoque será usado para controlar produtos, quantidades disponíveis, movimentações de entrada e saída, fornecedores e relatórios básicos. A proposta é oferecer uma base simples, organizada e expansível para uso administrativo.

## Objetivos

- Reduzir erros manuais no controle de estoque.
- Facilitar a consulta de saldos e movimentações.
- Registrar histórico de entradas e saídas.
- Apoiar decisões de compra com alertas de estoque mínimo.
- Centralizar informações de produtos e fornecedores.

## Perfis de Usuário

### Administrador

Usuário com acesso completo ao sistema. Pode cadastrar produtos, gerenciar usuários, ajustar configurações, consultar relatórios e auditar movimentações.

### Operador

Usuário responsável por registrar entradas e saídas de produtos, consultar estoque e acompanhar alertas.

### Consulta

Usuário com permissão apenas para visualizar produtos, saldos e relatórios.

## Módulos

### Produtos

Responsável pelo cadastro e manutenção dos produtos.

Campos sugeridos:

- Código interno
- Nome
- Descrição
- Categoria
- Unidade de medida
- Estoque mínimo
- Status

### Fornecedores

Responsável pelo cadastro de fornecedores vinculados aos produtos.

Campos sugeridos:

- Nome
- Documento
- Telefone
- E-mail
- Endereço
- Status

### Movimentações

Registra entradas, saídas e ajustes de estoque.

Tipos de movimentação:

- Entrada
- Saída
- Ajuste positivo
- Ajuste negativo

Cada movimentação deve registrar:

- Produto
- Quantidade
- Tipo
- Data
- Usuário responsável
- Observação

### Relatórios

Relatórios iniciais:

- Saldo atual de estoque
- Produtos abaixo do estoque mínimo
- Histórico de movimentações
- Entradas por período
- Saídas por período

## Regras de Negócio

- Um produto inativo não deve receber novas movimentações.
- Saídas não podem deixar o saldo negativo, salvo configuração explícita.
- Toda movimentação deve gerar histórico.
- O saldo do produto deve ser calculado a partir das movimentações ou mantido de forma sincronizada.
- Produtos abaixo do estoque mínimo devem aparecer em alerta.

## Critérios de Sucesso

- O usuário consegue cadastrar produtos e movimentar estoque sem depender de planilhas externas.
- O saldo exibido corresponde ao histórico de movimentações.
- Alertas de estoque mínimo são claros.
- Relatórios básicos podem ser filtrados por período e produto.

