The deal, which will start once McCoy is officially traded to Buffalo by the Eagles, will pay the three-time Pro Bowler $16 million in the first year, according to agent Drew Rosenhaus.
McCoy is expected to take a physical with the Bills on Sunday, a source told ESPN's Josina Anderson.
McCoy tweeted a link to an Instagram video showing him boarding a plane where he says he was "on my way to see my Buffalo family."
It's official.... G5 straight to buffalo as my new FAMILY awaits me can't WAIT!!!! https://t.co/4p4d7SBNnG— Lesean McCoy (@CutonDime25) March 8, 2015
The new five-year deal, which will add two years to McCoy's existing contract, was first reported Sunday by the Philadelphia Inquirer.
The Bills acquired McCoy from Philadelphia for linebacker Kiko Alonso last week in a blockbuster trade first reported by ESPN NFL Insider Adam Schefter. The deal cannot be formally completed or announced until the 2015 league season begins Tuesday.
Shortly after the teams agreed to the trade, a source told Anderson that McCoy, a Pennsylvania native who played collegiately at Pittsburgh, was not pleased with the deal.
McCoy has the NFL's third-most rushing yards (6,792) and fourth-most rushing touchdowns (44) since the Eagles drafted him in the second round in 2009. He finished last season with 1,319 rushing yards, third in the NFL.
ESPN's Adam Schefter, ESPN's Josina Anderson and The Associated Press contributed to this report.