Gestione reclami e resi con Access

di Gianfranco Budano

Pubblicato 6 Aprile 2016
Aggiornato 20 Gennaio 2023 16:16

Costruire un'applicazione per gestire i reclami e le richieste di reso, con la possibilità di inferire alcune informazioni sulla qualità delle forniture.

Una gestione oculata delle merci passa attraverso il monitoraggio dei prodotti resi, perché dalla tracciabilità di essi, si riescono a trarre importanti statistiche circa i fornitori migliori o più scadenti e riguardo alla soddisfazione dei clienti. Tralasciando la gestione di magazzino, che è operazione più complessa e che richiede spesso procedure automatizzate – le quali sovente si sostanziano in appositi software per il carico/scarico delle merci e l’emissione automatica delle bolle di accompagnamento – divideremo il lavoro in tre parti e ci occuperemo: prima di creare un database di gestione dei reclami provenienti dai clienti, nella seconda parte, di creare un database che si interfacci con il primo e che tracci la situazione dei resi ai fini statistici e nell’ultima fase di elaborare le query e i report che possono interessare maggiormente.

Questo modo di procedere risponde bene alle esigenze statistiche di chi ha bisogno di estrapolare report per la certificazione di qualità ISO, ad esempio, soprattutto nelle piccole e medie aziende, dove spesso manca una gestione integrata del magazzino e i resi perdono il loro connotato negativo per finire nell’oblio.

Per iniziare, è necessaria una precisazione: creare un database dei prodotti richiede la presenza di un DB dei fornitori, mentre un DB dei reclami richiede quello dei clienti. Per questo creeremo i database clienti e fornitori in modo semplificato, omettendo campi come le modalità di pagamento (RIBA 90 gg., contanti, etc.), i diversi magazzini di consegna ed altro.

=> Scarica l’esempio

Creazione database clienti e fornitori

Utilizziamo Access 2007 per creare un nuovo database, DB_Gestione Reclami e resi. Dalla tab Crea, clicchiamo su Struttura Tabella per creare una nuova tabella T_Clienti. In essa inseriremo i campi:

CampoTipoDescrizione
ID_ClnContatore indicizzato (Duplicati non ammessi)Chiave primaria
Rgn_SclTesto (255 caratteri)Ragione sociale
PIVATesto (60 caratteri)Partita IVA
CFTestoCodice Fiscale

=> Gestire online i reclami dei clienti, con HappyFox

Il database dei fornitori è analogo a quello dei clienti, anche qui infatti omettiamo i campi riservati al pagamento, alle scadenze delle forniture etc. Perciò è sufficiente fare una copia di T_Clienti e rinominarla T_Fornitori. Nella barra degli oggetti di Access, dove c’è l’elenco delle tabelle, selezioniamo la T_Clienti e con il tasto destro del mouse diamo il comando Copia, poi Incolla nello spazio bianco dell’elenco. Diamo il nome di T_Fornitori e scegliamo l’opzione Struttura e dati, poi OK. Ora andiamo in Visualizzazione Struttura per adeguare i campi della T_Fornitori ai dati che dovrà contenere: l’ID diventerà ID_Frn e la descrizione sarà “Identificativo Fornitore”. Salviamo e chiudiamo la tabella.

 

Nella prima parte abbiamo costruito il database della nostra piccola applicazione, ora possiamo sfruttare questa struttura per trarre indici di qualità sull’azienda, sui fornitori, sulla soddisfazione del cliente. Per farlo creiamo delle query, ovvero delle sintesi dei dati, che poi impagineremo grazie ai report.

Gestione ordini e scorte di magazzino con Excel

La query dei resi

Per avere un indice della qualità di prodotti e relativi fornitori, possiamo contare il numero di volte che un certo tipo di prodotto è stato reso e per quali motivi: non si può omettere infatti di capire perché il cliente lamenta una cattiva gestione dell’ordine, che può dipendere tanto da fattori interni all’azienda, quanto da fattori esogeni, come fornitori imprecisi, corrieri ritardatari o poco scrupolosi etc.

