FiscalizaBSB

Relatórios fiscais de qualquer ente

O SICONFI, do Tesouro Nacional, é a fonte mais rica de dado fiscal do país e uma das poucas que responde a qualquer um, sem cadastro e sem chave. Todos os municípios, todos os estados, a União e o Distrito Federal entregam ali os mesmos relatórios, na mesma forma — o que é raro o bastante para mudar o que dá para fazer.

Verificado ao vivo em 22 de setembro de 2026. Endereço e estado atual em de onde vem o dado.

O que tem lá

  • RREO — Relatório Resumido da Execução Orçamentária, bimestral. É onde está a despesa por função (Anexo 02), a receita e a execução ao longo do ano. Base legal: LC 101/2000, art. 52. Para entender o conteúdo: como ler o orçamento.
  • RGF — Relatório de Gestão Fiscal, quadrimestral ou semestral. É onde está a despesa com pessoal contra o limite legal e a dívida consolidada.
  • DCA — Declaração de Contas Anuais: o balanço do exercício inteiro, com mais detalhe que o RREO.
  • Tabela de entes — código do IBGE, população, região, esfera e CNPJ de todos os entes. É a chave que junta qualquer tabela fiscal com dado demográfico e com o mapa.

A primeira chamada

Cole no navegador. Devolve a despesa por função de Luziânia (GO) no 6º bimestre de 2025:

https://apidatalake.tesouro.gov.br/ords/siconfi/tt/rreo?an_exercicio=2025&nr_periodo=6&co_tipo_demonstrativo=RREO&no_anexo=RREO-Anexo%2002&co_esfera=M&id_ente=5212501

Os parâmetros, um a um:

  • an_exercicio — o ano.
  • nr_periodo — o bimestre, de 1 a 6. O 6º acumula o ano inteiro.
  • co_tipo_demonstrativo — RREO, RGF ou DCA.
  • no_anexo — qual quadro do relatório. RREO-Anexo 02 é a despesa por função; o espaço precisa ir codificado como %20.
  • co_esfera — M para município, E para estado, U para a União, D para o Distrito Federal. Leia a armadilha abaixo antes de usar o D.
  • id_ente — o código do IBGE: sete dígitos para município, dois para estado e para o DF.

As armadilhas, verificadas

  • O Distrito Federal responde como estado. Com co_esfera=D&id_ente=53 a resposta é "count": 0 — sem erro, sem aviso, em todos os anos testados. O que funciona é co_esfera=E&id_ente=53, apesar de a própria tabela de entes do Tesouro classificar o DF como esfera D. É a pior forma de falhar, porque parece ausência de dado.
  • Resposta vazia não é erro. count: 0 pode significar que o ente não entregou aquele relatório naquele período — o que, por si só, já é informação: a entrega é obrigatória e o atraso aparece no extrato de entregas.
  • Função e subfunção vêm misturadas. No Anexo 02, "Saúde" e "Atenção Básica" aparecem no mesmo campo conta, sem código que distinga o nível. Somar tudo conta duas vezes. Trate os rótulos como vêm, e não presuma hierarquia que a resposta não declara.
  • Cada linha é uma coluna do relatório impresso. O campo coluna diz se aquele número é DOTAÇÃO INICIAL, DESPESAS EMPENHADAS, DESPESAS LIQUIDADAS e assim por diante. Filtre por ele, ou você soma dotação com pagamento.
  • Educação e saúde não vêm pela API. Pedindo o RREO do 6º bimestre de 2025 sem filtrar anexo, um estado e duas prefeituras devolveram os Anexos 1, 2, 3, 4, 6, 7, 9, 11, 13 e 14 (e o 10, do regime próprio de previdência, onde há) — mas não os Anexos 8 (educação) e 12 (saúde); pedido pelo nome, cada um volta vazio (conferido em 30/10/2026). Esses números saem do SIOPE e do SIOPS: playbook de educação e saúde.
  • O endereço de resposta muda. Os links internos do retorno apontam para um host interno da infraestrutura do Tesouro. Ignore-os e continue usando o endereço público.

O roteiro, passo a passo

  1. Ache o código do ente. Na tabela de entes (/tt/entes) ou no valor por habitante, que confere o dígito verificador do código do IBGE.
  2. Puxe um período só, primeiro. Confira se o count é maior que zero e se os nomes das contas fazem sentido, antes de automatizar qualquer coisa.
  3. Filtre a coluna. Escolha uma — DESPESAS LIQUIDADAS é a que melhor responde "o que foi entregue e reconhecido". Misturar colunas é o erro mais comum.
  4. Monte o CSV com a fonte ao lado. Três colunas bastam: conta, valor e a URL exata da chamada. Acrescente a data de acesso.
  5. Confira o total. A soma das funções tem de bater com a linha de total do próprio retorno. Se não bate, você misturou função com subfunção ou colunas diferentes.
  6. Desenhe. Despesa por função vai bem no treemap; a execução ao longo dos bimestres, na série temporal; a comparação entre entes, nas barras — depois de passar pelo valor por habitante.
  7. Corrija a inflação se houver mais de um ano. Em corrigir pela inflação.

Conferir contra a lei, sem planilha

Baixou o RGF (Anexo 1, pessoal; Anexo 2, dívida) de um ente? Cole a resposta da API em pisos e tetos: a página lê pelo código de cada conta e confere a despesa com pessoal e a dívida contra os limites da LRF e do Senado, no seu navegador.

Perguntas que este dado responde bem

  • Quanto o meu município autorizou para saúde, e quanto de fato liquidou? (Anexo 02, colunas de dotação e de liquidação.)
  • A despesa com pessoal está perto do limite legal? (RGF — e o limite está em base legal.)
  • A execução se concentrou no fim do ano? (Bimestres 1 a 6, na série temporal.)
  • O meu município gasta mais por habitante que os vizinhos de porte parecido? (Anexo 02 mais população.)

O que este dado não prova

  • Não prova irregularidade. Execução baixa pode ser contingenciamento, receita que não veio ou obra atrasada por licença ambiental. É pergunta, não conclusão.
  • Não mostra o destino do dinheiro. Função e subfunção dizem a finalidade, não quem recebeu. Para fornecedor e contrato, o caminho é o portal do ente e o PNCP.
  • Não é auditado por estar ali. O ente declara; o Tesouro consolida. Quem audita é o Tribunal de Contas.
  • Não é sobre ninguém. O dado é do ente, não de quem o dirige. Um gráfico que troca o nome do município pelo nome de quem governa mudou de assunto — e saiu do escopo deste site.

Se encontrar um comportamento diferente do descrito aqui, é o tipo de coisa que o contato existe para receber: a data da verificação está no topo, e o método é corrigido em público. Educação cívica, não aconselhamento.