Scribe SolutionPak: QuickBooks Desktop to Salesforce v2.0

Size: px
Start display at page:

Download "Scribe SolutionPak: QuickBooks Desktop to Salesforce v2.0"

Transcription

1 Scribe SolutionPak: QuickBooks Desktop to Salesforce v2.0 10/11/2013

2 Important Notice No part of this publication may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, photocopying, recording, or otherwise, without prior written consent of Scribe Software Corporation. No patent liability is assumed with respect to the use of the information contained herein. While every precaution has been taken in the preparation of this book, Scribe Software Corporation assumes no responsibility for errors or omissions. This publication and features described herein are subject to change without notice. Scribe Software Corporation makes no representations or warranties, either expressed or implied, by or with respect to anything in this manual, and shall not be liable for any implied warranties of merchantability or fitness for a particular purpose or for any indirect, special or consequential damages. Disclaimer The names of companies, products, people, and/or data used in window illustrations and sample output are fictitious and are in no way intended to represent any real individual, company, product, or event, unless otherwise noted. Trademarks Scribe Online is a trademark of Scribe Software Corporation. All other products or services mentioned in this document are identified by the trademarks or service marks of their respective companies or organizations. Scribe Software Corporation disclaims any responsibility for specifying which marks are owned by which companies or organizations. Publishing Information 2013 Scribe Software Corporation. All rights reserved. Page i

3 Contents Scribe SolutionPak: QuickBooks Desktop to Salesforce v2.0 1 Introduction 1 Why use the SolutionPak: QuickBooks Desktop to Salesforce 2 About the QuickBooks Desktop to Salesforce v2.0 SolutionPak 3 Preparing the SolutionPak 5 Getting Started 5 Configuring the Scribe Online Connections 6 QuickBooks Desktop to Salesforce SolutionPak Maps 9 SolutionPak maps 9 A note about address formats 11 Customizing the SolutionPak 11 Error messages and known issues 12 Page ii

4 Scribe SolutionPak: QuickBooks Desktop to Salesforce v2.0 Introduction Welcome to the Scribe SolutionPak: QuickBooks Desktop to Salesforce.com v2.0. This SolutionPak allows you to easily integrate data between QuickBooks Desktop (Pro, Premier or Enterprise Solution, version 2012 and later) and Salesforce. This document will walk you through what you need to implement the QuickBooks Desktop to Salesforce v2.0. The purpose of this SolutionPak is to allow you to move records from the following entities between QuickBooks Desktop and Salesforce: Scribe SolutionPak: QuickBooks Desktop to Salesforce v2.0 Page 1

5 Scribe SolutionPak: QuickBooks Desktop to Salesforce v2.0 The Scribe SolutionPak: QuickBooks Desktop to Salesforce creates a powerful combination that helps keep your customer and financial data synchronized and accurate. This SolutionPak saves you real time and money by automatically synchronizing your financial data to your Salesforce system without manual data entry or distributing daily reports. With more complete and accurate data in their Salesforce system, your sales and support representatives can make better decisions about who to call, what to sell, and how to best handle your customer needs. For Finance Reduce the time spent answering repetitive research questions about invoices. Keep your customer addresses accurate and up-to-date in both Salesforce and QuickBooks. Lower licensing and training costs by limiting QuickBooks to the employees who actually need and use the full capabilities of QuickBooks. Eliminate errors and mistakes. For Sales Get all of the financial information you need in one place Salesforce. No more looking up information in two systems or having to ask Finance questions. Serve your customers faster and more accurately. Make better use of your time by having more information about your customer or prospect available in one place. Increase customer satisfaction with a more complete view of your customer or prospects interactions with your business. The SolutionPak: QuickBooks Desktop to Salesforce (which requires the Scribe Online Text Connector) is still available. This SolutionPak uses the new Scribe Online QuickBooks Connector. Why use the SolutionPak: QuickBooks Desktop to Salesforce This section describes a typical workflow and how Scribe Online and this SolutionPak can benefit both your Sales and Accounting organizations. Synchronizing Product Item Lists If your site uses QuickBooks as the "system of record" for your Product Item list, Scribe Online will keep the Product list updated in Salesforce. This ensures that your sales team is always working with an up-to-date Product list. When a salesperson creates an Opportunity in Salesforce and adds products to it, they know that they always have current pricing. Page 2 Why use the SolutionPak: QuickBooks Desktop to Salesforce

