*Salesforce QuickBooks Integration with Multiple QuickBooks File*
* To integrate multiple QuickBooks with Salesforce using DBSync we need to create multiple profiles in DBSync and define identity field in each Salesforce Object we require in integration.

* In this Demo I will show how different Salesforce Accounts are integrating with different QuickBooks Instances. Similarly the integration shown will also demonstrate each new Account created using QuickBooks Customer will be marked for specific QuickBooks Instances. So the integration flow will be Bi-Directional for Account to Customer.

* I have created 2 profiles in DBSync namely
** *SalesforceQuickBooks1*
** *SalesforceQuickBooks2*

!P1.png|border=1,align=center!
* Go to your Salesforce and Open *Setup ? Customize* *? *{*}Account* *? *{*}Fields* and click on *New* button in Account Custom Field and Relationships.

!worddav5311bea9019e396aca4f23fd4425b07c.png|border=1,align=center,height=89,width=672!
* Select Picklist Option button and click on *Next.*

!worddavf4960f0961e1eb568540057746c22246.png|border=1,align=center,height=148,width=672!
* Enter the field label, enter list of values for picklist, in this demo I am using 2 values as "QuickBooks1" and "QuickBooks2". Select all the check boxes and click on *Next.*

!worddav1226621818eda1ae2b6f8feabab696bc.png|border=1,align=center,height=275,width=672!
* In the Next Screen, select the Profiles you want to make field visible and click on *Next.*

!worddav66042601dafbd79530e1d34e98955903.png|border=1,align=center,height=208,width=672!
* On Add to Page Layout, select the page layout you want to add the fields to and click on *Save* button to save and create the custom fields.

!worddavb21b770394e4f29c68a7db5bca8fbbd7.png|border=1,align=center,height=295,width=672!
* The Field is created and can be viewed in the Accounts Custom Fields and Relationships section of Account Fields.

!worddave19e782b69a2258a5e4c5e8d2c3ab793.png|border=1,align=center,height=257,width=672!
* Go to Account in your Salesforce and open any account. Here in this tutorial I will open Delphi Chemicals.

!worddav85150010566d9aafb634169b364cc593.png|border=1,align=center,height=261,width=672!
* Select QuickBooks1 from the *QuickBooks* picklist and click on *Save*.

!worddavce1562e7ab560266c6d772303b680809.png|border=1,align=center,height=214,width=672!
* Similarly open one more Account in your Salesforce and select QuickBooks2 from the *QuickBooks* field. In this tutorial I will mark Abbott Insurance as the second Account

!worddav8fd5a3ac5e59886c2005e4bc39a819b7.png|border=1,align=center,height=177,width=672!
* Select QuickBooks2 from the *QuickBooks* Field and click on *Save*.

