1 2 3<!DOCTYPE html><!-- Last Published: Wed Mar 06 2024 09:45:33 GMT+0000 (Coordinated Universal Time) --><html data-wf-page="6200e32ae569ed27b414bbfb" data-wf-site="5fb612add2bb520fe31c5c1a"><head> 4 <meta charset="utf-8"> 5 <title></title> 6 <meta content="" property="og:title"> 7 <meta content="Locate" property="twitter:title"> 8 <meta content="width=device-width, initial-scale=1" name="viewport"> 9 <link href="/static/webflow/css/normalize.afb4942e5838.css" rel="stylesheet" type="text/css"> 10 <link href="/static/webflow/css/components.1dd4f94ee519.css" rel="stylesheet" type="text/css"> 11 <link href="/static/webflow/css/municipalmoney.4370efd1f681.css" rel="stylesheet" type="text/css"> 12 <link href="https://fonts.googleapis.com" rel="preconnect"> 13 <link href="https://fonts.gstatic.com" rel="preconnect" crossorigin="anonymous"> 14
14<script src="https://ajax.googleapis.com/ajax/libs/webfont/1.6.26/webfont.js" type="text/javascript"></script>
14 15
15<script type="text/javascript"> 16 WebFont.load({ 17 google: { 18 families: ["Inconsolata:400,700", "Rubik:300,regular,500,600"] 19 } 20 }); 21 </script>
21 22
22<script type="text/javascript"> 23 ! function(o, c) { 24 var n = c.documentElement, 25 t = " w-mod-"; 26 n.className += t + "js", ("ontouchstart" in o || o.DocumentTouch && c instanceof DocumentTouch) && (n.className += t + "touch") 27 }(window, document); 28 </script>
28 29 <link href="/static/webflow/images/favicon.79567e13f405.png" rel="shortcut icon" type="image/x-icon"> 30 <link href="/static/webflow/images/webclip.49fec03a29c9.png" rel="apple-touch-icon"> 31 <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.7.2/css/all.min.css" crossorigin="anonymous"> 32
32<script> 33 var ytdefer_ic_w = 73; 34 var ytdefer_ic_h = 52; 35 var yt_icon = '<svg height="100%" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 68 48" width="100%"><path class="ytp-large-play-button-bg" d="M66.52,7.74c-0.78-2.93-2.49-5.41-5.42-6.19C55.79,.13,34,0,34,0S12.21,.13,6.9,1.55 C3.97,2.33,2.27,4.81,1.48,7.74C0.06,13.05,0,24,0,24s0.06,10.95,1.48,16.26c0.78,2.93,2.49,5.41,5.42,6.19 C12.21,47.87,34,48,34,48s21.79-0.13,27.1-1.55c2.93-0.78,4.64-3.26,5.42-6.19C67.94,34.95,68,24,68,24S67.94,13.05,66.52,7.74z" fill="#eb3223"></path><path d="M 45,24 27,14 27,34" fill="#fff"></path></svg>'; 36 var yt_dark_icon = '<svg height="100%" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 68 48" width="100%"><path class="ytp-large-play-button-bg" d="M66.52,7.74c-0.78-2.93-2.49-5.41-5.42-6.19C55.79,.13,34,0,34,0S12.21,.13,6.9,1.55 C3.97,2.33,2.27,4.81,1.48,7.74C0.06,13.05,0,24,0,24s0.06,10.95,1.48,16.26c0.78,2.93,2.49,5.41,5.42,6.19 C12.21,47.87,34,48,34,48s21.79-0.13,27.1-1.55c2.93-0.78,4.64-3.26,5.42-6.19C67.94,34.95,68,24,68,24S67.94,13.05,66.52,7.74z" fill="#212121" fill-opacity="0.8"></path><path d="M 45,24 27,14 27,34" fill="#fff"></path></svg>'; 37 function ytdefer_setup() { 38 var d = document; 39 var els = d.getElementsByClassName('ytdefer'); 40 for (var i = 0; i < els.length; i++) { 41 var e = els[i]; 42 var ds = e.getAttribute('data-src'); 43 if (!ds) { 44 alert("data-src missing for video"); 45 return; 46 } 47 var w = e.clientWidth; 48 var h = e.clientHeight; 49 var dv = d.createElement('div'); 50 dv.id = 'ytdefer_vid' + i; 51 dv.style.width = w + 'px'; 52 dv.style.height = h + 'px'; 53 dv.style.position = 'relative'; 54 dv.onresize = ytdefer_resize; 55 e.appendChild(dv); 56 var im = d.createElement('img'); 57 var res = '0'; 58 if (w > 480) { 59 res = 'maxresdefault'; 60 } 61 im.src = 'https://img.youtube.com/vi/' + ds + '/' + res + '.jpg'; 62 im.id = 'ytdefer_img' + i; 63 im.style.width = '100%'; 64 im.style.height = '100%'; 65 im.style.objectFit = 'cover'; 66 im.style.position = 'absolute'; 67 im.onclick = gen_ytdefer_clk(i); 68 dv.appendChild(im); 69 var bt = d.createElement('button'); 70 bt.style.backgroundImage = "url(data:image/svg+xml;base64," + window.btoa(yt_dark_icon) + ")"; 71 bt.id = 'ytdefer_icon' + i; 72 bt.style.position = 'absolute'; 73 bt.style.border = '0'; 74 bt.style.backgroundColor = 'transparent'; 75 bt.style.left = (w / 2 - ytdefer_ic_w / 2) + 'px'; 76 bt.style.top = (h / 2 - ytdefer_ic_h / 2) + 'px'; 77 bt.style.width = ytdefer_ic_w + 'px'; 78 bt.style.height = ytdefer_ic_h + 'px'; 79 bt.style.pointerEvents = 'none'; 80 dv.appendChild(bt); 81 im.onmouseover = gen_mouseover(bt); 82 im.onmouseout = gen_mouseout(bt); 83 } 84 if (typeof(YT) == 'undefined') { 85 var js = d.createElement("script"); 86 js.type = "text/javascript"; 87 js.src = "https://www.youtube.com/player_api"; 88 d.body.appendChild(js); 89 } 90 window.addEventListener('resize', ytdefer_resize); 91 } 92 function ytdefer_resize() { 93 var d = document; 94 var els = d.getElementsByClassName('ytdefer'); 95 for (var i = 0; i < els.length; i++) { 96 var e = els[i]; 97 var w = e.clientWidth; 98 var h = e.clientHeight; 99 var dv = d.getElementById('ytdefer_vid' + i); 100 dv.style.width = w + 'px'; 101 dv.style.height = h + 'px'; 102 var ic = d.getElementById('ytdefer_icon' + i); 103 if (null != ic) { 104 ic.style.left = (w / 2 - ytdefer_ic_w / 2) + 'px'; 105 ic.style.top = (h / 2 - ytdefer_ic_h / 2) + 'px'; 106 } 107 } 108 } 109 function gen_mouseout(bt) { 110 return function() { 111 bt.style.backgroundImage = "url(data:image/svg+xml;base64," + window.btoa(yt_dark_icon) + ")"; 112 } 113 } 114 function gen_mouseover(bt) { 115 return function() { 116 bt.style.backgroundImage = "url(data:image/svg+xml;base64," + window.btoa(yt_icon) + ")"; 117 } 118 } 119 function gen_ytdefer_clk(i) { 120 return function() { 121 var d = document; 122 var el = d.getElementById('ytdefer_vid' + i); 123 var vid_id = el.parentNode.getAttribute('data-src'); 124 var player = new YT.Player(el.id, { 125 height: el.style.height, 126 width: el.style.width, 127 videoId: vid_id, 128 events: { 129 'onReady': function(ev) { 130 ev.target.playVideo() 131 } 132 } 133 }); 134 } 135 } 136 window.addEventListener('load', ytdefer_setup); 137 </script>
137 138 <style> 139 .custom-sub-bullet { 140 margin-left: 20px; 141 } 142 .custom-sub-bullet-2 { 143 margin-left: 40px; 144 } 145 @media (max-width: 767px) { 146 .custom-sub-bullet { 147 margin-left: 10px; 148 } 149 .custom-sub-bullet-2 { 150 margin-left: 20px; 151 } 152 } 153 .truncate { 154 width: 100%; 155 white-space: nowrap; 156 overflow: hidden; 157 text-overflow: ellipsis; 158 } 159 /*hide horizontal scroll*/ 160 .menu-items { 161 overflow-x: hidden 162 } 163 /*width*/ 164 .menu-items::-webkit-scrollbar { 165 width: 4px; 166 } 167 /*track*/ 168 .menu-items::-webkit-scrollbar-track { 169 background: rgba(255, 255, 255, 0); 170 } 171 /*thumb*/ 172 .menu-items::-webkit-scrollbar-thumb { 173 background: rgb(220, 220, 220); 174 border-radius: 2px; 175 } 176 @media print { 177 body { 178 -moz-transform: scale(0.6, 0.6); 179 /* Moz-browsers */ 180 zoom: 0.6; 181 /* Other non-webkit browsers */ 182 zoom: 60%; 183 /* Webkit browsers */ 184 color: #000; 185 } 186 #tutorial-video { 187 display: none !important; 188 } 189 .page-nav { 190 display: none !important; 191 } 192 .nav { 193 display: none !important; 194 } 195 .expand-block__content { 196 height: auto !important; 197 overflow: visible !important; 198 opacity: 100% !important; 199 } 200 .muni-compare { 201 display: none !important; 202 } 203 .w-richtext-align-fullwidth .w-richtext-figure-type-video { 204 display: none !important; 205 } 206 .sub-section { 207 break-inside: avoid !important; 208 } 209 } 210 .dont-break-out { 211 /* These are technically the same, but use both */ 212 overflow-wrap: break-word; 213 word-wrap: break-word; 214 -ms-word-break: break-all; 215 /* This is the dangerous one in WebKit, as it breaks things wherever */ 216 word-break: break-all; 217 /* Instead use this non-standard one: */ 218 word-break: break-word; 219 /* Adds a hyphen where the word breaks, if supported (No Blink) */ 220 -ms-hyphens: auto; 221 -moz-hyphens: auto; 222 -webkit-hyphens: auto; 223 hyphens: auto; 224 } 225 </style> 226<meta name="description" content=""> 227<meta name="twitter:title" content=""> 228<meta name="twitter:description" content=""> 229<meta name="twitter:card" content="summary"> 230<meta name="twitter:site" content="@MunicipalMoney"> 231<meta property="og:description" content=""> 232<link rel="stylesheet" href="/static/scss/municipal-money.416babdb6e56.css"> 233<link href="/static/scorecard.39e6d7525a81.css" rel="stylesheet" type="text/css" media="all" /> 234 235</head> 236<body data-page="locate"> 237 <div class="navigation"> 238 <div data-collapse="medium" data-animation="default" data-duration="400" data-easing="ease" data-easing2="ease" role="banner" class="nav w-nav"> 239 <div class="plate plate--shadow-large"></div> 240 <div class="container"> 241 <div class="nav-inner"> 242 <a id="w-node-_54ec1572-a19d-23ac-5a5a-133d4c7ba194-4c7ba190" href="/" class="home-link w-inline-block"><img src="/static/webflow/images/munimoney-logo-colour-red.93e97b96a4c8.svg" loading="eager" height="39" alt="" class="nav-logo"></a> 243 <div class="nav-items"> 244 <a href="/" class="nav-link w-inline-block"> 245 <div class="link-text link-text--site-nav">Home</div> 246 <div class="plate plate--rounded plate--hover-grey"></div> 247 </a> 248 <a href="#" class="nav-link hidden w-inline-block"> 249 <div class="link-text link-text--site-nav">Municipalities</div> 250 <div class="plate plate--rounded plate--hover-grey"></div> 251 </a> 252 <a href="/infrastructure/projects/" target="_blank" class="nav-link w-inline-block"> 253 <div class="link-text link-text--site-nav">Infrastructure Projects</div> 254 <div class="plate plate--rounded plate--hover-grey"></div> 255 </a> 256 <a href="/help" class="nav-link w-inline-block"> 257 <div class="link-text link-text--site-nav">Help centre</div> 258 <div class="plate plate--rounded plate--hover-grey"></div> 259 </a> 260 261 </div> 262 <div id="w-node-_54ec1572-a19d-23ac-5a5a-133d4c7ba1a7-4c7ba190" class="nav-search"> 263 <div class="nav-search___input w-form"> 264 <form id="wf-form-Navigation-Search" name="wf-form-Navigation-Search" data-name="Navigation Search" method="get" class="search-input" data-wf-page-id="6200e32ae569ed27b414bbfb" data-wf-element-id="54ec1572-a19d-23ac-5a5a-133d4c7ba1a9"> 265 <div class="search-input__icon"> 266 <div class="fas fa-search"></div> 267 </div><input class="search-input__field w-input" maxlength="256" name="municipality-search-2" data-name="Municipality Search 2" placeholder="Find a municipality..." type="text" id="municipality-search-2"> 268 <div class="plate plate--rounded plate--black-trans-4"></div> 269 </form> 270 <div class="w-form-done"> 271 <div>Thank you! Your submission has been received!</div> 272 </div> 273 <div class="w-form-fail"> 274 <div>Oops! Something went wrong while submitting the form.</div> 275 </div> 276 </div> 277 <div class="nav-search__menu"> 278 <div class="plate plate--white plate--rounded plate--shadow-large"></div> 279 <div class="nav-search__menu_panels"> 280 <div class="nav-search__menu_panel"> 281 <div class="menu-items"> 282 <h6 class="small-heading"><span class="search__result-value">0</span> Results</h6> 283 <div class="menu-items__inner"> 284 <div class="info-block pre-search-block"> 285 <div class="plate plate--black-trans-4 plate--rounded plate--no-hover"></div> 286 <div>Start typing to see results...</div> 287 </div> 288 <div class="info-block no-results-block hidden"> 289 <div>No results matching your search...</div> 290 <div class="plate plate--black-trans-4 plate--rounded plate--no-hover"></div> 291 </div> 292 <div class="loading-block search-results-loading hidden"><img src="/static/webflow/images/loading.7fc09f7a2068.gif" loading="lazy" alt="" class="loading-gif"></div> 293 </div> 294 </div> 295 </div> 296 </div> 297 </div> 298 </div> 299 <div id="w-node-_54ec1572-a19d-23ac-5a5a-133d4c7ba1c8-4c7ba190" class="nav-mobile"> 300 <div id="nav-mobile-open-icon" data-w-id="54ec1572-a19d-23ac-5a5a-133d4c7ba1c9" class="mobile-search__toggle"> 301 <div class="mobile-search__open-icon"> 302 <div class="fas fa-search"></div> 303 </div> 304 <div class="mobile-search__close-icon"> 305 <div class="fas fa-times"></div> 306 </div> 307 <div class="plate plate--rounded plate--hover-grey"></div> 308 </div> 309 <div id="nav-mobile-open-icon" data-w-id="54ec1572-a19d-23ac-5a5a-133d4c7ba1cf" class="mobile-menu__toggle"> 310 <div class="mobile-menu__open-icon"> 311 <div class="fas fa-bars"></div> 312 </div> 313 <div class="mobile-menu__close-icon"> 314 <div class="fas fa-times"></div> 315 </div> 316 <div class="plate plate--rounded plate--hover-grey"></div> 317 </div> 318 </div> 319 </div> 320 </div> 321 </div> 322 <div class="mobile-menu div-block-4"> 323 <div class="plate plate--white plate--shadow"></div> 324 <div class="menu-items"> 325 <h6 class="small-heading">Site navigation</h6> 326 <div class="menu-items__inner"> 327 <a href="/" class="nav-link nav-link--mobile w-inline-block"> 328 <div class="link-text link-text--site-nav">Home</div> 329 <div class="plate plate--black-trans-4 plate--rounded"></div> 330 </a>
331 <a href="/infrastructure/projects/" target="_blank" class="nav-link nav-link--mobile w-inline-block"> 332 <div class="link-text link-text--site-nav">Infrastructure Projects</div> 333 <div class="plate plate--black-trans-4 plate--rounded"></div> 334 </a> 335 <a href="#" class="nav-link nav-link--mobile hidden w-inline-block"> 336 <div class="link-text link-text--site-nav">Contact</div> 337 <div class="plate plate--black-trans-4 plate--rounded"></div> 338 </a> 339 <a href="/help" class="nav-link nav-link--mobile w-inline-block"> 340 <div class="link-text link-text--site-nav">Help centre</div> 341 <div class="plate plate--black-trans-4 plate--rounded"></div> 342 </a> 343 </div> 344 </div> 345 <div class="menu-footer"> 346 <div class="menu-footer__social"> 347 <a href="https://twitter.com/moneymunicipal" target="_blank" class="icon icon--m-8px w-inline-block"> 348 <div class="fab fa-twitter"></div> 349 <div class="plate plate--rounded plate--grey"></div> 350 </a> 351 <a href="https://www.facebook.com/MunicipalMoneySA/" target="_blank" class="icon icon--m-8px w-inline-block"> 352 <div class="fab fa-facebook-square"></div> 353 <div class="plate plate--rounded plate--grey"></div> 354 </a> 355 <a href="https://github.com/OpenUpSA/municipal-data" target="_blank" class="icon icon--m-8px w-inline-block"> 356 <div class="fab fa-github"></div> 357 <div class="plate plate--rounded plate--grey"></div> 358 </a> 359 </div> 360 <div class="menu-footer__links"> 361 <a href="/terms" class="link link--inline w-inline-block"> 362 <div class="link-text truncate">Terms of use</div> 363 <div class="plate plate--black-trans-4 plate--rounded"></div> 364 </a> 365 <a href="https://municipaldata.treasury.gov.za/" target="_blank" class="link link--inline w-inline-block"> 366 <div class="link-text truncate">Municipal Money API</div> 367 <div class="plate plate--black-trans-4 plate--rounded"></div> 368 </a> 369 </div> 370 </div> 371 </div> 372 <div class="mobile-search"> 373 <div class="plate plate--white plate--shadow"></div> 374 <div class="menu-items"> 375 <div class="nav-search nav-search--mobile"> 376 <div class="nav-search___input w-form"> 377 <form id="email-form" name="email-form" data-name="Email Form" method="get" class="search-input" data-wf-page-id="6200e32ae569ed27b414bbfb" data-wf-element-id="11e1769b-c4cb-1324-05ee-2a6af34ada63"> 378 <div class="search-input__icon"> 379 <div class="fas fa-search"></div> 380 </div><input class="search-input__field search-input__field--mobile w-input" maxlength="256" name="Municipality-Search" data-name="Municipality Search" placeholder="Find a municipality..." type="text" id="municipality-search"> 381 <div class="plate plate--rounded plate--black-trans-4"></div> 382 </form> 383 <div class="w-form-done"> 384 <div>Thank you! Your submission has been received!</div> 385 </div> 386 <div class="w-form-fail"> 387 <div>Oops! Something went wrong while submitting the form.</div> 388 </div> 389 </div> 390 </div> 391 <h6 class="small-heading"><span class="search__result-value">0</span> Results</h6> 392 <div class="menu-items__inner"> 393 <div class="info-block pre-search-block"> 394 <div class="plate plate--rounded plate--black-trans-4 plate--no-hover"></div> 395 <div>Start typing to see results...</div> 396 </div> 397 <div class="info-block no-results-block hidden"> 398 <div>No results matching your search...</div> 399 <div class="plate plate--rounded plate--grey plate--no-hover"></div> 400 </div> 401 <div class="loading-block search-results-loading hidden"><img src="/static/webflow/images/loading.7fc09f7a2068.gif" loading="lazy" alt="" class="loading-gif"></div> 402 </div> 403 </div> 404 </div> 405 </div> 406 <div class="section section--padding-top"> 407 <div class="container"> 408 <div class="location-block location-block--search"> 409 <div class="location-icon"><img src="/static/webflow/images/loading.7fc09f7a2068.gif" loading="lazy" alt="" class="loading-gif"></div> 410 <div class="location-block__label">Finding your location</div> 411 <div class="plate plate--black-trans-4 plate--rounded plate--no-hover"></div> 412 </div> 413 <div class="location-block location-block--found"> 414 <div class="location-icon"> 415 <div class="fas fa-check"></div> 416 </div> 417 <div class="location-block__label">Location found!</div> 418 <div class="plate plate--status-green plate--rounded"></div> 419 </div> 420 <div class="location-block location-block--not-found"> 421 <div class="location-icon"> 422 <div class="fas fa-times"></div> 423 </div> 424 <div class="location-block__label">Location not found. Try using the search box</div> 425 <div class="plate plate--status-red plate--rounded"></div> 426 </div> 427 </div> 428 </div> 429 <div class="footer"> 430 <div class="container container--grid"> 431 <div class="layout-grid layout-grid--footer"> 432 <div id="w-node-c4a9cf34-221d-0dc5-4207-a2e6e9d831a0-e9d8319d" class="layout-grid__col layout-grid__col--padding-right layout-grid__col--flex"> 433 <a href="http://www.treasury.gov.za" target="_blank" class="footer-logo w-inline-block"><img src="/static/webflow/images/national-treasury-logo.a7309f651533.png" loading="eager" alt="" class="logo"></a> 434 <p class="footer-description">Municipal Money is an initiative of the National Treasury, which has collected extensive municipal financial data over several years and would like to share this information with the public.</p> 435 <a href="/help" class="footer-link footer-link--primary w-inline-block"> 436 <div class="icon icon--16px icon--margin-right-8px icon--primary"> 437 <div class="fas fa-info"></div> 438 </div> 439 <div>Learn more</div> 440 </a> 441 </div> 442 <div id="w-node-_779513d9-15e8-c8f1-c1e0-f3c3c09a3b33-e9d8319d" class="layout-grid__col"> 443 <div class="grid grid--16px"> 444 <h5 class="footer-heading heading heading--clear">Jump to a metro</h5> 445 <div class="footer__links"> 446 <a href="/profiles/municipality-BUF-buffalo-city/" class="footer-link w-inline-block"> 447 <div class="truncate">Buffalo City</div> 448 </a> 449 <a href="/profiles/municipality-CPT-city-of-cape-town/" class="footer-link w-inline-block"> 450 <div class="truncate">City of Cape Town</div> 451 </a> 452 <a href="/profiles/municipality-EKU-ekurhuleni/" class="footer-link w-inline-block"> 453 <div class="truncate">Ekurhuleni Municipality</div> 454 </a> 455 <a href="/profiles/municipality-ETH-ethekwini/" class="footer-link w-inline-block"> 456 <div class="truncate">City of eThekwini</div> 457 </a> 458 <a href="/municipality-JHB-city-of-johannesburg/" class="footer-link w-inline-block"> 459 <div class="truncate">City of Johannesburg</div> 460 </a> 461 <a href="/profiles/municipality-MAN-mangaung/" class="footer-link w-inline-block"> 462 <div class="truncate">Mangaung Municipality<br></div> 463 </a> 464 <a href="/profiles/municipality-NMA-nelson-mandela-bay/" class="footer-link w-inline-block"> 465 <div class="truncate">Nelson Mandela Bay Municipality</div> 466 </a> 467 <a href="/profiles/municipality-TSH-city-of-tshwane/" class="footer-link w-inline-block"> 468 <div class="truncate">City of Tshwane</div> 469 </a> 470 </div> 471 </div> 472 </div> 473 <div id="w-node-_1a5740f0-1b36-e72d-b801-8256086774ae-e9d8319d" class="layout-grid__col"> 474 <div class="grid grid--16px"> 475 <h5 class="footer-heading heading heading--clear">Useful links</h5> 476 <div class="footer__links">
477 <a href="/infrastructure/projects/" target="_blank" class="footer-link w-inline-block"> 478 <div>Infrastructure Projects</div> 479 </a> 480 <a href="/help" class="footer-link w-inline-block"> 481 <div>Help center</div> 482 </a> 483 <a href="https://municipaldata.treasury.gov.za/" target="_blank" class="footer-link w-inline-block"> 484 <div>Municipal Money API</div> 485 </a> 486 <a href="/terms" class="footer-link w-inline-block"> 487 <div>Terms of use</div> 488 </a> 489 </div> 490 </div> 491 </div> 492 <div id="w-node-_9a61d18e-e7e5-e159-63a0-63b947cbfc57-e9d8319d" class="layout-grid__col"> 493 <div class="grid grid--16px"> 494 <h5 class="footer-heading heading heading--clear">Feedback</h5> 495 <div class="footer__links"> 496 <a data-w-id="c4a9cf34-221d-0dc5-4207-a2e6e9d831d2" href="#" class="footer-link is-email-feedback w-inline-block"> 497 <div class="icon icon--16px icon--margin-right-8px"> 498 <div class="fas fa-envelope"></div> 499 </div> 500 <div>Email</div> 501 </a> 502 <div class="footer_email-disclaimer"> 503 <div class="footer_email-disclaimer_modal"> 504 <div class="card is-modal"> 505 <div class="modal-header"> 506 <h3 class="modal-title">Feedback Disclaimer</h3> 507 <a href="#" class="modal-close w-inline-block"> 508 <div class="icon icon--24px"> 509 <div class="fas fa-times"></div> 510 </div> 511 </a> 512 </div> 513 <div class="w-richtext"> 514 <p>Please note that Municipal Money is an initiative by the <a href="https://www.treasury.gov.za/" target="_blank">National Treasury</a> to provide information to the public on how their municipality is spending public funds to improve service delivery.</p> 515 <p>Only queries to <a href="mailto:[email protected]">[email protected]</a> that pertain to the information available on the site or technical difficulties to access the information will be responded to. Account related queries must be directed to the relevant department at the respective municipality. Kindly contact the respective municipality directly for such contact details.</p> 516 <p>The National Treasury do not deal with account related queries and therefore receipt of this email is not acknowledged or recorded.</p> 517 </div> 518 </div> 519 </div> 520 <div class="modal-close is-bg"></div> 521 </div> 522 <a href="https://www.facebook.com/MunicipalMoneySA/" target="_blank" class="footer-link w-inline-block"> 523 <div class="icon icon--16px icon--margin-right-8px"> 524 <div class="fab fa-facebook-f"></div> 525 </div> 526 <div>Facebook</div> 527 </a> 528 <a href="https://twitter.com/moneymunicipal" target="_blank" class="footer-link w-inline-block"> 529 <div class="icon icon--16px icon--margin-right-8px"> 530 <div class="fab fa-twitter"></div> 531 </div> 532 <div>Twitter</div> 533 </a> 534 <a href="https://github.com/OpenUpSA/municipal-data" target="_blank" class="footer-link w-inline-block"> 535 <div class="icon icon--16px icon--margin-right-8px"> 536 <div class="fab fa-github"></div> 537 </div> 538 <div>Github</div> 539 </a> 540 </div> 541 </div> 542 </div> 543 </div> 544 <div class="footer-meta"> 545 <div id="w-node-c4a9cf34-221d-0dc5-4207-a2e6e9d831e8-e9d8319d">A project by <a href="http://www.treasury.gov.za" target="_blank">National Treasury</a>, created under The MIT License (MIT). </div> 546 <div id="w-node-c4a9cf34-221d-0dc5-4207-a2e6e9d831ed-e9d8319d" class="footer-meta__partner"> 547 <div>In partnership with:</div> 548 <a href="http://www.openup.org.za" target="_blank" class="footer__partner-logo w-inline-block"><img src="/static/webflow/images/openup-logo.d903cb941fdd.svg" loading="eager" alt="" class="logo"></a> 549 </div> 550 </div> 551 </div> 552 </div> 553 <div class="components hidden"> 554 <div class="container"> 555 <div class="components__wrapper"> 556 <div class="components-utility"> 557 <div class="truncate"></div> 558 <div class="component-block"></div> 559 </div> 560 <div class="components-swatches"> 561 <div class="component-block"> 562 <div class="colour colour--primary"></div> 563 </div> 564 <div class="component-block"> 565 <div class="colour"></div> 566 </div> 567 <div class="component-block"> 568 <div class="colour colour--1"></div> 569 </div> 570 <div class="component-block"> 571 <div class="colour colour--2"></div> 572 </div> 573 </div> 574 <div class="components-plates"> 575 <div class="component-block"> 576 <div class="plate plate--white plate--rounded plate--shadow"></div> 577 </div> 578 <div class="component-block"> 579 <div class="plate plate--white plate--rounded plate--shadow-large"></div> 580 </div> 581 <div class="component-block"> 582 <div class="plate"></div> 583 </div> 584 <div class="component-block"> 585 <div class="plate plate--rounded plate--white"></div> 586 </div> 587 <div class="component-block"> 588 <div class="plate plate--rounded plate--hover-grey"></div> 589 </div> 590 <div class="component-block"> 591 <div class="plate plate--rounded plate--hover-blue"></div> 592 </div> 593 <div class="component-block"> 594 <div class="plate plate--rounded plate--hover-blue"></div> 595 </div> 596 </div> 597 <div class="components-icons"> 598 <div class="component-block"> 599 <div class="icon"> 600 <div class="fas fa-search"></div> 601 <div class="plate plate--rounded plate--hover-grey"></div> 602 </div> 603 </div> 604 </div> 605 <div class="components-elements"> 606 <div class="question-block"> 607 <a href="#" class="question-block__trigger w-inline-block"> 608 <div id="w-node-c8548d32-e940-3994-58d9-0c6d18356ae9-18356ae7" class="icon icon--32px"> 609 <div class="fas fa-info"></div> 610 </div> 611 <div>
611Question goes here</div> 612 <div class="question-block__trigger_icon"> 613 <div class="fas fa-plus"></div> 614 </div> 615 </a> 616 <div class="question-block__content"> 617 <div class="question-block__content_inner"> 618 <div class="w-richtext"> 619 <p>The rich text element allows you to create and format headings, paragraphs, blockquotes, images, and video all in one place instead of having to add and format them individually. Just double-click and easily create content.</p> 620 </div> 621 </div> 622 </div> 623 <div class="plate plate--white plate--rounded plate--shadow"></div> 624 </div> 625 <div class="info-block"> 626 <div>Start searching to see results...</div> 627 <div class="plate plate--rounded plate--black-trans-4 plate--no-hover"></div> 628 </div> 629 <div class="loading-block"><img src="/static/webflow/images/loading.7fc09f7a2068.gif" loading="lazy" alt="" class="loading-gif"></div> 630 <div class="expand-block"> 631 <div data-w-id="4ab9be59-915e-a81f-32a8-9396febe45ac" class="expand-block__trigger"> 632 <h5 class="expand-block__trigger_heading"></h5> 633 <div class="expand-block__trigger_icon"> 634 <div class="fas fa-plus"></div> 635 </div> 636 </div> 637 <div class="expand-block__content"> 638 <div class="expand-block__content_inner"> 639 <div class="w-richtext"> 640 <p>Municipal Money is an initiative of the National Treasury, which hosts extensive amounts of municipal financial data, submitted by municipalities. In order to share this data with the public, National Treasury has enlisted the help of an external partner, Code for South Africa â an NGO that promotes informed public decision-making using technology.</p> 641 <p>Municipal Money is a free, impartial, politically neutral, online tool to find out about how municipal funds are spent. Our aim is to help citizens understand where public money is spent and whether this is within acceptable norms, not to comment on how it is spent. In doing so we hope to empower our citizens, strengthen civic oversight and promote accountability. We hope that Municipal Money will be a useful tool for everyone, regardless of their political persuasion and their views on public spending.</p> 642 </div> 643 </div> 644 </div> 645 </div> 646 <a href="#" class="page-nav__link w-inline-block"> 647 <div class="page-nav__icon"> 648 <div class="fas fa-question-circle"></div> 649 </div> 650 <div class="link-text link-text--site-nav">Financial performance</div> 651 <div class="plate plate--rounded plate--hover-grey"></div> 652 </a> 653 <div class="indicator-metric indicator-metric--no-status"> 654 <div class="indicator-metric__value">Calculating...</div> 655 <div class="indicator-metric__icon"> 656 <div class="fa-icon"></div> 657 </div> 658 </div> 659 <div class="indicator-metric indicator-metric--status-green"> 660 <div class="indicator-metric__value">Calculating...</div> 661 <div class="indicator-metric__icon"> 662 <div class="fa-icon fas fa-smile"></div> 663 </div> 664 </div> 665 <div class="indicator-metric indicator-metric--status-yellow"> 666 <div class="indicator-metric__value">Calculating...</div> 667 <div class="indicator-metric__icon"> 668 <div class="fa-icon fas fa-meh"></div> 669 </div> 670 </div> 671 <div class="indicator-metric indicator-metric--status-red"> 672 <div class="indicator-metric__value">Calculating...</div> 673 <div class="indicator-metric__icon"> 674 <div class="fa-icon fas fa-frown"></div> 675 </div> 676 </div> 677 <div class="audit-outcome"> 678 <h4 class="audit-outcome__year">...</h4> 679 <div class="audit-outcome__icons hidden"> 680 <div class="audit-outcome__icon audit-outcome__icon--green"> 681 <div class="fas fa-thumbs-up"></div> 682 </div> 683 <div class="audit-outcome__icon audit-outcome__icon--yellow"> 684 <div class="fas fa-trophy"></div> 685 </div> 686 </div> 687 <h5 class="audit-outcome__heading"></h5> 688 <div class="audit-outcome__subheading"></div> 689 <div class="audit-outcome__button-wrapper"> 690 <a href="#" class="audit-outcome__download w-inline-block"> 691 <div class="plate plate--black-trans-4 plate--rounded"></div> 692 <div class="audit-outcome__download_icon"> 693 <div class="fas fa-file-pdf"></div> 694 </div> 695 <div>Read report</div> 696 </a> 697 </div> 698 </div> 699 <div class="audit-outcome"> 700 <div class="audit-outcome__icons"> 701 <div class="audit-outcome__icon audit-outcome__icon--green"> 702 <div class="fas fa-thumbs-up"></div> 703 </div> 704 <div class="audit-outcome__icon audit-outcome__icon--yellow"> 705 <div class="fas fa-trophy"></div> 706 </div> 707 </div> 708 <h5 class="audit-outcome__heading"></h5> 709 <div class="audit-outcome__subheading"></div> 710 <p class="audit-outcome__definition"></p> 711 </div> 712 <div class="section-header section-header--clear section-header--item-right section-header--gap"> 713 <h4 class="heading heading--clear">Local income sources</h4>
714 <div class="gap gap--underline"></div> 715 <div class="value value--medium">R100 million</div> 716 </div> 717 <div class="expand-block expand-block-with-list"> 718 <div class="expand-block__trigger"> 719 <h5 class="expand-block__trigger_heading">Loading...</h5> 720 <div class="expand-block__trigger_icon"> 721 <div class="fas fa-plus"></div> 722 </div> 723 </div> 724 <div class="expand-block__content"> 725 <div class="expand-block__content_inner"> 726 <div class="grid grid--16px"> 727 <div class="profile-info__item"> 728 <div class="profile-item__item_icon"> 729 <div class="fas fa-user-alt"></div> 730 </div> 731 <div class="profile-item__item-value">...</div> 732 </div> 733 <div class="profile-info__heading">Loading...</div> 734 </div> 735 </div> 736 </div> 737 </div> 738 <div class="bar-chart"> 739 <div class="bar-chart__row"> 740 <div id="w-node-a77058c6-8936-a2b9-e52d-e706fee7d0d3-b414bbfb" class="label label--small truncate">Chart label</div> 741 <div class="bar-chart__hover-label"> 742 <div class="label label--small">Chart label that shows on hover of the label</div> 743 </div> 744 <div class="bar-chart__bar-wrapper"> 745 <div class="bar-chart__bar colour"> 746 <div class="bar-chart__bar_value label label--small">R123 456 789</div> 747 <div class="bar-chart__bar_percentage label label--small">2%</div> 748 </div> 749 </div> 750 </div> 751 <div class="bar-chart__row"> 752 <div id="w-node-a77058c6-8936-a2b9-e52d-e706fee7d0df-b414bbfb" class="label label--small truncate">Chart label that is too long to fit on one line</div> 753 <div class="bar-chart__hover-label"> 754 <div class="label label--small">Chart label that is too long to fit on one line</div> 755 </div> 756 <div class="bar-chart__bar-wrapper"> 757 <div class="bar-chart__bar colour colour--primary"> 758 <div class="bar-chart__bar_value label label--small">R123 456 789</div> 759 <div class="bar-chart__bar_percentage label label--small">2%</div> 760 </div> 761 </div> 762 </div> 763 <div class="bar-chart__legend"> 764 <div class="legend-item"> 765 <div class="legend-item__block colour colour--primary"></div> 766 <div class="label label--small label--light">Legend label</div> 767 </div> 768 </div> 769 </div> 770 <a id="w-node-_75d5619a-cc75-8b52-eddb-d7309853ccab-9853ccab" href="#" class="button w-inline-block"> 771 <div id="w-node-_75d5619a-cc75-8b52-eddb-d7309853ccae-9853ccab">Loading...</div> 772 </a> 773 <a id="w-node-db2f4ec3-86ea-c2f6-0751-08d68630fc3e-8630fc3e" href="#" class="button button--icon-left button--align-left w-inline-block"> 774 <div class="button__icon"> 775 <div class="fas fa-envelope"></div> 776 </div> 777 <div id="w-node-db2f4ec3-86ea-c2f6-0751-08d68630fc41-8630fc3e">Loading...</div> 778 </a> 779 <a href="#" class="search-result w-inline-block"> 780 <div class="search-result__muni-name truncate">Loading...</div> 781 <div class="search-result__muni-type">Loading...</div> 782 <div class="plate plate--black-trans-4 plate--rounded"></div> 783 </a> 784 </div> 785 </div> 786 </div> 787 </div> 788
788<script src="https://d3e54v103j8qbb.cloudfront.net/js/jquery-3.5.1.min.dc5e7f18c8.js?site=5fb612add2bb520fe31c5c1a" type="text/javascript" integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=" crossorigin="anonymous"></script>
788 789
789<script src="/static/webflow/js/municipalmoney.d2a9b7b12304.js" type="text/javascript"></script>
789 790
790<script> 791 // when the DOM is ready 792 $(document).ready(function() { 793 // get the li items 794 const listItems = $('li'); 795 // for each li item 796 listItems.each(function(index, item) { 797 // check for '~' character 798 // it's recommended to start with the deepest level of sub bullet 799 // to ensure only the relevant classes are applied 800 // if the li item text starts with '~~' 801 if ($(item).text().startsWith('~~')) { 802 // run indentText() function 803 indentText(this, 'custom-sub-bullet-2'); 804 } // else if the li item starts with '~' 805 else if ($(item).text().startsWith('~')) { 806 // run indentText() function 807 indentText(this, 'custom-sub-bullet'); 808 } 809 }); 810 // indentText function 811 function indentText(li, className) { 812 // add relevant className to li item 813 // if the li item text starts with '~~' add the sub-bullet-2 class 814 // else if the li item starts with '~' add the sub-bullet class 815 $(li).addClass(className); 816 // remove the '~' from the li items 817 // the regex /~+/g 818 // matches any one or more ~ characters 819 const reformatedText = $(li).html().replace(/~+/g, ''); 820 // replace the li item's html text that has ~ tags 821 // with the new text that removed the ~ character(s) 822 $(li).html(reformatedText); 823 } 824 }); 825 </script>
825 826
827<script src="https://browser.sentry-cdn.com/5.27.6/bundle.tracing.min.js" integrity="sha384-9Z8PxByVWP+gIm/rTMPn9BWwknuJR5oJcLj+Nr9mvzk8nJVkVXgQvlLGZ9SIFEJF" crossorigin="anonymous"></script>
vendor: 1 bytes, line 827
827
828<script src="https://browser.sentry-cdn.com/5.27.6/captureconsole.min.js" integrity="sha384-F9eVzZTC8N8+p6mvSqBoTIuFHbKq2XFPn6ZtNKPkUBslMACSFOHy3/1XkET00hnC" crossorigin="anonymous"></script>
vendor: 1 bytes, line 828
828
829<script> Sentry.init({ dsn: "https://[email protected]/5501712", integrations: [ new Sentry.Integrations.CaptureConsole({ levels: ["error"] }), new Sentry.Integrations.BrowserTracing(), ], tracesSampleRate: 0.1,})</script>
vendor: 1 bytes, line 829
829
830<script id="page-data" type="application/json">{"nope": false}</script>
vendor: 1 bytes, line 830
830
831<script>var DATA_PORTAL_URL = 'https://municipaldata.treasury.gov.za'</script>
vendor: 1 bytes, line 831
831
832<script type="text/javascript" src="/static/scorecard.fa811c6aab5e.js" charset="utf-8"></script>
832<script src="/static/household/js/plotly.04dc3d6ed4e1.js"></script>
vendor: 1 bytes, line 832
832
833<script src="/static/household/js/household.32e714af38f4.js"></script>
vendor: 1 bytes, line 833
833
834<script src="/static/js/municipal-money.7622951d188c.js"></script>
vendor: 1 bytes, line 834
834
835<script>
vendor: 323 bytes, line 835
835(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)})(window,document,'script','//www.google-analytics.com/analytics.js','ga');ga('create', '
835UA-48399585-40
vendor: 34 bytes, line 835
835', 'auto');ga('send', 'pageview');
835</script>
vendor: 58 bytes, lines 835-836
835 836<script src="https://www.googletagmanager.com/gtag/js?id=
836G-NFT1CS0QKK
vendor: 12 bytes, line 836
836"></script>
837<script>
vendor: 139 bytes, line 837
837window.dataLayer = window.dataLayer || []; function gtag() { dataLayer.push(arguments); } gtag('js', new Date()); gtag('config', '
837G-NFT1CS0QKK
vendor: 5 bytes, line 837
837');
837</script>
837 838</body></html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.