This is a rounding error due to when the VAT is calculated. There are various threads about it on the community forum; here’s one:
As you mentioned, FreeAgent rounds the VAT figure per line rather than at the end of the invoice and this is where the discrepancy is occurring.
You can see from this HMRC article (point 17.5.2) that they advise you can calculate VAT either way as long as it is consistent.
Therefore, in effect there is no incorrect answer here - the VAT total of the previous amounts, or the new amounts (1p higher or lower) are both correct depending on how you calculate the VAT.
Here is one possible way to resolve the issue of 1p underpayments on your invoices:
Create a new spending category like this Add new category and call it something like “Penny Roundings”. Set this as N/A for VAT.
Each time you receive a payment from a customer that falls a penny short of the amount you’ve invoiced, when you explain the bank transaction first select the transaction and choose More Options, then explain it as an invoice receipt, change the amount in the “Credit Value” box, to match the amount of the invoice. Save that transaction. This will ensure the invoice shows as fully paid.
FreeAgent will have created a payment of £0.01 in your bank account. Explain this as a Payment to the Penny Roundings category.
When I create invoices from Stripe charges / GoCardless payments I detect any rounding error and and add an invoice item entitled “Rounding error adjustment” for plus or minus 1p to correct it.