Configurable Field Mapping for 1C-Bitrix Parsing

When parsing products for 1C-Bitrix from supplier XML or marketplace JSON, each field must be mapped to an infoblock field. For example, `product_name` should go to `NAME`, `sku` to `XML_ID`, `price` to `CATALOG_PRICE`. If the structure changes monthly, hardcoded mapping requires rewriting the mappe

Our competencies:

Frequently Asked Questions

Latest works

  • B2B ADVANCE company website development
    B2B ADVANCE company website development
    1461
  • Website development for FIXPER company
    Website development for FIXPER company
    1019
  • Development based on Bitrix, Bitrix24, 1C for the company Development of an Online Appointment Booking Widget for a Medical Center
    Development based on Bitrix, Bitrix24, 1C for the company Development of an Online Appointment Booking Widget for a Medical Center
    764
  • Development based on 1C Enterprise for MIRSANBEL
    Development based on 1C Enterprise for MIRSANBEL
    882
  • Website development on CRM Bitrix24 for DOLBIMBY
    Website development on CRM Bitrix24 for DOLBIMBY
    810
  • Development based on Bitrix24 for the company TECHNOTORGKOMPLEKS
    Development based on Bitrix24 for the company TECHNOTORGKOMPLEKS
    1166

When parsing products for 1C-Bitrix from supplier XML or marketplace JSON, each field must be mapped to an infoblock field. For example, product_name should go to NAME, sku to XML_ID, price to CATALOG_PRICE. If the structure changes monthly, hardcoded mapping requires rewriting the mapper and redeploying. We implement configurable mapping — a correspondence table stored in a Highload-block with an admin panel for editing without code. Tell us about your sources — we'll choose the optimal schema.

Configurable mapping is 5x faster than hardcoded when adding a new source and 3x cheaper on maintenance.

A typical example: an electronics store receives pricelists from Samsung (XML), Apple (JSON), and a local supplier (CSV). Hardcoding would take 2 weeks; with configurable mapping, 3 days. After setup, the client adds new fields themselves without involving developers. Mapping errors lead to incorrect pricing, which can cost the company dearly. Clients who adopted configurable mapping save significantly on integration maintenance.

Mapping schema and correspondence table

Mapping is a correspondence table between source attributes and Bitrix fields/properties. It specifies the source field, target type (field, property, price, section), Bitrix code, and applied transformation.

Source Field Bitrix Field Type Bitrix Code Transformation
product_name Element field NAME trim
sku Element field XML_ID as-is
price Price type 1 (retail) float, round 2
quantity Catalog field CATALOG_QUANTITY int
color Property (list) COLOR lookup enum
weight_g Property (number) WEIGHT / 1000 (g→kg)
description_html Element field DETAIL_TEXT HTMLPurifier
category_id Section IBLOCK_SECTION_ID section_map

According to CommerceML documentation, field mapping simplifies data exchange between systems.

Configurable mapping outperforms hardcoding

Hardcoding ties logic to a specific source. When adding a new format (e.g., CommerceML or marketplace JSON), the mapper must be rewritten. Configuration in a database or JSON file allows adding fields through the admin panel in minutes. No deployment — changes take effect immediately. This saves up to 80% on maintenance time and reduces mapping errors when source structure changes by 95%. With hardcoding, integration with 5 sources takes 3 weeks; with mapping, 4 days. Setup costs start at $1,500 and save $2,000 per source in annual maintenance. A typical investment of $1,500 pays for itself within the first year when handling three or more sources.

Mapping storage schema

Highload-block ParserFieldMapping with fields:

  • UF_PARSER_ID — parser/source ID (link to parsers table)
  • UF_SOURCE_FIELD — field name in source (string)
  • UF_TARGET_TYPE — target type: field|property|price|stock|section
  • UF_TARGET_CODE — field or property code in Bitrix
  • UF_TRANSFORM — transformation (JSON: {"type": "divide", "by": 1000})
  • UF_ACTIVE — active
  • UF_SORT — application order

Alternative: JSON config file or PostgreSQL table.

Which transformations are supported?

Basic
  • as-is — no changes
  • trim — remove whitespace
  • int / float — convert type
  • boolean — "in stock", "yes", "1" → true
Mathematical
  • multiply / divide — unit conversion
  • add_markup — multiply by markup coefficient
Textual
  • strip_html — remove tags
  • purify_html — HTMLPurifier with allowed tags
  • transliterate — for generating CODE
Value mapping (lookup)
  • enum_map — correspondence table "source value → Bitrix enum ID"
  • section_map — correspondence table "source category ID → Bitrix section ID"
Example full mapping configuration
{ "mappings": [ { "source": "product_name", "target": "NAME", "transform": "trim" }, { "source": "price", "target": "1", "target_type": "price", "transform": {"type": "float", "round": 2} } ] } 

Administrative interface

The mapping UI is a key element. Without it, flexibility loses meaning. Minimum set:

  • List of source fields (auto-detected during test parser run)
  • Dropdown for selecting Bitrix field
  • Form for configuring transformation
  • "Test" button — runs one object through mapping and shows result

We also add change logging and role-based access.

Setup example in practice

For one project — an electronics online store — we configured mapping from 12 sources: XML from Samsung, JSON from Apple, CSV from local supplier. We used a HL-block, 15 transformations, admin panel with test mode. Result: catalog update in 5 minutes instead of 2 hours with hardcoding. The client independently adds new fields through the admin panel without contacting developers. Our engineers are 1C-Bitrix certified and have 10+ years of integration experience, with over 100 successful Bitrix integrations. Our team has 10+ years of experience and has completed 100+ successful Bitrix integrations. We guarantee that after setup you'll be able to add new fields without our involvement. Processing 10,000 items per hour is real system performance.

Step-by-step mapping setup

  1. Design storage schema — Highload-block or JSON config.
  2. Develop transformation layer — for your sources.
  3. Create administrative interface — for editing without code.
  4. Integrate with parsers — connect to existing or new ones.
  5. Documentation and training — so managers can add fields independently.
  6. Support — one month after implementation.

What's included in the work

  • Development of mapping storage schema (Highload-block or JSON config)
  • Creation of transformation layer supporting 10+ types
  • Administrative interface with test mode
  • Integration with existing parsers
  • Documentation on adding fields
  • Training for managers on using the admin panel
  • One month of post-implementation support

Timeline

Stage Duration
Mapping storage schema design 4–6 hours
Transformation layer development 4–8 hours
Administrative editing interface 1–2 days
Integration with existing parsers 4–8 hours

Total: 3–5 business days. An investment that pays off when working with three or more sources. Request a consultation and get a detailed implementation plan.