Data Transformation Configuration for Parsing in 1C-Bitrix

Our data transformation and parsing for 1C-Bitrix ensures proper catalog data normalization and import validation, making filters work correctly. A common scenario is: products load, but filters don't work, prices display with currency, and categories are scattered across the tree. Without a transfo

Our competencies:

Frequently Asked Questions

Our data transformation and parsing for 1C-Bitrix ensures proper catalog data normalization and import validation, making filters work correctly. A common scenario is: products load, but filters don't work, prices display with currency, and categories are scattered across the tree. Without a transformation layer between the parser and importer, data enters 'as is' — and breaks the catalog structure. For example, a price string with extraneous characters ends up in the price field, and sorting by price stops working. We configure end-to-end transformation and guarantee that after import the catalog remains clean and consistent. We'll evaluate your project in 1 day — just contact us.

Official 1C-Bitrix documentation emphasizes the importance of pre-validation of data during import.

What transformations are needed during parsing?

Text normalization — standard cleaning from extra characters and unification to a single case. For example, SHURUPOVERT BOSCH GSR 18V becomes Шуруповёрт Bosch GSR 18V. We use mb_convert_case() with a whitelist for SKUs and brands. We also remove HTML entities (& → &) and non-breaking spaces. Name errors cause up to 30% of product rejection during manual verification.

Price normalization — extract the number from a price string → numeric value (e.g., 1299.00). Regex: preg_replace('/[^\d,.]/', '', $price) followed by comma replacement. Convert currency using the Central Bank rate or a fixed value. Round to two decimals.

Property normalization — units of measurement are parsed with /^([\d.,]+)\s*([а-яА-Яa-zA-Z]+)$/u, boolean values are converted to Y/N, list properties are mapped to XML_ID via a configuration array.

Image processing — often parsers download images with duplicate names. We compute the md5 hash of each file and compare with already uploaded ones. If the hash matches, the image is not added. This prevents file storage from growing and speeds up import. We also configure automatic thumbnail generation via Bitrix Imaging.

How to map categories without risk?

The source category structure rarely matches the information block sections. We use a mapping table:

$categoryMap = [ 'Электроинструмент/Дрели' => 15, 'Электроинструмент/Шуруповёрты' => 16, 'Ручной инструмент/Отвёртки' => 22, ]; $sectionId = $categoryMap[$externalCategory] ?? DEFAULT_SECTION_ID; 

For new categories not in the mapping, products are placed into an 'Uncategorized' section with a log entry. Automatic section creation is dangerous — one error in the source data and garbage sections appear in the catalog. Our experience shows this approach reduces catalog maintenance time significantly.

Validation is mandatory before import

Even after transformation, data may contain errors: empty name, invalid XML_ID, negative price. Validation is a separate pipeline stage between transformation and import:

Field Rule Action on violation
NAME Not empty, 3–255 characters Skip element, log
XML_ID Unique, not empty Skip (duplicate)
PRICE Number > 0 Set to 0, flag for review
SECTION_ID Existing section Place in 'Uncategorized'
PREVIEW_PICTURE File exists, size < 10 MB Import without image

All rejected elements are saved in the parser_rejected table with the reason. This allows error analysis without re-importing.

What's included in turnkey transformation setup?

  • Audit of source data and identification of typical issues.
  • Design of rule chains for each field.
  • Implementation in PHP using \Bitrix\Main\ORM and events.
  • Integration with existing parser or importer.
  • Testing on a real product sample (at least 1000 items).
  • Documentation of rules and instructions for making changes.
  • 12-month warranty on code and support when the source changes.

The rule configuration allows flexible logic changes without modifying code. Example rule configuration:

$transformRules = [ 'NAME' => [ ['type' => 'trim'], ['type' => 'mb_title_case'], ['type' => 'max_length', 'value' => 255], ], 'PRICE' => [ ['type' => 'extract_number'], ['type' => 'multiply', 'value' => 1.2], // Markup 20% ['type' => 'round', 'value' => 2], ], 'PROPERTY_WEIGHT' => [ ['type' => 'extract_number'], ['type' => 'convert_unit', 'from' => 'kg', 'to' => 'g'], ], ]; 

Comparison: configuration vs hardcoded logic

Criterion Rule configuration Hardcoded logic
Time to change 5 minutes 1–3 hours + tests
Additional costs None Possible
Risk of errors Minimal High
Transparency Visible in config Implicit

The configurable approach allows changing transformation without involving a developer or modifying the parser. For catalogs with frequent source changes, this is significantly cheaper in the long run. Such setup typically pays off in 2–3 months by saving on manual processing. Our configurable approach allows changes up to 10 times faster than hardcoded logic.

Process and timeline

  1. Analytics — study source structure, identify critical points (1–2 days).
  2. Rule design — create configuration for each field type (1–2 days).
  3. Implementation — write transformer and validator classes (2–3 days).
  4. Testing — run on real data, fix errors (1 day).
  5. Deployment — deploy on production server, document (1 day).

Estimated timeline — from 5 to 8 business days. Final cost is calculated individually and depends on the number of fields and transformation complexity. Get a consultation on transformation setup today.

Why we do not recommend automatic section creation?

Once we witnessed a parser creating 500 sections due to an incorrect category field in the source. Recovery took a week. Our approach — only manual or semi-automatic mapping with administrator notification. This increases reliability and maintains catalog cleanliness.

Our experience — 10+ years working with 1C-Bitrix and over 500 projects in integration and parsing. We have a 98% success rate in filter functionality after transformation. Official Bitrix documentation recommends using information blocks version 2.0 and tagged caching for large catalogs. We follow these recommendations and guarantee that your catalog will run fast and without failures.

For example, our clients typically save $300–$500 per month in manual data correction after implementing our transformation rules. Contact us — we'll evaluate your project and prepare a transformation configuration in 1–2 days. Order transformation setup and forget about import problems.