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
andLocal 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.
- 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.
Field | Setting | Value |
---|---|---|
paymentId | type | Free text |
usage | Available | |
rights | View and Edit for the API user | |
conversionId | type | Free text |
usage | Available | |
rights | View and Edit for the API user | |
shortReferenceId | type | Free text |
usage | Available | |
rights | View and Edit for the API user | |
transfer or payment status | type | Free text |
usage | Available | |
rights | View and Edit for the API user | |
payment sender information | type | Free text |
usage | Available | |
rights | View and Edit for the API user | |
payment ID from AML only if AML is enabled | type | Free text |
usage | Available | |
rights | View and Edit for the API user | |
payment status from AML only if AML is enabled | type | Free text |
usage | Available | |
rights | View 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.
Field | Setting | Value |
---|---|---|
sub-account ID - one for client and one for group if used | type | Free text |
usage | Available | |
rights | View and Edit for the API user | |
contact ID - one for client and one for group if used | type | Free text |
usage | Available | |
rights | View 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.
Field | Setting | Value |
---|---|---|
IBAN | type | Free text |
usage | Available | |
rights | View 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 ID | type | Settings |
---|---|---|
Custom | expense | Enable the Allow Manual Journal Entries option. |
Custom | income | Enable the Allow Manual Journal Entries option. |
Custom | asset | Enable 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:
In MPO, access the process
5.[COMMON] Link MBU customer to CCy subaccount [Linked to MBU webhook]
.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.In Mambu, access Administration > Webhooks and select Add Notification.
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.
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}" }
Select Save Changes at the bottom of the page.
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.
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}" }
Select Save Changes at the bottom of the page.