WooCommerce

From Fishbowl Advanced

Icon.WooCommerce.png The WooCommerce module, located in the Integrations module group.png Integrations group, is an add-on module that can be installed from the Icon.Plugin.png Plugin module. After installing the plugin, a new module is added that integrates with WooCommerce. Additional connections can also be purchased to connect to multiple WooCommerce accounts.

Install

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

  1. In any Fishbowl Client, open the Icon.Plugin.png Plugin module, located in the Integrations module group.png Integrations group.
  2. Select the Icon.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 Icon.WooCommerce.png WooCommerce module from any Fishbowl Client by opening the Integrations module group.png Integrations group.
  6. To grant access to additional users, assign the WooCommerce-View access right to the appropriate groups in the Icon.User Group.png User Group module.

Setup

Complete the steps below to configure the WooCommerce integration.

  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, verify that Default is selected, and then click Save Changes.
    Permalink 3.png
    Alternatively, enter product/ in the Custom base field and then click Save Changes.
    Permalink 4.png
  5. Open the settings for WooCommerce by clicking WooCommerce and then selecting Settings.
    WooCommerce1.png
  6. Click the Advanced tab, select REST API, and then click Add key.
    WooCommerce2.png
  7. Enter a Description and User, select Read/Write, and then click Generate API Key. WooCommerce requires admin rights to access meta data. Please ensure that the WooCommerce user selected in the plugin has admin rights.
    WooCommerce4.png
    WooCommerce Store Settings.png
  8. Copy the Store URL, Consumer Key, and Consumer Secret from the WooCommerce website.
    WooCommerce Advanced Store Settings.png
  9. Click the Settings Button.png Settings button on the module toolbar of the Icon.WooCommerce.png WooCommerce module, and paste the information from the previous steps.
  10. Click the Connect Button.png Test Connection button, and then configure the settings below.
  11. Click the Advanced Settings Button.png Advanced Settings button to view additional settings.
    • Enable Meta Data Mapping - List your WooCommerce meta data fields for your orders, order items, customers, and products. The meta data fields will be made mappable where applicable throughout the plugin settings. WooCommerce requires admin rights to access meta data. Please ensure that the WooCommerce user selected in the plugin has admin rights.
      • Click the Pull Meta Data Button.png Pull Meta Data button to download meta data from your WooCommerce store. This will auto-populate the lists of meta data in the sections below, based on the 50 most recently created orders, customers, and products.
      • Use Order Meta Data - Click this option to enable and expand the order meta data section.
      • Use Order Item Meta Data - Click this option to enable and expand the order item meta data section.
      • Use Customer Meta Data - Click this option to enable and expand the customer meta data section.
      • Use Product Meta Data - Click this option to enable and expand the product meta data section.
      • Use Product Variant Meta Data - Click this option to enable and expand the product variant meta data section.
    • Order ID - Enter an order ID number and click the Down Button.png Pull Order Data button to see the JSON result.
    • Customer ID - Enter a customer ID number and click the Down Button.png Pull Customer Data button to see the JSON result.
    • Product and Variant ID - Enter a product and variant ID number and click the Down Button.png Pull Product Data button to see the JSON result.
  12. Click the Save button at the bottom of the window to save the WooCommerce settings.

TABS

Several plugins in Fishbowl have a standardized layout. Some of the images below show the options that are most common between all plugins. Any additional Small.WooCommerce.png WooCommerce options or notes are included at the bottom of each section.

Order Import

Cart Order Import.png
  • 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. If additional options are available, they can be enabled by selecting Use Advanced Options at the bottom of the Schedule section.
    Cart Schedule Options.png

Order Settings

Cart Order.png

Additional order data will be imported and displayed on the Details tab of the Icon.Sales Order.png Sales Order module.

  • Order field mapping - Use the mapping table to map WooCommerce order fields to Fishbowl order fields. If no field is mapped to the Fishbowl Order Number, then it will be generated by Fishbowl. If no date field is mapped to the Fishbowl Date Scheduled, then it will be set to the date of import.
  • Salesperson - Sales orders will be created using this salesperson.
  • Accounting Class - If there is no class mapped from WooCommerce, sales orders will be created using this class as the sales order class.
  • Payment Terms - If there are no payment terms mapped from WooCommerce, sales orders will be created using this payment term.
  • Shipping Terms - If there are no shipping terms mapped from WooCommerce, sales orders will be created using these shipping terms.
  • Priority - The default priority to be set on imported orders.
  • Use customer properties - Pull customer properties to the order such as salesperson, class, payment terms, shipping terms, and priority. If available, these will override the default values selected above.
  • Order Number Prefix - Define a short prefix that will be applied to the imported order numbers. The prefix will not be added if the Fishbowl Generated SO Number is being used as the order number.
  • Discount Item - Select the flat rate discount type that will be added as a line item to imported orders.

