Apply a discount or promo code to an order
What you will have: You apply a discount or promo code to an order, and the total is recalculated.
Discounts follow known rules, which avoids case-by-case price cuts and lets you measure what they cost.
Before you start
- Lesson « Create an order (with or without a customer, with an earlier date) »
- Lesson « Create a discount or promo code (published or draft) »
- Products in the catalogue
Signed in to Genuka, this list ticks what your account already has.
Why it matters
A discount negotiated off the cuff rarely ends up at the same price from one salesperson to the next, and nobody knows afterwards what it cost. By applying a prepared discount, or a promo code, the reduction is calculated the same way everywhere and stays visible on the order.
Summary
A discount can apply to the whole order (chosen by hand or by promo code) or to a product line (applied automatically by a discount that targets that product or its collection). Discounts are prepared in Discounts (/discounts): percentage, fixed amount or "Buy X get Y".
Prerequisites
discounts.viewto view discounts,discounts.create/discounts.updateto create one or pick one from the list from an order.orders.createfor the order itself.
The two levels of discount
| Order discount | Line discount | |
|---|---|---|
| How | Chosen in "+ Add/remove a discount", or by promo code | Automatic: a discount with the Automatic strategy that targets the product or its collection |
| How many | One at a time | One per affected line |
| Fixed amount | Single amount on the order (capped at the affected subtotal) | Per unit: multiplied by the line quantity (capped at the line amount) |
| Percentage | On the subtotal (or the affected part) | On the line amount |
Example of a fixed discount per line: 500 F off an item sold in quantity 3 = 1,500 F off the line. This per-unit calculation has applied since 9 August 2026.
Steps: discount on an order (dashboard)
- In the order form, summary: + Add/remove a discount.
- Discounts window:
- Discounts list tab: the published discounts that are valid for the order's shop;
- Create discount tab: creates a discount on the spot; it is saved as a draft (it will not appear in lists until you publish it).
- Select the discount: it replaces the one that was applied.
Without the right to create or edit discounts, the window only offers a code field: enter the code ("Enter the discount code") then Apply (or Delete to remove it). The code must match a published discount: this field only searches the discounts that are published and valid for the shop, so a Coupon batches code is refused there.
Steps: at the register
In the cart, under the total: Add a discount opens the same choice of discounts (published and valid for the shop, or create on the spot).
Steps: prepare a discount or promo code
- Settings › Sales › Discounts (
/discounts), then create a discount. - Code (e.g.
SUPER-REDUCTION), Type (Percentage, Fixed, Buy X get Y) and value. - Application strategy: Manual (you choose it or type its code) or Automatic (applied by itself to the targeted products).
- Shop, Target (products, collections), Conditions, usage Limit, validity dates.
- Visibility: Published or Draft. "Draft discounts are hidden from the discount picker on orders and the POS."
For single-use codes in bulk, use Coupon batches ("Generate and track series of single-use discount codes").
Target by collection: include or exclude
In Target, two choices concern collections:
- Specific collections: the discount applies to the products of these collections (in addition to any Specific products).
- Excluded collections: "Products in these collections never receive the discount, even if they are targeted above." Exclusion always wins.
Rules:
- Only products placed directly in the collection are affected: those in its sub-collections are not.
- With no product or collection targeted, the discount applies to all products, except those in excluded collections.
- A collection cannot be both included and excluded.
- A targeted promo code only reduces the affected part of the cart: the percentage applies to the subtotal of the affected lines, and a fixed amount is capped at that subtotal. If no line is affected, the code is refused ("The discount is not valid for this cart").
- An Automatic discount limited to a collection applies by itself, line by line, to the products of that collection.
Track the use of a code
A discount's page lists the orders where it applies to the whole order. The assistant, on the other hand, counts all uses: one use = one sold order (excluding quotes, cancelled or deleted orders) that carries the code, on the whole order or on a line, with the total amount discounted. Usage limits (in total, per customer) are counted in orders.
Coupon batches
Settings › Sales › Discounts › Coupon batches button (/discounts/batches):
- a batch generates up to 2,000 distinct codes at once, which share the same rule (percentage or fixed amount, minimum condition, products);
- Code prefix: with
VIP, codes are writtenVIP-XXXXXX. "Changing the prefix rewrites all codes — codes already handed out stop working."; - Uses per code: 1 by default (single use);
- the rule and the number of codes no longer change after generation;
- the batch page shows the codes used (with the order) and those remaining, and Export codes (CSV);
- Revoke this batch disables all its codes and removes those that were not used. A batch is Draft, Active, Expired or Revoked.
The codes of a batch are manual draft discounts. In the dashboard order form and at the till, they do not appear in the discount picker and are refused when you type the code, because that field only searches published discounts. They do work when the code is given to the assistant or to Genuka's AI agents, and when the customer enters it on your online store (public API).
With the assistant
The assistant can list discounts and tell you how many times a code was used, show what a code targets (included and excluded collections too) and whether a given product is affected, create a promo code, edit it, disable it or delete it (after your confirmation), generate a coupon batch and list its codes. It can also apply an existing promo code to a new order, including a code from a coupon batch; on an order that is already saved, use the order page.
Edge cases and common mistakes
- "My discount does not show in the list." It is a draft, expired, inactive or linked to another shop.
- One global discount only. Choosing a second discount on the order replaces the first.
- No manual discount on a specific line in the dashboard form: line discounts come from automatic discounts. The detail shows on the line (a "Line discounts" badge, with the amount per unit × the number of units).
- Online store: the public API lets a website look up a promo code by its code, whether it is published or a draft, coupon batch codes included.
- "Code invalid" on a batch code in the dashboard. This is expected: the order form and the till only accept published discounts. Have the order go through the assistant, or let the customer use the code on the online store.
FAQ
Does a fixed discount on a product apply per item or once? On a product line, per item: it is multiplied by the quantity. On the whole order, once.
How do I create a promo code? In Discounts, create a discount with a Code, with the Manual strategy, and set it to Published.
Can I combine two promo codes on the same order? No, only one discount applies at order level.
See also
- Create an order (
creer-commande) - Sell from the register (
utiliser-caisse-pos)
Sign in to keep track of the lessons you have done.
Open in Genuka