Nella tabella T_Reclami è stato incluso un apposito campo per accogliere le motivazioni espresse dal cliente e le correlazioni fra tabelle ci consentono di estrapolare dati sul prodotto e sul relativo fornitore.

Clicchiamo su Crea > Struttura query e aggiungiamo, con un doppio clic su ognuna di esse, o trascinandole, la T_Reclami e la T_Prodotti.

Passiamo ora ad aggiungere i campi che interessano questa query, facendo doppio clic, su ognuno di essi, e precisamente: l’Id del reclamo, l’Id del prodotto, la sua descrizione, il prezzo unitario, il numero dei prodotti contestati. Quindi ordiniamo i dati per Id prodotto, inserendo nell’ordinamento del campo in questione il criterio “Crescente”.

Se nella tab Struttura, provando a lanciare la query dal punto esclamativo rosso, i campi non appariranno privi di righe, allora vorrà dire che la query funziona e che le relazioni fra i campi sono corrette.

Per maggiore precisione di lettura possiamo nascondere il campo ID_Prd, selezionando la colonna e cliccando con il tasto destro del mouse sulla voce Nascondi colonne.

Già a prima vista è evidente quale prodotto è maggiormente “incriminato”, ma le query hanno il vantaggio di poter essere combinate fra loro per aggiungere ulteriori dettagli di “lettura dei dati”. Pertanto, dopo aver salvato questa query con il nome di Q_Reclami, creiamone un’altra per aggiungere il nome del fornitore dei prodotti contestati: aggiungiamo alla nuova query T_Fornitori, T_Prodotti e Q_Reclami. Poi aggiungiamo i campi che interessano la nostra interrogazione, ossia: l’Id fornitore, la ragione sociale del fornitore, l’Id prodotto e la sua descrizione.

Quindi lanciamo la query per vedere se funziona; se tutto è a posto e i campi non sono vuoti, allora possiamo salvare la nuova query come Q_RecFrn.

 

Per complicare un po’ le cose quanto basta per avere una valutazione economica dei reclami e capire quanto costano all’azienda, riapriamo la Q_Reclami in modalità struttura e dopo l’ultima colonna inserita aggiungiamo una colonna espressione, che conterrà la moltiplicazione fra il prezzo unitario del prodotto e il numero dei prodotti contestati.

La sintassi da inserire è la seguente:

Espr1: ([NrPrd]*[PrzUnt])

e la struttura della query apparirà come di seguito:

Salviamo e lanciamo la query ed ecco come si presenterà la nuova tabella:

=> CRM e CSS per gestire clienti e reclami

A questo punto per avere un report sulla situazione alla data attuale, nell’elenco delle tabelle selezioniamo la Q_Reclami e dalla tab Crea clicchiamo su Report. Esso viene generato automaticamente, e cosa ancora più importante, grazie all’aggiunta della colonna espressione nella query, abbiamo automaticamente il totale del valore dei reclami. I campi etichetta dei report sono tutti modificabili, basta cliccarci sopra per cambiarne la descrizione; il report si presenta automaticamente con la data e l’ora in cui è stato generato, ed è all’occorrenza possibile aggiungere le intestazioni e piè di pagina come un normale documento di Word. Se vogliamo analizzare diversamente i dati, affidandoci ad Excel, basterà esportarli: visualizziamo la Q_Reclami e dalla tab Dati esterni, nella sezione Esporta, clicchiamo su Excel, compiliamo i campi nella finestra del wizard e clicchiamo Ok per ottenere un file XLS/XLSX.

 

Tabella prodotti

Chiamiamo la tabella che contiene i prodotti T_Prodotti. I campi sono:

CampoTipoDescrizione
ID_PrdContatoreChiave primaria
CodPrdNumericoCodice prodotto
DscrTesto (255 caratteri)Nome del prodotto
ID_FrnNumerico lungo (posizioni decimali 0)Chiave esterna per la tabella fornitori. Indica il fornitore del prodotto
PrzUntValuta con formato EuroPrezzo unitario del prodotto
NrBllTesto (255 caratteri)Il numero di bolla con la quale è arrivato il prodotto
DtBllData, formato Data breveLa data della bolla

