Using Functions gives our customers the power to customise their products for their unique requirements by injecting their own logic into business processes.
How? Functions can be built within a simple and intuitive developer experience that makes custom configurations more effortless and efficient. Customers can write functions in TypeScript or JavaScript that draw on Mambu data. When products are configured within Mambu, the custom logic will be called instead of the out-of-the-box Mambu functionality.
With Mambu managing the infrastructure, customers are liberated from the burdens of security, maintenance and the high-cost associated with managing core extensions. This translates to savings in terms of money, time, and effort.
Custom deposit fees and balance adjustments
With this initial release, Mambu customers can use Functions to calculate fees in Deposit products, either manually or monthly, using account data and standard or ungrouped custom fields. Learn more about available input parameters on the dedicated support page.
Customers can use Functions to apply a specific monthly fee on all types of deposit accounts (current, savings and fixed deposit, savings plan, and funding accounts) based on their needs.
Use cases may include using customer segmentation housed in custom fields (Free, Standard, Premium) to apply a specific fee, waive fees for students or for newcomers to the country, charge additional fees if paper statements are enabled, give discounts on fees based on status or age group (seniors, students), waive fees if customers own both a savings account and a deposit account and more.
Example
Let’s say you want to apply a special fee if customers opt for paper statements. With Functions, you can provide your own logic in code, using data from the Mambu Cloud Banking Platform (in this case, using the data available in Custom Fields). Once the Function has been deployed, it can be bound to a product using the Mambu UI — when choosing product configuration features such as deposit fee — and it will be invoked when the relevant API is called.
You can use a custom field in your logic in this way:
import { DepositFeeAmountInput, FeeAmount } from "@mambucom/mambu-functions";
import { Big } from "big.js";
export default async function feePercentageFunction(input: DepositFeeAmountInput): Promise<FeeAmount> {
let feePercentage = 0.02;
const totalBalance = new Big(input.account.totalBalance);
// Lower the fee if custom field isStatementEnabled == 'false' for this particular account
let statementsEnabled = input.accountCustomFields && /^true$/i.test(input.accountCustomFields[`isStatementEnabled`]);
if (!statementsEnabled) {
feePercentage = 0.00;
}
return totalBalance.times(feePercentage).toFixed(2).toString();
}
Get started with Mambu Functions
From installation and deployment to managing and utilising the Mambu Functions API, our user guide has everything there’s to know to help you get started with Functions.
If you’re a Mambu customer who would like to request early access to this feature, please get in touch with your Customer Success Manager to discuss your requirements.
What’s next?
We haven’t even scratched the surface on the possibilities that Mambu Functions allows. At its core, Mambu Functions is about endless innovation and opportunities. Our aim is to make sure our customers can move at the speed of change with the flexibility of a core that accommodates current custom needs and adapts to regulatory changes, industry shifts and growing client demands when needed.
This release is the first of many more to come. Stay tuned for more exciting updates as we continue to enhance Mambu Functions with new extension points.
Not yet a Mambu customer? Get started today.