Ferramenta para observar o relacionamento entre empresas e sócios, a partir dos dados públicos disponibilizados pela Receita Federal.
A rotina possibilita visualizar de forma gráfica os relacionamentos entre empresas e sócios, a partir da base de dados públicos de cnpj da Receita Federal.
Foi testada nos navegadores Firefox, Edge e Chrome.
A versão online com dados públicos funciona agora no site https://www.redecnpj.com. A versão online com acesso gratuito foi descontinuada em maio/2023.
Uma versão demo, com base de dados incompleta está rodando em https://www.redecnpj.com.br/demo/. Nesta versão apenas o primeiro nome de sócio é exibido e algumas opções estão desabilitadas. Aqui roda outra versão sem dados reais de empresas.
Para os usuários que não tem familiaridade com o Python, em https://www.redecnpj.com.br/rede/aplicativo.html é possível obter gratuitamente a versão "aplicativo" da RedeCNPJ e outro programa para Windows que baixa os arquivos de dados abertos do site da Receita Federal e converte para o formato para uso na RedeCNPJ. Os aplicativos foram gerados a partir do código fonte deste repositório.
É preciso ter instalado no computador:
Faça um clone do código deste projeto.
O recomendado é trabalhar em um ambiente virtual. Siga orientações como em https://docs.python.org/3/library/venv.html
Use o comando
pip install -r requirements.txt
para instalar as bibliotecas utilizadas.
Para iniciar o script, em um console digite
python rede.py
A rotina abrirá o endereço http://127.0.0.1:5000/rede/ no navegador padrão.
As opções por linha de comando são exibidas fazendo python rede.py -h
A pasta contém os arquivos rede_teste.db e cnpj_teste.db, que são amostras dos bancos de dados para testar o funcionamento da rotina.
A pasta rede_cria_tabelas contém os scripts para baixar os arquivos zip do site de Dados Abertos, gerar a base completa de empresas e as tabelas utilizadas na redeCNPJ.
a) para baixar os arquivos zip do site de Dados Abertos, rode o comando:
python dados_cnpj_baixa.py
b) para criar a base de empresas cnpj.db, rode o comando:
python dados_cnpj_para_sqlite.py
c) para criar a tabela de vínculos rede.db utilizada na redeCNPJ, rode o comando:
python rede_cria_tabela_rede.db.py
d) para criar a tabela de vínculos cnpj_links_ete.db de endereços, de emails e de telefones utilizada na redeCNPJ, rode o comando:
python rede_cria_tabela_cnpj_links_ete.py
Ao final, mova os arquivos cnpj.db, rede.db, rede_search.db, cnpj_links_ete.db da pasta rede_cria_tabelas/dados-publicos para a rede/bases. Os arquivos restantes nas pastas dados-publicos e dados-publicos-zip poderão ser apagados.
Observação: O cnpj_links_ete.db é opcional, somente se quiser visualizar vinculos por endereços, telefones ou email em comum.
Veja o projeto https://github.com/rictom/cnpj-sqlite para ver informações sobre o código para baixar os arquivos com dados abertos e converter para sqlite.
O código foi ajustado para o formato disponibilizado pela Receita Federal a partir de 2021, testado em agosto de 2024.
Orientações detalhadas para instalação em Windows no link https://github.com/rictom/rede-cnpj/blob/master/doc/instalacao_windows.md
A roda do mouse expande ou diminui o tamanho da exibição.
Fazendo click duplo em um ícone, a rotina expande as ligações. Por exemplo, clique duplo no ícone de uma pessoa, exibirá todas as empresas que esta é sócia. Clique duplo em um ícone de CNPJ, exibirá todos os sócios da empresa.
Apertando SHIFT, é possível selecionar mais de um ícone.
Pressionando CTRL e arrastando na tela, adiciona a seleção os itens da área.
Clicar no botão do meio do mouse (roda) faz aparecer janela para editar uma Nota, que aparece numa terceira linha abaixo do ícone.
Outras opções da rede estão no menu contextual do mouse (botão direito), sendo configuradas teclas de atalho correspondentes aos comandos:
I - Inserir CNPJ, Razão Social completa ou nome completo de sócio. Poderão ser colocados vários CNPJs ao mesmo tempo, separados por ponto e vírgula (;).
TECLAS de 1 a 9 - Inserir camadas correspondente ao número sobre o nó selecionado;
SHIFT + TECLAS de 1 a 9 - Inserir camadas correspondente a ligações com valores, como dados do TSE de doadores/pagamentos das eleições 2022, recebimento por favorecido pelo Governo Federal com dados do Portal da Transparência da CGU ou pagamentos de municípios paulistas com dados do TCE/SP;
U - Criar item novo (que não seja PF ou PJ) e ligar aos itens selecionados;
E - Editar dados do item (que não seja PF ou PJ) selecionado;
CRTL+Z – Desfaz Inserção;
SubMenu Ligar:
U - Ligar para novo item;
L - Ligar itens selecionados, ligação tipo estrela (o primeiro ligado aos demais);
SHIFT+L - Remover ligação entre itens selecionados;
Remover Ligacoes - Remove todas as ligações dos itens selecionados;
K - Ligar itens selecionados, ligação tipo fila (o primeiro ligado ao segundo, o segundo ao terceiro, etc);
SubMenu Visualização:
A - Gráfico em Nova Aba - Abre aba com os itens selecionados;
Q - Quebrar o gráfico em abas - Divide o gráfico em partes menores, mantendo as ligações
Abre OpenStreetMap - Abre Mapa com os endereços de empresas;
P - Fixar o nó na posição;
SHIFT+P - Desfixar todos os nós do gráfico;
CTRL+P - Fixa um nó em cada grupo conexo (para evitar que o gráfico se expanda indefinidamente);
SubMenu Visualização>Rótulos:
E - Editar rótulo;
N - Rótulo - Exibe apenas o primeiro nome;
SHIFT+N - Oculta/exibe texto da ligação;
Alterar Ícone;
C - Colorir os nós selecionados;
Escolher Cor;
D – Abre um popup com dados;
SHIFT+D – Abre numa nova aba com Dados;
CTRL+D – Lista ids dos itens selecionados;
Altera o nome da aba;
Escala Inicial - Coloca a exibição sem zoom, na escala inicial.
Barra de Espaço - Parar/reiniciar leiaute (se a tela tiver muitos nós, os comandos funcionam melhor se o leiaute estiver parado);
F - Localizar - Localizar na Tela Nome, CNPJ ou CPF;
SHIFT+F - Localizar apenas na seleção;
CTRL+F - Localiza por campo (como cor do item);
J – Seleciona itens adjacentes;
SHIFT+J – Seleciona árvores dos itens selecionados;
CTRL+J - Itens com mais ligações - Opção para selecionar os itens do gráfico com mais ligações;
Itens ligados a coloridos;
Grupos com duas cores;
CTRL+A - Seleciona todos os itens;
CTRL+SHIFT+A - Inverte seleção;
SubMenu - Busca em sites:
B - Abre abas dos sites deste submenu;
Jusbrasil - Busca no site Jusbrasil;
Escavador - Busco no site Escavador;
Portal da Transparência - Busca no Portal da Transparência da CGU;
Bing - Busca no Bing;
DuckDuckGo - Busca no DuckDuckGo;
Reclame Aqui - Busca no Reclame Aqui;
G – Abre o nó numa aba do site Google;
SHIFT+G – Abre o endereço no Google Maps (só CNPJs);
H ou CTRL+G - Raspa a página do Google e coloca links;
SHIFT+H - Raspa a página do Google e busca palavras chave nos links;
SubMenu Salvar/Abrir:
Salvar dados em Excel;
Salvar em formato i2 Chart Reader;
Salvar imagem em formato SVG;
Salvar Arquivo Json - salva dados do gráfico no formato json;
Abrir Arquivo Json;
Exportar/Importar JSON ao Servidor - Exportar ou importar dados do gráfico em formato JSON carregados no servidor;
Banco de Dados - Exporta dados para banco de dados sqlite (só para usuário local);
SubMenu Excluir
DEL – Excluir itens selecionados.
SHIFT+DEL – Excluir todos os itens.
Excluir Nó mantendo Link;
Simplifica Gráfico - Remove itens nas bordas do gráfico que não tenham destaque;
Excluir itens isolados - Remove itens sem ligação.
Os comandos valem para o último nó selecionado ou nós selecionados, que ficam em destaque com a animação no contorno ods ícones. Pressionando SHIFT e click, é possível selecionar mais de um ícone para fazer Exclusão ou para Expansão de vínculos. Pode-se arrastar células com listas de CNPJs do Excel para a janela, ou arrastar arquivos csv ou json.
Está disponível em https://dados.gov.br/dados/conjuntos-dados/cadastro-nacional-da-pessoa-juridica---cnpj ou https://dadosabertos.rfb.gov.br/CNPJ/ (http://200.152.38.155/CNPJ/).
Biblioteca em javascript para visualização:
https://github.com/anvaka/VivaGraphJS
Menu Contextual:
https://www.cssscript.com/beautiful-multi-level-context-menu-with-pure-javascript-and-css3/
Ícones:
https://www.flaticon.com
https://fontawesome.com
versão 1.2 (agosto/2024)
versão 1.1 (fevereiro/2024)
versão 1.0 (junho/2023)
versão 0.9 (dezembro/2022)
versão 0.8.8 (setembro/2022)
versão 0.8.7 (setembro/2022)
versão 0.8.6 (agosto/2022)
exportação para gráfico no formato (ex-IBM) i2 Chart Reader ou Analyst's Notebook (.anx), pela opção no menu Salvar/Abrir>Salvar i2...:
O i2 Chart Reader pode ser baixado gratuitamente no site https://i2group.com/i2-chart-reader?hsLang=en
opção H para abrir árvore com links de busca na página do Google:
opção SHIFT+H para abrir árvore com palavras chaves dos links da página do Google. Exemplo:
para usar a opção SHIFT+H, deve-se instalar as bibliotecas pelo comando pip install -r requirements_chaves.txt
e depois instalar os módulos do spacy pelos comandos python -m spacy download en_core_web_sm e python -m spacy download pt_core_news_lg. No arquivo rede.ini, modifique o parâmetro para busca_chaves = 1
Como a opção de chaves é lenta, ela não foi habilitada para rodar no servidor. Utilize com a versão local do projeto.
versão 0.8.5 (julho/2022)
versão 0.8.4 (junho/2022)
versão 0.8.3 (maio/2022)
versão 0.8.2 (janeiro/2022)
versão 0.7.4 (dezembro/2021)
versão 0.7.3 (setembro/2021)
versão 0.7.2 (setembro/2021)
versão 0.7.1 (agosto/2021)
versão 0.6.3 (julho/2021)
versão 0.5.1 (junho/2021)
versão 0.5 (abril/2021)
versão 0.4 (janeiro/2021)
versão 0.3.4 (janeiro/2021)
versão 0.3 (janeiro/2021)
versão 0.2 (dezembro/2020)
versão 0.1 (setembro/2020)