Metacommerce and 1C-Bitrix integration: automatic price monitoring

Prices on the website diverge from the accounting system — and customers see outdated amounts, while managers correct orders manually. We set up a turnkey 1C-Bitrix integration with Metacommerce: products, prices, and stock are updated automatically, without manual reconciliations. Discrepancies disappear, and the team stops spending hours on rechecking.

Our competencies:

Frequently Asked Questions

Why website prices diverge from the accounting system

The price discrepancy between the website and the accounting system is not a "data upload glitch" but a consequence of the catalog and inventory accounting living in separate loops.

On the website, the price sits in its own table and is updated on a schedule; in 1C, it changes at the moment of receipt, revaluation, or markup change.

As long as there is no managed channel for exchanging products and prices between them, any edit in accounting reaches the storefront with a delay — or does not reach it at all.

Then the cumulative effect kicks in. One missed product in the exchange is not just one item: the stock balance diverges, then the price, then the loyalty card discount.

The customer places an order at an outdated price in the catalog, the manager sees a different amount on the invoice, and the order is either canceled at the confirmation stage or goes into negative margin.

Typical catalog synchronization errors are broken links by code and SKU, duplicate items after reindexing, stuck exchange queues, and rules that silently skip part of the upload.

A separate cost of the issue is trust. A customer who has seen a price discrepancy between the website and 1C once will next time check the price by phone rather than through the cart.

For areas with frequent revaluation — building materials, electronics, wholesale — this is a daily loss of conversion that is not visible in reports because it is spread across abandoned carts.

That is precisely why the integration of 1C-Bitrix with Metacommerce is built not as a one-time upload but as a permanent reconciliation loop: events from the accounting system, control over exchange completeness, automatic monitoring of discrepancies, and a clear log that shows which item diverged and when. Below we break down how this is closed in practice.

What the integration of the catalog with inventory management delivers

The integration of the catalog with inventory management removes the main source of discrepancies — manual transfer of prices and stock levels.

When Metacommerce receives data directly from the accounting system, price updates happen on an event basis: if the purchase price changes or a delivery arrives, the new price and up-to-date stock levels appear in the catalog without operator involvement. Automatic price updates no longer depend on who remembered to export a file and when.

The speed of catalog export is determined not by the size of the database, but by how the exchange is built. We export only the changed items, not the entire assortment, so a mass price recalculation for tens of thousands of products takes minutes rather than hours.

Heavy full exports are reserved for the nightly window and initial loading, when the structure of sections, properties, and trade offers needs to be synchronized.

The reduction in manual edits is a measurable quantity, not a slogan.

Before automation, an operator touches every item when a price changes or a delivery arrives; afterward, they intervene only in exceptions: a product not linked to a nomenclature item, a conflict between two suppliers, a manual markup on a specific category.

The share of such edits drops from most items to a handful, and this is visible in the exchange log.

Data integrity for the product is also addressed separately. Price, stock level, unit of measurement, multiplicity, and warehouse linkage come from a single source, so the catalog no longer contains items with a price from the old price list and a stock level from the new one.

During a mass recalculation, the class of failures changes: instead of "some prices didn't update, and no one noticed," there is a controlled error on a specific item with a log entry and a notification to the responsible person.

The result is that the catalog reflects the real state of the warehouse and prices, not a snapshot as of the date of the last export. Let's discuss your task — we'll come back with an estimate and a synchronization plan.

Synchronization methods: exchange, bus, gateway

The connection between an accounting system and a catalog is almost never built on a single mode: a typical setup is a scheduled batch export of items and stock plus event-driven synchronization of prices and availability statuses.

The choice between direct integration, an intermediate gateway, and file-based exchange is determined not by how "trendy" the approach is, but by how many discrepancies the catalog can tolerate and what happens if the accounting system is unavailable at the moment of publication.

Option When it fits Limitations
Direct integration One catalog, a stable channel, price changes needed at the moment a document is posted The accounting system becomes a single point of failure: its unavailability halts publication, and the read load falls on the production environment
Intermediate gateway Multiple storefronts, marketplaces, high update frequency A separate queue and state store are required — another component appears that must be maintained
Scheduled batch export Large reference data sets, rarely changing attributes, nightly windows Price and availability lag until the next run; if the window fails, the catalog remains on stale data
Event-driven synchronization Prices, discounts, availability statuses — what the customer sees Requires idempotent processing: a repeated event must not double the stock or overwrite the price with a stale value

In practice, modes are combined: reference data and descriptions travel in batches, while prices and stock travel as events through the gateway.

Such a setup survives accounting system downtime: the catalog keeps running on the last consistent state, and the queue catches up on changes once the connection is restored.

