2022

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

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 13 Next »

For 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 select Customer Login. Enter your User Name and Password and click Login Button.
  • Click on Launch in the Console area of MyHome Page to launch DBSync integration console.


  • In DBSync console click on Edit Link from Manage Toggle Button.


  • Click on Edit link for Salesforce Adapter. Enter Salesforce User Name and Password and click on Save Properties button. Click on Validate button to validate the Adapter.


  • Click on Edit Link for QuickBooks Adapter. Enter QuickBooks File Path in file text box and click on Save Properties. 
  • Double Click or Right Click ? Open on the BiDirectionalSync Process to open it for editing.



  • If you are using SalesforceQuickBooksBiDirectional profile, you will find a list of states with control flow on process Builder Screen. Double click on OpportunityToInvoice State to open it for editing.

  • Right Click ? Properties on Reader for Opportunity as highlighted below:

  • Replace the reader query in the properties window with following query and click on Save button. Both the screenshots before and after entering the query is shown below.
    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'


  • Right Click ? Properties on Map:SFToQB with Sequence No 1 and click on "Edit" link to open the mapping window.



  • Add the following mapping in the mapping window and click on Save 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",""))))


  • By adding the above mapping we make sure that all customers are set to right currency and thus generating the invoice and other transactions in the same currency as Salesforce.
  • Add the same mapping to following states as well, If you are using these states in Integration
    • OpportunityToSalesOrder
    • OpportunityToSalesReceipt
    • OpportunityToEstimate
    • OpportunityToCreditMemo
    • RecurringInvoices
    • RecurringEstimate
    • RecurringSalesOrder
    • RecurringSalesReceipt
    • RecurringCreditMemo


For Integration from Quickbooks to Salesforce

  • If Quickbooks is enabled with Multi-Currency, then the following changes needs to me made to the mappings in DBSync.
  • Navigate to the Process builder page by double-clicking on the process flow, "BiDirectionalSync".
  • Open the "InvoiceToOpportunity" state by double-clicking on it.
  • Open the mapping for "Sequence No 2" in the new window / tab as illustrated in the above section.
  • 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" 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",""))))
    
  • No labels