2022

Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Wiki Markup
*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

...

  • SalesforceQuickBooks1
  • SalesforceQuickBooks2

Image Removed

  • Go to your Salesforce and Open Setup ? Customize ? Account ? Fields and click on New button in Account Custom Field and Relationships.

Image Removed

  • Select Picklist Option button and click on Next.

Image Removed

  • 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.

Image Removed

  • In the Next Screen, select the Profiles you want to make field visible and click on Next.

Image Removed

  • 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.

Image Removed

  • The Field is created and can be viewed in the Accounts Custom Fields and Relationships section of Account Fields.

Image Removed

  • Go to Account in your Salesforce and open any account. Here in this tutorial I will open Delphi Chemicals.

Image Removed

  • Select QuickBooks1 from the QuickBooks picklist and click on Save.

Image Removed

  • 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

Image Removed

  • Select QuickBooks2 from the QuickBooks Field and click on Save.

Image Removed

Image Removed

  • Click on Manage Edit for SalesforceQuickBooks1 profile.

Image Removed

  • Click on Edit Link for QuickBooks Adapter, enter your first QuickBooks file path and click on Save.

Image Removed

  • 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.

Image Removed

Image Removed

  • 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.

Image Removed

  • Right Click on BiDirectionalSync process and select Open to open the integration profile.

Image Removed

  • 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.

Image Removed

  • 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_Idc='' and QuickBooks_c='QuickBooks1' and click on Save.

Image Removed

  • 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.

Image Removed

  • Right click on Properties on Map: QBToSF with "Sequence Number 1" to open the properties for mapping.

Image Removed

...

 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

...

Image Removed
Image Removed

...

 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"),"-")

...

Image Removed

...

*

!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'

...

Image Removed

  • Go back to DBSync console and Right click on Properties on Map:QBToSF with "Sequence Number 2" to open the properties for mapping.

Image Removed

...

*

!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

...

Image Removed
Image Removed

...

 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"),"-")

...

Image Removed

...

*

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

...

Image Removed

  • Go back to DBSync console and Right Click on Properties on Map:QBToSF with "Sequence Number 3" to open the properties for mapping.

Image Removed

...

*

!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"),"-")

...

Image Removed

  • 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.

...

*

!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"),"-")

...

Image Removed

  • 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.

Image Removed

  • Click on Edit Link for SalesforceQuickBooks2 profile to open it for editing.

Image Removed

  • Click on Edit Link for QuickBooks Adapter and enter the second QuickBooks file path. Click on Save button to save the properties.

Image Removed

  • 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.

Image Removed

  • Right Click on BiDirectionalSync process and select Open to open the integration profile.

Image Removed

  • 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.

Image Removed

  • 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_Idc='' and QuickBooks_c='QuickBooks2' and click on Save.

Image Removed

  • 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.

Image Removed

  • Right click on Properties on Map:QBToSF with "Sequence Number 1" to open the properties for the mapping.

Image Removed

...

*

!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

...

Image Removed
Image Removed

  • 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:

...

 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'

...

Image Removed

  • Go back to DBSync console and right click on Properties on Map:QBToSF with "Sequence Number 2" to open the properties for the mapping.

Image Removed

...

*

!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

...

Image Removed
Image Removed

...

 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")

...

Image Removed

  • Go back to DBSync console and Right Click on Properties on Map: QBToSF with "Sequence Number 3" to open the properties for mapping.

Image Removed

...

*

!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"),"-")

...

Image Removed

  • Go back to DBSync console and *Right Click?Properties* on Map:QBToSF with "Sequence Number 4" to open the properties for mapping.

...

*

!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"),"-")

...

Image Removed

  • 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.

Image Removed

  • 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.

...

*

!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.