Discounts, promo codes and points at the till
This guide covers the web POS in cenaly.ge. A cashier or waiter at the till applies an offer to an open ticket, a manager approves discounts over the limit, and the owner sets the rules and reviews discounts after the shift.
What you need to get started#
- Access to POS and an open, unpaid ticket with items. Paid or closed tickets cannot have their discounts changed.
- For a discount over the limit: a manager with a PIN and permission to approve the operation. The owner sets limits in staff roles.
- For a promo code: a coupon for the selected location and a cloud connection. Configure coupons in Commerce.
- For stamps and points: the location's programs must be enabled and the guest's phone supplied. See Loyalty.
Ask the guest which offer they want to use first. A birthday gift does not combine with another discount, promo code or loyalty reward.
Discount the whole ticket#
For example, a manager has agreed to reduce the bill after a long wait.
- Open the ticket and choose Discount.
- In Apply discount, select
%or the venue's currency. Enter the discount; quick percentage buttons offer 5, 10, 15 and 20%. - Add a Reason: choose “Guest unhappy”, “Venue comp”, “Staff discount”, “Promo” or “Cashier error”, or write an explanation.
- Select Apply. If a PIN is requested, obtain manager approval as described below.
- Check the discount amount and ticket total before taking payment.
The reason helps a manager understand why revenue was reduced: manual discounts appear in Risky operations with the cashier and amount. “Waited too long for the main course” is more useful than just “discount”.
To correct a mistake, open the discount and choose Remove discount. A request for approval is not a completed discount: cancelling the PIN request leaves it unapplied.
Discount one item#
If the issue concerns one dish, reduce that item rather than the entire bill.
- Open the item's actions and choose % Item discount.
- In Item discount, choose a percentage or amount and enter the value and reason.
- Apply it; obtain a manager PIN if it exceeds your limit.
- Check the line and total. Use Remove item discount to undo it.
Item discounts are calculated first, then the ticket discount. For example, an item discount removes 10 from items worth 100 currency units. A 10% ticket discount is then calculated on 90 and removes 9. The result is 81 before additional charges.
A discount cannot raise a price. This window does not offer manual item price changes.
Discount several items at once#
When several dishes need the same discount — for example, everything one guest ordered — you do not have to open the window on each line.
- Above the ticket lines, tap ☑ Select (shown when the ticket has two or more items).
- Tick the lines you need. All ticks the whole ticket, Clear removes the ticks.
- Tap % Discount. In the window titled like Discount on 3 items, choose a percentage and one reason for all of them.
- Tap Apply. If the percentage is above your role limit, a manager PIN is asked once for the whole group.
Each selected line gets its own discount with that percentage and reason; remove it on the line as usual. The risky operations log gets one "Manual discount" entry listing the items and the total discount. The group window offers a percentage only: an amount across several items is ambiguous — give it on a single line.
Role limits and a manager PIN#
The owner opens Staff → Roles and access and sets Discount without approval, % in the relevant role (more about roles). This is the cashier's independent approval limit, not a discount for every guest.
Fixed amounts are checked against the same limit: POS converts the amount to a percentage of the ticket or line. A discount of 20 on 100 is 20%.
- The cashier enters a discount and selects Apply.
- Above the limit, POS shows Manager approval required and Discount … exceeds your limit — enter a manager PIN.
- The manager enters their PIN. POS checks their approval permission.
- After approval, the cashier checks the new total and continues to payment.
If the PIN is not recognised or cannot approve operations, ask a staff member with the required permission. With Enforce discount limits on the server enabled, an over-limit discount without approval is not applied by the server either.
Apply a promo code#
- In Coupon, focus the Promo code field.
- Enter the code and select Apply or press Enter. A scanner that types the code like a keyboard can be used; there is no separate loyalty QR-card scan here.
- Wait for validation and check the reduction. If the coupon has customer conditions, enter the guest's phone first.
- To remove it, select Remove coupon · … beside the code.
One coupon per ticket. It can combine with a manual discount, so check the final total. Storefront coupon stackability does not allow a second coupon at the till.
Without a cloud connection, POS cannot validate the code. Take payment without the coupon or try again later. Do not promise the discount until validation succeeds.
Automatic coupons apply only on the storefront. “Apply automatically (no code needed)” does not trigger a till discount: the staff member enters the code here. The exception is a discount from a selected option: web POS applies it when the cashier selects the option and removes it with the option.
How discounts, coupons and scheduled prices combine#
To explain the total to a guest, finish assembling the order, set manual discounts, then apply the code. Coupons belong to the selected location; Discount without approval, % belongs to the staff role. Server enforcement is enabled separately for each location. The manual-discount limit does not block coupons or cancel happy-hour prices.
- Check the item price. During happy hour, POS uses the scheduled price. If several pricing rules are active, the lowest resulting price wins; their percentages are not added together.
- Apply an item discount, if needed. It reduces the line total. These reduced lines make up the subtotal.
- Set the ticket discount and apply the coupon. A percentage ticket discount uses that subtotal. A percentage coupon uses its eligible lines after item discounts but before the ticket discount. Both amounts are then deducted: the percentages are not applied sequentially to the remainder. The coupon's minimum order amount is also checked before the ticket discount.
- Check Discount, Coupon and the amount due. If you change items, quantities or an item discount after validating the code, remove and reapply the coupon: its amount does not automatically recalculate after every ticket edit.
“Buy X, get Y” uses a different calculation: complete groups of X + Y eligible units determine the reward, valued using the cheapest eligible units. The reward item must already be in the order; POS does not add it automatically. This calculation uses the unit price before the manual line discount, so the percentage-coupon formula does not apply to it.
Which offers combine#
| Combination | Behaviour |
|---|---|
| Happy hour + a manual discount or promo code | They combine: happy hour is already part of the item price |
| Item discount + ticket discount | The line is reduced first, then the ticket discount is calculated |
| Promo code + manual ticket discount | Both amounts are deducted; the percentage coupon does not use the remainder after the ticket discount |
| Two coupons at the till | Not supported: one coupon per ticket |
| Multiple coupons in an online order | Only coupons with Stackable with other coupons enabled can combine; each uses its own original eligible-line base |
Stackable with other coupons controls coupon combinations only. It does not block happy hour or manual discounts. The engine follows coupon order and eligibility; it does not search all offers for the best deal. A non-stackable coupon is skipped if another coupon has already applied, and no further coupons apply after a non-stackable one.
Apply automatically (no code needed) works on the storefront and in online orders when the conditions are met. At the till, the cashier supplies the discount: they enter the coupon code or apply an agreed manual discount within their authority.
Examples in rubles#
These examples exclude delivery, service charges, tips and other rewards. Coupons are enabled, valid at the selected location and within their usage limits.
| Conditions | Calculation | What the cashier and guest see |
|---|---|---|
| Buy 2, get the third free: three eligible items at 400 ₽ each, no other discounts | 1,200 − 400 = 800 ₽ | After entering the code, the cashier sees Coupon −400 ₽; the guest gets three items for 800 ₽. Without the code, the till total stays at 1,200 ₽ |
| 10% off orders of at least 1,500 ₽; items total 1,600 ₽ | 1,600 − 160 = 1,440 ₽ | Coupon −160 ₽. If an item discount lowers the subtotal to 1,400 ₽, revalidating the code fails the minimum |
| Item priced at 1,000 ₽, happy hour −20%, manual ticket discount 5% | Price 800 ₽; discount 40 ₽; total 760 ₽ | The line already shows 800 ₽, with a separate −40 ₽ discount. This is not 25% off 1,000 ₽ |
| Items total 2,000 ₽, one line reduced by 200 ₽, ticket discount 5%, whole-order coupon 10% | Base 1,800 ₽; manual discount 90 ₽; coupon 180 ₽; total 1,530 ₽ | The cashier checks the reduced line, then −90 ₽ and −180 ₽; the guest pays 1,530 ₽ |
If the total differs, check the location, pricing window, eligible items and whether the code was reapplied after changing the order.
Guest points and stamps#
- Find the guest by phone in the loyalty panel. Guest phone for stamps is also used for points.
- Check N stamps, N/threshold to reward and N pts. +N points for this check is an estimate of what the ticket will earn, not an amount already credited.
- To redeem points, enter no more than max N, then select Redeem points. The maximum depends on the balance and the program's redemption cap.
- For stamps, select Apply reward once the threshold is reached. If the reward is a dish, add an eligible item to the ticket first: POS discounts one unit of that item (the discount badge shows on the line), not the whole ticket. If the item already has its own discount, POS asks you to remove it or add one more of that item. In Russia, spirits with a minimum retail price are never given away free.
- Check the ticket discount. Use Remove reward if the wrong reward was selected — the discount on the gift item is removed with it. If you delete the gift item from the ticket, the reward is removed automatically and no stamps are spent.
One point equals one currency unit; points are whole numbers. With a balance of 80 and a 30% redemption cap on a ticket of 100, no more than 30 points can be spent. POS does not ask the guest to confirm redemption themselves, so agree on the amount before pressing the button.
Regular guest: N orders and Apply −…% suggest a discount based on completed orders. The cashier decides whether to apply it; no points are spent. This suggestion is unavailable on cenaly.ru; stamps and points work independently of it.
For earning rules, rewards and the cap, see Loyalty. If the balance did not load, a dash is not a zero: check the connection and phone number.
Birthday gift#
The owner sets the offer in Commerce → Loyalty. Enable 🎂 Birthday gift in POS appearance: the chip is off by default.
- Attach the guest to the ticket by phone. Their card must contain a birthday within the configured days before or after the date.
- Find the Birthday gift: … chip. If the gift is a dish, add it to the ticket.
- Select the chip and confirm Give the birthday gift? with Give the gift.
- Check the discount and total before payment.
A percentage becomes a ticket discount. A free dish becomes a discount on one unit of that item: the gift line shows a zero price on the receipt, and the other items and their VAT stay unchanged. With two units of the item, one stays free. If the item already has its own discount, the gift does not overwrite it: remove the discount or add one more unit. If you delete the gift item or change its discount, the gift is removed and can be given again. In Russia, an item with a minimum retail price (MRP for spirits) cannot be given for free — POS refuses.
The gift is given once a year per guest. POS does not display the birth date itself. If the gift was already given, the chip says so; a second till cannot issue it again either.
The gift is implemented as a discount and does not combine with a ticket discount, promo code or loyalty reward. Agree on one offer with the guest; POS explains any conflict. Configure the offer in Loyalty.
Scheduled bill discount#
Happy hours on the whole bill — for example, 15% on weekdays from 15:00 to 18:00 — are added by the POS itself:
- Open Locations, the location and the ⏰ Discounts and service charge by schedule block → Set up.
- Choose + Add a discount, enter the Name on the receipt, the percentage and the days and hours in When it works.
- Click Save.
- Open a new bill on the POS inside the window and add an item: a bill discount with the promotion name appears. It is shown on the bill, pre-bill and receipt and goes into the discount report with the reason Promotion.
The discount goes onto a new bill that has no other bill discount yet. The cashier can remove it — it will not come back on that bill. Bills opened earlier keep their own discount. If several windows are open at once, the largest discount applies. The role discount limit and manager PIN do not apply to it: the location owner set it.
Segment guests only. A rule can name a saved segment, for example "Bought coffee". The POS applies the discount once a phone number of a guest in that segment appears on a new bill, and removes it if the number changes to another guest. The server rechecks the guest: outside the segment it counts as a regular discount and goes through the role limit. Segment membership updates when the directory syncs. Not available on cenaly.ru.
In the POS apps for Android, Windows and Ubuntu the discount works the same way: on a new bill, inside the window, the largest active one. A line with the promotion name appears in the order-taking ticket, with a Remove discount button next to it. An add-on order does not get the discount: it applies only when the bill is opened. The apps do not apply "segment guests only" rules because a new bill there has no guest phone number; those discounts work in the web POS.
Guests on the QR menu and storefront get scheduled prices through the happy hour of a custom menu or category — see the next section.
Scheduled prices#
For happy hour, configure scheduled prices for a dish, category, custom menu or collection. POS places the current price on the line; it does not show the reduction as a separate ticket discount. See Scheduled menus.
Gift cards and memberships as payment#
A gift card is a payment method. Select Gift card, enter the code, select Check, enter the amount and select Charge the card. A scanner can enter the code. An expired card cannot be redeemed. For issuing, balances and restrictions, see Gift cards.
A membership can pay for a visit linked to an appointment: use Redeem package visit or Pay visit by package. An ordinary restaurant ticket without an appointment cannot be paid simply by typing an MB- code at the till. Code-based redemption has a separate action in the admin panel; see Memberships.
Review discounts by cashier#
Open Statistics → Risky operations, select the period, cashier and Manual discount type. Review the amount, reason and ticket to distinguish approved complimentary offers from repeated unexplained discounts.
Rejected over-limit discount events appear here too. Loss-control rules help identify a run of discounts; this is an operations log, not a sales report by promotion.
Limitations#
- No named-discount catalogue, manual price override or price increase through a negative discount.
- Automatic coupons work on the storefront and in online orders; the cashier supplies the discount at the till, except for a discount from a selected option. One coupon per ticket.
- No setting blocks coupons together with happy hour or manual discounts; no automatic best-coupon selection.
- No guest confirmation for points redemption and no loyalty tiers.
- Manual discounts, promo codes and points work only in the web POS. The POS apps and the Android waiter app support only the scheduled bill discount; the Windows waiter app does not apply it.
- No sales-by-discount-promotion report or coupon redemption statistics in the interface.
- Paid or closed tickets cannot be changed through these actions.
Troubleshooting#
| Symptom | Cause | What to do |
|---|---|---|
| Discount asks for a PIN | The role limit is exceeded | Ask a manager to approve; the owner can check the role limit |
| Discount was not applied | Approval was cancelled, the PIN cannot approve or the ticket is locked | Check the open ticket and retry with an authorised manager |
| “No such promo code at this location — check the spelling.” | No matching code at the selected location | Check the code and location in Commerce |
| “This promo code is switched off.” | The coupon is disabled | The owner should check whether the offer should still run |
| “This promo code has been used the maximum number of times.” | The overall limit is reached | Check the total usage limit; choose another valid offer |
| “This guest has already used the promo code the maximum number of times.” | The guest's limit is reached | Check the per-customer limit; it cannot be exceeded |
| Promo code asks for a phone | The coupon has customer conditions | Attach the correct guest phone and apply again |
| “The guest doesn’t meet the promo code’s customer conditions.” | Order count, spend or another condition is not met | Compare the conditions with the guest's history |
| Promo code conditions are not met | Dates, minimum order or eligible items do not match | Check validity dates, minimum order and coupon scope |
| Promo code asks for items | The ticket is empty | Add the ordered dishes, then try again |
| “Invalid or not applicable” without details | The location could not be resolved or the refusal reason is unknown | Check the location and coupon settings; if it persists, give support the time and code |
| Coupon cannot be checked offline | Cloud connection is unavailable | Reconnect and retry or take payment without the coupon |
| Points cannot be redeemed | Guest phone is not found, the cap is reached or the program is off | Check the phone, balance, max N and location loyalty settings |
| Birthday offer does not appear | Chip/offer is off, birthday is missing or outside the window | Check POS appearance, the rule and the attached guest's card |
| Birthday gift is unavailable | Already given this year, or a discount, coupon or reward is applied | Check the gift record; choose one offer if there is a conflict |
| “Card has expired” | The gift card has expired | Check its validity in Commerce and offer another payment method |
FAQ#
Can an item discount combine with a ticket discount?#
Yes. The item is reduced first; the ticket discount is then calculated on the remaining subtotal.
Do I need to enter the code for an automatic offer?#
At the till, yes. Automatic application without a code works on the storefront.
Can a birthday dish combine with points redemption?#
No. A birthday gift does not combine with a loyalty reward or another ticket discount. Agree with the guest which offer to use.
Why did the promotion not apply at the till?#
Apply automatically (no code needed) does not trigger it in POS. Enter the code and check the selected location’s coupon conditions. Reapply it after changing items or item discounts.
Can I block promo codes during happy hour?#
There is no such setting. Stackable with other coupons controls other coupons only. Agree the promotion rules with cashiers; this flag does not enforce a happy-hour exclusion.
Why did a 10% coupon and a 5% ticket discount differ from two successive reductions?#
Both use the base after item discounts and before the ticket discount; the coupon may cover only some items. See the calculation examples above.
Related topics#
- POS — orders and payment
- Loyalty — stamps, points and birthday gift setup
- Commerce — coupons and their conditions
- Staff — staff cards and access
- Roles and permissions — discount limit, manager PIN and POS restrictions
- Scheduled menus — happy hour
- Gift cards and Memberships — separate payment methods
- Service charge — a service percentage on the ticket
- Shift manager tasks — approvals and control at the POS
- Waiter app — what a waiter can do from a phone