2022

Page tree
Skip to end of metadata
Go to start of metadata

Integration from QuickBooks to Salesforce

  • If you use Product Hierarchy in QuickBooks then, Salesforce needs to be updated to support Product Hierarchy.
  • Let's say DBSync is the parent item for SF2QuickBooksDesktop and SF2QuickBooksOnline items. Now, if you generate an invoice in QuickBooks with DBSync and SF2QuickBooksDesktop, Item Name for DBSync remains DBSync but for SF2QuickBooksDesktop it is shown as DBSync: SF2QuickBooksDesktop. 
  • If this invoice is moved to Salesforce Opportunity then, the product is migrated with the parent Name into Salesforce.
  • To make changes, go to https://login.salesforce.com. Enter your Username and Password. Then, click on Login. 
    • Note the user logging in, should have administrative privileges to make changes to Salesforce instance.
  • Go to Setup > Customize > Products > Fields and click on New in Products Custom Fields and Relationships.
  • Select Text in the Next page and click Next. Enter Field Label as QuickBooksName, Length as 255 and, Field Name as QuickBooksName. Click Next.
  • In the next screen, select field-level security for profiles and click Next. Check Add Field checkbox. Then, check the Page Layouts you want to add it to. Click Save.
  • Go to Setup > Customize > Products > Page Layouts. Click on Edit for Product Layout.
  • Add QuickBooks Name fields on to the Page Layout. Click Save.
  • Go to Customer Login in www.mydbsync.com. Enter your username and password. Then, 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 a relevant project. You will see a list of available processes. Select and open the relevant Process. You will see a list of available Workflows.
  • Open the workflow "ItemServiceToProduct". In the Rules section, open the map for "Sequence No. 2".
  • Add the mapping QuickBooksName__c = VALUE("FullName") and save the mapping.
  • Similarly, add the above mapping as follows to complete the Product Hierarchy setup:
    • ItemInventoryToProduct
    • ItemNonInventoryToProduct
    • ItemDiscountToProduct
    • ItemOtherChargesToProduct
  • Now your Salesforce is configured to handle the Product Hierarchy of QuickBooks.

Integration from Salesforce to QuickBooks

  • If you have a Parent-Child relationship for Products in Salesforce then, the following changes need to be made to the mappings.
  • Go to Customer Login in www.mydbsync.com. Enter your username and password. Click on Sign-in. Click on Launch, to Launch the DBSync Project page.
  • Ensure that Salesforce and QuickBooks connectors are validated. You should have process template SalesforceQuickBooksBiDirectional.
  • Click on Projects. Select and open the relevant Project. You will see a list of available processes. Select and open the relevant Process. You will see a list of available Workflows.
  • Open the workflow "OpportunityToInvoice". In the Rules section, open the map for "Sequence No.3".
  • Find the target field "ItemServiceAddRq/ItemServiceAdd/Name".  Then, replace the source code by copy-pasting the following:

    IF(EXACT(VALUE("PricebookEntry/Product2/AVSFQuickBooks__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:

    IF(EXACT(VALUE("PricebookEntry/Product2/AVSFQuickBooks__QuickBooks_ItemType__c"),"ItemService"),
    (IF(VALUE("PricebookEntry/Product2/Name").contains(":"),
    LSPLIT(VALUE("PricebookEntry/Product2/Name"),":"),"")),"")
    
  • Similarly, open the Sequence No.4 mapping.
  • Find the target field "ItemInventoryAddRq/ItemInventoryAdd/Name" and replace the source code by copy-pasting the following:

    IF(EXACT(VALUE("PricebookEntry/Product2/AVSFQuickBooks__QuickBooks_ItemType__c"),"ItemInventory"),
    RSPLIT(VALUE("PricebookEntry/Product2/Name"),":"),"")
  • Find the target field "ItemNonInventoryAddRq/ItemNonInventoryAdd/Name".  Replace the source code by copy-pasting the following:Add the mapping where target field = "ItemInventoryAddRq/ItemInventoryAdd/ParentRef/FullName" and source field as the following:

    IF(EXACT(VALUE("PricebookEntry/Product2/AVSFQuickBooks__QuickBooks_ItemType__c"),"ItemInventory"),
    (IF(VALUE("PricebookEntry/Product2/Name").contains(":"),
    LSPLIT(VALUE("PricebookEntry/Product2/Name"),":"),"")),"")
    
  • Similarly, open the Sequence No.5 mapping.
  • IF(EXACT(VALUE("PricebookEntry/Product2/AVSFQuickBooks__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:

    IF(EXACT(VALUE("PricebookEntry/Product2/AVSFQuickBooks__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 workflows like OpportunityToEstimate,OpportunityToSalesOrder,OpportunityToSalesReceipt,OpportunityToCreditMemo.
  • No labels