Brazil’s new sanitation bill to draw local and foreign private investment – analysis

10 July 2020

  • Local big players attentive to M&A opportunities
  • Chinese investors expected to play active role
  • Water agency to unify scattered regulations
The approval of a new regulatory framework for Brazil’s water supply and sanitation sector is likely to draw local and foreign investors seeking to tap into the country’s pent up demand for sanitation services, according to industry sources, lawyers and M&A advisors.
The new bill, approved by the local Senate on 24 June and that must still be signed by President Jair Bolsonaro to become law, is expected to spur a pipeline of projects and investments worth between BRL 500bn and BRL 700bn (USD 93bn and USD 131bn), according to federal government estimates.
The bill’s goal is to expand the offering of water distribution services to 99% of the country’s 209.5 million population and sewage collection and treatment services to 90% by 2033. 
Today, only 83% of Brazilians have water distributions services, only 53% enjoy sewage collection services, and 46% have sewage treatment services, according to a 2018 survey by the National Sanitation Information System.
“The new regulation will lead our sector to a major transformation,” said Gustavo Guimaraes, who until 8 July served as CEO of Igua Saneamento.
The sanitation bill is expected to spark a transformation in Brazil’s water supply and sanitation sector similar to the one that reorganized the local telecom industry in the late 90s through a wave of privatizations, said a local investment banker.
Sao Paulo-based Igua and other private companies provide water supply and sewage services to 6% of Brazil’s 5,570 cities. In contrast, state-controlled water companies serve more than 70% of the cities, according to local trade association ABCON.
There are five big private companies, including Igua, in Brazil, said Guimaraes, noting that 30 other peers of different sizes and corporate governance challenges could become opportunistic targets.
Igua, which owns 14 concessions and four public-private partnerships (PPPs) in five states, considers relying on M&A and new bidding processes to establish regional clusters of water supply and sewage services across the country, Guimaraes told Mergermarket earlier this month.
Teresa Vernaglia, CEO of BRK Ambiental, said the new regulatory framework promotes legal certainty and increases the sector’s competitiveness.
The state of Sao Paulo plans to soon define the best privatization model for its water sanitation company Sabesp [B3:SBSP3], which could be worth between BRL 50bn and BRL 60bn.
One month earlier, local daily Valor Economico reported that Copasa [B3:CSMG3], the water and sewage utility company controlled by the state of Minas Gerais, was close to implementing its planned privatization.
Sovereign funds, global investment and private equity firms could also be interested in potential privatizations and upcoming PPPs, noted the investment banker.
Chinese Interest
Daniel Lau, head of the China-Latin America desk at Willis Towers Watson, said Chinese companies like China Gezhouba Group Company (CGGC)Power China’s subsidiary Sinohydro, and China Railway Engineering Corporation (CREC) should also be considered as potential bidders for Brazil’s water utility projects and companies.
CGGC has already set foot in the South American country, noted Lau. In 2018, it acquired local water system Sistema Produtor Sao Lourenco for an estimated consideration of BRL 457m (USD 146.08m), according to Mergermarket data.
And although Sinohydro and CREC have yet to invest in Brazil’s water utility space, both companies have solid experience in operating in foreign markets, Lau noted. Earlier this month, Sinohydro and CGGC joined forces to present the sole bid for the 210-megawatt Portezuelo del Viento hydro project in Mendoza, Argentina, worth about USD 1bn, according to press reports.
Regulatory unification
Any sanitation sector deal that results in a change in shareholder control must be approved by the entity that holds the rights to the sanitation services, which could be a city, a group of cities, or one of Brazil’s 26 states and its federal district, according to three lawyers familiar with local infrastructure deals.
Since the rights holders are usually municipal governments, “regulations are scattered and uneven, thus resulting in a higher regulatory risk,” said Andre Luiz Freire, a partner at local law firm Mattos Filho.
The new sanitation bill is expected to change this and provide more legal certainty to investors through benchmark rules issued by Brazil’s National Water Agency (ANA), said Marcos Meira, a partner at MMeira and chair of the Brazilian Bar Association’s Infrastructure Committee.
The bill will not force cities to adopt ANA’s rules, but it will provide them with strong incentives to do so as “private and public financial entities are expected to require their adoption as a condition to finance sanitation projects,” Freire said.
Brazilian city governments do not look at the nationality of investors when reviewing changes in shareholder control, the three lawyers noted. To receive approval for the acquisition of a Brazilian sanitation firm, a foreign company must submit proof that it meets technical and financial capacity, and that it will comply with the terms of the target’s existing sanitation contract, Meira said.
The new bill would not change this review process, according to Freire and Meira.
Deals exceeding Brazilian competition authority CADE’s annual gross turnover thresholds are still subject to antitrust scrutiny. CADE also does not look into the nationality of the acquiring company in merger reviews, as reported.
ANA did not respond to a request for comment.
[formidable id=1]
<div class="frm_forms with_frm_style frm_style_formidable-style" id="frm_form_1_container" > <form enctype="multipart/form-data" method="post" class="frm-show-form frm_pro_form frm_ajax_submit " id="form_popup-form" > <div class="frm_form_fields "> <fieldset> <legend class="frm_screen_reader">MergerMarket Subscribe Popup Form</legend> <div class="frm_fields_container"> <input type="hidden" name="frm_action" value="create" /> <input type="hidden" name="form_id" value="1" /> <input type="hidden" name="frm_hide_fields_1" id="frm_hide_fields_1" value="" /> <input type="hidden" name="form_key" value="popup-form" /> <input type="hidden" name="item_meta[0]" value="" /> <input type="hidden" id="frm_submit_entry_1" name="frm_submit_entry_1" value="4593208480" /><input type="hidden" name="_wp_http_referer" value="/brazils-new-sanitation-bill-draw-local-and-foreign-private-investment-analysis/" /><div id="frm_field_1_container" class="frm_form_field form-field frm_required_field frm_none_container frm_first frm_half"> <label for="field_qh4icy" id="field_qh4icy_label" class="frm_primary_label">First Name <span class="frm_required" aria-hidden="true">*</span> </label> <input type="text" id="field_qh4icy" name="item_meta[1]" value="" placeholder="Enter your first name" data-reqmsg="This field cannot be blank." aria-required="true" data-invmsg="Name is invalid" aria-invalid="false" /> </div> <div id="frm_field_2_container" class="frm_form_field form-field frm_required_field frm_none_container frm_half"> <label for="field_ocfup1" id="field_ocfup1_label" class="frm_primary_label">Last Name <span class="frm_required" aria-hidden="true">*</span> </label> <input type="text" id="field_ocfup1" name="item_meta[2]" value="" placeholder="Enter your last name" data-reqmsg="This field cannot be blank." aria-required="true" data-invmsg="Last is invalid" aria-invalid="false" /> </div> <div id="frm_field_3_container" class="frm_form_field form-field frm_required_field frm_none_container ion_email accepts_business_email"> <label for="field_29yf4d" id="field_29yf4d_label" class="frm_primary_label">Email <span class="frm_required" aria-hidden="true">*</span> </label> <input type="email" id="field_29yf4d" name="item_meta[3]" value="" placeholder="Enter your business email address" data-reqmsg="This field cannot be blank." aria-required="true" data-invmsg="Please enter a valid email address" aria-invalid="false" /> </div> <div id="frm_field_4_container" class="frm_form_field form-field frm_top_container ion_company frm_hidden"> <label for="field_e6lis6" id="field_e6lis6_label" class="frm_primary_label">Company <span class="frm_required" aria-hidden="true"></span> </label> <input type="text" id="field_e6lis6" name="item_meta[4]" value="" data-invmsg="Subject is invalid" aria-invalid="false" /> </div> <div id="frm_field_6_container" class="frm_form_field form-field frm_top_container ion_country frm_hidden frm12 frm_first"> <label for="field_otmou" id="field_otmou_label" class="frm_primary_label">Country <span class="frm_required" aria-hidden="true"></span> </label> <input type="text" id="field_otmou" name="item_meta[6]" value="" data-invmsg="Subject is invalid" aria-invalid="false" /> </div> <div id="frm_field_7_container" class="frm_form_field form-field frm_top_container ion_utm_source frm_hidden"> <label for="field_eljps" id="field_eljps_label" class="frm_primary_label">utm_source <span class="frm_required" aria-hidden="true"></span> </label> <input type="text" id="field_eljps" name="item_meta[7]" value="" data-invmsg="Subject is invalid" aria-invalid="false" /> </div> <div id="frm_field_8_container" class="frm_form_field form-field frm_top_container ion_utm_medium frm_hidden"> <label for="field_a8lma" id="field_a8lma_label" class="frm_primary_label">utm_medium <span class="frm_required" aria-hidden="true"></span> </label> <input type="text" id="field_a8lma" name="item_meta[8]" value="" data-invmsg="Subject is invalid" aria-invalid="false" /> </div> <div id="frm_field_9_container" class="frm_form_field form-field frm_top_container ion_utm_campaign frm_hidden"> <label for="field_ommom" id="field_ommom_label" class="frm_primary_label">utm_campaign <span class="frm_required" aria-hidden="true"></span> </label> <input type="text" id="field_ommom" name="item_meta[9]" value="" data-invmsg="Subject is invalid" aria-invalid="false" /> </div> <div id="frm_field_10_container" class="frm_form_field form-field frm_top_container ion_utm_content frm_hidden"> <label for="field_6kbqu" id="field_6kbqu_label" class="frm_primary_label">utm_content <span class="frm_required" aria-hidden="true"></span> </label> <input type="text" id="field_6kbqu" name="item_meta[10]" value="" data-invmsg="Subject is invalid" aria-invalid="false" /> </div> <div id="frm_field_11_container" class="frm_form_field form-field frm_top_container ion_page_title frm_hidden"> <label for="field_fpzuk" id="field_fpzuk_label" class="frm_primary_label">Page Title <span class="frm_required" aria-hidden="true"></span> </label> <input type="text" id="field_fpzuk" name="item_meta[11]" value="" data-invmsg="Subject is invalid" aria-invalid="false" /> </div> <div id="frm_field_12_container" class="frm_form_field form-field frm_top_container ion_page_url frm_hidden"> <label for="field_aj7hq" id="field_aj7hq_label" class="frm_primary_label">Page URL <span class="frm_required" aria-hidden="true"></span> </label> <input type="text" id="field_aj7hq" name="item_meta[12]" value="" data-invmsg="Subject is invalid" aria-invalid="false" /> </div> <div id="frm_field_13_container" class="frm_form_field form-field frm_top_container ion_zerobouncestatus frm_hidden"> <label for="field_mrpjd" id="field_mrpjd_label" class="frm_primary_label">ZeroBounceStatus <span class="frm_required" aria-hidden="true"></span> </label> <input type="text" id="field_mrpjd" name="item_meta[13]" value="" data-invmsg="Subject is invalid" aria-invalid="false" /> </div> <div id="frm_field_14_container" class="frm_form_field form-field frm_top_container frm_hidden ion_gftracklabel"> <label for="field_dqw7i" id="field_dqw7i_label" class="frm_primary_label">GFTrackEvent <span class="frm_required" aria-hidden="true"></span> </label> <input type="text" id="field_dqw7i" name="item_meta[14]" value="" data-invmsg="Subject is invalid" aria-invalid="false" /> </div> <div id="frm_field_15_container" class="frm_form_field form-field frm_top_container ion_ip_address frm_hidden"> <label for="field_nzvgf" id="field_nzvgf_label" class="frm_primary_label">IP Address <span class="frm_required" aria-hidden="true"></span> </label> <input type="text" id="field_nzvgf" name="item_meta[15]" value="" data-frmval="" data-invmsg="Text is invalid" aria-invalid="false" /> </div> <div id="frm_field_16_container" class="frm_form_field form-field frm_top_container frm_hidden ion_landing_page"> <label for="field_182c0" id="field_182c0_label" class="frm_primary_label">Landing Page <span class="frm_required" aria-hidden="true"></span> </label> <input type="text" id="field_182c0" name="item_meta[16]" value="" data-invmsg="Text is invalid" aria-invalid="false" /> </div> <input type="hidden" name="item_key" value="" /> <div class="frm_verify" aria-hidden="true"> <label for="frm_email_1"> If you are human, leave this field blank. </label> <input type="text" class="frm_verify" id="frm_email_1" name="frm_verify" value="" /> </div> <input name="frm_state" type="hidden" value="s8xfwaaizpBMz99drxmiKuSCMAW8OnK3kRg5FhimaDA=" /><div class="frm_submit"> <button class="frm_button_submit frm_final_submit" type="submit" formnovalidate="formnovalidate">Submit</button> </div></div> </fieldset> </div> </form> </div>