1. General Prerequisites

MPO subscription

The Mambu ComplyAdvantage Transaction Monitoring connector runs on MPO. In order to use it, each customer would need an active Mambu Process Orchestrator (MPO) subscription.

The connector

The connector built by Mambu in MPO implements four main business processes:

  • Incoming Single Euro Payments Area (SEPA) Credit Transfer
  • Outgoing SEPA Credit Transfer
  • Incoming SEPA Direct Debit
  • Outgoing SEPA Direct Debit

ComplyAdvantage subscription

You need ComplyAdvantage subscription in order to have the transactions analyzed from an Anti-Money Laundering (AML) perspective.

2. Setup Prerequisites

Environments Configurations


  1. Create ComplyAdvantage account for the organization.
  2. Configure rules and actions (Hard Stop, Soft Stop).
  3. Configure the source format (payment details/fields).


  1. Log in to the Mambu environment. Create a user for MPO and grant the necessary permissions or a role. Copy the username and password.
  2. Client should be in an valid state to open deposit accounts.
  3. The deposit account should be in a valid state to post a Deposit or Withdrawal transaction.
  4. A SEPA IBAN should be mapped to the Deposit Account
  5. The deposit account has sufficient funds for a Withdrawal transaction.
  6. Payment feature should be enabled and an API key is generated.
  7. Access to the Payment Gateway environment.

Note: Create new custom fields for a Client or Group entity if needed for the data model used and grant access rights based on user roles and permissions.

Customizations Configuration

In order to offer more flexibility regarding the fields that each customer wants to send to ComplyAdvantage define a customization config containing the fields to be sent to ComplyAdvantage for a specific entity: customer (client or group), transaction (incoming or outgoing SEPA Credit Transfer and incoming or outgoing SEPA Direct Debit), and deposit account.

Define the following arrays from the customisationConfig:

  • clientUsedFields
  • groupUsedFields
  • incomingSCTTransactionUsedFields
  • outgoingSCTTransactionUsedFields
  • incomingSDDTransactionUsedFields
  • outgoingSDDTransactionUsedFields
  • depositAccountUsedFields

If additional data from external systems needs to be monitored in ComplyAdvantage, the array externalDataUsedFields must be defined along with isAMLwithExternalData = true from Mambu config.

If there are no fields to be mapped for any of these entities, then they should be set as empty arrays, for example: "depositAccountUsedFields": [].

Note: The values for the fields tx_direction and tx_type must remain Inbound (or Outbound), respectively payment_SCT(or payment_SDD).

Inside customisationConfig used fields arrays, for each field to be sent to ComplyAdvantage there is an object containing two values:

  • target(Field ID sent to ComplyAdvantage), and
  • path (Field ID from source system where the value is taken from). The path can have the following format:
    • CustomFieldSet_Id.CustomField_Id, in cases where the value is taken from Mambu custom fields, for example: "path": "_Master_Data_Clients.professionType".
    • _Object_._NestedObject_.field, in cases where the value is taken from another entity, like transaction, which has nested objects. Multiple levels of nesting can be used, for example: "path": "grpHdr.msgId".
    • _Array_[index].object.field, in case where the value is taken from an array, for example: "path": "cdtTrfTxInf[0].pmtId.txId".
    • Standalone fields, such as: "path":"customer_date_of_birth".


  • Each source format from ComplyAdvantage has a unique structure and specific fields that must be mapped in order to be able to submit a transaction in ComplyAdvantage using the customisationConfig defined during the Setup.
  • If a field needs to have the same value for all transactions sent to ComplyAdvantage, inside customisationConfig use "value" instead of "path" for that field.
  • In ComplyAdvantage source scheme there should be dedicated fields for bic(customer or counter-party), iban (customer or counter-party), depositAccountID or at least there should be other empty fields in the scheme where these values can be mapped.