6 Scribe SolutionPak: QuickBooks Desktop to Salesforce v2.0 Workflow example 1. Let s say a Salesforce user creates an Opportunity and adds Products to it. They work the Opportunity through its lifecycle until they set the Opportunity Stage to Closed Won. At this point, Scribe Online creates a Sales Order in QuickBooks based on that Opportunity s information, including the Product. Your order entry process is now more efficient, since the sales orders are created automatically in QuickBooks,which frees up the accounting team for other tasks. In addition, this process reduces the chance of human error when moving Opportunity information from Salesforce into Sales Order information in QuickBooks. 2. QuickBooks processes the Sales Order as usual. However, any updates to the Sales Order are automatically updated in the Salesforce Opportunity. This allows the sales team using Salesforce to stay up-to-date on the current status of their customer s orders, including any changes to items on the order. 3. Next the Sales Order is converted to an Invoice in QuickBooks; and Scribe Online creates an Invoice summary in Salesforce. The summary includes information such as invoice date, due date, amount, and outstanding balance. As payments are applied to the Invoice in QuickBooks, changes to the outstanding balance are reflected in the Salesforce Invoice summary. Having the invoice history and status available to your sales team allows them to easily check on a customer s buying and payment history in Salesforce. The sales team no longer needs to ask the accounting team for updates or reports out of QuickBooks. About the QuickBooks Desktop to Salesforce v2.0 SolutionPak The SolutionPak is available as a downloadable ZIP file called ScribeQuickBooksDesktopToSalesforce_v2_0.zip. You can download this ZIP file from the Scribe Downloads page. SolutionPak contents The SolutionPak includes: SalesforceUnmanagedPackageLink.txt An unmanaged package that: Creates a QuickBooks Invoice Summary custom entity. This entity is linked to Accounts and stores summary information in Salesforce for invoices from QuickBooks Desktop. Creates the ScribeQBKey custom field on the following entities: Account Opportunity Product Scribe SolutionPak: QuickBooks Desktop to Salesforce v2.0 Page 3

7 Scribe SolutionPak: QuickBooks Desktop to Salesforce v2.0 The ScribeQBKey field is mapped in the Solution Instance and used for sharing keys between QuickBooks Desktop and Salesforce. Salesforce customizations are not exposed on entity page layouts. To view the ScribeQBKey field in Salesforce, edit the entity page layout. QuickBooksDesktopToSalesForce_v2_0.xml The Scribe Online IS maps (as an XML file) that contain the mappings between QuickBooks Desktop and Salesforce. In addition to the SolutionPak, your site will need: A subscription (trial or paid) to the Scribe Online Integration Service (IS) QuickBooks Desktop 2012 or The QuickBooks Desktop Connector, installed from the Scribe Online Marketplace. The QuickBooks Remote Connector version from RSSBus, Inc. For information about installing and using the QuickBooks Remote Connector, see Setting up the Remote Connection under Connecting to QuickBooks Desktop in the Scribe Online Help Center. The version number of the Remote Connector DLL files, System.Data.RSSBus.QuickBooks.dll and System.Data.RSSBus.QuickBooks.Entities.dll is version , which is the only supported version of the QuickBooks Remote Connector DLL files. Do not update or make any changes to these DLL files. Access to a Salesforce Organization. A Salesforce user with appropriate credentials and permissions to: Import unmanaged packages Edit page layouts Create and update the entities to which the SolutionPak integrates Page 4 About the QuickBooks Desktop to Salesforce v2.0 SolutionPak

