This is an info Alert.
xpay
  • Product
    • Become Agent-Ready
      • Merchants
        Agentic Commerce — list your store across ChatGPT, Gemini, Claude & Perplexity
      • Publishers
        Monetize your content when AI agents read, cite, or train on it
      • SaaS Companies
        Treat AI agents as first-class customers with agent-priced checkout
    • Monetize
      • Monetize MCP Server
        Charge per call on any MCP server in 2 minutes
      • Monetize AI Agents
        Turn n8n, Zapier, Activepieces workflows into revenue
  • Resources
    • xpay Ecosystem
      • xpay✦ Tools
        1,000+ pay-per-use tools for your AI agents
      • Agent-Ready SaaS Index
        25,481 SaaS scored on agent-buyability
      • SaaS Pricing Database
        Pricing pages indexed across 1,000+ categories
      • Shopify Apps Directory
        Every Shopify app, with its full review history
      • WooCommerce Plugins Directory
        Every WooCommerce plugin, scored on how well it is maintained
      • GitHub
        Open source repositories
    • Agent Building
      • Agent Frameworks
        AI frameworks for building multi-agent systems
      • x402 Integration
        AI frameworks with x402 payment integration
      • Networks
        Blockchain networks supporting x402
    • Company
      • About xpay✦
        Our mission, products, and protocols
      • Blog
        Latest insights and updates
      • Docs
        Complete xpay documentation
  • Pricing
  • Blog
  • Docs
Get Started
  1. xpay✦ Commerce

  2. Directory

  3. WooCommerce plugins

  4. Elementary POS for WooCommerce

Elementary POS for WooCommerce

Bidirectional synchronization of products and stock levels between Elementary POS and WooCommerce.

10+ active installsFree on WordPress.org
View on WordPress.orgSupport forum
Will this break my store?

What the WordPress.org registry says about keeping Elementary POS for WooCommerce running.

WordPress compatibility
Tested to 7.1.1
Tested against the WordPress branch in use today.
Last updated
3 days ago
At least 12.8 releases a year since launch. WordPress.org only lists versions still available for download, so the real number may be higher.
Requires PHP
7.4
Your host must be running at least this version.
Requires WordPress
5.8
Requires other plugins
woocommerce
These must be installed and active first.
Contributors
1
A single maintainer. Worth knowing if the plugin is load-bearing for your store.

10+ active installsWordPress.org reports installs in bands, not exact counts.
Maintenance & trust

Scored on how Elementary POS for WooCommerce is looked after — not on how many stores run it.

Well maintained
Not enough public feedback to put a confident number on this one. Little public feedback — score rests mostly on release activity. What we can see is below.

Maintenance
35 / 35
Updated 3 days ago.
WordPress compatibility
20 / 20
Tested to WP 7.1.1 (current).
Support responsiveness
Not enough data
Only 0 support thread(s) — not enough to judge.
Merchant satisfaction
Not enough data
No ratings yet.
Listing transparency
10 / 10
Provides: screenshots, description, homepage
2 of 5 measures had too little evidence to score. They are left out of the total rather than counted as zero — otherwise a plugin would be marked down for being small rather than for being poorly kept.Measured 2026-09-20 from the WordPress.org plugin registry.
Ratings

No one has rated this plugin on WordPress.org yet. That is a statement about the ratings page, not about the plugin — plenty of well-kept plugins never collect them.

Elementary POS is a modern cloud-based point-of-sale system for retail businesses. This plugin enables automatic, real-time synchronization of products and inventory between your Elementary POS system and WooCommerce store.

Key Features

  • HPOS Compatible – Fully compatible with WooCommerce High-Performance Order Storage
  • Bidirectional Product Import – Import products from Elementary POS to WooCommerce, or export from WooCommerce to Elementary POS
  • Tax Mapping System – Intelligent tax mapping between WooCommerce tax classes and Elementary POS tax types
  • Draft Mode Import – Option to import new products as Draft instead of Published
  • Draft Products Synchronization – Optional synchronization of draft products along with published ones
  • Safe Product Removal – Products are moved to Trash instead of permanent deletion, allowing recovery
  • Bidirectional Stock Sync – Keep stock levels synchronized in both directions
  • Real-time Webhooks – Instant updates when sales occur in Elementary POS
  • Automatic Order Sync – WooCommerce orders automatically update Elementary POS inventory
  • Queue System – Reliable processing with automatic retry on failures; failed items are automatically retried when new activity occurs
  • Comprehensive Logging – Track all synchronization activities with detailed logs
  • Manual Controls – Full manual control over synchronization when needed

How It Works

What Gets Synchronized:

