Monetize360

Potential Savings Intra-Bank

Calculate potential savings from intra-bank fee analysis by comparing actual charges against minimum rates

Potential Savings Intra-Bank

Calculate potential savings from intra-bank fee analysis. The function compares actual charges against minimum rates across bank services and returns a summary of total potential savings and the number of services with savings opportunities.

Technical Name: PotentialSavingIntraBankFunc

Properties

  • Execution Mode: SYNC
  • Type: NATIVE
  • Category: System Functions
  • Function ID: 66e31772-bde2-4a8f-801d-c215b5cdc326

Input Schema

Required Parameters

ParameterTypeDescription
dataobjectReport configuration object (MReportMaster) containing query with bank service fee data

The report query should include the following fields:

  • bank_service_description - Name/description of the bank service
  • unit_price - Unit price/rate for the service
  • volume - Transaction volume
  • total_charges - Total charges for the service
  • forex_rate - Foreign exchange rate (if applicable)

[Image placeholder: PotentialSavingIntraBank function configuration panel]

Input Example

{
  "data": {
    "reportConfig": {
      "query": {
        "selectFields": [
          {
            "fieldName": "bank_service_description",
            "fieldAlias": "Service"
          },
          {
            "fieldName": "unit_price",
            "fieldAlias": "Unit Price"
          },
          {
            "fieldName": "volume",
            "fieldAlias": "Volume"
          },
          {
            "fieldName": "total_charges",
            "fieldAlias": "Total Charges"
          },
          {
            "fieldName": "forex_rate",
            "fieldAlias": "Forex Rate"
          }
        ],
        "fromClause": {
          "mobjectId": "bank-fee-mobject-uuid"
        }
      }
    }
  }
}

Output Schema

FieldTypeDescription
resultobjectSummary object containing savings metrics

The result object contains:

FieldTypeDescription
SavingsstringTotal potential savings (rounded to nearest integer)
VariancestringNumber of services with potential savings > 1

Output Example

{
  "result": {
    "Savings": "5000",
    "Variance": "12"
  }
}

[Image placeholder: Potential savings output visualization]

How It Works

The function performs the following analysis:

  1. Groups by Service: Groups fee data by bank service description
  2. Finds Min/Max Rates: Identifies minimum and maximum unit prices for each service
  3. Calculates Savings: Compares actual charges against charges at minimum rate:
    savings = total_charges - (forex_rate × volume × min_rate)
  4. Aggregates by Service: Sums savings for each service
  5. Filters Results: Only includes services where total_savings > 1
  6. Returns Summary:
    • Total savings across all services (rounded)
    • Number of services with savings opportunities (Variance)

Use Cases

Quick Savings Assessment

Get a quick summary of potential savings:

{
  "data": {
    "reportConfig": {
      "query": {
        "selectFields": [
          {"fieldName": "bank_service_description", "fieldAlias": "Service"},
          {"fieldName": "unit_price", "fieldAlias": "Rate"},
          {"fieldName": "volume", "fieldAlias": "Volume"},
          {"fieldName": "total_charges", "fieldAlias": "Charges"},
          {"fieldName": "forex_rate", "fieldAlias": "Forex"}
        ],
        "fromClause": {
          "mobjectId": "bank-fee-mobject-uuid"
        },
        "where": [
          {
            "field": "transaction_date",
            "operator": "greaterThanOrEquals",
            "value": "2024-01-01"
          }
        ]
      }
    }
  }
}

Savings Dashboard

Display total savings in a dashboard:

Start → FetchMData(Bank Fees) → PotentialSavingIntraBank → DisplayDashboard → End

[Image placeholder: Workflow example]