F
Fand_igor

Advancing CRM Thinking and Custom Development on Bitrix24

A distinct direction of my professional growth was working with 1C-Bitrix24 as a major corporate platform. For me, this wasn't just getting to know a new CMS or an out-of-the-box product, but diving into an ecosystem where CRM, tasks, business processes, documents, reports, HR, notifications, webhooks, and custom modules live in a single environment.

This project is important to me as a stage of expanding my engineering and product perspective on CRM systems. Through practical work with Bitrix24, I deeply explored ideas related to corporate portals, process automation, roles, integrations, and building application modules on top of a ready-made platform.

What this gave me as a developer

  • allowed for a deeper understanding of the architecture of large CRMs and corporate portals;
  • provided practical experience working not only with interfaces but also with internal events, permissions, user fields, dictionaries, and business processes;
  • strengthened the understanding of how tasks, employees, projects, contracts, productivity, reports, and notifications are linked in real companies;
  • helped form a more mature vision of how internal CRM and ERP-like solutions should evolve;
  • provided an understanding of the strengths and weaknesses of out-of-the-box platforms and where custom development is required.

What was studied and developed

  • structure of a corporate portal based on Bitrix24;
  • design of CRM, tasks, projects, business processes, reporting, marketing, and HR circuits;
  • logic of custom development in local/, including own components, classes, event handlers, cron scripts, and webhooks;
  • work with iblock, user fields UF, dictionaries, and enumerations;
  • internal model of roles, groups, departments, and access differentiation;
  • integration capabilities through webhooks, REST, cron, and external notifications;
  • customization of task interfaces, kanban, contract, and reporting circuits;
  • use of Bitrix as a basis for a corporate CRM with deep application logic, rather than just an out-of-the-box portal.

Technical overview of the project

  • a full Bitrix24 portal is deployed with CRM, Bizproc, BI modules, tasks, calendars, mobile circuit, marketing, documents, reports, and corporate structure;
  • main custom logic is moved to local/, not scattered across the core;
  • a large set of own application modules is collected in local/components:
  • contracts and payment documents;
  • employee output and productivity;
  • finance, revenue, and margin;
  • reports on tasks and workload;
  • developments, pre-projects, systems, and subsystems;
  • internal forms and tables by subject area;
  • own event handlers and domain logic initialization are connected in local/php_interface/init.php;
  • an access layer to employees, projects, clients, project assistants, subordinates, and corporate structure rights is implemented in local/php_interface/init/company.php;
  • output handlers, reminders, contract/category links, and task/comment event scenarios are implemented in local/php_interface/init/productivity.php;
  • automatic scenarios for contacts, contracts, organizations, notifications, productivity, user synchronization, and other directions are collected in local/cron;
  • external integration points for contacts, projects, contracts, developments, tasks, and productivity are formalized in local/webhooks;
  • the project includes manual customizations of Bitrix24 templates, including refinement of the task card and PDF document generation.

Particularly important application areas

  • Output and Productivity
  • tracking time spent on tasks;
  • linking time to contract and work category;
  • reminders for comments and events;
  • calendars, vacations, certificates, registries, and management tables;
  • Contract Circuit
  • contracts, payment orders, potential amounts, and related reports;
  • control of unique registration numbers and related records;
  • tables, forms, and reporting views for working with contracts;
  • Company and Access
  • employees, projects, project assistants, managers, and subordinates;
  • access logic by groups, roles, projects, and corporate structure;
  • separate access scenarios for contracts and the productivity circuit;
  • Tasks and Kanban
  • synchronization of kanban stages and task statuses;
  • custom task priority;
  • task UI refinements;
  • administrative scenarios for transferring tasks between users;
  • Integrations and Automation
  • webhooks for CRM cards and project entities;
  • cron automation;
  • Telegram notifications;
  • external handlers and auxiliary services.

What was done as part of the study and practical tasks

  • analyzed the structure of developed productivity modules and related components;
  • studied how tables, forms, filters, user fields, and dictionaries are organized in Bitrix24;
  • developed the calendar and reporting circuit at the frontend and backend logic level;
  • fixed display errors and response structures in application modules;
  • refined filtering, user scenarios, and data representation;
  • explored the use of user fields to display application information in the employee profile;
  • studied the principles of Bitrix AJAX handlers, internal action routes, and data.result format;
  • systematically analyzed how custom modules are built on top of a ready-made CRM platform in practice.

What the git history shows

  • I contributed not only to UI changes, but also to backend modules, cron, and the integration layer;
  • I evolved the modular structure (local/components, local/cron, local/webhooks, local/php_interface) together with supporting documentation;
  • I extended the initialization layer in init.php: module wiring, custom user types, and event handlers;
  • I added an API handler for Telegram bot requests with data persistence in Bitrix24;
  • I refined productivity logic: time limits, valid intervals, date checks, and permission validation;
  • I fixed save flows and closed SQL injection risks in critical paths;
  • I improved task/time UI behavior: filtering, sorting, and scenario validation;
  • I updated production calendar logic and domain URL generation for different environments.

Practical value of this case

  • this case is about deep customization of a large boxed CRM in a real corporate setup;
  • it shows I can quickly enter a large existing codebase and extend it safely without breaking core business flows;
  • it reflects work at the level of roles, entities, permissions, integrations, and operational rules, not just UI;
  • it confirms I can combine analysis, implementation, and long-term platform stabilization.

My role

  • studied and structured the architecture of a corporate portal on Bitrix24;
  • analyzed application modules, extension points, and custom domain logic;
  • performed practical refinements in productivity modules, calendars, tasks, certificates, and related user scenarios;
  • worked on security, fixing data saving logic, and limiting unwanted input scenarios;
  • developed integration with external sources via Telegram, webhooks, and API handlers;
  • participated in structuring modular development in local/ and in project documentation;
  • analyzed how CRM, task manager, contract circuit, HR, and reporting tasks are implemented through Bitrix24;
  • used this experience as a basis for further development of my own view on CRM systems, automation, and internal platforms.

Technologies and Context

  • PHP
  • 1C-Bitrix24
  • CRM
  • Bizproc
  • iblock
  • UF-fields
  • jQuery
  • JsRender
  • Select2
  • AJAX
  • cron
  • webhooks
  • Telegram integrations