WooCommerce Integration


Synchronize inventory and products, and pull sales information to and from WooCommerce.


Prerequisites


  1. WooCommerce Integration Setup
  2. Catalog
  3. Orders and Sale
  4. Operation Logs
  5. Common Troubleshooting Issues



WooCommerce Integration Setup

[back to top]


First, you must connect DEAR to your WooCommerce store. There are two types of connections you can use:


It is possible to link several WooCommerce stores to a single DEAR account. Each linked store has its own independent catalog, logs, and settings.


Connecting to WooCommerce using OAuth

[back to top]


By default, the OAuth method is selected as the connection type when you set up DEAR-WooCommerce integration for the first time. If you encounter any errors when using this method, you can try the Classic method instead.


To connect WooCommerce to DEAR using OAuth:  

  1. Navigate to Integration -> WooCommerce.

  1. Click the + to connect a new store. 
  2. On the Connect to WooCommerce page, by default, connection type is set to OAuth. Enter your WooCommerce store name and website address, then click Connect to WooCommerce.

  1. You will be redirected to the WooCommerce login page. Enter your details and continue. 
  2. You will be asked to confirm the sharing of data between WooCommerce and DEAR. Click Approve to continue and go back to DEAR to complete the setup.


Repeat Steps 1-5 to connect as many WooCommerce stores as you require.



Connecting to WooCommerce using API

[back to top]


If you encounter any errors when integrating DEAR to WooCommerce using OAuth, you can set up the connection using the Classic method instead, which involves generating an API key in WooCommerce, then using the key to connect WooCommerce to DEAR.


To connect WooCommerce to DEAR using API: 


  1. Navigate to Integration -> WooCommerce.

  1. Click the + to connect a new store. 
  2. On the Connect to WooCommerce page, change connection type to Classic.
  3. Log on to WooCommerce,  open WooCommerce -> Settings -> Advanced, click the Rest API tab, then Add Key.
  4. On the Key Details page, enter a description for the API key. By default, the user logged on to WooCommerce is selected. Change the Permissions to Read/Write, then click Generate API Key.

  5. Once the key is generated, copy the generated Consumer Key and Consumer secret, and save it somewhere on your PC. You will need both to set up the connection in DEAR.

  6. Go back to DEAR. Enter your WooCommerce store name and website address, paste the Consumer key and Consumer secret you copied in Step 6, then click Connect to WooCommerce.

Repeat Steps 1-7 to connect as many WooCommerce stores as you require.



Integration settings

[back to top]


Under the Setup tab, several integration settings can be customised.


 

Order Capture

This option specifies when a WooCommerce Order will be captured: when it is created, when it is completed or when it is paid in WooCommerce. This setting is also taken into account when downloads of historical orders from WooCommerce are triggered.


Consolidate Orders

DEAR - WooCommerce Integration allows two options for order consolidation.

  • No Consolidation

  • Daily Consolidation


No Consolidation indicates that sales will be captured from WooCommerce as they occur. Daily Consolidation will consolidate all orders from that day into a single order. When Daily Consolidation is chosen, an additional setting becomes available: Consolidation Time. This is your local time when all pending orders aggregated during the day will be processed.


See Pending Order Processing section for more details below.


Customer

For the pending order processing to be successful, an existing customer must be selected. The selected customer here is used when when there is no available customer information in a sale order.


When Consolidation Type is Daily Consolidation, this customer is used to create a new sale task which will combine all daily sales. A customer can be created in DEAR just for this purpose.


Regular Price Tier

The Regular Price Tier, one of WooCommerce's two price tiers, is mapped DEAR's Price Tiers here.  


Sale Price Tier

The other WooCommerce price tier, Sale Price, is mapped to DEAR's Price Tiers here. 


Pick, Pack and Ship Processing Mode

When pending orders are processed by DEAR new sale tasks are created. This setting tells DEAR if it should try to Auto Pick, Auto Pack and Auto Ship these tasks. If there is not enough stock on hand to pick the full quantity of products in an order, then pick will remain in Draft state and Pack and Ship won’t be completed.


DEAR does not pick up shipment information from WooCommerce if auto-ship is selected and will not create fulfilment in WooCommerce in this scenario (if Auto Ship is enabled).


