Products
Last updated:
Translated from the Italian guide. Narciso itself is in Italian, so the names of buttons, menus and fields are shown exactly as they appear on screen, with a translation in brackets where it helps.
The Prodotti (Products) tab of the Stock is the catalogue of what the salon keeps on the shelf and sells: each row is a product with its stock level, prices, safety stock and supplier. The stock level changes by itself with sales, appointments and orders received (see Stock); by hand it changes only with Stock in and out or by correcting it in the product record.
Which products appear. These do not appear: products without a name, removed products, the «voci personalizzate» (custom items) of the Cassa (one-off rows), the items that the Cassa saves as a service (they go to Services) and the products marked Obsoleto (Obsolete).
Contents
The columns#
The table has 37 columns, all visible at the start. That is a lot: with the Tool panel (Visibilità (Visibility) button) you hide the ones you do not need, and with Ctrl + wheel you scroll horizontally. Prices and weights are plain numbers («12.5»), without the euro symbol. Every heading has an «i» with an explanation.
| Column | What it shows |
|---|---|
| Nome Prodotto (Product name) | The name |
| Ultimo Rifornimento (Last restock) | The date of the last arrival of goods, or the green label IN CORSO (In progress) if there is a supplier order not yet received (see Incoming orders) |
| Qtà Disponibile (Available qty) | The stock level, in red and bold when it is equal to or lower than the Scorta Sicurezza. With an order in progress, the amber badge +N («In arrivo», Incoming) appears with the number of items ordered |
| P. Vendita (€) (Selling price) | The price to the public, VAT included |
| P. Acquisto (€) (Purchase price) | The cost from the supplier, excluding VAT |
| IVA (%) (VAT) | The rate, for example «22%» |
| Fornitori (Suppliers) | «1 Fornitore» or «N Fornitori» (blue link); «-» if none |
| Stato (Status) | A coloured dot and a label: In magazzino (In stock) (green), Esaurito (Sold out) (red), Ordinato (Ordered) (blue), In arrivo (Incoming) (amber), Obsoleto (Obsolete) (grey). It does not change by itself with the stock level and cannot be edited: a new product is «In magazzino» |
| SKU | The internal code chosen by whoever manages the stock |
| Codice EAN (EAN code) | The barcode, used by the reader (Barcode reader) |
| Brand | The brand |
| Scorta Sicurezza (Safety stock) | The minimum quantity below which the reorder warning is triggered |
| Punto Riordino (Reorder point) | An indicative threshold, only as a reminder: no warning uses it |
| Ubicazione (Bin) (Location (Bin)) | Where it is kept, for example «Corsia A - Scaffale 3» (Aisle A - Shelf 3) |
| UoM | The unit of measure (pieces, ml, gr, L, kg, pack, or whatever is written) |
| Cod. Produttore (Manufacturer code) | The manufacturer's code |
| Tipologia (Type) | «Prodotto singolo» (Single product), «Genitore di N figli» (Parent of N children) or «Figlio di CODICE» (Child of CODE) (see below) |
| Tipo Imballo (Packaging type) | The transport packaging |
| Dimensioni (Dimensions) | For example «20x10x15 cm» |
| Peso Netto, Peso Lordo (Net weight, Gross weight) | Weight without and with packaging |
| Qtà Impegnata (Committed qty) | Quantity already sold or reserved but not delivered; managed by the program |
| Lotto/Seriale (Batch/Serial) | The production batch |
| Scadenza (FIFO) (Expiry (FIFO)) | The expiry date |
| Cod. Doganale (Customs code) | The customs code (TARIC/HS) |
| Note | Internal notes (also visible in the Cassa, see Stock) |
| Foto (URL) (Photo (URL)) | The link to an image; it can be written only with quick edit |
| MOQ Fornitore (Supplier MOQ) | Minimum orderable quantity |
| Ubicazione Ritorno (Returns location) | Where returns go |
| Paese Origine (COO) (Country of origin (COO)) | Where it was made |
| Hazmat (ADR) | Dangerous goods class; if filled in, it appears as a warning in the product's record in the Cassa |
| BOM (Kit) | Bill of materials or kit code, descriptive only |
| Volume (M3) | Volume in cubic metres |
| Uso (Use) | Interno (Internal), Rivendita (Resale) or Entrambi (Both) (see below) |
| Punti (Points) | The loyalty points that the client earns by buying the product (Loyalty points) |
| Creato il, Aggiornato il (Created on, Updated on) | The date of insertion and of the last change (date only) |
When you hold the mouse over a cell with a value, the Copia (Copy) icon appears, which copies «Column name: value» to the clipboard.
Suppliers and variants straight from the cells#
- Fornitori. A click on «N Fornitori» opens the Fornitori Associati (Linked suppliers) panel, with the «Cerca fornitore...» (Search supplier...) field and the list of linked suppliers, each with an Info button. Info opens the company's record (the same as in Supplier companies): only Titolare (owner) and Responsabile (manager) can save it, and after saving «Fornitore aggiornato» (Supplier updated) appears.
- Tipologia. A click on «N figli» selects the children's rows; a click on the code in «Figlio di» selects the parent's row. After the click the rows stay selected: be careful with Rimuovi (Remove).
- IN CORSO. When you hold the mouse over it, the Gestione Ordine (Order management) balloon appears with Conferma ricezione (Confirm receipt) and Annulla ordine (Cancel order) (Incoming orders).
- A double click on the row does not open anything in particular: to open a product you select the row and press Modifica (Edit).
The toolbar#
| Button | When it is there | What it does |
|---|---|---|
| Rimuovi | With at least one row selected | Removes the selected products immediately (see below) |
| Aggiungi (Add) | With no row selected | Opens «Nuova Scheda Prodotto» (New Product Record) |
| Modifica | With one row or none | One row: guided record. No row: quick edit of the whole table |
| Esporta (Export) | Always | Excel, CSV, JSON, PDF (rules in Data tables) |
| Visibilità | Always | Tool panel |
With two or more rows selected the Modifica button disappears. You sort by a column by clicking its heading, as in the other tables.
Creating a product: «Nuova Scheda Prodotto»#
It opens with Aggiungi, with no row selected. It is a guided procedure in 4 steps: Articolo → Listino → Stock → Dettagli (Item → Price list → Stock → Details). At the bottom there are Annulla (Cancel), Indietro (Back) and Avanti (Next), which in the last step becomes Salva Prodotto (Save product).
- In the step bar you can click only the steps you have already seen, to go back; to go forward you use Avanti, which first checks the step you are in.
- Annulla, the X and a click outside the window close it without asking for confirmation and losing what you have written.
- A wrong field gets a red border and a red warning appears; the error disappears when you correct it.
Step 1 — Articolo#
| Field | Compulsory | Rules |
|---|---|---|
| Brand / Marca (Brand) | Yes | Free text. While you type, a menu appears with up to 15 brands from the reference catalogue; you can also write a brand that is not there |
| Categoria (Category) | Yes, 2 to 50 characters | It becomes active after you have written the Brand and suggests the catalogue's categories for that brand. If left empty, the final save is refused with «Validazione fallita» (Validation failed) |
| Nome Prodotto | Yes, 2 to 100 characters | It becomes active after you have written the Brand and suggests up to 15 catalogue products for that brand. Choosing a suggestion fills in Nome, Codice EAN and SKU by itself |
| Codice EAN / Barcode | Yes | Free text: neither the length nor whether it is only digits is checked. With a reader in Magazzino mode you can read the product's code: the field fills in by itself, with the warning «Prodotto trovato: NOME» (Product found: NAME) if the catalogue knows it, or «Nessun prodotto trovato per l'EAN … Compila i campi manualmente.» (No product found for the EAN … Fill in the fields manually.) |
| Codice SKU | No, maximum 50 characters | Proposed by the program as BRAND (3 letters)-NAME (3 letters)-4 digits, for example «PRO-SHA-4821»; it updates as you type until you change it by hand. The Rigenera (Regenerate) link recalculates it |
If you press Avanti with missing data, these appear one at a time: «Il Brand / Marca è obbligatorio» (The Brand is compulsory), «Il nome prodotto è obbligatorio» (The product name is compulsory) or «Il Codice EAN / Barcode è obbligatorio» (The EAN / Barcode is compulsory).
Step 2 — Listino#
| Field | Compulsory | Rules |
|---|---|---|
| Prezzo di Vendita (€) (Selling price) | If left empty it is 0 | With two decimals, VAT included. It cannot be negative: «Il prezzo di vendita non può essere negativo» (The selling price cannot be negative) |
| Prezzo di Acquisto (€) (Purchase price) | Yes | Excluding VAT. If the product has no cost you write 0: if left empty, «Il prezzo di acquisto è obbligatorio (scrivi 0 se il prodotto non ha costo)» (The purchase price is compulsory (write 0 if the product has no cost)) appears. It cannot be negative |
| Aliquota IVA (%) (VAT rate) | Default 22% | Menu: 22% (Ordinaria, Standard), 10% (Ridotta, Reduced), 5% (Super-ridotta, Super-reduced), 4% (Minima, Minimum), 0% (Esente, Exempt) |
| Codice Doganale (HS) (Customs code) | No | Free text, for example «33051000» |
Step 3 — Stock#
| Field | Rules |
|---|---|
| Giacenza Iniziale (Opening stock) | Whole number, not negative («La quantità non può essere negativa» (The quantity cannot be negative)). If it is greater than zero, it writes a Carico (Load) movement with the reason «Giacenza iniziale» in Stock in and out |
| Scorta di Sicurezza (Safety stock) | Whole number. At or below this number the product is «sotto scorta» (below stock). Empty means 0 |
| Unità di Misura (Unit of measure) | Menu: pieces (default), ml, gr, L, kg, pack, plus Altro... (Other...) to write free text |
| Ubicazione Scaffale (Shelf location) | Free text |
| Fornitore Principale (Main supplier) | Menu with search («Cerca fornitore...»); each entry shows the name and, if there is one, the VAT number. «— Nessun Fornitore —» (No supplier) removes the choice. You choose only one |
Step 4 — Dettagli#
| Field | Rules |
|---|---|
| Lotto di Produzione (Production batch) | Free text, for example «LOT-2026/08» |
| Data Scadenza (Expiry date) | You choose from the calendar (week starting on Monday, arrows to scroll through the months, click on the month or the year to jump). The X («Rimuovi data», Remove date) removes the date |
| Note Interne (Internal notes) | Free text on several lines |
Saving#
Salva Prodotto (during the operation, «Salvataggio...» (Saving...)) rechecks the three steps and, if something is wrong, takes you back to the right step with «Compila i campi obbligatori (Brand, Nome, EAN) nello step 1» (Fill in the compulsory fields (Brand, Name, EAN) in step 1), «Controlla i prezzi nello step 2» (Check the prices in step 2) or «Controlla le giacenze nello step 3» (Check the stock levels in step 3). If everything is fine, «Prodotto creato con successo» (Product created successfully) appears, the window closes and the product is in the table. Only Titolare and Responsabile can save: an Operatore (operator) receives «Operazione riservata a Titolare o Responsabile.» (Operation reserved for Titolare or Responsabile.).
The product is created with Stato «In magazzino», Uso «Rivendita», Punti 0 and Punto Riordino 0. If the product chosen from the reference catalogue had no EAN and you wrote one, the reference catalogue is silently enriched with that code (an EAN already there is never overwritten).
Other save errors (the window stays open): «Validazione fallita» (a field outside the limits: name under 2 or over 100 characters, category under 2 or over 50, SKU over 50), «Nessuna sede attiva selezionata.» (No active location selected.) and «Errore durante il salvataggio del prodotto» (Error while saving the product).
Editing a product: the guided record#
- Select one row (yellow background).
- Press Modifica: «Modifica Scheda Prodotto» (Edit Product Record) opens, with the same 4 steps already filled in.
- Change what you need and go to the last step, then Salva Prodotto: «Prodotto aggiornato con successo» (Product updated successfully).
Differences from creation:
- The SKU is not recalculated and reading the barcode does not fill in the fields.
- The fields that the record does not show (Punti, Uso, Punto Riordino, MOQ, weights, dimensions, Codice Produttore, Hazmat, Foto, and all the advanced ones) stay as they are: to change them you use quick edit.
- The stock level is not touched if you have not changed it, so sales or loads that arrived in the meantime are not lost.
- Giacenza Iniziale becomes a correction: changing the number corrects the stock level and leaves an Inventario (Stock count) movement with the reason «Correzione manuale» (Manual correction) in Stock in and out. If a colleague changed the stock level while you were editing, «La giacenza è cambiata mentre modificavi: ora è N. Ricontrolla il valore e salva di nuovo.» (The stock level changed while you were editing: it is now N. Check the value and save again.) appears and the record restarts from the current value. It is for correcting a counting error, not for loading goods.
- The product can have more than one supplier: if the field shows «— Nessun Fornitore —» even though there is a link, you leave it as it is and the existing link is kept.
Quick edit of the whole table#
It is used to change many values without opening one record at a time.
- Clear the selection from all the rows.
- Press Modifica: the bar becomes «Sei in modalità EDITING» (You are in EDITING mode) with Esci (Exit) and Salva (Save), and the editable cells become writing fields. In this mode rows cannot be selected; Tab moves to the next cell.
- Write in the fields to change.
- Salva («Modifiche salvate con successo» (Changes saved successfully)) or Esci to cancel everything without saving and without confirmation.
Editable columns
| Type of field | Columns |
|---|---|
| Free text | Nome Prodotto, SKU, Codice EAN, Brand, Cod. Produttore, Dimensioni, Tipo Imballo, Ubicazione, Lotto/Seriale, Cod. Doganale, Note, Foto (URL), Ubicazione Ritorno, Paese Origine, Hazmat, BOM (Kit) |
| Number | Peso Netto, Peso Lordo, Scorta Sicurezza, Punto Riordino, MOQ Fornitore, Volume, P. Vendita, P. Acquisto, Punti |
| Menu | UoM, IVA, Uso |
| Calendar | Scadenza (FIFO) |
| List with boxes | Fornitori (you tick one supplier at a time) |
| Special menu | Tipologia |
Not editable from the table: Qtà Disponibile («Quantità non modificabile manualmente, per modificarla procedi dalla pagina 'Carico & Scarico'» (Quantity cannot be edited manually, to edit it go to the 'Carico & Scarico' page) appears), Ultimo Rifornimento («Non è possibile modificare la data dell'ultimo rifornimento. Viene aggiornata automaticamente in base all'ultimo ordine registrato.» (The date of the last restock cannot be edited. It is updated automatically based on the last recorded order.)), Stato, Creato il and Aggiornato il. Quick edit never touches the stock level.
Products are saved one after the other: if one fails, a red warning appears and those already saved stay saved, while the following ones are not. To find out the exact reason (for example an EAN already used by another product) you correct that product from the guided record.
Parent and child products#
They are used to link the variants of the same product to each other (for example the same shampoo in two sizes). The link is only descriptive: it changes neither stock levels nor prices.
It is created only with quick edit, in the Tipologia cell: a click opens a menu with three entries.
- Prodotto singolo (Single product): removes any link.
- Prodotto genitore ► (Parent product): opens the list of products with a box to tick («Nome (EAN)»); the first entry «Nessun figlio selezionato» (No child selected) empties the choice. The ones you tick become children of this product.
- Prodotto figlio ► (Child product): opens the list of possible parents (the products that are not already children); the first entry «Nessun genitore (Scollega)» (No parent (Unlink)) removes the link.
The links are saved with Salva. A child product cannot also be a parent.
Removing products#
- Select one or more rows.
- Press Rimuovi (red).
- No confirmation appears: the products disappear from the list and «Prodotti rimossi con successo» (Products removed successfully) appears.
- It is a deactivation, not a deletion: the product and its movements stay in the system, but the product no longer appears in the table, in the Cassa or in appointments, and there is no screen to reactivate it. To get it back you create a new product, with a different EAN and SKU (those of the removed product still count as in use).
- The movements already recorded stay visible in Stock in and out.
- Only Titolare and Responsabile can remove.
The rules#
Safety stock and warnings in the Segreteria#
A product is below stock when Qtà Disponibile ≤ Scorta Sicurezza (equal counts as below). Effects:
- In the table the quantity becomes red and bold.
- If it is an active physical product, not a custom item and without an order in progress, the Secretariat (Secretariat) shows the task «Riordina NOME» (Reorder NAME) with «Disponibili N, scorta minima M» (Available N, minimum stock M). The task's due date is the day the stock level fell below the threshold; the task disappears by itself when the quantity goes back above the threshold or there is an order in progress.
- A new product with stock 0 and safety stock 0 is already «below stock» (0 equals 0): it immediately generates the reorder task, which disappears when the stock level exceeds the safety stock or there is an order in progress.
- In the Cassa the quantity appears as «N disponibili» (N available) (when it is greater than the safety stock), «Scorta bassa · N rimasti» (Low stock · N left) (positive but not above the safety stock) or «Esaurito» (Sold out) (zero).
Expiry#
A physical, active product with stock greater than zero and an expiry date equal to or earlier than today generates in the Segreteria the task «Ritira dallo scaffale NOME» (Take NAME off the shelf) with «Prodotto scaduto · N in magazzino» (Expired product · N in stock). There is no advance warning. The column name says «FIFO» but the program does not choose the oldest batch by itself.
Use of the product#
| Use | Effect |
|---|---|
| Rivendita (default) | Appears in the Cassa in Riscuoti (Collect payment) mode and can be added to appointments (if it has stock) |
| Interno | Does not appear in the Cassa in Riscuoti mode (it is the salon's consumable material); it appears in Paga (Pay) mode, where goods are ordered from suppliers. It does not appear in appointments |
| Entrambi | Appears in the Cassa; it is not offered in appointments (only «Rivendita» products appear there) |
A product's loyalty points are awarded to the client only if they have the points card (Loyalty points); the value is set with quick edit.
VAT, prices and margins#
- The selling price is VAT included (what the client pays); the purchase price is excluding VAT. The rate is per product: 22%, 10%, 5%, 4%, 0%.
- The program does not show the margin. To calculate it: margin = (selling price ÷ (1 + rate/100)) − purchase price. With a selling price of €24.40 and VAT at 22% the taxable amount is €20.00; with a purchase price of €12.00 the margin is €8.00.
- Each time an order is received, the program recalculates an average cost for the product (weighted average between the previous stock level and the items that arrived), but it does not show it in any column.
- No column shows the total value of the stock.
Procedures#
Entering a new product and loading the first stock
- Prodotti ▸ Aggiungi.
- Step 1: brand (better to choose the suggestion), category, name, EAN. Avanti.
- Step 2: selling price, purchase price (0 if there is no cost), VAT. Avanti.
- Step 3: opening stock at 0, safety stock (for example 2), supplier. Avanti, then Salva Prodotto.
- In Carico & Scarico (Load & Unload) record the items with the reader (Stock in and out).
Changing the price of many products
- No row selected, then Modifica.
- Change P. Vendita in the rows concerned.
- Salva.
Common problems#
| Problem | What to do |
|---|---|
| «Validazione fallita» when creating | Check that the Categoria is written (2 to 50 characters) and that name and SKU respect the limits |
| «L'EAN … è già usato dal prodotto …» (The EAN … is already used by the product …) | Another product in the location has that code: open that product, or use a different code |
| «Riordina X» in the Segreteria for a product just entered | Stock 0 and safety stock 0: this is normal; it disappears with a load or an order |
| I removed a product by mistake | It cannot be reactivated: create it again with a different EAN and SKU |
| The product is «IN CORSO» but the goods have already arrived | Check in Stock in and out whether the order's load is there; if it is not, use «Conferma ricezione» (Incoming orders) |
| I cannot change the quantity from the table | This is by design: the stock level is changed with Stock in and out or with the correction in the product record |