Если честно я сам страдаю от возвратов, но не представляю как можно починить это лучше.
Все предлагаемые кейсы решают какую-то частную проблему но не решают проблему в целом. А в целом проблема уже решена использованием долгов. Т.к. возвраты это фактически долги.
#предложение
1. Мне кажется нужно просто как-то дотюнить список контрагентов чтобы это был справочник а не текстовое поле. Я очень парюсь о том чтобы вести его аккуратно, и то у меня уже есть три задублировавшихся получателя\плательщика а смерджить их непонятно как. С телефона это жутко неудобно, а в веб версии я контрагентов вообще не нашёл. Я бы предложил сделать операцию добавления нового контрагента явной. Ну типа чтобы надо было прям нажать кнопку "добавить". А антерфейс выбора заточить больше в сторону селекта чем в сторону ввода.
Кстати в вебе это вообще просто текстовое поле. Но веб я так понял в принципе заброшен.
2. Нужны группировки транзакций:
https://support.zenmoney.ru/communities/1/topics/1445-gruppirovka-tranzaktsij-po-schetuchekulokatsii-s-obschim-itogomТогда это решит большую часть боли - меняем платеж на долг, добавляем возврат, вуаля.