Orçamento de Procedimentos
Visão Geral
Para procedimentos eletivos (cirurgias, planos de tratamento, particulares), gera orçamento detalhado com serviços, equipamentos, produtos e taxas. Paciente recebe PDF, aprova/rejeita. Aprovação automaticamente vira agendamento + autoriza fluxo financeiro.
Estrutura do Orçamento
Um orçamento contém múltiplos Serviços. Cada serviço pode ter:
- Produtos consumidos (ex: ampolas, gases, materiais)
- Taxas (ex: taxa de sala cirúrgica, taxa de equipamento)
- Equipamentos utilizados (com grade de tempo de uso)
- Profissional responsável
Status do Orçamento
| Status | Significado |
|---|---|
| RASCUNHO | Em criação |
| AGUARDANDO_APROVACAO | Enviado ao paciente |
| APROVADO_CLIENTE | Paciente aprovou |
| REJEITADO_CLIENTE | Paciente rejeitou (com motivo) |
| CONFIRMADO | Agendamento gerado, fluxo iniciado |
| AGENDADO | Data marcada |
| REALIZADO | Procedimento executado |
| CANCELADO | Cancelado (com descricaoCancelamento) |
| EXPIRADO | Validade vencida (ParametrosOrcamento.diasValidos) |
Farol de Margem Receita/Custo ✅ Novo — jul/2026
Ao cruzar receita × custo, o sistema exibe um farol colorido indicando a saúde da margem:
| Cor | Significado | Consequência |
|---|---|---|
| 🟢 Verde | Margem dentro da meta da clínica | Segue sem aprovação extra |
| 🟡 Amarelo | Margem em alerta | Exige aprovação por nível hierárquico |
| 🔴 Vermelho | Margem ruim ou negativa | Bloqueia — exige liberação por nível hierárquico |
| 🟣 Roxo ✅ Novo — ago/2026 | Erro de preço (sem custo ou sem receita) | Bloqueia até a correção do cadastro de preço (#545) |
Os limites de cada cor são configuráveis nos Parâmetros da clínica, e o índice do parâmetro aparece junto ao farol nos serviços (#434). Quando a margem fica amarela ou vermelha, o sistema exige aprovação por nível (1 a 4 — orçamentista, coordenador, gerente, diretor); no vermelho há bloqueio até a liberação (#505/#506/#507). ✅ Novo — ago/2026 Essa aprovação passou a funcionar por nível de alçada (renomeado de "nível de desconto" — #557), com notificação a todos os usuários do nível; quando um responde, resolve para todos (#558, épico #571 concluído em 13/08/2026).
Novidades do ciclo de agosto/2026 ✅ Novo — ago/2026
Entregue no ciclo de agosto/2026; se ainda não apareceu no seu ambiente, chega na próxima atualização.
- Farol — visão geral entregue: lista de cruzamentos serviço×convênio e produto×convênio (#435 — 02/08).
- Farol considera taxas: o farol do orçamento passa a considerar as taxas (#550 — 07/08).
- Farol roxo para erro de preço: itens sem custo ou sem receita ganham farol roxo, com bloqueio (#545 — 01/08).
- Notificação de orçamento com link para aprovar: notificação de orçamentos solicitados com link para ver/aprovar e prazos (#446 — 30/07).
- Crítica de quantidades no agendamento a partir do orçamento: o agendamento passa a criticar as quantidades de produtos a partir do orçamento/autorização (#553 — épico #570, 13/08). Ver Agendamento.
- Nível de alçada na aprovação do farol: aprovações do farol por nível de alçada (renomeado de "nível de desconto" — #557), com notificação por grupo (#558 — épico #571, 13/08).
Novidades do ciclo de setembro/2026 ✅ Novo — set/2026
Entregue no ciclo de setembro/2026; se ainda não apareceu no seu ambiente, chega na próxima atualização.
- Trava de edição pós-aprovação: orçamento aprovado (pelo cliente ou pela assistência) não pode mais ser editado. O botão "Abrir Proposta" fica desabilitado após a aprovação.
- Documentos copiados também na edição: os documentos anexados ao orçamento passam a ser copiados para o agendamento também na edição do orçamento — antes isso só acontecia na criação.
Expiração Automática
Todo orçamento tem validade definida em ParametrosOrcamento.diasValidos (padrão 30 dias). Um cron diário marca automaticamente como EXPIRADO os orçamentos que ultrapassaram a validade — sem ação manual.
Aprovação Vira Agendamento (automático)
Ao aprovar (POST /orcamento/:id/aprovar), o sistema cria o agendamento automaticamente e abre o fluxo de atendimento — não é preciso recriar os dados manualmente. Orçamentos cancelados podem ser reabertos em /orcamento/:idOrcamentoCancelado/reabrir.
✅ Novo — jul/2026 O caminho inverso também foi entregue: agora é possível fazer o vínculo do orçamento a partir do agendamento (#359 — 24/07/2026).
✅ Novo — set/2026 Depois da aprovação, o orçamento fica travado para edição e o botão "Abrir Proposta" é desabilitado (ver novidades de setembro).
servicosPedemAutorizacao) foram corrigidos entre 20 e 22/07/2026. Entregue no ciclo de julho/2026; se ainda não apareceu no seu ambiente, chega na próxima atualização.
Endpoints da API
| Método | Endpoint | Função |
|---|---|---|
| POST | /orcamento | Criar |
| GET | /orcamento | Listar |
| GET | /orcamento/:id | Detalhe |
| PUT | /orcamento/:id | Atualizar |
| GET | /orcamento/status | Lista status |
Models do schema (8)
Orcamento— header (paciente, local, responsável, status, observação)OrcamentoServico— serviços do orçamentoOrcamentoServicoProdutos— produtos consumidos por serviçoOrcamentoServicoTaxa— taxas do serviçoOrcamentoServicoEquipamentos— equipamentos utilizadosOrcamentoServicoMovimentacao— vincula a MovimentacaoFinanceiraStatusOrcamento— status configuráveisParametrosOrcamento— validade (diasValidos)
Telas (Frontend)
/portal/agenda/orcamento— lista (OrcamentoList.tsx)/portal/agenda/orcamento/criar— novo (OrcamentoForm.tsx)/portal/agenda/orcamento/:id— editar/detalhar/portal/agenda/orcamento/:idOrcamentoCancelado/reabrir— reabrir cancelado
Fluxo Conversão para Atendimento
- Orçamento APROVADO_CLIENTE → botão "Agendar"
- Sistema abre tela de agendamento pré-preenchida
- Salvar agendamento → orçamento vira CONFIRMADO
- Execução do atendimento → vincula MovimentacaoFinanceira ao OrcamentoServicoMovimentacao
- Orçamento vira REALIZADO ao fechar atendimento
Descontos
Aplicação de desconto chama validacaoDescontoController que valida nível de permissão do colaborador via ParametrosDeDesconto:
- Nivel 1 (até 5%) — Recepcionista
- Nivel 2 (até 10%) — Coordenador
- Nivel 3 (até 20%) — Gerente
- Sem limite — Diretor
✅ Novo — ago/2026 O "nível de desconto" foi renomeado para "nível de alçada" (#557), e as aprovações passaram a notificar todos os usuários do nível — quando um responde, resolve para todos (#558). Entregue no ciclo de agosto/2026; se ainda não apareceu no seu ambiente, chega na próxima atualização.
Versões do Orçamento
Cada alteração relevante (mudança valor, escopo) gera nova versão. Cliente compara versões antes de aprovar. Histórico preservado em Actions.
Permissões
ORCAMENTO.VIEW,.CREATE,.UPDATEORCAMENTO.APROVAR— confirmar aprovação do pacienteORCAMENTO.CANCELARORCAMENTO.REABRIR— reabrir canceladoORCAMENTO.OVERRIDE_VALOR— valor manual acima da tabela
Relatórios
- Taxa de conversão (orçamento → realizado) por colaborador/especialidade
- Valor médio por tipo de procedimento
- Top motivos de rejeição
- Orçamentos expirados (potencial perdido)