Title: GerSync Exchange for 1C
Author: vigilansnoctis
Published: <strong>November 6, 2026</strong>
Last modified: November 6, 2026

---

Search plugins

![](https://ps.w.org/gersync/assets/banner-772x250.png?rev=3788814)

![](https://ps.w.org/gersync/assets/icon-256x256.png?rev=3788814)

# GerSync Exchange for 1C

 By [vigilansnoctis](https://profiles.wordpress.org/vigilansnoctis/)

[Download](https://downloads.wordpress.org/plugin/gersync.1.4.0.zip)

 * [Details](https://wordpress.org/plugins/gersync/#description)
 * [Reviews](https://wordpress.org/plugins/gersync/#reviews)
 *  [Installation](https://wordpress.org/plugins/gersync/#installation)
 * [Development](https://wordpress.org/plugins/gersync/#developers)

 [Support](https://wordpress.org/support/plugin/gersync/)

## Description

The plugin implements the standard “exchange with website” protocol built into 1C
configurations
 (Trade Management, Small Business Management, Integrated Automation,
etc.). Nothing needs to be modified on the 1C side. A Russian version of this document
is in readme-ru.txt.

**Catalog (1C  website)**

 * Category tree from 1C groups, products, descriptions, SKUs, weight, images.
 * 1C properties become global WooCommerce attributes (usable in filters).
 * 1C characteristics (“Id#Id”) become variable products with variations.
 * Prices: a chosen price type plus an optional “sale” price type (by name or Id).
 * Stock: summed across all warehouses; CommerceML 2.05 and 2.08+ (offers / prices/
   rests).
 * Products marked for deletion in 1C are moved to drafts or trash and restored 
   with their previous
    status when the mark is removed. Products you removed manually
   are never touched.
 * Large catalogs are imported in steps, so hosting timeouts are not a problem.

**Orders (website  1C)**

 * Orders are sent to 1C after creation and after every status change, including
   shipping and fees.
 * Optional: order statuses from 1C (cancelled, shipped, paid) are applied back 
   to the website.
 * Compatible with HPOS (WooCommerce high-performance order storage).

**Speed**

 * Products whose data in 1C has not changed since the previous exchange are skipped;
   prices and stock are saved
    only when they actually change. A repeated exchange
   of an unchanged catalog takes seconds.
 * Images are uploaded once: identical files are recognised, including images uploaded
   by the previous
    1C exchange plugin (no duplicates after switching).
 * Optional “WooCommerce sizes only” mode generates fewer thumbnail files and uploads
   images 2–3× faster.
 * “Forced full exchange” (Maintenance tab) reprocesses every product once on the
   next exchange.
 * “Image cleanup” removes images uploaded by the exchange that are no longer used
   by any product.

**Other**

 * Picks up GUIDs left by the previous 1C exchange plugin (`_id_1c` meta), so switching
   does not create duplicates.
 * Polylang / WPML: when translations share a GUID, the product or category in the
   default language is updated;
    the exchange URL also works with a language prefix(/
   en/wc1c-exchange/).
 * Per-field update control for existing products: name, description, categories,
   images, SKU, weight, prices and stock
    can each be protected from being overwritten
   by 1C.
 * A “Do not update from 1C” checkbox on a product’s Inventory tab protects a hand-
   edited product
    (prices and stock still update).
 * Attributes: “sync with 1C”, “only add values from 1C, never remove” or “don’t
   touch”.
    Attributes added manually (not coming from 1C properties) are never 
   removed in any mode.

**Full export and changes-only export**

 * The export type is detected automatically from the 1C file (“contains only changes”
   flag).
 * Changes-only export: only the received products are updated, nothing else is 
   touched.
 * Full export: products from 1C that are missing in it can be left as is, unpublished(
   draft),
    set to “Out of stock” or moved to trash. Products created manually on
   the website are never affected.
 * Runs in the background (WooCommerce Action Scheduler) after 1C signals the end
   of the exchange,
    or 15 minutes after the last full file for configurations that
   do not send the signal.
 * Safety: if more than half of the 1C products are missing, nothing is done and
   a warning is logged
    (looks like an interrupted exchange). A hidden product comes
   back as soon as it appears in an export again.
 * Translations (Polylang / WPML) follow the original product.

**Security**

 * The exchange password is stored only as a hash; after login a random session 
   token is used.
 * 10 wrong passwords lock the IP for 15 minutes; an optional IP allowlist is available.
 * Temporary files live in a randomly named folder protected by .htaccess / web.
   config.
 * Strict file name checks (only xml / zip / images, no “..”, no symlinks); zip-
   slip and zip-bomb protection.
 * XML is parsed as a stream without network access or external entities (XXE-safe).
 * Statuses from 1C are applied only to orders the website itself sent to 1C.
 * Internal errors are written to the WooCommerce log only and are never shown to
   the client.

### Trademarks

1C and 1C:Enterprise are trademarks of 1C Company. WooCommerce is a trademark of
Automattic Inc.
 GerSync is an independent plugin and is not affiliated with, endorsed
or sponsored by 1C Company or Automattic.

## Installation

 1. In WordPress go to **Plugins  Add New  Upload Plugin**, choose the zip file and
    click **Install Now**, then **Activate**.
     WooCommerce must be installed and active.
 2. Go to **WooCommerce  Обмен с 1С** (the GerSync settings page). Set an exchange **
    login** (Latin letters) and a long random **password**, then save.
 3. Copy the **exchange URL** shown at the top of the settings page, e.g. `https://
    example.com/wc1c-exchange/`.
 4. In 1C open **Administration  Data exchange  Exchange with websites** (the exact
    path depends on the configuration),
     create an exchange node and enter the URL,
    login and password from step 2–3.
 5. Choose what to exchange in 1C: products (catalog, prices, stock) and/or orders.
    Run the exchange.
 6. If products already exist on the website and have no 1C GUID, enable **“Match existing
    products by SKU”**
     before the first exchange to avoid duplicates.

It is strongly recommended to run the first exchange on a copy of the website or
after making a database backup.

**If 1C reports that the server did not receive the login/password**

On some hosts (PHP running as CGI/FastCGI) the Authorization header does not reach
PHP.
 For Apache add this to `.htaccess` in the site root, before the WordPress 
rules:

    ```
    RewriteEngine On
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
    ```

For nginx + PHP-FPM add: `fastcgi_param HTTP_AUTHORIZATION $http_authorization;`

**nginx note:** .htaccess is ignored by nginx. Deny direct access to the `wp-content/
uploads/wc1c-exchange-*` folder in the server config.

## FAQ

### Where can I see the 1C GUID of a product?

In the admin product editor, on the **Inventory** tab, and inside each variation.
It is never shown on the storefront.

### Where are the logs?

WooCommerce  Status  Logs, source `gersync`. Enable “detailed log” in the plugin
settings for step-by-step entries.

### What happens if I uninstall the plugin?

Settings and temporary files are removed. Products, categories and their 1C links
stay, so reinstalling will not create duplicates.

### Is it really free?

Yes. All features work without payment and nothing is locked. If the plugin saves
you time, you can buy the author
 a coffee via Buy Me a Coffee (link on the settings
page). The link is shown only in the plugin’s own admin pages.

### How do I update without losing settings?

Use the normal WordPress update (Plugins  Update). Settings, products and their 
1C links are kept.
 If you update manually with a zip file, choose “Upload Plugin”
and then “Replace current with uploaded” — do not delete the plugin first: deleting
removes its settings (products and 1C links still stay).

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“GerSync Exchange for 1C” is open source software. The following people have contributed
to this plugin.

Contributors

 *   [ vigilansnoctis ](https://profiles.wordpress.org/vigilansnoctis/)

[Translate “GerSync Exchange for 1C” into your language.](https://translate.wordpress.org/projects/wp-plugins/gersync)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/gersync/), check out
the [SVN repository](https://plugins.svn.wordpress.org/gersync/), or subscribe to
the [development log](https://plugins.trac.wordpress.org/log/gersync/) by [RSS](https://plugins.trac.wordpress.org/log/gersync/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.4.0

 * Unique `gersync` prefix for code, options and metadata; automatic migration from
   1.0–1.3.
 * Output escaped at the point of output; exchange request parameters read and sanitized
   individually.
 * Explicit nonce and capability check for the per-product “Do not update from 1C”
   checkbox.
 * Settings backup with automatic restore.

#### 1.3.0

 * Ready for WordPress.org: name “GerSync Exchange for 1C”, slug and text domain`
   gersync`, admin assets enqueued, passes Plugin Check.
 * Data versioning with automatic migrations on update; uninstall keeps settings
   if another copy of the plugin is installed.
 * Fixed: exchange passwords containing quotes or backslashes were rejected on some
   servers.
 * Optional “buy the author a coffee” and author page links (admin only).
 * Unchanged products are skipped; no-op saves of prices and stock are avoided.
 * Images uploaded by the previous plugin are reused; optional WooCommerce-only 
   thumbnail sizes.
 * Forced full exchange with a warning; background cleanup of unused exchange images.
 * Responses to 1C in Windows-1251 (no garbled messages in the 1C log).
 * New settings page: status summary and tabs (Connection, Catalog, Prices & stock,
   Orders, Advanced, Maintenance).

#### 1.2.0

 * Full / changes-only export handling with an action for products missing from 
   a full export.
 * Update protection for SKU, weight, prices and stock; per-product “Do not update
   from 1C” checkbox.
 * Attribute modes: sync / add only / don’t touch; manual visibility and order of
   attributes are preserved.
 * Translations are hidden and restored together with the original product.

#### 1.1.0

 * Price types from the classifier in offers.xml (CommerceML 2.08+).
 * Products and variations are restored when the deletion mark is removed in 1C.
 * Fees are included in exported orders; statuses from 1C apply only to exported
   orders.
 * Polylang / WPML support; exchange URL no longer depends on rewrite rules.
 * 1C GUID shown for variations in the admin; import code split into modules.

#### 1.0.0

 * First release.

## Meta

 *  Version **1.4.0**
 *  Last updated **3 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.4 or higher **
 *  Tested up to **7.1.4**
 *  PHP version ** 8.1 or higher **
 * Tags
 * [1C](https://wordpress.org/plugins/tags/1c/)[commerceml](https://wordpress.org/plugins/tags/commerceml/)
   [import](https://wordpress.org/plugins/tags/import/)[synchronization](https://wordpress.org/plugins/tags/synchronization/)
   [woocommerce](https://wordpress.org/plugins/tags/woocommerce/)
 *  [Advanced View](https://wordpress.org/plugins/gersync/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/gersync/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/gersync/reviews/)

## Contributors

 *   [ vigilansnoctis ](https://profiles.wordpress.org/vigilansnoctis/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/gersync/)

## Donate

Would you like to support the advancement of this plugin?

 [ Donate to this plugin ](https://buymeacoffee.com/ger.igor)