Payments are experiencing issues due to temporary restrictions in Russia. If your payment does not go through, please submit a support request.Our support team is available 24/7 — we are always here to help with hosting and server issues.We are now accepting requests for dedicated server rental and colocation services in our data center.Reminder: we recommend enabling backups for additional data protection.A new VPS/VDS lineup with NVMe storage and improved performance is now available.Maintenance work on some servers has been completed. All services are operating normally.
Article7 min readViews1

Ready-made module and custom 1C integration in a three-year estimate

The launch price hides only part of the exchange costs. We compare two hypothetical options for maintenance, changes, and work handover to choose a solution that fits the store's real processes.

Comments 0

Standard metal fittings and a separate brass adapter on the workbench. Generated illustration.
In this article

One proposal for 1C exchange says "install the module," while another says "develop an integration." Comparing final sums is easy. It is much harder to understand whether they include the same work a year later, when the accounting configuration changes or a new warehouse appears.

Before choosing, bring both options to the same horizon and the same task. A ready-made module may reduce development volume, while a custom exchange may better match non-standard processes. Neither option frees the store from maintenance and responsibility for data.

What exactly is purchased under the term "module"

1C-Bitrix: Site Management has built-in capabilities for exchange with 1C. Official documentation describes interaction based on CommerceML and limitations by product edition. This is a basis to check the built-in option before purchasing an additional solution, but not a guarantee of compatibility with all modified 1C configurations.

Separate solutions from third-party developers exist. Their costs may differ regarding licenses, rights to receive updates, installation, and maintenance. You must read the terms of the specific product and the specific offer. The phrasing "supported by 1C" is too broad: the configuration, its edition, and customizations, the module version on the site, exchange directions, and data composition matter.

For custom integration, the question is equally specific. The client receives not an abstract "source code" but a defined set of components, documentation, and a maintenance procedure. Code without deployment instructions, test data, and field mapping descriptions can remain dependent on the author just as much as a closed module.

The boundary between standard solutions and custom work lies in the exceptions.

A hypothetical store sells standard products at a single price list and sends orders to a standard accounting system. If the supported exchange already covers this task, rewriting all operations requires separate justification. The mere desire to "control everything" does not show what benefit the business pays for.

Another store receives prices from 1C, sales restrictions from a separate system, and calculates availability based on reservation rules between warehouses. A ready-made module may cover part of the chain, but additional handlers will appear around it. You must compare the full system, including these handlers, not just its most visible component.

It is useful to list mandatory scenarios separately from exceptions: event retry after a failure, order cancellation after partial fulfillment, order composition changes, and discrepancies between reference data. This comparison does not require a new massive acceptance document. A few examples showing the boundaries of applicability for a ready-made solution are sufficient. Ask the implementer to specify which scenario is supported by configuration, which requires extension, and which is not covered by the proposal.

If replacing the entire data exchange is proposed for a single non-standard field, ask about a local extension. If a key business process is proposed to be modified for the sake of a module to save costs, evaluate the cost of such changes for employees. Sometimes a combination of standard exchange and a small isolated add-on turns out to be a third option that gets lost in the "buy or build" debate.

Conditional estimate with identical boundaries

Below is a training example in thousands of rubles, not market prices or a service offer. The horizon is three years from launch. Taxes and general store expenses are excluded from both options equally. Option A uses a ready-made solution with adaptation; Option B uses a custom integration. The set of mandatory operations is identical for both.

Three-year cost, thousand ₽

A: Ready-made solution

B: Custom exchange

License at launch

60

0

Implementation or development

180

420

Renewals / General Components

90

60

Agreed Maintenance

240

360

Total

570

840

For A, the total is 570 thousand rubles: 60 + 180 + 90 + 240. For B, it is 840 thousand: 420 + 60 + 360. In this model, the ready-made solution is 270 thousand cheaper. However, this result applies only to the selected initial data; it does not prove that any module is more cost-effective than custom development.

It now turns out that one mandatory format change will require A to perform separate work costing 320 thousand, while for B this work is already included in the agreed maintenance scope. The totals then become 890 and 840 thousand respectively, and the difference changes sign. If B also pays for the change separately, its cost must be added to the same model. One must not consider a modification free just because the code belongs to the customer.

This example highlights a useful question for the estimate: which events can change the final result? There is no need to invent dozens of accidents with arbitrary probabilities. It is enough to identify known store plans, such as a transition to a new accounting configuration, and obtain an estimate for both options. Uncertain expenses are better shown as a range than hidden behind a precise but unsubstantiated figure.

Maintenance needs to be broken down into actions

The "technical support" line often bundles different services. Responding to a ticket, finding the cause of a failure, fixing code, and reprocessing missed data are not the same thing. If only module consultation is paid for, daily synchronization recovery may remain the store team's responsibility.

In the proposal, it is useful to clearly see who monitors the synchronization stop, who analyzes errors on the 1C and website sides, who checks update compatibility, and who performs reprocessing. This is a distribution of work, not a requirement to assign a single person as responsible for any malfunction. Parties may have different access zones and different obligations.

Updates also carry a cost even without a new license invoice. A test copy, specialist time, and a clear path back to the previous version in case of error are needed. Direct modifications inside a third-party module can complicate future updates: changes must be matched and ported. An isolated extension can sometimes reduce such dependency, but the extension's capability and stability must be verified for the chosen solution.

The estimate should include the transfer of support responsibilities. The next team must receive documentation describing data flows, configuration storage locations, release procedures, and reprocessing workflows. Secrets must be transferred via standard secure channels, not included in explanatory notes. The ability to replace the vendor is evaluated based on work reproducibility and system clarity, not on a single promise that everything is open.

A low-cost launch can be a reasonable choice

For a store still validating its assortment and processes, a quick launch using a supported standard exchange may be justified. In this case, it is useful to acknowledge limitations in advance and define criteria for revisiting the decision. For example, regular manual handling of exceptions may begin consuming several hours per day, or a new sales direction cannot be integrated without deep restructuring.

For a stable, non-standard process, a custom integration can reduce the number of workarounds. However, this argument holds only if there is a team and budget for further development. Development that lacks post-launch support does not become independent simply because it was labeled as individual.

The choice can be summarized in a brief note: an identical set of tasks, a complete three-year calculation, known exceptions, operational owners, and events for review. Then, after a year, the store will have an explanation for the decision made. Any new request for modifications must be compared against the agreed boundaries, not against the memory of what was promised at launch: full integration.

Discussion 0

Share your experience and ask questions. Comments without links appear after editorial review.

No comments yet. Start the discussion.