They actually don't have to do that. The scan law is really for the price marked on the item, not any sale signs. They gave you the extra $5 to be nice, because that is not the law.
Actually, that isn't correct. The Michigan law changed in 2011, and states, "the most fundamental change [in the law] is that retailers are required to display the price of items offered for sale in the store at the place where the item is located, but are no longer required to individually mark the price on the item itself."
SCANNER ERROR BILL OF RIGHTS
The new Shopping Reform and Modernization Act, or Scanner Law, requires that most items on store shelves be clearly displayed with the price; by signage, electronic reader, price sticker, or any other method that clearly and reasonably conveys the price to a consumer in the store at the place where the item is located. If an automatic checkout system (scanner) charges you more than the displayed price of an item, and:
1) the transaction has been completed, and
2) you have a receipt indicating the item purchased and the
price charged for it.
Then:
You must notify the seller that you were overcharged, within 30 days of the transaction, either in person or in writing. Within two days of receiving your notice, the seller may choose to refund you the difference between the amount charged and the price displayed plus a "bonus" of ten times the difference, with a minimum of $1.00 and a maximum of $5.00. If the seller does not pay you both the refund and the bonus, you may bring a lawsuit to recover your actual damages or $250.00, whichever is greater, plus reasonable attorney fees up to $300.00.
So this is exactly my situation. I saw chips priced at 2/$5 on the shelf. I checked out, but the chips rang up at $3.50 each, for a total of $7. I went to customer service. They refunded the chips, plus gave me a bonus of $5. According to the law, they only needed to refund the difference in the cost between the sale price and the price that I was charged. But as I remember it, they refunded the entire $7 cost, plus gave a $5 bonus.