Skip to main content
Visita Civic Logo
Official AGSA Report Summary

Consolidated General Report on Local Government Audit Outcomes 2023-24

Issued by the Auditor-General of South Africa, Tsakani Maluleke, assessing performance, financial health, compliance, and material irregularities across South Africa’s municipalities in the 3rd year of the 6th local government administration.

Cut-Off Date: 31 January 2025Audits Completed: 247 / 257Legislated Mandate: Public Audit Act (PAA)
TM

Foreword from the Auditor-General

Tsakani Maluleke • Auditor-General of South Africa

“Mayors, councils and executive authorities are failing to fulfil their legislated responsibilities... Three years into the administrative term, metros still struggle to take the lead in ensuring service delivery in a financially responsible manner. Actions taken to eradicate disclaimed audit opinions have had little impact in 2023-24 and more municipalities regressed into this category. Arresting the decline of local government will require our collective action.”
Clean Audits
41(16%)

25 municipalities sustained clean audit status every year since 2020-21.

Unqualified w/ Findings
99(39%)

77 municipalities (31%) avoided qualification only by correcting audit misstatements.

Qualified Audits
90(35%)

Material misstatements in property, plant, equipment, receivables or irregular expenditure.

Adverse & Disclaimed
17(6%)

6 Adverse (records untrustworthy) & 11 Disclaimed (no documentation provided).

Irregular Expenditure
R87.03bn

Incurred across 3 years of current administration due to non-compliance with supply chain legislation. Metros accounted for R33.29bn (38%).

Water & Electricity Losses
R37.28bn

Lost in revenue due to physical infrastructure neglect, unmaintained pipes, leaks, and electricity distribution failures.

Unfunded Budgets
113 (44%)

113 municipalities adopted unfunded budgets where projected expenditure exceeded revenue. 91 of these incurred unauthorized expenditure.

2023-24 Municipal Audit Outcomes Distribution
Breakdown of outcomes across 247 completed municipal audits
Clean: 41 (16%)
Unqualified: 99 (39%)
Qualified: 90 (35%)
Adverse: 6 (2%)
Disclaimed: 11 (4%)
Outstanding: 10 (4%)
Financial Reporting Consultant Costs
Reliance on external consultants for finance unit responsibilities
R1.47 Billion219 Municipalities (89%)

Municipalities spent R1.47bn on financial reporting consultants due to finance unit vacancies (19% average vacancy rate). However, consultants had little impact at 101 municipalities (46%) where material misstatements still occurred in consultant work areas.

