The person spoke early Wednesday on condition of anonymity because the agreement was not yet final.
Uggla was acquired from Florida in November for infielder Omar Infante and left-hander Mike Dunn. Eligible for salary arbitration, the two-time All-Star turned down a $24 million, three-year offer from the Marlins last summer.
Uggla batted .287 with 33 homers and 105 RBIs last season, when he made $7.8 million. Without the new deal, he would have been able to become a free agent after the 2011 World Series.
"He's a kind of guy we'd like to make long-term," Braves general manager Frank Wren said at the time of the trade.
Uggla's manager with the Braves will be former Florida skipper Fredi Gonzalez, hired to succeed Bobby Cox following the longtime Atlanta manager's retirement.
"This is one of the best scenarios for me," Uggla said in November.