7  Calcule finale şi simulări venituri la buget

În această secţiune adunăm ce am calculat şi anterior înglobând şi simulări asupra impozitelor pe dividende. Din lipsă de date vom simula doar ce s-ar întâmpla dacă ar fi taxate doar dividendele de pe Bursa de Valori Bucureşti. Vom compara suma obţinută cu impozitul încasat de facto de bugetul statului pentru a ne face o idee dacă dividendele companiilor listate sunt majoritare în economie sau nu.

7.1 Impozitul pe dividendele companiilor listate

Impozitul din venitul pe dividende în 2021 a fost de circa 2.596 miliarde de RON, puţin mai mic de 10 % din totalul impozitului pe venitul personal. Pe anul 2021 a fost în efect rata de impozitare de 5 %.

Arată codul
library(tidyverse)
library(rvest)
library(gt)


culori <- c("#EA5B0C", "#a44a08", "#ea960c", "#ea150c", 
            "#a40e08", "#000000", "#0865a4", "#a48408")


theme_set(hrbrthemes::theme_ipsum_tw(strip_text_size = 14, 
                                     strip_text_family = "Frutiger Bold",
                                     strip_text_face = "italic",
                                     axis_title_size = 10,
                                     axis_text_size = 8,
                                     base_family = "Frutiger",
                                     plot_title_family = "Frutiger Bold",
                                     subtitle_family = "Frutiger",
                                     caption_family = "Frutiger", 
                                     caption_size = 8,
                                     plot_title_size = 14,
                                     subtitle_size = 10) +
  theme(legend.text = element_text(size=8), 
        legend.title = element_text(size=10),
        legend.key.size = unit(0.5, "cm")))


read_html("https://m.bvb.ro/FinancialInstruments/CorporateActions/InfoDividend") %>% html_table(header=TRUE) %>% .[[1]] %>% 
  select(-1) %>% select(1, Year, `Dividends Total`) %>% 
  mutate(`Dividends Total` = parse_number(`Dividends Total`)) %>% 
  group_by(Year) %>% 
  summarise(total = sum(`Dividends Total`, na.rm=TRUE)) %>% 
  mutate(impozit = total*0.05) %>% 
  rename(An=Year, Dividende=total, Impozit=impozit) %>% 
  gt::gt(rowname_col = "An") %>%
  gt::fmt_number(columns=2:3, sep_mark = ",", decimals = 0) %>%
  gt::cols_width(~"150px")
Dividende Impozit
2020 7,268,947,616 363,447,381
2021 7,801,037,517 390,051,876
2022 8,665,810,464 433,290,523

De unde deducem că în anul 2021 dividendele companiilor listate nu au constituit decât circa 15 % din totalul dividendelor extrase din economie. Dorim să propunem un impozit pe dividende de circa 18 %, fapt care ar aduce proporţional de 3.6 ori mai mulţi bani decât cei 2.6 miliarde de RON, adică încă 6.76 miliarde de RON. Desigur, acest estimat este puternic simplificat şi e în cel mai bun caz un maximum teoretic, dependent desigur şi de fluctuaţiile pieţei şi economiei. Vom merge cu un estimat conservator de 6 miliarde notând că în 2023 suma colectată va fi semnificativ mai mare (cum şi în 2022 dividendele totale au crescut cu circa 10 %).

7.2 O încercare de impozit pe averi

Putem simula pe baza datelor de la World Inequality Database şi o încercare de impozit pe marile averi. Dar vom avea nevoie de un cadru legislativ pentru acest lucru şi un ANAF performant.

Arată codul
w <- read_delim(here::here('database', "WID", "WID_data_RO.csv"), delim=";") %>%  filter(variable=="ahwealj992") %>% select(-variable) %>% 
     select(-country) %>%
     select(percentile, year, value)

pe <- numeric(100)
for(i in 1:100){
  pe[i] <- paste0("p", i-1, "p", i)
}

w <- w %>% filter(year>2016) %>% 
     group_by(percentile) %>% summarise(value=mean(value)) 

w %>% filter(grepl("^p[9]{2}\\.?[0-9]?p", percentile)) %>% 
  filter(grepl("p100$", percentile)) %>% arrange(value) %>% 
  rename(percentila=percentile, `Avere medie`=value) %>% 
  gt::gt() %>% 
  gtExtras::gt_theme_538() %>% 
  gt::fmt_number(columns=2, suffixing = T) %>% 
  opt_row_striping() %>% 
  gt::opt_table_font(font="Frutiger") %>%
  tab_header(title="Averea în cadrul top 1 % din populaţie", 
             subtitle="Sursa: World Inequality Database") %>%
  tab_style(style=cell_fill(color=culori[1]), 
            locations=cells_column_labels()) %>% 
  tab_style(style=cell_text(color='white'), 
            locations=cells_column_labels())
