The person spoke on condition of anonymity Wednesday night because the agreement, first reported by The Athletic, was subject to a successful physical.
Now 30, Grandal was an All-Star in his first season with the Dodgers in 2015. He hit .241 this year with 24 homers and 68 RBIs as Los Angeles won its second straight NL pennant. He made $7.9 million.
Grandal has a .240 big league career average with 113 home runs in seven seasons. He would supplant Manny Pina and Erik Katz, who combined to get the most games behind the plate for Milwaukee last season.
He is the second player to reach agreement among the six who turned down qualifying offers. Pitcher Patrick Corbin agreed to a $140 million, six-year contract with Washington.
Born in Cuba, Grandal moved with his family to Florida, played for the University of Miami and was taken by Cincinnati with the 12th overall pick in the 2010 amateur draft.
He was traded to San Diego in December 2011 as part of the deal that brought pitcher Mat Latos to the Padres, then made his big league debut the following June.
Grandal was suspended for the first 50 games of the 2013 season because of excessive testosterone. He was dealt to the Dodgers in December 2014 as part of the trade that sent outfielder Matt Kemp to San Diego.
Milwaukee made a surprising run to the NL Central title last year and reached Game 7 of the NL Championship Series, losing to the Dodgers in Game 7. Grandal was just 2 for 11 with no RBIs in the series, then went 1 for 5 with no RBIs in the World Series loss to Boston. Grandal also struggled defensively in the postseason with a number of untimely passed balls, though he had been considered a strong defender and pitch framer.
Because Grandal turned down a qualifying offer, the Brewers would forfeit their third-highest draft pick this year, which would be about No. 105. Los Angeles would get a compensation pick after competitive balance round B, about No. 79.