Order Item Settings

Cart Order Item Settings.png
  • Item field mapping - Use the mapping table to map WooCommerce order item fields to Fishbowl order item fields. If the Fishbowl price is not mapped, then the price from the Fishbowl product will be used and any applicable pricing rules applied. If the Fishbowl description is not mapped, then the description from the Fishbowl product will be used.
  • Shipping item - Select the shipping type product that will be added as a line item to orders when applicable. It will contain the shipping price to be paid by the customer.
  • Ignore miscellaneous items - If this option is selected, WooCommerce order items that are not related to an actual WooCommerce product record will be ignored and no Fishbowl line item will be created.
  • Enable order import product linking - WooCommerce order items will be matched to Fishbowl products based on the defined field mapping. If the WooCommerce product has been linked by ID to a Fishbowl product, that will take precedence.
  • Product field - The Fishbowl product field that will match the selected WooCommerce item field.
  • WooCommerce item field - The WooCommerce order item field that will match the selected Fishbowl product field.
Small.WooCommerce.png Additional WooCommerce information
  • Ignore shipping amount - Enabling this option may lead to order disparities for totals and payments.

Order Status Settings

Cart Order Status Mapping.png
Use the table to assign WooCommerce order statuses to Fishbowl order statuses. The Order Import task will only import orders from WooCommerce that are in a status assigned to a Fishbowl order status. If the Fishbowl order status is set to Historical, the order will be imported into Fishbowl, but it will not affect inventory or accounting. At least one active status mapping is required to use the Order Import task.

Location Group Settings

Cart Location Group.png
  • Use default location group - Select a default location group for imported orders.
  • Use order ship-to state mapping - This option allows orders to be imported into Fishbowl Location Groups according to the ship-to state. If the state is not mapped to a location group, the default location group specified above can be used.
  • Use order carrier mapping - This option allows orders to be imported into Fishbowl Location Groups according to the shipping carrier. If the carrier is not mapped to a location group, the default location group specified above can be used.
  • Use location group class as order class - This option will set the class for the order to the location group's class.

Small.WooCommerce.png Additional WooCommerce information

  • Use order meta data mapping - To enable order meta data mapping, click the Settings Button.png Settings button > Advanced Settings > Enable Meta Data Mapping > Use Order Meta Data > Save. WooCommerce requires admin rights to access meta data. Please ensure that the WooCommerce user selected in the plugin has admin rights.
    Order Metadata.png

Customer Settings

Cart WholesaleCustomer.png
Use the options below to determine how customers are created in Fishbowl and what information is imported into Fishbowl.
  • Enable multi-currency settings - This option is only available if Currency Conversion is enabled in Fishbowl.
  • Enable advanced mapping settings - This option provides additional options for creating and mapping customers.
  • Enable wholesale & retail settings - After enabling this option, additional fields will allow you to assign your retail orders to use a default Fishbowl customer while allowing your wholesale customers to be mapped as unique customers. This uses a WooCommerce meta data property called _wwpp_order_type on the Order object. If _wwpp_order_type = wholesale, those orders will use the wholesale mapping settings. If there is no value present in the property, the retail mapping settings will be used.
    WooCommerce Wholesale.png
  • Use a default customer for all orders - This option will associate all imported sales orders with the customer selected in the Customer field. This could be used with a generic Fishbowl customer such as WooCommerce Customer.
  • Use order billing Address - Use the billing address from the WooCommerce order instead of the address for the default customer.
  • Use order shipping Address - Use the shipping address from the WooCommerce order instead of the address for the default customer.
  • Use the order customer and addresses - This option will import the addresses and customer from the WooCommerce order instead of using a generic customer.
  • Field - Select the WooCommerce field you want to use as the Fishbowl customer name.
  • Alternate Field - An alternate field mapping when the primary mapping does not contain data.

Address Settings

Cart Address Settings.png
  • Ship to address mapping - Use the table to choose which WooCommerce fields are imported into the Fishbowl Ship To Name and Street Line fields.
  • Bill to address mapping - Use the table to choose which WooCommerce fields are imported into the Fishbowl Bill To Name and Street Line fields.
  • Coalesce addresses - If one address is missing, use the existing address for both the shipping and billing address.
  • Create missing states - Automatically create missing states.
  • Mark addresses residential - Import all shipping addresses as residential.

