2022

Page tree

Versions Compared

Key

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

Multiple Price Levels of QuickBooks can be synced integrated with the respective Salesforce Price Books using DBSync. This section explains the steps involved in DBSync customization for multiple Price Level Integration.

Panel

Customization Steps:

  • Let's take an example of integrating two QuickBooks Price Levels PriceLevel1 & PriceLevel2 with Salesforce Price Books. To start, two Salesforce Price Books - PriceBook1 & PriceBook2 - should be created. The following process will sync the items of QuickBooks, PriceLevel1 & PriceLevel2, with Salesforce Price Books, PriceBook1 & PriceBook2, respectively.
  • Login to the DBSync account using your credentials. Click on Launch to open the DBSync profiles in Development Studio. In the next tab of your browser. Go to DBSync Profile Salesforce QuickBooks Bidirectional, click on manage and then edit.

...

  • Adapter list will be displayed. Ensure that Salesforce Adapter , go to DBSync Project SalesforceQuickBooksBidirectional.
  • Click on Connectors. Make sure that Salesforce Connector is validated and QuickBooks Webconnector Web Connector is configured.
  • Double click on Bidirectional Sync to open all the available states of DBSync Standard Integration for Salesforce and QuickBooks.

...

  • Create a new state PriceLevelToProduct2 between the states ItemSalesTax2Product and InvoiceToOpportunity and connect the states as shown below and Save.

...

  • Open dataflow of PriceLevelToProduct2, create Reader, Map and Writer and connect them as shown below.

...

  • Open Reader Properties and enter the details as shown below and Save.

...

  • Open Writer Properties and enter the details as shown below and Save.

...

  • Open Map Properties, enter the sequence number and the description as required and Save.

...

  • Open Map Properties, click on edit to map the fields in the next tab of browser.

...

  • Map the fields as shown below and Save. Go to Process SalesforceQuickBooksBidirectional. There, you will see a list of workflows.
  • Create a new workflow PriceLevelToProduct2 and move this between ItemSalesTax2Product and InvoiceToOpportunity.
  • In this new workflow, add the following query using Advanced Query Builder. Datasource should be QuickBooks. Batch size in properties will remain as 100 (default value).
Code Block
 select * from PriceLevel where Pricelevel.Maxreturned=100
  • In the Rules section, click on Add New Rule. Select Target as Salesforce, Operation as Update, Target Object as Product2 and click on Map.
  • Map the fields as shown below. Then, Save. Notice that, on the left side it has Target fields (Salesforce) and on the right side, it has source fields (QuickBooks). PriceBook1 is the name of Salesforce PriceBook and PriceLevel1 is the name of the QuickBooks Price Level in QuickBooks.

...

  • Create another Map and Writer to sync QuickBooks PriceLevel2 with Salesforce PriceBook2 and connect them as shown below.

...

  • The same Reader will be used to connect with the second Map and Writer.
  • Open Writer Properties and enter the details as shown below and Save.

...

  • Open Map Properties, enter the sequence number and the description as required and Save.

...

  • Open Map Properties, click on edit to map the fields in the next tab of browser.

...

Code Block
VALIDATEROW = IF(EQUALS(VALUE("Name"),"PriceLevel1"),"true","false")
VALIDATEROW = IF(EQUALS(VALUE("Name"),"PriceLevel1"),"true","false")
Product2 = Loop Over "PriceLevelPerItemRet"
AVSFQBQuickBooks_Idc = VALUE("ItemRef/ListId")
Name = VALUE("ItemRef/FullName")
Pricebook2Id = "PriceBook1"
UnitPrice = VALUE("CustomPrice")
  • In the Rules section, click on Add New Rule to add new Rule. Select Target as Salesforce, Operation as Update, Target Object as Product2 and click on Map.
  • Map the fields as shown below. Then, Save. Notice that, on the left side it has Target fields (Salesforce) and on the right side it has source fields (QuickBooks). PriceBook2 is the name of Salesforce PriceBook and PriceLevel2 is the name of the QuickBooks Price Level in QuickBooks.

...

Code Block
VALIDATEROW = IF(EQUALS(VALUE("Name"),"PriceLevel2"),"true","false")
Product2 = Loop Over "PriceLevelPerItemRet"
AVSFQBQuickBooks_Idc = VALUE("ItemRef/ListId")
Name = VALUE("ItemRef/FullName")
Pricebook2Id = "PriceBook2"
UnitPrice = VALUE("CustomPrice")
  • To sync the new QuickBooks Price Level, repeat the above process. For every price level in QuickBooks, create a new Map and Writer and edit the properties and maps Rule and map as discussed above.