Il Template dei dati per la gestione di resi e rimborsi
Il Template dei dati per la gestione di resi e rimborsi
- Attributi consigliati da raccogliere
- Attività principali da monitorare
- Indicazioni per l’estrazione da NetSuite
Attributi per la gestione di resi e rimborsi
| Nome | Descrizione | ||
|---|---|---|---|
| Data e ora dell’evento EventTimestamp | La data e l’ora esatte in cui si è verificata l’attività, che costituiscono la base cronologica del processo. | ||
| Descrizione La data e l’ora dell’evento registrano il momento esatto in cui si è svolta un’attività. Questi dati sono fondamentali per ordinare correttamente gli eventi e per tutte le analisi basate sul tempo. Servono a calcolare la durata tra le attività, i tempi di ciclo complessivi dei casi e i tempi di attesa, elementi essenziali per monitorare le prestazioni, analizzare i colli di bottiglia e verificare il rispetto degli SLA. Per garantire l’affidabilità delle analisi di Process Mining, le date e le ore devono essere precise. Perché è importante Questo attributo stabilisce l’ordine cronologico degli eventi, necessario per individuare il flusso del processo e calcolare tutte le metriche temporali, come i tempi di ciclo e di attesa. Dove reperirli Queste informazioni provengono in genere dai campi 'Date Created' o 'Last Modified Date' dei record NetSuite oppure dalle date e ore riportate nella sottolista System Notes associata alle transazioni. Esempi 2023-10-26T10:00:00Z2023-10-26T14:35:10Z2023-10-27T09:12:05Z | |||
| ID del caso di reso ReturnCaseId | Identificativo univoco di un singolo caso di reso o rimborso, che collega tutte le attività correlate dall’avvio alla chiusura. | ||
| Descrizione L’ID del caso di reso è l’identificativo principale per seguire l’intero percorso di un reso. Ogni ID univoco corrisponde a una singola autorizzazione al reso e consente di analizzare tutti gli eventi associati, come la ricezione e l’ispezione dell’articolo e l’elaborazione del rimborso. Nel Process Mining, questo ID è essenziale per ricostruire il flusso completo di ogni reso, calcolare i tempi di ciclo e individuare le deviazioni a livello di singolo caso. Perché è importante È l’attributo fondamentale per il Process Mining, perché collega tutti i singoli eventi in istanze di processo coerenti dall’inizio alla fine, consentendo di analizzare i flussi di processo e le prestazioni. Dove reperirli In genere corrisponde all’Internal ID o al Transaction ID del record Return Authorization in NetSuite. Esempi RMA-0012345RMA-0012346RMA-0012347 | |||
| Nome dell’attività ActivityName | Nome dello specifico evento o passaggio aziendale che si è verificato nel processo di reso, ad esempio 'Ispezione dell’articolo' o 'Elaborazione del rimborso'. | ||
| Descrizione Il nome dell’attività descrive un passaggio o una tappa specifica nel ciclo di vita di resi e rimborsi. Gli eventi vengono ordinati in base alla data e all’ora per ricostruire il flusso del processo. Analizzare la sequenza e la frequenza delle attività aiuta a individuare i percorsi più comuni, i colli di bottiglia tra le fasi e le rilavorazioni o ripetizioni. Alcuni esempi sono 'Creazione dell’autorizzazione al reso', 'Ricezione dell’articolo' e 'Approvazione della nota di credito'. Perché è importante Questo attributo definisce le fasi del processo. È essenziale per visualizzare la mappa del processo, analizzare le variazioni del flusso e individuare i colli di bottiglia o i cicli di rilavorazione. Dove reperirli In genere questo attributo si ricava dalle modifiche di stato delle transazioni, come Return Authorization e Credit Memo, oppure da specifiche azioni degli utenti registrate nelle note di sistema o nei log degli eventi personalizzati. Esempi Creazione dell’autorizzazione al resoRicezione dell’articoloIspezione dell’articoloElaborazione del rimborsoChiusura dell’autorizzazione al reso | |||
| Sistema di origine SourceSystem | Il sistema da cui sono stati estratti i dati, utile per tracciarne la provenienza. | ||
| Descrizione Questo attributo identifica l’origine dei dati di processo. In questo caso, si tratta in genere di 'NetSuite'. Specificare il sistema di origine è importante quando i dati provengono da più sistemi, perché consente di mantenere chiara e tracciabile la loro provenienza. Perché è importante Identifica l’origine dei dati, un’informazione fondamentale per la governance dei dati, la risoluzione dei problemi e gli scenari in cui si combinano dati provenienti da più sistemi per ottenere una visione completa del processo. Dove reperirli È un valore statico ('NetSuite'), aggiunto in genere durante l’estrazione e la trasformazione dei dati. Esempi NetSuiteNetSuite ERP | |||
| Ultimo aggiornamento dei dati LastDataUpdate | La data e l’ora dell’ultimo aggiornamento o ricaricamento dei dati relativi al processo. | ||
| Descrizione Questo attributo registra quando il set di dati è stato aggiornato l’ultima volta dal sistema di origine. È un metadato fondamentale, che informa gli utenti sull’aggiornamento dei dati. Mostrare questa informazione nelle Dashboard aiuta a definire le aspettative e a prendere decisioni tenendo conto dell’attualità dei dati. Perché è importante Indica quanto sono aggiornati i dati, un’informazione essenziale perché gli utenti possano fidarsi dell’analisi e valutarne la rilevanza rispetto alla situazione operativa attuale. Dove reperirli Questa data e ora vengono generate e aggiunte durante il processo di estrazione, trasformazione e caricamento dei dati (ETL). Esempi 2024-05-21T02:00:00Z2024-05-22T02:00:00Z | |||
| Addetto all’elaborazione ProcessingAgent | Il dipendente o l’utente che ha svolto una specifica attività nel processo di reso. | ||
| Descrizione L’addetto all’elaborazione identifica la persona responsabile di un’attività specifica, come approvare un reso o ispezionare un articolo. Questo attributo è fondamentale per analizzare le prestazioni a livello individuale. Aiuta a individuare i dipendenti con i risultati migliori, le aree in cui può essere necessaria ulteriore formazione e gli squilibri nella distribuzione del carico di lavoro all’interno del team. Analizzare le attività per addetto è essenziale per la Dashboard 'Prestazioni del processo di reso per reparto'. Perché è importante Consente di analizzare le prestazioni individuali e di squadra, bilanciare i carichi di lavoro e individuare le esigenze di formazione, con un impatto diretto sull’efficienza operativa. Dove reperirli I dati possono provenire da campi come 'Created By' e 'Approved By' oppure dai campi utente nella sottolista System Notes delle transazioni NetSuite. Esempi Alice JohnsonBob WilliamsCharlie Brown | |||
| Importo effettivo del rimborso ActualRefundAmount | L’importo finale effettivamente rimborsato al cliente. | ||
| Descrizione Questo attributo rappresenta il valore effettivamente accreditato o rimborsato al cliente, registrato nella transazione Credit Memo o di rimborso. Può differire dall’importo richiesto a causa di adeguamenti quali spese di riassortimento, costi di spedizione o rimborsi parziali per articoli danneggiati. È fondamentale per la rendicontazione finanziaria e per il calcolo del KPI «Tasso di discrepanza dell’importo del rimborso». Perché è importante Rappresenta l’effettivo impatto finanziario del reso ed è essenziale per la riconciliazione finanziaria e l’analisi della correttezza dei rimborsi. Dove reperirli Il valore proviene dal campo «Total» della transazione Credit Memo generata a partire da Return Authorization. Esempi 99.99140.000.00 | |||
| Reparto Department | Il reparto o il team aziendale responsabile della gestione del caso di reso in una determinata fase. | ||
| Descrizione Questo attributo associa le attività del processo a un reparto specifico, ad esempio 'Assistenza clienti', 'Magazzino' o 'Finanza'. È essenziale per capire i passaggi di consegne tra i team e individuare i colli di bottiglia a livello di reparto. Analizzando il tempo che i casi trascorrono presso un reparto o in attesa di essere gestiti, le organizzazioni possono individuare le cause dei ritardi e ottimizzare l’allocazione delle risorse. È una dimensione fondamentale della Dashboard 'Prestazioni del processo di reso per reparto'. Perché è importante Consente di analizzare le prestazioni del processo per area funzionale e mette in evidenza i ritardi nei passaggi tra reparti e i colli di bottiglia a livello di reparto. Dove reperirli Può essere ricavato dal record dell’utente o del dipendente associato a un’attività oppure da un campo 'Department' della transazione. Spesso viene configurato nei record dei dipendenti in NetSuite. Esempi MagazzinoAssistenza clientiFinanzaControllo qualità | |||
| Stato del reso ReturnAuthorizationStatus | Lo stato attuale dell’autorizzazione al reso, ad esempio 'Pending Approval', 'Approved' o 'Closed'. | ||
| Descrizione Questo attributo indica lo stato attuale del caso di reso nel suo ciclo di vita. È fondamentale per capire a che punto sono i resi e suddividere i casi in gruppi. Ad esempio, analizzare il tempo trascorso nello stato 'Pending Receipt' può mettere in luce ritardi nella spedizione, mentre una lunga permanenza in 'Pending Approval' può indicare un collo di bottiglia interno. L’attributo serve anche a determinare l’esito finale del reso, ad esempio 'Closed' o 'Rejected'. Perché è importante Mostra a che punto del processo si trova ciascun reso e consente di analizzare la distribuzione dei casi, la durata degli stati e gli esiti del processo. Dove reperirli Corrisponde al campo 'Status' o a un campo equivalente del record Return Authorization in NetSuite. Esempi In attesa di approvazioneIn attesa di ricezioneApprovatoRifiutatoChiuso | |||
| Tipo di reso ReturnType | La classificazione del reso in base al motivo indicato dal cliente. | ||
| Descrizione Il tipo di reso classifica i resi in base alla causa sottostante, ad esempio 'Prodotto difettoso', 'Taglia errata', 'Ripensamento' o 'Prodotto non conforme alla descrizione'. Questa classificazione è fondamentale per individuare le cause profonde. Analizzando le metriche di processo per tipo di reso, un’azienda può rilevare problemi di qualità dei prodotti, descrizioni inesatte o errori nell’evasione degli ordini. Questo attributo è essenziale per la Dashboard 'Prestazioni dei resi per tipo e canale'. Perché è importante Aiuta a individuare le cause profonde dei resi e a introdurre miglioramenti mirati ai prodotti, alle descrizioni commerciali o al processo di evasione degli ordini, riducendo il volume dei resi. Dove reperirli In genere si tratta di un campo personalizzato o di un campo standard di tipo elenco/record nel modulo Return Authorization, in cui viene registrato il motivo del reso. Esempi Prodotto difettosoArticolo errato speditoInsoddisfazione del clienteTaglia/colore errato | |||
| Canale del reso ReturnChannel | Il canale attraverso cui è stato effettuato l’acquisto originale o avviato il reso. | ||
| Descrizione Il canale del reso indica da dove proviene il reso, ad esempio 'Online', 'In negozio' o 'Marketplace'. I diversi canali possono avere processi di reso, costi e aspettative dei clienti differenti. Analizzare le prestazioni per canale aiuta le aziende a ottimizzare ciascun processo, allocare le risorse in modo efficace e comprendere i problemi specifici di ogni canale. È un attributo fondamentale per la Dashboard 'Prestazioni dei resi per tipo e canale'. Perché è importante Consente di confrontare le prestazioni dei diversi canali aziendali e di individuare inefficienze o buone pratiche specifiche per le modalità di avvio e gestione dei resi. Dove reperirli Queste informazioni provengono spesso dal record Sales Order originale associato al reso. Possono essere memorizzate in un campo 'Channel' o 'Location'. Esempi Negozio onlineNegozio al dettaglioMarketplace AmazonOrdine telefonico | |||
| Condizione del reso ReturnCondition | La condizione rilevata durante l’ispezione dell’articolo restituito, ad esempio «Nuovo», «Danneggiato» o «Usato». | ||
| Descrizione Questo attributo registra l’esito dell’ispezione fisica dell’articolo restituito. La condizione determina le fasi successive, ad esempio l’emissione di un rimborso completo, il reinserimento dell’articolo in magazzino o il suo smaltimento. L’analisi della coerenza delle valutazioni e dei relativi tempi di elaborazione è al centro della Dashboard «Qualità della valutazione della condizione del reso» ed è fondamentale per la riconciliazione finanziaria e la gestione delle scorte. Perché è importante Incide direttamente sull’esito finanziario del reso e sulle successive operazioni di magazzino. Valutazioni incoerenti possono causare perdite finanziarie e rilavorazioni. Dove reperirli Probabilmente si tratta di un campo personalizzato nel record Item Receipt o Return Authorization, compilato dal personale di magazzino durante l’ispezione. Esempi RivendibileDanneggiato, nella confezioneUsato, in buone condizioniParti mancanti | |||
| Conforme allo SLA IsSlaCompliant | Indicatore calcolato che specifica se il rimborso è stato elaborato entro la scadenza SLA definita. | ||
| Descrizione Questo attributo booleano si ottiene confrontando il timestamp «Rimborso elaborato» con la «Data obiettivo SLA del rimborso». Se il rimborso è stato elaborato entro la data obiettivo, inclusa, il valore è true; altrimenti è false. L’indicatore semplifica la creazione di report e Dashboard sulla conformità, come la Dashboard «Monitoraggio della conformità agli SLA sui rimborsi», ed è utilizzato per calcolare il KPI «Tasso di raggiungimento degli SLA sui rimborsi». Perché è importante Fornisce un esito chiaro e binario sul rispetto dello SLA per ogni caso, semplificando il monitoraggio, la rendicontazione e l’analisi dei tassi di conformità nel tempo. Dove reperirli Questo attributo viene calcolato durante la trasformazione dei dati o nello strumento di Process Mining. La logica è: Esempi truefalse | |||
| Data obiettivo SLA del rimborso RefundSlaTargetDate | La data entro cui si prevede di elaborare il rimborso, in base agli accordi sui livelli di servizio. | ||
| Descrizione La data obiettivo SLA del rimborso è un timestamp calcolato che rappresenta l’impegno preso con il cliente per l’elaborazione del rimborso. In genere si calcola aggiungendo un periodo prestabilito, ad esempio 5 giorni lavorativi, a un evento chiave come «Articolo ricevuto» o «Rimborso approvato». Questo attributo è essenziale per la Dashboard «Monitoraggio della conformità agli SLA sui rimborsi» e per il KPI «Tasso di raggiungimento degli SLA sui rimborsi», che consentono all’azienda di misurare le prestazioni rispetto agli impegni assunti. Perché è importante Consente di misurare quantitativamente il rispetto degli impegni presi con i clienti, un aspetto fondamentale per mantenere la loro soddisfazione e fiducia. Dove reperirli Di norma questa data non corrisponde a un campo standard. Va calcolata aggiungendo un periodo SLA prestabilito, ad esempio 5 giorni, a un timestamp chiave come la data di «Articolo ricevuto». Esempi 2023-11-01T23:59:59Z2023-11-05T23:59:59Z2023-11-10T23:59:59Z | |||
| Discrepanza dell’importo del rimborso RefundAmountDiscrepancy | La differenza calcolata tra l’importo del rimborso richiesto e quello effettivamente rimborsato. | ||
| Descrizione Questa metrica si calcola sottraendo l’«Importo effettivo del rimborso» dall’«Importo del rimborso richiesto». Un valore diverso da zero indica che durante il processo è stato applicato un adeguamento, ad esempio per spese di riassortimento o articoli danneggiati. L’attributo alimenta l’analisi del KPI «Tasso di discrepanza dell’importo del rimborso» e aiuta a segnalare per una revisione i casi con adeguamenti finanziari significativi. Perché è importante Evidenzia gli adeguamenti finanziari applicati durante il processo di reso, consentendo di analizzare le cause delle discrepanze e di verificare che siano coerenti e giustificate. Dove reperirli È un attributo calcolato. La formula è: Esempi 0.0010.00-5.00 | |||
| È automatizzata IsAutomated | Indicatore booleano che specifica se un’attività è stata eseguita automaticamente dal sistema. | ||
| Descrizione Questo attributo indica se un’attività è stata eseguita da un utente oppure da un sistema automatizzato, uno script o un flusso di lavoro. Ad esempio, l’evento iniziale «Autorizzazione al reso creata» potrebbe essere automatizzato tramite un portale clienti, mentre «Articolo ispezionato» è un’attività manuale. Monitorare l’automazione aiuta a individuare le opportunità per automatizzare le fasi manuali e a misurare i benefici delle automazioni già in uso. Perché è importante Aiuta a distinguere le attività manuali da quelle automatizzate, un aspetto essenziale per individuare opportunità di automazione e misurare l’impatto delle iniziative di trasformazione digitale. Dove reperirli È possibile dedurlo dall’utente associato a un evento. In NetSuite, gli eventi generati dal sistema sono spesso associati a un utente di sistema specifico o a un ID script. Esempi truefalse | |||
| ID cliente CustomerId | L’identificativo univoco del cliente che avvia il reso. | ||
| Descrizione L’ID cliente collega una transazione di reso a un cliente specifico. Consente di condurre analisi incentrate sui clienti, ad esempio individuando quelli che effettuano resi frequenti, un possibile segnale di insoddisfazione o di comportamento fraudolento. Permette inoltre di segmentare le prestazioni del processo in base alla tipologia o al valore del cliente, così da dare priorità al servizio per i clienti più importanti. Perché è importante Consente di analizzare i comportamenti di reso a livello di cliente e di segmentare il processo in base ad attributi quali il segmento o il valore del cliente nel tempo. Dove reperirli In NetSuite, questo è il campo «Customer» o «Entity» nell’intestazione del record Return Authorization. Esempi CUST-001CUST-002CUST-003 | |||
| Identificativo del prodotto ProductIdentifier | L’identificativo univoco del prodotto restituito, ad esempio il codice SKU o il numero dell’articolo. | ||
| Descrizione Questo attributo identifica l’articolo specifico oggetto del reso. Analizzare i resi a livello di prodotto è fondamentale per individuare gli articoli con tassi di reso elevati, che possono segnalare difetti di qualità, descrizioni poco chiare o altri problemi. Questi dati consentono un’analisi approfondita delle prestazioni dei prodotti e possono orientare le decisioni relative allo sviluppo, all’approvvigionamento e al marketing. Perché è importante Collega i dati del processo di reso ai singoli prodotti, consentendo di individuare le cause profonde dei problemi legati ai prodotti e contribuendo a ridurre il tasso complessivo di resi. Dove reperirli Si trova nella sottolista 'Items' del record Return Authorization e corrisponde al campo 'Item'. Esempi SKU-TEE-BL-LPROD-00543ITEM-987123 | |||
| Importo del rimborso richiesto RequestedRefundAmount | L’importo in denaro inizialmente richiesto o previsto per il rimborso del reso. | ||
| Descrizione Questo attributo memorizza il valore del rimborso previsto all’inizio del processo, generalmente in base al prezzo di acquisto originale degli articoli restituiti. L’importo costituisce la base di riferimento per il confronto con il rimborso effettivamente erogato. Il KPI «Tasso di discrepanza dell’importo del rimborso» confronta direttamente questo valore con l’importo effettivo del rimborso per individuare scostamenti dovuti a spese di riassortimento, rimborsi parziali o altri adeguamenti. Perché è importante Fornisce una base di riferimento per l’analisi finanziaria, aiutando a monitorare gli scostamenti tra gli importi dei rimborsi previsti ed effettivi e a individuare le ragioni degli adeguamenti. Dove reperirli Il valore deriva dai campi «Amount» o «Rate» delle righe della transazione Return Authorization. Esempi 99.99150.0025.50 | |||
| Rispetto delle politiche ReturnPolicyAdherence | Indica se il reso è conforme alle politiche aziendali stabilite. | ||
| Descrizione Questo attributo booleano o categoriale segnala se un reso soddisfa tutti i criteri predefiniti, come i termini per la restituzione, la condizione dell’articolo e la prova d’acquisto. Viene utilizzato per monitorare la conformità e gestire le eccezioni. La Dashboard «Eccezioni nel rispetto delle politiche di reso» si basa su questo attributo per evidenziare i casi che richiedono una gestione o una revisione specifica, contribuendo a ridurre i rischi e ad applicare le regole in modo coerente. Perché è importante Aiuta a monitorare e applicare le politiche di reso, riducendo il rischio finanziario legato ai resi non conformi e garantendo equità e coerenza. Dove reperirli Quasi certamente si tratta di un campo personalizzato, ad esempio una casella di controllo o un elenco, nel record Return Authorization, gestito tramite un flusso di lavoro. Esempi ConformeNon conforme, oltre i terminiEccezione approvata | |||
Attività per la gestione di resi e rimborsi
| Attività | Descrizione | ||
|---|---|---|---|
| Approvazione dell’autorizzazione al reso | Questa attività indica l’approvazione formale della richiesta di reso del cliente da parte di un dipendente, che consente al processo di proseguire. In genere si rileva deducendo una modifica del campo di stato nel record Return Authorization, ad esempio da 'Pending Approval' a 'Pending Receipt'. | ||
| Perché è importante Monitorare questa fase di approvazione è fondamentale per individuare i colli di bottiglia nella revisione iniziale. Eventuali ritardi incidono direttamente sul tempo necessario per informare il cliente e ricevere l’articolo restituito. Dove reperirli Si deduce dalle note di sistema o dalla cronologia del flusso di lavoro del record ReturnAuthorization, in particolare quando il campo 'Status' viene aggiornato a uno stato che indica l’approvazione, ad esempio 'Pending Receipt'. Acquisizione Rilevare la modifica dello stato del record ReturnAuthorization a 'Approved'. Tipo di evento inferred | |||
| Chiusura dell’autorizzazione al reso | È l’attività finale, che segna la chiusura amministrativa del caso di reso una volta completate tutte le elaborazioni. Si deduce dalla modifica finale dello stato del record Return Authorization a 'Closed'. | ||
| Perché è importante Essendo il punto conclusivo del processo, questa attività è essenziale per calcolare i tempi di ciclo complessivi e individuare i casi che restano aperti a lungo anche dopo l’elaborazione del rimborso. Dove reperirli Si deduce dalle note di sistema o dalla cronologia del flusso di lavoro del record ReturnAuthorization quando il campo 'Status' viene aggiornato allo stato terminale finale, ad esempio 'Closed'. Acquisizione Rilevare la modifica dello stato del record ReturnAuthorization a 'Closed'. Tipo di evento inferred | |||
| Creazione dell’autorizzazione al reso | Questa attività segna l’avvio del processo di reso, quando un cliente chiede di restituire un articolo. In NetSuite viene registrata esplicitamente con la creazione di un nuovo record Return Authorization (RA), che funge da identificativo principale del caso di reso. | ||
| Perché è importante Essendo il punto di partenza del processo, questa attività è essenziale per calcolare il tempo di ciclo complessivo dei resi e analizzare nel tempo il volume delle richieste ricevute. Dove reperirli Questo evento corrisponde alla data e all’ora di creazione del record ReturnAuthorization in NetSuite. In genere, il record riporta l’utente, la data e lo stato iniziale, ad esempio 'Pending Approval'. Acquisizione Data di creazione della transazione ReturnAuthorization in NetSuite. Tipo di evento explicit | |||
| Creazione della nota di credito | Questa attività indica l’avvio della parte finanziaria del reso tramite la creazione di una nota di credito. Il documento specifica l’importo da rimborsare al cliente e viene creato a partire dall’autorizzazione al reso, dopo la ricezione e l’approvazione dell’articolo. | ||
| Perché è importante La creazione della nota di credito è una tappa finanziaria fondamentale. Il tempo che intercorre tra la ricezione dell’articolo e la creazione della nota di credito mostra l’efficienza del processo che va dall’ispezione all’emissione del credito. Dove reperirli Questo evento corrisponde alla data e all’ora di creazione della transazione CreditMemo. Il campo 'Created From' della nota di credito la collega al record ReturnAuthorization. Acquisizione Data di creazione della transazione CreditMemo in NetSuite. Tipo di evento explicit | |||
| Elaborazione del rimborso | È il saldo finanziario finale, con cui i fondi vengono restituiti al cliente. Viene registrato esplicitamente creando una transazione Customer Refund generata a partire dalla nota di credito. | ||
| Perché è importante Questa attività è fondamentale per misurare il rispetto degli SLA e la soddisfazione dei clienti. Il tempo tra 'Credit Memo Approved' e 'Refund Processed' riflette direttamente la rapidità dell’ufficio tesoreria o finanza. Dove reperirli Questo evento corrisponde alla data e all’ora di creazione della transazione CustomerRefund. Il campo 'Created From' della transazione la collega al record CreditMemo. Acquisizione Data di creazione della transazione CustomerRefund in NetSuite. Tipo di evento explicit | |||
| Ricezione dell’articolo | Questa attività segna la ricezione fisica dell’articolo restituito presso il magazzino o il centro di elaborazione. In NetSuite viene registrata esplicitamente creando una transazione Item Receipt collegata all’autorizzazione al reso originale. | ||
| Perché è importante È una tappa fondamentale, che segna il passaggio dall’azione del cliente all’elaborazione interna. Il tempo tra 'Return Approved' e 'Item Received' misura la rapidità con cui il cliente effettua il reso; il tempo successivo a questo evento misura invece l’efficienza interna. Dove reperirli Questo evento corrisponde alla data e all’ora di creazione della transazione ItemReceipt, collegata direttamente al record ReturnAuthorization da cui ha origine. Acquisizione Data di creazione della transazione ItemReceipt in NetSuite, collegata all’RA. Tipo di evento explicit | |||
| Approvazione della nota di credito | Indica l’approvazione formale della nota di credito, spesso necessaria per i rimborsi di importo elevato o nell’ambito dei controlli finanziari. Si deduce da una modifica dello stato del record Credit Memo, che indica che il documento è pronto per essere utilizzato o pagato. | ||
| Perché è importante Se è necessaria un’approvazione finanziaria, questa fase può diventare un collo di bottiglia significativo. Analizzarne la durata aiuta a rendere più efficienti i controlli finanziari senza ritardare i rimborsi ai clienti. Dove reperirli Si deduce dalle note di sistema del record CreditMemo, in particolare quando un campo relativo allo stato di approvazione passa da 'Pending Approval' a 'Approved' o 'Open'. Acquisizione Rilevare la modifica dello stato della transazione CreditMemo a 'Approved'. Tipo di evento inferred | |||
| Creazione dell’ordine di sostituzione | Questa attività rappresenta un caso di sostituzione: invece di un rimborso, viene creato un nuovo ordine di vendita per il cliente. In genere l’evento si rileva dalla creazione di una transazione Sales Order collegata all’autorizzazione al reso originale. | ||
| Perché è importante Monitorare le sostituzioni come percorso distinto aiuta ad analizzare le preferenze dei clienti e l’efficienza del processo di sostituzione rispetto a quello di rimborso. È una variante frequente e importante. Dove reperirli Questo evento corrisponde alla data e all’ora di creazione di una nuova transazione SalesOrder. Il collegamento al record ReturnAuthorization può trovarsi in un campo standard o personalizzato e richiedere un’analisi del sistema. Acquisizione Data di creazione di una transazione SalesOrder collegata al record ReturnAuthorization. Tipo di evento explicit | |||
| Ispezione dell’articolo | Questa attività concettuale indica il completamento dell’ispezione fisica dell’articolo restituito per valutarne le condizioni. Poiché NetSuite non dispone di un oggetto standard 'Inspection', in genere l’attività si deduce da un campo personalizzato o da un aggiornamento di stato nel record Return Authorization o Item Receipt. | ||
| Perché è importante L’ispezione è spesso un importante collo di bottiglia. Monitorarne i tempi di completamento è essenziale per analizzare le prestazioni degli addetti, la coerenza delle decisioni e l’impatto sulla successiva approvazione del rimborso. Dove reperirli Richiede un’analisi del sistema. L’attività può essere dedotta da una modifica del campo personalizzato 'Inspection Status' nel record ReturnAuthorization oppure può svolgersi offline, senza essere registrata. Acquisizione Si deduce da una modifica di un campo di stato personalizzato nel record Return Authorization o Item Receipt. Tipo di evento inferred | |||
| Notifica al cliente | Indica l’invio al cliente di una notifica relativa a un aggiornamento importante dello stato, ad esempio l’approvazione, la ricezione dell’articolo o l’elaborazione del rimborso. In genere si deduce dalla data e dall’ora di un’e-mail generata dal sistema e registrata nella scheda delle comunicazioni del record. | ||
| Perché è importante Comunicare tempestivamente è fondamentale per la soddisfazione dei clienti. Misurare il tempo tra una tappa del processo e la relativa notifica consente di individuare eventuali lacune nell’esperienza del cliente. Dove reperirli Richiede un’analisi del sistema. Si rileva dalla data e dall’ora di un’e-mail in uscita o di una nota utente nella scheda Communication del record ReturnAuthorization o CreditMemo. Acquisizione Data e ora di un’e-mail o di una voce nel registro delle comunicazioni collegata al caso. Tipo di evento inferred | |||
| Rifiuto dell’autorizzazione al reso | Indica la decisione di rifiutare la richiesta di reso di un cliente, spesso per violazione delle policy. L’evento si rileva deducendo una modifica dello stato del record Return Authorization a 'Rejected' o 'Closed', senza ulteriori elaborazioni. | ||
| Perché è importante Analizzare i rifiuti aiuta a individuare le ragioni più frequenti delle richieste di reso non conformi, fornendo indicazioni utili per comunicare con i clienti e chiarire le policy. Si tratta di una deviazione significativa dal percorso ottimale. Dove reperirli Si deduce dalle note di sistema o dalla cronologia del flusso di lavoro del record ReturnAuthorization quando il campo 'Status' viene aggiornato allo stato terminale 'Rejected'. Acquisizione Rilevare la modifica dello stato del record ReturnAuthorization a 'Rejected'. Tipo di evento inferred | |||
| Utilizzo della nota di credito | Questa attività rappresenta un’alternativa al rimborso in denaro: la nota di credito viene utilizzata per compensare una fattura cliente aperta. Si deduce dal collegamento 'Applied To' della nota di credito, che indica che il credito è stato utilizzato. | ||
| Perché è importante Distinguere tra rimborsi in denaro e crediti applicati è importante per l’analisi finanziaria. Questo percorso rappresenta una modalità di chiusura del processo diversa dal rimborso diretto. Dove reperirli Si deduce dalle note di sistema o dai record correlati del CreditMemo, in particolare quando viene collegato a una transazione Invoice per compensare il saldo del cliente. Acquisizione Rilevare l’applicazione di un CreditMemo a una transazione Invoice. Tipo di evento inferred | |||
Guide all’estrazione
Passaggi
- Acceda alla creazione di una ricerca salvata: acceda a NetSuite. Selezioni Reports > New Search. Nella pagina New Saved Search, faccia clic su «Transazione».
- Definisca i criteri principali: nella pagina di configurazione della ricerca salvata, apra la scheda «Criteria» e la sottoscheda «Standard», quindi imposti i filtri seguenti per isolare i record Return Authorization:
TypeèReturn AuthorizationMain LineèYes- Aggiunga un filtro
Date Createde imposti l’intervallo desiderato, ad esempio «negli ultimi 3 mesi». Questo passaggio è fondamentale per gestire il volume dei dati.
- Configuri le colonne dei risultati per gli attributi: apra la scheda «Results» e aggiunga i campi seguenti, che diventeranno gli attributi dell’Event Log. Utilizzi «Custom Label» per rinominarli e renderli più chiari, se necessario.
- ID caso:
Document NumberoTranID(etichetta personalizzata: ReturnCaseId) - Stato del reso:
Status(etichetta personalizzata: ReturnAuthorizationStatus) - Addetto all’elaborazione:
Created Byo un campo personalizzato, se applicabile (etichetta personalizzata: ProcessingAgent) - Reparto:
Department(etichetta personalizzata: Department) - Tipo di reso: un campo personalizzato come
[Your Return Reason Field](etichetta personalizzata: ReturnType) - Importo del rimborso:
Amount(etichetta personalizzata: ActualRefundAmount)
- ID caso:
- Aggiunga colonne formula per i timestamp degli eventi: questo è il passaggio più importante. Per ciascuna delle 12 attività, aggiunga una colonna «Formula (Date/Time)». Ogni formula utilizza un’istruzione CASE per restituire un timestamp solo se si è verificato l’evento specifico. Per le formule esatte di ciascuna attività, consulti la sezione «query».
- Aggiunga colonne statiche: aggiunga ai risultati due colonne «Formula (Text)»:
- Per
SourceSystem, utilizzi la formula:'NetSuite'. - Per
LastDataUpdate, utilizzi una formula che restituisca la data di esecuzione, ad esempio{today}. Per ottenere un timestamp preciso, verrà utilizzata l’ora dell’esportazione.
- Per
- Salvi ed esporti la ricerca: assegni alla ricerca un nome descrittivo, ad esempio «Estrazione resi ProcessMind». Faccia clic su «Save & Run». Quando vengono visualizzati i risultati, faccia clic sull’icona di esportazione e selezioni «CSV».
- Trasformi i dati in un Event Log: il file CSV esportato avrà un formato «wide», con una riga per ogni caso di reso e molte colonne contenenti i timestamp dei diversi eventi. Dovrà trasformarlo in un Event Log in formato «long». Per eseguire la trasformazione, utilizzi uno strumento come Power Query di Microsoft Excel (Annulla pivot colonne), Python o un altro strumento di scripting.
- Per ogni riga del CSV, crei più righe, una per ciascuna colonna del timestamp dell’evento non vuota.
- La nuova tabella trasformata dovrà contenere colonne come
ReturnCaseId,ActivityNameeEventTimestamp.ActivityNamecorrisponde all’intestazione della colonna originale del timestamp, ad esempio «Return Authorization Created», mentreEventTimestampne contiene il valore.
- Prepari il file per il caricamento: verifichi che il CSV finale contenga le intestazioni richieste:
ReturnCaseId,ActivityName,EventTimestamp,SourceSystem,LastDataUpdate, oltre agli attributi consigliati. Il file è ora pronto per essere caricato in ProcessMind.
Configurazione
- Tipo di ricerca: la ricerca salvata deve essere di tipo
Transazione. - Intervallo di date: è fondamentale applicare un filtro per intervallo di date al campo
Date Createddell’autorizzazione al reso. Si consiglia un intervallo di 3-6 mesi per bilanciare la completezza dei dati e le prestazioni. - Filtro principale: la ricerca deve essere filtrata impostando
TiposuReturn AuthorizationeMain LinesuSì, in modo da ottenere un record iniziale per ogni caso di reso. - Campi personalizzati: l’accuratezza dell’estrazione, soprattutto per eventi concettuali come «Articolo ispezionato» o attributi come «Tipo di reso», dipende in larga misura dall’uso di campi personalizzati nei record delle transazioni aziendali. Le formule fornite includono segnaposto come
{custbody_...}, che devono essere adattati alla configurazione di NetSuite in uso. - Autorizzazioni utente: l’utente che esegue la ricerca deve disporre delle autorizzazioni di visualizzazione per tutti i tipi di transazione coinvolti: Return Authorization, Item Receipt, Credit Memo, Customer Refund e Sales Order.
- Prestazioni: per gli account con un volume molto elevato di resi, questa ricerca completa può risultare lenta. Valuti di eseguirla nelle ore di minore attività o di programmarne l’esportazione automatica nell’archivio file.
Query di esempio config
This configuration represents the settings in the NetSuite Saved Search UI. The 'Results' tab should be configured with the following columns and formulas.
**Criteria Tab:**
* `Type` = `Return Authorization`
* `Main Line` = `true`
* `Date Created` = `[Specify Desired Date Range]`
**Results Tab (Columns):**
| Custom Label | Field / Formula Type | Formula / Field ID |
|---|---|---|
| `ReturnCaseId` | Formula (Text) | `{tranid}` |
| `SourceSystem` | Formula (Text) | `'NetSuite'` |
| `LastDataUpdate` | Formula (Date/Time) | `{today}` |
| `ReturnAuthorizationStatus` | Field | `Status` |
| `ProcessingAgent` | Field | `Created By` |
| `Department` | Field | `Department` |
| `ReturnType` | Field | `{custbody_return_reason}` |
| `ActualRefundAmount` | Field | `Amount` |
| `CycleTime` | Formula (Numeric) | `CASE WHEN {status} = 'Closed' THEN {lastmodifieddate} - {datecreated} ELSE NULL END` |
| `Activity_ReturnAuthorizationCreated` | Field | `Date Created` |
| `Activity_ReturnAuthorizationApproved` | Formula (Date/Time) | `MIN(CASE WHEN {systemnotes.newvalue} = 'Pending Receipt' AND {systemnotes.field} = 'Status' THEN {systemnotes.date} ELSE NULL END)` |
| `Activity_ReturnAuthorizationRejected` | Formula (Date/Time) | `MIN(CASE WHEN {systemnotes.newvalue} = 'Rejected' AND {systemnotes.field} = 'Status' THEN {systemnotes.date} ELSE NULL END)` |
| `Activity_ItemReceived` | Formula (Date/Time) | `{applyingtransaction.trandate}` |
| `Activity_ItemInspected` | Formula (Date/Time) | `CASE WHEN {custbody_inspection_status} = 'Complete' THEN {custbody_inspection_date} ELSE NULL END` |
| `Activity_CreditMemoCreated` | Formula (Date/Time) | `{createdfrom.trandate}` |
| `Activity_CreditMemoApproved` | Formula (Date/Time) | `MIN(CASE WHEN {createdfrom.systemnotes.newvalue} = 'Open' AND {createdfrom.systemnotes.field} = 'Status' THEN {createdfrom.systemnotes.date} ELSE NULL END)` |
| `Activity_RefundProcessed` | Formula (Date/Time) | `{createdfrom.appliedtotransaction.trandate}` |
| `Activity_CreditMemoApplied` | Formula (Date/Time) | `CASE WHEN {createdfrom.status} = 'Fully Applied' AND {createdfrom.appliedtotransaction.type} = 'Invoice' THEN {createdfrom.appliedtotransaction.date} ELSE NULL END` |
| `Activity_ExchangeOrderCreated` | Formula (Date/Time) | `{custbody_exchange_order.trandate}` |
| `Activity_CustomerNotified` | Formula (Date/Time) | `MAX({messages.messagedate})` |
| `Activity_ReturnAuthorizationClosed` | Formula (Date/Time) | `MIN(CASE WHEN {systemnotes.newvalue} = 'Closed' AND {systemnotes.field} = 'Status' THEN {systemnotes.date} ELSE NULL END)` | Passaggi
- Abiliti SuiteAnalytics Connect: verifichi che l’account NetSuite disponga di una licenza SuiteAnalytics Connect. Un amministratore deve abilitare la funzionalità in Setup > Company > Enable Features > Analytics.
- Assegni le autorizzazioni utente: assegni al ruolo dell’utente che si connette l’autorizzazione «SuiteAnalytics Connect». L’utente dovrà inoltre disporre delle autorizzazioni di visualizzazione per tutti i record oggetto della query, ad esempio transazioni, dipendenti e clienti.
- Installi il driver ODBC: scarichi e installi il driver ODBC NetSuite appropriato per il sistema operativo dalla pagina di download di SuiteAnalytics Connect in NetSuite.
- Configuri il DSN: imposti un Data Source Name (DSN) sul computer da cui eseguirà la query. Inserisca l’origine dati del servizio, il nome host del server, la porta, l’ID ruolo, l’ID account e le credenziali.
- Colleghi il client SQL: utilizzi un client SQL, ad esempio DBeaver o Microsoft SQL Server Management Studio, per connettersi a NetSuite tramite il DSN configurato.
- Prepari la query SQL: copi nel client la query SQL fornita, progettata per estrarre tutti gli eventi chiave del processo di reso e rimborso.
- Personalizzi la query: modifichi i valori segnaposto nella query. Come minimo, dovrà aggiornare l’intervallo di date nella Common Table Expression (CTE)
ReturnAuthorizationsper selezionare il periodo desiderato. Potrebbe inoltre essere necessario adattare i nomi dei campi personalizzati, comeCUSTBODY_RETURN_TYPE, o i valori di stato specifici alla configurazione di NetSuite. - Esegua la query: esegua la query SQL personalizzata sulla replica del database NetSuite. Il tempo di esecuzione può variare in base all’intervallo di date e al volume dei dati.
- Riveda ed esporti i dati: al termine della query, riveda i risultati per verificarne la correttezza. Esporti l’intero set di risultati in un file CSV.
- Prepari il file per il caricamento: verifichi che le intestazioni del CSV corrispondano agli attributi richiesti:
ReturnCaseId,ActivityName,EventTimestamp,SourceSystem,LastDataUpdatee così via. Controlli che la colonnaEventTimestamputilizzi un formato data e ora coerente. Il file è ora pronto per essere caricato in ProcessMind.
Configurazione
- Prerequisiti: è necessaria una licenza NetSuite con il modulo aggiuntivo SuiteAnalytics Connect. L’utente che esegue la connessione deve avere un ruolo con l’autorizzazione «SuiteAnalytics Connect» e l’accesso in lettura ai record di transazioni, entità e dipendenti.
- Configurazione dell’origine dati: deve configurare un DSN (Data Source Name) utilizzando il driver ODBC di NetSuite. Sono necessari l’ID account, l’ID ruolo e le credenziali. Negli ambienti di produzione, l’host del servizio è in genere
odbcserver.netsuite.com. - Filtro sull’intervallo di date: è fondamentale applicare un filtro sull’intervallo di date alla CTE iniziale che seleziona i record Return Authorization. Senza un filtro, la query tenterà di estrarre tutti i dati dei resi e sarà probabilmente molto lenta o scadrà. Per l’analisi iniziale si consiglia un intervallo da 3 a 6 mesi.
- Tipi di transazione principali: la query riguarda diversi tipi di transazione fondamentali: ReturnAuthorization, ItemReceipt, CreditMemo, CustomerRefund e SalesOrd (per i cambi). Verifichi che il processo utilizzi questi oggetti standard.
- Dipendenze dai campi personalizzati: attività come «Articolo ispezionato» e attributi come «Tipo di reso» vengono spesso registrati in campi personalizzati. La query fornita utilizza segnaposto come
CUSTBODY_INSPECTION_STATUSeCUSTBODY_RETURN_TYPE. Dovrà individuare gli ID corretti dei campi personalizzati nel sistema e aggiornare la query di conseguenza. - Considerazioni sulle prestazioni: si tratta di una query complessa, con più join e una struttura
UNION ALLarticolata. La esegua nelle fasce orarie di minore attività per ridurre l’impatto sulle prestazioni del sistema. Per set di dati molto grandi, valuti di eseguire la query su intervalli più brevi e accodare i risultati.
Query di esempio sql
WITH ReturnAuthorizations AS (
SELECT
T.TRANSACTION_ID AS ReturnCaseId,
T.TRANDATE
FROM
TRANSACTION T
WHERE
T.TYPE = 'ReturnAuthorization'
AND T.TRANDATE BETWEEN TO_DATE('[YYYY-MM-DD]', 'YYYY-MM-DD') AND TO_DATE('[YYYY-MM-DD]', 'YYYY-MM-DD')
)
SELECT
RA.ReturnCaseId AS "ReturnCaseId",
'Return Authorization Created' AS "ActivityName",
T.CREATED_DATE AS "EventTimestamp",
'NetSuite' AS "SourceSystem",
CURRENT_TIMESTAMP AS "LastDataUpdate",
T.STATUS AS "ReturnAuthorizationStatus",
E.full_name AS "ProcessingAgent",
D.full_name AS "Department",
T.CUSTBODY_RETURN_TYPE AS "ReturnType",
NULL AS "ActualRefundAmount",
NULL AS "CycleTime"
FROM TRANSACTION T
INNER JOIN ReturnAuthorizations RA ON T.TRANSACTION_ID = RA.ReturnCaseId
LEFT JOIN EMPLOYEE E ON T.CREATED_BY_ID = E.EMPLOYEE_ID
LEFT JOIN DEPARTMENT D ON E.DEPARTMENT_ID = D.DEPARTMENT_ID
UNION ALL
SELECT
RA.ReturnCaseId,
'Return Authorization Approved' AS "ActivityName",
SN.NOTE_DATE AS "EventTimestamp",
'NetSuite' AS "SourceSystem",
CURRENT_TIMESTAMP AS "LastDataUpdate",
SN.NEW_VALUE AS "ReturnAuthorizationStatus",
E.full_name AS "ProcessingAgent",
D.full_name AS "Department",
T.CUSTBODY_RETURN_TYPE AS "ReturnType",
NULL AS "ActualRefundAmount",
NULL AS "CycleTime"
FROM SYSTEM_NOTES SN
INNER JOIN TRANSACTION T ON SN.TRANSACTION_ID = T.TRANSACTION_ID
INNER JOIN ReturnAuthorizations RA ON T.TRANSACTION_ID = RA.ReturnCaseId
LEFT JOIN EMPLOYEE E ON SN.AUTHOR_ID = E.EMPLOYEE_ID
LEFT JOIN DEPARTMENT D ON E.DEPARTMENT_ID = D.DEPARTMENT_ID
WHERE SN.FIELD = 'TRANSACTION.STATUS' AND SN.NEW_VALUE = 'Pending Receipt'
UNION ALL
SELECT
RA.ReturnCaseId,
'Return Authorization Rejected' AS "ActivityName",
SN.NOTE_DATE AS "EventTimestamp",
'NetSuite' AS "SourceSystem",
CURRENT_TIMESTAMP AS "LastDataUpdate",
SN.NEW_VALUE AS "ReturnAuthorizationStatus",
E.full_name AS "ProcessingAgent",
D.full_name AS "Department",
T.CUSTBODY_RETURN_TYPE AS "ReturnType",
NULL AS "ActualRefundAmount",
NULL AS "CycleTime"
FROM SYSTEM_NOTES SN
INNER JOIN TRANSACTION T ON SN.TRANSACTION_ID = T.TRANSACTION_ID
INNER JOIN ReturnAuthorizations RA ON T.TRANSACTION_ID = RA.ReturnCaseId
LEFT JOIN EMPLOYEE E ON SN.AUTHOR_ID = E.EMPLOYEE_ID
LEFT JOIN DEPARTMENT D ON E.DEPARTMENT_ID = D.DEPARTMENT_ID
WHERE SN.FIELD = 'TRANSACTION.STATUS' AND SN.NEW_VALUE IN ('Rejected', 'Closed')
UNION ALL
SELECT
RA.ReturnCaseId,
'Item Received' AS "ActivityName",
IR.CREATED_DATE AS "EventTimestamp",
'NetSuite' AS "SourceSystem",
CURRENT_TIMESTAMP AS "LastDataUpdate",
T_RA.STATUS AS "ReturnAuthorizationStatus",
E.full_name AS "ProcessingAgent",
D.full_name AS "Department",
T_RA.CUSTBODY_RETURN_TYPE AS "ReturnType",
NULL AS "ActualRefundAmount",
NULL AS "CycleTime"
FROM TRANSACTION IR
INNER JOIN TRANSACTION T_RA ON IR.CREATED_FROM_ID = T_RA.TRANSACTION_ID
INNER JOIN ReturnAuthorizations RA ON T_RA.TRANSACTION_ID = RA.ReturnCaseId
LEFT JOIN EMPLOYEE E ON IR.CREATED_BY_ID = E.EMPLOYEE_ID
LEFT JOIN DEPARTMENT D ON E.DEPARTMENT_ID = D.DEPARTMENT_ID
WHERE IR.TYPE = 'ItemReceipt'
UNION ALL
SELECT
RA.ReturnCaseId,
'Item Inspected' AS "ActivityName",
SN.NOTE_DATE AS "EventTimestamp",
'NetSuite' AS "SourceSystem",
CURRENT_TIMESTAMP AS "LastDataUpdate",
T.STATUS AS "ReturnAuthorizationStatus",
E.full_name AS "ProcessingAgent",
D.full_name AS "Department",
T.CUSTBODY_RETURN_TYPE AS "ReturnType",
NULL AS "ActualRefundAmount",
NULL AS "CycleTime"
FROM SYSTEM_NOTES SN
INNER JOIN TRANSACTION T ON SN.TRANSACTION_ID = T.TRANSACTION_ID
INNER JOIN ReturnAuthorizations RA ON T.TRANSACTION_ID = RA.ReturnCaseId
LEFT JOIN EMPLOYEE E ON SN.AUTHOR_ID = E.EMPLOYEE_ID
LEFT JOIN DEPARTMENT D ON E.DEPARTMENT_ID = D.DEPARTMENT_ID
WHERE SN.FIELD = 'TRANSACTION.CUSTBODY_INSPECTION_STATUS' AND SN.NEW_VALUE = 'Completed'
UNION ALL
SELECT
RA.ReturnCaseId,
'Credit Memo Created' AS "ActivityName",
CM.CREATED_DATE AS "EventTimestamp",
'NetSuite' AS "SourceSystem",
CURRENT_TIMESTAMP AS "LastDataUpdate",
T_RA.STATUS AS "ReturnAuthorizationStatus",
E.full_name AS "ProcessingAgent",
D.full_name AS "Department",
T_RA.CUSTBODY_RETURN_TYPE AS "ReturnType",
NULL AS "ActualRefundAmount",
NULL AS "CycleTime"
FROM TRANSACTION CM
INNER JOIN TRANSACTION T_RA ON CM.CREATED_FROM_ID = T_RA.TRANSACTION_ID
INNER JOIN ReturnAuthorizations RA ON T_RA.TRANSACTION_ID = RA.ReturnCaseId
LEFT JOIN EMPLOYEE E ON CM.CREATED_BY_ID = E.EMPLOYEE_ID
LEFT JOIN DEPARTMENT D ON E.DEPARTMENT_ID = D.DEPARTMENT_ID
WHERE CM.TYPE = 'CreditMemo'
UNION ALL
SELECT
RA.ReturnCaseId,
'Credit Memo Approved' AS "ActivityName",
SN.NOTE_DATE AS "EventTimestamp",
'NetSuite' AS "SourceSystem",
CURRENT_TIMESTAMP AS "LastDataUpdate",
SN.NEW_VALUE AS "ReturnAuthorizationStatus",
E.full_name AS "ProcessingAgent",
D.full_name AS "Department",
T_RA.CUSTBODY_RETURN_TYPE AS "ReturnType",
NULL AS "ActualRefundAmount",
NULL AS "CycleTime"
FROM SYSTEM_NOTES SN
INNER JOIN TRANSACTION CM ON SN.TRANSACTION_ID = CM.TRANSACTION_ID
INNER JOIN TRANSACTION T_RA ON CM.CREATED_FROM_ID = T_RA.TRANSACTION_ID
INNER JOIN ReturnAuthorizations RA ON T_RA.TRANSACTION_ID = RA.ReturnCaseId
LEFT JOIN EMPLOYEE E ON SN.AUTHOR_ID = E.EMPLOYEE_ID
LEFT JOIN DEPARTMENT D ON E.DEPARTMENT_ID = D.DEPARTMENT_ID
WHERE CM.TYPE = 'CreditMemo' AND SN.FIELD = 'TRANSACTION.APPROVAL_STATUS' AND SN.NEW_VALUE = 'Approved'
UNION ALL
SELECT
RA.ReturnCaseId,
'Refund Processed' AS "ActivityName",
REF.CREATED_DATE AS "EventTimestamp",
'NetSuite' AS "SourceSystem",
CURRENT_TIMESTAMP AS "LastDataUpdate",
T_RA.STATUS AS "ReturnAuthorizationStatus",
E.full_name AS "ProcessingAgent",
D.full_name AS "Department",
T_RA.CUSTBODY_RETURN_TYPE AS "ReturnType",
ABS(REF.TOTAL) AS "ActualRefundAmount",
NULL AS "CycleTime"
FROM TRANSACTION REF
INNER JOIN TRANSACTION CM ON REF.APPLIED_TO_TRANSACTION_ID = CM.TRANSACTION_ID
INNER JOIN TRANSACTION T_RA ON CM.CREATED_FROM_ID = T_RA.TRANSACTION_ID
INNER JOIN ReturnAuthorizations RA ON T_RA.TRANSACTION_ID = RA.ReturnCaseId
LEFT JOIN EMPLOYEE E ON REF.CREATED_BY_ID = E.EMPLOYEE_ID
LEFT JOIN DEPARTMENT D ON E.DEPARTMENT_ID = D.DEPARTMENT_ID
WHERE REF.TYPE = 'CustomerRefund'
UNION ALL
SELECT
RA.ReturnCaseId,
'Credit Memo Applied' AS "ActivityName",
SN.NOTE_DATE AS "EventTimestamp",
'NetSuite' AS "SourceSystem",
CURRENT_TIMESTAMP AS "LastDataUpdate",
SN.NEW_VALUE AS "ReturnAuthorizationStatus",
E.full_name AS "ProcessingAgent",
D.full_name AS "Department",
T_RA.CUSTBODY_RETURN_TYPE AS "ReturnType",
NULL AS "ActualRefundAmount",
NULL AS "CycleTime"
FROM SYSTEM_NOTES SN
INNER JOIN TRANSACTION CM ON SN.TRANSACTION_ID = CM.TRANSACTION_ID
INNER JOIN TRANSACTION T_RA ON CM.CREATED_FROM_ID = T_RA.TRANSACTION_ID
INNER JOIN ReturnAuthorizations RA ON T_RA.TRANSACTION_ID = RA.ReturnCaseId
LEFT JOIN EMPLOYEE E ON SN.AUTHOR_ID = E.EMPLOYEE_ID
LEFT JOIN DEPARTMENT D ON E.DEPARTMENT_ID = D.DEPARTMENT_ID
WHERE CM.TYPE = 'CreditMemo' AND SN.FIELD = 'TRANSACTION.STATUS' AND SN.NEW_VALUE = 'Fully Applied'
UNION ALL
SELECT
RA.ReturnCaseId,
'Exchange Order Created' AS "ActivityName",
SO.CREATED_DATE AS "EventTimestamp",
'NetSuite' AS "SourceSystem",
CURRENT_TIMESTAMP AS "LastDataUpdate",
T_RA.STATUS AS "ReturnAuthorizationStatus",
E.full_name AS "ProcessingAgent",
D.full_name AS "Department",
T_RA.CUSTBODY_RETURN_TYPE AS "ReturnType",
NULL AS "ActualRefundAmount",
NULL AS "CycleTime"
FROM TRANSACTION SO
INNER JOIN TRANSACTION T_RA ON SO.CREATED_FROM_ID = T_RA.TRANSACTION_ID
INNER JOIN ReturnAuthorizations RA ON T_RA.TRANSACTION_ID = RA.ReturnCaseId
LEFT JOIN EMPLOYEE E ON SO.CREATED_BY_ID = E.EMPLOYEE_ID
LEFT JOIN DEPARTMENT D ON E.DEPARTMENT_ID = D.DEPARTMENT_ID
WHERE SO.TYPE = 'SalesOrd'
UNION ALL
SELECT
RA.ReturnCaseId,
'Customer Notified' AS "ActivityName",
MSG.MESSAGE_DATE AS "EventTimestamp",
'NetSuite' AS "SourceSystem",
CURRENT_TIMESTAMP AS "LastDataUpdate",
T.STATUS AS "ReturnAuthorizationStatus",
E.full_name AS "ProcessingAgent",
D.full_name AS "Department",
T.CUSTBODY_RETURN_TYPE AS "ReturnType",
NULL AS "ActualRefundAmount",
NULL AS "CycleTime"
FROM MESSAGES MSG
INNER JOIN TRANSACTION T ON MSG.TRANSACTION_ID = T.TRANSACTION_ID
INNER JOIN ReturnAuthorizations RA ON T.TRANSACTION_ID = RA.ReturnCaseId
LEFT JOIN EMPLOYEE E ON MSG.AUTHOR_ID = E.EMPLOYEE_ID
LEFT JOIN DEPARTMENT D ON E.DEPARTMENT_ID = D.DEPARTMENT_ID
WHERE MSG.INCOMING = 'F'
UNION ALL
SELECT
RA.ReturnCaseId,
'Return Authorization Closed' AS "ActivityName",
SN.NOTE_DATE AS "EventTimestamp",
'NetSuite' AS "SourceSystem",
CURRENT_TIMESTAMP AS "LastDataUpdate",
SN.NEW_VALUE AS "ReturnAuthorizationStatus",
E.full_name AS "ProcessingAgent",
D.full_name AS "Department",
T.CUSTBODY_RETURN_TYPE AS "ReturnType",
NULL AS "ActualRefundAmount",
NULL AS "CycleTime"
FROM SYSTEM_NOTES SN
INNER JOIN TRANSACTION T ON SN.TRANSACTION_ID = T.TRANSACTION_ID
INNER JOIN ReturnAuthorizations RA ON T.TRANSACTION_ID = RA.ReturnCaseId
LEFT JOIN EMPLOYEE E ON SN.AUTHOR_ID = E.EMPLOYEE_ID
LEFT JOIN DEPARTMENT D ON E.DEPARTMENT_ID = D.DEPARTMENT_ID
WHERE T.TYPE = 'ReturnAuthorization' AND SN.FIELD = 'TRANSACTION.STATUS' AND SN.NEW_VALUE LIKE '%Closed%'; È pronto a iniziare?
Inizi a migliorare la gestione di resi e rimborsi utilizzando questo Template dei dati. Cominci oggi a ottimizzare i flussi di lavoro in NetSuite per aumentare l’efficienza e la soddisfazione dei clienti.
Ottimizzi subito resi e rimborsi e migliori l’efficienza di NetSuite
Riduca del 30% il tempo di ciclo dei resi in NetSuite. Inizi oggi a migliorare le operazioni.
Non è richiesta la carta di credito • Configurazione in pochi minuti