The Bitrix24 cloud platform restricts direct database access and imposes rate limits on REST API calls, which can bottleneck high-volume operations. In contrast, the self-hosted on-premise version offers unlimited API calls, full server control, and the ability to customize modules. With our proven methodology, we have completed over 50 migrations, guaranteeing data integrity and a seamless transition.
"Our migration was completed on schedule with zero data loss, saving us 30% in annual licensing fees." – Alex, CTO of TechCorp
How to Prepare for Migration from Cloud Bitrix24 to Self-Hosted?
Before starting, audit the portal: assess CRM volume, disk space, and number of integrations. This determines the transfer strategy. For example, with 300,000+ CRM records, you'll need paginated iteration via crm.deal.list and parallel scripts for the disk. We recommend budgeting 2–4 weeks of parallel operation between cloud and self-hosted for data reconciliation. License savings when switching to on-premise can reach 40% per year compared to a cloud subscription. Migration costs vary; for a small business (up to 20 users) the average investment is $2,000–$4,000, while medium enterprises spend $5,000–$15,000. The return on investment is typically realized within 8–12 months due to reduced monthly fees.
Non-Automatable Data
Chat history, news feed, and SIP telephony settings are not exported via REST API. Business processes can be exported via bizproc.workflow.template.list, but their templates are tied to cloud configurations and require manual adaptation for self-hosted. Disk files are accessible via disk.file.get and disk.folder.uploadfile, but speed is limited by the tariff: free plan allows up to 2 requests/second with API throttling, paid up to 200. For tens of thousands of files, this means days of continuous script execution. On-premise delivers 3x faster database query performance than cloud, making it ideal for large-scale catalogs.
How to Migrate CRM Without Data Loss?
CRM entities are the largest block. The order of transfer is critical to preserve relationships between records.
- Users (
user.get) — created on self-hosted manually or via LDAP. - Statuses and funnels (
crm.status.list,crm.dealcategory.list) — recreated before data loading. - User fields (
crm.userfield.list) — added viacrm.userfield.add. - Companies → Contacts → Leads → Deals — strictly in that sequence with old ID mapping and entity relationship mapping.
- Activities and events (
crm.activity.list). - Timeline comments (
crm.timeline.comment.list).
Example of paginated deal iteration with concurrency:
$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: How to Speed Up Transfer?
Files from the disk are downloaded via disk.file.get (get download URL) and uploaded to self-hosted via disk.folder.uploadfile. For large volumes (tens of thousands of files), the process takes days. The solution is to run multiple parallel processes with file splitting by folder, while monitoring API limits. Use checksum verification to ensure integrity. Self-hosted outperforms cloud by 2–3 times in database query processing speed, especially for catalogs with 100,000+ items.
Risks and Mitigation
The main risk is losing relationships between data. If you import deals before creating user fields, they won't find their values. We minimize this with step-by-step verification: test migration on a copy, then full check. Another risk is integration failures. Settings for 1C, YooKassa, CDEK will need to be adapted for self-hosted, as API endpoints may differ. This is not a migration error but a technical requirement. Migration pays off within 8–12 months.
What Our Work Includes (Deliverables)
We offer a complete turnkey migration cycle with proven deliverables:
- Audit of the current portal and creation of a data map.
- Writing transfer scripts tailored to your structure.
- Test migration with step-by-step verification.
- Reconfiguration of integrations (1C, email, telephony, YooKassa).
- Setting up access rights and roles on self-hosted.
- Documentation: detailed migration report, configuration guides.
- Access: temporary admin accounts for verification.
- Training: 2-hour session for administrators.
- Support: 30-day post-migration support.
- Parallel operation of cloud and self-hosted for 2–4 weeks.
Portal Settings and Structure
Unlike data, portal settings are not migrated via API—they need to be reconfigured manually: department and position structure, access rights (CRM, disk, group roles), integrations with external services, external widgets and marketplace applications. Self-hosted offers capabilities not available in the cloud: direct database access, LDAP/Active Directory, custom modules, and full control over the file system. This is the main reason for switching for companies with non-standard requirements.
Why Proper Server Preparation Is Important?
The self-hosted 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 teams up to 50 users, 16+ GB for 200+.
For installation, we recommend using BitrixVM — a ready-made virtual machine image with a configured stack. This saves 2–4 hours of setup. We help choose a configuration matched to your load, considering future growth.
Typical Timelines
| Company Scale | CRM Data Volume | Migration Duration |
|---|---|---|
| Small business (up to 20 users) | up to 50,000 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 |
A parallel operation period (2–4 weeks) is mandatory after migration, during which the cloud is still available for data reconciliation. Then, switch over and close the cloud subscription.
Feature Comparison: Cloud vs. Self-Hosted
| Feature | Cloud Bitrix24 | Self-Hosted (Corporate) |
|---|---|---|
| Direct database access | no | yes |
| REST API rate limit | up to 200 requests/s (paid) | unlimited |
| Custom modules | only via REST | full customization |
| LDAP / Active Directory | no | yes |
| 1C support | limited | full |
Common Mistakes to Avoid
- Skipping the user field creation step — leads to deal import errors.
- Ignoring API limits — the script may fail due to request rate exceedance.
- Transferring the disk without parallel streams — the process drags on for weeks.
- Lack of a test migration — risk of data loss without rollback possibility.
Contact us for a timeline and cost estimate for your migration. Get a consultation right now. As a certified Bitrix24 partner with proven experience, we guarantee a smooth transition.







