Bayern Munich have signed James Rodríguez from Real Madrid in a two-year loan deal. The 25-year-old moves to the German champions after three seasons in the Spanish capital, where he never managed to secure a guaranteed starting place. Bayern have an option to buy the Colombian at the end of the loan deal.

Karl-Heinz Rummenigge, the Bayern chairman, said: “We are very happy that we have managed to conclude this transfer. The signing of James Rodríguez was the big wish from our manager, Carlo Ancelotti, after the two of them worked together successfully at Real Madrid.

Theo Hernández’s move to Real clouds gentleman’s agreement with Atlético | Michael Butler Read more

“James is a very versatile player. He scores a lot of goals himself and is also able to set up goals and is good at set-pieces. We have, without question, heightened the quality of the squad with this transfer.” Rodríguez will join up with the Bayern squad immediately and travel with his new team-mates on the 12-day tour in China and Singapore.

Bayern have also agreed a deal to sell Douglas Costa to Juventus. The Brazilian, who arrived from Shakhtar Donetsk in 2015, will join the Serie A club on loan for a season before sealing a €40m (£35.3m) move to Turin. With the loan fee the transfer will be worth €46m.

The German side have already signed Corentin Tolisso (Lyon, £36.4m), Serge Gnabry (Werder Bremen, £7.7m), Sebastian Rudy (Hoffenheim, free), Kingsley Coman (Juventus, £18.4m) and Niklas Süle (Hoffenheim, £19.3m).

Gnabry, the former Arsenal player, is expected to be sent out on loan and Renato Sanches could also join another club for a season to gain match experience. Rummenigge said: “It wasn’t an easy first year for Renato. He returned from the Euros and was injured for three months. I think it’s vitally important for him to play on a regular basis this year. That’s why we’ll consider whether it makes sense to keep him here or to arrange a loan deal. He urgently needs minutes out on the pitch.”

The Bundesliga kicks off on Friday 18 August when Bayern, who won the league by a 15-point margin last season, take on Bayer Leverkusen.