Salesforce: Difference between revisions

From Fishbowl Advanced
No edit summary
 
(6 intermediate revisions by 2 users not shown)
Line 8: Line 8:
# Click the {{Button|Settings}} at the top of the module to open the '''Salesforce Settings''' window.<br>[[File:Salesforce Settings.png]]
# Click the {{Button|Settings}} at the top of the module to open the '''Salesforce Settings''' window.<br>[[File:Salesforce Settings.png]]
# To connect to your Salesforce account, click the connect button.<br>[[File:Salesforce connect.png]]
# To connect to your Salesforce account, click the connect button.<br>[[File:Salesforce connect.png]]
# Log in as a Salesforce user with API access.<br>[[File:Salesforce Login.png]]
# Log in as a Salesforce user with full API access ('''ModifyAllData''' and '''ModifyMetadata''').<br>[[File:Salesforce Login.png]]
# Click the '''Import''' button to import custom stages and custom fields from Salesforce. These will be used later in the mapping tables.<br>[[File:Salesforce Settings.png]]
# Click the '''Import''' button to import custom stages and custom fields from Salesforce. These will be used later in the mapping tables.<br>[[File:Salesforce Settings.png]]
# Because Salesforce does not have native objects for many of the features available in Fishbowl, Fishbowl can create custom objects in Salesforce. Click the '''Inventory''' and '''Fulfillment''' buttons to automatically create these objects in Salesforce.
# Because Salesforce does not have native objects for many of the features available in Fishbowl, Fishbowl can create custom objects in Salesforce. Click the '''Inventory''' and '''Fulfillment''' buttons to automatically create these objects in Salesforce. If your user does not have sufficient privileges, you will see an error message when attempting to create these objects.
# Expand the [[#Advanced Settings|Advanced Settings]], review the [[#Object mapping|Object mapping]] options, and then click the '''Save''' button.
# Expand the [[#Advanced Settings|Advanced Settings]], review the [[#Object mapping|Object mapping]] options, and then click the '''Save''' button.
# At the bottom of the '''Fulfillment Export''' tab of the plugin, enable '''Use Fishbowl Fulfillment'''.<br>[[File:Salesforce_Order_Fulfillment.png]]
# At the bottom of the '''Fulfillment Export''' tab of the plugin, enable '''Use Fishbowl Fulfillment'''.<br>[[File:Salesforce_Order_Fulfillment.png]]
Line 63: Line 63:


===Order Item Settings===
===Order Item Settings===
{{Order Item Settings|{{PAGENAME}}}}
{{ImageSubtab|Order Item Settings|Salesforce}}
:* '''Item Field Mapping''' - Use the mapping table to map {{PAGENAME}} 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.
:* '''Ignore Miscellaneous items''' - If this option is selected, {{PAGENAME}} order items that are not related to an actual {{PAGENAME}} product record will be ignored and no Fishbowl line item will be created.
:* '''Enable Order Import Product Linking''' - {{PAGENAME}} order items will be matched to Fishbowl products based on the defined field mapping. If the {{PAGENAME}} product is already linked by ID to a Fishbowl product, that will take precedence.
::* '''Product Field''' - The Fishbowl product field that will match the selected {{PAGENAME}} item field.
::* '''{{PAGENAME}} Item Field''' - The {{PAGENAME}} order item field that will match the selected Fishbowl product field.
:* '''Ignore Line Item If''' - This setting is optional and allows you to ignore specific Opportunity line items so that Fishbowl line items are not created. Using this setting will require a checkbox type custom field on the Opportunity line item. Select the custom field you want to use in this field.
:* '''Evaluates To''' - In this field, select the value that means that you want to ignore the line item.


===Location Group Settings===
===Location Group Settings===

Latest revision as of 13:03, 3 January 2025

Icon.Salesforce.png The Salesforce 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 Salesforce Enterprise or Salesforce Unlimited. Additional connections can also be purchased to connect to multiple Salesforce accounts.

