# Carico e scarico

> Il registro di tutti i movimenti di magazzino e la finestra «Registrazione via Barcode», con cui si caricano e scaricano i prodotti o si fa il conteggio d'inventario leggendo i codici con il lettore.

Ultimo aggiornamento: 22 ottobre 2026. Fonte: https://narciso.io/docs/carico-e-scarico/

La scheda **Carico & Scarico** del [Magazzino](https://narciso.io/docs/magazzino/) è il **registro di tutti i movimenti** della sede attiva: ogni volta che la giacenza di un prodotto cambia per un motivo tracciato (vendita, prenotazione di un appuntamento, ordine ricevuto, lettura del codice a barre, correzione) il programma scrive una riga. Il registro è in **sola lettura**: non si modifica né si cancella nulla. Le righe nuove si aggiungono con il pulsante **Aggiungi**, che apre la registrazione con il lettore.

## Le colonne

| Colonna | Che cosa mostra |
|---|---|
| **Data** | Il giorno («10 set 2026») e l'ora («09:15») |
| **Tipo** | Un'etichetta colorata: **Carico** (verde), **Scarico** (rosso), **Restock** (blu), **Inventario** (grigio), **Prenotazione** (ambra), **Rilascio** (viola) |
| **Prodotto** | Il nome del prodotto («-» se non esiste più) |
| **Quantità** | **+N** in verde se entra merce, **-N** in rosso se esce |
| **Stock Prima** | La giacenza prima del movimento |
| **Stock Dopo** | La giacenza dopo il movimento (in grassetto) |
| **Motivo** | La causale; «-» se manca |
| **Riferimento** | Per i movimenti nati da un ordine ai fornitori «Ordine #numero · Nome fornitore»; per quelli nati da un appuntamento «Appuntamento»; altrimenti «-» |

### Che cosa vuol dire ogni Tipo

| Tipo | Quando compare | Motivo scritto |
|---|---|---|
| **Carico** | Merce che entra: ordine ricevuto, carico con il lettore, «Aggiungi veloce», vendita annullata, giacenza iniziale di un prodotto nuovo | «Ordine #… - Ricevuto parziale (ricevuti/ordinati)», «Scansione Barcode», «Scansione Barcode (Scanner Diretto)», «Annullamento Vendita #…», «Giacenza iniziale» |
| **Scarico** | Merce che esce: vendita in Cassa, scarico con il lettore, «Rimuovi veloce» | «Vendita #…», «Scansione Barcode», «Scansione Barcode (Scanner Diretto)» |
| **Prenotazione** | Prodotti messi in un appuntamento: la giacenza scende subito | «Prenotazione appuntamento» |
| **Rilascio** | Un appuntamento con prodotti viene annullato, eliminato o modificato togliendo i prodotti: la giacenza risale | «Rilascio prenotazione annullata» |
| **Inventario** | Correzione della giacenza dalla scheda di un prodotto e conteggio d'inventario con il lettore; la quantità mostra la differenza con il segno | «Correzione manuale», «Conteggio d'inventario» |
| **Restock** | Previsto dalla tabella, ma il programma oggi non lo scrive | - |

## Come si carica il registro

- All'apertura la tabella chiede **due schermate di righe**, le più recenti per prime, e mostra righe grigie animate finché non arrivano. Scorrendo verso il fondo ne arrivano altre: **non c'è nessun limite** al numero di movimenti che si possono scorrere.
- In basso **«Totale record: N»** conta **tutti** i movimenti che corrispondono alla ricerca, non solo quelli già caricati.
- Se un blocco non arriva compare in fondo una riga ambra «Non è stato possibile caricare i movimenti.» con il pulsante **Riprova**: i caricamenti automatici si fermano finché non lo si preme.
- Quando si registra un movimento con il lettore, la tabella riparte dall'inizio e mostra le righe nuove. I movimenti generati da vendite in Cassa o da appuntamenti compaiono la volta successiva che si apre la scheda (si cambia scheda e si torna, oppure si ricarica).

## Cercare, ordinare, esportare

- **Ricerca** («Cerca per prodotto o motivo...»): la esegue il programma sull'intero registro. Circa 0,3 secondi dopo l'ultima lettera la tabella si ricarica con i movimenti il cui **nome prodotto** o **motivo** contengono il testo (maiuscole e minuscole non contano). **INVIO** chiude il campo lasciando il filtro attivo; la **X** lo toglie. Cambiare la ricerca azzera la selezione.
- **Ordinamento.** Un clic sull'intestazione ordina in modo crescente, decrescente o nessuno, fino a tre colonne insieme. L'ordine vale per tutti i movimenti, non solo per quelli visibili. La colonna **Quantità** ordina sul valore memorizzato (vendite e prenotazioni sono memorizzate in negativo, quelle fatte con il lettore sempre in positivo): l'ordine può sembrare mescolato. **Riferimento** ordina per numero d'ordine.
- **Esporta** (Excel, CSV, JSON, PDF) salva **tutti** i movimenti che corrispondono alla ricerca e all'ordine attuali, anche quelli non ancora scorsi, oppure solo le righe selezionate, con le colonne visibili nell'ordine in cui sono state messe.

| Formato | Come viene il file |
|---|---|
| **Excel** | Un vero file .xlsx, foglio «Movimenti magazzino», data in formato gg/mm/aaaa hh:mm, quantità e stock come numeri (le uscite con il meno) |
| **CSV** | Valori separati da punto e virgola, apribili in Excel italiano |
| **JSON** | Un elenco di oggetti con i nomi delle colonne come chiavi |
| **PDF** | Pagine A4 orizzontali intitolate «Movimenti magazzino», con l'intestazione ripetuta su ogni pagina |

Il file si chiama `movimenti_magazzino_AAAA-MM-GG`. Con molti movimenti serve qualche secondo. Se non riesce compare l'avviso rosso «Esportazione non riuscita. Riprova tra qualche istante.».

## Registrazione via Barcode

**A cosa serve.** È il punto del programma da cui si registrano **carichi**, **scarichi** e **conteggi d'inventario** con un movimento vero nel registro. Le quantità si compongono **leggendo con il lettore di codici a barre** i prodotti: non c'è una casella per cercare un prodotto e aggiungerlo a mano. **Senza un lettore collegato alla sede la finestra non si può usare.** Il lettore e il Narciso Hub sono descritti in [Apparecchi collegabili](https://narciso.io/docs/apparecchi-collegabili/) e in [Lettore di codici a barre](https://narciso.io/docs/lettore-di-codici-a-barre/).

**Aprirla:** scheda Carico & Scarico ▸ **Aggiungi**. Si apre la finestra **«Registrazione via Barcode»** con il sottotitolo «Gestisci carichi e scarichi scansionando i prodotti». Tutti i ruoli possono usarla.

### Il controllo del lettore

All'apertura la finestra controlla che il lettore sia associato **e online**. Se c'è un problema **si chiude da sola** mostrando un avviso:

| Avviso | Significato |
|---|---|
| «Per gestire i barcode, devi prima acquistare Narciso Hub. Contatta qui l'assistenza per maggiori info» | La sede non ha un Hub. Il link **qui** apre WhatsApp con un messaggio per l'[Assistenza](https://narciso.io/docs/assistenza/) |
| «Il Narciso Hub risulta offline. Verifica che sia acceso e connesso alla rete.» | L'Hub non risponde |
| «Il lettore barcode risulta offline. Verifica che il Narciso Hub sia acceso e connesso.» (con due lettori: «I lettori barcode risultano offline...») | L'Hub risponde ma il lettore no |
| «Il lettore barcode risulta scollegato dall'Hub. Verifica il cavo e la porta USB.» (con due lettori: «Nessun lettore barcode risulta collegato all'Hub. Verifica i cavi e le porte USB.») | Il lettore è associato ma non collegato |
| «Impossibile verificare lo stato del lettore barcode.» | Errore di rete: si riprova |
| «Scanner non configurato» | L'Hub c'è ma nessun lettore è associato alla sede: si chiede all'[Assistenza](https://narciso.io/docs/assistenza/) di associarlo |

Con il lettore pronto compaiono un punto verde pulsante sull'icona del codice a barre e la striscia verde «Lettore barcode pronto. Scansiona i codici per caricare (+) o scaricare (-) stock.». Senza scansioni si legge «Nessuna scansione rilevata».

### Scansionare

1. Il lettore deve essere in modalità **Magazzino** (menu laterale ▸ lettori di codici a barre). In un'altra modalità la lettura non viene accettata e compare l'avviso «Attualmente lo Scanner Desktop (oppure la Pistola Barcode) ha attiva la modalità NOME. Per poterlo usare qui nel Magazzino, imposta la modalità Magazzino nella sidebar.».
2. Si passa il prodotto davanti al lettore: la finestra fa un breve **lampo verde** e in cima alla lista compare una riga.
3. Se si legge **due volte lo stesso codice entro 0,8 secondi** la seconda lettura è ignorata. Più tardi, la lettura aggiunge **+1** alla riga già presente.
4. I codici che iniziano con «MODE:» (quelli per cambiare modalità) sono ignorati.

**La lista.** Ogni riga ha quattro colonne:

| Colonna | Che cosa contiene |
|---|---|
| **Prodotto / EAN** | Il nome in grassetto e sotto «EAN: codice · Stock aggiornato: N pz» (la giacenza attuale più la quantità della riga, cioè quanta ne resterà dopo il salvataggio). Se il codice non corrisponde a nessun prodotto compare il collegamento blu **Associa a un prodotto** e sotto «EAN sconosciuto: codice» |
| **Operatore** | Un menu con i collaboratori attivi, con il campo «Cerca operatore...». Di partenza è la persona collegata, se è anche un collaboratore; altrimenti nessuno e va scelto su ogni riga |
| **Quantità** | Il contatore descritto sotto |
| **Azione** | Il cestino, che toglie quella riga senza conferma |

**Il contatore.** Ogni riga nasce con **+1** (in verde: **carico**). Per fare uno **scarico** la quantità deve diventare negativa (in rosso).

- I pulsanti **−** e **+** cambiano la quantità di 1; tenendoli premuti, dopo circa 0,3 secondi la quantità scorre velocemente. Il passaggio da +1 a −1 e da −1 a +1 **salta lo zero**.
- La **rotella del mouse** sul contatore aumenta o diminuisce la quantità.
- Scrivendo nel campo si accettano solo cifre e segno meno, numeri interi **diversi da zero**.
- Una riga a zero viene ignorata al salvataggio.
- Se lo scarico supera la giacenza la riga diventa rosata e compare la scritta «Quantità supera lo stock disponibile».

In fondo alla finestra (se c'è almeno una riga) si leggono «Voci in lista: N», il pulsante **Svuota** (toglie tutte le righe senza conferma) e **Salva Movimenti**.

### Codice sconosciuto: associare o creare il prodotto

Per un codice che non è nel catalogo si clicca **Associa a un prodotto**. La finestra diventa **«Associazione EAN | EAN: codice»** con tre pulsanti: **Cerca**, **+ Nuovo** e **← Indietro**.

- La tabella elenca **solo i prodotti che non hanno ancora un EAN** (non rimossi, non obsoleti), con **Prodotto**, **Categoria**, **Stock** e il pulsante **Associa**. Se non ce ne sono: «Tutti i prodotti hanno già un EAN associato.».
- **Cerca** apre una striscia («Cerca prodotti senza EAN per nome o categoria...»); se non trova nulla: «Nessun prodotto senza EAN trovato per "testo".».
- **Associa** collega il codice a quel prodotto e torna alla lista. **L'EAN viene scritto sul prodotto solo al salvataggio dei movimenti.**
- **+ Nuovo** apre nella stessa finestra **«Nuovo Prodotto | EAN: codice»**, con la procedura guidata di [Prodotti](https://narciso.io/docs/prodotti/) e l'EAN già inserito; al salvataggio il prodotto nuovo viene associato alla riga. **Annulla** torna indietro. Creare un prodotto è riservato a Titolare e Responsabile.
- **← Indietro** torna alla lista senza associare.

Un codice sconosciuto **non diventa mai un prodotto «finto»**: salvando con codici non associati il programma non salva nulla e avvisa «Il codice … non corrisponde a nessun prodotto: usa "Associa a un prodotto" per sceglierne uno o crearne uno nuovo con i suoi dati, poi conferma.». Uno scarico di un codice sconosciuto non è possibile.

### Salvare

1. Controllare le righe, le quantità (con il segno) e gli operatori.
2. Premere **Salva Movimenti** («Salvataggio...»).
3. Se manca l'operatore di una riga: `Seleziona l'operatore per "NOME" prima di salvare.`.
4. Ogni **scarico** viene controllato contro la giacenza. Se uno la supera compare `Quantità per "NOME" (N pz) superiore allo stock disponibile (M pz).` (o, se il controllo lo fa il programma, «Impossibile completare lo scarico: la quantità per "NOME" (N pz) supera la quantità disponibile (M pz).»; se la giacenza cala proprio mentre si salva, «... è cambiata nel frattempo. Nessun movimento è stato registrato.») e non viene salvato nulla.
5. Se tutto è a posto i movimenti sono registrati **tutti insieme** con motivo «Scansione Barcode» e l'operatore scelto; la finestra **si chiude senza notifica** e in cima al registro compaiono le righe nuove.
6. Se il salvataggio non riesce compare «Errore durante il salvataggio dei movimenti» (o il messaggio del programma) e la lista resta.

La finestra si chiude con la **X** o con un clic sullo sfondo scuro, **senza chiedere conferma e perdendo la lista non salvata**; il tasto Esc non la chiude.

### Conteggio d'inventario

In alto, nella striscia verde, il selettore **Carico/Scarico | Conteggio** cambia modalità. Con righe già in lista chiede «Cambiando modalità la lista attuale viene svuotata. Continuare?».

In modalità **Conteggio** la colonna si chiama **Contati**: i pezzi si contano da zero in su, senza segno; ogni lettura aggiunge uno ai contati. Sotto il nome compaiono «Sistema: N pz» e «Differenza: ±N pz» oppure «Coincide con il sistema». Il pulsante diventa **Salva Conteggio**.

- Due righe dello stesso prodotto (due codici diversi) vengono sommate; una riga con un codice non associato blocca il salvataggio con `"NOME": associa un prodotto prima di salvare il conteggio.`.
- Il conteggio imposta la giacenza al valore contato **solo se è ancora quella che si vedeva**. Se nel frattempo è cambiata compare `La giacenza è cambiata mentre contavi: "NOME" (vista → attuale). Ricontrolla e salva di nuovo; nessun conteggio è stato registrato.` e le righe ripartono dal valore attuale.
- Ogni variazione scrive un movimento **Inventario** con motivo «Conteggio d'inventario».
- Messaggi finali: «Conteggio registrato: N variazioni, M già corretti.» oppure «Conteggio registrato: la giacenza era già corretta.».

## Procedure

**Caricare la merce arrivata dal fornitore senza un ordine registrato**

1. **Carico & Scarico ▸ Aggiungi.**
2. Con il lettore in modalità Magazzino, leggere una confezione per ogni prodotto (ogni lettura aggiunge 1).
3. Correggere le quantità con il contatore.
4. Controllare l'**operatore** e premere **Salva Movimenti.**

**Scaricare dei prodotti consumati**

1. **Aggiungi**, leggere i prodotti.
2. In ogni riga premere **−** finché la quantità diventa negativa e portarla al numero di pezzi.
3. **Salva Movimenti.**

**Contare il magazzino**

1. **Aggiungi**, poi **Conteggio** nella striscia verde.
2. Leggere ogni pezzo: ogni lettura aggiunge uno ai contati.
3. Controllare le differenze e premere **Salva Conteggio.**

## Senza lettore

Il registro non si può alimentare a mano. Per far salire la giacenza si **riceve un ordine** ai fornitori ([Ordini in arrivo](https://narciso.io/docs/ordini-in-arrivo/)); per correggere una giacenza sbagliata si usa **Giacenza Iniziale** nella scheda guidata del prodotto, che lascia un movimento Inventario ([Prodotti](https://narciso.io/docs/prodotti/)). Per scaricare prodotti consumati senza lettore non c'è oggi un modo con un movimento.

## Voci correlate

- [Magazzino](https://narciso.io/docs/magazzino/)
- [Prodotti](https://narciso.io/docs/prodotti/)
- [Ordini in arrivo](https://narciso.io/docs/ordini-in-arrivo/)
- [Lettore di codici a barre](https://narciso.io/docs/lettore-di-codici-a-barre/)
