The 27-year-old will join North End's League One rivals on July 1 and Addicks manager Chris Powell believes Hayes will prove to be a big signing for the club.
"I am really happy to get Paul on board, it is a real coup for us," Powell told the club's official website. "I think he will add to the strikers we have already got and it was great to see how much he wanted to come to the club.
"Paul has played for teams that have been promoted from League One, he will be a good signing for us. He is a clever player who will keep the opposition guessing as he will drop deep and join in."