The documentation for explaining bank transactions doesn’t specify foreign_currency_value as a required value for invoice payments but (I believe) it should be.
Let’s say the invoice currency is in USD and the customer pays in full via Stripe which automatically converts to GBP (unless you add a USD bank account in Stripe and a separate bank account in Freeagent etc). We now have a GBP transaction that needs to be explained.
If it’s explained without foreign_currency_value, no amount is deducted from the invoice and therefore is still unpaid/outstanding. In FreeAgent UI it shows the foreign currency amount as blank - not even zero. What would be the purpose of allowing a transaction to be explained this way? It should warn that an amount needs to be specified, even if it’s zero, or if you want to allow the parameter to be omitted/not included then it should default to the entire amount of the foreign currency.
I’m not an accountant so maybe there’s a reason or benefit you’re allowing this that I just can’t see it. But at the very least I believe the documentation could be updated to clarify this.