Mario Gotze is set to become the most expensive German player of all time after Bundesliga champions Bayern Munich announced the Borussia Dortmund midfielder will join them this summer.
Bayern said the 20-year-old will move on 1 July after the Germany player told Dortmund of his intention to leave.
Dortmund coach Jurgen Klopp said: "Mario knows he owes a lot to the club, but I know he gave a lot back as well."
The release clause is reported to be 37m euros (£31.5m).
The previous most expensive transfer involving a German player was striker Mario Gomez's £26.5m move to Bayern from Stuttgart in 2009.
Gotze will arrive at Bayern at the same time as manager Pep Guardiola, who the Bavarian club announced in January would take over from Jupp Heynckes.
And Klopp, speaking ahead of Dortmund's Champions League semi-final against Real Madrid on Wednesday, revealed that Guardiola's imminent arrival at Bayern was key to the transfer.
Klopp said: "Gotze was the player Guardiola wished to sign.
"So if it's anyone's fault it's mine. I cannot make myself 15cm smaller and learn Spanish. Gotze wants to work with this extraordinary coach that is Guardiola.
"I cannot preach football of quick transitions and now start playing Tiki Taka."
Bayern sealed the league title on 6 April with six games to spare - a Bundesliga record. They are currently 20 points ahead of second-placed Dortmund.
"Gotze's agent told us he wants to make use of his release clause and move to Bayern," read a Dortmund statement.
Dortmund chief executive Hans-Joachim Watzke said his club were "disappointed beyond measure" about Gotze's decision to leave but that the player and his advisers had "behaved within the terms of the contract".
Gotze is an attacking midfielder and regarded as one of the most promising players in German football having come through the ranks at Dortmund.
He made his Bundesliga debut in 2009 and helped the north-west German club win back-to-back league titles in 2010-11 and 2011-12.
Gotze played at various youth levels for Germany before winning his first senior cap against Sweden in November 2010.
He was in Joachim Low's squad for Euro 2012 and made his debut in the last 10 minutes of Germany's 4-2 win over Greece.