Seu Template de dados de pedido ao recebimento, faturamento e emissão de faturas
Seu Template de dados de pedido ao recebimento, faturamento e emissão de faturas
- Atributos recomendados para coleta
- Principais atividades a acompanhar
- Orientações para extração no NetSuite
Atributos de pedido ao recebimento, faturamento e emissão de faturas
| Nome | Descrição | ||
|---|---|---|---|
| Data e hora do evento EventTimestamp | Data e hora exatas em que uma atividade ou um evento específico ocorreu. | ||
| Descrição Este atributo registra o momento exato em que uma atividade ocorreu. É essencial para ordenar os eventos cronologicamente e realizar todas as análises baseadas em tempo. No Process Mining, a data e hora do evento são usadas para calcular o tempo de ciclo entre atividades, a duração dos casos e os tempos de espera. São essenciais para identificar gargalos, medir a performance do processo em relação aos SLAs e entender a dinâmica temporal do faturamento. Por exemplo, são usadas para calcular o tempo de ciclo de geração de faturas e o prazo médio de recebimento de vendas (DSO). Por que isso importa Estabelece a ordem cronológica dos eventos, essencial para calcular métricas de duração, identificar gargalos e analisar a performance do processo ao longo do tempo. Onde encontrar As informações de data e hora geralmente estão nas notas do sistema, nos históricos de auditoria ou nos campos 'Date Created' dos registros relacionados a cada transação de fatura no NetSuite. Exemplos 2023-10-26T10:00:00Z2023-10-27T14:30:00Z2023-11-15T09:05:00Z | |||
| Nome da atividade ActivityName | Nome do evento de negócio ocorrido em um determinado momento do ciclo de vida da fatura. | ||
| Descrição O nome da atividade descreve uma etapa ou um evento específico do processo de faturamento, como 'Fatura criada', 'Fatura aprovada' ou 'Pagamento do cliente recebido'. Essas atividades formam as etapas sequenciais do mapa do processo. Analisar a sequência e a frequência dessas atividades é fundamental para o Process Mining. Isso ajuda a visualizar o fluxo real do processo, identificar caminhos comuns e raros (variantes) e localizar atividades repetidas com frequência, que podem indicar retrabalho ou ineficiência. Por que isso importa Este atributo é fundamental para criar o mapa do processo e visualizar e analisar as diferentes etapas e os caminhos percorridos por uma fatura. Onde encontrar Derivado de registros do sistema, alterações de status ou registros de eventos específicos associados à transação de fatura no NetSuite. Muitas vezes, é necessário mapear alterações de status da transação ou a criação de registros relacionados para nomes de atividades definidos. Exemplos Fatura criadaFatura aprovadaPagamento do cliente recebidoFatura totalmente paga | |||
| Número da fatura InvoiceNumber | Identificador exclusivo de cada documento de fatura, usado como ID principal do caso no processo de faturamento. | ||
| Descrição O número da fatura é a base da análise do processo de faturamento, pois identifica cada fatura de forma exclusiva, desde sua criação até o encerramento. Ele reúne em um único caso todas as atividades relacionadas, como aprovação, envio e aplicação do pagamento. No Process Mining, analisar a jornada de cada número de fatura permite ter uma visão completa de todo o ciclo de faturamento. Isso ajuda a identificar variantes do processo, gargalos e desvios do procedimento padrão, gerando insights importantes para otimizar o fluxo de caixa e a eficiência operacional. Por que isso importa É essencial para acompanhar o ciclo completo de cada fatura, reconstruir todo o processo de faturamento e realizar uma análise detalhada da performance. Onde encontrar Geralmente, corresponde ao campo 'Transaction ID' ou a outro campo de identificação exclusiva no registro da transação de fatura do NetSuite. Exemplos INV-0012345INV-0012346INV-0012347 | |||
| Sistema de origem SourceSystem | Sistema do qual os dados foram extraídos. | ||
| Descrição Este atributo identifica a origem dos dados do processo. Nesta visualização, o valor seria sempre 'NetSuite'. Em um contexto mais amplo de análise, especialmente em organizações com vários ERPs ou sistemas integrados, este atributo é essencial para a linhagem e a governança dos dados. Ele ajuda a diferenciar processos que podem envolver diferentes plataformas e garante que a análise seja atribuída corretamente ao sistema de registro correspondente. Por que isso importa Fornece contexto essencial sobre a origem e a governança dos dados, especialmente em ambientes com vários sistemas integrados. Onde encontrar Este é um valor estático ('NetSuite'), adicionado durante a extração e a transformação dos dados. Exemplos NetSuite | |||
| Última atualização dos dados LastDataUpdate | Data e hora da última atualização dos dados extraídos do sistema de origem. | ||
| Descrição Este atributo registra quando o conjunto de dados foi atualizado pela última vez. Ele informa o quão recentes e relevantes são os dados usados na análise de Process Mining. Analistas e partes interessadas do negócio usam essa informação para entender se os insights refletem o estado operacional mais atual. É um metadado essencial para qualquer Dashboard ou relatório, pois ajuda a garantir que as decisões se baseiem em dados com uma data conhecida e que não sejam interpretados como dados em tempo real quando não são. Por que isso importa Informa quando os dados foram atualizados, ajudando os usuários a entender o período coberto pela análise e a relevância dos insights. Onde encontrar A data e hora são geradas e registradas pela ferramenta ou pelo pipeline de extração de dados durante a atualização. Exemplos 2024-05-21T02:00:00Z | |||
| Data da fatura InvoiceDate | Data oficial da fatura, conforme enviada ao cliente. | ||
| Descrição A data da fatura, ou data da transação, é o ponto de partida de muitos cálculos financeiros relacionados ao faturamento. É a partir dela que normalmente são calculados os prazos e as datas de vencimento. Na análise, esta data é a principal referência para calcular KPIs financeiros importantes, como o prazo médio de recebimento de vendas (DSO) e o envelhecimento das faturas. Ela permite analisar coortes e comparar a performance do faturamento em diferentes períodos, por exemplo, mês a mês ou ano a ano. Por que isso importa Esta data é a referência para métricas financeiras importantes, como o prazo médio de recebimento de vendas (DSO) e o envelhecimento das faturas, e afeta diretamente a análise do capital de giro. Onde encontrar Corresponde ao campo 'Date' (trandate) do registro da transação de fatura no NetSuite. Exemplos 2023-10-262023-10-272023-11-15 | |||
| Data de vencimento DueDate | Data limite para o pagamento da fatura. | ||
| Descrição A data de vencimento é calculada com base na data da fatura e nas condições de pagamento acordadas. Ela representa o prazo para o cliente pagar sem que o pagamento seja considerado atrasado. Este atributo é essencial para acompanhar as contas a receber e gerenciar o fluxo de caixa. É a referência usada para calcular o KPI de índice de pagamentos em dia e analisar o comportamento de pagamento dos clientes. Acompanhar os desvios em relação à data de vencimento ajuda a identificar clientes que costumam pagar com atraso e avaliar a eficácia das estratégias de cobrança. Por que isso importa É essencial para medir a pontualidade dos pagamentos e analisar o comportamento de pagamento dos clientes, além de apoiar diretamente a cobrança e a previsão do fluxo de caixa. Onde encontrar Corresponde ao campo 'Due Date' (duedate) do registro da transação de fatura no NetSuite. Exemplos 2023-11-252023-11-262023-12-15 | |||
| Data e hora de término do evento EventEndTime | Data e hora exatas em que uma atividade ou um evento específico foi concluído. | ||
| Descrição A data e hora de término do evento marcam a conclusão de uma atividade. Muitas atividades são instantâneas, com o mesmo horário de início e término, mas algumas, como uma etapa de aprovação, podem ter uma duração mensurável. Este atributo, junto com a data e hora do evento (hora de início), permite calcular diretamente o tempo de processamento da atividade. Analisar esse tempo ajuda a identificar quais etapas consomem mais tempo e recursos, diferenciando-o do tempo de espera entre atividades. Isso é essencial para localizar ineficiências em tarefas específicas. Por que isso importa Permite calcular com precisão quanto tempo cada atividade leva para ser concluída, algo essencial para analisar a eficiência dos recursos e identificar tarefas demoradas. Onde encontrar Assim como StartTime, este dado pode ser obtido dos históricos de auditoria do NetSuite. Talvez seja necessário usar uma lógica para associar um evento de 'início' ao evento de 'término' correspondente. Exemplos 2023-10-26T10:05:14Z2023-10-27T14:32:00Z2023-11-15T09:05:00Z | |||
| É automatizado IsAutomated | Indicador que informa se uma atividade foi executada automaticamente pelo sistema. | ||
| Descrição Este atributo booleano diferencia as atividades realizadas manualmente por um usuário daquelas executadas automaticamente por um fluxo de trabalho do sistema, um script ou uma integração. Esse atributo é essencial para medir o nível de automação no processo de faturamento e dá suporte direto ao KPI 'Índice de faturamento automatizado'. Ao filtrar atividades automatizadas ou manuais, os analistas podem identificar gargalos causados por intervenções manuais e encontrar oportunidades para ampliar a automação, reduzir erros humanos e aumentar a eficiência. Por que isso importa Ajuda a medir o nível de automação do processo, identificando oportunidades para reduzir o esforço manual e aumentar a eficiência. Onde encontrar Normalmente, isso é determinado verificando o 'Usuário' associado a uma atividade. Eventos acionados por usuários chamados 'SYSTEM', 'Workflow' ou 'Integration' são identificados como automatizados. Exemplos truefalse | |||
| Nome do cliente CustomerName | Nome do cliente para quem a fatura foi emitida. | ||
| Descrição Este atributo identifica a pessoa jurídica ou física que está sendo cobrada. Ele conecta o processo de faturamento à gestão do relacionamento com o cliente. Analisar o processo de faturamento por cliente ajuda a identificar padrões de pagamento, divergências ou complexidade das faturas de clientes específicos. Isso pode orientar estratégias de segmentação de clientes, decisões sobre limites de crédito e abordagens de cobrança personalizadas. Por exemplo, pode revelar se determinado cliente costuma ter faturas que exigem retrabalho. Por que isso importa Permite analisar o processo sob a perspectiva do cliente e identificar padrões de pagamento, problemas recorrentes ou desvios do processo específicos de determinados clientes. Onde encontrar Corresponde ao campo de nome 'Customer' ou 'Entity' do registro da transação de fatura no NetSuite. Exemplos Global Tech Inc.Innovate Solutions LLCCornerstone Corp | |||
| Região Region | Região geográfica associada ao cliente ou à transação. | ||
| Descrição O atributo Região classifica as faturas por localização geográfica, que pode ser determinada pelo endereço do cliente ou pela unidade de negócio que emitiu a fatura. É uma dimensão importante para análises comparativas. O Dashboard 'Comparação regional do processo de faturamento' usa este atributo para comparar KPIs, como tempos de ciclo, taxas de erro e variantes do processo, entre diferentes regiões. Isso ajuda a identificar diferenças de performance regionais, descobrir boas práticas em regiões com melhores resultados e promover a padronização dos processos em toda a organização. Por que isso importa Permite comparar diferentes regiões geográficas, o que é essencial para identificar diferenças de performance e padronizar as melhores práticas. Onde encontrar Esses dados costumam ser armazenados em um segmento personalizado ou campo de classificação do cadastro do cliente ou do registro da transação no NetSuite. Exemplos América do NorteEMEAAPAC | |||
| Usuário User | Nome ou ID do usuário que realizou a atividade. | ||
| Descrição Este atributo identifica o funcionário ou usuário do sistema responsável por executar uma etapa específica do processo. Pode ser a pessoa que criou a fatura, aprovou-a ou aplicou o pagamento. Analisar o processo por usuário ajuda a entender a distribuição da carga de trabalho, a performance individual e as necessidades de treinamento. Também pode revelar oportunidades de automação, mostrando quais atividades manuais são realizadas pelo maior número de usuários. Além disso, é importante para a análise de Conformidade e dos históricos de auditoria. Por que isso importa Permite analisar a distribuição da carga de trabalho, a performance por usuário e a adesão ao processo, aspectos essenciais para a gestão de recursos e o treinamento direcionado. Onde encontrar Disponível na aba System Notes ou em campos específicos 'Modified By' dos registros de fatura e de transações relacionadas no NetSuite. Exemplos Alice SmithBob JohnsonSYSTEM | |||
| Valor total da fatura InvoiceTotalAmount | Valor monetário total da fatura, incluindo impostos e outras cobranças. | ||
| Descrição Este atributo representa o valor total que o cliente deve pagar. É um dado financeiro fundamental para cada caso de faturamento. Analisar o processo com base no valor da fatura permite fazer análises por faixa de valor. Por exemplo, pode revelar se faturas de alto valor seguem um processo diferente e mais complexo do que as de baixo valor. O atributo também ajuda a priorizar as ações de cobrança e entender o impacto financeiro de atrasos nos pagamentos ou erros nas faturas. Por que isso importa Permite analisar o processo por valor, priorizar faturas de alto valor e entender o impacto financeiro das ineficiências do processo. Onde encontrar Corresponde ao campo 'Total' (total) do registro da transação de fatura no NetSuite. Exemplos 1500.0089.9912500.50 | |||
| Condições de pagamento PaymentTerms | Condições de pagamento acordadas entre a empresa e o cliente. | ||
| Descrição As condições de pagamento definem quando e como o cliente deve pagar a fatura, por exemplo, 'Net 30' ou 'Due on receipt'. Essas informações são usadas para calcular automaticamente a data de vencimento da fatura. Este atributo é essencial para o Dashboard 'Aderência às condições de pagamento'. Analisar os índices de pagamentos em dia por condição ajuda a avaliar sua eficácia. Por exemplo, pode mostrar se clientes com prazo 'Net 15' pagam mais rápido do que aqueles com 'Net 30', orientando futuras negociações contratuais e políticas de crédito. Por que isso importa É essencial para analisar a eficácia das diferentes condições de pagamento e seu impacto na pontualidade dos pagamentos dos clientes. Onde encontrar Corresponde ao campo 'Terms' do registro da transação de fatura no NetSuite. Exemplos Net 30Net 60Vencimento no recebimento | |||
| Departamento Department | O departamento interno associado à fatura. | ||
| Descrição Este atributo representa o departamento interno, como Vendas, Serviços ou uma linha de negócios específica, responsável pela transação. É um segmento de classificação padrão no NetSuite. Analisar o processo por departamento permite comparar o desempenho internamente e identificar se alguns departamentos têm processos de faturamento mais eficientes que outros. A análise pode revelar diferenças na adesão ao processo ou na alocação de recursos, gerando insights para iniciativas de melhoria direcionadas a áreas específicas da organização. Por que isso importa Permite comparar a performance do processo entre diferentes departamentos internos, destacando variações e oportunidades de padronização. Onde encontrar Corresponde ao campo de classificação 'Departamento', que pode ser definido no cabeçalho ou no nível do item de uma transação de fatura no NetSuite. Exemplos Vendas - EnterpriseServiços profissionaisHardware | |||
| É retrabalho IsRework | Indicador calculado que identifica atividades consideradas retrabalho ou ciclos de correção. | ||
| Descrição Este indicador booleano recebe o valor true para atividades que representam retrabalho sem valor agregado, como 'Fatura corrigida' ou um segundo evento 'Fatura aprovada' no mesmo caso. Normalmente, ele é calculado com base no nome da atividade ou na repetição de uma atividade. Este atributo é essencial para o Dashboard 'Análise de retrabalho e rejeição de faturas' e para o KPI 'Taxa de erros em faturas'. Ele facilita a quantificação do retrabalho e ajuda a destacar problemas de qualidade do processo. Ao filtrar as atividades de retrabalho, as equipes podem identificar rapidamente as causas raiz dos erros e medir o impacto das iniciativas de melhoria. Por que isso importa Mede diretamente a qualidade do processo ao sinalizar ciclos de retrabalho ineficientes, permitindo analisar as causas raiz e o impacto financeiro dos erros de faturamento. Onde encontrar Este atributo derivado é calculado durante a transformação dos dados. A lógica identifica o retrabalho, por exemplo, sinalizando nomes específicos de atividades ('Fatura corrigida') ou atividades repetidas. Exemplos truefalse | |||
| Moeda Currency | Código da moeda do valor da fatura. | ||
| Descrição Este atributo especifica a moeda em que o valor da fatura está expresso, por exemplo, USD, EUR ou GBP. É um contexto essencial para interpretar qualquer valor monetário. Para organizações multinacionais, analisar os dados por moeda é importante para entender a performance financeira em diferentes mercados. Isso garante a interpretação correta dos valores e permite agregá-los e compará-los adequadamente após a conversão cambial, quando necessário. Por que isso importa Fornece o contexto necessário para interpretar valores monetários, essencial para relatórios e análises financeiras precisos, especialmente em operações multinacionais. Onde encontrar Corresponde ao campo 'Currency' do registro da transação de fatura no NetSuite. Exemplos USDEURGBP | |||
| Número do pedido de venda SalesOrderNumber | Identificador do pedido de venda que originou a fatura. | ||
| Descrição Este atributo cria um vínculo direto com o pedido de venda de origem, conectando o processo de faturamento aos processos anteriores de vendas e atendimento do pedido. Incluir o número do pedido de venda permite ter uma visão mais completa de todo o ciclo do pedido ao recebimento. Isso possibilita rastrear problemas de faturamento até sua origem no processo de vendas. Por exemplo, correções frequentes de faturas podem estar relacionadas a erros de entrada de dados em determinados tipos de pedido de venda. Por que isso importa Conecta o processo de faturamento ao processo de vendas e permite uma análise mais ampla, de ponta a ponta, do ciclo do pedido ao recebimento para identificar as causas raiz dos problemas de faturamento. Onde encontrar Encontrado no campo 'Criado a partir de' ou na subaba 'Registros relacionados' de uma transação de fatura no NetSuite. Exemplos SO-0009876SO-0009877SO-0009878 | |||
| Pagamento em dia IsOnTimePayment | Indicador que informa se o pagamento do cliente foi recebido até a data de vencimento da fatura. | ||
| Descrição Este indicador booleano calculado compara a data e hora do evento 'Pagamento do cliente recebido' com a data de vencimento da fatura ('DueDate'). O valor é true quando o pagamento é feito no prazo ou antes dele, e false quando é feito com atraso. Este atributo é a base do KPI 'Índice de pagamentos em dia' e do Dashboard 'Aderência aos prazos de pagamento'. Ele oferece uma medida clara e binária do comportamento de pagamento dos clientes, simplificando a análise e os relatórios. Também ajuda a identificar rapidamente tendências nos prazos de pagamento e a avaliar a eficácia das estratégias de cobrança. Por que isso importa Oferece uma métrica clara de sucesso para a cobrança, dando suporte direto ao cálculo do KPI de índice de pagamentos em dia e à análise do comportamento dos clientes. Onde encontrar Este atributo é calculado comparando a data e hora do evento de pagamento com o atributo 'DueDate' no nível do caso. Exemplos truefalse | |||
| Prazo médio de recebimento de vendas DaysSalesOutstanding | Número de dias entre a data da fatura e a data em que o pagamento foi recebido. | ||
| Descrição O prazo médio de recebimento de vendas (DSO) é uma métrica financeira importante que mede, em média, quantos dias são necessários para receber o pagamento após a emissão de uma fatura. Este atributo é calculado para cada fatura, permitindo uma análise detalhada. Embora seja frequentemente consolidado como um KPI de alto nível, ter o DSO por fatura permite análises mais aprofundadas. Você pode identificar quais clientes, regiões ou tipos de fatura têm o DSO mais alto. O Dashboard 'Tendência do DSO' usa essa métrica para mostrar a eficiência da cobrança ao longo do tempo e gerar insights importantes sobre a gestão do capital de giro. Por que isso importa Quantifica a eficiência da cobrança por fatura, permitindo analisar em detalhe as causas raiz de um DSO elevado e seu impacto no fluxo de caixa. Onde encontrar Calculado subtraindo 'InvoiceDate' da data e hora do evento 'Pagamento do cliente recebido'. Exemplos 294562 | |||
| Status da fatura InvoiceStatus | Status atual da fatura no ciclo de vida. | ||
| Descrição Este atributo mostra o estado atual da fatura, como 'Open', 'Paid in Full' ou 'Voided'. Ele indica em que etapa do processo a fatura está em determinado momento. O Dashboard 'Visão geral do status das faturas em aberto' é baseado diretamente neste atributo. Ele permite avaliar as contas a receber em tempo real, ajudando as equipes financeiras a acompanhar saldos em aberto, gerenciar cobranças e prever entradas de caixa. Analisar o status final também ajuda a entender os resultados do processo. Por que isso importa Apresenta uma visão do estado atual das contas a receber e permite criar Dashboards para acompanhar faturas em aberto e o andamento geral do faturamento. Onde encontrar Corresponde ao campo 'Status' do registro da transação de fatura no NetSuite. Exemplos Em abertoTotalmente pagoAnuladoAguardando aprovação | |||
Atividades de pedido ao recebimento, faturamento e emissão de faturas
| Atividade | Descrição | ||
|---|---|---|---|
| Fatura aprovada | A fatura foi aprovada formalmente e está pronta para ser enviada ao cliente. O evento é registrado quando o status de aprovação muda de 'Pending Approval' para 'Approved', geralmente por meio de uma ação do fluxo de trabalho. | ||
| Por que isso importa Um marco importante que libera o envio da fatura ao cliente. É essencial para medir o tempo de ciclo da aprovação e calcular o KPI 'Índice de faturamento automatizado'. Onde encontrar Identificado quando o campo 'Approval Status' do registro da fatura muda para 'Approved'. A data e hora exatas da alteração são registradas nas notas do sistema da transação. Coleta Identificado pela alteração do campo 'Approval Status' para 'Approved' nas notas do sistema. Tipo de evento inferred | |||
| Fatura criada | Indica a criação oficial do registro da transação de fatura no NetSuite. Esse evento marca o início do processo de faturamento para cada número de fatura e é registrado com base na data e hora de criação da transação. | ||
| Por que isso importa Este é o principal evento de início do processo de faturamento. Analisar o tempo entre esse evento e os demais revela a eficiência geral do processo e estabelece a referência para o KPI de tempo de ciclo de geração de faturas. Onde encontrar Obtido do campo de data e hora 'Date Created' no registro da transação de fatura. As notas do sistema do NetSuite também registram explicitamente o evento de criação e o usuário responsável. Coleta Evento registrado quando o registro da transação de fatura é criado. Tipo de evento explicit | |||
| Fatura enviada ao cliente | Indica que a fatura foi enviada ao cliente, geralmente por e-mail. O evento é registrado quando um usuário executa a ação 'Email' no registro da fatura. | ||
| Por que isso importa Marca o início do prazo de cobrança do cliente e é o principal ponto de partida para calcular o prazo médio de recebimento de vendas (DSO). Onde encontrar Identificado quando o campo 'Date Last Emailed' é preenchido no registro da fatura. Outra opção é registrar a criação de uma mensagem de e-mail na aba Communication. Coleta Identificado pelo preenchimento de 'Date Last Emailed' ou pela criação de um registro de comunicação. Tipo de evento inferred | |||
| Fatura totalmente paga | O status da fatura mudou para 'Paid In Full', indicando que o saldo agora é zero. Esse é o encerramento bem-sucedido do ciclo de faturamento e cobrança da fatura. | ||
| Por que isso importa Este é o principal evento de encerramento bem-sucedido do processo. Analisar o tempo total até esse status mostra o tempo de ciclo de ponta a ponta do ciclo de conversão de caixa. Onde encontrar Identificado quando o campo 'Status' do registro da fatura muda para 'Paid In Full'. A data e hora dessa alteração de status estão disponíveis nas notas do sistema da transação. Coleta Identificado pela alteração do campo 'Status' para 'Paid In Full' nas notas do sistema. Tipo de evento inferred | |||
| Pagamento do cliente recebido | O pagamento do cliente foi recebido e registrado no sistema. O evento é identificado pela criação de uma transação 'Customer Payment' no NetSuite, que pode ser aplicada a uma ou mais faturas. | ||
| Por que isso importa Marca o recebimento do valor, mas não necessariamente sua aplicação a uma fatura específica. É a primeira etapa do processo de baixa de recebimentos e um evento importante para os cálculos de DSO. Onde encontrar Obtido da data de criação do registro da transação 'Customer Payment'. O vínculo com a fatura é feito na aba 'Apply' do pagamento. Coleta Criação de um registro de transação Customer Payment. Tipo de evento explicit | |||
| Data de vencimento do pagamento atingida | Evento calculado quando a data atual coincide com a data de vencimento da fatura. Não corresponde a uma ação direta do usuário ou do sistema, mas é derivado dos dados existentes durante a análise. | ||
| Por que isso importa Serve como referência essencial para medir a pontualidade dos pagamentos. É fundamental para calcular o KPI 'Índice de pagamentos em dia' e analisar o comportamento de pagamento dos clientes. Onde encontrar Este não é um evento explícito no NetSuite. Ele é calculado comparando a data e hora do registro de eventos com o campo 'Due Date' do registro da transação de fatura. Coleta Calculado quando a data e hora do evento coincidem com o campo 'Due Date' da fatura. Tipo de evento calculated | |||
| Fatura anulada | A fatura foi anulada, cancelando-a e revertendo qualquer impacto no razão geral. Essa ação costuma ser realizada em faturas criadas por engano antes do pagamento. | ||
| Por que isso importa Representa uma exceção do processo e um estado final. Entender por que as faturas são anuladas pode revelar erros de entrada de dados ou do processo que precisam ser corrigidos na origem. Onde encontrar Esta é uma ação explícita do usuário. Ela pode ser identificada nas notas do sistema do registro da fatura, que indicam quando e por quem a transação foi anulada. Coleta Ação explícita 'Void' registrada nas notas do sistema da fatura. Tipo de evento explicit | |||
| Fatura encerrada | A transação da fatura foi encerrada, muitas vezes como parte do fechamento contábil do período. Essa ação impede novas alterações na transação depois que ela foi totalmente paga e conciliada. | ||
| Por que isso importa Embora geralmente ocorra após 'Paid In Full', esta pode ser uma etapa administrativa final. Analisar os atrasos entre o pagamento e o encerramento pode ajudar a avaliar a pontualidade dos relatórios financeiros. Onde encontrar Identificado quando o campo 'Status' muda para 'Closed' ou um estado semelhante. A data e hora da alteração são obtidas das notas do sistema. Coleta Identificado pela alteração do campo 'Status' nas notas do sistema. Tipo de evento inferred | |||
| Fatura enviada para aprovação | Representa a mudança do status da fatura para 'Pending Approval'. Esse evento é registrado quando um usuário envia a fatura para um fluxo de trabalho de aprovação configurado, uma personalização comum. | ||
| Por que isso importa Esta atividade marca o início de um possível gargalo na aprovação. O tempo de espera pela aprovação é um componente importante do tempo de ciclo geral de processamento da fatura. Onde encontrar Identificado quando o campo 'Approval Status' do registro da fatura muda para 'Pending Approval'. A data e hora dessa alteração podem ser consultadas no histórico de auditoria das notas do sistema da fatura. Coleta Identificado pela alteração do campo 'Approval Status' registrada nas notas do sistema. Tipo de evento inferred | |||
| Lembrete de pagamento enviado | Uma comunicação sobre um pagamento em aberto foi enviada ao cliente. Ela é registrada como uma atividade ou um e-mail enviado pelo registro da fatura ou do cliente, muitas vezes por uma solução de cobrança automatizada. | ||
| Por que isso importa Essencial para avaliar a eficácia das estratégias de cobrança. Analisar o impacto dessa atividade nos pagamentos posteriores ajuda a otimizar a frequência e o momento dos lembretes. Onde encontrar Obtido da criação de um registro de e-mail na aba Communication > Messages do registro da fatura ou do cliente. Soluções automatizadas de cobrança também podem registrar esses eventos como registros personalizados ou tarefas. Coleta Registrado como e-mail ou atividade associada à fatura. Tipo de evento explicit | |||
| Nota de crédito criada | Uma transação de nota de crédito foi criada e aplicada à fatura, reduzindo o saldo em aberto. Isso geralmente indica uma devolução de produto, uma reclamação sobre o serviço ou uma correção de preço. | ||
| Por que isso importa Evidencia retrabalho, problemas de qualidade ou divergências com clientes. Ocorrências frequentes podem indicar problemas subjacentes e são importantes para o Dashboard 'Análise de retrabalho e rejeição de faturas'. Onde encontrar Obtido da criação de uma transação de nota de crédito. O vínculo com a fatura original aparece no campo 'Created From' ou na aba 'Apply' da nota de crédito. Coleta Criação de um registro de nota de crédito vinculado à fatura original. Tipo de evento explicit | |||
| Pagamento aplicado à fatura | O pagamento recebido do cliente foi aplicado especificamente a esta fatura, reduzindo o valor devido. O registro é feito quando a aplicação é salva no registro Customer Payment. | ||
| Por que isso importa Este é o vínculo essencial entre o recebimento do valor e a quitação da fatura. O intervalo entre 'Pagamento recebido' e este evento define o KPI 'Tempo de ciclo da baixa de recebimentos'. Onde encontrar Obtido das notas do sistema ou do histórico de auditoria da transação Customer Payment, especificamente quando a aplicação à linha da fatura é salva. A data e hora dessa aplicação são essenciais. Coleta Registrado quando o registro Customer Payment é salvo com uma aplicação à fatura. Tipo de evento explicit | |||
Guias de extração
Etapas
- Acesse o NetSuite: Entre na sua conta do NetSuite usando uma função com permissões suficientes para criar e executar pesquisas salvas em registros de transação.
- Acesse as pesquisas salvas: Vá para Reports > Saved Searches > All Saved Searches > New. Selecione 'Transaction' na lista de tipos de pesquisa. Essa será a base para criar várias pesquisas, uma para cada tipo de evento.
- Crie a pesquisa 'Fatura criada': Essa é a pesquisa principal para registrar a criação de faturas.
- Na aba 'Criteria', em 'Standard', defina o filtro 'Type' como 'is Invoice'.
- Adicione outro filtro para 'Main Line' e defina-o como 'is true' para obter um registro por fatura.
- Na aba 'Results', adicione as colunas necessárias. Use fórmulas para criar campos padronizados, como 'ActivityName'. Por exemplo, adicione um campo 'Formula (Text)' com a fórmula
_UTF8'Invoice Created'.
- Crie pesquisas para mudanças de status (aprovação, pagamento, anulação e encerramento): Muitas atividades correspondem a mudanças de status. A forma mais confiável de registrar a data e hora exatas é usar System Notes.
- Crie uma nova pesquisa salva do tipo Transaction.
- Na aba 'Criteria', defina 'Type' como 'is Invoice'.
- Na subaba 'Standard', adicione o filtro 'System Notes : Field' e selecione o campo de status relevante, por exemplo, 'Approval Status'.
- Adicione outro filtro, 'System Notes : New Value', e defina-o como o status desejado, por exemplo, 'Approved'.
- Na aba 'Results', mapeie 'System Notes : Date' para
EventTimestampe 'System Notes : Set by' paraUsuário. - Repita o processo para cada atividade baseada em status: 'Fatura enviada para aprovação', 'Fatura aprovada', 'Fatura totalmente paga', 'Fatura anulada' e 'Fatura encerrada', ajustando os filtros de campo e valor conforme necessário.
- Crie a pesquisa 'Fatura enviada ao cliente': Normalmente, esse evento é registrado acompanhando as mensagens de e-mail enviadas a partir do registro da fatura.
- Crie uma nova pesquisa salva do tipo Transaction com 'Type' definido como 'is Invoice'.
- Na aba 'Criteria', em 'Related Records', adicione o filtro 'Messages : Date Sent' e defina-o como 'is not empty'.
- Na aba 'Results', mapeie 'Messages : Date Sent' para
EventTimestampe 'Messages : Author' paraUsuário.
- Crie pesquisas para pagamentos e notas de crédito: Elas envolvem tipos de transação separados, vinculados à fatura.
- Para 'Pagamento do cliente recebido', crie uma pesquisa em que 'Type' seja 'Customer Payment'. Registre a data de criação como a data e hora do evento.
- Para 'Pagamento aplicado à fatura', use a mesma pesquisa 'Customer Payment', mas associe os campos 'Applied To Transaction'. A 'Date Created' da transação de pagamento será a data e hora. Você obterá uma linha por aplicação à fatura.
- Para 'Nota de crédito criada', crie uma pesquisa em que 'Type' seja 'Credit Memo' e associe o campo 'Created From' para obter o número da fatura original.
- Execute e exporte cada pesquisa salva: Execute cada pesquisa salva que você criou. Na página de resultados, clique no ícone de exportação (CSV, Excel ou PDF) e escolha CSV. Talvez seja necessário exportar em lotes se o conjunto de resultados ultrapassar o limite de exportação do NetSuite.
- Combine e transforme os dados: Consolide todos os arquivos CSV exportados em um único arquivo usando uma ferramenta como Microsoft Excel, um script Python ou uma ferramenta de preparação de dados.
- Derive o evento 'Data de vencimento do pagamento atingida': No arquivo de dados combinado, crie uma nova linha para cada evento 'Fatura criada'. Defina
ActivityNamecomo 'Payment Due Date Reached',EventTimestampcom o valor do campo 'DueDate' da fatura e copie os demais atributos relevantes da fatura. - Finalize o Event Log: Padronize todos os cabeçalhos das colunas para corresponder ao esquema necessário, por exemplo,
InvoiceNumber,ActivityNameeEventTimestamp. Verifique se os formatos de data e hora são consistentes. Adicione as colunasSourceSystemeLastDataUpdatecom valores estáticos para este lote de extração. Salve o arquivo consolidado final como CSV para carregá-lo.
Configuração
- Pré-requisitos: É necessária uma função de usuário com permissões para criar, editar e executar pesquisas salvas do tipo 'Transaction'. Também é preciso ter acesso para visualizar registros de faturas, pagamentos de clientes, notas de crédito e System Notes.
- Tipo de pesquisa: O principal tipo de pesquisa usado em todas as extrações é 'Transaction'. Esse tipo permite acessar todos os registros e relacionamentos necessários.
- Filtro por período: Para controlar a performance e o volume de dados, aplique um filtro de período a cada pesquisa. Para a análise inicial, recomendamos filtrar 'Date Created' pelos últimos 3 a 6 meses.
- Filtro Main Line: Use o critério 'Main Line' definido como 'true' para eventos no nível do cabeçalho do documento, como 'Fatura criada'. Defina-o como 'false' quando precisar analisar detalhes dos itens, o que não é necessário neste processo.
- System Notes: O registro de mudanças de status depende bastante de System Notes. Verifique se a auditoria está ativada para campos importantes da transação, como 'Status' e 'Approval Status', na configuração do NetSuite (Setup > Company > Enable Features > SuiteCloud > SuiteAudit Trail).
- Considerações de performance: Pesquisas complexas, com muitas associações e campos de fórmula em um período extenso, podem demorar para executar na interface do NetSuite. Recomendamos executá-las e exportá-las fora dos horários de pico. Se uma pesquisa exceder o tempo limite, reduza o período e exporte os dados em lotes menores.
Consulta de exemplo sql
/*
This section describes the configuration for multiple NetSuite Saved Searches needed to generate the complete event log. Each block represents a separate Saved Search that must be created in the UI, exported, and then combined externally.
*/
-- Search 1: Invoice Created
Activity Name: 'Invoice Created'
Saved Search Type: Transaction
Criteria:
- Type is Invoice
- Main Line is true
Results Columns (Mapped to Event Log Attributes):
- InvoiceNumber: Document Number
- ActivityName: Formula (Text) = 'Invoice Created'
- EventTimestamp: Date Created
- User: Created By
- InvoiceDate: Date
- DueDate: Due Date
- InvoiceTotalAmount: Amount (Gross)
- CustomerName: Name
-- Search 2: Invoice Submitted for Approval
Activity Name: 'Invoice Submitted for Approval'
Saved Search Type: Transaction
Criteria:
- Type is Invoice
- System Notes : Field is Approval Status
- System Notes : New Value is [Your 'Pending Approval' status]
Results Columns:
- InvoiceNumber: Document Number
- ActivityName: Formula (Text) = 'Invoice Submitted for Approval'
- EventTimestamp: System Notes : Date
- User: System Notes : Set by
- CustomerName: Name
- InvoiceTotalAmount: Amount (Gross)
-- Search 3: Invoice Approved
Activity Name: 'Invoice Approved'
Saved Search Type: Transaction
Criteria:
- Type is Invoice
- System Notes : Field is Approval Status
- System Notes : New Value is [Your 'Approved' status]
Results Columns:
- InvoiceNumber: Document Number
- ActivityName: Formula (Text) = 'Invoice Approved'
- EventTimestamp: System Notes : Date
- User: System Notes : Set by
- CustomerName: Name
- InvoiceTotalAmount: Amount (Gross)
-- Search 4: Invoice Sent to Customer
Activity Name: 'Invoice Sent to Customer'
Saved Search Type: Transaction
Criteria:
- Type is Invoice
- Messages : Date Sent is not empty
Results Columns:
- InvoiceNumber: Document Number
- ActivityName: Formula (Text) = 'Invoice Sent to Customer'
- EventTimestamp: Messages : Date Sent (use Maximum summary type if multiple)
- User: Messages : Author (use Maximum summary type)
- CustomerName: Name
- InvoiceTotalAmount: Amount (Gross)
-- Search 5: Payment Reminder Issued
Activity Name: 'Payment Reminder Issued'
Saved Search Type: Transaction
Criteria:
- Type is Invoice
- User Notes : Note contains [Your dunning/reminder keyword]
Results Columns:
- InvoiceNumber: Document Number
- ActivityName: Formula (Text) = 'Payment Reminder Issued'
- EventTimestamp: User Notes : Date
- User: User Notes : Author
- CustomerName: Name
- InvoiceTotalAmount: Amount (Gross)
-- Search 6: Credit Memo Created
Activity Name: 'Credit Memo Created'
Saved Search Type: Transaction
Criteria:
- Type is Credit Memo
- Main Line is true
Results Columns:
- InvoiceNumber: Created From : Document Number
- ActivityName: Formula (Text) = 'Credit Memo Created'
- EventTimestamp: Date Created
- User: Created By
- CustomerName: Name
- InvoiceTotalAmount: Amount (Gross)
-- Search 7: Customer Payment Received
Activity Name: 'Customer Payment Received'
Saved Search Type: Transaction
Criteria:
- Type is Customer Payment
- Main Line is true
Results Columns:
- InvoiceNumber: Applied to Transaction : Document Number
- ActivityName: Formula (Text) = 'Customer Payment Received'
- EventTimestamp: Date Created
- User: Created By
- CustomerName: Name
-- Search 8: Payment Applied To Invoice
Activity Name: 'Payment Applied To Invoice'
Saved Search Type: Transaction
Criteria:
- Type is Customer Payment
- Main Line is false
Results Columns:
- InvoiceNumber: Applied to Transaction : Document Number
- ActivityName: Formula (Text) = 'Payment Applied To Invoice'
- EventTimestamp: Date Created
- User: Created By
- CustomerName: Name
-- Search 9: Invoice Paid In Full
Activity Name: 'Invoice Paid In Full'
Saved Search Type: Transaction
Criteria:
- Type is Invoice
- System Notes : Field is Status
- System Notes : New Value is Paid In Full
Results Columns:
- InvoiceNumber: Document Number
- ActivityName: Formula (Text) = 'Invoice Paid In Full'
- EventTimestamp: System Notes : Date
- User: System Notes : Set by
- CustomerName: Name
- InvoiceTotalAmount: Amount (Gross)
-- Search 10: Invoice Voided
Activity Name: 'Invoice Voided'
Saved Search Type: Transaction
Criteria:
- Type is Invoice
- Status is Invoice : Voided
- System Notes : Field is Status
- System Notes : New Value is Voided
Results Columns:
- InvoiceNumber: Document Number
- ActivityName: Formula (Text) = 'Invoice Voided'
- EventTimestamp: System Notes : Date
- User: System Notes : Set by
- CustomerName: Name
-- Search 11: Invoice Closed
Activity Name: 'Invoice Closed'
Saved Search Type: Transaction
Criteria:
- Type is Invoice
- System Notes : Field is Status
- System Notes : New Value contains Closed
Results Columns:
- InvoiceNumber: Document Number
- ActivityName: Formula (Text) = 'Invoice Closed'
- EventTimestamp: System Notes : Date
- User: System Notes : Set by
- CustomerName: Name
- InvoiceTotalAmount: Amount (Gross)
-- Event to be Derived Post-Extraction: Payment Due Date Reached
/*
This event is not extracted directly. After combining all other CSVs, create a new row for each unique invoice.
Set ActivityName to 'Payment Due Date Reached'.
Set EventTimestamp to the DueDate value from the 'Invoice Created' event for that invoice.
Copy other attributes like InvoiceNumber, CustomerName, etc.
*/ Etapas
- Pré-requisito: habilite o SuiteAnalytics Connect: Verifique se o módulo SuiteAnalytics Connect está licenciado e ativado na sua instância do NetSuite. Normalmente, um administrador do NetSuite faz isso em Setup > Company > Enable Features > Analytics.
- Baixe e configure o driver ODBC: Acesse o Dashboard inicial do NetSuite e localize o portlet 'Settings'. Clique no link 'Set Up SuiteAnalytics Connect' para baixar o driver ODBC adequado ao seu sistema operacional. Siga as instruções de instalação do NetSuite para instalar e configurar o driver, informando o host do serviço, a porta, o Account ID, o Role ID, o e-mail e a senha.
- Estabeleça a conexão com o banco de dados: Use um cliente SQL compatível com conexões ODBC, como DBeaver, Tableau ou Power BI. Crie uma nova conexão ODBC usando o driver configurado na etapa anterior. Teste a conexão para confirmar que você consegue se autenticar e acessar o banco de dados réplica de leitura do NetSuite.
- Prepare a consulta SQL: Copie a consulta SQL completa fornecida na seção 'Query' deste documento. Ela foi criada para extrair todas as atividades e os atributos necessários para o processo de faturamento de pedido ao recebimento.
- Defina os parâmetros da consulta: Antes de executar, localize os valores de exemplo na consulta. Substitua
'YYYY-MM-DD'pelas datas inicial e final desejadas para o período de extração. Substitua também[Your Subsidiary ID]pelo ID interno da subsidiária do NetSuite que você quer analisar. - Execute a consulta: Execute a consulta modificada no cliente SQL. O tempo de execução varia conforme o período e o volume de transações na sua conta do NetSuite.
- Revise os resultados: Quando a consulta terminar, será retornada uma tabela simples que representa o Event Log. Cada linha corresponde a uma atividade específica do ciclo de vida da fatura. Verifique se os dados estão completos e corretos.
- Exporte o Event Log: Exporte os resultados da consulta do cliente SQL para um arquivo CSV. Verifique se o arquivo está codificado em UTF-8 para evitar problemas com caracteres.
- Prepare os dados para carregamento: Antes de carregá-los em uma ferramenta de Process Mining, confirme se os cabeçalhos das colunas correspondem aos nomes de atributos necessários, como InvoiceNumber, ActivityName e EventTimestamp. Verifique também se os formatos de data e hora são consistentes.
Configuração
- Licença do SuiteAnalytics Connect: É obrigatória uma licença válida do módulo SuiteAnalytics Connect para acessar o banco de dados réplica de leitura do NetSuite. Sem ela, não é possível acessar o banco diretamente por SQL.
- Função e usuário dedicados: Recomendamos criar uma função dedicada no NetSuite com as permissões adequadas para o SuiteAnalytics Connect. Essa função deve ter acesso somente para leitura aos registros necessários, incluindo transações, clientes e System Notes. Para garantir a segurança e a possibilidade de auditoria da extração, atribua a essa função um usuário dedicado.
- Filtro por período: A consulta fornecida inclui uma cláusula
WHEREpara a data de criação da fatura (Transaction.TRANDATE). Nas extrações iniciais, recomendamos começar com um período menor, como os últimos 3 a 6 meses, para controlar a performance e o volume de dados. Por exemplo:AND T.TRANDATE BETWEEN '2023-01-01' AND '2023-06-30'. - Filtro por subsidiária: Em contas com várias subsidiárias, filtrar pela subsidiária específica é essencial para a performance e a relevância dos dados. A consulta inclui o espaço reservado
WHERE T.SUBSIDIARY_ID = [Your Subsidiary ID], que deve ser configurado. - Atualização dos dados: O banco de dados do SuiteAnalytics Connect é uma réplica de leitura. Os dados costumam ser atualizados várias vezes por hora, mas não em tempo real. Considere que pode haver um atraso de algumas horas entre a ocorrência de uma transação no NetSuite e sua disponibilização no banco do Connect.
Consulta de exemplo sql
WITH Invoices AS (
SELECT
T.TRANSACTION_ID,
T.TRANID AS InvoiceNumber,
T.TRANDATE AS InvoiceDate,
T.DUEDATE AS DueDate,
T.FOREIGN_TOTAL AS InvoiceTotalAmount,
C.COMPANYNAME AS CustomerName,
BUILTIN.DF(C.LOCATION) AS Region,
T.CREATED_DATE AS InvoiceCreationDate,
CREATOR.FIRST_NAME || ' ' || CREATOR.LAST_NAME AS CreatorUser
FROM
TRANSACTIONS T
JOIN
CUSTOMERS C ON T.ENTITY_ID = C.CUSTOMER_ID
LEFT JOIN
EMPLOYEES CREATOR ON T.CREATED_BY_ID = CREATOR.EMPLOYEE_ID
WHERE
T.TRANSACTION_TYPE = 'Invoice'
AND T.TRANDATE BETWEEN TO_DATE('2023-01-01', 'YYYY-MM-DD') AND TO_DATE('2023-12-31', 'YYYY-MM-DD')
-- AND T.SUBSIDIARY_ID = [Your Subsidiary ID] -- Add your subsidiary filter if needed
)
-- 1. Invoice Created
SELECT
I.InvoiceNumber AS "InvoiceNumber",
'Invoice Created' AS "ActivityName",
I.InvoiceCreationDate AS "EventTimestamp",
I.InvoiceCreationDate AS "EventEndTime",
I.CreatorUser AS "User",
'NetSuite' AS "SourceSystem",
SYSDATE AS "LastDataUpdate",
I.InvoiceDate AS "InvoiceDate",
I.DueDate AS "DueDate",
I.InvoiceTotalAmount AS "InvoiceTotalAmount",
I.CustomerName AS "CustomerName",
I.Region AS "Region",
CASE WHEN I.CreatorUser LIKE '%System%' THEN 1 ELSE 0 END AS "IsAutomated"
FROM
Invoices I
UNION ALL
-- 2. Invoice Submitted for Approval & 3. Invoice Approved
SELECT
I.InvoiceNumber AS "InvoiceNumber",
CASE WHEN SN.NEW_VALUE = 'Pending Approval' THEN 'Invoice Submitted for Approval' ELSE 'Invoice Approved' END AS "ActivityName",
SN.DATE_CREATED AS "EventTimestamp",
SN.DATE_CREATED AS "EventEndTime",
SN_AUTHOR.FIRST_NAME || ' ' || SN_AUTHOR.LAST_NAME AS "User",
'NetSuite' AS "SourceSystem",
SYSDATE AS "LastDataUpdate",
I.InvoiceDate AS "InvoiceDate",
I.DueDate AS "DueDate",
I.InvoiceTotalAmount AS "InvoiceTotalAmount",
I.CustomerName AS "CustomerName",
I.Region AS "Region",
CASE WHEN SN.AUTHOR_ID < 0 THEN 1 ELSE 0 END AS "IsAutomated"
FROM
Invoices I
JOIN
SYSTEM_NOTES SN ON I.TRANSACTION_ID = SN.TRANSACTION_ID
LEFT JOIN
EMPLOYEES SN_AUTHOR ON SN.AUTHOR_ID = SN_AUTHOR.EMPLOYEE_ID
WHERE
SN.FIELD = 'TRANSACTION.APPROVALSTATUS' AND SN.NEW_VALUE IN ('Pending Approval', 'Approved')
UNION ALL
-- 4. Invoice Sent to Customer
SELECT
I.InvoiceNumber AS "InvoiceNumber",
'Invoice Sent to Customer' AS "ActivityName",
M.MESSAGE_DATE AS "EventTimestamp",
M.MESSAGE_DATE AS "EventEndTime",
MSG_AUTHOR.FIRST_NAME || ' ' || MSG_AUTHOR.LAST_NAME AS "User",
'NetSuite' AS "SourceSystem",
SYSDATE AS "LastDataUpdate",
I.InvoiceDate AS "InvoiceDate",
I.DueDate AS "DueDate",
I.InvoiceTotalAmount AS "InvoiceTotalAmount",
I.CustomerName AS "CustomerName",
I.Region AS "Region",
0 AS "IsAutomated"
FROM
Invoices I
JOIN
MESSAGES M ON I.TRANSACTION_ID = M.TRANSACTION_ID
LEFT JOIN
EMPLOYEES MSG_AUTHOR ON M.AUTHOR_ID = MSG_AUTHOR.EMPLOYEE_ID
WHERE
M.INCOMING = 'F' -- Indicates an outgoing message
UNION ALL
-- 5. Payment Due Date Reached
SELECT
I.InvoiceNumber AS "InvoiceNumber",
'Payment Due Date Reached' AS "ActivityName",
I.DueDate AS "EventTimestamp",
I.DueDate AS "EventEndTime",
'System' AS "User",
'NetSuite' AS "SourceSystem",
SYSDATE AS "LastDataUpdate",
I.InvoiceDate AS "InvoiceDate",
I.DueDate AS "DueDate",
I.InvoiceTotalAmount AS "InvoiceTotalAmount",
I.CustomerName AS "CustomerName",
I.Region AS "Region",
1 AS "IsAutomated"
FROM
Invoices I
WHERE
I.DueDate IS NOT NULL AND I.DueDate < SYSDATE
UNION ALL
-- 6. Payment Reminder Issued (based on Messages table, requires a specific subject line convention)
SELECT
I.InvoiceNumber AS "InvoiceNumber",
'Payment Reminder Issued' AS "ActivityName",
M.MESSAGE_DATE AS "EventTimestamp",
M.MESSAGE_DATE AS "EventEndTime",
MSG_AUTHOR.FIRST_NAME || ' ' || MSG_AUTHOR.LAST_NAME AS "User",
'NetSuite' AS "SourceSystem",
SYSDATE AS "LastDataUpdate",
I.InvoiceDate AS "InvoiceDate",
I.DueDate AS "DueDate",
I.InvoiceTotalAmount AS "InvoiceTotalAmount",
I.CustomerName AS "CustomerName",
I.Region AS "Region",
CASE WHEN M.AUTHOR_ID < 0 THEN 1 ELSE 0 END AS "IsAutomated"
FROM
Invoices I
JOIN
MESSAGES M ON I.TRANSACTION_ID = M.TRANSACTION_ID
LEFT JOIN
EMPLOYEES MSG_AUTHOR ON M.AUTHOR_ID = MSG_AUTHOR.EMPLOYEE_ID
WHERE
M.INCOMING = 'F' AND UPPER(M.SUBJECT) LIKE '%PAYMENT REMINDER%'
UNION ALL
-- 7. Credit Memo Created & Applied
SELECT
I.InvoiceNumber AS "InvoiceNumber",
'Credit Memo Created' AS "ActivityName",
CM.CREATED_DATE AS "EventTimestamp",
CM.CREATED_DATE AS "EventEndTime",
CM_CREATOR.FIRST_NAME || ' ' || CM_CREATOR.LAST_NAME AS "User",
'NetSuite' AS "SourceSystem",
SYSDATE AS "LastDataUpdate",
I.InvoiceDate AS "InvoiceDate",
I.DueDate AS "DueDate",
I.InvoiceTotalAmount AS "InvoiceTotalAmount",
I.CustomerName AS "CustomerName",
I.Region AS "Region",
0 AS "IsAutomated"
FROM
Invoices I
JOIN
TRANSACTION_LINES T_LINES ON I.TRANSACTION_ID = T_LINES.APPLIED_TO_TRANSACTION_ID
JOIN
TRANSACTIONS CM ON T_LINES.TRANSACTION_ID = CM.TRANSACTION_ID
LEFT JOIN
EMPLOYEES CM_CREATOR ON CM.CREATED_BY_ID = CM_CREATOR.EMPLOYEE_ID
WHERE
CM.TRANSACTION_TYPE = 'Credit Memo'
UNION ALL
-- 8. Customer Payment Received & 9. Payment Applied to Invoice
SELECT
I.InvoiceNumber AS "InvoiceNumber",
'Customer Payment Received' AS "ActivityName", -- Can also create a separate 'Payment Applied' event if needed
PAYMENT.CREATED_DATE AS "EventTimestamp",
PAYMENT.CREATED_DATE AS "EventEndTime",
PMT_CREATOR.FIRST_NAME || ' ' || PMT_CREATOR.LAST_NAME AS "User",
'NetSuite' AS "SourceSystem",
SYSDATE AS "LastDataUpdate",
I.InvoiceDate AS "InvoiceDate",
I.DueDate AS "DueDate",
I.InvoiceTotalAmount AS "InvoiceTotalAmount",
I.CustomerName AS "CustomerName",
I.Region AS "Region",
0 AS "IsAutomated"
FROM
Invoices I
JOIN
TRANSACTION_LINES T_LINES ON I.TRANSACTION_ID = T_LINES.APPLIED_TO_TRANSACTION_ID
JOIN
TRANSACTIONS PAYMENT ON T_LINES.TRANSACTION_ID = PAYMENT.TRANSACTION_ID
LEFT JOIN
EMPLOYEES PMT_CREATOR ON PAYMENT.CREATED_BY_ID = PMT_CREATOR.EMPLOYEE_ID
WHERE
PAYMENT.TRANSACTION_TYPE = 'Customer Payment'
UNION ALL
-- 10. Invoice Paid In Full, 11. Invoice Voided, 12. Invoice Closed
SELECT
I.InvoiceNumber AS "InvoiceNumber",
CASE
WHEN SN.NEW_VALUE_ID = 'Invoice:B' THEN 'Invoice Paid In Full' -- 'B' is status 'Paid In Full'
WHEN SN.FIELD = 'TRANSACTION.VOIDED' AND SN.NEW_VALUE = 'T' THEN 'Invoice Voided'
WHEN SN.FIELD = 'TRANSACTION.CLOSED' AND SN.NEW_VALUE = 'T' THEN 'Invoice Closed'
END AS "ActivityName",
SN.DATE_CREATED AS "EventTimestamp",
SN.DATE_CREATED AS "EventEndTime",
SN_AUTHOR.FIRST_NAME || ' ' || SN_AUTHOR.LAST_NAME AS "User",
'NetSuite' AS "SourceSystem",
SYSDATE AS "LastDataUpdate",
I.InvoiceDate AS "InvoiceDate",
I.DueDate AS "DueDate",
I.InvoiceTotalAmount AS "InvoiceTotalAmount",
I.CustomerName AS "CustomerName",
I.Region AS "Region",
CASE WHEN SN.AUTHOR_ID < 0 THEN 1 ELSE 0 END AS "IsAutomated"
FROM
Invoices I
JOIN
SYSTEM_NOTES SN ON I.TRANSACTION_ID = SN.TRANSACTION_ID
LEFT JOIN
EMPLOYEES SN_AUTHOR ON SN.AUTHOR_ID = SN_AUTHOR.EMPLOYEE_ID
WHERE
(SN.FIELD = 'TRANSACTION.STATUS' AND SN.NEW_VALUE_ID = 'Invoice:B')
OR (SN.FIELD = 'TRANSACTION.VOIDED' AND SN.NEW_VALUE = 'T')
OR (SN.FIELD = 'TRANSACTION.CLOSED' AND SN.NEW_VALUE = 'T'); Pronto para começar?
Use este Template para dar início à sua iniciativa de Process Mining e descobrir insights sobre as operações de faturamento e emissão de faturas. Comece hoje a otimizar seu processo de pedido ao recebimento.
Otimize agora o faturamento e a emissão de faturas no NetSuite para acelerar o fluxo de caixa
Reduza em 30% o tempo do ciclo de faturamento no NetSuite e melhore seu fluxo de caixa.
Não é necessário cartão de crédito. Configuração em poucos minutos.