PayPal Zettle POS for WooCommerce


PayPal Zettle POS (formerly iZettle) is a one-stop shop for cutting-edge commerce tools – offering everything you need to take quick payments, ease day-to-day management, and get the funding to grow.

The PayPal Zettle point-of-sale system allows you to take cash, card, contactless payments and more. Connect WooCommerce with PayPal Zettle POS to keep products and inventory in sync – all in one place. Keep your products up-to-date by managing them solely in WooCommerce, so you can focus on selling. Make a sale on either platform and your inventory will update instantly.

The PayPal Zettle POS for WooCommerce provides the following benefits:
– Connect in minutes – Connect your accounts, sync your library to PayPal Zettle and start selling.
– Export a collection or all of your products from WooCommerce to your PayPal Zettle product library.
– Manage products in one place and automatically synchronise all changes you make from WooCommerce to PayPal Zettle.
– Automatically synchronise stock amounts in real-time between WooCommerce and PayPal Zettle.
– Explicitly select products to be excluded from synchronisation to PayPal Zettle.

Zettle by PayPal is available in the following countries: US, GB, FR, SE, NO, FI, DK, NL, DE, ES, IT, BR, MX


  • PayPal Zettle POS
  • PayPal Zettle POS installation STEP 1
  • PayPal Zettle POS installation STEP 2
  • PayPal Zettle POS installation STEP 3
  • PayPal Zettle POS installation STEP 4
  • Product sync almost finished
  • WooCommerce is connected to PayPal Zettle
  • Exclude product from sync


To install and use the PayPal Zettle POS for WooCommerce you will need:

  • An installed version of WordPress >= 5.4
  • An installed and activated version of WooCommerce >= 4.3
  • PHP version >= 7.2

Automatic Installation

This is the easiest way to install the Zettle POS Integration for WooCommerce.
1. Log into your WordPress installation.
2. Go to the menu item Plugins and then to Add new.
3. Search for Zettle POS Integration. In case several plugins are listed, check if Zettle is the plugin author.
4. Click Install Now and wait until WordPress reports the successful installation.
5. Activate the plugin. You can find the settings here: WooCommerce => Settings => Zettle POS Integration.

Manual Installation

In case the automatic installation doesn’t work, download the plugin from here via the Download-button.
Unpack the archive and load the folder via FTP into the directory wp-content\plugins of your WordPress installation.
Go to Plugins => Installed plugins and click Activate on Zettle POS Integration for WooCommerce.


9 de marzo de 2024 1 respuesta
Not only does it have bugs and syncing problems, but also it needs a lot more functions. For example, how come purchase price is not synced yet? Usually it works fine, with basic features, but please make it better.
6 de agosto de 2023 1 respuesta
I have been using Zettle in store since November 2022. I thought having this plug-in to connect my in-store purchases to my website inventory would be perfect. I have had nothing but issues out of this plug-in and Zettle combined. Items sold in store are not reduced in inventory on WooCommerce. Barcodes and sku for products are constantly forgotten. I have been told it is the firewall for my hosting site, I disabled it, tested it and still no fix, had dreamhost test it with no change, so re-enabled it. Then it must be a plug-in, so I disabled each plug-in, tested, had no change, so re-enabled them. Then it must be a hardware issue, so they sent us new Zettles. Wasn’t that either. I have uninstalled, reinstalled, disconnected, reconnected, redid API keys, re-synced, made test sites for the support team, allowed access to my site for the to the support team, and they still have not come up with a solution. After nine months of inventory, miss-management, I would not recommend this to anyone.
25 de enero de 2023 4 respuestas
Haben die Zettle Kasse gekauft, Plugin synct nicht. Zettle verweist an Pluginhersteller aber der kann da wohl nix machen. Die Kasse zurückgegeben und nun der Hammer: Das iPad nehmen sie nicht zurück und der Supporter ist rotzfrech geworden. Geht zum Anwalt. Finger weg sag ich nur. 1250 Eur für das Zeug ist zu teuer, Kosten ab Juli 2023 auch noch PRO BUCHUNG. Paypal ist nicht mehr das was es mal war, haben ja auch Kartellverfahren zu Recht an den Hacken.
15 de noviembre de 2022 1 respuesta
I bought this plug-in to sync my online store and physical shop and it is a game changer for me. After initial problems syncing prices, the support to get this working was excellent. The support team are very supportive (and patient with my lack of tech knowledge) and very knowledgeable. Also got some great tips along the way. Would recommend this plugin and thank you to the team for your support.
11 de julio de 2022 1 respuesta
I tried this plugin once. but since just the stock is synced but no orders are created it is not very helpful and bad for accountancy. I use the Bjorntech plugin a long time now and am very happy with that.
Leer todas las 18 reseñas

