Skip to main content

Why Connectorly FX values may differ from Xero

Because Connectorly and Xero approach FX slightly differently, you may occasionally see small differences (typically a few cents or pence). These differences are expected and do not indicate an error.

Written by Nick Maxwell
Updated this week

Connectorly is designed to align with Xero’s realised FX journals while also providing a more consistent and transparent view of unrealised foreign exchange and bank revaluation movements over time, which are unavailable through the Xero API (as detailed in this Xero support article).

Because Connectorly and Xero approach FX slightly differently, you may see small differences (typically a few cents or pence) when comparing these. These differences are expected and do not indicate an error.


1. Realised FX always matches Xero

Connectorly does not recalculate realised FX gains or losses for Journals. We use the values from the Xero API.


2. Unrealised FX are calculated by Connectorly

Unrealised FX gains and losses represent the change in value of unpaid foreign-currency invoices based on current exchange rates. Unrealised FX gains and losses are not available through the Xero API.

Xero does not uniformly calculate FX movements for all foreign-currency invoices.

Xero FX treatment can vary depending on:

  • Currency

  • Payment timing

  • Payment method

  • Internal system logic

To be as consistent as possible with Xero, Connectorly only calculate unrealised gains and losses for unpaid invoices (which don't yet have realised amounts) and paid invoices that Xero has calculated realised gain or loss amounts for.

Invoices included in unrealised FX calculations

Connectorly calculates and creates Journals for daily unrealised FX gains and losses for all AUTHORISED foreign currency invoices (these are invoices that are not yet PAID).

In the case of PAID invoices, only invoices that Xero provides a realised gain or loss value for have daily values calculated.

This means that the unrealised values will properly reverse out and match the provided Xero realised values.

But it may also mean that some foreign currency invoices don't have unrealised gains and where you may have otherwise expected them.

The Connectorly unrealised FX calculation method

Connectorly calculates unrealised FX consistently across supported invoices to provide a clear, auditable, picture of FX exposure over time. Daily unrealised FX gains and losses are calculated as follows:

  • We use Xero’s exchange rate at the invoice date

  • We use the closing rate from OpenExchangeRates.org, which are accurate to six decimal places, to calculate daily movements.

  • We use Xero’s exchange rate at each payment date (including handling multiple partial payments)

By definition:

  • Unrealised FX is not final

  • It reflects valuation at a specific date

  • It will reverse (and hence sum to zero) and crystallise when payment occurs and is recorded as a realised gain or loss

Calculations are evidenced in the Journal Description which shows the source invoice, the closing rate and reporting currency valuation. For example:

Vast Eagle, Invoice Number 2243 for 712.80 NZD valued close of day at 314.46 GBP with GBP:NZD 2.266716 (latest rate on 2025-07-09, up to and including 23:59:59 UTC, source Open Exchange Rates


3. Different exchange-rate sources are used (by design)

For realised FX gains and losses, Connectorly uses Xero’s Journal records verbatim.

For daily unrealised valuations:

  • Connectorly uses OpenExchangeRates.org

  • Rates are stored at higher precision.

  • Rounding is applied later in the calculation process.

Xero typically stores exchange rates at 4 decimal places and may round earlier in its calculation pipeline.

These differences in rate source and rounding methodology can result in small variances.


4. Xero's same-day invoice and payment behaviour

In some cases, invoices created and paid at the same time (for example via card payments) can still result in a small realised FX journal amount in Xero.

This can occur because:

  • Exchange rates are retrieved at slightly different moments by Xero

  • Minor rounding differences trigger FX calculations

  • Settlement logic is event-driven rather than economically continuous

Connectorly reflects Xero’s realised FX outcome in these cases.


5. Bank Revaluations

As in the case for unrealised gains and losses, Xero doesn't provide bank revaluations through the API.

Connectorly calculates daily revaluation movements for bank accounts in a foreign currency and creates corresponding Journals and Bank Transactions.

A similar method to that for unrealised gains and losses is used. The closing rate from OpenExchangeRates.org are used for the revaluation, which are accurate to six decimal places.

Calculations are evidenced in the Journal Description and Bank Transaction Reference which shows the foreign currency bank balance, the closing rate and reporting currency valuation. For example:

Stripe EUR 12.73 balance revalued at GBP 11.18 using latest rate of GBP:EUR 1.1387583163385 on 2025-12-12 Difference of GBP 0.02 from previous valuation of 11.16 (latest rate up to and including 23:59:59 UTC, source https://openexchangerates.org)

Bank Revaluation Journals can be identified as follows:

Account Code

498 (or whatever set in Settings)

Account Name

Bank Revaluations (or whatever set in Settings)

Description

For example:

Stripe EUR 50.00 balance revalued at GBP 43.28 using latest rate of GBP:EUR 1.155146693791 on 2023-10-04 Difference of GBP -0.06 from previous valuation of 43.34 (latest rate up to and including 23:59:59 UTC, source https://openexchangerates.org)

Journal Number

Starts at 600,000,000

Journal Type

FX EXPOSURE

Reference

Calculated Bank Revaluations

Bank Revaluation Bank Transactions can be identified as follows:

Bank Transaction ID

Starts at 600,000,000 and matches the corresponding Journal Number

Source Type

REVALUATION

Reference

Is the same as the corresponding Journal Description


6. What you should expect

  • Realised FX values match Xero

  • Unrealised FX provides a consistent exposure view

  • Bank Revaluations provides a consistent view

  • Small rounding differences are normal

  • Differences typically reverse as invoices are paid

If you notice a larger discrepancy, our support team is happy to help.

Did this answer your question?