Install

The documentation on this page is for the most recent version of the Icon.Salesforce.png Salesforce 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.Salesforce.png Salesforce 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.Salesforce.png Salesforce module from any Fishbowl Client by opening the Integrations module group.png Integrations group.
  6. To grant access to additional users, assign the Salesforce-View access right to the appropriate groups in the Icon.User Group.png User Group module.

Setup

Complete the steps below to configure the Salesforce integration.

  1. Click the Settings Button.png Settings button at the top of the module to open the Salesforce Settings window.
    Salesforce Settings.png
  2. To connect to your Salesforce account, click the connect button.
    Salesforce connect.png
  3. Log in as a Salesforce user with full API access (ModifyAllData and ModifyMetadata).
    Salesforce Login.png
  4. Click the Import button to import custom stages and custom fields from Salesforce. These will be used later in the mapping tables.
    Salesforce Settings.png
  5. Because Salesforce does not have native objects for many of the features available in Fishbowl, Fishbowl can create custom objects in Salesforce. Click the Inventory and Fulfillment buttons to automatically create these objects in Salesforce. If your user does not have sufficient privileges, you will see an error message when attempting to create these objects.
  6. Expand the Advanced Settings, review the Object mapping options, and then click the Save button.
  7. At the bottom of the Fulfillment Export tab of the plugin, enable Use Fishbowl Fulfillment.
    Salesforce Order Fulfillment.png
  8. Open a Salesforce Opportunity in your web browser, click the Settings icon near the top-right corner, and then click Edit Page.
    Salesforce Edit Page.png
  9. In the Related Lists section, select the page layout you would like to edit (in this case, the layout marked as "previewed").
    Salesforce Edit Page Layout.png
  10. Select Related Lists and then drag Fishbowl Fulfillments to the desired location.
    Salesforce Edit Page Layout2.png
  11. Click the wrench icon above Fishbowl Fulfillments, and choose the fields that you would like to see listed in the Salesforce Opportunity.
    Salesforce Edit Page Layout3.png
  12. You should now be able to view the fulfillment information for all future exports from Fishbowl. Each fulfilled item in Fishbowl will have its own fulfillment line on the Opportunity (including multiple records for partial fulfillments).
    Fishbowl Fulfillment Fields.png

Advanced Settings

Advanced Settings for the Salesforce integration can be found by clicking the Settings Button.png Settings button on the module toolbar at the top, and then expanding the Advanced Settings section.

Salesforce Advanced Settings.png

Object mapping

Object mapping can be accessed by selecting Enable Object Mapping. This allows custom Salesforce objects to be mapped to Fishbowl. Below are a few examples:

Salesforce custom objects.png

Salesforce custom payments.png

Salesforce custom quotes.png

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.Salesforce.png Salesforce options or notes are included at the bottom of each section.

Order Import

Salesforce 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


A Salesforce opportunity must meet the following criteria before it is imported to Fishbowl:
  1. The opportunity has products that have been linked to Fishbowl through the Product Import or Product Export.
  2. The opportunity has a billing OR shipping address. If only one address is present in Salesforce, Fishbowl will use that address as the billing AND shipping address.
  3. The opportunity has a status that is mapped to a Fishbowl order status through the Order Status Mapping.
  4. Based on the Apply Last Sync To setting in the Schedule, the order was created/modified since the last sync date.

Order Settings

