Switzerland midfielder Denis Zakaria joined Juventus from Borussia Moenchengladbach on a permanent deal, the German club announced on Monday.
Sky Italia reported that the deal is worth five million euros ($5.60 million), plus an additional three million euros in bonuses.
"Zakaria, whose contract at Borussia would have expired in June 2022 and was subsequently offered a contract extension, made it clear in December that he had no plans to extend his stay with the Foals but would rather open a new chapter in his career," read a note on the Gladbach website .
Zakaria becomes the Juve's third signing of the January transfer window.
It bought Serie A's joint-top scorer Dusan Vlahovic from Fiorentina last week, before adding Frosinone defender Federico Gatti earlier on Monday, who will stay with the Serie B club for the remainder of the season.
Zakaria joined Gladbach from Swiss side Young Boys in July 2017, and went on to make 146 appearances in all competitions, scoring 11 goals, in Germany.
The former Servette midfielder also established himself as a key member of the Switzerland national team in that time and has 40 caps for his country, including appearances at the FIFA World Cup 2018 and Euro 2020.
"Denis has had an important role in pushing the move through," said Gladbach's vice president Rainer Bonhof.
"He made it clear to us that he wanted to change clubs and also let us know that he wanted to give Borussia a transfer fee for the move. This made sense from our end in terms of the financial implications of the deal, so we agreed to the deal."
Zakaria could make his Juventus debut against Hellas Verona on Sunday.
The Turin club is currently fifth on the table, 11 points behind leader Inter Milan.