2022

Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Integration from

...

QuickBooks to Salesforce

...

  • If you use Product Hierarchy in QuickBooks, then Salesforce needs to be updated to support product hierarchy. A Screenshot for product hierarchy in QuickBooks is shown below.

...

  • In the previous screenshot
  • Let's say DBSync is the parent item for SF2QBDesktop and SF2QBOnline items. Now if you generate an invoice in QuickBooks with DBSync and SF2QBDesktop, Item Name for DBSync remains DBSync but for SF2QBDesktop it is shown as DBSync: SF2QBDesktop. A screenshot for the same is shown below.

...

  •  
  • If this invoice is moved to Salesforce Opportunity, then product is migrated with the parent Name into Salesforce.
  • To make changes, go to https://login.salesforce.com/ . Enter you User Name and Password and click on Login. The user should have administrative privileges to make changes to Salesforce instance.

...

  • Go to Customer Login in www.mydbsync.com and enter your user name and password and click on Sign in. Click on Launch to Launch DBSync integration console.

Image Removed

  • Click on Edit under Manage to Launch the Process Builder screen for your integration profile.
  • Double click on BiDirectionalSync process on the right hand side.
  • Once inside the process builder page, double-click on the State "ItemServiceToProduct" to open the data flow window.

Image Removed

  • Once inside the "ItemServiceToProduct" state, right-click on the project page.
  • Ensure that the Salesforce and QuickBooks connectors are validated. You should have process template SalesforceQuickBooksBiDirectional
  • Click on Projects, select and open the relevant project. You will see the available processes. Select & open the relevant process. You will see list of available Workflows.
  • Open the workflow "ItemServiceToProduct", in Rules section open the map for "Sequence No. 2" box and select "Properties" from the menu as illustrated below.

Image Removed

  • Click on "Edit" link for  " ********_map.xml"* to open the mapping in a new tab or window.

...

  • Add the mapping QBName__c = VALUE("FullName") and save the mapping.

...

  • Now your Salesforce is configured to handle product hierarchy of QuickBooks.

...

Integration from Salesforce to

...

QuickBooks

...

  • If you have Parent-Child relationship for Products in Salesforce, then the following changes needs to be made to the mappings.
  • As mentioned in the earlier section, go back to the Process-Builder page by double-clicking on the BiDirectionalSync process on the right hand side.
  • Open the OpportunityToInvoice state and right-click on the Sequence No 3 box and select Properties from the menu.
  • Click on "Edit" link for  " ********_map.xml"* to open the mapping in a new tab or window and make the following changes in the mapping window.Go to Customer Login in www.mydbsync.com and enter your user name and password and click on Sign in. Click on Launch to Launch DBSync project page.
  • Ensure that the Salesforce and QuickBooks connectors are validated. You should have process template SalesforceQuickBooksBiDirectional
  • Click on Projects, select and open the relevant project. You will see the available processes. Select & open the relevant process. You will see list of available Workflows.
  • Open the workflow "OpportunityToInvoice", *in Rules section open the map for "Sequence No.3".*
  • Find target field "ItemServiceAddRq/ItemServiceAdd/Name" and replace the source code by copy-pasting the following.
  • Code Block
    IF(EXACT(VALUE("PricebookEntry/Product2/AVSFQB__QuickBooks_ItemType__c"),"ItemService"),
    RSPLIT(VALUE("PricebookEntry/Product2/Name"),":"),"")
    
  • Add the mapping where target field = "ItemServiceAddRq/ItemServiceAdd/ParentRef/FullName" and source field as the following.
  • Code Block
    IF(EXACT(VALUE("PricebookEntry/Product2/AVSFQB__QuickBooks_ItemType__c"),"ItemService"),
    (IF(VALUE("PricebookEntry/Product2/Name").contains(":"),
    LSPLIT(VALUE("PricebookEntry/Product2/Name"),":"),"")),"")
    
  • A screenshot below illustrates both the mapping changes. 

Image Removed

  • Similarly open the Sequence No.4 mapping and click on "Edit" link for  " ********_map.xml*"** to open the mapping in a new tab or window.
  • Find target field "ItemInventoryAddRq/ItemInventoryAdd/Name" and replace the source code by copy-pasting the following.
  • Code Block
    IF(EXACT(VALUE("PricebookEntry/Product2/AVSFQB__QuickBooks_ItemType__c"),"ItemInventory"),
    RSPLIT(VALUE("PricebookEntry/Product2/Name"),":"),"")
    
  • Add the mapping where target field = "ItemInventoryAddRq/ItemInventoryAdd/ParentRef/FullName" and source field as the following.
  • Code Block
    IF(EXACT(VALUE("PricebookEntry/Product2/AVSFQB__QuickBooks_ItemType__c"),"ItemInventory"),
    (IF(VALUE("PricebookEntry/Product2/Name").contains(":"),
    LSPLIT(VALUE("PricebookEntry/Product2/Name"),":"),"")),"")
    
  • Similarly open the Sequence No.5 mapping and click on "Edit" link for  " ********_map.xml*"** to open the mapping in a new tab or window.
  • Find target field "ItemNonInventoryAddRq/ItemNonInventoryAdd/Name" and replace the source code by copy-pasting the following.
  • Code Block
    IF(EXACT(VALUE("PricebookEntry/Product2/AVSFQB__QuickBooks_ItemType__c"),"ItemNonInventory"),
    RSPLIT(VALUE("PricebookEntry/Product2/Name"),":"),"")
    
  • Add the mapping where target field = "ItemNonInventoryAddRq/ItemNonInventoryAdd/ParentRef/FullName" and source field as the following.
  • Code Block
    IF(EXACT(VALUE("PricebookEntry/Product2/AVSFQB__QuickBooks_ItemType__c"),"ItemNonInventory"),
    (IF(VALUE("PricebookEntry/Product2/Name").contains(":"),
    LSPLIT(VALUE("PricebookEntry/Product2/Name"),":"),"")),"")
    
  •  The above example illustrates Product Hierarchy mapping for OpportunityToInvoice state. Based on the transaction you use, a similar procedure can be followed for other transaction states workflows like OpportunityToEstimate,OpportunityToSalesOrder,OpportunityToSalesReceipt,OpportunityToCreditMemo.