Product search and customer search in the point of sale (POS)


This topic applies to Dynamics 365 for Retail and Dynamics 365 for Finance and Operations.

Modern Point of Sale (MPOS) and Cloud Point of Sale (CPOS) provide easy-to-use search functionality for products and customers. Because the search bar is always present at the top of the MPOS and CPOS windows, employees can quickly search for products and customers.

Employees can search for products in the assortments and catalogs that are associated with the current store. They can also search in the assortments and catalogs that are associated with any other store in the company. Therefore, cashiers can sell and return products outside the store assortment. Similarly, employees can search for customers who are associated with the current store or any other store in the company. Additionally, employees can search for customers who are associated with a different company in the parent organization.

By default, product searches are done on the store assortment. This type of search is known as a local product search. However, employees can easily switch to any catalog that is associated with the current store, or they can search in a different store. This type of search is known as a remote product search. To change the catalog, select the Categories button on the left side of the page. At the top of the pane that appears, select the Change catalog button, and then select one of the available catalogs to browse it. The system will search the selected catalog for products.

On the Change catalog page, employees can easily select any store, or they can search for products across all stores.

Changing the catalog

A local product search searches in the following product properties:

  • Product number
  • Product name
  • Description
  • Dimensions
  • Barcode
  • Search name

Enhancements to local product searches

The experience for local product searches is now more user-friendly. The following enhancements have been made:

  • Product and customer drop-down menus have been added to the search bar, so that employees can select either Product or Customer before they do the search. By default, Product is selected, as shown in the illustration that follows.

  • For multiple-keyword searches (that is, for searches that use search terms), retailers can configure whether the search results include results that match any search term or only results that match all search terms. The setting for this functionality is available in the POS functionality profile, in a new group that is named Product search. The default setting is Match any search term. This setting is also the recommended setting. When the Match any search term setting is used, all products that fully or partially match one or more search terms are returned as results. Those results are automatically sorted in ascending order of products that have the most keyword matches (full or partial).

    The Match all search terms setting returns only products that match all the search terms (full or partial). This setting is helpful when the product names are lengthy, and employees want to see only limited products in the search results. However, this type of search has two limitations:

    • The search is done on individual product properties. For example, only products that have all the searched keywords in at least one product property are returned.
    • Dimensions aren't searched.
  • Retailers can now configure product search to show search suggestions as users type product names. A new setting for this functionality is available in the POS functionality profile, in a group that is named Product search. The setting is named Show search suggestions while typing. This functionality can help employees quickly find the product that they are searching for, because they don't have to type the whole name manually.

  • The product search algorithm now also searches for the searched terms in the Search name property of the product.

Product suggestions

Customer search is used to find customers for various purposes. For example, cashiers might want to view a customer's wish list or purchase history, or add the customer to a transaction. The search algorithm matches the search terms against the values that are present in the following customer properties:

  • Name
  • Email address
  • Phone number
  • Loyalty card number
  • Address
  • Account number

Among these properties, the name provides the most flexibility for multiple-keyword searches, because the algorithm returns all customers that match any of the searched keywords. The customers that match the most keywords appear at the top of the results. This behavior helps cashiers in situations where they search by typing the full name, but last name and first name were swapped during the initial data entry. However, for performance reasons, all the other properties preserve the order of the search keywords. Therefore, if the order of the search keywords doesn't match the order that the data is stored in, no results will be returned.

By default, a customer search is done on the customer address books that are associated with the store. This type of search is known as a local customer search. However, employees can also search for customers globally. In other words, they can search across the stores of the company and across all other legal entities. This type of search is known as a remote customer search.

To search globally, employees can select the Filter results button at the bottom of the page and then select the Search all stores option, as shown in the illustration that follows. In this case, not only customers are returned. All types of parties that are part of any address book in the headquarters are also returned. These parties include workers, vendors, contacts, and competitors.


A minimum of four characters must be entered for a remote customer search to return results.

In a remote customer search, the customer ID isn't shown for customers from the other legal entities, because no customer ID has been created for those parties in the current company. However, if an employee opens the customer details page, the system automatically generates a customer ID for the party and also associates the store's customer address books with the customer. Therefore, the customer will be visible in local store searches that are done later.

Global customer search

Searches that are based on the phone number have been simplified. These searches now ignore special characters, such as spaces, hyphens, and brackets, that might have been added when the customer was created. Therefore, cashiers don't have to worry about the phone number format when they search. They can also search for customers by typing a partial phone number. If a phone number includes special characters, it can also be found by searching for the numbers that appear after the special characters. For example, if a customer's phone number was entered as 123-456-7890, a cashier can search for the customer by typing 123, 456, 7890, or 1234567890, or by entering the first few numbers of the phone number.

The traditional customer search can be time-consuming, because it searches across multiple fields. Instead, cashiers can now search in a single customer property, such as name, email address, or phone number. The properties that the customer search algorithm uses are collectively known as the customer search criteria. The system admin can easily configure one or more criteria as shortcuts that will appear in POS. Because the search is limited to a single criterion, only the relevant search results are shown, and the performance is much better than the performance of a standard customer search. The following illustration shows the customer search shortcuts in POS.

Customer search shortcuts

To set search criteria as shortcuts, the admin must open the Retail parameters page in Microsoft Dynamics 365 for Finance and Operations, and then, on the POS search criteria tab, select all the criteria that should be shown as shortcuts.

Configure search shortcuts


If you add too many shortcuts, the drop-down menu on the search bar in POS will become cluttered, and the employee's search experience can be affected. We recommend that you add only as many shortcuts as you require.

The Display order field determines the order in which shortcuts are shown in POS. The criteria that are shown are the out-of-box properties that the customer search algorithm uses to search customers. However, partners can add custom properties as search shortcuts. To add custom properties as search shortcuts, the system admin must extend the extensible enumeration (enum) that is used for the customer search criteria and then mark the partner's custom properties as shortcuts. Partners are responsible for writing the code to find results when their custom shortcuts are used for searches.


A custom property that is added to the enum doesn't affect the standard customer search algorithm. In other words, the customer search algorithm won't search in the custom property. Users can use a custom property for searches only if that custom property is added as a shortcut, or if the default search algorithm is overridden.

In an upcoming release of Microsoft Dynamics 365 for Retail, retailers will be able to set the default customer search mode in POS to Search all stores. This configuration can be helpful in scenarios where customers that were created outside POS must be searched immediately (for example, even before the distribution job is run). A new Default customer search mode option will be available in the POS functionality profile. Set it to On to set the default search mode to Search all stores. Every customer search attempt will then make a real-time call to the headquarters.

To help prevent unexpected performances issues, this configuration is hidden behind a flighting flag that his named CUSTOMERSEARCH_ENABLE_DEFAULTSEARCH_FLIGHTING. Therefore, to show the Default customer search mode setting the user interface (UI), the retailer should create a support ticket for its user acceptance testing (UAT) and production environments. After the ticket is received, the engineering team will work with the retailer to make sure that the retailer does testing in its non-production environments to assess the performance and implement any optimizations that are required.