The question of conflicts is resolved separately — what to consider the source of truth for a price if it is edited both in the accounting system and manually in the catalog.

The rule is fixed before the exchange goes live, otherwise the very first discrepancies turn into manual reconciliation. We break down how to choose a mode for your setup and what checks to put at the junction of the systems.

How we build the integration of 1C-Bitrix with Metacommerce

Integration of 1C-Bitrix with Metacommerce is not installing a module, but designing the exchange between the accounting system and the storefront.

We start with an audit of data exchange: we look at which entities are already synchronized, where stock levels and prices diverge, and how often exports fail. Based on the results, we record the synchronization scheme and the points that require rework.

Then the route looks like this:

  1. Audit of the current exchange. We analyze existing exports, schedules, error logs, and item matching rules. We find bottlenecks: duplicate items, lost categories, delays between a price change in the accounting system and its appearance on the website.
  2. Designing the synchronization scheme. We determine what is transferred and how often: products, stock levels, prices, attributes, discounts. We choose the exchange direction and conflict resolution rules for when data is edited from both sides.
  3. Setting up reference data matching. We map items, categories, and counterparties to unified identifiers so that items are not duplicated when the catalog is updated.
  4. Assembling the exchange on a test environment. We deploy a copy of the storefront and the accounting system, and run the full cycle: catalog loading, price and stock updates, discount processing. We check behavior during a connection loss and on restart.
  5. Testing on real volumes. We check whether the exchange fits within the window and whether it blocks the work of managers in the accounting system. We measure the time of a full and incremental run.
  6. Rollout to the production environment. We switch the exchange to live data with the ability to roll back, and we run the first passes under supervision.
  7. Handover to support. We provide launch regulations, a description of the scheme, instructions for typical failures, and control points.

At every stage, the client sees exactly what is changing and how it is checked. Handover to support is not a formality: the team receives a documented scheme and clear rules for responding to failures, rather than a "black box" that is scary to touch.

Rules for matching products, prices, and warehouses

Matching is the layer that decides exactly which items from the 1C nomenclature become a specific product and trade offer on the site.

A mistake here does not show up immediately: the exchange runs, prices come through, but the catalog gradually becomes overgrown with duplicates, and some positions are left without stock. That is why the rules are fixed before the first exchange, rather than corrected after the fact.

The matching key is chosen once and remains unchanged for the entire catalog: either an internal identifier from 1C, or an SKU, or a combination of "SKU + characteristic".

If some positions are created by one attribute and some by another, the exchange starts creating a second card instead of updating the existing one. We bring the reference data to a single key and only after that enable synchronization.

  • Nomenclature — matched by a permanent identifier, not by name: a rename in 1C should not generate a new product on the site.
  • Trade offers — linked to characteristics (size, color, configuration) with an unambiguous rule: one combination of properties = one offer.
  • Price types — each type from 1C is assigned its own role on the site: retail, wholesale, old price for strikethrough; extra types are not published.
  • Warehouses and stock — it is determined which warehouses affect order availability and which remain internal and are not included in the export.
  • Duplicate protection — a "find existing, otherwise create" rule with a discrepancy log: positions without a match are not created silently but go into a report.
  • Units of measurement and multiplicity — brought to a single scale so that stock and price are calculated from one base.
  • Archive and unpublishing — deletion in 1C does not delete the product on the site but removes it from display while preserving order history.

The rules are described in the exchange configuration and versioned together with it — on the next change to the reference data, it is clear what changed and why. This approach keeps the catalog clean: the exchange updates existing cards rather than creating new ones.

What you retain after implementation

After implementing the 1C-Bitrix integration with Metacommerce, what you retain is not a "set of settings" but a working system with transparent exchange logic.

We hand it over in full — so that your team can maintain the connection independently or with minimal involvement from us.

  • Exchange schema — a documented sequence: which entities (products, prices, stock levels, characteristics) are synchronized and in which direction, where the source of truth is for each field, and how conflicts are handled when both sides modify data simultaneously.
  • Matching rules — a mapping table between the nomenclature in the accounting system and the cards on the website: by SKU, code, or composite key. With it, new items are picked up automatically, and discrepancies do not turn into duplicates.
  • Integration configuration — exchange parameters, schedule and launch triggers, queue settings and retry settings for failures in communication with external services.
  • Synchronization log — the history of runs with results for each item: what was updated, what was skipped and why. It is used to troubleshoot any incident without manually reassembling data.
  • Manager's guide — a short regulation in business language: how to check price currency, what to do in case of a discrepancy, where to look when a customer complains. Without contacting an engineer.
  • Maintenance regulations — frequency of checks, monitoring of exchange errors, the procedure for adding new matching rules and escalation points.
  • Access and roles — separation of rights to modify the configuration and view logs, so that edits do not silently break the exchange.

