The Zen Cart module, located in the Integrations group, is an add-on module that can be installed from the Plugin module. After installing the plugin, a new module is added that integrates with one or more Zen Cart shopping carts.
- In any Fishbowl Client, open the Plugin module, located in the Integrations group.
- Select the Zen Cart plugin and click Install Now.
- Completely close all Fishbowl Clients.
- Exit the Fishbowl Server by right-clicking the Fishbowl Server tray icon and selecting Exit.
- After re-opening the Fishbowl Server, the admin user can access the Zen Cart module from any Fishbowl Client by opening the Integrations module group.
- To grant access to additional users, assign the Zen Cart-View access right to the appropriate groups in the User Group module
- Locate the Zen Cart store URL, for example carts.mycompany.com
- Locate the database username and password, as well as the database name.
Shopping cart plugins in Fishbowl have a standardized layout. Some of the images below show the options that are most common between all plugins. Any additional Zen Cart options or notes are included at the bottom of each section.
- If applicable, copy any needed setup information from the Zen Cart website.
- Click the Store Settings tab of the Zen Cart module.
- Enter a name in the Store Name field and any other required information.
- Click the button and verify that the connection to the Zen Cart website is working.
- Click the Save button at the top of the module to save the Zen Cart settings.
- Click the New button at the top of the module to configure another Zen Cart store.
- Schedule - Select the Active checkbox to import orders on a set schedule. Click the 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.
- Salesperson - Sales orders will be created using this salesperson.
- Location Group - Sales orders will be created using this location group.
- Class - When selected, sales orders will be created using this class as the sales order class.
- Payment Terms - When selected, sales orders will be created using this payment term.
- Shipping Item - When selected, sales orders will be created using this product as the default shipping item.
- Shipping Terms - When selected, sales orders will be created using these shipping terms.
- Use currency conversion - Enabling this option will import orders and convert them from the transaction currency (when specified) to your Fishbowl database home currency. The currency rate(s) used will be the rate(s) specified in Fishbowl. When currency conversion is enabled, some additional fields will be available, including a currency/customer mapping table when Use a Default customer is selected.
- Assign Zen Cart order number to Customer PO field - When selected, the Zen Cart order number will be displayed in the Sales Order Customer PO field.
- Use Zen Cart order number as Fishbowl SO number - When selected, sales orders will be created using the Zen Cart order number as the Fishbowl sales order number.
- Add an order number prefix - Define a prefix to be set on imported sales order numbers. This option is only available when using the order number from Zen Cart.
Order Status Mapping
- Use the table to assign Zen Cart order statuses to Fishbowl order statuses. The Order Import task will only import orders from Zen Cart that are in a status assigned to a Fishbowl order status. At least one active status mapping is required to use the Order Import task.
- Use the options below to determine how customers are created in Fishbowl and what information is imported into Fishbowl.
- Use a Default customer - 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 Zen Cart Customer.
- Use the Zen Cart Billing Address - Use the billing address from the Zen Cart order instead of the address for the default customer.
- Use the Zen Cart Shipping Address - Use the shipping address from the Zen Cart order instead of the address for the default customer.
- Use the Zen Cart Customer and Addresses - This option will import the addresses and customer from the Zen Cart order instead of using a generic customer.
- Name - Select the Zen Cart field that contains the customer name that should be imported into Fishbowl.
- Alt Name - An alternate field mapping when the primary mapping does not contain data.
- Choose the source fields for the order contact data.
- Contact - Select the Zen Cart field that contains the customer contact that should be imported into Fishbowl.
- Phone - Select the Zen Cart field that contains the phone number that should be imported into Fishbowl.
- Email - Select the Zen Cart field that contains the email address that should be imported into Fishbowl.
- Use same carrier and carrier service for all orders - When selected, all orders imported from Zen Cart will use the selected carrier and carrier service. If this option is unchecked, carriers can be mapped between Fishbowl and Zen Cart. 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.
- Create payments in Fishbowl - When selected, payments from the Zen Cart transaction will be shown in the Payment Viewer module.
- Use same payment method for all orders - When selected, all orders imported from Zen Cart will use the selected payment method.
- Link payment methods from Zen Cart - When selected, the table can be used to map payment methods between Zen Cart and Fishbowl.
- Always create payments - If no payment data exists for the order from Zen Cart, always create a payment in Fishbowl equaling the order total with the selected payment method.
- Do not create payment for international orders - If an international order is imported from Zen Cart, a payment will not be created in Fishbowl.
- Import Taxes - When selected, the tax amount from the Zen Cart 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 Tax Rate module and then the correct total tax amount will be set when the order is imported from Zen Cart. If taxes are not imported, the Fishbowl payment will equal the order total before tax.
- Schedule - Select the Active checkbox to export orders on a set schedule. Click the 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 Zen Cart order status - When selected, Zen Cart orders will be updated after the product(s) on the order have been shipped in Fishbowl. Shipment tracking information will also be sent from Fishbowl to Zen Cart.
- Check Zen Cart order status before fulfilling - When selected, the Zen Cart order status will be checked prior to attempting to send fulfillment information. If the Zen Cart order status has changed, no fulfillment information will be sent. This will increase the time required to complete the order fulfillment task.
- Schedule - Select the Active checkbox to import products on a set schedule. Click the 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 shopping cart 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.
Select ONE of the following options:
- My products already exist in Fishbowl and Zen Cart. They need to be linked together. - Select the fields that match between Zen Cart products and Fishbowl products.
- My products only exist in my Zen Cart store. They need to be imported into Fishbowl. - Map the fields that should be imported from Zen Cart into Fishbowl. If the weight or size UOM isn't set in Zen Cart, the default UOMs listed here will be used.
- Schedule - Select the Active checkbox to export products on a set schedule. Click the 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.
Select ANY of the following options:
- Create products in Zen Cart- Map the fields that should be imported from Zen Cart to Fishbowl. If the weight or size UOM isn't set in Zen Cart, the default UOMs listed here will be used. The selected product trees will be included, or all product trees will be included if the field is left blank. Selecting the Export All Products option will ignore the last sync date and attempt to push all of the Fishbowl products to Zen Cart. The product tree filter will still apply.
- Update linked products in Zen Cart - This section has the same options as the Create products in Zen Cart section above. After the initial product export, only the selected fields will be updated.
- Schedule - Select the Active checkbox to export inventory levels to Zen Cart on a set schedule. Click the 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 shopping cart 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.
- Inventory Type - Select the inventory quantity that should be used during the update: Available For Sale or Inventory On Hand.
- 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.
- Sync All Location Groups - 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 button.
- The attributes and IDs for orders and products can viewed or modified by clicking the Zen Cart button at the top of the Sales Order module and the Product module.
- To view the scheduled tasks for the Zen Cart module, open the Schedule module.
- A scheduled task can be run manually by double-clicking the task.
- Enter an email address in the Schedule module to receive error notifications.
- To view the history of a scheduled task, including the result/error, click the History button in the Schedule module.
- More details about recent errors can be viewed by opening the Data module and clicking the Server Log button.
- Check for multiple versions of the Zen Cart.jar file in C:\Program Files\Fishbowl\plugins\ or \Applications\Fishbowl\plugins\ on a Mac. If there are two Zen Cart versions, exit the Fishbowl Server and remove the older version on all client and server computers.
- On first load, a data migration task will run migrating carrier and payment mapping table data from the previous version
- On first load, existing scheduled tasks will be removed and need to be recreated by Saving the plugin
- Fixed bug where mapping validation error window appeared
- Fixed bug where smaller screens would cut off data in the Plugin UI
- Added UPC field as a mappable product field for product linking task
- Added option to use a tax mapping table on the order import task
- Fixed bug where the fulfillment task wasn't sending up the shipment tracking
- Various AU version fixes
- Added enhancement option to always record payments on incoming orders even when there is no payment data from the Channel
- Fixed bug when customer PO number did not populate correctly when the user did not have "Assign Channel Name order number to Customer PO field" checked
- Importing order taxes is now optional. With the option to create taxes disabled, if a payment is created the total will reflect the order total without tax
- Fixed bug where order import option to add on order number prefix was not saving
- Fixed bug when QB class setting was not being applied to regular products in orders
- Fixed bug where plugins first loading into a new database displayed pop up windows that should not be there
- Multi-currency support for orders and payments created from the channel. Multi-Currency must be turned on in FB
- With multi-currency enabled there is an option to not create payments for international orders
- Fixed bug when using the default payment method
- Changed so create taxes option is set by default
- Fixed bug for when discount item field was left blank and saved, causing null errors
- Added tracking to shipments on FB for fulfilled orders
- Fixed bug where UI issue did not allow some order import setting panels to be seen
- Fixed bug where panels were not sizing properly on small screens
**Please note, this update will require you to re-enter the order status mapping table data when first loading the plugin**
- Added ability to choose whether to sync on hand vs. available to sale inventory quantity
- Improved status mapping error messages during order import using advanced options and the order status hasn't been mapped
- In the order import tab when using the customer matching option, we now provide an alternative mapping option if the first mapping option does not contain data from the cart
- Fixed bug to reenable editing of existing order status mapping
- Updated POS Import customer settings panel to have the same mapping options as the standard order import
- Updated Test Connection success/fail dialog box
- Added a popup window to notify users about status mapping tables being cleared
- On the Inventory Update tab the location group drop down box is now replaced with a checkbox called "Sync all Location Groups"
- When unchecked, a user-defined table gives ability to define which location group(s) will be used to sync to the Channel
- Fixed bug when clicking next button sometimes it would bring the mapping back up that user just created in the order status mapping table
- Fixed bug where lines could be added to order status mapping without data
- Added ability to map the SO contact, phone, and email fields when using the "Use default customer" option on the Order Import task}
- Added option to add a custom prefix to the shopping cart order number on order import
- If the create payment option is enabled and not payment data comes through with the order, the order now imports rather than fails
- Fixed bug where the wrong inventory quantity was synced in the following scenario:
- When not using a location group (LG) filter and multiple LG's exist in the FB database and
- When one of the LG's has more inventory allocated than inventory available for all LG's combined
Do not skip this version unless installing the plugin for the first time. If you’re planning to update to a later version of Fishbowl, install 18.10 first, update your plugins, and open them so the data migrator (described below) can run. Then update Fishbowl to the desired version.
- Fixed bug where inventory updates all linked products instead of the first linked product in the list in FB
- Channel data, such as product IDs, variant IDs, etc. will no longer be stored in custom fields. New database tables will be created for this purpose. Data from your custom fields will be automatically migrated to the database the first time you open the plugin after updating. Data will still remain in the custom fields for reference. The custom fields can be deactivated.
- New version number system to match Fishbowl.
- Schedule task now gives a count of the items that were imported/exported. Error message will list items that failed.
- Will now use the account specified on the payment type (instead of the default) during order import.
- Fixed a bug regarding taxes in the Fishbowl Canada version.
- Ability to select which date field the Last Sync Date references.
- Shipping tax now accounted for in Fishbowl Australia version.
- Bug Fixes
- Updated for compatibility with Fishbowl version 2018.7
- Product import tab redesign. Now includes an order sync for situations where all products exist in both Fishbowl and the webstore.
- Product export tab redesign. Export and update have been separated. It’s now possible to update item fields in the webstore without doing a full product export.
- Settings have been relocated. They are now in a new tab.
- Added the ability to map a carrier service to an order priority in Fishbowl.
- Fixed a bug that was causing settings to not save.
- Redesigned Customer section in Order Import tab. **Reconfiguration of the customer settings will be required when you update to this version or beyond.
- Addition of a new order status mapping table. You can now import multiple statuses at the same time.
- New layout and updated feature set, including new mapping options for Product Import and Product Export.
- Compatibility fixes for 2017.6 version of Fishbowl
- Compatibility fixes for 2017.3 version of Fishbowl
- Fixed tax functionality for Australia and Canada versions of Fishbowl
- Compatibility fixes for 2017.2 version of Fishbowl
- Issue: Order sync isn't correctly pulling the bill to address on an order, only the ship to address.
- Resolution: The bill to address is now pulling with the order sync.
- Issue: Restarting the Fishbowl client resets the database password to the encrypted version.
- Resolution: Password now saves to utilize encryption key correctly.