Breadwinner requires that all QuickBooks Customers are directly associated with a Salesforce Account. A QuickBooks Company which has an Invoice associated with it is a ‘QuickBooks Customer'.


Breadwinner contains a custom object in Salesforce called "QuickBooks Company" this is a perfect copy of your QuickBooks Customer,  (in the Salesforce API this is called a BAC or a Breadwinner Account Connection) that sits below the Salesforce Account Object as a child of the Salesforce Account.


You may see a related list on your Salesforce Account called "Affiliated QuickBooks Company". These are the QuickBooks Companies associated with (or affiliated with) that Salesforce Account.


This approach allows you to have multiple QuickBooks Customers associated with a single Salesforce Account. This is a powerful feature and comes in handy when a single Salesforce Account might have multiple departments or branches to be billed in QuickBooks. And, because a QuickBooks Company can be associated with any Account, we know which Salesforce Account to put an Invoice under when importing new QuickBooks Invoices - even if the name or spelling is entirely different.


( if you are a Salesforce Consultant or Developer, and wish to see more information on this relationship, please go to the Resources tab of our website, and look for Technical Details to see the ERD. You may also be interested in the other option Syncing and Mapping on that tab)

Initial Sync of QuickBooks Customers to Salesforce Accounts

Every single QuickBooks Customer must be associated with a single Salesforce Account. That's what our initial Account Sync does - connects all your Quickbooks Customers to a Salesforce Account. You can use our suggested match feature - that's where we try to match a QuickBooks Customer based on the company name, or email, or phone, or address.


If we can't match a QuickBooks Customer to a Salesforce Account automatically, the relevant Account might still be in Salesforce. If that's the case, use the Manual Match to connect the QuickBooks Customer to the correct Salesforce Account. But if there is no corresponding Salesforce Account, go ahead and select Create New Account - and we'll create a corresponding Salesforce Account (and create a BAC as a Child Object) and populate it with QuickBooks data.


If you are connecting QuickBooks to a new, (mostly) empty Salesforce Org (such as when in a Salesforce Trial, or installing Breadwinner in a Sandbox), the Initial Sync is a great way to populate your Salesforce database. Just click Next on the bottom of the Initial Account Sync pages to bring in QuickBooks Contacts, 100 per page. 

Ongoing Sync of QuickBooks Customers

When you change any value in QuickBooks on the QuickBooks Customers (such as the name, or default days due), we'll update that in Salesforce within the hour. This won't update the Salesforce Account but will change the details of the BAC below it. You can optionally write triggers or other code to update the Salesforce Account based on this change, but be aware that a Salesforce Account might have no BAC object, one, or many. 

Changing the Association between QuickBooks Customers and Salesforce Accounts

You may find that a QuickBooks Company is associated with the wrong Salesforce Account. To fix this, please go this help article


Creating a New QuickBooks Company from Salesforce 

When you click New Invoice in Salesforce from the Account or Opportunity page, you are asked which QuickBooks company you would like to connect it to. If there are any QuickBooks Customers already associated with that Account, you will see them displayed there. This is also the time to create a new QuickBooks Company  in QuickBooks and connect it to the Salesforce Account by selecting the option "New QuickBooks Company". This will let you create a QuickBooks Company based on the details in the Salesforce Account. Once created, you continue on to the New Invoice page.


If you want to create a new QuickBooks Company based on a Salesforce Account, but don't want to create a new QuickBooks Invoice, then just click the New Invoice button on the relevant Salesforce Account, then select "New QuickBooks Company", create the QuickBooks Company, but once you arrive at the New Invoice page, rather than creating an invoice simply abandon the process by going to any other Salesforce tab. 

New QuickBooks Customer Found after Initial Sync

You might find your business requires you to create QuickBooks Invoices in QuickBooks manually, or through other systems - rather than creating QuickBooks Invoices through Breadwinner. Indeed, some of our customers use Breadwinner only as a one-way sync from QuickBooks to Salesforce to see their customer information held in QuickBooks and never create an Invoice in QuickBooks through Breadwinner. And, Credit Notes can only be created in QuickBooks, not via Breadwinner (this is for financial security)


There is no explicit problem with this approach, however, when we find a new QuickBooks Invoice attached to a QuickBooks Customer we have never seen before, we create a new Salesforce Account (and corresponding QuickBooks Contact child object) to represent that new QuickBooks Customer.


This can lead to duplicate Salesforce Accounts. We mitigate this by first checking for an existing Salesforce Account with an identical spelling as the QuickBooks Customer. If your third-party system is creating QuickBooks Companies based on Salesforce, this should prevent Breadwinner from creating duplicate Salesforce Accounts.


Additionally, if you upload a large number of QuickBooks Companies at one time, you can re-run the Account Sync from the Breadwinner tab immediately after uploading them, to control how they are matched.


There are other ways to configure this auto-matching that occurs after the Initial Sync. Please file a case with Support explaining your configuration, what additional apps you use, and what your ideal scenario is.