Я бы как попробовал сделать:

Объявил бы розничный склад виртуальным и держал бы там нулевые остатки.
Разрешил бы с розничного склада продавать в минус. Разрешить продавать в минус это самый правильный вариант.
По закрытию кассовой смены у меня на розничном складе оставались бы отрицательные остатки. Тут же гасил их Перемещением с оптового на розничный склад и снова у нас там на розничном складе отрицательные остатки.

Чем эта схема хороша - замотал отчет по розничному складу и сразу видишь есть там с остатками косяк или нет. Тот кто закрыл кассовую смену отвечает за остатки на своей смене. Замотал в начале смены отчет - убедился что все по нулям, в конце смены -- все по нулям после оформления Перемещения. Все под контролем.

У меня сейчас нет под рукой УТ11, не могу сразу глянуть настойки и как по отрицательным остаткам создать Перемещение. Если что можно простенькую обработку написать, которая создает Перемещение на основании отрицательных остатков.

Как то так.