SwitchLock Docs
Core Concepts

Fees & Taxes

SwitchLock includes a centralized fee calculation engine that evaluates both your platform fees and statutory taxes, such as Zimbabwe's IMTT.

The Fee Engine

Whenever an escrow is settled or a payout is initiated, the system automatically calculates deductions using basis points (1 bp = 0.01%). The engine computes two separate deductions:

Platform Fee

This is your revenue. By default, the system charges 100 bps (1.00%). However, you can configure custom rates per tenant (company), and the engine will automatically override the global default with your custom system_fee_basis_points.

IMTT (Statutory Tax)

Intermediated Money Transfer Tax is legally required on electronic transfers in Zimbabwe. The engine applies different statutory rates based on the currency:

  • USD Transactions200 bps (2.0%)
  • ZIG Transactions150 bps (1.5%)

How it splits

When the fee engine calculates a transaction, it splits the total deduction into a fee and a tax. These amounts are directed to separate ledger accounts so that tax liabilities are clearly separated from your realized revenue.

DeductionDestination Account TypeDestination Ledger
feeREVENUECompany Ledger
taxTAX_PAYABLESystem Ledger

Internal: Seed Configs

If you are deploying a new environment, you must initialize the global fee configurations before processing transactions. This creates the active PLATFORM_FEE and IMTT_TAX rules in the database.

curl -X POST "https://api.switchlock.co.zw/v1/treasury/seed-configs" \
  -H "x-api-key: zl_sk_your_key_here" \
  -H "x-company-id: cmp_01HXYZ..."

Next steps