1. Home
  2. Docs
  3. SalePointPOS
  4. Addons / Modules
  5. [ADDON] WooCommerce Module for SalepointPOS

[ADDON] WooCommerce Module for SalepointPOS

What is WooCommerce?

Table of Contents

  1. WooCommerce is an eCommerce or Web Shop plugins for WordPress
  2. It is the most customizable eCommerce platform for building your online business.
  3. The advantage of using WooCommerce is – You can get LOTS of plugins are available which can help you setup different functionality as per your need. Also, lots of payment gateways, shipping gateways are present to help you easily setup payments
  4. WooCommerce is now the most popular eCommerce platform on the web (stats from BuiltWith), so you can rest assured you’re in good company.

What is WooCommerce Module for SalepointPOS?

WooCommerce module for SalepointPOS is a Separate Optional Premium Module for the POS application.

WooCommerce module for SalepointPOS is a simple module which when installed in your SalepointPOS software will help you with synchronizing products, stocks & orders. With this module, you open an online shop from your POS software in minutes and stop worrying about adding Products in multiple software, updating stocks, Orders & much more.

Features in WooCommerce module:

  1. Synchronize products categories from POS to your online WooCommerce based webshop. (POS to WooCommerce)
  2. Synchronize products from POS to your online WooCommerce based webshop. (POS to WooCommerce)
  3. Update stock details from POS to WooCommerce (POS to WooCommerce)
  4. Synchronize Orders from WooCommece to POS (WooCommerce to POS)
  5. Assign different price for the webshop. (Using Selling Price Group feature)
  6. Map taxes
  7. Shows the details synchronization logs.
  8. Auto Synchronization based on Cron jobs.
  9. Customizable products field for synchronization during product creation & update.
  10. Synchronize product price Including Tax or Excluding tax.


Q. Will this module also sync bookings?

  • At the moment for the initial release, we have not added the sync for bookings.
  • WooCommerce doesn’t have inbuilt bookings option with it.
  • We will re-check if this is possible & if so, we will add this feature in future releases.

API Settings

For connecting SalepointPOS to WooCommerce, we need to provide the API details of the WooCommerce shop.

  1. Generating API key: Generate API keys from by following this instruction as given in WooCommerce documentation.
    • In the permissions select Read/Write access.
  2. Copy Consumer Key & Consumer Secret and paste them in Woocommerce Consumer Key & Woocommerce Consumer Secret.
  3. Woocommerce App URL: Enter the URL where WooCommerce shop is set up.
    For example
    IMPORTANT: Make sure to add HTTP or HTTPS before the woocommerce app url.
  4. Enable Auto Sync: If you want the data to be auto-synced then enable this option.
    NOTE: After enabling this option you have to add cron job & auto-sync will happen based on the frequency of the cron job. It is advisable to keep this frequency less.
    Cron job:
    * * * * * php /artisan schedule:run >> /dev/null 2>&1

Product Sync Settings

  1. Default Tax Class: WooCommerce assigns a tax class to each item. Here you have to provide the default tax class which is used inWooCommerce.
  2. Sync Product Price: This specifies if the product price which will be sent to WooCommerce will include tax or exclude tax.
  3. Default Selling Price Group: Sometime you may want to have a different price in WooCommerce then that is POS. For that, you can create a Selling price Group in POS & assign that price group for WooCommerce. 
  4. Product fields to be synced with woocommerce while creating products: Here you can select the fields which will get synced to WooCommerce from POS while creating a new product.
  5. Product fields to be synced with woocommerce while updating products: Here you can select the fields which will get synced to WooCommerce from POS while updating an already created product. This option can be very useful if you want the POS to overwrite some of the fields while updating products.

Using the Module:

After installation, you will find the WooCommerce menu at the bottom of the left navigation bar. Click on it & go to the Sync menu.

Here you will find the options to sync Categories, Products, Orders & Tax.

Sync Product Categories:

Click on this Sync button to synchronize the categories & Sub-Categories present in SalepointPOS to WooCommerce.

Map Tax Rates:

This option is used to map the taxes present in SalepointPOS to that of the taxes present in WooCommerce.

This is useful for adding related tax for a product during creation & updating.

NOTE: You must map the taxes before Synchronizing Products & Orders.

Sync Products:

  1. Make sure in the add/edit product(s) you have not checked the Disable Woocommerce Sync 
  2. If you have multiple locations in SalepointPOS, then the location which is assigned to work with WooCommerce from (API settings -> Business location) should have the products assigned to it.
  3. Sync will work with Single & variable products only.

Synchronizing products is a time-consuming task and take up to 30 minutes or above depending on the number of products. Do not refresh or leave the page while synchronization is under progress.

Simple & Variable products synchronization is supported.

It has 2 options:

Sync only new products:

Using this option only newly created products in POS are created in WooCommerce. This option can be less time consuming, again it depends on the number of products.

Sync All:

Using this option all newly created products are created in POS & existing products are updated. Since it does both the operation of creation & updating it will be more time consuming than the previous option.

Sync Orders:

This option is used to get all orders in WooCommerce website to SalepointPOS.

All newly created or updated orders after the last sync get added to SalepointPOS. A special tag is also added to the order to mark it as an order from WooCommerce.

NOTE: Orders going to draft:

Reason 1:
When order or sales from WooCommerce is synced with SalepointPOS, some orders may go to draft when the sufficient quantity is not available in SalepointPOS.
For example, an order from WooCommerce contains 10 Pieces of Pen, if only 7 pieces are available in SalepointPOS then instead of skipping the order, it goes to draft. With this, you can add a sufficient quantity of the products and make the order as final.

Reason 2:
SalepointPOS uses the below order mapping.

‘pending’ => ‘draft’,
‘processing’ => ‘final’,
‘on-hold’ => ‘draft’,
‘completed’ => ‘final’,
‘cancelled’ => ‘draft’,
‘refunded’ => ‘draft’,
‘failed’ => ‘draft’,
‘shipped’ => ‘final’

So, for example, if the order is pending in WooCommerce then it will be marked as a draft in SalepointPOS, similarly for other statuses.

NOTE: Automating Orders sync:

You can automate the order syncing by using the Order webhook described below.

Reset Synced Categories / Reset Synced Products:

When you click on sync Products it creates the product present in POS to WooCommerce. And with this, a link is established between the WooCommerce Products & POS Products.
Technically woocommerce products ID is stored in POS database to create a mapping between them.

After you have Synced the products if you click on “Reset Synced Products” then the link will be broken (technically the woocommerce product id stored in POS is deleted and set to null)
This reset is useful when you’re changing the WooCommerce Website.

After Reset if you click on Sync Products again then it will check for same products SKU present in WooCommerce, if not present then it will create the product and store the product id in POS.

Note: deleting of products in WooCommerce is not required if the SKU for products in WooCommerce & POS is the same.

Same applies to Categories also.

Using Order Webhook:

What is webhook:

Webhook helps you to get live orders from WooCommerce to SalepointPOS. Meaning whenever there is a new order in WooCommerce website it gets send instantly to SalepointPOS. This is a nice feature present in this module.

Setting up Webhook:

  1. Go to WooCommerce -> API settings -> WebHook settings, there you will find Order Created, Order Updated, Order Deleted, Order restored webhook settings containing Webhook Secret & Webhook Delivery URL
  2. Copy the Webhook Delivery URL for Order Created and create a new Webhook in WooCommerce. For creating Webhook in WooCommerce refer to this document:
    1. Name: Give any name which you can recognize.
    2. Status: Active
    3. Topic: Order Created
    4. Delivery URL: Paste the order created delivery URL from SalepointPOS.
    5. Secret: keep it blank.
    6. API version: WP REST API version 2
  3. Click on “Save Webhook” in WooCommerce.
  4. Copy the Generated “Secret” from WooCommerce and paste it to Webhook Secret of SalepointPOS Order Created.
  5. Repeat the above process for all other (Order Updated, Order Deleted, Order restored)

After configuring when a new order comes it will also be updated in SalepointPOS.

Error: Woocommerce webhook signature mismatch

If it shows this error in error log then make sure you have provided the correct webhook secret in SalepointPOS as described in above step 2.

Error & Solutions:

Error 0:

If the WooCommerce website is running in HTTPS, make sure the APP URL in SalepointPOS-WooCommerce module App Settings has HTTPS.

If WooCommerce is in HTTP, make the APP URL as HTTP.

Error 1:

Sometime during synchronizing you may get the following message/error

“live.EMERGENCY: File:………\vendor\automattic\woocommerce\src\WooCommerce\HttpClient\HttpClient.phpLine:375Message:Syntax error”


In your WooCommerce “API Settings” change the “Woocommerce App URL” by adding “index.php” to it.

Example: Change the URL from to

Error 2:

Sometimes in WooCommerce API bulk operations (add/edit/delete) are restricted. So it will give a error like
“Sorry, you are not allowed to batch manipulate this resource. [woocommerce_rest_cannot_batch]”

To resolve this error, follow this steps:

  1. Install & activate Code Snippet plugin in wordpress.
  2. Go to Snippet -> Add New and add a new snippet
  3. The snippet will have below written codes:add_filter( ‘woocommerce_rest_check_permissions’, ‘allow_bulk_operation’, 10, 4 ); function allow_bulk_operation( $permission, $context, $object_id, $type ) { return true; }
  4. Save & Activate it.

Now it will allow the bulk operation from API.

If you want to understand it better, check this link:

Error 3: Image not syncing

Sometimes products don’t sync because of the problem in the images file name and image format.


WooCommerce have some restrictions which can be fixed by following this:

  1. Try replacing all product images to jpeg or png format.
  2. Shorten the file name length as well for the images.

How can we help?