Difference between revisions of "WooCommerce"

From Fishbowl
Jump to: navigation, search
Line 67: Line 67:
 
= TABS =  
 
= TABS =  
  
{{H2|Settings}} [[File:WooCommerce Settings Tab.png|right]]
+
{{H2|Order Import}} [[File:WooCommerce Schedule Import Order Tab.png|right]]
  
* '''Email''' - The email address to notify regarding integration information. Failed schedules will send an email to this address. Email can be configured on the {{ModuleTab|Setup|Email}}.
+
{{Schedule|import orders|Run task}}
  
{{H2|Schedule Import Order}} [[File:WooCommerce Schedule Import Order Tab.png|right]]
+
:{{HideH2|Order}} [[File:WooCommerce Schedule Import Order Orders.png|right]]
 +
:* '''Location Group''' - Sales orders will be created using this location group.
 +
:* '''SO Status''' - Orders can be imported as an estimate, issued, or fulfilled status. Setting orders to fulfilled status will import orders and then quick fulfill them.
 +
:* '''Shipping Item''' - When selected, sales orders will be created using this product as the default shipping item.
 +
:* '''WooCommerce Order Status''' - This selection determines which status of WooCommerce orders will be imported into Fishbowl.
 +
:* '''Use WooCommerce Order Number as Fishbowl SO Number''' - When selected, sales orders will be created using the WooCommerce order number as the Fishbowl sales order number.
 +
:* '''Add order discounts as a flat rate discount item''' - When selected, incoming orders with discounts will apply discounts on the sales order as a separate, flat rate discount item.
 +
:* '''Discount Item''' - Discount item for the order discount amount from WooCommerce. Can only specify a flat rate discount. The flat rate discount can be set to $0 in the {{Module|Discount}} and then the correct discount amount will be set when the order is imported from WooCommerce.
 +
:* '''Apply order discounts to line items''' -  When selected, incoming orders with discounts will apply discounts to the line items on the sales order.
  
Orders will only be imported from WooCommerce if they have a '''Processing''' status.
+
:{{HideH2|Customer}} [[File:WooCommerce Schedule Import Order Customer.png|right]]
 +
:* '''Use default customer''' - When selected, sales orders will be created using this customer for every order.
 +
:** If this option is not selected, unique customer information for each order will be imported from WooCommerce.
 +
:** Alternatively, create a generic/web customer in Fishbowl that will be used for all imported orders.
 +
:** Address information will be imported for each order regardless of this option.
 +
:* '''Salesperson''' - Sales orders will be created using this salesperson.
 +
:* '''Payment Terms''' - When selected, sales orders will be created using this payment term.
 +
:* '''Shipping Terms''' - When selected, sales orders will be created using these shipping terms.
 +
:* '''Class''' - When selected, sales orders will be created using this class as the sales order class.
 +
:* '''Customer Status''' - When selected, imported customers will be created with the selected status.
 +
:* '''Use company name for new customers''' - When selected, the '''Company name''' from the bill to address of the WooCommerce order will be created as the customer name in Fishbowl.
  
