Linnworks is an order management and stock control system that integrates with multiple sale channels like eBay, Amazon, Magento and now, WooCommerce. Linnworks handles the whole sale channel process from order fulfillment to shipping, stock control and inventory management. Using the WooCommerce Linnworks Integration extension you will take advantage of a powerful sale management system, which will control your store inventory, update orders, send emails, print invoices connect with shipping vendors and many more.
WooCommerce Linnworks Integration main features are:
Automatic synchronization of all orders from WooCommerce. Just pick the order status you want to sync and all orders will be downloaded into the Linnworks system. From there you will be able to print invoices, shipping labels, packaging and much more.
Inventory management allows you to have your whole inventory in one single system. This way you will never oversell your products. Once you sync WooCommerce and Linnworks, any sale downloaded by Linnworks will be automatically reflected in your WooCommerce store and the other way around.
You have many shipping options and need to track each order shipping method? WooCommerce Linnworks Integration allows you to map all your shipping options with Linnworks shipping services. You will automatically know what shipping option the customer chose and take the appropriate action.
After the order is processed and shipped it will be updated in the WooCommerce store, at which point a tracking number (if such is assigned) will be emailed to your customer.
Shipping Services and Tracking number can be conveniently displayed on the View Order and Track Your Order pages.
Stock Control Notifications
WooCommerce Linnworks Integration adds “back in stock” notification, which is automatically sent when new stock is added to an already “out of stock” product.
It adds a new “Order Completed” notification, which informs the customer the order is shipped and provides the Shipping and Tracking info.
Before you setup the Linnworks integration there are prerequisites that you should know and meet.
You need a Woo store set up and at least one order placed.
The order needs to be in the status that Linnworks will download.
Every Product needs a unique SKU.
That is true for all products and variations. Linnworks treats variations as a separate products.
Main variable product does not count in inventory.
You should track inventory for each variation in the Variable products. Essentially the main variable product will not count toward the invenroty and could stay unlinked in the Linnworks system.
Please bear with me. The installation is not three steps and we’re done. It is not complicated, but involves a lot of steps.
I – Upload the plugin
First please make sure your FTP is transferring file in Binary format. It is not required, but recommended to do so. Here is simple example of how you do it:
FileZilla FTP – go to Transfer > Transfer Type > Click Binary.
FireFTP – go to Tools > Options… > Downloads/Uploads tab > Binary Mode.
Upload the `woocommerce-linnworks-integration` folder to the `/wp-content/plugins/` directory.
Activate the plugin through the ‘Plugins’ menu in WordPress.
NOTE: all options are set with default values
II – Install Linnworks in your WooCommerce store
Go to WooCommerce > Settings > Linnworks
In Main Integration Settings
Enable Inventory Synchronization
Enter a prefix you want to appear in your Order Reference Numbers. This option is important to distinguish selling channels.
Pick the order status of the orders Linnworks will download from your store. Recommended: “Processing” is the most appropriate status.
Pick the status your orders will be update to, when marked as processed in Linnworks. Recommended: “Completed” is the most appropriate status.
Choose if you want to sync shipping and payment services.
In Notifications Settings
Choose if you want to send “out of stock” and “back in stock” notifications
Choose if you want to send “order complete” notifications and if you want to leave a note to the customers on the orders.
Enable debug mode. Enable this option only to generate information from couple of syncs.
IMPORTANT: The debug log can be substantial depending on your store orders. Do not leave it on for a long time.
III – Download and Install Linnworks
Choose your Linnworks plan.
Register and account with Linnworks and login
Download Linnworks from your account page and follow the “Installation Instructions” on their website .
Once installed start Linnworks and go to Settings > Channel Integration > Add New Channel.
Pick Generic Website from the Dialog box.
In the Select Website Cart, choose Bespoke website.
Enter all fields and Deploy Gateway
FTP Server Path – FTP path to your main WordPress directory ( same level as wp-config.php )
FTP Username – Your FTP Username you login with
FTPPassword – Your FTP Password you login with
Site URL – The Site URL where the Gateway will be accessible ( usually will be http://example.com/ )
Database server – Your database server name ( same as in your wp-config.php file )
Database name– Your database name ( same as in your wp-config.php file )
Database username – Your database username ( same as in your wp-config.php file )
Database password – Your database password ( same as in your wp-config.php file )
In Settings, enter the name of your channel. This name cannot be changed once set.
In Query Designer, you will need to paste each query script from the your site “Generated Queries” section to the matching script section in the Query Designer.
Just click on the Edit note and paste the script.
Once you paste all queries from “Generated Queries” section to the Query Designer, click the Test All button.
In Payment Services and Shipping Services, you can map your WC store payment gateways and shipping methods to the Linnworks ones. These steps you can perform later, too
When your channel is setup you will see it in the Channel Integration Section.
DO NOT SYNC, YET.
V – Deploy Custom Linnworks Gateway
Now that you did setup your Linnworks Integration Channel, you need to deploy our custom script, which will fully integrate WooCommerce with Linnworks.
If you are using version v1.1.2 or lower, please see the Manual Deploy section below. If not, please follow the steps bellow.
Go to WooCommerce > Settings > Linnworks tab > under “Deploy Linnworks API File” section, enter your Linnworks Gateway Password and click Deploy File button. If the deployment is successful, you will see a success message.
Go to Linnworks > Settings > Channel Integration > click “Config” Button > Click Preview Orders.
In the window with the orders displayed click on the magnifying glass and scroll down to the OrderItems node. Expand the node and find the items details like ChannelSKU, Cost, ItemTitle. All those should have values in them. If they don’t, make sure you have done the steps above( See Image Below ).
Your integration is now setup. You can sync your orders and match your WC inventory to your Linnworks. Enjoy!
Sync Products Inventory
Enable if you want to sync Linnworks and your store inventory. The inventory will be controlled from the Linnworks system.
IMPORTANT: This option will only allow you to generate the query you will need to sync the inventory. Turning off the option after the inventory was synced will not automatically unsync it, you will need to delete the “UpdateInventory” query from Linnworks system.
Order Reference Number Prefix
This is the prefix that will be applied to the Linnworks “Reference” field in the order details. It is used also for identifying and updating the orders.
IMPORTANT: If you want to change this prefix, you will need to regenerate the SQL queries and re-apply them in Linnworks.
Download Order Status
Choose what status orders you want to download into the Linnworks system.
RECOMMENDED: usually the order status to download would be “Processing”, since this will indicate that the order is paid and the inventory is lowered.
Status to Mark Orders after Processed
Choose what status the orders to be updated to, after they are processed in Linnworks system.
RECOMMENDED: usually this is the “Completed” status, which indicates that the order is packaged and mailed.
Map Shipping Services
Enable if you want to map the shipping methods to the shipping services in Linnworks.
Map Payment Services
Enable if you want to map the payment methods to the payment services in Linnworks.
Send “out of stock” notification
Notification is send when the product stock is marked as 0. Notification goes to the “Inventory notifications” email set in the WooCommerce installation.
Send “back in stock” notification
Notification is send when new stock arrived and Linnworks updates the stock level from 0 to a positive value, but more than the “Low stock threshold” inventory set up in WooCommerce. Notification goes to the “Inventory notifications” email set in the WooCommerce installation.
Order Complete Notification
Send “order complete” notification email
Send a custom notification when order is marked as “Completed” from the Linnworks system. This Notification will be able to provide information on Shipping Service Name, Tracking Number and the time the order was processed on.
Leave “Order note” to the customer
The plugin generates error logs every time it encounters errors in the payment response. If you want those error logs to be e-mailed to you, enable this option.
Debug mode will generate all requests and responses from Linnworks. The log is generated in
IMPORTANT: The debug log can be substantially big depending on your store orders. Do not leave this option ON for a long time.
== 2015.03.04 – version 1.3.3 == * Fix: When variation stock is 0, only the variation is marked as out of stock. * Tweak: Order containing permanently deleted products will no longer break the integration.
== 2015.01.30 – version 1.3.2 == !!!Queries Update Required!!! * New: AfterShip plugin support * Fix: Tracking info is now displayed in the default WC order completed emails * Fix: Now Trashed products are not picked up by the GetInventoryQuery * Tweak: Removed the customer Order Completed email. The default WC Order Completed email will be used.
== 2014.11.29 – version 1.3.1 == * Add Mutex to prevent multiple update processes to be triggered at the same time.
== 2014.09.08 – version 1.3 == * WC 2.2 Support * New: Added setting to send order item tax per item or not send at all and let Linnworks calculate tax.
== 2014.08.15 – version 1.2.2 == * Order now send the order currency instead of the store currency. Supports multi-currency stores. * Tweak: Update stock and orders updates are checked for duplicates.
== 2013.11.26 – version 1.1.4 == * Fix: Automatic deployment script commented lines. * Removed debug files left in by accident.
== 2013.11.16 – 1.1.3 == * Fix: Removed hardcoded db prefix. * New: Added automatic API script deployment settings.
== 2013.11.05 – 1.1.2 == * New: Support for Sequential Order Numbers.
== 2013.08.16 – 1.1.1 == * Fix: Now the add_order_note calls the correct object.
== 2013.08.04 – 1.1 == * New: Support for order per product percentage (%) discount to be send to Linnworks with the GetOrderItems Query. * Tweak: use WC change of order status notifications,if the plugin built-in notifications are not used.
== 2013.07.23 – 1.0.9 == * New: Support for order per product percentage (%) discount to be send to Linnworks with the GetOrderItems Query. * Tweak: use WC change of order status notifications,if the plugin built-in notifications are not used.
== 2013.05.15 – 1.0.8 == * Tweak: Now Ship to Name in NewOrdersQuery uses the shipping name
== 2013.03.22 – 1.0.7 == * Tweak: Now Inventory Item Quantity cannot return a none numerical value.
== 17.02.2013 – 1.0.6 == * WC 2.0 support checked.
== 16.01.2013 – 1.0.5 == * Fix: Added Shipping/Billing Address line 2 to the Order Query.
== 16.11.2012 – 1.0.2 == * New – Shipping method and Tracking number from Linnworks can now be seen and modified on the Admin order page. * New – Shipping method and Tracking number from Linnworks can now be shown on the View Order and Track Your Order Page.
== 17.10.2012 – 1.0.1 == * Tweak – Updated the Get Inventory Query to support products with no price entered. * Fix – Options are now saved only when Linnworks tab is saved.
== 13.10.2012 – 1.0 == * Initial Release
VERY IMPORTANT: Do NOT Permanently Delete any of your products. Trashing a product is good enough. Permanently deleting a product will leave you with a none working Linnworks integration and sometimes a big mess to sort out. If you still did do it, please use the contact form to get help.
I have setup the extension, but the sync fails. What should I do?
First go back and make sure you go through the setup checklist
Make sure you have Saved your preferred “Main Integration Settings”, before to copy and paste the Queries in the Linnworks “Query Designer”
Did you filled in and replaced the main linnworks_xml.php file with the one in your extension folder?
Do you have at least one order placed? The order has to be in the status you set Linnworks to download orders from your store.
If you missed something, do it and try the sync again. If you did everything, turn debug mode on and generate a single sync, then contact us for support.
My sync works, but the SKUs of the products look like “WooCommerce-231” (“Order Reference Number Prefix-Product#”) Why is this happening?
Make sure you have set the SKU field of all products.
I updated to the new Linnworks version. Are there any more steps I should perform?
Yes, usually you need to re-apply the Linnworks Queries. If there are any changes to the Queries, they will not be applied in Linnworks automatically.
I don’t want to use the built-in completed order notifications, I want to use the WC completed order notifications. What should I do?
If you want to use only the WC email notifications, when the order is completed, then all you need to do is disable the “Send “order complete” notification email” option.
I followed the integration instructions and everything syncs correctly except the order items. What should I do?
Go back to the instructions Step V and redo it. This step is the one that will populate your order contents and export them to Linnworks. If you still have problems, please do the steps from Manual Deploy section.
I tried the queries in the Query Designer and some of them are showing errors? Is this why my integration does not work?
No. Some of the queries are populated rut time by the software and they cannot be tested in the Linnworks Query Designer. However, make sure that all queries show a green thick, when you click on the “Test All” button.
Manual Gateway Script Deployment
If you could not deploy the API file through “Deploy Linnworks API File”, you can perform this step manually. Just follow the steps below.
When the integration is done open the “woocommerce-linnworks-integration\linnworks_xml.php” file (in notepad++ or your favorite editor) that came with your WooCommerce Linnworks Integration extension.
Enter the database details you entered on Step 2 in the fields on top of the file, named: DB_HOST, DB_USER, DB_PASS, DB_NAME and PASSWORD ( Example: define( ‘DB_HOST’, ‘Localhost’ ); )
The PASSWORD field you will find by going to Linnworks > Settings > Channel Integration > Click on the Channel “Config” button > Query Designer button > click any of the edit fields > You will see the PASSWORD in the “Gateway Password” field.(See the above image)
After you filled in the appropriate credentials: .
Save and upload the file to the “FTP Server path“( your main WP directory ) you entered on Step 2 of the “Integration Instructions” ( Example: ftp:// 126.96.36.199/htdocs/zencart or WPMainDirectory\linnworks_xml.php )
This will overwrite the initial file uploaded by Linnworks. ( Overwrite the www.example.com/linnworks_xml.php with the filled and saved www.example.com/wp-content/plugins/woocommerce-linnworks-integration/linnworks_xml.php file. )
As you see on the image above, there is a simple ftp opened (FileZilla):
On the left, you have the local directory of your plugin. In the directory you have the custom linnworks_xml.php file.
On the right, you have your website main directory. This is where you should have set Linnworks to deploy their linnworks_xml.php file.
So all you need to do is replace the one on the right with the one on the left. If the file on the right is in different directory you are doing it wrong.
Steps to take when you updated your store to WC 2.2
You have been using the Linnworks plugin for some time with WC 2.1 and now you updated your store to WC 2.2? You have noticed that the integration does not work properly? Here are the steps you need to take, in order for your integration to work again.
Ensure you have the latest version of the WooCommerce Linnworks Integration plugin. Go to the Downloads tab of your account ( right here ) and download the latest version. Minimum version should be v1.3.
Go to WooCommerce > Settings > Linnworks
Make sure you go over each setting because order statuses are stored differently in WC 2.2 and the current settings may have changed. Usually you will want your “Download Order Status” to be “Processing” and “Status to Mark Orders After Processed” to be “Completed“.
Copy the Queries from the Generated Queries Section to Linnworks Query Designer as it is mentioned in section IV point 6 ( click here ).
After you are done with the Query Designer, don’t forget to press the Save button on your way out.