Su Plantilla de Datos de Gestión de Crédito y Cobranzas
Su Plantilla de Datos de Gestión de Crédito y Cobranzas
- Atributos recomendados para un análisis integral
- `Actividades` clave para rastrear en el descubrimiento de procesos
- Guía paso a paso para la extracción de datos
Atributos de Gestión de Crédito y Cobranzas
| Nombre | Descripción | ||
|---|---|---|---|
| Hora del Evento EventTime | La fecha y hora precisas en que ocurrió la actividad, sirviendo como timestamp del evento. | ||
| Descripción La Hora del Evento, o timestamp, registra el momento exacto en que tuvo lugar una actividad. Es esencial para ordenar los eventos cronológicamente y construir un flujo de proceso preciso. Sin timestamps precisos, la secuencia de eventos no se puede determinar correctamente. En el análisis, este atributo se utiliza para calcular duraciones y tiempos de ciclo entre actividades, lo cual es crítico para la medición del rendimiento. Por ejemplo, se utiliza para calcular KPIs como el Tiempo de Ciclo de Resolución de Disputas o el Tiempo de Ciclo de Pago de Facturas. También permite el análisis de tendencias de rendimiento del proceso a lo largo de diferentes períodos de tiempo. Por qué es importante Este timestamp es esencial para ordenar eventos, calcular tiempos de ciclo y duraciones, y analizar el rendimiento del proceso a lo largo del tiempo. Dónde obtener Derivado de varios campos de fecha en las tablas de Oracle Fusion Financials, como TRX_DATE en RA_CUSTOMER_TRX_ALL para la creación de facturas o la fecha de creación de una acción de cobranza. Ejemplos 2023-04-15T10:00:00Z2023-05-01T14:30:00Z2023-05-20T09:15:22Z | |||
| Nombre de la Actividad ActivityName | El nombre del evento o tarea de negocio específico que ocurrió en un momento dado dentro del proceso de gestión de crédito. | ||
| Descripción Este atributo describe un solo paso en el ciclo de vida de la factura, como 'Factura Generada', 'Procedimiento de Cobro Iniciado' o 'Pago Recibido'. Cada actividad representa un evento distinto que hace avanzar el caso. Analizar la secuencia y frecuencia de las actividades es el núcleo del Process Mining. Ayuda a descubrir el flujo de proceso real, identificar cuellos de botella donde los casos se atascan, detectar bucles de retrabajo donde las actividades se repiten y comparar el proceso real con el proceso diseñado o ideal. El Nombre de la Actividad es fundamental para construir mapas de proceso y calcular los tiempos de transición entre pasos. Por qué es importante Este atributo define los pasos en el mapa de procesos, permitiendo la visualización y el análisis del ciclo de vida de la factura de principio a fin. Dónde obtener Este es un campo conceptual derivado de varios eventos de negocio dentro de Oracle Fusion Financials, a menudo construido mapeando estados de transacciones, fechas de eventos o acciones específicas de módulos como Cuentas por Cobrar (AR) y Advanced Collections. Ejemplos Factura GeneradaProcedimiento de Recordatorio de Pago IniciadoPago RecibidoDisputa Registrada | |||
| Número de Factura InvoiceNumber | El identificador único para cada factura de cliente, sirviendo como identificador principal de caso para el proceso de gestión de crédito. | ||
| Descripción El Número de Factura es la clave central que vincula todos los eventos y actividades relacionados con una sola cuenta por cobrar, desde su creación hasta su liquidación final o baja por incobrabilidad. Permite una visión completa, de extremo a extremo, del ciclo de vida de la factura. En el análisis de Process Mining, este atributo se utiliza para reconstruir el recorrido de cada factura. Al agrupar todas las actividades relacionadas bajo un único Número de Factura, los analistas pueden visualizar los flujos de proceso, identificar rutas comunes y desviadas, y medir los tiempos de ciclo para todo el proceso o etapas específicas, como la resolución de disputas o el registro de pagos. Por qué es importante Este es el ID de Caso esencial que conecta todos los pasos relacionados del proceso, permitiendo la reconstrucción y el análisis del recorrido de cada factura desde su emisión hasta su cierre. Dónde obtener Este identificador se encuentra típicamente en la tabla RA_CUSTOMER_TRX_ALL como TRX_NUMBER en Oracle Fusion Financials. Ejemplos INV-1005679884321AR-2023-04-112 | |||
| Source System SourceSystem | El sistema del que provienen los datos. | ||
| Descripción Este atributo identifica la aplicación de origen donde se registraron los datos del evento. En infraestructuras tecnológicas complejas, varios sistemas pueden participar en un mismo proceso de principio a fin. Definir el sistema de origen es clave para el gobierno de datos, la resolución de incidencias y el análisis de contexto. Permite distinguir eventos de distintos sistemas al integrarlos en una vista de proceso única, garantizando la trazabilidad y el linaje de los datos. Por qué es importante Proporciona claridad sobre el origen de los datos, lo cual es crucial para la validación de datos, la gobernanza y la comprensión del contexto tecnológico del proceso. Dónde obtener Este es típicamente un valor estático añadido durante la extracción de datos para identificar el origen de los registros. Ejemplos Oracle Fusion FinancialsOracle AROracle Collections | |||
| Última actualización de datos LastDataUpdate | El `timestamp` que indica cuándo los `datos` de este `evento` fueron actualizados o extraídos por última vez del sistema de origen. | ||
| Descripción Este atributo marca la fecha y hora de la extracción de datos más reciente. Es un campo de metadatos que no forma parte del proceso de negocio en sí, pero es crucial para comprender la frescura de los datos que se analizan. Los analistas utilizan este timestamp para confirmar que están trabajando con información actualizada y para comprender el punto de corte de los datos. Es esencial para la gobernanza de datos y para gestionar las expectativas de los usuarios sobre la actualidad de los datos en dashboards e informes. Por qué es importante Indica la frescura de los Dónde obtener Este valor se genera y se marca en cada registro durante el proceso de extracción, transformación y carga (ETL) de datos. Ejemplos 2023-10-27T02:00:00Z2023-10-28T02:00:00Z | |||
| Cobrador Collector | El nombre o ID del agente de cobros asignado a la factura. | ||
| Descripción El Gestor de Cobro es el individuo o equipo responsable de gestionar las actividades de cobro de una factura vencida. Esta asignación es un paso clave en el flujo de trabajo de cobros. Este atributo es crucial para la gestión del rendimiento y la asignación de recursos dentro del departamento de cobros. Al analizar los resultados por gestor, los gerentes pueden evaluar la efectividad del gestor, identificar necesidades de capacitación y equilibrar las cargas de trabajo. El dashboard de Efectividad de Asignación de Gestores de Cobro depende directamente de este atributo para comparar las tasas de éxito y los tiempos de ciclo entre diferentes gestores. Por qué es importante Permite el análisis de rendimiento de cobradores o equipos individuales, ayudando a optimizar la asignación de recursos y mejorar la eficiencia general de la cobranza. Dónde obtener Esta información se almacena típicamente en el módulo Oracle Advanced Collections, a menudo en tablas como IEX_CASES_ALL_B o tablas de asignación relacionadas. Ejemplos John SmithJane DoeEquipo de Cobranza A | |||
| Fecha de Vencimiento DueDate | La fecha en la que vence el pago de la factura. | ||
| Descripción La Fecha de Vencimiento es un atributo de fecha crítico acordado contractualmente para el pago. Es la base contra la cual se mide la puntualidad del pago. Este atributo es fundamental para identificar facturas vencidas y calcular el número de días que una factura está atrasada. Es el input principal para determinar cuándo deben iniciarse los procedimientos de cobro y se utiliza en el cálculo de KPIs como los Días de Venta Pendientes (DSO). También es esencial para crear informes de antigüedad que clasifican la deuda pendiente. Por qué es importante Actúa como la base para determinar si una factura está vencida, activando Dónde obtener Disponible en la tabla AR_PAYMENT_SCHEDULES_ALL como DUE_DATE. Ejemplos 2023-05-302023-06-152023-07-01 | |||
| Importe de Factura InvoiceAmount | El valor monetario total de la factura. | ||
| Descripción El Monto de la Factura representa el valor total de los bienes o servicios facturados al cliente. Este es un atributo financiero crítico para comprender el impacto monetario del proceso. En el análisis, el Monto de la Factura se utiliza para priorizar los esfuerzos de cobro, centrándose en facturas vencidas de alto valor. También se utiliza para analizar los comportamientos de pago basados en el valor de la transacción y para calcular el impacto financiero de las bajas por incobrabilidad. Los dashboards como el Análisis de la Tasa de Baja por Incobrabilidad de Facturas dependen de este valor para evaluar la magnitud de las pérdidas financieras. Por qué es importante Proporciona un contexto financiero al proceso, permitiendo la priorización de facturas de alto valor y el análisis del impacto monetario de las ineficiencias del proceso. Dónde obtener Esta información se puede derivar de la tabla AR_PAYMENT_SCHEDULES_ALL, que almacena el monto adeudado de una factura. Ejemplos 5000.001250.75250000.00 | |||
| Nivel de Reclamación DunningLevel | La etapa o nivel del procedimiento de cobro que se ha aplicado a la factura. | ||
| Descripción El Nivel de Recordatorio de Pago indica la intensidad del recordatorio de cobranza, que típicamente escala con el tiempo. Por ejemplo, el Nivel 1 podría ser un recordatorio suave por correo electrónico, mientras que el Nivel 3 podría ser una carta formal o una llamada telefónica. Analizar el proceso por Nivel de Recordatorio de Pago ayuda a evaluar la efectividad de la estrategia de recordatorios. El Por qué es importante Rastrea la etapa de escalada de los esfuerzos de cobro, lo cual es crítico para evaluar la efectividad de la estrategia de cobro. Dónde obtener Estos datos se gestionan dentro del módulo Oracle Advanced Collections. Se pueden encontrar en tablas relacionadas con el historial de cobros, como IEX_DUNNINGS. Ejemplos Nivel 1: RecordatorioNivel 2: AdvertenciaNivel 3: Aviso Final | |||
| Número de Cliente CustomerNumber | Un identificador único para el cliente asociado a la factura. | ||
| Descripción El Número de Cliente vincula una factura a una cuenta de cliente específica. Esto permite la segmentación y el análisis del proceso de crédito y cobros en función de los atributos del cliente. Al incluir el Número de Cliente, los analistas pueden investigar si ciertos clientes pagan tarde consistentemente, presentan más disputas o requieren más esfuerzos de cobro. Esta información es vital para crear estrategias de cobro específicas para cada cliente, ajustar los términos de crédito e identificar segmentos de clientes de alto riesgo. Apoya directamente análisis como el Análisis de la Tasa de Baja por Incobrabilidad de Facturas por Segmento de Cliente. Por qué es importante Permite la segmentación del proceso por cliente, ayudando a identificar patrones, riesgos y oportunidades para estrategias de cobranza personalizadas. Dónde obtener Típicamente encontrado en la tabla RA_CUSTOMER_TRX_ALL como BILL_TO_CUSTOMER_ID, que se vincula a HZ_CUST_ACCOUNTS. Ejemplos CUST-0012389455ACME-CORP-US | |||
| Segmento de Cliente CustomerSegment | La clasificación del cliente en un grupo definido, como por tamaño, industria o importancia estratégica. | ||
| Descripción El Segmento de Cliente es un Este Por qué es importante Permite un potente análisis comparativo, revelando cómo varían el rendimiento del proceso y los riesgos entre diferentes grupos de clientes. Dónde obtener Frecuentemente gestionado en los datos maestros del cliente (HZ_CUST_ACCOUNTS o tablas relacionadas) o derivado de atributos del cliente como ingresos o industria. Ejemplos Gran EmpresaPequeñas y Medianas EmpresasGobiernoSocio Estratégico | |||
| Usuario User | El ID de usuario o sistema que realizó la actividad. | ||
| Descripción Este atributo identifica al empleado específico o al usuario del sistema automatizado responsable de ejecutar una actividad, como aprobar un límite de crédito, registrar un pago o resolver una disputa. Analizar las actividades por usuario es esencial para comprender la distribución de la carga de trabajo, el rendimiento individual y el compliance. Para actividades automatizadas, ayuda a rastrear la participación de los procesos del sistema. También se puede utilizar para identificar necesidades de capacitación o posible actividad fraudulenta mediante el monitoreo del comportamiento del usuario. Por qué es importante Asigna Dónde obtener Obtenido de las columnas 'CREATED_BY' o 'LAST_UPDATED_BY' en varias tablas de transacciones e historial en Oracle Fusion Financials. Ejemplos jsmithespecialista_ar_1SYSTEM_AUTOMATION | |||
| Condiciones de Pago PaymentTerms | Los términos acordados que especifican cuándo vence el pago. | ||
| Descripción Los Términos de Pago definen las condiciones bajo las cuales se espera que un cliente pague, por ejemplo, 'Neto a 30' o 'Neto a 60'. Estos términos se utilizan para calcular la fecha de vencimiento de la factura. Analizar el rendimiento de los pagos según los términos de pago puede revelar patrones interesantes. Por ejemplo, los clientes con términos más cortos podrían ser más propensos a pagar tarde. Esta información se puede utilizar para revisar y optimizar las políticas de crédito y para segmentar a los clientes para diferentes estrategias de cobro. Proporciona un contexto valioso para comprender por qué ciertas facturas se vencen. Por qué es importante Proporciona contexto sobre el calendario de pagos acordado, lo que permite el análisis del comportamiento de pago a través de diferentes términos de crédito. Dónde obtener Esto se almacena en la tabla RA_TERMS y se vincula a la transacción de la factura. Ejemplos Neto 30Neto 60Vencimiento al Recibo | |||
| Días Vencidos DaysOverdue | El número de días que una factura ha pasado su fecha de vencimiento. | ||
| Descripción Esta métrica calculada cuantifica cuánto tiempo está atrasada una factura impaga. Se calcula como la diferencia entre la fecha actual (para facturas abiertas) o la fecha de pago (para facturas cerradas) y la fecha de vencimiento. Los Días de Vencimiento son una medida crítica para el análisis de antigüedad y la priorización de los esfuerzos de cobro. Es la métrica principal en el dashboard de Antigüedad y Estado de Facturas Vencidas, donde las facturas se agrupan en rangos de antigüedad (por ejemplo, 1-30 días, 31-60 días). Esto ayuda al equipo de cobros a centrarse en las deudas más antiguas y de mayor riesgo. Por qué es importante Cuantifica el alcance de los retrasos en los pagos, sirviendo como una métrica central para priorizar los cobros y realizar análisis de antigüedad. Dónde obtener Este es un campo calculado. La lógica es: FechaActual - FechaVencimiento para facturas abiertas, o FechaPago - FechaVencimiento para facturas cerradas. Ejemplos 1545920 | |||
| Está Cancelada IsWrittenOff | Un indicador booleano que señala si la factura ha sido cancelada como `deuda incobrable`. | ||
| Descripción Esta es una bandera derivada que identifica las facturas que la empresa ha considerado incobrables y ha eliminado de sus cuentas por cobrar activas. Este es típicamente el resultado final, e indeseable, para una factura. Este atributo es esencial para calcular el KPI de Tasa de Baja por Incobrabilidad de Facturas y para el dashboard de análisis asociado. Permite a los analistas aislar la población de cobros fallidos para identificar características comunes, como el segmento de cliente o el valor de la factura, que pueden estar asociadas con un mayor riesgo de baja por incobrabilidad. Esta información se utiliza para mejorar las políticas de crédito y las estrategias de cobro. Por qué es importante Identifica claramente los Dónde obtener Este es un campo calculado, derivado al verificar si existe una actividad de 'Factura Dada de Baja' para el caso o si el estado de la factura es 'Dada de Baja'. Ejemplos truefalse | |||
| Estado de la Factura InvoiceStatus | El estado actual de la factura en su ciclo de vida. | ||
| Descripción El Estado de la Factura proporciona una instantánea de la situación actual de la factura en el proceso. Los estados comunes incluyen 'Open', 'Paid', 'Disputed', 'Past Due', o 'Written Off'. Este En Por qué es importante Proporciona una visión general rápida del estado actual de una factura, permitiendo un fácil filtrado y priorización de los esfuerzos de cobro. Dónde obtener Típicamente disponible en la tabla AR_PAYMENT_SCHEDULES_ALL en un campo llamado STATUS. Ejemplos AbiertoCerradoDisputadoEn Cobranza | |||
| Fecha Promesa de Pago PromiseToPayDate | La fecha en la que un cliente ha prometido realizar un pago. | ||
| Descripción Durante las Este Por qué es importante Rastrea los compromisos de pago de los clientes, ayudando a pronosticar las entradas de efectivo y a gestionar la efectividad de las negociaciones de cobro. Dónde obtener Almacenado dentro del módulo Oracle Advanced Collections, probablemente en tablas como IEX_PROMISES_T. Ejemplos 2023-06-102023-06-252023-07-05 | |||
| Hora de Finalización EndTime | El timestamp que indica cuándo se completó una actividad con duración. | ||
| Descripción Para las Tener un Tiempo de Fin separado permite el cálculo preciso de los tiempos de procesamiento de la Por qué es importante Permite el cálculo preciso del tiempo que tardan Dónde obtener Este es a menudo un atributo conceptual. Puede obtenerse de un timestamp de 'última actualización' o de un campo específico de 'fecha de cierre' en las tablas de origen correspondientes a la actividad. Ejemplos 2023-04-15T11:30:00Z2023-05-02T09:00:00Z2023-05-21T16:45:00Z | |||
| Moneda de la Factura InvoiceCurrency | La moneda en la que se denomina el importe de la factura. | ||
| Descripción Este atributo especifica la moneda de la factura, como USD, EUR o GBP. En organizaciones multinacionales, las facturas a menudo se emiten en varias monedas. Analizar datos con múltiples monedas requiere un manejo cuidadoso. Este atributo permite filtrar la vista del proceso por moneda o aplicar las tasas de cambio correctas para la elaboración de informes financieros consolidados. Asegura que los valores monetarios se interpreten correctamente y que las comparaciones de montos se realicen sobre una base homogénea. Por qué es importante Esencial para interpretar correctamente los Dónde obtener Típicamente encontrado en la tabla RA_CUSTOMER_TRX_ALL como INVOICE_CURRENCY_CODE. Ejemplos USDEURGBPJPY | |||
| Monto del Límite de Crédito CreditLimitAmount | El monto máximo de crédito aprobado para el cliente. | ||
| Descripción El Monto del Límite de Crédito es la exposición total al crédito que una empresa está dispuesta a tener con un cliente en particular. Esto se determina durante el proceso de revisión de crédito. Este atributo es esencial para el dashboard de Impacto de la Decisión del Límite de Crédito. Al correlacionar el límite de crédito aprobado con el comportamiento de pago posterior y las bajas por incobrabilidad, la empresa puede evaluar la efectividad de sus políticas de riesgo de crédito. El análisis puede revelar si los límites de crédito excesivamente altos están contribuyendo a mayores tasas de deudas incobrables, ayudando a refinar el proceso de aprobación de crédito. Por qué es importante Crucial para evaluar la efectividad de las políticas de riesgo crediticio al correlacionar el límite de crédito aprobado con los resultados de pago y las cancelaciones. Dónde obtener Esto se gestiona en Oracle Credit Management y se almacena típicamente en tablas relacionadas con perfiles de crédito de clientes, como HZ_CUST_PROFILE_AMTS. Ejemplos 10000.0050000.00250000.00 | |||
| Razón de Disputa DisputeReason | El motivo proporcionado por el cliente para disputar una factura. | ||
| Descripción Cuando un cliente disputa una factura, generalmente proporciona un motivo, como 'Precio Incorrecto', 'Mercancía Dañada' o 'Factura Duplicada'. Este atributo captura ese motivo. Analizar los motivos de disputa es clave para el análisis de la causa raíz. Ayuda a identificar problemas recurrentes en procesos anteriores, como la gestión de pedidos o la facturación, que conducen a retrasos en los pagos. Al categorizar y rastrear la frecuencia de diferentes motivos de disputa, una empresa puede tomar acciones específicas para corregir estas causas raíz, lo que apoya el objetivo de acortar el Tiempo de Ciclo de Resolución de Disputas. Por qué es importante Ayuda a identificar las causas raíz de las disputas de facturas, permitiendo mejoras proactivas en los procesos ascendentes para prevenir futuras disputas. Dónde obtener Esta información se captura típicamente en los módulos Oracle Advanced Collections u Oracle Channel Revenue Management si la gestión de disputas está formalizada. Puede residir en tablas como AR_DISPUTE_HISTORY. Ejemplos Cantidad IncorrectaDiscrepancia de PrecioMercancías DañadasServicio No Prestado | |||
| Tiempo de Procesamiento ProcessingTime | La duración del tiempo dedicado activamente a una actividad. | ||
| Descripción El tiempo de procesamiento mide el tiempo de trabajo activo para una tarea específica, excluyendo cualquier tiempo de espera o inactivo. Se calcula como la diferencia entre la Hora de Finalización y la Hora de Inicio de una actividad. Esta métrica es invaluable para el análisis de rendimiento, ya que ayuda a distinguir entre el tiempo dedicado activamente a un caso y el tiempo de espera. Por ejemplo, puede resaltar ineficiencias en la propia actividad de 'Resolución de Disputas', independientemente del tiempo que la disputa estuvo esperando ser asignada. Esto es compatible con dashboards como Eficiencia del Flujo de Trabajo de Cobros. Por qué es importante Mide la duración real del trabajo de las actividades, lo que ayuda a identificar ineficiencias dentro de tareas específicas en lugar de solo el tiempo entre ellas. Dónde obtener Esta es una métrica calculada, derivada al restar la Hora de Inicio de la Hora de Finalización (Hora de Finalización - Hora de Inicio). Ejemplos 864003600604800 | |||
| Unidad de Negocio BusinessUnit | La unidad de negocio o entidad organizacional específica que emitió la factura. | ||
| Descripción En grandes organizaciones, las operaciones suelen dividirse en múltiples unidades de negocio. Este Analizar el proceso por Unidad de Negocio permite comparar el rendimiento entre diferentes partes de la organización. Puede resaltar inconsistencias en cómo se aplican las políticas de crédito y cobranzas y revelar qué unidades de negocio son más efectivas en la gestión de sus Por qué es importante Permite la comparación del rendimiento entre diferentes unidades organizacionales, ayudando a identificar mejores prácticas y áreas de mejora. Dónde obtener Disponible en la tabla RA_CUSTOMER_TRX_ALL a través del campo ORG_ID, que enlaza con la estructura de la organización. Ejemplos Unidad de Negocio NorteaméricaUnidad de Negocio EMEADivisión de Servicios Globales | |||
| Vencido IsOverdue | Un indicador booleano que señala si la factura ha excedido su fecha de vencimiento de pago. | ||
| Descripción Este es un atributo derivado que proporciona una indicación simple de verdadero o falso sobre el estado de vencimiento de una factura. Se calcula típicamente comparando la fecha actual (o la fecha de pago) con la fecha de vencimiento de la factura. Esta bandera es extremadamente útil para el filtrado y la segmentación en el análisis. Permite a los analistas aislar rápidamente la población de facturas vencidas para estudiar sus rutas de proceso, la efectividad de las actividades de cobro y otras características. Simplifica la creación de dashboards y KPIs centrados en la gestión de deudas vencidas, como el dashboard de Antigüedad y Estado de Facturas Vencidas. Por qué es importante Proporciona una bandera simple y clara para identificar y analizar todas las facturas vencidas, que es el enfoque principal del proceso de cobros. Dónde obtener Este es un campo calculado. La lógica es: SI FechaActual > FechaVencimiento Y Estado != 'Pagada' ENTONCES Verdadero SINO Falso. Ejemplos truefalse | |||
Actividades de Gestión de Crédito y Cobranzas
| Actividad | Descripción | ||
|---|---|---|---|
| Factura Cancelada por Incobrable | Representa la decisión formal de cesar los esfuerzos de cobro y absorber el monto de la factura como deuda incobrable. Esta es una transacción financiera explícita que ajusta el saldo de la factura a cero. | ||
| Por qué es importante Este es un punto final de fallo crítico para el proceso de cobros. Analizar las bajas por incobrabilidad por segmento de cliente, región o límite de crédito ayuda a refinar las políticas de crédito y las estrategias de cobro para minimizar las pérdidas. Dónde obtener Capturado explícitamente de la creación de un ajuste en la tabla AR_ADJUSTMENTS_ALL con un RECEIVABLES_TRX_ID que apunta a una Capturar Fecha de creación de un registro en AR_ADJUSTMENTS_ALL con un tipo de Tipo de evento explicit | |||
| Factura Generada | Marca la creación del registro de la transacción de factura en Oracle Fusion Financials. Este es el inicio oficial del ciclo de vida de la factura en el módulo de cuentas por cobrar y sirve como punto de partida principal para el análisis. | ||
| Por qué es importante Este es el evento de inicio crítico para el recorrido de la factura. Todos los cálculos posteriores del tiempo de ciclo, como los Días de Venta Pendientes (DSO) y el tiempo de ciclo de pago de facturas, dependen de este timestamp inicial. Dónde obtener Este es un evento explícito capturado de la columna CREATION_DATE o TRX_DATE en la tabla RA_CUSTOMER_TRX_ALL para un TRX_NUMBER específico (Número de Factura). Capturar El Tipo de evento explicit | |||
| Fecha de Vencimiento de Pago Superada | Un `evento` calculado que sucede cuando la fecha actual excede la fecha de vencimiento de la factura sin que esta haya sido pagada por completo. Este `evento` marca la transición de una factura de estado 'actual' a 'vencida'. | ||
| Por qué es importante Este es un hito clave que desencadena los procesos de cobro. Analizar el volumen y el valor de las facturas que superan su fecha de vencimiento es esencial para gestionar el capital de trabajo y evaluar el riesgo de crédito. Dónde obtener Este evento se calcula comparando la fecha actual del sistema con la DUE_DATE en la tabla AR_PAYMENT_SCHEDULES_ALL para facturas con un STATUS de 'OP' (Abierta). Capturar
Tipo de evento calculated | |||
| Pago Aplicado | Representa la aplicación de un pago recibido a una factura específica, reduciendo el saldo pendiente de la factura. Este es el paso que vincula formalmente un pago a una factura. | ||
| Por qué es importante Esta actividad es crítica para reconocer que una factura ha sido pagada. Es el verdadero punto final para el cálculo de los Días de Venta Pendientes (DSO) y el ciclo de registro de pagos. Dónde obtener Este es un evento explícito capturado de la APPLY_DATE en la tabla AR_RECEIVABLE_APPLICATIONS_ALL, que vincula un recibo de efectivo a una transacción de cliente (factura). Capturar APPLY_DATE de AR_RECEIVABLE_APPLICATIONS_ALL para la factura relevante. Tipo de evento explicit | |||
| Pago Recibido | Marca la recepción de fondos de un cliente, que aún no se han aplicado a una factura específica. Esto se registra cuando se crea una transacción de recibo de efectivo en el sistema. | ||
| Por qué es importante Este es un hito importante en el proceso de cobros, que indica que se ha recibido efectivo. El tiempo entre esto y la aplicación del pago es una medida de la eficiencia del procesamiento interno. Dónde obtener Capturado explícitamente de la RECEIPT_DATE en la tabla AR_CASH_RECEIPTS_ALL. El recibo puede luego vincularse a la factura a la que se aplicó a través de AR_RECEIVABLE_APPLICATIONS_ALL. Capturar RECEIPT_DATE de AR_CASH_RECEIPTS_ALL, vinculado a través de tablas de aplicación. Tipo de evento explicit | |||
| Procedimiento de Recordatorio de Pago Iniciado | Representa el inicio formal del proceso de cobro para una factura vencida, a menudo implicando el envío de la primera carta oficial de cobro. Esto se registra típicamente cuando se ejecuta un proceso por lotes de cobro e incluye la factura. | ||
| Por qué es importante El seguimiento de esta actividad es crucial para medir la efectividad del cobro y el cumplimiento de las políticas de cobro. Proporciona una base para medir cuánto tiempo tarda el cobro en resultar en un pago. Dónde obtener Registrado en el módulo Oracle Advanced Collections. La fecha de creación de un registro de cobro en tablas como IEX_DUNNINGS, vinculado al ID de transacción, marca este evento. Capturar Fecha de creación del registro en la tabla IEX_DUNNINGS asociada a la factura. Tipo de evento explicit | |||
| Acción del Cobrador Completada | Representa una acción manual realizada por un gestor de cobro, como hacer una llamada telefónica, enviar un correo electrónico o registrar una nota de interacción. Estas se registran como 'actividades' o 'interacciones' dentro del módulo de cobros. | ||
| Por qué es importante El monitoreo de las acciones de los gestores de cobro ayuda a medir la eficiencia y efectividad del flujo de trabajo manual de cobros. Permite analizar la frecuencia de las actividades y su correlación con el éxito del pago. Dónde obtener Capturado de tablas de historial de interacción o Capturar
Tipo de evento explicit | |||
| Disputa Registrada | Indica que el cliente ha disputado formalmente la factura, en parte o en su totalidad. Esto se captura típicamente mediante un cambio de estado en el calendario de pagos de la factura. | ||
| Por qué es importante Esta actividad es el punto de partida para el proceso de resolución de disputas. Analizar el tiempo desde el registro hasta la resolución es fundamental para identificar los cuellos de botella que retrasan el cobro de efectivo. Dónde obtener Inferido de un cambio de estado en la tabla AR_PAYMENT_SCHEDULES_ALL, donde el campo STATUS cambia a 'DS' (Disputada). El Capturar Detectar cuándo AR_PAYMENT_SCHEDULES_ALL.STATUS cambia a 'DS' para la factura. Tipo de evento inferred | |||
| Disputa Resuelta | Indica que una disputa registrada ha sido investigada y se ha llegado a una resolución. Esto se captura cuando se elimina el estado de disputa de la factura. | ||
| Por qué es importante Este evento marca el final del ciclo de resolución de disputas. La duración entre 'Disputa Registrada' y este evento es un KPI clave para medir la eficiencia operativa y su impacto en el flujo de efectivo. Dónde obtener Inferido cuando el STATUS en AR_PAYMENT_SCHEDULES_ALL cambia de 'DS' (Disputada) a 'OP' (Abierta) o a 'CL' (Cerrada) después de una nota de crédito o ajuste. Capturar Detectar cuándo AR_PAYMENT_SCHEDULES_ALL.STATUS cambia de 'DS' a otro estado. Tipo de evento inferred | |||
| Estrategia de Cobranza Asignada | Ocurre cuando se asigna una estrategia de cobro automatizada a la factura o al cliente vencido. Esto define la serie de pasos y actividades que el sistema o el cobrador seguirán. | ||
| Por qué es importante Este evento proporciona información sobre la automatización del proceso de cobros. Analizar qué estrategias se asignan y sus resultados ayuda a optimizar los enfoques de cobro para diferentes segmentos de clientes. Dónde obtener Registrado dentro del módulo Oracle Advanced Collections. Esto se suele determinar observando la fecha de creación de una asignación de estrategia en tablas como IEX_STRATEGIES u objetos relacionados. Capturar Fecha de creación del elemento de trabajo de la estrategia en las tablas de cobranzas vinculado al cliente o a la transacción. Tipo de evento explicit | |||
| Factura Cerrada | Ocurre cuando el saldo pendiente de la factura se vuelve cero, ya sea a través de un pago, la aplicación de una nota de crédito o un ajuste. Esto marca la finalización exitosa del ciclo de vida de la factura. | ||
| Por qué es importante Este evento sirve como un punto final de éxito principal para el proceso. Monitorear el cierre de las facturas es fundamental para comprender la salud general de la cartera de cuentas por cobrar. Dónde obtener Inferido de un cambio de estado en la tabla AR_PAYMENT_SCHEDULES_ALL, donde STATUS cambia a 'CL' (Cerrada). El Capturar Detectar cuándo AR_PAYMENT_SCHEDULES_ALL.STATUS se convierte en 'CL' para la factura. Tipo de evento inferred | |||
| Factura enviada al cliente | Indica que la factura ha sido entregada formalmente al cliente, ya sea electrónicamente o mediante impresión. Este `evento` puede ser registrado explícitamente por un módulo de entrega o inferido de la fecha de impresión de la factura. | ||
| Por qué es importante Esta actividad marca el inicio del plazo de pago del cliente. El seguimiento de esto ayuda a calcular con precisión los días de vencimiento y a analizar cualquier retraso entre la generación de la factura y la notificación al cliente. Dónde obtener Puede ser capturado de la LAST_PRINTED_DATE en RA_CUSTOMER_TRX_ALL. Alternativamente, puede inferirse de los Capturar Use LAST_PRINTED_DATE de RA_CUSTOMER_TRX_ALL o el estado de un registro de entrega. Tipo de evento inferred | |||
| Promesa de Pago Creada | Representa un acuerdo formal registrado en el sistema donde un cliente ha prometido realizar un pago en una fecha específica. Este es un resultado clave de las actividades de cobro. | ||
| Por qué es importante El seguimiento de las promesas de pago y sus tasas de cumplimiento es un indicador clave de rendimiento para los gestores de cobro. Ayuda a pronosticar el flujo de efectivo de las cuentas por cobrar vencidas y a evaluar la efectividad del gestor. Dónde obtener Creado explícitamente en Oracle Advanced Collections. La fecha de creación se captura de la tabla IEX_PROMISE_DETAILS. Capturar Fecha de creación de la tabla IEX_PROMISE_DETAILS para la factura correspondiente. Tipo de evento explicit | |||
| Revisión de Crédito Completada | Representa la finalización de una evaluación de crédito para el cliente asociado a la factura. Este evento se infiere típicamente vinculando la fecha de creación de la factura con la fecha de finalización de la revisión de crédito más reciente para esa cuenta de cliente, proporcionando una base para el análisis relacionado con el crédito. | ||
| Por qué es importante Analizar el tiempo desde la revisión de crédito hasta la realización del pedido ayuda a identificar retrasos en las etapas iniciales del ciclo de pedido a efectivo. Es fundamental para medir el KPI de Tiempo del Ciclo de Aprobación de Crédito y comprender el impacto de la decisión de crédito. Dónde obtener Inferido consultando HZ_CREDIT_PROFILE.LAST_CREDIT_REVIEW_DATE para el cliente en la factura (RA_CUSTOMER_TRX_ALL.BILL_TO_CUSTOMER_ID). El Capturar Vincular factura a la fecha más reciente de revisión de crédito del cliente antes de la creación de la factura. Tipo de evento inferred | |||
Guías de Extracción
Pasos
- Acceder a Oracle BI Publisher: Inicie sesión en su entorno de Oracle Fusion Financials. Navegue hasta el área de Informes y Análisis haciendo clic en el icono del Navegador, luego seleccione Herramientas > Informes y Análisis.
- Crear un Nuevo Modelo de
Datos: En el panel de Informes y Análisis, haga clic en el botón 'Explorar Catálogo'. En el catálogo, haga clic en el menú desplegable 'Nuevo' y seleccione 'Modelo deDatos'. - Definir el Conjunto de
Datosde Consulta SQL: En el editor del Modelo deDatos, haga clic en el icono '+' para agregar un nuevo conjunto dedatosy seleccione 'Consulta SQL'. - Configurar la Fuente de
Datos: En la nueva ventana del conjunto dedatos, asigne un nombre descriptivo a su conjunto dedatos, por ejemplo, 'CreditCollectionsEventLog'. Seleccione 'FSCM' o la base dedatosde aplicación Oracle Fusion apropiada como Fuente deDatos. Establezca el Tipo de SQL en 'SQL Estándar'. - Introducir la Consulta SQL: Copie la consulta SQL completa proporcionada en la sección 'query' de este documento y péguela en el área de texto de la Consulta SQL.
- Definir Parámetros de Consulta: La consulta utiliza parámetros como
:P_START_DATEy:P_END_DATEpara filtrar el rango de fechas. BI Publisher los detectará automáticamente. Puede configurarlos como solicitudes al usuario, estableciendo su tipo dedatosen 'Fecha'. - Guardar y Probar el Modelo de
Datos: Guarde el modelo dedatosen una carpeta compartida o personalizada. Para verificar que la consulta funciona, navegue hasta la pestaña 'Data', ingrese valores de parámetros de ejemplo (ej., un rango de fechas reciente) y haga clic en 'View' para ver una muestra de losdatosde salida. Asegúrese de que todas las columnas aparezcan correctamente. - Crear un Nuevo Informe: Vuelva al catálogo, haga clic en el menú desplegable 'Nuevo' y seleccione 'Informe'. En el cuadro de diálogo 'Crear Informe', seleccione la opción 'Usar Modelo de
Datos' y localice el modelo dedatosque acaba de guardar. - Configurar las Propiedades del Informe: En el editor de informes, un diseño de tabla simple es suficiente para la extracción de
datos. Establezca el formato de salida predeterminado. Paraprocess mining, CSV es el formato recomendado. Para ello, haga clic en 'Ver lista', busque 'CSV' en la lista de 'Formatos de salida' y marque su casilla. Es posible que desee desmarcar otros formatos para simplificar la experiencia del usuario. - Guardar el Informe: Guarde el informe en la misma carpeta que su modelo de
datos. - Programar la Extracción: Para automatizar la extracción, usted puede programar el informe. Abra el informe, haga clic en 'Actions' y seleccione 'Schedule'. Configure la frecuencia de la programación (ej., diaria), especifique el formato de salida como CSV y defina el destino de entrega, como un directorio de servidor de contenido o un servidor externo vía FTP.
Configuración
- Requisitos Previos: El usuario que crea y ejecuta el informe debe tener los roles de BI apropiados (ej., 'Administrador de BI' o 'Autor de BI') y permisos de seguridad de
datospara acceder a las tablas subyacentes de Finanzas (AR, IEX, HZ, JTF). - Fuente de
Datos: La consulta debe ejecutarse contra la base dedatosprincipal de la aplicación, típicamente llamada 'FSCM'. - Parámetros de Rango de Fechas: Es fundamental usar los parámetros
:P_START_DATEy:P_END_DATEpara limitar el volumen dedatos. Para las pruebas iniciales, use un rango pequeño, como un mes. Para las ejecuciones en producción, un período móvil de 3 a 6 meses es lo habitual. - Filtrado: Para organizaciones grandes, considere agregar un parámetro para
BU_NAME(Nombre de Unidad de Negocio) a la cláusulaWHEREen la expresión de tabla comúninvoices_basepara procesardatosde una unidad de negocio a la vez. - Consideraciones de Rendimiento: La consulta une múltiples tablas transaccionales grandes. Ejecutarla para un amplio rango de fechas sin filtros puede llevar a tiempos de ejecución prolongados o a exceder el tiempo de espera en BI Publisher. Programe el informe para que se ejecute fuera de las horas pico.
- Formato de Salida: Asegúrese de que el formato de salida predeterminado o programado sea CSV. Esto proporciona un archivo limpio y delimitado que es fácilmente consumible por las herramientas de
process mining. Verifique las propiedades de salida CSV para asegurar que el delimitador y la codificación de caracteres estén configurados correctamente.
a Consulta de ejemplo sql
WITH invoices_base AS (
SELECT
trx.customer_trx_id,
trx.trx_number AS InvoiceNumber,
hca.account_number AS CustomerNumber,
hcp.class_category || ':' || hcp.class_code AS CustomerSegment, -- Example of segment, may need adjustment
ps.amount_due_original AS InvoiceAmount,
coll.name AS Collector,
ps.due_date AS DueDate,
trx.creation_date AS InvoiceCreationDate,
trx.created_by AS InvoiceCreatedBy,
ps.payment_schedule_id
FROM
ra_customer_trx_all trx
JOIN ar_payment_schedules_all ps ON trx.customer_trx_id = ps.customer_trx_id
JOIN hz_cust_accounts hca ON trx.bill_to_customer_id = hca.cust_account_id
JOIN hz_customer_profiles hcp ON hca.cust_account_id = hcp.cust_account_id AND hcp.site_use_id IS NULL
LEFT JOIN iex_delinquencies_all del ON ps.payment_schedule_id = del.payment_schedule_id
LEFT JOIN JTF_RS_RESOURCE_EXTNS_VL coll ON del.collector_id = coll.resource_id
WHERE
trx.creation_date BETWEEN TO_DATE(:P_START_DATE, 'YYYY-MM-DD') AND TO_DATE(:P_END_DATE, 'YYYY-MM-DD')
AND trx.complete_flag = 'Y'
AND ps.class = 'INV'
)
-- 1. Credit Review Completed
SELECT
ib.InvoiceNumber AS "InvoiceNumber",
'Credit Review Completed' AS "ActivityName",
cr.review_date AS "EventTime",
'Oracle Fusion Financials' AS "SourceSystem",
SYSDATE AS "LastDataUpdate",
ib.CustomerNumber AS "CustomerNumber",
ib.CustomerSegment AS "CustomerSegment",
ib.InvoiceAmount AS "InvoiceAmount",
ib.Collector AS "Collector",
NULL AS "DunningLevel",
ib.DueDate AS "DueDate",
cr.created_by AS "User"
FROM
invoices_base ib
JOIN
hz_credit_reviews cr ON ib.CustomerNumber = (SELECT hca.account_number FROM hz_cust_accounts hca WHERE hca.cust_account_id = cr.cust_account_id)
WHERE cr.review_date = (SELECT MAX(cr_inner.review_date) FROM hz_credit_reviews cr_inner WHERE cr_inner.cust_account_id = cr.cust_account_id AND cr_inner.review_date < ib.InvoiceCreationDate)
UNION ALL
-- 2. Invoice Generated
SELECT
ib.InvoiceNumber,
'Invoice Generated' AS "ActivityName",
trx.creation_date AS "EventTime",
'Oracle Fusion Financials' AS "SourceSystem",
SYSDATE AS "LastDataUpdate",
ib.CustomerNumber,
ib.CustomerSegment,
ib.InvoiceAmount,
ib.Collector,
NULL AS "DunningLevel",
ib.DueDate,
trx.created_by AS "User"
FROM
invoices_base ib
JOIN ra_customer_trx_all trx ON ib.customer_trx_id = trx.customer_trx_id
UNION ALL
-- 3. Invoice Sent To Customer
SELECT
ib.InvoiceNumber,
'Invoice Sent To Customer' AS "ActivityName",
trx.last_printed_date AS "EventTime",
'Oracle Fusion Financials' AS "SourceSystem",
SYSDATE AS "LastDataUpdate",
ib.CustomerNumber,
ib.CustomerSegment,
ib.InvoiceAmount,
ib.Collector,
NULL AS "DunningLevel",
ib.DueDate,
trx.last_updated_by AS "User"
FROM
invoices_base ib
JOIN ra_customer_trx_all trx ON ib.customer_trx_id = trx.customer_trx_id
WHERE trx.last_printed_date IS NOT NULL
UNION ALL
-- 4. Payment Due Date Passed
SELECT
ib.InvoiceNumber,
'Payment Due Date Passed' AS "ActivityName",
ps.due_date AS "EventTime",
'Oracle Fusion Financials' AS "SourceSystem",
SYSDATE AS "LastDataUpdate",
ib.CustomerNumber,
ib.CustomerSegment,
ib.InvoiceAmount,
ib.Collector,
NULL AS "DunningLevel",
ib.DueDate,
'SYSTEM' AS "User"
FROM
invoices_base ib
JOIN ar_payment_schedules_all ps ON ib.payment_schedule_id = ps.payment_schedule_id
WHERE ps.due_date < SYSDATE AND ps.status = 'OP'
UNION ALL
-- 5. Dunning Procedure Initiated
SELECT
ib.InvoiceNumber,
'Dunning Procedure Initiated' AS "ActivityName",
dunn.dunning_date AS "EventTime",
'Oracle Fusion Financials' AS "SourceSystem",
SYSDATE AS "LastDataUpdate",
ib.CustomerNumber,
ib.CustomerSegment,
ib.InvoiceAmount,
ib.Collector,
TO_CHAR(dunn.dunning_level) AS "DunningLevel",
ib.DueDate,
dunn.created_by AS "User"
FROM
invoices_base ib
JOIN iex_dunning_transactions dunt ON ib.customer_trx_id = dunt.transaction_id
JOIN iex_dunnings dunn ON dunt.dunning_id = dunn.dunning_id
UNION ALL
-- 6. Collection Strategy Assigned
SELECT
ib.InvoiceNumber,
'Collection Strategy Assigned' AS "ActivityName",
strat.creation_date AS "EventTime",
'Oracle Fusion Financials' AS "SourceSystem",
SYSDATE AS "LastDataUpdate",
ib.CustomerNumber,
ib.CustomerSegment,
ib.InvoiceAmount,
ib.Collector,
NULL AS "DunningLevel",
ib.DueDate,
strat.created_by AS "User"
FROM
invoices_base ib
JOIN iex_strategy_work_items swi ON ib.payment_schedule_id = swi.payment_schedule_id
JOIN iex_strategies_vl strat ON swi.strategy_id = strat.strategy_id
UNION ALL
-- 7. Collector Action Completed
SELECT
ib.InvoiceNumber,
task_type.name AS "ActivityName",
task.actual_end_date AS "EventTime",
'Oracle Fusion Financials' AS "SourceSystem",
SYSDATE AS "LastDataUpdate",
ib.CustomerNumber,
ib.CustomerSegment,
ib.InvoiceAmount,
ib.Collector,
NULL AS "DunningLevel",
ib.DueDate,
res.source_name AS "User"
FROM
invoices_base ib
JOIN jtf_task_references_b ref ON ib.customer_trx_id = ref.object_id AND ref.object_type_code = 'OKC_K_HEADER'
JOIN jtf_tasks_b task ON ref.task_id = task.task_id
JOIN jtf_task_types_vl task_type ON task.task_type_id = task_type.task_type_id
JOIN jtf_rs_resource_extns_vl res ON task.owner_id = res.resource_id
WHERE task.actual_end_date IS NOT NULL
UNION ALL
-- 8. Promise To Pay Created
SELECT
ib.InvoiceNumber,
'Promise To Pay Created' AS "ActivityName",
prom.creation_date AS "EventTime",
'Oracle Fusion Financials' AS "SourceSystem",
SYSDATE AS "LastDataUpdate",
ib.CustomerNumber,
ib.CustomerSegment,
ib.InvoiceAmount,
ib.Collector,
NULL AS "DunningLevel",
ib.DueDate,
prom.created_by AS "User"
FROM
invoices_base ib
JOIN iex_promise_details prom ON ib.payment_schedule_id = prom.payment_schedule_id
UNION ALL
-- 9. Dispute Registered
SELECT
ib.InvoiceNumber,
'Dispute Registered' AS "ActivityName",
ps.dispute_date AS "EventTime",
'Oracle Fusion Financials' AS "SourceSystem",
SYSDATE AS "LastDataUpdate",
ib.CustomerNumber,
ib.CustomerSegment,
ib.InvoiceAmount,
ib.Collector,
NULL AS "DunningLevel",
ib.DueDate,
ps.last_updated_by AS "User"
FROM
invoices_base ib
JOIN ar_payment_schedules_all ps ON ib.payment_schedule_id = ps.payment_schedule_id
WHERE ps.amount_in_dispute IS NOT NULL AND ps.dispute_date IS NOT NULL
UNION ALL
-- 10. Dispute Resolved
SELECT
ib.InvoiceNumber,
'Dispute Resolved' AS "ActivityName",
disp.resolution_date AS "EventTime",
'Oracle Fusion Financials' AS "SourceSystem",
SYSDATE AS "LastDataUpdate",
ib.CustomerNumber,
ib.CustomerSegment,
ib.InvoiceAmount,
ib.Collector,
NULL AS "DunningLevel",
ib.DueDate,
disp.last_updated_by AS "User"
FROM
invoices_base ib
JOIN ar_disputes_all disp ON ib.payment_schedule_id = disp.payment_schedule_id
WHERE disp.status = 'CLOSED' AND disp.resolution_date IS NOT NULL
UNION ALL
-- 11. Payment Received
SELECT
ib.InvoiceNumber,
'Payment Received' AS "ActivityName",
cr.receipt_date AS "EventTime",
'Oracle Fusion Financials' AS "SourceSystem",
SYSDATE AS "LastDataUpdate",
ib.CustomerNumber,
ib.CustomerSegment,
ib.InvoiceAmount,
ib.Collector,
NULL AS "DunningLevel",
ib.DueDate,
cr.created_by AS "User"
FROM
invoices_base ib
JOIN ar_receivable_applications_all app ON ib.payment_schedule_id = app.applied_payment_schedule_id
JOIN ar_cash_receipts_all cr ON app.cash_receipt_id = cr.cash_receipt_id
WHERE app.status = 'APP'
UNION ALL
-- 12. Payment Applied
SELECT
ib.InvoiceNumber,
'Payment Applied' AS "ActivityName",
app.apply_date AS "EventTime",
'Oracle Fusion Financials' AS "SourceSystem",
SYSDATE AS "LastDataUpdate",
ib.CustomerNumber,
ib.CustomerSegment,
ib.InvoiceAmount,
ib.Collector,
NULL AS "DunningLevel",
ib.DueDate,
app.created_by AS "User"
FROM
invoices_base ib
JOIN ar_receivable_applications_all app ON ib.payment_schedule_id = app.applied_payment_schedule_id
WHERE app.status = 'APP'
UNION ALL
-- 13. Invoice Closed
SELECT
ib.InvoiceNumber,
'Invoice Closed' AS "ActivityName",
ps.gl_date_closed AS "EventTime",
'Oracle Fusion Financials' AS "SourceSystem",
SYSDATE AS "LastDataUpdate",
ib.CustomerNumber,
ib.CustomerSegment,
ib.InvoiceAmount,
ib.Collector,
NULL AS "DunningLevel",
ib.DueDate,
ps.last_updated_by AS "User"
FROM
invoices_base ib
JOIN ar_payment_schedules_all ps ON ib.payment_schedule_id = ps.payment_schedule_id
WHERE ps.status = 'CL' AND ps.gl_date_closed IS NOT NULL
UNION ALL
-- 14. Invoice Written Off
SELECT
ib.InvoiceNumber,
'Invoice Written Off' AS "ActivityName",
adj.apply_date AS "EventTime",
'Oracle Fusion Financials' AS "SourceSystem",
SYSDATE AS "LastDataUpdate",
ib.CustomerNumber,
ib.CustomerSegment,
ib.InvoiceAmount,
ib.Collector,
NULL AS "DunningLevel",
ib.DueDate,
adj.created_by AS "User"
FROM
invoices_base ib
JOIN ar_adjustments_all adj ON ib.customer_trx_id = adj.customer_trx_id
JOIN ar_receivables_trx_all rt ON adj.receivables_trx_id = rt.receivables_trx_id
WHERE rt.name = '[Your Write-Off Activity Name]' -- Example: 'Bad Debt Write-off'