Carrier Settings

Cart Carrier Mapping.png
  • Use a default carrier - When selected, all orders imported from WooCommerce will use the selected carrier. If this option is unchecked, carriers can be mapped between Fishbowl and WooCommerce. Each mapping will also set the Sales Order Priority so that Fishbowl users can identify orders with express shipping that need to be picked and shipped quickly.
  • Use carrier mapping - When selected, the table can be used to map carriers between WooCommerce and Fishbowl.

Payment Settings

Cart Payment Mapping.png
  • Create payments in Fishbowl - When selected, payments from the WooCommerce transaction will be shown in the Icon.Payment Viewer.png Payment Viewer module.
  • Use a default payment method - When selected, all orders imported from WooCommerce will use the selected payment method.
  • Use payment method mapping - When selected, the table can be used to map payment methods between WooCommerce and Fishbowl.
  • Always create payments - If no payment data exists for the order from WooCommerce, this option will always create a payment in Fishbowl equaling the order total. If payment mapping is enabled, orders without payment data will show "None" as the payment method type.
  • Remove taxes from payment - When selected, the tax amount will be deducted from the payment total.
  • Remove shipping from payment - Enabling this option may lead to order disparities between WooCommerce and Fishbowl for totals and payments.
  • Ignore international payments - Payments will not be created for orders placed outside the United States. This setting is only available if Use Currency Conversion is enabled in the Icon.Currency.png Currency module.
  • Currency - Select the currency type you accept in WooCommerce. This is a required setting if Use Currency Conversion is enabled in the Icon.Currency.png Currency module.

Tax Settings

Cart Taxes.png
  • Import Taxes - 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 Icon.Tax Rate.png Tax Rate module and then the correct total tax amount will be set when the order is imported from WooCommerce. If taxes are not imported, the Fishbowl payment will equal the order total before tax.
  • Use Default Tax Item - With this option selected, the same tax item will be used for all orders.
  • Use State Tax Mapping - This option allows different tax items to be used based on the Ship To state/province. If this option is enabled, the plugin will give an error when trying to import an order with a state that has not been mapped.
  • Use Fishbowl Tax - Select a Fishbowl tax rate that will be used to calculate the order tax in Fishbowl. Tax calculations done by Fishbowl may differ from those done in WooCommerce.
    • Import WooCommerce tax as line item note - Import the WooCommerce tax as a line item note in Fishbowl.

Canada/Australia/International

When using the WooCommerce plugin with international versions of Fishbowl, some additional tax options are available in the Tax Settings section of the Order Import tab.
  • Use product tax - When selected, the Tax Code from the General tab of the Icon.Product.png Product module will be used.
    AU NZ Taxes.png
  • Use province tax - When selected, the shipping province on the order will be used to determine the tax, based on the mapping table below.
    International Tax Province.png

Fulfillment Export

WooCommerce Order Fulfillment.png
  • 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 order status - When selected, WooCommerce orders will be marked as fulfilled after the products on the order have been shipped in Fishbowl.
  • Check order status - When selected, the fulfillment status of the WooCommerce order will be checked before sending a fulfillment. If the order has already been fulfilled, Fishbowl will not attempt to update the order. This setting can help prevent errors caused by attempting to fulfill an order that has already been fulfilled. It is recommended to use this setting if your WooCommerce orders are sometimes fulfilled manually or by a third party.

Small.WooCommerce.png Additional WooCommerce information

  • Send shipment carrier and tracking - When selected, WooCommerce orders will be updated with the Fishbowl shipment date, carrier, and tracking number. The WooCommerce Shipment Tracking extension is required to use this setting.

Product Import

Cart Product Import.png
  • 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.
    NOTE: When setting up the WooCommerce integration for the first time, you will want to adjust the Last Sync to a date before any of your products were created (for example, setting the year to 2000) so that all of the products on your website will be imported.

The Product Import task imports products into Fishbowl from WooCommerce. A product link is created by storing the WooCommerce product ID in Fishbowl.

  • Link Existing Products will match existing products in Fishbowl and WooCommerce where data matches in the selected fields.
  • Import Products will import products from WooCommerce into Fishbowl, creating them based on the field mapping and settings below.

Product Export

