В дополнение glibs скажу - я (уже неоднократно

) реализовал схему сопоставления неразнесенных платежей с заказами. Схема позволяет один платеж сопоставить с любым количеством заказов (лишь бы хватило суммы). В частности, там присутствует и кусок по автосопоставлению накладных при разноске помеченного на заказ платежа, равно как и при разноске новых накладных по этому заказу. При этом остаток суммы с заказа не слетает.

Заодно туда был прикручен механизм одобрения этих сопоставлений и формы, позволяющие, собственно, полностью заменить стандартные по сопоставлению, кроме сопоставления из клиента. Сопоставление из клиента вообще отпало, т.к. есть сводная форма по всем платежам касса/безнал. Оттуда можно сопоставлять платежи, не ходя по куче журналов.

Поле с номером заказа на платеже используется немного по-другому. Если оно туда вбивается, то автоматом вся сумма (насколько возможно) сопоставляется с этим заказом, не требуя захода в форму сопоставления.
В качестве побочного эффекта - теперь понятие "красной лапы" отсутствует вообще.

Ограничение - только сумма платежа,
Желающим воспроизвести эти возможности, хочу сказать, что на display методы подсчетов сопоставленных сумм полагаться не надо. Мимо полей, хранящих суммы и статус оплаты заказа вы мимо никак не пройдете.