PotaPay — Portale Web

Guida completa alla gestione del catalogo, delle transazioni e della sincronizzazione con le casse per sagre, pro loco e associazioni.

1

Introduzione

Il portale web PotaPay è il pannello di controllo centralizzato per gestire tutti i dati dell'applicazione cassa. Da qui è possibile configurare l'anagrafica (articoli, reparti, cassieri), monitorare le transazioni ricevute dalle casse e sincronizzare i dati con le postazioni Flutter.

📋 Gestione Anagrafica

Articoli, reparti, cassieri, allergeni, prodotti base e ricette.

🧾 Monitoraggio Transazioni

Storico scontrini ricevuti dalle casse con filtri e export Excel.

🏭 Magazzino

Giacenze aggiornate automaticamente dalle vendite online.

📤 Esportazione

File potapay.json per importare i dati nella cassa Flutter.

🔐 Gestione Licenze

Attivazione e monitoraggio delle licenze per ogni postazione.

🔄 Sincronizzazione Online

Le casse in modalità online scaricano l'anagrafica via API.

ℹ️ L'indirizzo del portale staging è https://app-test.potapay.it. Il portale di produzione è https://app.potapay.it.
2

Accesso al Portale

Login

Per accedere al portale è necessario inserire le credenziali dell'account registrato.

Pagina di Login PotaPay
Pagina di Login — inserisci email e password per accedere al portale
1
Inserisci email

L'indirizzo email con cui ti sei registrato.

2
Inserisci password

Clicca sull'icona occhio per mostrare/nascondere la password.

3
Clicca "Accedi"

Verrai reindirizzato alla Dashboard.

Password dimenticata

Clicca su "Password dimenticata?" nella pagina di login, inserisci la tua email e riceverai un link per il reset.

⚠️ Se la sessione scade, verrai reindirizzato automaticamente alla pagina di login con il messaggio "Sessione scaduta. Effettua di nuovo il login."
3

Dashboard

La dashboard mostra un riepilogo rapido del tuo account e le azioni principali.

Dashboard PotaPay
Dashboard — riepilogo account con stat card, azioni rapide e lista licenze
ElementoDescrizione
Licenze attiveNumero di postazioni cassa attive.
Menu configuratiNumero di menu creati.
Articoli attiviTotale articoli nel catalogo attivi.
In scadenza (30gg)Licenze in scadenza entro 30 giorni. Badge rosso se > 0.
4

Cassieri

I cassieri sono gli operatori che accedono all'applicazione cassa tramite PIN a 4 cifre.

Lista Cassieri
Lista Cassieri — tabella con avatar, nome, PIN, ruolo e stato

Aggiungere un cassiere

1
Clicca "+ Nuovo cassiere"

Si apre un dialog overlay.

2
Compila i campi

Nome, cognome, PIN (4 cifre numeriche), ruolo (cassiere/admin).

3
Clicca "Salva"

Il cassiere appare immediatamente nella lista.

Dialog Nuovo Cassiere
Dialog Nuovo Cassiere — form con nome, cognome, PIN (4 cifre), ruolo e stato
CampoObbligatorioNote
NomeMax 50 caratteri
CognomeMax 50 caratteri
PINEsattamente 4 cifre numeriche
Ruolocassiere (operatore) o admin (gestione completa)
AttivoToggle — i cassieri inattivi non possono accedere
5

Reparti Stampa

I reparti di stampa sono le destinazioni fisiche delle stampanti termiche (es. Cucina, Bar, Grill). Più reparti possono essere associati alla stessa destinazione di stampa: le loro comande vengono stampate insieme.

Lista Reparti Stampa
Lista Reparti Stampa — tabella con nome e ordinamento. Drag & drop per riordinare.
ℹ️ L'ordinamento determina la sequenza di visualizzazione nella cassa. Trascina le righe con l'icona per riordinare.
6

Reparti

I reparti raggruppano gli articoli per categoria (es. Cucina, Bar, Dolci) e determinano a quale stampante vengono inviate le comande.

