Balance of payments of the EU institutions - annual data (BPM6) - bop_euins6_a

Data - Eurostat

Info

Last observation: Annual: 2025 (N = 178,166)

First observation: Annual: 1987 (N = 1,764)

Last data update: 25 jul 2026, 00:10. Last compile: 25 jul 2026, 20:38

Structure

European Institutions

Current Account Balance

Code
bop_euins6_a %>%
  filter(bop_item == "CA",
         stk_flow == "BAL",
         partner == "WORLD",
         sector10 == "S1",
         sectpart == "S1",
         geo %in% c("COMM", "EIB", "EDF")) %>%
  year_to_date %>%
  mutate(values = values/1e9) %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  ggplot + geom_line(aes(x = date, y = values, color = color)) +
  scale_color_identity() + add_flags +
  theme_minimal() +
  scale_x_date(breaks = as.Date(paste0(seq(1985, 2100, 5), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.25, 0.15),
        legend.title = element_blank()) +
  xlab("") + ylab("Current account balance (Bn€)") +
  geom_hline(yintercept = 0, linetype = "dashed", color = "black")

European Commission: World vs. Extra-EU

Code
bop_euins6_a %>%
  filter(geo == "COMM",
         bop_item == "CA",
         stk_flow == "BAL",
         partner %in% c("WORLD", "EXT_EU27_2020"),
         sector10 == "S1",
         sectpart == "S1") %>%
  year_to_date %>%
  mutate(values = values/1e9) %>%
  ggplot + geom_line(aes(x = date, y = values, color = Partner)) +
  theme_minimal() +
  scale_x_date(breaks = as.Date(paste0(seq(1985, 2100, 5), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.3, 0.15),
        legend.title = element_blank()) +
  xlab("") + ylab("Current account balance (Bn€)") +
  geom_hline(yintercept = 0, linetype = "dashed", color = "black")

Latest Year by Item

Code
latest_a <- bop_euins6_a %>%
  filter(bop_item == "CA",
         stk_flow == "BAL",
         partner == "WORLD",
         geo == "COMM",
         !is.na(values)) %>%
  summarise(m = max(time)) %>%
  pull(m)

bop_euins6_a %>%
  filter(geo %in% c("COMM", "EIB", "EDF"),
         stk_flow == "BAL",
         partner == "WORLD",
         sector10 == "S1",
         sectpart == "S1",
         bop_item %in% c("CA", "KA", "FA", "G", "S", "GS", "IN1", "IN2", "D1", "D2", "D4"),
         time == latest_a) %>%
  mutate(values = values/1e9) %>%
  select(bop_item, Bop_item, Geo, values) %>%
  spread(Geo, values) %>%
  print_table_conditional()
bop_item Bop_item European Commission European Development Fund European Investment Bank (EIB)
CA Current account 30.9853325 0.6426877 3.0866846
D1 Primary income: compensation of employees -6.7032922 NA -0.8316334
D2 Primary income: taxes on production and imports 33.0170211 NA NA
D4 Property income -6.3459092 NA 3.7013140
G Goods -0.1390663 NA -0.1156010
GS Goods and services -13.8650520 NA 0.2015120
IN1 Primary income -37.0188633 NA 2.8696806
IN2 Secondary income 81.8692477 0.6426877 0.0154920
KA Capital account -63.5481411 -0.8255278 NA
S Services -13.7259857 NA 0.3171130