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.
NBC reportedly holds celebs hostage to Jimmy Fallon's show
Ray Liotta sues skin care company over use of likeness