Colaboradores y desarrolladores

«PayPal Zettle POS for WooCommerce» es un software de código abierto. Las siguientes personas han colaborado con este plugin.


Registro de cambios


  • Added «Requires Plugins» header for WooCommerce.
  • Fixed missing price when publishing a new product.
  • Fixed accessing non-existing database tables on the first activation.
  • Fixed PHP 8.2 deprecations.
  • Executing shutdown hooks early to improve compatibility.


  • Fixed a link in the onboarding.
  • Fixed handling of column name variable type in manage_posts_custom_column filter.
  • Fixed some random stock sync failures (clearing cache).


  • Migrate to inventory v3 API.
  • Fixed database migration query error (in Query Monitor logs etc.).


  • WC High-Performance Order Storage compatibility declaration.
  • PHP 8.1 compatibility.
  • Allow merchant with WC Shop Manager role to manage the plugin.


  • Use WP HTTP client by default (added zettle-pos-integration.http.client filter for switching back to the php-http cUrl wrapper).
  • Load product statuses in batches, not one per request.
  • Do not subscribe to unneeded webhooks.
  • Register webhooks at the end of onboarding.


  • Do not send the price unit to avoid its removal.
  • Do not rely on variant order in the balance change webhook handler.


  • Fix the package compatibility with PHP 7.2.


  • Optimize auth checks to reduce amount of requests to Zettle.
  • Fixed API key change detection when saving settings, so that it takes effect immediately.
  • Fixed fatal error on the settings page when auth fails.
  • Delete some missing options during resetting/uninstallation (webhooks, integration id, …).


  • Add plugin status data on the WC Status page.
  • Show unhandled errors in CLI mode.
  • Add more info to the status on the settings/onboarding page.
  • Show admin notice if unsupported PHP version.
  • Check required PHP extensions, show notice if not present.
  • Disable price sync if currency changed.
  • Show a message during onboarding and do not allow price sync if tax rates are not added in WC.
  • Support for dhii/module-interface 0.3.x.
  • Use WP-based image validator.
  • Use file extension to determine image type, do not use exif.
  • Handle disconnection via JS dialog.
  • Format dates using WP settings.
  • Do not send variant description.
  • Do not expose the API key in the page source code and input fields.
  • Show the error about missing tax rate in the status column to improve logs and make it more clear.
  • Fix barcode scanning when changing product type and when creating a new product.
  • Do not duplicate validation in SDK and sync modules, update/fix validation rules.
  • Validate stock quantity to not attempt sync if > 99999.
  • Check if can auth before performing actions requiring auth on plugin load and plugin deactivation.
  • Improve error message in log when image URL is empty.
  • Handle scheduled publishing of products (was not triggering sync).


  • Send taxExempt only for sales tax.


  • Add US signup link.


  • Sync barcodes.
  • Add barcode input field with ability to scan via camera. Can be overriden via zettle-pos-integration.barcode.value, zettle-pos-integration.barcode.standard-input-ui-enabled filters.
  • Send taxExempt and createWithDefaultTax for new products on sales tax accounts.
  • Show warning during onboarding if no default taxes for sales tax.
  • Use taxationType instead of now redundant usesVat.
  • Set expiration time for account settings transient.
  • Use createWithDefaultTax for VAT when no price sync, to simplify VAT handling and fix error when adding a new variation to a variable product.


  • Clear cache (transients) after plugin upgrade.


  • Syncing prices with or without taxes depending on Zettle taxationMode.
  • Use «tax» instead of «VAT» in text, to fit all countries.


  • Fix heartbeat filter (Elementor plugin compatibility).
  • Support Zettle accounts without VAT.


  • Delete/register WebHooks on plugin deactivation/activation.
  • Execute queue on shutdown only if on admin pages to improve performance.
  • Use Inpsyde client_id when requesting the API token (for tracking purposes).
  • Fix API key validation request during onboarding.
  • Skip stock sync if no changes to avoid errors after merging products during onboarding.


  • First release.