Migrating data from RetailCRM to Bitrix24

Our company is engaged in the development, support and maintenance of Bitrix and Bitrix24 solutions of any complexity. From simple one-page sites to complex online stores, CRM systems with 1C and telephony integration. The experience of developers is confirmed by certificates from the vendor.
Our competencies:
Development stages
Latest works
  • image_website-b2b-advance_0.png
    B2B ADVANCE company website development
    1175
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Website development for FIXPER company
    811
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Development based on Bitrix, Bitrix24, 1C for the company Development of an Online Appointment Booking Widget for a Medical Center
    564
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Development based on 1C Enterprise for MIRSANBEL
    747
  • image_crm_dolbimby_434_0.webp
    Website development on CRM Bitrix24 for DOLBIMBY
    655
  • image_crm_technotorgcomplex_453_0.webp
    Development based on Bitrix24 for the company TECHNOTORGKOMPLEKS
    976

Data Migration from RetailCRM to Bitrix24

RetailCRM is a specialized Russian CRM for e-commerce. Its strength lies in deep integration with online stores, marketplaces, and logistics services. Transition to Bitrix24 occurs when a company wants to combine CRM with a corporate portal, tasks, and internal communications on a single platform. It's important to understand: some RetailCRM functionality (e-commerce specifics) is implemented differently in Bitrix24 CRM.

RetailCRM Object Model

RetailCRM is built around orders (Orders) as the central entity, distinguishing it from classic CRMs like Bitrix24, oriented toward deals:

  • Order — order with composition, status, delivery, payment
  • Customer — buyer (individual or company)
  • Product — product (taken from the online store catalog)
  • Task — tasks (built into the interface)
  • Note — comments to orders and customers
  • Segment — customer segments (marketing)
  • Loyalty — loyalty program (points, levels)

RetailCRM API

RetailCRM provides well-documented REST API v5. Authentication via API-key in the X-API-KEY header. Limit: depends on tariff, usually 100–500 requests per minute.

// Getting orders with pagination
$page = 1;
$orders = [];
do {
    $response = $retailCrm->get('/api/v5/orders', [
        'filter' => ['createdAtFrom' => '2020-01-01', 'createdAtTo' => '2024-12-31'],
        'page'   => $page,
        'limit'  => 100,
    ]);
    $orders = array_merge($orders, $response['orders']);
    $page++;
} while ($response['pagination']['totalPageCount'] >= $page);

Mapping Strategy

Key question: where do RetailCRM orders migrate? Depends on whether the company has an online store on Bitrix:

If there is a Bitrix store: RetailCRM orders may already be synchronized with it through integration. In this case, only customers and history need migrating — orders are already in Bitrix.

If there is no Bitrix store: RetailCRM orders are transferred as Deals in Bitrix24 CRM, customers as Contacts and Companies.

RetailCRM Bitrix24 (without store) Bitrix24 (with store)
Customer Contact / Company Website User
Order Deal Order (b_sale_order)
Order Item Deal Position Cart Position
Task Task Task
Note Timeline Comment Comment
Segment User Group CRM Segment

Order Statuses

RetailCRM has a multi-level order status system with customizable groups (new, processing, shipping, completed, canceled). In Bitrix24 CRM, these are deal stages. You must manually create corresponding stages and maintain the mapping.

Customers and Purchase History

Customers from RetailCRM migrate to Bitrix24 contacts. It's important to preserve order history for RFM analysis and repeat sales. If Bitrix24 is used as a CRM without an online store, order history is passed through timeline comments or via a custom "Purchase History" entity.

// Adding purchase record as comment to contact
$bitrix->call('crm.timeline.comment.add', [
    'fields' => [
        'ENTITY_TYPE' => 'contact',
        'ENTITY_ID'   => $contactId,
        'COMMENT'     => "Order #{$order['number']}: {$order['totalSumm']} rub. from {$order['createdAt']}",
    ],
]);

Loyalty Program

Loyalty program data (points, level, accrual history) migrates to Bitrix via the online store bonus points module or via contact custom fields. Structure depends on how loyalty is implemented in the target system.

Typical Timeframes

Volume Timeframe
up to 10,000 orders, up to 5,000 customers 2–3 weeks
10,000–100,000 orders 4–8 weeks
100,000+ orders, loyalty, segments 2–4 months

Special attention is paid to verification: comparing aggregate metrics (number of orders by status, GMV amount) before and after migration confirms completeness of transfer.