Elementary POS → WooCommerce:
* Product data (name, SKU, price, categories, tax classes)
* Stock quantity changes from all sources (sales, manual adjustments, inventory corrections)

WooCommerce → Elementary POS:
* Product data (name, SKU, price, tax classes)
* Stock quantity changes from orders, at the moment WooCommerce reduces or restores stock for them
* Manual stock adjustments in WooCommerce admin

When Synchronization Happens:

Elementary POS → WooCommerce:
When any stock change occurs in Elementary POS (sale, manual adjustment, etc.), a webhook is sent to WooCommerce.
The plugin processes the update immediately in real-time, updating stock levels in WooCommerce.

WooCommerce → Elementary POS:
When WooCommerce reduces stock for an order – which happens on payment and when the order moves to Processing, On hold or Completed – or when stock is changed by hand in the WooCommerce admin, the change is sent to Elementary POS automatically.
Changes are sent immediately when they occur. If the till cannot be reached, the change is queued and tried again after fifteen minutes and then after an hour. A change that failed within the last twenty-four hours is picked up again whenever new stock activity occurs, so a till that was briefly out of reach costs nothing. Older than that it is left alone – a difference a day old is better repaired by a manual synchronization than applied blind – and after thirty days it is removed. A change Elementary POS refuses outright – it has no item with that SKU, or the unit means nothing to it – is recorded in the log and not retried, because the answer would be the same every time.

Requirements

  • WordPress 5.8 or higher
  • WooCommerce 9.1 or higher – the hooks that announce the stock changes an order makes arrived in WooCommerce 7.6 and 9.1. On anything older, stock put back by a cancelled order never reaches the till, and the correction against the till then quietly puts the sold goods back on the shelf
  • PHP 7.4 or higher
  • Elementary POS API key
  • Products must have SKU codes for stock synchronization (product import can work without SKU)

Compatibility

  • HPOS Compatible – Fully compatible with WooCommerce High-Performance Order Storage
  • WP Cron – Uses WordPress cron for queue processing (runs every 15 minutes)