Salesforce 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 Salesforce 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.
  • Discount Item - Select the flat-rate discount type that will be added as a line item to imported orders.
  • Combine All Discounts - Enabling this option will sum up all of the line-item discounts and apply them as one order discount.
  • Use Customer Defaults - If there is no data mapped from Salesforce, sales orders will be created using the defaults from the Fishbowl customer. If the customer doesn't have defaults, then the following defaults will be used:
    • Default Salesperson - If there is no salesperson mapped from Salesforce, sales orders will be created using this salesperson.
    • Default Class - If there is no class mapped from Salesforce, sales orders will be created using this class as the sales order class.
    • Default Payment Terms - If there are no payment terms mapped from Salesforce, sales orders will be created using this payment term.
    • Default Shipping Terms - If there are no shipping terms mapped from Salesforce, sales orders will be created using these shipping terms.
  • 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.
  • Use Order Filter - With this option enabled, only orders that match the specified criteria will be imported. For example, this can be used to import only orders with a matching custom field, name, description, user, etc.
    Order Filter.png

Order Item Settings

Salesforce Order Item Settings.png
  • Item Field Mapping - Use the mapping table to map Salesforce 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.
  • Ignore Miscellaneous items - If this option is selected, Salesforce order items that are not related to an actual Salesforce product record will be ignored and no Fishbowl line item will be created.
  • Enable Order Import Product Linking - Salesforce order items will be matched to Fishbowl products based on the defined field mapping. If the Salesforce product is already linked by ID to a Fishbowl product, that will take precedence.
  • Product Field - The Fishbowl product field that will match the selected Salesforce item field.
  • Salesforce Item Field - The Salesforce order item field that will match the selected Fishbowl product field.
  • Ignore Line Item If - This setting is optional and allows you to ignore specific Opportunity line items so that Fishbowl line items are not created. Using this setting will require a checkbox type custom field on the Opportunity line item. Select the custom field you want to use in this field.
  • Evaluates To - In this field, select the value that means that you want to ignore the line item.

Location Group Settings

Cart Location Group Mapping.png
  • Use default location group - Select a default location group for imported orders.
  • Use location group mapping - Use the table to map location groups between Salesforce and Fishbowl. This option is only available if Object mapping is enabled.

Order Status Mapping

Cart Order Status Mapping.png
Use the table to assign Salesforce order statuses to Fishbowl order statuses. The Order Import task will only import orders from Salesforce 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.

Customer Settings

Cart Customer.png
Use the options below to determine how customers are created in Fishbowl and what information is imported into Fishbowl.
  • Enable multi-currency settings - Order prices will be converted from the channel order currency to the Fishbowl currency assigned to the mapped customer. Requires Fishbowl currency conversion to be enabled.
  • Enable advanced mapping settings - Opens up additional customer mapping options and control over customer creation.
  • 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 Salesforce Customer.
  • Use order billing address - Use the billing address from the Salesforce order instead of the address for the default customer.
  • Use order shipping address - Use the shipping address from the Salesforce 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 Salesforce order instead of using a generic customer.
  • Field - Select the Salesforce field that contains the customer name that should be imported into Fishbowl.
  • Alternate Field - An alternate field mapping when the primary mapping does not contain data.
Small.Salesforce.png Additional Salesforce information
  • Coalesce order addresses - If one address is missing, use the existing address for both the shipping and billing address.

Carrier Settings

Cart Carrier Mapping.png
  • Use a default carrier - When selected, all orders imported from Salesforce will use the selected carrier. If this option is unchecked, carriers can be mapped between Fishbowl and Salesforce. 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 Salesforce and Fishbowl.

Payment Settings

Cart Payment Mapping.png
  • Create payments in Fishbowl - When selected, payments from the Salesforce transaction will be shown in the Icon.Payment Viewer.png Payment Viewer module.
  • Use a default payment method - When selected, all orders imported from Salesforce will use the selected payment method.
  • Use payment method mapping - When selected, the table can be used to map payment methods between Salesforce and Fishbowl.
  • Always create payments - If no payment data exists for the order from Salesforce, 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 Salesforce 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 Salesforce. This is a required setting if Use Currency Conversion is enabled in the Icon.Currency.png Currency module.
See Object mapping for more details.

Tax Settings