All of this is recorded in documentation and handed over to your team with a walkthrough based on real scenarios. Describe your task — we will come back with an estimate and a handover plan.

What to do if the exchange is already set up and breaks

First, we look at the exchange log: which entities fail, at which step, and how often.

In most cases the picture is the same — some products are not updated because the exchange runs in batches and fails midway, and the next run starts not from the point of failure but from the beginning of the queue.

As a result, some items are overwritten in a loop, while others never get through at all. This is not a "glitch" but a lack of idempotency and state control.

Next, we check three typical causes. The first is identifier desynchronization: a product in the catalog and in the accounting system are linked by a code that changed during a re-upload, and the link broke.

The second is partial upload: the exchange ends on a timeout, marks the batch as successful, and loses the remainder. The third is that prices and stock are updated by different handlers on different schedules, and they diverge on the storefront.

Can an old integration be fixed instead of rebuilt?

Yes, if the exchange is built on clear matching rules and there is a log. We restore the link using a stable key (SKU or GUID), add progress tracking for each batch, and a repeat pass over failed items.

A rebuild is needed when the exchange logic is spread across custom scripts without documentation — then it is cheaper to build the contour anew with error logging and a clear exchange state.

After diagnostics, we change not "everything" but the bottlenecks: we set up error logging tied to a specific item, introduce reprocessing of failed batches, and separate the update schedules for prices and stock so they do not compete for the same data.

The exchange becomes predictable: a failure is visible in the log, localized down to the product, and resolved without a full catalog re-upload.

Describe how your exchange is currently set up and what exactly is not being updated — we will get back to you with an estimate and a diagnostic plan.

Case: website prices stopped lagging behind the accounting system

The client — a retail chain with a catalog of several thousand items — came with a classic pain point: prices on the website lived a life of their own.

The supplier price list was updated at night, managers exported the table, an operator manually corrected items in the admin panel, and it took from several hours to two days before publication.

During spikes in purchase prices, this caused direct losses: some orders went out at the old price, some at an inflated one, and customers noticed.

We broke down the chain and saw that the bottleneck was not the exchange itself, but the absence of a managed channel between the accounting system and the catalog.

We assembled a link between Metacommerce and 1C-Bitrix: products, stock, and prices flow from accounting into the catalog on a schedule and on an event basis, while the rules for markup, rounding, and warehouse priority are described declaratively rather than in the operator's head.

What changed in the exchange

Previously, the export was monolithic: a single error in a row broke the entire batch, and the exchange failed silently. Now items are sent in chunks with a log for each one, conflicting records go into a queue for review instead of blocking the rest.

For prices, we added a separate fast channel — they update more often than descriptions and photos, and do not wait for a full catalog synchronization.

Metrics before and after

Metric Before After
Price update delay up to 48 hours minutes
Manual catalog edits daily, hundreds of rows isolated cases
Exchange failures per month regular, with manual restart isolated, with auto-retry
Share of items with price discrepancy noticeable close to zero

Exchange stability rests on idempotency: re-exporting the same item does not create duplicates and does not reset already applied rules.

We also set up alerts separately — if the data stream from accounting goes silent longer than a specified window, the responsible person receives a signal before the discrepancy is seen by a customer.

Let's discuss your exchange scheme and come back with a plan

To come back with an integration estimate rather than generalities, we need a minimum of source data about your exchange scheme. Describe the task in free form — then we will ask clarifying questions ourselves about the places where expectations usually diverge.

  • Which systems are in the loop: 1C edition (UT, KA, ERP), Bitrix configuration, whether Metacommerce is present and its role in the exchange.
  • What is already synchronized: nomenclature, prices, stock, warehouses, counterparties — and at what frequency now.
  • How the catalog is structured: the number of products and trade offers, how many price types and warehouses, whether there are regional rules.
  • Where it hurts now: price discrepancies, stuck uploads, manual edits, duplicate cards, conflicts during simultaneous work.
  • Constraints: availability of a test loop, load requirements, windows during which the exchange must not interfere with sales.
  • Who on your side makes decisions on matching rules and confirms the acceptance result.

In response you will receive a work plan with stages: the exchange scheme and matching rules, a list of modifications on the 1C side and the website, the procedure for rolling out to production with the ability to roll back.

We will fix timelines and stages for each block separately so that you can see what you are checking and when.

Describe the task — we will come back with an integration estimate and a work plan.