Overview

Part of the Breadwinner architecture is that certain records from the payment system are replicated into Breadwinner custom Salesforce Objects. One of these Breadwinner custom Salesforce Objects is the “BWP Customer” Object, which contains the customer record from the payment system. 

The Breadwinner Payment App requires that the BWP Customers (Payers/Recipients of transactions) are directly associated with a Salesforce Account or Contact. This is typically done during the Breadwinner setup.

One Salesforce Account or Contact may have one or more BWP Customers associated with it. This is a powerful feature and comes in handy when a single Salesforce Account or Contact might have multiple departments or branches making payments or receiving funds. 

After a BWP Customer is mapped to an Account or Contact, Breadwinner creates a two related lists on your Salesforce Account or Contact. One is called Transactions and contains the payment transactions associated with the Account or Contact. The other is called “Customers”. These are the BWP Customers associated with (or affiliated with) that Salesforce Account or Contact.

Payments or other Transactions are associated with the BWP Customer record. Therefore, if a BWP Customer is associated with an Account or Contact, Breadwinner knows which Salesforce Account or Contact to link a Payment or Transaction to when importing new data—even if the name or spelling is entirely different.

(For Salesforce Consultants or Developers, please refer to the Resources tab of our website for technical details and an ERD).

Initial Mapping of BWP Customers

To perform the initial mapping, users can use our suggested match feature, which attempts to match BWP Customers based on company name, email, phone, or address.

If Breadwinner can't automatically match a BWP Customer to a Salesforce Account or Contact, the relevant Account or Contact might still exist in Salesforce. If that’s the case, use the Manual Match feature to connect the BWP Customer to the correct Salesforce Account or Contact. If there is no corresponding Salesforce Account, select Create New Account, and Breadwinner will create a corresponding Salesforce Account (and create a BPC as a Child Object) and populate it with BWP Customer data.

If connecting the Breadwinner Payment App to a new (mostly) empty Salesforce Org (such as during a Salesforce Trial or when installing Breadwinner in a Sandbox), the Initial Sync is a great way to populate the Salesforce Account database. Clicking “Next” at the bottom of the Initial Account Sync pages brings in Payment Contacts, 100 per page. 

Ongoing Sync of BWP Customers

When values in your Payment App for BWP Customers (such as the name or default payment terms) are changed, Breadwinner will update these in Salesforce within the hour. This won't update the parent Salesforce Account but will change the details of the BWP Customer. 

To update the Salesforce Account based on this change, requires triggers or flows, which the user has to create based on their requirements. 

Changing the Association of a BWP Customer

If a BWP Customer is associated with the wrong Salesforce Account, it can be reparented. This help article explains how to move transactions and contacts to different Salesforce accounts. 

Creating a New Breadwinner Payment Customer from Salesforce

Selecting New Transaction in Salesforce from the Account or Opportunity page prompts the user to select the Payment Contact you would like to connect it to. If any BWP Customers are already associated with that Account, they will appear here. This is also the time to create a new Payment Contact in your Payment App and connect it to the Salesforce Account by selecting the “New Payment Contact” option. This will let you create a BPC based on the details in the Salesforce Account. Once created, you continue on to the New Transaction page.

To create a new Payment Contact based on a Salesforce Account, but without creating a new Payment Transaction, one can click the New Transaction button on the relevant Salesforce Account, then select “New Payment Contact”, create the Payment Contact, and at that point terminate the operation.

New BWP Customer Found after Initial Sync

You might find that your business requires you to create Payment Transactions in your Payment App manually or through other systems—rather than creating them through the Breadwinner Payment App in Salesforce. Indeed, some of our customers use the Breadwinner Payment App only as a one-way sync to Salesforce to see their customer and payment information.

There is no explicit problem with this approach; however, if Breadwinner finds a new Payment Transaction attached to a BWP Customer, it creates a new Salesforce Account (and corresponding Payment Contact child object) to represent that new BWP Customer.

This can lead to duplicate Salesforce Accounts. Breadwinner mitigates this by first checking whether an existing Salesforce Account has the same spelling as the BWP Customer. If your third-party system is creating BWP Customers based on Salesforce, this should prevent the Breadwinner Payment App from creating duplicate Salesforce Accounts.


Additionally, if you upload a large number of BWP Customers 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, which additional apps you use, and your desired scenario.