Limitations

  • Decimal Quantities Not Supported – WooCommerce counts stock in whole numbers and cuts a decimal change down rather than rounding it, so a change of half a unit becomes no change at all and 1.5 becomes 1. For items sold by the piece the shop catches up anyway, because the plugin also compares against the quantity the till reports and writes that whole number in; the difference never grows past one item. For an item whose unit in Elementary POS is anything but pieces that correction is deliberately not made – there is no way to turn 2.5 kg into a number of packets, and writing 2 in would wipe the shop’s own count – so there the fraction is lost for good. In the other direction such an item is refused by the till outright and the change is written to the log instead of being retried. A shop selling by weight, length or volume therefore does not synchronize towards Elementary POS at all, and only whole units reach it from the other side.
  • Stock Synchronization Trigger – WooCommerce → Elementary POS stock synchronization happens when WooCommerce lowers stock for an order, when it puts stock back for a cancelled order or a refund made with “Restock refunded items”, when an item on an existing order is changed or removed, and when stock is changed by hand in the WooCommerce admin. Anything that changes a quantity in the database without going through one of those – some third-party plugins do – is not seen and does not reach the till. If your store has stock management disabled for certain products (e.g., services, digital products), those products will not trigger synchronization to Elementary POS.
  • Product Visibility and Stock Status – Newly imported products are set as “Visible” in catalog, and catalog visibility is preserved on later imports. For a product that tracks stock, WooCommerce derives the stock status from the quantity, so an item with nothing in stock in Elementary POS – including a newly imported one before stock has been loaded – shows as “Out of Stock”. For a product that does not track stock – a service, a voucher, a made-to-order item – the stock status is yours alone: neither import nor synchronization changes it. Adjust visibility manually after import if you need it different.
  • Simple Products Only – The plugin imports all products as Simple products (WC_Product_Simple). Products with variants in Elementary POS are imported as single simple products, not as Variable products with variations. If your catalog relies heavily on product variations (size, color, etc.), you will need to manually configure them in WooCommerce after import.
  • Variable Products Are Not Synchronized – Elementary POS sells single items and has nothing that answers to a variation, so the plugin leaves variable products alone in both directions. A variable product itself is not sent: it is only a heading for its variations, carries no price of its own, and sending it would create an item at zero on the till. Its variations are not sent either, and a quantity sold at the till cannot find its way back to one, because stock is matched by SKU against products alone. Note that WooCommerce shows the parent’s SKU in a variation’s SKU field when the variation has none of its own – that is a placeholder, not a code the variation owns. Grouped and external products are left out of the export for the same reason. To sell variants from the till, keep them as separate items in Elementary POS and as separate simple products in WooCommerce, each with its own SKU.
  • Items Without a SKU Are Created Again on Every Import – The SKU is what pairs an item in Elementary POS with a product in WooCommerce, so an item that has none cannot be recognised on a second import and is created as a new product every time. Such a product never receives stock either, for the same reason. Tick “Import only products with SKU” to leave these items out, or give them a SKU in Elementary POS first.
  • SKUs Are Matched Exactly, Letter Case Included – “abc-1” and “ABC-1” are two different codes to the plugin, while WooCommerce treats them as the same one. An item whose SKU differs only in case therefore finds no match, and the attempt to create it is refused as a duplicate and reported among the failures. Keep the spelling identical on both sides.
  • A Tax That Is Not a Percentage Becomes Standard Rate – WooCommerce has no tax class meaning “no tax”, so an item whose tax in Elementary POS is zero, a fixed amount or a combination of rates is imported as taxable with the standard class. The mapping table names the type of each till tax, and a class such as “Zero rate” can be chosen for it by hand – worth checking after the first import.
  • A Full Synchronization Does Not Wait for the Queue – Both manual stock synchronizations write absolute quantities, and a change that has not reached Elementary POS yet is delivered afterwards and counted on top of what was just written. Before starting one, let the queue empty: the Dashboard shows how many items are waiting and “Process Queue Now” in Settings delivers them straight away.
  • Category Matching by Name – Categories imported from Elementary POS keep their parent/child structure, but existing WooCommerce categories are matched by name within the same parent. A category renamed in Elementary POS is therefore imported as a new category; the old one stays behind and has to be removed manually.
  • Categories Cannot Be Created in Elementary POS – When exporting products from WooCommerce, a product is placed in an Elementary POS category only if one with the same name already exists there. The Elementary POS API does not allow creating categories, so products whose category has no counterpart are created without one (this is recorded in the log). Categories of items that already exist in Elementary POS are always left untouched.
  • Products Restored from the Trash Lose Their Link – A product moved to the Trash keeps its SKU only until something else claims it. When “Move all products to Trash before import” is used, the import creates the products again with the same SKUs, so WooCommerce gives a restored product a new SKU with a suffix (e.g. 704 becomes 704-1). The restored product is therefore no longer matched to its Elementary POS item and is not synchronized; use it to recover descriptions or images, not as a working copy.
  • Item Names Must Be Unique in Elementary POS – Elementary POS refuses a second item with a name it already has, so two WooCommerce products sharing a name cannot both be exported. The second one is reported as failed, with the explanation from Elementary POS shown in the result.
  • WP-Cron Limitations – WP-Cron works based on time intervals (e.g., every hour or once a day), but it only runs when someone visits your site. That means if no one opens your website, the task may not run on time but is put to queue and is executed when first visitors load your web.

Support

For support, please visit https://elementarypos.com/en/contact/ or email support@elementarypos.com

External Services

This plugin relies on Elementary POS API, a third-party external service, to synchronize product and inventory data between your WooCommerce store and Elementary POS system.

What is Elementary POS API and what is it used for?

Elementary POS API is the cloud-based service provided by Elementary POS that manages your point-of-sale data. This plugin connects to the API to:
* Import products from Elementary POS to WooCommerce
* Synchronize stock levels bidirectionally
* Send WooCommerce order updates to Elementary POS
* Receive real-time stock change notifications via webhooks

What data is sent and when?

The plugin sends data to Elementary POS API in the following situations:

During Product Import (Elementary POS → WooCommerce):
* No data is sent – the plugin only reads product information (SKU, name, price, stock quantity)

During Product Export (WooCommerce → Elementary POS):
* Product name, SKU, price, tax, colour and category
* Whether the product is published
* This occurs when you run an import in the WooCommerce → Elementary POS direction

During Stock Synchronization (WooCommerce → Elementary POS):
* Product SKU codes
* Stock quantity changes
* Timestamp of changes
* This occurs when you run a manual WC→EP synchronization, and whenever WooCommerce changes the stock of a product

During Webhook Registration:
* Your WordPress site URL
* Webhook endpoint URL
* This occurs when you enable automatic synchronization in plugin settings

What the plugin receives from Elementary POS:
* Product information (SKU, name, price, stock)
* Stock change notifications (SKU, quantity delta)
* Webhook status information

API Endpoints Used

  • Production: https://api.elementarypos.com

The endpoint is fixed when the plugin is built. The version published here always uses the production endpoint above; it is not derived from your API key.

Service Terms and Privacy

  • Elementary POS Privacy Policy: https://elementarypos.com/en/privacy-policy/

