RMA-система на 1С-Бітрікс: розробка та впровадження

Створення RMA-системи на 1С-Бітрікс: розробка та впровадження Повернення без системи — хаос. Клієнт телефонує або пише на загальну пошту, менеджер вручну шукає замовлення, домовляється про повернення, надсилає інструкції. Відстежити статус повернення неможливо, аналітики немає. Ми розробляємо RMA
Послуги, які ми пропонуємо
Показано 1 з 1Усі 1626 послуг
RMA-система на 1С-Бітрікс: розробка та впровадження
Середній
~1-2 тижні

Наші компетенції:

Часті запитання

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1460
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Розробка веб-сайту для компанії ФІКСПЕР
    1019
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Розробка на базі Бітрікс, Бітрікс24, 1С для компанії Development of an Online
    763
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    882
  • image_crm_dolbimby_434_0.webp
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    809
  • image_crm_technotorgcomplex_453_0.webp
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    1164

Створення RMA-системи на 1С-Бітрікс: розробка та впровадження

Повернення без системи — хаос. Клієнт телефонує або пише на загальну пошту, менеджер вручну шукає замовлення, домовляється про повернення, надсилає інструкції. Відстежити статус повернення неможливо, аналітики немає. Ми розробляємо RMA-системи на 1С-Бітрікс, які автоматизують цей процес: клієнт створює заявку на повернення через особистий кабінет, менеджер обробляє її в адміністративній частині, система відстежує статуси та ініціює повернення платежу. RMA-система скорочує час обробки повернення в 5 разів порівняно з ручним процесом. Бітрікс не має вбудованого RMA — його будують поверх модуля sale. Наші інженери мають 10+ років досвіду в розробці на Бітрікс та реалізували понад 50 проєктів з автоматизації повернень. Оцінимо ваш проєкт за 1 день: зв'яжіться з нами.

Чому RMA на Бітрікс?

Бітрікс — одна з найпоширеніших CMS в Україні, і багато інтернет-магазинів уже працюють на ній. Вбудованого модуля RMA немає, але платформа надає гнучкі інструменти: інфоблоки, користувацькі таблиці (HL-блоки), ORM, події та агенти. Завдяки цьому можна побудувати систему повернень, повністю інтегровану із замовленнями, кошиком, складом та платіжними шлюзами. Крім того, Бітрікс легко зв'язується з 1С через CommerceML, що дозволяє автоматично оновлювати залишки після повернення.

Юридичний контекст

Повернення товару регулюється статтями 18, 25 Закону про захист прав споживачів. Дві основні підстави:

  • Неналежна якість (ст. 18) — дефект, брак. Строк пред'явлення — у межах гарантійного терміну.
  • Належна якість (ст. 25) — «передумав». Тільки для непродовольчих товарів, 14 днів, товар не повинен бути у вжитку.

У системі RMA обидві підстави повинні бути представлені окремими типами заявок з різними полями та процесами.

Модель даних

Основна таблиця RMA-заявок будується на ORM Бітрікс:

