Setting up exchange between 1C: Salary and HR and 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

Configuring 1C:Payroll and HR and Bitrix24 Exchange

Exchange between 1C:Payroll and Bitrix24 is HR data synchronization: company structure, employees, vacations, sick leaves. The goal is to eliminate duplicate data entry: personnel changes are entered in 1C:Payroll (as the main HR system), and they automatically reflect in Bitrix24.

What is synchronized

From 1C:Payroll to Bitrix24:

  • Organizational structure (departments → Bitrix24 departments)
  • Employees (create/update/terminate Bitrix24 users)
  • Job positions
  • Vacations and sick leaves → Absences in Bitrix24

From Bitrix24 to 1C:Payroll:

  • Vacation requests (approved via Bitrix24 business process)
  • Overtime data (from Bitrix24 time tracking, if used)

Integration mechanism

There is no standard CommerceML protocol for Payroll. Integration is built via:

Bitrix24 REST API — for creating and updating users, departments, absences. Main methods:

  • user.add, user.update — user management
  • department.add, department.update — departments
  • timeman.absence.add — adding absence

HTTP service or external processing in 1C:Payroll — initiates exchange on schedule or on event (employee hire, position change, planned vacation).

Employee synchronization

When a new employee is hired in 1C:Payroll:

  1. Payroll handler forms a request to Bitrix24 REST API user.add.
  2. Bitrix24 user is created with department, position, and manager specified.
  3. User is automatically sent an invitation (if configured in Bitrix24).

On termination — user.update with ACTIVE = N parameter (deactivation without deletion, data is preserved).

POST https://portal.bitrix24.ru/rest/{userId}/{token}/user.add
{
    "NAME": "John",
    "LAST_NAME": "Smith",
    "EMAIL": "[email protected]",
    "UF_DEPARTMENT": [departmentId],
    "WORK_POSITION": "Manager",
    "ACTIVE": true
}

Vacation synchronization

Vacations from 1C:Payroll → Bitrix24:

  • The timeman.absence.add method adds an absence record to an employee
  • Absence type (vacation, sick leave, business trip) is mapped from Payroll codes to Bitrix24 types

Vacation requests from Bitrix24 → 1C:Payroll:

  • A business process for vacation approval is configured in Bitrix24
  • On final approval, the process triggers a webhook or action sending data to the 1C:Payroll HTTP service
  • In Payroll, a planned absence is automatically created

Company structure mapping

The department structure in 1C:Payroll and Bitrix24 may not match. During initial setup:

  1. Export the department tree from 1C:Payroll
  2. Create corresponding departments in Bitrix24 via department.add
  3. Save correspondence: [ID in Payroll] → [ID in Bitrix24] in a mapping table (in Payroll — information register, in Bitrix24 — user field or separate entity)

Authorization

Integration works via OAuth 2.0 or incoming Bitrix24 webhook. For production solution — server OAuth application: token updates automatically, not tied to a specific user.

Limitations

  • Bitrix24 is not a full-featured HR system — salary, tax, and calculation data are not transmitted to Bitrix24
  • Bidirectional synchronization requires setting up "source of truth" logic (in case of conflict — Payroll data takes priority)