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.
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.”
25 municipalities sustained clean audit status every year since 2020-21.
77 municipalities (31%) avoided qualification only by correcting audit misstatements.
Material misstatements in property, plant, equipment, receivables or irregular expenditure.
6 Adverse (records untrustworthy) & 11 Disclaimed (no documentation provided).
Incurred across 3 years of current administration due to non-compliance with supply chain legislation. Metros accounted for R33.29bn (38%).
Lost in revenue due to physical infrastructure neglect, unmaintained pipes, leaks, and electricity distribution failures.
113 municipalities adopted unfunded budgets where projected expenditure exceeded revenue. 91 of these incurred unauthorized expenditure.
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.
| Municipality | Province | Audit Outcome | Irregular Exp. | Status Flags | Action |
|---|---|---|---|---|---|
!kheis NC084 | Northern Cape | Qualified | R77.0m | View Profile | |
Abaqulusi KZN263 | Unknown | Unqualified with Findings | R16.0m | UnfundedAudit Adjusted | View Profile |
Alfred Duma KZN238 | Unknown | Unqualified with Findings | R48.0m | UnfundedAudit Adjusted | View Profile |
Amahlathi EC124 | Eastern Cape | Unqualified with Findings | R30.0m | Audit Adjusted | View Profile |
Ba-Phalaborwa LIM334 | Limpopo | Unqualified with Findings | R83.0m | UnfundedAudit Adjusted | View Profile |
Beaufort West WC053 | Western Cape | Clean | R6.0m | View Profile | |
Bela-Bela LIM366 | Limpopo | Disclaimed | R25.0m | Going Concern | View Profile |
Bergrivier WC013 | Western Cape | Qualified | R59.0m | Unfunded | View Profile |
Big Five Hlabisa KZN276 | Unknown | Qualified | R23.0m | Unfunded | View Profile |
Bitou WC047 | Western Cape | Unqualified with Findings | R66.0m | Audit Adjusted | View Profile |
Blouberg LIM351 | Limpopo | Unqualified with Findings | R52.0m | Audit Adjusted | View Profile |
Blue Crane Route EC102 | Eastern Cape | Qualified | R32.0m | View Profile | |
Breede Valley WC025 | Western Cape | Clean | R2.0m | View Profile | |
Buffalo City BUF | Eastern Cape | Qualified | R21.0m | View Profile | |
Bushbuckridge MP325 | Mpumalanga | Clean | R1.0m | View Profile | |
Cape Agulhas WC033 | Western Cape | Qualified | R58.0m | Unfunded | View Profile |
Cederberg WC012 | Western Cape | Qualified | R61.0m | View Profile | |
Chief Albert Luthuli MP301 | Mpumalanga | Adverse | R123.0m | UnfundedGoing Concern | View Profile |
City Of Cape Town CPT | Western Cape | Clean | R0.5m | View Profile | |
City Of Johannesburg JHB | Gauteng | Qualified | R50.0m | Unfunded | View Profile |
City Of Mbombela MP326 | Mpumalanga | Qualified | R52.0m | Unfunded | View Profile |
City Of Tshwane TSH | Gauteng | Unqualified with Findings | R46.0m | Audit Adjusted | View Profile |
Collins Chabane LIM345 | Limpopo | Qualified | R77.0m | Unfunded | View Profile |
Dannhauser KZN254 | Unknown | Unqualified with Findings | R84.0m | UnfundedAudit Adjusted | View Profile |
Dawid Kruiper NC087 | Northern Cape | Qualified | R75.0m | Unfunded | View Profile |
Dihlabeng FS192 | Free State | Unqualified with Findings | R17.0m | Audit Adjusted | View Profile |
Dikgatlong NC092 | Northern Cape | Unqualified with Findings | R44.0m | UnfundedAudit Adjusted | View Profile |
Dipaleseng MP306 | Mpumalanga | Unqualified with Findings | R16.0m | UnfundedAudit Adjusted | View Profile |
Ditsobotla NW384 | North West | Qualified | R8.0m | Unfunded | View Profile |
Dr Js Moroka MP316 | Mpumalanga | Qualified | R60.0m | View Profile | |
Dr Pixley Ka Isaka Seme MP304 | Mpumalanga | Unqualified with Findings | R11.0m | UnfundedAudit Adjusted | View Profile |
Dr. A.b. Xuma EC137 | Eastern Cape | Qualified | R83.0m | View Profile | |
Dr. Beyers Naude EC101 | Eastern Cape | Disclaimed | R127.0m | UnfundedGoing Concern8-Yr Disclaimer | View Profile |
Dr. Nkosazana Dlamini Zuma KZN436 | Unknown | Unqualified with Findings | R79.0m | UnfundedAudit Adjusted | View Profile |
Drakenstein WC023 | Western Cape | Clean | R1.0m | View Profile | |
Edumbe KZN261 | Unknown | Clean | R62.0m | View Profile | |
Ekurhuleni EKU | Gauteng | Unqualified with Findings | R64.0m | Audit Adjusted | View Profile |
Elias Motsoaledi LIM472 | Limpopo | Qualified | R29.0m | View Profile | |
Elundini EC141 | Eastern Cape | Clean | R15.0m | View Profile | |
Emadlangeni KZN253 | Unknown | Unqualified with Findings | R19.0m | Audit Adjusted | View Profile |
Emakhazeni MP314 | Mpumalanga | Unqualified with Findings | R49.0m | Audit Adjusted | View Profile |
Emalahleni MP312 | Mpumalanga | Unqualified with Findings | R6.0m | Audit Adjusted | View Profile |
Emalahleni EC136 | Eastern Cape | Unqualified with Findings | R54.0m | UnfundedAudit Adjusted | View Profile |
Emfuleni GT421 | Gauteng | Clean | R2.0m | View Profile | |
Emthanjeni NC073 | Northern Cape | Unqualified with Findings | R55.0m | Audit Adjusted | View Profile |
Endumeni KZN241 | Unknown | Qualified | R16.0m | Unfunded | View Profile |
Enoch Mgijima EC139 | Eastern Cape | Qualified | R27.0m | View Profile | |
Ephraim Mogale LIM471 | Limpopo | Qualified | R72.0m | Unfunded | View Profile |
Ethekwini ETH | Unknown | Disclaimed | R43.0m | Going Concern | View Profile |
Fetakgomo Tubatse LIM476 | Limpopo | Unqualified with Findings | R25.0m | Audit Adjusted | View Profile |
Ga-Segonyana NC452 | Northern Cape | Unqualified with Findings | R41.0m | UnfundedAudit Adjusted | View Profile |
Gamagara NC453 | Northern Cape | Qualified | R71.0m | View Profile | |
George WC044 | Western Cape | Clean | R0.0m | View Profile | |
Govan Mbeki MP307 | Mpumalanga | Qualified | R53.0m | View Profile | |
Great Kei EC123 | Eastern Cape | Clean | R82.0m | View Profile | |
Greater Giyani LIM331 | Limpopo | Unqualified with Findings | R53.0m | Audit Adjusted | View Profile |
Greater Kokstad KZN433 | Unknown | Unqualified with Findings | R83.0m | Audit Adjusted | View Profile |
Greater Letaba LIM332 | Limpopo | Unqualified with Findings | R84.0m | UnfundedAudit Adjusted | View Profile |
Greater Taung NW394 | North West | Outstanding | R8.0m | Unfunded | View Profile |
Greater Tzaneen LIM333 | Limpopo | Unqualified with Findings | R15.0m | Audit Adjusted | View Profile |
Hantam NC065 | Northern Cape | Unqualified with Findings | R70.0m | UnfundedAudit Adjusted | View Profile |
Hessequa WC042 | Western Cape | Clean | R2.0m | View Profile | |
Impendle KZN224 | Unknown | Disclaimed | R74.0m | Going Concern | View Profile |
Inkosi Langalibalele KZN237 | Unknown | Unqualified with Findings | R26.0m | Audit Adjusted | View Profile |
Inkosi Umtubatuba KZN275 | Unknown | Qualified | R10.0m | View Profile | |
Intsika Yethu EC135 | Eastern Cape | Unqualified with Findings | R59.0m | Audit Adjusted | View Profile |
Inxuba Yethemba EC131 | Eastern Cape | Disclaimed | R79.0m | Going Concern | View Profile |
Jb Marks NW405 | North West | Unqualified with Findings | R60.0m | UnfundedAudit Adjusted | View Profile |
Joe Morolong NC451 | Northern Cape | Unqualified with Findings | R14.0m | Audit Adjusted | View Profile |
Johannes Phumani Pungula KZN434 | Unknown | Unqualified with Findings | R9.0m | UnfundedAudit Adjusted | View Profile |
Jozini KZN272 | Unknown | Unqualified with Findings | R70.0m | UnfundedAudit Adjusted | View Profile |
Kagisano-Molopo NW397 | North West | Disclaimed | R210.0m | UnfundedGoing Concern8-Yr Disclaimer | View Profile |
Kai !garib NC082 | Northern Cape | Unqualified with Findings | R7.0m | Audit Adjusted | View Profile |
Kamiesberg NC064 | Northern Cape | Unqualified with Findings | R27.0m | Audit Adjusted | View Profile |
Kannaland WC041 | Western Cape | Disclaimed | R305.0m | UnfundedGoing Concern8-Yr Disclaimer | View Profile |
Kareeberg NC074 | Northern Cape | Unqualified with Findings | R37.0m | UnfundedAudit Adjusted | View Profile |
Karoo Hoogland NC066 | Northern Cape | Qualified | R71.0m | View Profile | |
Kgatelopele NC086 | Northern Cape | Qualified | R77.0m | View Profile | |
Kgetlengrivier NW374 | North West | Qualified | R57.0m | View Profile | |
Khâi-Ma NC067 | Northern Cape | Qualified | R64.0m | Unfunded | View Profile |
King Sabata Dalindyebo EC157 | Eastern Cape | Qualified | R39.0m | View Profile | |
Knysna WC048 | Western Cape | Unqualified with Findings | R33.0m | UnfundedAudit Adjusted | View Profile |
Kopanong FS162 | Free State | Outstanding | R43.0m | Unfunded | View Profile |
Kou-Kamma EC109 | Eastern Cape | Unqualified with Findings | R24.0m | UnfundedAudit Adjusted | View Profile |
Kouga EC108 | Eastern Cape | Adverse | R61.0m | UnfundedGoing Concern | View Profile |
Kumkani Mhlontlo EC156 | Eastern Cape | Qualified | R55.0m | Unfunded | View Profile |
Kwadukuza KZN292 | Unknown | Unqualified with Findings | R24.0m | UnfundedAudit Adjusted | View Profile |
Laingsburg WC051 | Western Cape | Adverse | R111.0m | UnfundedGoing Concern | View Profile |
Langeberg WC026 | Western Cape | Clean | R0.0m | View Profile | |
Lekwa MP305 | Mpumalanga | Unqualified with Findings | R74.0m | Audit Adjusted | View Profile |
Lekwa-Teemane NW396 | North West | Adverse | R208.0m | UnfundedGoing Concern | View Profile |
Lepele-Nkumpi LIM355 | Limpopo | Qualified | R25.0m | View Profile | |
Lephalale LIM362 | Limpopo | Qualified | R13.0m | View Profile | |
Lesedi GT423 | Gauteng | Unqualified with Findings | R11.0m | UnfundedAudit Adjusted | View Profile |
Letsemeng FS161 | Free State | Disclaimed | R18.0m | Going Concern | View Profile |
Madibeng NW372 | North West | Qualified | R79.0m | View Profile | |
Mafikeng NW383 | North West | Qualified | R57.0m | View Profile | |
Mafube FS205 | Free State | Outstanding | R62.0m | Unfunded | View Profile |
Magareng NC093 | Northern Cape | Qualified | R46.0m | View Profile | |
Makana EC104 | Eastern Cape | Disclaimed | R43.0m | Going Concern | View Profile |
Makhado LIM344 | Limpopo | Qualified | R14.0m | View Profile | |
Makhuduthamaga LIM473 | Limpopo | Qualified | R26.0m | Unfunded | View Profile |
Maluti A Phofung FS194 | Free State | Outstanding | R32.0m | Unfunded | View Profile |
Mamusa NW393 | North West | Adverse | R79.0m | UnfundedGoing Concern | View Profile |
Mandeni KZN291 | Unknown | Unqualified with Findings | R68.0m | Audit Adjusted | View Profile |
Mangaung MAN | Free State | Unqualified with Findings | R69.0m | UnfundedAudit Adjusted | View Profile |
Mantsopa FS196 | Free State | Qualified | R58.0m | View Profile | |
Maphumulo KZN294 | Unknown | Qualified | R48.0m | Unfunded | View Profile |
Maquassi Hills NW404 | North West | Unqualified with Findings | R63.0m | Audit Adjusted | View Profile |
Maruleng LIM335 | Limpopo | Qualified | R58.0m | View Profile | |
Masilonyana FS181 | Free State | Outstanding | R54.0m | Unfunded | View Profile |
Matatiele EC441 | Eastern Cape | Unqualified with Findings | R34.0m | Audit Adjusted | View Profile |
Matjhabeng FS184 | Free State | Outstanding | R28.0m | Unfunded | View Profile |
Matlosana NW403 | North West | Clean | R24.0m | View Profile | |
Matzikama WC011 | Western Cape | Clean | R1.0m | View Profile | |
Mbhashe EC121 | Eastern Cape | Qualified | R16.0m | Unfunded | View Profile |
Merafong City GT484 | Gauteng | Disclaimed | R11.0m | Going Concern | View Profile |
Metsimaholo FS204 | Free State | Qualified | R46.0m | View Profile | |
Midvaal GT422 | Gauteng | Unqualified with Findings | R68.0m | Audit Adjusted | View Profile |
Mkhambathini KZN226 | Unknown | Unqualified with Findings | R77.0m | Audit Adjusted | View Profile |
Mkhondo MP303 | Mpumalanga | Unqualified with Findings | R55.0m | Audit Adjusted | View Profile |
Mnquma EC122 | Eastern Cape | Disclaimed | R16.0m | Going Concern | View Profile |
Modimolle-Mookgophong LIM368 | Limpopo | Unqualified with Findings | R10.0m | Audit Adjusted | View Profile |
Mogalakwena LIM367 | Limpopo | Clean | R77.0m | View Profile | |
Mogale City GT481 | Gauteng | Adverse | R213.0m | UnfundedGoing Concern | View Profile |
Mohokare FS163 | Free State | Unqualified with Findings | R6.0m | Audit Adjusted | View Profile |
Molemole LIM353 | Limpopo | Qualified | R74.0m | View Profile | |
Moqhaka FS201 | Free State | Unqualified with Findings | R38.0m | UnfundedAudit Adjusted | View Profile |
Moretele NW371 | North West | Unqualified with Findings | R52.0m | UnfundedAudit Adjusted | View Profile |
Moses Kotane NW375 | North West | Qualified | R17.0m | Unfunded | View Profile |
Mossel Bay WC043 | Western Cape | Clean | R2.0m | View Profile | |
Mpofana KZN223 | Unknown | Qualified | R51.0m | Unfunded | View Profile |
Msukaligwa MP302 | Mpumalanga | Clean | R78.0m | View Profile | |
Msunduzi KZN225 | Unknown | Outstanding | R16.0m | Unfunded | View Profile |
Mthonjaneni KZN285 | Unknown | Qualified | R51.0m | Unfunded | View Profile |
Musina LIM341 | Limpopo | Unqualified with Findings | R50.0m | UnfundedAudit Adjusted | View Profile |
Nala FS185 | Free State | Qualified | R65.0m | View Profile | |
Naledi NW392 | North West | Disclaimed | R316.0m | UnfundedGoing Concern8-Yr Disclaimer | View Profile |
Nama Khoi NC062 | Northern Cape | Unqualified with Findings | R11.0m | Audit Adjusted | View Profile |
Ndlambe EC105 | Eastern Cape | Clean | R60.0m | View Profile | |
Ndwedwe KZN293 | Unknown | Qualified | R37.0m | View Profile | |
Nelson Mandela Bay NMA | Eastern Cape | Unqualified with Findings | R64.0m | UnfundedAudit Adjusted | View Profile |
New Municipality FS164 | Unknown | Unqualified with Findings | R30.0m | UnfundedAudit Adjusted | View Profile |
Newcastle KZN252 | Unknown | Clean | R65.0m | View Profile | |
Ngqushwa EC126 | Eastern Cape | Unqualified with Findings | R31.0m | Audit Adjusted | View Profile |
Ngquza Hill EC153 | Eastern Cape | Unqualified with Findings | R61.0m | Audit Adjusted | View Profile |
Ngwathe FS203 | Free State | Qualified | R10.0m | Unfunded | View Profile |
Nkandla KZN286 | Unknown | Qualified | R54.0m | View Profile | |
Nketoana FS193 | Free State | Disclaimed | R296.0m | UnfundedGoing Concern8-Yr Disclaimer | View Profile |
Nkomazi MP324 | Mpumalanga | Unqualified with Findings | R6.0m | UnfundedAudit Adjusted | View Profile |
Nongoma KZN265 | Unknown | Unqualified with Findings | R83.0m | UnfundedAudit Adjusted | View Profile |
Nqutu KZN242 | Unknown | Disclaimed | R21.0m | Going Concern | View Profile |
Ntabankulu EC444 | Eastern Cape | Qualified | R26.0m | Unfunded | View Profile |
Nyandeni EC155 | Eastern Cape | Qualified | R10.0m | View Profile | |
Okhahlamba KZN235 | Unknown | Unqualified with Findings | R14.0m | Audit Adjusted | View Profile |
Oudtshoorn WC045 | Western Cape | Unqualified with Findings | R79.0m | Audit Adjusted | View Profile |
Overstrand WC032 | Western Cape | Clean | R2.0m | View Profile | |
Phokwane NC094 | Northern Cape | Qualified | R55.0m | Unfunded | View Profile |
Phumelela FS195 | Free State | Qualified | R47.0m | Unfunded | View Profile |
Polokwane LIM354 | Limpopo | Qualified | R71.0m | Unfunded | View Profile |
Port St Johns EC154 | Eastern Cape | Unqualified with Findings | R16.0m | UnfundedAudit Adjusted | View Profile |
Prince Albert WC052 | Western Cape | Disclaimed | R47.0m | Going Concern | View Profile |
Ramotshere Moiloa NW385 | North West | Disclaimed | R28.0m | Going Concern | View Profile |
Rand West City GT485 | Gauteng | Clean | R37.0m | View Profile | |
Ratlou NW381 | North West | Qualified | R48.0m | View Profile | |
Ray Nkonyeni KZN216 | Unknown | Clean | R7.0m | View Profile | |
Raymond Mhlaba EC129 | Eastern Cape | Qualified | R44.0m | Unfunded | View Profile |
Renosterberg NC075 | Northern Cape | Qualified | R49.0m | View Profile | |
Richmond KZN227 | Unknown | Unqualified with Findings | R79.0m | UnfundedAudit Adjusted | View Profile |
Richtersveld NC061 | Northern Cape | Outstanding | R71.0m | Unfunded | View Profile |
Rustenburg NW373 | North West | Qualified | R28.0m | Unfunded | View Profile |
Sakhisizwe EC138 | Eastern Cape | Qualified | R40.0m | Unfunded | View Profile |
Saldanha Bay WC014 | Western Cape | Qualified | R51.0m | View Profile | |
Senqu EC142 | Eastern Cape | Unqualified with Findings | R56.0m | Audit Adjusted | View Profile |
Setsoto FS191 | Free State | Unqualified with Findings | R81.0m | UnfundedAudit Adjusted | View Profile |
Siyancuma NC078 | Northern Cape | Qualified | R67.0m | Unfunded | View Profile |
Siyathemba NC077 | Northern Cape | Qualified | R26.0m | View Profile | |
Sol Plaatje NC091 | Northern Cape | Unqualified with Findings | R8.0m | Audit Adjusted | View Profile |
Stellenbosch WC024 | Western Cape | Clean | R2.0m | View Profile | |
Steve Tshwete MP313 | Mpumalanga | Clean | R1.0m | View Profile | |
Sundays River Valley EC106 | Eastern Cape | Disclaimed | R242.0m | UnfundedGoing Concern8-Yr Disclaimer | View Profile |
Swartland WC015 | Western Cape | Qualified | R31.0m | Unfunded | View Profile |
Swellendam WC034 | Western Cape | Disclaimed | R74.0m | Going Concern | View Profile |
Thaba Chweu MP321 | Mpumalanga | Unqualified with Findings | R76.0m | Audit Adjusted | View Profile |
Thabazimbi LIM361 | Limpopo | Unqualified with Findings | R62.0m | UnfundedAudit Adjusted | View Profile |
Theewaterskloof WC031 | Western Cape | Clean | R1.0m | View Profile | |
Thembelihle NC076 | Northern Cape | Qualified | R39.0m | Unfunded | View Profile |
Thembisile Hani MP315 | Mpumalanga | Outstanding | R7.0m | Unfunded | View Profile |
Thulamela LIM343 | Limpopo | Unqualified with Findings | R12.0m | UnfundedAudit Adjusted | View Profile |
Tokologo FS182 | Free State | Unqualified with Findings | R7.0m | UnfundedAudit Adjusted | View Profile |
Tsantsabane NC085 | Northern Cape | Qualified | R7.0m | Unfunded | View Profile |
Tswaing NW382 | North West | Disclaimed | R173.0m | UnfundedGoing Concern8-Yr Disclaimer | View Profile |
Tswelopele FS183 | Free State | Unqualified with Findings | R78.0m | Audit Adjusted | View Profile |
Ubuntu NC071 | Northern Cape | Unqualified with Findings | R57.0m | Audit Adjusted | View Profile |
Ulundi KZN266 | Unknown | Qualified | R52.0m | View Profile | |
Umdoni KZN212 | Unknown | Qualified | R21.0m | Unfunded | View Profile |
Umfolozi KZN281 | Unknown | Unqualified with Findings | R78.0m | UnfundedAudit Adjusted | View Profile |
Umhlabuyalingana KZN271 | Unknown | Unqualified with Findings | R54.0m | Audit Adjusted | View Profile |
Umhlathuze KZN282 | Unknown | Clean | R0.0m | View Profile | |
Umlalazi KZN284 | Unknown | Qualified | R43.0m | View Profile | |
Umngeni KZN222 | Unknown | Qualified | R68.0m | View Profile | |
Umshwathi KZN221 | Unknown | Qualified | R5.0m | Unfunded | View Profile |
Umsinga KZN244 | Unknown | Unqualified with Findings | R66.0m | Audit Adjusted | View Profile |
Umsobomvu NC072 | Northern Cape | Unqualified with Findings | R68.0m | UnfundedAudit Adjusted | View Profile |
Umuziwabantu KZN214 | Unknown | Adverse | R52.0m | UnfundedGoing Concern | View Profile |
Umvoti KZN245 | Unknown | Unqualified with Findings | R68.0m | UnfundedAudit Adjusted | View Profile |
Umzimkhulu KZN435 | Unknown | Unqualified with Findings | R33.0m | Audit Adjusted | View Profile |
Umzimvubu EC442 | Eastern Cape | Unqualified with Findings | R29.0m | UnfundedAudit Adjusted | View Profile |
Umzumbe KZN213 | Unknown | Qualified | R70.0m | View Profile | |
Uphongolo KZN262 | Unknown | Unqualified with Findings | R7.0m | Audit Adjusted | View Profile |
Victor Khanye MP311 | Mpumalanga | Clean | R40.0m | View Profile | |
Walter Sisulu EC145 | Eastern Cape | Unqualified with Findings | R37.0m | UnfundedAudit Adjusted | View Profile |
Winnie Madikizela-Mandela EC443 | Eastern Cape | Qualified | R33.0m | View Profile | |
Witzenberg WC022 | Western Cape | Clean | R0.0m | View Profile |