Как вам такой вариант?
При оплате делаем:
- "за себя" расход со счёта кредитки по нужной статье
- "за других" - переводы со счёта кредитки на соотв. счета долгов ("Иванов", "Петров", "Сидоров" ...) - всё равно ведь надо считать, кто сколько должен - почему этого не сделать сразу?
При возврате долгов наличными делаем
- обратный перевод со счёта долгов ("Иванов") на счёт "кошелёк"
Итого:
- баланс по всем счетам правильный
- доходы-расходы адекватные (расходы только "за себя", доходов "ниоткуда" нет)
- а деньги, по итогу, просто перешли с кредитки в кошелёк (через соответствующий счёт долгов)
- и ... никаких отрицательных сумм
Единственное, что здесь и правда было бы полезно - это т.н. "сплит-транзакции" - чтобы одной (составной) транзакцией описать исходную трату по кредитке. Но, на мой взгляд, это не так и критично.