Skip to main content
A Fee Package groups fee rules and defines when they apply to Transactions.

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.
Check the field guide for more information about the fields in the form.
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.
If successful, the Console shows a confirmation message and opens the Fee Packages list.

Field guide


Basic Information

Fee Rules

Every fee inside a package has a Priority (1 = applied first). The fee with priority 1 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 using After 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
On a $100 transaction:
  • 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.01 as 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.