Barcelona have reached a deal to sign Bordeaux winger Malcom for £36.5m – a day after Roma announced they were on the verge of signing him.
The 21-year-old Brazilian has agreed a five-year contract with Barca.
Roma had announced on Monday they had reached a deal with Bordeaux subject to a medical and personal terms being agreed.
But he has now decided to join the Spanish champions and will have his medical on Wednesday.
Malcom, yet to be capped at senior level by Brazil, scored 20 goals and set up another 13 in 84 Ligue 1 games following his 2016 move from Corinthians.
The deal is worth an initial 41m euros with another 1m euros (£900,000) in variables.
He is Barca’s second Brazilian summer signing – after £35.5m Gremio midfielder Arthur, 21.