The deal, worked out last month, is for $15.8 million, with $4.2 million in incentives. It originally was rejected by baseball's front office.
The 42-year-old Bonds immediately was added the Giants' 40-man roster.
The team's position players are due to report to spring training at Scottsdale, Ariz., Monday.
"Barry has never been late (to spring training) in his 22 seasons as a Major League player and I don't expect him to be late this year," Bonds' agent, Jeff Borris, told MLB.com.
Bonds, who has been plagued by knee problems in recent years -- and has been the subject of speculation about whether he has used performance enhancing substances -- will begin the 2007 season needing 22 home runs to become baseball's all-time leader in that category. Hank Aaron holds the record with 755.
Bonds batted .270 with 26 homers and 77 RBI in 2006.