Your KYC Customer Onboarding Data Template
Your KYC Customer Onboarding Data Template
- Recommended attributes to collect
- Key activities to track
- Guidance for data extraction
KYC Customer Onboarding Attributes
| Name | Description | ||
|---|---|---|---|
| Activity Name ActivityName | The name of the specific business event or task that occurred at a point in time within the onboarding process. | ||
| Description The Activity Name describes a single step or milestone in the customer onboarding journey, such as 'Initial Screening Performed' or 'Application Approved'. This sequence of activities forms the basis of the process map. Analyzing this attribute allows for the visualization of the process flow, identification of common and alternative paths, and measurement of the frequency of each step. It is crucial for understanding what actions are being performed and in what order. Why it matters This attribute defines the steps in the process, allowing for the creation of a process map and analysis of process flow and variations. Where to get This information is typically found in Fenergo's workflow or audit log tables, associated with case state transitions or task completions. Examples Data & Documents RequestedCompliance Review InitiatedApplication Approved | |||
| Customer Application CustomerApplication | The unique identifier for a single customer onboarding journey, serving as the primary case identifier. | ||
| Description The Customer Application is the central identifier that groups all related activities and events for a single customer's KYC onboarding process. It allows for the end-to-end tracking of an application from initial submission to final resolution, whether approved, rejected, or closed. In process mining, this attribute is fundamental for reconstructing the complete journey of each application. It enables the analysis of process flows, cycle times, variations, and bottlenecks on a per-application basis, providing a clear view of how individual cases are handled. Why it matters This is the essential Case ID that connects all related events, making it possible to analyze the end-to-end customer onboarding process. Where to get This is typically the primary key in Fenergo's core case management or client lifecycle management entity. Examples APP-2023-00123APP-2023-00124APP-2023-00125 | |||
| Start Time EventStartTime | The timestamp indicating when an activity or event officially began. | ||
| Description This attribute records the precise date and time that a specific activity started. It provides the chronological order necessary to reconstruct the process flow and is essential for all time-based analysis. In process mining, the start time is used to calculate the duration of activities, the waiting time between them, and the overall cycle time of the case. It forms the temporal backbone of the event log and is critical for performance and bottleneck analysis. Why it matters This timestamp is critical for ordering events chronologically and calculating all time-based metrics like cycle times and durations. Where to get Located in Fenergo's audit trail, event log, or workflow history tables, often labeled as 'Timestamp', 'StartDate', or 'CreationDate'. Examples 2023-10-26T10:00:00Z2023-10-26T14:35:10Z2023-10-27T09:15:00Z | |||
| Last Data Update LastDataUpdate | The timestamp indicating the last time the data for this process was refreshed or extracted. | ||
| Description This attribute records the date and time of the most recent data refresh. It provides context for the freshness of the data being analyzed and is important for understanding the timeliness of the insights. In dashboards and reports, this information is used to inform users about the data's currency. It helps manage expectations about whether the analysis reflects real-time operations or a historical snapshot. Why it matters Provides crucial context on data freshness, ensuring users understand how current the process analysis is. Where to get This value is generated and stamped on the dataset during the data extraction and loading (ETL) process. Examples 2024-05-21T02:00:00Z2024-05-22T02:00:00Z | |||
| Source System SourceSystem | The system of record from which the data was extracted. | ||
| Description This attribute identifies the originating system for the event data. For this process, it will consistently be Fenergo, but in blended datasets, it helps differentiate data sources. Its main use in analysis is to filter data from specific systems or to verify data provenance. It ensures clarity in environments where data from multiple systems might be combined for a holistic process view. Why it matters Identifies the data's origin, which is crucial for data governance, validation, and ensuring the analysis is based on the correct source. Where to get This is typically a static value added during the data extraction process to label the origin of the records. Examples FenergoFenergo CLM | |||
| Application Status ApplicationStatus | The current or final outcome of the customer application. | ||
| Description This attribute indicates the disposition of the application at the end of the process or its current state if ongoing. Common values include 'Approved', 'Rejected', or 'In Progress'. This is a critical dimension for outcome analysis. It allows for filtering and comparing process flows based on their final result, which is essential for the 'Application Rework and Rejection' dashboard and for calculating KPIs like the Application Rejection Rate. Why it matters Defines the outcome of a case, enabling powerful analysis to compare paths of approved vs. rejected applications and understand success rates. Where to get This is typically the final status recorded on the case entity in Fenergo's case management system. Examples ApprovedRejectedPending ComplianceClosed | |||
| End Time EventEndTime | The timestamp indicating when an activity or event was completed. | ||
| Description This attribute records the precise date and time that a specific activity finished. It complements the start time to define the active duration of a task. In process mining, the end time is used with the start time to calculate the processing time for each activity. This is essential for identifying which steps in the process consume the most time and for analyzing resource efficiency. Why it matters Enables the calculation of activity processing times, which is fundamental for identifying long-running tasks and performance bottlenecks. Where to get Located in Fenergo's audit trail or workflow history tables, often labeled as 'EndDate', 'CompletionDate', or derived from the start time of the subsequent event. Examples 2023-10-26T11:30:00Z2023-10-26T15:00:10Z2023-10-27T11:45:00Z | |||
| Initiating User InitiatingUser | The user ID or name of the person who performed the activity. | ||
| Description This attribute identifies the specific employee or system user responsible for executing a given task or event. It can be a unique user ID, a name, or a role. Analyzing by user helps in understanding workload distribution, individual performance, and identifying training needs. It is key for the 'Staff Activity Distribution' dashboard and for drilling down into activities performed by specific individuals or teams. Why it matters Tracks which user performed an action, enabling analysis of workload distribution, team performance, and resource allocation. Where to get This information is typically stored in Fenergo's audit logs or task history tables alongside the event details, often as 'UserID', 'UserName', or 'ModifiedBy'. Examples j.doea.smithSYSTEM | |||
| Risk Score RiskScore | A numerical score representing the calculated risk level of the customer. | ||
| Description The Risk Score is a quantitative measure of the potential risk associated with a customer, calculated based on various factors like jurisdiction, industry, and screening results. Fenergo's rules engine typically computes this score. This attribute allows for correlation between risk levels and process behavior. For example, analysis can reveal if high-risk customers experience longer cycle times or require more manual intervention, which is useful for the 'Risk & Compliance Review Deep Dive' dashboard. Why it matters Quantifies customer risk, enabling analysis of how risk levels impact process duration, rework, and outcomes. Where to get This is a key output of Fenergo's Client Risk Assessment module. It is stored on the case or client entity. Examples 154585 | |||
| SLA Target Date SlaTargetDate | The date by which the customer onboarding case is expected to be completed. | ||
| Description The SLA Target Date represents the agreed-upon deadline for completing the entire onboarding process for a customer application. It is a critical benchmark against which actual performance is measured. This attribute is essential for the 'SLA Compliance Monitoring' dashboard and for calculating the 'SLA Adherence Rate' KPI. It enables proactive management of cases at risk of breaching their SLA and helps prioritize work. Why it matters Defines the target completion date, which is crucial for monitoring SLA compliance and prioritizing overdue cases. Where to get This date is often calculated based on application submission date and business rules configured within Fenergo's SLA management module. Examples 2023-11-15T23:59:59Z2023-12-01T23:59:59Z | |||
| User Department UserDepartment | The department or business unit to which the initiating user belongs. | ||
| Description This attribute provides the organizational context for the user who performed an activity, such as 'Compliance', 'Onboarding Operations', or 'Sales'. It is often derived from user profile information. This dimension is crucial for analyzing process handoffs between different departments and identifying cross-functional bottlenecks. It directly supports the 'Staff Activity Distribution' dashboard by allowing aggregation of work at a team or department level. Why it matters Allows for analysis of process performance by department, highlighting inter-departmental handoffs, delays, and workload distribution. Where to get This may need to be joined from a separate user or HR master data table using the 'InitiatingUser' ID. Fenergo may also store this as part of the user's profile. Examples ComplianceClient OnboardingQuality Assurance | |||
| Addtl Info Request Count AdditionalInfoRequestCount | The total number of times additional information was requested for an application. | ||
| Description This metric counts the occurrences of the 'Additional Information Requested' activity for each case. A higher count signifies more back-and-forth communication, which can delay the process and lead to a poor customer experience. This attribute directly supports the 'Cases with Additional Info Requests' KPI. It is used to identify applications with excessive requests, which may point to issues with initial data collection or complex case requirements. Analyzing this helps streamline information gathering. Why it matters Quantifies customer friction and process delays caused by incomplete initial information, helping to improve the data collection step. Where to get This is a calculated metric, derived by counting the number of 'Additional Information Requested' events for each 'CustomerApplication' ID. Examples 013 | |||
| Application Channel ApplicationChannel | The channel through which the customer application was submitted. | ||
| Description This attribute identifies the submission source of the application, for example, via an online portal, a physical branch, or through a relationship manager. The source can influence data quality and processing requirements. This dimension is used in the 'Application Source & Type Efficiency' dashboard to compare the performance of different channels. It helps businesses understand which channels are most efficient and which may require process optimization. Why it matters Identifies the source of applications, allowing for analysis of channel efficiency, cost, and customer experience. Where to get This information might be captured in an initial data entry form within Fenergo or passed from an upstream system. Examples Online PortalBranchRelationship ManagerMobile App | |||
| Case Owner CaseOwner | The primary user or team responsible for managing the application through its lifecycle. | ||
| Description The Case Owner is the individual or group assigned primary responsibility for an onboarding case. This person is typically accountable for its timely and successful completion. This attribute helps in analyzing workload and performance at the case manager level. It can be used to see if certain case owners have longer cycle times or higher rejection rates, potentially indicating training needs or resource imbalances. Why it matters Identifies the accountable person or team for a case, enabling performance analysis of case managers. Where to get This is usually a specific field on the primary case entity in Fenergo, indicating case assignment. Examples s.jonesonboarding_team_am.chen | |||
| Country Country | The country of domicile or jurisdiction for the customer application. | ||
| Description This attribute specifies the country associated with the customer, which often determines the specific regulatory rules and risk factors that apply to the onboarding process. Analyzing the process by country allows for jurisdictional comparisons of cycle time, risk levels, and process complexity. It helps in understanding how regional differences impact operational performance and ensuring compliance with local regulations. Why it matters Allows for segmentation of the process based on geography, which is key for analyzing regulatory impact and regional performance. Where to get This information is part of the core customer data captured during the application process and stored on the client entity in Fenergo. Examples USAGBRSGPDEU | |||
| Customer ID CustomerId | A unique identifier for the customer or legal entity being onboarded. | ||
| Description The Customer ID is the unique reference for the client entity in the master data system. While the application number is the case ID for the process, the Customer ID links the onboarding activity to a specific client. This attribute allows for analyzing the onboarding history of a single customer, for example, if they have undergone multiple onboarding processes over time. It also enables joining process data with other customer-related data for a more comprehensive business view. Why it matters Links the onboarding process to a unique customer entity, allowing for customer-centric analysis and data enrichment. Where to get This ID is stored on the client or legal entity record within Fenergo and associated with the onboarding case. Examples CUST-98765CUST-98766CUST-98767 | |||
| Customer Type CustomerType | The classification of the customer being onboarded, such as Individual, Corporate, or Trust. | ||
| Description This attribute segments customers into different categories based on their legal structure or relationship with the financial institution. Different customer types often follow distinct onboarding paths with varying complexity and due diligence requirements. Analyzing the process by Customer Type helps identify performance differences between segments. It is key for the 'Application Source & Type Efficiency' dashboard to compare cycle times and approval rates, leading to tailored process improvements. Why it matters Enables comparison of process performance across different customer segments, which often have varying complexity and SLAs. Where to get This information is typically stored on the customer or client entity within Fenergo and linked to the application case. Examples IndividualCorporateTrustPartnership | |||
| Is Automated IsAutomated | A boolean flag indicating if the activity was performed by a system rather than a human user. | ||
| Description This attribute differentiates between tasks executed automatically by the system (e.g., initial screening, system checks) and those performed manually by a user. This is often determined by checking if the executing user is a system or service account. Analyzing this flag is crucial for understanding the level of automation in the process. It helps quantify the impact of automation on efficiency, cost, and speed, and identifies opportunities for further automation. Why it matters Distinguishes between human and system activities, which is vital for automation analysis and understanding resource costs. Where to get This is typically derived based on the 'InitiatingUser' field. A list of known system user IDs is used to set this flag to true. Examples truefalse | |||
| Is Rework IsRework | A boolean flag indicating if an activity is part of a rework loop. | ||
| Description This attribute identifies activities that represent a step backward in the process, such as returning to 'Document Review' after a 'Compliance Review' has already started, or any occurrence of 'Additional Information Requested'. Identifying rework is critical for understanding process inefficiency and friction. This flag allows for the direct calculation of the 'Rework Loop Rate' KPI and helps visualize and quantify the impact of wasteful, repetitive steps in the process flow. Why it matters Highlights inefficient rework loops in the process, helping to quantify waste and identify areas for improvement to increase first-time-right rates. Where to get This flag is derived using process mining techniques that analyze the sequence of activities. For example, if 'Activity A' is followed by 'Activity B' and then 'Activity A' appears again for the same case, the second 'Activity A' is rework. Examples truefalse | |||
| Is SLA Compliant IsSlaCompliant | A boolean flag that indicates whether the case was completed within its SLA target date. | ||
| Description This attribute is a binary indicator of SLA performance for a completed case. It is set to 'true' if the final, closing activity's timestamp is on or before the 'SlaTargetDate', and 'false' otherwise. This calculated field simplifies SLA monitoring and reporting. It allows for easy aggregation to calculate the overall 'SLA Adherence Rate' KPI and for filtering to analyze the process characteristics of compliant versus non-compliant cases. Why it matters Directly measures SLA performance, enabling easy calculation of the SLA Adherence Rate KPI and filtering for non-compliant cases. Where to get This is derived by comparing the timestamp of the final case activity (e.g., 'Application Approved', 'Application Rejected') against the 'SlaTargetDate'. Examples truefalse | |||
| Processing Time ProcessingTime | The duration of time spent actively working on an activity. | ||
| Description Processing Time, also known as active time, is the calculated duration between the start and end timestamp of a single activity. It represents the time a resource was actively engaged in a task. This metric is fundamental for performance analysis. It is used in bottleneck analysis dashboards to pinpoint which specific activities are the most time-consuming, helping to focus improvement efforts where they will have the most impact. Why it matters This calculated metric measures the active work time for each activity, which is crucial for identifying performance bottlenecks. Where to get Calculated as the difference between 'EventEndTime' and 'EventStartTime' (EndTime - StartTime). Examples 86400000360000018000000 | |||
| Rejection Reason RejectionReason | A code or description explaining why an application was rejected. | ||
| Description When an application's final status is 'Rejected', this attribute provides the specific reason. Examples include 'Failed Background Check', 'Incomplete Documentation', or 'High Risk Profile'. This is a vital attribute for root cause analysis of failed applications. It directly supports the 'Application Rework and Rejection' dashboard by categorizing failures, helping the business to identify common problems and implement corrective actions to improve the first-time pass rate. Why it matters Provides critical insight into why applications fail, enabling root cause analysis to reduce rejection rates. Where to get Typically found in a reason code or notes field associated with the final rejection status in Fenergo's case workflow. Examples Sanctions MatchInvalid DocumentsPolicy ViolationCustomer Withdrew | |||
KYC Customer Onboarding Activities
| Activity | Description | ||
|---|---|---|---|
| Application Approved | This activity represents the final decision to approve the customer's application for onboarding. It is inferred from the case status changing to a final 'Approved' or 'Onboarding Approved' state. | ||
| Why it matters This key milestone signifies a successful outcome before the final account activation steps. It is essential for calculating approval rates and analyzing the properties of successfully onboarded customers. Where to get Inferred from the case history or audit log by finding the timestamp of the final status change to 'Approved' or a similar terminal positive state. Capture Identify timestamp of final status change to 'Approved'. Event type inferred | |||
| Application Rejected | This activity is a terminal event representing the final decision to reject the customer's application. It is inferred from the case status changing to a final 'Rejected' or 'Declined' state. | ||
| Why it matters As a key process endpoint, this activity is vital for calculating the 'Application Rejection Rate' and analyzing the reasons for failure. It helps identify common rejection points and improve application quality. Where to get Inferred from the case audit log by capturing the timestamp when the final status changes to 'Rejected'. The rejection reason is often stored in a related field. Capture Identify timestamp of final status change to 'Rejected'. Event type inferred | |||
| Case Closed | This is the final activity, signifying that the onboarding case is administratively closed in Fenergo, with no further action expected. This applies to both approved and rejected applications and is inferred from a final 'Closed' status. | ||
| Why it matters This activity serves as the definitive end point for the entire process. It ensures accurate cycle time calculations for all cases, regardless of their outcome, and confirms the process has concluded. Where to get Inferred from the Fenergo case audit log by identifying the timestamp when the case status is set to 'Closed', 'Completed', or another terminal state. Capture Identify timestamp of final status change to 'Closed' or 'Completed'. Event type inferred | |||
| Case Created | This activity marks the initiation of the KYC onboarding process when a new customer application is formally created in Fenergo. It is typically an explicit event recorded with a specific timestamp when the case record is first saved. | ||
| Why it matters As the start event, this activity is essential for calculating the overall onboarding cycle time and analyzing throughput. It provides the baseline for all subsequent process measurements and SLA tracking. Where to get This is typically captured from the creation timestamp of the primary case entity in Fenergo, often found in tables related to Client Onboarding cases or workflows. Capture Use the creation timestamp of the onboarding case record. Event type explicit | |||
| Compliance Review Completed | Marks the formal sign-off by the compliance department, indicating that all regulatory requirements have been met. This is inferred from a task completion or a status change to 'Compliance Approved'. | ||
| Why it matters As a major milestone, this activity's completion is critical for overall cycle time. It is the end point for measuring the 'Average Compliance Review Time' and identifying bottlenecks within the compliance function. Where to get Inferred from the completion timestamp of the 'Compliance Review' task within the Fenergo workflow or the status update event in the case history. Capture Use the timestamp of the compliance review task completion or status update. Event type inferred | |||
| Compliance Review Initiated | This activity marks the beginning of the review by the compliance department, a critical and often lengthy stage. It is inferred when the case is assigned to the compliance work queue or its status changes to 'Pending Compliance Review'. | ||
| Why it matters This activity is the starting point for measuring the 'Average Compliance Review Time' KPI. It helps identify how long cases wait before being actively worked on by the compliance team. Where to get Inferred from the Fenergo case audit log by capturing the timestamp of the status change to 'In Compliance Review' or the assignment of the case to a compliance officer or team. Capture Identify timestamp of status change to 'Under Compliance Review' or assignment event. Event type inferred | |||
| Document Review Completed | Signifies the completion of the manual or automated process of verifying the authenticity and correctness of all submitted customer documents. This event is usually inferred from a workflow task completion or a status change in Fenergo. | ||
| Why it matters This is a critical milestone where many delays occur. Analyzing the duration and outcomes of this activity helps pinpoint bottlenecks in document processing and supports KPIs like 'First-Time Pass Rate'. Where to get Inferred from the completion timestamp of the 'Document Verification' task in the case workflow or a status update to 'Documents Approved' in the case history log. Capture Use the completion timestamp of the document review task or a related status change. Event type inferred | |||
| Risk Assessment Completed | Represents the completion of the internal risk classification process, where the customer is assigned a risk rating based on various factors. This is inferred from a status change or the population of a risk rating field. | ||
| Why it matters This is a key decision-making milestone that often determines the subsequent workflow path. Analyzing its duration helps streamline a critical compliance step and ensures consistency in risk evaluation. Where to get Inferred from the case history log by identifying when the case moves to a status like 'Risk Assessed' or when the final 'Customer Risk Rating' field is populated with a value. Capture Use the timestamp when the risk rating field is finalized or a related status is set. Event type inferred | |||
| Account Activated | Indicates that the customer's account has been successfully created and activated in the core banking or relevant downstream system after approval. This may be inferred from a final status update in Fenergo post-approval. | ||
| Why it matters This activity confirms the successful handoff from the onboarding process to active customer status. Measuring the time from approval to activation can reveal delays in operational setup. Where to get This can be inferred from a case status like 'Account Active' or 'Onboarding Complete'. It could also be an explicit event logged by an integration with a downstream system. Capture Look for a post-approval status change or an integration success log event. Event type inferred | |||
| Additional Information Requested | Represents a rework loop where the onboarding team must go back to the customer for clarification or missing documents. This is an explicit event, typically logged when a communication is sent to the customer. | ||
| Why it matters This activity is a primary indicator of process inefficiency and a poor customer experience. Tracking its frequency helps identify the root causes of rework and supports the 'Rework Loop Rate' KPI. Where to get Captured from an event log of customer communications or a status change to 'Awaiting Additional Information'. The former is more precise for capturing the exact request moment. Capture Find logged communication events or a status change to 'Pending Customer Response'. Event type explicit | |||
| Background Checks Initiated | This activity marks the point where external background, AML, or credit checks are triggered. It is often an explicit event logged when an integration with a third-party service is called. | ||
| Why it matters Tracking the initiation and completion of these checks is vital for understanding delays caused by external dependencies. It helps isolate internal process time from external waiting time. Where to get Typically captured from system logs that record API calls to external screening providers or from the creation of a specific 'Background Check' task within the Fenergo case. Capture Find logs for external service integrations or creation of a 'Screening' task. Event type explicit | |||
| Data & Documents Requested | This event signifies that the system or an onboarding agent has formally requested necessary information and documentation from the customer. It is often captured as an explicit event when a standardized communication template is sent. | ||
| Why it matters This activity marks the start of a customer-dependent phase. Measuring the time from this point to when documents are received is key to analyzing the customer journey and identifying communication delays. Where to get Captured from an event log associated with customer communications or a task completion log for 'Request Documents'. It may also be inferred from a status change to 'Awaiting Customer Information'. Capture Look for a logged event for customer communication or a task completion. Event type explicit | |||
| Documents Received | This activity indicates that the customer has uploaded or submitted the required documents, which are now available in Fenergo for review. This is typically inferred when the case status is updated to 'Documents Received' or 'Pending Review'. | ||
| Why it matters This marks the end of the customer waiting period and the beginning of the internal review cycle. It is crucial for measuring customer response times and internal processing queue times. Where to get Inferred from the case audit trail, which records the timestamp of a status change to 'Documents Received' or a similar state. It may also be tied to document upload events. Capture Identify timestamp of status change to 'Documents Received' or 'Ready for Review'. Event type inferred | |||
| Initial Screening Performed | Represents the completion of preliminary automated or manual checks, such as basic data validation or sanctions list screening. This is often inferred from a status change within the Fenergo case workflow, for example, moving from 'New' to 'Screening Complete'. | ||
| Why it matters Tracking this early milestone helps identify initial data quality issues and bottlenecks in the pre-qualification stage. It separates the initial automated phase from the more intensive manual review processes. Where to get Inferred from the case history or audit log by identifying the timestamp when the case status transitions to a state indicating screening is complete, such as 'Screening Passed' or 'Awaiting Documents'. Capture Identify status change to 'Screening Complete' or similar from case history. Event type inferred | |||
Extraction Guides
Steps
- Access the Reporting Module: Log into the Fenergo application with a user account that has sufficient permissions for the Reporting & Analytics module. Navigate to the module, typically found in the main application menu.
- Create a New Report: Initiate the creation of a new custom report. Select a name and description that clearly identifies its purpose, for example, 'KYC Onboarding Event Log for Process Mining'.
- Define Primary Data Source: Select the core data object or view that captures case lifecycle information. This is often a pre-configured view like
[CaseWorkflowHistory]or[LifecycleEventsView]. This object should contain case identifiers, event names or statuses, and timestamps. - Configure Report Columns (Attributes): Use the report builder interface to add columns. Map the source fields from the Fenergo data model to the required event log attributes. For instance, map Fenergo's
CaseIDtoCustomerApplication,EventTimestamptoEventStartTime, andEventPerformertoInitiatingUser. - Build Activity Logic: This is the most critical step. The report must be configured to generate a separate row for each of the 14 required activities. This is achieved by creating logical blocks or filtered data sets for each activity and combining them using a UNION or equivalent function within the report builder.
- Define 'Case Created' Logic: Create the first block. Filter the data source for the initial case creation event. This is often based on the earliest timestamp associated with the case or an event type named 'Case Created'. Map the
CreationDateto theEventStartTime. - Define Status-Based Activity Logic: For activities inferred from status changes (e.g., 'Documents Received', 'Application Approved'), create separate blocks. Filter the data source on the specific
Statusfield value and use theStatusChangeDateas theEventStartTime. - Define Task-Based Activity Logic: For activities tied to workflow tasks (e.g., 'Compliance Review Completed'), create blocks that filter on the
TaskNameand theTaskCompletionDate. Use the completion date as theEventStartTime. - Set Global Report Filters: Apply report-level filters to scope the data. Set a specific
Date Rangefor theEventStartTimeto avoid excessively large exports. A period of 3 to 6 months is recommended for initial analysis. Filter for the specific case type, such as 'KYC Customer Onboarding'. - Run and Preview the Report: Execute the report within the Fenergo UI. Preview the first 100-200 rows to ensure the data structure is correct, all columns are populated as expected, and different activities are present.
- Export the Data: Export the full report results to a CSV or Excel file. This is the raw event log file.
- Final Data Preparation: Open the exported CSV file. If the
SourceSystemandLastDataUpdatecolumns could not be generated directly by the report, add them manually. Set 'Fenergo' as theSourceSystemfor all rows and the export timestamp as theLastDataUpdate.
Configuration
- Prerequisites: User requires access to the Fenergo Reporting & Analytics module with permissions to create and run custom reports.
- Core Data Sources: The report should be built primarily from Fenergo's case management and workflow history objects. Common sources include
[CaseDetails],[CaseStatusHistory], and[WorkflowTaskHistory]. The exact names may vary based on your Fenergo configuration. - Date Range: It is crucial to set a date range filter on the event timestamp to manage performance. Start with a recent 3 to 6 month period. For historical analysis, run the report in batches (e.g., quarterly or yearly).
- Key Filters: Always filter by the specific process or case type, such as 'KYC Customer Onboarding', to exclude irrelevant data. You may also need to filter by legal entity type or jurisdiction depending on your analysis goals.
- Activity Definition: Each activity must be defined using specific filter criteria on fields like
Status,TaskName, or a dedicatedEventTypefield. Relying on these fields is key to isolating each unique event in the process. - Performance Considerations: Reports that union many data sources or scan a wide date range can be slow. Schedule the report to run during off-peak hours if possible. Avoid including unnecessary columns in the export, as this increases processing time.
a Sample Query config
/*
This is a logical representation of the configuration needed in the Fenergo Reporting & Analytics module.
The module uses a graphical interface, but this query structure illustrates the required data sources, filters, and unions.
Fields like [CaseLifecycleData].[CaseID] are placeholders for actual Fenergo fields selected in the UI.
*/
-- Base data selection for common attributes
WITH CaseAttributes AS (
SELECT
C.CaseID AS CustomerApplication,
C.SlaTargetDate AS SlaTargetDate,
C.FinalRiskScore AS RiskScore,
C.CurrentStatus AS ApplicationStatus
FROM [CaseDetails] C
WHERE C.CaseType = 'KYC Customer Onboarding'
)
-- 1. Case Created
SELECT
A.CustomerApplication,
'Case Created' AS ActivityName,
L.CreationTimestamp AS EventStartTime,
L.CompletionTimestamp AS EventEndTime,
L.EventUser AS InitiatingUser,
U.Department AS UserDepartment,
A.ApplicationStatus,
A.SlaTargetDate,
A.RiskScore,
'Fenergo' AS SourceSystem,
GETDATE() AS LastDataUpdate
FROM [CaseLifecycleEvents] L
JOIN CaseAttributes A ON L.CaseID = A.CustomerApplication
LEFT JOIN [Users] U ON L.EventUser = U.UserID
WHERE L.EventType = 'CASE_CREATED'
AND L.CreationTimestamp >= '[StartDate]' AND L.CreationTimestamp <= '[EndDate]'
UNION ALL
-- 2. Initial Screening Performed
SELECT
A.CustomerApplication,
'Initial Screening Performed' AS ActivityName,
L.CompletionTimestamp AS EventStartTime,
NULL AS EventEndTime,
L.EventUser AS InitiatingUser,
U.Department AS UserDepartment,
A.ApplicationStatus,
A.SlaTargetDate,
A.RiskScore,
'Fenergo' AS SourceSystem,
GETDATE() AS LastDataUpdate
FROM [CaseLifecycleEvents] L
JOIN CaseAttributes A ON L.CaseID = A.CustomerApplication
LEFT JOIN [Users] U ON L.EventUser = U.UserID
WHERE L.TaskName = 'Initial Screening' AND L.TaskStatus = 'Completed'
AND L.CompletionTimestamp >= '[StartDate]' AND L.CompletionTimestamp <= '[EndDate]'
UNION ALL
-- 3. Data & Documents Requested
SELECT
A.CustomerApplication,
'Data & Documents Requested' AS ActivityName,
L.CreationTimestamp AS EventStartTime,
NULL AS EventEndTime,
L.EventUser AS InitiatingUser,
U.Department AS UserDepartment,
A.ApplicationStatus,
A.SlaTargetDate,
A.RiskScore,
'Fenergo' AS SourceSystem,
GETDATE() AS LastDataUpdate
FROM [CaseLifecycleEvents] L
JOIN CaseAttributes A ON L.CaseID = A.CustomerApplication
LEFT JOIN [Users] U ON L.EventUser = U.UserID
WHERE L.EventType = 'CUSTOMER_COMMUNICATION' AND L.TemplateName = 'Initial Document Request'
AND L.CreationTimestamp >= '[StartDate]' AND L.CreationTimestamp <= '[EndDate]'
UNION ALL
-- 4. Documents Received
SELECT
A.CustomerApplication,
'Documents Received' AS ActivityName,
L.StatusChangeTimestamp AS EventStartTime,
NULL AS EventEndTime,
L.EventUser AS InitiatingUser,
U.Department AS UserDepartment,
A.ApplicationStatus,
A.SlaTargetDate,
A.RiskScore,
'Fenergo' AS SourceSystem,
GETDATE() AS LastDataUpdate
FROM [CaseStatusHistory] L
JOIN CaseAttributes A ON L.CaseID = A.CustomerApplication
LEFT JOIN [Users] U ON L.EventUser = U.UserID
WHERE L.NewStatus = 'Pending Review'
AND L.StatusChangeTimestamp >= '[StartDate]' AND L.StatusChangeTimestamp <= '[EndDate]'
UNION ALL
-- 5. Document Review Completed
SELECT
A.CustomerApplication,
'Document Review Completed' AS ActivityName,
L.CompletionTimestamp AS EventStartTime,
NULL AS EventEndTime,
L.EventUser AS InitiatingUser,
U.Department AS UserDepartment,
A.ApplicationStatus,
A.SlaTargetDate,
A.RiskScore,
'Fenergo' AS SourceSystem,
GETDATE() AS LastDataUpdate
FROM [CaseLifecycleEvents] L
JOIN CaseAttributes A ON L.CaseID = A.CustomerApplication
LEFT JOIN [Users] U ON L.EventUser = U.UserID
WHERE L.TaskName = 'Document Verification' AND L.TaskStatus = 'Completed'
AND L.CompletionTimestamp >= '[StartDate]' AND L.CompletionTimestamp <= '[EndDate]'
UNION ALL
-- 6. Background Checks Initiated
SELECT
A.CustomerApplication,
'Background Checks Initiated' AS ActivityName,
L.CreationTimestamp AS EventStartTime,
NULL AS EventEndTime,
L.EventUser AS InitiatingUser,
U.Department AS UserDepartment,
A.ApplicationStatus,
A.SlaTargetDate,
A.RiskScore,
'Fenergo' AS SourceSystem,
GETDATE() AS LastDataUpdate
FROM [CaseLifecycleEvents] L
JOIN CaseAttributes A ON L.CaseID = A.CustomerApplication
LEFT JOIN [Users] U ON L.EventUser = U.UserID
WHERE L.EventType = 'EXTERNAL_CHECK_INITIATED'
AND L.CreationTimestamp >= '[StartDate]' AND L.CreationTimestamp <= '[EndDate]'
UNION ALL
-- 7. Risk Assessment Completed
SELECT
A.CustomerApplication,
'Risk Assessment Completed' AS ActivityName,
L.CompletionTimestamp AS EventStartTime,
NULL AS EventEndTime,
L.EventUser AS InitiatingUser,
U.Department AS UserDepartment,
A.ApplicationStatus,
A.SlaTargetDate,
A.RiskScore,
'Fenergo' AS SourceSystem,
GETDATE() AS LastDataUpdate
FROM [CaseLifecycleEvents] L
JOIN CaseAttributes A ON L.CaseID = A.CustomerApplication
LEFT JOIN [Users] U ON L.EventUser = U.UserID
WHERE L.TaskName = 'Risk Assessment' AND L.TaskStatus = 'Completed'
AND L.CompletionTimestamp >= '[StartDate]' AND L.CompletionTimestamp <= '[EndDate]'
UNION ALL
-- 8. Compliance Review Initiated
SELECT
A.CustomerApplication,
'Compliance Review Initiated' AS ActivityName,
L.StatusChangeTimestamp AS EventStartTime,
NULL AS EventEndTime,
L.EventUser AS InitiatingUser,
U.Department AS UserDepartment,
A.ApplicationStatus,
A.SlaTargetDate,
A.RiskScore,
'Fenergo' AS SourceSystem,
GETDATE() AS LastDataUpdate
FROM [CaseStatusHistory] L
JOIN CaseAttributes A ON L.CaseID = A.CustomerApplication
LEFT JOIN [Users] U ON L.EventUser = U.UserID
WHERE L.NewStatus = 'Pending Compliance Review'
AND L.StatusChangeTimestamp >= '[StartDate]' AND L.StatusChangeTimestamp <= '[EndDate]'
UNION ALL
-- 9. Additional Information Requested
SELECT
A.CustomerApplication,
'Additional Information Requested' AS ActivityName,
L.CreationTimestamp AS EventStartTime,
NULL AS EventEndTime,
L.EventUser AS InitiatingUser,
U.Department AS UserDepartment,
A.ApplicationStatus,
A.SlaTargetDate,
A.RiskScore,
'Fenergo' AS SourceSystem,
GETDATE() AS LastDataUpdate
FROM [CaseLifecycleEvents] L
JOIN CaseAttributes A ON L.CaseID = A.CustomerApplication
LEFT JOIN [Users] U ON L.EventUser = U.UserID
WHERE L.EventType = 'CUSTOMER_COMMUNICATION' AND L.TemplateName = 'Additional Information Request'
AND L.CreationTimestamp >= '[StartDate]' AND L.CreationTimestamp <= '[EndDate]'
UNION ALL
-- 10. Compliance Review Completed
SELECT
A.CustomerApplication,
'Compliance Review Completed' AS ActivityName,
L.CompletionTimestamp AS EventStartTime,
NULL AS EventEndTime,
L.EventUser AS InitiatingUser,
U.Department AS UserDepartment,
A.ApplicationStatus,
A.SlaTargetDate,
A.RiskScore,
'Fenergo' AS SourceSystem,
GETDATE() AS LastDataUpdate
FROM [CaseLifecycleEvents] L
JOIN CaseAttributes A ON L.CaseID = A.CustomerApplication
LEFT JOIN [Users] U ON L.EventUser = U.UserID
WHERE L.TaskName = 'Compliance Review' AND L.TaskStatus = 'Completed'
AND L.CompletionTimestamp >= '[StartDate]' AND L.CompletionTimestamp <= '[EndDate]'
UNION ALL
-- 11. Application Approved
SELECT
A.CustomerApplication,
'Application Approved' AS ActivityName,
L.StatusChangeTimestamp AS EventStartTime,
NULL AS EventEndTime,
L.EventUser AS InitiatingUser,
U.Department AS UserDepartment,
A.ApplicationStatus,
A.SlaTargetDate,
A.RiskScore,
'Fenergo' AS SourceSystem,
GETDATE() AS LastDataUpdate
FROM [CaseStatusHistory] L
JOIN CaseAttributes A ON L.CaseID = A.CustomerApplication
LEFT JOIN [Users] U ON L.EventUser = U.UserID
WHERE L.NewStatus = 'Approved'
AND L.StatusChangeTimestamp >= '[StartDate]' AND L.StatusChangeTimestamp <= '[EndDate]'
UNION ALL
-- 12. Application Rejected
SELECT
A.CustomerApplication,
'Application Rejected' AS ActivityName,
L.StatusChangeTimestamp AS EventStartTime,
NULL AS EventEndTime,
L.EventUser AS InitiatingUser,
U.Department AS UserDepartment,
A.ApplicationStatus,
A.SlaTargetDate,
A.RiskScore,
'Fenergo' AS SourceSystem,
GETDATE() AS LastDataUpdate
FROM [CaseStatusHistory] L
JOIN CaseAttributes A ON L.CaseID = A.CustomerApplication
LEFT JOIN [Users] U ON L.EventUser = U.UserID
WHERE L.NewStatus = 'Rejected'
AND L.StatusChangeTimestamp >= '[StartDate]' AND L.StatusChangeTimestamp <= '[EndDate]'
UNION ALL
-- 13. Account Activated
SELECT
A.CustomerApplication,
'Account Activated' AS ActivityName,
L.StatusChangeTimestamp AS EventStartTime,
NULL AS EventEndTime,
L.EventUser AS InitiatingUser,
U.Department AS UserDepartment,
A.ApplicationStatus,
A.SlaTargetDate,
A.RiskScore,
'Fenergo' AS SourceSystem,
GETDATE() AS LastDataUpdate
FROM [CaseStatusHistory] L
JOIN CaseAttributes A ON L.CaseID = A.CustomerApplication
LEFT JOIN [Users] U ON L.EventUser = U.UserID
WHERE L.NewStatus = 'Active'
AND L.StatusChangeTimestamp >= '[StartDate]' AND L.StatusChangeTimestamp <= '[EndDate]'
UNION ALL
-- 14. Case Closed
SELECT
A.CustomerApplication,
'Case Closed' AS ActivityName,
L.StatusChangeTimestamp AS EventStartTime,
NULL AS EventEndTime,
L.EventUser AS InitiatingUser,
U.Department AS UserDepartment,
A.ApplicationStatus,
A.SlaTargetDate,
A.RiskScore,
'Fenergo' AS SourceSystem,
GETDATE() AS LastDataUpdate
FROM [CaseStatusHistory] L
JOIN CaseAttributes A ON L.CaseID = A.CustomerApplication
LEFT JOIN [Users] U ON L.EventUser = U.UserID
WHERE L.NewStatus = 'Closed'
AND L.StatusChangeTimestamp >= '[StartDate]' AND L.StatusChangeTimestamp <= '[EndDate]'