Cart Product Export.png
  • 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.
  • Product Create Settings - Enable Export New Products and then map the fields that should be exported from Fishbowl to WooCommerce.
    • If the Weight UOM or Size UOM are specified, the Fishbowl product UOMs will be converted to the selected UOMs before the values are exported.
    • If the Product Tree Filter is used, only the products in the selected product tree category will be exported. If the product tree filter is left blank, all products will be included in the export.
  • Product Update Settings - Enable Update Linked Products and then map the fields that should be exported from Fishbowl to WooCommerce. This section has the same options as the Product Create Settings section above. After the initial product export, only the selected fields will be updated.

Inventory Update

Cart Inventory Update.png
  • 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.
    NOTE: When setting up the WooCommerce integration for the first time, you will want to adjust the Last Sync to a date before any of your products were created (for example, setting the year to 2000) so that it includes all of your products (or any applicable product tree filter) when updating inventory levels.
  • Export Company Wide Inventory - Include inventory quantities from all location groups in the inventory sync. If this option is unchecked, selected location groups can be added by clicking the Add Icon Button.png Add button.
  • Inventory Type - Select the inventory quantity that should be used during the update: Available For Sale, Inventory On Hand, or Available To Pick:
    • Available For Sale - The quantity available is calculated as On Hand - Allocated - Not Available + Drop Ship.
    • Inventory On Hand - The total amount of inventory in stock.
    • Available To Pick - Calculated as On Hand - Committed for inventory in locations that are marked as Pickable.
    • Available To Kit - In Fishbowl, kits are comprised of various inventory items, so the kit itself isn't displayed in the Icon.Inventory.png Inventory module. However, Fishbowl will always export an Available to Kit number to WooCommerce. The available quantity exported for kits will be the lowest available quantity for any of the items in the kit. For example, a Wheel kit may require 1 rim and 1 tire. If there are 100 rims available, but only 5 tires, then the quantity exported for the Wheel kit will be 5. The available quantity for a configurable kit will be the lowest available quantity for the default kit items.
  • Product Tree Filter - The export can be limited to a specific product tree category. If this field is left blank, all products will be included in the export.
  • Specify Min/Max Inventory Quantity - With this option enabled, the maximum inventory quantity sent to WooCommerce can be limited. For example, if there is an available quantity of 4000 in Fishbowl, the quantity in WooCommerce could be set to 999. If there is an available quantity of 3 in Fishbowl, the minimum quantity field could be used to send a quantity of 10 to WooCommerce.
  • Include Quantities Available To Build - When enabled, this option calculates and includes available-to-build quantities from applicable bills of materials in the inventory update. When a product is sold individually but also used as an input for a bill of materials, both quantities are pushed to the channel when applicable. Please note, this could lead to overselling in the scenario described.

Troubleshooting

  • Click the API Logs Button.png API Logs button at the top of the Icon.WooCommerce.png WooCommerce module to see the API calls and any errors that have been logged. You can leave the API Logs window open while you work in Fishbowl and click the Refresh Button.png Refresh button at the bottom of the window as needed. API logs can also be viewed in the Fishbowl/logs/plugins folder. Click Tools > Module Options to Disable REST logging.
  • When more than one shipment exists for an order (partial fulfillment), the applicable tracking numbers are synced to WooCommerce, however this feature does not work for orders with kits.
  • 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 be viewed or modified by clicking the Small.WooCommerce.png WooCommerce button at the top of the Icon.Sales Order.png Sales Order module and the Icon.Product.png Product module.
  • To view the scheduled tasks for the Icon.WooCommerce.png WooCommerce module, open the Icon.Schedule.png Schedule module.
  • A scheduled task can be run manually by double-clicking the task.
  • Enter an email address in the Icon.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 Icon.Schedule.png Schedule module.
  • More details about recent errors can be viewed by opening the Icon.Data.png Data module and clicking the Server Log Button.png Server Log button.
  • Check for multiple versions of the WooCommerce.jar file in C:\Program Files\Fishbowl\plugins\ or \Applications\Fishbowl\plugins\ on a Mac. If there are two WooCommerce versions, exit the Fishbowl Server and remove the older version on all client and server computers.
  • If you are getting a Failed to run scheduled task error, it is likely due to upgrading from WooCommerce 2.x to 3.x because of the layout change within the plugin. The following fix re-installs the plugin, which will require you to re-enter your store login information and import/export settings. Make sure to write that information down before proceeding with the following steps.
    First, open the Plugin module and click the Uninstall button for the WooCommerce plugin. Then restart the Fishbowl server. Next, open the Plugin module, click the Install button for the WooCommerce plugin, and then restart the Fishbowl server again. Finally, re-enter the store login information and the import/export settings and then click the Save button.
  • The plugin currently supports WooCommerce REST API V2