8 Preparing the SolutionPak Preparing the SolutionPak This section does not describe general Scribe Online tasks such as configuring your source and target connections. For detailed information about using Scribe Online, see the Scribe Online Help Center. Getting Started Extract the files from ScribeQuickBooksDesktopToSalesforce_v2_0.zip After you download ScribeQuickBooksDesktopToSalesforce_v2_0.zip file, extract the files to a location that can be accessed by Scribe Online. 1. Install the Salesforce package that contains the Scribe customizations: a. Open the SalesforceUnmanagedPackageLink.txt file that you just extracted. b. Copy the link in the text file to your browser. - or - Click Install Salesforce Package to start the Salesforce Package Installation process. 2. In either case, follow the prompts to install the package, which creates the custom objects; as shown: 3. Copy QuickBooksDesktopToSalesForce_v2_0.xml to a directory under your Scribe Online installation such as..\scribe Software\Scribe Online Agent\Maps\. 4. Create a new Scribe Online IS Solution Instance. Preparing the SolutionPak Page 5

9 Preparing the SolutionPak Configuring Salesforce Product Family Picklist Values In QuickBooks, you can create subitems for any item in your Item list; you can, for example, have an item called Cabinets with subitems such as Cherry Cabinets, Steel Cabinets, and so on. If an item in QuickBooks is considered a subitem of another item, that subitem is assigned to the Product Family when it is created in Salesforce. From the example above, when the item "Cherry Cabinets" is created in Salesforce it is assigned to the "Cabinets" Product Family. However, before running the SolutionPak, you need to assign the QuickBooks subitem values to a Salesforce Product Family Picklist. To create a Product Family Picklist in Salesforce: For any items with subitems, add the subitems as picklist values on the Product.Product Family field in Salesforce, as follows: 1. From the account name drop-down list in Salesforce, select Setup. 2. From the App Setup menu (in the left-hand pane) select Customize. 3. Select Products, and then Fields. 4. From the Product Fields page, select Product Family. 5. From the Product Family page, click New on Product Family Picklist Values. 6. Create and save a picklist as described in the Salesforce.com Online Help. The Product Family picklist requires at least one value to run the Solution Instance. If it does not, you will receive the following error from the FromQB_Items_Products_ToSF map when you connect to Salesforce: Value cannot be NULL Configuring the Scribe Online Connections For this Solution Instance, Scribe recommends that you create your connections from the Connections page as you will need to assign these global connections to each map. For information, see Adding Scribe Online IS connections. Configure the Salesforce Connection Configure the Salesforce Connection as described in Connecting to Salesforce. Make sure that you have the credentials and permissions to create and update Accounts. If you are using an existing Salesforce Connection, be sure to refresh the metadata as described in Managing your Connections. Page 6 Configuring the Scribe Online Connections