Lista Reparti
Lista Reparti — tabella con pallino colorato, nome, conteggio articoli e destinazione stampa

Creare un reparto

Clicca "+ Nuovo reparto" per aprire il dialog. Seleziona il colore dalla palette, assegna un nome e (opzionalmente) una destinazione di stampa.

Dialog Nuovo Reparto
Dialog Nuovo Reparto — palette colori, nome, destinazione stampa e ordinamento
CampoDescrizione
CodiceAuto-generato (es. REP-001). Usato per la sincronizzazione con la cassa.
NomeNome visualizzato nella cassa e nelle comande.
ColoreColore distintivo nella UI della cassa.
Destinazione stampaA quale stampante fisica vengono inviate le comande di questo reparto.
OrdinamentoPosizione nella griglia della cassa. Drag & drop per riordinare.
7

Prodotti Base

I prodotti base sono le materie prime usate nelle ricette degli articoli. Quando una transazione viene ricevuta, il sistema scarica automaticamente le giacenze in base alla ricetta degli articoli venduti.

Lista Prodotti Base
Lista Prodotti Base — tabella con nome, unità di misura, soglia minima e stato
CampoDescrizione
NomeEs. "Pane", "Pasta secca", "Salamelle"
Unità di misurapz, g, kg, ml, L
Soglia minimaGiacenza minima prima dell'alert "Sotto scorta"
GiacenzaQuantità corrente (aggiornata automaticamente dalle vendite)
8

Articoli

Il catalogo articoli è globale (non legato a un singolo menu) e riutilizzabile in più eventi. Gli articoli vengono poi selezionati per comporre i singoli menu.

Lista Articoli
Lista Articoli — tabella con toggle attivo, nome+codice, chip reparto colorato, prezzo

Creare un articolo — Tab Generale

Dialog Articolo — Tab Generale
Tab Generale — codice, nome, prezzo, reparto, toggle attivo
CampoDescrizione
CodiceAuto-generato (AR-001) oppure personalizzato. Chiave di lookup nella cassa.
NomeNome visualizzato nella cassa.
PrezzoPrezzo di vendita in €.
RepartoCategoria di appartenenza.
AttivoSe disattivato, l'articolo non compare nella cassa.
Includi nel report PDFSe l'articolo appare nel PDF del menù.

Tab Ingredienti & Allergeni

Dialog Articolo — Tab Ingredienti
Tab Ingredienti & Allergeni — elenco ingredienti e selezione allergeni EU/custom

Seleziona gli allergeni EU (obbligatori per legge) e inserisci l'elenco ingredienti. Questi dati appaiono nel PDF del menù.

Tab Ricetta

Dialog Articolo — Tab Ricetta
Tab Ricetta — composizione materie prime con quantità consumata per vendita

La ricetta definisce quali materie prime vengono consumate ad ogni vendita. Quando una transazione viene ricevuta, il magazzino viene scaricato automaticamente.

ℹ️ La ricetta è opzionale. Gli articoli senza ricetta non hanno impatto sul magazzino.
9

Allergeni

Il portale include i 14 allergeni obbligatori per il Regolamento UE 1169/2011 (sola lettura) e permette di aggiungere allergeni personalizzati.

Gestione Allergeni
Gestione Allergeni — 14 EU obbligatori (sola lettura) e allergeni personalizzati
TipoDescrizioneModificabile
EU14 allergeni regolamentati dall'UE❌ Sola lettura
CustomAllergeni aggiuntivi personalizzati✅ CRUD completo
11

Composizione Menu

La pagina di composizione permette di selezionare quali articoli del catalogo fanno parte di un menu specifico.

Composizione Menu
Composizione Menu — colonna sinistra "Nel menu", colonna destra "Disponibili" con ricerca
1
Colonna destra — Disponibili

Mostra tutti gli articoli del catalogo non ancora nel menu. Cerca per nome, clicca + per aggiungere.

2
Colonna sinistra — Nel menu

