← Voltar ao índice

📊 BWC Planner

Modelagem financeira de qualquer negócio — cenários e métricas ao vivo, break-even, LTV/CAC, orçamento por margem-alvo + exportação PDF.

URL: planner.bwccorp.com.br
Frontend: Next.js 16 (React 19)
Banco: SQLite (LibSQL + Prisma)
Repo: vituulm/bwc-planner
Status: ✅ Rodando — porta 3049
Next.js 16 React 19 Prisma + LibSQL SQLite Recharts Tailwind CSS v4 TypeScript

Especificação do Produto

Missão

Ferramenta de modelagem financeira para empreendedores — crie negócios, projete múltiplos cenários (conservador/base/otimista) e compare métricas ao vivo: break-even, LTV/CAC, margem de contribuição e lucro. Gere orçamentos por margem-alvo com cálculo reverso automático (Preço = Custo ÷ (1 − imposto − provisão − margem)).

Usuários-alvo

Empreendedores, consultores financeiros, prestadores de serviço que precisam precificar com margem real controlada

Infra

Next.js 16 — porta 3049 · SQLite via LibSQL (arquivo dev.db) · Caddy reverse proxy

Modelos Prisma (3 models)

Business — negócio/empreendimento com custo fixo mensal e reserva de caixa · Scenario — cenário de projeção vinculado a um negócio: ticket médio, clientes/mês, custo variável %, imposto %, CAC, meses de retenção · Quote — orçamento por margem-alvo com itens JSON, provisão de risco, percentual de sinal e totais pré-calculados (custo, preço, lucro)

Métricas calculadas por cenário (lib/finance.ts)

Endpoints da API

Negócios — /api/businesses

GET/api/businesses
Lista todos os negócios com contagem de cenários e orçamentos. Ordenado por createdAt desc.
POST/api/businesses
Cria negócio. Body: { name, description?, custoFixoMensal?, reservaCaixa?, notes? }. Campo name é obrigatório.
GET/api/businesses/:id
Detalhe do negócio com todos os cenários (orderBy: createdAt asc).
PATCH/api/businesses/:id
Atualiza campos do negócio parcialmente. Aceita: name, description, notes, custoFixoMensal, reservaCaixa.
DELETE/api/businesses/:id
Remove negócio e todos os cenários em cascata (onDelete: Cascade).

Cenários — /api/scenarios

POST/api/scenarios
Cria cenário vinculado a um negócio. Body obrigatório: { businessId, name }. Opcionais: ticketMedio, clientesMes, custoVariavelPct, impostoPct, cacPorCliente, retencaoMeses (default 12).
PATCH/api/scenarios/:id
Atualiza campos numéricos ou textuais do cenário. Suporta edição inline ao vivo — o front-end debounce/onBlur antes de chamar este endpoint.
DELETE/api/scenarios/:id
Remove cenário.

Orçamentos — /api/quotes

GET/api/quotes
Lista orçamentos salvos. Query param opcional: ?businessId=N para filtrar por negócio. Inclui nome do negócio vinculado.
POST/api/quotes
Salva orçamento. Body: { title, clientName?, businessId?, margem, impostoPct, provisao, sinalPct, items: [{desc,custo,qtd}], custoTotal, precoTotal, lucroTotal }. Os totais devem ser pré-calculados pelo frontend antes de enviar.
GET/api/quotes/:id
Detalhe do orçamento. O campo items retorna deserializado (JSON.parse interno).
DELETE/api/quotes/:id
Remove orçamento salvo.

Seed — /api/seed

POST/api/seed
Popula banco com dados de exemplo para desenvolvimento/demonstração.

Lógica de Precificação

Fórmula central do orçamento: Preço = Custo ÷ (1 − imposto% − provisão% − margem%) — a margem digitada é a margem líquida real, não bruta.
Variável Descrição Exemplo
margemMargem líquida desejada sobre o preço final40%
impostoPctAlíquota Simples Nacional (ou manual)6%
provisaoProvisão de risco (inadimplência, retrabalho)5%
sinalPctPercentual do valor total cobrado na entrada50%
denom1 − imposto − provisão − margem. Se ≤ 0, orçamento inviável0.49

Páginas do Frontend

RotaDescrição
/Lista de negócios — cria novo negócio, acessa existentes
/negocios/:idDetalhe do negócio: edição de premissas, tabela comparativa de cenários (receita, MB líq., lucro, break-even, LTV/CAC), cenários editáveis inline com seletor Simples Nacional
/orcamentoCalculadora de orçamento ao vivo: define margem-alvo, imposto, provisão e sinal; adiciona itens com custo e quantidade; exibe preço unitário e subtotais em tempo real; salva no banco
/orcamento/salvosLista orçamentos salvos com opção de filtrar por negócio
/orcamento/:idDetalhe de orçamento salvo com breakdown completo
/glossarioGlossário de termos financeiros usados na plataforma

Arquitetura de Deploy

bwc-planner (Next.js 16 — porta 3049)
  └─ SQLite / LibSQL (dev.db — sem servidor externo)
       ↑ Prisma adapter-libsql
  Caddy Reverse Proxy → 3049
       ↑
  planner.bwccorp.com.br (HTTPS)

Gerado automaticamente — BlackCat Corp • Voltar ao índice