Link WooCommerce Sales to DEAR Location 

WooCommerce does not allow use of multiple warehouses. Each WooCommerce store can have a dedicated Location within DEAR which can be selected from the drop down menu. Selecting a particular warehouse will limit the availability of stock in WooCommerce to that location. The default option, All Locations, will display consolidated stock quantities across all of your locations.


Invoice Status

You can control Invoice Status for Sale tasks created as a result of pending order processing. By default, Invoice will not be authorised and will be in Draft state, adjustable and waiting for authorisation. However if this setting is changed to AUTHORISED the invoice will be automatically authorised and pending sync will be created for it to sync with accounting application of your choice.


Optional Revenue Account

Revenue account to be used for all sales downloaded from WooCommerce. This will override settings at the Product/Customer level and any other Account mapping.


Sales Representative Name

Select the sales representative from the list whose name will be specified for all sales captured by DEAR through this integration.


List Products as Draft

You may choose to enable this option to list all products as Draft on WooCommerce.


Update Stock Levels in WooCommerce

You may choose to disable automatic stock level update in WooCommerce performed by DEAR at the time available product quantity changes in DEAR. This may be useful if you are managing stock level in WooCommerce manually and do not want DEAR to change it. Please ensure you have the correct stock quantities entered in DEAR before you turn on this option as these values will override the stock quantities in WooCommerce. 


Use WooCommerce as Master source for DEAR Products

When this parameter is enabled, DEAR will push product categories and brands to WooCommerce. Products in DEAR will also be updated with categories and brands from WooCommerce. 


Export shipping information to WooCommerce

When this parameter is enabled, DEAR will push shipping information to WooCommerce. 


Load Coupon Codes from WooCommerce

Coupon Codes can be brought through to dear as individual products by enabling this option. 


Add company to address

Enable to add company name to the address line for the order. 


Tax Rule Mapping

When pending order is processed by DEAR, a sale task is created. Each order and invoice line is assigned a tax rule. The tax rules specified in these settings will be used to create these lines. 


DEAR does not apply the tax rule to recalculate tax and is simply using the actual tax amount from the WooCommerce order. This means that if certain products are not Taxable or with varying tax in WooCommerce, all data and totals in DEAR will look identical to WooCommerce, but with DEAR tax rule name selected in this setting.


The Tax Free tax rule mapping specified in this setting is used to create these lines for non-taxable products. This tax mapping could be useful for accounting.


Other taxation rules listed are downloaded from WooCommerce and can be linked with DEAR Tax Rules here. 


In case of tax recalculation Tax amount will be overwritten with value calculated by DEAR Taxation rule.


IMPORTANT!  Orders will be skipped on download if tax rules are not mapped.


Payment Account Mapping

DEAR can capture payments made against orders in WooCommerce and is able to automatically add payments to a created sale invoice. To do this, Payment Account Mapping must be completed on this integration settings screen. You must choose an account which is able to receive payments from the chart of accounts. 


This setting is not mandatory - if payment mapping is not completed, orders are still captured and downloaded from WooCommerce, but payments must be manually added to invoices in DEAR. Some customers prefer to keep invoices open and then reconcile them with payouts from WooCommerce. 


Disconnect from WooCommerce store

When you disconnect from WooCommerce store, DEAR removes all associations between DEAR objects and WooCommerce, including Log and Product Catalog.



Catalog

[back to top]


The DEAR WooCommerce Catalog page allows users to download products from WooCommerce, break the link between a DEAR product and its WooCommerce listing, and update quantities in WooCommerce according to DEAR available stock.



Downloading Products

[back to top]


Products can be loaded from WooCommerce to DEAR in the Catalog tab by clicking Load Products. This operation may take some time. 



Products in WooCommerce can be downloaded as simple Products or as Product Variations, similarly to as in DEAR. WooCommerce allows an unlimited number of options, however DEAR allows only three. Due to this, only the first three options will be loaded per product from WooCommerce. 


When downloading products from WooCommerce, DEAR checks if the product in WooCommerce is a single product or if it has multiple variations. If Products and Product Families have already been created/linked with WooCommerce then DEAR updates the existing Products/Product Families instead of creating new ones.


