Requisição de Compra (RC)
Como o engenheiro abre uma RC, vincula ao cronograma e aciona aprovação por alçada
O que é
Uma RC é o pedido interno: "preciso disso, para essa obra, para essa etapa, até essa data". Ainda não tem fornecedor — fornecedor entra na cotação.
Como criar
Suprimentos → tab Requisições → "Nova requisição"
Conteúdo mínimo
| Campo | Obrigatório | Notas |
|---|---|---|
| Empreendimento | Sim | Auto-preenchido pelo contexto |
| Solicitante | Sim | Auto = usuário logado |
| Origem | Sim | manual / cronograma / reposição estoque / fundo fixo / emergencial |
| Tarefa do cronograma | Forte recomendação | Para rastreabilidade |
| Nó da árvore orçamentária | Sim | Centro de custo |
| Data de necessidade | Sim | Quando o material precisa estar na obra |
| Local de entrega | Sim | Endereço da obra ou almoxarifado |
| Prioridade | Sim | Alta / Média / Baixa |
| Justificativa | Sim | Texto livre — obrigatório para emergencial |
| Itens | Sim | Pelo menos 1 |
Item da RC
| Campo | Notas |
|---|---|
| Insumo / composição | Do catálogo (preferencial) ou descrição livre |
| Quantidade | Numeric |
| Unidade | Validada contra catálogo |
| Preço estimado unitário | Auto-preenche do catálogo (informativo) |
Origens automáticas
A plataforma sugere RCs em alguns casos:
1. Pelo cronograma
Quando uma tarefa do cronograma vai começar em N dias (configurável por categoria), o sistema gera sugestão de RC com os insumos das composições daquela tarefa.
Suprimentos → tab Planejamento mostra todas as tarefas com sugestões pendentes.
2. Por reposição de estoque
Se um item do almoxarifado cai abaixo do ponto_pedido, gera RC sugerida automaticamente.
3. Por reposição de fundo fixo
Quando saldo do fundo cai abaixo do mínimo, gera RC interna.
4. Por emergência (manual)
Engenheiro marca emergencial=true. Fluxo abreviado mas com requisitos:
- Justificativa textual mínimo 200 caracteres
- Aprovação de 2 níveis sempre (gerente + diretor)
- Pode dispensar cotação (com relatório posterior em 48h)
- Aparece em relatório mensal de controladoria
Validações automáticas
Antes da RC ser submetida para aprovação, sistema verifica:
- Saldo orçamentário: se baseline congelado e o valor estimado + comprometido + realizado > previsto do nó, bloqueia ou exige justificativa de excesso (configurável por org)
- Insumo/composição inativo: bloqueia
- Empreendimento arquivado: bloqueia novas RCs
- Solicitante sem
compras_requisicao:writeno projeto: bloqueia
Estados da RC
São 9, e a lista é fechada no banco por uma CHECK em purchase_requisitions.status — status fora dela não é aceito.
Caminho principal:
rascunho → aguardando_aprovacao → aprovada → em_cotacao → cotada → aprovada_compra → pedido_emitido → entregue
↑ │
└────────────────┘ reprovar, cancelar ou expirar a aprovação devolve a RC a rascunho
qualquer status não-terminal → cancelada- Rejeição não é um status. Reprovar devolve a RC para
rascunhocom o motivo do aprovador gravado emmotivo_cancelamento, para o solicitante corrigir e reenviar. Não existerejeitada. - Aprovação cancelada ou expirada também devolve a RC a
rascunho, mas sem motivo registrado — ninguém decidiu. A RC volta editável e o solicitante reenvia. canceladaencerra a requisição. Não existeencerrada: o fim do caminho principal éentregue.- Na tela da obra, os 9 status colapsam em 6 fases — Solicitado · Aprovado · Em cotação · Em pedido · Entregue · Cancelada. O engenheiro pergunta "onde está minha compra", não o ciclo interno de compras.
Aprovação por alçada
Quando submetida (sai de rascunho):
- Sistema cria
approval_requestcomentity_type='requisicao_compra' - Roteia conforme política da org. Default:
- ≤ R$ 1.000 → próprio solicitante (transparência)
- R$ 1k–10k → gerente de obra
- R$ 10k–50k → gerente + diretor (2 steps)
-
R$ 50k → sempre diretor
Aprovador acessa em Painel → Aprovações. Após aprovação, callback automático marca RC como aprovada e disponibiliza para cotação.
Detalhes do engine de aprovação →
Permissões
| Permissão | Escopo | Default |
|---|---|---|
compras_requisicao:read | project | Todos exceto comercial/jurídico |
compras_requisicao:write | project | engenheiro+ |
compras_requisicao:delete | project | gerente+ |
Próximo passo
Após RC aprovada, vai para a fila de Compras. O comprador abre cotação a partir dela: