Orçamento de Procedimentos

📚 Referência completa e treinamento: este módulo tem uma lição detalhada de certificação — passo a passo de todas as telas, campos e regras.
Módulo grande — 13 arquivos backend, 8 models no schema. Em produção. Substitui processo manual em planilha. (GitLab #398 — HU completa, concluída em 24/07/2026.)
✅ Novo — jul/2026 Novidades de julho/2026: HU do Orçamento concluída (#398 — 24/07); vínculo do orçamento a partir do agendamento (#359 — 24/07); e Farol de Margem Receita/Custo entregue (ver seção abaixo). Entregue no ciclo de julho/2026; se ainda não apareceu no seu ambiente, chega na próxima atualização.

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. Orçamento aprovado → botão "Agendar" gera o agendamento pré-preenchido com os dados do orçamento (ver Fluxo de conversão) e segue para o fluxo financeiro.

Estrutura do Orçamento

Um orçamento contém múltiplos Serviços. Cada serviço pode ter:

Não encontro o profissional ou o serviço

Hoje (produção): a trava de especialidade do convênio (#628) está desligada temporariamente desde 06/10/2026 no agendamento e no orçamento — profissionais, especialidades e serviços aparecem sem filtro pelo que o convênio atende. Confira a cobertura do convênio ao orçar. No cadastro do convênio a regra vale (serviço de especialidade não atendida aparece como "Não atendida" e não pode ser marcado como Utiliza) — ver Configurações › Convênios › aba Especialidades.

Status do Orçamento

✅ Novo — 26/09/2026 Os status abaixo são os nomes que aparecem no sistema (código de produção). Correção 26/09/2026: esta tabela listava nomes técnicos que não existem na tela (RASCUNHO, APROVADO_CLIENTE, EXPIRADO etc.).

#StatusSignificadoEdição
1Pendente de aprovação internaOrçamento aguardando a aprovação interna da clínica.Editável
2Em negociaçãoProposta em negociação.Editável
3CanceladoOrçamento cancelado (pode ser reaberto — ver Reabrir).—
4Solicitar nova propostaFoi pedida uma nova proposta.Editável
5RecusadoProposta recusada.🔒 Trava a edição
6Aprovado pelo PacienteO paciente aprovou a proposta.Editável
7Aprovado pelo ConvênioO convênio aprovou a proposta.Editável
8VencidoValidade do orçamento ultrapassada. Status virtual: é calculado pela data de validade e nunca é gravado no orçamento. Aparece como pendência no board — precisa ser renovado.Editável (para renovar)
9Aprovado pela AssistênciaAprovado pela assistência (enfermagem). Aparece como pendência no board — precisa de seguimento.🔒 Trava a edição

✅ Novo — 08/10/2026 Rótulos únicos: a lista, o modal, o relatório, o seletor da agenda, a aba Orçamentos do paciente e os dashboards passaram a usar os mesmos nomes; o seletor de status do modal mostra só as trocas permitidas.

🟡 Chegando Status automáticos 10 a 13 (#656) — o sistema já mostra os novos nomes, mas a troca automática ainda não está ativa. Até a ativação, confira pagamento e sessões abrindo o orçamento (parcelas e sessões usadas), e para refazer um orçamento vencido use Copiar. Quando a troca automática for ligada:
#StatusQuando aparecerá
10PagoPagamento total do orçamento.
11AgendadoSessões agendadas, depois de o orçamento ser aceito (pago ou aprovado manualmente).
12ConcluídoTodas as sessões de todos os serviços atendidas ("Atendido com pendência" conta).
13RenegociadoOrçamento vencido que foi refeito pelo botão "Renegociar" (cria um orçamento novo ligado ao original).
Regras previstas: status automáticos não poderão ser escolhidos à mão; Vencido passará a ser gravado (validade passou e nenhum pagamento — pagamento parcial impede o vencido; só para validades a partir de 08/10/2026) e travará agendar, editar e aprovar até Cancelar (com motivo) ou Renegociar; reabrir Cancelado ou Concluído pedirá senha de nível 3; cancelar com agendamento futuro ou pagamento avisará e oferecerá cancelar os agendamentos. O orçamento de convênio só vira Agendado/Concluído depois de "Aprovado pelo Convênio". Não conte com nada disso até o aviso de ativação.

✅ Novo — 08/10/2026 Botão "Agendar" liberado para Aprovado pelo Paciente, Aprovado pelo Convênio, Aprovado pela Assistência, Pago, Agendado e Concluído — Em Negociação não libera. Copiar e Reabrir passaram a guardar o orçamento de origem.

Resumo: travam a edição só Recusado e Aprovado pela Assistência; Vencido e Aprovado pela Assistência também aparecem como pendência no board. Detalhes em Edição depois de aprovado.

Farol de Margem Receita/Custo ✅ Novo — jul/2026

Entregue! O Farol de Margem saiu do roadmap: a HU de Farol de Margem Receita/Custo com Níveis (#390) foi concluída em 22/07/2026, junto com o farol em cores nos serviços (#434), o farol por parâmetros com exibição em cor e bloqueio no vermelho para convênios e serviços (#505/#506/#507) e o farol de % de gastos dos convênios (#339). Entregue no ciclo de julho/2026; se ainda não apareceu no seu ambiente, chega na próxima atualização.
💰 Como o Rabi chega ao preço? O orçamento calcula o valor de cada linha (serviço, produto e taxa) pela regra de conversão do convênio. Os 3 níveis de conversão, as 3 linhas de cada item (4 na coluna Valor do serviço, com a Σ — ✅ em produção desde 24/09) e o modo pacote estão explicados de ponta a ponta na nova área Preços e Conversão de Valores.

Ao cruzar receita × custo, o sistema exibe um farol colorido indicando a saúde da margem:

CorSignificadoConsequência
🟢 VerdeMargem dentro da meta da clínicaSegue sem aprovação extra
🟡 AmareloMargem em alertaExige aprovação por nível hierárquico
🔴 VermelhoMargem ruim ou negativaBloqueia — exige liberação por nível hierárquico
🟣 Roxo ✅ Novo — ago/2026Erro de preço (sem custo ou sem receita)Bloqueia até a correção do cadastro de preço (#545)
✅ Novo — 12/10/2026 O custo do Farol agora inclui repasse e custos extras (#655). Custo = produtos + custo extra do convênio + prestadores (Serviços extras) + repasse do profissional. Sem profissional definido, usa o maior repasse entre quem atende o serviço e aceita o convênio. O diálogo de custos do orçamento mostra "Custo do convênio", "Prestador" e "Repasse" com a regra usada ("Regra do profissional para o serviço" / "Regra geral do profissional" / "Profissional sem repasse cadastrado" / "Estimado: maior repasse entre quem atende"). Mudam as cores: "sem cor" só quando o custo total é 0; roxo = há produto com custo 0; índice exatamente no limite do vermelho passa a amarelo; serviços sem produto que ficavam sem cor passam a ter cor. O bloqueio e a aprovação continuam usando a cor sem os custos novos até a clínica marcar, em Configurações › Parâmetros › Orçamento, "Custos extras (convênio, prestadores e repasse) também bloqueiam" (desmarcado por padrão) — antes de ligar, use "Ver serviços que mudam de cor". Ver Configurações › Custos extras.

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). ✅ Novo — 26/09/2026 Desde 24/09/2026 os pedidos de aprovação (farol, desconto e edição/cancelamento de Atendido) chegam em tempo real a todos os aprovadores do nível exigido ou superior (ex.: um pedido de Nível 2 chega ao Nível 2 e ao Nível 3) e somem da tela dos demais assim que alguém responde.

Farol consolidado do orçamento ✅ Novo — 23/09/2026

✅ Novo — 23/09/2026 O Farol do orçamento agora olha o conjunto. Em produção desde 23/09/2026: o orçamento (assim como o agendamento e a autorização) tem um Farol consolidado, que substitui a regra antiga do farol por serviço (em que valia a cor mais crítica).

Em linguagem simples: Farol consolidado = tudo o que o convênio vai pagar por todos os serviços, produtos e taxas do orçamento (já com todas as regras de conversão) ÷ o custo de todos os produtos envolvidos × 100. ✅ Atualização 13/10: desde 12/10 o custo também inclui custo extra do convênio, prestadores e repasse — ver acima. Como funciona na prática:

✅ em produção desde 23/09 Item que o convênio não cobre entra a R$ 0,00: no orçamento, produto, taxa ou subserviço sem "Utiliza" (o convênio não cobre) entra a R$ 0,00 — tem custo, mas não tem receita — em vez de ser cobrado pelo preço da casa como era antes. Item com "Utiliza" usa sempre as conversões do convênio.

Taxas, produtos e subserviços sempre entram na conta ✅ em produção desde 23/09

Desde 23/09/2026, os itens da composição do serviço (taxas, produtos e subserviços) entram sempre no orçamento, cada um com as conversões do convênio — exatamente como saem na guia/XML. A opção "Definir preço do serviço pelos itens" (somar itens) decide só o valor próprio do serviço (zero quando marcada); ela não decide mais se os itens entram. Um item só fica fora em dois casos: o convênio não o Utiliza, ou o serviço é pacote de preço fechado e o item está com Zerar valor em pacotes.

Na dúvida sobre quando um item entra, fica fora ou vira R$ 0,00, siga a Árvore de decisão de preços.

As regras completas de conversão (zero é zero, vazio desce de nível, Utiliza, pacotes) estão na área Preços e Conversão de Valores.

✅ Novo — ago/2026 Visão geral do farol entregue: a visão geral com a lista de cruzamentos serviço×convênio e produto×convênio (#435) foi concluída em 02/08/2026 — não está mais "em breve". Entregue no ciclo de agosto/2026; se ainda não apareceu no seu ambiente, chega na próxima atualização.

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.

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.

Novidades de outubro/2026 ✅ Novo — 13/10/2026

Novidades de 15 a 23/10/2026 Novo — out/2026

Expiração Automática

Todo orçamento tem validade definida em ParametrosOrcamento.diasValidos (padrão 30 dias). Passada a validade, o orçamento aparece como Vencido — sem ação manual. ✅ Novo — 26/09/2026 Correção 26/09/2026: Vencido é um status virtual, calculado pela validade: ele nunca é gravado no orçamento (não há rotina que troque o status). O orçamento vencido continua editável para ser renovado e aparece como pendência no board.

✅ Atualização 13/10: segue assim enquanto a troca automática (#656) não for ativada. 🟡 Chegando Com a ativação, a validade passa a ser gravada na criação e o Vencido passa a travar o orçamento até Cancelar ou Renegociar — ver Status automáticos.

✅ Novo — 15/10/2026 Orçamento Recusado depois da validade não aparece mais como "Vencido" na lista nem no filtro Vencido. Também em 15/10: o card de aprovação do Farol mostra quem pediu, o serviço e o paciente já ao abrir a página; e, desde 13/10, o desconto por sessão do orçamento aparece no financeiro do agendamento.

Aprovação → botão "Agendar"

Com o orçamento aprovado, o botão "Agendar" gera o agendamento pré-preenchido com os dados do orçamento — não é preciso recriar os dados manualmente; basta conferir e salvar (ver Fluxo de conversão). Na API interna do sistema, a aprovação é POST /orcamento/:id/aprovar. 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 — 26/09/2026 Nem toda aprovação trava o orçamento: só Recusado e Aprovado pela Assistência impedem a edição (ver a seção abaixo).

Edição depois de aprovado — quem trava e quem não trava ✅ Novo — 26/09/2026

Em produção desde 25/09/2026. A regra antiga ("orçamento aprovado não pode ser editado", de forma genérica) foi substituída por esta:

Status do orçamentoPode editar?
Recusado🔒 Não — edição travada
Aprovado pela Assistência (enfermagem)🔒 Não — edição travada
Aprovado pelo Paciente✏️ Sim — continua editável
Aprovado pelo Convênio✏️ Sim — continua editável
Vencido✏️ Sim — continua editável (para renovar)

Continua valendo o #614: a impressão e a proposta mostram o valor congelado do orçamento, e uma tentativa de edição num orçamento travado é ignorada com aviso (nunca falha em silêncio).

Orçamento com várias sessões — financeiro único ✅ Novo — 26/09/2026

Em produção desde 24/09/2026 (à noite). Vale para orçamentos criados a partir de 25/09/2026; os orçamentos antigos seguem funcionando como eram.

O que o acolhimento bloqueia (orçamentos novos)

Para proteger contra cobrança errada ou em dobro, o acolhimento recusa a operação (o sistema mostra a mensagem e não acolhe) quando:

SituaçãoO que o sistema diz / o que fazer
Orçamento particular com financeiro ainda não pago"Não é possível acolher: o orçamento (id N) ainda não foi pago." → receba o pagamento no próprio acolhimento
Sessão sem a movimentação financeira do orçamento"…não tem a movimentação financeira do orçamento… de R$ X" → a sessão precisa usar a cobrança única do orçamento
Financeiro da sessão diferente do total do orçamento"…está diferente do orçamento…" → confira o valor antes de acolher
Duas sessões do mesmo orçamento com movimentações diferentesSeria cobrança em dobro → o acolhimento é bloqueado
Agendamento ligado a mais de um orçamento com financeiro"separe as sessões por orçamento"

Ver também Agendamento › Acolhimento de orçamento pago.

✅ Novo — 29/09/2026 Pagamento parcial antecipado (#604, em produção desde 28/09/2026): quando o serviço exige sinal, o percentual mínimo incide sobre a sessão agendada, não sobre o orçamento/pacote inteiro; a confirmação do pagamento é manual nesta versão — ver Agendamento › Pagamento parcial antecipado.

Bugs corrigidos ✅ Novo — jul/2026: os bugs #386 e #387 (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 interna do sistema

Atenção: estes são os endpoints da API interna usada pelas telas do Rabi — não é a API externa de integração. Para integrar sistemas externos (criar orçamento, atualizar, mudar status, anexos), use a API externa — referência de operação (Orçamentos).

MétodoEndpointFunção
POST/orcamentoCriar
GET/orcamentoListar
GET/orcamento/:idDetalhe
PUT/orcamento/:idAtualizar
GET/orcamento/statusLista status

Models do schema (8)

Telas (Frontend)

Fluxo Conversão para Atendimento

  1. Orçamento aprovado → botão "Agendar"
  2. Sistema abre tela de agendamento pré-preenchida
  3. Salvar agendamento → a sessão passa a contar como usada no orçamento (cancelar o agendamento devolve a sessão)
  4. Execução do atendimento → vincula MovimentacaoFinanceira ao OrcamentoServicoMovimentacao (orçamentos criados desde 25/09/2026: todas as sessões usam a mesma movimentação, com o total do orçamento — ver Financeiro único)

Descontos

Aplicação de desconto chama validacaoDescontoController que valida nível de permissão do colaborador via ParametrosDeDesconto:

✅ 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).

✅ Novo — 26/09/2026 Aprovação de desconto em tempo real (desde 24/09/2026): o pedido chega na hora a todos os aprovadores do nível exigido ou superior e some da tela dos demais quando um deles responde.

✅ Novo — 26/09/2026 Desconto em orçamento de várias sessões: antes do pagamento, o desconto dado no acolhimento vale para o orçamento e todas as sessões (é o mesmo financeiro); depois de pago, não é possível alterar o valor nem dar desconto — ver Financeiro único.

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

O orçamento é controlado pela permissão ORCAMENTO, só com os níveis do modelo (refináveis pelas permissões granulares, #395):

✅ Correção — 30/09/2026 Versões anteriores listavam ORCAMENTO.APROVAR, ORCAMENTO.CANCELAR, ORCAMENTO.REABRIR e ORCAMENTO.OVERRIDE_VALOR: essas permissões não existem no sistema.

Relatórios