Ihr Daten-Template für den Retouren- und Erstattungsprozess
Ihr Daten-Template für den Retouren- und Erstattungsprozess
- Empfohlene Attribute zur Erfassung
- Wichtige Aktivitäten zur Verfolgung
- NetSuite Extraktionsanleitung
Attribute des Retouren- und Erstattungsprozesses
| Name | Beschreibung | ||
|---|---|---|---|
| Aktivitätsname ActivityName | Der Name des spezifischen Geschäftsereignisses oder -schritts, der innerhalb des Retourenprozesses aufgetreten ist, wie z.B. „Artikel geprüft“ oder „Rückerstattung bearbeitet“. | ||
| Beschreibung Der Aktivitätsname beschreibt einen eigenständigen Schritt oder Meilenstein im Retouren- und Rückerstattungslebenszyklus. Diese Ereignisse werden nach ihren Zeitstempeln geordnet, um den Prozessfluss aufzubauen. Die Analyse der Reihenfolge und Häufigkeit von Aktivitäten hilft, die gängigsten Prozesspfade, Engpässe zwischen den Schritten und etwaige Nacharbeiten oder wiederholte Aktivitäten zu identifizieren. Beispiele sind „Retourenautorisierung erstellt“, „Artikel erhalten“ und „Gutschrift genehmigt“. Bedeutung Dieses Attribut definiert die Prozessschritte. Es ist unerlässlich für die Visualisierung der Prozesslandkarte, die Analyse von Flussvariationen und die Identifizierung von Engpässen oder Nacharbeitszyklen. Datenquelle Dieses Attribut wird typischerweise aus den Statusänderungen von Transaktionsdatensätzen wie Retourenautorisierungen und Gutschriften oder aus spezifischen Benutzeraktionen, die in Systemhinweisen oder benutzerdefinierten Event Logs erfasst wurden, abgeleitet. Beispiele Retourenautorisierung erstelltArtikel empfangenArtikel geprüftRefund ProcessedRetourenautorisierung geschlossen | |||
| Ereignis-Timestamp EventTimestamp | Das genaue Datum und die Uhrzeit, zu der die Aktivität stattfand, dient als chronologisches Rückgrat des Prozesses. | ||
| Beschreibung Der Event Timestamp zeichnet den genauen Zeitpunkt einer Aktivität auf. Diese Daten sind entscheidend für die korrekte Abfolge von Ereignissen und für alle zeitbasierten Analysen. Sie werden verwendet, um Dauern zwischen Aktivitäten, die gesamten Fall-Durchlaufzeiten und Wartezeiten zu berechnen, die grundlegend für die Leistungsüberwachung, Engpassanalyse und SLA-Compliance-Prüfungen sind. Timestamps müssen präzise sein, um die Zuverlässigkeit von Process Mining-Erkenntnissen zu gewährleisten. Bedeutung Dieses Attribut liefert die chronologische Reihenfolge der Ereignisse, die für die Ermittlung des Prozessflusses und die Berechnung aller Leistungsmetriken wie Zykluszeiten und Wartezeiten erforderlich ist. Datenquelle Diese Informationen stammen typischerweise aus den Feldern „Erstellungsdatum“ oder „Datum der letzten Änderung“ in NetSuite-Datensätzen oder aus Timestamps in der System Notes-Unterliste, die mit Transaktionen verknüpft sind. Beispiele 2023-10-26T10:00:00Z2023-10-26T14:35:10Z2023-10-27T09:12:05Z | |||
| Retourenfall-ID ReturnCaseId | Der eindeutige Bezeichner für einen einzelnen Kundenretouren- oder Rückerstattungsfall, der alle zugehörigen Aktivitäten von der Initiierung bis zum Abschluss verknüpft. | ||
| Beschreibung Die Retourenfall-ID dient als primärer Identifikator zur Verfolgung des End-to-End-Verlaufs einer Retoure. Jede eindeutige ID entspricht einer einzelnen Retourenautorisierung und ermöglicht die umfassende Analyse aller zugehörigen Ereignisse, wie Artikeleingang, Inspektion und Rückerstattungsbearbeitung. Im Process Mining ist diese ID unerlässlich, um den vollständigen Prozessfluss für jede Retoure zu rekonstruieren, wodurch die Berechnung von Zykluszeiten und die Identifizierung von Abweichungen auf Fallebene ermöglicht wird. Bedeutung Dies ist das grundlegende Attribut für Process Mining, da es alle einzelnen Ereignisse zu kohärenten End-to-End-Prozessinstanzen verbindet und so die Analyse von Prozessflüssen und -leistungen ermöglicht. Datenquelle Dies ist typischerweise die interne ID oder Transaktions-ID des Return Authorization-Datensatzes in NetSuite. Beispiele RMA-0012345RMA-0012346RMA-0012347 | |||
| Letzte Datenaktualisierung LastDataUpdate | Der Timestamp, der angibt, wann die Daten für diesen Prozess zuletzt aktualisiert wurden. | ||
| Beschreibung Dieses Attribut erfasst, wann der Datensatz zuletzt aus dem Quellsystem aktualisiert wurde. Es ist ein kritisches Metadatum, das Benutzer über die Aktualität der Analyse informiert. Die Anzeige dieser Informationen in Dashboards hilft, Erwartungen zu steuern und stellt sicher, dass Entscheidungen auf einem Verständnis der Datenaktualität basieren. Bedeutung Schafft Transparenz über die Aktualität der Daten, was für Benutzer unerlässlich ist, um der Analyse zu vertrauen und deren Relevanz für den aktuellen Betriebszustand zu verstehen. Datenquelle Dieser Beispiele 2024-05-21T02:00:00Z2024-05-22T02:00:00Z | |||
| Quellsystem SourceSystem | Das System, aus dem die Daten extrahiert wurden, verwendet zur Verfolgung der Datenherkunft. | ||
| Beschreibung Dieses Attribut identifiziert den Ursprung der Prozessdaten. In diesem Kontext wird es typischerweise „NetSuite“ sein. Die Angabe des Quellsystems ist in Umgebungen wichtig, in denen Daten aus mehreren Systemen zusammengeführt werden könnten, um eine klare Datenherkunft und Nachvollziehbarkeit zu gewährleisten. Bedeutung Identifiziert den Ursprung der Daten, was entscheidend für Data Governance, Fehlerbehebung und in Szenarien ist, in denen Daten aus mehreren Systemen für eine umfassende Prozessansicht kombiniert werden. Datenquelle Dies ist ein statischer Wert („NetSuite“), der typischerweise während des Datenextraktions- und Transformationsprozesses hinzugefügt wird. Beispiele NetSuiteNetSuite ERP | |||
| Abteilung Department | Die Fachabteilung oder das Team, das für die Bearbeitung des Retourenfalls in einem bestimmten Stadium verantwortlich ist. | ||
| Beschreibung Dieses Attribut weist Prozessaktivitäten einer spezifischen Abteilung zu, wie z.B. „Kundenservice“, „Lager“ oder „Finanzen“. Es ist essenziell, um Übergaben zwischen Teams zu verstehen und abteilungsinterne Engpässe zu identifizieren. Durch die Analyse der Zeit, die Fälle innerhalb oder im Wartebereich einer bestimmten Abteilung verbringen, können Unternehmen Verzögerungsquellen genau bestimmen und die Ressourcenallokation optimieren. Dies ist eine primäre Dimension für das Dashboard „Abteilungsübergreifende Retourenprozessleistung“. Bedeutung Ermöglicht die Analyse der Prozess-Performance nach Funktionsbereichen, wobei Verzögerungen bei der Übergabe zwischen Abteilungen und abteilungsinterne Engpässe hervorgehoben werden. Datenquelle Dies kann aus dem Benutzer- oder Mitarbeiterdatensatz, der mit einer Aktivität verknüpft ist, oder aus einem 'Abteilung'-Feld in der Transaktion selbst abgeleitet werden. Es wird oft in Mitarbeiterdatensätzen in NetSuite konfiguriert. Beispiele LagerKundensupportFinanzenQualitätssicherung | |||
| Bearbeitender Sachbearbeiter ProcessingAgent | Der Mitarbeiter oder Benutzer, der eine bestimmte Aktivität im Retourenprozess durchgeführt hat. | ||
| Beschreibung Der Bearbeitende Sachbearbeiter identifiziert die Person, die für die Ausführung einer bestimmten Aufgabe verantwortlich ist, wie z.B. die Genehmigung einer Retoure oder die Inspektion eines Artikels. Dieses Attribut ist entscheidend für die Leistungsanalyse auf Benutzerebene. Es hilft bei der Identifizierung von hochperformanten Mitarbeitern, Bereichen, in denen zusätzliche Schulungen erforderlich sein könnten, und Ungleichgewichten in der Arbeitslastverteilung innerhalb eines Teams. Die Analyse von Aktivitäten nach Sachbearbeiter ist entscheidend für das Dashboard „Abteilungsübergreifende Retourenprozessleistung“. Bedeutung Ermöglicht die Analyse der individuellen und Team-Performance, des Workload-Balancing und die Identifizierung von Schulungsbedarfen, was die operative Effizienz direkt beeinflusst. Datenquelle Dies kann aus Feldern wie „Erstellt von“, „Genehmigt von“ oder Benutzerfeldern in der System Notes-Unterliste von NetSuite-Transaktionen bezogen werden. Beispiele Alice JohnsonBob WilliamsCharlie Brown | |||
| Durchlaufzeit CycleTime | Die gesamte verstrichene Zeit von der Erstellung der Retourenanfrage bis zu ihrem endgültigen Abschluss. | ||
| Beschreibung Cycle Time ist ein Key Performance Indicator, der für jeden Return Case berechnet wird. Er misst die Dauer vom allerersten bis zum allerletzten Event und bietet eine High-Level-Ansicht der Prozesseffizienz. Diese Metrik ist die Grundlage für das 'Return Process End-to-End Cycle Time' Dashboard und den 'Average Return Cycle Time' KPI. Sie wird berechnet, indem der Timestamp der ersten Aktivität vom Timestamp der letzten Aktivität für jeden Case subtrahiert wird. Bedeutung Dies ist ein primäres Maß für die Prozessleistung. Hohe Zykluszeiten weisen oft auf Ineffizienzen, Engpässe oder übermäßige manuelle Arbeit hin, was zu höheren Betriebskosten und einem schlechten Kundenerlebnis führt. Datenquelle Dies ist kein Feld im Quellsystem. Es ist eine Metrik, die während der Process Mining Analyse berechnet wird, indem der minimale Timestamp vom maximalen Timestamp für jeden Case subtrahiert wird. Beispiele 10 Tage 4 Stunden5 Tage 12 Stunden21 Tage 2 Stunden | |||
| Retourenart ReturnType | Die Klassifizierung der Retoure basierend auf dem vom Kunden angegebenen Grund. | ||
| Beschreibung Die Retourenart kategorisiert Retouren basierend auf dem zugrunde liegenden Grund, wie z.B. „Defekter Artikel“, „Falsche Größe“, „Meinungsänderung“ oder „Nicht wie beschrieben“. Diese Kategorisierung ist entscheidend für die Ursachenanalyse. Durch die Analyse von Prozessmetriken über verschiedene Retourenarten hinweg kann ein Unternehmen Produktqualitätsprobleme, Beschreibungsungenauigkeiten oder Erfüllungsfehler identifizieren. Dieses Attribut ist entscheidend für das Dashboard „Retourenleistung nach Art und Kanal“. Bedeutung Hilft, die Grundursachen von Retouren zu identifizieren, was gezielte Verbesserungen bei Produkten, Marketingbeschreibungen oder im Fulfillment-Prozess ermöglicht, um das Retourenvolumen zu reduzieren. Datenquelle Dies ist typischerweise ein benutzerdefiniertes Feld oder ein Standardlisten-/Datensatzfeld im Retourenautorisierungsformular, in dem der Retourengrund erfasst wird. Beispiele Defektes ProduktFalscher Artikel versendetKundenunzufriedenheitFalsche Größe/Farbe | |||
| Retourenstatus ReturnAuthorizationStatus | Der aktuelle Status der Retourenautorisierung, z.B. „Genehmigung ausstehend“, „Genehmigt“ oder „Geschlossen“. | ||
| Beschreibung Dieses Attribut gibt den aktuellen Zustand des Retourenfalls innerhalb seines Lebenszyklus an. Es ist grundlegend, um den Fortschritt von Retouren zu verstehen und Fälle zu segmentieren. Zum Beispiel kann die Analyse der im Status „Empfang ausstehend“ verbrachten Zeit Versandverzögerungen hervorheben, während eine lange Dauer in „Genehmigung ausstehend“ auf einen internen Engpass hindeuten könnte. Es wird auch verwendet, um das Endergebnis einer Retoure zu bestimmen, wie z.B. „Geschlossen“ oder „Abgelehnt“. Bedeutung Bietet einen Überblick darüber, wo sich jede Retoure im Prozess befindet, und ermöglicht die Analyse von Fallverteilung, Statusdauern und Prozessergebnissen. Datenquelle Dies entspricht dem 'Status' oder einem ähnlichen Feld im NetSuite Retourenautorisierungsdatensatz. Beispiele Genehmigung ausstehendWareneingang ausstehendGenehmigtAbgelehntGeschlossen | |||
| Tatsächlicher Rückerstattungsbetrag ActualRefundAmount | Der endgültige Geldbetrag, der dem Kunden tatsächlich erstattet wurde. | ||
| Beschreibung Dieses Attribut stellt den tatsächlichen Wert dar, der dem Kunden gutgeschrieben oder erstattet wurde, wie auf der Gutschrift oder dem Rückerstattungsvorgang vermerkt. Dieser Betrag kann vom angeforderten Betrag abweichen, z.B. aufgrund von Anpassungen wie Wiederauffüllungsgebühren, Versandkosten oder Teilerstattungen für beschädigte Waren. Dieses Attribut ist entscheidend für die Finanzberichterstattung und für die Berechnung des KPIs „Rate der Rückerstattungsbetrags-Diskrepanz“. Bedeutung Stellt die tatsächlichen finanziellen Auswirkungen der Retoure dar und ist für die Finanzabstimmung und die Analyse der Rückerstattungsgenauigkeit unerlässlich. Datenquelle Dieser Wert wird aus dem Feld „Gesamt“ der Credit Memo-Transaktion bezogen, die aus der Return Authorization generiert wird. Beispiele 99.99140.000.00 | |||
| Angefragter Rückerstattungsbetrag RequestedRefundAmount | Der Geldbetrag der Rückerstattung, der ursprünglich für die Retoure angefordert oder erwartet wurde. | ||
| Beschreibung Dieses Attribut speichert den erwarteten Rückerstattungswert zu Beginn des Prozesses. Es basiert typischerweise auf dem ursprünglichen Kaufpreis der zurückgegebenen Artikel. Dieser Betrag dient als Vergleichsbasis zum endgültig erstatteten Betrag. Der KPI „Rate der Rückerstattungsbetrags-Diskrepanz“ vergleicht diesen Wert direkt mit dem tatsächlichen Rückerstattungsbetrag, um Abweichungen zu identifizieren, die durch Wiederauffüllungsgebühren, Teilerstattungen oder andere Anpassungen verursacht werden. Bedeutung Bietet eine Basis für die Finanzanalyse, um Diskrepanzen zwischen erwarteten und tatsächlichen Rückerstattungswerten zu verfolgen und Gründe für Anpassungen zu identifizieren. Datenquelle Dieser Wert wird aus den Feldern „Betrag“ oder „Rate“ in den Positionszeilen des Return Authorization-Vorgangs abgeleitet. Beispiele 99.99150.0025.50 | |||
| Diskrepanz des Rückerstattungsbetrags RefundAmountDiscrepancy | Die berechnete Differenz zwischen dem angeforderten und dem tatsächlich erstatteten Betrag. | ||
| Beschreibung Diese Metrik wird berechnet, indem der „Tatsächlich erstattete Betrag“ vom „Angeforderten Rückerstattungsbetrag“ subtrahiert wird. Ein Wert ungleich Null weist darauf hin, dass während des Prozesses eine Anpassung vorgenommen wurde, z.B. für Wiederauffüllungsgebühren oder beschädigte Waren. Dieses Attribut wird verwendet, um die Analyse für den KPI „Rate der Rückerstattungsbetrags-Diskrepanz“ zu unterstützen und Fälle mit signifikanten finanziellen Anpassungen zur weiteren Überprüfung zu kennzeichnen. Bedeutung Hebt finanzielle Anpassungen hervor, die während des Retourenprozesses vorgenommen wurden, und ermöglicht die Analyse, warum Diskrepanzen auftreten und ob diese konsistent und gerechtfertigt sind. Datenquelle Dies ist ein berechnetes Attribut. Die Formel lautet: Beispiele 0.0010.00-5.00 | |||
| Ist automatisiert IsAutomated | Ein boolesches Flag, das anzeigt, ob eine Aktivität automatisch vom System durchgeführt wurde. | ||
| Beschreibung Dieses Attribut gibt an, ob eine Aktivität von einem Benutzer oder einem automatisierten System, Skript oder Workflow ausgeführt wurde. Zum Beispiel könnte ein anfängliches Ereignis „Retourenautorisierung erstellt“ über ein Kundenportal automatisiert werden, während „Artikel geprüft“ eine manuelle Aktivität ist. Die Verfolgung der Automatisierung hilft, Möglichkeiten zur Automatisierung manueller Schritte zu identifizieren und die Effizienzgewinne aus bestehenden Automatisierungen zu messen. Bedeutung Hilft bei der Unterscheidung zwischen manuellen und automatisierten Aufgaben, was entscheidend für die Identifizierung von Automatisierungsmöglichkeiten und die Messung der Auswirkungen von Digitalisierungsbemühungen ist. Datenquelle Dies kann vom Benutzer abgeleitet werden, der mit einem Ereignis verknüpft ist. Systemgenerierte Ereignisse in NetSuite sind oft mit einem spezifischen Systembenutzer oder einer Skript-ID verbunden. Beispiele truefalsch | |||
| Ist SLA-konform IsSlaCompliant | Ein berechnetes Flag, das anzeigt, ob die Rückerstattung innerhalb des definierten SLA-Ziels bearbeitet wurde. | ||
| Beschreibung Dieses boolesche Attribut wird abgeleitet, indem der Timestamp „Rückerstattung bearbeitet“ mit dem „SLA-Zieldatum für Rückerstattung“ verglichen wird. Wurde die Rückerstattung am oder vor dem Zieldatum bearbeitet, ist der Wert wahr, andernfalls falsch. Dieses Flag vereinfacht die Erstellung von Compliance-Berichten und Dashboards, wie z.B. dem Dashboard „SLA-Compliance-Überwachung für Rückerstattungen“, und wird zur Berechnung des KPIs „SLA-Erfüllungsrate für Rückerstattungen“ verwendet. Bedeutung Bietet ein klares, binäres Ergebnis für die SLA-Performance auf Fallbasis, wodurch die Nachverfolgung, Berichterstattung und Analyse von Compliance-Raten über die Zeit vereinfacht wird. Datenquelle Dieses Attribut wird während der Datentransformation oder innerhalb des Process Mining Tools berechnet. Die Logik lautet: Beispiele truefalsch | |||
| Kunden-ID CustomerId | Der eindeutige Bezeichner für den Kunden, der die Retoure initiiert. | ||
| Beschreibung Die Kunden-ID verknüpft einen Retourenvorgang mit einem spezifischen Kunden. Dies ermöglicht eine kundenorientierte Analyse, wie z.B. die Identifizierung von Kunden mit häufigen Retouren, was auf Unzufriedenheit oder betrügerisches Verhalten hindeuten könnte. Es ermöglicht auch die Segmentierung der Prozessleistung nach Kundentyp oder -wert, was hilft, den Service für wichtige Kunden zu priorisieren. Bedeutung Ermöglicht die kundenbezogene Analyse des Retourenverhaltens und erlaubt die Prozesssegmentierung basierend auf Kundenattributen wie Segment oder Lifetime Value. Datenquelle Dies ist das Feld „Kunde“ oder „Entität“ im Header des Return Authorization-Datensatzes in NetSuite. Beispiele CUST-001CUST-002CUST-003 | |||
| Produkt-ID ProductIdentifier | Der eindeutige Bezeichner für das zurückgegebene Produkt, z.B. SKU oder Artikelnummer. | ||
| Beschreibung Dieses Attribut identifiziert den spezifischen Artikel, der an der Retoure beteiligt ist. Die Analyse von Retouren auf Produktebene ist entscheidend, um Artikel mit hohen Retourenquoten zu identifizieren, die auf Qualitätsmängel, schlechte Beschreibungen oder andere Probleme hindeuten können. Diese Daten ermöglichen eine detaillierte Analyse der Produktleistung und können Entscheidungen bezüglich Produktentwicklung, Beschaffung und Marketing informieren. Bedeutung Links verknüpfen Retourenprozessdaten mit spezifischen Produkten, was eine Ursachenanalyse produktbezogener Probleme ermöglicht und dazu beiträgt, die Gesamtrücksendequoten zu senken. Datenquelle Dies ist in der Unterliste „Artikel“ des Return Authorization-Datensatzes zu finden. Es entspricht dem Feld „Artikel“. Beispiele SKU-TEE-BL-LPROD-00543ITEM-987123 | |||
| Retourenkanal ReturnChannel | Der Kanal, über den der ursprüngliche Kauf getätigt oder die Retoure initiiert wurde. | ||
| Beschreibung Der Retourenkanal gibt den Ursprung der Retoure an, z.B. „Online“, „Im Geschäft“ oder „Marktplatz“. Verschiedene Kanäle können unterschiedliche Retourenprozesse, Kosten und Kundenerwartungen haben. Die Analyse der Leistung nach Kanal hilft Unternehmen, jeden spezifischen Prozess zu optimieren, Ressourcen effektiv zuzuweisen und kanalspezifische Probleme zu verstehen. Dies ist ein Kernattribut für das Dashboard „Retourenleistung nach Art und Kanal“. Bedeutung Ermöglicht den Performance-Vergleich über verschiedene Geschäftskanäle hinweg und deckt Ineffizienzen oder Best Practices auf, die spezifisch für die Initiierung und Bearbeitung von Retouren sind. Datenquelle Diese Information stammt oft aus dem ursprünglichen Sales Order Datensatz, der mit der Retoure verknüpft ist. Sie könnte in einem Feld „Kanal“ oder „Ort“ gespeichert sein. Beispiele WebshopEinzelhandelsgeschäftAmazon MarketplaceTelefonbestellung | |||
| Retourenzustand ReturnCondition | Der bei der Inspektion festgestellte Zustand des zurückgegebenen Artikels, z.B. „Neu“, „Beschädigt“ oder „Gebraucht“. | ||
| Beschreibung Dieses Attribut erfasst das Ergebnis der physischen Inspektion des zurückgegebenen Artikels. Der Zustand bestimmt die nachfolgenden Schritte, z.B. ob eine vollständige Rückerstattung erfolgt, der Artikel eingelagert oder entsorgt werden muss. Die Analyse der Konsistenz und Bearbeitungszeiten dieser Bewertung ist der Fokus des Dashboards „Qualität der Retourenzustandsbewertung“ und entscheidend für die Finanzabstimmung und Bestandsverwaltung. Bedeutung Beeinflusst direkt das finanzielle Ergebnis der Retoure und nachfolgende Lagerbestandsaktionen. Inkonsistente Bewertungen können zu finanziellen Verlusten und Prozessnacharbeiten führen. Datenquelle Dies ist wahrscheinlich ein benutzerdefiniertes Feld im Item Receipt-Datensatz oder im Return Authorization-Datensatz, das vom Lagerpersonal während der Inspektion ausgefüllt wird. Beispiele WiederverkaufbarBeschädigt - Im KartonGebraucht – Guter ZustandFehlteile | |||
| Richtlinientreue ReturnPolicyAdherence | Zeigt an, ob die Retoure den etablierten Unternehmensrichtlinien für Retouren entspricht. | ||
| Beschreibung Dieses boolesche oder kategoriale Attribut kennzeichnet, ob eine Retoure alle vordefinierten Kriterien erfüllt, wie z.B. Retourenfenster, Artikelzustand und Kaufbeleg. Es wird zur Überwachung der Compliance und zur Verwaltung von Ausnahmen verwendet. Das Dashboard „Ausnahmen bei der Einhaltung der Retourenrichtlinien“ stützt sich auf dieses Attribut, um Fälle hervorzuheben, die eine spezielle Bearbeitung oder Überprüfung erfordern, und hilft so, Risiken zu minimieren und eine konsistente Anwendung der Regeln zu gewährleisten. Bedeutung Hilft bei der Überwachung und Durchsetzung von Retourenrichtlinien, reduziert das finanzielle Risiko durch nicht konforme Retouren und gewährleistet Fairness und Konsistenz. Datenquelle Dies wäre höchstwahrscheinlich ein benutzerdefiniertes Feld, möglicherweise ein Kontrollkästchen oder eine Liste, im Return Authorization-Datensatz, das über einen Workflow verwaltet wird. Beispiele KonformNicht konform – Außerhalb der FristAusnahme genehmigt | |||
| SLA-Zieldatum für Rückerstattung RefundSlaTargetDate | Das Zieldatum, bis zu dem die Rückerstattung gemäß den Service Level Agreements voraussichtlich bearbeitet wird. | ||
| Beschreibung Das SLA-Zieldatum für Rückerstattung ist ein berechneter Timestamp, der die Zusage an den Kunden zur Bearbeitung seiner Rückerstattung darstellt. Es wird typischerweise berechnet, indem eine vordefinierte Periode, z.B. 5 Werktage, zu einem Schlüsselereignis wie „Artikel erhalten“ oder „Rückerstattung genehmigt“ addiert wird. Dieses Attribut ist entscheidend für das Dashboard „SLA-Compliance-Überwachung für Rückerstattungen“ und den KPI „SLA-Erfüllungsrate für Rückerstattungen“, wodurch das Unternehmen die Leistung im Vergleich zu seinen Versprechen messen kann. Bedeutung Ermöglicht die quantitative Messung der Performance im Verhältnis zu Kundenverpflichtungen, was entscheidend für die Aufrechterhaltung der Kundenzufriedenheit und des Vertrauens ist. Datenquelle Dieses Datum ist normalerweise kein Standardfeld. Es muss durch Hinzufügen einer vordefinierten SLA-Periode (z.B. 5 Tage) zu einem wichtigen Timestamp, wie dem Datum „Artikel erhalten“, abgeleitet werden. Beispiele 2023-11-01T23:59:59Z2023-11-05T23:59:59Z2023-11-10T23:59:59Z | |||
Aktivitäten im Retouren- und Erstattungsprozess
| Aktivität | Beschreibung | ||
|---|---|---|---|
| Artikel empfangen | Diese Aktivität markiert den physischen Eingang des zurückgesandten Artikels im Lager oder Bearbeitungszentrum. In NetSuite wird dies explizit durch die Erstellung einer Item Receipt Transaktion, die mit der ursprünglichen Return Authorization verknüpft ist, erfasst. | ||
| Bedeutung Dies ist ein kritischer Meilenstein, der den Prozess von der Kundenaktion zur internen Bearbeitung überführt. Die Zeit zwischen „Retoure genehmigt“ und „Artikel erhalten“ misst die Retourengeschwindigkeit des Kunden, während die Zeit nach diesem Ereignis die interne Effizienz misst. Datenquelle Dieses Ereignis ist der Erstellungs-Timestamp der ItemReceipt-Transaktion. Dieser Datensatz ist direkt mit der ursprünglichen ReturnAuthorization verknüpft. Erfassen Erstellungsdatum des NetSuite ItemReceipt-Vorgangs, der mit der RA verknüpft ist. Ereignistyp explicit | |||
| Gutschrift erstellt | Diese Aktivität signalisiert, dass der finanzielle Teil der Retoure durch die Erstellung einer Gutschrift initiiert wurde. Dieses Dokument enthält Details zum an den Kunden zu erstattenden Betrag und wird aus der Retourenautorisierung erstellt, nachdem der Artikel empfangen und genehmigt wurde. | ||
| Bedeutung Die Erstellung der Gutschrift ist ein wichtiger finanzieller Meilenstein. Die Zeit zwischen Artikeleingang und Gutschriftserstellung zeigt die Effizienz des Inspektions-zu-Gutschrift-Prozesses. Datenquelle Dieses Ereignis ist der Erstellungs-Timestamp der CreditMemo-Transaktion. Das Feld „Erstellt aus“ auf der Gutschrift verknüpft sie mit der ReturnAuthorization. Erfassen Erstellungsdatum des NetSuite CreditMemo-Vorgangs. Ereignistyp explicit | |||
| Refund Processed | Dies ist die endgültige finanzielle Abwicklung, bei der die Gelder an den Kunden zurückgezahlt werden. Sie wird explizit durch die Erstellung einer Customer Refund-Transaktion erfasst, die aus der Gutschrift generiert wird. | ||
| Bedeutung Diese Aktivität ist entscheidend für die Messung der SLA-Compliance und Kundenzufriedenheit. Die Dauer von „Gutschrift genehmigt“ bis „Rückerstattung bearbeitet“ spiegelt direkt die Geschwindigkeit der Finanz- oder Treasury-Abteilung wider. Datenquelle Dieses Ereignis ist der Erstellungs-Timestamp der CustomerRefund-Transaktion. Das Feld „Erstellt aus“ auf dieser Transaktion verknüpft sie mit der Gutschrift. Erfassen Erstellungsdatum des NetSuite CustomerRefund-Vorgangs. Ereignistyp explicit | |||
| Retourenautorisierung erstellt | Diese Aktivität markiert die Initiierung des Retourenprozesses, wenn ein Kunde die Rücksendung eines Artikels anfordert. Sie wird in NetSuite explizit durch die Erstellung eines neuen Return Authorization (RA)-Datensatzes erfasst, der als primärer Fallidentifikator für die Retoure dient. | ||
| Bedeutung Als Startpunkt des Prozesses ist diese Aktivität unerlässlich, um die gesamte Retouren Cycle Time zu messen und das Volumen eingehender Retourenanfragen im Zeitverlauf zu analysieren. Datenquelle Dieses Ereignis ist der Erstellungs-Timestamp des ReturnAuthorization-Datensatzes in NetSuite. Der Benutzer, das Datum und der initiale Status (z.B. „Genehmigung ausstehend“) werden typischerweise in diesem Datensatz erfasst. Erfassen Erstellungsdatum des NetSuite ReturnAuthorization-Vorgangs. Ereignistyp explicit | |||
| Retourenautorisierung genehmigt | Diese Aktivität stellt die formelle Genehmigung der Retourenanfrage des Kunden durch einen Mitarbeiter dar, wodurch der Prozess fortgesetzt werden kann. Sie wird typischerweise durch eine Änderung des Statusfeldes des Retourenautorisierungsdatensatzes abgeleitet, z.B. von „Genehmigung ausstehend“ zu „Empfang ausstehend“. | ||
| Bedeutung Die Verfolgung dieses Genehmigungsschritts ist entscheidend für die Identifizierung von Engpässen in der anfänglichen Überprüfungsphase. Verzögerungen hier wirken sich direkt auf die Zeit aus, die benötigt wird, um den Kunden zu informieren und den zurückgesandten Artikel zu erhalten. Datenquelle Abgeleitet aus den System Notes oder der Workflow History für den ReturnAuthorization Record, speziell wenn das 'Status'-Feld auf einen genehmigten Zustand (z.B. 'Pending Receipt') aktualisiert wird. Erfassen Statusänderung des ReturnAuthorization Records in den 'Approved'-Zustand erkennen. Ereignistyp inferred | |||
| Retourenautorisierung geschlossen | Dies ist die abschließende Aktivität, die den administrativen Abschluss des Retourenfalls nach vollständiger Bearbeitung markiert. Dies wird aus der letzten Statusänderung im Return Authorization-Datensatz auf den Status „Geschlossen“ abgeleitet. | ||
| Bedeutung Als definitiver Endpunkt des Prozesses ist diese Aktivität unerlässlich, um End-to-End Cycle Times zu berechnen und Fälle zu identifizieren, die lange nach der Bearbeitung der Rückerstattung noch offen sind. Datenquelle Abgeleitet aus den System Notes oder der Workflow History für den ReturnAuthorization Record, wenn das 'Status'-Feld auf seinen finalen terminalen Zustand, wie 'Closed', aktualisiert wird. Erfassen Statusänderung des ReturnAuthorization Records in den 'Closed'-Zustand erkennen. Ereignistyp inferred | |||
| Artikel geprüft | Diese konzeptionelle Aktivität stellt den Abschluss der physischen Inspektion des zurückgegebenen Artikels zur Beurteilung seines Zustands dar. Da NetSuite kein Standard-„Inspektions“-Objekt besitzt, wird dies typischerweise aus einem benutzerdefinierten Feld oder einer Statusaktualisierung auf der Retourenautorisierung oder dem Artikeleingang abgeleitet. | ||
| Bedeutung Die Prüfung ist oft ein wesentlicher Engpass. Die Verfolgung ihrer Abschlusszeit ist entscheidend für die Analyse der Agenten-Performance, der Entscheidungskonsistenz und ihrer Auswirkungen auf die nachfolgende Rückerstattungsgenehmigung. Datenquelle Erfordert Systemanalyse. Dies kann aus einer Änderung eines benutzerdefinierten Feldes 'Inspektionsstatus' im ReturnAuthorization-Datensatz abgeleitet werden, oder es könnte ein Offline-Prozess sein, der nicht erfasst wird. Erfassen Abgeleitet von einer Custom Status Field Änderung auf der Return Authorization oder dem Item Receipt. Ereignistyp inferred | |||
| Credit Memo genehmigt | Stellt die formale Genehmigung der Gutschrift dar, die oft für hochwertige Rückerstattungen oder als Teil der Finanzkontrollen erforderlich ist. Dies wird aus einer Statusänderung im Gutschriftsdatensatz abgeleitet, die anzeigt, dass sie zur Anwendung oder Zahlung bereit ist. | ||
| Bedeutung Wenn Finanzgenehmigungen erforderlich sind, kann dieser Schritt einen erheblichen Engpass darstellen. Die Analyse seiner Dauer hilft, Finanzkontrollen zu optimieren, ohne Kundenrückerstattungen zu verzögern. Datenquelle Abgeleitet aus den System Notes für den CreditMemo Record, speziell wenn ein Approval Status Field von 'Pending Approval' auf 'Approved' oder 'Open' aktualisiert wird. Erfassen Statusänderung der CreditMemo Transaktion in den 'Approved'-Zustand erkennen. Ereignistyp inferred | |||
| Gutschrift angewendet | Diese Aktivität stellt eine Alternative zu einer Barauszahlung dar, bei der die Gutschrift auf eine offene Kundenrechnung angewendet wird. Sie wird aus dem „Angewendet auf“-Link der Gutschrift abgeleitet, der anzeigt, dass die Gutschrift verwendet wurde. | ||
| Bedeutung Die Unterscheidung zwischen Barauszahlungen und Gutschriftsanträgen ist wichtig für die Finanzanalyse. Dieser Pfad stellt eine andere Art der Prozesslösung im Vergleich zu einer direkten Rückerstattung dar. Datenquelle Abgeleitet aus den System Notes oder verwandten Records des CreditMemo, speziell wenn es mit einer Invoice Transaktion verknüpft ist, um den Saldo eines Kunden auszugleichen. Erfassen Anwendung eines CreditMemo auf eine Invoice Transaktion erkennen. Ereignistyp inferred | |||
| Kunde benachrichtigt | Stellt das Senden einer Benachrichtigung an den Kunden über eine wichtige Statusaktualisierung dar, wie z.B. Genehmigung, Artikeleingang oder bearbeitete Rückerstattung. Dies wird typischerweise aus dem Timestamp einer systemgenerierten E-Mail abgeleitet, die unter dem Kommunikations-Tab des Datensatzes protokolliert ist. | ||
| Bedeutung Zeitnahe Kommunikation ist entscheidend für die Kundenzufriedenheit. Die Messung der Verzögerung zwischen einem Meilenstein und der Kundenbenachrichtigung hilft, Lücken im Kundenerlebnis zu identifizieren. Datenquelle Erfordert Systemanalyse. Erfasst vom Timestamp einer ausgehenden E-Mail oder Benutzernotiz auf dem Kommunikations-Sub-Tab der ReturnAuthorization oder CreditMemo. Erfassen Timestamp einer E-Mail oder eines Kommunikationsprotokolleintrags, der mit dem Fall verknüpft ist. Ereignistyp inferred | |||
| Retourenautorisierung abgelehnt | Dies stellt die Entscheidung dar, eine Retourenanfrage eines Kunden abzulehnen, oft aufgrund von Richtlinienverstößen. Dieses Ereignis wird durch eine Statusänderung im Return Authorization-Datensatz zu einem Status „Abgelehnt“ oder „Geschlossen“ ohne weitere Bearbeitung erfasst. | ||
| Bedeutung Die Analyse von Ablehnungen hilft, häufige Gründe für nicht konforme Retourenanfragen zu identifizieren, was die Kundenkommunikation und Richtlinienklärung informieren kann. Es ist eine wichtige Abweichung vom „Happy Path“. Datenquelle Abgeleitet aus den System Notes oder der Workflow History für den ReturnAuthorization Record, wenn das 'Status'-Feld auf einen terminalen 'Rejected'-Zustand aktualisiert wird. Erfassen Statusänderung des ReturnAuthorization Records in den 'Rejected'-Zustand erkennen. Ereignistyp inferred | |||
| Umtauschauftrag erstellt | Diese Aktivität stellt ein Umtauschszenario dar, bei dem eine neue Verkaufsbestellung für den Kunden anstelle einer Rückerstattung erstellt wird. Dieses Ereignis wird typischerweise durch die Erstellung eines Verkaufsauftrags erfasst, der mit der ursprünglichen Retourenautorisierung verknüpft ist. | ||
| Bedeutung Die Verfolgung von Umtauschvorgängen als eigenständiger Pfad hilft, Kundenpräferenzen und die Effizienz des Umtauschprozesses im Vergleich zum Rückerstattungsprozess zu analysieren. Dies ist eine häufige und wichtige Variante. Datenquelle Dieses Ereignis ist der Erstellungs-Timestamp einer neuen SalesOrder-Transaktion. Die Verknüpfung zur ReturnAuthorization kann in einem Standard- oder benutzerdefinierten Feld liegen und erfordert Systemanalyse. Erfassen Erstellungsdatum des SalesOrder-Datensatzes, der mit der ReturnAuthorization verknüpft ist. Ereignistyp explicit | |||
Extraktionsleitfäden
Schritte
- Zur Erstellung einer Saved Search navigieren: Melden Sie sich bei NetSuite an. Navigieren Sie zu Reports > New Search. Auf der Seite New Saved Search klicken Sie auf 'Transaction'.
- Primäre Kriterien definieren: Auf der Saved Search Setup-Seite, unter dem Tab 'Criteria' und dem Subtab 'Standard', legen Sie die folgenden Filter fest, um die Return Authorization Records zu isolieren:
TypeistReturn AuthorizationMain LineistYes- Fügen Sie einen
Date CreatedFilter hinzu und setzen Sie ihn auf den gewünschten Datumsbereich, zum Beispiel, 'within last 3 months'. Dies ist entscheidend für die Verwaltung des Datenvolumens.
- Ergebnisspalten für Attribute konfigurieren: Gehen Sie zum Tab 'Results'. Fügen Sie die folgenden Felder hinzu, die zu den Attributen in Ihrem Event Log werden. Verwenden Sie 'Custom Label', um sie bei Bedarf zur besseren Übersichtlichkeit umzubenennen.
- Case ID:
Document NumberoderTranID(Custom Label: ReturnCaseId) - Return Status:
Status(Custom Label: ReturnAuthorizationStatus) - Processing Agent:
Created Byoder ein Custom Field, falls zutreffend (Custom Label: ProcessingAgent) - Department:
Department(Custom Label: Department) - Return Type: Ein Custom Field wie
[Your Return Reason Field](Custom Label: ReturnType) - Refund Amount:
Amount(Custom Label: ActualRefundAmount)
- Case ID:
- Formelspalten für Event Timestamps hinzufügen: Dies ist der kritischste Schritt. Für jede der 12 Aktivitäten fügen Sie eine 'Formula (Date/Time)'-Spalte hinzu. Jede Formel verwendet eine CASE-Anweisung, um einen Timestamp nur zurückzugeben, wenn dieses spezifische Event aufgetreten ist. Siehe den 'query'-Abschnitt für die genauen Formeln, die für jede Aktivität verwendet werden sollen.
- Statische Spalten hinzufügen: Fügen Sie zwei 'Formula (Text)'-Spalten zu Ihren Ergebnissen hinzu:
- Für
SourceSystem, verwenden Sie die Formel:'NetSuite'. - Für
LastDataUpdate, verwenden Sie eine Formel, die das Ausführungsdatum darstellt, wie{today}. Für einen präzisen Timestamp ist dies die Exportzeit.
- Für
- Suche speichern und exportieren: Geben Sie Ihrer Suche einen beschreibenden Namen, wie 'ProcessMind Returns Extraction'. Klicken Sie auf 'Save & Run'. Sobald die Ergebnisse angezeigt werden, klicken Sie auf das Export-Symbol und wählen Sie 'CSV'.
- Daten in ein Event Log umwandeln: Die exportierte CSV-Datei wird in einem 'wide'-Format vorliegen, mit einer Zeile pro Return Case und vielen Spalten für verschiedene Event Timestamps. Sie müssen dies in ein 'long'-Format Event Log umwandeln. Verwenden Sie ein Tool wie Microsoft Excel Power Query (Unpivot Columns), Python oder ein anderes Scripting Tool, um diese Transformation durchzuführen.
- Für jede Zeile in Ihrer CSV-Datei erstellen Sie mehrere neue Zeilen, eine für jede nicht-leere Event Timestamp-Spalte.
- Die neue, transformierte Tabelle sollte Spalten wie
ReturnCaseId,ActivityNameundEventTimestamphaben. DerActivityNamestammt aus dem Header der ursprünglichen Timestamp-Spalte (z.B. 'Return Authorization Created'), undEventTimestampist der Wert aus dieser Spalte.
- Für den Upload finalisieren: Stellen Sie sicher, dass die endgültige CSV-Datei die erforderlichen Header hat:
ReturnCaseId,ActivityName,EventTimestamp,SourceSystem,LastDataUpdate, plus alle empfohlenen Attribute. Die Datei ist nun bereit für den Upload in ProcessMind.
Konfiguration
- Suchtyp: Die Saved Search muss eine
TransactionSearch sein. - Datumsbereich: Es ist entscheidend, einen Date Range Filter auf das
Date CreatedFeld der Return Authorization anzuwenden. Ein Zeitraum von 3-6 Monaten wird empfohlen, um die Vollständigkeit der Daten mit der Performance in Einklang zu bringen. - Primärfilter: Die Suche muss nach
TypeistReturn AuthorizationundMain LineistYesgefiltert werden, um einen initialen Datensatz pro Return Case zu gewährleisten. - Benutzerdefinierte Felder: Die Genauigkeit dieser Extraktion, insbesondere für konzeptionelle Events wie 'Item Inspected' oder Attribute wie 'Return Type', hängt stark von der Verwendung von Custom Fields auf Transaction Records in Ihrer Organisation ab. Die bereitgestellten Formeln enthalten Platzhalter wie
{custbody_...}, die an Ihre NetSuite-Konfiguration angepasst werden müssen. - Benutzerberechtigungen: Der Benutzer, der die Suche ausführt, benötigt Lesezugriff für alle beteiligten Transaction Types: Return Authorization, Item Receipt, Credit Memo, Customer Refund und Sales Order.
- Performance: Für Konten mit einem sehr hohen Retourenvolumen kann diese umfassende Suche langsam sein. Erwägen Sie, sie außerhalb der Spitzenzeiten auszuführen oder sie so zu planen, dass sie automatisch in den File Cabinet exportiert wird.
a Beispielabfrage 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)` | Schritte
- SuiteAnalytics Connect aktivieren: Stellen Sie sicher, dass Sie eine SuiteAnalytics Connect-Lizenz für Ihr NetSuite-Konto besitzen. Ein Administrator muss die Funktion unter Setup > Company > Enable Funktionen > Analytics aktivieren.
- Benutzerberechtigungen zuweisen: Erteilen Sie der verbindenden Benutzerrolle die Berechtigung 'SuiteAnalytics Connect'. Dieser Benutzer benötigt außerdem Lesezugriff für alle abgefragten Datensätze, wie Transactions, Employees und Customers.
- ODBC-Treiber installieren: Laden Sie den entsprechenden NetSuite ODBC Driver für Ihr Betriebssystem von der SuiteAnalytics Connect Download-Seite in NetSuite herunter und installieren Sie ihn.
- DSN konfigurieren: Richten Sie einen Data Source Name (DSN) auf dem Rechner ein, auf dem Sie die Query ausführen werden. Geben Sie Ihre Service Data Source, Server Hostname, Port, Role ID, Account ID und Zugangsdaten ein.
- SQL Client verbinden: Verwenden Sie einen SQL Client, wie DBeaver oder Microsoft SQL Server Management Studio, um sich über den von Ihnen konfigurierten DSN mit NetSuite zu verbinden.
- SQL Query vorbereiten: Kopieren Sie die bereitgestellte SQL Query in Ihren Client. Diese Query ist darauf ausgelegt, alle Schlüssel-Events im Retouren- und Rückerstattungsprozess zu extrahieren.
- Query anpassen: Ändern Sie die Platzhalterwerte in der Query. Mindestens müssen Sie den Datumsbereich in der
ReturnAuthorizationsCommon Table Expression (CTE) aktualisieren, um nach dem gewünschten Zeitraum zu filtern. Möglicherweise müssen Sie auch Custom Field Names, wieCUSTBODY_RETURN_TYPE, oder spezifische Statuswerte an Ihre NetSuite-Konfiguration anpassen. - Query ausführen: Führen Sie die angepasste SQL Query gegen die NetSuite-Datenbankreplik aus. Die Ausführungszeit kann je nach Datumsbereich und Datenvolumen variieren.
- Daten überprüfen und exportieren: Sobald die Query abgeschlossen ist, überprüfen Sie die Ergebnisse, um sicherzustellen, dass sie korrekt erscheinen. Exportieren Sie das gesamte Ergebnisset in eine CSV-Datei.
- Für den Upload finalisieren: Stellen Sie sicher, dass die CSV-Dateikopfzeilen mit den erforderlichen Attributen übereinstimmen:
ReturnCaseId,ActivityName,EventTimestamp,SourceSystem,LastDataUpdate, etc. Überprüfen Sie, ob dieEventTimestamp-Spalte ein konsistentes Datums-/Zeitformat aufweist. Die Datei ist nun bereit für den Upload zu ProcessMind.
Konfiguration
- Voraussetzungen: Eine NetSuite-Lizenz mit dem SuiteAnalytics Connect Add-on-Modul ist erforderlich. Der Benutzer, der die Verbindung herstellt, muss eine Rolle mit der 'SuiteAnalytics Connect'-Berechtigung und Lesezugriff auf Transaktions-, Entitäts- und Mitarbeiterdatensätze haben.
- Datenquellenkonfiguration: Sie müssen einen DSN (Data Source Name) mit dem NetSuite ODBC Driver konfigurieren. Dies erfordert Ihre Account ID, Role ID und Zugangsdaten. Der Service Host ist typischerweise
odbcserver.netsuite.comfür Produktionsumgebungen. - Filterung nach Datumsbereich: Es ist entscheidend, einen Datumsbereichsfilter auf die initiale CTE anzuwenden, die Return Authorizations auswählt. Ohne einen Filter versucht die Query, alle Retourendaten abzurufen, und wird wahrscheinlich sehr langsam sein oder einen Timeout verursachen. Ein Bereich von 3 bis 6 Monaten wird für die initiale Analyse empfohlen.
- Wichtige Transaktionstypen: Die Query zielt auf mehrere Kern-Transaktionstypen ab: ReturnAuthorization, ItemReceipt, CreditMemo, CustomerRefund und SalesOrd (für Umtausch). Stellen Sie sicher, dass Ihr Prozess diese Standardobjekte verwendet.
- Abhängigkeiten von benutzerdefinierten Feldern: Aktivitäten wie 'Item Inspected' und Attribute wie 'Return Type' werden oft in Custom Fields erfasst. Die bereitgestellte Query verwendet Platzhalter wie
CUSTBODY_INSPECTION_STATUSundCUSTBODY_RETURN_TYPE. Sie müssen die korrekten Custom Field IDs in Ihrem System identifizieren und die Query entsprechend aktualisieren. - Performance-Überlegungen: Dies ist eine komplexe Query mit mehreren Joins und einer großen
UNION ALL-Struktur. Führen Sie sie außerhalb der Spitzenzeiten aus, um die Auswirkungen auf die System-Performance zu minimieren. Bei sehr großen Datensätzen sollten Sie die Query für kleinere Zeitintervalle ausführen und die Ergebnisse anhängen.
a Beispielabfrage 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%';