Schaffer told The Associated Press that nothing had been signed, but he expected it to be.
Johnson is still suspended for two weeks until Nov. 9 after twice using a gay slur and questioning coach Todd Haley's qualifications on his Twitter account. But Johnson will be docked just one game check instead of two. Players are paid weekly over 17 weeks.
ESPN's Chris Mortensen first reported the story Saturday night.
Schaffer said the agreement will save Johnson about $300,000. The two-week absence would cost him about $630,000. He might still face punishment from the league.
"We've been working hard at it since Thursday," Schaffer said. "We think we have a positive resolution and we'll be able to move forward in the right direction."
Johnson, who needs just 75 yards to break the team's career rushing mark, first used a gay slur on his Twitter account in an exchange with one of his followers last weekend. Earlier, he had posted comments that called Haley's qualifications into question.
Then, in a whispered remark Monday after telling reporters in the locker room he was not talking, Johnson repeated the slur, according to the Kansas City Star, which has posted audio of the alleged comment.
Johnson issued an apology on Tuesday, almost exactly 12 months after apologizing to the team and its fans and ownership for two incidents in Kansas City nightspots that led to his pleading guilty to disturbing the peace.
Those problems caused him to be benched for three games in 2008 and suspended by commissioner Roger Goodell for an additional game.
The Chiefs have consistently said they would have no comment on the situation and a spokesman could not be reached Saturday night.
Information from senior NFL analyst Chris Mortensen and The Associated Press contributed to this report.