Seu Template de dados para processamento de devoluções e reembolsos
Seu Template de dados para processamento de devoluções e reembolsos
- Atributos recomendados para coleta
- Principais atividades a acompanhar
- Orientações para extração no NetSuite
Atributos do processamento de devoluções e reembolsos
| Nome | Descrição | ||
|---|---|---|---|
| Data e hora do evento EventTimestamp | Data e hora exatas em que a atividade ocorreu, que servem de base cronológica para o processo. | ||
| Descrição A data e hora do evento registram o momento exato em que uma atividade ocorreu. Esses dados são essenciais para ordenar os eventos corretamente e fazer análises baseadas em tempo. Eles são usados para calcular a duração entre atividades, o tempo total do ciclo de cada caso e os tempos de espera, fundamentais para monitorar a performance, analisar gargalos e verificar o cumprimento do SLA. A precisão desses registros é essencial para garantir a confiabilidade dos insights do Process Mining. Por que isso importa Este atributo fornece a ordem cronológica dos eventos, necessária para descobrir o fluxo do processo e calcular métricas de performance, como tempos de ciclo e de espera. Onde encontrar Essas informações geralmente vêm dos campos 'Date Created' ou 'Last Modified Date' dos registros do NetSuite ou das datas e horas nas notas do sistema associadas às transações. Exemplos 2023-10-26T10:00:00Z2023-10-26T14:35:10Z2023-10-27T09:12:05Z | |||
| ID do caso de devolução ReturnCaseId | Identificador exclusivo de um caso de devolução ou reembolso de cliente, que vincula todas as atividades relacionadas, do início ao encerramento. | ||
| Descrição O ID do caso de devolução é o principal identificador para acompanhar todo o percurso de uma devolução. Cada ID exclusivo corresponde a uma autorização de devolução e permite analisar todos os eventos associados, como recebimento do produto, inspeção e processamento do reembolso. No Process Mining, esse ID é essencial para reconstruir o processo completo de cada devolução, calcular tempos de ciclo e identificar desvios em cada caso. Por que isso importa Este é o atributo fundamental para o Process Mining, pois conecta todos os eventos individuais em instâncias completas e coerentes do processo, permitindo analisar os fluxos e a performance. Onde encontrar Normalmente, este é o ID interno ou o ID da transação do registro Return Authorization no NetSuite. Exemplos RMA-0012345RMA-0012346RMA-0012347 | |||
| Nome da atividade ActivityName | Nome do evento ou da etapa específica que ocorreu no processo de devolução, como 'Produto inspecionado' ou 'Reembolso processado'. | ||
| Descrição O nome da atividade descreve uma etapa ou um marco específico no ciclo de devoluções e reembolsos. Os eventos são ordenados por data e hora para formar o fluxo do processo. Analisar a sequência e a frequência das atividades ajuda a identificar os caminhos mais comuns, os gargalos entre etapas e qualquer retrabalho ou repetição de atividades. Alguns exemplos são 'Autorização de devolução criada', 'Produto recebido' e 'Nota de crédito aprovada'. Por que isso importa Este atributo define as etapas do processo. É essencial para visualizar o mapa do processo, analisar variações no fluxo e identificar gargalos ou ciclos de retrabalho. Onde encontrar Normalmente, este atributo é derivado das mudanças de status de registros de transação, como Return Authorizations e Credit Memos, ou de ações específicas de usuários registradas nas notas do sistema ou em logs de eventos personalizados. Exemplos Autorização de devolução criadaProduto recebidoProduto inspecionadoReembolso processadoAutorização de devolução encerrada | |||
| Sistema de origem SourceSystem | Sistema do qual os dados foram extraídos, usado para rastrear sua origem. | ||
| Descrição Este atributo identifica a origem dos dados do processo. Neste contexto, normalmente será 'NetSuite'. Especificar o sistema de origem é importante quando os dados podem ser combinados de vários sistemas, pois garante clareza sobre sua linhagem e rastreabilidade. Por que isso importa Identifica a origem dos dados, o que é essencial para a governança de dados, a solução de problemas e os cenários em que dados de vários sistemas são combinados para oferecer uma visão completa do processo. Onde encontrar Este é um valor estático ('NetSuite'), normalmente adicionado durante a extração e transformação dos dados. Exemplos NetSuiteNetSuite ERP | |||
| Última atualização dos dados LastDataUpdate | Data e hora da última atualização ou recarga dos dados deste processo. | ||
| Descrição Este atributo registra quando os dados foram atualizados pela última vez a partir do sistema de origem. É um metadado essencial para informar quando a análise foi atualizada. Exibir essa informação nos Dashboards ajuda a alinhar expectativas e garante que as decisões considerem a atualidade dos dados. Por que isso importa Mostra quando os dados foram atualizados, informação essencial para que os usuários confiem na análise e entendam sua relevância para o estado atual das operações. Onde encontrar Esta data e hora são geradas e adicionadas durante o processo de extração, transformação e carregamento de dados (ETL). Exemplos 2024-05-21T02:00:00Z2024-05-22T02:00:00Z | |||
| Agente responsável pelo processamento ProcessingAgent | Funcionário ou usuário que realizou uma atividade específica no processo de devolução. | ||
| Descrição O agente responsável pelo processamento identifica a pessoa encarregada de executar uma determinada tarefa, como aprovar uma devolução ou inspecionar um produto. Este atributo é essencial para analisar a performance individual. Ele ajuda a identificar funcionários com alto desempenho, necessidades de treinamento e desequilíbrios na distribuição da carga de trabalho da equipe. Analisar as atividades por agente é fundamental para o Dashboard 'Performance do processo de devolução por departamento'. Por que isso importa Permite analisar a performance individual e da equipe, equilibrar a carga de trabalho e identificar necessidades de treinamento, com impacto direto na eficiência operacional. Onde encontrar Esses dados podem vir de campos como 'Criado por', 'Aprovado por' ou dos campos de usuário na sublista System Notes das transações do NetSuite. Exemplos Alice JohnsonBob WilliamsCharlie Brown | |||
| Departamento Department | Departamento ou equipe responsável pelo atendimento do caso de devolução em uma determinada etapa. | ||
| Descrição Este atributo associa as atividades do processo a um departamento específico, como 'Atendimento ao cliente', 'Armazém' ou 'Financeiro'. É essencial para entender as transferências entre equipes e identificar gargalos departamentais. Ao analisar o tempo que os casos passam em um departamento ou aguardando atendimento, as organizações podem localizar as causas dos atrasos e otimizar a alocação de recursos. É uma dimensão principal do Dashboard 'Performance do processo de devolução por departamento'. Por que isso importa Permite analisar a performance do processo por área funcional e identificar atrasos nas transferências entre departamentos e gargalos departamentais. Onde encontrar Este dado pode ser derivado do registro do usuário ou funcionário associado a uma atividade ou de um campo 'Department' na própria transação. Muitas vezes, ele é configurado nos registros de funcionários do NetSuite. Exemplos ArmazémAtendimento ao clienteFinanceiroGarantia da qualidade | |||
| Status da devolução ReturnAuthorizationStatus | Status atual da autorização de devolução, como 'Aguardando aprovação', 'Aprovado' ou 'Fechado'. | ||
| Descrição Este atributo indica o estado atual do caso de devolução ao longo do ciclo. É fundamental para entender o andamento das devoluções e segmentar os casos. Por exemplo, analisar o tempo no status 'Aguardando recebimento' pode revelar atrasos no envio, enquanto um período longo em 'Aguardando aprovação' pode indicar um gargalo interno. O atributo também ajuda a determinar o resultado final da devolução, como 'Fechado' ou 'Rejeitado'. Por que isso importa Mostra em que etapa do processo está cada devolução, permitindo analisar a distribuição dos casos, o tempo em cada status e os resultados do processo. Onde encontrar Corresponde ao campo 'Status' ou a um campo semelhante no registro Return Authorization do NetSuite. Exemplos Aguardando aprovaçãoAguardando recebimentoAprovadoRejeitadoFechado | |||
| Tipo de devolução ReturnType | Classificação da devolução com base no motivo informado pelo cliente. | ||
| Descrição O tipo de devolução classifica as devoluções pelo motivo, como 'Produto com defeito', 'Tamanho incorreto', 'Desistência da compra' ou 'Produto diferente da descrição'. Essa classificação é essencial para a análise de causa raiz. Ao analisar as métricas do processo por tipo de devolução, a empresa pode identificar problemas de qualidade dos produtos, imprecisões nas descrições ou erros no atendimento dos pedidos. Este atributo é fundamental para o Dashboard 'Performance das devoluções por tipo e canal'. Por que isso importa Ajuda a identificar as causas raiz das devoluções e permite implementar melhorias direcionadas nos produtos, nas descrições de marketing ou no processo de atendimento dos pedidos para reduzir o volume de devoluções. Onde encontrar Normalmente, este é um campo personalizado ou um campo padrão de lista/registro no formulário Return Authorization, usado para registrar o motivo da devolução. Exemplos Produto com defeitoProduto enviado incorretamenteInsatisfação do clienteTamanho/cor incorretos | |||
| Valor efetivamente reembolsado ActualRefundAmount | Valor monetário final efetivamente reembolsado ao cliente. | ||
| Descrição Este atributo representa o valor efetivamente creditado ou reembolsado ao cliente, conforme registrado na transação Credit Memo ou de reembolso. O valor pode ser diferente do solicitado devido a ajustes, como taxas de reposição de estoque, custos de envio ou reembolsos parciais de itens danificados. Esse atributo é essencial para os relatórios financeiros e para calcular o KPI 'Taxa de divergência do valor do reembolso'. Por que isso importa Representa o impacto financeiro real da devolução e é essencial para a conciliação financeira e a análise da precisão dos reembolsos. Onde encontrar Este valor vem do campo 'Total' da transação Credit Memo gerada a partir do Return Authorization. Exemplos 99.99140.000.00 | |||
| Canal de devolução ReturnChannel | Canal em que a compra original foi feita ou pelo qual a devolução foi iniciada. | ||
| Descrição O canal de devolução indica a origem da devolução, por exemplo, 'Online', 'Loja física' ou 'Marketplace'. Cada canal pode ter processos de devolução, custos e expectativas dos clientes diferentes. Analisar a performance por canal ajuda as empresas a otimizar cada processo, alocar recursos com eficiência e entender problemas específicos de cada canal. Este é um atributo essencial para o Dashboard 'Performance das devoluções por tipo e canal'. Por que isso importa Permite comparar a performance entre diferentes canais de negócio e identificar ineficiências ou boas práticas específicas da forma como as devoluções são iniciadas e processadas. Onde encontrar Essas informações geralmente vêm do registro original Sales Order associado à devolução. Elas podem estar armazenadas em um campo 'Channel' ou 'Location'. Exemplos Loja virtualLoja físicaAmazon MarketplacePedido por telefone | |||
| Condição da devolução ReturnCondition | Condição avaliada do item devolvido após a inspeção, como 'Novo', 'Danificado' ou 'Usado'. | ||
| Descrição Este atributo registra o resultado da inspeção física do item devolvido. A condição define as próximas etapas, como emitir um reembolso integral, recolocar o item no estoque ou descartá-lo. Analisar a consistência e o tempo de processamento dessa avaliação é o foco do Dashboard 'Qualidade da avaliação da condição de devolução' e é essencial para a conciliação financeira e a gestão de estoque. Por que isso importa Afeta diretamente o resultado financeiro da devolução e as ações subsequentes de estoque. Avaliações inconsistentes podem causar perdas financeiras e retrabalho no processo. Onde encontrar Provavelmente é um campo personalizado no registro Item Receipt ou Return Authorization, preenchido pela equipe do armazém durante a inspeção. Exemplos Em condições de revendaDanificado, na embalagemUsado, em bom estadoPeças faltando | |||
| Conformidade com a política ReturnPolicyAdherence | Indica se a devolução está de acordo com as políticas de devolução estabelecidas pela empresa. | ||
| Descrição Este atributo booleano ou categórico indica se a devolução atende a todos os critérios definidos, como prazo para devolução, condição do item e comprovante de compra. Ele é usado para monitorar a conformidade e gerenciar exceções. O Dashboard 'Exceções de conformidade com a política de devolução' usa esse atributo para destacar casos que exigem análise ou tratamento especial, ajudando a reduzir riscos e garantir a aplicação consistente das regras. Por que isso importa Ajuda a monitorar e aplicar as políticas de devolução, reduzindo o risco financeiro de devoluções fora das regras e garantindo tratamento justo e consistente. Onde encontrar Quase certamente é um campo personalizado, possivelmente uma caixa de seleção ou lista, no registro Return Authorization, gerenciado por um fluxo de trabalho. Exemplos Em conformidadeFora de conformidade, fora do prazoExceção aprovada | |||
| Data-limite do SLA de reembolso RefundSlaTargetDate | Data-limite para o processamento do reembolso, conforme os acordos de nível de serviço. | ||
| Descrição A data-limite do SLA de reembolso é um timestamp calculado que representa o prazo informado ao cliente para o processamento do reembolso. Em geral, ela é calculada somando um período predefinido, como 5 dias úteis, a um evento importante, como 'Item recebido' ou 'Reembolso aprovado'. Este atributo é essencial para o Dashboard 'Monitoramento da conformidade com o SLA de reembolso' e o KPI 'Taxa de cumprimento do SLA de reembolso', que permitem medir a performance em relação aos compromissos assumidos. Por que isso importa Permite medir quantitativamente a performance em relação aos compromissos com os clientes, algo essencial para manter a satisfação e a confiança. Onde encontrar Em geral, essa data não é um campo padrão. Ela precisa ser calculada somando um período predefinido de SLA, por exemplo, 5 dias, a um timestamp importante, como a data de 'Item recebido'. Exemplos 2023-11-01T23:59:59Z2023-11-05T23:59:59Z2023-11-10T23:59:59Z | |||
| Divergência no valor do reembolso RefundAmountDiscrepancy | Diferença calculada entre o valor solicitado para reembolso e o valor efetivamente reembolsado. | ||
| Descrição Esta métrica é calculada subtraindo o 'Valor efetivamente reembolsado' do 'Valor solicitado para reembolso'. Um valor diferente de zero indica que houve um ajuste durante o processo, como uma taxa de reposição de estoque ou um desconto por item danificado. Este atributo alimenta a análise do KPI 'Taxa de divergência do valor do reembolso', ajudando a sinalizar casos com ajustes financeiros significativos para análise. Por que isso importa Destaca os ajustes financeiros feitos durante o processo de devolução, permitindo analisar por que as divergências ocorrem e se são consistentes e justificadas. Onde encontrar Este é um atributo calculado. A fórmula é: Exemplos 0.0010.00-5.00 | |||
| É automatizada IsAutomated | Indicador booleano que informa se uma atividade foi executada automaticamente pelo sistema. | ||
| Descrição Este atributo indica se uma atividade foi executada por uma pessoa ou por um sistema automatizado, script ou fluxo de trabalho. Por exemplo, o evento inicial 'Autorização de devolução criada' pode ser automatizado por um portal do cliente, enquanto 'Item inspecionado' é uma atividade manual. Acompanhar a automação ajuda a identificar oportunidades para automatizar etapas manuais e medir os ganhos de eficiência das automações existentes. Por que isso importa Ajuda a diferenciar atividades manuais e automatizadas, o que é essencial para identificar oportunidades de automação e medir o impacto das iniciativas de transformação digital. Onde encontrar É possível inferir esse dado pelo usuário associado a um evento. No NetSuite, eventos gerados pelo sistema costumam estar associados a um usuário específico do sistema ou a um ID de script. Exemplos truefalse | |||
| Está em conformidade com o SLA IsSlaCompliant | Indicador calculado que informa se o reembolso foi processado dentro do prazo definido pelo SLA. | ||
| Descrição Este atributo booleano é calculado comparando o timestamp de 'Reembolso processado' com a 'Data-limite do SLA de reembolso'. Se o reembolso for processado até a data-limite, inclusive, o valor será verdadeiro; caso contrário, será falso. Esse indicador simplifica a criação de relatórios e Dashboards de conformidade, como o Dashboard 'Monitoramento da conformidade com o SLA de reembolso', e é usado para calcular o KPI 'Taxa de cumprimento do SLA de reembolso'. Por que isso importa Apresenta um resultado claro, sim ou não, sobre a performance do SLA em cada caso, facilitando o acompanhamento, a geração de relatórios e a análise das taxas de conformidade ao longo do tempo. Onde encontrar Este atributo é calculado durante a transformação dos dados ou na ferramenta de Process Mining. A lógica é: Exemplos truefalse | |||
| ID do cliente CustomerId | Identificador exclusivo do cliente que iniciou a devolução. | ||
| Descrição O ID do cliente vincula uma transação de devolução a um cliente específico. Isso permite analisar o comportamento de cada cliente, como identificar quem faz devoluções frequentes, o que pode indicar insatisfação ou fraude. Também permite segmentar a performance do processo por tipo ou valor do cliente, ajudando a priorizar o atendimento de contas estratégicas. Por que isso importa Facilita a análise do comportamento de devolução por cliente e permite segmentar o processo com base em atributos como segmento ou valor ao longo do relacionamento. Onde encontrar Este é o campo 'Customer' ou 'Entity' no cabeçalho do registro Return Authorization no NetSuite. Exemplos CUST-001CUST-002CUST-003 | |||
| Identificador do produto ProductIdentifier | Identificador exclusivo do produto devolvido, como SKU ou número do item. | ||
| Descrição Este atributo identifica o produto específico envolvido na devolução. Analisar as devoluções por produto é essencial para identificar itens com altas taxas de devolução, o que pode indicar defeitos de qualidade, descrições inadequadas ou outros problemas. Esses dados permitem analisar a fundo a performance dos produtos e podem orientar decisões sobre desenvolvimento, fornecimento e marketing. Por que isso importa Vincula os dados do processo de devolução a produtos específicos, permitindo analisar a causa raiz de problemas relacionados aos produtos e ajudando a reduzir a taxa geral de devoluções. Onde encontrar Este dado está na sublista 'Items' do registro Return Authorization e corresponde ao campo 'Item'. Exemplos SKU-TEE-BL-LPROD-00543ITEM-987123 | |||
| Valor solicitado para reembolso RequestedRefundAmount | Valor monetário do reembolso solicitado ou previsto inicialmente para a devolução. | ||
| Descrição Este atributo armazena o valor de reembolso previsto no início do processo. Em geral, ele se baseia no preço original dos itens devolvidos. Esse valor serve de referência para comparação com o valor efetivamente reembolsado. O KPI 'Taxa de divergência do valor do reembolso' compara diretamente esse atributo com o valor efetivamente reembolsado para identificar diferenças causadas por taxas de reposição de estoque, reembolsos parciais ou outros ajustes. Por que isso importa Serve de referência para a análise financeira, ajudando a acompanhar diferenças entre os valores previstos e os efetivamente reembolsados e a identificar os motivos dos ajustes. Onde encontrar Este valor é obtido dos campos 'Valor' ou 'Taxa' nos itens de linha da transação Return Authorization. Exemplos 99.99150.0025.50 | |||
Atividades do processamento de devoluções e reembolsos
| Atividade | Descrição | ||
|---|---|---|---|
| Autorização de devolução aprovada | Esta atividade representa a aprovação formal da solicitação de devolução do cliente por um funcionário, permitindo que o processo avance. Normalmente, ela é identificada por uma mudança no campo de status do registro Return Authorization, por exemplo, de 'Aguardando aprovação' para 'Aguardando recebimento'. | ||
| Por que isso importa Acompanhar esta etapa de aprovação é essencial para identificar gargalos na análise inicial. Atrasos aqui afetam diretamente o tempo necessário para avisar o cliente e receber o produto devolvido. Onde encontrar Inferido a partir das notas do sistema ou do histórico do fluxo de trabalho do registro ReturnAuthorization, especificamente quando o campo 'Status' é atualizado para um estado aprovado, como 'Aguardando recebimento'. Coleta Detectar a mudança do status do registro ReturnAuthorization para o estado 'Aprovado'. Tipo de evento inferred | |||
| Autorização de devolução criada | Esta atividade marca o início do processo de devolução, quando o cliente solicita a devolução de um produto. No NetSuite, ela é registrada explicitamente com a criação de um novo registro de Return Authorization (RA), que funciona como o principal identificador do caso. | ||
| Por que isso importa Como ponto de partida do processo, esta atividade é essencial para medir o tempo total do ciclo de devolução e analisar o volume de solicitações recebidas ao longo do tempo. Onde encontrar Este evento corresponde à data e hora de criação do registro ReturnAuthorization no NetSuite. Normalmente, o registro inclui o usuário, a data e o status inicial, como 'Aguardando aprovação'. Coleta Data de criação da transação ReturnAuthorization no NetSuite. Tipo de evento explicit | |||
| Autorização de devolução encerrada | Esta é a atividade final, que marca o encerramento administrativo do caso de devolução após a conclusão de todo o processamento. Ela é inferida a partir da mudança final de status do registro Return Authorization para 'Fechado'. | ||
| Por que isso importa Como ponto final do processo, esta atividade é essencial para calcular o tempo total do ciclo e identificar casos que continuam abertos muito depois do processamento do reembolso. Onde encontrar Inferido a partir das notas do sistema ou do histórico do fluxo de trabalho do registro ReturnAuthorization, quando o campo 'Status' é atualizado para o estado final, como 'Fechado'. Coleta Detectar a mudança do status do registro ReturnAuthorization para o estado 'Fechado'. Tipo de evento inferred | |||
| Nota de crédito criada | Esta atividade indica o início da etapa financeira da devolução, com a criação de uma Credit Memo. Esse documento informa o valor a ser reembolsado ao cliente e é criado a partir da Return Authorization depois que o produto é recebido e aprovado. | ||
| Por que isso importa A criação da Credit Memo é um marco financeiro importante. O tempo entre o recebimento do produto e a criação da nota de crédito mostra a eficiência do processo entre inspeção e crédito. Onde encontrar Este evento corresponde à data e hora de criação da transação CreditMemo. O campo 'Created From' da Credit Memo a vincula à ReturnAuthorization. Coleta Data de criação da transação CreditMemo no NetSuite. Tipo de evento explicit | |||
| Produto recebido | Esta atividade marca o recebimento físico do produto devolvido no armazém ou centro de processamento. No NetSuite, isso é registrado explicitamente com a criação de uma transação Item Receipt vinculada à autorização de devolução original. | ||
| Por que isso importa Este é um marco importante, pois o processo deixa de depender da ação do cliente e passa para o processamento interno. O tempo entre 'Devolução aprovada' e 'Produto recebido' mede a rapidez da devolução pelo cliente; o período após esse evento mede a eficiência interna. Onde encontrar Este evento corresponde à data e hora de criação da transação ItemReceipt. O registro está vinculado diretamente ao ReturnAuthorization de origem. Coleta Data de criação da transação ItemReceipt no NetSuite vinculada à RA. Tipo de evento explicit | |||
| Reembolso processado | Esta é a liquidação financeira final, quando o valor é devolvido ao cliente. Ela é registrada explicitamente com a criação de uma transação Customer Refund, gerada a partir da Credit Memo. | ||
| Por que isso importa Esta atividade é essencial para medir o cumprimento do SLA e a satisfação dos clientes. O tempo entre 'Nota de crédito aprovada' e 'Reembolso processado' reflete diretamente a rapidez da tesouraria ou do departamento financeiro. Onde encontrar Este evento corresponde à data e hora de criação da transação CustomerRefund. O campo 'Created From' dessa transação a vincula à CreditMemo. Coleta Data de criação da transação CustomerRefund no NetSuite. Tipo de evento explicit | |||
| Autorização de devolução rejeitada | Este evento representa a decisão de negar a solicitação de devolução do cliente, muitas vezes por descumprimento das políticas. Ele é identificado por uma mudança no status do registro Return Authorization para 'Rejeitado' ou 'Fechado', sem processamento posterior. | ||
| Por que isso importa Analisar as rejeições ajuda a identificar motivos comuns para solicitações de devolução fora de conformidade, o que pode orientar a comunicação com os clientes e o esclarecimento das políticas. É um desvio importante do caminho ideal. Onde encontrar Inferido a partir das notas do sistema ou do histórico do fluxo de trabalho do registro ReturnAuthorization, quando o campo 'Status' é atualizado para o estado final 'Rejeitado'. Coleta Detectar a mudança do status do registro ReturnAuthorization para o estado 'Rejeitado'. Tipo de evento inferred | |||
| Cliente avisado | Representa o envio de uma notificação ao cliente sobre uma atualização importante de status, como aprovação, recebimento do produto ou processamento do reembolso. Normalmente, o evento é inferido a partir da data e hora de um e-mail gerado pelo sistema e registrado na aba de comunicação do registro. | ||
| Por que isso importa A comunicação no momento certo é essencial para a satisfação dos clientes. Medir o intervalo entre um marco do processo e o aviso ao cliente ajuda a identificar falhas na experiência. Onde encontrar Requer análise do sistema. O evento é registrado com base na data e hora de um e-mail enviado ou de uma nota de usuário na subaba Communication da ReturnAuthorization ou da CreditMemo. Coleta Data e hora de um e-mail ou registro de comunicação vinculado ao caso. Tipo de evento inferred | |||
| Nota de crédito aplicada | Esta atividade representa uma alternativa ao reembolso em dinheiro: a nota de crédito é aplicada a uma fatura em aberto do cliente. O evento é inferido a partir do vínculo 'Applied To' na Credit Memo, que indica que o crédito foi usado. | ||
| Por que isso importa Distinguir reembolsos em dinheiro de créditos aplicados é importante para a análise financeira. Este caminho representa uma forma de concluir o processo diferente do reembolso direto. Onde encontrar Inferido a partir das notas do sistema ou dos registros relacionados à CreditMemo, especificamente quando ela é vinculada a uma transação Invoice para abater o saldo do cliente. Coleta Detectar a aplicação de uma CreditMemo a uma transação Invoice. Tipo de evento inferred | |||
| Nota de crédito aprovada | Representa a aprovação formal da nota de crédito, muitas vezes necessária para reembolsos de alto valor ou como parte dos controles financeiros. O evento é inferido a partir de uma mudança de status no registro Credit Memo, indicando que está pronto para aplicação ou pagamento. | ||
| Por que isso importa Quando são necessárias aprovações financeiras, esta etapa pode se tornar um gargalo importante. Analisar sua duração ajuda a simplificar os controles financeiros sem atrasar os reembolsos aos clientes. Onde encontrar Inferido a partir das notas do sistema do registro CreditMemo, especificamente quando um campo de status de aprovação muda de 'Aguardando aprovação' para 'Aprovado' ou 'Aberto'. Coleta Detectar a mudança do status da transação CreditMemo para o estado 'Aprovado'. Tipo de evento inferred | |||
| Pedido de troca criado | Esta atividade representa um cenário de troca em que um novo pedido de venda é criado para o cliente em vez de um reembolso. Normalmente, o evento é registrado com a criação de uma Sales Order vinculada à Return Authorization original. | ||
| Por que isso importa Acompanhar as trocas como um caminho distinto ajuda a analisar as preferências dos clientes e a eficiência do processo de troca em comparação com o de reembolso. Esta é uma variação comum e importante. Onde encontrar Este evento corresponde à data e hora de criação de uma nova transação SalesOrder. O vínculo com a ReturnAuthorization pode estar em um campo padrão ou personalizado, o que requer uma análise do sistema. Coleta Data de criação de uma SalesOrder vinculada à ReturnAuthorization. Tipo de evento explicit | |||
| Produto inspecionado | Esta atividade conceitual representa a conclusão da inspeção física do produto devolvido para avaliar suas condições. Como o NetSuite não tem um objeto padrão 'Inspection', normalmente ela é inferida a partir de um campo personalizado ou de uma atualização de status na Return Authorization ou no Item Receipt. | ||
| Por que isso importa A inspeção costuma ser um gargalo importante. Acompanhar o tempo até sua conclusão é essencial para analisar a performance dos agentes, a consistência das decisões e o impacto na aprovação do reembolso. Onde encontrar Requer análise do sistema. O evento pode ser inferido a partir de uma mudança em um campo personalizado 'Inspection Status' no registro ReturnAuthorization ou pode fazer parte de um processo offline que não é registrado. Coleta Inferido a partir da mudança de um campo de status personalizado na Return Authorization ou no Item Receipt. Tipo de evento inferred | |||
Guias de extração
Etapas
- Acesse a criação de pesquisa salva: Entre no NetSuite. Acesse Reports > New Search. Na página New Saved Search, clique em 'Transação'.
- Defina os critérios principais: Na página de configuração da pesquisa salva, na guia 'Criteria' e na subguia 'Standard', defina os filtros a seguir para selecionar os registros de autorização de devolução:
TypeéReturn AuthorizationMain LineéYes- Adicione um filtro
Date Createde defina o período desejado, por exemplo, 'nos últimos 3 meses'. Isso é essencial para controlar o volume de dados.
- Configure as colunas de resultados para os atributos: Acesse a guia 'Results'. Adicione os campos a seguir, que serão os atributos do Event Log. Use 'Custom Label' para renomeá-los e facilitar a identificação.
- ID do caso:
Document NumberouTranID(Custom Label: ReturnCaseId) - Status da devolução:
Status(Custom Label: ReturnAuthorizationStatus) - Agente de processamento:
Created Byou um campo personalizado, se aplicável (Custom Label: ProcessingAgent) - Departamento:
Departamento(Custom Label: Department) - Tipo de devolução: um campo personalizado, como
[Your Return Reason Field](Custom Label: ReturnType) - Valor do reembolso:
Amount(Custom Label: ActualRefundAmount)
- ID do caso:
- Adicione colunas de fórmula para os timestamps dos eventos: Esta é a etapa mais importante. Para cada uma das 12 atividades, adicione uma coluna 'Formula (Date/Time)'. Cada fórmula usa uma instrução CASE para retornar um timestamp somente quando o evento correspondente ocorrer. Consulte a seção 'query' para ver as fórmulas exatas de cada atividade.
- Adicione colunas estáticas: Adicione duas colunas 'Formula (Text)' aos resultados:
- Para
SourceSystem, use a fórmula:'NetSuite'. - Para
LastDataUpdate, use uma fórmula que represente a data de execução, como{today}. Para obter um timestamp preciso, use o horário da exportação.
- Para
- Salve e exporte a pesquisa: Dê um nome descritivo à pesquisa, como 'Extração de devoluções do ProcessMind'. Clique em 'Save & Run'. Quando os resultados forem exibidos, clique no ícone de exportação e escolha 'CSV'.
- Transforme os dados em um Event Log: O arquivo CSV exportado estará no formato 'largo', com uma linha por caso de devolução e várias colunas para os diferentes timestamps dos eventos. Você precisa transformar os dados em um Event Log no formato 'longo'. Use uma ferramenta como o Power Query do Microsoft Excel (Unpivot Columns), Python ou outro recurso de script para fazer essa transformação.
- Para cada linha do CSV, crie várias linhas, uma para cada coluna de timestamp de evento não vazia.
- A tabela transformada deve ter colunas como
ReturnCaseId,ActivityNameeEventTimestamp. O valor deActivityNamevem do cabeçalho da coluna de timestamp original, por exemplo, 'Autorização de devolução criada', eEventTimestamprecebe o valor dessa coluna.
- Prepare o arquivo para upload: Confira se o arquivo CSV final tem os cabeçalhos obrigatórios:
ReturnCaseId,ActivityName,EventTimestamp,SourceSystem,LastDataUpdate, além dos atributos recomendados. O arquivo está pronto para ser carregado no ProcessMind.
Configuração
- Tipo de pesquisa: a pesquisa salva precisa ser do tipo
Transação. - Período: é essencial aplicar um filtro de período ao campo
Date Createdda autorização de devolução. Recomendamos um intervalo de 3 a 6 meses para equilibrar a abrangência dos dados e a performance. - Filtro principal: a pesquisa precisa filtrar
TipocomoReturn AuthorizationeMain LinecomoSimpara garantir um registro inicial por caso de devolução. - Campos personalizados: a precisão desta extração, especialmente para eventos conceituais como 'Item inspecionado' ou atributos como 'Tipo de devolução', depende muito do uso de campos personalizados nos registros de transação da sua organização. As fórmulas fornecidas incluem marcadores como
{custbody_...}, que precisam ser ajustados à configuração do NetSuite da sua organização. - Permissões de usuário: o usuário que executa a pesquisa precisa ter permissão de visualização para todos os tipos de transação envolvidos: autorização de devolução, recebimento de item, nota de crédito, reembolso ao cliente e pedido de venda.
- Performance: em contas com um volume muito alto de devoluções, esta pesquisa abrangente pode ser lenta. Considere executá-la fora do horário de pico ou programar a exportação automática para o arquivo de documentos.
Consulta de exemplo 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)` | Etapas
- Ative o SuiteAnalytics Connect: confirme se sua conta do NetSuite tem uma licença do SuiteAnalytics Connect. Um administrador precisa ativar o recurso em Setup > Company > Enable Features > Analytics.
- Atribua permissões ao usuário: conceda ao perfil do usuário que fará a conexão a permissão 'SuiteAnalytics Connect'. Esse usuário também precisa ter permissão de visualização para todos os registros consultados, como transações, funcionários e clientes.
- Instale o driver ODBC: baixe e instale o driver ODBC do NetSuite adequado ao seu sistema operacional na página de download do SuiteAnalytics Connect no NetSuite.
- Configure o DSN: crie um Data Source Name (DSN) na máquina em que a consulta será executada. Informe Service Data Source, Server Hostname, Port, Role ID, Account ID e as credenciais.
- Conecte seu cliente SQL: use um cliente SQL, como DBeaver ou Microsoft SQL Server Management Studio, para se conectar ao NetSuite pelo DSN configurado.
- Prepare a consulta SQL: copie a consulta SQL fornecida para o cliente. Ela foi criada para extrair todos os principais eventos do processo de devoluções e reembolsos.
- Personalize a consulta: altere os valores de exemplo na consulta. No mínimo, atualize o período na expressão de tabela comum (CTE)
ReturnAuthorizationspara selecionar o intervalo desejado. Talvez também seja necessário ajustar os nomes dos campos personalizados, comoCUSTBODY_RETURN_TYPE, ou valores de status específicos à configuração do NetSuite. - Execute a consulta: rode a consulta SQL personalizada na réplica do banco de dados do NetSuite. O tempo de execução pode variar conforme o período e o volume de dados.
- Revise e exporte os dados: quando a consulta terminar, confira se os resultados estão corretos. Exporte todo o conjunto de resultados para um arquivo CSV.
- Prepare o arquivo para upload: confira se os cabeçalhos do arquivo CSV correspondem aos atributos obrigatórios:
ReturnCaseId,ActivityName,EventTimestamp,SourceSystem,LastDataUpdateetc. Verifique se a colunaEventTimestampusa um formato consistente de data e hora. O arquivo está pronto para ser carregado no ProcessMind.
Configuração
- Pré-requisitos: é necessária uma licença do NetSuite com o módulo adicional SuiteAnalytics Connect. O usuário que executa a conexão precisa ter uma função com a permissão 'SuiteAnalytics Connect' e acesso de leitura aos registros de transações, entidades e funcionários.
- Configuração da fonte de dados: configure um DSN (Data Source Name) usando o driver ODBC do NetSuite. Você precisará do Account ID, Role ID e das credenciais. Em ambientes de produção, o host do serviço geralmente é
odbcserver.netsuite.com. - Filtro por período: é essencial aplicar um filtro de período à CTE inicial que seleciona as autorizações de devolução. Sem esse filtro, a consulta tentará buscar todos os dados de devolução e provavelmente ficará muito lenta ou atingirá o tempo limite. Para a análise inicial, recomendamos um intervalo de 3 a 6 meses.
- Principais tipos de transação: a consulta abrange vários tipos de transação essenciais: ReturnAuthorization, ItemReceipt, CreditMemo, CustomerRefund e SalesOrd (para trocas). Confirme se o processo usa esses objetos padrão.
- Dependências de campos personalizados: atividades como 'Item inspecionado' e atributos como 'Tipo de devolução' costumam ser registrados em campos personalizados. A consulta fornecida usa placeholders como
CUSTBODY_INSPECTION_STATUSeCUSTBODY_RETURN_TYPE. Identifique os IDs corretos dos campos personalizados no seu sistema e atualize a consulta. - Considerações de performance: esta consulta é complexa, com várias junções e uma estrutura extensa de
UNION ALL. Execute-a fora dos horários de pico para reduzir o impacto na performance do sistema. Para conjuntos de dados muito grandes, considere executar a consulta em intervalos menores e acrescentar os resultados.
Consulta de exemplo sql
WITH ReturnAuthorizations AS (
SELECT
T.TRANSACTION_ID AS ReturnCaseId,
T.TRANDATE
FROM
TRANSACTION T
WHERE
T.TYPE = 'ReturnAuthorization'
AND T.TRANDATE BETWEEN TO_DATE('[YYYY-MM-DD]', 'YYYY-MM-DD') AND TO_DATE('[YYYY-MM-DD]', 'YYYY-MM-DD')
)
SELECT
RA.ReturnCaseId AS "ReturnCaseId",
'Return Authorization Created' AS "ActivityName",
T.CREATED_DATE AS "EventTimestamp",
'NetSuite' AS "SourceSystem",
CURRENT_TIMESTAMP AS "LastDataUpdate",
T.STATUS AS "ReturnAuthorizationStatus",
E.full_name AS "ProcessingAgent",
D.full_name AS "Department",
T.CUSTBODY_RETURN_TYPE AS "ReturnType",
NULL AS "ActualRefundAmount",
NULL AS "CycleTime"
FROM TRANSACTION T
INNER JOIN ReturnAuthorizations RA ON T.TRANSACTION_ID = RA.ReturnCaseId
LEFT JOIN EMPLOYEE E ON T.CREATED_BY_ID = E.EMPLOYEE_ID
LEFT JOIN DEPARTMENT D ON E.DEPARTMENT_ID = D.DEPARTMENT_ID
UNION ALL
SELECT
RA.ReturnCaseId,
'Return Authorization Approved' AS "ActivityName",
SN.NOTE_DATE AS "EventTimestamp",
'NetSuite' AS "SourceSystem",
CURRENT_TIMESTAMP AS "LastDataUpdate",
SN.NEW_VALUE AS "ReturnAuthorizationStatus",
E.full_name AS "ProcessingAgent",
D.full_name AS "Department",
T.CUSTBODY_RETURN_TYPE AS "ReturnType",
NULL AS "ActualRefundAmount",
NULL AS "CycleTime"
FROM SYSTEM_NOTES SN
INNER JOIN TRANSACTION T ON SN.TRANSACTION_ID = T.TRANSACTION_ID
INNER JOIN ReturnAuthorizations RA ON T.TRANSACTION_ID = RA.ReturnCaseId
LEFT JOIN EMPLOYEE E ON SN.AUTHOR_ID = E.EMPLOYEE_ID
LEFT JOIN DEPARTMENT D ON E.DEPARTMENT_ID = D.DEPARTMENT_ID
WHERE SN.FIELD = 'TRANSACTION.STATUS' AND SN.NEW_VALUE = 'Pending Receipt'
UNION ALL
SELECT
RA.ReturnCaseId,
'Return Authorization Rejected' AS "ActivityName",
SN.NOTE_DATE AS "EventTimestamp",
'NetSuite' AS "SourceSystem",
CURRENT_TIMESTAMP AS "LastDataUpdate",
SN.NEW_VALUE AS "ReturnAuthorizationStatus",
E.full_name AS "ProcessingAgent",
D.full_name AS "Department",
T.CUSTBODY_RETURN_TYPE AS "ReturnType",
NULL AS "ActualRefundAmount",
NULL AS "CycleTime"
FROM SYSTEM_NOTES SN
INNER JOIN TRANSACTION T ON SN.TRANSACTION_ID = T.TRANSACTION_ID
INNER JOIN ReturnAuthorizations RA ON T.TRANSACTION_ID = RA.ReturnCaseId
LEFT JOIN EMPLOYEE E ON SN.AUTHOR_ID = E.EMPLOYEE_ID
LEFT JOIN DEPARTMENT D ON E.DEPARTMENT_ID = D.DEPARTMENT_ID
WHERE SN.FIELD = 'TRANSACTION.STATUS' AND SN.NEW_VALUE IN ('Rejected', 'Closed')
UNION ALL
SELECT
RA.ReturnCaseId,
'Item Received' AS "ActivityName",
IR.CREATED_DATE AS "EventTimestamp",
'NetSuite' AS "SourceSystem",
CURRENT_TIMESTAMP AS "LastDataUpdate",
T_RA.STATUS AS "ReturnAuthorizationStatus",
E.full_name AS "ProcessingAgent",
D.full_name AS "Department",
T_RA.CUSTBODY_RETURN_TYPE AS "ReturnType",
NULL AS "ActualRefundAmount",
NULL AS "CycleTime"
FROM TRANSACTION IR
INNER JOIN TRANSACTION T_RA ON IR.CREATED_FROM_ID = T_RA.TRANSACTION_ID
INNER JOIN ReturnAuthorizations RA ON T_RA.TRANSACTION_ID = RA.ReturnCaseId
LEFT JOIN EMPLOYEE E ON IR.CREATED_BY_ID = E.EMPLOYEE_ID
LEFT JOIN DEPARTMENT D ON E.DEPARTMENT_ID = D.DEPARTMENT_ID
WHERE IR.TYPE = 'ItemReceipt'
UNION ALL
SELECT
RA.ReturnCaseId,
'Item Inspected' AS "ActivityName",
SN.NOTE_DATE AS "EventTimestamp",
'NetSuite' AS "SourceSystem",
CURRENT_TIMESTAMP AS "LastDataUpdate",
T.STATUS AS "ReturnAuthorizationStatus",
E.full_name AS "ProcessingAgent",
D.full_name AS "Department",
T.CUSTBODY_RETURN_TYPE AS "ReturnType",
NULL AS "ActualRefundAmount",
NULL AS "CycleTime"
FROM SYSTEM_NOTES SN
INNER JOIN TRANSACTION T ON SN.TRANSACTION_ID = T.TRANSACTION_ID
INNER JOIN ReturnAuthorizations RA ON T.TRANSACTION_ID = RA.ReturnCaseId
LEFT JOIN EMPLOYEE E ON SN.AUTHOR_ID = E.EMPLOYEE_ID
LEFT JOIN DEPARTMENT D ON E.DEPARTMENT_ID = D.DEPARTMENT_ID
WHERE SN.FIELD = 'TRANSACTION.CUSTBODY_INSPECTION_STATUS' AND SN.NEW_VALUE = 'Completed'
UNION ALL
SELECT
RA.ReturnCaseId,
'Credit Memo Created' AS "ActivityName",
CM.CREATED_DATE AS "EventTimestamp",
'NetSuite' AS "SourceSystem",
CURRENT_TIMESTAMP AS "LastDataUpdate",
T_RA.STATUS AS "ReturnAuthorizationStatus",
E.full_name AS "ProcessingAgent",
D.full_name AS "Department",
T_RA.CUSTBODY_RETURN_TYPE AS "ReturnType",
NULL AS "ActualRefundAmount",
NULL AS "CycleTime"
FROM TRANSACTION CM
INNER JOIN TRANSACTION T_RA ON CM.CREATED_FROM_ID = T_RA.TRANSACTION_ID
INNER JOIN ReturnAuthorizations RA ON T_RA.TRANSACTION_ID = RA.ReturnCaseId
LEFT JOIN EMPLOYEE E ON CM.CREATED_BY_ID = E.EMPLOYEE_ID
LEFT JOIN DEPARTMENT D ON E.DEPARTMENT_ID = D.DEPARTMENT_ID
WHERE CM.TYPE = 'CreditMemo'
UNION ALL
SELECT
RA.ReturnCaseId,
'Credit Memo Approved' AS "ActivityName",
SN.NOTE_DATE AS "EventTimestamp",
'NetSuite' AS "SourceSystem",
CURRENT_TIMESTAMP AS "LastDataUpdate",
SN.NEW_VALUE AS "ReturnAuthorizationStatus",
E.full_name AS "ProcessingAgent",
D.full_name AS "Department",
T_RA.CUSTBODY_RETURN_TYPE AS "ReturnType",
NULL AS "ActualRefundAmount",
NULL AS "CycleTime"
FROM SYSTEM_NOTES SN
INNER JOIN TRANSACTION CM ON SN.TRANSACTION_ID = CM.TRANSACTION_ID
INNER JOIN TRANSACTION T_RA ON CM.CREATED_FROM_ID = T_RA.TRANSACTION_ID
INNER JOIN ReturnAuthorizations RA ON T_RA.TRANSACTION_ID = RA.ReturnCaseId
LEFT JOIN EMPLOYEE E ON SN.AUTHOR_ID = E.EMPLOYEE_ID
LEFT JOIN DEPARTMENT D ON E.DEPARTMENT_ID = D.DEPARTMENT_ID
WHERE CM.TYPE = 'CreditMemo' AND SN.FIELD = 'TRANSACTION.APPROVAL_STATUS' AND SN.NEW_VALUE = 'Approved'
UNION ALL
SELECT
RA.ReturnCaseId,
'Refund Processed' AS "ActivityName",
REF.CREATED_DATE AS "EventTimestamp",
'NetSuite' AS "SourceSystem",
CURRENT_TIMESTAMP AS "LastDataUpdate",
T_RA.STATUS AS "ReturnAuthorizationStatus",
E.full_name AS "ProcessingAgent",
D.full_name AS "Department",
T_RA.CUSTBODY_RETURN_TYPE AS "ReturnType",
ABS(REF.TOTAL) AS "ActualRefundAmount",
NULL AS "CycleTime"
FROM TRANSACTION REF
INNER JOIN TRANSACTION CM ON REF.APPLIED_TO_TRANSACTION_ID = CM.TRANSACTION_ID
INNER JOIN TRANSACTION T_RA ON CM.CREATED_FROM_ID = T_RA.TRANSACTION_ID
INNER JOIN ReturnAuthorizations RA ON T_RA.TRANSACTION_ID = RA.ReturnCaseId
LEFT JOIN EMPLOYEE E ON REF.CREATED_BY_ID = E.EMPLOYEE_ID
LEFT JOIN DEPARTMENT D ON E.DEPARTMENT_ID = D.DEPARTMENT_ID
WHERE REF.TYPE = 'CustomerRefund'
UNION ALL
SELECT
RA.ReturnCaseId,
'Credit Memo Applied' AS "ActivityName",
SN.NOTE_DATE AS "EventTimestamp",
'NetSuite' AS "SourceSystem",
CURRENT_TIMESTAMP AS "LastDataUpdate",
SN.NEW_VALUE AS "ReturnAuthorizationStatus",
E.full_name AS "ProcessingAgent",
D.full_name AS "Department",
T_RA.CUSTBODY_RETURN_TYPE AS "ReturnType",
NULL AS "ActualRefundAmount",
NULL AS "CycleTime"
FROM SYSTEM_NOTES SN
INNER JOIN TRANSACTION CM ON SN.TRANSACTION_ID = CM.TRANSACTION_ID
INNER JOIN TRANSACTION T_RA ON CM.CREATED_FROM_ID = T_RA.TRANSACTION_ID
INNER JOIN ReturnAuthorizations RA ON T_RA.TRANSACTION_ID = RA.ReturnCaseId
LEFT JOIN EMPLOYEE E ON SN.AUTHOR_ID = E.EMPLOYEE_ID
LEFT JOIN DEPARTMENT D ON E.DEPARTMENT_ID = D.DEPARTMENT_ID
WHERE CM.TYPE = 'CreditMemo' AND SN.FIELD = 'TRANSACTION.STATUS' AND SN.NEW_VALUE = 'Fully Applied'
UNION ALL
SELECT
RA.ReturnCaseId,
'Exchange Order Created' AS "ActivityName",
SO.CREATED_DATE AS "EventTimestamp",
'NetSuite' AS "SourceSystem",
CURRENT_TIMESTAMP AS "LastDataUpdate",
T_RA.STATUS AS "ReturnAuthorizationStatus",
E.full_name AS "ProcessingAgent",
D.full_name AS "Department",
T_RA.CUSTBODY_RETURN_TYPE AS "ReturnType",
NULL AS "ActualRefundAmount",
NULL AS "CycleTime"
FROM TRANSACTION SO
INNER JOIN TRANSACTION T_RA ON SO.CREATED_FROM_ID = T_RA.TRANSACTION_ID
INNER JOIN ReturnAuthorizations RA ON T_RA.TRANSACTION_ID = RA.ReturnCaseId
LEFT JOIN EMPLOYEE E ON SO.CREATED_BY_ID = E.EMPLOYEE_ID
LEFT JOIN DEPARTMENT D ON E.DEPARTMENT_ID = D.DEPARTMENT_ID
WHERE SO.TYPE = 'SalesOrd'
UNION ALL
SELECT
RA.ReturnCaseId,
'Customer Notified' AS "ActivityName",
MSG.MESSAGE_DATE AS "EventTimestamp",
'NetSuite' AS "SourceSystem",
CURRENT_TIMESTAMP AS "LastDataUpdate",
T.STATUS AS "ReturnAuthorizationStatus",
E.full_name AS "ProcessingAgent",
D.full_name AS "Department",
T.CUSTBODY_RETURN_TYPE AS "ReturnType",
NULL AS "ActualRefundAmount",
NULL AS "CycleTime"
FROM MESSAGES MSG
INNER JOIN TRANSACTION T ON MSG.TRANSACTION_ID = T.TRANSACTION_ID
INNER JOIN ReturnAuthorizations RA ON T.TRANSACTION_ID = RA.ReturnCaseId
LEFT JOIN EMPLOYEE E ON MSG.AUTHOR_ID = E.EMPLOYEE_ID
LEFT JOIN DEPARTMENT D ON E.DEPARTMENT_ID = D.DEPARTMENT_ID
WHERE MSG.INCOMING = 'F'
UNION ALL
SELECT
RA.ReturnCaseId,
'Return Authorization Closed' AS "ActivityName",
SN.NOTE_DATE AS "EventTimestamp",
'NetSuite' AS "SourceSystem",
CURRENT_TIMESTAMP AS "LastDataUpdate",
SN.NEW_VALUE AS "ReturnAuthorizationStatus",
E.full_name AS "ProcessingAgent",
D.full_name AS "Department",
T.CUSTBODY_RETURN_TYPE AS "ReturnType",
NULL AS "ActualRefundAmount",
NULL AS "CycleTime"
FROM SYSTEM_NOTES SN
INNER JOIN TRANSACTION T ON SN.TRANSACTION_ID = T.TRANSACTION_ID
INNER JOIN ReturnAuthorizations RA ON T.TRANSACTION_ID = RA.ReturnCaseId
LEFT JOIN EMPLOYEE E ON SN.AUTHOR_ID = E.EMPLOYEE_ID
LEFT JOIN DEPARTMENT D ON E.DEPARTMENT_ID = D.DEPARTMENT_ID
WHERE T.TYPE = 'ReturnAuthorization' AND SN.FIELD = 'TRANSACTION.STATUS' AND SN.NEW_VALUE LIKE '%Closed%'; Pronto para começar?
Comece a transformar o processamento de devoluções e reembolsos com este Template de dados. Otimize hoje os fluxos de trabalho do NetSuite para aumentar a eficiência e a satisfação dos clientes.
Otimize devoluções e reembolsos e aumente a eficiência do NetSuite
Reduza em 30% o tempo de ciclo das devoluções no NetSuite. Comece a melhorar as operações hoje.
Não é necessário cartão de crédito • Configuração em minutos