Implementation guide · IB Commission Operations
Commission Currency Conversion and Rounding
Convert partner commissions with explicit currency pairs, rate direction, timestamps and rounding. Reconcile original accruals to settlement amounts.
Published Updated
Published by FxTrusts, a supplier of brokerage and prop firm technology. Prepared with AI-assisted research and drafting; reviewed against the cited public sources. Examples are illustrative. Product links describe our services.
Quick answer
Commission currency conversion translates an earned amount into another currency using a declared exchange-rate source, direction and time. Preserve the original accrual and the converted result. Statement translation, a booked conversion and an actual cash payment can use different policies and should not be presented as the same event.

Write the rate with its units
A bare rate such as 0.92 is ambiguous. State whether it means EUR per USD or USD per EUR. Multiply an amount in the denominator currency by that rate to obtain the numerator currency; invert the rate only when the required direction is opposite. Record any spread, fee or contractual markup separately. The example below uses invented rates for arithmetic, not current market quotes or an offer to exchange money at those prices.
Keep accrual, display and payment currencies distinct
An agreement may earn commission in USD while the portal displays EUR and the payout uses another currency. IBKR’s base-currency documentation provides a provider-specific example of statement translation; it should not be read as a universal rule for partner settlements. Label an indicative display as such. When a conversion is actually booked, link the original currency movement, applied rate and destination amount so finance can distinguish a changing display from a change in the amount owed.
Sources for this section
- IBKR: base currency and statement translationwww.ibkrguides.com
Choose the rate time and preserve it
A trade-close rate, daily accounting rate and payout-time rate can produce different amounts. The contract should identify the relevant event and fallback when the selected source is unavailable. Record the quote timestamp and retrieval time where they differ. A retry of the same booked conversion should reuse its established record rather than fetch a new rate and create another amount. If a rate was wrong, make a linked correction with a documented reason instead of overwriting the evidence.
Define precision and the rounding boundary
Specify calculation precision, currency scale and rounding mode, then decide whether rounding occurs on each commission or after grouping. These choices can change the total. Python’s decimal documentation explains explicit decimal arithmetic and rounding controls; other implementation languages need equivalent deliberate handling. Keep any residual adjustment visible and do not distribute it to arbitrary partners simply to remove a mismatch. Reversals also need a stated policy for reusing the original converted amount or creating a new conversion.
Sources for this section
- Python decimal: explicit precision and roundingdocs.python.org
Two currencies and a one-cent rounding difference
For a fictional EUR statement, USD 125 at 0.92 EUR per USD becomes EUR 115. GBP 80 at 1.17 EUR per GBP becomes EUR 93.60. Their converted total is EUR 208.60 before any separately agreed charges. These rates are illustrative and are assumed to share the required valuation time. For a rounding boundary test, three USD 0.01 commissions at 0.50 EUR per USD each produce EUR 0.005 unrounded.
| Method | Calculation | EUR total |
|---|---|---|
| Round each small commission | 0.01 + 0.01 + 0.01 | 0.03 |
| Group before rounding | USD 0.03 × 0.50 = EUR 0.015 | 0.02 |
| Difference requiring a declared policy | 0.03 − 0.02 | 0.01 |
Implementation checklist
- Write the currency direction beside every rate.
- Retain source amounts, valuation time and rate evidence.
- Distinguish indicative translation from booked conversion and payment.
- Test the agreed rounding boundary and reversal treatment.
Sources
These documents support the reference. Check the original publication for current requirements and the limits of its scope.
- IBKR: base currency and statement translationwww.ibkrguides.com
- Python decimal: explicit precision and roundingdocs.python.org
Continue with the broader guides
Connect this reference to platform selection and the wider operating workflow.
