# Loyalty rewards

> The catalogue of rewards that clients obtain by spending loyalty points: the table, the two- or three-step form for creating a product reward or a discount voucher, activating and deactivating, and importing from documents.

Last updated: 22 October 2026. Source: https://narciso.io/en/docs/premi-fedelta/

A **loyalty reward** is what a client with the card can obtain by spending their points: a free item or a discount voucher. This is where you define the catalogue of rewards; points and the movement log are in [Loyalty points](https://narciso.io/en/docs/punti-fedelta/), redemption is done in Cassa (see [Loyalty rewards in the Cash desk](https://narciso.io/en/docs/cassa-fedelta/)).

## Where to find it and who can use it

Open **Scartoffie ▸ Promozioni** and choose the **Premi Fedeltà** tab (star). Rewards belong to the **location you are working in**.

The tab is visible to all roles, but **creating, editing, deactivating and importing rewards** is reserved for **Titolare (owner) and Responsabile (manager)**. An Operatore (operator) who tries sees the yellow notice «Operazione riservata a Titolare o Responsabile.» (Operation reserved for Titolare or Responsabile.) and nothing changes.

## The table

The table has the title «Premi Fedeltà» and the general behaviour described in [Data tables](https://narciso.io/en/docs/tabelle-dati/). The search («Cerca premio...» (Search reward...)) searches in the name and in the description.

| Column | What it shows |
|---|---|
| **Foto** (Photo) | The reward's thumbnail. Without a photo a dashed square with a gift appears |
| **Nome** (Name) | The name, in bold |
| **Categoria** (Category) | A grey label; «—» if empty |
| **Tipo** (Type) | **Sconto** (Discount) (green) or **Oggetto** (Item) (amber) |
| **Codice** (Code) | An 8-character code, assigned by the program **only to rewards of the Sconto type**; «—» for the others |
| **Dettaglio Sconto** (Discount Detail) | For discounts «-20%» or «-5.00€»; for Oggetto rewards «🎁 Omaggio» (Free gift) |
| **Punti Richiesti** (Points Required) | «N Punti» (N Points) |
| **Descrizione** (Description) | The text, truncated; hold the mouse over it to read it in full |
| **Stato** (Status) | A switch: green if the reward is active, grey if it is not |

> **Note.** The code of a reward of the Sconto type identifies the reward. It is not written in the «Codice Sconto / Promo» (Discount / Promo Code) box of the Cassa, which only recognises the codes of the [Promotions](https://narciso.io/en/docs/promozioni/).

### Activating and deactivating

A click on the **Stato** switch (tooltip «Disattiva premio» (Deactivate reward) or «Attiva premio» (Activate reward)) changes the status immediately, without selecting the row. «Premio attivato» (Reward activated) or «Premio disattivato» (Reward deactivated) appears; if the operation fails, «Errore nel cambiare lo stato del premio» (Error while changing the reward's status) appears.

A deactivated reward stays in the table with the switch off, cannot be redeemed and does not appear in the Cassa's list of rewards. It is reactivated with a click on the same switch.

### Removing

1. Select one or more rows.
2. Press **Rimuovi** (Remove).
3. The browser asks «Disattivare N premi?» (Deactivate N rewards?) (or «Disattivare 1 premio?» (Deactivate 1 reward?)). With **OK** the rewards are **deactivated**: they are not deleted from the program.
4. «Premio disattivato» or «Premi disattivati» (Rewards deactivated) appears; if some cannot be done, «1 premio non è stato disattivato» (1 reward was not deactivated) or «N premi non sono stati disattivati» (N rewards were not deactivated).

The history of redemptions already made can still be consulted in [Loyalty points](https://narciso.io/en/docs/punti-fedelta/).

## Creating a reward

Press **Aggiungi** (Add) and choose **Crea da zero** (Create from scratch) (or **Importa esistenti** (Import existing), see below). The form «Nuovo premio» (New reward) opens, in steps. How many depends on the choice:

| Type of reward | Steps |
|---|---|
| Product chosen from the stock | **Tipo di premio** (Reward type) → **Punti e conferma** (Points and confirmation) |
| Product not in stock | **Tipo di premio** → **Dettagli** (Details) → **Punti e conferma** |
| Discount voucher | **Tipo di premio** → **Dettagli** → **Punti e conferma** |

At the bottom there are **Annulla** (Cancel) (closes without saving and without asking for confirmation), **Indietro** (Back), **Avanti** (Next) and, in the last step, **Crea** (Create) (new reward) or **Salva** (Save) (edit). The **X** at the top and a click on the dark background close without saving. You can go back to a previous step by clicking it in the step bar.

### Step «Tipo di premio»

**Tipologia di premio** (Type of reward) (required) has two buttons:

- **Prodotto** (Product): «Articolo omaggio in negozio» (Free item in the shop);
- **Buono Sconto** (Discount Voucher): «Sconto applicato in cassa» (Discount applied at the cash desk).

Changing the type **resets** the name, category, photo and links already chosen.

**If you choose Prodotto**, «Prodotto da regalare dall'inventario» (Product to give away from the stock) appears, a search field («Cerca prodotto in inventario o nuovo...» (Search product in stock or new...)):

- while the products load you read «Caricamento prodotti in corso...» (Loading products...); with no results, «Nessun prodotto trovato in inventario» (No product found in stock);
- each product shows the price and the points it awards;
- at the top of the list there is **«Prodotto non in magazzino (Nuovo prodotto)»** (Product not in stock (New product)), for a gift that is not in the stock: it opens the Dettagli step;
- once a product is chosen, the field becomes a green box with name, price and points and an **X** («Rimuovi selezione» (Remove selection)) to remove it.

When you choose a product from the stock the program fills in the reward's name («Product name - Gratis» (Free)), the category, the photo and the **suggested points required** by itself: the points assigned to the product or, if they are zero, the selling price multiplied by 5 and rounded. The chosen product is not blocked or taken out of stock.

**If you choose Buono Sconto**:

- **Tipo di sconto** (Type of discount): **Percentuale (%)** (Percentage) or **Importo fisso (€)** (Fixed amount);
- **Valore sconto** (Discount value): for the percentage from 1 to 100, for the amount in steps of 0.50.

When you press **Avanti** the program checks the step and shows a red notification:

| Message | When |
|---|---|
| «Per continuare, scegli il prodotto da regalare.» (To continue, choose the product to give away.) | Prodotto type with no product chosen |
| «Per continuare, inserisci quanto vale lo sconto.» (To continue, enter the value of the discount.) | Discount value empty or zero |
| «La percentuale di sconto non può superare 100.» (The discount percentage cannot exceed 100.) | Percentage over 100 |

### Step «Dettagli» (discount voucher or product not in stock only)

| Field | Rules |
|---|---|
| **Nome del premio** (Name of the reward) | Required |
| **Categoria** | Optional, free text |
| **Foto** | Optional: **Sfoglia** (Browse) to choose it from the computer; a preview, the file name and an **X** («Rimuovi foto» (Remove photo)) appear. For a reward that is already saved, «Foto attuale» (Current photo) appears |
| **Applicabilità dello sconto** (Where the discount applies) (discount voucher only) | **Su tutto il conto finale** (On the whole final bill), **Su servizio specifico** (On a specific service) or **Su prodotto specifico** (On a specific product). The last two bring up a search field («Cerca servizio...» (Search service...) or «Cerca prodotto...» (Search product...)) with the price and points of each item |
| **Descrizione o condizioni** (Description or conditions) | Optional: for example «Valido su tutti i servizi dal lunedì al venerdì, non cumulabile.» (Valid on all services from Monday to Friday, cannot be combined.) |

Check messages:

| Message | When |
|---|---|
| «Per continuare, inserisci il nome del premio.» (To continue, enter the name of the reward.) | Name empty |
| «Per continuare, scegli dalla lista il servizio su cui vale lo sconto.» (To continue, choose from the list the service the discount applies to.) | «Su servizio specifico» with no service |
| «Per continuare, scegli dalla lista il prodotto su cui vale lo sconto.» (To continue, choose from the list the product the discount applies to.) | «Su prodotto specifico» with no product |

### Step «Punti e conferma»

| Field | Rules |
|---|---|
| **Costo in punti** (Cost in points) | Whole number of at least 1. Default 100 |
| **Visibilità nel catalogo** (Visibility in the catalogue) | **Attivo e visibile** (Active and visible) / **Nascosto** (Hidden) switch. A hidden reward cannot be redeemed |
| **Riepilogo del premio** (Reward summary) | Summarises Nome, Tipologia (Prodotto omaggio (Free product), Sconto N% or Sconto N€), Applicazione (Application) (the chosen product, «Tutto il conto» (Whole bill), a specific service or product) and Costo riscatto (Redemption cost) |

If the cost is empty or below 1, «Inserisci quanti punti servono per questo premio (almeno 1).» (Enter how many points this reward needs (at least 1).) appears. When you press **Crea** or **Salva** the program checks all the steps again and, if one is not correct, takes you back to that step.

> **Note.** On **creation** a reward is always born active, even if «Nascosto» was chosen in the last step. To hide it, just turn off the **Stato** switch in the table. When editing, the choice is respected.

### After saving

The window closes and the reward appears, or is updated, in the table. **No confirmation notification appears.** The program assigns an 8-character code to rewards of the Sconto type.

If saving fails, a red notification appears and the window stays open, with the program's message or «Errore durante il salvataggio del premio» (Error while saving the reward). The most common messages:

| Message | Meaning |
|---|---|
| «Un premio sconto deve avere uno sconto maggiore di zero: indica una percentuale o un importo in euro.» (A discount reward must have a discount greater than zero: give a percentage or an amount in euros.) | The discount is zero |
| «I punti richiesti per un premio devono essere almeno 1.» (The points required for a reward must be at least 1.) | The cost in points is zero |
| «Prodotto non trovato o non autorizzato» / «Servizio non trovato o non autorizzato» (Product not found or not authorised / Service not found or not authorised) | The linked product or service no longer exists: choose another |
| «Validazione fallita» (Validation failed) | A field exceeds the limits: name between 2 and 100 characters, description at most 500, points at least 1, percentage between 0 and 100. The message does not say which field: check the values again |

### Procedures

**Creating a «free product» reward**

1. **Aggiungi ▸ Crea da zero**.
2. Leave **Prodotto** and search for and choose the product from the stock. **Avanti**.
3. Check the **Costo in punti**. **Crea**.

**Creating a discount voucher**

1. **Aggiungi ▸ Crea da zero** and choose **Buono Sconto**.
2. Choose **Percentuale** or **Importo fisso** and write the value. **Avanti**.
3. Write the name and choose where it applies (the whole bill, a service or a product), optionally with category, photo and description. **Avanti**.
4. Set the cost in points. **Crea**.

## Editing a reward

Select the row with a click, press **Modifica** (Edit), change the fields and press **Salva**.

For a «product from the stock» reward the form does not show Nome, Categoria, Foto and Descrizione, which come from the product: to change them you must choose «Prodotto non in magazzino». An Oggetto reward created with the import (with no linked product) requires, when editing, choosing a product or «Prodotto non in magazzino» before going on.

## Importing rewards from documents

**Aggiungi ▸ Importa esistenti** opens the guided import window, with the description: «Carica fogli o documenti che descrivono dei premi riscattabili con i punti fedeltà. L'Intelligenza Artificiale li legge e prepara i premi: prima di inserirli li rivedi e scegli quali importare.» (Upload sheets or documents that describe rewards that can be redeemed with loyalty points. The Artificial Intelligence reads them and prepares the rewards: before inserting them you review them and choose which to import.) How it works (upload, review with the original file alongside, insertion) is the same as described in [Importing clients](https://narciso.io/en/docs/importare-clienti/).

For each reward the program looks for **name** (required), **description**, **points required** (required, whole number of at least 1) and **category**. Every imported reward is of the **Oggetto** type (an item to hand over) and is born active. Discount vouchers cannot be imported: they are created with **Crea da zero**.

Import is reserved for Titolare and Responsabile.

## Common problems

| Situation | What to do |
|---|---|
| A reward does not appear in Cassa | It is deactivated, or it was created in another location: check the Stato switch and the location at the top |
| The client redeemed a reward but did not get the discount | Redemption only removes the points: the discount or the gift is given by hand (see [Loyalty rewards in the Cash desk](https://narciso.io/en/docs/cassa-fedelta/)) |
| The reward's code does not work in the Cassa's code box | That is expected: that box only recognises the codes of the [Promotions](https://narciso.io/en/docs/promozioni/) |
| I chose «Nascosto» but the reward is active | On creation the reward is always born active: turn off the Stato switch in the table |
| I cannot save and the message is «Validazione fallita» | Check name (2-100 characters), description (maximum 500), points (at least 1) and discount value |

## Related entries

- [Loyalty points](https://narciso.io/en/docs/punti-fedelta/)
- [Loyalty rewards in the Cash desk](https://narciso.io/en/docs/cassa-fedelta/)
- [Promotions](https://narciso.io/en/docs/promozioni/)
- [Services](https://narciso.io/en/docs/servizi/)
- [Products](https://narciso.io/en/docs/prodotti/)