In WooCommerce, Product SKU is an optional whereas in DEAR it is mandatory. To resolve this, if SKU field is empty in WooCommerce, DEAR skips this product.


WooCommerce has a hierarchical category structure, whereas DEAR has only one level of categories. Only the root categories in WooCommerce are linked to DEAR categories. 


When downloading products DEAR tries to avoid creating duplicates by first searching existing products for matching items. This takes place in several steps:

  1. DEAR searches product family by Name using WooCommerce product title.
  2. Then for each variant, it searches DEAR product by WooCommerce variant id
  3. If not found it searches DEAR product by WooCommerce product (or variant) sku


DEAR product names are unique but all WooCommerce product variations have the same name the product family. Due to this, upon downloading products from WooCommerce, DEAR creates variation names from the WooCommerce Product name + Variant Option 1 Value + Variant Option 2 Value + Variant Option 3 Value, delimited by space. Variant options are only included in the name if they are defined for the WooCommerce Product. During product loading DEAR automatically creates product categories for all product types products have in WooCommerce.


Data mapping for products between DEAR and  WooCommerce is as follows:


DEAR
WooCommerce
SKU

Product or Product Variation SKU

Name
Product title
Category
Root Category
Description
Product Description
Weight
Weight
Width
Width
Height
Height
Length
Length
Price Tier mapped for Regular Price. Default is Price Tier 1.
Regular Price
Price Tier mapped for Sale Price. Default is Price Tier 2.
Sale Price
Images. 

NOTE: Only downloaded when no images are attached to the product. Existing images will not be deleted.
Images
Tags
Tags
Quantity
Quantity
Sale Tax Rule
Tax Class, Tax Status
Custom Fields
First 10 attributes (except attributes used as options)
Option 1 Name 
Display name of first required option
Option 2 Name 
Display name of second required option
Option 3 Name 
Display name of third required option
Option 1 Value (for variation)
Label for value related to option 1
Option 2 Value (for variation)
Label for value related to option 2
Option 3 Value (for variation)
Label for value related to option 3



Manage Catalog 

[back to top]


There are two possible statuses for products in the Catalog: Not Listed and Listed. Stock level synchronization can be enabled or disabled for individual products from the Catalog. 


NOTE: Updating products from the catalog will update the stock level in WooCommerce regardless of the related Quantity update setting status.


To list a product on WooCommerce:

  1. Click on the product in the Catalog tab. 
  2. In the pop-up Window, click List on WooCommerce.
  3. Save your changes.






To unlist a product on WooCommerce:

  1. Click on the product in the Catalog tab. 
  2. Click Unlink.
  3. Save your changes.




To remove a product from WooCommerce:

  1. Click on the product in the Catalog tab. 
  2. Click Remove from WooCommerce.
  3. Save your changes.


Bulk Listing

[back to top]


As well as listing products individually, products can be listed in bulk.


To list products on WooCommerce in bulk:

  1. Go to the Bulk Listing tab.
  2. Select products to upload in bulk. You can select products by Category, Family, Product Tag, Price Tier, Listing Status and through manual search.
  3. Click Start to upload all selected products.



 





Orders and Sales

[back to top]


Processing Pending Orders

[back to top]


When a WooCommerce store is connected to DEAR, automatic notifications are triggered whenever the following happens:

  • WooCommerce Order is created
  • WooCommerce Order status is changed
  • WooCommerce Order is deleted


Depending on the Order Capture setting selected, DEAR will capture a WooCommerce Order and save it as pending order when the Order is created, completed or paid. Sometimes, it may take up to 10 minutes for the order to be picked up by DEAR because WooCommerce sends notifications with some delay. 


Whenever a sale is captured from WooCommerce, it is first placed into Pending Orders, and stock is allocated immediately. DEAR imports new orders immediately as individual sale orders (if No Consolidation is selected in the Integration Settings), or once a day as a consolidated sale order (if Daily Consolidation is selected). 


If No Consolidation is selected, each WooCommerce sale is converted into an identical sale in DEAR, keeping the same customer and shipping information. If Daily Consolidation is selected, the single daily sale task will use the customer selected in the integration settings, and customer, billing, and shipping information imported from WooCommerce will be ignored. 


