South Africa's ethics watchdog on Friday said President Cyril Ramaphosa misled parliament last year over a 500,000-rand ($36,000, 32,000-euro) donation to his campaign fund from a company facing extensive corruption allegations.
Analysts said the damning report by the country's ombudswoman, Busisiwe Mkhwebane, could boost Ramaphosa's opponents within the ruling African National Congress (ANC) party, which is riven by in-fighting.
Mkhwebane found that the president gave parliament "erroneous" information when he first responded to an opposition question over the October 2017 donation.
Ramaphosa initially told lawmakers that the payment was to his son Andile for consultancy work for Bosasa, now known as African Global Operations (AGO).
But Ramaphosa later said it was a donation towards his campaign to become ANC party leader -- a hard-fought battle in which he beat ex-president Jacob Zuma's chosen candidate.
Ramaphosa reacted strongly to the report, saying in a statement that it was "unfortunate" that Mkhwebane had not "given due consideration" to his explanation that he did not know about the donation.
Ramaphosa "reaffirms his determination and commitment to fight all forms of corruption" and that "no person regardless of the position they hold is above law", the statement said.
He has promised to return the funds.
In the report released on Friday, Mkhwebane said that despite Ramaphosa correcting himself "he indeed misled parliament".
"He should have allowed himself sufficient time to research on a well-informed response," she said.
After taking over when graft-tainted Zuma was ousted in 2018, Ramaphosa led the ANC to victory in May elections, staking his reputation on fighting corruption.
The findings against him were "more damaging than expected", said Darias Jonker of the London-based Eurasia risk consultancy.
"This report will add to the (pro-Zuma) faction's plans to neutralize and remove Ramaphosa, as they are threatened by his anti-corruption campaign".
But Jonker ruled out Ramaphosa facing criminal charges or removal by parliament "in the short-term".
Mkhwebane said the funds were moved from one account to another before being deposited into Ramaphosa's campaign account, raising suspicion of "money-laundering".
She asked the country's prosecution authority to investigate and also gave the speaker of parliament 30 days to demand Ramaphosa to divulge publicly all the donations he received towards his campaign.
Ramaphosa has previously denied wrongdoing.
His office said he would study the report and decide on any further action.
Mkhwebane is the Public Protector, a powerful watchdog in South Africa who should be politically independent, although critics accuse her of being a Zuma loyalist.
The ANC party is bitterly split between Zuma supporters and those backing Ramaphosa, who took the helm after Zuma became entangled in graft scandals.
The main opposition Democratic Alliance party, which first raised questions about the donation, called for parliament to take decisive action against Ramaphosa.
"It is time that parliament regain its teeth so that no individual who rises to the office of president will ever be able to abuse that power," DA leader Mmusi Maimane told reporters.
He demanded that Ramaphosa appear before a special parliamentary committee, saying "what is clear is that this matter runs much deeper than initially thought."