This seems like a non-issue as long as they round the price down. Because there's no law that the store can't discount their total by a small amount and then provide exact change.
"Congratulations customer, we have a special coupon today for $0.03 off your purchase. Here's your change :)"
> In addition, the law covering the federal food assistance program known as SNAP requires that recipients not be charged more than other customers. Since SNAP recipients use a debit card that’s charged the precise amount, if merchants round down prices for cash purchases, they could be opening themselves to legal problems and fines, said Jeff Lenard, spokesperson for NACS.
So just round snap transactions too, not just cash ones. Now SNAP recipients are never paying more than any other customer for the same basket of goods.
So how do they account for people who use coupons or rewards cards today? Those create a discount that technically result in charging some customers less than others, including SNAP users. In the case of rounding, you wouldn't be charging SNAP user any more that other users who use cards for payment. The point of the law was to prevent stores from charging surcharges etc on food stamp users back in the day.
Rewards are taken from merchant fees. The retailer isn't party to that rebate. Likewise, coupons are almost always funded by the manufacturer who returns those monies to the store.
That would be true for credit card fees, but not for stuff like loyalty card discounts.
"Likewise, coupons are almost always funded by the manufacturer who returns those monies to the store."
It doesn't matter. The store is the one charging the customer. As stated, the law says the store cannot charge SNAP recipients more. Thus it would be a violation if we are taking it strictly.
When I lived in Australia, those paying with card were charged the exact amount. Those paying cash would round to the nearest 5 cents, in the customer’s favor. I suspect the same will happen here.
I don't see why you couldn't do it in either case. If you modify the actual price, then you are giving exact change. Why wouldn't round() be as valid a price modification as floor()?
Presumably "increase the price a small amount to avoid giving exact change" is exactly the sort of thing that laws requiring giving exact change were designed to prevent.
There will surely be some customer pissed about the extra 2 cents they were charged who will raise hell over the exact change law.
But what customer is going to be upset over a small discount?
"Congratulations customer, we have a special coupon today for $0.03 off your purchase. Here's your change :)"