{{Schedule|import orders}}
+
:{{HideH2|Carrier Mapping}} [[File:WooCommerce Schedule Import Order Carrier Mapping.png|right]]
* '''Salesperson''' - Sales orders will be created using this salesperson. This field is required.
+
:* '''Use same carrier and carrier service for all orders''' - When selected, all orders imported from WooCommerce will use the selected carrier and carrier service. If this option is unchecked, carriers can be mapped by following the instructions [[#Carriers|here]].
* '''Carrier''' - When selected, sales orders will be created using this carrier.
 
* '''Payment Terms''' - When selected, sales orders will be created using this payment term.
 
* '''Payment Method''' - Sales orders will be created using this payment method. This field is required.
 
* '''Shipping Terms''' - When selected, sales orders will be created using these shipping terms.
 
* '''Location Group''' - Sales orders will be created using this location group. This field is required.
 
{{Cart Customer}}
 
* '''SO Status''' - Orders can be imported as an estimate or issued status.
 
*{{anchor|Tax Item}}'''Tax Item''' - Tax rate item for the total tax amount from WooCommerce. Can only specify a flat rate tax. If the list is empty, [[Tax_Rate#Add_a_tax_rate|create a flat rate tax]] to be used with WooCommerce. The flat rate amount can be set to $0 in the {{Module|Tax Rate}}, and then the correct total tax amount will be set when the order is imported from WooCommerce.
 
* '''Class''' - When selected, sales orders will be created using this class as the sales order class.
 
* '''Shipping Item''' - When selected, sales orders will be created using this product as the default shipping item.
 
* '''Use store order number as SO Number''' - When selected, sales orders will be created using the WooCommerce order number as the Fishbowl sales order number.
 
  
{{H2|Schedule Export Order}} [[File:WooCommerce Schedule Export Order Tab.png|right]]
+
:{{HideH2|Payment Mapping}} [[File:WooCommerce Schedule Import Order Payment Mapping.png|right]]
 +
:* '''Create payments in Fishbowl''' - When selected, payments from the WooCommerce transaction will be shown in the {{Module|Payment Viewer}}.
 +
:* '''Use same payment method for all orders''' - When selected, all orders imported from WooCommerce will use the selected payment method. If this option is unchecked, payment methods can be mapped by following the instructions [[#Payment methods|here]].
  
After an order has been fulfilled in Fishbowl, the order will be marked as '''Completed''' in WooCommerce on the next export.
+
:{{HideH2|Taxes}} [[File:WooCommerce Schedule Import Order Taxes.png|right]]
 +
:* '''Calculate Order Tax''' - When selected, orders imported from WooCommerce with tax will use the customer assigned tax code in Fishbowl. The tax amount on the Fishbowl sales order will be calculated using the tax code assigned in Fishbowl. If no tax code is assigned to the customer, the order will fail to import.
 +
:* '''Flat Rate Tax Item''' - When selected, the tax amount from the WooCommerce order will appear on the Fishbowl sales order as a flat rate line item. The flat rate amount can be set to $0 in the {{Module|Tax Rate}} and then the correct total tax amount will be set when the order is imported from WooCommerce.
  
{{Schedule|export orders}}
+
{{H2|Order Fulfillment}} [[File:WooCommerce Schedule Export Order Tab.png|right]]
  
{{H2|Schedule Products}} [[File:WooCommerce Schedule Products Tab.png|right]]
+
{{Schedule|export orders|Run task}}
 +
* '''Update WooCommerce order status''' - When selected, WooCommerce orders will be updated after the product(s) on the order have been shipped in Fishbowl. If left blank, Fishbowl will not update the status of the WooCommerce order.
 +
 
 +
{{H2|Product Import}} [[File:WooCommerce Schedule Products Tab.png|right]]
  
 
{{Products before orders}}
 
{{Products before orders}}
  
{{Schedule|sync products}}
+
{{Schedule|import products|Run task}}
* '''Fail when missing SKU''' - When selected, the sync will log products with missing SKUs as errors.
+
* '''Field Mapping''' - Use the icon buttons on the right side of the table to edit the field [[#Mapping|mappings]].
* '''Weight UOM''' - The UOM for weight on products. This should match the UOM set in store settings on your WooCommerce shopping cart.
+
* '''Weight UOM''' - If the weight UOM isn't set in WooCommerce, the default UOM listed here will be used.
* '''Pull products to Fishbowl''' - When selected, products created in WooCommerce will be created in Fishbowl.
+
* '''Size UOM''' - If the size UOM isn't set in WooCommerce, the default UOM listed here will be used.
* '''Push products to WooCommerce''' - When selected, products created in Fishbowl will be created in WooCommerce. After a product has been pushed to WooCommerce, any changes made to the product in Fishbowl will update the following fields in WooCommerce: '''Description''', '''SKU''', '''Weight''', '''Price''', '''Length''', '''Width''', '''Height'''
+
 
* '''WooCommerce fields''' - Select how the WooCommerce fields are mapped in Fishbowl.
+
{{H2|Product Export}} [[File:WooCommerce product export tab.png|right]]
* '''Product tree filter''' - When left blank, all products will be pushed to WooCommerce. To limit the products that are pushed to WooCommerce, click the {{Icon Button|Product Tree}}. The selected category and all of its sub-categories will then be included in the sync.
+
 
 +
{{Schedule|export products|Run task}}
 +
* '''Field Mapping''' - Use the icon buttons on the right side of the table to edit the field [[#Mapping|mappings]]. After a product has been pushed to WooCommerce, any changes made to the product in Fishbowl will update the following fields in WooCommerce: '''Title''', '''Description''', '''SKU''', '''Price''', '''Weight''', '''Tags''', '''Meta Title''', and '''Meta Description'''.
 +
* '''Weight UOM''' - If the weight UOM isn't set in WooCommerce, the default UOM listed here will be used.
 +
* '''Size UOM''' - If the size UOM isn't set in WooCommerce, the default UOM listed here will be used.
 +
* '''Product Tree Filter''' - The export can be limited to certain product tree categories. If this field is left blank, all products will be included in the export.
  
{{H2|Schedule Inventory}} [[File:WooCommerce Schedule Inventory Tab.png|right]]
+
{{H2|Inventory Update}} [[File:WooCommerce Schedule Inventory Tab.png|right]]
  
{{Schedule|sync inventory}}
+
{{Schedule|export inventory levels to WooCommerce|Run task}}
 
* '''Location Group''' - When selected, the [[Inventory#Inventory_status_terms|Available For Sale]] inventory quantity will be used from this location group only. If left blank, the quantity from all location groups will be used.
 
* '''Location Group''' - When selected, the [[Inventory#Inventory_status_terms|Available For Sale]] inventory quantity will be used from this location group only. If left blank, the quantity from all location groups will be used.
NOTE: In order to sync inventory to WooCommerce, the Fishbowl Product SKU must match the product/variant SKU in WooCommerce.
+
* '''Product Tree Filter''' - The export can be limited to certain product tree categories. If this field is left blank, all products will be included in the export.
  
 
{{Clear}}
 
{{Clear}}
 +
 
= Troubleshooting =
 
= Troubleshooting =
 
{{Cart Troubleshooting}}
 
{{Cart Troubleshooting}}

Revision as of 19:40, 10 October 2017

Icon.WooCommerce.png The WooCommerce module, located in the Integrations group, is an add-on module that can be installed from the Small.Plugin.png Plugin module. After installing the plugin, a new module is added that integrates with one or more WooCommerce shopping carts.

The plugin currently supports WooCommerce REST API V2


WooCommerce.png

Install

The documentation on this page is for the most recent version of the Small.WooCommerce.png WooCommerce plugin. To get the most recent version, Update Fishbowl.

  1. In any Fishbowl Client, open the Small.Plugin.png Plugin module, located in the Integrations group.
  2. Select the Small.WooCommerce.png WooCommerce plugin and click Install.
  3. Completely close all Fishbowl Clients.
  4. Exit the Fishbowl Server by right-clicking the Fishbowl Server tray icon and selecting Exit.
  5. After re-opening the Fishbowl Server, the admin user can access the Small.WooCommerce.png WooCommerce module from any Fishbowl Client by opening the Integrations group.
  6. To grant access to additional users, assign the WooCommerce-View access right to the appropriate groups in the Small.User Group.png User Group module

Setup Template:Top

In order to connect to WooCommerce, the WooCommerce API must first be configured properly. Follow the instructions below to generate an API Key.

  1. Log into the Wordpress Dashboard, for example www.mycompany.com/
  2. Open the settings for Wordpress permalinks by clicking Settings and then selecting Permalinks.
    Permalink 1.png
  3. Below Common Settings, select Post name.
    Permalink 2.png
  4. Scroll down to Product permalink base and verify that Default is selected and then click Save Changes.
    Permalink 3.png
  5. Open the settings for WooCommerce by clicking WooCommerce and then selecting Settings.
    WooCommerce1.png
  6. Click the API tab, select Enable the REST API, and then click Save Changes.
    WooCommerce2.png
  7. Click Keys/Apps and then click the Add Key button.
    WooCommerce3.png
  8. Enter a Description, User, select Read/Write, and then click Generate API Key.
    WooCommerce4.png
  9. Enter the WooCommerce store URL into the Small.WooCommerce.png WooCommerce module, for example woocommerce.mycompany.com
  10. Click the Copy buttons and then paste the Access Key and Access Secret into the Small.WooCommerce.png WooCommerce module.
  11. Click the Test Connection button in the Small.WooCommerce.png WooCommerce module to verify that the connection is valid and then click Save.

Multiple WooCommerce carts can be configured by clicking the New Button.png New button, which will add another WooCommerce tab.

Mapping Template:Top

The table below shows how data transfers between WooCommerce and Fishbowl.

WooCommerce Fishbowl
Order date Fulfillment date
Email Email field of the Details tab of the Small.Sales Order.png Sales Order module
Phone Phone field of the Details tab of the Small.Sales Order.png Sales Order module
Product name Product & Part Number
Short or Long Description Product & Part Description
Product SKU Product SKU
Billing name & address Bill To
Shipping name & address Ship To
Customer Provided Note Sales order note
Order status Orders with a Processing status are imported
Customer name Imports the actual customer or the generic customer specified on the Schedule Import Order tab.
Company name Not imported (Billing and Shipping names are imported)
Tax item Combines all taxes into the tax item specified on the Schedule Import Order tab.
Discount Combines all discounts into the discount item specified on the Schedule Import Order tab.
Product ID WooCommerce Product ID 1 Custom Field.

TABS

Order Import

  • Schedule - Select the Checked.png Active checkbox to import orders on a set schedule. Click the Run task Button.png Run task button to run the scheduled task right now. Data that has changed since the Last Sync date will be synchronized. This date will be updated automatically after a sync, or it can be manually edited to adjust which data will be synchronized.
Order
  • Location Group - Sales orders will be created using this location group.
  • SO Status - Orders can be imported as an estimate, issued, or fulfilled status. Setting orders to fulfilled status will import orders and then quick fulfill them.
  • Shipping Item - When selected, sales orders will be created using this product as the default shipping item.
  • WooCommerce Order Status - This selection determines which status of WooCommerce orders will be imported into Fishbowl.
  • Use WooCommerce Order Number as Fishbowl SO Number - When selected, sales orders will be created using the WooCommerce order number as the Fishbowl sales order number.
  • Add order discounts as a flat rate discount item - When selected, incoming orders with discounts will apply discounts on the sales order as a separate, flat rate discount item.
  • Discount Item - Discount item for the order discount amount from WooCommerce. Can only specify a flat rate discount. The flat rate discount can be set to $0 in the Small.Discount.png Discount module and then the correct discount amount will be set when the order is imported from WooCommerce.
  • Apply order discounts to line items - When selected, incoming orders with discounts will apply discounts to the line items on the sales order.
Customer
  • Use default customer - When selected, sales orders will be created using this customer for every order.
    • If this option is not selected, unique customer information for each order will be imported from WooCommerce.
    • Alternatively, create a generic/web customer in Fishbowl that will be used for all imported orders.
    • Address information will be imported for each order regardless of this option.
  • Salesperson - Sales orders will be created using this salesperson.
  • Payment Terms - When selected, sales orders will be created using this payment term.
  • Shipping Terms - When selected, sales orders will be created using these shipping terms.
  • Class - When selected, sales orders will be created using this class as the sales order class.
  • Customer Status - When selected, imported customers will be created with the selected status.
  • Use company name for new customers - When selected, the Company name from the bill to address of the WooCommerce order will be created as the customer name in Fishbowl.
Carrier Mapping
  • Use same carrier and carrier service for all orders - When selected, all orders imported from WooCommerce will use the selected carrier and carrier service. If this option is unchecked, carriers can be mapped by following the instructions here.
Payment Mapping
  • Create payments in Fishbowl - When selected, payments from the WooCommerce transaction will be shown in the Small.Payment Viewer.png Payment Viewer module.
  • Use same payment method for all orders - When selected, all orders imported from WooCommerce will use the selected payment method. If this option is unchecked, payment methods can be mapped by following the instructions here.
Taxes
  • Calculate Order Tax - When selected, orders imported from WooCommerce with tax will use the customer assigned tax code in Fishbowl. The tax amount on the Fishbowl sales order will be calculated using the tax code assigned in Fishbowl. If no tax code is assigned to the customer, the order will fail to import.
  • Flat Rate Tax Item - When selected, the tax amount from the WooCommerce order will appear on the Fishbowl sales order as a flat rate line item. The flat rate amount can be set to $0 in the Small.Tax Rate.png Tax Rate module and then the correct total tax amount will be set when the order is imported from WooCommerce.


Order Fulfillment

  • Schedule - Select the Checked.png Active checkbox to export orders on a set schedule. Click the Run task Button.png Run task button to run the scheduled task right now. Data that has changed since the Last Sync date will be synchronized. This date will be updated automatically after a sync, or it can be manually edited to adjust which data will be synchronized.
  • Update WooCommerce order status - When selected, WooCommerce orders will be updated after the product(s) on the order have been shipped in Fishbowl. If left blank, Fishbowl will not update the status of the WooCommerce order.


Product Import

When pulling products to Fishbowl, the product sync should usually be scheduled to run before the order import. This will avoid any errors caused by new products that need to be imported before the order can be created in Fishbowl.

  • Schedule - Select the Checked.png Active checkbox to import products on a set schedule. Click the Run task Button.png Run task button to run the scheduled task right now. Data that has changed since the Last Sync date will be synchronized. This date will be updated automatically after a sync, or it can be manually edited to adjust which data will be synchronized.
  • Field Mapping - Use the icon buttons on the right side of the table to edit the field mappings.
  • Weight UOM - If the weight UOM isn't set in WooCommerce, the default UOM listed here will be used.
  • Size UOM - If the size UOM isn't set in WooCommerce, the default UOM listed here will be used.


Product Export

  • Schedule - Select the Checked.png Active checkbox to export products on a set schedule. Click the Run task Button.png Run task button to run the scheduled task right now. Data that has changed since the Last Sync date will be synchronized. This date will be updated automatically after a sync, or it can be manually edited to adjust which data will be synchronized.
  • Field Mapping - Use the icon buttons on the right side of the table to edit the field mappings. After a product has been pushed to WooCommerce, any changes made to the product in Fishbowl will update the following fields in WooCommerce: Title, Description, SKU, Price, Weight, Tags, Meta Title, and Meta Description.
  • Weight UOM - If the weight UOM isn't set in WooCommerce, the default UOM listed here will be used.
  • Size UOM - If the size UOM isn't set in WooCommerce, the default UOM listed here will be used.
  • Product Tree Filter - The export can be limited to certain product tree categories. If this field is left blank, all products will be included in the export.


Inventory Update

  • Schedule - Select the Checked.png Active checkbox to export inventory levels to WooCommerce on a set schedule. Click the Run task Button.png Run task button to run the scheduled task right now. Data that has changed since the Last Sync date will be synchronized. This date will be updated automatically after a sync, or it can be manually edited to adjust which data will be synchronized.
  • Location Group - When selected, the Available For Sale inventory quantity will be used from this location group only. If left blank, the quantity from all location groups will be used.
  • Product Tree Filter - The export can be limited to certain product tree categories. If this field is left blank, all products will be included in the export.

Troubleshooting

  • Only new orders are imported. Orders are not updated once they have been imported. Returns and refunds are not imported.
  • The attributes and IDs for orders and products can viewed or modified by clicking the Small.Shopify.png Shopify button at the top of the Small.Sales Order.png Sales Order module and the Small.Product.png Product module.
  • To view the scheduled tasks for the Small.Shopify.png Shopify module, open the Small.Schedule.png Schedule module.
  • A scheduled task can be run manually by double-clicking the task.
  • Enter an email address in the Small.Schedule.png Schedule module to receive error notifications.
  • To view the history of a scheduled task, including the result/error, click the History Icon Button.png History button in the Small.Schedule.png Schedule module.
  • More details about recent errors can be viewed by opening the Small.Data.png Data module and clicking the Server Log Button.png Server Log button.
  • Check for multiple versions of the Shopify.jar file in C:\Program Files\Fishbowl\plugins\ or \Applications\Fishbowl\plugins\ on a Mac. If there are two Shopify versions, exit the Fishbowl Server and remove the older version on all client and server computers.

Release Notes

The plugin currently supports WooCommerce REST API V2

Version 3.0

  • Released on Oct 5, 2017
  • Compatible with Fishbowl version 2017.9

Features and Fixes

  • New layout and mapping options

Version 2.14

  • Released on July 26, 2017
  • Compatible with Fishbowl version 2017.6 and higher

Features and Fixes

  • Fixed issue when the order import has multiple line items of the same product using the total price for the line item unit price

Version 2.13

  • Released on July 13, 2017
  • Compatible with Fishbowl version 2017.6 and higher

Features and Fixes

  • Compatibility fixes for 2017.6 version of Fishbowl
  • Fixed issue in AU version where shipping and discount items do not use the correct tax codes and are calculated incorrectly
  • Fixed inventory quantity update not looking at allocated items in FB
  • Fixed product sync to work with kits
  • Enhanced inventory sync to sync inventory kit quantity correctly

Version 2.12

  • Released on June 12, 2017
  • Compatible with Fishbowl version 2017.4 and higher

Features and Fixes

  • Fixed tracking functionality when sending fulfillment to WooCommerce order(s).

Version 2.11

  • Released on April 13, 2017
  • Compatible with Fishbowl version 2017.3 and higher

Features and Fixes

  • Compatibility fixes for 2017.3 version of Fishbowl
  • Fixed bug on order import task where the task wasn't using the last sync date correctly
  • Fixed tax functionality for Australia and Canada versions of Fishbowl

Version 2.9

  • Released on March 15, 2017
  • Works with Fishbowl version 2017.2 and higher

Features and Fixes

  • Compatibility fixes for 2017.2 version of Fishbowl

Version 2.8

  • Released on March 10, 2017
  • Works with Fishbowl version 2017.1 and higher

Features and Fixes

  • Fixed issue with inventory not updating for product variants

Version 2.6

  • Released on March 01, 2017
  • Works with Fishbowl version 2017.1 and higher

Features and Fixes

  • Updated plugin to work with the latest version of WooCommerce (2.6.14) and Wordpress (4.7.2) with the latest API version
  • Fixed Kit Inventory handling
  • Added Product Dimension to product fields synced between FB and Woo
  • Added Product weight to product fields synced between FB and Woo
  • Added more product field mapping options
  • Added shipment tracking feature. Please note this feature requires the WooCommerce Tracking Plugin be enabled in WooCommerce
  • Bugfix to bring back the product ID correctly to FB on product sync
  • Fixed last sync date and added option to set specific date when resetting last sync date

Version 2.5

  • Released on February 09, 2017
  • Works with Fishbowl version 2016.14

Features and Fixes

  • Issue: Orders are using the customer address information instead of the order address which causes a null error when importing orders.
  • Resolution: Order address is now being used so the order import can successfully run.
  • Issue: When a user has the "company" field populated but nor first or last name a blank customer record is created.
  • Resolution: Customer record no longer includes blank data.
  • Issue: Using the Avalara Avatax plugin with WooCommerce cannot pull in orders because of an error that occurs when attempting to sync.
  • Resolution: Orders with Avatax now correctly sync.

Version 2.4

  • Released on October 13, 2016
  • Works with 2016 version of Fishbowl

Features and Fixes

  • Issue: OrderID can now be a string, not just an integer field.
  • Resolution: Our field once again matches the updated field from WooCommerce.