Mambu Setup

Transaction channels

Creating transaction channels for this connector makes it possible to set up accounting rules for your general ledger so that you can track payments made through the Currencycloud integration.

You will need to create different sets of transaction channels depending on the types of payments to be posted. Read our support article on creating transaction channels if this is unfamiliar to you.

  • For the FX & House Transfer flow:
    • Transaction channel for withdrawal transactions - successful transfers
    • Transaction channel for deposit transactions - successful transfers
    • Transaction channel for refund transactions - failed or cancelled transfers
  • For the Local Payments flow:
    • Transaction channel for withdrawal transactions - successful transfers
    • Transaction channel for refund transactions - failed or cancelled transfers
  • For the Incoming Payments flow:
    • Transaction channel for deposit transactions - successful transfers

Please Note

  • Each transaction channel should have its own general ledger account. The type of the GL account should be agreed internally, according to your accounting practices.
  • All transaction channel IDs should have the structure: channelID_currency, for example, 12102_EUR, 12102_USD
  • You will need to create all transaction channels if using both FX & House Transfers and Local Payments flows. If you are only using one of the two flows, only the corresponding transaction channels should be created.
  • Since incoming payments are common for all Currencycloud flows, transaction channels need to be created for each currency configured in Currencycloud. Transaction Channel
  • If the Accounting in Multicurrency feature is enabled for your Mambu tenant, then a transaction channel with its own general ledger account must be defined for every currency.

Custom fields

Custom fields in Mambu are used to store the status of Currencycloud payments and currency conversions, as well as IDs so that entities can be mapped between Mambu and Currencycloud.

Transaction custom fields

Create the following custom fields for transactions to store the Currencycloud payment details. Transaction custom fields should be defined under a custom field set.

FieldSettingValue
paymentIdtypeFree text
usageAvailable
rightsView and Edit for the API user
conversionIdtypeFree text
usageAvailable
rightsView and Edit for the API user
shortReferenceIdtypeFree text
usageAvailable
rightsView and Edit for the API user
transfer or payment statustypeFree text
usageAvailable
rightsView and Edit for the API user
payment sender informationtypeFree text
usageAvailable
rightsView and Edit for the API user
payment ID from AML only if AML is enabledtypeFree text
usageAvailable
rightsView and Edit for the API user
payment status from AML only if AML is enabledtypeFree text
usageAvailable
rightsView and Edit for the API user

Client custom fields

Create two new custom fields at the client/group level to store the Currencycloud details. Client and group custom fields should be defined under a custom set.

FieldSettingValue
sub-account ID - one for client and one for group if usedtypeFree text
usageAvailable
rightsView and Edit for the API user
contact ID - one for client and one for group if usedtypeFree text
usageAvailable
rightsView and Edit for the API user

Create one new custom fields at the deposit account level to store the Currencycloud IBAN for SEPA payments flow. Deposit account custom field should be defined under a custom field set.

FieldSettingValue
IBANtypeFree text
usageAvailable
rightsView and Edit for the API user

General ledger accounts

The general ledger (GL) accounts will be used to log the profit or loss resulting from conversion reversals - cancelling or mirroring.

You will need to create three new General Ledger accounts:

GL account name and IDtypeSettings
CustomexpenseEnable the Allow Manual Journal Entries option.
CustomincomeEnable the Allow Manual Journal Entries option.
CustomassetEnable the Allow Manual Journal Entries option.

To automatically log journal entries for incoming payments, the necessary GL accounts need to be created in each currency used in your deposit products.

Deposit products

The Allow Arbitrary Fees option should be enabled if transfer fees will be charged in Mambu.

The GL accounts for each currency, created in the previous step, need to be associated with the deposit products created in the corresponding currencies.

Mambu webhooks

The sub-account and contact linkage feature of the connector requires setting up two Mambu webhooks. One webhook is triggered when a deposit account is created for a client. Another webhook gets triggered when a deposit account is created for a group. Read our support article on defining a new webhook in the Mambu User Guide if this process is unfamiliar to you.

For setting up these webhooks, follow the next steps:

  1. In MPO, access the process 5.[COMMON] Link MBU customer to CCy subaccount [Linked to MBU webhook].

  2. Click the Start node in Edit mode and then select Copy webhook via JSON. You will use the copied URL as the Mambu webhook URL.

  3. In Mambu, access Administration > Webhooks and select Add Notification.

  4. Configure the Currencycloud sub-account and contact linkage for clients webhook as shown below. The webhook URL should be the one copied from MPO in step 2. Clients Webhook Configuration

  5. In the content text area, use the following message body:

    {
        "customerId": "{RECIPIENT_ID}",
        "customerLegalEntityType": "individual",
        "customerSubAccountId": "Get this value by selecting Clients (Custom Fields) - CCy sub-account id in the Placeholder field",
        "customerContactId": "Get this value by selecting Clients (Custom Fields) - CCy contact id in the Placeholder field",
        "customerFirstNames": "{RECIPIENT_FIRST_NAMES}",
        "customerMiddleNames": "{RECIPIENT_MIDDLE_NAMES}",
        "customerLastNames": "{RECIPIENT_LAST_NAME}",
        "customerEmailAddress": "{RECIPIENT_EMAIL_ADDRESS}",
        "customerPhoneNumber": "{RECIPIENT_MOBILE_PHONE}",
        "customerDateOfBirth": "FORMAT_DATE{CLIENT_BIRTH_DATE,datePattern=yyyy-MM-dd}",
        "customerAddress": "{RECIPIENT_ADDRESS_LINE_1}",
        "customerCity": "{RECIPIENT_ADDRESS_CITY}",
        "customerCountry": "{RECIPIENT_ADDRESS_COUNTRY}",
        "depositAccountId": "{ACCOUNT_ID}"
    }
    
  6. Select Save Changes at the bottom of the page.

  7. Configure the Currencycloud sub-account linkage and contact for groups webhook as shown below. The webhook URL should be the one copied from MPO in step 2. Groups Webhook Configuration

  8. In the content text area, use the following JSON object:

    {
        "customerId": "{RECIPIENT_ID}",
        "customerLegalEntityType": "company",
        "customerSubAccountId": "Get this value by selecting Groups (Custom Fields) - CCy sub-account id in the Placeholder field",
        "customerContactId": "Get this value by selecting Groups (Custom Fields) - CCy contact id in the Placeholder field",
        "customerFullName": "{RECIPIENT_NAME}",
        "customerEmailAddress": "{RECIPIENT_EMAIL_ADDRESS}",
        "customerPhoneNumber": "{RECIPIENT_MOBILE_PHONE}",
        "customerAddress": "{RECIPIENT_ADDRESS_LINE_1}",
        "customerCity": "{RECIPIENT_ADDRESS_CITY}",
        "customerCountry": "{RECIPIENT_ADDRESS_COUNTRY}",
        "depositAccountId": "{ACCOUNT_ID}"
    }
    
  9. Select Save Changes at the bottom of the page.