Your Credit Management & Collections Data Template
Your Credit Management & Collections Data Template
- Recommended attributes for comprehensive analysis
- Key activities to track for process discovery
- Step-by-step data extraction guidance
Credit Management & Collections Attributes
| Name | Description | ||
|---|---|---|---|
| Activity Name ActivityName | The name of the specific business event or task that occurred at a point in time within the credit management process. | ||
| Description This attribute describes a single step in the invoice lifecycle, such as 'Invoice Generated', 'Dunning Procedure Initiated', or 'Payment Received'. Each activity represents a distinct event that moves the case forward. Analyzing the sequence and frequency of activities is the core of process mining. It helps uncover the actual process flow, identify bottlenecks where cases get stuck, detect rework loops where activities are repeated, and compare the actual process against the designed or ideal process. The Activity Name is fundamental for building process maps and calculating transition times between steps. Why it matters This attribute defines the steps in the process map, allowing for the visualization and analysis of the invoice lifecycle from start to finish. Where to get This is a conceptual field derived from various business events within Oracle Fusion Financials, often constructed by mapping transaction statuses, event dates, or specific actions from modules like Receivables (AR) and Advanced Collections. Examples Invoice GeneratedDunning Procedure InitiatedPayment ReceivedDispute Registered | |||
| Event Time EventTime | The precise date and time when the activity occurred, serving as the event's timestamp. | ||
| Description The Event Time, or timestamp, records the exact moment an activity took place. It is essential for ordering events chronologically to build an accurate process flow. Without accurate timestamps, the sequence of events cannot be determined correctly. In analysis, this attribute is used to calculate durations and cycle times between activities, which is critical for performance measurement. For example, it is used to calculate KPIs like Dispute Resolution Cycle Time or Invoice Payment Cycle Time. It also enables the analysis of process performance trends over different time periods. Why it matters This timestamp is essential for ordering events, calculating cycle times and durations, and analyzing process performance over time. Where to get Derived from various date fields across Oracle Fusion Financials tables, such as TRX_DATE in RA_CUSTOMER_TRX_ALL for invoice creation or the creation date of a collection action. Examples 2023-04-15T10:00:00Z2023-05-01T14:30:00Z2023-05-20T09:15:22Z | |||
| Invoice Number InvoiceNumber | The unique identifier for each customer invoice, serving as the primary case identifier for the credit management process. | ||
| Description The Invoice Number is the central key that links all events and activities related to a single receivable, from its creation to its final settlement or write-off. It allows for a complete, end-to-end view of the invoice lifecycle. In process mining analysis, this attribute is used to reconstruct the journey of each invoice. By grouping all related activities under a single Invoice Number, analysts can visualize process flows, identify common and deviant paths, and measure cycle times for the entire process or specific stages, such as dispute resolution or payment posting. Why it matters This is the essential Case ID that connects all related process steps, enabling the reconstruction and analysis of each invoice's journey from issuance to closure. Where to get This identifier is typically found in the RA_CUSTOMER_TRX_ALL table as TRX_NUMBER in Oracle Fusion Financials. Examples INV-1005679884321AR-2023-04-112 | |||
| Last Data Update LastDataUpdate | The timestamp indicating when the data for this event was last refreshed or extracted from the source system. | ||
| Description This attribute marks the date and time of the most recent data extraction. It is a metadata field that is not part of the business process itself but is crucial for understanding the freshness of the data being analyzed. Analysts use this timestamp to confirm they are working with up-to-date information and to understand the cutoff point for the data. It is essential for data governance and for managing user expectations about data currency in dashboards and reports. Why it matters Indicates the freshness of the data, ensuring analysts and stakeholders are aware of the data's timeliness and relevance. Where to get This value is generated and stamped on each record during the data extraction and loading (ETL) process. Examples 2023-10-27T02:00:00Z2023-10-28T02:00:00Z | |||
| Source System SourceSystem | The system from which the data originates. | ||
| Description This attribute identifies the source application where the event data was recorded. In a complex IT landscape, multiple systems might be involved in a single end-to-end process. Specifying the source system is important for data governance, troubleshooting, and understanding the context of the data. It helps differentiate events from various systems if they are combined into a single process view, ensuring data lineage is clear. Why it matters Provides clarity on data origin, which is crucial for data validation, governance, and understanding the technological context of the process. Where to get This is typically a static value added during data extraction to identify the origin of the records. Examples Oracle Fusion FinancialsOracle AROracle Collections | |||
| Collector Collector | The name or ID of the collections agent assigned to the invoice. | ||
| Description The Collector is the individual or team responsible for managing the collection activities for an overdue invoice. This assignment is a key step in the collections workflow. This attribute is crucial for performance management and resource allocation within the collections department. By analyzing outcomes per collector, managers can assess collector effectiveness, identify training needs, and balance workloads. The Collector Assignment Effectiveness dashboard directly relies on this attribute to compare success rates and cycle times across different collectors. Why it matters Enables performance analysis of individual collectors or teams, helping to optimize resource allocation and improve overall collection efficiency. Where to get This information is typically stored in the Oracle Advanced Collections module, often in tables like IEX_CASES_ALL_B or related assignment tables. Examples John SmithJane DoeCollections Team A | |||
| Customer Number CustomerNumber | A unique identifier for the customer associated with the invoice. | ||
| Description The Customer Number links an invoice to a specific customer account. This allows for segmentation and analysis of the credit and collections process based on customer attributes. By including the Customer Number, analysts can investigate whether certain customers consistently pay late, raise more disputes, or require more collection efforts. This information is vital for creating customer-specific collection strategies, adjusting credit terms, and identifying high-risk customer segments. It directly supports analyses like the Invoice Write-Off Rate Analysis by Customer Segment. Why it matters Enables segmentation of the process by customer, helping to identify patterns, risks, and opportunities for tailored collection strategies. Where to get Typically found in the RA_CUSTOMER_TRX_ALL table as BILL_TO_CUSTOMER_ID, which links to HZ_CUST_ACCOUNTS. Examples CUST-0012389455ACME-CORP-US | |||
| Customer Segment CustomerSegment | The classification of the customer into a defined group, such as by size, industry, or strategic importance. | ||
| Description Customer Segment is a categorical attribute that groups customers based on shared characteristics. Segments could be defined by factors like 'Strategic', 'SMB', 'Enterprise', or by industry like 'Manufacturing' or 'Retail'. This attribute is powerful for comparative analysis. It allows analysts to compare process performance across different segments to see, for example, if one segment has a higher rate of disputes or a longer payment cycle. This insight helps tailor credit policies and collection strategies to the specific needs and risks of each segment, supporting dashboards like the Invoice Write-Off Rate Analysis. Why it matters Allows for powerful comparative analysis, revealing how process performance and risks vary across different customer groups. Where to get Often managed in customer master data (HZ_CUST_ACCOUNTS or related tables) or derived from customer attributes like revenue or industry. Examples Large EnterpriseSmall & Medium BusinessGovernmentStrategic Partner | |||
| Due Date DueDate | The date by which payment for the invoice is due. | ||
| Description The Due Date is a critical date attribute contractually agreed upon for payment. It is the baseline against which timeliness of payment is measured. This attribute is fundamental for identifying overdue invoices and calculating the number of days an invoice is past due. It is the primary input for determining when dunning procedures should be initiated and is used in calculating KPIs like Days Sales Outstanding (DSO). It is also essential for creating aging reports that classify outstanding debt. Why it matters Acts as the baseline for determining if an invoice is overdue, triggering collection activities and enabling aging analysis. Where to get Available in the AR_PAYMENT_SCHEDULES_ALL table as DUE_DATE. Examples 2023-05-302023-06-152023-07-01 | |||
| Dunning Level DunningLevel | The stage or level of the dunning procedure that has been applied to the invoice. | ||
| Description Dunning Level indicates the intensity of the collection reminder, which typically escalates over time. For example, Level 1 might be a gentle email reminder, while Level 3 could be a formal letter or a phone call. Analyzing the process by Dunning Level helps assess the effectiveness of the dunning strategy. The Dunning Effectiveness Dashboard uses this attribute to visualize conversion rates from each dunning step to payment. This allows the business to determine which dunning actions are most effective and to fine-tune the timing and content of reminders to maximize collections. Why it matters Tracks the escalation stage of collection efforts, which is critical for evaluating the effectiveness of the dunning strategy. Where to get This data is managed within the Oracle Advanced Collections module. It can be found in tables related to dunning history, such as IEX_DUNNINGS. Examples Level 1: ReminderLevel 2: WarningLevel 3: Final Notice | |||
| Invoice Amount InvoiceAmount | The total monetary value of the invoice. | ||
| Description The Invoice Amount represents the total value of the goods or services billed to the customer. This is a critical financial attribute for understanding the monetary impact of the process. In analysis, Invoice Amount is used to prioritize collection efforts, focusing on high-value overdue invoices. It is also used to analyze payment behaviors based on transaction value and to calculate the financial impact of write-offs. Dashboards like the Invoice Write-Off Rate Analysis rely on this value to assess the magnitude of financial losses. Why it matters Provides financial context to the process, enabling prioritization of high-value invoices and analysis of the monetary impact of process inefficiencies. Where to get This information can be derived from the AR_PAYMENT_SCHEDULES_ALL table, which stores the amount due for an invoice. Examples 5000.001250.75250000.00 | |||
| User User | The user or system ID that performed the activity. | ||
| Description This attribute identifies the specific employee or automated system user responsible for executing an activity, such as approving a credit limit, posting a payment, or resolving a dispute. Analyzing activities by user is essential for understanding workload distribution, individual performance, and compliance. For automated activities, it helps track the involvement of system processes. It can also be used to identify training needs or potential fraudulent activity by monitoring user behavior. Why it matters Attributes process activities to specific individuals or automated systems, enabling performance tracking, workload analysis, and auditing. Where to get Sourced from 'CREATED_BY' or 'LAST_UPDATED_BY' columns in various transaction and history tables throughout Oracle Fusion Financials. Examples jsmithar_specialist_1SYSTEM_AUTOMATION | |||
| Business Unit BusinessUnit | The specific business unit or organizational entity that issued the invoice. | ||
| Description In large organizations, operations are often divided into multiple business units. This attribute identifies which business unit is associated with the invoice. Analyzing the process by Business Unit enables comparison of performance across different parts of the organization. It can highlight inconsistencies in how credit and collections policies are applied and reveal which business units are more effective at managing their receivables. This helps in sharing best practices and standardizing processes where needed. Why it matters Enables performance comparison across different organizational units, helping to identify best practices and areas for improvement. Where to get Available in the RA_CUSTOMER_TRX_ALL table via the ORG_ID field, which links to the organization structure. Examples BU North AmericaBU EMEAGlobal Services Division | |||
| Credit Limit Amount CreditLimitAmount | The maximum amount of credit approved for the customer. | ||
| Description The Credit Limit Amount is the total credit exposure a company is willing to have with a particular customer. This is determined during the credit review process. This attribute is essential for the Credit Limit Decision Impact dashboard. By correlating the approved credit limit with subsequent payment behavior and write-offs, the business can assess the effectiveness of its credit risk policies. Analysis may reveal if excessively high credit limits are contributing to higher rates of bad debt, helping to refine the credit approval process. Why it matters Crucial for assessing the effectiveness of credit risk policies by correlating the approved credit limit with payment outcomes and write-offs. Where to get This is managed in Oracle Credit Management and is typically stored in tables related to customer credit profiles, such as HZ_CUST_PROFILE_AMTS. Examples 10000.0050000.00250000.00 | |||
| Days Overdue DaysOverdue | The number of days an invoice is past its due date. | ||
| Description This calculated metric quantifies how late an unpaid invoice is. It is calculated as the difference between the current date (for open invoices) or the payment date (for closed invoices) and the due date. Days Overdue is a critical measure for aging analysis and prioritizing collection efforts. It is the primary metric in the Overdue Invoice Aging & Status dashboard, where invoices are grouped into aging buckets (e.g., 1-30 days, 31-60 days). This helps the collections team focus on the oldest and highest-risk debts. Why it matters Quantifies the extent of payment delays, serving as a core metric for prioritizing collections and conducting aging analysis. Where to get This is a calculated field. The logic is: CurrentDate - DueDate for open invoices, or PaymentDate - DueDate for closed invoices. Examples 1545920 | |||
| Dispute Reason DisputeReason | The reason provided by the customer for disputing an invoice. | ||
| Description When a customer disputes an invoice, they typically provide a reason, such as 'Incorrect Pricing', 'Damaged Goods', or 'Duplicate Invoice'. This attribute captures that reason. Analyzing dispute reasons is key to root cause analysis. It helps identify recurring problems in upstream processes like order management or billing that lead to payment delays. By categorizing and tracking the frequency of different dispute reasons, a business can take targeted actions to fix these root causes, which supports the goal of shortening the Dispute Resolution Cycle Time. Why it matters Helps identify the root causes of invoice disputes, enabling proactive improvements to upstream processes to prevent future disputes. Where to get This information is typically captured in the Oracle Advanced Collections or Oracle Channel Revenue Management modules if dispute management is formalized. It may reside in tables like AR_DISPUTE_HISTORY. Examples Incorrect QuantityPrice DiscrepancyDamaged GoodsService Not Rendered | |||
| End Time EndTime | The timestamp indicating when an activity with a duration was completed. | ||
| Description For activities that have a distinct start and end, this attribute captures the completion time. While many events in process mining are instantaneous, some, like 'Dispute Investigation', can span a period of time. Having a separate End Time allows for the precise calculation of activity processing times. This is more accurate than inferring duration from the start time of the next activity, especially when there are idle periods. It is crucial for analyzing resource utilization and identifying which specific steps are taking the most time within the process. Why it matters Enables accurate calculation of how long specific activities take, providing deeper insight into bottlenecks and resource utilization. Where to get This is often a conceptual attribute. It may be sourced from a 'last updated' timestamp or a specific 'close date' field in the source tables corresponding to the activity. Examples 2023-04-15T11:30:00Z2023-05-02T09:00:00Z2023-05-21T16:45:00Z | |||
| Invoice Currency InvoiceCurrency | The currency in which the invoice amount is denominated. | ||
| Description This attribute specifies the currency of the invoice, such as USD, EUR, or GBP. In multinational organizations, invoices are often issued in various currencies. Analyzing data with multiple currencies requires careful handling. This attribute allows for filtering the process view by currency or for applying the correct exchange rates for consolidated financial reporting. It ensures that monetary values are interpreted correctly and that comparisons of amounts are made on a like-for-like basis. Why it matters Essential for correctly interpreting financial data in a multi-currency environment and ensuring accurate financial analysis. Where to get Typically found in the RA_CUSTOMER_TRX_ALL table as INVOICE_CURRENCY_CODE. Examples USDEURGBPJPY | |||
| Invoice Status InvoiceStatus | The current status of the invoice in its lifecycle. | ||
| Description Invoice Status provides a snapshot of where the invoice currently stands in the process. Common statuses include 'Open', 'Paid', 'Disputed', 'Past Due', or 'Written Off'. This attribute provides a high-level overview of the state of receivables. In process mining, this attribute is useful for filtering cases to focus on specific populations, such as all open overdue invoices. It is a key dimension in the Overdue Invoice Aging & Status dashboard, providing immediate visibility into the current state of the invoice portfolio and helping to prioritize collection activities. Why it matters Provides a quick overview of the current state of an invoice, allowing for easy filtering and prioritization of collection efforts. Where to get Typically available in the AR_PAYMENT_SCHEDULES_ALL table in a field named STATUS. Examples OpenClosedDisputedIn Collection | |||
| Is Overdue IsOverdue | A boolean flag indicating whether the invoice is past its payment due date. | ||
| Description This is a derived attribute that provides a simple true or false indication of an invoice's overdue status. It is typically calculated by comparing the current date (or the payment date) with the invoice's due date. This flag is extremely useful for filtering and segmentation in analysis. It allows analysts to quickly isolate the population of overdue invoices to study their process paths, the effectiveness of collection activities, and other characteristics. It simplifies the creation of dashboards and KPIs focused on managing overdue debt, such as the Overdue Invoice Aging & Status dashboard. Why it matters Provides a simple, clear flag for identifying and analyzing all overdue invoices, which is the primary focus of the collections process. Where to get This is a calculated field. The logic is: IF CurrentDate > DueDate AND Status != 'Paid' THEN True ELSE False. Examples truefalse | |||
| Is Written Off IsWrittenOff | A boolean flag indicating whether the invoice has been written off as bad debt. | ||
| Description This is a derived flag that identifies invoices that the company has deemed uncollectible and has removed from its active receivables. This is typically the final, and undesirable, outcome for an invoice. This attribute is essential for calculating the Invoice Write-Off Rate KPI and for the associated analysis dashboard. It allows analysts to isolate the population of failed collections to identify common characteristics, such as customer segment or invoice value, that may be associated with a higher risk of write-off. This insight is used to improve credit policies and collection strategies. Why it matters Clearly identifies cases of collection failure, which is essential for analyzing root causes of bad debt and calculating write-off rates. Where to get This is a calculated field, derived by checking if an 'Invoice Written Off' activity exists for the case or if the invoice status is 'Written Off'. Examples truefalse | |||
| Payment Terms PaymentTerms | The agreed-upon terms that specify when payment is due. | ||
| Description Payment Terms define the conditions under which a customer is expected to pay, for example, 'Net 30' or 'Net 60'. These terms are used to calculate the invoice due date. Analyzing payment performance by payment terms can reveal interesting patterns. For instance, customers with shorter terms might be more likely to pay late. This information can be used to review and optimize credit policies and to segment customers for different collection strategies. It provides valuable context for understanding why certain invoices become overdue. Why it matters Provides context on the agreed payment schedule, enabling analysis of payment behavior across different credit terms. Where to get This is stored in the RA_TERMS table and linked to the invoice transaction. Examples Net 30Net 60Due on Receipt | |||
| Processing Time ProcessingTime | The duration of time spent actively working on an activity. | ||
| Description Processing time measures the active work time for a specific task, excluding any waiting or idle time. It is calculated as the difference between an activity's End Time and Start Time. This metric is invaluable for performance analysis, as it helps distinguish between time spent actively working on a case versus time spent waiting for something else to happen. For example, it can highlight inefficiencies in the 'Dispute Resolution' activity itself, separate from the time the dispute was waiting to be assigned. This supports dashboards like Collections Workflow Efficiency. Why it matters Measures the actual work duration of activities, helping to pinpoint inefficiencies within specific tasks rather than just the time between them. Where to get This is a calculated metric, derived by subtracting the StartTime from the EndTime (EndTime - StartTime). Examples 864003600604800 | |||
| Promise To Pay Date PromiseToPayDate | The date on which a customer has promised to make a payment. | ||
| Description During collection activities, a customer may commit to making a payment on a future date. This 'Promise to Pay Date' is recorded to track this commitment. This attribute is important for managing collection workflows and evaluating the reliability of customer commitments. By comparing the Promise to Pay Date with the actual Payment Received date, collectors can assess the success rate of these promises. It helps in forecasting cash flow more accurately and in deciding when to escalate collection efforts if a promise is broken. Why it matters Tracks customer payment commitments, helping to forecast cash inflows and manage the effectiveness of collection negotiations. Where to get Stored within the Oracle Advanced Collections module, likely in tables such as IEX_PROMISES_T. Examples 2023-06-102023-06-252023-07-05 | |||
Credit Management & Collections Activities
| Activity | Description | ||
|---|---|---|---|
| Dunning Procedure Initiated | Represents the formal start of the dunning process for an overdue invoice, often involving sending the first official dunning letter. This is typically recorded when a dunning batch process runs and includes the invoice. | ||
| Why it matters Tracking this activity is crucial for measuring dunning effectiveness and adherence to dunning policies. It provides a baseline to measure how long it takes for dunning to result in a payment. Where to get Logged in the Oracle Advanced Collections module. The creation date of a dunning record in tables like IEX_DUNNINGS, linked to the transaction ID, marks this event. Capture Creation date of the record in the IEX_DUNNINGS table associated with the invoice. Event type explicit | |||
| Invoice Generated | Marks the creation of the invoice transaction record in Oracle Fusion Financials. This is the official start of the invoice's lifecycle in the accounts receivable module and serves as the primary starting point for analysis. | ||
| Why it matters This is the critical start event for the invoice journey. All subsequent cycle time calculations, such as Days Sales Outstanding (DSO) and invoice payment cycle time, depend on this initial timestamp. Where to get This is an explicit event captured from the CREATION_DATE or TRX_DATE column in the RA_CUSTOMER_TRX_ALL table for a specific TRX_NUMBER (Invoice Number). Capture Event timestamp is the CREATION_DATE from the RA_CUSTOMER_TRX_ALL table. Event type explicit | |||
| Invoice Written Off | Represents the formal decision to cease collection efforts and absorb the invoice amount as bad debt. This is an explicit financial transaction that adjusts the invoice balance to zero. | ||
| Why it matters This is a critical failure endpoint for the collections process. Analyzing write-offs by customer segment, region, or credit limit helps refine credit policies and collection strategies to minimize losses. Where to get Explicitly captured from the creation of an adjustment in the AR_ADJUSTMENTS_ALL table with a RECEIVABLES_TRX_ID that points to a bad debt or write-off activity. Capture Creation date of a record in AR_ADJUSTMENTS_ALL with a write-off activity type. Event type explicit | |||
| Payment Applied | Represents the application of a received payment to a specific invoice, reducing the invoice's outstanding balance. This is the step that formally links a payment to an invoice. | ||
| Why it matters This activity is critical for recognizing that an invoice has been paid. It is the true end point for the Days Sales Outstanding (DSO) calculation and payment posting cycle. Where to get This is an explicit event captured from the APPLY_DATE in the AR_RECEIVABLE_APPLICATIONS_ALL table, which links a cash receipt to a customer transaction (invoice). Capture APPLY_DATE from AR_RECEIVABLE_APPLICATIONS_ALL for the relevant invoice. Event type explicit | |||
| Payment Due Date Passed | A calculated event that occurs when the current date passes the invoice's due date without the invoice being fully paid. This event marks the transition of an invoice from 'current' to 'overdue' status. | ||
| Why it matters This is a key milestone that triggers collection and dunning processes. Analyzing the volume and value of invoices passing their due date is essential for managing working capital and assessing credit risk. Where to get This event is calculated by comparing the system's current date against the DUE_DATE in the AR_PAYMENT_SCHEDULES_ALL table for invoices with a STATUS of 'OP' (Open). Capture Calculated event: occurs when SYSDATE > AR_PAYMENT_SCHEDULES_ALL.DUE_DATE. Event type calculated | |||
| Payment Received | Marks the receipt of funds from a customer, which may not yet be applied to a specific invoice. This is captured when a cash receipt transaction is created in the system. | ||
| Why it matters This is a major milestone in the collections process, indicating that cash has been received. The time between this and payment application is a measure of internal processing efficiency. Where to get Explicitly captured from the RECEIPT_DATE on the AR_CASH_RECEIPTS_ALL table. The receipt can then be linked to the invoice it was applied to via AR_RECEIVABLE_APPLICATIONS_ALL. Capture RECEIPT_DATE from AR_CASH_RECEIPTS_ALL, linked through application tables. Event type explicit | |||
| Collection Strategy Assigned | Occurs when an automated collection strategy is assigned to the overdue invoice or customer. This defines the series of steps and activities the system or collector will follow. | ||
| Why it matters This event provides insight into the automation of the collections process. Analyzing which strategies are assigned and their outcomes helps in optimizing collection approaches for different customer segments. Where to get Logged within the Oracle Advanced Collections module. This is typically found by looking at the creation date of a strategy assignment in tables such as IEX_STRATEGIES or related objects. Capture Creation date of the strategy work item in collections tables linked to the customer or transaction. Event type explicit | |||
| Collector Action Completed | Represents a manual action taken by a collector, such as making a phone call, sending an email, or logging an interaction note. These are logged as 'activities' or 'interactions' within the collections module. | ||
| Why it matters Monitoring collector actions helps measure the efficiency and effectiveness of the manual collections workflow. It allows for analysis of activity frequency and its correlation with payment success. Where to get Captured from interaction or activity history tables in Oracle Advanced Collections, such as JTF_IH_ACTIVITIES, linked to the customer and potentially the specific invoice. Capture Creation timestamp of records in JTF_IH_ACTIVITIES with a relevant outcome or reason code. Event type explicit | |||
| Credit Review Completed | Represents the completion of a credit assessment for the customer associated with the invoice. This event is typically inferred by linking the invoice creation date to the most recent credit review completion date for that customer account, providing a baseline for credit-related analysis. | ||
| Why it matters Analyzing the time from credit review to order placement helps identify delays in the initial stages of the order-to-cash cycle. It is foundational for measuring the Credit Approval Cycle Time KPI and understanding credit decision impact. Where to get Inferred by querying HZ_CREDIT_PROFILE.LAST_CREDIT_REVIEW_DATE for the customer on the invoice (RA_CUSTOMER_TRX_ALL.BILL_TO_CUSTOMER_ID). The event timestamp is the LAST_CREDIT_REVIEW_DATE that precedes the invoice's CREATION_DATE. Capture Link invoice to customer's most recent credit review date before invoice creation. Event type inferred | |||
| Dispute Registered | Indicates that the customer has formally disputed the invoice, in part or in full. This is typically captured by a status change on the invoice's payment schedule. | ||
| Why it matters This activity is the starting point for the dispute resolution process. Analyzing the time from registration to resolution is critical for identifying bottlenecks that delay cash collection. Where to get Inferred from a status change in the AR_PAYMENT_SCHEDULES_ALL table, where the STATUS field changes to 'DS' (Disputed). The timestamp can be sourced from audit tables or the date of the last update. Capture Detect when AR_PAYMENT_SCHEDULES_ALL.STATUS changes to 'DS' for the invoice. Event type inferred | |||
| Dispute Resolved | Indicates that a registered dispute has been investigated and a resolution has been reached. This is captured when the invoice's disputed status is removed. | ||
| Why it matters This event marks the end of the dispute resolution cycle. The duration between 'Dispute Registered' and this event is a key KPI for measuring operational efficiency and its impact on cash flow. Where to get Inferred when the STATUS in AR_PAYMENT_SCHEDULES_ALL changes from 'DS' (Disputed) back to 'OP' (Open) or to 'CL' (Closed) following a credit memo or adjustment. Capture Detect when AR_PAYMENT_SCHEDULES_ALL.STATUS changes from 'DS' to another status. Event type inferred | |||
| Invoice Closed | Occurs when the invoice's outstanding balance becomes zero, either through payment, credit memo application, or adjustment. This marks the successful completion of the invoice lifecycle. | ||
| Why it matters This event serves as a primary successful end point for the process. Monitoring the closure of invoices is fundamental to understanding the overall health of the receivables portfolio. Where to get Inferred from a status change in the AR_PAYMENT_SCHEDULES_ALL table, where STATUS changes to 'CL' (Closed). The timestamp is the LAST_UPDATE_DATE of this change. Capture Detect when AR_PAYMENT_SCHEDULES_ALL.STATUS becomes 'CL' for the invoice. Event type inferred | |||
| Invoice Sent To Customer | Indicates that the invoice has been formally delivered to the customer, either electronically or via print. This event may be explicitly logged by a delivery module or inferred from the invoice print date. | ||
| Why it matters This activity marks the start of the customer's payment term clock. Tracking this helps in accurately calculating overdue days and analyzing any delays between invoice generation and customer notification. Where to get Can be captured from the LAST_PRINTED_DATE in RA_CUSTOMER_TRX_ALL. Alternatively, it can be inferred from integration logs with email delivery systems or other communication platforms. Capture Use LAST_PRINTED_DATE from RA_CUSTOMER_TRX_ALL or status from a delivery log. Event type inferred | |||
| Promise To Pay Created | Represents a formal agreement logged in the system where a customer has promised to make a payment on a specific date. This is a key outcome of collection activities. | ||
| Why it matters Tracking promises to pay and their fulfillment rates is a key performance indicator for collectors. It helps in forecasting cash flow from overdue receivables and evaluating collector effectiveness. Where to get Explicitly created in Oracle Advanced Collections. The creation date is captured from the IEX_PROMISE_DETAILS table. Capture Creation date from the IEX_PROMISE_DETAILS table for the corresponding invoice. Event type explicit | |||
Extraction Guides
Steps
- Access Oracle BI Publisher: Log in to your Oracle Fusion Financials environment. Navigate to the Reports and Analytics area by clicking the Navigator icon, then selecting Tools > Reports and Analytics.
- Create a New Data Model: In the Reports and Analytics pane, click the 'Browse Catalog' button. In the catalog, click the 'New' dropdown menu and select 'Data Model'.
- Define the SQL Query Data Set: In the Data Model editor, click the '+' icon to add a new data set and select 'SQL Query'.
- Configure the Data Source: In the new data set window, give your data set a descriptive name, for example, 'CreditCollectionsEventLog'. Select 'FSCM' or the appropriate Oracle Fusion application database as the Data Source. Set the Type of SQL to 'Standard SQL'.
- Enter the SQL Query: Copy the complete SQL query provided in the 'query' section of this document and paste it into the SQL Query text area.
- Define Query Parameters: The query uses parameters like
:P_START_DATEand:P_END_DATEto filter the date range. BI Publisher will automatically detect these. You can configure them to be user-prompts, setting their data type to 'Date'. - Save and Test the Data Model: Save the data model in a shared or custom folder. To verify the query works, navigate to the 'Data' tab, enter sample parameter values (e.g., a recent date range), and click 'View' to see a sample of the output data. Ensure all columns appear correctly.
- Create a New Report: Navigate back to the catalog, click the 'New' dropdown, and select 'Report'. In the 'Create Report' dialog, select the 'Use Data Model' option and locate the data model you just saved.
- Configure Report Properties: In the report editor, a simple table layout is sufficient for data extraction. Set the default output format. For process mining, CSV is the recommended format. To do this, click 'View a List', find 'CSV' in the 'Output Formats' list, and check its box. You may want to uncheck other formats to simplify the user experience.
- Save the Report: Save the report in the same folder as your data model.
- Schedule the Extraction: To automate the extraction, you can schedule the report. Open the report, click 'Actions', and select 'Schedule'. Configure the schedule's frequency (e.g., daily), specify the output format as CSV, and define the delivery destination, such as a content server directory or an external server via FTP.
Configuration
- Prerequisites: The user creating and running the report must have appropriate BI roles (e.g., 'BI Administrator' or 'BI Author') and data security grants to access the underlying Financials tables (AR, IEX, HZ, JTF).
- Data Source: The query should be run against the main application database, typically named 'FSCM'.
- Date Range Parameters: It is critical to use the
:P_START_DATEand:P_END_DATEparameters to limit the data volume. For initial testing, use a small range, such as one month. For production runs, a rolling period of 3 to 6 months is typical. - Filtering: For large organizations, consider adding a parameter for
BU_NAME(Business Unit Name) to theWHEREclause in theinvoices_basecommon table expression to process data for one business unit at a time. - Performance Considerations: The query joins multiple large transactional tables. Running it for a wide date range without filters can lead to long execution times or timeouts in BI Publisher. Schedule the report to run during off-peak hours.
- Output Format: Ensure the default or scheduled output format is CSV. This provides a clean, delimited file that is easily consumable by process mining tools. Check the CSV output properties to ensure the delimiter and character encoding are set correctly.
a Sample Query 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'