=> CRM e CSS per gestire clienti e reclami

Tabella dei reclami

Chiamiamo la tabella dei che contiene i reclami dei clienti insoddisfatti T_Reclami ecco i suoi campi:

CampoTipoDescrizione
ID_RclContatoreChiave primaria

ID_ClnNumerico lungoChiave esterna per la tabella clienti. Indica il cliente che effettua il reclamo
ID_PrdNumerico lungoChiave esterna per la tabella prodotti. Indica il prodotto oggetto del reclamo
LottoTestoIndica il numero di lotto se esistente o identificabile
NrPrdNumericoIndica le quantità contestate
DrscTestoBreve descrizione del problema
RinvioFrnSi/NoIndica se il prodotto è stato rispedito al fornitore
NoteMemoPer annotare qualcosa circa il reclamo
PrzUntValuta con formato EuroPrezzo unitario del prodotto
DataRclDataData del reclamo

Collegare le tabelle

Le tabelle create devono essere opportunamente collegate fra loro attraverso relazioni. Andiamo dunque in Strumenti database e clicchiamo sul pulsante Relazioni. Trasciniamo le nostre tabelle dall’elenco nella finestra Relazioni, poi colleghiamo tra loro i campi omonimi delle diverse tabelle e otteniamo le correlazioni come in figura, quindi salviamo e chiudiamo.

La maschera M_Reclami

Access dispone di una funzionalità di creazione automatica delle maschere; nella barra degli oggetti, selezioniamo senza aprirla la T_Reclami, andiamo su Crea > Maschera. Sarà generato automaticamente un modulo che possiamo personalizzare passando in visualizzazione struttura.

=> Creare un’anagrafica clienti con Excel

Clicchiamo sul campo ID_Cln con il tasto destro del mouse e trasformiamolo in Casella combinata (Cambia in > Casella Combinata). Di nuovo col tasto destro apriamo al finestra Proprietà. Qui dobbiamo indicare la tabella dalla quale prendere i dati, quindi clicchiamo sulla tab dati e, alla voce Tipo origine riga, selezioniamo Tabella/Query, alla voce Origine riga selezioniamo la tabella T_Clienti. Infine indichiamo come colonna associata la numero 1 (ovvero ID_Cln). Spostiamoci sulla tab Formato e alla voce Numero colonne inseriamo 2, ovvero il numero di colonne da considerare per la formattazione del menu a discesa.

Questo controllo prenderà le prime due colonne della tabella T_Clienti e utilizzerà la numero 1 come dato da associare alla selezione, e le prime due come testo da mostrare nel menu. Nella tab Formato abbiamo azzerato però la larghezza della prima colonna (Larghezza Colonne:0cm;10cm), per questo motivo l’ID non sarà visualizzato.

Procediamo allo stesso modo con il campo ID_Prd che avrà nelle Proprietà:

ProprietàValore
Origine controlloID_Prd
Origine rigaT_Prodotti
Numero colonne3
Larghezza colonne0cm; 5cm;10cm

Qui cambia il numero di colonne interessate nel formato e la larghezza delle colonne, per visualizzare sia il codice che la descrizione del prodotto durante la selezione.

Modificando le etichette dei campi per maggiore chiarezza, ecco come si presenta la nostra maschera:

Database di gestione dei prodotti resi

Finora abbiamo impostato le basi del DB complessivo, cone le tabelle e le relazioni necessarie a tracciare i reclami dei clienti, adesso aggiungiamo la parte che ci consente di immagazzinare i dati relativi ai prodotti resi a seguito del reclamo. Una corretta gestione dei rapporti con i clienti, infatti, prevede l’analisi dei reclami e l’eventuale ritiro della merce non conforme, con successiva sostituzione con i prodotti richiesti o eventuale rimborso di quanto già fatturato al cliente tramite, ad esempio, nota di credito .

=> Up-selling: il prodotto giusto al cliente giusto

Ciclo di vita reclami/resi

Ciclo di vita reclami/resi

