Before you start
- Enable the Fees Engine in Midaz module settings.
- You need an existing Ledger and at least one Account that can receive fee amounts.
- If the package should apply only to a specific route or segment, create those records first.
Create the Fee Package
1
Go to the Fee Packages page and click the New Package button.
2
The New Fee Package form will open with multiple sections to configure.
1
Fill in the Basic Information section
2
Configure the Amount Range section
Transactions outside this range will not have fees applied from this package.
3
Click the Next button.
4
Select one of the options in the Add Fee section:
Flat Fee- Fixed amount regardless of transaction value.Percentage- Percentage of the transaction amount.Max Between Types- Higher value between flat and percentage.
5
Add Fee information.
6
(Optional) You can add another fee rule if needed. To do so, select a new fee type and fill the information.
7
Click the Next button.
8
(Optional) Configure Account Waivers section:
- Add account aliases that should be exempt from fees in this package
- Click Add to add each waived account
9
Click the Next button.
10
Review the information and confirm that everything is correct.
11
Click the Create Package button.
Field guide
Basic Information
Fee Rules
Every fee inside a package has a Priority (1 = applied first). The fee with priority1 must use Original Amount as Reference Amount.
Flat Fee
A fixed amount applied to the Transaction regardless of its value.When you enable Deductible from transaction?, the form forces Reference Amount to
Original Amount and disables the After Fees Amount option.Percentage Fee
A percentage of the Transaction amount.Max Between Types
Calculates a flat amount and a percentage, then applies the highest result. The form requires both calculations.The Max Between Types form always requires exactly two calculations: one of type
Flat Fee and one of type Percentage Fee. The Console computes both and applies the highest.Account Waivers
Important notes
Fee priority ordering
When a package contains multiple fees, the Console applies them in priority order (lowest number first). This matters when usingAfter Fees Amount as a reference, since earlier fees affect the calculation base for later fees.
Example:
- Fee A (Priority 1): 1% on original amount
- Fee B (Priority 2): 0.5% on after fees amount
- Fee A = $1.00 (1% of $100)
- Fee B = $0.495 (0.5% of $99)
Amount range considerations
- Ranges should not overlap between packages for the same transaction route
- Use
0.01as minimum for packages that should apply to all transactions - Use a high maximum (e.g.,
999999999.99) for no upper limit - The range includes Transactions exactly at the min or max values
Waived accounts behavior
- Waived accounts bypass all fees in the package, not just specific fees
- Use account aliases (not IDs) when adding waived accounts
- Waivers apply when the waived account is the source of the transaction
What to do next
After creating the Fee Package, run a test calculation in Running a Fee Estimation before using it with live Transactions.

