Custom PIM for 1C-Bitrix: From Attributes to Syndication

Imagine a catalog of 15,000 products, each with 60 unique attributes. Standard information blocks become slow, administrators lack flexibility, and marketplace integration turns into a nightmare. We have built 15 custom PIM systems on 1C-Bitrix and completed over 30 implementations. **Custom PIM** s

Our competencies:

Frequently Asked Questions

Latest works

  • image_website-b2b-advance_0.webp
    B2B ADVANCE company website development
    1458
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Website development for FIXPER company
    1019
  • 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
    761
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Development based on 1C Enterprise for MIRSANBEL
    882
  • image_crm_dolbimby_434_0.webp
    Website development on CRM Bitrix24 for DOLBIMBY
    805
  • image_crm_technotorgcomplex_453_0.webp
    Development based on Bitrix24 for the company TECHNOTORGKOMPLEKS
    1163

Imagine a catalog of 15,000 products, each with 60 unique attributes. Standard information blocks become slow, administrators lack flexibility, and marketplace integration turns into a nightmare. We have built 15 custom PIM systems on 1C-Bitrix and completed over 30 implementations. Custom PIM solves these problems without switching to third-party software—Bitrix becomes the single master system for product data. Product Information Management (PIM) is an approach we adapt to the 1C-Bitrix ecosystem, preserving fast implementation and no license fees. As stated in the 1C-Bitrix documentation, infoblock v2.0 supports the EAV model, but for scalability we use a hybrid approach.

How is the data architecture organized?

The standard infoblock stores properties in b_iblock_element_property using the EAV model. With 50+ attributes and high traffic, this causes performance issues. For a custom PIM, we use a hybrid approach: fixed attributes (name, description, images) in infoblock fields, and dynamic attributes in custom tables.

CREATE TABLE b_pim_attribute ( ID INT AUTO_INCREMENT PRIMARY KEY, IBLOCK_SECTION_ID INT, CODE VARCHAR(100) NOT NULL, NAME VARCHAR(255) NOT NULL, TYPE ENUM('string','number','boolean','list','multilist') DEFAULT 'string', IS_REQUIRED TINYINT(1) DEFAULT 0, IS_FILTERABLE TINYINT(1) DEFAULT 0, SORT INT DEFAULT 100, INDEX idx_section (IBLOCK_SECTION_ID) ); CREATE TABLE b_pim_attribute_value ( ID INT AUTO_INCREMENT PRIMARY KEY, PRODUCT_ID INT NOT NULL, ATTRIBUTE_ID INT NOT NULL, VALUE_STRING VARCHAR(1000), VALUE_NUMBER DECIMAL(15,4), VALUE_BOOLEAN TINYINT(1), INDEX idx_product_attr (PRODUCT_ID, ATTRIBUTE_ID) ); CREATE TABLE b_pim_attribute_option ( ID INT AUTO_INCREMENT PRIMARY KEY, ATTRIBUTE_ID INT NOT NULL, VALUE VARCHAR(500) NOT NULL, SORT INT DEFAULT 100 ); 

This approach allows setting attributes at the category level without modifying the infoblock schema. See CommerceML for more details.

How to start: three steps

  1. Design the attribute schema: define fixed and dynamic attributes for each category. We prepare a table prototype.
  2. Deploy custom tables: run migrations to create b_pim_attribute, b_pim_attribute_value, and indexes.
  3. Set up the administrative interface: use our component based on bitrix:main.ui.grid to manage attributes.

This process takes 2–3 days for an experienced developer.

Why custom PIM is better than off-the-shelf solutions?

Custom PIM on Bitrix is implemented 2–3 times faster than Akeneo Enterprise and requires no license fees. Cost comparison:

Criterion Custom PIM on Bitrix Akeneo / Pimcore
License cost $0 (included in ecosystem) From $20,000–$50,000 per year
Implementation time 2–8 weeks 3–6 months
Flexibility for specific needs Maximum Limited by API
Performance up to 100k SKUs Excellent Depends on server

License savings can reach $15,000–$30,000 per year, covering development costs in the first year.

Example YML feed generation
function buildYmlOffer(int $productId): array { $connection = \Bitrix\Main\Application::getConnection(); $values = $connection->query( "SELECT a.CODE, v.VALUE_STRING, v.VALUE_NUMBER FROM b_pim_attribute_value v JOIN b_pim_attribute a ON a.ID = v.ATTRIBUTE_ID WHERE v.PRODUCT_ID = {$productId}" ); $params = []; while ($row = $values->fetch()) { $params[$row['CODE']] = $row['VALUE_STRING'] ?? $row['VALUE_NUMBER']; } return $params; } 

How we implement the attribute management interface

A custom admin section based on the bitrix:main.ui.grid component:

// /local/modules/company.pim/admin/attributes.php require_once $_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/main/include/prolog_admin_before.php'; $APPLICATION->SetTitle('PIM: Attribute Management'); $sectionId = (int)$_GET['section_id']; $connection = \Bitrix\Main\Application::getConnection(); $attributes = $connection->query( "SELECT * FROM b_pim_attribute WHERE IBLOCK_SECTION_ID = {$sectionId} ORDER BY SORT" ); 

The interface allows managers to:

  • Add attributes to a category without changing the database structure
  • Set type, required, and filterable options
  • Sort attributes by drag and drop
  • Copy attribute sets to child categories

The product edit form displays dynamic attributes of the current category. Validation of required attributes is performed upon save.

Syndication to multiple channels

Custom PIM exports data in formats: Yandex.Market (YML), Ozon, Wildberries (JSON), Google Merchant. The feed generation example is shown above.

What is included in the work?

  • Technical specification and data schema prototype
  • Core functionality development (tables, edit form, validation)
  • Custom administrative interface with sorting and attribute copying
  • Exporters for marketplaces (YML, JSON, XML)
  • Documentation and source code delivery
  • Administrator training on the system
  • One-month warranty support

Process and timelines

Stage Duration Result
Analysis and design 3–5 days Technical specification, schema prototype
Core functionality development 2–3 weeks Tables, edit form, save logic
Validation and UI improvements 1–2 weeks Custom admin panel, sorting, copying
Syndication and bulk editing 2–3 weeks Exporters, bulk edit
Testing and documentation 1 week Load test report, documentation

Total duration: 2 to 8 weeks depending on scope. Contact us for an accurate estimate of your project.

How we test performance

We conduct load testing with ab and jmeter, simulating 500 concurrent requests. We check YML feed generation time (under 10 seconds for 50,000 products). If needed, we add tagged caching.

Typical mistakes in development

  • Using only infoblock properties (EAV) for all attributes—causes slowdowns in mass queries.
  • Not creating indexes on custom tables—queries slow down already at 10,000 products.
  • Forgetting asynchronous attribute saving—blocks the interface during editing.

Order development

We will evaluate your project in one day and prepare a commercial proposal with precise timelines. Get an engineer's consultation—send us a message.