The deal allows German to avoid a salary arbitration hearing. He asked for $1.2 million and the Royals offered $837,500. Terms were not disclosed, but the two sides often settle for a figure near the midpoint which, in German's case, was $1,018,750.
The signing leaves just two Royals with pending arbitration cases -- outfielder Mark Teahen and pitcher Zack Greinke.
Last season, German played in 121 games, mostly at third base or second base. He also appeared at shortstop and the outfield.
He batted .264, down from his .326 the year before, but he had career highs in RBIs (37), home runs (four) and triples (six). While filling in for second baseman Mark Grudzielanek, he hit .404 in a 14-game stretch in June and July.
Dick Kaegel is a reporter for MLB.com. This story was not subject to the approval of Major League Baseball or its clubs.