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

Integration from Salesforce to QuickBooks

  • If multicurrency is enabled in Salesforce and QuickBooks then, we need to make some changes in DBSync settings and mappings to achieve seamless integration with MultiCurrency.
  • Go to www.mydbsync.com and select Customer Login. Enter your Username and Password and 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 then, select and open the relevant Project. You will see the available processes. Select and open the relevant Process. You will see a list of available Workflows.
  • Open workflow OpportunityToInvoice. Replace the reader query in the Advanced Query Builder with the following query and then, click on the Save & Close button.
SELECT Opportunity.Id,Opportunity.AVSFQB__Primary_Contact__r.FirstName,Opportunity.AVSFQB__Primary_Contact__r.LastName,Opportunity.Owner.QB_SalesRep_ID__c,
Opportunity.AVSFQB__Primary_Contact__r.Email,Opportunity.AVSFQB__QuickBooks_Id__c,Opportunity.AccountId,LastModifiedDate,Opportunity.Account.Id,
Opportunity.Account.CurrencyIsoCode,Opportunity.Account.Name,Opportunity.Account.BillingStreet,Opportunity.Account.BillingCity,
Opportunity.Account.BillingState,Opportunity.Account.BillingPostalCode,Opportunity.Account.BillingCountry,Opportunity.Account.ShippingStreet,
Opportunity.Account.ShippingCity,Opportunity.Account.ShippingState,Opportunity.Account.ShippingPostalCode,Opportunity.Account.ShippingCountry,
Opportunity.Account.Fax,Opportunity.Account.Phone,Name,Description,CloseDate ,(SELECT Quantity,UnitPrice,Description,Opportunity.owner.FirstName,
Opportunity.owner.LastName,Opportunity.Id,Opportunity.CloseDate,PricebookEntry.Name,PricebookEntry.Product2.ProductCode,PricebookEntry.Product2.Name,
PricebookEntry.Product2.Description,PricebookEntry.Product2.Id,PricebookEntry.UnitPrice,PricebookEntry.Product2.AVSFQB__QuickBooks_ItemType__c FROM
OpportunityLineItems) ,Opportunity.Account.AVSFQB__QuickBooks_Id__c,Opportunity.AVSFQB__Generate_Object__c FROM Opportunity where
Opportunity.AVSFQB__Generate_Object__c = 'Invoice'
  • In the Rules section, you will see a list of 9 Rules. Open the map of the sequence no.1 Rule.
  • Add the following mapping in the mapping window and click on the Save & Close button.
CustomerAddRq/CustomerAdd/CurrencyRef/FullName = IF(VALUE("Account/CurrencyIsoCode").equals("USD"),"US Dollar",IF(VALUE("Account/CurrencyIsoCode").equals("GBP"),"British Pound Sterling",IF(VALUE("Account/CurrencyIsoCode").equals("EUR"),"Euro",IF(VALUE("Account/CurrencyIsoCode").equals("CAD"),"Canadian Dollar",""))))


Add the same mapping to following workflows as well if, you are using these workflows in Integration:

  • OpportunityToSalesOrder
  • OpportunityToSalesReceipt
  • OpportunityToEstimate
  • OpportunityToCreditMemo

Integration from QuickBooks to Salesforce

  • If QuickBooks is enabled with Multi-Currency then, the following changes need to be made to the mappings in DBSync.
  • Go to www.mydbsync.com and select Customer Login. Enter your Username and Password and click on Sign in. Click on Launch to launch the 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 and open the relevant Process. You will see a list of available Workflows.
  • Open workflow CustomerToAccount. In Rules Section, Open the Mapping for "Sequence No 1"
  • Open workflow InvoiceToOpportunity. In the Rules section, open the mapping for "Sequence No 1 and 2".
  • Add the mapping where target field = "CurrencyIsoCode" and add the following code under source field:

IF(VALUE("CustomerRef/FullName/CustomerRet/CurrencyRef/FullName").equals("US Dollar"),
"USD",IF(VALUE("CustomerRef/FullName/CustomerRet/CurrencyRef/FullName").equals("British Pound Sterling"),
"GBP",IF(VALUE("CustomerRef/FullName/CustomerRet/CurrencyRef/FullName").equals("Euro"),
"EUR",IF(VALUE("CustomerRef/FullName/CustomerRet/CurrencyRef/FullName").equals("Canadian Dollar"),"CAD",""))))
  • Similarly, open the mapping for "Sequence No 5" in the new window/tab.
  • Add the mapping where target field = "CurrencyIsoCode". Then, add the following code under source field:
IF(VALUE("CustomerRef/FullName/CustomerRet/CurrencyRef/FullName").equals("US Dollar"),
"USD",IF(VALUE("CustomerRef/FullName/CustomerRet/CurrencyRef/FullName").equals("British Pound Sterling"),
"GBP",IF(VALUE("CustomerRef/FullName/CustomerRet/CurrencyRef/FullName").equals("Euro"),
"EUR",IF(VALUE("CustomerRef/FullName/CustomerRet/CurrencyRef/FullName").equals("Canadian Dollar"),"CAD",""))))
  • Double-click on the process flow, "BiDirectionalSync". Then, open the "InvoiceToInvoice" state. Open the mapping "Sequence No 1" and add the same mapping as shown in the example above.
  • This completes the Multicurrency customizations.
  • No labels