Empresas que dependem de uma cadeia de fornecedores enfrentam um risco silencioso: mudanças cadastrais que acontecem sem aviso. Um fornecedor pode ter o CNPJ baixado por irregularidade fiscal, mudar de sócios sem comunicar nada, ou simplesmente encerrar as atividades e deixar contratos em aberto.
Com a API cnpjob você pode transformar esse risco passivo em alerta ativo — sem precisar checar manualmente um por um, sem depender de e-mail e sem esperar a surpresa chegar.
Os 5 cenários que mais geram prejuízo
CNPJ cancelado ou baixado
A empresa encerrou atividades e não pode mais emitir NF-e. Qualquer compra feita após a baixa gera problema fiscal.
Situação cadastral irregular
CNPJ ativo porém irregular (débitos com RF, FGTS em atraso). A empresa pode ter crédito bloqueado e não conseguir cumprir pedidos.
Mudança de sócio majoritário
A empresa foi vendida ou o sócio com quem você tem relacionamento saiu. Contratos de exclusividade e condições negociadas podem não ser honrados pelo novo controle.
Mudança de endereço sem aviso
Fornecedor mudou de estado ou município — impacto em impostos retidos na fonte (ISS, ICMS), logística e contratos regionais.
Alteração de CNAE principal
O fornecedor mudou de ramo oficial. Pode invalidar certidões e habilitações em licitações ou processos de homologação.
Opção 1: Monitores automáticos (sem código)
O cnpjob tem um sistema de monitores integrado ao painel. Você cadastra os CNPJs que quer acompanhar e a plataforma detecta qualquer mudança na próxima sincronização com a base da Receita Federal.
Para configurar via API:
curl -X POST https://api.cnpjob.com.br/api/portal/monitors \
-H "Authorization: Bearer SEU_JWT" \
-H "Content-Type: application/json" \
-d '{ "cnpj": "33000167000101" }'
Você pode adicionar tantos CNPJs quantos quiser. Quando uma mudança for detectada, o sistema dispara um evento — que você pode capturar via webhook (veja abaixo).
Opção 2: Webhook em tempo real
Para integrações mais sofisticadas, configure um webhook para receber um POST no seu servidor assim que qualquer mudança for detectada:
# 1. Crie o webhook apontando para seu endpoint
curl -X POST https://api.cnpjob.com.br/api/portal/webhooks \
-H "Authorization: Bearer SEU_JWT" \
-H "Content-Type: application/json" \
-d '{
"url": "https://seu-sistema.com.br/webhooks/cnpjob",
"events": ["monitor.changed"],
"label": "Alerta de fornecedores"
}'
No seu servidor, receba e processe o evento:
// Node.js / Express — endpoint para receber eventos do cnpjob
import express from "express";
const app = express();
app.use(express.json());
app.post("/webhooks/cnpjob", async (req, res) => {
const evento = req.body;
if (evento.event === "monitor.changed") {
const { cnpj, razao_social, changes } = evento.data;
console.log(`\n⚠️ Mudança detectada no fornecedor: ${razao_social} (${cnpj})`);
for (const change of changes) {
console.log(` Campo alterado: ${change.field}`);
console.log(` Antes: ${change.old_value}`);
console.log(` Depois: ${change.new_value}`);
}
// Classifica o nível de risco da mudança
const altaGravidade = changes.some(c =>
["situacao_cadastral", "data_baixa", "socios"].includes(c.field)
);
if (altaGravidade) {
await notificarTimeProcurement({
urgente: true,
mensagem: `ALERTA: ${razao_social} teve alteração crítica. Revisar contratos imediatamente.`,
cnpj,
changes,
});
} else {
await registrarNoLog({ cnpj, changes, timestamp: new Date() });
}
}
res.status(200).json({ received: true });
});
Opção 3: Verificação preventiva no onboarding
Não espere o problema chegar. No momento em que um novo fornecedor é cadastrado no seu ERP, faça uma consulta automática para validar a situação cadastral antes de aprovar o cadastro:
import os, requests
from datetime import datetime
API_KEY = os.getenv("CNPJOB_KEY")
BASE = "https://api.cnpjob.com.br"
HDR = {"X-API-Key": API_KEY}
def validar_fornecedor(cnpj: str) -> dict:
r = requests.get(f"{BASE}/cnpj/{cnpj}", headers=HDR)
r.raise_for_status()
d = r.json()
situacao = d.get("situacao_cadastral", "").upper()
data_baixa = d.get("data_situacao_cadastral")
socios_r = requests.get(f"{BASE}/cnpj/{cnpj}/socios", headers=HDR).json()
socios = socios_r.get("socios", [])
riscos = []
if situacao != "ATIVA":
riscos.append(f"Situação cadastral: {situacao}")
if data_baixa:
riscos.append(f"Data da baixa/alteração: {data_baixa}")
# Verifica se algum sócio tem nome na lista de devedores (futuro: integrar Serasa/SPC)
socios_nomes = [s.get("nome_socio", "") for s in socios]
return {
"cnpj": cnpj,
"razao_social": d.get("razao_social"),
"aprovado": len(riscos) == 0,
"riscos": riscos,
"socios": socios_nomes,
"verificado_em": datetime.now().isoformat(),
}
# Uso no onboarding de fornecedor
resultado = validar_fornecedor("12345678000195")
if not resultado["aprovado"]:
print(f"❌ Fornecedor REPROVADO: {resultado['razao_social']}")
for risco in resultado["riscos"]:
print(f" - {risco}")
else:
print(f"✅ Fornecedor APROVADO: {resultado['razao_social']}")
print(f" Sócios: {', '.join(resultado['socios'])}")
Integrando com seu ERP ou sistema de compras
Exemplo real
Uma empresa de e-commerce com 340 fornecedores ativos configurou monitores para todos os CNPJs via script de importação em massa. Em 3 meses, o sistema detectou 4 cancelamentos de CNPJ e 11 irregularidades cadastrais — problemas que teriam gerado bloqueio de NF-e e atrasos de entrega não fossem identificados antecipadamente.
Para cadastrar múltiplos fornecedores de uma vez, importe direto do CSV do seu ERP:
import csv, os, requests, time
API_KEY = os.getenv("CNPJOB_KEY")
HDR = {"Authorization": f"Bearer {API_KEY}", "Content-Type": "application/json"}
def importar_fornecedores(arquivo_csv: str):
com open(arquivo_csv) as f:
reader = csv.DictReader(f)
cnpjs = [row["cnpj"].replace(".", "").replace("/", "").replace("-", "") for row in reader]
print(f"Importando {len(cnpjs)} fornecedores para monitoramento...")
cadastrados = 0
for cnpj in cnpjs:
r = requests.post(
"https://api.cnpjob.com.br/api/portal/monitors",
json={"cnpj": cnpj},
headers=HDR,
)
if r.status_code in (200, 201):
cadastrados += 1
time.sleep(0.1) # respeita rate limit
print(f"✅ {cadastrados}/{len(cnpjs)} fornecedores monitorados com sucesso.")
importar_fornecedores("fornecedores.csv")
Relatório semanal de saúde da cadeia de fornecedores
Com todos os CNPJs monitorados, você pode gerar um relatório executivo automático toda semana mostrando a saúde da sua cadeia de fornecedores:
- Verde: CNPJ ativo, sem alterações recentes
- Amarelo: Alguma mudança detectada nos últimos 30 dias (endereço, sócio, atividade)
- Vermelho: Situação irregular, suspensa ou baixada — ação imediata necessária
Esse relatório pode ser automaticamente enviado para o time de procurement toda segunda-feira antes do horário de negociação começar.
Atenção: compliance e LGPD
Todos os dados retornados pela API cnpjob são de domínio público — publicados pela Receita Federal (Lei 12.527/2011). O monitoramento de CNPJs de fornecedores é uma prática legítima de gestão de risco e não configura coleta indevida de dados pessoais.
Monte seu radar de fornecedores hoje
Monitores e webhooks estão disponíveis em todos os planos pagos. Comece grátis, importe seus primeiros CNPJs e receba o primeiro alerta em tempo real.
Criar conta grátis