---
title: "Ten years of federal spending: what the audited accounts show | Build Malaysia"
description: "From 2016 to 2025 federal spending rose 63.7%, to RM 412.70 bn. Debt charges doubled, subsidies rose fivefold and fell back, and revenue covered the running costs every year."
url: "https://buildmalaysia.com/blog/ten-years-of-federal-spending"
---

[← Blog](https://buildmalaysia.com/blog)

# Ten years of federal spending: what the audited accounts show

From 2016 to 2025 federal spending rose 63.7%, to RM 412.70 bn. Debt charges doubled, subsidies rose fivefold and fell back, and revenue covered the running costs every year.

Build Malaysia 8 November 2026 4 min read

![Cover: total federal spending rose from RM 252.17 bn in 2016 to RM 412.70 bn in 2025, shown as ten bars.](https://buildmalaysia.com/_emdash/api/media/file/01M6XYVFVC5SN1XRGJEX5QJVF7.png)

Every year the Accountant General's Department (JANM) publishes the federal government's audited financial statements, the Penyata Kewangan Kerajaan Persekutuan. Build Malaysia has now read ten of them, from 2016 to 2025, and recomputed every total they print from the line items beneath it. This is what a decade of those accounts shows.

## The decade in five numbers

- Total federal spending rose from [RM 252.17 bn](https://buildmalaysia.com/2016) in 2016 to [RM 412.70 bn](https://buildmalaysia.com/2025) in 2025, up 63.7%.
- Revenue rose from RM 212.42 bn to RM 336.07 bn, up 58.2%.
- The gap between the two grew from RM 39.75 bn to RM 76.63 bn.
- Debt service charges went from RM 26.48 bn to RM 53.71 bn, 2.03 times as much.
- The COVID-19 Fund spent RM 106.71 bn from 2020 to 2022, outside the operating account.

## 1. Revenue paid the running costs. Borrowing paid for the rest.

In every year from 2016 to 2025, revenue was larger than operating spending: salaries, pensions, supplies, subsidies, grants and interest. The surplus was transferred to the Development Fund, RM 2.25 bn in 2016 and RM 5.29 bn in 2025.

Development spending cost more than that surplus every year, and from 2020 to 2022 so did the COVID-19 Fund (RM 38.02 bn, RM 37.71 bn and RM 30.98 bn; see the [COVID-19 Fund page](https://buildmalaysia.com/2022/covid)). The difference is the gap that borrowing covered. It peaked at RM 100.89 bn in 2022 and has narrowed every year since, to RM 76.63 bn in 2025. That is still 1.93 times the RM 39.75 bn of 2016.

![Stacked bars of federal spending 2016 to 2025 by operating, development and COVID-19 Fund, with revenue as a line below the bar tops. The gap in 2025 is RM 76.63 bn.](https://buildmalaysia.com/_emdash/api/media/file/01M6XYVH9G990N1ZQTZZQFS92N.png)

Revenue covered operating spending every year; development and the COVID-19 Fund were paid for by borrowing.

Operating spending here leaves out the transfer to the Development Fund, because the fund then spends that money on development; counting both would count it twice. The [methodology page](https://buildmalaysia.com/methodology#operating-development) explains the rule.

## 2. Debt charges doubled

Perbelanjaan Kerana Hutang Negara, vote T.13, is the government's debt service. It cost RM 26.48 bn in 2016 ([JANM 2016, p. 72](https://www.anm.gov.my/images/dokumen/arkib/penyata-kewangan/2016_PENYATA_KEWANGAN_KERAJAAN_PERSEKUTUAN.pdf#page=83)) and RM 53.71 bn in 2025 ([JANM 2025, p. 97](https://www.anm.gov.my/images/JANM/Webmaster/BPOPA/Penyata-Kewangan/2025_Penyata_Kewangan_Kerajaan_Persekutuan.pdf#page=111)): 2.03 times as much. Over the same years total spending grew 1.64 times and revenue 1.58 times.

In 2016, debt charges took RM 12.47 of every RM 100 of revenue. In 2025 they took RM 15.98. They now cost more than the [Ministry of Health](https://buildmalaysia.com/ministries/kementerian-kesihatan) spent on operating and development combined, RM 42.09 bn in 2025, and almost as much as the [Ministry of Education](https://buildmalaysia.com/ministries/kementerian-pendidikan)'s operating spending of RM 57.87 bn.

![Index lines from 2016 = 100 to 2025: debt service charges 203, pensions and gratuities 182, total spending 164, revenue 158, salaries and allowances 139.](https://buildmalaysia.com/_emdash/api/media/file/01M6XYVJ6SF3ZAVF8S2VJTJQD3.png)

Each series as a share of its own 2016 level.

## 3. Pensions grew faster than pay

Salaries and allowances for federal employees (object group 10000, Emolumen) rose 38.8%, from RM 73.11 bn ([JANM 2016, p. 212](https://www.anm.gov.my/images/dokumen/arkib/penyata-kewangan/2016_PENYATA_KEWANGAN_KERAJAAN_PERSEKUTUAN.pdf#page=223)) to RM 101.45 bn ([JANM 2025, p. 197](https://www.anm.gov.my/images/JANM/Webmaster/BPOPA/Penyata-Kewangan/2025_Penyata_Kewangan_Kerajaan_Persekutuan.pdf#page=211)). Pensions, retirement allowances and gratuities (vote T.14) rose 81.7%, from RM 20.36 bn ([JANM 2016, p. 75](https://www.anm.gov.my/images/dokumen/arkib/penyata-kewangan/2016_PENYATA_KEWANGAN_KERAJAAN_PERSEKUTUAN.pdf#page=86)) to RM 36.99 bn ([JANM 2025, p. 99](https://www.anm.gov.my/images/JANM/Webmaster/BPOPA/Penyata-Kewangan/2025_Penyata_Kewangan_Kerajaan_Persekutuan.pdf#page=113)).

Pay, pensions and debt charges together took 56.5% of revenue in 2016 and 57.2% in 2025. Pensions and debt charges are [charged expenditure](https://buildmalaysia.com/methodology#vote-codes): the law charges them on the Consolidated Fund, and Parliament does not vote on them each year.

## 4. Subsidies and cash aid rose fivefold, then fell back

The Treasury's general services vote, B.11, carries Subsidi dan Bantuan Tunai: subsidies and cash aid. It cost RM 9.86 bn in 2016 ([JANM 2016, p. 112](https://www.anm.gov.my/images/dokumen/arkib/penyata-kewangan/2016_PENYATA_KEWANGAN_KERAJAAN_PERSEKUTUAN.pdf#page=123)). It jumped to RM 46.51 bn in 2022 and peaked at RM 54.63 bn in 2023 ([JANM 2023, p. 113](https://www.anm.gov.my/images/JANM/Webmaster/BPOPA/Penyata-Kewangan/2023_Penyata_Kewangan_Kerajaan_Persekutuan.pdf#page=125)), 5.54 times the 2016 figure. In 2025 it was RM 37.55 bn ([JANM 2025, p. 121](https://www.anm.gov.my/images/JANM/Webmaster/BPOPA/Penyata-Kewangan/2025_Penyata_Kewangan_Kerajaan_Persekutuan.pdf#page=135)), 31.3% below the peak.

The audited statement prints this as a single activity, so it does not show how much went to fuel, food or cash transfers. See every line of the vote on the [B.11 page](https://buildmalaysia.com/2025/vote/B11).

![Bars of subsidies and cash aid, 2016 to 2025: RM 9.86 bn in 2016, a peak of RM 54.63 bn in 2023, and RM 37.55 bn in 2025.](https://buildmalaysia.com/_emdash/api/media/file/01M6XYXG8TJV2YEBW3ZSH71VHM.png)

Vote B.11, activity 020500, Subsidi dan Bantuan Tunai.

## 5. Half of all revenue was income tax

In 2025 the federal government raised RM 336.07 bn ([JANM 2025, p. 75](https://www.anm.gov.my/images/JANM/Webmaster/BPOPA/Penyata-Kewangan/2025_Penyata_Kewangan_Kerajaan_Persekutuan.pdf#page=89)). Income tax brought in RM 166.45 bn, 49.5% of the total. Interest and returns on the government's investments, loans and financial instruments brought in RM 43.98 bn, and service tax RM 30.29 bn. Taxes of every kind were 77.3% of revenue, against 79.7% in 2016. The [revenue page](https://buildmalaysia.com/revenue) has every line.

![Horizontal bars of 2025 federal revenue lines. Income tax RM 166.45 bn, 49.5% of RM 336.07 bn; interest and returns on investments RM 43.98 bn; service tax RM 30.29 bn.](https://buildmalaysia.com/_emdash/api/media/file/01M6XYVKVWCNPK1Z2RAPZ7Y9F2.png)

Largest lines of the 2025 revenue note.

## How these numbers were checked

Every figure here comes from JANM's audited statements for 2016 to 2025. Before a statement was loaded, every total it prints was recomputed from its line items, and the load was rejected if any did not match. The 2020 operating statement has no text layer and was read by OCR, and the published 2019 statement is missing one page; the [methodology page](https://buildmalaysia.com/methodology) sets out both. Amounts are in ringgit as printed each year, not adjusted for inflation.

Explore any year from [2016](https://buildmalaysia.com/2016) to [2025](https://buildmalaysia.com/2025), every [ministry](https://buildmalaysia.com/ministries), or [download the data](https://buildmalaysia.com/data). To hear when new statements and posts go up, [subscribe](https://buildmalaysia.com/subscribe).