When a WooCommerce order is canceled or deleted, DEAR automatically find and voids the corresponding sale task if created, or removes the associated pending order if the order has not been processed yet.


When processing orders, the logic is identical to that in DEAR. Drop shipping, kitting, and other important scenarios are implemented in the same way as in DEAR.


Pending Orders can be processed manually by clicking Process. They can then be viewed in the Log tab.


NOTE:  At times, issues in WooCommerce may cause notifications NOT to be sent. In this case, you can load orders manually.


Downloading Customers

[back to top]


The Load Customers button can be found next to Load Products. 


This function downloads all customers from WooCommerce to DEAR. If the customer already exists in DEAR, this function updates any details that have been changed in WooCommerce. As DEAR automatically creates customers when processing sale orders (if No Consolidation option is selected), this function is generally only used for testing purposes. 


This function creates a customer in DEAR with Contact, Billing, and Business addresses captured from WooCommerce.



Downloading Orders and Payments

[back to top]


Orders are automatically downloaded if their status in WooCommerce is changed (for example, a customer pays for an order). 


NOTE:   Generally, you do not need to trigger manual order download. However, if an order was not captured by DEAR, or to load historical sales, you can use manual Load Order option in the Pending Orders tab.


Any imported order is saved to the Pending Orders section. It is a temporary storage of all sales and payments in DEAR. If an order already has an entry in the Log, i.e. if it was imported previously, it will be skipped. This guarantees that no duplicate sales will be created by DEAR.


While saving orders, DEAR captures customer information, billing, and shipping addresses. All line items are captured together with quantities, prices, and totals. Total order discounts are applied as are additional charges to the whole order, without distribution by lines to reduce the chance of discrepancy.


Shipping, gift wrapping, and handling are also saved as additional charges on the invoice. WooCommerce has special Tax Rules for these additional charges. These can be mapped to DEAR Tax Rules from the Setup tab.


For each line in a Sale, DEAR attempts to locate the corresponding product by SKU. If no product is found, DEAR attempts to download the sold product information from WooCommerce with the same logic as described in the Downloading Products section. If a matching product is still not found, DEAR marks this line as a Service (Non-product). After that, the sale is saved to pending orders containing all the data imported from WooCommerce: Tax, Quantity, and Total.


If a Payment Account has been specified in the Integration Settings, DEAR will always assign associated payments to the captured WooCommerce orders.


When an WooCommerce order is cancelled, DEAR automatically finds and voids the corresponding sale task if already created as a Sale Order or just removes the associated pending order if not yet processed.


The final step in the order download is to trigger update of stock levels in other WooCommerce stores and other connected eCommerce channels.


Updating Fulfilment in WooCommerce

[back to top]


When Shipment is authorised in DEAR and the carrier specified, DEAR will try to create order shipment information in WooCommerce. This will only work in No Consolidation processing mode.



Logs

[back to top]


Each captured WooCommerce order once saved to Pending Orders creates a Log entry to track the link between the Sale in DEAR and in WooCommerce. This eliminates the possibility of creating duplicated orders when capturing the same order several times during manual order load. 


Each Log entry has a link to the sale task in DEAR. Depending on the settings selected by the user in the Setup tab, this sales task could be draft or authorised, one or more of the Pick, Pack and Ship tabs could be authorised, and payment could have been applied to the invoice. 


Log entries allow you to see which Sale task reflects a particular WooCommerce sale. You also have the option to delete a Log entry manually. This will allow to reprocess an order if required. Deleting a log entry will not void or delete its associated sale task.



Reloading Orders from WooCommerce

[back to top]


If for any reason you need to reload an order from WooCommerce, this can be managed in DEAR.


To reload an order from WooCommerce:

  1. Void the sale task. A record of this will be kept in DEAR for reconciliation purposes but the transactional data will be deleted. 
  2. Return to the WooCommerce integration Log tab and delete the Log entry. This will allow the order to be recaptured from WooCommerce.
  3. Navigate to the Pending Orders tab and click Load Orders, making sure the date is set to before when the order to reload was made. 


Operation Logs

[back to top]


Each time when user or DEAR downloading sales appropriate record added to operation log. It also contains information about results of downloading, including the count of processed, skipped or cancelled orders.