Averea în cadrul top 1 % din populaţie
Sursa: World Inequality Database
percentila Avere medie
p99p100 4.08M
p99.1p100 4.35M
p99.2p100 4.66M
p99.3p100 5.05M
p99.4p100 5.53M
p99.5p100 6.17M
p99.6p100 7.06M
p99.7p100 8.42M
p99.8p100 10.82M
p99.9p100 16.82M

Doar la o primă vedere cu o taxă marginală de 1 % pe averile celor din top 1 % s-ar aduna, considerând o populaţie de 10 milioane de adulţi (conservator), circa 4 miliarde de RON. S-ar aplica celor care au averi de peste 4 milioane de RON. Calcul trebuie privit cu multă suspiciune, e doar o estimare grosieră.

7.3 Simulări finale

Arată codul
insumari <- read_csv(here::here("database", 
                                "taxe_sectoriale_scutiri.csv")) %>%
  mutate(sector=str_to_upper(sector)) %>%
  group_by(sector) %>% summarise(valoare=sum(valoare)) %>%
  rename(Masura = sector, Impact=valoare) %>%
  bind_rows(tibble("Masura"=c("Impozit progresiv pe venit", 
                              "Impozit pe dividende", 
                              "TRANZACŢII IMOBILIARE", 
                              "Coborâre prag microîntreprinderi"),
                   "Impact"=c(15, 6, 0.35, 2.5))) %>%
  mutate(sector = c("Eliminare scutiri", "Eliminare scutiri", "Taxe sectoriale", "Eliminare scutiri", "Taxe sectoriale", "Taxe sectoriale", "Creştere impozite", "Creştere impozite", "Taxe sectoriale", "Creştere impozite")) %>% 
  relocate(sector) 

tabel_total <- insumari %>%
gt::gt(groupname_col = "sector") %>% 
  gt::fmt_number(columns=3, decimals = 2) %>% 
tab_header(title="Impact tipuri de măsuri propuse (miliarde RON)", 
             subtitle="Calcule proprii pe bilanţurile anilor 2019-2021") %>%
  summary_rows(columns=3, fns=list(`TOTAL GRUP`=~sum(., na.rm=TRUE)), 
               fmt = ~fmt_number(.,decimals=2)) %>%
  grand_summary_rows(columns=3, fns=list(TOTAL =~ sum(., na.rm=TRUE)), 
                     fmt=~fmt_number(., decimals=2)) %>%
  gt::grand_summary_rows(columns=3, fns=list(TOTAL = ~sum(., na.rm=TRUE)), 
                         fmt = ~fmt_number(., decimals = 2)) %>%
  tab_style(style=cell_fill(color=culori[3]), locations = cells_row_groups()) %>%
  tab_style(style=cell_borders(color=culori[3]), locations=cells_row_groups()) %>%
  tab_style(style=cell_text(font = "Frutiger Bold"), 
            locations=cells_row_groups()) %>%
  tab_style(style=cell_fill(color=culori[5]), locations=cells_column_labels()) %>%
  tab_style(style=cell_text(color='#fff'), locations=cells_column_labels()) %>%
  tab_style(style=cell_fill(color=culori[5]), locations=cells_stubhead()) %>%
  tab_style(style=cell_fill(color=culori[5]), locations=cells_grand_summary()) %>%
  tab_style(style=cell_fill(color=culori[3], alpha=0.5), 
            locations=cells_summary()) %>%
  tab_style(style=cell_text(color="#fff"), 
            locations=cells_grand_summary()) %>%
  gt::tab_options(container.width = "90%", table.layout = "auto", 
                  table.align = "center", 
                  table.additional_css = "table.gt_table {border: 2px solid black;}", footnotes.padding = 1) %>%
  gt::tab_footnote(footnote="10 % taxă pe tranzacţiile imobiliare",
                   locations=cells_body(columns=Masura, 
                                      rows=grepl("IMOBILIARE", Masura))) %>%
  gt::tab_footnote(footnote="1.2 % impozit pe cifra de afaceri netă ce depăşeşte 1 miliard RON", locations = cells_body(columns=Masura, rows=grepl("ENERGIE", Masura))) %>%
  gt::tab_footnote(footnote = "1.2 % impozit pe cifra de afaceri pentru toate firmele",
                   locations=cells_body(columns=Masura, 
                                        rows=grepl("JOCURI", Masura))) %>%
  gt::tab_footnote(footnote="1.2 % impozit pe cifra de afaceri ce depăşeşte 100 de milioane RON", locations=cells_body(columns=Masura, 
                                          rows=grepl("RETAIL", Masura))) %>%
  gt::tab_footnote(footnote = "Cote de 10%, 16 % şi 21 % pentru ce trece de 600, respectiv 2200 EURO lunar brut", 
                   locations=cells_body(columns=Masura, 
                                        rows=grepl("venit", Masura))) %>%
  gt::tab_footnote(footnote="Impozit pe dividende de 18 %", 
                   locations=cells_body(columns=Masura, 
                                        rows=grepl("dividende", Masura))) %>%
  gt::tab_footnote(footnote="Scăderea pragului de venit al microîntreprinderii la 250.000 EURO", 
                   locations=cells_body(columns=Masura, rows=grepl("prag", Masura))) %>% 
  gt::tab_footnote(footnote = "Mai probabilă este estimarea MF de 0.9 miliarde RON", locations=cells_body(columns=Impact, 
                                    rows=grepl("IT", Masura))) %>% 
  gtExtras::gt_theme_538() %>%
  gt::opt_table_font(font="Frutiger") %>%
  gt::tab_style(style=cell_text(font="Frutiger Bold"), 
                locations=cells_summary()) %>%
  gt::tab_style(style=cell_text(font="Frutiger Bold"), 
                locations=cells_grand_summary()) %>%
    gt::tab_style(style=cell_text(size = px(12)), locations=cells_body()) %>%
    gt::tab_style(style=cell_text(size=px(14), font = "Frutiger Bold"),
                  locations=cells_summary()) %>% 
    gt::tab_style(style=cell_text(size=px(12)), 
                  locations=cells_footnotes()) %>%
    gt::tab_style(cell_text(font="Frutiger Bold"), 
                  cells_title(groups="title"))

