For example, your use case sounds like the ideal scenario for Settle Up. Me and my 2 closest friends have a running group where we annotate expenses and there's always a clear picture of who owes what amount and for what reasons.
Of course, tiny customizations like a dog's picture per month, are not possible to do with a 3rd party app :-)