10 Preparing the SolutionPak Configure the QuickBooks Desktop Connection Configure the QuickBooks Connection (as well as the QuickBooks Remote Connection) as described in Connecting to QuickBooks Desktop. Configure the Solution Instance 1. Configure Step 1 and Step 2 of the Solution Instance as described in Configuring a Scribe Online IS Solution Instance. 2. On Step 3, Defining a Map, click Import, and then browse to and import the QuickBooksDesktopToSalesForce_v2_0.xml file that contains the maps required for the SolutionPak. For more information, see Exporting and Importing Maps. 3. The maps you import will show as Incomplete. Open each map and configure the source and target connections and, if needed, make changes to the maps to suit your business requirements. 4. For the following maps, enable only the map that reflects your version of QuickBooks Desktop: FromSF_Accounts_Customers_ToQB_2012 For QuickBooks Desktop 2012 only. FromSF_Accounts_Customers_ToQB_2013 For QuickBooks Desktop 2013 only. Do not enable both maps. Scribe suggests that you delete the FromSF_Acconts_Customers_ToQB_<version> map that does not match your version of QuickBooks Desktop. 5. For the following maps, edit the Filter tab on the Query block to add an ignore user: FromSF_Accounts_Customers_ToQB_<version>, where version is either 2012 or 2013, depending on the map you enabled in Step 4, above. FromSF_Oppty_SalesOrder_ToQB The ignore user is a special user that you designate for Scribe Online to use to log in to Salesforce when it is changing data in Salesforce. For this SolutionPak, the Salesforce User that you specified for the Salesforce Connection you created will be used as the ignore user. This SolutionPak identifies new and changed data to integrate from Salesforce based on the LastModifiedByID field. If this field has been updated since the last time the Solution Instance ran, then those records are selected to be integrated to QuickBooks. Without an ignore user, updates can bounce back and forth between the two systems in an endless loop. By filtering out the ignore user, Scribe Online changes processing from, Select all records that have changed since the last time I ran this Solution Instance to Select all records that have changed since the last time I ran this Solution Instance, but that were not changed by the ignore user. Preparing the SolutionPak Page 7

11 Preparing the SolutionPak To set the ignore user: For each of these maps, open the Query block and edit the filter on the Filter tab to change <Salesforce User ID> to the User specified in the selected Salesforce Connection, as follows: LastModifiedByID is not equal to "<Salesforce User ID>" For example: Because QuickBooks Desktop does not provide a modifiedby field on entities, when a customer is created in QuickBooks from Salesforce, the customer will be reprocessed back into Salesforce. 6. By default, the Solution Instance only runs on demand. After you understand the integration requirements for the SolutionPak, you can schedule the Solution Instance (Step 4) to run automatically as described in Scheduling your Solution Instance. Page 8 Configuring the Scribe Online Connections

12 QuickBooks Desktop to Salesforce SolutionPak Maps QuickBooks Desktop to Salesforce SolutionPak Maps This section provides details about the maps included in the Scribe SolutionPak: QuickBooks Desktop to Salesforce v2.0. For more information on the specific field mappings, review the maps in Scribe Online. This package was designed using the QuickBooks Desktop 2013 Enterprise sample company Rock Castle Construction. SolutionPak maps This SolutionPak contains the following maps: FromQB_Customers_Accounts_ToSF map Integrates QuickBooks Desktop customers to Salesforce accounts. Only customers are integrated from QuickBooks to Salesforce. The SolutionPak does not integrate jobs. Salesforce supports one shipping address. This map integrates only the QuickBooks customers' default shipping address. FromSF_Accounts_Customers_ToQB map Integrates Salesforce accounts to QuickBooks customers. For QuickBooks Desktop 2013 only, if you want to integrate shipping address changes from Salesforce into QuickBooks, each QuickBooks Customer must have a default shipping address. Be sure to add a filter to the Query block for this map, as described in To set the ignore user. FromQB_Items_Products_ToSF map Integrates QuickBooks Deskop items to Salesforce products. Keep in mind that: Only items that have a price ($0.00 and greater) in QuickBooks are integrated to Salesforce. When a product is created in Salesforce, its price is assigned as an entry to the Standard Price Book. QuickBooks allows more than 2 decimal places ($2.125, for example) for prices. In most cases, Salesforce only allows 2 decimal places. If your QuickBooks prices use more than 2 decimal places, they may be rounded to 2 when integrating into Salesforce. QuickBooks Inventory Assembly and Discount item types are not integrated to Salesforce. If an item in QuickBooks is considered a subitem of another item, that subitem is assigned to the Product Family when it is created in Salesforce. For more information, see Configuring Salesforce Product Family Picklist Values on page 6. QuickBooks Desktop to Salesforce SolutionPak Maps Page 9

