Title: Online Developer &#8211; Marketplace Connector for Skroutz
Author: Online Developer
Published: <strong>November 2, 2026</strong>
Last modified: November 3, 2026

---

Search plugins

![](https://ps.w.org/online-developer-marketplace-connector-skroutz/assets/banner-
772x250.png?rev=3780945)

![](https://ps.w.org/online-developer-marketplace-connector-skroutz/assets/icon-
256x256.png?rev=3780945)

# Online Developer – Marketplace Connector for Skroutz

 By [Online Developer](https://profiles.wordpress.org/cbirbas/)

[Download](https://downloads.wordpress.org/plugin/online-developer-marketplace-connector-skroutz.3.0.3.zip)

 * [Details](https://wordpress.org/plugins/online-developer-marketplace-connector-skroutz/#description)
 * [Reviews](https://wordpress.org/plugins/online-developer-marketplace-connector-skroutz/#reviews)
 *  [Installation](https://wordpress.org/plugins/online-developer-marketplace-connector-skroutz/#installation)
 * [Development](https://wordpress.org/plugins/online-developer-marketplace-connector-skroutz/#developers)

 [Support](https://wordpress.org/support/plugin/online-developer-marketplace-connector-skroutz/)

## Description

**Online Developer – Marketplace Connector for Skroutz** connects your WooCommerce
store to the Skroutz marketplace (Greece and Cyprus). Orders placed through Skroutz
Smart Cart appear in WooCommerce automatically, in real time, and your product catalog
is published to Skroutz through an always up-to-date XML feed.

No manual order entry and no copy-pasting between dashboards: Skroutz notifies your
store through a webhook every time an order is placed or changes, and the plugin
creates or updates the matching WooCommerce order.

#### Skroutz Smart Cart orders

 * Receives Skroutz `new_order` and `order_updated` events in real time through 
   a secure webhook.
 * Creates the WooCommerce order on the first event and keeps it in sync on every
   following one: order status, courier, tracking codes, shipping voucher, fees 
   and pickup details.
 * Billing details come from the invoice information when the customer asks for 
   an invoice, otherwise from the customer’s address.
 * Detailed shipping data: street, number, floor, postcode, city, Greek region derived
   from the postcode, carrier collection-point pickup, courier, tracking codes, 
   voucher link, pickup window and address, number of parcels.
 * Detects the requested document type: receipt, invoice, Article 39a invoice or
   VIES invoice.
 * Correct VAT: Skroutz sends prices with VAT included; the plugin stores the net
   price using the rate of the matching WooCommerce tax class, and WooCommerce calculates
   the tax as usual.
 * Matches Skroutz line items to your products by SKU.
 * Adds a “Dispatched” order status if your store doesn’t already have one.
 * Duplicate deliveries are detected and ignored, so an order is never created twice.
 * The webhook URL is protected by a secret token, generated automatically; requests
   without it are rejected.
 * Stock is reduced when a Skroutz order is accepted and restored when it is rejected,
   expired or cancelled.

#### Skroutz XML product feed

 * Generates the Skroutz XML file of all your published products with one click,
   with a live progress bar.
 * Built for large catalogs: the file is generated in small batches and the progress
   is saved after each one. If the connection drops or the server times out, generation
   retries automatically from the exact point where it stopped, and an interrupted
   run can be resumed at any time.
 * Always current: whenever a product is edited or sold, its entry in the feed and
   the feed’s creation date are refreshed automatically within a minute.
 * Includes ID, name, SKU (as EAN), MPN, image, product link, full category path,
   brand (WooCommerce Brands), description, availability, stock quantity, weight,
   and price with VAT.
 * Adds “MPN (part number)” and “Skroutz availability” fields to every product, 
   right under the SKU.
 * Variable products are listed once, with their lowest price and total stock.
 * Choose a default availability and whether out-of-stock products are included.
 * Turn the feed on or off at any time; turning it off removes the XML file.

#### Order management tools

 * “Skroutz ID” column and search by Skroutz order code on the WooCommerce orders
   screen.
 * “View on Skroutz” button that opens the order in your Skroutz merchant panel.
 * “Skroutz” box on the order screen with the Skroutz code, courier and tracking
   codes.
 * Every webhook event and error is logged in WooCommerce  Status  Logs.

#### Compatibility

 * WooCommerce High-Performance Order Storage (HPOS) and the classic orders screen.
 * WordPress 6.5+, WooCommerce 7.0+, PHP 7.4+.
 * Translation-ready.

#### Pro add-on

Everything above is free and fully functional. The optional [Pro add-on](https://online-developer.gr/product/skroutz-woocommerce-integration/)
adds:

 * Editable field mapping: VAT tax classes, product matching by SKU or any meta 
   key, document type values and unlimited custom fields.
 * Editable order status mapping, including custom statuses.
 * Receipt & credit invoice attachment: send receipts and credit invoices to Skroutz
   from the orders list or the order screen, from your computer or automatically
   from a folder on your server, one by one or in bulk.
 * XML feed price rules: increase or decrease all prices by a percentage or a fixed
   amount.
 * XML feed mapping: take any element’s value from any product field, attribute,
   taxonomy or meta key, and add your own elements.
 * XML feed exceptions: leave out chosen categories and SKUs.

This plugin is developed by Online Developer and is not affiliated with or endorsed
by Skroutz S.A.

### External services

This plugin connects your store to services operated by Skroutz S.A. (“Skroutz”),
the company behind the Skroutz marketplace. It does not contact any server when 
it is activated, and it sends nothing anywhere until you set up the features below.

Skroutz terms of use: https://www.skroutz.gr/terms
 Skroutz merchant agreement (
terms for sellers): https://merchants.skroutz.gr/merchants/terms Skroutz privacy
policy: https://www.skroutz.gr/privacy

#### 1. Skroutz Smart Cart webhook (incoming requests from Skroutz)

What it is and why: Skroutz notifies your store when a Smart Cart order is placed
or changes, so the plugin can create or update the matching WooCommerce order.
 
When: only after you register the Webhook URL (Skroutz  Webhook) in your Skroutz
merchant panel. Skroutz then sends a request every time one of your orders is created
or updated. What data: Skroutz sends the order data to your site’s REST endpoint`/
wp-json/skroutz/v1/webhook/<secret token>`: order code and state, customer name,
phone, shipping and billing addresses, invoice details, line items, prices, courier,
tracking codes and pickup details. The plugin stores this data in the WooCommerce
order. Your site answers with an HTTP status only; no store data is sent back.

#### 2. Skroutz Orders API (outgoing requests to https://api.skroutz.gr)

What it is and why: the API lets a store send data about a Skroutz order back to
Skroutz. This plugin contains the API client and the API token setting (Skroutz  
API Credentials); the free plugin itself makes no API request. The client is used
by add-ons, such as the receipt / credit invoice upload of the Pro add-on.
 When:
only when you perform an action that needs it (for example, attaching a receipt 
to an order) and only if you have entered an API token. Never automatically, and
never on activation. What data: the API token you entered (as the authorization 
header), the Skroutz order code, and the data of that action (for example, the receipt
or credit invoice file you attach).

#### 3. Skroutz XML product feed (a file on your own site, read by Skroutz)

What it is and why: Skroutz lists your products on skroutz.gr from an XML file.

When: only when you enable the feed (Skroutz  XML Feed). The plugin writes the file
to your own site; Skroutz downloads it from there. The plugin itself sends nothing
to Skroutz, and disabling the feed deletes the file. What data: public catalog data
of your published products: ID, name, SKU, MPN, image URL, product URL, category,
brand, description, availability, stock quantity, weight and price.

#### 4. Skroutz merchant panel links (https://merchants.skroutz.gr)

The “View on Skroutz” button on Skroutz orders is a plain link that opens the order
in your Skroutz merchant panel in your browser. The plugin sends no data when it
is shown.

## Screenshots

[[

[[

[[

[[

## Installation

#### Requirements

 * WordPress 6.5 or newer
 * WooCommerce 7.0 or newer
 * PHP 7.4 or newer
 * A Skroutz merchant account with Smart Cart enabled
 * Pretty permalinks (Settings  Permalinks: any structure other than “Plain”)

#### Install the plugin

 1. In your WordPress admin, go to **Plugins  Add New Plugin** and search for “Online
    Developer – Marketplace Connector for Skroutz”.
 2. Click **Install Now**, then **Activate**. WooCommerce must already be installed
    and active.
 3. A new **Skroutz** menu appears in the admin sidebar.

To install manually, upload the `online-developer-marketplace-connector-skroutz`
folder to `/wp-content/plugins/` and activate it from the **Plugins** screen.

#### Receive Skroutz orders

 1. Go to **Skroutz  Webhook**.
 2. A secret token is generated automatically and is already part of the Webhook URL.
    You can replace it with your own (at least 16 characters) and click **Save Settings**.
 3. Click **Copy** next to the Webhook URL.
 4. In your Skroutz merchant panel, open **Merchants  Services  Skroutz Marketplace**(
    Smart Cart settings) and paste the URL into the webhook setting.
 5. Make sure the SKU of each WooCommerce product matches the product code (`shop_uid`)
    you send to Skroutz.
 6. Check that the **Standard**, **Reduced rate** and **Zero rate** tax classes in **
    WooCommerce  Settings  Tax** have the correct rates.

New Skroutz orders now appear in **WooCommerce  Orders** with a Skroutz icon and
their Skroutz code.

#### Publish your products with the XML feed

 1. Go to **Skroutz  XML Feed**.
 2. Tick **Enable the Skroutz XML feed**, choose a **Default availability**, decide
    whether to include out-of-stock products, and click **Save Feed Settings**.
 3. Click **Generate XML** and wait for the progress bar to reach 100%. If the connection
    drops, the plugin retries on its own; if you close the page, click **Resume interrupted
    generation** when you come back.
 4. Copy the XML file URL shown on the same screen and register it in your Skroutz 
    merchant panel.
 5. Optional: on each product, fill in **MPN (part number)** and **Skroutz availability**
    under the SKU in **Product data  Inventory**.

From then on the feed updates itself whenever a product changes or is sold.

#### API token (optional)

The **Skroutz  API Credentials** tab stores your Skroutz Orders API token. It isn’t
needed to receive orders or to publish the XML feed; it is used by features that
send data to Skroutz, such as receipt upload in the Pro add-on.

## FAQ

### Which products are in the XML feed?

Published simple and variable products (variable products as one item, with the 
lowest variation price and the sum of the variations’ stock). Out-of-stock products
are left out unless you enable “Include out-of-stock products”. Password-protected
products are never included.

### Where is the XML file?

In `wp-content/uploads/skroutz-feed/skroutz.xml`. The exact URL, with a copy button,
is on Skroutz  XML Feed.

### Do I need a Skroutz merchant account?

Yes. The plugin receives orders from Skroutz Smart Cart, which is available to Skroutz
merchants.

### Is the API token required?

No. Receiving orders through the webhook doesn’t need it. The token is used only
by features that call the Skroutz Orders API, such as the receipt / credit invoice
upload in the Pro version.

### Where can I see what happened with an order?

Every webhook event and error is logged in WooCommerce  Status  Logs, source `skroutz-
woocommerce`.

### Why does Skroutz get “401 Unauthorized” from my site?

The Webhook URL registered in Skroutz doesn’t contain the current secret token. 
Copy the URL again from Skroutz  Webhook and update it in your Skroutz merchant 
panel. This also applies after upgrading from a version earlier than 3.0.0, where
the token was optional.

### I installed an earlier version (named “Integration for Skroutz”, or from the folder “integration-for-skroutz-and-woocommerce”). How do I switch?

Since 3.0.0 the plugin lives in the folder `online-developer-marketplace-connector-
skroutz`. Deactivate and delete the old copy, then install and activate the new 
one. All settings, the XML feed settings, order data and saved product fields are
kept — they are stored in the database, not in the plugin folder. Generate the XML
feed once more after switching. The new copy stays inactive, with a notice, while
the old one is still active.

### I was using “Skroutz WooCommerce Integration” 1.x. How do I switch?

Deactivate and delete the old plugin, then install this one (and the Pro add-on 
if you had a license). All settings, saved mappings, order data and the license 
are kept — they are stored in the same options and order meta. This plugin stays
inactive, with a notice, while the old one is still active.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Online Developer – Marketplace Connector for Skroutz” is open source software. 
The following people have contributed to this plugin.

Contributors

 *   [ Online Developer ](https://profiles.wordpress.org/cbirbas/)

[Translate “Online Developer – Marketplace Connector for Skroutz” into your language.](https://translate.wordpress.org/projects/wp-plugins/online-developer-marketplace-connector-skroutz)

### Interested in development?

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

## Changelog

#### 3.0.3

 * Added `license.txt` (GNU GPL v2 or later).

#### 3.0.2

 * PHP 7.4: replaced `str_starts_with()` with `strpos()` (the plugin supports PHP
   7.4; WordPress 5.9+ polyfills the function, but the plugin no longer relies on
   the polyfill).
 * Readme: the External services section now explains each Skroutz service (webhook,
   Orders API, XML feed, merchant panel links): what it is, when it is used, what
   data is sent, with links to Skroutz’s terms of use, merchant agreement and privacy
   policy.

#### 3.0.1

 * Fixed: Skroutz webhook requests were rejected with 401 after 3.0.0. Skroutz drops
   the query string of the registered webhook URL, so `?skroutz_token=` never reached
   the site. The token is now part of the URL path (`/wp-json/skroutz/v1/webhook/
   <token>`). Copy the Webhook URL again from Skroutz  Webhook and update it in 
   the Skroutz merchant panel. Requires pretty permalinks (any structure other than“
   Plain”).

#### 3.0.0

 * Renamed to “Online Developer – Marketplace Connector for Skroutz”; plugin folder
   and text domain `online-developer-marketplace-connector-skroutz`. Settings and
   order data are kept.
 * Security: the webhook secret token is now mandatory. A token is generated automatically
   when none is set, and requests without the correct token are rejected (401). 
   Sites that ran without a token must register the new Webhook URL in the Skroutz
   merchant panel; an admin notice reminds them.
 * Translations are no longer bundled; they are provided by translate.wordpress.
   org.

#### 2.2.5

 * Fixed: stock was not reduced for Skroutz orders whose mapped WooCommerce status
   is not Processing, Completed or On hold (e.g. a custom “Ready to ship” status).
   WooCommerce only reduces stock on those three status changes, so the plugin now
   reduces stock itself when the Skroutz order becomes Accepted, Dispatched or Delivered,
   and restores it when the order becomes Rejected, Expired or Cancelled — regardless
   of the mapped status. Uses WooCommerce’s own stock functions, so stock is never
   reduced twice. Returned products are not restocked automatically.
 * New filters: `skroutz_stock_reduce_states`, `skroutz_stock_restore_states`.

#### 2.2.4

 * Plugin Check: annotated the `meta_key` label array key in the read-only Field
   Mapping view (array key, not a query argument).

#### 2.2.3

 * Removed the `load_plugin_textdomain()` call: WordPress loads the translations
   by itself (WordPress.org language packs, then the bundled `languages/` files 
   through the plugin’s Domain Path).
 * Removed the `set_time_limit()` call from XML feed generation; each request only
   processes a small batch of products, so it isn’t needed.

#### 2.2.2

 * Tested up to WordPress 7.1.
 * Database queries on the plugin’s own XML feed table now pass the table name through`
   $wpdb->prepare()` with the `%i` identifier placeholder (WordPress 6.2+), as required
   by the WordPress.org plugin checks.

#### 2.2.1

 * Changed: plugin name shortened from “Integration for Skroutz and WooCommerce”
   to “Integration for Skroutz” (plugin header, admin notices, readme). No functional
   changes.

#### 2.2.0

 * Changed: plugin folder, main file and text domain renamed from `integration-for-
   skroutz-and-woocommerce` to `integration-for-skroutz`, as required by the WordPress.
   org plugin directory (the slug may not contain “woocommerce”). The plugin name,
   settings, options, database table and order/product meta are unchanged.
 * Moving from 2.0.0–2.1.0: deactivate and delete the old copy, then install this
   one. The new copy stays inactive, with a notice, while the old one is active,
   instead of failing with a duplicate-class error.
 * Translations renamed to `languages/integration-for-skroutz-*.po/.mo/.pot`.

#### 2.1.0

 * Added: Skroutz XML product feed (Skroutz  XML Feed): enable/disable, default 
   availability, optional out-of-stock products, one-click generation with a progress
   bar.
 * Generation is batched and resumable: progress is saved after every batch, network
   errors and timeouts are retried automatically from the last saved product, and
   an interrupted run can be resumed.
 * Every product save, variation save, stock change (including sales), trash or 
   delete refreshes that product in the file and its `created_at` date (background
   rebuild, debounced to one minute).
 * Added: “MPN (part number)” (`_part_number`) and “Skroutz availability” (`_skroutz_shipping_status`)
   fields under the SKU in Product data  Inventory.
 * Extension hooks: `skroutz_feed_include_product`, `skroutz_feed_item_data`, `skroutz_feed_category_separator`,`
   skroutz_feed_settings_sections`.

#### 2.0.0

 * The plugin is now split into this free plugin and a separate Pro add-on. Free:
   webhook, API credentials, order creation and update with the default mappings,
   orders list column / search / “View on Skroutz”, order widget. Pro: editable 
   field / status mapping, receipt and credit invoice attachment, license.
 * Renamed to “Integration for Skroutz and WooCommerce” (folder and text domain `
   integration-for-skroutz-and-woocommerce`) for the WordPress.org directory. Option
   names and order meta are unchanged, so existing settings and orders carry over.
 * The plugin stays inactive while the old “Skroutz WooCommerce Integration” 1.x
   is active, instead of failing with a duplicate-class error.
 * Declares HPOS compatibility.
 * PHP 7.4 compatibility: removed PHP 8-only `match` expressions (the plugin already
   declared “Requires PHP: 7.4”).
 * The webhook shared secret is validated in the REST route’s permission callback.
 * Extension hooks for the Pro add-on: `skroutz_settings_tabs`, `skroutz_settings_tab_renderer`,`
   skroutz_settings_notices`, `skroutz_order_actions`, `skroutz_field_map`, `skroutz_status_map`,`
   skroutz_product_lookup`, `skroutz_invoice_document_mapping`, `skroutz_tax_class_mapping`,`
   skroutz_loaded`.

#### 1.0.0 – 1.11.5

 * Released as the single plugin “Skroutz WooCommerce Integration”.

## Meta

 *  Version **3.0.3**
 *  Last updated **21 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.5 or higher **
 *  Tested up to **7.1.4**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [Greece](https://wordpress.org/plugins/tags/greece/)[Marketplace](https://wordpress.org/plugins/tags/marketplace/)
   [orders](https://wordpress.org/plugins/tags/orders/)[skroutz](https://wordpress.org/plugins/tags/skroutz/)
   [woocommerce](https://wordpress.org/plugins/tags/woocommerce/)
 *  [Advanced View](https://wordpress.org/plugins/online-developer-marketplace-connector-skroutz/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/online-developer-marketplace-connector-skroutz/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/online-developer-marketplace-connector-skroutz/reviews/)

## Contributors

 *   [ Online Developer ](https://profiles.wordpress.org/cbirbas/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/online-developer-marketplace-connector-skroutz/)