!worddav57097c34cb43a169311f67ba550e7329.png|border=1,align=center,height=206,width=672!
* Go to [www.mydbsync.com|http://www.mydbsync.com] login to your account and Launch DBSync application.

!P1.png|border=1,align=center!
* Click on *Manage* *? *{*}Edit* for *SalesforceQuickBooks1* profile.

!worddav0d2fb2a88311cf2270a696aaab52c30a.png|border=1,align=center,height=177,width=672!
* Click on *Edit* Link for QuickBooks Adapter, enter your first QuickBooks file path and click on *Save*.

!worddav4a7f637def3efefd48cd7a5870925e9e.png|border=1,align=center,height=424,width=672!
* Click on the *Configuration Link* for QuickBooks Adapter, select open with "QuickBooks Web Connector" and click on *OK* button. Both the windows are shown below respectively.

!worddav7d0eaec996acbd0d51038d73a018f990.png|border=1,align=center,height=181,width=672!

!worddav579d00f5509fa42471cf069d3f61d4b1.png|border=1,align=center,height=322,width=448!
* Click on *OK* in the next window. Select Option button "Yes always allow access" and click on continue button. The Profile will get added to QuickBooks Web Connector.

!worddavd9804ee34e241226bc6d047b969fbcec.png|border=1,align=center,height=540,width=530!
* Right Click on *BiDirectionalSync* process and select *Open* to open the integration profile.

!worddav5cab47f9360cfd13e0339e1a0e21705c.png|border=1,align=center,height=217,width=672!
* On *AccountToCustomer* state, select the *IsActive* check box and click on *Save* button to save the states. Double click on the *AccountToCustomer* State to open it.

!P2.png|border=1,align=center,width=800,height=231!
* Right Click on *Open* on the *Reader:Account* Dataflow to open the properties of the reader. In the query section enter query as *select {\!.} from Account where  AVSFQB\_*{*}{_}Quickbooks_Id_\__{*}{*}{_}c='' and QuickBooks{_}{*}*\__c='QuickBooks1'* and click on *Save*.

!worddavde07c4a338fc159d5fcd3b8125eab26c.png|border=1,align=center,height=235,width=672!
* Click on *Save & Close* button on the top right and click on *OK* to save the changes.

* In the Control Flow window, select the *IsActive* check box for CustomerToAccount and click on *Save* button to save the states. Double click on the *CustomerToAccount* State to open it.

!worddav18f3f7258fa288131f336eadf9a78ead.png|border=1,align=center,height=218,width=672!
* Right click on *Properties* on Map: QBToSF with "*Sequence Number 1*" to open the properties for mapping.

!worddav4aa3dab89bb5b25711640878be480525.png|border=1,align=center,height=363,width=672!
* Click on Edit Link for \*********_map.xml file to open the mapping window. Both the screenshot is shown below respectively.

!worddavbe08df4271153228d69ccedf1bc68487.png|border=1,align=center,height=225,width=672!
!worddav8f256731e76221b0b989e9aff277b548.png|border=1,align=center,height=268,width=672!
* Click on the *Edit* Link for first mapping in the list i.e. *AVSFQB\_*{*}{_}Quickbooks_id{_}{*}*\__c = LSPLIT(VALUE("ListID"))* and Enter following mapping for the field and click on *Save* button.

*             AVSFQB\_*{*}{_}Quickbooks_id{_}{*}*\__c* *=* *"QuickBooks1"+LSPLIT(VALUE("ListID"),"-")*

!worddav3b4ade60f4cd139bc014049d5ac6877e.png|border=1,align=center,height=298,width=672!
* Click on the *Edit* Link for second mapping in the list i.e. *Id* *=* *Link(*\**).* Enter following mapping for the field and click on *Save* button:

*             *{*}Id=select id, name from account where QuickBooks__c='QuickBooks1'*

!worddave2201e86290f2373b310bf603cf33fbf.png|border=1,align=center,height=353,width=672!
* Go back to DBSync console and Right click on *Properties* on Map:QBToSF with "*Sequence Number 2*" to open the properties for mapping.

!worddav614031266ba61d1460406d8461e99d72.png|border=1,align=center,height=292,width=672!
* Click on Edit Link for \*********_map.xml file to open the mapping window. Both the screenshot is shown below respectively.

!worddav94cadd12749fcd8ba67cd70aeb4007e3.png|border=1,align=center,height=225,width=672!
!worddav3fee1c1f92776de619f2cebb210f723c.png|border=1,align=center,height=269,width=672!
* Click on the *Edit* Link for first mapping in the list i.e. *AVSFQB\_*{*}{_}Quickbooks_id{_}{*}*\__c = LSPLIT(VALUE("ListID"))* and Enter following mapping for the field and click on *Save* button.

*             *{*}AVSFQB\_*{*}{_}Quickbooks_id{_}{*}*\__c* *=* *"QuickBooks1"+LSPLIT(VALUE("ListID"),"-")*

!worddavdc5b887209e076f03c9366b4b78fd7ae.png|border=1,align=center,height=351,width=672!
* Add a mapping in this window as *QuickBooks__c = Value("QuickBooks1")*

!worddav4bca1d1fd08ea0bc7d02ea086e02b7fe.png|border=1,align=center,height=236,width=672!
* Go back to DBSync console and Right Click on *Properties* on Map:QBToSF with "*Sequence Number 3*" to open the properties for mapping.

!worddavac63f76b0a84c4a357cb5c2333e60d91.png|border=1,align=center,height=240,width=672!
* Click on the *Edit* Link for first mapping in the list i.e. *AVSFQB\_*{*}{_}Quickbooks_id{_}{*}*\__c = LSPLIT(VALUE("ListID"))* and Enter following mapping for the field and click on *Save* button.

*             *{*}AVSFQB\_*{*}{_}Quickbooks_id{_}{*}*\__c* *=* *"QuickBooks1"+LSPLIT(VALUE("ListID"),"-")*

!worddav73be8e9ba362816552f75859b26a80ca.png|border=1,align=center,height=341,width=672!
* Go back to DBSync console and Right Click on *Properties* on Map: QBToSF with "*Sequence Number 4*" to open the properties for mapping by using the Edit Link in properties section.

* Click on the *Edit* Link for first mapping in the list i.e. *AVSFQB\_*{*}{_}Quickbooks_id{_}{*}*\__c = LSPLIT(VALUE("ListID"))* and Enter following mapping for the field and click on *Save* button.

*             *{*}AVSFQB\_*{*}{_}Quickbooks_id{_}{*}*\__c* *=* *"QuickBooks1"+LSPLIT(VALUE("ListID"),"-")*

!worddav9716cf68ae44846e650e4f8e4dd1a05f.png|border=1,align=center,height=276,width=672!
* Close the mapping window and go back to DBSync console. Click on the profile link on the top right corner of the screen, to move to profiles in the DBSync.

!worddav8927be1fc65a9c517dcfe13c3ea67591.png|border=1,align=center,height=71,width=672!
* Click on Edit Link for *SalesforceQuickBooks2* profile to open it for editing.

!worddavabd3ea9dcb8d6d7dd871a637b2e3b846.png|border=1,align=center,height=201,width=672!
* Click on Edit Link for *QuickBooks Adapter* and enter the second QuickBooks file path. Click on *Save* button to save the properties.

!worddav07103c25d405d41604b7461b4159fbf4.png|border=1,align=center,height=475,width=672!
* Click on the *Configuration Link* for QuickBooks Adapter, select open with "QuickBooks Web Connector" and click on *OK* button. Follow the steps shown earlier in the tutorial to add the profile to web connector.

!worddav7d0eaec996acbd0d51038d73a018f990.png|border=1,align=center,height=181,width=672!
* Right Click on *BiDirectionalSync* process and select *Open* to open the integration profile.

!worddav3d3067ceb2a7fd590caf85451f5281d2.png|border=1,align=center,height=171,width=672!
* On *AccountToCustomer* state, select the *IsActive* check box and click on *Save* button to save the states. Double click on the *AccountToCustomer* State to open it.

!P2.png|border=1,align=center,width=800,height=231!
* Right Click on *Open* on the *Reader:Account* Data flow to open the properties of the reader. In the query section enter query as *select \{\!.\} from Account where  AVSFQB\_*{*}{_}Quickbooks_Id{_}{*}{*}{_}c='' and QuickBooks\__{*}*\_c='QuickBooks2'* and click on *Save*.

!worddavfc19e9d0b05b1d219fdf526c8a9c766b.png|border=1,align=center,height=236,width=672!
* Click on *Save & Close* button on the top right and click on *OK* to save the changes.

* In the Control Flow window, select the *IsActive* check box for CustomerToAccount and click on *Save* button to save the states. Double click on the *CustomerToAccount* State to open it.

!worddav18f3f7258fa288131f336eadf9a78ead.png|border=1,align=center,height=218,width=672!
* Right click on *Properties* on *Map:QBToSF* with "*Sequence Number 1*" to open the properties for the mapping.

!worddav4aa3dab89bb5b25711640878be480525.png|border=1,align=center,height=363,width=672!
* Click on Edit Link for \*********_map.xml file to open the mapping window. Both the screenshot is shown below respectively.

!worddavbe08df4271153228d69ccedf1bc68487.png|border=1,align=center,height=225,width=672!
!worddav8f256731e76221b0b989e9aff277b548.png|border=1,align=center,height=268,width=672!
* Click on the *Edit* Link for second mapping in the list i.e. *Id* *=* *Link(*\**).* Enter following mapping for the field and click on *Save* button:

*             *{*}Id=select id, name from account where QuickBooks__c='QuickBooks2'*

!worddav3d47efd95c8cda7423a7df42bf20c58b.png|border=1,align=center,height=349,width=672!
* Go back to DBSync console and right click on Properties on Map:QBToSF with "*Sequence Number 2*" to open the properties for the mapping.

!worddav614031266ba61d1460406d8461e99d72.png|border=1,align=center,height=292,width=672!
* Click on Edit Link for \*********_map.xml file to open the mapping window. Both the screenshot is shown below respectively.

!worddav94cadd12749fcd8ba67cd70aeb4007e3.png|border=1,align=center,height=225,width=672!
!worddav3fee1c1f92776de619f2cebb210f723c.png|border=1,align=center,height=269,width=672!
* Add a mapping in this window as *QuickBooks__c = Value("QuickBooks2")*

!worddave20189b8351fb16c4301ea3adea6f0d6.png|border=1,align=center,height=233,width=672!
* Go back to DBSync console and Right Click on Properties on Map: QBToSF with "*Sequence Number 3*" to open the properties for mapping.

!worddavac63f76b0a84c4a357cb5c2333e60d91.png|border=1,align=center,height=240,width=672!
* Click on the *Edit* Link for first mapping in the list i.e. *AVSFQB\_*{*}{_}Quickbooks_id{_}{*}*\__c = LSPLIT(VALUE("ListID"))* and Enter following mapping for the field and click on *Save* button.

*AVSFQB\_*{*}{_}Quickbooks_id{_}{*}*\__c* *="QuickBooks2"+LSPLIT(VALUE("ListID"),"-")*

!worddav73be8e9ba362816552f75859b26a80ca.png|border=1,align=center,height=341,width=672!
* Go back to DBSync console and \*Right Click on Properties\* on Map:QBToSF with "*Sequence Number 4*" to open the properties for mapping.

* Click on the *Edit* Link for first mapping in the list i.e. *AVSFQB\_*{*}{_}Quickbooks_id{_}{*}*\__c = LSPLIT(VALUE("ListID"))* and Enter following mapping for the field and click on *Save* button.

*             *{*}AVSFQB\_*{*}{_}Quickbooks_id{_}{*}*\__c* *="QuickBooks2"+LSPLIT(VALUE("ListID"),"-")*

!worddav9716cf68ae44846e650e4f8e4dd1a05f.png|border=1,align=center,height=276,width=672!
* Close the mapping window. Go to *QuickBooks Web Connector,* enter your DBSync password for both the profiles, select the profiles and click on *Update Selected* to start the sync.

!worddav81749a74289fc7e5f21028b719da8450.png|border=1,align=center,height=414,width=672!
* The Sync will start and will update Salesforce Accounts as Customers in QuickBooks and Similarily All the Customers of QuickBooks that don't exist in Salesforce will be created in Salesforce with identity field marked for specific QuickBooks File.

* That's how DBSync handles Multiple QuickBooks file or instance. One thing to keep in mind before following this step is you need different DBSync QuickBooks Licenses if you are using more than one QuickBooks file. You can also configure each Profile in separate QuickBooks Web Connector instances, if you are running QuickBooks on more than one machine.