Asynchronous customer creation mode
This article describes the asynchronous customer creation mode in Microsoft Dynamics 365 Commerce.
In Commerce, there are two modes of customer creation: synchronous (or sync) and asynchronous (or async). By default, customers are created synchronously. In other words, they're created in Commerce headquarters in real time. The sync customer creation mode is beneficial because new customers are immediately searchable across channels. However, it also has a drawback. Because it generates Commerce Data Exchange: Real-time Service calls to Commerce headquarters, performance can be affected if many concurrent customer creation calls are made.
If the Create customer in async mode option is set to Yes in the store's functionality profile (Retail and Commerce > Channel setup > Online store setup > Functionality profiles), Real-time Service calls aren't used to create customer records in the channel database. The async customer creation mode doesn't affect the performance of Commerce headquarters. A temporary globally unique identifier (GUID) is assigned to every new async customer record and used as the customer account ID. This GUID isn't shown to point of sale (POS) users. Instead, those users see Pending sync as the customer account ID.
Important
Whenever the POS goes offline, the system automatically creates customers asynchronously, even if the async customer creation mode is disabled. Similarly, the system automatically creates customers asynchronously when an RTS call fails with a communication exception. Therefore, regardless of your selection between sync and async customer creation, Commerce headquarters administrators must create and schedule a recurring batch job for the P-job, the Synchronize customers and business partners from async mode job, and the 1010 job, so that any async customers are converted to sync customers in Commerce headquarters.
Async customer limitations
The async customer functionality currently has the following limitation:
- Loyalty cards can't be issued to async customers unless the new customer account ID has been synced back to the channel.
- Async customers that haven't been synced to HQ can't be selected when creating sync customer orders. To create customer orders for async customers, see Enable customer orders to be created in asynchronous mode.
Async customer enhancements
To help organizations use async customer creation mode to manage customers, and to help reduce real-time communications with Commerce headquarters, the following enhancements have been rolled out to bring parity between sync and async modes in channels.
Feature enhancement | Commerce version | Feature details |
---|---|---|
Performance improvements when customer information is retrieved from the channel database | 10.0.20 and later | To help improve performance, the customer entity is split into smaller entities. The system then retrieves only the required information from the channel database. |
Ability to create address asynchronously during checkout | 10.0.22 and later | Feature switch: Enable asynchronous creation for customer addresses Feature details:
This feature affects both sync customers and async customers. To edit addresses asynchronously in addition to creating them asynchronously, you must enable the Editing customers in asynchronous mode feature. |
Enable parity between synchronous and asynchronous customer creation. | 10.0.24 and later | Feature switch: Enable enhanced async customer creation Feature details: Ability to capture additional information, such as the title, affiliations from the default customer, and secondary contact information (phone number and email address), while you create customers asynchronously |
User-friendly error messages | 10.0.28 and later | These enhancements help improve user-friendly error messages if a user can't immediately edit information while synchronization is in process. You enable these enhancements by using the Allow certain UI elements to be unmodifiable by an async customer setting at Site settings > Extensions in Commerce site builder. |
Ability to edit customer information asynchronously | 10.0.29 and later | Feature switch: Enable editing customers in asynchronous mode Feature details: Ability to edit customer data asynchronously For answers to common questions about issues that are related to editing customer information asynchronously, see Asynchronous customer creation mode FAQ. |
Ability to audit synchronization of customer management operations | 10.0.31 and later | This enhancement lets users audit the synchronization of customer management operations in Commerce headquarters. It also lets users make changes if they're needed and synchronize the data. |
Feature switch hierarchy
Because of the hierarchy of feature switches, before you enable the Enable editing customers in asynchronous mode feature, you must enable the following features:
- Performance improvements for customer orders and customer transactions – This feature has been mandatory since the Commerce version 10.0.28 release.
- Enable enhanced async customer creation
- Enable asynchronous creation for customer addresses
After the feature's enabled, run the Channel configuration scheduler job (by default, the 1070 scheduler job).
For answers to common troubleshooting questions, see Asynchronous customer creation mode FAQ.
After you enable the previously mentioned features, you must schedule a recurring batch job for the P-job, the Synchronize customers and channel requests job, and the 1010 job, so that any async customers are converted to sync customers in Commerce headquarters.
Customer creation in POS offline mode
As mentioned earlier, whenever the POS goes offline, the system automatically creates customers asynchronously, even if the async customer creation mode is disabled. Therefore, Commerce headquarters administrators must create and schedule a recurring batch job for the P-job, the Synchronize customers and channel requests job, and the 1010 job, so that any async customers are converted to sync customers in Commerce headquarters.
Note
If the Filter shared customer data tables option is set to Yes on the Commerce channel schema page (Retail and Commerce > Headquarters setup > Commerce scheduler > Channel database group), customer records aren't created in POS offline mode. For more information, see Offline data exclusion.