Germany forward Mario Gotze has returned to Borussia Dortmund from Bayern Munich on a four-year contract.
Sky in Germany understands the fee to be in the region of £18.3m (22m euros) plus additions based on success.
Gotze, who has yet to undergo his medical, scored 22 goals in 83 matches for Dortmund between 2009 and 2013, helping them to two Bundesliga titles and a German Cup.
He left for Bayern three years ago in a move that still rankles with some Dortmund supporters, who displayed a banner at a game in April making it clear they would not welcome him back.
Speaking at the completion of the deal, the 24-year-old said: "When I switched from BVB to Bayern in 2013 that was a conscious decision behind [which] I will not hide myself today.
"Three years later, and with 24 years of age, I look with different eyes at my former decision. I can well understand that many fans could not understand my decision. I would not even take it so today.
"When I return to my home, I want to try to convince all people by my performances - especially those who do not receive me with open arms - that my aim is to play my best football again. For all of us, the club and the BVB fans."
Dortmund CEO Hans-Joachim Watzke said: "I am personally very pleased that Mario has decided to return to Borussia Dortmund. I have, since his departure in 2013, always hoped that he will one day return to us."
Gotze, who scored the winning goal for Germany in the 2014 World Cup final, made just 14 Bundesliga appearances last season as he found his game-time was limited under Pep Guardiola.
He won three Bundesliga titles, two DFB-Pokals, the UEFA Super Cup and the Club World Cup since moving to the Allianz Arena in a 37m euro deal in 2013.