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:
- Payroll handler forms a request to Bitrix24 REST API
user.add. - Bitrix24 user is created with department, position, and manager specified.
- 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.addmethod 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:
- Export the department tree from 1C:Payroll
- Create corresponding departments in Bitrix24 via
department.add - 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)