Mostra gli articoli già assegnati. Clicca per rimuovere.

3
Aggiungi/Rimuovi tutti

Usa i pulsanti "Aggiungi tutti" e "Rimuovi tutti" per operazioni in blocco.

12

Magazzino

Il magazzino mostra le giacenze correnti di tutte le materie prime e permette di registrare carichi e rettifiche. La giacenza viene scaricata automaticamente quando una transazione chiusa viene ricevuta dalla cassa.

Magazzino Giacenze
Tab Giacenze — giacenza corrente, alert sotto-scorta (rosso), pulsanti Carico e Rettifica

Tab Giacenze

Mostra la giacenza attuale di ogni prodotto. Le righe con icona rossa ⚠️ indicano che la giacenza è scesa sotto la soglia minima (Sotto Scorta).

AzioneDescrizione
CaricoAggiunge quantità alla giacenza (es. nuova fornitura)
RettificaImposta la giacenza al valore reale rilevato fisicamente

Tab Movimenti

Storico completo di tutti i movimenti: carichi manuali, scarichi automatici da vendite, rettifiche.

Magazzino Movimenti
Tab Movimenti — storico carichi, scarichi automatici e rettifiche
⚠️ Lo scarico automatico avviene solo se la cassa invia le transazioni in modalità online. In modalità offline, il magazzino del portale non viene aggiornato.
13

Transazioni

Le transazioni sono gli scontrini inviati dalle casse al portale in modalità online. Ogni transazione è identificata dalla licenza della cassa mittente.

Pagina Transazioni
Transazioni — stat card incassi, filtri per data/stato/licenza, tabella scontrini paginata

Statistiche

StatDescrizione
ScontriniNumero totale di transazioni chiuse nel periodo
Incasso realeSomma contanti + carta (esclusi omaggi)
ContantiTotale pagamenti in contanti
CartaTotale pagamenti con carta
OmaggiValore totale degli omaggi

Filtri disponibili

Dal, Al, Stato (chiusa/annullata/aperta), Licenza cassa. I filtri si applicano anche all'export Excel.

Export Excel

Clicca il pulsante "Excel" verde per scaricare un file .xlsx con tutte le transazioni filtrate. Il file include: data/ora, cassa, numero scontrino, cassiere, cliente, stato, totale, contanti, carta, omaggio, asporto.

Dettaglio scontrino

Clicca sull'icona occhio 👁️ per aprire il dettaglio dello scontrino con le righe articoli e il riepilogo pagamenti.

Dettaglio Scontrino
Dettaglio scontrino — righe articoli, pagamento, omaggio e totale
14

Dettaglio Transazioni

La ricerca dettaglio permette di analizzare le vendite per singolo articolo o per reparto, mostrando ogni riga di ogni scontrino.

Dettaglio Transazioni
Dettaglio Transazioni — ricerca per articolo e reparto con export Excel
FiltroDescrizione
Dal / AlIntervallo date
StatoChiusa, Annullata
LicenzaFiltra per singola cassa
ArticoloDropdown: seleziona un articolo specifico
RepartoDropdown: filtra tutti gli articoli di un reparto
✅ Clicca "Esporta Excel" per scaricare tutte le righe filtrate in formato .xlsx.
15

Esportazione Dati

La funzione di esportazione genera il file potapay.json da importare nell'applicazione cassa Flutter tramite Impostazioni → Importa dati.

Pagina Esportazione
Esportazione — selezione entità da esportare e pulsante scarica potapay.json

Entità esportabili

EntitàContenuto
CassieriOperatori POS con PIN e ruolo
Reparti StampaDestinazioni fisiche stampanti
RepartiCategorie articoli con colore e ordinamento
Prodotti BaseMaterie prime con soglie di scorta
ArticoliCatalogo con prezzi, allergeni e ricette
1
Seleziona le entità

Spunta quelle da includere nel file. Di default sono tutte selezionate.

2
Clicca "Scarica potapay.json"

Il file viene scaricato automaticamente.

3
Importa nella cassa

