Migrating from Cloud Bitrix24 to On-Premise

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
    1173
  • 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
    745
  • 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

Migration from Cloud Bitrix24 to On-Premise

Moving from a cloud plan to the box version is not simply a matter of changing servers. Cloud and On-Premise are fundamentally different products with different capabilities, APIs, and limitations. Some cloud features are unavailable in the box version; others, conversely, become available. These differences must be understood before migration begins.

What Does Not Transfer Automatically

Bitrix24 does not provide an official tool for a full export from cloud to box. Data is migrated via REST API. Limitations of the cloud REST API:

  • Disk (files and folders) — accessible via disk.folder.* and disk.file.*, but speed is limited by API rate limits (no more than 2 requests per second on a free plan, up to 200 on a paid plan)
  • Chats and feeds — conversation history cannot be exported via REST; only structured CRM entities are accessible
  • Business processes — templates can be exported via bizproc.workflow.template.list, but they are tied to the specifics of the cloud configuration and require manual adaptation
  • Telephony — SIP connection settings, call history; call history is partially accessible via voximplant.statistic.get

CRM: The Main Data Volume

CRM entities migrate most completely via API. The transfer order is critical:

  1. Users (user.get) — created on the box manually or via LDAP
  2. Statuses and pipelines (crm.status.list, crm.dealcategory.list) — recreated on the box before data is loaded
  3. Custom fields (crm.userfield.list) — created via crm.userfield.add
  4. Companies → Contacts → Leads → Deals (in that order, preserving the ID mapping)
  5. Activities / tasks (crm.activity.list)
  6. Comments and timeline (crm.timeline.comment.list)

Example of fetching all deals with pagination:

$start = 0;
$deals = [];
do {
    $result = $bitrix24->call('crm.deal.list', [
        'select' => ['*', 'UF_*'],
        'start'  => $start,
    ]);
    $deals = array_merge($deals, $result['result']);
    $start = $result['next'] ?? null;
} while ($start !== null);

File Storage

Files from Bitrix24 Disk are downloaded via disk.file.get (to get the download URL) and uploaded to the box via disk.folder.uploadfile. For large volumes (tens of thousands of files), the process takes several days of continuous script execution.

A solution for speeding this up: running multiple processes in parallel, splitting files by folder. However, API rate limits and the connection quota of the source server must be monitored.

Portal Settings and Structure

Unlike data, settings cannot be migrated via API — they must be manually reconfigured:

  • Department and position structure
  • Access rights (CRM roles, disk permissions, group permissions)
  • Integrations with external services (email, telephony, messengers)
  • External widgets and marketplace applications

The box version offers capabilities unavailable in the cloud: direct database access, LDAP/Active Directory configuration, custom modules, and full control over the file system. This is the main reason for the transition for companies with non-standard requirements.

Preparing the On-Premise Server

The box version of Bitrix24 requires:

  • Linux (CentOS 7+, Ubuntu 18.04+) or Windows Server
  • PHP 7.4–8.1 with a set of mandatory extensions
  • MySQL 5.7+ / MariaDB 10.3+
  • Minimum 4 GB RAM for a small team (up to 50 users), 16+ GB for 200+

For installation, BitrixVM is recommended — a ready-made virtual machine image with a pre-configured stack. This saves 2–4 hours of server setup.

Typical Timelines

Company scale CRM data volume Migration duration
Small business (up to 20 users) up to 50,000 CRM records 1–2 weeks
Medium (20–100 users) 50,000–300,000 records 3–5 weeks
Large (100+ users) 300,000+ records, large disk 2–3 months

After migration, a parallel operation period is mandatory (2–4 weeks) during which the cloud is still accessible and data can be verified. After that — switch over and close the cloud subscription.