(Not available for UltimatePOS-LITE)
NOTE: This module works with UltimatePOS V2.11 or higher.
What is WooCommerce?
- WooCommerce is an eCommerce or Web Shop plugins for WordPress
- It is the most customizable eCommerce platform for building your online business.
- 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
- 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 UltimatePOS?
WooCommerce module for UltimatePOS is a Separate Optional Premium Module for the POS application.
WooCommerce module for UltimatePOS is a simple module which when installed in your UltimatePOS 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:
- Synchronize products categories from POS to your online WooCommerce based webshop. (POS to WooCommerce)
- Synchronize products from POS to your online WooCommerce based webshop. (POS to WooCommerce)
- Update stock details from POS to WooCommerce (POS to WooCommerce)
- Synchronize Orders from WooCommece to POS (WooCommerce to POS)
- Assign different price for the webshop. (Using Selling Price Group feature)
- Map taxes
- Shows the details synchronization logs.
- Auto Synchronization based on Cron jobs.
- Customizable products field for synchronization during product creation & update.
- Synchronize product price Including Tax or Excluding tax.
Q. When I install the WooCommerce addon, is it for my use only or is it available to my subscribers also?
- When you install WooCommerce module compatible with Superadmin you will get WooCommerce Option to create/edit packages in Superadmin.
- If a subscriber chooses a package with the WooCommerce feature enabled in it then they will see a WooCommerce option in the left sidebar. In WooCommerce menu they can add there WooCommerce store details and use it.
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.
Installing the WooCommerce Module:
Installing the WooCommerce module to UltimatePOS is easy as cake. Make sure you meet the below requirements:
- Since this is not a standalone application you will need UltimatePOS (Download from here)
- UltimatePOS – Advance Version 2.11 or higher installed. For UltimatePOS installation step refer to this documentation.
- Unzip the file downloaded from codecanyon.net. Inside that, you will find “WooCommerce” directory.
- Go to UltimatePOS installed directory. There you will find a folder named “Modules” (on the same level as app or bootstrap directory). If this folder is not present then create “Modules” folder (Make sure the folder name is exactly “Modules” with “M” in capital case). It should be inside the POS codebase, in the same level as “public” folder. (NOT insider public folder)
- Upload or Cut-Paste the “WooCommerce” directory inside this “Modules” directory.
- Open .env file. Inside that, you will find “ADMINISTRATOR_USERNAMES” configuration. Add the superadmin/administrator username in this option.
Example if “user1” is superadmin then:
- Login with superadmin (username which is added in step 4). After Login, you will able to see the WooCommerce menu present in the sidebar. If not present them make sure the above steps are followed properly.
- If you pos is installed in www.example.com then go to www.example.com/woocommmerce/install
- It will process for a few minutes and installation success message will be displayed.
Great, installation is done now.
For connecting UltimatePOS to WooCommerce, we need to provide the API details of the WooCommerce shop.
- Generating API key: Generate API keys from by following this instruction as given in WooCommerce documentation.
- In the permissions select Read/Write access.
- Copy Consumer Key & Consumer Secret and paste them in Woocommerce Consumer Key & Woocommerce Consumer Secret.
- Woocommerce App URL: Enter the URL where WooCommerce shop is set up. For example http://www.yourstore.com
- 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.
* * * * * php /artisan schedule:run >> /dev/null 2>&1
Product Sync Settings
- Default Tax Class: WooCommerce assigns a tax class to each item. Here you have to provide the default tax class which is used inWooCommerce.
- Sync Product Price: This specifies if the product price which will be sent to WooCommerce will include tax or exclude tax.
- 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. Price Group Document.
- 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.
- 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 UtimatePOS to WooCommerce.
Map Tax Rates:
This option is used to map the taxes present in UltimatePOS 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.
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.
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.
This option is used to get all orders in WooCommerce website to UltimatePOS.
All newly created or updated orders after the last sync get added to UltimatePOS. A special tag is also added to the order to mark it as an order from WooCommerce.
NOTE: you can automate this process of syncing orders by enabling “” option in settings. And adding the cron job for this, the update frequency is same as that of cron job frequency. Cron job command is mentioned in API Setting above.
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 UltimatePOS. Meaning whenever there is a new order in WooCommerce website it gets send instantly to UltimatePOS. This is a nice feature present in this module.
Setting up Webhook:
- 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
- Copy the Webhook Delivery URL for Order Created and create a new Webhook in WooCommerce. For creating Webhook in WooCommerce refer to this document: https://docs.woocommerce.com/document/webhooks/#section-3
- Name: Give any name which you can recognize.
- Status: Active
- Topic: Order Created
- Delivery URL: Paste the order created delivery URL from UltimatePOS.
- Secret: keep it blank.
- API version: WP REST API version 2
- Click on “Save Webhook” in WooCommerce.
- Copy the Generated “Secret” from WooCommerce and paste it to Webhook Secret of UltimatePOS Order Created.
- 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 UltimatePOS.
Updating the WooCommerce Module:
- Download the new version available from codecanyon.
- Extract/Unzip the Zip file.
- Inside the “UltimatePOS-to-WooCommerce-(SaaS-compatible)-V” folder you will find a “WooCommerce” folder.
- Open your cPanel or DirectAdmin or FTP (filezilla) or localhost, and go to the Modules folder.
- Delete the existing “Woocommerce” module from your server.
- Upload the new downloaded “Woocommerce” module.
- Log in with your superadmin or Administrator account in POS.
- Run this URL in your browser:
http://yourwebsite.com/woocommerce/install/updateor if you’re using a sub-domain:
http://subdomain.yourwebsite.com/woocommerce/install/updateIt will run for a few minutes and show a success message.
- You can view the version number of WooCommerce module in API Setting screen.
Error & Solutions:
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
www.myWooCommerceStore.com to www.myWooCommerceStore.com/index.php