v1.17 · WordPress 6.0+ · WooCommerce 7.0+

Your WooCommerce catalog, selling on eBay. Without the double work.

Publish products from WordPress, let the plugin keep stock and prices aligned automatically, and get every eBay order inside WooCommerce. Built on eBay's official REST Inventory API, not the legacy Trading API.

  • Free up to 50 products
  • No credit card
  • Your customers' data stays on your site
6 marketplacesItaly, Germany, US, UK, France, Spain
REST Inventory APIeBay's modern interface, not the Trading API
Prepare → Verify → Publishchecks before anything goes live
Orders in real timeeBay notifications + polling every 15 minutes
Import from eBaythe listings you already have become products
GDPR endpointthe compliance eBay requires, included
Who it's for

One catalog to manage, two sales channels

Selling on your own site and on eBay usually means keeping two dashboards up to date by hand. The plugin removes the second dashboard.

You run a WooCommerce store and want to open eBay

Take the products you already have, pick a profile (pricing, shipping, template) and publish them. eBay becomes one more channel without rebuilding the catalog from scratch.

  • Publish in bulk straight from the WordPress product list
  • An eBay price different from your site price, with your own markup

You already sell on eBay and want a site of your own

Import your existing listings as WooCommerce products, with variations, categories and photos. Your order history for the last two years comes in with one click too.

  • Listings created on eBay or by older tools get migrated and imported
  • From then on, stock moves in both directions

You manage several stores or accounts

Several eBay accounts and marketplaces from the same WordPress, each with its own profile. If you install the plugin for your own clients there's the Relay Hub: you provide the eBay connection, without each client opening a developer account.

  • Profiles tied to a marketplace: the right policies and categories per country
  • Sandbox environment detected automatically for testing
How it works

Four steps, then it runs on its own

From connecting the account to the first synced sale without leaving WordPress.

1

Connect your eBay account

One click through eBay's official OAuth flow. With the managed connection you don't need a developer account; if you already have one you can use your own keys. Tokens are encrypted in the database.

account: mystore_uk · EBAY_GB · connected
2

Create a profile

Marketplace, payment, return and shipping policies, price adjustment, description template, default category and condition. One profile applies to thousands of products at once.

eBay price = WC price + 10% · shipping: Standard UK
3

Prepare, verify, publish

The plugin checks that each product has everything the eBay category requires (specifics, condition, images, SKU) and tells you before, not after a rejection. Then it publishes, in bulk too, with a progress bar.

Brand Condition 4 images → publish
4

Let it work

Every sale, restock or price change is reflected on eBay by itself. eBay orders land in WooCommerce with the "ebay" badge, and when eBay marks them shipped they move to Completed.

10:42 stock 12→11 · 10:43 order 12-34567 imported
Features

Everything it does, in detail

Six areas, each with the plugin's real features. Items marked Pro need a license; everything else is included in the Free plan too, within its limits.

Prepare → Verify → Publish

Three separate steps. "Prepare" builds the draft locally without touching eBay; "Verify" creates the inventory item and the offer and surfaces every error; "Publish" puts it live. A listing is born correct instead of being suspended later.

Categories and item specifics

Map WooCommerce categories to the official eBay taxonomy of the marketplace, in bulk from the "Categories" page or per product. Required aspects (Brand, Model, Size…) are filled from WooCommerce attributes, the SKU, the condition or the product title.

Condition validated per category

Every eBay category accepts different conditions. The "eBay condition" field in the product editor only shows the ones valid for the chosen category, so you avoid the classic "invalid condition ID" error that blocks publishing with other tools.

SKU generated when missing

eBay requires a SKU for every item; many used or older products don't have one. The plugin generates a stable one at prepare time instead of stopping to ask you.

Variable products, two ways

WooCommerce variations become a single eBay listing with a size/colour selector (native variations) or separate listings, one per variation. You choose per product: native ones perform better in categories that support them, separate ones work everywhere.

Description templates with a visual editor

WYSIWYG editor with live preview on a real product. Dynamic placeholders for title, price, description, image gallery, attributes, category, condition, brand, weight and dimensions, plus your own CSS, header and footer. A different template per profile.

