В свое время, году в 2014, еще на первый версиях ЕГАИС, обсуждалась функциональность дублирования списка проданных бутылок и проверка этого списка до отправки в ЕГАИС со сканируемой бутылкой. Открытым оставался лишь вопрос в течении какого времени хранить и за какой период проверять, т.к. это все нагрузка на кассу.
Это бы позволило избегать дублирования в большинстве случаев, т.к. касса должна была сразу предупреждать, что такая бутылка уже была продана/отсканирована, соответственно ставить запрет.
Что касается сторнирования позиции, мне кажется это тоже не так сложно сделать, убить весь чек - это конечно реально, но это если супермаркет или магазин у дома, а когда в гипере у покупателя тележка с горкой на 5-10 тысяч, я слабо себе представляю, убить чек...