A POS terminal generates a purchase price of a purchase, and generates a
rounded price. The rounded price may be, for example, the lowest whole
number greater than the purchase price. The POS terminal then calculates
a round-up amount (change due the customer) as the difference between the
purchases price and the rounded price. The coupon value is set based on
the round-up amount. For example, the coupon may be redeemable for triple
the amount of change due. The POS terminal prints on the coupon an
identifier, such as a bar code, that is based on the coupon value. The
bar code allows the coupon to be read by a POS terminal when the coupon
is redeemed.