install.packages("remotes")
::install_github("aspeddro/siconfir") remotes
Extração de Dados do SICONFI com R
Pequeno tutorial ilustrando como realizar a extração de dados da API do SICONFI utilizando o pacote
{siconfir}
Introdução
Este pequeno tutorial tem por objetivo ilustrar como utilizar o R e, em especial, o pacote {siconfir}
para realizar a extração de dados contábeis e fiscais da API do SICONFI.
Por intermédio dessa API é possível obter dados relativos à Matriz de Saldos Contábeis - MSC, ao Relatório de Gestão Fiscal - RGF e ao Relatório Resumido de Execução Orçamentária - RREO.
Alguns dos dados disponibilizados nesses demonstrativos são bastante úteis para a avaliação da capacidade financeira, orçamentária e fiscal dos entes federativos, conforme demonstrado por intermédio do “Demonstrativo de Viabilidade do Plano de Custeio” de que trata o Art. 49 da Portaria 1.467/2022.
Em especial, os dados relativos a Receita Corrente Líquida - RCL, Despesa Líquida com Pessoal - DLP e Dívida Consolidada Líquida - DCL são diretamente utilizadas na confecção do mencionado demonstrativo, de forma que é útil saber extrair esses dados da API do SICONFI.
Além disso, o Anexo IV do RREO é de especial importância para a Previdência, visto que trata especificamente das despesas relacionadas à essa função de governo.
Esse tutorial mostra como começar a unir os “mundos” previdenciário e fiscal para os entes que estão vinculados ao RPPS.
O pacote {siconfir}
Para realizar a extração dos dados da API do SICONFI vamos utilizar o pacote {siconfir}
cuja página na internet é https://github.com/aspeddro/siconfir e onde o leitor irá encontrar informações úteis sobre as funções disponibilizadas pelo pacote e de como utilizá-las.
A instalação do pacote a partir do GitHub
pode ser feita da seguinte forma:
Uma vez instalado o pacote devemos “carregá-lo”, o que fazemos a seguir, juntamente com outros pacotes que nos serão úteis mais adiante.
suppressPackageStartupMessages({
library(siconfir)
library(tidyverse)
library(readxl)
library(knitr)
})
As funções do pacote {siconfir}
fazem uso intensivo dos códigos IBGE dos entes federativos para identificação dos mesmos. Por outro lado, os dados previdenciários utilizam o CNPJ do ente para fazer sua identificação.
find_cod()
e br_cods()
.A função get_info()
nos retorna a relação os entes federativos municipais com a indicação de seus códigos IBGE e também do seu CNPJ.
<- get_info() %>%
info_rj filter(uf == "RJ")
No código acima realizamos um filtro para ficarmos apenas com as informações dos 92 municípios fluminenses.
head(info_rj) %>% kable()
cod_ibge | ente | capital | regiao | uf | esfera | exercicio | populacao | cnpj |
---|---|---|---|---|---|---|---|---|
3300100 | Angra dos Reis | 0 | SE | RJ | M | 2025 | 181228 | 29172467000109 |
3300159 | Aperibé | 0 | SE | RJ | M | 2025 | 10893 | 36288900000123 |
3300209 | Araruama | 0 | SE | RJ | M | 2025 | 126726 | 28531762000133 |
3300225 | Areal | 0 | SE | RJ | M | 2025 | 11765 | 39554605000160 |
3300233 | Armação dos Búzios | 0 | SE | RJ | M | 2025 | 39033 | 01616171000102 |
3300258 | Arraial do Cabo | 0 | SE | RJ | M | 2025 | 31030 | 27792373000107 |
Como podemos ver na tabela acima, a base de dados retornada pela função get_info()
traz exatamente essa informação - código IBGE - juntamente com o CNPJ do ente, mas não nos dá uma indicação de o ente estar vinculado ao regime geral de previdência social (RGPS) ou ao regime próprio de previdência social (RPPS).
Elaboramos uma base de dados chamada cadastro
que contém para cada ente da federação seu código IBGE, seu CNPJ e a indicação quanto ao ente a estar vinculado ao RGPS ou ao RPPS ou ainda se o RPPS está em extinção.
O código abaixo carrega essa base de dados e filtra para obtermos apenas informações relativas aos municípios fluminenses que estão vinculados ao RPPS e para os quais vamos obter os dados fiscais, já que nosso interesse são os RPPS.
Optamos por não realizar a consulta para o Estado do Rio de Janeiro em razão de diferenças que eventualmente possam existir nos demonstrativos fiscais em comparação com os demonstrativos dos entes municipais.
load("cadastro.RData")
<- cadastro %>%
cadastro_rj mutate(cod_ibge = as.integer(cod_ibge)) %>%
filter(regime == "RPPS", uf == "RJ", cod_ibge != 3300000)
head(cadastro_rj) %>% kable()
cnpj | uf | ente | regime | cod_ibge |
---|---|---|---|---|
29172467000109 | RJ | Angra dos Reis | RPPS | 3300100 |
36288900000123 | RJ | Aperibé | RPPS | 3300159 |
28531762000133 | RJ | Araruama | RPPS | 3300209 |
39554605000160 | RJ | Areal | RPPS | 3300225 |
01616171000102 | RJ | Armação dos Búzios | RPPS | 3300233 |
27792373000107 | RJ | Arraial do Cabo | RPPS | 3300258 |
Além de facilitar a utilização das funções do pacote {siconfir}
, como veremos mais adiante, essa base de dados pode ser útil para combinar dados previdenciários, para os quais a identificação do ente é feita pelo CNPJ, com outras bases de dados nas quais os entes sejam identificados pelo código IBGE.
Encaminhamento de demonstrativos
Uma primeira “análise” que pode ser feita em relação aos demonstrativos fiscais é a simples verificação quanto ao seu regular encaminhamento à STN.
A função report_status()
nos permite identificar o status de cada ente em relação ao encaminhamento dos relatórios contábeis e fiscais à STN.
Esta função recebe basicamente dois argumentos: o ano para o qual se deseja consultar o status e os códigos IBGE dos entes federativos para os quais se deseja realizar a consulta.
Vamos consultar o relatório de status para o ano de 2024 dos municípios fluminenses vinculados ao RPPS .
<- report_status(year = 2024,
rel_status_2024_rj cod = cadastro_rj$cod_ibge)
comment(rel_status_2024_rj) <- date()
head(rel_status_2024_rj) %>% kable()
exercicio | cod_ibge | populacao | instituicao | entregavel | periodo | periodicidade | status_relatorio | data_status | forma_envio | tipo_relatorio |
---|---|---|---|---|---|---|---|---|---|---|
2024 | 3300100 | 181228 | Câmara de Vereadores de Angra dos Reis - RJ | MSC Agregada | 1 | M | NA | 2024-03-01T09:19:37Z | CSV | NA |
2024 | 3300100 | 181228 | Câmara de Vereadores de Angra dos Reis - RJ | MSC Agregada | 2 | M | NA | 2024-03-26T14:31:59Z | CSV | NA |
2024 | 3300100 | 181228 | Câmara de Vereadores de Angra dos Reis - RJ | MSC Agregada | 3 | M | NA | 2024-04-19T16:07:19Z | CSV | NA |
2024 | 3300100 | 181228 | Câmara de Vereadores de Angra dos Reis - RJ | MSC Agregada | 4 | M | NA | 2024-05-28T15:05:56Z | CSV | NA |
2024 | 3300100 | 181228 | Câmara de Vereadores de Angra dos Reis - RJ | MSC Agregada | 5 | M | NA | 2024-06-27T16:57:44Z | CSV | NA |
2024 | 3300100 | 181228 | Câmara de Vereadores de Angra dos Reis - RJ | MSC Agregada | 6 | M | NA | 2024-07-29T14:50:42Z | CSV | NA |
Essencialmente a função nos retorna uma base de dados indicando quais relatórios foram entregues, quais competências foram entregues no ano selecionado, além de outras informações.
O relatório nos permite verificar o encaminhamento dos seguintes demonstrativos:
%>%
rel_status_2024_rj distinct(entregavel) %>%
kable()
entregavel |
---|
MSC Agregada |
Relatório de Gestão Fiscal |
Relatório Resumido de Execução Orçamentária |
MSC Encerramento |
Relatório de Gestão Fiscal Simplificado |
Relatório Resumido de Execução Orçamentária Simplificado |
Balanço Anual (DCA) |
Neste tutorial vamos trabalhar apenas a MSC Agregada
, o Relatório de Gestão Fiscal
e o Relatório Resumido de Execução Orçamentária
.
A partir do conjunto de dados rel_status_2024_rj
vamos elaborar tabelas específicas para realizar o monitoramento do encaminhamento dos três demonstrativos mencionados à STN.
Encaminhamento da MSC
O encaminhamento dos dados contábeis à Secretaria do Tesouro Nacional - STN constitui critério de regularidade do CRP. Então é razoável que verifiquemos se o ente está fazendo o seu regular encaminhamento como determina a Portaria 1.467/2022.
A responsabilidade pelo encaminhamento dos dados contábeis do RPPS à STN é do ente federativo e não da Unidade Gestora do RPPS.
Para tanto podemos utilizar o seguinte script para realizar o monitoramento das entregas da MSC à STN:
<- rel_status_2024_rj %>%
entregas_msc_2024 filter(entregavel == "MSC Agregada",
grepl("^Prefeitura", instituicao)) %>%
select(exercicio, cod_ibge, instituicao, periodo, periodicidade, data_status) %>%
mutate(data_status = substr(data_status, 1, 10),
instituicao = gsub("Prefeitura Municipal d[eo] (.*) - RJ", "\\1", instituicao)) %>%
select(cod_ibge, instituicao, periodo, data_status) %>%
pivot_wider(names_from = periodo, values_from = data_status) %>%
arrange(cod_ibge, instituicao)
head(entregas_msc_2024) %>% kable()
cod_ibge | instituicao | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
3300100 | Angra dos Reis | 2024-03-01 | 2024-03-26 | 2024-04-19 | 2024-05-28 | 2024-06-27 | 2024-07-29 | 2024-09-16 | 2024-09-20 | 2024-10-29 | 2024-11-22 | 2025-01-03 | 2025-01-28 |
3300159 | Aperibé | 2024-07-19 | 2024-07-19 | 2024-07-19 | 2024-07-19 | 2024-07-19 | 2024-08-09 | 2024-09-04 | 2024-10-01 | 2024-11-25 | 2024-11-29 | 2024-12-20 | 2025-02-07 |
3300209 | Araruama | 2024-05-08 | 2024-05-21 | 2024-05-21 | 2024-06-10 | 2024-07-04 | 2024-07-31 | 2024-08-29 | 2024-09-26 | 2024-10-31 | 2024-11-18 | 2024-12-27 | NA |
3300225 | Areal | 2024-06-17 | 2024-06-17 | 2024-06-17 | 2024-06-17 | 2024-07-23 | 2024-07-23 | 2024-09-02 | 2024-12-06 | 2024-12-06 | 2024-12-06 | NA | NA |
3300233 | Armação dos Búzios | 2024-03-28 | 2024-03-28 | 2024-04-30 | 2024-05-20 | 2024-06-21 | 2024-07-18 | 2024-08-30 | 2024-09-25 | 2024-10-29 | 2024-11-29 | 2024-12-20 | 2025-01-31 |
3300258 | Arraial do Cabo | 2024-03-06 | 2024-03-28 | 2024-04-30 | 2024-06-05 | 2024-07-03 | 2024-07-29 | 2024-08-23 | 2024-09-24 | 2024-10-29 | 2024-11-22 | 2024-12-26 | 2025-01-31 |
O código acima essencialmente extrai da base de dados rel_status_2024_rj
os registros relativos ao demonstrativo MSC Agregada
e faz um conjunto de processamento com vistas apenas a deixar os dados mais “apresentáveis”.
O resultado é a relação dos entes que encaminharam ao menos um demonstrativo no ano pesquisado, os meses em que houve encaminhamento com a indicação da data de encaminhamento do demonstrativo.
É importante notar que a base de dados acima contém apenas as informações relativas aos entes que fizeram o encaminhamento dos demonstrativos à STN, mas não permite identificar quais municípios não fez o encaminhamento. É importante trazer essa informação para a base de dados, o que faremos a seguir:
<- entregas_msc_2024$cod_ibge
msc_entregas
<- cadastro_rj %>%
entregas_msc_2024 left_join(entregas_msc_2024, by=join_by(cod_ibge)) %>%
select(-instituicao)
head(entregas_msc_2024) %>% kable()
cnpj | uf | ente | regime | cod_ibge | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
29172467000109 | RJ | Angra dos Reis | RPPS | 3300100 | 2024-03-01 | 2024-03-26 | 2024-04-19 | 2024-05-28 | 2024-06-27 | 2024-07-29 | 2024-09-16 | 2024-09-20 | 2024-10-29 | 2024-11-22 | 2025-01-03 | 2025-01-28 |
36288900000123 | RJ | Aperibé | RPPS | 3300159 | 2024-07-19 | 2024-07-19 | 2024-07-19 | 2024-07-19 | 2024-07-19 | 2024-08-09 | 2024-09-04 | 2024-10-01 | 2024-11-25 | 2024-11-29 | 2024-12-20 | 2025-02-07 |
28531762000133 | RJ | Araruama | RPPS | 3300209 | 2024-05-08 | 2024-05-21 | 2024-05-21 | 2024-06-10 | 2024-07-04 | 2024-07-31 | 2024-08-29 | 2024-09-26 | 2024-10-31 | 2024-11-18 | 2024-12-27 | NA |
39554605000160 | RJ | Areal | RPPS | 3300225 | 2024-06-17 | 2024-06-17 | 2024-06-17 | 2024-06-17 | 2024-07-23 | 2024-07-23 | 2024-09-02 | 2024-12-06 | 2024-12-06 | 2024-12-06 | NA | NA |
01616171000102 | RJ | Armação dos Búzios | RPPS | 3300233 | 2024-03-28 | 2024-03-28 | 2024-04-30 | 2024-05-20 | 2024-06-21 | 2024-07-18 | 2024-08-30 | 2024-09-25 | 2024-10-29 | 2024-11-29 | 2024-12-20 | 2025-01-31 |
27792373000107 | RJ | Arraial do Cabo | RPPS | 3300258 | 2024-03-06 | 2024-03-28 | 2024-04-30 | 2024-06-05 | 2024-07-03 | 2024-07-29 | 2024-08-23 | 2024-09-24 | 2024-10-29 | 2024-11-22 | 2024-12-26 | 2025-01-31 |
Para facilitar a identificação dos entes que eventualmente não fizeram a entrega de nenhuma MSC vamos “marcar” na base de dados os entes que encaminharam ao menos uma MSC e os que não fizeram nenhum encaminhamento.
Essa “marcação” da base de dados consiste apenas na inclusão de uma nova coluna, que vamos chamar de entregou_msc
, que terá o valor 1 para indicar o ente que entregou e o valor 0 para quem não entregou.
<- entregas_msc_2024 %>%
entregas_msc_2024 mutate(entregou_msc = if_else(cod_ibge %in% msc_entregas, 1, 0))
Pronto. Agora temos uma relação dos municípios fluminenses vinculados ao RPPS e do status quanto ao encaminhamento da MSC. Basta irmos atualizando a base de dados à medida que o tempo for passando.
Um ponto importante a se considerar é que a entrega da MSC não garante que os dados contábeis dos RPPS foram de fato encaminhados à STN. É importante verificar se o PO de identificação do RPPS está presente na MSC. Quando tratarmos da extração de dados da MSC, mais adiante, voltaremos a esse ponto.
Encaminhamento do RGF
Da mesma forma que fizemos para a MSC, é possível fazer um acompanhamento quanto ao encaminhamento dos Relatórios de Gestão Fiscal - RGF. Além disso, é possível fazer a extração de dados relativos aos anexos do referido relatório, como mostraremos mais adiante.
A construção de uma base de dados relativa ao encaminhamento do RGF pode ser feita da seguinte forma:
<- rel_status_2024_rj %>%
entregas_rgf_2024 filter(entregavel == "Relatório de Gestão Fiscal",
grepl("^Prefeitura", instituicao)) %>%
select(exercicio, cod_ibge, instituicao, periodo, periodicidade, data_status) %>%
mutate(data_status = substr(data_status, 1, 10),
instituicao = gsub("Prefeitura Municipal d[eo] (.*) - RJ", "\\1", instituicao)) %>%
select(cod_ibge, instituicao, periodo, data_status) %>%
pivot_wider(names_from = periodo, values_from = data_status) %>%
arrange(cod_ibge, instituicao)
head(entregas_rgf_2024) %>% kable()
cod_ibge | instituicao | 1 | 2 | 3 |
---|---|---|---|---|
3300100 | Angra dos Reis | 2024-05-29 | 2024-09-26 | 2025-01-30 |
3300159 | Aperibé | 2024-07-22 | 2024-10-01 | 2025-02-07 |
3300209 | Araruama | 2024-06-18 | 2024-10-09 | NA |
3300225 | Areal | 2024-06-17 | 2024-12-09 | NA |
3300233 | Armação dos Búzios | 2024-06-20 | 2024-10-04 | 2025-02-06 |
3300258 | Arraial do Cabo | 2024-08-13 | 2024-10-08 | 2025-01-31 |
Da mesma forma que fizemos com a MSC, vamos colher o código IBGE dos entes que fizeram o encaminhamento do relatório de ao menos um quadrimestre. Essa informação nos será útil mais adiante.
<- entregas_rgf_2024$cod_ibge rgf_entregas
Para identificar os entes que não fizeram o encaminhamento do RGF, a ideia é a mesma utilizada para a MSC:
<- cadastro_rj %>%
entregas_rgf_2024 left_join(entregas_rgf_2024, by=join_by(cod_ibge)) %>%
select(-instituicao)
Agora vamos identificar qual ente não encaminhou o RGF em nenhum dos três quadrimestres. Vamos incluir na base de dados uma coluna de sinalização chamada entregou_rgf
, que terá o valor 1 caso o município tenha entregue e o valor 0 caso contrário.
<- entregas_rgf_2024 %>%
entregas_rgf_2024 mutate(entregou_rgf = if_else(cod_ibge %in% rgf_entregas, 1, 0))
Para identificar os municípios que não fizeram a entrega do demonstrativo basta aplicar um filtro:
%>%
entregas_rgf_2024 filter(entregou_rgf == 0) %>%
kable()
cnpj | uf | ente | regime | cod_ibge | 1 | 2 | 3 | entregou_rgf |
---|---|---|---|---|---|---|---|---|
28645794000160 | RJ | Cantagalo | RPPS | 3301108 | NA | NA | NA | 0 |
01609497000102 | RJ | Carapebus | RPPS | 3300936 | NA | NA | NA | 0 |
29128741000134 | RJ | Carmo | RPPS | 3301207 | NA | NA | NA | 0 |
30417158000122 | RJ | Italva | RPPS | 3302056 | NA | NA | NA | 0 |
28919637000103 | RJ | Laje do Muriaé | RPPS | 3302304 | NA | NA | NA | 0 |
28580694000100 | RJ | Mendes | RPPS | 3302809 | NA | NA | NA | 0 |
29114121000146 | RJ | Miracema | RPPS | 3303005 | NA | NA | NA | 0 |
28920304000196 | RJ | Natividade | RPPS | 3303104 | NA | NA | NA | 0 |
01612981000190 | RJ | Pinheiral | RPPS | 3303955 | NA | NA | NA | 0 |
29141322000132 | RJ | Piraí | RPPS | 3304003 | NA | NA | NA | 0 |
39560008000148 | RJ | Quatis | RPPS | 3304128 | NA | NA | NA | 0 |
31505027000160 | RJ | Quissamã | RPPS | 3304151 | NA | NA | NA | 0 |
32165706000108 | RJ | Sumidouro | RPPS | 3305703 | NA | NA | NA | 0 |
32412819000152 | RJ | Vassouras | RPPS | 3306206 | NA | NA | NA | 0 |
Encaminhamento do RREO
A identificação dos entes que fizeram o encaminhamento do RREO segue a mesma lógica já apresentada para o RGF.
Primeiro faz-se um filtro para selecionar os registros relativos ao RREO e mais algum tratamento de dados adicional. Depois obtém-se a relação dos códigos IBGE dos entes que fizeram a entrega do demonstrativo e inclui-se na base de dados os entes que não fizeram a entrega e, por fim, faz-se a marcação na base de dados de quem entregou e quem não entregou.
<- rel_status_2024_rj %>%
entregas_rreo_2024 filter(entregavel == "Relatório Resumido de Execução Orçamentária",
grepl("^Prefeitura", instituicao)) %>%
select(exercicio, cod_ibge, instituicao, periodo, periodicidade, data_status) %>%
mutate(data_status = substr(data_status, 1, 10),
instituicao = gsub("Prefeitura Municipal d[eo] (.*) - RJ", "\\1", instituicao)) %>%
select(cod_ibge, instituicao, periodo, data_status) %>%
pivot_wider(names_from = periodo, values_from = data_status) %>%
arrange(cod_ibge, instituicao)
# Entes que entregaram o RREO
<- entregas_rreo_2024$cod_ibge
rreo_entregas
# Incluir os entes que eventualmente não
# fizeram a entrega
<- cadastro_rj %>%
entregas_rreo_2024 left_join(entregas_rreo_2024, by=join_by(cod_ibge)) %>%
select(-instituicao)
# Criar uma coluna para indicar quem entregou
# e quem não entregou o RREO
<- entregas_rreo_2024 %>%
entregas_rreo_2024 mutate(entregou_rreo = if_else(cod_ibge %in% rreo_entregas, 1, 0))
head(entregas_rreo_2024) %>% kable()
cnpj | uf | ente | regime | cod_ibge | 1 | 2 | 3 | 4 | 5 | 6 | entregou_rreo |
---|---|---|---|---|---|---|---|---|---|---|---|
29172467000109 | RJ | Angra dos Reis | RPPS | 3300100 | 2024-03-28 | 2024-05-29 | 2024-07-30 | 2024-09-26 | 2024-11-25 | 2025-01-30 | 1 |
36288900000123 | RJ | Aperibé | RPPS | 3300159 | 2024-07-22 | 2024-06-06 | 2024-08-21 | 2024-10-01 | 2024-12-04 | 2025-02-07 | 1 |
28531762000133 | RJ | Araruama | RPPS | 3300209 | 2024-06-03 | 2024-06-18 | 2024-08-13 | 2024-10-09 | 2024-11-26 | NA | 1 |
39554605000160 | RJ | Areal | RPPS | 3300225 | 2024-06-17 | 2024-06-17 | 2024-08-16 | 2024-12-09 | 2024-12-09 | NA | 1 |
01616171000102 | RJ | Armação dos Búzios | RPPS | 3300233 | 2024-06-20 | 2024-06-24 | 2024-07-31 | 2024-10-04 | 2024-12-04 | 2025-02-06 | 1 |
27792373000107 | RJ | Arraial do Cabo | RPPS | 3300258 | 2024-08-13 | 2024-08-19 | 2024-08-20 | 2024-10-10 | 2024-12-05 | 2025-02-07 | 1 |
É importante indicar a data em que foi feita a extração dos dados constante da base obtida com a função report_status()
. No nosso exemplo, essa data é:
comment(rel_status_2024_rj)
[1] "Sat Feb 22 20:43:41 2025"
Extração de dados
No capítulo anterior vimos como elaborar um quadro com vistas a fazer o monitoramento do encaminhamento dos demonstrativos à STN. Nosso objetivo agora é exemplificar como fazer a extração de dados da MSC e de alguns anexos do RGF e do RREO, na esperança de que sirvam de guia para que os leitores consigam fazer a extração de quaisquer dados desejados.
MSC - Matriz de Saldos Contábeis
Para a extração de dados relacionados à matriz de saldos contábeis, o pacote {siconfir}
disponibiliza três funções: msc_budget()
, msc_control()
e msc_equity()
para a extração, respectivamente, de contas orçamentárias, contas de controle e contas patrimoniais (ativo, passivo, receitas e despesas).
Vamos ilustrar apenas a extração das contas patrimoniais e vamos aplicar um filtro na base de dados para obter apenas as contas contábeis relativas aos RPPS. Isso é feito pegando apenas os registros em que a variável poder_orgao
é igual a 10132 que é o identificador dos RPPS municipais.
Vamos extrair dados apenas dos três primeiros meses de 2024 para que o precesso de extração não demore muito.
<- msc_equity(year = 2024,
bp_2024_trim1 month = 1:3,
cod = msc_entregas,
matrix_type = "MSCC",
class = 1:4,
value = "ending_balance",
verbose = FALSE) %>%
filter(poder_orgao == "10132")
comment(bp_2024_trim1) <- date()
head(bp_2024_trim1) %>% kable()
tipo_matriz | cod_ibge | classe_conta | conta_contabil | poder_orgao | financeiro_permanente | ano_fonte_recursos | fonte_recursos | exercicio | mes_referencia | divida_consolidada | data_referencia | entrada_msc | valor | natureza_conta | tipo_valor | complemento_fonte |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
MSCC | 3300100 | 1 | 111110602 | 10132 | 1 | 1 | 1500 | 2024 | 1 | NA | 2024-01-31T00:00:00Z | 132 | 2419314.38 | D | ending_balance | NA |
MSCC | 3300100 | 1 | 111110602 | 10132 | 1 | 1 | 1500 | 2024 | 1 | NA | 2024-01-31T00:00:00Z | 136 | 10679015.36 | C | ending_balance | 1001 |
MSCC | 3300100 | 1 | 111110602 | 10132 | 1 | 1 | 1800 | 2024 | 1 | NA | 2024-01-31T00:00:00Z | 139 | 30983.39 | C | ending_balance | NA |
MSCC | 3300100 | 1 | 111110602 | 10132 | 1 | 1 | 1800 | 2024 | 1 | NA | 2024-01-31T00:00:00Z | 143 | 6989911.98 | D | ending_balance | 1111 |
MSCC | 3300100 | 1 | 111110602 | 10132 | 1 | 1 | 1801 | 2024 | 1 | NA | 2024-01-31T00:00:00Z | 147 | 1099675.95 | D | ending_balance | NA |
MSCC | 3300100 | 1 | 111110603 | 10132 | 1 | 1 | 1500 | 2024 | 1 | NA | 2024-01-31T00:00:00Z | 151 | 10035.49 | C | ending_balance | 1001 |
O resultado é uma base de dados contendo diversas informações, dentre as quais, os códigos IBGE dos municípios, os códigos das contas contábeis, saldo das contas ao fim do mês e natureza do saldo, dentre outras informações.
Um tratamento preliminar desses dados pode consistir em incluir os nomes dos municípios, os nomes das contas e excluir colunas não necessárias.
Os nomes dos entes é fácil incluir:
<- bp_2024_trim1 %>%
bp_2024_trim1 left_join(cadastro_rj %>% select(cod_ibge, ente),
by = join_by(cod_ibge)) %>%
relocate(ente, .after = cod_ibge)
Para incluir os nomes das contas, será necessário importar o PCASP de 2024 que está disponível no site da STN.
<- read_excel("PCASP 2024 - PORTARIA STN Nº 856, DE 24 DE MAIO DE 2024.xlsx") %>%
pcasp2024 select(conta = Conta,
nome = Título...9,
natureza_saldo = `Natureza de Saldo`,
status = Status,
pcasp_rpps = `PCASP RPPS`) %>%
mutate(conta = str_remove_all(conta, "[[:punct:]]"))
New names:
• `Título` -> `Título...4`
• `Título` -> `Título...9`
No processo de importação do PCASP selecionamos apenas algumas colunas que julgamos importantes para o nosso objetivo.
head(pcasp2024) %>% kable()
conta | nome | natureza_saldo | status | pcasp_rpps |
---|---|---|---|---|
100000000 | ATIVO | Devedora | Ativa | Sim |
110000000 | ATIVO CIRCULANTE | Devedora | Ativa | Sim |
111000000 | CAIXA E EQUIVALENTES DE CAIXA | Devedora | Ativa | Sim |
111100000 | CAIXA E EQUIVALENTES DE CAIXA EM MOEDA NACIONAL | Devedora | Ativa | Sim |
111110000 | CAIXA E EQUIVALENTES DE CAIXA EM MOEDA NACIONAL - CONSOLIDAÇÃO | Devedora | Ativa | Sim |
111110100 | CAIXA | Devedora | Ativa | Não |
Agora podemos colocar os nomes das contas na nossa base de dados da MSC:
<- bp_2024_trim1 %>%
bp_2024_trim1 left_join(pcasp2024, by=join_by(conta_contabil == conta))
Agora vamos mover algumas colunas e remover outras com o objetivo de ficarmos com uma base de dados mais fácil de trabalhar.
<- bp_2024_trim1 %>%
bp_2024_trim1 relocate(nome:pcasp_rpps, .after = conta_contabil) %>%
select(-tipo_matriz, -classe_conta, -exercicio, -divida_consolidada,
-data_referencia, -entrada_msc, -tipo_valor)
head(bp_2024_trim1) %>% kable()
cod_ibge | ente | conta_contabil | nome | natureza_saldo | status | pcasp_rpps | poder_orgao | financeiro_permanente | ano_fonte_recursos | fonte_recursos | mes_referencia | valor | natureza_conta | complemento_fonte |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
3300100 | Angra dos Reis | 111110602 | BANCOS CONTA MOVIMENTO - FUNDO EM REPARTIÇÃO | Devedora | Ativa | Sim | 10132 | 1 | 1 | 1500 | 1 | 2419314.38 | D | NA |
3300100 | Angra dos Reis | 111110602 | BANCOS CONTA MOVIMENTO - FUNDO EM REPARTIÇÃO | Devedora | Ativa | Sim | 10132 | 1 | 1 | 1500 | 1 | 10679015.36 | C | 1001 |
3300100 | Angra dos Reis | 111110602 | BANCOS CONTA MOVIMENTO - FUNDO EM REPARTIÇÃO | Devedora | Ativa | Sim | 10132 | 1 | 1 | 1800 | 1 | 30983.39 | C | NA |
3300100 | Angra dos Reis | 111110602 | BANCOS CONTA MOVIMENTO - FUNDO EM REPARTIÇÃO | Devedora | Ativa | Sim | 10132 | 1 | 1 | 1800 | 1 | 6989911.98 | D | 1111 |
3300100 | Angra dos Reis | 111110602 | BANCOS CONTA MOVIMENTO - FUNDO EM REPARTIÇÃO | Devedora | Ativa | Sim | 10132 | 1 | 1 | 1801 | 1 | 1099675.95 | D | NA |
3300100 | Angra dos Reis | 111110603 | BANCOS CONTA MOVIMENTO - FUNDO EM CAPITALIZAÇÃO | Devedora | Ativa | Sim | 10132 | 1 | 1 | 1500 | 1 | 10035.49 | C | 1001 |
Dada a grande quantidade de análises que podem ser feitas a partir dessa base de dados, vamos elaborar um tutorial inteiramente dedicado à análise da MSC à luz dos dados previdenciários.
RREO - Relatório Resumido da Execução Orçamentária
Nesta seção vamos fazer a extração de alguns dados contidos em anexos do RREO que sejam de interesse para a área de previdência do servidor público.
Os anexos do RREO são os elencados a seguir:
- Anexo 1 - Balanço Orçamentário
- Anexo 2 - Demonstrativo da Execução das Despesas por Função/Subfunção
- Anexo 3 - Demonstrativo da Receita Corrente Líquida
- Anexo 4 - Demonstrativo das Receitas e Despesas Previdenciárias
- Anexo 6 - Demonstrativo dos Resultados Primário e Nominal
- Anexo 7 - Demonstrativo dos Restos a Pagar por Poder e Órgão
- Aenxo 8 - Demonstrativo das Receitas e Despesas com Manutenção e Desenvolvimento do Ensino - MDE
- Anexo 9 - Demonstrativo das Receitas de Operações de Crédito e Despesas de Capital
- Anexo 10 - Demonstrativo da Projeção Atuarial do Regime de Previdência
- Anexo 11 - Demonstrativo da Receita de Alienação de Ativos e Aplicação dos Recursos
- Anexo 12 - Demonstrativo das Receitas e Despesas com Ações e Serviços Públicos de Saúde
- Anexo 13 - Demonstrativo das Parcerias Público-Privadas
- Anexo 14 - Demonstrativo Simplificado do Relatório Resumido da Execução Orçamentária
De interesse imediato para a análise dos RPPS é o Anexo 4. O Anexo 3 também tem informação útil para a área de previdência. A seguir ilustramos como extrair dados dos anexos 3 e 4.
Anexo 3 - Receita Corrente Líquida
A receita corrente líquida é uma variável fundamental para avaliar a condição fiscal dos entes federativos, visto que figura como quociente em diversos indicadores fiscais e, também, assume bastante relevância quando se trata de avaliar a capacidade do município em cumprir com o plano de custeio de seu RPPS, em especial dos planos de amortização de deficits atuariais.
Para a extração de dados do RREO utiliza-se a função get_budget()
conforme ilustramos a seguir para fazer a extração de dados do anexo 3, para os bimestres 1 a 6 do ano de 2024 para os municípios vinculados ao RPPS e que encaminharam o demonstrativo à STN.
<- get_budget(year = 2024,
rreo_2024_anx_3 period = 1:6,
cod = rreo_entregas,
annex = "03")
comment(rreo_2024_anx_3) <- date()
A figura a seguir ilustra as rubricas do demonstrativo nas quais estamos interessados.
A extração dos dados:
<- "RREO3ReceitaCorrenteLiquida"
rcl_1 <- "RREO3ReceitaCorrenteLiquidaAjustadaParaCalculoDosLimitesDeEndividamento"
rcl_2 <- "RREO3ReceitaCorrenteLiquidaAjustadaParaCalculoDosLimitesDaDespesaComPessoal"
rcl_3
<- rreo_2024_anx_3 %>%
rreo_rcl filter(coluna == "TOTAL (ÚLTIMOS 12 MESES)",
%in% c(rcl_1, rcl_2, rcl_3)) %>%
cod_conta select(cod_ibge, instituicao, exercicio, periodo, periodicidade,
%>%
coluna, conta, cod_conta, valor) mutate(competencia = str_c(periodicidade, periodo)) %>%
select(-coluna, -conta, -periodicidade, -periodo) %>%
pivot_wider(id_cols = c(cod_ibge, instituicao, exercicio, cod_conta),
names_from = competencia,
values_from = valor) %>%
mutate(cod_conta = case_when(cod_conta == rcl_1 ~ "RCL",
== rcl_2 ~ "RCL II",
cod_conta == rcl_3 ~ "RCL III",
cod_conta .default = ""))
head(rreo_rcl) %>% kable()
cod_ibge | instituicao | exercicio | cod_conta | B1 | B2 | B3 | B4 | B5 | B6 |
---|---|---|---|---|---|---|---|---|---|
3300100 | Prefeitura Municipal de Angra dos Reis - RJ | 2024 | RCL | 2032666093 | 2218326830 | 2051539144 | 2081670660 | 2031469373 | 2079870416 |
3300100 | Prefeitura Municipal de Angra dos Reis - RJ | 2024 | RCL II | 2032666093 | 2218326830 | 2051539144 | 2081670660 | 2031469373 | 2079870416 |
3300100 | Prefeitura Municipal de Angra dos Reis - RJ | 2024 | RCL III | 2032666093 | 2218326830 | 2051539144 | 2081670660 | 2031469373 | 2079870416 |
3300159 | Prefeitura Municipal de Aperibé - RJ | 2024 | RCL | 72760336 | 89066287 | 90539681 | 96338386 | 94163175 | 94802416 |
3300159 | Prefeitura Municipal de Aperibé - RJ | 2024 | RCL II | 72760336 | 89066287 | 90539681 | 96338386 | 94163175 | 94802416 |
3300159 | Prefeitura Municipal de Aperibé - RJ | 2024 | RCL III | 72760336 | 89066287 | 90539681 | 96338386 | 94163175 | 94802416 |
Anexo 4 - Receitas e Despesas Previdenciárias
O Anexo 4 do RREO é inteiramente dedicado às receitas e despesas previdenciárias e é composto por quatro tabelas:
- FUNDO EM CAPITALIZAÇÃO (PLANO PREVIDENCIÁRIO)
- FUNDO EM REPARTIÇÃO (PLANO FINANCEIRO)
- ADMINISTRAÇÃO DO REGIME PRÓPRIO DE PREVIDÊNCIA DOS SERVIDORES - RPPS
- BENEFÍCIOS PREVIDENCIÁRIOS MANTIDOS PELO TESOURO
Como já mencionado, para fazer a extração dos dados dos anexos do RREO utiliza-se a função get_budget()
conforme mostramos a seguir:
<- get_budget(year = 2024,
rreo_2024_anx_4 period = 1:6,
cod = rreo_entregas,
annex = "04")
comment(rreo_2024_anx_4) <- date()
Os dados obtidos contemplam todas as 4 tabelas acima mencionadas. Extraídos os dados do anexo, podemos fazer a extração das rubricas desejadas em cada uma das tabelas que constituem o anexo 4. A seguir vamos ilustrar como extrair os dados relativos às transferências para amortização do deficit atuarial.
Transferências para amortização de deficit atuarial
Dentre as diversas informações de interesse contidas nos quadros do Anexo 4 do RREO, ilustraremos como realizar a extração dos valores transferidos ao RPPS para a amortização do deficit atuarial que, como se sabe, pode ocorrer na forma de alíquotas de contribuição suplementares ou por aportes financeiros periódicos.
Essa informação consta apenas da tabela relativa ao fundo em capitalização visto que não faz sentido nas demais tabelas.
A figura abaixo mostra as rubricas de interesse no demonstrativo.
A extração dos valores dessas rubricas da base de dados do anexo 4 do RREO (rreo_2024_anx_4
) é feita a seguir:
<- "AportesParaAPrevidenciaPlanoPrevidenciarioAportePeriodicoDeValoresPredefinidos"
aportes <- "AportesParaAPrevidenciaPlanoPrevidenciarioContribuicaoPatronalSuplementar"
aliquotas
<- rreo_2024_anx_4 %>%
rreo_2024_anx_4_plano_amortfilter(coluna == "APORTES REALIZADOS",
%in% c(aportes, aliquotas)) %>%
cod_conta select(cod_ibge, instituicao, exercicio, periodo, periodicidade,
%>%
coluna, conta, cod_conta, valor) mutate(competencia = str_c(periodicidade, periodo),
tipo = if_else(cod_conta == aportes, "aportes_periodicos", "aliquota_suplementar")) %>%
select(-coluna, -conta, -periodicidade, -periodo) %>%
pivot_wider(id_cols = c(cod_ibge, instituicao, exercicio, tipo),
names_from = competencia,
values_from = valor)
head(rreo_2024_anx_4_plano_amort) %>% kable()
cod_ibge | instituicao | exercicio | tipo | B1 | B2 | B4 | B5 | B6 | B3 |
---|---|---|---|---|---|---|---|---|---|
3300506 | Prefeitura Municipal de Bom Jardim - RJ | 2024 | aportes_periodicos | 1097606.60 | 3314273.78 | 7799429.25 | 10057711 | NA | NA |
3300951 | Prefeitura Municipal de Comendador Levy Gasparian - RJ | 2024 | aportes_periodicos | NA | NA | NA | NA | 2800666.56 | NA |
3301157 | Prefeitura Municipal de Cardoso Moreira - RJ | 2024 | aliquota_suplementar | 687754.37 | 1134090.01 | NA | NA | NA | 1854578.69 |
3301306 | Prefeitura Municipal de Casimiro de Abreu - RJ | 2024 | aliquota_suplementar | 23477.28 | 23477.28 | 23477.28 | NA | 23477.28 | 3596.78 |
3301306 | Prefeitura Municipal de Casimiro de Abreu - RJ | 2024 | aportes_periodicos | 18973.43 | 1129390.50 | 2239807.57 | 11104171 | 6681475.88 | 3374395.51 |
3301405 | Prefeitura Municipal de Conceição de Macabu - RJ | 2024 | aportes_periodicos | 363213.42 | 1452853.68 | 4145380.89 | 4444551 | NA | NA |
Agora vamos juntar à base de dados os entes que eventualmente não fizeram o encaminhamento do RREO ou que, os tendo encaminhado, não informaram os valores transferidos.
<- cadastro_rj %>%
rreo_2024_anx_4_plano_amort left_join(rreo_2024_anx_4_plano_amort, by=join_by(cod_ibge)) %>%
select(-instituicao)
Agora vamos identificar quem fez a entrega do RREO.
<- rreo_2024_anx_4_plano_amort %>%
rreo_2024_anx_4_plano_amort mutate(entregou_rreo = if_else(cod_ibge %in% rreo_entregas, 1, 0))
A análise dos dados indica que diversos entes que fizeram o encaminhamento do RREO não indicaram os valores pagos a título de amortização do deficit atuarial.
Em princípio se o ente possui RPPS com déficit atuarial e possui lei instituindo plano de amortização deveria repassar os valores e indicar o montante repassado no demonstrativo.
Conforme os dados colhidos, o município de Casimiro de Abreu informou ter feito aportes para amortização do déficit atuarial tanto por alíquota suplementar como por aportes periódicos, o que não é uma prática comum.
O ente deve optar por uma forma ou outra, conforme definido no relatório de avaliação atuarial e na lei de implantação do plano de amortização.
%>%
rreo_2024_anx_4_plano_amort filter(ente == "Casimiro de Abreu") %>%
select(ente, tipo, starts_with("B")) %>%
kable()
ente | tipo | B1 | B2 | B4 | B5 | B6 | B3 |
---|---|---|---|---|---|---|---|
Casimiro de Abreu | aliquota_suplementar | 23477.28 | 23477.28 | 23477.28 | NA | 23477.28 | 3596.78 |
Casimiro de Abreu | aportes_periodicos | 18973.43 | 1129390.50 | 2239807.57 | 11104171 | 6681475.88 | 3374395.51 |
RGF - Relatório de Gestão Fiscal
Assim como os anexos do RREO, também os anexos do RGF fornecem informações importantes para a análise da situação previdenciária do município.
Para a extração dos dados dos anexos do RGF existe a função get_fiscal()
.
O RGF possui os seguintes anexos:
- Anexo 1 - Demonstrativo da Despesa com Pessoal
- Anexo 2 - Demonstrativo da Dívida Consolidada Líquida - DCL
- Anexo 3 - Demonstrativo das Garantias e Contragarantias de Valores
- Anexo 4 - Demonstrativo das Operações de Crédito
- Anexo 5 - Demonstrativo da Disponibilidade de Caixa e dos Restos a Pagar
- Anexo 6 - Demonstrativo Simplificado do Relatório de Gestão Fiscal
Para efeito deste tutorial vamos ilustrar como extrair os dados do Anexo 2 que nos fornece informações sobre a Dívida Consolidada Líquida, sendo certo que é possível obter dados de quaisquer outros anexos do RGF.
Anexo 2 - Demonstrativo da Dívida Consolidada Líquida - DCL
Para selecionar os dados do Anexo 2 que nos dá informações sobre a dívida consolidada líquida do ente, vamos usar, como já mencionado, a função get_fiscal()
conforme ilustrado a seguir para obter dados do 3o quadrimestre de 2024:
<- get_fiscal(year = 2024,
rgf_2024_anx_2 period = 3,
cod = rgf_entregas,
annex = 2)
comment(rgf_2024_anx_2) <- date()
head(rgf_2024_anx_2) %>% kable()
exercicio | periodo | periodicidade | instituicao | cod_ibge | uf | co_poder | populacao | anexo | esfera | rotulo | coluna | cod_conta | conta | valor |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
2024 | 3 | Q | Prefeitura Municipal de Angra dos Reis - RJ | 3300100 | RJ | E | 181228 | RGF-Anexo 02 | M | Padrão | SALDO DO EXERCÍCIO ANTERIOR | DividaConsolidada | DÍVIDA CONSOLIDADA - DC (I) | 136868755 |
2024 | 3 | Q | Prefeitura Municipal de Angra dos Reis - RJ | 3300100 | RJ | E | 181228 | RGF-Anexo 02 | M | Padrão | Até o 1º Quadrimestre | DividaConsolidada | DÍVIDA CONSOLIDADA - DC (I) | 133676257 |
2024 | 3 | Q | Prefeitura Municipal de Angra dos Reis - RJ | 3300100 | RJ | E | 181228 | RGF-Anexo 02 | M | Padrão | Até o 2º Quadrimestre | DividaConsolidada | DÍVIDA CONSOLIDADA - DC (I) | 130463718 |
2024 | 3 | Q | Prefeitura Municipal de Angra dos Reis - RJ | 3300100 | RJ | E | 181228 | RGF-Anexo 02 | M | Padrão | Até o 3º Quadrimestre | DividaConsolidada | DÍVIDA CONSOLIDADA - DC (I) | 148009774 |
2024 | 3 | Q | Prefeitura Municipal de Angra dos Reis - RJ | 3300100 | RJ | E | 181228 | RGF-Anexo 02 | M | Padrão | SALDO DO EXERCÍCIO ANTERIOR | DividaContratual | Dívida Contratual | 134068672 |
2024 | 3 | Q | Prefeitura Municipal de Angra dos Reis - RJ | 3300100 | RJ | E | 181228 | RGF-Anexo 02 | M | Padrão | Até o 1º Quadrimestre | DividaContratual | Dívida Contratual | 130876173 |
Uma fez feita a extração dos dados do demonstrativo, podemos colher os dados das rubricas de interesse no anexo. Para isso é necessário um rápido estudo do demonstrativo para que tenhamos mais clareza de como selecionar os dados desejados dentre os diversos que constam no demonstrativo.
Dentre os dados constantes do Anexo 2 do RGF, podemos estar interessados, por exemplo, no valor do passivo atuarial e/ou no valor das dívidas previdenciárias.
Vamos ilustrar como extrair do Anexo 2 os valores dessas duas rubricas.
Dívidas Previdenciárias
A dívida previdenciária do ente tanto com o RGPS como com o RPPS devem ser evidenciadas no Anexo 2 do RGF.
Essa evidenciação é importante porque a parcela dessa dívida relacionada ao RPPS municipal somente poderá ser considerada como ativo garantidor no RPPS se devidamente reconhecida no ente e contabilmente evidenciada. Se não houver essa evidenciação, as dívidas previdenciárias do ente federativo para com o seu RPPS confessadas nos termos de parcelamento de débito não devem constar como ativos garantidores nas avaliações atuariais dos RPPS conforme disposto na Portaria 1467/2022.
A figura abaixo mostra parte do demonstrativo evidenciando a rubrica cujos valores desejamos extrair.
O tratamento dos dados será feito a seguir, iniciando com a filtragem dos valores de interesse:
<- "RGF2ParcelamentoERenegociacaoDeDividasDeContribuicoesSociaisPrevidenciarias"
parcel_debitos
<- rgf_2024_anx_2 %>%
rgf_2024_divida_prev filter(cod_conta == parcel_debitos) %>%
select(cod_ibge, instituicao, exercicio, periodo, periodicidade, coluna, valor)
head(rgf_2024_divida_prev) %>% kable()
cod_ibge | instituicao | exercicio | periodo | periodicidade | coluna | valor |
---|---|---|---|---|---|---|
3300100 | Prefeitura Municipal de Angra dos Reis - RJ | 2024 | 3 | Q | SALDO DO EXERCÍCIO ANTERIOR | 127915650 |
3300100 | Prefeitura Municipal de Angra dos Reis - RJ | 2024 | 3 | Q | Até o 1º Quadrimestre | 125223580 |
3300100 | Prefeitura Municipal de Angra dos Reis - RJ | 2024 | 3 | Q | Até o 2º Quadrimestre | 122517442 |
3300100 | Prefeitura Municipal de Angra dos Reis - RJ | 2024 | 3 | Q | Até o 3º Quadrimestre | 140829197 |
3300159 | Prefeitura Municipal de Aperibé - RJ | 2024 | 3 | Q | SALDO DO EXERCÍCIO ANTERIOR | 13549183 |
3300159 | Prefeitura Municipal de Aperibé - RJ | 2024 | 3 | Q | Até o 1º Quadrimestre | 13088595 |
Feita a filtragem dos dados, podemos colocá-los em um formato mais adequado.
<- rgf_2024_divida_prev %>%
rgf_2024_divida_prev pivot_wider(id_cols=cod_ibge:periodicidade,
names_from = coluna,
values_from = valor)
head(rgf_2024_divida_prev) %>% kable()
cod_ibge | instituicao | exercicio | periodo | periodicidade | SALDO DO EXERCÍCIO ANTERIOR | Até o 1º Quadrimestre | Até o 2º Quadrimestre | Até o 3º Quadrimestre |
---|---|---|---|---|---|---|---|---|
3300100 | Prefeitura Municipal de Angra dos Reis - RJ | 2024 | 3 | Q | 127915650 | 125223580 | 122517442 | 140829197 |
3300159 | Prefeitura Municipal de Aperibé - RJ | 2024 | 3 | Q | 13549183 | 13088595 | 12477338 | 11869759 |
3300233 | Prefeitura Municipal de Armação dos Búzios - RJ | 2024 | 3 | Q | 45552571 | 41802194 | 37969813 | 36332491 |
3300258 | Prefeitura Municipal de Arraial do Cabo - RJ | 2024 | 3 | Q | 121961643 | 139434255 | 140329511 | 138681600 |
3300803 | Prefeitura Municipal de Cachoeiras de Macacu - RJ | 2024 | 3 | Q | 22948821 | 22948821 | 13823367 | 22948821 |
3300951 | Prefeitura Municipal de Comendador Levy Gasparian - RJ | 2024 | 3 | Q | 15663919 | 1228720 | 15471784 | 15436489 |
Agora vamos juntar à base de dados os demais entes federativos que possuem RPPS:
<- cadastro_rj %>%
rgf_2024_divida_prev left_join(rgf_2024_divida_prev, by=join_by(cod_ibge)) %>%
select(-instituicao)
Como feito nos exemplos precedentes, vamos marcar na base de dados quem encaminhou o RGF e quem não encaminhou.
<- rgf_2024_divida_prev %>%
rgf_2024_divida_prev mutate(entregou_rgf = if_else(cod_ibge %in% rgf_entregas, 1, 0))
Examinando atentamente os dados obtidos, podemos observar que alguns entes, embora tenham feito a entrega do RGF, não apresentaram informações em relação à existência de dívidas previdenciárias.
%>%
rgf_2024_divida_prev filter(entregou_rgf == 1, is.na(exercicio)) %>%
head() %>%
kable()
cnpj | uf | ente | regime | cod_ibge | exercicio | periodo | periodicidade | SALDO DO EXERCÍCIO ANTERIOR | Até o 1º Quadrimestre | Até o 2º Quadrimestre | Até o 3º Quadrimestre | entregou_rgf |
---|---|---|---|---|---|---|---|---|---|---|---|---|
28531762000133 | RJ | Araruama | RPPS | 3300209 | NA | NA | NA | NA | NA | NA | NA | 1 |
39554605000160 | RJ | Areal | RPPS | 3300225 | NA | NA | NA | NA | NA | NA | NA | 1 |
28576080000147 | RJ | Barra do Piraí | RPPS | 3300308 | NA | NA | NA | NA | NA | NA | NA | 1 |
28695658000184 | RJ | Barra Mansa | RPPS | 3300407 | NA | NA | NA | NA | NA | NA | NA | 1 |
39485438000142 | RJ | Belford Roxo | RPPS | 3300456 | NA | NA | NA | NA | NA | NA | NA | 1 |
28561041000176 | RJ | Bom Jardim | RPPS | 3300506 | NA | NA | NA | NA | NA | NA | NA | 1 |
A verificação quanto a existência de dívida previdenciária do município com o seu RPPS pode ser feita consultando o módulo “PARCELAMENTOS” no painel disponibilizado nesse link: https://marcosfs2006.shinyapps.io/painel_draa/.
Lembrando que se o ente não faz a evidenciação contábil de sua dívida com o RPPS, os valores dos termos de parcelamento de débito não devem ser considerados como ativo garantidor do RPPS conforme determina o Art. 51, II, ‘a’ da Portaria 1467/2022.
Passivo Atuarial
O passivo atuarial é a expressão monetária da dívida estimada do ente federativo relacionada ao pagamento de benefícios previdenciários. É uma das rubricas mais expressivas do balanço patrimonial do ente.
A figura a seguir ilustra a rubrica relativa ao valor do passivo atuarial do ente, evidenciado no Anexo 2 do RGF.
A extração de dados relativos ao passivo atuarial vai seguir a mesma lógica já apresentada:
<- rgf_2024_anx_2 %>%
rgf_2024_passivo_atuarial filter(cod_conta == "RGF2DividaConsolidadaPrevidenciariaPassivoAtuarial") %>%
select(cod_ibge, instituicao, exercicio, periodo, periodicidade, coluna, valor) %>%
pivot_wider(id_cols=cod_ibge:periodicidade,
names_from = coluna,
values_from = valor)
head(rgf_2024_passivo_atuarial) %>% kable()
cod_ibge | instituicao | exercicio | periodo | periodicidade | SALDO DO EXERCÍCIO ANTERIOR | Até o 1º Quadrimestre | Até o 2º Quadrimestre | Até o 3º Quadrimestre |
---|---|---|---|---|---|---|---|---|
3300100 | Prefeitura Municipal de Angra dos Reis - RJ | 2024 | 3 | Q | 3214719559 | 3214719559 | 3214719559 | 3214719559 |
3300159 | Prefeitura Municipal de Aperibé - RJ | 2024 | 3 | Q | 278604762 | 278604762 | 278604762 | 288111805 |
3300233 | Prefeitura Municipal de Armação dos Búzios - RJ | 2024 | 3 | Q | 185575839 | 185575839 | NA | 944953478 |
3300258 | Prefeitura Municipal de Arraial do Cabo - RJ | 2024 | 3 | Q | 860703883 | 860703883 | 860703883 | NA |
3300803 | Prefeitura Municipal de Cachoeiras de Macacu - RJ | 2024 | 3 | Q | 1197481744 | 1197481744 | 1197481744 | 990803041 |
3300951 | Prefeitura Municipal de Comendador Levy Gasparian - RJ | 2024 | 3 | Q | 120675082 | 120675082 | 120675082 | 162926504 |
Inclusão dos demais entes.
<- cadastro_rj %>%
rgf_2024_passivo_atuarial left_join(rgf_2024_passivo_atuarial, by=join_by(cod_ibge)) %>%
select(-instituicao)
Identificação de quem encaminhou o RGF do terceiro quadrimestre de 2024:
<- rgf_2024_passivo_atuarial %>%
rgf_2024_passivo_atuarial mutate(entregou_rgf = if_else(cod_ibge %in% rgf_entregas, 1, 0))
Também aqui, vários entes que entregaram o RGF aparentemente não informaram o valor do passivo atuarial.
%>%
rgf_2024_passivo_atuarial filter(entregou_rgf == 1, is.na(exercicio)) %>%
head() %>%
kable()
cnpj | uf | ente | regime | cod_ibge | exercicio | periodo | periodicidade | SALDO DO EXERCÍCIO ANTERIOR | Até o 1º Quadrimestre | Até o 2º Quadrimestre | Até o 3º Quadrimestre | entregou_rgf |
---|---|---|---|---|---|---|---|---|---|---|---|---|
28531762000133 | RJ | Araruama | RPPS | 3300209 | NA | NA | NA | NA | NA | NA | NA | 1 |
39554605000160 | RJ | Areal | RPPS | 3300225 | NA | NA | NA | NA | NA | NA | NA | 1 |
28576080000147 | RJ | Barra do Piraí | RPPS | 3300308 | NA | NA | NA | NA | NA | NA | NA | 1 |
28695658000184 | RJ | Barra Mansa | RPPS | 3300407 | NA | NA | NA | NA | NA | NA | NA | 1 |
39485438000142 | RJ | Belford Roxo | RPPS | 3300456 | NA | NA | NA | NA | NA | NA | NA | 1 |
28561041000176 | RJ | Bom Jardim | RPPS | 3300506 | NA | NA | NA | NA | NA | NA | NA | 1 |
Esperamos com esse pequeno tutorial ter fornecido alguns insights para que o usuário possa fazer suas próprias extrações de dados de qualquer demonstrativo que tenha interesse.
Até a próxima!