It appears there is a mismatch between a transaction value and adding money to a savings goal.
When retrieving Transactions, these are retrieved in decimalised pounds (ie 44.32, £44.32).
When calling: /savings-goals/$savingsGoalUid/add-money/$transactionUID, it appears the payload amount is expected in in pence (ie 500, £5).
Simple fix would be to amount = amount.multiply(new BigDecimal(100)) within the addMoneyToSavingsGoal method.
Alternatively a separate AmountInPence could be created to satisfy the requirement.