Bayern will pay City roughly €45 million plus add-ons for the 24-year-old, according to Romano, who adds that Sane is expected to sign a five-year contract with the Bavarian club.
The deal includes a 10% sell-on clause, sources told Rob Dawson of ESPN.
The move will go through at the end of the extended 2019-20 season.
City boss Pep Guardiola confirmed earlier in June that Sane would eventually leave the Etihad, revealing he turned down a new contract. At that point, it became a matter of when he would make the switch.
"We tried before the injury (and) the surgery and after that and he rejected this offer. He has other wishes and I understand (but) we want players who want to commit and achieve our targets," Guardiola said at the time. "I love him so much, he's incredible, I've nothing against him - he wants another adventure."
Talks over a deal have long been ongoing between the two clubs; City were said to initially want in excess of €100 million, but with Sane's contract expiring in 2021 and the coronavirus pandemic creating financial uncertainty in world football, that asking price was significantly reduced.
Sane has played just 11 Premier League minutes this season after tearing his ACL in the Community Shield in August. When fit last year, he scored 10 league goals and added 10 assists.