Cart Taxes.png
  • Import Taxes - When selected, the tax amount from the Salesforce 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 Salesforce. 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 Salesforce.
    • Import Salesforce tax as line item note - Import the Salesforce tax as a line item note in Fishbowl.
See Object mapping for more details.

Order Export

Salesforce Order Export.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.
Expand each Settings section to see the mapping tables. Fishbowl will search Salesforce for the first account name that matches the Fishbowl customer name. If no match is found, an account is created in Salesforce. A Fishbowl order must meet the following criteria before it is exported to Salesforce:
  1. The order did not originate from Salesforce through the Order Import.
  2. The order has a status that is mapped to a Salesforce status through the Order Export mapping table.
  3. Based on the Last Sync Date in the Schedule, the order was created since the last sync date.
Fishbowl->Salesforce Field Mappings for order export as follows:
  • SO number->Opportunity Name
  • Customer name->Account Name
  • Line item price->Amount
  • Product Number->Product Name
  • Product Price->Product Price
  • Product quantity->Quantity
  • Customer Billing address city, state, zip, country->Billing address
  • Customer Shipping address city, state, zip, country->Shipping address
  • Creation date in Fishbowl is sent to the opportunity in Salesforce

Fulfillment Export

Salesforce 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.
  • The Fulfillment Export task will update Salesforce opportunities based on fulfilled Fishbowl sales orders. A note will be created on the opportunity with the shipment carrier and tracking number. The opportunity status and other fields can also be updated based on how the settings are configured.
  • Use Fishbowl Fulfillment will create a fulfillment record on your opportunity for each item that is shipped. To use this feature, you must first complete all of the instructions in the Plugin Settings.

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 Salesforce 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 Salesforce. A product link is created by storing the Salesforce product ID in Fishbowl.

  • Link Existing Products will match existing products in Fishbowl and Salesforce where data matches in the selected fields.
  • Import Products will import products from Salesforce 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 Salesforce.
    • 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 Salesforce. 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 Salesforce 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 Salesforce 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 Salesforce. 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 Salesforce can be limited. For example, if there is an available quantity of 4000 in Fishbowl, the quantity in Salesforce 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 Salesforce.
  • 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.

Customer Import

Cart Customer Import.png
The Customer Import task imports customers from Salesforce into Fishbowl. A customer link is created by storing the Salesforce customer ID in Fishbowl. Use these settings to determine how your Fishbowl customers are matched to Salesforce.
  • Schedule - Select the Checked.png Active checkbox to import customers from Salesforce 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.
  • Link and update existing customers only - Use this option if the customers already exist in Fishbowl and Salesforce and you just want to link them together or update them.
  • Import, link, and update customers - Use this option if you want to import customers from Salesforce into Fishbowl and link them together. If the task is set to run on a schedule, linked customers will be updated and new customers will be imported into Fishbowl.

Customer Export

Cart Customer Export.png
The Customer Export task can create and update customers in Salesforce. A customer link is created by storing the Salesforce customer ID in Fishbowl. Use these settings to determine how your Fishbowl customers are mapped to Salesforce.
  • Schedule - Select the Checked.png Active checkbox to export customers to Salesforce 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 linked customers only - Use this option if your customers are already linked in Fishbowl and Salesforce and you just want to export any changes from Fishbowl to Salesforce.
  • Create and update customers - Use this option if you want to export customers from Fishbowl to Salesforce and link them together. If the task is set to run on a schedule, any new customers or changes to existing customers will be exported from Fishbowl to Salesforce.
  • Filter by included customer group(s) - This filter can be used to export only the customers that are in the selected customer groups.

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 be viewed or modified by clicking the Small.Salesforce.png Salesforce 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.Salesforce.png Salesforce 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 Salesforce.jar file in C:\Program Files\Fishbowl\plugins\ or \Applications\Fishbowl\plugins\ on a Mac. If there are two Salesforce versions, exit the Fishbowl Server and remove the older version on all client and server computers.