The winger has been linked with the Lilywhites for the past couple of weeks and a deal appears to be all but done.
The former Burnley man was again not part of the Saddlers squad as they drew 2-2 with Luton on Saturday, boss Dean Keates confirming post-match that the 21-year-old was on his way.
"It’s been highlighted he’s not been involved in the squad in the last few weeks," Keates told the Express & Star.
"We’ve had a concrete bid, it’s all been accepted, everything’s in place and he will join the club he is going to, as of January 1.”
Ginnelly has scored four goals this season having joined Walsall after being released by the Clarets in the summer.
Having moved to Turf Moor from Shrewsbury in 2015 he had loan spells with the Saddlers, Lincoln and Tranmere among others during his time in East Lancashire.
He will provide welcome reinforcements for Alex Neil who was without 10 players through injury and suspension for the commendable 1-1 draw with Aston Villa on Saturday.
Should he arrive at Deepdale, Ginnelly will however not be available until the trip to Swansea on January 12.
Signings cannot be made in time for games on New Year’s Day as they need to be registered the day before.
The winger has also already played in the FA Cup this season meaning he would be cup tied for the game against Doncaster at Deepdale on Sunday, January 6.