Factorial records multi-currency expenses and shows both the original transaction currency and the converted amount in your company base currency. We use a daily average exchange rate to calculate the base amount, so small differences with the exact card/bank rate are expected. Below you have why differences happen, how to spot them, and practical steps to resolve them.
Why amounts can differ
- Daily average vs transaction moment rate - Factorial applies a daily average exchange rate for the day, while the card issuer or merchant posts a transaction using the real-time rate at the moment of settlement. Those two rates rarely match exactly.
- Card issuer fees and markup - The amount your bank posts can include FX fees or a markup, causing the charged amount to differ from the pure converted amount.
- Delayed settlement or refunds - A later settlement or refund can change the final charged amount in your statement.
- Rounding differences - Conversions and rounding rules may differ between systems, creating cent-level gaps.
- Different currency used for settlement - Merchant may present a currency conversion option to the cardholder (dynamic currency conversion). The receipt currency and the final posted currency may differ.
Where to check in Factorial
- Expense detail - open the expense to see document_amount (original currency), currency, exchange_rate (used by Factorial), and base_amount (amount in company currency).
- Card payments (cardholders, managers, finance) - the card detail table shows transaction records and usually includes FX info or flags for authorizations, settled transactions, and refunds.
- Exports / API - include document_amount, currency, exchange_rate, and base_amount in your export to check that information thoroughly.
Practical example - how to calculate and interpret a difference
Assume a receipt of USD 100, Factorial daily average rate = 0.91 EUR per USD, and bank charged €92.
- Factorial base amount calculation:
- document_amount = 100 USD
- exchange_rate (EUR per USD) = 0.91
- base_amount = 100 * 0.91 = 91.00 EUR
- Bank/issuer amount on statement:
- bank_charge = 92.00 EUR
- Difference:
- difference = bank_charge - base_amount
- difference = 92.00 - 91.00 = 1.00 EUR
Result: a 1.00 EUR FX variance to reconcile. That variance can be posted as an FX gain or loss in the accounting system.
How to handle discrepancies - recommended workflow
-
Compare values
- Export expense rows including document_amount, currency, exchange_rate, base_amount and compare base_amount to the amount on your bank/card statement.
-
Decide posting authority
- For reconciliation, use the actual bank/card posted amount as the authoritative figure when posting bank/card journals. Use Factorial’s document_amount and exchange_rate as supporting info.
-
Post FX differences
- If Factorial base_amount and bank amount differ, post the bank amount to the ledger, and book the small FX gain or loss to the appropriate P&L FX account.
-
Document the decision
- Add a short comment on the expense explaining the reconciling entry and reference the bank statement line, so auditors see the rationale.
-
Automate where possible
- Include exchange_rate and base_amount in your exports or API feed. Automate comparison between Factorial base_amount and bank statement amounts, and create a routine FX adjustment journal.
Policy and operational tips
- Always keep the original currency on the expense (document_amount and currency), not only the converted figure. This preserves auditability.
- Prefer company cards for cross-currency spend where possible. That centralizes posting and makes reconciliation easier.
- Decide a consistent accounting approach - either post using Factorial base_amount and accept small reconciling journals, or post using bank statement amounts and treat Factorial base_amount as supportive. Be consistent and document the choice.
- Communicate to employees: ask them to upload receipts in the original currency and to note if dynamic currency conversion was offered by the merchant.
- For VAT and tax: conversion rules and allowable rates differ by jurisdiction. Consult your tax advisor to choose the correct exchange rate (tax authorities sometimes mandate a specific source and method).
When to contact Support
Contact Factorial Support if:
- The exchange_rate or base_amount fields look incorrect for many transactions on the same date.
- Card transactions show inconsistent currencies or missing FX info.
- You need help including specific FX fields in an advanced export or API feed.
When you contact Support, include a sample expense id, the date, receipt currency and amount, Factorial base_amount and exchange_rate, and the bank statement posted amount.