Костыль 'автоотправление заявок в DPD' в модуле Bitrix

Есть модуль "Интеграция с DPD" от компании ipolh.
Всё здорово! Много настроек, но вот только нет одной... автоматической отправки заявки по статусу заказа! т.е. обязательно менеджер магазина (или админ) должен нажать кнопочку (точнее 3 кнопки) что бы отправить заявку в DPD!
В поддержке предложили платную доработку, но ковырять код мы привыкли и я допилил это одним событием, прошу к обозрению:
AddEventHandler("sale", "OnOrderAdd", "OnOrderAddHandler");
AddEventHandler("sale", "OnSaleStatusOrder", "LoadDPD");

    function OnOrderAddHandler($ID, $arFields) {
        self::LoadDPD($ID, $arFields['STATUS_ID']);
    }
    function LoadDPD($ORDER_ID, $STATUS_ID){
        if(!$ORDER_ID) return false;
        if($STATUS_ID=="P")
        {// только на статусе "Оплачено"
            \Bitrix\Main\Loader::includeModule('ipol.dpd');
            $_REQUEST['ID'] = $ORDER_ID;
            $_REQUEST['IPOLH_DPD_ACTION'] = 'CREATE_ORDER';
            $_REQUEST['IPOLH_DPD_ORDER']['PICKUP_DATE'] = date("d.m.Y H:i:s",time()+86400); // через сутки
            if (isset($_REQUEST['ID'])) 
            {
                $arOrder  = \CSaleOrder::GetByID($_REQUEST['ID']);
            }
            else
            {
                $arOrder = \CSaleOrder::GetList(
                    $arOrder = [],
                    $arFilter = [
                        \Bitrix\Main\Config\Option::get('ipol.dpd', 'ORDER_ID', 'ID') => $_REQUEST['dID'],
                    ]
                )->Fetch();
            }
            // кусок из модуля 
            $ORDER_ID = \Ipolh\DPD\Utils::getOrderId($arOrder);
            $deliveryCode = \Ipolh\DPD\Delivery\DPD::getDeliveryCode($arOrder['DELIVERY_ID']);
            $profile      = \Ipolh\DPD\Delivery\DPD::getDeliveryProfile($deliveryCode);
            $showButtonAlways = \Bitrix\Main\Config\Option::get('ipol.dpd', 'SHOW_ADMIN_BUTTON', '') == 'ALWAYS';
            if ($profile !== false || $showButtonAlways)
            {
                $entity = \Ipolh\DPD\DB\Order\Table::findByOrder($ORDER_ID, true);
                if (!$entity->id)
                {
                    $errors = $entity->save();
                }
                if (!$entity->isCreated())
                {
                    $entity->fillFromOrder($ORDER_ID);
                }
                $form = new \Ipolh\DPD\Admin\Order\Edit($entity);
                $form->processAndShow();
            }
        }
        elseif($order = CSaleOrder::GetByID($ORDER_ID) && $order['PAY_SYSTEM_ID']==2)
        {// На проверке менеджером
            CSaleOrder::StatusOrder($ORDER_ID, "CH");
        }
    }
Таким образом, этот костыль не ломает модуль, не отключает его обновления но может перестать работать в случае если разработчик модуля изменит метод отправки...

p.s. если разработчик читает это сообщение и собирается внедрить это в модуль "по умолчанию" - прошу отписаться в комментариях или написать в чат сайта!