Fornecedores
Cadastro com auto-lookup de CNPJ, qualificação, score histórico automático e bloqueio comercial
Onde acessar
Sidebar → Financeiro → Fornecedores
Cadastro
Form em wizard (6 passos): Documento → Identificação → Contato → Endereço → Dados bancários → Observações.
Auto-lookup CNPJ
Ao preencher o CNPJ, clique no botão de busca: o sistema consulta a Receita Federal (BrasilAPI) e auto-preenche razão social, nome fantasia, endereço, CNAE e Quadro Societário (QSA).
Validação anti-fraude
- CNPJ único por organização
- Conta bancária deve ser do mesmo CNPJ (regra antifraude)
- CNDs verificadas no cadastro e periodicamente (cron — ver CNDs)
Qualificação
Cada fornecedor tem dados de qualificação separados (1:1). Acesse via menu de ação ⋮ → Qualificação na linha do fornecedor.
Campos
- Tipo: material / serviço / empreitada / locação / misto / pessoa física
- Especialidades: chips livres (ex: "alvenaria", "instalação elétrica")
- Região de atendimento: UFs onde atende
- Status de qualificação: em_cadastro / em_qualificação / qualificado / aprovado_com_restrição / suspenso / banido
- Risco: baixo / médio / alto
- Bloqueio comercial: toggle que impede novos pedidos (com motivo obrigatório)
Score histórico
Quatro dimensões 0–5 calculadas automaticamente por trigger SQL nas últimas 20 ocorrências:
| Dimensão | Como é calculado | Peso no score consolidado |
|---|---|---|
| Prazo | Atraso médio entre data prevista e real de entrega | 30% |
| Qualidade | % itens com 3-way OK + sem divergência crítica | 40% |
| Atendimento | % medições aprovadas sem glosa | 20% |
| Conformidade | Contratos sem aditivos > 25% | 10% |
Score consolidado = 0.4·qualidade + 0.3·prazo + 0.2·atendimento + 0.1·conformidade
Cores na UI:
- ≥ 4 → verde
- 2.5 a 4 → amarelo
- < 2.5 → vermelho
Recálculo automático
Triggers PostgreSQL recalculam score automaticamente quando:
- Recebimento aprovado com
match_status='ok' - Medição muda para
aprovadaoupaga - Contrato encerrado ou aditivo aplicado
Não há botão "recalcular" — é sempre vivo.
Aba CNDs
Dentro do dialog de Qualificação, aba "CNDs" lista as certidões do fornecedor. Detalhe completo em CNDs →.
Bloqueio comercial
Quando o financeiro identifica problema (ex: nosso atraso de pagamento causou bloqueio do fornecedor, ou fornecedor com CND vencida não regularizada), pode marcar bloqueio_comercial = true com motivo. A partir daí:
- Sistema impede novos pedidos a esse fornecedor
- Lista de fornecedores na cotação não inclui mais ele (com flag visual)
- Histórico continua acessível para auditoria
Permissões
| Permissão | Escopo | Default |
|---|---|---|
fornecedores:read | global | Todos exceto jurídico |
fornecedores:write | global | Financeiro, gerente-projetos, diretor, proprietário |
fornecedores:manage | global | Proprietário, diretor (bloqueio/banir) |
fornecedores:manage é necessário para suspender, banir ou bloquear comercialmente.
Integração com cotação
O score consolidado entra no mapa comparativo da cotação como um dos pesos do score composto (preço × prazo × histórico). Configurável em Settings → Compras → Pesos do score.