Skip to main content

ETL Financial Crime Reports

Overview

ETL Financial Crime Reports (FCR) enables the migration of historical FCR records from a legacy compliance system into Fenergo via the ETL pipeline. Imported records are created in Closed status and carry a source value of Migrated, preserving the original submission dates and external identifiers from the source system.

Migrated FCRs appear in the FCR Dashboard alongside natively created records and are included in Advanced Reporting. They are identifiable by the following characteristics:

  • Status: Closed (immutable on import)
  • Source: Migrated
  • Created By: System
  • Assignee: Empty
  • Created Date and Submitted Date are preserved from the source system
  • The legacy FCR identifier (alternateId) is stored as the external reference ID on the record

Migrated FCRs appear in the Closed tab on the FCR Dashboard.

important

This feature is intended for compliance administrators and implementation teams performing a one-time historic data migration. End-user FCR workflows are not affected by migrated records.

ETL FCR Capabilities

When using the ETL tool to migrate FCR records, users can:

  • Create new FCR records linked to existing entities with Closed status
  • Preserve original creation and submission dates from the source system
  • Store the legacy system identifier as the external reference ID on the migrated record
  • Match to an existing Fenergo FCR record using fenxId

Supported Use Cases

"I want to migrate historic FCR records from a legacy compliance system and link them to existing entities in Fenergo."
"I want to import previously Closed SARs/STRs so they appear in the FCR Dashboard and Advanced Reporting alongside native records."
"I want to preserve the original submission dates and external identifiers from the source system."

Behaviour & Limits

  • FCRs can only be loaded against entities that already exist in Fenergo.
  • All migrated FCRs are created in Closed status — this is hardcoded and cannot be changed.
  • Duplicate alternateId values within the same file will fail validation.
  • One of mainEntityAlternateId or mainEntityFenxId must be provided per row.
  • The status, source, and createdBy fields are hardcoded by the system and do not need to be included in the CSV.
  • SAR Documents, Counterparties, Addresses, and Products are not in scope for this migration.

Prerequisites

Before running an ETL FCR load, ensure the following:

  • The target entities have already been loaded into Fenergo through standard platform workflows or migrated into Fenergo via ETL in the same ETL Project.
  • Each entity is identifiable by either a mainEntityAlternateId (Alternate ID) or a mainEntityFenxId (FenX UUID).

Creating an ETL Project with FCRs

Create New Project

To initiate an FCR migration:

  1. Select + on the ETL Dashboard.
  2. Enter a Project Name and Description.
  3. Select Financial Crime Report as the datatype.

ETL Workflow Steps

The FCR ETL flow follows these steps:

  1. Select Data Source
  2. Filter Data
  3. Map System Fields
  4. Preview
  5. Validation
  6. Load

Select Data Source

Upload a CSV file containing one row per FCR record. The file must include all required fields and use the correct column names as listed in the Map System Fields section below.

tip

Ensure your CSV includes a unique alternateId for every row. This is stored as the external reference ID on the migrated FCR record and must be unique within the file.

Map System Fields

Once the data source has been uploaded, map columns from your CSV to the system fields. The table below describes all supported fields.

FieldRequiredDescription
alternateIdYesThe source system identifier for the FCR. Stored as the external reference ID on the migrated record. Must be unique within the file.
fenxIdNoThe FenX UUID of an existing FCR in Fenergo. If provided, used to match and update that record.
mainEntityAlternateIdConditionalThe Alternate ID of the entity this FCR is linked to. Required if mainEntityFenxId is not provided.
mainEntityFenxIdConditionalThe FenX UUID of the entity this FCR is linked to. Required if mainEntityAlternateId is not provided.
creationDateNoThe original FCR creation date from the source system. If left blank will default to date of migration.
submittedDateYesThe date the FCR was submitted.
note

The status, source, and createdBy fields are hardcoded by the system at load time and do not need to be included in the CSV file. All migrated FCRs are created with status = Closed, source = Migrated, and createdBy = External Source.

Create vs. Update Behaviour

The ETL engine determines whether to create or update an FCR based on the alternateId and fenxId fields:

  • If alternateId is provided and matches an existing Fenergo FCR → the existing record is updated.
  • If alternateId is not provided or does not match → a new FCR is created.
  • alternateId is always required and is stored as the external reference ID on both created and updated records.
info

A single CSV file can contain a mix of creates and updates. Rows with a matching alternateId will update existing records; all other rows will create new ones.

Preview

The Preview step displays how each FCR will be created or updated based on the current mapping configuration.

You can either:

  1. Select an FCR record from the View Sample Entities table, or
  2. Enter a specific ID to preview how that record will be processed.

Use this step to confirm field mappings and date formatting before running Validation and Load.

Validation

Validation checks each record in the data source against the project configuration. Any rows that fail are identified and listed. Once complete, a validation report can be downloaded.

Common Validation Errors

ErrorCause
Record id: <alternateId> is duplicatedThe same alternateId appears more than once in the CSV. Each FCR must have a unique identifier within the file.
One or more rows were encountered with missing ALTERNATEID or FENXIDA row does not have a value in either mainEntityAlternateId or mainEntityFenxId. At least one entity reference is required per row.
Main Entity does not existThe entity referenced by mainEntityAlternateId or mainEntityFenxId could not be found in Fenergo. Ensure the entity exists before running the FCR load.
Date value '<value>' for property 'creationDate' cannot be parsed using 'dd/MM/yyyy' date formatThe creationDate value is not in the expected format.
Date value '<value>' for property 'submittedDate' cannot be parsed using 'dd/MM/yyyy' date formatThe submittedDate value is not in the expected format.
important

All validation errors must be resolved before the Load phase can begin. Address any issues in the CSV and re-upload before proceeding.

Load

Once all validation issues are resolved, the Load option becomes available. A progress indicator tracks the status of the load.

Preparation Step

During preparation, any supplied mainEntityAlternateId values are resolved to their corresponding mainEntityFenxId. If the referenced entity cannot be found, the row will fail.

Load Step

  • FCR records are created in Closed status, with source = Migrated and createdBy = External Source.
  • alternateId is stored as the external reference ID on the migrated record.
  • Each FCR is linked to the relevant entity and appears in the Closed tab of the FCR Dashboard.
  • Once the load is complete, a reconciliation report is available.

Refer to the ETL UI user guide for additional details on monitoring load progress and downloading the reconciliation report.

Reports

After a load completes, ETL produces a reconciliation report for the FCR migration. This gives row-level visibility into which FCRs loaded successfully and which failed.

FCR Report Columns

ColumnDescription
fenxIdThe Fenergo identifier assigned to the FCR record.
alternateIdThe source system identifier supplied in the CSV (alternateId).
StatusThe outcome for the row — for example Created or Updated for a successful load, or an error state for a failure.
Error DescriptionThe error message if the row failed to load. Empty for successful rows.
Date CreatedThe timestamp of the load attempt.
Migration IDThe identifier of the migration run that produced the row.