Il grafico rappresenta il ciclo che si innesca dopo la presentazione di un reclamo da parte del cliente; se il reclamo, all’analisi dei fatti, risulta fondato, allora è giocoforza dover ritirare il prodotto non conforme e sostituirlo o rimborsarlo; se il reclamo è infondato, allora le possibilità sono due: se la sostituzione è impossibile, il cliente verrà avvisato e il prodotto regolarmente fatturato; se però una sostituzione è economicamente o opportunamente possibile, allora è bene sostituire il prodotto per non perdere il cliente.

Tabella Resi

Se una sostituzione è obbligata o possibile, il prodotto rientrerà in magazzino, ove restituibile. Bisogna dunque aggiungere una tabella al DB precedentemente creato per registrare questi rientri e poterne tenere traccia. Chiameremo la nuova tabella T_Resi così composta:

CampoTipoDescrizione
ID_ResiContatoreChiave primaria
DtResoDataData del reso
ID_RclNumerico lungoChiave esterna per la tabella reclami. Indica il reclamo cui segue il reso
NrBllResoNumericoNumero bolla di reso: il cliente restituisce la merce accompagnandola con una bolla
DtBllResoDataData della bolla di reso
SostituitoSi/NoIndica se il prodotto è stato sostituito
NotaCrdSi/NoIndica se è stata emessa nota di credito
NrNotaCrdNumericoNumero della nota di credito, se emessa
DtNotaCrdDataData della nota di credito
MemoMemoAnnotazioni

=> Gestire la contabilità di magazzino con Excel

Il campo NrNotaCrd potrebbe essere sostituito da un ID_NrNotaCrd se si volesse creare una tabella a se stante per la memorizzazione delle note di credito, eliminando dalla tabella resi tutte le voci relative alla nota di credito.

Aggiungiamo le relazioni

Ripetiamo quanto già visto per la creazione delle relazioni precedenti: clicchiamo su Strumenti database > Relazioni e trasciniamo la tabella T_Resi nell’area di lavoro. La relazione è semplice perché T_Resi si correla solo a T_Reclami.

Salviamo e chiudiamo il pannello delle relazioni, quindi impostiamo la maschera di gestione dei dati.

La maschera di gestione dei resi

Possiamo generare automaticamente la maschera M_Resi. Selezioniamo al solito, nell’elenco degli oggetti, la tabella T_Resi e clicchiamo su Crea > Maschera. Passiamo poi alle modifiche, in visualizzazione struttura. Il campo ID_Rcl va modificato in Casella combinata, in modo che vengano visualizzati i primi tre campi della tabella reclami, quindi agiremo come abbiamo fatto per la maschera reclami, ovvero scegliendo di visualizzare 9 colonne e assegnando uno spazio nullo a tutte tranne che alla tre che vogliamo visualizzare (la prima IDRcl, la sesta Dscr e la nona DataRcl).

=> Imprese: 7,3 mld i costi per i prodotti resi

Quando selezioniamo un reclamo dalla casella combinata, vorremmo avere anche sottomano i dati relativi al reclamo. Possiamo perciò aggiungere una sottomaschera dei reclami, che consenta la sola lettura dei dati e non l’inserimento.

Andiamo in Struttura e clicchiamo sull’icona Sottomaschera/Report e scegliamo dal wizard la M_Reclami, che verrà importata e accodata ai campi della M_Resi.

Selezioniamo l’intera sottomaschera e con il tasto destro del mouse apriamo le Proprietà e modifichiamo l’attributo Abilitato portandolo su No. In questo modo la maschera sarà visualizzata in sola lettura.

Ogni volta che inseriremo un reso e selezioneremo il reclamo cui associare il reso, saranno visualizzati nella sottomaschera tutti i dati aggiuntivi come promemoria.

In questa prima parte abbiamo costruito il database ed alcune maschere. Nel database in allegato sono state aggiunte le maschere per l’inserimento dei clienti e dei fornitori, nonché i pulsanti per lo spostamento tra record, di cui per brevità non abbiamo parlato. Nella seconda parte dell’articolo ci concentreremo sulle query e su alcuni aspetti più strategici del progetto.