Manchester City have agreed terms with Juventus to sign Joao Cancelo in exchange for Danilo and €30m.
Sky Sport Italia state the deal is worth €30m cash, whereas La Gazzetta dello Sport include another €5m in add-ons.
The personal terms between both full-backs and the clubs have also been finalised.
Cancelo is expected in England for a medical on Monday, while Danilo is taking a pay cut (€3.5m per year until 2024) to join Juve.
The Portugal international’s contract with Manchester City is also to 2024, but worth €4.5m.
This deal has been in the works for some time and negotiations accelerated over the last few days.