Module PrestaShop data exchange with 1C:Enterprise
for PrestaShop 1.7, 1.6
Questions?
Description
Short description
The module for a site on PrestaShop, which allows two-way data exchange between PrestaShop and "1C:Enterprise 8": importing categories, products, and other data from 1C to the site; importing orders placed on the site to 1C; importing orders modified in 1C to the site.
The benefits for merchants
The module is intended for small and medium-sized enterprises that need to submit a product catalog to the Internet with up-to-date data, as well as implement online sales of products presented in 1C. The module allows you to automate the process of data exchange between PrestaShop and "1C:Enterprise 8", thus allowing you to quickly organize online sales for an offline shop.
The benefits for customers
Thanks to automation, a shop's customer will always see up-to-date information about products, their prices and stock quantity on a site. Thus, a site for a customer will become an actual source of information, where, in addition, a customer can buy products online.
Module compatibility with "1C:Enterprise"
The exchange process is performed and controlled by the standard 1C tool – "Exchange with sites" or can be called "Exchange with an online shop". Various versions of "1C:Enterprise" 8 (8.2, 8.3) and configurations are supported. The main thing for performing an exchange is that your 1C application must has this tool.
Compatible 1C application solutions (initially have the "Exchange with sites" tool; not all possible versions are specified here):
- Trade Management (Russia: editions 10.3, 11.3, 11.4; Ukraine: editions 3.0, 3.1, 2.3; Belarus: editions 3.2, 3.3, 2.0; Kazakhstan: editions 3.2, 2.0, 1.3)
- Production Enterprise Management (Russia, Ukraine and Kazakhstan: revision 1.3)
- Complex Automation (Russia: editions 1.1, 2.0)
- Managing Our Company (Russia: version 1.6)
- Managing a Small Company (Ukraine: editions 1.4, 1.6)
- ERP Enterprise Management (Russia: revision 2.0)
- Trade Enterprise Management (Ukraine: version 1.2; Kazakhstan: version 2.0)
- Enterprise Accounting (version 3.0)
- Retail (version 2.0)
- and others.
Features
A standardized data format for exchange is used - CommerceML (versions 2 and 3). Accordingly, the module has the capabilities of this standardized data exchange. The module supports CommerceML standard from 2.04 to the last 2.10 and gradually I am adding a support for CommerceML 3 standard (already works in many cases). The module implements most of features that most businesses need, and new features are added at requests. According to this standard, the master system is "1C:Enterprise", that is-it is the main system, not the site. Read more about the exchange on the website of 1C company – Data exchange with an online shop.
Data exchange is performed automatically according to the configured schedule in 1C. Accordingly, after setting up, the exchange is performed automatically without the user's participation. As an additional useful function, on the order page in the admin panel of the website, the module places a button for registering an order for repeated exchange and information about whether the order was imported to 1C.
The module imports the following data from 1C:
- Categories (in the exchange node in 1C, you can specify specific categories with products to upload to the site).
- Products.
- Images of products and combinations (including captions/descriptions).
- Features (including associations with products); in 1C, they are also called properties. In 1C, a property (feature) is the same as a feature in PrestaShop.
- Combinations of product attributes (there is a difference in terminology - in 1C, they are called combinations of product properties, because they consist of properties; but in PrestaShop, these are combinations of attributes, not properties).
- Manufacturers (including associations with products).
- Prices.
- Price types (the imported price types are then associated by a site administrator with a site's user groups, so on an exchange process can assign different prices for each of a user groups, for example: prices for retail and wholesalers).
- Product stock quantity (stock quantity from all warehouses are summed up in a site during an exchange process).
- Orders (changing an order status).
The module exports following data objects to 1C:
- Orders (shopping cart data, customer data, and other additional order data).
The module supports specific functions of a data exchange:
- Able to download large data files in parts.
- Can only import prices and stock quantity (using the simplified "offers" exchange model).
Distinctive features of the module:
- It does not require changing a configuration of 1C application and does not require changing PrestaShop source code.
- The module registers in PrestaShop log all operations performed during the exchange, including: errors, warnings, and help messages. These reports also describes problems of data exchange and suggests solutions. You can set up Email notifications about data exchange problems. The module allows you to quickly navigate to the list of PrestaShop log messages related only to an exchange.
- The module displays an execution time of each exchange stage and a current status of the exchange.
- It displays warnings on PrestaShop modules page and in the module settings if the module cannot function properly. For example, when the module configuration is not complete or you need to launch an update.
- The module has a flexible architecture that allows you to quickly add enterprise-specific functions and, at the same time, you can easily update the module without losing the changes made.
Available module settings:
- Setting options up of an exchange process: selecting an employee account to authorize 1C; selecting statuses for which orders from an online shop will be sent to 1C and a date from which orders must be processed; selecting a currency of accounting.
- Options for managing a status of a product (enable or disable) based on its stock and price.
- Options for not overwriting a data: product name, product description (for cases when a content on a site and in 1C is conducted differently).
- Options for choosing which data to import (categories, products, prices, stocks, images, etc.).
- Options to configure prices for pricing by user groups, that is, you can link a site's user groups with 1C price types to display different prices on a site, for example, for a visitor and a registered user.
- The option that allows to configure an import of a price for a case of using a single price type, i.e. write a price into a product, not into a combination (a price impact of a combination will be zero).
- Optimization features. You can enable RAM saving mode when importing prices, but at the same time reduce an execution speed (this is suitable for cases of a huge number of prices when there is not enough RAM). You can enable the optimization mode of an execution speed (speeding up the exchange due to a failure to perform some non-critical operations). Another way to optimize the execution speed available in the module is to disable the generation of thumbnails of images.
- Options for choosing a way to search for a product before importing new data for the task of linking products from 1C with products from a site: search by article, by barcode (EAN, UPC, ISBN) or by name.
- The option to delete an existing data on a site before uploading new data from 1C (for an initial exchange and tests).
- Other options (see screenshots images).
The module not supports:
- Multi-language (works with only one default language). To do this, you need to modify 1C configuration and modify the module for this new exchange data scheme.
- Multi-shop (only works with one default shop). To do this, you need to modify 1C configuration and modify the module for this new exchange data scheme.
- Multi-warehouse (stock remains from all warehouses are summed up in a site by this module).
- What is not written in this description!
If you need any of these, or need some specific processing then read the documentation, and if there is no information there, then write a request through the feedback.
Recommendations
Make sure that your 1C really supports the ability to exchange using the standard protocol and CommerceML exchange format. Download a fully functional demo of the module and the user manual, and check by yourself the possibility of integration with your 1C application. Contact a 1C specialist to set up an exchange with your site, because with a configuring 1C there are many nuances.
Other
Behavior of the module when an online shop already has categories, products, and other entity data. You need to understand how, for example, existing products in 1C are linked to existing products in PrestaShop (it is additional information):
- Before importing these entities (categories, products, etc.) to an online shop, the module first checks their presence in an online shop by an unique identifier (GUID), and then, if a data not exists then by a secondary factor for unambiguous identification of an entity (most often by name, for example: by a category name, by a feature name and etc).
- Additionally for products you can configure a search method before importing them: by a reference, barcode (EAN, UPC, ISBN), or by a name.
- If the module didn't find existing data (didn't determine a match) based on the behavior described above, then it will insert a new row to database table (so take care of factors for unambiguously defining these entities in advance for exclude duplicates; but if there aren't many duplicates, you can easily delete them manually).
- The module does not delete data in a site when importing, but complements it (except in some cases, when it is not possible to complement). In General, everything is logical: for example, a name, a description or other data of text fields (product, category, etc.) is overwritten; a price is added to the existing list of prices (a specific price or a catalog rule); images are physically deleted only those that are marked for deletion in a special way; other information objects marked for deletion in 1C are marked on the site accordingly, but are not physically deleted.
Frequently asked questions
- Will it work on 1C [substitute your configuration] for [substitute your country]? To be able to exchange a data between 1C and PrestaShop using this module, your 1C application solution must has the “Exchange with sites” tool (aka “Exchange with an online shop” or some other), which works according to the standard protocol and CommerceML data exchange format. If there is no such tool, please check with your 1C support for the possibility of installing this tool in your application solution. If it is not possible to install or implement it yourself, then data exchange via this module is not possible for PrestaShop.
- Is it possible the export of a catalog (features, attributes, pictures and other objects) from PrestaShop to 1C? This function is not exists in the module (as in all other analogs). This is a task for the case “1C does not has a data, but a site does”. The fact is that the module implements a standardized exchange mechanism using CommerceML. As part of the standard, 1C catalog is uploaded to a site, because the main system is 1C. In other words, you need to start and edit products in it. And then data changes made will be sent to a site and the module will import this data. But you can manually make a one-time export of products to a CSV file using the standard PrestaShop tool and then import this file to 1C by a standard import tool (if available), having previously prepared a CSV file for import.
- With 100500 (i.e. much) products, how long will it take to import a data to PrestaShop (at least approximately)? A processing speed does not actually matter, since a data exchange is made only of modified objects, and therefore, an exchange was made in a second or in 10 seconds, in most cases, does not matter. A duration of an initial exchange is also not actually matter in most cases, because it is only done once. In addition, a desire to know an approximate duration of a data exchange at “100500” (i.e. much) products does not make sense, because in addition to products there is still related data, which can also be “100500”. I.e. in the end, according to one company we can say that a duration of a data exchange process is 15 minutes, and a duration for other company can say that 2.5 hours. This is a multiple difference suggests that the question is flawed because it can not be answered even approximately without any information about data of a company, computing hardware and other information).
- What resources are needed on a hosting for a normal operation of an exchange process? Any good hosting (VDS, Shared) will do. If at that moment your site is working well on a current hosting under the load of visits, then there are enough resources for data exchange processing operations. But an initial data exchange always requires more resources (mostly RAM), so you may need to temporarily increase RAM to a desired amount. You can do without increasing RAM – run an exchange process with a catalog data in parts by choosing a specific product category by turns, and at the end to set a data exchange only for changed objects.
Demonstration
Demo video (v 0.9 - outdated; but as an example still relevant; download the demo module for self-testing):
Data sheet
- Compatible with versions of PrestaShop: 1.7, 1.6
- Compatible with versions of PHP: 5.6, 7.0, 7.1, 7.2, 7.3, 7.4, 8.0, 8.1
- PHP options "auto_prepend_file" and "auto_append_file": must be disabled
- Requires ionCube extension for PHP: 10.3.9 or newer
- Installation: normal
- Uses PrestaShop classes override system: no
- Core modifications: no
- Includes a documentation: yes
- Includes free consultations: no
- Translated into languages: RU, EN, RO, SV
- Version: 1.74.1 (2022-09-01)
- License: Proprietary license for closed-source software
- Product type: Module
There are no comments for this moment.
In English, the changelog is not maintained. See the page in Russian.