• Asset management consultants: 34% of spending
• Financial statement preparation: 32% of spending
• Re-appointment rate without skills transfer: 87%
Municipal Audit Outcomes Directory (2023-24)
Search and filter official AGSA audit results across all 257 South African municipalities.
Showing 214 of 214 Auditees
MunicipalityProvinceAudit OutcomeIrregular Exp.Status FlagsAction
!kheis
NC084
Northern CapeQualifiedR77.0m
View Profile
Abaqulusi
KZN263
UnknownUnqualified with FindingsR16.0m
UnfundedAudit Adjusted
View Profile
Alfred Duma
KZN238
UnknownUnqualified with FindingsR48.0m
UnfundedAudit Adjusted
View Profile
Amahlathi
EC124
Eastern CapeUnqualified with FindingsR30.0m
Audit Adjusted
View Profile
Ba-Phalaborwa
LIM334
LimpopoUnqualified with FindingsR83.0m
UnfundedAudit Adjusted
View Profile
Beaufort West
WC053
Western CapeCleanR6.0m
View Profile
Bela-Bela
LIM366
LimpopoDisclaimedR25.0m
Going Concern
View Profile
Bergrivier
WC013
Western CapeQualifiedR59.0m
Unfunded
View Profile
Big Five Hlabisa
KZN276
UnknownQualifiedR23.0m
Unfunded
View Profile
Bitou
WC047
Western CapeUnqualified with FindingsR66.0m
Audit Adjusted
View Profile
Blouberg
LIM351
LimpopoUnqualified with FindingsR52.0m
Audit Adjusted
View Profile
Blue Crane Route
EC102
Eastern CapeQualifiedR32.0m
View Profile
Breede Valley
WC025
Western CapeCleanR2.0m
View Profile
Buffalo City
BUF
Eastern CapeQualifiedR21.0m
View Profile
Bushbuckridge
MP325
MpumalangaCleanR1.0m
View Profile
Cape Agulhas
WC033
Western CapeQualifiedR58.0m
Unfunded
View Profile
Cederberg
WC012
Western CapeQualifiedR61.0m
View Profile
Chief Albert Luthuli
MP301
MpumalangaAdverseR123.0m
UnfundedGoing Concern
View Profile
City Of Cape Town
CPT
Western CapeCleanR0.5m
View Profile
City Of Johannesburg
JHB
GautengQualifiedR50.0m
Unfunded
View Profile
City Of Mbombela
MP326
MpumalangaQualifiedR52.0m
Unfunded
View Profile
City Of Tshwane
TSH
GautengUnqualified with FindingsR46.0m
Audit Adjusted
View Profile
Collins Chabane
LIM345
LimpopoQualifiedR77.0m
Unfunded
View Profile
Dannhauser
KZN254
UnknownUnqualified with FindingsR84.0m
UnfundedAudit Adjusted
View Profile
Dawid Kruiper
NC087
Northern CapeQualifiedR75.0m
Unfunded
View Profile
Dihlabeng
FS192
Free StateUnqualified with FindingsR17.0m
Audit Adjusted
View Profile
Dikgatlong
NC092
Northern CapeUnqualified with FindingsR44.0m
UnfundedAudit Adjusted
View Profile
Dipaleseng
MP306
MpumalangaUnqualified with FindingsR16.0m
UnfundedAudit Adjusted
View Profile
Ditsobotla
NW384
North WestQualifiedR8.0m
Unfunded
View Profile
Dr Js Moroka
MP316
MpumalangaQualifiedR60.0m
View Profile
Dr Pixley Ka Isaka Seme
MP304
MpumalangaUnqualified with FindingsR11.0m
UnfundedAudit Adjusted
View Profile
Dr. A.b. Xuma
EC137
Eastern CapeQualifiedR83.0m
View Profile
Dr. Beyers Naude
EC101
Eastern CapeDisclaimedR127.0m
UnfundedGoing Concern8-Yr Disclaimer
View Profile
Dr. Nkosazana Dlamini Zuma
KZN436
UnknownUnqualified with FindingsR79.0m
UnfundedAudit Adjusted
View Profile
Drakenstein
WC023
Western CapeCleanR1.0m
View Profile
Edumbe
KZN261
UnknownCleanR62.0m
View Profile
Ekurhuleni
EKU
GautengUnqualified with FindingsR64.0m
Audit Adjusted
View Profile
Elias Motsoaledi
LIM472
LimpopoQualifiedR29.0m
View Profile
Elundini
EC141
Eastern CapeCleanR15.0m
View Profile
Emadlangeni
KZN253
UnknownUnqualified with FindingsR19.0m
Audit Adjusted
View Profile
Emakhazeni
MP314
MpumalangaUnqualified with FindingsR49.0m
Audit Adjusted
View Profile
Emalahleni
MP312
MpumalangaUnqualified with FindingsR6.0m
Audit Adjusted
View Profile
Emalahleni
EC136
Eastern CapeUnqualified with FindingsR54.0m
UnfundedAudit Adjusted
View Profile
Emfuleni
GT421
GautengCleanR2.0m
View Profile
Emthanjeni
NC073
Northern CapeUnqualified with FindingsR55.0m
Audit Adjusted
View Profile
Endumeni
KZN241
UnknownQualifiedR16.0m
Unfunded
View Profile
Enoch Mgijima
EC139
Eastern CapeQualifiedR27.0m
View Profile
Ephraim Mogale
LIM471
LimpopoQualifiedR72.0m
Unfunded
View Profile
Ethekwini
ETH
UnknownDisclaimedR43.0m
Going Concern
View Profile
Fetakgomo Tubatse
LIM476
LimpopoUnqualified with FindingsR25.0m
Audit Adjusted
View Profile
Ga-Segonyana
NC452
Northern CapeUnqualified with FindingsR41.0m
UnfundedAudit Adjusted
View Profile
Gamagara
NC453
Northern CapeQualifiedR71.0m
View Profile
George
WC044
Western CapeCleanR0.0m
View Profile
Govan Mbeki
MP307
MpumalangaQualifiedR53.0m
View Profile
Great Kei
EC123
Eastern CapeCleanR82.0m
View Profile
Greater Giyani
LIM331
LimpopoUnqualified with FindingsR53.0m
Audit Adjusted
View Profile
Greater Kokstad
KZN433
UnknownUnqualified with FindingsR83.0m
Audit Adjusted
View Profile
Greater Letaba
LIM332
LimpopoUnqualified with FindingsR84.0m
UnfundedAudit Adjusted
View Profile
Greater Taung
NW394
North WestOutstandingR8.0m
Unfunded
View Profile
Greater Tzaneen
LIM333
LimpopoUnqualified with FindingsR15.0m
Audit Adjusted
View Profile
Hantam
NC065
Northern CapeUnqualified with FindingsR70.0m
UnfundedAudit Adjusted
View Profile
Hessequa
WC042
Western CapeCleanR2.0m
View Profile
Impendle
KZN224
UnknownDisclaimedR74.0m
Going Concern
View Profile
Inkosi Langalibalele
KZN237
UnknownUnqualified with FindingsR26.0m
Audit Adjusted
View Profile
Inkosi Umtubatuba
KZN275
UnknownQualifiedR10.0m
View Profile
Intsika Yethu
EC135
Eastern CapeUnqualified with FindingsR59.0m
Audit Adjusted
View Profile
Inxuba Yethemba
EC131
Eastern CapeDisclaimedR79.0m
Going Concern
View Profile
Jb Marks
NW405
North WestUnqualified with FindingsR60.0m
UnfundedAudit Adjusted
View Profile
Joe Morolong
NC451
Northern CapeUnqualified with FindingsR14.0m
Audit Adjusted
View Profile
Johannes Phumani Pungula
KZN434
UnknownUnqualified with FindingsR9.0m
UnfundedAudit Adjusted
View Profile
Jozini
KZN272
UnknownUnqualified with FindingsR70.0m
UnfundedAudit Adjusted
View Profile
Kagisano-Molopo
NW397
North WestDisclaimedR210.0m
UnfundedGoing Concern8-Yr Disclaimer
View Profile
Kai !garib
NC082
Northern CapeUnqualified with FindingsR7.0m
Audit Adjusted
View Profile
Kamiesberg
NC064
Northern CapeUnqualified with FindingsR27.0m
Audit Adjusted
View Profile
Kannaland
WC041
Western CapeDisclaimedR305.0m
UnfundedGoing Concern8-Yr Disclaimer
View Profile
Kareeberg
NC074
Northern CapeUnqualified with FindingsR37.0m
UnfundedAudit Adjusted
View Profile
Karoo Hoogland
NC066
Northern CapeQualifiedR71.0m
View Profile
Kgatelopele
NC086
Northern CapeQualifiedR77.0m
View Profile
Kgetlengrivier
NW374
North WestQualifiedR57.0m
View Profile
Khâi-Ma
NC067
Northern CapeQualifiedR64.0m
Unfunded
View Profile
King Sabata Dalindyebo
EC157
Eastern CapeQualifiedR39.0m
View Profile
Knysna
WC048
Western CapeUnqualified with FindingsR33.0m
UnfundedAudit Adjusted
View Profile
Kopanong
FS162
Free StateOutstandingR43.0m
Unfunded
View Profile
Kou-Kamma
EC109
Eastern CapeUnqualified with FindingsR24.0m
UnfundedAudit Adjusted
View Profile
Kouga
EC108
Eastern CapeAdverseR61.0m
UnfundedGoing Concern
View Profile
Kumkani Mhlontlo
EC156
Eastern CapeQualifiedR55.0m
Unfunded
View Profile
Kwadukuza
KZN292
UnknownUnqualified with FindingsR24.0m
UnfundedAudit Adjusted
View Profile
Laingsburg
WC051
Western CapeAdverseR111.0m
UnfundedGoing Concern
View Profile
Langeberg
WC026
Western CapeCleanR0.0m
View Profile
Lekwa
MP305
MpumalangaUnqualified with FindingsR74.0m
Audit Adjusted
View Profile
Lekwa-Teemane
NW396
North WestAdverseR208.0m
UnfundedGoing Concern
View Profile
Lepele-Nkumpi
LIM355
LimpopoQualifiedR25.0m
View Profile
Lephalale
LIM362
LimpopoQualifiedR13.0m
View Profile
Lesedi
GT423
GautengUnqualified with FindingsR11.0m
UnfundedAudit Adjusted
View Profile
Letsemeng
FS161
Free StateDisclaimedR18.0m
Going Concern
View Profile
Madibeng
NW372
North WestQualifiedR79.0m
View Profile
Mafikeng
NW383
North WestQualifiedR57.0m
View Profile
Mafube
FS205
Free StateOutstandingR62.0m
Unfunded
View Profile
Magareng
NC093
Northern CapeQualifiedR46.0m
View Profile
Makana
EC104
Eastern CapeDisclaimedR43.0m
Going Concern
View Profile
Makhado
LIM344
LimpopoQualifiedR14.0m
View Profile
Makhuduthamaga
LIM473
LimpopoQualifiedR26.0m
Unfunded
View Profile
Maluti A Phofung
FS194
Free StateOutstandingR32.0m
Unfunded
View Profile
Mamusa
NW393
North WestAdverseR79.0m
UnfundedGoing Concern
View Profile
Mandeni
KZN291
UnknownUnqualified with FindingsR68.0m
Audit Adjusted
View Profile
Mangaung
MAN
Free StateUnqualified with FindingsR69.0m
UnfundedAudit Adjusted
View Profile
Mantsopa
FS196
Free StateQualifiedR58.0m
View Profile
Maphumulo
KZN294
UnknownQualifiedR48.0m
Unfunded
View Profile
Maquassi Hills
NW404
North WestUnqualified with FindingsR63.0m
Audit Adjusted
View Profile
Maruleng
LIM335
LimpopoQualifiedR58.0m
View Profile
Masilonyana
FS181
Free StateOutstandingR54.0m
Unfunded
View Profile
Matatiele
EC441
Eastern CapeUnqualified with FindingsR34.0m
Audit Adjusted
View Profile
Matjhabeng
FS184
Free StateOutstandingR28.0m
Unfunded
View Profile
Matlosana
NW403
North WestCleanR24.0m
View Profile
Matzikama
WC011
Western CapeCleanR1.0m
View Profile
Mbhashe
EC121
Eastern CapeQualifiedR16.0m
Unfunded
View Profile
Merafong City
GT484
GautengDisclaimedR11.0m
Going Concern
View Profile
Metsimaholo
FS204
Free StateQualifiedR46.0m
View Profile
Midvaal
GT422
GautengUnqualified with FindingsR68.0m
Audit Adjusted
View Profile
Mkhambathini
KZN226
UnknownUnqualified with FindingsR77.0m
Audit Adjusted
View Profile
Mkhondo
MP303
MpumalangaUnqualified with FindingsR55.0m
Audit Adjusted
View Profile
Mnquma
EC122
Eastern CapeDisclaimedR16.0m
Going Concern
View Profile
Modimolle-Mookgophong
LIM368
LimpopoUnqualified with FindingsR10.0m
Audit Adjusted
View Profile
Mogalakwena
LIM367
LimpopoCleanR77.0m
View Profile
Mogale City
GT481
GautengAdverseR213.0m
UnfundedGoing Concern
View Profile
Mohokare
FS163
Free StateUnqualified with FindingsR6.0m
Audit Adjusted
View Profile
Molemole
LIM353
LimpopoQualifiedR74.0m
View Profile
Moqhaka
FS201
Free StateUnqualified with FindingsR38.0m
UnfundedAudit Adjusted
View Profile
Moretele
NW371
North WestUnqualified with FindingsR52.0m
UnfundedAudit Adjusted
View Profile
Moses Kotane
NW375
North WestQualifiedR17.0m
Unfunded
View Profile
Mossel Bay
WC043
Western CapeCleanR2.0m
View Profile
Mpofana
KZN223
UnknownQualifiedR51.0m
Unfunded
View Profile
Msukaligwa
MP302
MpumalangaCleanR78.0m
View Profile
Msunduzi
KZN225
UnknownOutstandingR16.0m
Unfunded
View Profile
Mthonjaneni
KZN285
UnknownQualifiedR51.0m
Unfunded
View Profile
Musina
LIM341
LimpopoUnqualified with FindingsR50.0m
UnfundedAudit Adjusted
View Profile
Nala
FS185
Free StateQualifiedR65.0m
View Profile
Naledi
NW392
North WestDisclaimedR316.0m
UnfundedGoing Concern8-Yr Disclaimer
View Profile
Nama Khoi
NC062
Northern CapeUnqualified with FindingsR11.0m
Audit Adjusted
View Profile
Ndlambe
EC105
Eastern CapeCleanR60.0m
View Profile
Ndwedwe
KZN293
UnknownQualifiedR37.0m
View Profile
Nelson Mandela Bay
NMA
Eastern CapeUnqualified with FindingsR64.0m
UnfundedAudit Adjusted
View Profile
New Municipality
FS164
UnknownUnqualified with FindingsR30.0m
UnfundedAudit Adjusted
View Profile
Newcastle
KZN252
UnknownCleanR65.0m
View Profile
Ngqushwa
EC126
Eastern CapeUnqualified with FindingsR31.0m
Audit Adjusted
View Profile
Ngquza Hill
EC153
Eastern CapeUnqualified with FindingsR61.0m
Audit Adjusted
View Profile
Ngwathe
FS203
Free StateQualifiedR10.0m
Unfunded
View Profile
Nkandla
KZN286
UnknownQualifiedR54.0m
View Profile
Nketoana
FS193
Free StateDisclaimedR296.0m
UnfundedGoing Concern8-Yr Disclaimer
View Profile
Nkomazi
MP324
MpumalangaUnqualified with FindingsR6.0m
UnfundedAudit Adjusted
View Profile
Nongoma
KZN265
UnknownUnqualified with FindingsR83.0m
UnfundedAudit Adjusted
View Profile
Nqutu
KZN242
UnknownDisclaimedR21.0m
Going Concern
View Profile
Ntabankulu
EC444
Eastern CapeQualifiedR26.0m
Unfunded
View Profile
Nyandeni
EC155
Eastern CapeQualifiedR10.0m
View Profile
Okhahlamba
KZN235
UnknownUnqualified with FindingsR14.0m
Audit Adjusted
View Profile
Oudtshoorn
WC045
Western CapeUnqualified with FindingsR79.0m
Audit Adjusted
View Profile
Overstrand
WC032
Western CapeCleanR2.0m
View Profile
Phokwane
NC094
Northern CapeQualifiedR55.0m
Unfunded
View Profile
Phumelela
FS195
Free StateQualifiedR47.0m
Unfunded
View Profile
Polokwane
LIM354
LimpopoQualifiedR71.0m
Unfunded
View Profile
Port St Johns
EC154
Eastern CapeUnqualified with FindingsR16.0m
UnfundedAudit Adjusted
View Profile
Prince Albert
WC052
Western CapeDisclaimedR47.0m
Going Concern
View Profile
Ramotshere Moiloa
NW385
North WestDisclaimedR28.0m
Going Concern
View Profile
Rand West City
GT485
GautengCleanR37.0m
View Profile
Ratlou
NW381
North WestQualifiedR48.0m
View Profile
Ray Nkonyeni
KZN216
UnknownCleanR7.0m
View Profile
Raymond Mhlaba
EC129
Eastern CapeQualifiedR44.0m
Unfunded
View Profile
Renosterberg
NC075
Northern CapeQualifiedR49.0m
View Profile
Richmond
KZN227
UnknownUnqualified with FindingsR79.0m
UnfundedAudit Adjusted
View Profile
Richtersveld
NC061
Northern CapeOutstandingR71.0m
Unfunded
View Profile
Rustenburg
NW373
North WestQualifiedR28.0m
Unfunded
View Profile
Sakhisizwe
EC138
Eastern CapeQualifiedR40.0m
Unfunded
View Profile
Saldanha Bay
WC014
Western CapeQualifiedR51.0m
View Profile
Senqu
EC142
Eastern CapeUnqualified with FindingsR56.0m
Audit Adjusted
View Profile
Setsoto
FS191
Free StateUnqualified with FindingsR81.0m
UnfundedAudit Adjusted
View Profile
Siyancuma
NC078
Northern CapeQualifiedR67.0m
Unfunded
View Profile
Siyathemba
NC077
Northern CapeQualifiedR26.0m
View Profile
Sol Plaatje
NC091
Northern CapeUnqualified with FindingsR8.0m
Audit Adjusted
View Profile
Stellenbosch
WC024
Western CapeCleanR2.0m
View Profile
Steve Tshwete
MP313
MpumalangaCleanR1.0m
View Profile
Sundays River Valley
EC106
Eastern CapeDisclaimedR242.0m
UnfundedGoing Concern8-Yr Disclaimer
View Profile
Swartland
WC015
Western CapeQualifiedR31.0m
Unfunded
View Profile
Swellendam
WC034
Western CapeDisclaimedR74.0m
Going Concern
View Profile
Thaba Chweu
MP321
MpumalangaUnqualified with FindingsR76.0m
Audit Adjusted
View Profile
Thabazimbi
LIM361
LimpopoUnqualified with FindingsR62.0m
UnfundedAudit Adjusted
View Profile
Theewaterskloof
WC031
Western CapeCleanR1.0m
View Profile
Thembelihle
NC076
Northern CapeQualifiedR39.0m
Unfunded
View Profile
Thembisile Hani
MP315
MpumalangaOutstandingR7.0m
Unfunded
View Profile
Thulamela
LIM343
LimpopoUnqualified with FindingsR12.0m
UnfundedAudit Adjusted
View Profile
Tokologo
FS182
Free StateUnqualified with FindingsR7.0m
UnfundedAudit Adjusted
View Profile
Tsantsabane
NC085
Northern CapeQualifiedR7.0m
Unfunded
View Profile
Tswaing
NW382
North WestDisclaimedR173.0m
UnfundedGoing Concern8-Yr Disclaimer
View Profile
Tswelopele
FS183
Free StateUnqualified with FindingsR78.0m
Audit Adjusted
View Profile
Ubuntu
NC071
Northern CapeUnqualified with FindingsR57.0m
Audit Adjusted
View Profile
Ulundi
KZN266
UnknownQualifiedR52.0m
View Profile
Umdoni
KZN212
UnknownQualifiedR21.0m
Unfunded
View Profile
Umfolozi
KZN281
UnknownUnqualified with FindingsR78.0m
UnfundedAudit Adjusted
View Profile
Umhlabuyalingana
KZN271
UnknownUnqualified with FindingsR54.0m
Audit Adjusted
View Profile
Umhlathuze
KZN282
UnknownCleanR0.0m
View Profile
Umlalazi
KZN284
UnknownQualifiedR43.0m
View Profile
Umngeni
KZN222
UnknownQualifiedR68.0m
View Profile
Umshwathi
KZN221
UnknownQualifiedR5.0m
Unfunded
View Profile
Umsinga
KZN244
UnknownUnqualified with FindingsR66.0m
Audit Adjusted
View Profile
Umsobomvu
NC072
Northern CapeUnqualified with FindingsR68.0m
UnfundedAudit Adjusted
View Profile
Umuziwabantu
KZN214
UnknownAdverseR52.0m
UnfundedGoing Concern
View Profile
Umvoti
KZN245
UnknownUnqualified with FindingsR68.0m
UnfundedAudit Adjusted
View Profile
Umzimkhulu
KZN435
UnknownUnqualified with FindingsR33.0m
Audit Adjusted
View Profile
Umzimvubu
EC442
Eastern CapeUnqualified with FindingsR29.0m
UnfundedAudit Adjusted
View Profile
Umzumbe
KZN213
UnknownQualifiedR70.0m
View Profile
Uphongolo
KZN262
UnknownUnqualified with FindingsR7.0m
Audit Adjusted
View Profile
Victor Khanye
MP311
MpumalangaCleanR40.0m
View Profile
Walter Sisulu
EC145
Eastern CapeUnqualified with FindingsR37.0m
UnfundedAudit Adjusted
View Profile
Winnie Madikizela-Mandela
EC443
Eastern CapeQualifiedR33.0m
View Profile
Witzenberg
WC022
Western CapeCleanR0.0m
View Profile