← voltar para o feed
ERP7 min de leitura

Erros que cometi criando meu sistema de estoque

De saldo negativo a duplicação de movimentação, os bugs reais que me ensinaram mais do que qualquer curso de arquitetura.

#erp#estoque#aprendizados

Post sem filtro. Os bugs que eu coloquei em produção construindo o StockPro.

1. Saldo como campo, não como projeção

Primeiro design: product.stock: number atualizado a cada movimentação. Resultado: 3 semanas depois, relatórios divergiam do banco. Toda vez.

Correção: saldo é sempre derivado de movements. Cache é invalidado por evento.

2. Falta de idempotência no POST

Usuário com internet ruim clicava em "dar baixa" duas vezes. Duas saídas.

// Antes: ingenuidade pura
POST /movements { productId, qty: 5 }

// Depois: cliente manda um idempotencyKey
POST /movements
Headers: { "Idempotency-Key": "a4f9-..." }

3. Não validar estoque antes da saída

Resultado: saldo -3 camisas. Contabilmente impossível. Hoje há uma beginStockTransaction() que trava o SKU, checa saldo e só então grava.

4. Relatórios batendo no banco de produção

Dashboard pesado derrubando o ERP na hora do fechamento. Hoje: read replica + materialização de agregados a cada 5 minutos.

Todo bug de produção vira uma regra de arquitetura. Quem não anotou, vai repetir.

Gostou do post?

Compartilha com alguém que tá resolvendo o mesmo problema.

# Continue lendo