Manchester City have reached an agreement to sign Norwegian striker Erling Haaland from Borussia Dortmund on July 1, the two clubs announced on Tuesday.
"The transfer remains subject to the club finalising terms with the player," City said.
City did not provide financial details of the deal but German media reported that the total cost of buying Haaland in a multi-year deal could exceed 300 million euros ($316.08 million), including his salary, agent fees and bonuses.
Dortmund said once the transfer goes through, the club expects a "positive effect on the key earnings figures for the 2022/2023 financial year" in the range of 35-40 million euros.
The 21-year-old striker's value has skyrocketed thanks to his prolific form at Dortmund after joining them from Austrian side Salzburg two years ago.
British media reported Haaland had passed his medical on Monday, with Liverpool boss Juergen Klopp saying it was a transfer that will "set new levels" in the Premier League.
Haaland has scored 85 goals in 88 games for Dortmund since his debut in January 2020. He was last season's top scorer in the Champions League as well as the UEFA Nations League.
This season he has 21 goals in the Bundesliga from 20 starts, with Dortmund set to finish second in the league behind champions Bayern Munich when the season concludes on Saturday.
But Dortmund failed to qualify for the Champions League knockout stages, dropping to the Europa League where they did not make it past the playoffs.
City have been in the hunt to replace Sergio Aguero after the Argentine striker -- the club's all-time top scorer with 254 goals -- moved to Barcelona on a free transfer last year.
Brazilian striker Gabriel Jesus failed to seal his place in the starting lineup, with Guardiola often deploying a midfielder as a 'false nine' leading the attack.
Dortmund are interested in Salzburg forward Karim Adeyemi as a possible Haaland replacement.