Important: You must have an active Elementary POS account and API key to use this plugin. By using this plugin, you agree to Elementary POS terms of service and acknowledge that data will be transmitted to their API endpoints.

Privacy Policy

This plugin does not collect or store personal user data (names, emails, addresses).

The plugin stores operational data in your database:
* Synchronization logs (timestamps, operation types, product SKUs)
* Queue data for retry operations (product id, SKU, quantity and an identifier for the request – no order or customer data)

All data is stored locally in your WordPress database. No data is sent to third parties except your Elementary POS API endpoint for synchronization purposes. Logs can be cleared manually from the plugin settings.

Deleting the plugin takes all of it with it: the API key, every setting, the logs and anything still waiting in the queue, and it switches the webhook off in Elementary POS on the way out. Deactivating the plugin does not – switch it off and on again and it carries on where it left off. Reinstalling after a delete therefore starts from nothing, with the API key to enter again.

Categories
Inventory & stockMarketplaces & channels
Plugin details
Version0.9.50
Last updated2026-09-17 4:22pm GMT
Added2025-12-10
Requires WordPress5.8
Tested up to7.1.1
Requires PHP7.4

Tags on WordPress.org
inventory
pos
stock
sync
woocommerce
Alternatives
Other plugins in the same categories.
BrikPanel: WooCommerce Dashboard, Abandoned Cart Recovery, Google Sheets Sync, Inventory Management & Bulk Editor
1K+ installs
5.0(44)
MoreConvert Wishlist for WooCommerce
8K+ installs
4.9(120)
ATUM WooCommerce Inventory Management and Stock Tracking
10K+ installs
4.7(128)
Back In Stock Notifier for WooCommerce | WooCommerce Waitlist Pro
20K+ installs
4.7(122)
WeeConnectPay – Clover Payment Gateway for WooCommerce
500+ installs
5.0(10)
Waitlist Woocommerce ( Back in stock notifier )
4K+ installs
4.6(113)
xpay

The agent-readiness stack for the AI shopping era — helping merchants, publishers and SaaS companies get discovered, cited and transacted with by ChatGPT, Perplexity, Claude, Gemini and the custom shopping agents underneath them.

CompanyAgentically Inc. (d/b/a xpay✦)1875 Mission St, Ste 103San Francisco, CA 94103, United Stateslegal@xpay.sh · privacy@xpay.sh
or ask your AI app
Company
About xpayAgency PartnersGitHubDiscordllms.txt
DevelopersDocumentationAPI ReferenceSDKs & LibrariesQuickstart GuideOpenAPI Spec
Stay Updated
Occasional product updates and agent-readiness playbooks from xpay (Agentically Inc.) — typically a couple of emails a month. Double opt-in: we email you a link to confirm before sending anything, and every email has one-click unsubscribe.
Social
  • For Publishers
    • News
    • Finance
    • Dev / Tech
    • Travel
    • View all verticals
  • Agent-Ready Index
    • SaaS Pricing Database
    • Agent-Ready SaaS Index
    • Verified band
    • AI & ML
    • Sales & CRM
  • Products
    • Pricing Widget
    • Monetize MCP Server
    • Paywall
    • Smart Proxy
    • Monetize AI Agents
    • xpay x402 Facilitator
  • Agentic Economy
    • Timeline
    • Resources
    • Manifesto
    • Stack
  • Agentic Commerce
    • Get listed
    • ChatGPT Ads
    • How ChatGPT Ads work
    • ChatGPT Ads · Apparel
    • ChatGPT Ads · Health & Beauty
    • xpay Listings · Amazon + Google
    • Pricing
    • Free audit
    • Shopify
    • WooCommerce
    • Apparel & Accessories
    • Health & Beauty
    • Overview
  • Commerce Index
    • Shopify apps directory
    • Agentic Commerce Ready Index
    • Methodology
    • Pet brands · WooCommerce
    • Pet brands · Shopify
  • Marketplace
    • 🛍️ xpay.deals — agentic storefront for deals
  • Protocols
    • Overview
    • x402
    • MPP
    • UCP
    • ACP
    • AP2
    • TAP
    • A2A
  • Agent Frameworks
    • Overview
    • LangChain
    • CrewAI
    • Claude MCP
    • AutoGPT
    • LangChain vs Mastra
    • LangGraph vs Pydantic AI
  • Company
    • About xpay
    • Blog
    • Docs
    • GitHub
  • Free prompts
    • Ecommerce prompts
    • Email marketing prompts
    • Product description prompts
    • Facebook ad prompts
    • Skincare prompts
    • Supplement prompts
    • Wine prompts
    • Electronics prompts

© 2025 Agentically Inc. All rights reserved.
Privacy PolicyTerms of UseAcceptable Use Policy