Aurelien Tchouameni is set to join Real Madrid from AS Monaco on a five-year contract, sources have told ESPN.

The Champions League winners and the Ligue 1 side have reached an agreement for a deal worth up to €80 million ($86m) plus add-ons with the player set to undergo a medical before the transfer is completed.

Madrid have seen off competition from Paris Saint-Germain and Liverpool to land Tchouameni with both clubs attempting to convince the player to follow in the footsteps of Kylian Mbappe and turn down the Spanish giants.

Stream ESPN FC Daily on ESPN+ (U.S. only)
– Don’t have ESPN? Get instant access

ESPN reported in May that the midfielder had decided to choose Madrid despite the interest from Liverpool and PSG.

However, sources told ESPN that the deal had been held up because of a tax issue. The Spanish treasury considers the Principality of Monaco a tax haven and are therefore expected to demand Monaco pay 24% in taxes on top of the €60m profit they stand to make from the deal.

Despite the complications, both Madrid and Monaco managed to reach an agreement that will see Tchouameni join the Spanish champions for the next five years.

According to ESPN sources, fellow France international Mbappe tried to convince the 22-year-old to join him at PSG but Tchouameni was clear about playing for the European champions.

ESPN reported in January that Madrid were looking at options to rejuvenate their midfield, and the club’s chief scout Juni Calafat visited Monaco that month to lay the groundwork for a possible deal.

Madrid boss Carlo Ancelotti wanted the club to prioritize signing a new defensive midfielder, and Tchouameni was the main candidate ahead of Ajax‘s Ryan Gravenberch.

Los Blancos want to refresh their midfield and believe the young Frenchman has everything “to become the defensive midfielder of the future.”

Ancelotti, who has already seen Antonio Rudiger join the club on a free transfer from Chelsea, will now have Tchouameni as a key option who can rotate with Casemiro.

Tchouameni made 35 league appearances for Monaco last season, scoring three goals as they finished third in the table behind PSG and Marseille.

He has already played 10 times for France and was named by manager Didier Deschamps in the squad for this month’s Nations League games against Denmark, Croatia and Austria.