# Taking payment

> How to record a payment in the Riscuoti mode of the Cassa: items not in the catalogue, payment methods (cash, KlimaCard, POS, message, other), checks, messages and errors.

Last updated: 22 October 2026. Source: https://narciso.io/en/docs/incassare/

**Taking payment** means recording the sale of products and services to a client in the **Riscuoti** (Take payment) mode of the [Cash desk](https://narciso.io/en/docs/cassa/). This entry describes the steps and the payment methods; for the layout of the page see [Cash desk](https://narciso.io/en/docs/cassa/).

## Procedure: taking payment in cash

1. Check that you are in **Riscuoti** mode.
2. Click the client in the left-hand column (optional: without a client the sale is anonymous).
3. Click the products and services to sell and adjust the quantities with the plus and minus buttons.
4. (Optional) Type a discount code and press Invio (Enter) (see [Discount code in the Cash desk](https://narciso.io/en/docs/codice-sconto-in-cassa/)).
5. With the method arrows choose **CONTANTI** (Cash).
6. Check the **TOTALE** (Total) on the receipt.
7. Click **Riscuoti**.
8. The green message «Vendita registrata con successo!» (Sale recorded successfully!) appears and the browser plays a short cash-register sound (see [Alerts and sounds](https://narciso.io/en/docs/avvisi-e-suoni/)). The receipt is emptied and the discount code is cleared.

The client selection **stays**: if the next client is a different one, you have to remove it by hand.

If the sale fails, the receipt stays as it was: nothing is emptied, and you can correct it and try again.

## Items not in the catalogue: the calculator

To take payment for something that is not in the catalogue (a tip, a product that has not been registered, an occasional service) use the **calculator** button above the product list. The calculator replaces the list and contains, from the top:

1. the **item name** box, compulsory. While it is empty it shows four help phrases in rotation, as if someone were typing; as soon as you click it or type, «Nome voce» (Item name) appears;
2. a **green display** with the price, initially 0;
3. the **description** box, «Descrizione (opzionale)» (Description (optional));
4. the **keypad**: 7 8 9 and **C**; 4 5 6 and the key that deletes the last digit; 1 2 3 and **OK**; 0, 00 and the comma.

### Keypad

| Key | Effect |
|---|---|
| Digits 0-9 and 00 | Add digits to the price. The price starts at 0: the first digit other than zero replaces it |
| Comma | Inserts the decimal comma (only one). After the comma a maximum of **two decimals** are accepted |
| C | Resets the price to 0 |
| Arrow with an x | Removes the last digit; if only one is left the price goes back to 0 |
| OK | Adds the item to the receipt |

### Computer keyboard

With the calculator open the keyboard drives the calculator even if no box is selected:

| Key | Effect |
|---|---|
| 0-9 | Types into the **price** (not the name) |
| Comma or full stop | Inserts the decimal comma |
| Invio (Enter) | Same as OK |
| Canc (Delete), Esc, letter C | **Reset the price**. Esc does not close the calculator |
| Backspace | Deletes the last digit of the price (if you are typing in the name or the description it deletes one letter of the text) |
| Other letters and space | Go into the **name**, even if the box is not selected; they go into the description only if you are typing there |
| Ctrl, Alt, Tab | Ignored (Ctrl+V works in the selected box) |

### With OK

- If the name is empty nothing happens and no message appears: write the name first.
- Otherwise the item goes onto the receipt with quantity 1 and the price entered, and the calculator closes. The description is not kept.
- The same item can be added several times: each time it is a new row. Items not in the catalogue appear only on the receipt, never in the list.
- When payment is taken, the item is recorded as a **free line** with the name and price entered and with the business's VAT rate. It does not earn loyalty points.
- If the business has no VAT rate set, taking payment is blocked (see [VAT and the flat-rate regime in the Cassa](https://narciso.io/en/docs/iva-e-regime-forfettario/)).

If you scan an unknown barcode with the reader, the calculator opens by itself (see [Barcode reader](https://narciso.io/en/docs/lettore-di-codici-a-barre/)).

## Payment methods

The **method selector** is at the bottom of the receipt, in the first row of controls. The methods, in order:

| Method | When it appears | What it does |
|---|---|---|
| **KLIMACARD** | Always (it is the first one shown) | Opens a payment on a KlimaCard terminal (POS 1, 2 or 3) through Stripe |
| **CONTANTI** (Cash) | Always | Records the sale immediately as cash |
| **POS** | Only if there is a POS that really receives the amount from the Cassa | SumUp with the Solo reader paired to the location, or Satispay connected |
| **ALTRO** (Other) | Always | Records the sale immediately as a bank transfer |
| **MESSAGGIO** (Message) | Only if the chosen client has a WhatsApp number | Sends the client a payment link on WhatsApp |

The method names have different colours (KlimaCard green, Contanti amber, POS blue, Altro purple, Messaggio WhatsApp green).

The only sales that the Cassa records directly are **cash** and **bank transfer** (Altro). Sales by **card/POS**, **Satispay** and **KlimaCard** are created only from a payment verified by the system: the Cassa does not record them on its own.

For **KlimaCard**, **Messaggio** and **POS** a second selector appears next to the method:

| Method | What you choose | Entries |
|---|---|---|
| KLIMACARD | The terminal | POS 1, POS 2, POS 3 |
| MESSAGGIO | The channel (fixed) | WhatsApp |
| POS | The POS network | Only the networks that take payments: SumUp (with a paired reader) and Satispay (connected) |

A **struck-through** name in the selector means that the network cannot be used: for KlimaCard the POS name is struck through when Stripe is not connected; for the POS method the network is struck through if it cannot receive the amount.

> **Note.** **myPOS, Axerve and Nexi** (and SumUp without a paired reader) can be connected in the Collegamenti (Connections), but they **do not receive the amount from the Cassa** and cannot be used to take payment from here. If you have an external terminal, take payment by recording the sale as **Contanti** or **Altro**, or send the client to pay with the link (**Messaggio** method). See [Cash desk links](https://narciso.io/en/docs/collegamenti-della-cassa/).

## Procedures by method

### KlimaCard

1. Prepare the receipt.
2. Choose **KLIMACARD**.
3. Choose the terminal (POS 1, POS 2 or POS 3). The name must not be struck through.
4. Click **Riscuoti**.
5. If the terminal is free, the green message «Link di pagamento KlimaCard creato: in attesa di pagamento sul POS N. La vendita verrà registrata quando il cliente paga.» (KlimaCard payment link created: waiting for payment on POS N. The sale will be recorded when the client pays.) appears. The receipt is emptied and the discount code is cleared.
6. If there is already a payment waiting on that terminal, the yellow message «Il POS N di KlimaCard risulta già occupato» (KlimaCard POS N is already busy) appears with the **Libera** (Release) button. **Libera** closes the waiting payment and immediately creates a new one for the current receipt. Warning: releasing a terminal cancels the payment that was waiting there.

The sale appears in the lists only after the client has paid. The waiting payment expires after **30 minutes**; the minimum amount is **€0.50**. It can also be used without choosing a client. Stripe must be connected (see [Cash desk links](https://narciso.io/en/docs/collegamenti-della-cassa/)).

### Message (payment link on WhatsApp)

1. Choose the client (compulsory): the **MESSAGGIO** method appears only if they have a WhatsApp number.
2. Prepare the receipt and choose **MESSAGGIO**.
3. Click **Riscuoti**.
4. The green message «Link di pagamento inviato su WhatsApp: la vendita verrà registrata quando il cliente paga.» (Payment link sent on WhatsApp: the sale will be recorded when the client pays.) appears. The receipt is emptied.

The client receives the text «Ciao NOME! Ecco il link per pagare € X: … Il link è valido 30 minuti. Grazie!» (Hello NAME! Here is the link to pay €X: … The link is valid for 30 minutes. Thank you!). The link is valid for 30 minutes and the minimum amount is €0.50. The sale is **not recorded immediately**: it is created only when the payment is confirmed (with stock, points and commercial document as for every sale). If the link expires without payment there is nothing to cancel.

Errors in red: «Invio del link WhatsApp non riuscito: MOTIVO» (Sending the WhatsApp link failed: REASON), for example «Impossibile inviare il messaggio WhatsApp: numero mancante o WhatsApp non collegato per questa sede» (Unable to send the WhatsApp message: number missing or WhatsApp not connected for this location) or «Stripe non configurato per questo tenant» (Stripe not configured for this tenant). In these cases nothing is sent and the receipt stays as it is.

### POS with SumUp and the Solo reader

This applies only if SumUp is connected and a Solo reader is paired to the location (see [Cash desk links](https://narciso.io/en/docs/collegamenti-della-cassa/)).

1. Prepare the receipt, choose **POS** and the **SumUp** network.
2. Click **Riscuoti**. The amount is sent to the reader and the receipt is emptied. The yellow notice «In attesa del pagamento sul lettore SumUp (€ X). La vendita verrà registrata quando il cliente paga.» (Waiting for payment on the SumUp reader (€ X). The sale will be recorded when the client pays.) appears with the **Annulla** (Cancel) button, available for up to 10 minutes.
3. The client pays on the reader. The program checks the outcome every 2 seconds:
   - payment successful: green message «Pagamento SumUp riuscito: vendita registrata.» (SumUp payment successful: sale recorded.) and the cash-register sound. The sale is created only now;
   - payment failed: red message «Pagamento sul lettore SumUp non riuscito: MOTIVO. Nessuna vendita registrata: ricomponi il carrello e riprova.» (Payment on the SumUp reader failed: REASON. No sale recorded: rebuild the cart and try again.);
   - **Annulla** before the client pays: «Pagamento sul lettore annullato: nessuna vendita registrata.» (Payment on the reader cancelled: no sale recorded.) If the payment has meanwhile already succeeded, cancelling does not change the outcome and the real one appears. If cancelling fails: «Annullamento non riuscito: MOTIVO» (Cancellation failed: REASON).
4. If the payment does not start, «Pagamento sul lettore SumUp non avviato: MOTIVO» (Payment on the SumUp reader not started: REASON) appears (for example reader busy or not ready).

With the **Scontrino dichiarato da SumUp** (Receipt declared by SumUp) option on, Narciso does not transmit to the Agenzia delle Entrate (Italian Revenue Agency) the sales paid with the reader (see [Cash desk links](https://narciso.io/en/docs/collegamenti-della-cassa/)).

### POS with Satispay

This applies only if Satispay is connected.

1. Prepare the receipt, choose **POS** and the **Satispay** network.
2. Click **Riscuoti**. The receipt is emptied, the Satispay screen opens with the **QR** code or the field for the client's **phone number**, and the yellow notice «In attesa del pagamento Satispay (€ X). La vendita verrà registrata quando il cliente paga.» (Waiting for the Satispay payment (€ X). The sale will be recorded when the client pays.) appears with the **Annulla** button, available for up to 10 minutes.
3. The client approves the payment in their Satispay app. The program checks the outcome every 2 seconds:
   - payment successful: «Pagamento Satispay riuscito: vendita registrata.» (Satispay payment successful: sale recorded.) and the cash-register sound;
   - payment failed: «Pagamento Satispay non riuscito: MOTIVO. Nessuna vendita registrata: ricomponi il carrello e riprova.» (Satispay payment failed: REASON. No sale recorded: rebuild the cart and try again.);
   - **Annulla** before the client pays: «Pagamento Satispay annullato: nessuna vendita registrata.» (Satispay payment cancelled: no sale recorded.) If cancelling fails: «Annullamento non riuscito: MOTIVO».
4. If the payment does not start, «Pagamento Satispay non avviato: MOTIVO» (Satispay payment not started: REASON) appears.

Closing the Satispay screen with the **X** does not cancel the payment: the wait stays and is cancelled from the yellow notice.

### Altro and terminals not connected

**ALTRO** records the sale as a bank transfer, with no checks on the connections. It is the method to use, together with **CONTANTI**, when the payment went through a terminal that is not connected to the Cassa (myPOS, Axerve, Nexi or others): you take payment on the terminal and then record the sale.

## What the program checks

Before recording, in this order:

| Situation | Red message | What to do |
|---|---|---|
| Empty receipt | (none: the button is off) | Add items |
| Client just chosen | «I dati del cliente non sono ancora arrivati. Riprova tra un istante.» (The client's data has not arrived yet. Try again in a moment.) | Try again after a moment |
| POS method and no POS that takes payments | «Non è possibile incassare con il POS: serve SumUp con il lettore abbinato oppure Satispay collegato. myPOS, Axerve e Nexi non ricevono l'importo dalla Cassa.» (It is not possible to take payment with the POS: you need SumUp with a paired reader or Satispay connected. myPOS, Axerve and Nexi do not receive the amount from the Cassa.) | Use another method |
| POS method and a network that cannot receive the amount | «NOME non può ricevere l'importo dalla Cassa (manca il lettore abbinato). Scegli un POS che incassa, oppure un altro metodo.» (NAME cannot receive the amount from the Cassa (the paired reader is missing). Choose a POS that takes payments, or another method.) (the part in brackets appears only for SumUp) | Use the arrows to choose a network that is not struck through |
| KlimaCard or Messaggio and Stripe not connected | «Non è possibile ricevere pagamenti con link Stripe: il provider Stripe non è stato ancora configurato.» (It is not possible to receive payments with a Stripe link: the Stripe provider has not been configured yet.) | Connect Stripe in the Collegamenti |
| Messaggio without a client | «Seleziona un cliente con numero WhatsApp per inviare il link di pagamento.» (Select a client with a WhatsApp number to send the payment link.) | Choose the client |
| Item without a VAT rate | «Una o più voci non hanno un'aliquota IVA: completa la scheda del prodotto/servizio (o l'aliquota del salone) prima di incassare.» (One or more items have no VAT rate: complete the product/service record (or the salon's rate) before taking payment.) | Complete the rate (see [VAT and the flat-rate regime in the Cassa](https://narciso.io/en/docs/iva-e-regime-forfettario/)) |
| KlimaCard and creation failed | «Errore durante la creazione del pagamento KlimaCard: MOTIVO» (Error while creating the KlimaCard payment: REASON) | Read the reason (for example amount under €0.50) and try again |
| Recording failed | «Errore durante la registrazione della vendita: MOTIVO» (Error while recording the sale: REASON) | Read the reason (see below) |

### Reasons for registration errors

| Text after «Errore durante la registrazione della vendita:» | Meaning |
|---|---|
| «Uno o più servizi non trovati o non appartengono al tenant» (One or more services not found or do not belong to the tenant) | A service on the receipt has been deleted in the meantime. Reload the page and rebuild the receipt |
| «Uno o più prodotti non trovati o non appartengono al tenant» (One or more products not found or do not belong to the tenant) | A product on the receipt has been deleted in the meantime. Reload the page and rebuild the receipt |
| «Stock insufficiente per NOME. Disponibile: N, Richiesto: M» (Insufficient stock for NAME. Available: N, Requested: M) | The real stock is lower than requested (for example a colleague sold the same product). Reduce the quantity |
| «Cliente non trovato o non appartiene al tenant» (Client not found or does not belong to the tenant) | The chosen client no longer exists. Remove the selection |
| «Validazione di integrità fallita: il totale inviato (€X) non coincide con la somma degli articoli (€Y)…» (Integrity validation failed: the total sent (€X) does not match the sum of the items (€Y)…) | The total shown no longer matches the items, typically because the receipt changed after a discount code was verified. Clear the code and verify it again (see [Discount code in the Cash desk](https://narciso.io/en/docs/codice-sconto-in-cassa/)) |

## What is recorded

When the sale goes through:

- **The sale** is saved in the location you are working in, with the current date and time, total, payment method and lines of products and services.
- **Stock**: for each product the stock goes down by the quantity sold and an outgoing movement «Vendita #…» (Sale #…) is noted (see [Stock](https://narciso.io/en/docs/magazzino/)).
- **The client**, if chosen: the total spent increases by the amount, the last visit becomes today and the client is associated with the location.
- **Loyalty points**: see [Payments and POS](https://narciso.io/en/docs/pagamenti-e-pos/).
- **The discount code**, if applied, is marked as used. If this step fails (for example because the code has meanwhile reached its usage limit), the sale stays recorded and the red message «Vendita registrata, ma il codice sconto "NOME" non è stato segnato come usato: MOTIVO. Controlla manualmente il codice.» (Sale recorded, but the discount code "NAME" was not marked as used: REASON. Check the code manually.) appears.
- **The appointment**: if you arrived from an appointment's Checkout, it becomes **Completato** (Completed) (with KlimaCard, SumUp, Satispay and Messaggio, when the client has paid). An appointment generates at most one sale. If the sale is deleted, the appointment goes back to Confermato (Confirmed) (see [Appointment card](https://narciso.io/en/docs/scheda-appuntamento/)).
- **The commercial document** to the Agenzia delle Entrate, if the electronic receipt is active (see [Payments and POS](https://narciso.io/en/docs/pagamenti-e-pos/)).

In Riscuoti no receipt window opens and no printing starts: on screen the receipt is emptied. To find the sale again use the summary pages (see [Transaction history](https://narciso.io/en/docs/storico-transazioni/)).

## Arriving from an appointment's Checkout

The **Checkout** button of the [Appointment card](https://narciso.io/en/docs/scheda-appuntamento/) opens the Cassa in Riscuoti mode with the **client** already selected and on the receipt **all the services and products** of the appointment, with their quantities and at the current list price. From there you proceed as for a normal sale. If the client cannot be found, «Cliente non trovato.» (Client not found.) appears. Changing mode from the Cassa empties the receipt.

## Common problems

| Problem | What to do |
|---|---|
| The POS method is not in the selector | No POS that takes payments is connected: you need SumUp with a paired reader or Satispay |
| The Messaggio method does not appear | The chosen client has no WhatsApp number, or no client has been chosen |
| After KlimaCard or Messaggio the sale does not appear | This is normal: it is created only when the client has paid. If the link expires (30 minutes) nothing is recorded |
| The Riscuoti button is off | The receipt is empty or a payment is in progress |
| «Stock insufficiente…» | A colleague sold the same product: reduce the quantity |
| The price of an item is different from the one in the appointment | The Checkout brings the items at the current list price |

## Related entries

- [Cash desk](https://narciso.io/en/docs/cassa/)
- [Discount code in the Cash desk](https://narciso.io/en/docs/codice-sconto-in-cassa/)
- [VAT and the flat-rate regime in the Cassa](https://narciso.io/en/docs/iva-e-regime-forfettario/)
- [Payments and POS](https://narciso.io/en/docs/pagamenti-e-pos/)
- [Cash desk links](https://narciso.io/en/docs/collegamenti-della-cassa/)
