Я делаю это через долги, если происходит возврат средств, да надо найти операцию, делю её на 2 и вторую редактирую на "я дал в долг магазину". А возврат превращается в "магазин вернул долг".
Проблема в таком кейсе происходит только если оплата в валюте, там транзакции обычно спустя пару дней пересчитываются по новому курсу и возможно надо будет отредактировать сумму долга, но в целом это отображает перемещение денег как есть.