We've encountered an issue with our use of Monzo's OB implementation. Our reporting makes use of PSU booked balance, either as fetched directly from the /balances endpoint, or by deduction from either available or cleared balances if booked balance is not available.
Monzo accounts report only available balance, whereby our approach is to deduct any pending transactions to calculate a booked balance figure. However, Monzo pending transactions include historical declined transactions and confirmations of funds. While this doesn't conflict with OB spec as we understand it, it results in a distorted view of PSU booked balance vs. other ASPSPs' responses - which don't seem to report declined or COF transactions at all.
We'd be keen to learn from Monzo whether there are any markers within pending transaction data we can use to handle them properly.