Product Hierarchy in QuickBooks and Salesforce
Last updated
Last updated
If you use the Product Hierarchy in QuickBooks, then Salesforce needs to be updated to support the Product Hierarchy. Let's say DBSync is the parent item for the SalesForce to QuickBooksDesktop and SalesForce to QuickBooksOnline items. Now, if you generate an invoice in QuickBooks with DBSync and SF2QuickBooks, the Item name for DBSync remains DBSync, but for SF2QuickBooks, it is shown as DBSync: SF2QuickBooks. If this invoice is moved to Salesforce Opportunity, then, the product is migrated with the parent Name into Salesforce.
To make changes, go to . Enter your Username and Password. Then, click on Login.
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 the 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 to the Page Layout. Click Save.
Log in to your DBSync account and navigate to the DBSync project page.
Ensure that the Salesforce and QuickBooks connectors are validated.
Click on Projects. Select and open a relevant project. Select and open the relevant Task. You will see a list of available flows.
Open the flow for syncing ItemService to Product. Open the map.
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.
If you have a Parent-Child relationship for Products in Salesforce, then the following changes need to be made to the mappings.
Log in to your DBSync account.
Ensure that Salesforce and QuickBooks connectors are validated.
Click on Projects. Select and open the relevant Project. Navigate to the flow page. You will see a list of available flows.
Open the flow Opportunity To Invoice and open the map for ItemService.
Find the target field "ItemServiceAddRq/ItemServiceAdd/Name". Then, replace the source by copy-pasting the following:
Add the mapping where target field = "ItemServiceAddRq/ItemServiceAdd/ParentRef/FullName" and source field as the following:
Similarly, open the mapping for ItemInventory.
Find the target field "ItemInventoryAddRq/ItemInventoryAdd/Name" and replace the source code by copy-pasting the following:
Open the mapping for ItemNonInventory.
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:
Add the mapping where target field = "ItemNonInventoryAddRq/ItemNonInventoryAdd/ParentRef/FullName" and source field as the following:
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, and OpportunityToCreditMemo.