Images checked before sending

eBay reads photos from your site's public URLs. The plugin checks they're reachable and blocks publishing if the site is in maintenance mode or on a staging domain, instead of letting the call fail silently. Exported size is configurable.

Batched bulk actions

Prepare, verify, publish, update or close hundreds of listings at once from the Listings page, with a progress bar and the option to cancel. Processed in batches of 5: no PHP timeouts, no blind waiting.

Publish from the WordPress product list

The "Publish to eBay" and "Remove from eBay" bulk actions live in the standard WooCommerce product list. A "Live on eBay" icon marks products already online, without opening the plugin.

Best Offer with automatic acceptance Pro

Enable Best Offer on a profile's listings and set auto-accept and auto-decline thresholds, fixed or as a percentage of the price. eBay handles the negotiation on its own within your limits.

GPSR compliance fields Pro

Manufacturer and EU responsible person required by the General Product Safety Regulation, sent to eBay with the listing for European marketplaces.

Why it's different

Built on eBay's modern APIs, with the others' bugs already avoided

Many sync tools were born on the Trading API, the XML interface eBay is replacing. This plugin uses the REST Inventory, Fulfillment, Account and Taxonomy APIs from day one, and rules out by design the recurring problems anyone migrating from those tools knows well.

No surprise rejections

Conditions and item specifics are validated against the official taxonomy of the category and marketplace before publishing. Caches refresh themselves weekly.

No stock loops

An order that came from eBay never sends its own stock drop back to eBay. Updates send only the changed field, never a full "revise" that can zero a quantity.

Staging-safe by design

A test copy of the site never touches real listings and orders: the plugin detects it from the domain and the WordPress environment, without you having to remember to switch anything off.

AspecteBay Sync for WooCommerceTools based on the Trading API
eBay interface REST Inventory API, the model eBay develops todayXML Trading API, the legacy interface
Stock and price updates Only the changed field, with debounceOften a full revise of the listing
Condition per category Only valid conditions, read from eBay per marketplaceOften a fixed list: the "invalid condition ID" error is common
Work queue WooCommerce's Action Scheduler, inspectableCustom queues with their own tables to maintain
eBay developer account Not needed (managed connection), optional if you have oneVaries: often required, or a centralised third-party relay
Listings created outside the plugin Migration to the Inventory API model included (Pro)Visible, but they stay on the legacy model
Your customers' data Stays on your WordPress, never sent to the license panelDepends on the vendor
Pricing

Free to start, one Pro plan

The Free plan never expires and includes every core feature within its limits. Move to Pro when you outgrow them.

Free
€0 forever
No card, no trial clock.
  • Up to 50 products published on eBay
  • Guided publishing, stock and prices synced
  • eBay orders imported into WooCommerce
  • 1 account, 1 marketplace, 1 profile, 1 template, 1 shipping profile
  • Import of 10 listings from eBay
  • Best Offer, GPSR, legacy import
Register free
Pro monthly
€9.95 / month
No commitment, cancel any time. 1 site.
  • Unlimited products on eBay
  • Everything in the annual plan
  • Month-to-month renewal via Stripe
  • Switch to annual whenever you like
Register and buy

Secure payment with Stripe, automatic invoice, subscription managed from your account. One license covers one site: activate it from the plugin with the key and move it to another domain whenever you want.

What changes between Free and ProFreePro
Products published on eBay50Unlimited
Connected eBay accounts1Unlimited
eBay marketplaces1Unlimited
Profiles (pricing and policies)1Unlimited
Shipping profiles1Unlimited
Description templates1Unlimited
Listings importable from eBay10Unlimited
Best Offer with auto-accept and auto-decline
GPSR compliance fields
Legacy listing migration and import (Trading API)
Stock, prices, orders, templates, variations, log, GDPReverything else in the plugin

Going over a Free-plan limit only blocks new things beyond that limit: what you've already created is never deleted, hidden or stops syncing.

What's new

Continuous development, driven by real use