13 QuickBooks Desktop to Salesforce SolutionPak Maps FromQB_SalesOrder_Oppty_ToSF Integrates Sales Orders from QuickBooks Desktop to Salesforce Opportunities. Keep in mind: All orders for a given Quickbooks customer (even those for a job of a customer) will integrate to Salesforce. Opportunities are created with the Stage set to Closed Won. If the customer on the Sales Order in QuickBooks does not exist as an account in Salesforce, the map creates the account in Salesforce. Due to a known Salesforce Connector issue, the Create (or re-create) the SF opportunity block displays a warning. This warning does not affect record processing and can be ignored. FromSF_Oppty_SalesOrder_ToQB Integrates Salesforce Opportunities Salesforce to QuickBooks Desktop Sales Orders. Keep in mind: The Salesforce Opportunity ID is integrated to the QuickBooks Sales Order memo field. If the account on the Opportunity does not yet exist as a customer in QuickBooks, the map will create the customer in QuickBooks. Be sure to add a filter to the Query block for this map, as described in To set the ignore user. FromQB_Invoice_InvoiceSummary_ToSF This map moves QuickBooks invoice information into a custom Scribe entity named QuickBooks Invoice Summary which shows summary information about the invoice from QuickBooks. For example: This SolutionPak assumes that invoice numbers are not changed in QuickBooks. If the invoice number changes, then a new invoice record will be created in Salesforce. Page 10 SolutionPak maps

14 QuickBooks Desktop to Salesforce SolutionPak Maps A note about address formats Due to differences in how address data is stored between QuickBooks and Salesforce, this SolutionPak supports an address format where the Company Name is in the first line of the QuickBooks address and all street information is on the second line. For example: QBD Customer 123 Main Street, Suite 100 City, State Zip Country This SolutionPak does not support Deletes in either Salesforce or QuickBooks or merged accounts. Customizing the SolutionPak With Scribe Online s easy to use and flexible user interface, you can easily customize the SolutionPak for your needs. For example, you may want to change the SolutionPak maps to update Salesforce accounts with the credit limit amount from QuickBooks customer records. To customize the SolutionPak: 1. Create a custom field on the Account object in Salesforce for the credit limit. 2. Open FromSF_Accounts_Customers_ToQB. Map your new Salesforce custom field to the CreditLimit field in the QuickBooks Customers entity and you re done. Now, your sales team has instant access to customers credit limit information in the system they use most, Salesforce. QuickBooks Desktop to Salesforce SolutionPak Maps Page 11

15 Error messages and known issues Error messages and known issues Map Name/ Error Message FromQB_SalesOrder_Oppty_ToSF Error in calling operation query. Stopped processing due to line item error. Possible Cause Sales order contains a line item with a quantity of 0. Sales order contains a line item with a product that does not exist in Salesforce. Resolution Remove the line item from the QuickBooks salesorder or increase the quantity. Synchronize the QuickBooks item to Salesforce. FromQB_Invoice_InvoiceSummary_ToSF Operation failed. Label: Upsert invoice summary, Name:QuickBooks_ Invoice_Summary_c Upsert_5, Message: Status Code: REQUIRED _ FIELD_MISSING Error: Required fields are missing: [Account_c] Fields: Account_c Operation failed. Label: Upsert invoice summary, Name:QuickBooks_ Invoice_Summary_c Upsert_5, Message: Status Code: MISSING ARGUMENT Error: Name not specified The related customer for this QuickBooks invoice has not been created as a Saleforce account. The Salesforce Name field is not being populated on the custom Invoice Summary entity. Synchronize the QuickBooks customer to Salesforce. QuickBooks allows you to create invoices with no invoice number. However, the QuickBooks invoice number is mapped to the Salesforce Name (Invoice Number) field; so the QuickBooks Invoice requires an invoice number. FromQB_Items_Products_ToSF Value cannot be NULL The Product Family picklist requires at least one value to run the Solution Instance. Make sure the Product Family picklist in Salesforce contains at least one value. Page 12 Customizing the SolutionPak