Multi-Bank Fee Analysis
Generate comprehensive multi-bank fee analysis reports comparing fees across banks by category with percentage breakdowns
Multi-Bank Fee Analysis
Generates comprehensive multi-bank fee analysis reports. The function compares fees across multiple banks, groups data by categories, converts all charges to USD, and provides percentage breakdowns for sub-categories.
Technical Name: MultiBankFeeAnalysisFunc
Properties
- Execution Mode: SYNC
- Type: NATIVE
- Category: System Functions
- Function ID:
66e31772-bde2-4a8f-801d-c215b5cdc328
Input Schema
Required Parameters
| Parameter | Type | Description |
|---|---|---|
data | object | Report configuration object (MReportMaster) containing query with bank fee data |
The report query should include the following fields:
bank_name- Name of the bankname- Category nametotal_charges- Total charges for the servicevolume- Transaction volumeforex_rate- Foreign exchange rate for currency conversion
[Image placeholder: MultiBankFeeAnalysis function configuration panel]
Input Example
{
"data": {
"reportConfig": {
"query": {
"selectFields": [
{
"fieldName": "bank_name",
"fieldAlias": "Bank"
},
{
"fieldName": "name",
"fieldAlias": "Category"
},
{
"fieldName": "total_charges",
"fieldAlias": "Total Charges"
},
{
"fieldName": "volume",
"fieldAlias": "Volume"
},
{
"fieldName": "forex_rate",
"fieldAlias": "Forex Rate"
}
],
"fromClause": {
"mobjectId": "bank-fee-mobject-uuid"
}
}
}
}
}Output Schema
| Field | Type | Description |
|---|---|---|
result | object | Result object containing analysis data |
result.data | array | Array of Level 3 analysis objects |
result.count | integer | Number of categories analyzed |
Each object in the result.data array contains:
| Field | Type | Description |
|---|---|---|
Bank | string | Bank name (for parent category rows) |
Custom Category Description | string | Category or sub-category name |
Bank Service Description | string | Bank service description (for sub-categories) |
Category | string | Parent category name |
Total Charges | number | Total charges (converted to USD) |
Total Volume | number | Total transaction volume |
Total Primary Charges | number | Total primary charges (converted to USD) |
Total Primary Volume | number | Total primary volume |
Potential Savings | number | Potential savings (only for categories with include_l3_savings flag) |
Percent | boolean | Whether this row shows percentage breakdown |
[Bank Name] Spend | number | Custom field: Total spend for this bank (or percentage if Percent=true) |
[Bank Name] Primary Volume | number | Custom field: Primary volume for this bank (or percentage if Percent=true) |
[Bank Name] Per unit | number | Custom field: Average price per unit for this bank |
Output Example
{
"result": {
"data": [
{
"Custom Category Description": "Payment Services",
"Category": "Payment Services",
"ABC Bank Spend": 50000,
"ABC Bank Primary Volume": 100000,
"ABC Bank Per unit": 0.50,
"XYZ Bank Spend": 45000,
"XYZ Bank Primary Volume": 90000,
"XYZ Bank Per unit": 0.50,
"Potential Savings": 5000
},
{
"Custom Category Description": "Wire Transfer",
"Bank Service Description": "Wire Transfer",
"Category": "Payment Services",
"ABC Bank Spend": 30000,
"ABC Bank Primary Volume": 60000,
"ABC Bank Per unit": 0.50,
"XYZ Bank Spend": 25000,
"XYZ Bank Primary Volume": 50000,
"XYZ Bank Per unit": 0.50
},
{
"Custom Category Description": "Payment Services Percentages",
"Category": "Payment Services",
"Percent": true,
"ABC Bank Spend": 0.60,
"ABC Bank Primary Volume": 0.60,
"XYZ Bank Spend": 0.56,
"XYZ Bank Primary Volume": 0.56
}
],
"count": 3
}
}[Image placeholder: Multi-bank analysis output visualization]
How It Works
The function performs the following analysis:
-
Currency Conversion: Converts all charges to USD using forex rates:
total_charges_converted = total_charges × forex_rate -
Groups by Bank and Category: Groups fee data by bank name and category
-
Aggregates Metrics: Sums charges and volumes for each bank-category combination
-
Organizes by Category: Structures results hierarchically:
- Parent category rows show totals across all banks
- Sub-category rows show breakdowns by bank service
- Percentage rows show child category percentages relative to parent
-
Calculates Per-Unit Prices: Computes average price per unit for each bank:
per_unit = total_charges / total_primary_volume -
Calculates Potential Savings: For categories with
include_l3_savingsflag, calculates potential savings by comparing rates across banks -
Adds Percentage Breakdowns: Creates percentage rows showing how sub-categories contribute to parent categories
Use Cases
Multi-Bank Fee Comparison
Compare fees across multiple banks by category:
{
"data": {
"reportConfig": {
"query": {
"selectFields": [
{"fieldName": "bank_name", "fieldAlias": "Bank"},
{"fieldName": "name", "fieldAlias": "Category"},
{"fieldName": "total_charges", "fieldAlias": "Charges"},
{"fieldName": "volume", "fieldAlias": "Volume"},
{"fieldName": "forex_rate", "fieldAlias": "Forex"}
],
"fromClause": {
"mobjectId": "bank-fee-mobject-uuid"
}
}
}
}
}Category-Based Analysis
Analyze fee distribution across categories and banks:
Start → FetchMData(Bank Fees) → MultiBankFeeAnalysis → Export → End[Image placeholder: Workflow example]
Related Functions
- Level 1 Analysis - Analyze intra-bank fee data with rate comparisons
- Intra-Bank Fee Detail Report - Generate detailed transaction-level fee reports
- Export Data to CSV - Export analysis results for further processing