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.







