The Bundesliga club have confirmed that they have the option to purchase James outright once his loan deal ends.
"We are very happy that we were able to secure this transfer. The commitment of James Rodriguez was the great wish of our coach, Carlo Ancelotti, after both had already successfully worked together in Madrid," said Bayern chairman Karl-Heinz Rummenigge.
"James is a versatile player. He is dangerous, creates many chances and has a great standard of shooting. With this transfer, we have been able to raise the quality of our team."
James could subsequently take part in Bayern's upcoming pre-season friendlies against Arsenal, Milan, Chelsea and Inter in the International Champions Cup, and Liverpool in the Audi Cup.
His arrival should allow Douglas Costa to complete his move to Juventus, with the Serie A champions set to pay €45 million for the Brazil international.
Real have been heavily linked with a move for Kylian Mbappe, of Monaco, this summer, and it remains to be seen if James' move will fund a further bid for the 18-year-old wonderkid.