Nell'app Flutter: Impostazioni → Importa dati → Seleziona file.

18

Promozioni

La sezione Promozioni permette di configurare le regole promozionali che la cassa applica automaticamente durante la vendita. Le promozioni vengono scaricate dalla cassa al momento della sincronizzazione anagrafica.

Tipi di promozione

TipoDescrizione
💶 Sconto sogliaApplica uno sconto automatico (fisso o percentuale) quando il totale della comanda supera una soglia. Lo sconto può essere applicato al totale, all'articolo più caro o a quello meno caro.
🎁 BundleAssegna un benefit (omaggio, sconto % o sconto fisso) su un articolo specifico quando la comanda contiene una combinazione di articoli trigger nelle quantità minime richieste.
🎟️ Genera buonoEmette automaticamente un buono sconto stampabile al raggiungimento di una soglia di spesa. Il buono può essere riscattato in una comanda successiva.

Creare una promozione

  1. Vai su Promozioni — menu laterale → Promozioni → pulsante Nuova promozione.
  2. Scegli il tipo — seleziona Sconto soglia, Bundle o Genera buono. Il form si adatta mostrando i campi specifici.
  3. Configura i parametri — inserisci nome, periodo di validità, priorità e i parametri specifici del tipo scelto.
  4. Salva e attiva — clicca Salva. La promozione è attiva immediatamente. La cassa la scarica alla prossima sincronizzazione anagrafica.

Configurazione bundle

Per le promozioni di tipo Bundle è necessario definire:

CampoDescrizione
Articoli richiesti (trigger)Uno o più articoli con la quantità minima necessaria per attivare il bundle. Se vuoto, il bundle si attiva sempre.
Articolo benefitL'articolo che riceve il vantaggio (omaggio, sconto % o sconto fisso).
Tipo benefitGratis — articolo a prezzo zero; Percentuale — sconto %; Fisso — sconto in €.
Quantità benefitQuante unità dell'articolo benefit vengono incluse nel bundle.
RipetibileSe attivo, il benefit si moltiplica in proporzione agli articoli trigger presenti nella comanda.

Configurazione genera buono

CampoDescrizione
Soglia totaleImporto minimo della comanda per generare il buono (es. € 20,00).
Valore buonoImporto del buono generato (es. € 3,00).
Validità (giorni)Giorni di validità del buono dalla data di emissione. Default: 30.
Prefisso barcodePrefisso del codice univoco generato (es. PP-). Il codice finale sarà tipo PP-ABD8F3.

Parametri comuni a tutte le promozioni

ParametroDescrizione
NomeEtichetta interna della promozione (non visibile in cassa).
Data inizio / finePeriodo di validità. La promozione non si attiva fuori da questo intervallo.
PrioritàOrdine di valutazione quando più promozioni sono attive simultaneamente. Valore più basso = valutata prima.
CumulabileSe attivo, la promozione può combinarsi con altre sulla stessa comanda.
AttivaToggle per abilitare/disabilitare senza eliminare.
ℹ️ La cassa scarica le promozioni attive durante la sincronizzazione anagrafica (modalità online). In modalità offline utilizza le promozioni già scaricate in precedenza.
19

Buoni sconto

La sezione Buoni sconto è una vista di sola lettura che mostra tutti i voucher emessi dalle casse. I buoni vengono generati automaticamente dalla cassa al momento del pagamento, sincronizzati sul portale e riscattati nelle comande successive.

Lista buoni

La tabella mostra per ogni buono:

ColonnaDescrizione
CodiceCodice univoco del buono in formato PP-XXXXXX. Cliccabile per copiarlo.
PromozioneNome della promozione che ha generato il buono.
ValoreImporto originale del buono in €. Se parzialmente usato, mostra anche il residuo.
ScadenzaData limite per il riscatto.
StatoBadge colorato: Attivo (verde), Usato (blu), Scaduto (arancione), Annullato (rosso).
EmissioneData e ora in cui il buono è stato generato dalla cassa.

