Kora Orçamentos
Do pedido ao orçamento em PDF, em um único fluxo.
- Cliente
- Serviços
- Cálculo
- Banco
- Projeto
- Kora Orçamentos
- Stack
- Node.js · Express 5 · PostgreSQL · PDFKit
- Case
- Demonstrativo · empresa fictícia
O vendedor escolhe o cliente e os serviços; o backend calcula com as regras comerciais, numera, gera o PDF, salva no PostgreSQL e envia por e-mail com o PDF anexo.
Regras comerciais aplicadas sempre na mesma ordem.
O caso de referência do projeto, coberto pelos testes automatizados: quatro serviços, cliente na zona 2, pagamento via PIX.
- 1Subtotal: Σ quantidade × preço (m² com 2 casas; unidade e hora inteiros)
- 2Urgência: +20%não incide neste caso
- 3Desconto progressivo: 5% a partir de R$ 5.000 e 8% a partir de R$ 15.000
- 4Desconto manual: até 5% livre; até 15% com aprovação do gestornão incide neste caso
- 5Abatimento de visita técnica feita nos últimos 15 dias, uma única veznão incide neste caso
- 6Deslocamento por zona: grátis, R$ 45, R$ 90 ou fora de área (bloqueado)
- 7Pagamento: PIX −5% · boleto · cartão até 6x sem juros, 7x a 10x +4,5%
| Serviço | Qtd. | Unit. | Total |
|---|---|---|---|
| PIN-01Pintura interna (paredes) | 95 m² | R$ 22,00 | R$ 2.090,00 |
| ELE-02Instalação de luminária/lustre | 6 un | R$ 90,00 | R$ 540,00 |
| ELE-01Instalação de tomada/interruptor | 10 un | R$ 60,00 | R$ 600,00 |
| REV-02Instalação de piso vinílico | 42 m² | R$ 45,00 | R$ 1.890,00 |
- SubtotalΣ quantidade × preçoR$ 5.120,00
- Desconto progressivo (5%)a partir de R$ 5.000− R$ 256,00
- Deslocamento (Zona 2)tarifa da zona+ R$ 45,00
- PIX à vista (−5%)forma de pagamento− R$ 245,45
Todo orçamento tem um estado, e um histórico.
Cada mudança de estado é registrada na auditoria do orçamento: criação, PDF, e-mails, aprovação e expiração.
- Aprovadoregistrado pelo vendedor
- Recusadoregistrado pelo vendedor
- Expiradoautomático após 15 dias
Telas reais do sistema em funcionamento.
Capturas da aplicação rodando com os dados de demonstração.
- 01
Montagem com cálculo ao vivo
Cada item mostra quantidade, unidade e total, e o resumo recalcula na hora: subtotal, desconto progressivo, deslocamento pela zona do cliente e ajuste da forma de pagamento.
- Pré-visualização ao vivo
- Custo e margem só para uso interno

- 02
Cliente e catálogo de serviços
O cliente define a zona de deslocamento, e o catálogo é organizado por categoria, com código, preço e unidade de cada serviço.

- 03
Orçamento emitido
Itens, totais, observações e o histórico de eventos: criação, PDF gerado e e-mail enviado. Daqui o vendedor abre o PDF, reenvia o e-mail ou registra aprovação ou recusa.
- Histórico auditável
- Reenvio de e-mail
- Aprovação ou recusa

- 04
Orçamentos e indicadores
Orçamentos emitidos, valor em aberto, aprovados e taxa de conversão, com filtros por status e busca.

O que o sistema faz.
- 01
Catálogo por unidade
Serviços cobrados em m², unidade ou hora, com preço calculado a partir do custo.
- 02
Motor de cálculo
Urgência, desconto progressivo, desconto manual com aprovação, deslocamento por zona e forma de pagamento.
- 03
PDF em prancha técnica
Seções numeradas, valores em fonte mono e carimbo com campo de aceite do cliente.
- 04
Envio por e-mail
PDF anexo e botão para aprovar o orçamento; falhas ficam registradas para reenvio.
- 05
Ciclo de vida
Rascunho, enviado, aprovado, recusado ou expirado após 15 dias.
- 06
Auditoria
Cada criação, PDF, e-mail, aprovação e expiração fica registrada.
Como o sistema é construído.
- Interface
- HTML · CSS · JavaScript, sem framework
- Backend
- Node.js · Express 5 · Zod
- Banco
- PostgreSQL · PGlite na demonstração ou qualquer Postgres
- Documentos
- PDFKit com fontes IBM Plex embutidas
- Nodemailer (SMTP, caixa de testes ou arquivo)
- Testes
- node:test no motor de cálculo e no fluxo da API
- 01Painel do vendedor
- 02API REST · Express
- 03Motor de cálculo · função pura
- 04Transação · numera, grava e gera o PDF
- 05PostgreSQL
- 06E-mail · fora da transação
Decisões técnicas
- Dinheiro em centavos e percentuais em basis points: sem erro de ponto flutuante.
- Preço de venda calculado pelo próprio banco a partir do custo.
- Itens guardam um retrato do serviço: mudar o catálogo não altera orçamentos antigos.
- Numeração anual segura sob concorrência.
O que o sistema proporciona.
Benefícios descritos de forma qualitativa: este é um case demonstrativo, sem métricas de uso real.
- Padroniza o cálculo pelas regras comerciais da empresa.
- Agiliza a resposta ao cliente com PDF e e-mail automáticos.
- Protege a margem: o custo nunca chega ao cliente.
- Mantém o histórico auditável de cada orçamento.

Seu processopode ser um sistema.
A CLV cria sistemas sob medida para transformar processos complexos em operações mais simples, organizadas e escaláveis.