Synchronize contacts directly from Sales to contacts or customers in Finance and Operations

Note

Before you can use the Prospect to cash solution, you should be familiar with Integrate data into Common Data Service for Apps.

This topic discusses the templates and underlying tasks that are used to synchronize Contact (Contacts) and Contact (Customers) entities directly from Microsoft Dynamics 365 for Sales to Microsoft Dynamics 365 for Finance and Operations.

Data flow in Prospect to cash

The Prospect to cash solution uses the Data integration feature to synchronize data across instances of Finance and Operations and Sales. The Prospect to cash templates that are available with the Data integration feature enable the flow of data about accounts, contacts, products, sales quotations, sales orders, and sales invoices between Finance and Operations and Sales. The following illustration shows how the data is synchronized between Finance and Operations and Sales.

Data flow in Prospect to cash

Templates and tasks

To access the available templates, open PowerApps Admin Center. Select Projects, and then, in the upper-right corner, select New project to select public templates.

The following templates and underlying tasks are used to synchronize Contact (Contacts) entities in Sales to Contact (Customers) entities in Finance and Operations:

  • Names of the templates in Data integration:

    • Contacts (Sales to Fin and Ops) - Direct
    • Contacts to Customer (Sales to Fin and Ops) - Direct
  • Names of the tasks in the Data integration project:

    • Contacts
    • ContactToCustomer

The following synchronization task is required before contact synchronization can occur: Accounts (Sales to Fin and Ops)

Entity sets

Sales Finance and Operations
Contacts CDS Contacts
Contacts Customers V2

Entity flow

Contacts are managed in Sales and synchronized to Finance and Operations.

A contact in Sales can become either a contact or a customer in Finance and Operations. To determine whether a contact in Sales should be synchronized to Finance and Operations as a contact or a customer, the system looks at the following properties on the contact in Sales:

  • Synchronization to a customer in Finance and Operations: Contacts where Is Active Customer is set to Yes
  • Synchronization to a contact in Finance and Operations: Contacts where Is Active Customer is set to No and Company (parent account/contact) points to an account (not a contact)

Prospect to cash solution for Sales

A new Is Active Customer field has been added to the contact. This field is used to differentiate contacts that have sales activity and contacts that don't have sales activity. Is Active Customer is set to Yes only for contacts that have related quotations, orders, or invoices. Only those contacts are synchronized to Finance and Operations as customers.

A new IsCompanyAnAccount field has been added to the contact. This field indicates whether a contact is linked to a company (parent account/contact) of the Account type. This information is used to identify contacts that should be synchronized to Finance and Operations as contacts.

A new Contact Number field has been added to the contact to help guarantee a natural and unique key for the integration. When a new contact is created, a Contact Number value is automatically generated by using a number sequence. The value consists of CON, followed by an increasing number sequence and then a suffix of six characters. Here is an example: CON-01000-BVRCPS

When the integration solution for Sales is applied, an upgrade script sets the Contact Number field for existing contacts by using the number sequence that was mentioned earlier. The upgrade script also sets the Is Active Customer field to Yes for any contacts that have sales activity.

In Finance and Operations

Contacts are tagged by using the IsContactPersonExternallyMaintained property. This property indicates that a given contact is maintained externally. In this case, externally maintained contacts are maintained in Sales.

Preconditions and mapping setup

Contact to customer

  • CustomerGroup is required in Finance and Operations. To help prevent synchronization errors, you can specify a default value in the mapping. That default value is then used if the field is left blank in Sales.

    The default template value is 10.

  • By adding the following mappings, you can help reduce the number of manual updates that are required in Finance and Operations. You can use a default value or a value map from, for example, Country/Region or City.

    • SiteId – A default site can also be defined on products in Finance and Operations. A site is required in order to generate quotations and sales orders in Finance and Operations.

      A template value for SiteId isn't defined.

    • WarehouseId – A default warehouse can also be defined on products in Finance and Operations. A warehouse is required in order to generate quotations and sales orders in Finance and Operations.

      A template value for WarehouseId isn't defined.

    • LanguageId – A language is required in order to generate quotations and sales orders in Finance and Operations.

      The default template value for is en-us.

Template mapping in Data integration

The following illustrations show an example of a template mapping in Data integration.

Note

The mapping shows which field information will be synchronized from Sales to Finance and Operations.

Contact to contact

Template mapping in Data integrator

Contact to customer

Template mapping in Data integrator

Prospect to cash

Synchronize accounts directly from Sales to customers in Finance and Operations

Synchronize products directly from Finance and Operations to products in Sales

Synchronize sales order headers and lines directly from Finance and Operations to Sales

Synchronize sales invoice headers and lines directly from Finance and Operations to Sales