Filtri disponibili

FiltroDescrizione
StatoFiltra per attivo, usato, scaduto o annullato.
PromozioneMostra solo i buoni generati da una specifica promozione.
Dal / AlFiltra per range di date di scadenza.

Ciclo di vita di un buono

1
Emissione

La cassa genera il buono al pagamento di una comanda che supera la soglia configurata. Stampa uno scontrino separato con il codice.

2
Sincronizzazione

Il buono viene inviato al portale entro 5 minuti. Da quel momento è visibile nella lista e disponibile per il riscatto da qualsiasi cassa collegata.

3
Riscatto in cassa

Il cliente presenta il codice. Il cassiere lo inserisce nel dialog di pagamento: la cassa verifica validità e scadenza, poi detrae l'importo dal totale.

4
Aggiornamento stato

Dopo il riscatto il portale aggiorna lo stato del buono a Usato. Se c'è un residuo, il buono rimane Attivo con il valore residuo ridotto.

⚠️ La sezione Buoni è di sola lettura: non è possibile creare o modificare buoni manualmente dal portale. Per annullare un buono contatta il supporto o elimina la promozione associata.
16

Gestione Licenze

Ogni installazione dell'app cassa richiede una licenza attiva. La licenza lega la postazione fisica al tuo account portale e abilita la sincronizzazione online.

Pagina Licenze
Licenze — lista con machine key, stato, codice attivazione e data scadenza
StatoDescrizione
pendingRichiesta inviata dalla cassa, in attesa di attivazione da admin
attivaLicenza valida e operativa
scadutaLicenza scaduta, da rinnovare
sospesaLicenza sospesa dall'admin
ℹ️ Il Codice di Attivazione è la chiave che collega la cassa al tuo account portale. L'admin può impostarlo manualmente tramite il pulsante 🔑 Imposta codice per sincronizzare la cassa con l'ambiente corretto.
17

Sincronizzazione Cassa Online

Quando la cassa è configurata in modalità online, si connette automaticamente al portale app.potapay.it per gestire in tempo reale le seguenti operazioni:

  • 📥 Scaricare l'anagrafica — cassieri, reparti, articoli, allergeni e magazzino vengono aggiornati automaticamente dalla cassa con un semplice tap.
  • 📤 Inviare gli scontrini — ogni scontrino chiuso viene trasmesso al portale in tempo reale, dove è visibile nella sezione Transazioni.
  • 🏭 Aggiornare il magazzino — ad ogni vendita, le giacenze vengono scalate automaticamente in base alla ricetta degli articoli venduti.
  • 🔐 Identificazione cassa — la cassa si riconosce al portale tramite il Codice di Attivazione della licenza.
📥 Scaricare l'anagrafica

Cassieri, reparti, articoli, allergeni e magazzino vengono aggiornati automaticamente dalla cassa con un semplice tap.

📤 Inviare gli scontrini

Ogni scontrino chiuso viene trasmesso al portale in tempo reale, dove è visibile nella sezione Transazioni.

🏭 Aggiornare il magazzino

Ad ogni vendita, le giacenze del magazzino vengono scalate automaticamente in base alla ricetta degli articoli venduti.

🔐 Identificazione cassa

La cassa si riconosce al portale tramite il Codice di Attivazione della licenza, visibile nella sezione Licenze.

⚠️ La modalità online richiede connessione internet. In assenza di rete la cassa funziona comunque in modalità offline: i dati vengono sincronizzati non appena la connessione è ripristinata.

Amministrazione (solo Superuser)

Il pannello admin è accessibile solo agli utenti con ruolo Superuser e permette di:

👥 Gestione Utenti

Crea, modifica, sospendi o elimina account utenti.

🔐 Gestione Licenze

Attiva, sospendi, rinnova licenze. Imposta codice manualmente.

📋 Audit Log

Storico di tutte le azioni amministrative con timestamp e operatore.

© 2026 PotaPay — Documentazione portale web v1.0

Per assistenza: info@potapay.it