Skip to content

Fee Configuration

Each brand can define additional fees that are applied on top of the base duties and taxes calculated by Duty Pro. Fees are configured in the dashboard under the brand’s detail page.

A fixed monetary value added to the shipment total. Example: a flat $5 “Card Processing Fee.”

SettingDescription
Display nameName shown to the consignee (e.g., “Processing Fee”)
AmountFixed fee value
CurrencyISO 4217 currency code for the fee amount

A fee calculated as a percentage of the shipment’s declared item values. Example: 4% of value with a $10 minimum.

SettingDescription
Display nameName shown to the consignee
PercentagePercentage rate (e.g., 2.5 for 2.5%)
Minimum amountOptional floor — if the calculated fee is below this, the minimum is used instead
Maximum amountOptional cap — if the calculated fee exceeds this, the maximum is used instead
CurrencyISO 4217 currency code

When both minimum and maximum are set, the minimum takes precedence (i.e., if the calculated amount is below the minimum, it is raised to the minimum even if the minimum exceeds the maximum).

A fee that is distributed evenly across item values before duty and tax calculation. This means the fee amount affects the cost basis on which duties and taxes are computed.

Pre-customs fees are not displayed as separate line items to the consignee — they are folded into the item costs.

SettingDescription
Display nameInternal name (not shown to consignee)
AmountFee value to distribute across items
CurrencyISO 4217 currency code

Example: A $6 pre-customs fee on a shipment with 3 items adds $2 to each item’s value before tariff calculation. If duties are 15%, this increases total duties by $0.90.

Each fee supports two conditions that control when it is applied:

When enabled, the fee is only applied when the shipment incurs customs duties or tariffs (i.e., total_duties > 0). If the shipment has zero duties, the fee is skipped entirely.

This is useful for fees that should only apply when customs processing actually occurs — for example, a “Customs Brokerage Fee” that doesn’t make sense on duty-free shipments.

By default, a fee applies to all destination countries. You can restrict it to a specific set of countries by providing a list of ISO 3166-1 alpha-2 country codes.

Example: A card processing fee that only applies to US-bound shipments would have a country scope of ["US"].

Fees are calculated in the following order during shipment creation:

  1. Filter applicable fees — Exclude fees whose country scope doesn’t include the destination country.
  2. Calculate pre-customs total — Sum all pre-customs fee amounts.
  3. Distribute pre-customs adjustment — Divide the total evenly across items and add to each item’s per-unit value.
  4. Query tariff — Calculate duties and taxes using the adjusted item values.
  5. Apply post-tariff fees — For each constant and percentage fee:
    • Check the duty-conditional flag — skip if duties are zero and the fee requires duties.
    • Calculate the fee amount (fixed amount or percentage with min/max bounds).
    • Record the fee as a ShipmentFee on the response.
  6. Sum totalstotal_amount = total_duties + total_taxes + total_additional_fees.

Fees can be defined in any currency. At calculation time, fee amounts are converted to the shipment’s currency using Exelot-managed exchange rates. The response includes both the converted amount (amount) and the original amount before conversion (original_amount, original_currency).

By default, all fields are appear on the consignee-facing payment page. The only exception are pre-customs fees, which are never visible (they are embedded in item costs).

Navigate to Brands > [Your Brand] in the dashboard. The Additional Fees section lists all configured fees with their type, amount, and conditions.

From this section you can:

  • Add a fee — Click “Add Fee” and fill in the fee type, amount, conditions, and display name.
  • Edit a fee — Click the edit icon on any fee to modify its settings.
  • Delete a fee — Click the delete icon to remove a fee. This does not retroactively affect existing shipments.