Enable the Fees Engine in Midaz module settings before you use this page.
What a Fee Package contains
A Fee Package lets you:
- Define fee calculation rules: flat fees, percentage-based fees, or combined calculations.
- Set amount ranges: apply fees only to transactions within a min/max range.
- Link to transaction routes: target specific transaction flows.
- Waive fees for specific accounts: exempt selected source accounts.
- Prioritize fee application: control the order in which Fees Engine applies multiple fees.
Accessing the Fee Packages page
In the Midaz Module sidebar, expand Fees Engine. Select Fee Packages. The page lists every configured package.
If you have no Fee Packages, the list is empty and shows a prompt to create your first package.
Available actions
From the Fee Packages page, you can:Create a Fee Package
Define new fee calculation rules for transactions
Edit a Fee Package
Update fee configurations and rules
Delete a Fee Package
Delete a fee package from your configuration
Select a package from the list to open its details view. There you can review the package’s configuration (scope, amount range, and fee rules) before you edit it. To preview the fees a period generates across packages, use Billing Runs.
Understanding Fee Package structure
When you create or edit a fee package in Midaz Module, you work with these fields:
Basic information
- Fee Package Name (required) - A descriptive name for the fee package
- Description (optional) - Explanation of the package purpose and when it applies
- Transaction Route (optional) - Link to a specific transaction route
- Segment (optional) - Associate with a specific segment
- Ledger (required) - The ledger this package applies to
Amount range
- Minimum Amount (required) - Lowest transaction amount for fee application
- Maximum Amount (required) - Highest transaction amount for fee application
- Waived Accounts (optional) - List of account aliases exempt from these fees
Fee rules
Each fee package can contain multiple fee rules with:- The fee name field (placeholder Display Name) - Name that identifies this fee
- The fee type card - How Fees Engine calculates the fee:
- Flat Fee - Fixed amount regardless of transaction value
- Percentage Fee - Percentage of the transaction amount
- Max between types - Higher value between flat and percentage calculations
- Calculation Type -
flatorpercentage - Calculation Value - The fee amount or percentage
- Reference Amount - Base for percentage calculation:
originalAmount- Calculate on the original transaction valueafterFeesAmount- Calculate after Fees Engine applies other fees
- Priority - Order of fee application (lower numbers apply first)
- Deductible from transaction? - Whether Fees Engine deducts this fee from the transaction
- Credit Account ID - Account that receives the fee amount
Common use cases
Simple flat fee per transaction
Simple flat fee per transaction
Apply a fixed fee to all transactions within an amount range:
- Fee type: Flat Fee
- Calculation:
flatwith value2.50 - Example: 10 and $1000
Percentage-based fee
Percentage-based fee
Charge a percentage of the transaction amount:
- Fee type: Percentage Fee
- Calculation:
percentagewith value1.5 - Example: 1.5% fee on transfers, where 1.50 fee
Tiered fee structure
Tiered fee structure
Create multiple packages with different amount ranges:
- Package 1: 100 → 2% fee
- Package 2: 1000 → 1.5% fee
- Package 3: $1000.01+ → 1% fee
- Lower fees for higher-value transactions
Combined flat + percentage (maximum)
Combined flat + percentage (maximum)
Apply whichever is higher between flat and percentage:
- Fee type: Max between types
- Calculations:
flat: 1.00andpercentage: 2.0 - Example: On 1.00, 1.00 fee
- Example: On 1.00, 2.00 fee
Best practices
1
Plan your fee structure
Design your fee packages before implementation. Consider transaction types, amount ranges, and customer segments that require different fee treatments.
2
Use descriptive labels
Choose clear fee group labels and descriptions that explain when and why fees apply. This helps with auditing and customer communication.
3
Set appropriate amount ranges
Define minimum and maximum amounts carefully to avoid gaps or overlaps in your fee structure.
4
Test fee calculations
Use the Fee Estimation feature to preview fee calculations before you enable packages in production.
5
Manage priority carefully
When you use multiple fees in a package, set priorities so the fees apply in the correct order.
6
Document waived accounts
Record why you waive fees for certain accounts. This supports audit and compliance.
Fee calculation flow
When Fees Engine processes a transaction, it:
- Finds the enabled packages that match the transaction route, segment, and amount range
- Keeps the most specific match, so one package applies at most
- Skips the waived accounts
- Applies fee rules in priority order
- Calculates each fee based on application rule and reference amount
- Credits fee amounts to designated accounts
Enable a fee package so it applies to transactions. To pause a package, disable it. A disabled package stays in your configuration.

