Requirement: 

If you require to map the Salesforce Account Owner to the REP field on the Customer level in QuickBooks.

Solution:

Before starting with the mappings the user alias name present in Salesforce should also be present in QuickBooks field named “Rep” at the customer level.


Fig 1: Alias name in Salesforce

Fig 2: Rep field where the Alias name to be provided

Below mentioned steps to update the DBSync mappings 

1. Add the “Account.Owner.Alias” API name in the DBSync query.

select Account.Phone,Account.Name,AVSFQB__Primary_Contact__r.FirstName,AVSFQB__Primary_Contact__r.LastName,Account.BillingStreet,Account.BillingCity,Account.BillingCountry,Account.BillingPostalCode,Account.BillingState,Account.Accounting_Email_Address__c,AVSFQB__Primary_Contact__r.Email,Account.Fax,Account.Price_Level__c,Opportunity.Today_s_Date__c,Account.ShippingStreet,Account.ShippingCity,Account.ShippingCountry,Account.ShippingPostalCode,Account.ShippingState,Name,AVSFQB__QuickBooks_Id__c,AVSFQB__Billing_Address__c,AVSFQB__Billing_City__c,AVSFQB__Billing_Country__c,AVSFQB__Billing_Zip__c,AVSFQB__Billing_State__c,Estimated_Ship_Date__c,AVSFQB__PO_Number__c,Owner.Alias,AVSFQB__Shipping_Address__c,AVSFQB__Shipping_City__c,AVSFQB__Shipping_Country__c,AVSFQB__Shipping_Zip__c,AVSFQB__Shipping_State__c,CloseDate,Id,Account.AVSFQB__QuickBooks_Id__c,Account.Id,Account.Owner.Alias,(select Id,Description,PricebookEntry.Product2.Bin__c,PricebookEntry.Product2.Site__c,ProductCode,PricebookEntry.Product2.AVSFQB__QuickBooks_ItemType__c,Quantity,UnitPrice,PricebookEntry.Product2.Name from OpportunityLineItems) FROM Opportunity where  Opportunity.AVSFQB__Generate_Object__c='SalesOrder' and AVSFQB__Products_Count__c > 0

               Fig 3: DBSync Query

2. In the rules section, click on “Map” for the 1st rule (customer creation rule).

3. Update the mappings for SalesRepRef field by VALUE("Account/Owner/Alias")


        Fig 4: SalesRepRef field mapping

4. Save and close. Save the workflow. The above changes will work only for the newly created accounts in Salesforce. But if you want the changes to reflect for the historical accounts then need to create a new rule (Update rule). Please find the below steps to create an update rule for updating the account owner to customers who have already synced to QuickBooks.

           Fig 5: Creating a New Rule

           Fig 6: Validate Row mappings


          Fig 7: ListID Mapping

           Fig 8: SalesRapRef Mapping

In QuickBooks, the Rep field is 5 characters limit. In Salesforce, we need to make sure the Alias should not be more than 5 characters.