Validar fornecedor antes de emitir/receber documento¶
Cenário típico: qualquer operação com terceiros (compra, pagamento, emissão de NFe) precisa de uma validação fiscal rápida antes de aprovar cadastro.
Fluxo recomendado¶
- Validar sintaticamente o CNPJ (opcional localmente).
- Rodar
risk_score_supplierpara risco geral e recomendação. - Em caso de recomendação não conclusiva, complementar com
analyze_cnpj_compliance. - Registrar decisão em trilha de auditoria.
flowchart TD
A[Evento do ERP] --> B[normalizar CNPJ]
B --> C[risk_score_supplier]
C --> D{recomendação}
D -->|aprovar| E[Aprovação automática]
D -->|aprovar_com_ressalvas| F[Aprovação com flag + notificação]
D -->|investigar| G[Fila manual + consulta humana]
D -->|recusar| H[Bloqueio + motivo]
C --> I[analyze_cnpj_compliance (opcional)]
I --> J[log de achados]
Exemplo prático com Python¶
from mcp_fiscal_brasil.agentic import risk_score_supplier, analyze_cnpj_compliance
import structlog
log = structlog.get_logger()
async def avaliar_fornecedor(cnpj: str) -> dict[str, object]:
score = await risk_score_supplier(cnpj, criterios_estritos=True)
if score.recomendacao in {"investigar", "recusar"}:
report = await analyze_cnpj_compliance(cnpj)
else:
report = None
log.info(
"supplier_evaluated",
cnpj=cnpj,
score=score.score,
risco=score.risco,
recomendacao=score.recomendacao,
fatores=score.fatores,
report_fontes=getattr(report, "fontes_consultadas", None),
)
return {
"cnpj": score.cnpj,
"recomendacao": score.recomendacao,
"score": score.score,
"riscos": score.fatores,
"resumo_compliance": None if report is None else report.resumo_executivo,
}
REST sem código¶
# 1) Score resumido
curl -s "http://localhost:8000/v1/agentic/supplier/12345678000190?estrito=true"
# 2) Compliance completo (caso necessário)
curl -s "http://localhost:8000/v1/agentic/compliance/12345678000190"
Escopo técnico (o que realmente roda hoje)¶
risk_score_supplieraplica redução de score por achados críticos/médios e retorna recomendação.- O score nasce de
analyze_cnpj_compliancee de regras conservadoras. - Não há verificação de contas/cadastro positivo/negativo em órgão central além de CNPJ, Simples e MEI.
- Para certidões (FGTS/CND/etc.), a resposta atual pode incluir URL de consulta, não emissão automática.
Sinais que aceleram o gate de aprovação¶
risco == "baixo"e fatores sem severidade alta -> aprovação sem revisãorisco == "medio"com fatores estáveis por período -> aprovação com ressalvarecusarouinvestigar-> encaminhar fila de revisão e manter trilha de justificativa estruturada