class RmaRequestTable extends \Bitrix\Main\ORM\Data\DataManager { public static function getTableName(): string { return 'b_local_rma_request'; } public static function getMap(): array { return [ new IntegerField('ID', ['primary' => true, 'autocomplete' => true]), new StringField('NUMBER'), // RMA-YYYYMMDD-XXXX new IntegerField('ORDER_ID'), // b_sale_order new IntegerField('USER_ID'), new EnumField('TYPE', ['values' => ['DEFECT', 'EXCHANGE', 'REFUND']]), new EnumField('STATUS', ['values' => ['NEW', 'UNDER_REVIEW', 'APPROVED', 'REJECTED', 'RETURNED', 'REFUNDED', 'CLOSED']]), new TextField('DESCRIPTION'), // Опис причини від клієнта new StringField('DEFECT_PHOTO_IDS'), // JSON-масив b_file ID new StringField('REJECT_REASON'), // Причина відмови (якщо REJECTED) new FloatField('REFUND_AMOUNT'), // Сума до повернення new IntegerField('RESPONSIBLE_ID'), // Відповідальний менеджер new DatetimeField('CREATED_AT'), new DatetimeField('UPDATED_AT'), new DatetimeField('DEADLINE_AT'), // Деадлайн обробки (14 днів) ]; } } 

Додаткові таблиці: RmaItemTable (позиції повернення) та RmaHistoryTable (історія статусів) — будуються аналогічно. Позиції повернення зв'язуються із замовленням через ORDER_BASKET_ID, а історія фіксує всі зміни із зазначенням користувача та коментаря.

Генерація номера RMA

Кожна заявка отримує унікальний номер формату RMA-YYYYMMDD-XXXX, де XXXX — порядковий номер. Генерація проста: береться останній ID з таблиці та інкрементується. Номер створюється автоматично при збереженні заявки.

Створення заявки з особистого кабінету

Сторінка /personal/rma/create/?order_id=12345 відображає список товарів замовлення та дозволяє вибрати, які позиції повернути, вказати причину, завантажити фото дефекту. Приклад компонента:

class RmaCreateComponent extends \CBitrixComponent { public function executeComponent(): void { $orderId = (int)$this->arParams['ORDER_ID']; if (!$orderId || !$this->isOrderOwner($orderId)) { LocalRedirect('/personal/orders/'); } $order = \Bitrix\Sale\Order::load($orderId); $basket = $order->getBasket(); $items = []; foreach ($basket as $item) { $daysSinceOrder = (new \DateTime())->diff(new \DateTime($order->getField('DATE_INSERT')))->days; if ($daysSinceOrder > 365) continue; $items[] = [ 'BASKET_ID' => $item->getId(), 'PRODUCT_ID' => $item->getProductId(), 'NAME' => $item->getField('NAME'), 'QUANTITY' => $item->getQuantity(), 'PRICE' => $item->getPrice(), 'CAN_REFUND' => $daysSinceOrder <= 14, ]; } if ($this->request->isPost() && check_bitrix_sessid()) { // Валідація та збереження заявки $this->createRmaRequest($orderId, $items); } $this->arResult['ORDER'] = $order; $this->arResult['ITEMS'] = $items; $this->includeComponentTemplate(); } } 

Після відправлення заявки менеджер отримує сповіщення, а клієнт — посилання на статус.

Як прискорити обробку повернень?

Автоматизація скорочує ручну працю: менеджеру не потрібно шукати замовлення, перевіряти строки, розраховувати суму. Система сама перевіряє допустимість повернення за датою, статусом замовлення та типом товару. Схвалення або відмова відбувається в один клік, а при позитивному рішенні автоматично ініціюється повернення грошей через платіжний шлюз (ЮKassa, CloudPayments). Все це скорочує час обробки з 2 днів до 1 години.

Порівняння: ручний процес vs RMA

Критерій Ручний процес RMA-система
Час обробки заявки до 2 днів 1 година
Помилки в розрахунках часті виключені
Аналітика по поверненнях немає вбудована
Інтеграція з поверненням платежу вручну автоматично
Сповіщення клієнта вручну автоматичні

Що входить в роботу

Ми надаємо повний цикл розробки RMA-системи під ключ:

  • Аналіз бізнес-процесів та проектування моделі даних
  • Розробка особистого кабінету клієнта (створення, перегляд статусів, завантаження фото)
  • Адміністративний інтерфейс для менеджерів (фільтри, масові дії, історія)
  • Інтеграція з платіжними системами (рефанд) та службами доставки
  • Підключення до 1С через CommerceML для синхронізації залишків
  • Документація, навчання персоналу, гарантійна підтримка 1 рік

Строки розробки

Варіант Склад Строк
Базова RMA Форма заявки, список в ОК, статуси 8–12 днів
З обробкою в адмінці Інтерфейс менеджера, історія, сповіщення 12–18 днів
Повна система + Повернення платежів, інтеграція зі складом 18–28 днів

Вартість розраховується індивідуально — оцінка займає 1 день. Наша команда має 10+ років досвіду в розробці на 1С-Бітрікс та 50+ успішних проєктів. Отримайте консультацію: ми зв'яжемося з вами протягом години.