↵ to select ↑↓ to navigate
iVendNext

iVendNext

Open in ChatGPT
Ask ChatGPT about this page
Open in Claude
Ask Claude about this page

Coupon rules

Retail Extensions · Rule · checked 2026-10-18

Coupon rules adds two rules your coupons cannot set on their own: a coupon for a customer's first purchase only, and a coupon only for customers in one customer group. The rules are checked when the cashier presses Pay, before any money is taken. The person who sets up your coupons writes the rules; the cashier only sees a refusal when a coupon does not apply. This page covers what the app adds, how to write your rules, how to switch it on, and how to remove it.

What it does

When the cashier presses Pay, your shop sends the priced sale to the app's service, coupon or not. A sale with no coupon is allowed at once. For a sale with a coupon, the service reads your rules, counts the customer's earlier sales if a rule asks for a first purchase, and answers before the payment screen opens.

The cashier sees When
The payment screen, as always The sale has no coupon, or no rule refuses its coupons. A coupon with no rule is not refused, while the app's user can read your shop.
"This sale can't be paid", with "Coupon ⟨coupon⟩ is for a first purchase only; this customer has bought before. Remove it, or add the new customer." The coupon is for a first purchase only, and the sale's customer already has a submitted sale, at the till or in the back office (a return against a sale does not count). Nothing is paid.
"This sale can't be paid", with "Coupon ⟨coupon⟩ is only for customers in ⟨group⟩. Remove it, or add a customer in that group." The coupon is only for one customer group, and the sale's customer is not in it. Nothing is paid.
"This sale can't be paid", with "Coupon rules cannot read your shop: it refused the app's user. Remove the coupon, or ask your administrator to check the app's setup." Your shop refused the app's user, for example after its key was withdrawn, the user was disabled or a right was not given. Within a minute, every coupon is refused then, with or without a rule, until the setup is put right.
The sale goes on, and is flagged on Sales to review The service did not answer within 3 seconds: then every sale is flagged, coupon or not. Or, for a sale with a coupon, the service has not been sent the app's user yet, or could not read your shop in time, or got an error from it.

The till always names a customer: its walk-in customer until the cashier adds one, and the walk-in customer has usually bought before. So a first-purchase coupon rung before the new customer is added is refused when the walk-in customer has bought before, which is usual, and the words say to add the new customer.

After a coupon is allowed, the till keeps the answer for exactly that sale. If the cashier then adds a line, changes the customer or adds another coupon, the till says "The sale changed after the check. Press Pay again." Pressing Pay again checks the sale again.

An exchange's new items are checked as a sale. A return carries a coupon only when it is rung without its sale and also sells an item with one; then the till says "This refund can't go ahead" instead of "This sale can't be paid". The app writes nothing to your shop.

What you set up first

  1. Install the app from the App library (see About Retail Extensions). The install adds the role IVENDNEXT CPN Integration, with no one in it. The check comes in switched off.
  2. Make a user for the app. Tick Is Desk User, give it the role IVENDNEXT CPN Integration alone and save. Then generate its API key: on the user, open Settings and press Generate Keys. Give the user no User Permissions.
  3. Search Desk for Role Permissions Manager. Give IVENDNEXT CPN Integration Read on POS Invoice and on Sales Invoice, and leave Only If Creator unticked. The first-purchase rule counts a customer's sales with this user: with User Permissions or Only If Creator, the count can read 0 and a returning customer's coupon is allowed.
  4. Search Desk for Registered Application and open IVENDNEXT CPN Rules. Choose the app's user as its Application User and save.
  5. Write your rules (below).
  6. Switch the check on (below).
  7. In the App library, find the app under Installed and press Details. On the app's record, press Connect again. The record then says that it sent the API key of the app's user.

Rules

Search Desk for IVENDNEXT CPN Rule and press Add. Make one record for each coupon you want to restrict. The record is named by its coupon. Only a System Manager can add or change these records, unless you give another role rights on them in Role Permissions Manager.

Field What it does
Coupon The coupon this rule is for. One rule per coupon.
Enabled Untick to stop using the rule. The coupon is then checked by your coupon's own settings only.
First purchase only Refuses the coupon for a customer who already has a submitted sale, at the till or in the back office (a return against a sale does not count).
Only for customers in this group Refuses the coupon for a customer outside this customer group. Blank: any customer.
  • You can tick First purchase only and choose a group on the same rule. Both must pass.
  • A customer group matches exactly: a customer in a group under the one you chose is refused.
  • A draft or canceled sale does not count as a purchase. A return against a sale does not count; a return made without its sale does.
  • The service reads your rules again within a minute of a change.

Switch the check on

  1. Search Desk for Retail Extension Subscription and open Coupon rules.
  2. Read what it is sent, and tick the consent.
  3. Choose the POS Profiles it answers. With none chosen, it answers every POS Profile.
  4. Switch it on and save.

What leaves your shop

The app's service runs at coupon-rules.ivendnext.app, hosted by CitiXsys. After the install, and when you press Connect again, your site sends the service its key from the App library, its address, the check's signing key, and the API key of the app's user.

At each Pay, and before each refund the till pays, your shop sends the priced sale, coupon or not: the store, the POS Profile, the company and the till's day and terminal, the signed-in cashier's user, the customer and their customer group, the price list, the currency and the till's language, the coupons, the details the cashier captured for the sale and for each line, each line's item code, item group, quantity, unit, price, amount and discount, the totals, the payment methods offered and the till's own reference for the sale. On a refund it also sends the original sale (or the order or layaway plan), which kind it was, and how it was paid. No card details are sent.

A sale with no coupon is answered at once. For a sale with a coupon, the service reads your IVENDNEXT CPN Rule records with the app's user and, for a first-purchase rule, counts the customer's submitted POS Invoices and Sales Invoices. It keeps your rules for up to a minute and keeps no sale and no count. It keeps your site's keys until you remove the app. It writes nothing to your shop.

Limits

  • A rule change can take up to a minute to apply.
  • The count is taken at Pay. A sale for the same customer booked between the check and the payment is not seen.
  • Bought before means any submitted sale to the customer on your site, in any of your companies, including an order or a layaway placed at the till. A sale made offline counts only once it has synced.
  • The first-purchase rule needs iVendNext POS from 2026-10-15 on. On an older one, a sale with such a coupon goes on and is flagged.
  • Until Connect again has sent the app's user, and whenever the service does not answer within 3 seconds, a sale goes on with its coupon and is flagged for review. A Pay after a quiet spell can take longer than usual.
  • Offline, the till cannot ask the service, so it acts as when the service does not answer (above).
  • The check does not run when a sale is parked to another till, on a layaway deposit, on an account collection, or in the back office's own POS screen. A restricted coupon used there is neither refused nor flagged.
  • After you install the app again, the check comes in switched off and your rules are gone. Add your rules again (the uninstall exported them to a file). Give the app's user the role IVENDNEXT CPN Integration and its read rights again (if you disabled the user or made it a new key when you removed the app, enable it or generate its key). Choose it again as the Application User of IVENDNEXT CPN Rules, switch the check on with its consent, then press Connect again.

How to remove it

  1. In the App library, find the app under Installed and press Details.
  2. On the app's record, press Export and uninstall and confirm. iVendNext first exports your rule records to a file, and tells the service that the app was removed.
  3. iVendNext removes the check, the rule records, the feed registration and the role.
  4. Make a new API key for the app's user, or disable the user, so the key the service had stops working.
Last updated 11 hours ago
Was this helpful?
Thanks!