Current version 1.17.4, released 9 September 2026. Every work session ships a release; below is an extract from the last few weeks.

  • 1.17.4

    Faster item specifics. The required fields that appear after picking a category now show a loading indicator and use one eBay call less thanks to the category tree cache.

  • 1.17.3

    Order status from eBay. Shipped on eBay becomes "Completed", cancelled becomes "Cancelled", only for orders still processing. Order lines with a SKU not in the catalog are no longer lost, and every line links to the item on eBay.

  • 1.17.1

    eBay box on the order screen. Buyer's username and masked email, listing link, sync history. New "Sync orders" button and the real eBay order date preserved.

  • 1.4.0

    Publish from the product list. "Publish to eBay" and "Remove from eBay" bulk actions in the WordPress product list, "Live on eBay" icon for imported products too.

Requirements

What you need to run it

WordPress 6.0+tested up to 7.1
WooCommerce 7.0+HPOS compatible
PHP 8.0+no special extensions
eBay seller accountwith Business Policies enabled (free)
Publicly reachable siteeBay reads photos from your domain
Frequently asked questions

The answers before you ask

Does it require WooCommerce?

Yes. It's a WooCommerce extension and does nothing on its own. It needs WooCommerce 7.0 or later on WordPress 6.0 or later, with PHP 8.0 or later.

Do I need an eBay developer account?

No. With the managed connection you link your seller account through eBay's normal authorisation flow and that's it. If you already have a developer keyset you can still use it, in direct mode, with no intermediary.

How do I install the plugin and activate the license?

Install it like any WordPress plugin (Plugins → Add New → Upload Plugin), then from eBay Sync → Settings connect an eBay account and create a profile. The Free plan works right away, no key needed. For Pro, after purchase you'll find in your account on this panel ("My licenses") a key in the format WCES-PRO-XXXX-XXXX-XXXX to paste into Settings → License.

What happens if I go over a Free-plan limit?

Only creating something new beyond the limit is blocked (a second profile, the 51st product, the 11th imported listing). Nothing you already have is deleted, hidden or stops syncing.

Can I import listings I already have on eBay?

Yes. Items created through the Inventory API (by this plugin or other modern tools) are always importable. Those created directly on the eBay site or by tools based on the old Trading API must first be migrated to the Inventory API model: the Import page does it for you with one click (Pro feature), when eBay considers them eligible. It's an eBay API constraint, not the plugin's.

Are variations (sizes, colours) supported?

Yes, in both directions. Outbound, you choose per product between a single listing with a selector (native eBay variations) and separate listings per variation. Inbound, SKUs that belong to the same group on eBay become one WooCommerce variable product.

Does it work with eBay's sandbox and with a staging site?

Yes. Each connected account can be sandbox or production, detected automatically. A .local, .test or staging domain switches off outbound stock sync and order import by itself, so a test copy of the site never touches your real listings.

What data leaves my site?

To eBay, naturally, listing and policy data. To the license panel: on the Free plan only domain and plugin, WordPress and WooCommerce version numbers, once a day, switchable off in Settings. With a Pro license, additionally, listing counts by status, number of connected accounts, date of the last sync and, for orders, only ID, date, amount and currency. Never your customers' names, emails or addresses, on any plan.

How many sites does a Pro license cover? Can I move it?

One license covers one site at a time. Deactivating it from the plugin frees the slot and you can activate it on another domain, for instance when you change hosting. From your account on this panel you always see which domain it's active on.

What happens to listings if I deactivate the plugin or delete a product?

Deactivating the plugin doesn't touch listings on eBay: they stay online as they are. Permanently deleting a product (not trashing it) closes the linked listing, so you don't sell something you no longer have. Deleting the linked photos, on the other hand, can be turned off in Settings.

What if the Pro subscription expires?

The plugin goes back to the Free-plan limits. What you've already created stays and keeps syncing; only creating new things beyond the limits is blocked, and the Pro features (Best Offer, GPSR, legacy import) switch off. If the license panel is temporarily unreachable, the license is never downgraded because of a timeout.

How do I get support?

From the plugin, in Settings → License panel, there's "Request support": it opens a form already filled with domain, versions and license status. Describe what's happening and we reply by email. You can also use the support page directly.

Get your catalog on eBay this week

Register, connect your eBay account and publish your first 50 products free. Move to Pro only when you need more.