Seu Template de dados de contas a receber
Seu Template de dados de contas a receber
- Conjunto completo de atributos recomendados para análise de contas a receber
- Principais atividades e marcos do processo a serem monitorados
- Orientações específicas para extrair dados do Oracle Fusion Financials
Atributos de contas a receber
| Nome | Descrição | ||
|---|---|---|---|
| Data e hora do evento EventStartDateTime | A data e a hora exatas em que uma atividade ocorreu. | ||
| Descrição Este atributo registra o momento exato em que uma atividade ocorreu no sistema. Ele é usado para ordenar os eventos cronologicamente e serve de base para todos os cálculos de tempo em Process Mining. Ao analisar as datas e horas registradas, a empresa pode calcular os tempos de ciclo entre atividades, como o intervalo entre a criação e o envio de uma fatura. Esse atributo é essencial para medir KPIs como o prazo médio de recebimento de vendas e identificar padrões temporais no comportamento de pagamento. Por que isso importa Fundamental para calcular durações, prazos e tempos de ciclo. Onde encontrar Oracle Fusion Financials: colunas CREATION_DATE ou LAST_UPDATE_DATE em várias tabelas de transações. Exemplos 2023-10-15T08:30:00Z2023-10-16T14:45:12Z2023-11-01T09:00:00Z | |||
| Nome da atividade ActivityName | O evento ou a ação específica realizada no processo de contas a receber. | ||
| Descrição Este atributo descreve a etapa realizada no processo, como criar uma fatura, contabilizar um pagamento ou abrir uma disputa. Ele define o fluxo do mapa do processo e permite visualizar a sequência de eventos. Analistas usam este campo para identificar variantes do processo, ciclos e gargalos. Ele é essencial para verificar a adesão aos procedimentos operacionais padrão (POPs) e calcular a frequência de eventos específicos, como retrabalho ou intervenções manuais. Por que isso importa Necessário para definir o fluxo do processo e visualizar a sequência de eventos. Onde encontrar Obtido de tabelas de histórico de transações (por exemplo, AR_PAYMENT_SCHEDULES_ALL, RA_CUST_TRX_LINE_GL_DIST_ALL). Exemplos Fatura criadaLembrete de pagamento enviadoPagamento parcial contabilizadoCaso de disputa aberto | |||
| Número da fatura InvoiceNumber | Identificador exclusivo atribuído à transação da fatura no Oracle Fusion. | ||
| Descrição Este atributo funciona como chave exclusiva para identificar obrigações financeiras no módulo de contas a receber. Ele vincula todas as atividades posteriores, como ajustes, disputas e pagamentos, à transação de venda original. Na análise de Process Mining, este atributo funciona como o ID do caso. Ele permite que analistas acompanhem o ciclo de vida completo de um recebível, desde sua criação até a baixa integral ou como perda, facilitando o cálculo dos tempos de ciclo e das variantes do processo. Por que isso importa É a unidade fundamental de análise para acompanhar o ciclo de crédito ao recebimento. Onde encontrar Oracle Fusion Financials: RA_CUSTOMER_TRX_ALL.TRX_NUMBER Exemplos INV-2023-00110056789AR-99887755002211 | |||
| Sistema de origem SourceSystem | O sistema de registro de onde os dados se originaram. | ||
| Descrição Este atributo identifica o ambiente de software de onde os dados do processo foram extraídos. Neste caso, confirma que os dados vêm do ambiente Oracle Fusion Financials. Embora muitas vezes tenha um valor estático em uma extração de um único sistema, ele se torna essencial ao combinar dados de várias instâncias de ERP ou integrar ferramentas de cobrança de terceiros. Isso garante a linhagem e a rastreabilidade dos dados em panoramas de processos com vários sistemas. Por que isso importa Garante a linhagem dos dados e diferencia as instâncias de ERP. Onde encontrar Definido diretamente durante a extração ou configurado no pipeline de dados. Exemplos Oracle Fusion FinancialsOracle Cloud ERP - USOracle Cloud ERP - EMEA | |||
| Última atualização dos dados LastDataUpdate | A data e a hora da última atualização dos dados na ferramenta de mineração. | ||
| Descrição Este atributo indica quando o conjunto de dados foi sincronizado pela última vez com o sistema Oracle de origem. Ele ajuda a entender a atualidade da análise e se os insights refletem o estado atual das operações. Monitorar este campo é importante para garantir que os Dashboards exibam informações atualizadas, especialmente no acompanhamento operacional de disputas em aberto ou valores recebidos ainda não aplicados. Por que isso importa Fornece contexto sobre a atualidade e a confiabilidade dos dados. Onde encontrar Horário do sistema no momento da extração. Exemplos 2023-11-15T23:59:59Z2023-11-16T00:00:00Z | |||
| Automatizado IsAutomated | Indica se a atividade foi realizada sem intervenção humana. | ||
| Descrição Este atributo booleano indica se uma atividade foi executada por um processo do sistema, como AutoInvoice ou AutoLockbox, ou por uma pessoa. Ele é o principal fator do KPI 'Taxa de automação da aplicação de caixa'. Ao acompanhar ao longo do tempo a proporção entre atividades automatizadas e manuais, a empresa pode avaliar o sucesso das iniciativas de transformação digital e identificar etapas do processo que continuam sendo realizadas manualmente. Por que isso importa Principal métrica para medir a transformação digital e a eficiência. Onde encontrar Lógica calculada com base em UserName (por exemplo, se User == 'BATCH_USER', então verdadeiro). Exemplos truefalse | |||
| Data de vencimento DueDate | Data prevista para o recebimento do pagamento. | ||
| Descrição Este atributo indica o prazo para pagamento, calculado com base na data da fatura e nas condições de pagamento. Ele serve de referência para determinar se um pagamento está atrasado. O KPI 'Variação no prazo dos lembretes de cobrança' usa essa data para medir com que antecedência a equipe age em relação ao vencimento. Ela também é o limite usado nos relatórios de contas a receber por faixa de atraso para classificar os valores como em dia ou vencidos. Por que isso importa Principal referência para determinar atrasos e pagamentos em dia. Onde encontrar Oracle Fusion Financials: AR_PAYMENT_SCHEDULES_ALL.DUE_DATE Exemplos 2023-11-302023-12-152024-01-01 | |||
| Nome de usuário UserName | Usuário do sistema que realizou a atividade. | ||
| Descrição Este atributo registra o ID de login ou o nome da pessoa que executou uma atividade específica, como lançar uma fatura ou conciliar um extrato bancário. Ele corresponde ao campo genérico 'Usuário'. Esse dado é essencial para auditorias de conformidade e para o Dashboard 'Volume de trabalho dos agentes de cobrança'. Ele permite distinguir ações automatizadas, geralmente realizadas por um usuário chamado 'Sistema', das ações humanas, apoiando a análise de automação. Por que isso importa Permite acompanhar a performance por usuário e analisar a segregação de funções. Onde encontrar Oracle Fusion Financials: colunas CREATED_BY ou LAST_UPDATED_BY associadas às tabelas de usuários. Exemplos sysadminjsmithfinance_batch_job | |||
| Nome do cliente CustomerName | O nome da entidade faturada na transação. | ||
| Descrição Este atributo identifica o cliente associado à fatura. É fundamental para analisar o comportamento de pagamento, a frequência de disputas e a eficácia da cobrança por cliente. Analistas usam este campo para identificar clientes específicos que costumam pagar com atraso ou abrir disputas. Esse insight dá suporte ao Dashboard 'Análise do comportamento de pagamento dos clientes' e ajuda a adaptar as condições de crédito e as estratégias de cobrança ao perfil de cada cliente. Por que isso importa Essencial para análises centradas no cliente e avaliação de riscos. Onde encontrar Oracle Fusion Financials: HZ_PARTIES.PARTY_NAME vinculado por BILL_TO_CUSTOMER_ID. Exemplos Acme CorpGlobex CorporationSoylent Corp | |||
| Nome do responsável pela cobrança CollectorName | O nome do agente ou recurso responsável pela cobrança da fatura. | ||
| Descrição Este atributo identifica o funcionário ou membro da equipe responsável por cobrar o pagamento da fatura. É a principal dimensão do Dashboard 'Produtividade dos agentes de cobrança'. Os dados deste campo permitem que a organização meça a produtividade por agente, identifique necessidades de treinamento e equilibre a carga de trabalho. Também promovem a responsabilização e ajudam a padronizar os esforços de cobrança na equipe financeira. Por que isso importa Essencial para analisar a performance dos recursos e equilibrar a carga de trabalho. Onde encontrar Oracle Fusion Financials: AR_COLLECTORS.NAME associado ao perfil do cliente. Exemplos John SmithEquipe de cobrança AJane Doe | |||
| Segmento do cliente CustomerSegment | A classificação do cliente com base no porte, setor ou risco. | ||
| Descrição Este atributo classifica os clientes em grupos como Estratégico, Enterprise, Pequena e média empresa ou Alto risco. Em geral, ele é derivado da classe ou do perfil do cliente no Oracle Fusion. Este atributo permite analisar variantes do processo em diferentes segmentos de mercado. Por exemplo, ajuda a verificar se clientes estratégicos recebem o atendimento diferenciado previsto ou se clientes de alto risco são monitorados de perto quanto à conformidade dos pagamentos. Por que isso importa Permite analisar estratégias de cobrança e riscos por segmento. Onde encontrar Oracle Fusion Financials: HZ_CUSTOMER_PROFILES.PROFILE_CLASS_ID. Exemplos EnterprisePequenas empresasGovernoAlto risco | |||
| Tipo de transação TransactionType | A classificação do documento a receber (fatura, nota de crédito ou nota de débito). | ||
| Descrição Este atributo diferencia os tipos de documentos financeiros. Entre os valores comuns estão fatura, nota de crédito e nota de débito. Essa distinção é essencial para o Dashboard 'Volume e retrabalho com notas de crédito'. Ao filtrar por este atributo, analistas podem isolar ciclos de retrabalho causados por notas de crédito ou se concentrar especificamente no fluxo principal de faturamento. Isso ajuda a entender a composição da carga de trabalho de contas a receber. Por que isso importa Diferencia faturas padrão de ajustes e correções. Onde encontrar Oracle Fusion Financials: RA_CUST_TRX_TYPES_ALL.NAME Exemplos FaturaNota de créditoNota de débitoCobrança adicional | |||
| Unidade de negócio BusinessUnit | A entidade operacional da organização responsável pela fatura. | ||
| Descrição Este atributo corresponde ao Organization ID no Oracle Fusion e representa a unidade de negócio ou divisão responsável pelo recebível. Ele permite segmentar a performance do processo entre diferentes áreas da empresa. Comparar KPIs como o tempo de resolução de disputas ou o prazo médio de recebimento de vendas entre unidades de negócio ajuda a liderança a identificar equipes com melhor performance e padronizar boas práticas. Também destaca unidades que podem precisar de mais recursos ou de uma reformulação do processo. Por que isso importa Dimensão essencial para comparar a performance e os resultados entre unidades da organização. Onde encontrar Oracle Fusion Financials: HR_ORGANIZATION_UNITS.NAME vinculado por ORG_ID. Exemplos Vendas do Leste dos USServiços EMEAManufatura APAC | |||
| Valor da fatura InvoiceAmount | O valor monetário total da fatura. | ||
| Descrição Este atributo representa o valor original devido na fatura. Ele serve como principal fator de ponderação em muitas análises, permitindo que a empresa priorize transações de alto valor em vez de operações de baixo valor e alto volume. Na análise 'Visão de créditos não aplicados e perdas', este campo ajuda a quantificar o impacto financeiro de itens não resolvidos. Ele também é usado para calcular o prazo médio ponderado de recebimento de vendas, oferecendo uma visão da eficiência do processo sob a perspectiva financeira. Por que isso importa Dá peso financeiro à análise e ajuda a priorizar por valor. Onde encontrar Oracle Fusion Financials: RA_CUSTOMER_TRX_ALL.AMOUNT_DUE_ORIGINAL Exemplos 1500.00250.5010000.00 | |||
| Código da moeda CurrencyCode | A moeda em que o valor da fatura é expresso. | ||
| Descrição Este atributo especifica a moeda (por exemplo, USD, EUR) dos valores financeiros. Ele é necessário para interpretar corretamente o valor da fatura e fazer conversões cambiais quando for preciso usar uma moeda global nos relatórios. Em organizações globais, este atributo ajuda a analisar a performance de cobrança em diferentes regiões econômicas e permite que as equipes financeiras separem os efeitos cambiais da performance operacional do processo. Por que isso importa Contextualiza os valores financeiros em ambientes com várias moedas. Onde encontrar Oracle Fusion Financials: RA_CUSTOMER_TRX_ALL.INVOICE_CURRENCY_CODE Exemplos USDEURGBPJPY | |||
| Condições de pagamento PaymentTerms | Condições acordadas para o prazo de pagamento (por exemplo, líquido em 30 dias). | ||
| Descrição Este atributo define o prazo de pagamento acordado em contrato. Ele é usado para calcular a data de vencimento e é essencial para o Dashboard 'Eficácia da estratégia de cobrança'. As diferenças nas condições de pagamento entre clientes podem explicar variações no DSO. Com esse atributo, os analistas podem normalizar os dados de performance e evitar que um cliente com prazo líquido de 60 dias seja classificado injustamente como inadimplente em comparação com outro cujo prazo é de 30 dias. Por que isso importa Permite avaliar a velocidade dos pagamentos considerando os acordos contratuais. Onde encontrar Oracle Fusion Financials: RA_TERMS.NAME Exemplos Líquido em 30 diasImediato2% em 10 dias, líquido em 30 diasLíquido em 60 dias | |||
| Data limite para desconto DiscountEligibilityDate | Último dia em que o cliente pode pagar para receber um desconto por antecipação. | ||
| Descrição Este atributo indica o prazo para o cliente aproveitar condições como '2% em 10 dias, líquido em 30 dias' (desconto de 2% para pagamentos feitos em até 10 dias). Ele é necessário para o Dashboard 'Análise de descontos por pagamento antecipado'. A análise dos pagamentos em relação a essa data revela a 'Taxa de aproveitamento de descontos por pagamento antecipado'. Isso ajuda a empresa a entender se os descontos estão acelerando o fluxo de caixa ou se os clientes não estão aproveitando esses incentivos. Por que isso importa Ajuda a analisar a eficácia dos incentivos e a aceleração do fluxo de caixa. Onde encontrar Oracle Fusion Financials: AR_PAYMENT_SCHEDULES_ALL.DISCOUNT_DATE Exemplos 2023-11-102023-12-05 | |||
| Motivo da contestação DisputeReason | Categoria ou código de motivo atribuído quando uma contestação é aberta. | ||
| Descrição Este atributo registra a justificativa informada quando ocorre a atividade 'Contestação aberta'. Alguns valores comuns são 'Erro de preço', 'Divergência de quantidade' ou 'Mercadoria danificada'. A análise desse atributo no Dashboard 'Ciclo de vida e gargalos de contestações' ajuda a identificar as causas raiz dos atrasos nos pagamentos. Se 'Erro de preço' for frequente, a empresa pode investigar o processo de cotação de vendas, em vez de se concentrar apenas na cobrança. Por que isso importa Essencial para analisar as causas raiz de atrasos nos pagamentos e do retrabalho. Onde encontrar Oracle Fusion Financials: RA_CM_REQUESTS.REASON_CODE ou AR_DISPUTE_HISTORY. Exemplos Contestação de preçoErro fiscalMercadoria não recebidaCobrança duplicada | |||
| Origem de criação CreationSource | Indica a origem da fatura e se ela foi criada manualmente ou importada. | ||
| Descrição Este atributo mostra como a fatura entrou no sistema Oracle, por exemplo, por meio de 'Lançamento manual', 'AutoInvoice' ou de integrações externas específicas. Ele funciona como uma correspondência genérica para o atributo 'Canal'. Esse dado é essencial para o Dashboard 'Monitor de automação da aplicação de caixa'. Ele ajuda a diferenciar os processos totalmente digitais daqueles que exigem configuração manual. Um volume elevado de 'Lançamento manual' pode indicar falta de integração com sistemas anteriores ou deficiências no sistema. Por que isso importa Identifica o nível de automação dos sistemas anteriores e a origem dos dados. Onde encontrar Oracle Fusion Financials: RA_BATCH_SOURCES_ALL.NAME Exemplos AutoInvoiceManualImplementação de projetosGestão de pedidos | |||
| Região Region | Região geográfica associada à unidade de negócio ou ao cliente. | ||
| Descrição Este atributo associa a transação a uma região geográfica mais ampla, como América do Norte, EMEA ou APAC. Ele é útil para relatórios executivos e para o Dashboard 'Tendências de DSO e do ciclo de caixa'. A análise regional ajuda a considerar diferenças culturais nos hábitos de pagamento, como prazos padrão mais longos no sul da Europa do que nos US, e garante que os KPIs globais sejam interpretados no contexto local adequado. Por que isso importa Permite segmentar dados geograficamente em alto nível para relatórios globais. Onde encontrar Oracle Fusion Financials: derivado da unidade de negócio ou do endereço do cliente. Exemplos América do NorteEMEAAPACLATAM | |||
| Retrabalho IsRework | Indica se a fatura passou por ciclos de correção ou contestação. | ||
| Descrição Este atributo booleano identifica se uma fatura passou por atividades de correção de erros, como 'Nota de crédito emitida' ou 'Fatura ajustada'. Ele dá suporte ao Dashboard 'Volume de notas de crédito e retrabalho'. Identificar casos com retrabalho ajuda a separar os processos que seguem o 'Caminho ideal' daqueles que apresentam problemas. Uma taxa elevada de retrabalho é um sinal precoce de problemas na qualidade dos dados mestres ou nos processos de entrada de pedidos de venda. Por que isso importa Identifica desperdícios e ineficiências no fluxo do processo. Onde encontrar Calculado: verdadeiro se o caso contiver 'Nota de crédito emitida' ou 'Contestação aberta'. Exemplos truefalse | |||
Atividades de contas a receber
| Atividade | Descrição | ||
|---|---|---|---|
| Fatura baixada | Estado final em que a fatura é encerrada no sistema, geralmente porque o saldo chegou a zero após um pagamento, uma nota de crédito ou um ajuste. | ||
| Por que isso importa A data e a hora deste evento são usadas para calcular o prazo médio de recebimento de vendas. Elas representam o fim da instância do processo. Onde encontrar Identificado quando o STATUS em AR_PAYMENT_SCHEDULES_ALL muda para 'CL' (Closed). Coleta Compare o campo de status antes e depois Tipo de evento inferred | |||
| Fatura concluída | Indica que a criação da fatura foi concluída e que ela está pronta para ser processada, impressa e contabilizada. Isso ocorre quando o status da transação muda de incompleto para completo. | ||
| Por que isso importa Diferencia o tempo de elaboração do tempo de processamento. Atrasos nesta etapa indicam gargalos no processo interno de geração de faturas. Onde encontrar Identificado quando o COMPLETE_FLAG em RA_CUSTOMER_TRX_ALL muda para 'Y'. Coleta Compare o campo de status antes e depois Tipo de evento inferred | |||
| Fatura criada | Esta atividade marca a criação inicial do registro da fatura no sistema. Ela registra a data e a hora em que o cabeçalho da transação é salvo pela primeira vez nas tabelas do Oracle Receivables. | ||
| Por que isso importa Define o início do ciclo de vida do processo e a referência para os cálculos de envelhecimento. É essencial para calcular o tempo total de ciclo e o prazo até o envio. Onde encontrar Obtido da tabela RA_CUSTOMER_TRX_ALL, usando a coluna CREATION_DATE ou TRX_DATE. Coleta Registrado quando a linha da transação é inserida Tipo de evento explicit | |||
| Fatura enviada | Representa o envio da fatura ao cliente por impressão, e-mail ou XML. Marca a transferência da organização para o cliente. | ||
| Por que isso importa Essencial para medir a performance do envio de faturas. O intervalo entre a criação e o envio atrasa diretamente o ciclo de recebimento. Onde encontrar Inferido de PRINTING_ORIGINAL_DATE em RA_CUSTOMER_TRX_ALL ou de registros específicos no Oracle Collaboration Messaging Framework, quando o envio é feito por XML. Coleta Compare o campo de status antes e depois Tipo de evento inferred | |||
| Pagamento integral recebido | Ocorre quando a aplicação de um recebimento reduz o saldo da fatura a zero. Este é o principal evento de sucesso do processo de cobrança. | ||
| Por que isso importa Essencial para a análise de descontos por pagamento antecipado. A data deste evento determina se o valor foi recebido dentro do prazo para obter o desconto. Onde encontrar Obtido de AR_RECEIVABLE_APPLICATIONS_ALL, quando STATUS = 'APP' e o AMOUNT_DUE_REMAINING resultante é 0. Coleta Derivado da comparação entre o campo X e o campo Y Tipo de evento calculated | |||
| Pagamento parcial contabilizado | Ocorre quando um recebimento é aplicado à fatura, mas o valor é inferior ao saldo total em aberto. A fatura permanece aberta, com saldo reduzido. | ||
| Por que isso importa Uma frequência alta indica pagamentos fragmentados (KPI de frequência de pagamentos parciais), o que aumenta o esforço de conciliação. Onde encontrar Obtido de AR_RECEIVABLE_APPLICATIONS_ALL, quando STATUS = 'APP' e AMOUNT_APPLIED < AMOUNT_DUE_REMAINING. Coleta Registrado quando a transação X é executada Tipo de evento explicit | |||
| Caso de disputa aberto | Marca o início de uma disputa formal sobre a fatura. As atividades padrão de cobrança são interrompidas enquanto o problema é investigado. | ||
| Por que isso importa É um importante indicador de gargalo. Uma alta taxa de disputas sugere problemas de qualidade em etapas anteriores, como no atendimento do pedido ou na precisão do faturamento. Onde encontrar Identificado por registros em RA_CM_REQUESTS_ALL ou por fluxos de trabalho específicos de solicitação de nota de crédito vinculados à fatura. Coleta Registrado quando a transação X é executada Tipo de evento explicit | |||
| Compromisso de pagamento recebido | Registra o compromisso do cliente de pagar um valor específico até uma data determinada. Em geral, um agente de cobrança registra esse compromisso manualmente durante o contato com o cliente. | ||
| Por que isso importa Essencial para analisar o comportamento de pagamento dos clientes. Promessas não cumpridas indicam alto risco de crédito e possível inadimplência futura. Onde encontrar Obtido da tabela IEX_PROMISE_DETAILS no módulo Collections. Coleta Registrado quando a transação X é executada Tipo de evento explicit | |||
| Disputa resolvida | Indica a conclusão da investigação da disputa. O resultado pode ser a aprovação de uma nota de crédito (disputa válida) ou sua rejeição (disputa inválida). | ||
| Por que isso importa Necessário para calcular o tempo médio de resolução de disputas. Prazos longos prejudicam a satisfação do cliente e o prazo médio de recebimento de vendas. Onde encontrar Obtido da mudança de status para 'APPROVED' ou 'REJECTED' em RA_CM_REQUESTS_ALL. Coleta Compare o campo de status antes e depois Tipo de evento inferred | |||
| Extrato bancário conciliado | Indica que o recebimento aplicado à fatura foi conciliado com uma linha do extrato bancário. Isso confirma que o valor entrou de fato na conta bancária. | ||
| Por que isso importa Mede a automação da aplicação de recebimentos. O intervalo entre a contabilização do pagamento e a conciliação bancária representa valores ainda não confirmados. Onde encontrar Relacionamento entre AR_CASH_RECEIPTS_ALL e CE_STATEMENT_LINES (Cash Management) por meio da referência de conciliação. Coleta Compare o campo de status antes e depois Tipo de evento inferred | |||
| Fatura ajustada | Registra ajustes manuais no saldo da fatura, como baixas de pequenos valores ou ajustes cambiais, que são diferentes das notas de crédito. | ||
| Por que isso importa Ajuda a identificar perdas de receita e caminhos de processo fora do padrão, nos quais os saldos são baixados sem pagamento. Onde encontrar Obtido da tabela AR_ADJUSTMENTS_ALL vinculada à fatura. Coleta Registrado quando a transação X é executada Tipo de evento explicit | |||
| Fatura baixada como perda | Tipo específico de ajuste em que o saldo restante é considerado incobrável e baixado como perda por inadimplência. É um estado final negativo. | ||
| Por que isso importa Essencial para monitorar a saúde financeira. Permite separar a eficiência operacional (velocidade do pagamento) dos problemas de qualidade de crédito. Onde encontrar Obtido de AR_ADJUSTMENTS_ALL, quando o tipo de ajuste é classificado como 'Write-off' ou vinculado a uma conta de inadimplência. Coleta Registrado quando a transação X é executada Tipo de evento explicit | |||
| Fatura contabilizada no GL | Registra o evento em que os lançamentos contábeis da fatura são finalizados e transferidos para o razão geral. Isso garante a conformidade financeira e a preparação para o fechamento do período. | ||
| Por que isso importa Embora não afete a experiência do cliente, atrasos nesta etapa impactam o ciclo de fechamento financeiro e a pontualidade dos relatórios. Onde encontrar Obtido de GL_DATE na tabela RA_CUST_TRX_LINE_GL_DIST_ALL. Coleta Registrado quando a transação X é executada Tipo de evento explicit | |||
| Lembrete de pagamento enviado | Registra o envio de uma carta de cobrança ou de um lembrete de pagamento ao cliente. Esse evento é gerado pelo módulo Advanced Collections. | ||
| Por que isso importa Essencial para analisar a eficácia da estratégia de cobrança. Relacionar esse evento aos pagamentos ajuda a identificar quais estratégias de lembrete recuperam os valores mais rapidamente. Onde encontrar Localizado nas tabelas IEX_DUNNING ou IEX_STRATEGY_WORK_ITEMS, vinculadas à conta do cliente. Coleta Registrado quando a transação X é executada Tipo de evento explicit | |||
| Nota de crédito emitida | Registra a criação de uma transação de nota de crédito aplicada à fatura. Ela reduz o saldo devido, geralmente em resposta a uma disputa ou devolução. | ||
| Por que isso importa Acompanha a taxa de retrabalho com notas de crédito e a perda de receita. A emissão frequente de notas de crédito indica erros sistêmicos de faturamento. Onde encontrar Obtido de RA_CUSTOMER_TRX_ALL, quando TRX_TYPE é Credit Memo e RELATED_CUSTOMER_TRX_ID corresponde à fatura. Coleta Registrado quando a transação X é executada Tipo de evento explicit | |||
Guias de extração
Etapas
Acesse o console do Oracle BI Cloud Connector (BICC). Vá até a seção Manage Offerings and Data Stores.
Configure a conexão de armazenamento. Verifique se você tem uma conexão válida com o Oracle Universal Content Management (UCM) ou com um Object Storage externo, como o OCI Object Storage, onde os arquivos CSV/Parquet extraídos serão armazenados.
Selecione a oferta Financials. Localize essa oferta para acessar os View Objects de contas a receber.
Selecione e configure os View Objects (VOs). Selecione os Public View Objects (PVOs) específicos necessários para criar o Event Log. Os PVOs essenciais incluem:
- FscmTopModelAM.FinExtractAM.ArBiccExtractAM.TransactionHeaderExtractPVO (cabeçalhos de faturas)
- FscmTopModelAM.FinExtractAM.ArBiccExtractAM.TransactionLineExtractPVO (linhas de faturas)
- FscmTopModelAM.FinExtractAM.ArBiccExtractAM.ReceiptApplicationExtractPVO (pagamentos e aplicações de notas de crédito)
- FscmTopModelAM.FinExtractAM.ArBiccExtractAM.AdjustmentExtractPVO (ajustes e baixas contábeis)
- FscmTopModelAM.FinExtractAM.IexBiccExtractAM.PromiseDetailExtractPVO (promessas de pagamento)
- FscmTopModelAM.FinExtractAM.IexBiccExtractAM.StrategyWorkItemExtractPVO (cobranças e lembretes)
Defina os critérios de filtro. Em Manage Extract Schedules ou na configuração do PVO, aplique um filtro em CreationDate ou LastUpdateDate para extrair os dados do período analisado, por exemplo, dos últimos 12 meses.
Agende a extração. Crie um agendamento para executar essas extrações diariamente. Escolha Incremental Load para buscar apenas os dados alterados após o Full Load inicial.
Baixe e carregue os dados. Use um script automatizado ou uma ferramenta de integração para buscar os arquivos no UCM/Object Storage e carregá-los nas tabelas de preparação do seu data warehouse, como STG_AR_TRX_HEADER e STG_AR_APPLICATIONS.
Aplique a lógica de transformação. Execute o script SQL fornecido na seção Query nas tabelas de preparação para transformar os dados relacionais no formato de Event Log do ProcessMind.
Valide os tipos de dados. Durante a transformação, converta os campos de data em objetos datetime e verifique se os valores numéricos mantêm as casas decimais corretamente.
Exporte para CSV/Parquet. Exporte o resultado final do seu data warehouse em um único arquivo.
Carregue os dados no ProcessMind. Importe o arquivo e mapeie InvoiceNumber para Case ID, ActivityName para Activity e EventStartDateTime para Timestamp.
Configuração
- Frequência de extração: recomenda-se a extração incremental diária para capturar as mudanças de status mais recentes.
- Carga inicial: selecione 'Full Extract' na primeira execução e depois alterne para 'Incremental', com base em Last Update Date.
- PVOs principais: TransactionHeaderExtractPVO, ReceiptApplicationExtractPVO, AdjustmentExtractPVO, StrategyWorkItemExtractPVO.
- Filtro de data: aplique filtros em CreationDate >= '202X-01-01' para limitar o volume.
- Tamanho da busca: o padrão costuma ser 50000 linhas. Ajuste conforme a largura de banda da rede, caso use o download pelo UCM.
- Chaves primárias: verifique se o data warehouse de destino processa inserções e atualizações usando as chaves primárias dos PVOs, geralmente CustomerTrxId, ReceivableApplicationId etc., para evitar linhas duplicadas.
- Histórico de auditoria: os PVOs padrão do BICC registram o estado atual. Para obter timestamps históricos exatos das mudanças de status, como Dispute Opened, talvez seja necessário ativar as políticas de auditoria no Fusion e extrair os Audit View Objects, caso as tabelas transacionais não mantenham o histórico.
a Consulta de exemplo sql
/*
Transformation Script for Oracle BICC Data
Assumes raw BICC PVO CSVs are loaded into a SQL Staging Area with tables named:
- STG_AR_TRX_HEADER (TransactionHeaderExtractPVO)
- STG_AR_APPLICATIONS (ReceiptApplicationExtractPVO)
- STG_AR_ADJUSTMENTS (AdjustmentExtractPVO)
- STG_IEX_PROMISES (PromiseDetailExtractPVO)
- STG_IEX_STRATEGY (StrategyWorkItemExtractPVO)
- STG_CE_STMTS (BankStatementLineExtractPVO - Optional/Advanced)
*/
WITH Base_Log AS (
/* 1. Invoice Created */
SELECT
TrxNumber AS InvoiceNumber,
'Invoice Created' AS ActivityName,
CreationDate AS EventStartDateTime,
'Oracle Fusion' AS SourceSystem,
BusinessUnitName AS BusinessUnit,
BillToCustomerName AS CustomerName,
InvoiceCurrencyCode AS Currency,
(Quantity * UnitSellingPrice) AS InvoiceAmount,
TrxClass AS TransactionType,
CreatedBy AS UserName,
'Yes' AS IsAutomated
FROM STG_AR_TRX_HEADER
WHERE TrxClass IN ('INV', 'DM')
UNION ALL
/* 2. Invoice Completed */
SELECT
TrxNumber AS InvoiceNumber,
'Invoice Completed' AS ActivityName,
TrxDate AS EventStartDateTime,
'Oracle Fusion' AS SourceSystem,
BusinessUnitName AS BusinessUnit,
BillToCustomerName AS CustomerName,
InvoiceCurrencyCode AS Currency,
NULL AS InvoiceAmount,
TrxClass AS TransactionType,
LastUpdatedBy AS UserName,
'No' AS IsAutomated
FROM STG_AR_TRX_HEADER
WHERE CompleteFlag = 'Y'
AND TrxClass IN ('INV', 'DM')
UNION ALL
/* 3. Invoice Dispatched */
/* Using PrintingOriginalDate as proxy for dispatch */
SELECT
TrxNumber AS InvoiceNumber,
'Invoice Dispatched' AS ActivityName,
PrintingOriginalDate AS EventStartDateTime,
'Oracle Fusion' AS SourceSystem,
BusinessUnitName AS BusinessUnit,
BillToCustomerName AS CustomerName,
InvoiceCurrencyCode AS Currency,
NULL AS InvoiceAmount,
TrxClass AS TransactionType,
LastUpdatedBy AS UserName,
'Yes' AS IsAutomated
FROM STG_AR_TRX_HEADER
WHERE PrintingOriginalDate IS NOT NULL
AND TrxClass IN ('INV', 'DM')
UNION ALL
/* 4. Invoice Posted to GL */
SELECT
TrxNumber AS InvoiceNumber,
'Invoice Posted to GL' AS ActivityName,
GlDate AS EventStartDateTime,
'Oracle Fusion' AS SourceSystem,
BusinessUnitName AS BusinessUnit,
BillToCustomerName AS CustomerName,
InvoiceCurrencyCode AS Currency,
NULL AS InvoiceAmount,
TrxClass AS TransactionType,
'System' AS UserName,
'Yes' AS IsAutomated
FROM STG_AR_TRX_HEADER
WHERE GlDate IS NOT NULL
AND TrxClass IN ('INV', 'DM')
UNION ALL
/* 5. Payment Reminder Sent */
/* Links via Customer or Account, mapped back to Trx via Collections Strategy logic */
/* Simplified join assumption based on Trx Id availability in Work Item */
SELECT
H.TrxNumber AS InvoiceNumber,
'Payment Reminder Sent' AS ActivityName,
W.CreationDate AS EventStartDateTime,
'Oracle Fusion' AS SourceSystem,
H.BusinessUnitName AS BusinessUnit,
H.BillToCustomerName AS CustomerName,
H.InvoiceCurrencyCode AS Currency,
NULL AS InvoiceAmount,
H.TrxClass AS TransactionType,
W.CreatedBy AS UserName,
'Yes' AS IsAutomated
FROM STG_IEX_STRATEGY W
JOIN STG_AR_TRX_HEADER H ON W.ObjectPk1 = H.CustomerTrxId
WHERE W.WorkItemTemplateName LIKE '%Reminder%'
UNION ALL
/* 6. Promise to Pay Received */
SELECT
H.TrxNumber AS InvoiceNumber,
'Promise to Pay Received' AS ActivityName,
P.CreationDate AS EventStartDateTime,
'Oracle Fusion' AS SourceSystem,
H.BusinessUnitName AS BusinessUnit,
H.BillToCustomerName AS CustomerName,
H.InvoiceCurrencyCode AS Currency,
P.PromiseAmount AS InvoiceAmount,
H.TrxClass AS TransactionType,
P.CreatedBy AS UserName,
'No' AS IsAutomated
FROM STG_IEX_PROMISES P
JOIN STG_AR_TRX_HEADER H ON P.CustTrxId = H.CustomerTrxId
UNION ALL
/* 7. Dispute Case Opened */
/* Triggered when dispute amount is updated/created */
SELECT
TrxNumber AS InvoiceNumber,
'Dispute Case Opened' AS ActivityName,
DisputeDate AS EventStartDateTime,
'Oracle Fusion' AS SourceSystem,
BusinessUnitName AS BusinessUnit,
BillToCustomerName AS CustomerName,
InvoiceCurrencyCode AS Currency,
NULL AS InvoiceAmount,
TrxClass AS TransactionType,
LastUpdatedBy AS UserName,
'No' AS IsAutomated
FROM STG_AR_TRX_HEADER
WHERE DisputeDate IS NOT NULL
UNION ALL
/* 8. Dispute Resolved */
/* Approximated by update date when dispute amount returns to 0 after being positive */
/* Note: Accurate dispute history requires Audit Trail extraction. This is a best-effort proxy based on header state. */
SELECT
TrxNumber AS InvoiceNumber,
'Dispute Resolved' AS ActivityName,
LastUpdateDate AS EventStartDateTime,
'Oracle Fusion' AS SourceSystem,
BusinessUnitName AS BusinessUnit,
BillToCustomerName AS CustomerName,
InvoiceCurrencyCode AS Currency,
NULL AS InvoiceAmount,
TrxClass AS TransactionType,
LastUpdatedBy AS UserName,
'No' AS IsAutomated
FROM STG_AR_TRX_HEADER
WHERE DisputeDate IS NOT NULL AND DisputeAmount = 0
UNION ALL
/* 9. Credit Memo Issued (Applied) */
SELECT
H.TrxNumber AS InvoiceNumber,
'Credit Memo Issued' AS ActivityName,
APP.ApplyDate AS EventStartDateTime,
'Oracle Fusion' AS SourceSystem,
H.BusinessUnitName AS BusinessUnit,
H.BillToCustomerName AS CustomerName,
H.InvoiceCurrencyCode AS Currency,
APP.AmountApplied AS InvoiceAmount,
H.TrxClass AS TransactionType,
APP.CreatedBy AS UserName,
'No' AS IsAutomated
FROM STG_AR_APPLICATIONS APP
JOIN STG_AR_TRX_HEADER H ON APP.AppliedCustomerTrxId = H.CustomerTrxId
WHERE APP.ApplicationType = 'CM' -- Credit Memo application
UNION ALL
/* 10. Partial Payment Posted */
SELECT
H.TrxNumber AS InvoiceNumber,
'Partial Payment Posted' AS ActivityName,
APP.ApplyDate AS EventStartDateTime,
'Oracle Fusion' AS SourceSystem,
H.BusinessUnitName AS BusinessUnit,
H.BillToCustomerName AS CustomerName,
H.InvoiceCurrencyCode AS Currency,
APP.AmountApplied AS InvoiceAmount,
H.TrxClass AS TransactionType,
APP.CreatedBy AS UserName,
'No' AS IsAutomated
FROM STG_AR_APPLICATIONS APP
JOIN STG_AR_TRX_HEADER H ON APP.AppliedCustomerTrxId = H.CustomerTrxId
WHERE APP.ApplicationType = 'CASH'
AND APP.Status = 'APP'
AND (H.AmountDueRemaining > 0) -- Invoice still has balance
UNION ALL
/* 11. Full Payment Received */
SELECT
H.TrxNumber AS InvoiceNumber,
'Full Payment Received' AS ActivityName,
APP.ApplyDate AS EventStartDateTime,
'Oracle Fusion' AS SourceSystem,
H.BusinessUnitName AS BusinessUnit,
H.BillToCustomerName AS CustomerName,
H.InvoiceCurrencyCode AS Currency,
APP.AmountApplied AS InvoiceAmount,
H.TrxClass AS TransactionType,
APP.CreatedBy AS UserName,
'No' AS IsAutomated
FROM STG_AR_APPLICATIONS APP
JOIN STG_AR_TRX_HEADER H ON APP.AppliedCustomerTrxId = H.CustomerTrxId
WHERE APP.ApplicationType = 'CASH'
AND APP.Status = 'APP'
AND H.AmountDueRemaining = 0 -- Invoice fully paid
UNION ALL
/* 12. Bank Statement Matched */
/* Requires joining Receipt Application -> Cash Receipt -> Bank Statement Line */
/* Placeholder logic assuming availability of Bank Statement PVO data */
SELECT
H.TrxNumber AS InvoiceNumber,
'Bank Statement Matched' AS ActivityName,
BSL.StatementDate AS EventStartDateTime,
'Oracle Fusion' AS SourceSystem,
H.BusinessUnitName AS BusinessUnit,
H.BillToCustomerName AS CustomerName,
H.InvoiceCurrencyCode AS Currency,
BSL.Amount AS InvoiceAmount,
H.TrxClass AS TransactionType,
BSL.CreatedBy AS UserName,
'Yes' AS IsAutomated
FROM STG_AR_APPLICATIONS APP
JOIN STG_AR_TRX_HEADER H ON APP.AppliedCustomerTrxId = H.CustomerTrxId
-- Join to Receipt then to Bank Stmt would happen here
JOIN STG_CE_STMTS BSL ON APP.CashReceiptId = BSL.ReferenceId -- Simplified Join
WHERE APP.ApplicationType = 'CASH'
UNION ALL
/* 13. Invoice Adjusted */
SELECT
H.TrxNumber AS InvoiceNumber,
'Invoice Adjusted' AS ActivityName,
ADJ.ApplyDate AS EventStartDateTime,
'Oracle Fusion' AS SourceSystem,
H.BusinessUnitName AS BusinessUnit,
H.BillToCustomerName AS CustomerName,
H.InvoiceCurrencyCode AS Currency,
ADJ.Amount AS InvoiceAmount,
H.TrxClass AS TransactionType,
ADJ.CreatedBy AS UserName,
'No' AS IsAutomated
FROM STG_AR_ADJUSTMENTS ADJ
JOIN STG_AR_TRX_HEADER H ON ADJ.CustomerTrxId = H.CustomerTrxId
WHERE ADJ.AdjustmentType != 'WRITE_OFF'
UNION ALL
/* 14. Invoice Written Off */
SELECT
H.TrxNumber AS InvoiceNumber,
'Invoice Written Off' AS ActivityName,
ADJ.ApplyDate AS EventStartDateTime,
'Oracle Fusion' AS SourceSystem,
H.BusinessUnitName AS BusinessUnit,
H.BillToCustomerName AS CustomerName,
H.InvoiceCurrencyCode AS Currency,
ADJ.Amount AS InvoiceAmount,
H.TrxClass AS TransactionType,
ADJ.CreatedBy AS UserName,
'No' AS IsAutomated
FROM STG_AR_ADJUSTMENTS ADJ
JOIN STG_AR_TRX_HEADER H ON ADJ.CustomerTrxId = H.CustomerTrxId
WHERE ADJ.AdjustmentType = 'WRITE_OFF'
UNION ALL
/* 15. Invoice Cleared */
/* The moment the invoice balance hits 0 */
SELECT
TrxNumber AS InvoiceNumber,
'Invoice Cleared' AS ActivityName,
LastUpdateDate AS EventStartDateTime,
'Oracle Fusion' AS SourceSystem,
BusinessUnitName AS BusinessUnit,
BillToCustomerName AS CustomerName,
InvoiceCurrencyCode AS Currency,
NULL AS InvoiceAmount,
TrxClass AS TransactionType,
LastUpdatedBy AS UserName,
'Yes' AS IsAutomated
FROM STG_AR_TRX_HEADER
WHERE AmountDueRemaining = 0
)
SELECT
InvoiceNumber,
ActivityName,
EventStartDateTime,
SourceSystem,
GETDATE() AS LastDataUpdate,
BusinessUnit,
CustomerName,
Currency,
InvoiceAmount,
TransactionType,
UserName,
IsAutomated
FROM Base_Log
WHERE EventStartDateTime IS NOT NULL
ORDER BY InvoiceNumber, EventStartDateTime Etapas
Acesse o Oracle Fusion Applications: vá até Tools > Reports and Analytics. Clique em Browse Catalog para abrir a interface do Oracle BI Publisher.
Crie um modelo de dados: clique em Novo (no canto superior esquerdo) e selecione Dados. Esse modelo será o contêiner da lógica de extração SQL.
Defina um conjunto de dados SQL: na árvore Dados à esquerda, clique em Data Sets e selecione Novo Data Set > SQL Query.
Configure a fonte de dados: dê um nome ao conjunto de dados, por exemplo,
ProcessMining_AR. SelecioneApplicationDB_FSCM(Financials Supply Chain Management) como fonte de dados. Assim, você terá acesso às tabelas necessárias de contas a receber e recebimentos.Cole a consulta: copie o script SQL completo fornecido na seção Query abaixo e cole-o na caixa de texto SQL Query. Não altere a lógica principal, a menos que precise renomear Flexfields (DFFs) específicos.
Defina os parâmetros: a consulta inclui o marcador
:p_start_datepara filtrar pela data de criação da transação. Na aba Parameters do modelo de dados, crie um parâmetro chamadop_start_date, com tipo de dados Date, e defina um valor padrão, por exemplo,01-01-2023.Visualize os dados: clique na aba Dados, informe uma data válida para o parâmetro e clique em Visualizar. Verifique se o resultado contém linhas com colunas como
InvoiceNumber,ActivityNameeEventStartDateTime.Salve o modelo de dados: salve o objeto no diretório Shared Folders > Personalizado, por exemplo,
/Shared Folders/Custom/ProcessMining/AR_Extract_DM.Agende ou exporte: para extrair grandes volumes, clique em Create Report usando este modelo de dados. No editor de relatórios, confirme se o layout é uma tabela simples. Salve o relatório. Depois, use o Scheduler para executá-lo e exportar os dados como CSV ou XML.
Formate o arquivo final: baixe o arquivo de saída. Se for CSV, use um formato de data consistente, de preferência ISO 8601. Carregue o arquivo no ProcessMind e mapeie
InvoiceNumbercomo Case ID,ActivityNamecomo Activity eEventStartDateTimecomo Timestamp.
Configuração
- Fonte de dados: use
ApplicationDB_FSCMpara acessar as tabelas financeiras. - Filtro de data: a consulta usa
ra_customer_trx_all.creation_date >= :p_start_date. Configure o filtro para carregar dados em uma janela móvel, por exemplo, dos últimos 12 meses. - Performance: para conjuntos de dados com mais de 100.000 faturas, considere limitar o
ROWNUMdurante os testes ou dividir a extração por mês. - Filtro por unidade de negócio: se sua organização tiver várias unidades de negócio e você precisar de apenas uma, remova o comentário da linha
AND trx.org_id = ...nas cláusulasWhere. - Nomes de usuários: a consulta associa os IDs de usuário de
CREATED_BYaos nomes emFND_USER. Verifique se o usuário de extração tem permissão para lerFND_USER. - Advanced Collections: as atividades 'Payment Reminder Sent' e 'Promise to Pay Received' dependem das tabelas do módulo IEX (Advanced Collections). Se você não usa esse módulo, essas seções não retornarão linhas.
a Consulta de exemplo sql
/* 1. Invoice Created */
SELECT
trx.trx_number AS InvoiceNumber,
'Invoice Created' AS ActivityName,
trx.creation_date AS EventStartDateTime,
'Oracle Fusion' AS SourceSystem,
SYSDATE AS LastDataUpdate,
hou.name AS BusinessUnit,
party.party_name AS CustomerName,
trx.invoice_currency_code AS Currency,
ps.amount_due_original AS InvoiceAmount,
type.name AS TransactionType,
u.user_name AS UserName,
'N' AS IsAutomated
FROM
ra_customer_trx_all trx
JOIN ra_cust_trx_types_all type ON trx.cust_trx_type_id = type.cust_trx_type_id
JOIN hr_operating_units hou ON trx.org_id = hou.organization_id
JOIN hz_cust_accounts cust ON trx.bill_to_customer_id = cust.cust_account_id
JOIN hz_parties party ON cust.party_id = party.party_id
JOIN ar_payment_schedules_all ps ON trx.customer_trx_id = ps.customer_trx_id
LEFT JOIN fnd_user u ON trx.created_by = u.user_id
WHERE
trx.creation_date >= :p_start_date
UNION ALL
/* 2. Invoice Completed */
SELECT
trx.trx_number AS InvoiceNumber,
'Invoice Completed' AS ActivityName,
trx.trx_date AS EventStartDateTime,
'Oracle Fusion' AS SourceSystem,
SYSDATE AS LastDataUpdate,
hou.name AS BusinessUnit,
party.party_name AS CustomerName,
trx.invoice_currency_code AS Currency,
ps.amount_due_original AS InvoiceAmount,
type.name AS TransactionType,
u.user_name AS UserName,
'Y' AS IsAutomated
FROM
ra_customer_trx_all trx
JOIN ra_cust_trx_types_all type ON trx.cust_trx_type_id = type.cust_trx_type_id
JOIN hr_operating_units hou ON trx.org_id = hou.organization_id
JOIN hz_cust_accounts cust ON trx.bill_to_customer_id = cust.cust_account_id
JOIN hz_parties party ON cust.party_id = party.party_id
JOIN ar_payment_schedules_all ps ON trx.customer_trx_id = ps.customer_trx_id
LEFT JOIN fnd_user u ON trx.last_updated_by = u.user_id
WHERE
trx.complete_flag = 'Y'
AND trx.creation_date >= :p_start_date
UNION ALL
/* 3. Invoice Dispatched */
SELECT
trx.trx_number AS InvoiceNumber,
'Invoice Dispatched' AS ActivityName,
COALESCE(trx.printing_original_date, trx.printing_last_printed, trx.last_update_date) AS EventStartDateTime,
'Oracle Fusion' AS SourceSystem,
SYSDATE AS LastDataUpdate,
hou.name AS BusinessUnit,
party.party_name AS CustomerName,
trx.invoice_currency_code AS Currency,
ps.amount_due_original AS InvoiceAmount,
type.name AS TransactionType,
u.user_name AS UserName,
'Y' AS IsAutomated
FROM
ra_customer_trx_all trx
JOIN ra_cust_trx_types_all type ON trx.cust_trx_type_id = type.cust_trx_type_id
JOIN hr_operating_units hou ON trx.org_id = hou.organization_id
JOIN hz_cust_accounts cust ON trx.bill_to_customer_id = cust.cust_account_id
JOIN hz_parties party ON cust.party_id = party.party_id
JOIN ar_payment_schedules_all ps ON trx.customer_trx_id = ps.customer_trx_id
LEFT JOIN fnd_user u ON trx.last_updated_by = u.user_id
WHERE
(trx.printing_original_date IS NOT NULL OR trx.printing_count > 0)
AND trx.creation_date >= :p_start_date
UNION ALL
/* 4. Invoice Posted to GL */
SELECT
trx.trx_number AS InvoiceNumber,
'Invoice Posted to GL' AS ActivityName,
MAX(dist.gl_date) AS EventStartDateTime,
'Oracle Fusion' AS SourceSystem,
SYSDATE AS LastDataUpdate,
hou.name AS BusinessUnit,
party.party_name AS CustomerName,
trx.invoice_currency_code AS Currency,
ps.amount_due_original AS InvoiceAmount,
type.name AS TransactionType,
'System' AS UserName,
'Y' AS IsAutomated
FROM
ra_customer_trx_all trx
JOIN ra_cust_trx_line_gl_dist_all dist ON trx.customer_trx_id = dist.customer_trx_id
JOIN ra_cust_trx_types_all type ON trx.cust_trx_type_id = type.cust_trx_type_id
JOIN hr_operating_units hou ON trx.org_id = hou.organization_id
JOIN hz_cust_accounts cust ON trx.bill_to_customer_id = cust.cust_account_id
JOIN hz_parties party ON cust.party_id = party.party_id
JOIN ar_payment_schedules_all ps ON trx.customer_trx_id = ps.customer_trx_id
WHERE
dist.account_class = 'REC'
AND dist.posting_control_id != -3
AND trx.creation_date >= :p_start_date
GROUP BY
trx.trx_number,
hou.name,
party.party_name,
trx.invoice_currency_code,
ps.amount_due_original,
type.name
UNION ALL
/* 5. Payment Reminder Sent (Advanced Collections) */
SELECT
trx.trx_number AS InvoiceNumber,
'Payment Reminder Sent' AS ActivityName,
dun.creation_date AS EventStartDateTime,
'Oracle Fusion' AS SourceSystem,
SYSDATE AS LastDataUpdate,
hou.name AS BusinessUnit,
party.party_name AS CustomerName,
trx.invoice_currency_code AS Currency,
ps.amount_due_original AS InvoiceAmount,
type.name AS TransactionType,
u.user_name AS UserName,
'Y' AS IsAutomated
FROM
iex_dunning_transactions dun
JOIN ar_payment_schedules_all ps ON dun.payment_schedule_id = ps.payment_schedule_id
JOIN ra_customer_trx_all trx ON ps.customer_trx_id = trx.customer_trx_id
JOIN ra_cust_trx_types_all type ON trx.cust_trx_type_id = type.cust_trx_type_id
JOIN hr_operating_units hou ON trx.org_id = hou.organization_id
JOIN hz_cust_accounts cust ON trx.bill_to_customer_id = cust.cust_account_id
JOIN hz_parties party ON cust.party_id = party.party_id
LEFT JOIN fnd_user u ON dun.created_by = u.user_id
WHERE
trx.creation_date >= :p_start_date
UNION ALL
/* 6. Promise to Pay Received */
SELECT
trx.trx_number AS InvoiceNumber,
'Promise to Pay Received' AS ActivityName,
pp.creation_date AS EventStartDateTime,
'Oracle Fusion' AS SourceSystem,
SYSDATE AS LastDataUpdate,
hou.name AS BusinessUnit,
party.party_name AS CustomerName,
trx.invoice_currency_code AS Currency,
ps.amount_due_original AS InvoiceAmount,
type.name AS TransactionType,
u.user_name AS UserName,
'N' AS IsAutomated
FROM
iex_promise_details pp
JOIN ar_payment_schedules_all ps ON pp.payment_schedule_id = ps.payment_schedule_id
JOIN ra_customer_trx_all trx ON ps.customer_trx_id = trx.customer_trx_id
JOIN ra_cust_trx_types_all type ON trx.cust_trx_type_id = type.cust_trx_type_id
JOIN hr_operating_units hou ON trx.org_id = hou.organization_id
JOIN hz_cust_accounts cust ON trx.bill_to_customer_id = cust.cust_account_id
JOIN hz_parties party ON cust.party_id = party.party_id
LEFT JOIN fnd_user u ON pp.created_by = u.user_id
WHERE
trx.creation_date >= :p_start_date
UNION ALL
/* 7. Dispute Case Opened */
SELECT
trx.trx_number AS InvoiceNumber,
'Dispute Case Opened' AS ActivityName,
req.creation_date AS EventStartDateTime,
'Oracle Fusion' AS SourceSystem,
SYSDATE AS LastDataUpdate,
hou.name AS BusinessUnit,
party.party_name AS CustomerName,
trx.invoice_currency_code AS Currency,
ps.amount_due_original AS InvoiceAmount,
type.name AS TransactionType,
u.user_name AS UserName,
'N' AS IsAutomated
FROM
ra_cm_requests req
JOIN ra_customer_trx_all trx ON req.customer_trx_id = trx.customer_trx_id
JOIN ra_cust_trx_types_all type ON trx.cust_trx_type_id = type.cust_trx_type_id
JOIN hr_operating_units hou ON trx.org_id = hou.organization_id
JOIN hz_cust_accounts cust ON trx.bill_to_customer_id = cust.cust_account_id
JOIN hz_parties party ON cust.party_id = party.party_id
JOIN ar_payment_schedules_all ps ON trx.customer_trx_id = ps.customer_trx_id
LEFT JOIN fnd_user u ON req.created_by = u.user_id
WHERE
trx.creation_date >= :p_start_date
UNION ALL
/* 8. Dispute Resolved */
SELECT
trx.trx_number AS InvoiceNumber,
'Dispute Resolved' AS ActivityName,
req.last_update_date AS EventStartDateTime,
'Oracle Fusion' AS SourceSystem,
SYSDATE AS LastDataUpdate,
hou.name AS BusinessUnit,
party.party_name AS CustomerName,
trx.invoice_currency_code AS Currency,
ps.amount_due_original AS InvoiceAmount,
type.name AS TransactionType,
u.user_name AS UserName,
'N' AS IsAutomated
FROM
ra_cm_requests req
JOIN ra_customer_trx_all trx ON req.customer_trx_id = trx.customer_trx_id
JOIN ra_cust_trx_types_all type ON trx.cust_trx_type_id = type.cust_trx_type_id
JOIN hr_operating_units hou ON trx.org_id = hou.organization_id
JOIN hz_cust_accounts cust ON trx.bill_to_customer_id = cust.cust_account_id
JOIN hz_parties party ON cust.party_id = party.party_id
JOIN ar_payment_schedules_all ps ON trx.customer_trx_id = ps.customer_trx_id
LEFT JOIN fnd_user u ON req.last_updated_by = u.user_id
WHERE
req.status_code IN ('APPROVED', 'REJECTED')
AND trx.creation_date >= :p_start_date
UNION ALL
/* 9. Credit Memo Issued */
SELECT
trx.trx_number AS InvoiceNumber,
'Credit Memo Issued' AS ActivityName,
cm.trx_date AS EventStartDateTime,
'Oracle Fusion' AS SourceSystem,
SYSDATE AS LastDataUpdate,
hou.name AS BusinessUnit,
party.party_name AS CustomerName,
trx.invoice_currency_code AS Currency,
ps.amount_due_original AS InvoiceAmount,
type.name AS TransactionType,
u.user_name AS UserName,
'N' AS IsAutomated
FROM
ra_customer_trx_all cm
JOIN ra_customer_trx_all trx ON cm.previous_customer_trx_id = trx.customer_trx_id
JOIN ra_cust_trx_types_all type ON trx.cust_trx_type_id = type.cust_trx_type_id
JOIN hr_operating_units hou ON trx.org_id = hou.organization_id
JOIN hz_cust_accounts cust ON trx.bill_to_customer_id = cust.cust_account_id
JOIN hz_parties party ON cust.party_id = party.party_id
JOIN ar_payment_schedules_all ps ON trx.customer_trx_id = ps.customer_trx_id
LEFT JOIN fnd_user u ON cm.created_by = u.user_id
WHERE
trx.creation_date >= :p_start_date
UNION ALL
/* 10 & 11. Partial and Full Payment */
SELECT
trx.trx_number AS InvoiceNumber,
CASE
WHEN ps.status = 'CL' AND app.amount_applied = app.amount_applied_from THEN 'Full Payment Received'
WHEN ps.status = 'CL' AND ps.amount_due_remaining = 0 AND app.application_rule = '60' THEN 'Full Payment Received'
ELSE 'Partial Payment Posted'
END AS ActivityName,
app.apply_date AS EventStartDateTime,
'Oracle Fusion' AS SourceSystem,
SYSDATE AS LastDataUpdate,
hou.name AS BusinessUnit,
party.party_name AS CustomerName,
trx.invoice_currency_code AS Currency,
ps.amount_due_original AS InvoiceAmount,
type.name AS TransactionType,
u.user_name AS UserName,
'N' AS IsAutomated
FROM
ar_receivable_applications_all app
JOIN ar_payment_schedules_all ps ON app.applied_payment_schedule_id = ps.payment_schedule_id
JOIN ra_customer_trx_all trx ON ps.customer_trx_id = trx.customer_trx_id
JOIN ra_cust_trx_types_all type ON trx.cust_trx_type_id = type.cust_trx_type_id
JOIN hr_operating_units hou ON trx.org_id = hou.organization_id
JOIN hz_cust_accounts cust ON trx.bill_to_customer_id = cust.cust_account_id
JOIN hz_parties party ON cust.party_id = party.party_id
LEFT JOIN fnd_user u ON app.created_by = u.user_id
WHERE
app.status = 'APP'
AND app.application_type = 'CASH'
AND trx.creation_date >= :p_start_date
UNION ALL
/* 12. Bank Statement Matched */
SELECT
trx.trx_number AS InvoiceNumber,
'Bank Statement Matched' AS ActivityName,
recon.creation_date AS EventStartDateTime,
'Oracle Fusion' AS SourceSystem,
SYSDATE AS LastDataUpdate,
hou.name AS BusinessUnit,
party.party_name AS CustomerName,
trx.invoice_currency_code AS Currency,
ps.amount_due_original AS InvoiceAmount,
type.name AS TransactionType,
u.user_name AS UserName,
'Y' AS IsAutomated
FROM
ce_statement_reconcils_all recon
JOIN ar_cash_receipt_history_all crh ON recon.reference_id = crh.cash_receipt_history_id
JOIN ar_cash_receipts_all cr ON crh.cash_receipt_id = cr.cash_receipt_id
JOIN ar_receivable_applications_all app ON cr.cash_receipt_id = app.cash_receipt_id
JOIN ar_payment_schedules_all ps ON app.applied_payment_schedule_id = ps.payment_schedule_id
JOIN ra_customer_trx_all trx ON ps.customer_trx_id = trx.customer_trx_id
JOIN ra_cust_trx_types_all type ON trx.cust_trx_type_id = type.cust_trx_type_id
JOIN hr_operating_units hou ON trx.org_id = hou.organization_id
JOIN hz_cust_accounts cust ON trx.bill_to_customer_id = cust.cust_account_id
JOIN hz_parties party ON cust.party_id = party.party_id
LEFT JOIN fnd_user u ON recon.created_by = u.user_id
WHERE
recon.status_flag = 'M'
AND trx.creation_date >= :p_start_date
UNION ALL
/* 13 & 14. Invoice Adjusted and Written Off */
SELECT
trx.trx_number AS InvoiceNumber,
CASE
WHEN adj.adjustment_type = 'W' THEN 'Invoice Written Off'
ELSE 'Invoice Adjusted'
END AS ActivityName,
adj.apply_date AS EventStartDateTime,
'Oracle Fusion' AS SourceSystem,
SYSDATE AS LastDataUpdate,
hou.name AS BusinessUnit,
party.party_name AS CustomerName,
trx.invoice_currency_code AS Currency,
ps.amount_due_original AS InvoiceAmount,
type.name AS TransactionType,
u.user_name AS UserName,
'N' AS IsAutomated
FROM
ar_adjustments_all adj
JOIN ar_payment_schedules_all ps ON adj.payment_schedule_id = ps.payment_schedule_id
JOIN ra_customer_trx_all trx ON ps.customer_trx_id = trx.customer_trx_id
JOIN ra_cust_trx_types_all type ON trx.cust_trx_type_id = type.cust_trx_type_id
JOIN hr_operating_units hou ON trx.org_id = hou.organization_id
JOIN hz_cust_accounts cust ON trx.bill_to_customer_id = cust.cust_account_id
JOIN hz_parties party ON cust.party_id = party.party_id
LEFT JOIN fnd_user u ON adj.created_by = u.user_id
WHERE
adj.status = 'A'
AND trx.creation_date >= :p_start_date
UNION ALL
/* 15. Invoice Cleared (Final Close) */
SELECT
trx.trx_number AS InvoiceNumber,
'Invoice Cleared' AS ActivityName,
ps.gl_date_closed AS EventStartDateTime,
'Oracle Fusion' AS SourceSystem,
SYSDATE AS LastDataUpdate,
hou.name AS BusinessUnit,
party.party_name AS CustomerName,
trx.invoice_currency_code AS Currency,
ps.amount_due_original AS InvoiceAmount,
type.name AS TransactionType,
'System' AS UserName,
'Y' AS IsAutomated
FROM
ar_payment_schedules_all ps
JOIN ra_customer_trx_all trx ON ps.customer_trx_id = trx.customer_trx_id
JOIN ra_cust_trx_types_all type ON trx.cust_trx_type_id = type.cust_trx_type_id
JOIN hr_operating_units hou ON trx.org_id = hou.organization_id
JOIN hz_cust_accounts cust ON trx.bill_to_customer_id = cust.cust_account_id
JOIN hz_parties party ON cust.party_id = party.party_id
WHERE
ps.status = 'CL'
AND ps.gl_date_closed IS NOT NULL
AND trx.creation_date >= :p_start_date Pronto para começar?
Transforme seus dados financeiros em insights acionáveis aplicando este Template ao seu ambiente Oracle Fusion. Nossa equipe pode ajudar você a adaptar a lógica específica do seu negócio a esses padrões.
Acelere hoje as cobranças de contas a receber
Reduza o prazo médio de recebimento de vendas em 15 a 20 dias e resolva agora os problemas de fluxo de caixa.
Não é necessário informar cartão de crédito. Configure em 5 minutos.