integration ⏱️ 12 min

Integration of Bitrix24 with 1C:UNF for B2B Sales Automation and Accounts Receivable Control

A practical guide to integrating Bitrix24 and 1C:UNF in the B2B sector. Describes key mechanisms for synchronizing deals, clients, accounts receivable, and automating business logic.

#=bitrix24 #1C #unf #crm #accounts receivable #integration #b2b

Integration of Bitrix24 with 1C:UNF for B2B Sales Automation and Accounts Receivable Control

Why CRM and accounting system integration is essential

In the B2B sales segment, companies often utilize a CRM platform for client interaction, while an accounting system (e.g., 1C:UNF) is used for inventory management, document flow, and financial operations. Maintaining separate data repositories complicates the following:

  • Monitoring client status regarding payments and shipments
  • Automatically suspending services in case of overdue balances
  • Reusing items and commercial terms fr om 1C during quote or invoice generation
  • Reconciling CRM business metrics with financial reporting

Integration addresses these challenges by ensuring data accuracy and automating key stages of the sales funnel.

Synchronized data types

In practice, the following entities are typically synchronized:

  • Companies/contacts (CRM ⇄ 1C)
  • Deals / customer orders (CRM → 1C)
  • Invoices and payments (1C → CRM)
  • Catalog items (1C → CRM)
  • Accounts receivable balances (1C → CRM)

The integration method depends on the architecture used—cloud-based or on-premises.

Implementation in cloud-based Bitrix24

In cloud deployments, data is exchanged via REST API and business process automation. Common practices include:

  1. A scheduler (cron or equivalent) in 1C exports company lists, paid invoices, and receivables to an intermediate storage (e.g., MySQL or REST endpoint)
  2. A cloud Bitrix24 script (business process or automation rule) calls a webhook or processes a request from the integration module
  3. Upon events in Bitrix24 (e.g., deal stage change, invoice generation), a POST request is sent to a 1C REST endpoint

Example of a business process adding an accounts receivable field to the client record:


// Example of calling Bitrix24 REST API from an external system
$webhookUrl = 'https://example.bitrix24.ru/rest/1/abcdef123456/crm.company.update';
$data = [
    'id' => 1234,
    'fields' => [
        'UF_CRM_DEBT_SUM' => 257000
    ]
];
$ch = curl_init($webhookUrl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
$response = curl_exec($ch);
curl_close($ch);

This approach displays a client's financial status directly within the CRM profile.

Implementation in on-premises version

For the on-premises edition, integration may be implemented using the D7 framework and custom modules. Key features include:

  • A scheduled agent periodically queries or exchanges data (XML/JSON) with 1C via HTTP interface or shared folder (/upload) file exchange
  • Use of Bitrix\Crm\CompanyTable, Bitrix\Crm\DealTable, Bitrix\Crm\InvoiceTable APIs to create or update CRM entities
  • Custom fields added to store accounts receivable status
  • Triggers (automation rules or business processes) can be based on these fields

Example of updating receivables data:


use Bitrix\Main\Loader;
use Bitrix\Crm\CompanyTable;

Loader::includeModule('crm');
CompanyTable::update(1234, [
    'UF_CRM_DEBT_SUM' => 257000
]);

Accounts receivable control: implementation options

Several strategies are used to manage sales team behavior based on 1C data:

  1. Restricting new deal creation — when a client has an outstanding balance
  2. Automatic deal suspension — moving deals to a specific stage (e.g., “Suspended”) if a credit lim it is exceeded
  3. Enhanced reporting — incorporating receivables status fields into analytical reports
  4. Manager notifications — alerts displayed when opening a client profile indicating overdue balances

Common errors

  • Duplicate handling: similar entities may exist in both systems under different IDs. Use centralized matching by tax ID or GUID
  • Lack of write protection in 1C: without control mechanisms, erroneous data can be introduced
  • API rate limits: for large volumes, implement processing queues
  • No separation between business and integration users: REST API access should use dedicated credentials
  • Minimize redundant updates from 1C to prevent overwriting accurate CRM inputs

FAQ

Can the data exchange be fully automated without user involvement?
Yes, with well-defined logic, proper entity mapping, and directory structure, processes run automatically.
How to block deal creation when there is outstanding debt?
This can be implemented through CRM business processes or custom form validation that calls an external API.
How to transmit data from 1C to a cloud-based system?
Via webhook, Bitrix24 REST API, or intermediate services (e.g., a custom endpoint with authorization and transformation logic).
How to deal with outdated or duplicate submissions?
Use deduplication logic based on standard identifiers such as tax ID or email.
Why might the CRM not show the current balance?
This often occurs when balance updates are triggered manually or on a schedule. Ensure the synchronization mechanism is active and correctly processes incoming data.

Conclusion

The integration of Bitrix24 with 1C:UNF enables robust automation of B2B sales and real-time control of accounts receivable, helping to reduce operational risks. A properly implemented exchange mechanism between CRM and accounting systems ensures end-to-end client relationship management with consideration for financial limits and status indicators.


If you're planning integration like this

It might be helpful to review your current systems, expected synchronization flows, and architecture options. Common discussion points before project estimation are:

  • Which entities and data types are subject to synchronization
  • Which system is considered the source of truth for each data type
  • What platform variants are used for CRM and 1C (cloud or on-premises)
Категория: integration
Время чтения: 12 min
Полезная статья?
Сохраните в закладки, чтобы не потерять
Ctrl + D