Su Template de datos para el procesamiento de devoluciones y reembolsos
Su Template de datos para el procesamiento de devoluciones y reembolsos
- Atributos recomendados para recopilar
- Actividades clave que debe seguir
- Guía para extraer datos de NetSuite
Atributos del procesamiento de devoluciones y reembolsos
| Nombre | Descripción | ||
|---|---|---|---|
| Fecha y hora del evento EventTimestamp | Fecha y hora exactas en que tuvo lugar la actividad, que sirven de base cronológica del proceso. | ||
| Descripción La fecha y hora del evento registra el momento exacto en que tuvo lugar una actividad. Estos datos son fundamentales para ordenar correctamente los eventos y realizar cualquier análisis temporal. Se utilizan para calcular la duración entre actividades, el tiempo total del ciclo de cada caso y los tiempos de espera, aspectos esenciales para supervisar el rendimiento, analizar cuellos de botella y comprobar el cumplimiento del SLA. Las fechas y horas deben ser precisas para que la información obtenida con Process Mining sea fiable. Por qué es importante Este atributo establece el orden cronológico de los eventos, necesario para descubrir el flujo del proceso y calcular métricas de rendimiento como los tiempos de ciclo y de espera. Dónde obtenerlo Esta información suele obtenerse de los campos 'Date Created' o 'Last Modified Date' de los registros de NetSuite, o de las fechas y horas de la lista System Notes asociada a las transacciones. Ejemplos 2023-10-26T10:00:00Z2023-10-26T14:35:10Z2023-10-27T09:12:05Z | |||
| ID del caso de devolución ReturnCaseId | Identificador único de un caso de devolución o reembolso de un cliente, que vincula todas las actividades relacionadas desde el inicio hasta el cierre. | ||
| Descripción El ID del caso de devolución es el identificador principal para seguir todo el recorrido de una devolución. Cada ID único corresponde a una autorización de devolución y permite analizar en conjunto todos los eventos asociados, como la recepción e inspección del artículo y el procesamiento del reembolso. En Process Mining, este ID es esencial para reconstruir el flujo completo de cada devolución, calcular los tiempos de ciclo e identificar desviaciones en cada caso. Por qué es importante Este es el atributo fundamental para Process Mining, ya que conecta todos los eventos individuales en instancias de proceso completas y coherentes. Así es posible analizar los flujos del proceso y su rendimiento. Dónde obtenerlo Por lo general, es el ID interno o el ID de transacción del registro de autorización de devolución en NetSuite. Ejemplos RMA-0012345RMA-0012346RMA-0012347 | |||
| Nombre de la actividad ActivityName | Nombre del evento o paso específico que tuvo lugar en el proceso de devoluciones, como 'Artículo inspeccionado' o 'Reembolso procesado'. | ||
| Descripción El nombre de la actividad describe un paso o hito concreto del ciclo de devoluciones y reembolsos. Los eventos se ordenan por fecha y hora para construir el flujo del proceso. Analizar la secuencia y la frecuencia de las actividades ayuda a identificar las rutas más habituales, los cuellos de botella entre pasos y los retrabajos o las actividades repetidas. Algunos ejemplos son 'Autorización de devolución creada', 'Artículo recibido' y 'Nota de crédito aprobada'. Por qué es importante Este atributo define los pasos del proceso. Es esencial para visualizar el mapa del proceso, analizar las variaciones del flujo e identificar cuellos de botella o ciclos de retrabajo. Dónde obtenerlo Este atributo suele obtenerse de los cambios de estado de registros de transacciones, como las autorizaciones de devolución y las notas de crédito, o de acciones específicas de usuarios registradas en las notas del sistema o en registros de eventos personalizados. Ejemplos Autorización de devolución creadaArtículo recibidoArtículo inspeccionadoReembolso procesadoAutorización de devolución cerrada | |||
| Sistema de origen SourceSystem | Sistema del que se extrajeron los datos, utilizado para hacer un seguimiento de su procedencia. | ||
| Descripción Este atributo identifica el origen de los datos del proceso. En este caso, suele ser 'NetSuite'. Especificar el sistema de origen es importante cuando se combinan datos de varios sistemas, ya que permite mantener una trazabilidad clara. Por qué es importante Identifica el origen de los datos, algo fundamental para la gobernanza de datos, la resolución de problemas y los casos en que se combinan datos de varios sistemas para obtener una visión integral del proceso. Dónde obtenerlo Es un valor estático ('NetSuite') que suele añadirse durante la extracción y transformación de los datos. Ejemplos NetSuiteNetSuite ERP | |||
| Última actualización de los datos LastDataUpdate | Fecha y hora que indican cuándo se actualizaron o renovaron por última vez los datos de este proceso. | ||
| Descripción Este atributo registra cuándo se actualizaron por última vez los datos del conjunto desde el sistema de origen. Es un metadato fundamental que informa sobre la actualidad del análisis. Mostrar esta información en los Dashboards ayuda a gestionar las expectativas y a tomar decisiones teniendo en cuenta cuándo se actualizaron los datos. Por qué es importante Aporta transparencia sobre la actualidad de los datos, algo esencial para que los usuarios confíen en el análisis y comprendan su relevancia para el estado actual de las operaciones. Dónde obtenerlo Esta fecha y hora se genera y se añade durante el proceso de extracción, transformación y carga (ETL) de los datos. Ejemplos 2024-05-21T02:00:00Z2024-05-22T02:00:00Z | |||
| Agente de procesamiento ProcessingAgent | Persona empleada o usuaria que realizó una actividad específica en el proceso de devolución. | ||
| Descripción El agente de procesamiento identifica a la persona responsable de realizar una tarea, como aprobar una devolución o inspeccionar un artículo. Este atributo es fundamental para analizar el rendimiento individual. Ayuda a identificar a quienes obtienen mejores resultados, las áreas donde puede ser necesaria más formación y los desequilibrios en la distribución de la carga de trabajo del equipo. Analizar las actividades por agente es clave para el Dashboard 'Rendimiento del proceso de devoluciones por departamento'. Por qué es importante Permite analizar el rendimiento individual y del equipo, equilibrar la carga de trabajo e identificar necesidades de formación, lo que repercute directamente en la eficiencia operativa. Dónde obtenerlo Puede obtenerse de campos como 'Creado por', 'Aprobado por' o de los campos de usuario de la lista System Notes de las transacciones de NetSuite. Ejemplos Alice JohnsonBob WilliamsCharlie Brown | |||
| Departamento Department | Departamento o equipo responsable de gestionar el caso de devolución en una etapa determinada. | ||
| Descripción Este atributo asigna las actividades del proceso a un departamento específico, como 'Atención al cliente', 'Almacén' o 'Finanzas'. Es esencial para comprender los traspasos entre equipos e identificar cuellos de botella en cada departamento. Al analizar cuánto tiempo pasan los casos en un departamento o a la espera de que este actúe, las organizaciones pueden localizar las causas de los retrasos y optimizar la asignación de recursos. Es una dimensión principal del Dashboard 'Rendimiento del proceso de devoluciones por departamento'. Por qué es importante Permite analizar el rendimiento del proceso por área funcional y detectar retrasos en los traspasos entre departamentos y cuellos de botella en cada uno. Dónde obtenerlo Puede obtenerse del registro de usuario o de la persona empleada asociada a una actividad, o de un campo 'Department' de la propia transacción. A menudo se configura en los registros de empleados de NetSuite. Ejemplos AlmacénAtención al clienteFinanzasControl de calidad | |||
| Estado de la devolución ReturnAuthorizationStatus | Estado actual de la autorización de devolución, por ejemplo, 'Pendiente de aprobación', 'Aprobado' o 'Cerrado'. | ||
| Descripción Este atributo indica el estado actual del caso de devolución dentro de su ciclo. Es fundamental para conocer el avance de las devoluciones y segmentar los casos. Por ejemplo, analizar cuánto tiempo permanecen en estado 'Pendiente de recepción' puede revelar retrasos en el envío, mientras que una larga espera en 'Pendiente de aprobación' puede indicar un cuello de botella interno. También se utiliza para determinar el resultado final de una devolución, como 'Cerrado' o 'Rechazado'. Por qué es importante Muestra en qué etapa del proceso se encuentra cada devolución y permite analizar la distribución de los casos, la duración de cada estado y los resultados del proceso. Dónde obtenerlo Corresponde al campo 'Status' o a un campo similar del registro de autorización de devolución de NetSuite. Ejemplos Pendiente de aprobaciónPendiente de recepciónAprobadoRechazadoCerrado | |||
| Importe real del reembolso ActualRefundAmount | Importe final que se reembolsó al cliente. | ||
| Descripción Este atributo representa el importe real abonado o reembolsado al cliente, según consta en la transacción Credit Memo o de reembolso. Puede diferir del importe solicitado debido a ajustes como cargos por reposición, gastos de envío o reembolsos parciales por artículos dañados. Es fundamental para los informes financieros y para calcular el KPI «Tasa de discrepancia del importe del reembolso». Por qué es importante Representa el impacto financiero real de la devolución y es esencial para la conciliación financiera y el análisis de la precisión de los reembolsos. Dónde obtenerlo Este valor se obtiene del campo «Total» de la transacción Credit Memo generada a partir de Return Authorization. Ejemplos 99.99140.000.00 | |||
| Tipo de devolución ReturnType | Clasificación de la devolución según el motivo indicado por el cliente. | ||
| Descripción El tipo de devolución clasifica las devoluciones según el motivo, como 'Producto defectuoso', 'Talla incorrecta', 'Cambio de opinión' o 'No coincide con la descripción'. Esta clasificación es fundamental para analizar las causas raíz. Al comparar las métricas del proceso según el tipo de devolución, una empresa puede detectar problemas de calidad de los productos, descripciones inexactas o errores de preparación y envío. Este atributo es clave para el Dashboard 'Rendimiento de las devoluciones por tipo y canal'. Por qué es importante Ayuda a identificar las causas raíz de las devoluciones y permite aplicar mejoras específicas a los productos, las descripciones de marketing o el proceso de preparación y envío para reducir su volumen. Dónde obtenerlo Suele ser un campo personalizado o un campo estándar de lista o registro del formulario de autorización de devolución, donde se indica el motivo de la devolución. Ejemplos Producto defectuosoArtículo incorrecto enviadoInsatisfacción del clienteTalla o color incorrectos | |||
| Canal de devolución ReturnChannel | Canal por el que se realizó la compra original o se inició la devolución. | ||
| Descripción El canal de devolución indica el origen de la devolución, por ejemplo, 'En línea', 'En tienda' o 'Marketplace'. Cada canal puede tener procesos, costes y expectativas de los clientes distintos. Analizar el rendimiento por canal ayuda a optimizar cada proceso, asignar los recursos de forma eficaz y comprender los problemas específicos de cada canal. Es un atributo clave para el Dashboard 'Rendimiento de las devoluciones por tipo y canal'. Por qué es importante Permite comparar el rendimiento de los distintos canales de negocio y detectar ineficiencias o buenas prácticas según cómo se inician y gestionan las devoluciones. Dónde obtenerlo Esta información suele obtenerse del registro Sales Order original asociado a la devolución. Puede estar almacenada en un campo 'Channel' o 'Location'. Ejemplos Tienda en líneaTienda físicaMarketplace de AmazonPedido telefónico | |||
| Cumple el SLA IsSlaCompliant | Indicador calculado que señala si el reembolso se procesó dentro del plazo objetivo del SLA definido. | ||
| Descripción Este atributo booleano se obtiene al comparar la marca de tiempo de «Reembolso procesado» con la «Fecha objetivo del SLA del reembolso». Si el reembolso se procesó en la fecha objetivo o antes, el valor es verdadero; de lo contrario, es falso. Este indicador simplifica la creación de informes de cumplimiento y Dashboards, como «Supervisión del cumplimiento del SLA de reembolsos», y se utiliza para calcular el KPI «Tasa de cumplimiento del SLA de reembolsos». Por qué es importante Ofrece un resultado claro, de sí o no, sobre el cumplimiento del SLA en cada caso, lo que facilita el seguimiento, la presentación de informes y el análisis de las tasas de cumplimiento a lo largo del tiempo. Dónde obtenerlo Este atributo se calcula durante la transformación de datos o en la herramienta de Process Mining. La lógica es: Ejemplos truefalse | |||
| Cumplimiento de la política ReturnPolicyAdherence | Indica si la devolución cumple las políticas de devolución establecidas por la empresa. | ||
| Descripción Este atributo booleano o categórico indica si una devolución cumple todos los criterios definidos, como el plazo de devolución, el estado del artículo y el comprobante de compra. Se utiliza para supervisar el cumplimiento y gestionar las excepciones. El Dashboard «Excepciones al cumplimiento de la política de devoluciones» se basa en este atributo para destacar los casos que requieren una revisión o un tratamiento especial, lo que ayuda a reducir los riesgos y aplicar las reglas de forma coherente. Por qué es importante Permite supervisar y hacer cumplir las políticas de devolución, reducir el riesgo financiero de las devoluciones que no las cumplen y garantizar un trato justo y coherente. Dónde obtenerlo Casi con toda seguridad, sería un campo personalizado, quizá una casilla o una lista, del registro Return Authorization, gestionado mediante un flujo de trabajo. Ejemplos Cumple la políticaNo cumple la política: fuera del plazoExcepción aprobada | |||
| Diferencia en el importe del reembolso RefundAmountDiscrepancy | Diferencia calculada entre el importe del reembolso solicitado y el importe realmente reembolsado. | ||
| Descripción Esta métrica se calcula restando el «Importe real del reembolso» del «Importe del reembolso solicitado». Un valor distinto de cero indica que se realizó un ajuste durante el proceso, por ejemplo, por cargos de reposición o artículos dañados. Este atributo permite analizar el KPI «Tasa de discrepancia del importe del reembolso» y detectar casos con ajustes financieros importantes que requieren una revisión. Por qué es importante Pone de relieve los ajustes financieros realizados durante el proceso de devolución, lo que permite analizar por qué se producen las diferencias y si son coherentes y justificadas. Dónde obtenerlo Es un atributo calculado. La fórmula es: Ejemplos 0.0010.00-5.00 | |||
| Es automática IsAutomated | Indicador booleano que señala si el sistema realizó una actividad automáticamente. | ||
| Descripción Este atributo indica si una persona usuaria o un sistema, script o flujo de trabajo automatizado ejecutó una actividad. Por ejemplo, el evento inicial «Autorización de devolución creada» podría generarse automáticamente desde un portal de clientes, mientras que «Artículo inspeccionado» sería una actividad manual. El seguimiento de la automatización ayuda a detectar oportunidades para automatizar pasos manuales y medir las mejoras de eficiencia que aportan las automatizaciones existentes. Por qué es importante Permite distinguir las tareas manuales de las automatizadas, algo clave para detectar oportunidades de automatización y medir el impacto de las iniciativas de transformación digital. Dónde obtenerlo Puede deducirse a partir de la persona usuaria asociada al evento. En NetSuite, los eventos generados por el sistema suelen estar asociados a una persona usuaria del sistema o a un ID de script específico. Ejemplos truefalse | |||
| Estado del artículo devuelto ReturnCondition | Estado asignado al artículo devuelto tras la inspección, por ejemplo, «Nuevo», «Dañado» o «Usado». | ||
| Descripción Este atributo registra el resultado de la inspección física del artículo devuelto. Su estado determina los pasos siguientes: emitir un reembolso completo, reincorporar el artículo al inventario o desecharlo. El Dashboard «Calidad de la evaluación del estado de las devoluciones» se centra en analizar la coherencia de estas evaluaciones y sus tiempos de procesamiento, aspectos esenciales para la conciliación financiera y la gestión del inventario. Por qué es importante Afecta directamente al resultado financiero de la devolución y a las acciones posteriores sobre el inventario. Las evaluaciones incoherentes pueden provocar pérdidas financieras y retrabajo. Dónde obtenerlo Probablemente sea un campo personalizado del registro Item Receipt o Return Authorization que el personal del almacén completa durante la inspección. Ejemplos Se puede volver a venderDañado, en su cajaUsado, en buen estadoFaltan piezas | |||
| Fecha objetivo del SLA del reembolso RefundSlaTargetDate | Fecha límite prevista para procesar el reembolso según los acuerdos de nivel de servicio. | ||
| Descripción La fecha objetivo del SLA del reembolso es una marca de tiempo calculada que representa el compromiso adquirido con el cliente para procesar su reembolso. Por lo general, se calcula sumando un periodo predefinido, como 5 días hábiles, a un evento clave, por ejemplo, «Artículo recibido» o «Reembolso aprobado». Este atributo es esencial para el Dashboard «Supervisión del cumplimiento del SLA de reembolsos» y el KPI «Tasa de cumplimiento del SLA de reembolsos», ya que permite medir el rendimiento con respecto a los compromisos adquiridos. Por qué es importante Permite medir cuantitativamente el cumplimiento de los compromisos con los clientes, algo esencial para mantener su satisfacción y confianza. Dónde obtenerlo Por lo general, no es un campo estándar. Debe calcularse sumando un periodo de SLA predefinido, por ejemplo, 5 días, a una marca de tiempo clave, como la fecha de «Artículo recibido». Ejemplos 2023-11-01T23:59:59Z2023-11-05T23:59:59Z2023-11-10T23:59:59Z | |||
| ID del cliente CustomerId | Identificador único del cliente que inicia la devolución. | ||
| Descripción El ID del cliente vincula una transacción de devolución con un cliente específico. Esto permite analizar el comportamiento de cada cliente, por ejemplo, identificar a quienes realizan devoluciones frecuentes, lo que podría indicar insatisfacción o fraude. También permite segmentar el rendimiento del proceso según el tipo o el valor del cliente y priorizar la atención de las cuentas clave. Por qué es importante Facilita el análisis del comportamiento de devolución de cada cliente y permite segmentar el proceso según atributos como el segmento o el valor del cliente a lo largo del tiempo. Dónde obtenerlo Es el campo «Customer» o «Entity» en el encabezado del registro Return Authorization de NetSuite. Ejemplos CUST-001CUST-002CUST-003 | |||
| Identificador del producto ProductIdentifier | Identificador único del producto que se devuelve, como el SKU o el número de artículo. | ||
| Descripción Este atributo identifica el artículo específico de la devolución. Analizar las devoluciones por producto es fundamental para detectar artículos con tasas de devolución elevadas, lo que puede indicar defectos de calidad, descripciones deficientes u otros problemas. Estos datos permiten analizar en profundidad el rendimiento de cada producto y fundamentar decisiones sobre desarrollo, abastecimiento y marketing. Por qué es importante Vincula los datos del proceso de devolución con productos específicos, lo que permite analizar las causas raíz de los problemas relacionados con los productos y ayuda a reducir la tasa general de devoluciones. Dónde obtenerlo Se encuentra en la lista 'Items' del registro de autorización de devolución. Corresponde al campo 'Item'. Ejemplos SKU-TEE-BL-LPROD-00543ITEM-987123 | |||
| Importe del reembolso solicitado RequestedRefundAmount | Importe del reembolso solicitado o previsto inicialmente para la devolución. | ||
| Descripción Este atributo almacena el importe previsto del reembolso al inicio del proceso. Por lo general, se basa en el precio de compra original de los artículos devueltos y sirve como referencia para compararlo con el importe reembolsado final. El KPI «Tasa de discrepancia del importe del reembolso» compara directamente este valor con el importe real del reembolso para detectar diferencias debidas a cargos por reposición, reembolsos parciales u otros ajustes. Por qué es importante Ofrece una referencia para el análisis financiero, permite detectar diferencias entre los importes previstos y reales de los reembolsos e identificar los motivos de los ajustes. Dónde obtenerlo Este valor se obtiene de los campos «Amount» o «Rate» de las líneas de la transacción Return Authorization. Ejemplos 99.99150.0025.50 | |||
Actividades del procesamiento de devoluciones y reembolsos
| Actividad | Descripción | ||
|---|---|---|---|
| Artículo recibido | Esta actividad marca la recepción física del artículo devuelto en el almacén o centro de procesamiento. En NetSuite, se registra de forma explícita al crear una transacción Item Receipt vinculada a la autorización de devolución original. | ||
| Por qué es importante Este es un hito fundamental que marca el paso de la acción del cliente al procesamiento interno. El tiempo entre 'Devolución aprobada' y 'Artículo recibido' mide la rapidez con la que el cliente devuelve el artículo; el tiempo posterior a este evento refleja la eficiencia interna. Dónde obtenerlo Este evento corresponde a la fecha y hora de creación de la transacción ItemReceipt. El registro está vinculado directamente a la ReturnAuthorization de origen. Capturar Fecha de creación de la transacción ItemReceipt de NetSuite vinculada a la RA. Tipo de evento explicit | |||
| Autorización de devolución aprobada | Esta actividad representa la aprobación formal de la solicitud de devolución del cliente por parte de una persona empleada, lo que permite que el proceso continúe. Por lo general, se identifica mediante un cambio en el campo de estado del registro de autorización de devolución, por ejemplo, de 'Pendiente de aprobación' a 'Pendiente de recepción'. | ||
| Por qué es importante Registrar este paso de aprobación es fundamental para identificar cuellos de botella en la fase inicial de revisión. Los retrasos en esta etapa afectan directamente al tiempo que se tarda en informar al cliente y recibir el artículo devuelto. Dónde obtenerlo Se infiere a partir de las notas del sistema o del historial del flujo de trabajo del registro ReturnAuthorization, en concreto cuando el campo 'Status' cambia a un estado aprobado, por ejemplo, 'Pendiente de recepción'. Capturar Detectar el cambio del registro ReturnAuthorization a un estado 'Aprobado'. Tipo de evento inferred | |||
| Autorización de devolución cerrada | Esta es la actividad final, que marca el cierre administrativo del caso de devolución una vez completado todo el procesamiento. Se infiere a partir del cambio final del estado del registro de autorización de devolución a 'Cerrado'. | ||
| Por qué es importante Como punto final del proceso, esta actividad es esencial para calcular los tiempos totales del ciclo e identificar los casos que siguen abiertos mucho después de haberse procesado el reembolso. Dónde obtenerlo Se infiere a partir de las notas del sistema o del historial del flujo de trabajo del registro ReturnAuthorization cuando el campo 'Status' cambia a su estado terminal final, como 'Cerrado'. Capturar Detectar el cambio del registro ReturnAuthorization a un estado 'Cerrado'. Tipo de evento inferred | |||
| Autorización de devolución creada | Esta actividad marca el inicio del proceso de devolución, cuando un cliente solicita devolver un artículo. NetSuite la registra de forma explícita al crear un nuevo registro de autorización de devolución (RA), que sirve como identificador principal del caso. | ||
| Por qué es importante Como punto de partida del proceso, esta actividad es esencial para medir el tiempo total del ciclo de devolución y analizar el volumen de solicitudes recibidas a lo largo del tiempo. Dónde obtenerlo Este evento corresponde a la fecha y hora de creación del registro ReturnAuthorization en NetSuite. Por lo general, el registro incluye el usuario, la fecha y el estado inicial, por ejemplo, 'Pendiente de aprobación'. Capturar Fecha de creación del registro de transacción ReturnAuthorization de NetSuite. Tipo de evento explicit | |||
| Nota de crédito creada | Esta actividad indica que se ha iniciado la parte financiera de la devolución mediante la creación de una nota de crédito. Este documento detalla el importe que se reembolsará al cliente y se crea a partir de la autorización de devolución una vez recibido y aprobado el artículo. | ||
| Por qué es importante La creación de la nota de crédito es un hito financiero clave. El tiempo entre la recepción del artículo y la creación de la nota de crédito permite evaluar la eficiencia del proceso desde la inspección hasta la emisión del crédito. Dónde obtenerlo Este evento corresponde a la fecha y hora de creación de la transacción CreditMemo. El campo 'Created From' de la nota de crédito la vincula con la ReturnAuthorization. Capturar Fecha de creación de la transacción CreditMemo de NetSuite. Tipo de evento explicit | |||
| Reembolso procesado | Este es el último paso de la liquidación financiera, en el que se devuelve el dinero al cliente. Se registra de forma explícita al crear una transacción Customer Refund, generada a partir de la nota de crédito. | ||
| Por qué es importante Esta actividad es fundamental para medir el cumplimiento del SLA y la satisfacción del cliente. El tiempo entre 'Nota de crédito aprobada' y 'Reembolso procesado' refleja directamente la rapidez del área de tesorería o finanzas. Dónde obtenerlo Este evento corresponde a la fecha y hora de creación de la transacción CustomerRefund. El campo 'Created From' de esta transacción la vincula con la CreditMemo. Capturar Fecha de creación de la transacción CustomerRefund de NetSuite. Tipo de evento explicit | |||
| Artículo inspeccionado | Esta actividad conceptual representa la finalización de la inspección física del artículo devuelto para evaluar su estado. Como NetSuite no cuenta con un objeto estándar 'Inspection', normalmente se infiere a partir de un campo personalizado o de una actualización de estado en la autorización de devolución o en Item Receipt. | ||
| Por qué es importante La inspección suele ser un cuello de botella importante. Registrar cuándo se completa es fundamental para analizar el desempeño del personal, la coherencia de las decisiones y el efecto en la aprobación posterior del reembolso. Dónde obtenerlo Requiere analizar el sistema. Puede inferirse a partir de un cambio en un campo personalizado 'Inspection Status' del registro ReturnAuthorization, o puede tratarse de un proceso externo que no queda registrado. Capturar Se infiere a partir de un cambio en un campo de estado personalizado de la autorización de devolución o de Item Receipt. Tipo de evento inferred | |||
| Autorización de devolución rechazada | Esto representa la decisión de denegar la solicitud de devolución de un cliente, a menudo por incumplimiento de las políticas. El evento se infiere cuando el estado del registro de autorización de devolución cambia a 'Rechazado' o 'Cerrado' sin que haya más procesamiento. | ||
| Por qué es importante Analizar los rechazos ayuda a identificar los motivos más comunes de las solicitudes de devolución que no cumplen las políticas. Esta información puede servir para mejorar la comunicación con los clientes y aclarar las políticas. Se trata de una desviación importante de la Ruta ideal. Dónde obtenerlo Se infiere a partir de las notas del sistema o del historial del flujo de trabajo del registro ReturnAuthorization cuando el campo 'Status' cambia a un estado terminal 'Rechazado'. Capturar Detectar el cambio del registro ReturnAuthorization a un estado 'Rechazado'. Tipo de evento inferred | |||
| Cliente notificado | Representa el envío de una notificación al cliente sobre una actualización importante del estado, como la aprobación, la recepción del artículo o el procesamiento del reembolso. Por lo general, se infiere a partir de la fecha y hora de un correo electrónico generado por el sistema y registrado en la pestaña de comunicaciones del registro. | ||
| Por qué es importante La comunicación oportuna es clave para la satisfacción del cliente. Medir el tiempo entre un hito y la notificación al cliente ayuda a detectar deficiencias en su experiencia. Dónde obtenerlo Requiere analizar el sistema. Se obtiene de la fecha y hora de un correo electrónico saliente o de una nota de usuario en la subpestaña Communication de ReturnAuthorization o CreditMemo. Capturar Fecha y hora de una entrada de correo electrónico o del registro de comunicaciones vinculada al caso. Tipo de evento inferred | |||
| Nota de crédito aplicada | Esta actividad representa una alternativa al reembolso en efectivo: la nota de crédito se aplica a una factura pendiente del cliente. Se infiere a partir del vínculo 'Applied To' de la nota de crédito, que indica que el crédito se ha utilizado. | ||
| Por qué es importante Es importante distinguir entre los reembolsos en efectivo y la aplicación de créditos para realizar el análisis financiero. Esta ruta representa una resolución del proceso distinta del reembolso directo. Dónde obtenerlo Se infiere a partir de las notas del sistema o de los registros relacionados con CreditMemo, en concreto cuando se vincula a una transacción Invoice para compensar el saldo del cliente. Capturar Detectar la aplicación de una CreditMemo a una transacción Invoice. Tipo de evento inferred | |||
| Nota de crédito aprobada | Representa la aprobación formal de la nota de crédito, que suele ser necesaria para reembolsos de importes elevados o como parte de los controles financieros. Se infiere a partir de un cambio de estado en el registro de la nota de crédito que indica que está lista para aplicarse o pagarse. | ||
| Por qué es importante Si se requieren aprobaciones financieras, este paso puede convertirse en un cuello de botella importante. Analizar su duración ayuda a agilizar los controles financieros sin retrasar los reembolsos a los clientes. Dónde obtenerlo Se infiere a partir de las notas del sistema del registro CreditMemo, en concreto cuando un campo de estado de aprobación cambia de 'Pendiente de aprobación' a 'Aprobado' o 'Abierto'. Capturar Detectar el cambio de la transacción CreditMemo a un estado 'Aprobado'. Tipo de evento inferred | |||
| Pedido de cambio creado | Esta actividad representa un cambio: se crea un nuevo pedido de venta para el cliente en lugar de emitir un reembolso. Por lo general, el evento se registra al crear una transacción Sales Order vinculada a la autorización de devolución original. | ||
| Por qué es importante Registrar los cambios como una ruta independiente ayuda a analizar las preferencias de los clientes y la eficiencia del proceso de cambio frente al de reembolso. Es una variante habitual e importante. Dónde obtenerlo Este evento corresponde a la fecha y hora de creación de una nueva transacción SalesOrder. El vínculo con ReturnAuthorization puede estar en un campo estándar o personalizado, por lo que es necesario analizar el sistema. Capturar Fecha de creación de una SalesOrder vinculada a ReturnAuthorization. Tipo de evento explicit | |||
Guías de extracción
Pasos
- Acceda a la creación de búsquedas guardadas: Inicie sesión en NetSuite. Vaya a Informes > Nueva búsqueda. En la página Nueva búsqueda guardada, haga clic en «Transacción».
- Defina los criterios principales: En la página de configuración de la búsqueda guardada, en la pestaña «Criterios» y la subpestaña «Estándar», establezca los siguientes filtros para aislar los registros de autorización de devolución:
TipoesReturn AuthorizationMain LineesSí- Añada un filtro de
Date Createdy defina el intervalo de fechas que desee, por ejemplo, «en los últimos 3 meses». Es fundamental para controlar el volumen de datos.
- Configure las columnas de resultados para los atributos: Vaya a la pestaña «Resultados». Añada los siguientes campos, que se convertirán en atributos del Registro de eventos. Utilice «Etiqueta personalizada» para cambiarles el nombre y facilitar su identificación.
- ID del caso:
Document NumberoTranID(etiqueta personalizada: ReturnCaseId) - Estado de la devolución:
Status(etiqueta personalizada: ReturnAuthorizationStatus) - Agente de procesamiento:
Created Byo un campo personalizado, si corresponde (etiqueta personalizada: ProcessingAgent) - Departamento:
Departamento(etiqueta personalizada: Department) - Tipo de devolución: un campo personalizado como
[Your Return Reason Field](etiqueta personalizada: ReturnType) - Importe del reembolso:
Amount(etiqueta personalizada: ActualRefundAmount)
- ID del caso:
- Añada columnas de fórmula para las marcas de tiempo de los eventos: Este es el paso más importante. Añada una columna «Fórmula (fecha/hora)» para cada una de las 12 actividades. Cada fórmula utiliza una instrucción CASE para devolver una marca de tiempo solo si se produjo el evento correspondiente. Consulte la sección «query» para ver las fórmulas exactas de cada actividad.
- Añada columnas estáticas: Añada dos columnas «Fórmula (texto)» a los resultados:
- Para
SourceSystem, utilice la fórmula:'NetSuite'. - Para
LastDataUpdate, utilice una fórmula que represente la fecha de ejecución, como{today}. Para obtener una marca de tiempo precisa, utilice la hora de exportación.
- Para
- Guarde y exporte la búsqueda: Asigne a la búsqueda un nombre descriptivo, como «Extracción de devoluciones de ProcessMind». Haga clic en «Guardar y ejecutar». Cuando aparezcan los resultados, haga clic en el icono de exportación y seleccione «CSV».
- Transforme los datos en un Registro de eventos: El archivo CSV exportado tendrá un formato «ancho», con una fila por caso de devolución y varias columnas con las marcas de tiempo de los eventos. Debe transformarlo en un Registro de eventos de formato «largo». Para ello, utilice una herramienta como Power Query de Microsoft Excel (Anular dinamización de columnas), Python u otra herramienta de scripting.
- Por cada fila del CSV, cree varias filas nuevas, una por cada columna de marca de tiempo de evento que no esté vacía.
- La tabla transformada debe incluir columnas como
ReturnCaseId,ActivityNameyEventTimestamp. El valor deActivityNameproviene del encabezado de la columna de marca de tiempo original, por ejemplo, «Autorización de devolución creada», yEventTimestampcontiene el valor de esa columna.
- Prepare el archivo para cargarlo: Asegúrese de que el archivo CSV final incluya los encabezados obligatorios:
ReturnCaseId,ActivityName,EventTimestamp,SourceSystem,LastDataUpdatey los atributos recomendados. El archivo estará listo para cargarse en ProcessMind.
Configuración
- Tipo de búsqueda: La búsqueda guardada debe ser de tipo
Transacción. - Intervalo de fechas: Es fundamental aplicar un filtro de intervalo de fechas al campo
Date Createdde la autorización de devolución. Se recomienda un intervalo de 3 a 6 meses para equilibrar la integridad de los datos y el rendimiento. - Filtro principal: La búsqueda debe filtrar
TipoporReturn AuthorizationyMain LineporSípara garantizar un registro inicial por caso de devolución. - Campos personalizados: La precisión de esta extracción, especialmente para eventos conceptuales como «Artículo inspeccionado» o atributos como «Tipo de devolución», depende en gran medida del uso de campos personalizados en los registros de transacciones de su organización. Las fórmulas proporcionadas incluyen marcadores de posición como
{custbody_...}, que debe adaptar a la configuración de NetSuite. - Permisos de usuario: La persona que ejecute la búsqueda necesita permisos de visualización para todos los tipos de transacción implicados: autorización de devolución, recepción de artículos, nota de crédito, reembolso al cliente y pedido de venta.
- Rendimiento: En cuentas con un volumen muy alto de devoluciones, esta búsqueda exhaustiva puede tardar. Considere ejecutarla fuera de las horas de mayor actividad o programar la exportación automática al archivador de archivos.
a Consulta de ejemplo 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)` | Pasos
- Habilite SuiteAnalytics Connect: Asegúrese de que su cuenta de NetSuite tenga una licencia de SuiteAnalytics Connect. Un administrador debe habilitar la función en Configuración > Empresa > Habilitar funciones > Análisis.
- Asigne permisos de usuario: Conceda el permiso «SuiteAnalytics Connect» al rol de la persona usuaria que establecerá la conexión. También necesitará permisos de visualización para todos los registros consultados, como transacciones, empleados y clientes.
- Instale el controlador ODBC: Descargue e instale el controlador ODBC de NetSuite adecuado para su sistema operativo desde la página de descargas de SuiteAnalytics Connect en NetSuite.
- Configure el DSN: Configure un nombre de origen de datos (DSN) en el equipo desde el que ejecutará la consulta. Introduzca el origen de datos del servicio, el nombre de host del servidor, el puerto, el ID del rol, el ID de la cuenta y las credenciales.
- Conecte su cliente SQL: Utilice un cliente SQL, como DBeaver o Microsoft SQL Server Management Studio, para conectarse a NetSuite mediante el DSN que configuró.
- Prepare la consulta SQL: Copie en el cliente la consulta SQL proporcionada. Está diseñada para extraer todos los eventos clave del proceso de devoluciones y reembolsos.
- Personalice la consulta: Modifique los valores de marcador de posición de la consulta. Como mínimo, debe actualizar el intervalo de fechas en la expresión de tabla común (CTE)
ReturnAuthorizationspara filtrar el periodo deseado. También puede que deba ajustar los nombres de los campos personalizados, comoCUSTBODY_RETURN_TYPE, o los valores de estado específicos para que coincidan con la configuración de NetSuite. - Ejecute la consulta: Ejecute la consulta SQL personalizada en la réplica de la base de datos de NetSuite. El tiempo de ejecución puede variar según el intervalo de fechas y el volumen de datos.
- Revise y exporte los datos: Cuando termine la consulta, revise los resultados para comprobar que sean correctos. Exporte todo el conjunto de resultados a un archivo CSV.
- Prepare el archivo para cargarlo: Asegúrese de que los encabezados del CSV coincidan con los atributos requeridos:
ReturnCaseId,ActivityName,EventTimestamp,SourceSystem,LastDataUpdate, etc. Compruebe que la columnaEventTimestamputilice un formato de fecha y hora coherente. El archivo estará listo para cargarse en ProcessMind.
Configuración
- Requisitos previos: Se necesita una licencia de NetSuite con el módulo adicional SuiteAnalytics Connect. La persona usuaria que ejecute la conexión debe tener un rol con el permiso «SuiteAnalytics Connect» y acceso de lectura a los registros de transacciones, entidades y empleados.
- Configuración del origen de datos: Debe configurar un DSN (nombre de origen de datos) con el controlador ODBC de NetSuite. Para ello, necesita el ID de la cuenta, el ID del rol y las credenciales. En los entornos de producción, el host del servicio suele ser
odbcserver.netsuite.com. - Filtro de intervalo de fechas: Es fundamental aplicar un filtro de intervalo de fechas a la CTE inicial que selecciona las autorizaciones de devolución. Sin un filtro, la consulta intentará recuperar todos los datos de devoluciones y probablemente tardará mucho o agotará el tiempo de espera. Para el análisis inicial, se recomienda un intervalo de 3 a 6 meses.
- Tipos de transacción clave: La consulta incluye varios tipos de transacción principales: ReturnAuthorization, ItemReceipt, CreditMemo, CustomerRefund y SalesOrd (para los cambios). Asegúrese de que su proceso utilice estos objetos estándar.
- Dependencias de campos personalizados: Las actividades como «Artículo inspeccionado» y atributos como «Tipo de devolución» suelen registrarse en campos personalizados. La consulta proporcionada utiliza marcadores de posición como
CUSTBODY_INSPECTION_STATUSyCUSTBODY_RETURN_TYPE. Debe identificar los ID de campo personalizados correctos en su sistema y actualizar la consulta en consecuencia. - Consideraciones de rendimiento: Esta consulta compleja incluye varias uniones y una estructura
UNION ALLextensa. Ejecútela fuera de las horas de mayor actividad para reducir el impacto en el rendimiento del sistema. Si el conjunto de datos es muy grande, considere ejecutar la consulta en intervalos más cortos y agregar los resultados.
a Consulta de ejemplo 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%'; ¿Listo para comenzar?
Empiece a transformar el procesamiento de devoluciones y reembolsos con este Template de datos. Comience hoy a optimizar los flujos de trabajo de NetSuite para mejorar la eficiencia y la satisfacción del cliente.
Optimice ahora las devoluciones y los reembolsos y mejore la eficiencia de NetSuite
Reduzca un 30 % el tiempo de ciclo de las devoluciones en NetSuite. Empiece hoy a mejorar sus operaciones.
No se requiere tarjeta de crédito • Configuración en minutos