---
title: "Apply a coupon at the register"
source: https://support.storeconnect.com/articles/apply-a-coupon-at-the-register
type: article
format: markdown
site: StoreConnect Support — product and developer documentation for StoreConnect
site_index: https://storeconnect.com/llms.txt
docs_index: https://support.storeconnect.com/llms.txt
note: Append .md to any page or article URL on this site to get its Markdown form.
---
# Apply a coupon at the register

Use this process when a customer has a coupon code for a Promotion v2 offer and is buying in store. Automatic promotions need no action: the register works them out on its own as items go into the cart.

## Before you start

- The offer has to be set up as a Promotion v2 with a **Coupon Code**. See [About Promotions v2](advanced-promotions).
- The promotion records have to be synced to the register. A promotion created moments ago may not have reached it yet. See [Manage POS data sync](manage-pos-data-sync).
- The register needs a connection. A coupon cannot be entered while offline.

## Apply the code

1.  Build the cart as usual.
2.  Select **Manage cart**, then **Coupon code**. The option shows how many coupons are already applied, for example `1 applied`.
3.  On the **Add coupon code** screen, type the code in the **Coupon code** field. Case and surrounding spaces do not matter.

    <!-- Screen shot: Add coupon code screen with a code typed in and the Applied coupons list showing one chip marked (not applied) -->

4.  Select **Apply coupon**.

The register works out every applied coupon and every automatic promotion together. A promotion on particular items is named under each line it discounted, and a promotion on the whole cart gets a separate row in the totals, under **Subtotal**. See [POS cart](pos-cart) for how to read each row.

For example, a customer buying a $60 jacket gives the code `WINTER10`, a promotion with the **Display Name** "Winter 10% off" that takes 10% off the whole cart. After you apply it, the totals show **Subtotal** $60.00, then **Winter 10% off** -$6.00, and the **Order total** is $6.00 lower.

To remove a coupon, open **Coupon code** again and dismiss it from the **Applied coupons** list.

## When a code is turned away

The register gives one of these messages.

| Message | What it means |
|---|---|
| This coupon code is invalid or doesn't exist. | No such code, or it belongs to another store, channel, or customer |
| This coupon code isn't currently active. | Outside the promotion's dates, including one that has not started |
| This cart doesn't qualify for this coupon. | No condition is met, including a delivery outside the promotion's zone |
| Coupons can't be applied to a cart with only returns. | Nothing is being bought. A coupon with a condition gets "This cart doesn't qualify for this coupon." instead |
| This coupon code has already been applied. | The same promotion is on the cart, even under a different code or casing |
| This coupon can't be combined with existing promotions. | The coupon, or a promotion already discounting the cart, is set not to combine with existing promotions |
| A better promotion is already applied. | The coupon does not beat the coupons already discounting the cart |
| The maximum number of coupons for this cart has been reached. | The store's coupon limit is reached |
| Coupons can't be applied while offline. | The register knows it has no connection |
| This coupon code could not be validated. | Anything the server checks failed, such as a usage limit, a time-of-day rule, or a delivery zone that could not be confirmed |

## While the coupon stays on the cart

A coupon that is applied but not currently discounting anything, such as one beaten by a larger coupon, shows as **CODE (not applied)**. It still counts toward the coupon limit, and you can still remove it.

The register takes a coupon off by itself when its promotion stops qualifying, expires, or is deleted. If you empty the cart by removing items one at a time, coupons that need items go and any always-applies coupon stays. The cart's **Empty** action clears every coupon.

:::note
A coupon that qualifies but works out to no discount is still accepted at the register and sits as not applied. It is not an error.
:::

## Coupons on a parked or returned sale

A parked sale picks its coupons back up from the discounts left on its lines when it is resumed. A coupon that left no discount there is lost, and has to be entered again: one that only gave a free product, one that was showing as not applied, or one whose promotion this register does not have. See [Park an order at the POS](pos-parking-orders).

On a cart holding returns, promotions are worked out on what the customer is actually buying, after the returned items are netted off. A cart holding only returns gets no promotion and will not take a coupon. See [Returns, refunds and exchanges at the POS](returns-refund-exchange-at-pos).

## If the register loses its connection

Automatic promotions keep applying, checked against what the register holds. A coupon already on the cart keeps discounting. You cannot enter a new coupon until the connection is back.

A coupon tied to a delivery zone is the exception: the register cannot place a delivery in a zone on its own, so the coupon stays on the cart giving nothing until the connection returns. If it still cannot be checked when you press **Pay** or **Fast Checkout**, checkout is blocked with "Couldn't check a coupon with the server. Try again, or remove the coupon to continue." Removing the coupon lets the sale go through. See [Offline sales at the POS](offline-sales-at-pos).

Once the coupon's promotion shows on the cart with an amount against it, under a line or in the totals, the discount is on the sale and is kept on the order.

---

## Follow StoreConnect

- [Email Newsletter](https://storeconnect.com/c/lp-newsletter)
- [LinkedIn Newsletter](https://www.linkedin.com/build-relation/newsletter-follow?entityUrn=7444956928444862464)
- [YouTube](https://www.youtube.com/channel/UCngKdP2x8l1wcbAKW3tvU8g)
- [LinkedIn](https://www.linkedin.com/company/storeconnect)
- [X / Twitter](https://x.com/storeconnecthq)

## Popular Links

- [Partners](https://storeconnect.com/partners)
- [Become a Partner](https://storeconnect.com/become-a-partner)
- [News](https://storeconnect.com/articles/news)
- [Events](https://storeconnect.com/articles/events)
- [Feature Comparison](https://storeconnect.com/how-we-compare)
- [Download a free trial](https://appexchange.salesforce.com/appxListingDetail?listingId=a0N3A00000FMkeKUAT)
- [Book a Demo](https://storeconnect.com/contact)

## Documentation

- [Help documentation](https://support.storeconnect.com/help-documentation)
- [AI agents](https://support.storeconnect.com/ai)
- [Videos & tutorials](https://support.storeconnect.com/videos-tutorials)
- [Developer reference](https://support.storeconnect.com/developer-reference)
- [Release notes](https://support.storeconnect.com/release-notes)
- [Troubleshooting](https://support.storeconnect.com/troubleshooting)
- [Trust Center](https://trust.getstoreconnect.com/)
- [Status Page](https://status.storeconnect.com/)

## Contact

- info@getstoreconnect.com
- US +1 415 745 3230
- AUS +61 2 8365 2308

100 S Ashley Dr, Suite 600-2461
Tampa FL 33602-600 USA

Level 22, Sydney Place
180 George Street
Sydney, NSW, 2000, AUS

## Machine-readable

- [Site index for agents](https://storeconnect.com/llms.txt): curated map of the StoreConnect site in llms.txt format
- [Documentation index for agents](https://support.storeconnect.com/llms.txt): full technical and product documentation map

Every page and article on this site has a Markdown rendering: append `.md` to its URL.

Continue in Markdown: [Help documentation](https://support.storeconnect.com/help-documentation.md) · [Developer reference](https://support.storeconnect.com/developer-reference.md) · [Videos & tutorials](https://support.storeconnect.com/videos-tutorials.md) · [Release notes](https://support.storeconnect.com/release-notes.md)

---

StoreConnect Support — https://support.storeconnect.com/articles/apply-a-coupon-at-the-register