tabel_total |> gt::as_raw_html()
Impact tipuri de măsuri propuse (miliarde RON)
Calcule proprii pe bilanţurile anilor 2019-2021
Masura Impact
Eliminare scutiri
ALIMENTAR & AGRICULTURA 2.08
CONSTRUCŢII 5.46
IT 1 1.99
TOTAL GRUP 9.53
Taxe sectoriale
ENERGIE2 0.86
JOCURI DE NOROC3 0.11
RETAIL4 4.18
TRANZACŢII IMOBILIARE5 0.35
TOTAL GRUP 5.49
Creştere impozite
Impozit progresiv pe venit6 15.00
Impozit pe dividende7 6.00
Coborâre prag microîntreprinderi8 2.50
TOTAL GRUP 23.50
TOTAL 38.52
1 Mai probabilă este estimarea MF de 0.9 miliarde RON
2 1.2 % impozit pe cifra de afaceri netă ce depăşeşte 1 miliard RON
3 1.2 % impozit pe cifra de afaceri pentru toate firmele
4 1.2 % impozit pe cifra de afaceri ce depăşeşte 100 de milioane RON
5 10 % taxă pe tranzacţiile imobiliare
6 Cote de 10%, 16 % şi 21 % pentru ce trece de 600, respectiv 2200 EURO lunar brut
7 Impozit pe dividende de 18 %
8 Scăderea pragului de venit al microîntreprinderii la 250.000 EURO

Şi acum sub formă de pie chart.

Arată codul
insumari %>% 
  mutate(Masura = fct_lump(Masura, n=7, w = Impact)) %>% 
  group_by(sector, Masura) %>% 
  summarise(Impact = sum(Impact)) %>% 
  mutate(Masura = gsub("Other", "Altele", Masura)) %>% ungroup() %>%
  mutate(index = c(3, 5, 6, 1, 4, 7, 8, 2)) %>%
  arrange(desc(index)) %>%
  mutate(procent = 100*Impact/sum(Impact), 
         ypos=cumsum(procent)-0.5*procent,
         eticheta = paste0(round(procent, 2), " %")) %>%
  ggplot(aes(x = 1.8, y = procent, fill = Masura)) +
  geom_bar(stat = "identity", color = "white") +
  coord_polar(theta="y", start = 0, direction=1)+
  geomtextpath::geom_textpath(aes(y = ypos, 
                                  label = eticheta), color = "white")+
  scale_fill_manual(values=c("#0073C2FF", "#868686FF", "#CD534CFF", "seagreen4", "red3", "royalblue4", culori[1], "purple4")) +
  theme_void() +
  xlim(0.5, 2.5) +
  theme(legend.margin = margin(l=-0.5, unit="cm"))

Arată codul
insumari %>% 
  mutate(procent = 100*Impact/sum(Impact)) %>%
  group_by(sector) %>%
  summarise(Impact=sum(Impact), procent=sum(procent)) %>% 
  ungroup() %>% arrange(desc(sector)) %>%
  mutate(ypos=cumsum(procent)-0.5*procent,
         eticheta = paste0(round(procent, 2), " %", "\n", "(", round(Impact,2), ")")) %>%
  ggplot(aes(x = 1.8, y = procent, fill = sector)) +
  geom_bar(stat = "identity", color = "white") +
  coord_polar(theta="y", start = 0, direction=1)+
  geomtextpath::geom_textpath(aes(y = ypos, 
                                  label = eticheta), size=4, color = "white")+
  scale_fill_manual(values=c(culori[1], culori[5], culori[8])) +
  theme_void() +
  xlim(0.5, 2.5) +
  theme(legend.margin = margin(l=-0.5, unit="cm"))

Important de menţionat, în cazul în care se optează pentru implementarea unui credit fiscal pentru ultimii 10 % ai distribuţiei veniturilor (< 100 euro brut lunar), suma totală mai scade cu 2.5 miliarde RON.