Apply coupons to an EBT cart
Learn about different types of coupons and how to apply discounts to an EBT SNAP order.
Coupons are promotional deals that reduce the cost of an order. This document explains how to combine coupons — also known as discounts, offers, vouchers, promotions — with EBT transactions. It defines common types of coupons and outlines Forage guidelines for applying coupons to EBT SNAP carts.
Types of coupons
Basket
Basket coupons are a percentage or fixed dollar discount based on the total cart value. These deals include promotions like:
- 10% off $100 or more
- For every $75 spent, get $10 free
It’s up to the merchant to decide how to distribute the basket-level discount across SNAP eligible and non-eligible items. There's no requirement to apply the discount to SNAP items first or last.
For example, a $10 off basket coupon can be prorated against all items, or applied to non-eligible SNAP items first. The former approach simplifies accounting and refunds, while the latter minimizes credit/debit card spend.
Item
Item coupons are a percent or fixed dollar discount on a particular item or items in a cart. These deals include promotions like:
- Buy one get one free (BOGO)
- 10% off a particular item
Fee
Fee coupons are a type of item coupon. These deals include promotions like:
- Free delivery
- Waived service fees
Manufacturer coupons
Manufacturer coupons are a percent or fixed dollar discount on an item or items as issued by the manufacturer. These deals include promotions like:
- $2 off a manufacturer’s cereal box or boxes
- 20% off a manufacturer’s milk carton or cartons
- Buy one box of a manufacturer’s crackers, get another box free
FNS requirements for manufacturer coupons
If a customer applies a manufacturer coupon to a SNAP eligible item, then FNS requires merchants to calculate sales tax on the pre-coupon item price and charge it to the customer’s non-SNAP payment method (RfV 2.4.4.2).
For example, imagine a $5 SNAP eligible item with a 10% tax. A customer applies a $1 manufacturer coupon to the item. The customer can pay the outstanding $4 balance either with SNAP or their non-SNAP payment method (credit/debit card). The 10% tax is charged on the pre-coupon price, so the customer must pay $5 * 10% = $0.50 tax using a non-SNAP payment method.
Other discounts
Gift cards and store credit can also be applied at checkout to reduce the total cost of an order.
Forage guidelines for applying coupons to EBT SNAP carts
Consider the following design principles when planning how to apply coupons to EBT SNAP carts.
- Give SNAP customers the same experience and flexibility as all customers. FNS mandates equal treatment, meaning SNAP customers must have access to the same benefits as customers who don’t pay with SNAP. This includes the ability to apply the same coupons and discounts (RfV 2.4.4).
- Apply discounts that expire first.
- Maximize customer savings.
- Minimize customer credit/debit spend.
The order of coupon operations and coupon UX below strike the optimal balance of these principles for most merchants.
Order of coupon operations
Reduce the cost of the order as much as possible before charging the customer’s EBT and credit/debit cards. When a customer uses coupons, to calculate the total cost of the cart apply:
- Item coupons, including fee or manufacturer discounts
- Basket coupons, first percent and then dollar discounts
- Store credit (if multiple, in order of expiration date) and gift cards (if multiple, in order of oldest to newest)
- EBT SNAP
- EBT Cash
- Credit/debit card
Coupon UX
- A customer arrives at checkout. They add their EBT Card and backup credit/debit card, and then add a coupon, gift card, and store credit.
- The merchant applies the coupon, gift card, and store credit to reduce the total cost of the cart.
- After reviewing the post-discount price, the customer sets the SNAP amount that they’d like to apply to the order.
- The customer enters their EBT PIN to authorize the charge.
- The merchant sends Forage a request to charge the SNAP amount.
- The merchant charges any outstanding balance to the customer’s credit/debit card.
Example: SDK and Custom integrations
- A customer arrives at checkout with a $100 cart and a 20% off basket coupon. Their cart includes:
- $40 of SNAP eligible items, with a 10% tax rate
- $60 of non eligible items, with a 10% tax rate
- The merchant distributes the 20% discount prorated against all items:
- $40 - $8 = $32 SNAP eligible
- $60 - $12 = $48 non eligible
- The merchant sends Forage a request to charge $32 to the customer’s EBT Card. Because the customer pays with SNAP, the charge is tax exempt.
- The merchant charges the remaining amount to the customer’s credit/debit card. The remaining charge includes the non SNAP eligible total plus tax:
- Total credit/debit charge: $48 + ($48 * 10%) = $52.80
Example: Fully Hosted integrations
- A customer arrives at checkout with a $100 cart and a 20% off basket coupon. Their cart includes:
- $40 of SNAP eligible items, with a 10% tax rate
- $60 of non eligible items, with a 10% tax rate
- The merchant distributes the 20% discount prorated against all items:
- $40 - $8 = $32 SNAP eligible
- $60 - $12 = $48 non eligible
- The merchant creates a Fully Hosted session (POST
/api/sessions/
). In the body of the request, the merchant passes an object representing each item in theproduct_list
array. Every item object includes aunit_price
value that reflects the post-coupon price of the item. For example:
"product_list": [
{
"name": "Bulk Frozen Chicken",
"upc": "033383087375",
"unit_price": 32.00,
"quantity": 1,
"tax_rate": 0.10,
"eligibility": "snap"
},
{
"name": "Household Cleaners",
"upc": "044467096284",
"unit_price": 24.00,
"quantity": 2,
"tax_rate": 0.10,
"eligibility": "non_ebt"
},
]
- Forage charges the $32 to the customer’s EBT Card. Because the customer pays with SNAP, the charge is tax exempt.
- Forage charges the remaining amount to the customer’s credit/debit card. The remaining charge is the non SNAP eligible total plus tax:
- Total credit/debit charge: $48 + ($48 * 10%) = $52.80
How to calculate taxes on a cart with coupons
The portion of an order that is paid for with SNAP is always tax-exempt. If there's an outstanding balance after SNAP is applied, then tax needs to be calculated on the amount due.
Taxes apply to the post-coupon price of an item.* Consider the following example scenarios:
If a $1 coupon is applies to a $5 item:
- $4 SNAP pays for item: No tax is applied
- $4 credit/debit pays for item: Tax is applied to the $4 post-coupon cost
If $1 coupon is applies to a $5 basket:
- $4 SNAP pays for whole basket: No tax is applied
- $4 credit/debit pays for basket: Tax is applied to the $4 post-coupon cost
*Except in the case of manufacturer coupons. FNS requires tax to be calculated on the pre-coupon item price for manufacturer coupons.
Updated about 1 year ago