{"id":136655,"date":"2021-02-18T14:19:06","date_gmt":"2021-02-18T14:19:06","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/zettle-pos-integration\/"},"modified":"2026-02-19T08:35:54","modified_gmt":"2026-02-19T08:35:54","slug":"zettle-pos-integration","status":"publish","type":"plugin","link":"https:\/\/ast.wordpress.org\/plugins\/zettle-pos-integration\/","author":18554452,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.6.1","stable_tag":"1.6.1","tested":"6.9.4","requires":"6.4","requires_php":"7.4","requires_plugins":null,"header_name":"PayPal Zettle POS","header_author":"PayPal","header_description":"Zettle Point-Of-Sale Integration for WooCommerce","assets_banners_color":"2f3c5d","last_updated":"2026-02-19 08:35:54","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/zettle.inpsyde.com\/","header_author_uri":"https:\/\/www.paypal.com\/us\/business\/pos","rating":3.5,"author_block_rating":0,"active_installs":4000,"downloads":79230,"num_ratings":20,"support_threads":1,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"danielhuesken","date":"2021-02-18 15:22:49"},"1.1.0":{"tag":"1.1.0","author":"alexp11223","date":"2021-03-22 13:56:44"},"1.2.0":{"tag":"1.2.0","author":"alexp11223","date":"2021-04-20 10:01:14"},"1.3.0":{"tag":"1.3.0","author":"alexp11223","date":"2021-04-28 09:19:43"},"1.3.1":{"tag":"1.3.1","author":"alexp11223","date":"2021-05-10 09:45:46"},"1.4.0":{"tag":"1.4.0","author":"alexp11223","date":"2021-05-17 10:19:08"},"1.4.1":{"tag":"1.4.1","author":"alexp11223","date":"2021-07-02 09:01:25"},"1.4.2":{"tag":"1.4.2","author":"alexp11223","date":"2021-08-03 15:24:59"},"1.5.0":{"tag":"1.5.0","author":"alexp11223","date":"2021-09-27 13:41:23"},"1.5.1":{"tag":"1.5.1","author":"alexp11223","date":"2021-11-17 13:57:02"},"1.5.2":{"tag":"1.5.2","author":"alexp11223","date":"2021-11-23 10:23:47"},"1.5.3":{"tag":"1.5.3","author":"alexp11223","date":"2022-06-21 13:01:25"},"1.5.4":{"tag":"1.5.4","author":"alexp11223","date":"2022-12-20 08:50:57"},"1.5.5":{"tag":"1.5.5","author":"alexp11223","date":"2023-03-15 13:34:18"},"1.5.6":{"tag":"1.5.6","author":"alexp11223","date":"2023-05-04 06:11:16"},"1.5.7":{"tag":"1.5.7","author":"alexp11223","date":"2023-12-27 14:27:34"},"1.5.8":{"tag":"1.5.8","author":"alexp11223","date":"2024-06-10 13:07:38"},"1.5.9":{"tag":"1.5.9","author":"alexp11223","date":"2024-07-23 07:02:54"},"1.6.0":{"tag":"1.6.0","author":"alexp11223","date":"2025-02-24 08:21:55"},"1.6.1":{"tag":"1.6.1","author":"alexp11223","date":"2026-02-19 08:35:54"}},"upgrade_notice":[],"ratings":{"1":5,"2":1,"3":2,"4":4,"5":8},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":2694076,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":2694076,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":{"banner-1544x500.jpg":{"filename":"banner-1544x500.jpg","revision":2605648,"resolution":"1544x500","location":"assets","locale":""},"banner-772x250.jpg":{"filename":"banner-772x250.jpg","revision":2605648,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0","1.1.0","1.2.0","1.3.0","1.3.1","1.4.0","1.4.1","1.4.2","1.5.0","1.5.1","1.5.2","1.5.3","1.5.4","1.5.5","1.5.6","1.5.7","1.5.8","1.5.9","1.6.0","1.6.1"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":2605648,"resolution":"1","location":"assets","locale":""},"screenshot-2.png":{"filename":"screenshot-2.png","revision":2605648,"resolution":"2","location":"assets","locale":""},"screenshot-3.png":{"filename":"screenshot-3.png","revision":2605648,"resolution":"3","location":"assets","locale":""},"screenshot-4.png":{"filename":"screenshot-4.png","revision":2605648,"resolution":"4","location":"assets","locale":""},"screenshot-5.png":{"filename":"screenshot-5.png","revision":2605648,"resolution":"5","location":"assets","locale":""},"screenshot-6.png":{"filename":"screenshot-6.png","revision":2605648,"resolution":"6","location":"assets","locale":""},"screenshot-7.png":{"filename":"screenshot-7.png","revision":2605648,"resolution":"7","location":"assets","locale":""},"screenshot-8.png":{"filename":"screenshot-8.png","revision":2605648,"resolution":"8","location":"assets","locale":""}},"screenshots":{"1":"PayPal Zettle POS","2":"PayPal Zettle POS installation STEP 1","3":"PayPal Zettle POS installation STEP 2","4":"PayPal Zettle POS installation STEP 3","5":"PayPal Zettle POS installation STEP 4","6":"Product sync almost finished","7":"WooCommerce is connected to PayPal Zettle","8":"Exclude product from sync"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[1887,26270,286,196399],"plugin_category":[45],"plugin_contributors":[196402,84365,196401,77676,228670,196400],"plugin_business_model":[],"class_list":["post-136655","plugin","type-plugin","status-publish","hentry","plugin_tags-payments","plugin_tags-point-of-sale","plugin_tags-woocommerce","plugin_tags-zettle","plugin_category-ecommerce","plugin_contributors-alexp11223","plugin_contributors-biont","plugin_contributors-bschaeffner","plugin_contributors-danielhuesken","plugin_contributors-syde","plugin_contributors-zettle","plugin_committers-alexp11223","plugin_committers-biont","plugin_committers-danielhuesken","plugin_committers-dinamiko","plugin_committers-inpsyde","plugin_committers-xedinunknown","plugin_committers-zettle","plugin_support_reps-femiyb","plugin_support_reps-inpsydekrystian","plugin_support_reps-joostvandevijver","plugin_support_reps-niklasinpsyde"],"banners":{"banner":"https:\/\/ps.w.org\/zettle-pos-integration\/assets\/banner-772x250.jpg?rev=2605648","banner_2x":"https:\/\/ps.w.org\/zettle-pos-integration\/assets\/banner-1544x500.jpg?rev=2605648","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/zettle-pos-integration\/assets\/icon-128x128.png?rev=2694076","icon_2x":"https:\/\/ps.w.org\/zettle-pos-integration\/assets\/icon-256x256.png?rev=2694076","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/zettle-pos-integration\/assets\/screenshot-1.png?rev=2605648","caption":"PayPal Zettle POS"},{"src":"https:\/\/ps.w.org\/zettle-pos-integration\/assets\/screenshot-2.png?rev=2605648","caption":"PayPal Zettle POS installation STEP 1"},{"src":"https:\/\/ps.w.org\/zettle-pos-integration\/assets\/screenshot-3.png?rev=2605648","caption":"PayPal Zettle POS installation STEP 2"},{"src":"https:\/\/ps.w.org\/zettle-pos-integration\/assets\/screenshot-4.png?rev=2605648","caption":"PayPal Zettle POS installation STEP 3"},{"src":"https:\/\/ps.w.org\/zettle-pos-integration\/assets\/screenshot-5.png?rev=2605648","caption":"PayPal Zettle POS installation STEP 4"},{"src":"https:\/\/ps.w.org\/zettle-pos-integration\/assets\/screenshot-6.png?rev=2605648","caption":"Product sync almost finished"},{"src":"https:\/\/ps.w.org\/zettle-pos-integration\/assets\/screenshot-7.png?rev=2605648","caption":"WooCommerce is connected to PayPal Zettle"},{"src":"https:\/\/ps.w.org\/zettle-pos-integration\/assets\/screenshot-8.png?rev=2605648","caption":"Exclude product from sync"}],"raw_content":"<!--section=description-->\n<p>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.<\/p>\n\n<p>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.<\/p>\n\n<p>The PayPal Zettle POS for WooCommerce provides the following benefits:\n- Connect in minutes - Connect your accounts, sync your library to PayPal Zettle and start selling.\n- Export a collection or all of your products from WooCommerce to your PayPal Zettle product library.\n- Manage products in one place and automatically synchronise all changes you make from WooCommerce to PayPal Zettle.\n- Automatically synchronise stock amounts in real-time between WooCommerce and PayPal Zettle.\n- Explicitly select products to be excluded from synchronisation to PayPal Zettle.<\/p>\n\n<p>Zettle by PayPal is available in the following countries: <a href=\"https:\/\/www.paypal.com\/business\/pos?utm_source=local_partnership&amp;utm_medium=ecommerce&amp;utm_campaign=woocommerce\">US<\/a>, <a href=\"https:\/\/www.zettle.com\/gb\/integrations\/e-commerce\/woocommerce?utm_source=local_partnership&amp;utm_medium=ecommerce&amp;utm_campaign=woocommerce\">GB<\/a>, <a href=\"https:\/\/www.zettle.com\/fr\/integrations\/e-commerce\/woocommerce?utm_source=local_partnership&amp;utm_medium=ecommerce&amp;utm_campaign=woocommerce\">FR<\/a>, <a href=\"https:\/\/www.zettle.com\/se\/integrationer\/e-handel\/woocommerce?utm_source=local_partnership&amp;utm_medium=ecommerce&amp;utm_campaign=woocommerce\">SE<\/a>, <a href=\"https:\/\/www.zettle.com\/no\/integrasjoner\/e-handel\/woocommerce?utm_source=local_partnership&amp;utm_medium=ecommerce&amp;utm_campaign=woocommerce\">NO<\/a>, <a href=\"https:\/\/www.zettle.com\/fi\/integraatiot\/verkkokauppa\/woocommerce?utm_source=local_partnership&amp;utm_medium=ecommerce&amp;utm_campaign=woocommerce\">FI<\/a>, <a href=\"https:\/\/www.zettle.com\/dk\/integrationer\/e-commerce\/woocommerce?utm_source=local_partnership&amp;utm_medium=ecommerce&amp;utm_campaign=woocommerce\">DK<\/a>, <a href=\"https:\/\/www.zettle.com\/nl\/koppelingen\/webshop\/woocommerce?utm_source=local_partnership&amp;utm_medium=ecommerce&amp;utm_campaign=woocommerce\">NL<\/a>, <a href=\"https:\/\/www.zettle.com\/de\/integrationen\/e-commerce\/woocommerce?utm_source=local_partnership&amp;utm_medium=ecommerce&amp;utm_campaign=woocommerce\">DE<\/a>, <a href=\"https:\/\/www.zettle.com\/es\/integraciones\/woocommerce?utm_source=local_partnership&amp;utm_medium=ecommerce&amp;utm_campaign=woocommerce\">ES<\/a>, <a href=\"https:\/\/www.zettle.com\/it\/integrazioni\/woocommerce?utm_source=local_partnership&amp;utm_medium=ecommerce&amp;utm_campaign=woocommerce\">IT<\/a>, <a href=\"https:\/\/www.zettle.com\/br\/integracoes\/woocommerce?utm_source=local_partnership&amp;utm_medium=ecommerce&amp;utm_campaign=woocommerce\">BR<\/a>, <a href=\"https:\/\/www.zettle.com\/mx\/integraciones\/woocommerce?utm_source=local_partnership&amp;utm_medium=ecommerce&amp;utm_campaign=woocommerce\">MX<\/a><\/p>\n\n<!--section=installation-->\n<p>To install and use the PayPal Zettle POS for WooCommerce you will need:<\/p>\n\n<ul>\n<li>An installed version of WordPress &gt;= 5.4<\/li>\n<li>An installed and activated version of WooCommerce &gt;= 4.3<\/li>\n<li>PHP version &gt;= 7.4<\/li>\n<\/ul>\n\n<h4>Automatic Installation<\/h4>\n\n<p>This is the easiest way to install the Zettle POS Integration for WooCommerce.\n1. Log into your WordPress installation.\n2. Go to the menu item <em>Plugins<\/em> and then to <em>Add new<\/em>.\n3. Search for <em>Zettle POS Integration<\/em>. In case several plugins are listed, check if <em>Zettle<\/em> is the plugin author.\n4. Click <em>Install Now<\/em> and wait until WordPress reports the successful installation.\n5. Activate the plugin. You can find the settings here: <em>WooCommerce =&gt; Settings =&gt; Zettle POS Integration<\/em>.<\/p>\n\n<h4>Manual Installation<\/h4>\n\n<p>In case the automatic installation doesn't work, download the plugin from here via the <em>Download<\/em>-button.\nUnpack the archive and load the folder via FTP into the directory <code>wp-content\\plugins<\/code> of your WordPress installation.\nGo to <em>Plugins =&gt; Installed plugins<\/em> and click <em>Activate<\/em> on <em>Zettle POS Integration for WooCommerce<\/em>.<\/p>\n\n<!--section=faq-->\n<p><a href=\"https:\/\/woocommerce.com\/document\/paypal-zettle-pos-for-woocommerce\/\">You can find a detailed FAQ in the Zettle POS Integration for WooCommerce documentation<\/a><\/p>\n\n<!--section=changelog-->\n<h4>1.6.1<\/h4>\n\n<ul>\n<li>Support latest WordPress 6.8 &amp; WooCommerce 9.8.<\/li>\n<\/ul>\n\n<h4>1.6.0<\/h4>\n\n<ul>\n<li>Prevent error when WooCommerce Product meta contains corrupted data.<\/li>\n<li>WP 6.7 deprecation warnings for translation loading.<\/li>\n<li>Early Initialization of wptexturize().<\/li>\n<li>Minimum required PHP version raised to PHP 7.4.<\/li>\n<li>Support latest WordPress 6.7 &amp; WooCommerce 9.4.<\/li>\n<\/ul>\n\n<h4>1.5.9<\/h4>\n\n<ul>\n<li>Support latest WP, WC.<\/li>\n<\/ul>\n\n<h4>1.5.8<\/h4>\n\n<ul>\n<li>Added \"Requires Plugins\" header for WooCommerce.<\/li>\n<li>Fixed missing price when publishing a new product.<\/li>\n<li>Fixed accessing non-existing database tables on the first activation.<\/li>\n<li>Fixed PHP 8.2 deprecations.<\/li>\n<li>Executing shutdown hooks early to improve compatibility.<\/li>\n<\/ul>\n\n<h4>1.5.7<\/h4>\n\n<ul>\n<li>Fixed a link in the onboarding.<\/li>\n<li>Fixed handling of column name variable type in <code>manage_posts_custom_column<\/code> filter.<\/li>\n<li>Fixed some random stock sync failures (clearing cache).<\/li>\n<\/ul>\n\n<h4>1.5.6<\/h4>\n\n<ul>\n<li>Migrate to inventory v3 API.<\/li>\n<li>Fixed database migration query error (in Query Monitor logs etc.).<\/li>\n<\/ul>\n\n<h4>1.5.5<\/h4>\n\n<ul>\n<li>WC High-Performance Order Storage compatibility declaration.<\/li>\n<li>PHP 8.1 compatibility.<\/li>\n<li>Allow merchant with WC Shop Manager role to manage the plugin.<\/li>\n<\/ul>\n\n<h4>1.5.4<\/h4>\n\n<ul>\n<li>Use WP HTTP client by default (added zettle-pos-integration.http.client filter for switching back to the php-http cUrl wrapper).<\/li>\n<li>Load product statuses in batches, not one per request.<\/li>\n<li>Do not subscribe to unneeded webhooks.<\/li>\n<li>Register webhooks at the end of onboarding.<\/li>\n<\/ul>\n\n<h4>1.5.3<\/h4>\n\n<ul>\n<li>Do not send the price unit to avoid its removal.<\/li>\n<li>Do not rely on variant order in the balance change webhook handler.<\/li>\n<\/ul>\n\n<h4>1.5.2<\/h4>\n\n<ul>\n<li>Fix the package compatibility with PHP 7.2.<\/li>\n<\/ul>\n\n<h4>1.5.1<\/h4>\n\n<ul>\n<li>Optimize auth checks to reduce amount of requests to Zettle.<\/li>\n<li>Fixed API key change detection when saving settings, so that it takes effect immediately.<\/li>\n<li>Fixed fatal error on the settings page when auth fails.<\/li>\n<li>Delete some missing options during resetting\/uninstallation (webhooks, integration id, ...).<\/li>\n<\/ul>\n\n<h4>1.5.0<\/h4>\n\n<ul>\n<li>Add plugin status data on the WC Status page.<\/li>\n<li>Show unhandled errors in CLI mode.<\/li>\n<li>Add more info to the status on the settings\/onboarding page.<\/li>\n<li>Show admin notice if unsupported PHP version.<\/li>\n<li>Check required PHP extensions, show notice if not present.<\/li>\n<li>Disable price sync if currency changed.<\/li>\n<li>Show a message during onboarding and do not allow price sync if tax rates are not added in WC.<\/li>\n<li>Support for <code>dhii\/module-interface<\/code> 0.3.x.<\/li>\n<li>Use WP-based image validator.<\/li>\n<li>Use file extension to determine image type, do not use exif.<\/li>\n<li>Handle disconnection via JS dialog.<\/li>\n<li>Format dates using WP settings.<\/li>\n<li>Do not send variant description.<\/li>\n<li>Do not expose the API key in the page source code and input fields.<\/li>\n<li>Show the error about missing tax rate in the status column to improve logs and make it more clear.<\/li>\n<li>Fix barcode scanning when changing product type and when creating a new product.<\/li>\n<li>Do not duplicate validation in SDK and sync modules, update\/fix validation rules.<\/li>\n<li>Validate stock quantity to not attempt sync if &gt; 99999.<\/li>\n<li>Check if can auth before performing actions requiring auth on plugin load and plugin deactivation.<\/li>\n<li>Improve error message in log when image URL is empty.<\/li>\n<li>Handle scheduled publishing of products (was not triggering sync).<\/li>\n<\/ul>\n\n<h4>1.4.2<\/h4>\n\n<ul>\n<li>Send <code>taxExempt<\/code> only for sales tax.<\/li>\n<\/ul>\n\n<h4>1.4.1<\/h4>\n\n<ul>\n<li>Add US signup link.<\/li>\n<\/ul>\n\n<h4>1.4.0<\/h4>\n\n<ul>\n<li>Sync barcodes.<\/li>\n<li>Add barcode input field with ability to scan via camera. Can be overriden via <code>zettle-pos-integration.barcode.value<\/code>, <code>zettle-pos-integration.barcode.standard-input-ui-enabled<\/code> filters.<\/li>\n<li>Send <code>taxExempt<\/code> and <code>createWithDefaultTax<\/code> for new products on sales tax accounts.<\/li>\n<li>Show warning during onboarding if no default taxes for sales tax.<\/li>\n<li>Use <code>taxationType<\/code> instead of now redundant <code>usesVat<\/code>.<\/li>\n<li>Set expiration time for account settings transient.<\/li>\n<li>Use <code>createWithDefaultTax<\/code> for VAT when no price sync, to simplify VAT handling and fix error when adding a new variation to a variable product.<\/li>\n<\/ul>\n\n<h4>1.3.1<\/h4>\n\n<ul>\n<li>Clear cache (transients) after plugin upgrade.<\/li>\n<\/ul>\n\n<h4>1.3.0<\/h4>\n\n<ul>\n<li>Syncing prices with or without taxes depending on Zettle taxationMode.<\/li>\n<li>Use \"tax\" instead of \"VAT\" in text, to fit all countries.<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>Fix heartbeat filter (Elementor plugin compatibility).<\/li>\n<li>Support Zettle accounts without VAT.<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Delete\/register WebHooks on plugin deactivation\/activation.<\/li>\n<li>Execute queue on shutdown only if on admin pages to improve performance.<\/li>\n<li>Use Inpsyde client_id when requesting the API token (for tracking purposes).<\/li>\n<li>Fix API key validation request during onboarding.<\/li>\n<li>Skip stock sync if no changes to avoid errors after merging products during onboarding.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>First release.<\/li>\n<\/ul>","raw_excerpt":"Zettle Point-Of-Sale Integration for WooCommerce","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/ast.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/136655","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ast.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/ast.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/ast.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=136655"}],"author":[{"embeddable":true,"href":"https:\/\/ast.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/zettle"}],"wp:attachment":[{"href":"https:\/\/ast.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=136655"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/ast.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=136655"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/ast.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=136655"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/ast.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=136655"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/ast.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=136655"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/ast.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=136655"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}