Back to VanboDevelops

  1. Start
  2. Features
  3. Prerequisite
  4. Installation
    1. I – Upload the plugin
    2. II – Install Linnworks in your WooCommerce store
    3. III – Download and Install Linnworks
    4. IV – Setup a New Linnworks Channel
    5. V – Deploy Custom Linnworks Gateway
  5. Options
  6. Changelog
  7. FAQ
  8. Manual Deploy
  9. Updated to WC 2.2?

WooCommerce Linnworks Integration

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.

The “WooCommerce Linnworks Integration” is developed and supported by Ivan Andreev | VanboDevelops and not by Linn Systems.
To install properly, please follow this documentation and if there are any problems feel free to contact support at or at


WooCommerce Linnworks Integration main features are:

  1. Order Management
    • 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.
  2. Inventory Management
    • 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.
  3. Shipping Management
    • 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.
  4. 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.

  1. 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.
  2. Every Product needs a unique SKU.
    • That is true for all products and variations. Linnworks treats variations as a separate products.
  3. 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

  1. 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.
  2. Upload the `woocommerce-linnworks-integration` folder to the `/wp-content/plugins/` directory.
  3. Activate the plugin through the ‘Plugins’ menu in WordPress.

NOTE: all options are set with default values

II – Install Linnworks in your WooCommerce store


  1. 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.
  2. 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.
  3. Save Changes

III – Download and Install Linnworks

  1. Choose your Linnworks plan.
  2. Register and account with Linnworks and login
  3. Download Linnworks from your account page and follow the “Installation Instructions” on their website .

IV – Setup a New Linnworks Channel

See also Linnworks website for their channel setup instructions

  1. Once installed start Linnworks and go to Settings > Channel Integration > Add New Channel.
  2. Pick Generic Website from the Dialog box.
  3. In the Select Website Cart, choose Bespoke website.
  4. 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
    • FTP Password – Your FTP Password you login with
    • Site URL – The Site URL where the Gateway will be accessible ( usually will be )
    • 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 )
  5. In Settings, enter the name of your channel. This name cannot be changed once set.
  6. 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.
  7. 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
  8. When your channel is setup you will see it in the Channel Integration Section.

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.

  1. 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.
  2. Go to Linnworks > Settings > Channel Integration > click “Config” Button > Click Preview Orders.
  3. 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 ).
  4. If you see something wrong please repeat step 1, try Manual Deploy, read through the FAQ section, or contact support.
  5. Your integration is now setup. You can sync your orders and match your WC inventory to your Linnworks. Enjoy!




== 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.

== 2014.02.25 – version 1.2.1 ==
* Fix: MarkAsProcessed query parameters.

== 2014.01.03 – version 1.2 ==
* WC 2.1 Support

== 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.

== 13.01.2013 – 1.0.4 ==
* Tweak: Added check for empty Tax field.

== 20.12.2012 – 1.0.3 ==
* Removed couple of warnings WP 3.5 related.

== 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.

  1. 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
      1. Make sure you have Saved your preferred “Main Integration Settings”, before to copy and paste the Queries in the Linnworks “Query Designer”
      2. Did you filled in and replaced the main linnworks_xml.php file with the one in your extension folder?
      3. 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.
      4. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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.

  1. 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)

  2. 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:// or WPMainDirectory\linnworks_xml.php )
    • This will overwrite the initial file uploaded by Linnworks. ( Overwrite the with the filled and saved file. )

    linnworks-replace-remote-with-local-fileAs 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.

  1. 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.
  2. Go to WooCommerce > Settings > Linnworks
  3. 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“.
  4. Save Changes
  5. Copy the Queries from the Generated Queries Section to Linnworks Query Designer as it is mentioned in section IV point 6 ( click here ).
  6. After you are done with the Query Designer, don’t forget to press the Save button on your way out.