Documentacion PDF
Documentacion PDF
Documentacion PDF
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-
Commerce, in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
Dynamics 365 Commerce—built on the proven Dynamics 365 Retail capabilities—delivers a comprehensive
omnichannel solution that unifies back-office, in-store, call center, and digital experiences. Dynamics 365
Commerce enables you to build brand loyalty through personalized customer engagements, increase revenue
with improved employee productivity, optimize operations to reduce costs and drive supply chain efficiencies,
ultimately delivering better business outcomes.
This release enables the creation of digital experiences using built-in web authoring and development tools to
produce engaging and intelligent digital storefronts. A connected marketing and headless commerce platform
further enable the seamless management of content, assets, promotions, inventory, and pricing across all
channels.
Ever ything to build and run digital commerce: Streamline your business and end-to-end commerce
solution that scales to your needs across traditional and emerging channels. Built-in web authoring and
development tools enable you to create engaging intelligent digital storefronts, while a connected
marketing and headless commerce platform enables seamless management of content, assets, promotions,
inventory, and pricing across channels.
Build loyalty and exceed customer expectations: Use clienteling tools to gain a comprehensive view
of your customer and respond to their needs at every level of engagement, based on customer profile,
history, and preferences that flow across physical and digital channels. Empower your employees to foster
lasting relationships through AI-driven recommendations, customer insights, and loyalty programs that
elevate brand appeal.
Flexible and intelligent omnichannel experience: Unify physical and digital commerce by providing
consistent experiences to customers across cloud search and discovery, product reviews, wish lists,
inventory, gift cards, and loyalty. Allow customers to purchase when, how, and where they want, on any
device—while providing choice around modern payment methods and product collection or delivery.
Streamline operations using AI in the cloud: Drive omnichannel commerce experiences and
integrated, optimized back-office operations through ingrained, pervasive, and context-aware cloud
intelligence. Use advanced merchandising, inventory management, distributed order management, and
pricing and promotion to innovate and stay ahead of competition.Derive insights by visualizing and
analyzing comprehensive and consistent data across all aspects of your business. Use AI-driven
technologies to provide accessible websites, protect your business against payment fraud, and efficiently
moderate user-generated content like ratings and reviews.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
New to Dynamics 365 Finance, Dynamics 365 Supply Chain Management, or Dynamics 365 Commerce? We've put
together step-by-step guidance whether you're still evaluating or ready to make a purchase.
Step one: Try out Finance and Operations free for 30 days
You can try Dynamics 365 for Finance, Dynamics 365 Supply Chain Management, or Dynamics 365 Commerce for
30 days through a simple email signup. The trial version of Finance and Operations applications includes Getting
started task guides that provide step-by-step instructions that allow you to view specific scenarios in action. The
product is available to explore and exercise scenarios, but cannot be customized. Demo data is included to ease the
use of the product and to make the experience more meaningful. A reminder email will be sent 3 days prior to the
trial expiration. Get details at www.microsoft.com/dynamics365/operations.
IMPORTANT
On-premises deployments are not supported on any public cloud infrastructure, including Microsoft Azure.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The following set of topics provide information that is related to service updates for Microsoft Dynamics 365 for
Finance and Operations version 8.1 (October 2018) and later. This is applicable for cloud releases only.
Service update availability – This topic provides information about the release cadence and release process.
Software lifecycle policy and cloud releases – This topic provides information about the service updates,
availability, and end of service.
One Version service updates FAQ – This topic answers questions about the update process, tools, planning, and
Retail service updates.
The experience for service updates consists of four distinct steps:
1. Configure
2. Notice
3. Update
4. Validate
The rest of this topic describes each step and provides links to related topics.
Configure
Customers can select a maintenance window, based on their business constraints. In Microsoft Dynamics Lifecycle
Services (LCS), use the fields in the Production environment update cadence section on the Update settings
tab of the Project settings page, as shown in the following image. A calendar of upcoming updates is available to
help you plan ahead.
Users must opt in to new features and turn them on. All updates are applied first to the user acceptance testing
(UAT) environment and then to the production environment. Therefore, customers have time to do any validation
that is required. Customers can select the environment that is updated. They can also pause an update for up to
three months.
Notice
Release plans will be available to help you plan ahead and understand what is changing. You can learn about
upcoming features up to three months in advance. The What's new topics provide details about the updates for
specific months.
Additionally, a notification email will be sent five days in advance, and a notification will appear in LCS just before
an update, as shown in the following illustration.
Update
After notifications have been sent, Microsoft will apply the update (auto update ) during the designated
maintenance window. After this operation is completed, a notification email will be sent to indicate the status of the
update. Customers will also be able to self-update by using the standard update experience in LCS. For more
information, see Apply updates to cloud environments.
Customers who participate in the First release program will have an opportunity to update their sandbox
environment and other environments early. To sign up for the First release program, go to
https://experience.dynamics.com.
Customers will also be able to self-update by using the standard update experience in LCS, as shown in the
following illustration.
Validate
After an update is completed in the UAT environment, a basic business process test can be executed to validate the
environment. To support this effort, a no-code automation test tool for business process testing is available, as
shown in the following illustration. For more information, see Create and automate user acceptance tests.
Some customers have both external data integrations and internal data integrations. We recommend that these
customers use the Data task automation tool for testing.
One Version service updates FAQ
3/4/2020 • 18 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
In July 2018 we announced a change to the way we deliver Dynamics 365 updates that will help you stay current
in a consistent, predictable, and seamless manner. In June 2019, based on customer feedback we announced New
flexible service updates being made available. This FAQ is intended to provide clarity on the service updates,
processes, and tools you can use to prepare for it. We will continue to add additional information to this topic as
needed.
Can the update be delayed, what is the policy?
Yes, the customer can pause, delay, or opt-out of an update via Update Settings in the Lifecycle Services projects. A
customer can choose to pause up to 3 consecutive updates. The following is an example of a delayed update:
The customer is currently on version 10.0.2.
The customer can pause updates 10.0.3, 10.0.4, and 10.0.5.
The customer must take the 10.0.6 update when it is available.
With a release date in early April, when will the general availability package be made available?
Production updates for a monthly release will be scheduled for the first, second, and third weeks in of the month.
Depending on the configuration that you set up in Lifecycle Services (LCS), you will receive updates during that
specific week.
For the April 10.0 release, Microsoft will perform updates during the weekends of April 6, April 13, or April 20
based on the configuration that you set up in LCS. Sandbox updates will always be scheduled a week before the
update. The configuration setup is available in LCS.
Customers can always choose to apply the update at an earlier time, or if there is a more convenient time than the
suggested times in Lifecycle Services. If the customer is on the latest version the auto update will be canceled.
Service updates
What product versions are impacted by service updates?
VERSIO N DESC RIP T IO N
8.1 and later All customers on 8.1 and later will be scheduled for automatic
monthly updates with a combined application and platform
update starting November 2018. You will be required to be
on an update that's no older than 4 months or 3 service
updates. To pause an update, refer to Pause service updates.
VERSIO N DESC RIP T IO N
Process
How will Microsoft ensure quality of releases?
Ensuring quality of the release is a fundamental principle that's enabled through a series of progressive, rigorous,
automated validations as described in Service update availability.
Can I select the day and time to update?
Customers can configure the day and maintenance time windows in LCS. Email will be sent to those individuals
who opt in to receive LCS notifications with instructions included on how to update. Customers will be able to
select the designated tier 2/UAT sandbox for the update. Customers will have 7 calendar days for testing and
validation. Customers can optionally choose to apply the update earlier to all environments through LCS. The
production ready deployable package will be made available to all customers via the Action Center in Lifecycle
services. Customers are responsible for deploying the update to any additional sandbox or developer/build (tier 1)
environments.
A service update was applied to the environment, when looking at the tile in Lifecycle Services for this
environment what does the number on the tile represent?
The same service update will be auto applied to all customers by Microsoft. Microsoft will continue to service the
latest update. The tile in LCS for that environment represents the cumulative number of hotfixes that are available
to be applied to your environment. Because Microsoft will only auto apply the same version to all customers, you
will be responsible for apply the cumulative hotfix package if it is required.
How do I update to the latest version?
Users can update to the latest version using the tiles on the Environment details page in LCS. After the update is
released by Microsoft, the tile will show the update available. Customers can choose to apply the update on their
own by going through the update experience on their sandbox and production environments.
How do I update the production environment to the same version after Microsoft updates the sandbox
environment?
When Microsoft updates a sandbox environment, the package that is used for the update is saved in the project's
asset library. The name of the package is prefixed by the words "Service Update." Because the package was already
applied to the sandbox environment, you can mark this package as a Release Candidate. You can then go to the
production environment and schedule to apply the package, just as you might schedule to apply any other update.
What is the expected downtime?
The expected downtime for a successful update is 30 minutes to 1 hour. However, we ask for three hours of
downtime in case issues occur while the update is applied. We are actively working to reduce the downtime that is
required, and you should expect improvements in the next few months.
What's the process for deprecation?
Before any feature is removed from the product, the deprecation notice will be announced in the product
documentation 12 months prior to the removal.
For breaking changes that only affect compilation time, but are binary compatible with sandbox and production
environments, the deprecation time will be less than 12 months. Typically these are functional updates that need
to made to the compiler.
Can I delay an update?
You can pause an update up to 4 months or 3 consecutive service updates by way of LCS configuration. After this
period, an update will be scheduled and auto-applied by Microsoft. The update experience for a delayed update
will incur additional downtime.
Can I delay an update for longer than 3 consecutive service updates due to seasonal activity or other business
reason?
No, service updates will be automatically applied to the sandbox, then 7 days later the update will be applied to
the production environment if the environments are more than 3 service updates old. A customer can only pause
up to 3 consecutive updates in a row. For example, if a customer on version 10.0 chooses to pause updates 10.0.1,
10.0.2, and 10.0.3 then service update 10.0.4 will be auto applied to the sandbox.
What if I find an issue during the sandbox update?
If you find an issue when doing validations in a sandbox environment, you can request to skip the update through
LCS directly by providing a valid support ticket number and a business justification.
What if I find a critical issue during sandbox testing and I am not able to pause the Production auto update?
Critical issues should always be submitted to the support team via Lifecycle Services as soon as they are identified.
The support staff will work with you on the resolution to the critical issue.
How much time do I get for validation?
You will get 7 calendar days for validation after the update is applied to your sandbox environment. If you need
more time, you can access the deployable package via the action center in Lifecycle Service and apply to your
environments. This will provide you with additional time to test the update prior to a production roll out.
What happens when the service update is complete?
Once the service update is applied by Microsoft you will receive a notification if the update was successful or if it
was not able to be applied. There can be several reasons an update was unable to be applied:
Pending Package Sign-off - If a package is pending signoff, Microsoft will not apply the service update to
production.
Deployment Failure - If there was a deployment failure ,the environment will be rolled-back to the original
state.
If there is a failure, can I reschedule the update to be auto applied?
You will not be able to reschedule the update per se, but you may to apply the package when it is convenient for
you, just as you might schedule to apply any other update.
Will critical hotfixes be automatically applied to my sandbox/ production environment during auto -update?
The service update that will be made generally available, and auto applied to all customers will contain hotfixes
and potentially new functionality. If a critical issue is reported after the service update has been applied, customers
can pull that cumulative hotfix update from the tile in Lifecycle Services.
How will my ISVs stay current?
Service updates to customer environments will be backward compatible and no action is required by the
Independent software vendors (ISVs). ISVs develop on the minimum required platform release that their code
depends on. Breaking changes will have a 12-month lead time to enable ISVs to include and validate. We
recommend that the ISVs be part of our Partner early access program, so that they can get early access to the
platform bits and validate their solutions against the update before it's made generally available.
What about new features?
All new features will be opt-in for a 12-month period and will not require any change management until you
choose to enable the feature.
Are batch jobs suspended during a service update?
Batch jobs are suspended during the maintenance windows and resume when the maintenance is completed.
Tools
How can I get early access to non-released platform updates?
You can join the First release program, where Microsoft will keep your system always current with the latest
updates. If you are not already a member of the Dynamics 365 Insider Program, you will need to:
1. Sign up for the Insider Program using this URL: https://experience.dynamics.com
2. Accept the terms and conditions to become a Dynamics 365 Insider.
3. After your application has been approved (approximately 24 hours) you can then sign back into the Insider
Portal to find the different preview programs available for you to join.
4. Preview Early Access Program (PEAP) and First Release: The program requires that you accept additional terms
and conditions to join. Please look for these programs within the Dynamics 365 Insider Program after your
nomination has been accepted.
Is there tooling available to support testing the latest release?
The Regression Suite Automation Tool is available now. This tool significantly reduces the time and cost of user
acceptance testing. User acceptance testing is typically required before taking a Microsoft application update or
applying custom code and configurations to your production environment. It enables functional power users to
record business tasks using the Task recorder and convert them into a suite of automated tests without the need
to write source code. Test libraries are stored and distributed in Lifecycle Services using the Business Process
Modeler (BPM) libraries and fully integrated with Azure DevOps for test execution, reporting, and investigation.
Test data parameters are decoupled from test steps and stored in Excel data files.
How can I test and validate that the integrations continue to work?
Data task automation lets you easily repeat many types of data tasks and validate the outcome of each task. You
can also use automated testing of data entities by using task outcome validation. For more information, see the
Data task automation topic.
How can I determine what's changed in a service update?
The What’s new or Changed documentation is the primary source for the details contained in each service update.
The Release plans are the primary source of information for all new features and changes for a future release.
Features will also include help topics in docs.microsoft.com as needed. An impact analysis tool will be available in
LCS to help you better understand the impact om the features that you use.
How will I know if there is a deprecated feature that will impact me if I’m not doing active development/
recompile my code?
Deprecated features will be documented with each release. For more information, see Removed or Deprecated
features.
December 2019 Extensions will be available on/ before December 31, 2019 for
the requests logged by January 1, 2019. Customers using
these extensions are required to move to current version by
April 2020.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This topic outlines the lifecycle and support policies for the Finance and Operations online service.
M A JO R REL EA SE
O R SERVIC E
REL EA SE UP DAT E VERSIO N B UIL D N UM B ER AVA IL A B IL IT Y EN D O F SERVIC E
Dynamics 365 for Major release 10.0 10.0.8 April 2019 Not applicable
Finance and (continuously
Operations updated)*
Dynamics 365 for Major release 8.1 8.1.136 October 2018 Not applicable
Finance and (continuously
Operations updated)*
* Indicates a major release is required to be updated through service updates. Service updates are cumulative in
nature and may include updates for some or all of the following components: Platform, Application, Financial
Reporting, Retail, and operating system updates. You will be required to have an update that's no older than 3
service updates. The 8.1.x version series will be replaced by version 10.0, which is targeted for release in April
2019. For more information, see One Version service updates FAQ.
Table 2: Application releases
For information about the new features included in each release, select the links in the Version column.
M A JO R O R
REL EA SE M IN O R REL EA SE VERSIO N B UIL D N UM B ER AVA IL A B IL IT Y EN D O F SERVIC E
Dynamics 365 for Major release 8.0 8.0.30 April 2018 April 30 2019
Finance and
Operations
Dynamics 365 for Major release 7.3 7.3.11971.56116 December 2017 April 30 2019*
Finance and
Operations,
Enterprise edition
Dynamics 365 for Major release July 2017 7.2.11792.56024 June 2017 April 30 2019
Finance and
Operations,
Enterprise edition
Dynamics 365 for Major release 1611 7.1.1541.3036 November 2016 April 30 2019
Operations
M A JO R O R
REL EA SE M IN O R REL EA SE VERSIO N B UIL D N UM B ER AVA IL A B IL IT Y EN D O F SERVIC E
* All customers must be on the latest version of Finance and Operations by April 2019. However, we are making an
exception for customers who have unfulfilled extension requests that have been submitted to Microsoft. Those
customers who submitted extensibility requests by January 1, 2019, will be supported on version 7.3 until their
extensibility requests are fulfilled. Customers are expected to upgrade to the latest version within 90 days of the
extensibility request being fulfilled. For more information, see One Version service updates FAQ.
Table 3: Platform releases
For information about the new features included in each release, select the links in the Release column.
** Platform updates 16, 17, 18, and 19 have not been made generally available.
* Platform updates 13 and 14 have not been made generally available.
Table 4: Application updates
The application updates listed below consist of a small subset of application enhancements released on top of
Finance and Operations versions 8.0, 7.3, and 7.2 (July 2017). These updates do not affect the support lifecycle of
the release--support is in-line with the policies for each release.
Note that application updates are not cumulative. The individual packages only contain the enhancements that
were included in that specific release. However, if there is a dependency between two packages, then both
packages will be included.
For information about the new features included in each update, click the links in the Version column.
Dynamics 365 for Finance 8.1.3: KB 4470000 Microsoft 8.1.227 January 2019
and Operations Dynamics 365 for Finance
and Operations version
8.1.3 with Platform update
23*
Dynamics 365 for Finance 8.1.2: KB 4470000 Microsoft 8.1.195 December 2018
and Operations Dynamics 365 for Finance
and Operations version
8.1.2 with Platform update
22*
Dynamics 365 for Finance 8.1.1: KB 4470000 Microsoft 8.1.170 October 2018
and Operations Dynamics 365 for Finance
and Operations version
8.1.1 with Platform update
21*
REL EA SE VERSIO N B UIL D N UM B ER AVA IL A B IL IT Y
Dynamics 365 for Finance 8.0.4: KB 4458992 Microsoft 8.0.35.15532 August 2018
and Operations Dynamics 365 for Finance
and Operations - Version
8.0.4 (Binary part)*, KB
4458993 Microsoft
Dynamics 365 for Finance
and Operations - Version
8.0.4 (X++ part)*
Dynamics 365 for Finance 8.0.3: KB 4346176 Microsoft 8.0.35.15342 July 2018
and Operations Dynamics 365 for Finance
and Operations - Version
8.0.3 (Binary part)*, KB
4346172 Microsoft
Dynamics 365 for Finance
and Operations - Version
8.0.3 (X++ part)*
Dynamics 365 for Finance 8.0.2: KB 4340414 Microsoft 8.0.35.15211 July 2018
and Operations Dynamics 365 for Finance
and Operations - Version
8.0.2 (Binary part)*, KB
4340413 Microsoft
Dynamics 365 for Finance
and Operations - Version
8.0.2 (X++ part)*
Dynamics 365 for Finance 8.0.1: KB 4295107 Microsoft 8.0.30.15107 June 2018
and Operations Dynamics 365 for Finance
and Operations - Version
8.0.1 (Binary part)*, KB
4294515 Microsoft
Dynamics 365 for Finance
and Operations - Version
8.0.1 (X++ part)*
Dynamics 365 for Finance 7.3.2: KB 4093261 Microsoft 7.3.11971.62687 March 2018
and Operations, Enterprise Dynamics 365 for Finance
edition and Operations - Version
7.3.2 (Binary part)*, KB
4093262 Microsoft
Dynamics 365 for Finance
and Operations - Version
7.3.2 (X++ part)*
Dynamics 365 for Finance 7.3.1: KB 4093139 Microsoft 7.3.11971.62430 March 2018
and Operations, Enterprise Dynamics 365 for Finance
edition and Operations - Version
7.3.1 (Binary part)*, KB
4091727 Microsoft
Dynamics 365 for Finance
and Operations - Version
7.3.1 (X++ part)*
REL EA SE VERSIO N B UIL D N UM B ER AVA IL A B IL IT Y
* The link points to a Knowledge Base (KB) article. You must sign in to Lifecycle Services (LCS) to view the KB
article.
Support matrix
Platform updates are compatible with all application versions that are supported at the time of release.
Table 5: Downloadable virtual hard drive (VHD) releases
Use of the VHDs is subject to the Software license terms.
REL EA SE VH D N A M E VH D EXP IRAT IO N DAT E
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This topic outlines the lifecycle and support policies for Microsoft Dynamics 365 Finance + Operations (on-
premises) releases.
Continuous - - - - -
service updates
Dynamics 365 for 10.0 10.0.8 March 2019 June 2019 December 2027
Finance and
Operations (on-
premises)
Dynamics 365 for 8.1 8.1.136 November 2018 April 2019 December 2027
Finance and
Operations (on-
premises)
Dynamics 365 for 7.3 7.3.11971 March 2018 April 2020* December 2027
Finance and
Operations,
Enterprise edition
(on-premises)
Dynamics 365 for July 2017 7.2.11792 June 2017 April 2019 December 2027
Finance and
Operations,
Enterprise edition
(on-premises)
* All customers must be on the latest version of Finance and Operations by April 30, 2019. However, we are making
an exception for customers who have unfulfilled extension requests that have been submitted to Microsoft. Those
customers can be on version 7.3 until April 2020. For more information, see One Version service updates FAQ.
Platform releases
Platform releases expire at the end of the month of their software lifecycle.
Continuous service - - - -
updates
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
Service updates are continuous, touchless updates that provide new features and functionality. They eliminate the
need to do expensive upgrades every few years. The service updates maintain backward compatibility, which
means there is no need to ‘merge your code’. We recommend leveraging tools such as the Regression Suite
Automation Tool (RSAT) for regression testing.
You are in control and manage how your organization receives these updates. For example, you can sign up for the
First Release program so that your organization receives updates first. You can apply the updates to any of your
environments manually (self-update) or remain on the default release schedule and receive the auto-updates
when you schedule them using Lifecycle Services (LCS). This topic explains the different release options and how
you can use them for your organization.
Service updates contain both application and platform changes that are critical improvements to the service,
including regulatory updates.
Release processes
Each new release is designed and developed by the Dynamics 365 team. Any new release is first validated by the
feature team, then by the Finance and Operations teams. During this time, extensive testing is done on various test
topologies. A compatibility checker also runs tests to ensure backward compatibility. In addition, a Release
Validation Program is available for customers to join. This program allows customers to share artifacts, such as
databases and code, that is used for benchmarking and tested with automation to provide an additional layer of
quality assurance.
Preview Early Access Program (PEAP) is available to partners, customers, and ISV’s who opt in through the Insider
Program. As a participant in the PEAP program you will have first access and visibility into the preview for the
upcoming service update. The preview service update is used to validate customizations, learn about new features,
and provide feedback to Microsoft. During this phase, the service update must be deployed on a Dev/Test
environment. This release cannot be used in production. To join the PEAP program, sign up via the Insider
Program.
The First Release program is open to all customers. Customers who join the First Release program will be the first,
select group of customers to take the service update all the way to production. Microsoft will manage the
deployment of this service update to a UAT sandbox and then 7 days later will auto-deploy the update to
production. Customers participating in this program have the additional benefit of having dedicated Microsoft
engineers closely monitoring the environments for any issues after updates have been applied. To join First
Release, sign up via the Insider Program.
The service update will be made generally available using the action center in LCS. When the service update is
available, it can be manually applied to all environments including production. If the service update has not been
applied to the designated sandbox or production environment, Microsoft will auto-apply the update based on the
“Update settings” for the LCS project. To learn more, see Configure service updates through Lifecycle Services.
Release cadence
Microsoft is committed to delivering predictable service updates. These service updates will be made generally
available for self-deployment approximately 2 weeks prior to Microsoft automatically applying the update.
NOTE
Service updates will not be provided during the months of March, June, September, and December.
Customers will be able to take up to 8 service updates per year and are required to take a minimum of 2 service
updates per year. Customers can choose to pause up to 3 consecutive updates at a time. Pausing a service update
can apply to the designated UAT sandbox, production, or both environments. After the pause window has ended
and if the customer has not self-updated to a supported service update, Microsoft will auto-apply the latest update
based on the configuration selection made available in LCS. To learn more about how to pause service updates,
see Pause service updates through Lifecycle Services.
Targeted release schedule (dates subject to change )
NOTE
Sandbox auto-update takes place 7 days prior to the production update. End of service indicates the date when no new
cumulative service updates will be provided.
10.0.2 Platform April 12, 2019 May 17, 2019 Production starting: August 12, 2019
update 26 June 1, 2019
10.0.3 Platform May 10, 2019 June 14, 2019 Production starting: September 9, 2019
update 27 July 1, 2019
10.0.4 Platform June 7, 2019 July 12, 2019 Production starting: October 14, 2019
update 28 August 1, 2019
10.0.5 Platform August 2, 2019 September 13, 2019 Production starting: December 2, 2019
update 29 October 1, 2019
10.0.6 Platform September 6, 2019 October 11, 2019 Production starting: January 13, 2020
update 30 November 1, 2019
10.0.7 Platform October 25, 2019 November 29, 2019 Production starting: March 9, 2020
update 31 January 1, 2020
10.0.8 Platform November 29, 2019 January 17, 2020 Production starting: May 1, 2020
update 32 February 1, 2020
10.0.9 Platform February 1, 2020 March 13, 2020 Production starting: June 5, 2020
Update 33 April 1, 2020
GEN ERA L LY A UTO - UP DAT E
P REVIEW AVA IL A B L E ( SEL F - SC H EDUL E ( VIA L C S
VERSIO N AVA IL A B IL IT Y ( P EA P ) UP DAT E) UP DAT E SET T IN GS) EN D O F SERVIC E
10.0.10 March 6, 2020 April 10, 2020 Production starting: July 3, 2020
May 1, 2020
10.0.11 April 17, 2020 May 29, 2020 Production starting: September 4, 2020
July 1, 2020
10.0.12 May 29, 2020 July 10, 2020 Production starting: October 9, 2020
August 1, 2020
10.0.13 August 3, 2020 September 18, 2020 Production starting: December 4, 2020
October 1, 2020
NOTE
The Software lifecycle policy applies to customers enrolled in First Release and when the service update is made generally
available.
Sign up for the PEAP program by joining the Insider Program available at https://experience.dynamics.com. Once
your nomination has been accepted, join the program.
Public previews are made available as a deployable package via the Shared asset library in Lifecycle Services. For
more details, see One Version service updates FAQ.
Apply updates to cloud environments
3/4/2020 • 9 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This topic describes how you can use Microsoft Dynamics Lifecycle Services (LCS) to automatically apply updates to
cloud environments.
IMPORTANT
Updates are applied using deployable packages. Applying updates causes system downtime. All relevant services will be
stopped, and you won't be able to use your environments while the package is being applied. You should plan accordingly.
Supported environments
All environments deployed through Lifecycle Services are supported.
NOTE
If you have a build environment, you can only use LCS to apply Binary updates and Data upgrade packages. You can't use LCS
to apply an Application Deployable package.
For other environments (listed below), you must use Remote Desktop Protocol (RDP) to connect to the environment
and install from the command line. For information about manual package deployment, see Install deployable
packages from the command line.
Local development environments (Downloadable virtual hard disk [VHD])
Multi-box dev/test environments in Microsoft Azure (Partner and trial projects)
Key concepts
Before you begin, you should understand deployable packages, runbooks, and the AXInstaller. A deployable
package is a unit of deployment that can be applied in any environment. A deployable package can be a binary
update to the platform or other runtime components, an updated application (AOT) package, or a new application
(AOT) package. The AXInstaller creates a runbook that enables installing a package. For more details, see Packages,
runbooks, and the AXUpdateInstaller in depth at the end of this topic.
NOTE
A binary package and a Commerce deployable package can't be included in the same merged package.
For information about how to download an update from LCS and what you see in the tiles based on your environment
version, see Download updates from Lifecycle Services (LCS).
If your environment is on an application version 8.1 and later, then the Platform Update package does not apply to your
environment. Starting with 8.1 and later releases, Application and Platform Binar y update package is the one that
applies since application and platform will be combined into a single cumulative package and will be released by Microsoft.
Also note that you will no longer be applying granular X++ hotfixes and will get all application and platform updates together.
This means that on the environment details page, clicking on View detailed version information will not have details on
the granular hotfixes or KBs applied as there is no way to apply them.
Prerequisite steps
Make sure that the package that should be applied is valid. When a package is uploaded to the Asset
library, it isn't analyzed. If you select the package, the package status appears in the right pane as Not
Validated . A package must pass validation before it can be applied in an environment by using the following
procedures. The status of the package will be updated in the Asset library to indicate whether the package is
valid. We require validation to help ensure that production environments aren't affected by packages that
don't meet the guidelines.
There are three types of validations:
Basic package format validations
Platform version checks
Types of packages
Make sure that the package is applied in a sandbox environment before it's applied in the
production environment. To help ensure that the production environment is always in a good state, we
want to make sure that the package is tested in a sandbox environment before it's applied in the production
environment. Therefore, before you request that the package be applied in your production environment,
make sure that it has been applied in your sandbox environment by using the automated flows.
If you want to apply multiple packages, create a merged package that can be applied first in a
sandbox environment and then in the production environment. Application of a single package in an
average environment requires about 5 hours of downtime. To avoid additional hours of downtime when you
must apply multiple packages, you can create a single combined package that contains one package of each
type. If you select a binary package and an application deployable package in the Asset library, a Merge
button becomes available on the toolbar. By clicking this button, you can merge the two packages into a
single package and therefore reduce the total downtime by half.
Make sure that the Application binar y update package is applied to your dev/build
environment before it is applied to your sandbox and production environment - If the application
binary package is applied directly to your Tier 2+ sandbox environment but is not applied on your dev/build
environment, the next time you move an AOT package from dev/build box (which does not have the same
application binaries as your sandbox environment) to sandbox, some of the application binaries will be
overwritten with what is in your dev/build environment. This could result in a regression of the version of
your sandbox environment.
IMPORTANT
An important prerequisite for applying a package to a production environment is that the package must be successfully
applied to at least one sandbox environment in the same project.
1. After the update is successfully applied in a sandbox environment, go to the project's asset library. On the
Asset librar y page, select the Software deployable package tab, select the package that you want to
move to production, and click Release candidate . This indicates that this package is ready for production
deployment.
2. Open the Environment details view for the production environment where you want to apply the package.
3. Select Maintain > Apply updates to apply the package.
4. Select the package to apply in your production environment, and then click Schedule to submit a request to
apply it.
NOTE
The list of packages includes only the packages that have been successfully signed off in the sandbox environment,
and that have been marked as release candidates.
5. Specify the date and time to schedule the package application. Click Submit , and then click OK to confirm.
Note that your environments will be unavailable to perform business while the package is being applied.
6. At the scheduled downtime, package deployment will start.
7. After the environment is serviced, you can monitor the status. The Ser vicing status field indicates the
status of package application. Additionally, a progress indicator shows the number of steps that have been
run, out of the total number of steps that are available.
8. After the deployment is successfully completed, the Ser vicing status field is set to Completed .
9. If package application isn't successfully completed, Microsoft will investigate the issue. The Ser vicing status
field will indicate that package application has failed. The environment will be rolled back to a good state.
AXUpdateInstaller – When you create a customization package from Microsoft Visual Studio or a Microsoft
binary update, the installer executable is bundled together with the deployable package. The installer generates the
runbook for the specified topology. The installer can also run steps in order, according to the runbook for a specific
topology.
Additional resources
Install deployable packages from the command line
Apply updates to on-premises deployments
3/6/2020 • 8 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This topic explains how to apply supported updates to Dynamics 365 Finance + Operations (on-premises). All
updates to on-premises environments are done through Microsoft Dynamics Lifecycle Services (LCS).
NOTE
When you are updating an on-premises environment, always select updates from the update tiles on the Environment
details page. If you select updates from another location, the updates might not work.
NOTE
You can apply updates after deployment only on environments that have Platform update 12 for Finance and Operations or
later. The environment must also have the latest version of the local agent available in LCS. For more information, see Update
the local agent. If you're on a platform version that is older than Platform update 12, you can reconfigure an environment
that is already deployed to update the customizations or update to the latest platform release. For more information about
how to redeploy an environment, seeRedeploy on-premises environments.
IMPORTANT
To move to the latest platform, always select the platform update from the Platform Binar y Updates tile on the
Environment details page. If you select updates from another location, the updates might not work.
Prerequisites
Before you begin, complete a full backup of the Management Reporter (MR), Microsoft Dynamics AX, and
Microsoft SQL Server Reporting Services (SSRS databases). Although the code is restored through LCS, the
database must be manually restored to help guarantee that there is no data loss.
Update your environment to the latest build of Platform update 12.
Update the local agent to the latest version. For more information, see Update the local agent.
Depending on the type of update, complete the following steps to generate a deployable package:
Platform binar y updates – Download or save the update directly to the Asset library in LCS by
following the steps in Download updates from Lifecycle Services (LCS).
Application binar y updates – Download or save the update directly to the Asset library in LCS by
following the steps in Download updates from Lifecycle Services (LCS).
Application X++ updates – Download the required hotfix to your development environment, and then
follow the steps in Create deployable packages of models.
Customizations – Follow the steps in Develop and deploy custom models to on-premises
environments.
Update a sandbox environment
1. In the LCS Asset library, upload the deployable package that was generated in the "Prerequisites" section of this
topic to theSoftware deployable packages tab.
2. In LCS, open the on-premises implementation project, and then open the Environment details page of the
environment to update.
3. Under Maintain , select Apply updates . A slider shows the updates that were uploaded to the Asset library.
Note that only packages that are marked as Valid in the Asset library appear.
If you are on local agent version 2.1.0 and higher, complete the following steps.
1. Select the update, and then click Prepare . Clicking on Prepare will prepare your on-premises environment
for servicing.
NOTE
During preparation, the environment state will be Deployed but the Deployment status field will show the progress
of Preparation. Steps such formatting the package and downloading the package are executed during preparation.
The environment is not directly touched during preparation and hence there is no downtime during the preparation
phase. Users can continue to use the system during preparation.
2. After the preparation is complete, you will see Abor t and Update Environment buttons. To start applying
the update, click Update Environment . If preparation fails, see the "Resolve a failed update application"
section later in this topic.
3. In the confirmation message, select Yes . The servicing operation has started on this environment. This is the
start of the downtime on your environment.
4. The environment state is changed from Deployed to Deploying .
5. After the update is completed, the environment state is changed back to Deployed . If application of the
update fails, the environment state is changed to Failed . For information about what to do if package
application fails, see the "Resolve a failed update application" section later in this topic.
6. Open the Histor y and Environment details pages to view the operations that were performed on the
environment. You can also view a record of major actions that were performed on the environment, such as
deployments, servicing, and rollbacks.
If you are on local agent version lower than 2.1.0, complete the following steps.
1. Select the update, and then click Apply .
2. In the confirmation message, select Yes . The servicing operation has started on this environment. This is the
start of the downtime on your environment.
3. Environment state changes from Deployed to Preparing .
NOTE
During preparation, steps such formatting the package and downloading the package are executed during
preparation. The environment is not directly touched during preparation and hence there is no downtime during the
preparation phase. Users can continue to use the system during preparation. However, we recommend that the
downtime starts when the environment enters the Preparing state.
4. After preparation is complete, the environment state is changed from Preparing to Deploying .
5. After the update is completed, the environment state is changed back to Deployed . If application of the
update fails, the environment state is changed to Failed . For information about what to do if package
application fails, see the "Resolve a failed update application" section later in this topic.
6. Open the Histor y and Environment details pages to view the operations that were performed on the
environment. You can also view a record of major actions that were performed on the environment, such as
deployments, servicing, and rollbacks.
Update a production environment
Before you update a production environment, you must successfully complete the package application update on a
sandbox environment.
1. In the project for the sandbox environment that you applied the package to, open the Asset library, and then, on
the Software deployable packages tab, select the package, and mark it as a Release candidate .
2. On the Environment details page, under Maintain , select Apply updates . In the dialog box, only packages
that are marked as a Release candidate are shown.
3. Select the Release candidate package to be applied to the Production environment.
4. The rest of the Update flow is the same as that of a sandbox environment. Your update experience will differ
based on the version of the local agent running on your environment. We recommend that you always run with
the latest version.
NOTE
The Rollback button doesn't roll back the database. You're responsible for restoring the database to the last known
backup that was made before update application. This step is critical to help guarantee that there is no data loss.
Refresh the state – If update application fails during the Preparation stage, the failure is on the LCS side,
and update application hasn't yet started. Therefore, the on-premises environment is in a good state. To
restore the LCS environment state to Deployed , on the project dashboard page, select Refresh .
Delete and redeploy an environment – If the retry and rollback options don't work, you must delete and
redeploy the environment. To delete the environment, on the project dashboard page, select Delete . You
then see the option to configure the environment.
IMPORTANT
This option should not be used on a production environment. However, it can be used on a sandbox deployment to
restore the environment to a healthy state.
Because this option requires that you do a fresh deployment of the environment, you lose any updates
that were previously applied. Any customizations and binary updates must be reapplied to the
environment.
Configure service updates through Lifecycle Services
(LCS)
3/12/2020 • 3 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
In Microsoft Dynamics Lifecycle Services (LCS), you can specify how and when you receive service updates from
Microsoft for your environments.
IMPORTANT
This feature is available only to customers who are using version 8.1 and later or are using version 7.3 , and who are not
part of the First release program. Microsoft is working to make the feature available to First release customers. For customers
who are on version 7.1, 7.2, or 8.0, you can take the update manually using the regular servicing flows.
Only users (customers or partners) who are assigned to the Project owner role in LCS can configure updates.
Additionally, updates can be configured only for implementation projects .
Follow these steps to change your update settings.
NOTE
These settings apply only to service updates. They have no effect on the operating system–level security updates that are
applied to your environments every month.
IMPORTANT
The environment that you select here will be updated seven calendar days before the update cadence that is
selected for the production environment.
Production environment update cadence – Select a recurring cadence for updates to your
production environment. The sandbox environment that is selected in the Update environment
field will be updated seven calendar days before the selected cadence. The following options are
available:
Select the cadence – Select whether to receive updates in the first, second, or third week of the
month.
Select one of the three time-zones – Select the time zone that the production environment
should be updated in: Eastern Time (UTC – 5), Hong Kong Time (UTC + 8), or Greenwich Mean
Time (UTC + 0).
Select a day of the week : Select the day in the week when you want to receive updates.
Select a time slot: Select the time slot when you want to receive updates.
NOTE
Currently, only a few options are available for the day of the week and time slot options. Microsoft will add
more options soon, such as weekdays for customers.
IMPORTANT
If the above time slots do not meet your needs, you always have the option to do a self-update at a time that
is convinient to you by taking the update and applying it to your environments using the regular servicing
flows.
IMPORTANT
After the settings are saved, you can change them at any time. However, if there is an ongoing rollout, the new settings won't
be used to update the existing rollout timings. Instead, they will start to be used in the next rollout. An ongoing rollout is
defined by the 14-day period between the date when the email notification about the update of the sandbox environment is
sent and the date when the production environment is updated.
For more information about how to pause updates to configured sandbox and production environments, see Pause
service updates through Lifecycle Services (LCS).
For more information about One Version and Microsoft-managed service updates, see One Version service updates
FAQ.
Pause service updates through Lifecycle Services
(LCS)
3/12/2020 • 5 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This topic explains how to pause updates to your sandbox and production cloud environments by using Microsoft
Dynamics Lifecycle Services (LCS). This topic does not apply to on-premises environments.
IMPORTANT
This feature is available only to customers who are using version 8.1 and later or are using version 7.3 , and who are not
part of the First release program. Microsoft is working to make the feature available to First release customers. For
customers who are on version 7.1, 7.2, or 8.0, you can take the update manually using the regular servicing flows.
Microsoft updates your configured sandbox and production environments to the latest service update that
Microsoft has released. Microsoft notifies you about upcoming updates to your environments via email and
through notifications in LCS. At that point, if you can't proceed with the update for some reason, you can pause it
through LCS.
For more information about how to change the configured sandbox environment and set the production update
cadence, see Configure service updates through Lifecycle Services (LCS).
IMPORTANT
There is no way to pause more than three updates, regardless of your industry or business schedule. If you are more than
three updates behind and you find a critical issue during validations in your sandbox environment after the update, you can
contact Microsoft Support to pause the update to your production environment. This is only required if you are more than
three updates behind and you are unable to use the pause updates functionality available in LCS to pause the update to
production.
If you pause updates to your sandbox environment, updates are automatically also paused for your production
environment, because Microsoft always updates configured sandbox environments before production
environments.
You can cancel a pause and choose to resume updates only 7 days prior to the start of the downtime date. If
you are past that date then you will not be able to cancel a pause.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This topic explains how you can stay up to date about service updates from Microsoft.
Microsoft uses service updates to update your configured sandbox and production environments to the latest
released version. Microsoft notifies you about upcoming updates to your environments via email and through
notifications in Microsoft Dynamics Lifecycle Services (LCS).
Here are the different types of notifications that you will receive:
Notification when an update is made available: When a new release is made generally available,
Microsoft surfaces a notification in your implementation projects' action center. You can then save that
update in your projects' asset library, if you want to apply the update to your environments before Microsoft
does an automatic update. When Microsoft does an automatic update, it also saves a copy of the update in
your projects' asset library.
Notification that is sent five days before the update: Microsoft notifies you five days before it updates
your environment. After you've configured your update cadence, you will receive notifications about
upcoming updates five days before they occur. These notifications take three forms:
Email notification: Project owners, environment managers, and users who are listed as additional
stakeholders for an environment are notified by email about the upcoming update.
Notification bar on the environment details page: A notification that appears on the environment
details page in LCS informs the customer about the upcoming update.
Upcoming update reflects the update: On the environment details page in LCS, select Maintain >
Upcoming Update to open a dialog box that contains details about the upcoming update.
Notification that is sent one hour before the update: One hour before the start of the downtime
window, users in the application receive a notification. This notification asks users to save their work,
because the environment will be taken down for an update.
Notification that is sent when the update is completed: After Microsoft has finished updating your
configured environment, it notifies you by email about the outcome of the update. This email is always sent,
regardless of whether the update was successfully applied. It's sent to project owners, environment
managers, and users who are listed as the additional stakeholders for the environment. If Microsoft can't
start the update for some reason, the email includes a reason to explain why the update wasn't started.
After you receive a notification, if you can't proceed with the update for some reason, you can pause it. For more
information about how to pause updates to configured sandbox and production environments, see Pause service
updates through Lifecycle Services (LCS).
For more information about One Version and Microsoft-managed service updates, see One Version service updates
FAQ.
Data task automation
2/8/2020 • 17 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
Data task automation lets you easily repeat many types of data tasks and validate the outcome of each task. Data
task automation is very useful for projects that are in the implementation phase. For example, you can automate
the creation and configuration of data projects. You can also configure and trigger the execution of import/export
operations, such as the setup of demo data and golden configuration data, and other tasks that are related to data
migration. You can also create automated testing of data entities by using task outcome validation.
IMPORTANT
Data task automation isn't currently supported for on-premises environments. The user who executes data task automation
must be in the same tenant as the application environment and LCS project.
IMPORTANT
The user account that runs Data task automation manager must have access to LCS and to the LCS project that is
referenced in the manifest for data packages.
Although data task automation can be run in any environment in the cloud, we strongly recommend that you not
run any import/export tasks that use integration application programming interfaces (APIs) in a production
environment. Data task automation that involves integration APIs should be used only for automated testing.
The following video is a 55-minute TechTalk that walks you through an early release of Data task automation
manager: Task automation framework.
Task manifest
A task must be defined in an XML manifest. This section describes the manifest. For guidance about how to name
and design the manifest, see the "Best practices for manifest design" section later in this topic.
Manifest root
The <TestManifest> element is the root of the manifest. All other elements are children of this element.
Shared setup
The Shared setup section defines general task parameters and behaviors for all tasks in the manifest.
EL EM EN T AT T RIB UT E
PA REN T EL EM EN T EL EM EN T C A RDIN A L IT Y AT T RIB UT ES DESC RIP T IO N
Data files
<DataFile> elements define the data packages and data files that the tasks in the manifest will use. The data files
must be either in the LCS asset library of your LCS project or in the Shared asset library.
<DataFile> - ID
<JobDefinition ID='ImportJobDefinition_1'>
<Operation>Import</Operation>
<ConfigurationOnly>No</ConfigurationOnly>
<Truncate></Truncate>
<Mode>Import async</Mode>
<BatchFrequencyInMinutes>1</BatchFrequencyInMinutes>
<NumberOfTimesToRunBatch >2</NumberOfTimesToRunBatch>
<UploadFrequencyInSeconds>1</UploadFrequencyInSeconds>
<TotalNumberOfTimesToUploadFile>1</TotalNumberOfTimesToUploadFile>
<SupportedDataSourceType>Package</SupportedDataSourceType>
<ProcessMessagesInOrder>No</ProcessMessagesInOrder>
<PreventUploadWhenZeroRecords>No</PreventUploadWhenZeroRecords>
<UseCompanyFromMessage>Yes</UseCompanyFromMessage>
<LegalEntity>DAT</LegalEntity>
<PackageAPIExecute>true</PackageAPIExecute>
<PackageAPIOverwrite>false</PackageAPIOverwrite>
<PackageAPIReexecute>false</PackageAPIReexecute>
<DefinitionGroupID>TestExport</DefinitionGroupID>
<PackageName>TestExportPackage</PackageName>
</JobDefinition>
EL EM EN T
PA REN T EL EM EN T EL EM EN T C A RDIN A L IT Y AT T RIB UT E DESC RIP T IO N
Entity setup
The Entity setup section defines the characteristics of an entity that a task in the manifest will use. There can be
more than one definition, one for each entity that is used by the tasks in the manifest.
<EntitySetup ID='Generic'>
<Entity name='*'>
<SourceDataFormatName>Package</SourceDataFormatName>
<ChangeTracking></ChangeTracking>
<PublishToBYOD></PublishToBYOD>
<DefaultRefreshType>Full push only</DefaultRefreshType>
<ExcelWorkSheetName></ExcelWorkSheetName>
<SelectFields>All fields</SelectFields>
<SetBasedProcessing></SetBasedProcessing>
<FailBatchOnErrorForExecutionUnit>No</FailBatchOnErrorForExecutionUnit>
<FailBatchOnErrorForLevel>No</FailBatchOnErrorForLevel>
<DisableEntity>No</DisableEntity>
<SkipStaging>Yes</SkipStaging>
<ParallelProcessing>
<Threshold></Threshold>
<TaskCount></TaskCount>
</ParallelProcessing>
<MappingDetail StagingFieldName='RoundingRulePrices' AutoGenerate='Yes' AutoDefault='No'
DefaultValue='' IgnoreBlankValues='No' TextQualifier='No' UseEnumLabel='No'/>
</Entity>
</EntitySetup>
EL EM EN T
PA REN T EL EM EN T EL EM EN T C A RDIN A L IT Y AT T RIB UT E DESC RIP T IO N
Test groups
Test groups can be used to organize related tasks in a manifest. There can be more than one test group in a
manifest.
EL EM EN T
PA REN T EL EM EN T EL EM EN T C A RDIN A L IT Y AT T RIB UT ES DESC RIP T IO N
Validations
Data task automation manager performs validations, based on the setup of a task. If a task fails, you can quickly
determine the reason for the failure by viewing the validations after the task is completed. The level of information
that Data task automation manager provides is optimized to facilitate initial discovery. For detailed investigation,
you must look at the corresponding data project and its execution details.
The following data validations are currently supported:
Job status – This validation checks whether the job was successful.
Batch status – This validation checks whether the batch was successful.
Message status – If the test is about integrations, the message status is validated.
Truncation – If truncation is enabled, this validation checks whether truncation occurred.
Skip staging – If Skip staging is enabled on a test, this validation checks whether staging was skipped.
<JobDefinition ID='ImportJobDefinition_1'>
<ConfigurationOnly>Yes</ConfigurationOnly>
<Operation>Import</Operation>
<Truncate>No</Truncate>
<Mode>Import async</Mode>
<BatchFrequencyInMinutes>1</BatchFrequencyInMinutes>
<NumberOfTimesToRunBatch >2</NumberOfTimesToRunBatch>
<UploadFrequencyInSeconds>1</UploadFrequencyInSeconds>
<TotalNumberOfTimesToUploadFile>1</TotalNumberOfTimesToUploadFile>
<SupportedDataSourceType>Package</SupportedDataSourceType>
<ProcessMessagesInOrder>No</ProcessMessagesInOrder>
<PreventUploadWhenZeroRecords>No</PreventUploadWhenZeroRecords>
<UseCompanyFromMessage>Yes</UseCompanyFromMessage>
<LegalEntity>DAT</LegalEntity>
</JobDefinition>
<EntitySetup ID='Generic'>
<Entity name='*'>
<SourceDataFormatName>Package</SourceDataFormatName>
<ChangeTracking>No</ChangeTracking>
<PublishToBYOD>No</PublishToBYOD>
<DefaultRefreshType>Full push only</DefaultRefreshType>
<ExcelWorkSheetName></ExcelWorkSheetName>
<SelectFields>All fields</SelectFields>
<SetBasedProcessing>No</SetBasedProcessing>
<FailBatchOnErrorForExecutionUnit>No</FailBatchOnErrorForExecutionUnit>
<FailBatchOnErrorForLevel>No</FailBatchOnErrorForLevel>
<FailBatchOnErrorForSequence>No</FailBatchOnErrorForSequence>
<ParallelProcessing>
<Threshold></Threshold>
<TaskCount></TaskCount>
</ParallelProcessing>
</Entity>
</EntitySetup>
</SharedSetup>
<TestCase Title='Set up import job for financials HQUS' ID='3933886' RepeatCount='1' TraceParser='off'
TimeOut='20'>
<DataFile RefID='FinancialsHQUS' />
<JobDefinition RefID='ImportJobDefinition_1'>
<LegalEntity>HQUS</LegalEntity>
</JobDefinition>
<EntitySetup RefID='Generic' />
</TestCase>
<TestCase Title='Set up import job for financials PICH' ID='3933887' RepeatCount='1' TraceParser='off'
TimeOut='20'>
<DataFile RefID='FinancialsPICH' />
<JobDefinition RefID='ImportJobDefinition_1'>
<LegalEntity>PICH</LegalEntity>
</JobDefinition>
<EntitySetup RefID='Generic' />
</TestCase>
<TestCase Title='Set up import job for financials PIFB' ID='3933888' RepeatCount='1' TraceParser='off'
TimeOut='20'>
<DataFile RefID='FinancialsPIFB' />
<JobDefinition RefID='ImportJobDefinition_1'>
<LegalEntity>PIFB</LegalEntity>
</JobDefinition>
<EntitySetup RefID='Generic' />
</TestCase>
</TestGroup>
</TestManifest>
<JobDefinition ID='ImportJobDefinition_1'>
<Operation>Import</Operation>
<Truncate></Truncate>
<Mode>Import async</Mode>
<BatchFrequencyInMinutes>1</BatchFrequencyInMinutes>
<NumberOfTimesToRunBatch >2</NumberOfTimesToRunBatch>
<UploadFrequencyInSeconds>1</UploadFrequencyInSeconds>
<TotalNumberOfTimesToUploadFile>1</TotalNumberOfTimesToUploadFile>
<SupportedDataSourceType>Package</SupportedDataSourceType>
<ProcessMessagesInOrder>No</ProcessMessagesInOrder>
<PreventUploadWhenZeroRecords>No</PreventUploadWhenZeroRecords>
<UseCompanyFromMessage>Yes</UseCompanyFromMessage>
<LegalEntity>DAT</LegalEntity>
</JobDefinition>
<EntitySetup ID='Generic'>
<Entity name='*'>
<SourceDataFormatName>Package</SourceDataFormatName>
<ChangeTracking></ChangeTracking>
<PublishToBYOD></PublishToBYOD>
<DefaultRefreshType>Full push only</DefaultRefreshType>
<ExcelWorkSheetName></ExcelWorkSheetName>
<SelectFields>All fields</SelectFields>
<SetBasedProcessing></SetBasedProcessing>
<FailBatchOnErrorForExecutionUnit>No</FailBatchOnErrorForExecutionUnit>
<FailBatchOnErrorForLevel>No</FailBatchOnErrorForLevel>
<FailBatchOnErrorForSequence>No</FailBatchOnErrorForSequence>
<ParallelProcessing>
<Threshold></Threshold>
<TaskCount></TaskCount>
</ParallelProcessing>
</Entity>
</EntitySetup>
</SharedSetup>
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
Thanks to One Version, new updates are now automatically broadcast, downtime is minimal, and customers enjoy
the benefits of staying current with recent features and fixes without having to go through expensive upgrades.
Feature management lets customers control when new features are applied. Therefore, as an independent software
vendor (ISV) partner, you can innovate together with Microsoft to take advantage of new features without having to
handle the waiting times that come with long release cycles. When all your customers run on current versions, you
have fewer versions to maintain. You can focus instead on building quality into the solutions that you provide for
your customers.
The process of servicing current versions is also more seamless and safer than it was in earlier versions. Previously,
patching required that individual fixes be combined and merged into a customer environment.
Extensibility allows for deployment of side-by-side solutions that give customers more choices about how they
configure their solutions.
In the One Version model, customer user acceptance testing (UAT) environments and production environments are
updated every month. It's critical that updates not cause issues. However, Microsoft acknowledges that both
technical issues and functional issues may arise when environments are updated.
Technical issues include breaking changes in application programming interfaces (APIs) that customizations in
your solutions use.
Functional issues that customers experience can be caused by the untimely introduction of new features.
Microsoft will put any new functionality that might affect existing processes under feature management. In this
way, customers can control when new functionality is adopted. Therefore, they have time to validate, document,
and train their users about the new features.
Functional issues might also be unintended changes that cause functional regressions.
Prevention of technical and functional issues is difficult and requires close coordination between Microsoft and you
as an ISV partner. The Microsoft goal is that you will adopt practices that resemble Microsoft practices. This topic
explains how you and Microsoft can achieve this goal together. Over the next several months, Microsoft will release
new practices and tools to help you. This topic will be updated as the tools and practices evolve.
This topic includes the following sections:
Servicing customers
Compatibility
Runtime compatibility
Design-time compatibility
Developing new releases
Designing for extensibility
Data upgrade
Feature exposure
Branches and builds
Testing
Deploying updates
ISV solutions as part of One Version automated deployment
Should I release binaries or source code?
Servicing customers
Dynamics 365 Finance and Operations apps run on Microsoft Azure. Therefore, it's a solution that runs as a service.
Microsoft services companies 24/7, either proactively from alerts that report unusual behavior, or from support
tickets that are submitted by customers or their partners. Microsoft has a range of tools to help support the
services that are running. These tools include usage data that is collected from the services. To help safeguard
customer data, Microsoft is also careful about who can access customer systems.
When Microsoft analyzes an issue, it might determine that the issue is related to your ISV solution. Microsoft
reports this type of issue to you, so that you can follow up offline.
Companies can opt out of updates for two consecutive service updates before the next service update is applied to
their environments. Therefore, at any time, Microsoft can expect that companies will be running one of the last
three monthly updates.
When Microsoft resolves an issue that requires a code fix, it generally includes that code fix in the next monthly
update. However, very critical issues that are reported, such as production outage, might require that a fix be
provided for the version that customers are currently running.
Similar policies apply to your ISV solution, and you might also have to provide a code update. For your solution to
be binary-compatible with all your customers, it must be built on the oldest platform release that you want to
support. All new updates that Microsoft releases are intended to be binary backward-compatible. This compatibility
gives you the option of maintaining only one servicing version of your solution that is based on the oldest of the
three most recent updates. Therefore, you must maintain just one released solution,. You can then use that solution
to update all your customers, regardless of which of the three most recent updates they are running. As your
customers adopt new Microsoft updates, you can rebase your maintained solution to a newer release to remain
current with the three most recent updates.
This recommendation applies to servicing and maintaining your released solution. You will use a different approach
to develop new releases of your solution. For more information, see the Developing new releases section of this
topic.
Compatibility
Microsoft diligently tries to guarantee compatibility with existing customizations. To achieve this goal, Microsoft
uses strict practices in its engineering processes, together with tool and automation support that helps identify API
contracts that are unintentionally broken. Telemetry lets Microsoft engineers determine customizations that
reference or extend a Microsoft API.
Updates to Finance and Operations apps that are applied to customer environments are intended to be functionally
compatible and binary-compatible with existing customizations. This compatibility covers not only APIs, but also
functionality and the user experience. Customers must explicitly opt in to all new experiences.
Any deprecation or breaking change in binary or functional compatibility will be announced 12 months in advance.
Therefore, you will have enough time to align your customizations with an alternative design. You must pay
attention to the monthly updates to Microsoft documentation, and you must review the APIs that are marked as
obsolete (deprecated) or internal. In this way, you will be able to manage changes in a timely manner.
The following sections define and describe the aspects of backward compatibility: runtime compatibility and
design-time compatibility.
Runtime compatibility
All new updates are intended to be runtime backward-compatible. This compatibility covers both binary
compatibility and functional compatibility. Runtime compatibility means that customizations that exist in
production and sandbox environments will continue to work after new updates are deployed in those
environments. These updates include both standard platform updates and application updates.
Runtime compatibility also means that changes to the platform will be backward-compatible with customizations
that were compiled on an earlier platform. These changes include changes to the compiler.
Binary compatibility is backwards only. You can compile a customization on an older application and platform, and
deploy it to a customer environment that has been updated to a later version. You cannot deploy code compiled on
a later version than the one running on the environment you deploy to.
Design-time compatibility
Design-time backward compatibility means that developers can apply updates to their development environments
and successfully compile their code without having to make any changes.
You must be aware of how APIs in your solution are used in your customers' implementations, and how you can
use these APIs without causing breaking changes. As part of this effort, you must pay careful attention to what is
changed and rely on engineering best practices. For examples of changes that you should avoid, see Breaking
changes.
You should try to meet a bar that resembles the bar that Microsoft sets. In that way, both you and Microsoft can
help avoid creating regressions.
All changes are intended to be binary compatibility, and Microsoft also aims for design-time compatibility. However,
there is one category of required changes that is not design time–compatible but remains binary-compatible. After
an update is applied, new errors or warnings might occur when your code is compiled. Here are some examples of
these changes:
Microsoft makes an enumeration extensible.
Microsoft marks an API as obsolete or internal.
Microsoft introduces a new compiler error to help avoid unsafe coding practices.
All these changes might require work on your solution.
Design-time breaking changes that are binary-compatible don't require a 12-month deprecation notice.
What is essential is the quality of every update that is released. Although testing helps guarantee quality, quality
must also be built in during the design and implementation phases. In the One Version model, there are some new
dimensions to consider, as described in the following sections.
Designing for extensibility
To design your solution for extensibility, you must consider now only how you will customize by extending the
standard application, but also how you will enable customization of your ISV solutions by your customers and
partners.
Make sure that customizations are additive instead of intrusive, and follow the guidance on the Extensibility home
page.
Don't be too creative about the way that you build your customization. Otherwise, you might extend an API that is
questionable and increase the risk that later updates will break your solution. Instead, log an extensibility request,
and ask that Microsoft create a more explicit API that is more resilient to breakage.
Design solutions that are extensible. For inspiration, see Write extensible code.
Design for backward compatibility to avoid breaking customer implementations. A good strategy is to be explicit
about what you offer for hooking and wrapping extension code. The way that you decorate your methods gives you
lots of control over which methods you enable extensions for. For more information, see Attributes that make
methods extensible.
Data upgrade
The types of data upgrade jobs that existed in earlier versions are no longer supported. This change was made
because Microsoft wants to provide minimum downtime while a production environment is updated.
Database synchronization is still run during upgrade, and it supports basic operations such as adding new tables,
field, and indexes.
To prevent downtime, Microsoft is introducing new ways of driving data upgrade that are run asynchronously. For
example, data upgrade will sometimes be triggered when a feature is turned on through a feature flag. This new
approach for data upgrade differs significantly from earlier approaches and will become available in upcoming
updates. Documentation resources will also be available.
Feature exposure
In the One Version model, updates are managed by Microsoft and pushed to customer environments. Pushed
updates should not require that customers adjust to functional changes, or that they train their users about new or
changed features every month. Pushed updates also should not cause customers to delay updates to their
environment.
Feature management is a new concept that puts customers in control of deciding when new or changed features
are used. Customers can review, validate, and document new or changed features before they are adopted. They
can also train users before new or changed processes are adopted, to reduce the impact on daily operations.
Feature management will be released in upcoming monthly updates.
You should consider using feature management with your ISV solution to let customers control when new features
are adopted.
Testing
Microsoft has several checks and balances in its development process to help guarantee functional and binary
compatibility. ISV solutions must be validated with each Microsoft release to help guarantee this compatibility. The
expectation is that you will do this validation during the Partner Early Access Program (PEAP) phase of each release.
It's very important that you provide quick turnaround for feedback, so that you will have time to fix any issues
before the monthly updates are deployed in customer environments.
Test automation is important for quick validation of new updates. Microsoft plans to release the test framework and
libraries to support you as you build your test automation.
Microsoft has an extensive suite of tests that support our validation. The expectation is that you, as an ISV, will
create your own suites of automated tests.
In addition to the SysTest automation framework that is aimed at developers, the Regression Suite Automation Tool
(RSAT) enables automation of business processes without requiring that code be written. Functional users can use
the RSAT to record their critical tests and automate part of their UAT. You can also use the RSAT as you start to build
your test automation.
Recently, Microsoft released the Acceptance test library resources and accompanying libraries. This framework is
aimed at developers and lets them build tests that are more comprehensive than unit tests. The libraries that
accompany the framework help make it a seamless way to build suites of tests.
Currently released products – Testing binary and functional compatibility
The currently released product that is maintained in the servicing branch should first be tested for binary and
functional compatibility. Your suite of automated developer tests, automated functional tests, and manual tests for
your ISV solution should be run on an environment that has the new version from Microsoft and your existing ISV
solution. Because this test run is testing for binary and functional compatibility, the ISV solution should not be
recompiled.
If the testing is successful, this step will validate that a customer installation of the current version of your ISV
solution won't have to be updated when Microsoft broadcasts the new release to the customer.
If the testing isn't successful, you, as the ISV, must immediately notify Microsoft through the PEAP communication
process. This process uses Yammer and an issue notification process. The issue will require either a fix from
Microsoft or a fix in your ISV solution. A fix in your solution might, in turn, require that customers be updated from
the servicing branch. In both cases, Microsoft must know about the issue, so that it can become more proactive in
its processes for future releases.
Currently released products – Testing design-time compatibility
Next, the currently released product that is maintained in the servicing branch should be tested for design-time
compatibility. To do this testing, you should compile the solution against a deployment of the new Microsoft
release. Although the goal of Microsoft is to minimize design-time compatibility issues, they might occur in some
situations. One example is when Microsoft makes an enumeration extensible, and the solution uses it in a manner
that assumes an underlying integer representation (for example, it uses the enumeration value in a logical
comparison or mathematical function). Although the code will continue to work in a customer deployment because
the underlying values are maintained, a compiler error is generated and addressed in future releases. Another
example of a design-time compatibility issue is when Microsoft introduces a new compiler error to protect against
unsafe coding patterns. To learn about more categories of design-time compatibility issues, see Breaking changes.
You should run your suite of automated developer tests, automated functional tests, and manual tests on an
environment that has the new version from Microsoft and your compiled ISV solution.
If the testing is successful, this step will validate that your ISV solution won't have to be updated even if source code
is supplied to the customer and the customer recompiles the ISV solution.
If the testing isn't successful, and the issue isn't one of the categories that are described in Breaking changes, you, as
the ISV, must immediately notify Microsoft through the PEAP communication process. This process uses Yammer
and an issue notification process. The issue will require either a fix from Microsoft or a fix in your ISV solution. A fix
in your solution might, it turn, require that customers be updated from the servicing branch. In both cases,
Microsoft must know about the issue, so that it can become more proactive in its processes for future releases.
Currently released products – Updating the base build
As Microsoft updates your customers to new releases, you should periodically update the base build, so that it
matches the oldest version that is used by customers who run your ISV solution.
Solutions that are in development
You validate your new solution development on either the latest released version or the released version that you
plan for to use for servicing when your new release goes out. However, in both cases, consider doing validation on
the most current version. This validation will help with early discovery of issues or uptake work that you must do.
If an unexpected break occurs, then you, as the ISV, must immediately notify Microsoft through the PEAP
communication process. This process uses Yammer and an issue notification process.
Deploying updates
For Microsoft standard platform and application updates, One Version servicing includes a process for automated
updates of customer environments. However, this automation isn't currently available for ISV solutions. For more
information, see ISV's as part of One Version service updates.
ISV solutions are manually updated, and you control your release cadence. The binary backward compatibility
allows for safe updates of the standard platform and application.
The update process includes database synchronization (for example, the addition of new fields and indexes).
ISV solutions as part of One Version automated deployment
Although Microsoft doesn't currently plan to release ISV solutions as part of the One Version automated
deployment process, this option might become available at some point. However, Microsoft must first align
engineering processes to make this option feasible.
Here are some areas where alignment will be required:
Feature management – The user must be able to control when a new feature is turned on.
Backward compatibility and compliance – Compliance with API customization usage is required.
Feature deprecation – Advanced notice about deprecation of features or APIs must be provided.
Test automation suite
Testing during the preview phase
ISV solution sign-off and upload
Automated deployment scripts
Zero downtime – Deployment of updates must be instantaneous.
Data migration without downtime
Suppor t for on-call duty, for ser vicing of critical production issues
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
You can use Task recorder and Business process modeler (BPM) to create user acceptance test libraries. Task
recorder is a powerful tool to record test cases and organize them by business process using BPM. As a Microsoft
partner you can use BPM to distribute test libraries to your customers via LCS and LCS solutions. If you are a
customer, use BPM to author and distribute test libraries across different projects and team.
Because BPM can be synchronized with Azure DevOps (formerly known as Visual Studio Team Services), you can
automatically create test cases (including test steps) in your Azure DevOps project. Azure DevOps can then serve
as your test configuration and test management tool where you can create targeted test plans and test suites,
manage the execution of tests and investigate results.
This topic walks through the process of creating and executing acceptance test suites to be used for manual or
automated testing.
8. Select the library that you want to save the recording to, and then click Save . Otherwise, select Save to
Disk and follow the steps in the next section, "Upload an AXTR file to BPM."
NOTE
To enable the effective execution of your tests using automation tools, make sure all of your task recordings start on the
main dashboard of your application. For end-to-end processes that are performed by more than one user, we recommend
that you divide your task recordings into user-specific tasks. This simplifies the maintenance of test cases and allows you to
execute test cases in the context of security roles, which is a best a practice.
4. Click Browse to find and select the file to upload, and then click Upload .
You can also start Azure DevOps synchronization from the toolbar in a BPM library. Select the ellipsis
button (…), and then select Azure DevOps sync .
2. After Azure DevOps synchronization is complete, select the ellipsis button (…), and then select Sync test
cases .
3. When this step is complete, your task recordings will become test cases in Azure DevOps and a link will
appear under the Requirements tab.
In addition to the test steps, the task recording XML file is attached to the Azure DevOps test case. This file will be
needed if you want to automate test execution.
Create a test suite in Azure DevOps
Next, you will need to create a test plan and test suite in Azure DevOps. This will allow you to execute an ordered
suite of test cases and easily manage, investigate, and track the results.
1. Sign in to Azure DevOps and select the project and test plan that you want to test in.
2. On the toolbar, select Test > Test Plans .
3. In the left pane, select + , and then select Static suite .
4. Enter a name for the suite.
5. Click Add existing and query the tag LCS:Test Cases .
6. Click Run > Add test cases .
7. Select the test case to view details and the attached XML file.
NOTE
This example shows how to create one comprehensive acceptance test suite with all test cases added. Instead, you should
create various test suites under the same test plan and then use custom queries to add specific test cases to a test suite. A
test case can belong to more than one test suite.
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic gives an overview of the Microsoft Dynamics 365 Commerce preview environment.
Overview
The Commerce preview environment is an optional end-to-end preview environment of Dynamics 365 Commerce
that lets potential customers try out the Commerce product before its general release to the public.
Aside from some minor limitations that don't affect features or functionality, the Commerce preview environment
provides the complete Commerce experience, and can be used by customers and implementation partners to
evaluate the product, provide feedback, and do fit/gap analysis.
Get started
To provision the Commerce preview environment, see Provision a Commerce preview environment.
Additional resources
Provision a Dynamics 365 Commerce preview environment
Configure a Dynamics 365 Commerce preview environment
Configure optional features for a Dynamics 365 Commerce preview environment
Dynamics 365 Commerce preview environment FAQ
Provision a Dynamics 365 Commerce preview
environment
4/9/2020 • 10 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-
Commerce, in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic explains how to provision a Dynamics 365 Commerce preview environment.
Before you begin, we recommend that you take a quick scan through this topic to get an idea of what the process
requires.
NOTE
If you haven't yet been granted access to the Dynamics 365 Commerce preview, you can request preview access from the
Dynamics 365 Commerce website.
Overview
To successfully provision your Commerce preview environment, you must create a project that has a specific
product name and type. The environment and commerce scale unit (CSU) also have some specific parameters that
you must use when you provision e-Commerce later. The instructions in this topic describe all the steps required
to complete provisioning and the parameters that you must use.
After you successfully provision your Commerce preview environment, you must complete a few post-
provisioning steps to prepare it. Some steps are optional, depending on the aspects of the system that you want to
evaluate. You can always complete the optional steps later.
For information about how to configure your Commerce preview environment after you provision it, see
Configure a Commerce preview environment. For information about how to configure optional features for your
Commerce preview environment, see Configure optional features for a Commerce preview environment.
If you have any questions about the provisioning steps, or if you encounter any issues, let Microsoft know in the
Microsoft Dynamics 365 Commerce Preview Yammer group.
Prerequisites
The following prerequisites must be in place before you can provision your Commerce preview environment:
You have access to the Microsoft Dynamics Lifecycle Services (LCS) portal.
You are an existing Microsoft Dynamics 365 partner or customer and are able to create a Dynamics 365
Commerce project.
You've been accepted into the Dynamics 365 Commerce Preview program.
You have the required permissions to create a project for Migrate, create solutions, and learn .
You're a member of the Environment manager or Project owner role in the project where you will
provision the environment.
You have admin access to your Microsoft Azure subscription, or you're in contact with a subscription admin
who can complete the two steps that require admin permissions on your behalf.
You have your Azure Active Directory (Azure AD) tenant ID available.
You've created an Azure AD security group that can be used as an e-Commerce system admin group, and you
have its ID available.
You've created an Azure AD security group that can be used as a Ratings and Reviews moderator group, and
you have its ID available. (This security group can be the same as the e-Commerce system admin group.)
IMPORTANT
Preview access is tied to the LCS account and organization that you specified in your Commerce preview application. You
must use the same account to provision the Commerce preview environment. If you need to use a different LCS account or
tenant for the Commerce preview environment, you must provide those details to Microsoft. For contact information, see
the Commerce preview environment support section later in this topic.
3. Scroll down to Private preview features , and confirm that the following features are available and turned
on:
e-Commerce Evaluation
Commerce Preview Program Environments
4. If those features don't appear in the list, contact Microsoft, and provide your work email address, LCS
account, and tenant details. For contact information, see the Commerce preview environment support
section.
Create a new project
To create a new project in LCS, follow these steps.
1. On the LCS home page, select the plus sign (+ ) to create a project.
2. In the right pane, follow one of these steps:
If you're a partner, select Migrate, create solutions, and learn .
If you're a customer, select Prospective presales .
3. Enter a name, description, and industry.
4. In the Product name field, select Dynamics 365 Retail .
5. In the Product version field, select Dynamics 365 Retail .
6. In the Methodology field, select Dynamics Retail implementation methodology .
7. Optional: You can import roles and users from an existing project.
8. Select Create . The project view appears.
Add the Azure Connector
To add the Azure Connector to your LCS project, follow these steps.
1. Follow one of these steps:
If you're a partner, select the Project settings tile on the far right.
If you're a customer, select Project settings on the top menu.
2. Select Azure connectors .
3. Select Add to add the Azure Connector.
4. Enter a name.
5. Enter your Azure subscription ID.
6. Turn on the Configure to use Azure Resource Manager (ARM) option.
7. Verify that the Azure subscription AAD Tenant Domain (or ID) value is correct. Consult your Azure
subscription admin as required.
8. Select Next .
9. Follow the instructions on the page to grant the required applications access to your subscription. Consult
your Azure subscription admin as required.
a. Sign in to the Azure portal.
b. Make sure that the correct directory is selected, and then, on the menu on the left, select Subscriptions .
c. Find the correct subscription in the list, and select it. Use the search functionality as required.
d. On the menu, select Access control (IAM) .
e. On the right, under Add a role assignment , select Add . The Add role assignment pane appears.
f. In the Role field, select Contributor .
g. In the Assign access to field, leave the default value, Azure AD user, group, or ser vice principal .
h. Under Select , enter b96b7e94-b82e-4e71-99a0-cf7fb188acea .
i. Select Dynamics Deployment Ser vices [wsfed-enabled] in the list.
j. Select Save .
10. Select Next .
11. Follow the instructions on the page to grant the required applications access to your subscription. Consult
your Azure subscription admin as required.
12. Select Next .
13. In the Azure region field, select East US , East US 2 , West US , or West US 2 .
14. Select Connect . Your Azure Connector should appear in the list.
Import the Commerce Preview Demo Base Extension
To import the Commerce Preview Demo Base Extension into your project, follow these steps.
1. Open the home page for your project by selecting the project name at the top.
2. Follow one of these steps:
If you're a partner, select the Asset librar y tile on the far right.
If you're a customer, select Asset librar y on the top menu.
3. In the list on the left, select Software deployable package .
3. In the list on the left, select Software deployable package .
4. Select Impor t .
5. Under Shared asset librar y , select Commerce Preview Demo Base Extension in the list of assets.
6. Select Pick . You're returned to the Asset library, and you should see the extension in the list.
The following illustration shows the actions that must be taken on the LCS Asset librar y page.
NOTE
You might not have to complete steps 6, 7, and/or 8, because pages that have a single option are skipped. When you're in
the Environment parameters view, confirm that the text Dynamics 365 Commerce - Demo (10.0. x with Platform
update xx) appears directly above the Environment name field. For details, see the illustration that appears after step 8.
7. Select Dynamics 365 Commerce - Demo as the environment topology. If you configured a single Azure
Connector earlier, it will be used for this environment. If you configured multiple Azure Connectors, you can
select which connector to use: East US , East US 2 , West US , or West US 2 . (For the best end-to-end
performance, we recommend that you select West US 2 .)
8. On the Deploy environment page, enter an environment name. Leave the advanced settings as they are.
9. Adjust the VM size as required. (We recommend VM stock keeping unit [SKU] D13 v2 .)
10. Review the pricing and licensing terms, and then select the check box to indicate that you agree to them.
11. Select Next .
12. On the deployment confirmation page, verify that the details are correct, and then select Deploy . You're
returned to the Cloud-hosted environments view, and your environment should appear in the list.
Your requested environment will appear as queued and then deploying. The environment workflows will
take some time to be completed. Therefore, check back after approximately six to nine hours.
13. Before you continue, make sure that the status of your environment is Deployed .
Initialize the commerce scale unit (CSU )
To initialize CSU, follow these steps.
1. In the Cloud-hosted environments view, select your environment in the list.
2. In the environment view on the right, select Full details . The environment details view appears.
3. Under Environment features , select Manage .
4. On the Commerce tab, select Initialize . The CSU initialization parameters view appears.
5. In the Region field, select East US , East US 2 , West US , or West US 2 .
6. In the Version field, select Specify a version in the list, and then specify 9.18.20014.4 in the field that
appears. Be sure to specify the exact version that is indicated here. Otherwise, you will have to update RCSU to
the correct version later.
7. Turn on the Apply extension option.
8. In the list of extensions, select Commerce Preview Demo Base Extension .
9. Select Initialize .
10. On the deployment confirmation page, verify that the details are correct, and then select Yes . The Commerce
management view displays again, where the Commerce tab is selected. Your CSU has been queued for
provisioning.
11. Before you continue, make sure that the status of your CSU is Success . Initialization takes approximately two
to five hours.
Initialize e -Commerce
To initialize e-Commerce, follow these steps.
1. On the e-Commerce tab, review the preview consent, and then select Setup .
2. In the e-Commerce tenant name field, enter a name. However, be aware that this name will appear in
some of the URLs that point to your e-Commerce instance.
3. In the Commerce scale unit name field, select your CSU in the list. (The list should have only one option.)
The e-Commerce geography field is set automatically, and the value can't be changed.
4. Select Next to continue.
5. In the Suppor ted host names field, enter any valid domain, such as www.fabrikam.com .
6. In the AAD security group for system admin field, enter the first few letters of the name of the security
group that you want to use. Select the magnifying class icon to display the search results. Select the correct
security group from the list.
7. In the AAD security group for ratings and review moderator field, enter the first few letters of the
name of the security group that you want to use. Select the magnifying class icon to display the search
results. Select the correct security group from the list.
8. Leave the Enable ratings and review ser vice option turned on.
9. Select Initialize . The Commerce management view displays again, where the e-Commerce tab is
selected. E-Commerce initialization has started.
10. Before you continue, wait until the status of e-Commerce initialization is Initialization successful .
11. Under Links in the lower right, make a note of the URLs for the following links:
e-Commerce site – The link to the root of your e-Commerce site.
e-Commerce site management tool – The link to the site management tool.
Next steps
To continue the process of provisioning and configuring your Commerce preview environment, see Configure a
Commerce preview environment.
Additional resources
Dynamics 365 Commerce preview environment overview
Configure a Dynamics 365 Commerce preview environment
Configure optional features for a Dynamics 365 Commerce preview environment
Dynamics 365 Commerce preview environment FAQ
Microsoft Lifecycle Services (LCS)
Retail Cloud Scale Unit (RCSU)
Microsoft Azure portal
Dynamics 365 Commerce website
Configure a Dynamics 365 Commerce preview
environment
2/13/2020 • 4 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-
Commerce, in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic explains how to configure a Microsoft Dynamics 365 Commerce preview environment after it's
provisioned.
Overview
Complete the procedures in this topic only after your Commerce preview environment has been provisioned. For
information about how to provision your Commerce preview environment, see Provision a Commerce preview
environment.
After your Commerce preview environment has been provisioned end to end, additional post-provisioning
configuration steps must be completed before you can start to evaluate the environment. To complete these steps,
you must use Microsoft Dynamics Lifecycle Services (LCS) and Dynamics 365 Commerce.
Enable jobs
To enable jobs in Commerce, follow these steps.
1. Sign in to the environment (HQ).
2. Use the menu on the left to go to Retail and commerce > Inquiries and repor ts > Batch jobs .
The remaining steps of this procedure must be completed for each of the following jobs:
Process retail order email notification
Product availability
P-0001
Synchronize orders job
3. Use the Quick Filter to search for the job by name.
4. If the status of the job is Withhold , follow these steps:
a. Select the record.
b. On the Action Pane, on Batch job tab, select Change status .
c. Select Waiting , and then select OK .
Run full data synchronization
To run full data synchronization in Commerce, follow these steps.
1. Use the menu on the left to go to Modules > Retail and commerce > Headquar ters setup > Retail
scheduler > Channel database .
2. In the list on the left, the Default channel is selected. Select the other available channel. This channel is named
scXXXXXXXXX .
3. On the Action Pane, select Full data sync .
4. Enter 9999 as the distribution schedule.
5. Select OK .
6. Select OK .
Test credit card information to do test purchases
To perform test transactions on the site, you can use the following test credit card information:
Card number : 4111-1111-1111-1111
Expiration date: 10/20
Card verification value (CVV) code: 737
IMPORTANT
Never, under any circumstances, try to use actual credit card information on the test site.
Next steps
After the provisioning and configuration steps are completed, you're ready to evaluate your preview environment.
Use the URL of the Commerce site management tool to go to the authoring experience. Use the URL of the
Commerce site to go to the retail customer site experience.
To configure optional features for your Commerce preview environment, see Configure optional features for a
Commerce preview environment.
Additional resources
Dynamics 365 Commerce preview environment overview
Provision a Dynamics 365 Commerce preview environment
Configure optional features for a Dynamics 365 Commerce preview environment
Dynamics 365 Commerce preview environment FAQ
Microsoft Lifecycle Services (LCS)
Retail Cloud Scale Unit (RCSU)
Microsoft Azure portal
Dynamics 365 Commerce website
Configure optional features for a Dynamics 365
Commerce preview environment
2/13/2020 • 5 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-
Commerce, in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic explains how to configure optional features for a Microsoft Dynamics 365 Commerce preview
environment.
Prerequisites
If you want to evaluate the transactional email features, the following prerequisites must be met:
You have an available email server (Simple Mail Transfer Protocol [SMTP] server) that can be used from the
Microsoft Azure subscription where you provisioned the preview environment.
You have the server's fully qualified domain name (FQDN)/IP address, SMTP port number, and authentication
details available.
If you want to evaluate Digital Asset Management features by ingesting new omni-channel images, you must
have the name of your content management system (CMS) tenant available. Instructions for finding this name are
provided later in this topic. >>>(Q: where are the instructions?)
NOTE
Before you can complete this procedure, you must complete the steps in Set up your site in Commerce.
1. Sign in to the Commerce site management tool by using the URL you made a note of when you initialized
e-Commerce during provisioning (see Initialize e-Commerce).
2. Open the Fabrikam site.
3. On the menu on the left, select Assets .
4. Select any single image asset.
5. In the property inspector on the right, find the Public URL property. The value is a URL. Here is an
example:
https://images-us-sb.cms.commerce.dynamics.com/cms/api/fabrikam/imageFileData/MA1nQC .
6. Replace the last identifier in the URL (MA1nQC in the preceding example) with the string search?
fileName= . Here is what the example URL looks like after this change is made:
https://images-us-sb.cms.commerce.dynamics.com/cms/api/fabrikam/imageFileData/search?fileName=
This URL is your media base URL. Make a note of it.
Update the media base URL
1. Sign in to Dynamics 365 Commerce.
2. Use the menu on the left to go to Modules > Retail and commerce > Channel setup > Channel
profiles .
3. Select Edit .
4. Under Profile proper ties , replace the value for the Media Ser ver Base URL property with the media base
URL that you created earlier.
5. In the list on the left, under the Default channel, select the other channel.
6. Under Profile proper ties , select Add .
7. For the property that was added, select Media Ser ver Base URL as the property key. As the property value,
enter the media base URL that you created earlier.
8. Select Save .
1. Sign in to Commerce.
2. Use the menu on the left to go to Modules > System administration > Setup > Email > Email
parameters .
3. On the SMTP settings tab, in the Outgoing mail ser ver field, enter the FQDN or IP address of your SMTP
server or email service.
4. In the SMTP por t number field, enter the port number. (If you aren't using Secure Sockets Layer [SSL], the
default port number is 25 .)
5. If authentication is required, enter values in the User name and Password fields.
6. Select Save .
7. Select Refresh .
8. On the Test email tab, in the Email provider field, select SMTP .
9. In the Send to field, enter the email address that the test email should be delivered to.
10. Select Send test email .
N A M E O F T H E TO K EN TO K EN
Discount %discount%
Sales line
The following tokens are replaced with values for each product in the order.
NOTE
Put the Product list - star t token at the beginning of the HTML block that is repeated for every product, and put the
Product list - end token at the end of the block.
N A M E O F T H E TO K EN TO K EN
Description %lineproductdescription%
Quantity %linequantity%
Additional resources
Dynamics 365 Commerce preview environment overview
Provision a Dynamics 365 Commerce preview environment
Configure a Dynamics 365 Commerce preview environment
Dynamics 365 Commerce preview environment FAQ
Microsoft Lifecycle Services (LCS)
Retail Cloud Scale Unit (RCSU)
Microsoft Azure portal
Dynamics 365 Commerce website
Dynamics 365 Commerce preview environment FAQ
4/9/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-
Commerce, in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic provides answers to frequently asked questions about the Microsoft Dynamics 365 Commerce preview
environment.
Can I transfer my invitation for the Commerce preview environment to another tenant?
Yes. For invitation transfers, you can use the Commerce preview transfer form.
How long does the invitation transfer take?
The transfer takes an average of approximately three to five business days. However, exceptions might apply.
Does the Commerce preview environment work with Dynamics 365 Finance or Dynamics 365
Supply Chain projects?
No. The Commerce preview environment works only with Dynamics 365 Retail projects.
Can we use the Commerce preview environment as an e-commerce storefront for customers that
currently implement Retail?
No. The Commerce preview environment is just the evaluation environment. If you require an environment for a
customer that implements Retail, contact Microsoft.
Can the Commerce preview environment be used to provision the e-commerce features on top of an
existing application/environment that implements Retail?
No. The Commerce preview environment is currently available only in new environments that were deployed on
Retail stock keeping unit (SKU) projects that have demo data from version 10.0.6.
What costs are involved in deploying the Commerce preview environment on Microsoft Azure via
Microsoft Dynamics Lifecycle Ser vices (LCS)?
Retail is the only component that is hosted in your subscription. Other components such as Retail Cloud Scale Unit
(RCSU) and e-Commerce will be hosted in Microsoft subscriptions. You can use the Azure pricing calculator to
estimate this cost.
Which Azure geographies are currently suppor ted for the Commerce preview environment?
The Commerce preview environment can be deployed only in the North America geography.
Is there a downloadable vir tual hard disk (VHD) that has the complete OneBox vir tual machine (VM)
option?
Dynamics 365 Retail Cloud Scale Unit (RCSU) and e-Commerce are completely software as a service (SaaS) and
must be cloud-hosted.
How long can the Commerce preview environment be used?
The Commerce preview environment has a 30-day time limit from the date of provisioning e-Commerce.
Can I extend the time limit for my Commerce preview environment?
Yes. You can contact the support team by using the Commerce preview extension form.
Can we make multiple requests for a Commerce preview environment?
We grant a quota of one Commerce preview environment for each request that is accepted. If you need more than
one preview environment, contact Microsoft. For contact information, see the next section.
Additional resources
Dynamics 365 Commerce preview environment overview
Provision a Dynamics 365 Commerce preview environment
Configure a Dynamics 365 Commerce preview environment
Configure optional features for a Dynamics 365 Commerce preview environment
Deployment options
1/8/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
You can deploy Finance and Operations apps in the cloud or on-premises. Cloud deployments offer an ERP service
that is fully managed by Microsoft, while on-premises deployments are deployed locally within a customer's data
center.
IMPORTANT
On-premises deployments are not supported on any public cloud infrastructure, including Azure.
The following table provides a comparison of the capabilities provided by the two deployment options.
Why cloud
Cloud deployments provide a cloud service that is easy to scale up or down as needed, as well as data centers that
are fully managed by Microsoft. The time spent implementing Finance and Operations apps can be significantly
shortened, fewer customizations may be required, and the costs of IT hardware and infrastructure are lower.
Cloud deployments include high availability, disaster recovery, sandbox environments, and application lifecycle
management combined with cloud-based systems of intelligence, infrastructure, compute, and database services in
a single offering. When needed, data failover in the cloud, automated deployment and continuous updates, and
elastic compute capacity are available. A cloud deployment also provides data aggregation, financial reporting, and
intelligence.
The cloud service provides customers with the greatest value, the broadest range of functionality, the best
application lifecycle experience, the easiest and broadest integration with Microsoft Azure services, the best option
for business insights and intelligence, and the most value for customers’ technology investments.
Why on-premises
With an on-premises deployment, existing data center investments can be leveraged. Customers can also configure
their enterprise preferences to meet the regulatory and compliance needs of their business, comply with data
sovereignty rules in regions where there are no Azure Data Centers, or ensure business continuity in areas with
limited public infrastructure.
A customer’s business data and processes are disconnected from the cloud and are stored and run locally in the
customer’s or their partner’s data center. Some connectivity is required for system management and updates
which are enabled through Microsoft Dynamics Lifecycle Services (LCS), a cloud-based application lifecycle
management service. Customer data that is related to the configuration and application customization may be
stored in the cloud.
For customers who choose to run Finance and Operations apps in their own data center, the on-premises
deployment option will have a similar user-interface and application functionality as other deployment options.
However, customers must take on the following responsibilities:
Stand up their own infrastructure.
Configure their own high-availability and disaster recovery solutions.
Stand up sandbox environments.
Manage their infrastructure, including scheduling operating system updates.
The additional costs to deploy and manage these capabilities might lead to higher deployment costs and a greater
Total Cost of Ownership (TCO). Tools for deploying the Finance and Operations apps and updates will be available
to partners and customers via Lifecycle Services. Unlike the cloud deployment option, Advanced Analytics and
Azure Machine Learning are not included in the on-premises deployment option.
There are several features that are not yet enabled in on-premises option. These features will be available in future
updates. For more information, see Features not implemented in on-premises deployments.
Comparison of cloud and on-premises features
3/6/2020 • 4 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This topic shows a comparison of features available in cloud vs. on-premises for the following applications:
Dynamics 365 Finance
Dynamics 365 Supply Chain Management
Dynamics 365 Commerce
Dynamics 365 Human Resources
Information about the development and administration features is included, as well.
The following tables list the application areas. Cloud and on-premises support is listed for the feature as a whole.
Where specific features differ from the area overall, the features are listed on a separate line in the Feature column.
Help Yes No
Configuration-driven Yes No
extension
Help Yes No
Upgrade Yes No
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
Working with Microsoft to deploy Finance and Operations apps in the cloud requires that you understand the
environment and subscription that you are deploying to, who can perform which tasks, and the data and
customizations that you need to manage. We recommend that you sign up for the Full Microsoft FastTrack for
Dynamics 365 to help speed your deployment and implementation - it's a program that provides training and
consulting to help you realize business value faster. For more information, see Microsoft FastTrack. If you choose to
use the Essentials FastTrack program instead, you will be using the Implementation Project Methodology in
Lifecycle Services (LCS) to help you manage your implementation project.
User acceptance testing (UAT) Tier-2 sandbox, multi-box environment Microsoft subscription
IMPORTANT
Customers who have administrator access to Microsoft-managed sandboxes, including any add-on sandboxes purchased,
must follow these guidelines:
By default, automatic Windows update is enabled for all Tier 1 - 5 sandboxes and should NOT be disabled. This ensures
that any time that Microsoft pushes security or critical infrastructure updates to your environment, your environment
receives the latest set of updates and is updated each month with the operating system fixes that Microsoft releases.
Admin passwords on these environments should NOT be changed. Environments that have admin passwords changed will
be flagged by Microsoft. Microsoft reserves the right to, and will reset the admin password.
Adding new user accounts to any Microsoft managed VM is NOT permitted. Microsoft reserves the right to, and will
remove the newly added user accounts without providing notice.
IMPORTANT
Finance and Operations is not covered by a FedRAMP ATO at this time. If Finance and Operations is provisioned in the United
States, all Customer Data at rest is stored in data centers located in the United States, as described in the Trust Center.
Finance and Operations does not support any other Dynamics 365 US Government or Office 365 GCC compliance attributes
(for example, access by U.S. screened personnel, and support for CJIS and IRS 1075).
Remote Desktop
Microsoft-managed environments
Customers are now required to complete additional setup to connect to virtual machines (VMs) through Microsoft
Remote Desktop (RDP). This additional setup applies to all Microsoft-managed environments, including Tier 1
through Tier 5 sandboxes and add-ons. In order to connect to Tier 1 through Tier 5 sandbox environments, you
must explicitly enable access (whitelist) from your organization’s IP address space. This can be done by a Lifecycle
Services (LCS) user who has access to the Environment page (Maintain > Enable Access ) where they can enter
the IP address space that will be used to connect to the virtual machines through Remote Desktop. Access rules are
either a single IP address (example: 10.10.10.10) or an IP address range (example: 192.168.1.0/24). You may add
multiple entries at once as a semi-colon(;) separated list (example: 10.10.10.10;20.20.20.20;192.168.1.0/24). These
entries are used to configure the Azure Network Security Group that is associated with your environment’s virtual
network. For more information, see Filter network traffic with network security groups.
IMPORTANT
Customers need to ensure that RDP endpoints are secured through explicit IP whitelist rules as mentioned above. The IP
whitelist rules must adhere to the below conditions to ensure the environments are secure and the Intellectual Property is
protected.
IP whitelist rules must NOT use star/zero, opening the environment to internet
Wide IP address ranges must NOT be used.
IP address ranges must restrict to the Customer's CORPNET
If computers outside the customer's CORPNET (e.g. a home office) are used to connect to the Sandbox environment(s),
only the specific IP addresses of the computers used to connect to the sandbox environment(s) must be added.
Azure Datacenter IP Address ranges must NOT be added
Public IP addresses, such as a coffee shop location must NOT be configured.
WARNING
Microsoft will run periodic tests on the Microsoft Managed environments validating that the environments are sufficiently
restricted. Microsoft reserves the right to and will remove any IP Address whitelist rules that violate the above guidelines,
immediately without providing notice.
WARNING
Exceptions to enable WinRM will not be granted for any Microsoft-managed environments.
Availability
The guaranteed uptime for Finance and Operations apps is 99.9%. Planned downtime occurs once a month and
lasts no longer than eight hours. Because the work completed during the downtime doesn’t always take eight
hours, we will always communicate the estimated amount of time that your environments will be down. For more
information, see Get support for Finance and Operations apps or Lifecycle Services (LCS).
High-availability features
To ensure service availability, all production environments are protected by using default Azure high availability
(HA) features. HA functionality provides ways to avoid downtime caused by the failure of a single node within a
datacenter, and DR features protect against outages broadly impacting an entire datacenter. Azure availability sets
are used to prevent single-point-of-failure events. For more information about Azure availability sets, see Azure
availability sets guidelines for Windows VMs. High availability for databases is supported through Azure SQL. For
more information, see Overview of business continuity with Azure SQL Database.
Disaster recovery features
Production environments are configured with Azure disaster recovery support that includes the following:
Azure SQL active-geo replication for primary databases, with a Recovery Point Estimate (RPO) of < 5 seconds.
For more information, see Overview: Failover groups and active geo-replication.
Geo-redundant copies of Azure blob storage (containing document attachments) in other Azure regions. For
more information, see Geo-redundant storage.
Same secondary region for the Azure SQL and Azure blog storage replication.
Only primary data stores are supported by replication. This means that some application components, such as
Management Reporter, and Entity store, which use transformed data from the primary database, must be generated
after the recovery site has been set up and the service has started. Customer code artifacts and recovered data
stores are used to re-deploy the site, with a Recovery Time Objective (RTO) of 10 hours and a Recovery Point
Objective of 5 seconds. For more information, see Azure SQL Database Point in Time Restore.
Service availability
Finance and Operations apps can be deployed into different Microsoft Azure datacenters using Dynamics Lifecycle
Services (LCS). Azure is generally available in datacenters and geographical locations around the world. With
Finance and Operations apps, customers can specify the region or datacenter where their customer data will be
stored. Microsoft may replicate data to other regions for data durability, but we will not replicate or move customer
data outside the geographical location. For more details, see the Service description white paper.
IMPORTANT
Regardless of where customer data is stored, Microsoft does not control or limit the locations from which customers or their
end-users may access it. For more information, see Where your Finance and Operations data is stored.
IMPORTANT
You will not be able to connect to the Production database directly.
1. Remote Desktop into one of the AOS VMs belonging to the Tier 2+ environment with a database that you want
to connect to.
2. Open SQL Server Management Studio.
3. Use these steps to get the connection details:
a. Go to the Environment Details page in Lifecycle Ser vices por tal .
b. Get the SQL Server, Database Name, and AXDBAdmin credentials from the Database Accounts section.
4. In the Connect to SQL Ser ver dialog box, complete the following steps:
a. Enter (ServerName).database.windows.net, where (ServerName) is the name of your database server
obtained from LCS.
b. Select SQL Server Authentication for Authentication .
c. Use axdbadmin for Login .
d. Enter the password obtained from LCS for axdbadmin.
e. Select Options .
f. Enter the name of the database obtained from LCS in the Connect to database drop-down list.
g. Select Connect .
How do I access a development instance?
For information about how to access development instances, configure on-premises development VMs, and find
configurations settings for developers and administrators, see Deploy and access development environments.
How do I deploy a demo environment
A demo environment includes only Microsoft demo data. You can use a demo environment to explore default
features and functionality. For more information, see Deploy a demo environment.
How do I move my customizations between environments?
To move customizations from a development to a sandbox or production environment, see Create deployable
packages of models
Can I bring my own domain name?
You can bring your own domain name if it is running Azure Active Directory (AAD), and the administrator of your
AAD instance has enabled the Finance and Operations apps within their AAD. This is usually done through the office
email, after you buy a license. When you click the link to accept the offer, AAD is set up for you.
Can I add guest AAD accounts as users?
You can add guest AAD accounts if you have correctly configured them within Azure Active Directory, and enabled
the Finance and Operations apps within your AAD.
Why am I no longer able to see the Private AOS machines in one or more of my Tier 2 through Tier 5 Sandbox
environments?
The Private AOS VMs were part of your environment configuration as they were needed to secure communication
between the AOS and BI machines in the past. With recent updates, all communication between AOS and BI
machines are secure directly and no longer need the intermediary Private AOS machines. Therefore, we are in the
process of rolling out removing the Private AOS machines. As we are removing the machines in batches, you may
notice that only some of your environments have the Private AOS machines removed. This change will not impact
functionality or security in any way and will be transparent to you.
Why am I no longer able to Remote Desktop into one or more of my Tier 1 through Tier 5 Microsoft managed
Sandbox environments?
Microsoft managed Tier 1 through Tier 5 sandbox environments require Remote Desktop management endpoints
to be restricted to specific IP Address sets (whitelist). Microsoft regularly validates that the environments are
sufficiently restricted. Microsoft reserves the right to immediately remove any IP Address whitelist rules that violate
the above guidelines without notice. You may not be able to Remote Desktop into your environment for one of
these reasons:
Your current IP address is not in the whitelist.
Your IP has changed from the IP address listed in the whitelist.
Microsoft deleted the rule containing your IP address from the whitelist because it violated a guideline.
To regain access to the environment, you will need to add the IP address of the computer from which you are
connecting. To do this, complete the steps in the section, Remote Desktop earlier in this document.
System requirements for cloud deployments
3/19/2020 • 11 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic lists the system requirements for cloud deployments of the current version of Dynamics 365 Commerce.
If this step is appropriate, before you install Commerce, you should verify that the system that you're working with
meets or exceeds the minimum network, hardware, and software requirements.
NOTE
To enable Task Recorder to capture screenshots and include them in Microsoft Word documents that are generated, you
must install a pre-release Chrome extension.
The Workflow Editor and Report Designer for Financial reporting are started as ClickOnce applications. They require a 64-
bit-compatible operating system. Only Microsoft Edge and Internet Explorer (on a supported version of Microsoft
Windows) support ClickOnce applications out of the box. If you're using Chrome, you must install a ClickOnce extension,
such as Meta4 to use ClickOnce applications. If you use Chrome in incognito mode, make sure that the ClickOnce
extension is also enabled for incognito mode.
To preview PDF files, we recommend that you use browsers such as Microsoft Edge (latest publicly available version) on
Windows 10, or Google Chrome (latest publicly available version) on Windows 10, Windows 8.1, Windows 8, Windows 7,
or Google Nexus 10 tablet.
Network requirements
Commerce is designed for networks that have a latency of 250–300 milliseconds (ms) or less. This latency is the
latency from a browser client to the Microsoft Azure datacenter that hosts Commerce. We recommend that you
test network latency at AzureSpeed.com.
Bandwidth requirements for Commerce depend on your scenario. Most typical scenarios require a bandwidth
that is more than 50 kilobytes per second (KBps). However, we recommend more bandwidth for scenarios that
have high payload requirements, such as scenarios that involve workspaces or extensive customization.
In general, Commerce is optimized for the internet. The number of round trips from a browser client to the Azure
datacenter is very small, and the whole payload is compressed.
WARNING
Don't calculate bandwidth requirements from a client location by multiplying the number of users by the minimum
bandwidth requirements. The concurrent usage of a given location is very difficult to calculate. Customers who are concerned
about bandwidth requirements should use a preview version of Commerce.
Take note that the minimum system requirements listed below are the bare minimum necessary to get a
Commerce Scale Unit to function in a test scenario. The following is not representative of a realistic production
environment. It is critical to perform proper performance testing and validate that the hardware used will meet the
needs of the users.
Supported operating systems
Commerce Scale Unit is a 32-bit application, but it will run on both x86 and x64 architectures.
Commerce Scale Unit is supported on the following operating systems:
Windows 7 Professional, Enterprise, and Ultimate editions.
NOTE
Windows 7 is supported only if Internet Explorer 11 is manually installed on the system.
NOTE
The following are the minimum system requirements for Commerce Scale Unit. Both these and the recommended
requirements are the minimum possible for testing and basic functionality. It is crucial to perform performance testing and
validate that the hardware used for Commerce Scale Unit meets expectations.
4 GB of RAM
1.6 GHz i5 (or equivalent) minimum CPU speed per core (2 cores are the minimum).
At least 15 GB of free space (the channel database can require a large amount of space).
Recommended system requirements
6 GB of RAM
2.4 GHz i7 (or equivalent) minimum CPU speed per core (4 cores are recommended).
At least 20 GB of free space (the channel database can require a large amount of space).
It would be in an organization's best interest to also take the following items into consideration when determining
personal hardware needs:
Number of physical network ports (more ports enhances throughput per second).
SQL Server log flush size (this directly impacts SQL Server performance).
Data read and write capabilities (this directly impacts SQL Server performance).
Number of CPU(s) core, number of simultaneous threads per core, and speed per core (this impacts overall
throughput of the system).
Whether load balancing will be required.
Connector requirements
Supported operating systems
The Connector for Microsoft Dynamics AX has two separate installers, one for Async Server Connector
service and one for Real-time service for Microsoft Dynamics AX 2012 R3.
Both components are 32-bit applications, but they will run on both x86 and x64 architectures.
Both components are supported on the following operating systems:
Windows 7 Professional, Enterprise, and Ultimate editions.
Windows 8.1 Update 1 Professional, Enterprise, and Embedded editions.
Windows 10 Pro, Enterprise, and Enterprise LTSB editions.
Windows Server 2012 R2 and Windows Server 2016.
It is not recommended to use Commerce components on Windows 10 Pro unless within a domain as
Windows 10 Pro doesn't allow for advanced management of updates to the operating system.
Minimum system requirements
2 GB of RAM (4 GB of RAM are recommended).
1.6 GHz peak CPU speed per core (2 cores are the minimum).
At least 10 GB of free space (the channel database can require a large amount of space).
Database collation
The only supported collation for Commerce databases in the cloud is SQL_Latin1_General_CP1_CI_AS . Please
ensure that your SQL Server and database collations in development environments are set to this. Also ensure that
any configuration environments that are published to Sandbox have this same collation.
Additional resources
Get an evaluation copy
On-premises deployment home page
3/5/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
You can deploy Dynamics 365 Finance + Operations (on-premises). When you choose an on-premises deployment
type, the system requirements, hardware sizing, and functionality differ from a cloud deployment. This topic
provides links to content that contains information specific to on-premises deployments.
Get started
On-premises deployment overview
Plan and prepare for on-premises deployments
System requirements for on-premises deployments
Hardware sizing requirements for on-premises environments
Buy Finance + Operations (on-premises)
Comparison of cloud and on-premises features
Onboard
Set up on-premises projects in Lifecycle Services (LCS)
Set up and deploy on-premises environments (Platform update 12 and later)
Set up and deploy on-premises environments (Platform updates 8 and 11)
Install network printer devices in on-premises environments
Configure SQL Server Reporting Services for on-premises deployments
Develop and deploy custom models to on-premises environments
Commerce
Commerce capabilities that are available in on-premises deployments
Installation steps for Retail channel components in an on-premises environment
Configure, install, and activate Modern POS (MPOS)
Configure and install Commerce Scale Unit
Upgrade
In-place upgrade process for on-premises environments
Other resources
Troubleshoot on-premises deployments
Scripts for resolving issues in on-premises environments
Certificate rotation
On-premises diagnostics
Features not implemented in on-premises deployments
Removed or deprecated features for Finance and Operations
Software lifecycle policy and on-premises releases
System requirements for on-premises deployments
2/1/2020 • 10 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This topic lists the system requirements for the current version of Microsoft Dynamics 365 Finance + Operations
(on-premises) deployments. Before you install, when this step is appropriate, verify that the system that you're
working with meets or exceeds the minimum network, hardware, and software requirements.
IMPORTANT
Dynamics 365 Finance + Operations (on-premises) deployments are not supported on any public cloud infrastructure,
including Azure.
Network requirements
Dynamics 365 Finance + Operations (on-premises) can work on networks that use Internet Protocol Version 4
(IPv4) or Internet Protocol Version 6 (IPv6). Consider the network environment when you plan your system, and
use the following guidelines.
Network response time
The following table lists the minimum network requirements for the connection between the web browser and
Application Object Server (AOS), and for the connection between AOS and the database in an on-premises system.
VA L UE W EB B RO W SER TO A O S A O S TO DATA B A SE
Bandwidth 50 kilobytes per second (KBps) per user 100 megabytes per second (MBps)
Latency Less than 250–300 milliseconds (ms) Less than 1 ms (local area network
[LAN] only). AOS and the database
must be co-located.
Finance + Operations is designed for networks that have a latency of 250–300 milliseconds (ms) or less. This
latency is the latency from a browser client to the datacenter that hosts Finance + Operations.
Bandwidth requirements depend on your scenario. Typical scenarios require a bandwidth of more than 50 KBps
between the browser and the server. However, we recommend higher bandwidth for scenarios that have high
payload requirements, such as scenarios that involve workspaces or extensive customization. The specific
amount of bandwidth depends on use.
Deployments where AOS and the Microsoft SQL Server database are in different datacenters aren't supported.
AOS and the SQL Server database must be co-located.
In general, Finance + Operations is optimized to reduce browser-to-server round trips. The number of round trips
from a browser client to the datacenter is either zero or one for each user interaction, and the payload is
compressed.
WARNING
Don't calculate bandwidth requirements from a client location by multiplying the number of users by the minimum
bandwidth requirements. The concurrent usage of a given location is very difficult to calculate. We recommend that you use
a real-life simulation against a non-production environment as the best gauge of performance for your specific case.
LAN environments
In LAN environments, Microsoft Remote Desktop in Microsoft Windows Server isn't required in order to connect to
Finance + Operations. However, Remote Desktop might be required for servicing operations on the virtual
machines (VMs) that make up the server deployments.
WAN environments
In wide area network (WAN) environments, Remote Desktop in Windows Server isn't required in order to connect
to Finance + Operations.
Internet connectivity requirements
Finance + Operations doesn't require internet connectivity from user workstations. However, some features won't
be available if there is no internet connectivity.
Ser ver The AOS or Microsoft Azure Service Fabric tier must be able to
communicate with LCS. The on-premises browser-based client
doesn't require internet access.
Domain requirements
Consider the following domain requirements when you install Finance + Operations:
VMs that host Finance + Operations components must belong to an Active Directory domain. Active Directory
Domain Services (AD DS) must be configured in native mode.
VMs that run Finance + Operations components must have access to each other. This access is configured in
AD DS.
The domain controller must be Microsoft Windows Server 2012 R2 or later, and the domain functional level
must be 2012 R2 or more.
Hardware requirements
This section describes the hardware that is required in order to run Finance + Operations.
The actual hardware requirements vary, based on the system configuration, the data composition, and the features
that you decide to use. Here are some of the factors that can affect the choice of appropriate hardware:
The number of transactions per hour
The number of concurrent users
NOTE
If other Microsoft software is installed on the same computer, the system must also comply with the hardware requirements
for that software. If other server applications are installed on the same computer as AOS, we recommend that you limit those
server applications 1 gigabyte (GB) of RAM.
Management Reporter 4 16
Orchestrator 4 16
SQL Server 8 32
Management Reporter 4 16
Orchestrator 4 16
SQL Server 8 32
TO P O LO GY RO L E N UM B ER O F IN STA N C ES
Management Reporter 2
Orchestrator** 3
SQL Server 2
Management Reporter 1
Orchestrator 3
SQL Server 1
M EM O RY P ER
VM S/ IN STA N C IN STA N C E TOTA L
RO L E ES C O RES TOTA L C O RES ( GB ) M EM O RY ( GB )
Active 3 4 12 16 48
Directory
* SQL Server sizes are highly dependent on workloads. For more information, see Hardware sizing requirements
for on-premises environments. Separate SQL Server machines for sandbox and production environments must be
used. However, SQL Server can be shared in all sandbox environments.
Storage
AOS – Finance + Operations uses a Server Message Block (SMB) 3.0 share to store unstructured data. For
more information, see Storage Spaces Direct in Windows Server 2016.
SQL – The following options are viable:
A highly available SSD setup
A SAN that is optimized for online transaction processing (OLTP) throughputs
High-performance direct-attached storage (DAS)
SQL Ser ver and data management IOPS – The storage for both data management and SQL Server
should have at least 2,000 IOPS. Production IOPS depends on many factors. For more information, see
Hardware sizing requirements for on-premises environments.
VM IOPS – Each VM should have at least 100 write IOPS.
O P ERAT IN G SY ST EM N OT ES
Microsoft Windows Server 2016 Datacenter or Standard These requirements are for the database and the Service
Fabric cluster that hosts AOS.
Only en-US OS installations are supported.
REQ UIREM EN T N OT ES
Microsoft SQL Server 2016 Standard Edition or Enterprise For the hardware requirements for SQL Server 2016, see
Edition Hardware and Software Requirements for Installing SQL Server
2016.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This topic covers the installation steps for Commerce channel components in an on-premises environment.
Overview
Channel functionality, in an on-premises environment, is enabled exclusively via use of Commerce Scale Unit. For
an overview, see Commerce Scale Unit.
Unlike a cloud deployment, an on-premises environment does not enable seamless, high-availability deployment of
channel components via Lifecycle Services (LCS). The only way to use channel components is by installing
Commerce Scale Unit.
Prerequisites
Before you can start installation of channel components, you must first complete all prior installation steps for an
on-premises environment. These steps are listed in Set up and deploy on-premises environments (Platform update
12 and later). In addition, version 8.1.1 must be installed in order for Commerce have full functionality. We
recommend that you update to version 8.1.2.
NOTE
It is critical to ensure that a secure network, that is not publicly accessible, is used to connect Commerce Scale Unit to
Headquarters. You must also restrict network access to Headquarters, so access is only allowed to known Commerce Scale
Unit devices via network filtering or other means. This means that a firewall must exist and whitelisting is highly
recommended.
Installation steps
1. On the previously created Application share, (not the LocalAgent share folder), create a new folder called
selfser vicepackages in the root directory of the share location.
2. On each AOS computer, create an easily accessible directory, such as C:/selfser vicepackages .
3. On one AOS computer (which one does not matter), run the following PowerShell script.
The parameter -envName should be known based on creation when the environment is generated.
The legacy parameters -DatabaseSer ver and -DatabaseName should be known based on the environment
setup.
The parameter -SendProductSuppor tTelemetr yToMicrosoft is a required value to enable telemetry to
Microsoft. This is critical to maximize support from Microsoft.
This script will perform a variety of actions, including updating the Service user and role and updating registry
keys.
NOTE
The parameter -RetailSelfSer vicePackages is the full path location created in the beginning of this step
(C:/selfser vicepackages ).
5. Download the appropriate binary update from LCS to have the Commerce installers. For instructions, see
Download updates from Lifecycle Services (LCS).
6. Extract the zip file and copy all self-service installers into the folder C:/selfser vicepackages defined and
created in step 2 in each of the AOS machines. The six self-service installers include:
AsyncServerConnectorServiceSetup.exe
RealtimeServiceAX63Setup.exe
HardwareStationSetup.exe
ModernPosSetup.exe
ModernPosSetupOffline.exe
StoreSystemSetup.exe
7. Navigate to the AD FS machine, then go to the InfrastructureScripts folder. This is the same file directory
where the previously run PowerShell script was located (RetailUpdateDatabase.ps1 ). Find the PowerShell
script Create-ADFSSer verApplicationForRetail.ps1 .
8. On the AD FS machine that you're currently using, run this script in a new PowerShell window using the
command .\Create-ADFSSer verApplicationForRetail -HostUrl
'https://ax.d365ffo.onprem.contoso.com' , where the HostUrl value can be found in Service Fabric. To
find the HostUrl value, go to Ser vice Fabric > Application fabric:/AXSF > Details >
Aad_AADValidAudience .
9. Access the newly generated Server application from the Application Groups in AD FS Management.
10. Edit the newly generated Server application and select Reset the Secret .
NOTE
It is an important security measure to run this script for each Commerce Scale Unit. This maximizes security and
minimizes the workload in case of a security breach.
It is critical to keep this secret safe. This secret should only be copied once and never stored on the system. The Client
ID and Secret generated will be used during the Commerce Scale Unit installer, so it is required to be used at a later
time. You can always reset the secret again, but it must then be updated on any Commerce Scale Unit that used the
previous secret.
11. Go to Retail and Commerce > Headquar ters setup > Commerce scheduler > Connector for
Microsoft Dynamics AX .
12. Select Edit on the Action pane.
13. In the Profile field, enter the value Default . If needed, enter a description in the Description field.
NOTE
It is possible for the following fields in steps 12 through 14 to already have values. If this occurs, skip those steps and
continue from there. What is important is to have a selectable profile title (default in this case).
27. Follow the installation steps for installing the Commerce Scale Unit. For instructions, see Configure and
install Commerce Scale Unit. At multiple locations in this document there will be notes referencing changes
to the instructions for an on-premises deployment. It is important to note each of these changes.
Buy Finance + Operations (on-premises)
11/18/2019 • 3 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
Microsoft Dynamics 365 Finance + Operations (on-premises) offers a variety of license types to best suit the needs
of your organization. To better understand how Finance + Operations (on-premises) is licensed, please work with
your partner, who can access the Licensing guide on PartnerSource. When you are ready to purchase licenses for
your organization, work with your partner to follow the steps outlined in this topic.
IMPORTANT
On-premises environments are not supported on any public cloud infrastructure, including Azure.
NOTE
If you cannot see registration keys in PartnerSource Business Center, you will need to ensure that your PartnerSource
Business Center Profile has Can See Registration Keys set to Yes .
Get started with Lifecycle Services (LCS)
To purchase Finance + Operations (on-premises) you must have a Microsoft Online Services ID. The Microsoft
Online Services ID is used to provision an LCS project that contains the necessary artifacts for on-premises
environments. LCS is the service where on-premises environments will be provisioned, Business Process Model
created/uploaded, hotfixes are made available, support cases are entered and managed, license key serial number
activation submitted, etc.
The Microsoft Online Services ID is required to provision and register Finance + Operations (on-premises) into
entity-owned hardware and environment. See the Provisioning guide (linked to below) to complete the
provisioning and registration process. If a Microsoft Online Services ID already exists, the process must be
completed by the Global Administrator. If creating a Microsoft Online Services ID for the first time, the person
initiating the process will be the Global Administrator.
If you have an existing Microsoft Online Services trial or paid subscription, you already have a Microsoft Online
Services ID that was created at the time of sign-up. When you click a link below, choose to sign in with this account
if you want to use this same Azure Active Directory (AAD) tenant for the on-premises environment.
Access to the Provisioning guide can be found here:
Provisioning guide on CustomerSource
Provisioning guide on PartnerSource
After you have logged into LCS, a project will be automatically provisioned for you. The LCS project will allow you
to deploy an on-premises environment. For more details on getting started with your LCS project, see Set up on-
premises projects in Lifecycle Services (LCS).
Finance and Operations apps - operated by 21Vianet
in China
3/7/2020 • 4 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
Microsoft Dynamics 365 online services operated by 21Vianet is designed to comply with regulatory requirements
in China. The services are a physically separated instance of cloud services operated and transacted by a local
operator, Shanghai Blue Cloud Technology Co., Ltd (“21Vianet ”). This is a wholly owned subsidiary of Beijing
21Vianet Broadband Data Center Co., Ltd. located in mainland China.
Microsoft strives to maintain functional parity between our commercially available service and Finance and
Operations apps operated by 21Vianet in China. However, there are notable exceptions to this, which are affected
by dependent service or partner-solution availability, market priorities, or compliance regulations.
Provisioning
Customers in China have two options from which to select how they want to access Finance and Operations apps.
Services operated by 21Vianet in China - 21Vianet operates and offers Finance and Operations services in
China. This option provides a consistent application experience that is the same as global offerings. This
option also meets the demands of customers who prefer to use online services provided by a local company
that stores their data within China. These services are subject to Chinese laws.
Services operated by Microsoft – This option is for Finance and Operations customers that prefer to use
services managed and delivered by Microsoft. For all new customers and existing customers, if the customer
purchases Microsoft Azure, Dynamics 365, and Office using an Enterprise Agreement, Office 365 and/or
Dynamics 365 can co-exist on the tenant.
There are a few technical limitations during the provisioning of services that need to be taken in to account to avoid
potential issues.
Purchased Azure, Office 365, and Dynamics 365 via Recommended sequence for provisioning: Office 365 or
OSPA. Dynamics 365 must be provisioned first, followed by Azure.
Purchased Azure via OSPA first and then purchased Customer already has two tenants, one for Azure and another
Office 365 via OSPA. Now purchased Dynamics 365 for Office 365. Dynamics 365 can be added to the tenant
via OSPA. containing Office 365 OSPA.
Purchase Office 365 via OSPA and then purchased Customer started with Office 365 and then added Azure.
Azure via OSPA. Now purchased Dynamics 365 via Dynamics 365 can be provisioned on the same tenant.
OSPA.
Purchased Office 365 via OSPA and plans to add If Office 365 is already provisioned, customer will be able to
Dynamics 365. provision Dynamics 365 on the same tenant.
SC EN A RIO REC O M M EN DAT IO N
Purchased Office 365 via OSSA or CSP and purchased Dynamics 365 needs to be provisioned on a separate tenant.
Dynamics 365.
Additional resources
Dynamics 365 support site for 21Vianet (Chinese)
Support for Dynamics 365 Finance and Operations apps operated by 21Vianet in China
Model-driven apps in Dynamics 365 - operated by 21Vianet in China
Dynamics 365 Privacy statement (Dynamics 365 隐私声明)
Dynamics 365 Service Level agreement (世纪互联在线服务的服务级别协议)
Dynamics 365 Legal information (Dynamics 365 法律信息)
Service terms for Dynamics 365 Lifecycle Services
OSPT of Dynamics 365 (世纪互联在线服务的服务级别协议)
Azure Docs (in Chinese)
Azure China 21Vianet
Finance and Operations apps in France
11/5/2019 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
As of July 2019, Finance and Operations apps, Power Apps, and Power Automate are available in France’s
datacenters. This new deployment option serves customers in regulated industry and commercial organizations
that do business with entities in France that require local data residency. Power BI has been available since March
2019.
The deployment of the Dynamics 365 services in France, are built upon the foundational principles of security,
privacy, compliance, transparency, and reliability, offering French organizations a complete cloud infrastructure and
platform, as well as familiar productivity and business application tools. All of this means that customer data stays
resident within France.
Microsoft strives to maintain functional parity between our commercially available service and Dynamics 365
offerings in France. However, there are few exceptions affected by dependent service or partner-solution
availability, market priorities, or compliance regulations. For more information about these exceptions or for
questions about services in France, contact Microsoft Dynamics Online support.
Upgrade and N-1 support for Retail
2/1/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
Upgrade and N-1 support have been enabled in the July release of Microsoft Dynamics 365 Retail. N-1 support lets
customers who have stores that run Microsoft Dynamics AX 2012 R3 Cumulative Update 10 (CU10) work with
Headquarters after an upgrade. The main purpose of upgrade and N-1 support is to let AX 2012 R3 customers take
advantage of the benefits of the cloud.
The following features let customers upgrade in a seamless manner:
Users can now perform database upgrade from AX 2012 R3 to Headquarters through the upgrade process.
Users can operate their stores by using the components of AX 2012 R3 CU10.
Pre-upgrade and post-upgrade checklist validations are built into the upgrade process.
The upgrade process has enhanced error handling and messaging, so that customers can quickly debug issues.
Users can use tools to bring forward custom X++ code in their existing Headquarters to the upgraded version
of the headquarters.
The upgrade procedure is largely the same as the procedure for upgrading Retail to the latest version. For details
about upgrade in general, see Upgrade overview: AX 2012 to Dynamics 365 Retail.
Planned downtime is required. Upgrade analysis is done first. The upgrade analysis runs against the Microsoft
Dynamics AX 2012 database and is based on the Microsoft Dynamics Lifecycle Services (LCS) Diagnostic service.
This step identifies tasks that can help make upgrade faster and less expensive. It also identifies the required SQL
configuration, data headquarters cleanup, and deprecated features.
The actual data upgrade process then occurs. The AX 2012 database is moved to Microsoft Azure SQL Database,
and then the data upgrade package is run as usual, through the runbook process. Upgrade validation is then done.
A validation tool is run against the upgraded environment before it's used. This tool does an automated smoke test
to verify that the service is running and accessible, row counts match, financials and inventory reconcile, and so on.
Most of the post-upgrade configuration for channels requires few manual steps. Customers can then use the pre-
upgrade and post-upgrade checklists to learn about the tasks that must be completed. The post-upgrade tasks
include initiating a full sync to the stores from the upgraded database, validating channels, registers, and devices
against the upgraded database, validating transaction synchronization, and validating that N-1 support is in place.
For N-1 support, the customer must install the N-1 package in Headquarters. No setup is required in the stores.
This installation must be done during the upgrade window, after the N-1-related configuration has been completed.
After the Headquarters upgrade and N-1 setup are completed, the N-1 store components can communicate with
Headquarters. No channel-side components must be installed for N-1 support. However, to enable the N-1 store to
communicate with Headquarters, cashiers must change their password the first time that they sign in.
For instructions for N-1 installation, see Phased Rollout (N-1) installation, configuration, and cutover guide.
Phased Rollout (N-1) installation, configuration, and
cutover guide
3/19/2020 • 29 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This topic explains how to set up Phased Rollout (N-1) components so that your Microsoft Dynamics AX 2012 R3
channel components, such as Microsoft Dynamics AX for Retail Modern Point of Sale (MPOS) and Commerce Scale Unit,
or Microsoft Dynamics AX for Retail Enterprise Point of Sale (EPOS), can work with Microsoft Dynamics 365 Commerce
Headquarters.
Key terms
T ERM DESC RIP T IO N
N-1 Async Server Connector Service A component that is used to synchronize data packages between
Headquarters and the AX 2012 R3 channel components.
N-1 Real-time Service A component that supports real-time calls from the AX 2012 R3
channel components to Headquarters.
Overview
The sections in this topic describe the following steps, which you must complete to set up an environment with N-1
components. These steps assume that Headquarters is already deployed, and that an AX 2012 R3 environment is
currently running.
Set up Azure AD accounts – This section explains how to set up the Microsoft Azure Active Directory (Azure AD)
accounts that the N-1 components use to connect to Headquarters.
Configure N-1 components – This section explains how to configure the N-1 components in Headquarters.
Install N-1 components – This section explains how to download and install N-1 components in the existing AX
2012 R3 environment.
Cutover steps to switch to N-1 – This section explains the how to use the new N-1 components to cut an existing
AX 2012 R3 environment over from the AX 2012 R3 headquarters to the Dynamics 365 Headquarters.
Troubleshooting steps – This section describes troubleshooting steps for typical issues.
Required KBs for N-1 – This section lists the Microsoft Knowledge Base articles (KBs) that are required in order to
set up an N-1 environment.
High-level architecture
The following illustration shows a high-level overview of the N-1 setup.
Verify that the N-1 license key is turned on
Before you start to configure and install the N-1 components, make sure that the corresponding license key is turned
on. This license key is automatically turned on during an upgrade from AX 2012 R3 to Microsoft Dynamics 365
Commerce. However, because the steps that follow require this key, you should verify that it's turned on before you
continue.
1. Sign in to Commerce Headquarters, and go to System administration > Setup > License configuration .
2. On the Configuration keys tab, expand the Commerce key, expand the Commerce scheduler key, and verify
that the check box for the Retail Data Commerce Exchange backward compatibility key is selected.
NOTE
If the key isn't turned on, contact Microsoft Support for help turning it on.
1. Generate an Azure Web App to create a client ID and secret for Connector for Microsoft Dynamics AX. For
instructions, see the "Create an Azure Active Directory application" section in Create an Azure Active Directory
Application.
2. After you've finished creating the client ID and secret, the client ID must be accepted in Commerce. Go to System
administration > Setup > Azure Active Director y applications . Enter the client ID in the Client Id column,
enter descriptive text in the Name column, and enter RetailSer viceAccount in the User ID column.
Connection Web application name Enter the name to use for Real-timeServiceAX63
the N-1 Real-time Service in
Microsoft Internet
Information Services (IIS).
Real-time Service profile Select the profile that you created on AXConnect
the Connector for Microsoft
Dynamics AX page in the previous
section.
SQL Server instance name Enter the name of the Microsoft SQL sampleinstance
Server instance that hosts the existing
AX 2012 R3 HQ Message Database.
1. Sign in to Headquarters, and go to Retail and Commerce > Headquar ters setup > Commerce scheduler
> Working folders .
2. Make sure that the following field values are set in the grid.
Name The name of the working folder. File storage for N-1
NOTE
The field values that are described here are the default values that are automatically set when environments are upgraded from AX
2012 R3. However, you should verify that they are correct. These values must be manually entered for environments that haven't
been upgraded from AX 2012 R3.
1. Sign in to Headquarters, and go to Retail and Commerce > Headquar ters setup > Commerce scheduler
> Channel database group .
2. For each physical channel database in the AX 2012 R3 environment, on the Action Pane, select New , and set the
following fields.
NOTE
The field values that are described here are the default values that are automatically set when environments are upgraded from AX
2012 R3. However, you should verify that they are correct. These values must be manually entered for environments that haven't
been upgraded from AX 2012 R3.
1. Sign in to Headquarters, and go to Retail and Commerce > Headquar ters setup > Commerce scheduler
> Channel database .
2. For each physical channel database in the AX 2012 R3 environment, on the Action Pane, select New , and set the
following fields.
Header Username (Case Sensitive) Enter the user name to use channeluser
to connect to the AX 2012
R3 channel database.
IMPORTANT
This section applies only if the existing AX 2012 R3 environment uses Retail Server to interact with the channel database. If direct
channel database access is enabled from the AX 2012 R3 MPOS, you can skip this step.
NOTE
The field values that are described here are the default values that are automatically set when environments are upgraded from AX
2012 R3. However, you should verify that they are correct. These values must be manually entered for environments that haven't
been upgraded from AX 2012 R3.
1. Sign in to Headquarters, and go to Retail and Commerce > Channels > Stores > All stores .
2. For each Retail Server that is hosted in the N-1 environment, on the Action Pane, select New , and set the
following fields.
Profile proper ties Property key Enter the key for the Retail Retail Server URL
Server URL that is used in
the AX 2012 R3
environment. This field must
be set to Retail Ser ver
URL .
SEC T IO N F IEL D DESC RIP T IO N SA M P L E VA L UE
Profile proper ties Property value Enter the Retail Server URL http://localhost"35080/RetailServer/V1
that is used in the AX 2012
R3 environment.
Profile proper ties Property key Enter the key for the Hardware Station URL
Hardware Station URL that
is used in the AX 2012 R3
environment.
Profile proper ties Property value Enter the Hardware Station ipc://localhost
URL that is used in the AX
2012 R3 environment.
NOTE
The field values that are described will be set if the Headquarters environment was upgraded from the AX 2012 R3 headquarters.
1. Sign in to Headquarters, and go to Retail and Commerce > Channels > Stores > All stores .
2. For each store that is mapped to the N-1 environment, select the channel ID. Then, on the store details page, on
the General FastTab, set the following fields.
Live channel database Select the channel database that you Default_AX63_Database
mapped the store to and set it up for
earlier.
NOTE
The field values that are described will be set if the Headquarters environment was upgraded from the AX 2012 R3 headquarters.
1. Sign in to Headquarters, and go to Retail and Commerce > Retail and Commerce IT > Distribution
schedule .
2. In the left pane, select each distribution schedule that has the suffix AX63 . Then, on the Channel database groups
FastTab, make sure that the entries that you created earlier are mapped to the distribution schedule.
Workers
NOTE
The field values that are described will be set if the Headquarters environment was upgraded from the AX 2012 R3 headquarters.
1. Sign in to Headquarters, and go to Retail and Commerce > Employees > Workers .
2. Select the name of each worker who will sign in to the AX 2012 R3 environment. Then, on the worker details page,
on the Commerce tab, on the Commerce FastTab, set the Password field.
5. After an application ID (client ID) and secret are created, the application ID must be accepted in Commerce. Go to
Retail and Commerce > Headquar ters setup > Azure Active Director y applications . Enter the
application ID in the Client Id column, enter descriptive text in the Name column, and enter
RetailSer viceAccount in the User ID column.
6. Sign in to Headquarters, and go to Retail and Commerce > Headquar ters setup > Parameters >
Commerce shared parameters .
7. On the Identity Providers tab, select the provider that has an Issuer value that begins with
HTTPS://sts.windows.net/ . The values on the Relying par ties FastTab are automatically set, based on your
selection.
8. On the Relying par ties FastTab, select Add . Enter the application ID (client ID) that was created for this
installation. Set the Type field to Public and the UserType field to Worker . Then, on the Action Pane, select
Save .
9. On the Action Pane, select Save .
N-1 Real-time service
1. Sign in to Headquarters, and go to Retail and Commerce > Headquar ters setup > Commerce scheduler
> Connector for Microsoft Dynamics AX .
2. Select the connector that you created earlier.
3. On the Action Pane, on the Download tab, select Real-time ser vice for Dynamics AX 2012 R3 to download
the installer file, and then select Configuration file below Real-time ser vice for Dynamics AX 2012 R3 to
download the corresponding configuration file. Make sure that the configuration file is saved next to the setup
file.
4. After the installer and configuration files are downloaded, double-click the installer file, and follow these steps:
a. Verify the AOS URL (the URL that is used to access Headquarters), and then select Next .
b. Select a valid SSL certificate to use for HTTPS communication, and then select Next .
The certificate must use private key storage, and server authentication must be listed in the enhanced key
usage property. Additionally, the certificate must be trusted locally, and it can't be expired. It must be
stored in the personal certificate store location on the local computer.
c. If a specific user is required, enter the user name and password that the application pool should run as. By
default, the installer automatically generates a service account to use. This approach is more secure and is
recommended, but it can't be used when the database is located on a separate computer. Select Next to
continue.
d. Verify the HTTPS port that should be used, and verify that the host name of the computer is correct. Select
Next to continue.
The HTTPS port is listed in the Store system profile. To access the Store system profile, on the Store
details page, on the Store systems FastTab, select the profile ID of the selected Store system. The
installer automatically enters the host name. If, for any reason, the host name must be changed for the
installation, change it here. The host name must be the fully qualified domain name (FQDN) of the system,
and it must match the value that you entered on the Connector for Microsoft Dynamics AX page
earlier in this topic.
e. Enter the application ID (client ID) and secret that are associated with this Connector for Microsoft
Dynamics AX installation. Then select Install .
This application ID and secret can be the same application ID and secret that you used in the Async Server
Connector service installation. For information about how to correctly generate an Azure Web App to
create a client ID and secret, see the "Basics of Registering an Application in Azure AD" section in Create an
Azure Active Directory Application. When you create the Web App, the initial URI and URL don't have to be
any specific value. Only the application ID (client ID) and secret that are created are important.
ST EP DETA IL S T IM EL IN E
1. Deploy Headquarters. Headquarters is up and running. Cloud Weeks or months before the cutover
POS (CPOS) can be used to validate
functionality in the environment.
2. Install the Commerce application (X++) Install the KBs that are listed in the Weeks or months before the cutover
KBs. Required KBs for N-1 section to make
sure all issues that are related to N-1 are
addressed.
3. Set up Azure AD accounts. Follow the instructions in the Set up Weeks or months before the cutover
Azure AD accounts section to create the
accounts that are required for the N-1
components to authenticate against
Headquarters.
4. Configure Headquarters. Follow the instructions in the Configure Weeks or months before the cutover
N-1 components section to configure all
the settings for the N-1 components
before they are installed.
6. Install the N-1 components. Follow the instructions in the Install N-1 Weeks or months before the cutover
components section to install the N-1
components. Note that the N-1 Async
Server Connector Service component
should be installed but immediately
turned off to ensure that AX 2012 R3 and
Dynamics 365 CDX packages aren't
mixed.
Preparation
Follow these steps to prepare a few days before the cutover is scheduled.
H O W TO VA L IDAT E T H AT
ST EP DETA IL S T IM EL IN E T H IS ST EP IS DO N E
1. Stop all AX 2012 R3 Make sure that all AX 2012 At least a couple days before All packages in the AX 2012
download jobs. R3 download jobs are the cutover R3 network share for upload
stopped in the AX 2012 R3 jobs are processed, and no
headquarters. new packages appear.
2. Do a full synchronization of Run the CDX download jobs At least a couple days before CDX download jobs are in the
all AX63 CDX download jobs to make sure that the the cutover Available state on the
in Headquarters. packages are generated and Download Sessions page in
dropped in the Azure Blob Headquarters.
storage blob, so that the N-1
Async Server Connector
Service can consume them
during cutover.
Cutover steps
Follow these steps to do the actual cutover.
H O W TO VA L IDAT E T H AT
ST EP DETA IL S T IM EL IN E T H IS ST EP IS DO N E
1. Close all shifts. Make sure that all shifts are After store closing Manually validate with the
closed. stores that the shifts are
closed.
2. Clean up any suspended Make sure that all suspended After the previous step Manually validate with the
transactions. transactions are cleaned up. stores that the shifts are
closed.
3. Synchronize all Make sure that all After the previous step All packages in the AX 2012
transactional data. transactional data is R3 network share for upload
synchronized through the jobs are processed, and no
CDX upload jobs to the AX new packages appear.
2012 R3 headquarters.
4. Disable AX 2012 R3 CDX Make sure that all AX 2012 After the previous step Manually validate through the
upload jobs. R3 upload jobs are disabled, AX 2012 R3 headquarters UI
so that packages are no that the CDX upload jobs are
longer being picked up. disabled.
5. Shut down the AX 2012 R3 Connect to the server that After the previous step Manually validate in IIS that
Real-time Service. hosts the AX 2012 R3 Real- the service is stopped.
time Service, start IIS, right-
click the AX 2012 R3 Real-
time Service, and stop the
service.
6. Run the Reset metadata In Microsoft Dynamics AX, go After the previous step Not applicable
synchronization command to Retail and Commerce >
in Headquarters. Headquar ters setup >
Commerce scheduler >
Connector for Microsoft
Dynamics AX , and select
Reset metadata
synchronization to reset
the HQMessageDB
database in the AX 2012 R3
environment for N-1 cutover.
H O W TO VA L IDAT E T H AT
ST EP DETA IL S T IM EL IN E T H IS ST EP IS DO N E
7. Turn on the N-1 Async Connect to the server that After the previous step The status of download jobs
Server Connector Service. hosts the N-1 Async Server on the Download Sessions
Connector Service, and enable page in Headquarters
the Microsoft Windows changes from Available to
service. Applied .
Troubleshooting steps
This section describes some typical issues that you might encounter, and the steps that you can follow to investigate or
recover from them.
Runtime
This section describes troubleshooting steps for errors that you might encounter during the runtime of the application.
Metadata synchronization fails
F IEL D VA L UE
Sample Event Log Error Message Async server connector service encounters error in download
timer tick. CorrelationId {4c9cd9a0-d4e3-43e5-80da-
59ea2eb01acf}; Error details:
Microsoft.Dynamics.Retail.AsyncServerConnector.Service.Exceptio
ns.SyncMetadataException: Failed synchronizing metadata. --->
Microsoft.Dynamics.Retail.AsyncServerConnector.Service.Exceptio
ns.MessageDBOperationException: Failed updating metadata in
HQ message DB. ---> System.Data.SqlClient.SqlException: A
connection was successfully established with the server, but then
an error occurred during the login process. (provider: SSL
Provider, error: 0 - The certificate chain was issued by an
authority that is not trusted.) --->
System.ComponentModel.Win32Exception: The certificate chain
was issued by an authority that is not trusted
Troubleshooting Steps This could have happened because the Synch service web.config
connection string has the TrustServerCertificate set to false. To fix
the issue browse the Sync service website and open the
web.config. Find the connectionStrings section, update the
TrustServerCertificate to True if it is false.
F IEL D VA L UE
Sample Event Log Error Message Async server connector service encounters error in download
timer tick. CorrelationId {73d9d0d3-4d12-42ca-ac65-
3f1f947c7840}; Error details:
Microsoft.Dynamics.Retail.AsyncServerConnector.Service.Exceptio
ns.SyncMetadataException: Failed synchronizing metadata. --->
Microsoft.Dynamics.Retail.AsyncServerConnector.Service.Exceptio
ns.MessageDBOperationException: Failed updating metadata in
HQ message DB. ---> System.Data.SqlClient.SqlException:
Cannot open database "HQMessageDB" requested by the login.
The login failed. Login failed for user 'localhost\RetailAsUser'.
Troubleshooting Steps This could have happened because the user who runs the Async
server connector service does not have access to the HQ
message database. To fix the issue run services.msc, check the
user who runs the Async server connector service. Provide this
user access to HQ message database in SQL.
Metadata synchronization fails, or CDX jobs are successfully downloaded but aren't applied
F IEL D VA L UE
Sample Event Log Error Message Unable to communicate with server for download. Please check
username/password, server and database connections. Error
Details: System.ServiceModel.CommunicationException: An error
occurred while making the HTTP request to
https://localhost:44300/SynchService/DownloadService.svc
. This could be due to the fact that the server certificate is not
configured properly with HTTP.SYS in the HTTPS case. This could
also be caused by a mismatch of the security binding between
the client and the server. ---> System.Net.WebException: The
underlying connection was closed: An unexpected error occurred
on a send. ---> System.IO.IOException: Authentication failed
because the remote party has closed the transport stream.
Troubleshooting Steps This could have happened because of the following reasons.
1) The user ID and password that we provide in async client does
not match with the channel database User ID and password that
we provide in AX.
2) The async service end point is not reachable.
https://localhost:44300/SynchService/DownloadService.svc
. To fix this issue, 1) Launch the Async client configuration utility
(AsyncClientConfigurationUtility.exe) from the async client install
location. Under the
Async Server connection tab -> Authentication
information (case sensitive)
-> Update the Channel database ID, User name and Password
fields as per the values provided under N-1 channel database (
Retail and Commerce -> Headquarters setup -> Channel
database
) in AX. 2) Now click on Test connection in the utility. If the
connection is successful, restart the Async client service. If the
connection fails, go to N-1 channel database (
Retail and Commerce -> Headquarters setup -> Channel
database
) in AX, update the Username and password, save. Go to
Retail scheduler parameters in AX and click
Reset metadata synchronization . This will populate the HQ
message database with the new values. Repeat step 1 again. 3) If
the async server end point (
https://localhost:44300/SynchService/DownloadService.svc
) is not reachable, check the bindings of the service and make
sure there is a certificate associated. If the issue still exists, check
that the Working folders were specified for all the Channel
database group’s that were linked to AX2012R3 retail channel
schema.
F IEL D VA L UE
Sample Event Log Error Message Exception during DownloadAgent.Execute. Error Details:
System.IO.FileNotFoundException: Could not load file or
assembly 'Microsoft.Dynamics.Retail.StoreConnect.Request.Base,
Version=6.3.0.0, Culture=neutral,
PublicKeyToken=31bf3856ad364e35' or one of its dependencies.
The system cannot find the file specified. File name:
'Microsoft.Dynamics.Retail.StoreConnect.Request.Base,
Version=6.3.0.0, Culture=neutral,
PublicKeyToken=31bf3856ad364e35' at
Microsoft.Dynamics.Retail.SynchClient.Core.DownloadAgent.Appl
ySessionFileToClientDatabase(SessionManager sessionMgr, String
fileName) at
Microsoft.Dynamics.Retail.SynchClient.Core.DownloadAgent.Proc
essDownloadSession(DownloadSession session) at
Microsoft.Dynamics.Retail.SynchClient.Core.DownloadAgent.Exec
ute()
Troubleshooting Steps This could have happened because the AX63 store connect
components were not installed on the environment. To fix the
issue install the AX63 store connect components on the
environment that is running the async client component.
F IEL D VA L UE
Sample Event Log Error Message Unable to communicate with server for download. Please check
username/password, server and database connections. Error
Details: System.ServiceModel.CommunicationException: An error
occurred while making the HTTP request to
https://localhost:44300/SynchService/DownloadService.svc
. This could be due to the fact that the server certificate is not
configured properly with HTTP.SYS in the HTTPS case. This could
also be caused by a mismatch of the security binding between
the client and the server. ---> System.Net.WebException: The
underlying connection was closed: An unexpected error occurred
on a send. ---> System.IO.IOException: Authentication failed
because the remote party has closed the transport stream.
Troubleshooting Steps Make sure the HQ Message DB has data. Use the asyncClient
configuration tool to validate the connection is successful.
F IEL D VA L UE
MPOS Error on Activation Screen DA1002: A server side error occurred that prevents user from
logging on. Please check the server log for detailed information
or contact your IT support.
F IEL D VA L UE
Troubleshooting Steps Make sure the CDX download jobs ran successfully and the
channel database has data.
F IEL D VA L UE
Sample Event Log Error Message Dynamics-Error: LoginViewModel ActivateDevice Logon failed.
ErrorMessage: ; ErrorCode:
Microsoft_Dynamics_Commerce_Runtime_HeadquarterTransactio
nServiceMethodCallFailure;
Troubleshooting Steps Device you are trying to activate is already active. Please
deactivate the device and try the activation.
F IEL D VA L UE
Troubleshooting Steps Device you are trying to activate is already active. Please
deactivate the device and try the activation.
F IEL D VA L UE
Sample Event Log Error Message Dynamics-Error: LoginViewModel ActivateDevice Logon failed.
ErrorMessage: Sorry, something went wrong with the encryption
on your device. Please contact your system administrator.;
ErrorCode:
MICROSOFT_DYNAMICS_POS_DATAENCRYPTIONERROR;
MPOS Error on Activation Screen DA3122: Sorry, something went wrong with the encryption on
your device. Please contact your system administrator.
F IEL D VA L UE
Troubleshooting Steps Check the Real-time Service profile filed in the CDX Backward
compatibility section of the store. This must be set to the RTS
profile that you created for N-1.
4095191 The user is not allowed to set the retail server url to be http
based URL as only secured urls are allowed. This prevents the
user from connecting to old (6.3) version retail servers while
running in backwardcompatiility mode.
4095926 Upgrade & N-1: Return order fails from 63MPOS as the
transaction was not found on a N-1 non upgrade environment.
4131243 When running D365 Retail in N-1 mode, the user is not able to
set the HardwareStationURL using the AX client hence may not
be able to configure the 6.3 hardwaresation properly
4206905 POS reports throw errors when they are run in non-upgrade N-1
environment.
4133289 Running the N-1 version of the Product - Refunds from Journal
or existing transactions failing
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic provides information about how to upgrade to the latest update of the Retail SDK from earlier releases.
The overall process and the supported scenario information are included, but this topic doesn’t provide detailed
instructions of every step in the process. This topic is applicable for Dynamics 365 Commerce and Dynamics 365
Finance.
The following sections will walk through how to manually move your extension to the new Retail SDK, however you
can do this using any source control system like Azure DevOps or Git.
Upgrade scenarios
Upgrade can be completed for one of the following scenarios:
Update to a specific binary hotfix.
Upgrade your custom code.
Upgrade to the latest application release.
The process for SDK upgrade varies between versions. With version 7.3 and higher, we sealed all of the components
and customizations must be completed only by using the extension points. This should result in an easier code
upgrade experience. However, if you are upgrading from 7.0, 7.1, or 7.2 and if you have made inline changes, you
must move the inline changes to extensions. This will require additional work.
NOTE
When upgrading to newer version, do not remove any of the existing Commerce Scale Unit, Commerce Runtime, Proxy,
Hardware station, CDX, or Database extension code/APIs. Your POS client may depend on this code and removing it will
cause runtime exception errors. If you want to remove it then during code upgrade, make sure that the client code is also
updated to support this change, otherwise runtime failure will occur. As a best practice, extension code must be written in
such a way that it is always backward compatible.
The following tables provide some high-level information about which version the code is sealed. If you are
upgrading from an unsealed version to a sealed version, you should identify all of your customizations and move
any inline customizations to extensions. To move the inline customizations, verify that you have all of the necessary
extension points to do this. If you don't, submit an extensibility request.
NOTE
You might have to rewrite some of the POS inline changes that were completed in 7.1 when you upgrade to version 7.3 or
higher.
A P P L IC AT IO N
VERSIO N C RT SEA L ED H W S SEA L ED P O S SEA L ED DB SEA L ED P RO XY SEA L ED
February 2016 No No No No No
release
(Application 7.0)
NOTE
Code upgrade can be completed using a source control/merge tool. We recommend using a source control tool for this
process so that you can track the changes and revert if required. If you are not using any source control, before you upgrade
the code, be sure to make a back up of the old and new Retail SDK folder.
Assets: If you have modified any of the following extension config files to include your custom assemblies,
you must move those changes to the same config files in the new Asset folder .
CommerceRuntime.Ext.config - CRT extensions.
CommerceRuntime.MPOSOffline.Ext.config - CRT offline extensions.
HardwareStation.Extension.config - Hardware station and payment extensions.
RetailProxy.MPOSOffline.ext.config - Proxy extensions.
Build tools: The Build tools folder contains the files related to packaging, build settings and pfx, and snk
files. Merge or update the following files if you have made any changes in the older versions:
Customization.settings
Microsoft.Dynamics.RetailSdk.Build.props
Any custom pfx or snk files that you have created.
Database: Copy and drop all your custom SQL scripts: ...\RetailSDK\Database\Upgrade\Custom
Online Store: If you have an online store web project or online extension code, include it in this folder.
NOTE
Deployable package will not include online store code for packaging.
Payment externals : Copy and paste all of your payment extension assemblies to the following Payment
assemblies folders:
IPaymentDeviceAssemblies
IPaymentProcessorAssemblies
PaymentWebFiles
Payments: Merge all of your payment extension projects into this folder.
NOTE
If you created a new payment extension project and did not modify anything in this folder, you can include it as part
of the build and packaging process. Update dirs.proj in the RetailSDK folder to build your custom project. Next,
update the Customization.settings file with the payment extension drop location so that during package creation
your custom project is built. Make sure to include the extension as part of the packaging.
POS: If you have any POS extensions, including the generated proxy, copy your POS extensions from …
\RetailSDK\POS\Extensions to the new Retail SDK POS extension folder, RetailSDK\POS\Extensions. After you
copy the extensions, update and merge the extension.json file inside the POS\Extensions folder with the new
POS extensions folder you copied.
For example, if you copied the CustomExtension folder, then you would update extension.json as shown
below.
{
"extensionPackages": [
{
"baseUrl": "SampleExtensions"
},
{
"baseUrl": "SampleExtensions2"
},
{
"baseUrl": "CustomExtension"
}
]
}
You should also update tsconfig.json with the custom extension package so that the POS can compile the changes
during build.
Reference: Copy all of your extension output assemblies, such as Commerce runtime , Hardware
station , proxy , and any external assemblies, to the reference folder. Include any assemblies that you want
included as part of your deployment and packaging.
Commerce runtime (CRT) and Commerce Scale Unit extensions: Copy all of your CRT and extension
projects under the Retail SDK folder. Make sure to include the CRT and RS extension solution file details in
the dirs.proj file under the RetailSDK folder so that during msbuild, all of the extension project is built and
the output path for the project assemblies is set to the RetailSDK\Reference folder.
Hardware station (HWS) and payment extensions: Copy all of your hardware station (HWS) and
payment extension projects under the Retail SDK folder. Make sure to include the HWS and payment
extension solution file details in the dirs.proj file under the RetailSDK folder so that during msbuild, all of
the extension projects are built and the output path for the project assemblies is set to the
RetailSDK\Reference folder.
Retail proxy extensions: Copy all of your proxy extension projects under the Retail SDK folder. Make sure
to include the proxy solution file details in the dirs.proj file under the RetailSDK folder so that during
msbuild, all of the extension projects are built and the output path for the project assemblies is set to the
RetailSDK\Reference folder.
NOTE
Run msbuild on the root of the Retail SDK folder. Use the Microsoft Visual Studio developer command-line tool to generate
the deployable packages.
After you have upgraded all of the components, deploy the Commerce deployable packages, validate the
deployment, and add the Retail SDK files to the repository.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
Application releases
To see what's new or changed in each release of a Finance and Operations app, see the following topics:
Finance: What's new or changed in Dynamics 365 Finance
Supply Chain Management: What's new or changed in Dynamics 365 Supply Chain Management
Commerce: What's new or changed in Dynamics 365 Commerce
Human Resources: What's new or changed in Dynamics 365 Human Resources
Platform updates
To see what's new or changed in the Platform updates for Finance and Operations apps, see the following topic:
What's new or changed in Platform updates
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
IMPORTANT
Functionality noted in this topic is available as part of a preview release. The content and the functionality are subject to
change. For more information about preview releases, see One version service updates FAQ.
This topic lists features that are either new or changed in Microsoft Dynamics 365 Commerce 10.0.11. This version
has a build number of 10.0.464 and is available as follows:
Preview release: April 2020
General availability (self-update): May 2020
Auto-update: July 2020
Additional resources
Platform updates for Finance and Operations apps
Dynamics 365 Commerce 10.0.11 includes platform updates. To learn more, see Platform updates for version
10.0.11 of Finance and Operations apps.
Bug fixes
For information about the bug fixes that are included in this update, sign in to Lifecycle Services (LCS) and view the
KB article
Dynamics 365: 2020 release wave 1 plan
Wondering about upcoming and recently released capabilities in any of our business apps or platform?
Check out the Dynamics 365: 2020 release wave 1 plan. We've captured all the details, end to end, top to bottom, in
a single document that you can use for planning.
Removed and deprecated features
The Removed or deprecated features topic describes features that have been removed or deprecated for Finance
and Operations apps.
A removed feature is no longer available in the product.
A deprecated feature is not in active development and may be removed in a future update.
Before any feature is removed from the product, the deprecation notice will be announced in the Removed or
deprecated features topic 12 months prior to the removal.
For breaking changes that only affect compilation time, but are binary compatible with sandbox and production
environments, the deprecation time will be less than 12 months. Typically, these are functional updates that need to
be made to the compiler.
What's new or changed in Dynamics 365 Commerce
10.0.10 (May 2020)
4/9/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic lists features that are either new or changed in Microsoft Dynamics 365 Commerce 10.0.10. This version
has a build number of 10.0.420 and is available as follows:
Preview release: March 2020
General availability (self-update): April 2020
Auto-update: May 2020
Additional resources
Platform updates for Finance and Operations apps
Dynamics 365 Commerce 10.0.10 includes platform updates. To learn more, see Platform updates for version
10.0.10 of Finance and Operations apps.
Bug fixes
For information about the bug fixes that are included in this update, sign in to Lifecycle Services (LCS) and view the
KB article.
Dynamics 365: 2020 release wave 1 plan
Wondering about upcoming and recently released capabilities in any of our business apps or platform?
Check out the Dynamics 365: 2020 release wave 1 plan. We've captured all the details, end to end, top to bottom, in
a single document that you can use for planning.
Removed and deprecated features
The Removed or deprecated features topic describes features that have been removed or deprecated for Finance
and Operations apps.
A removed feature is no longer available in the product.
A deprecated feature is not in active development and may be removed in a future update.
Before any feature is removed from the product, the deprecation notice will be announced in the Removed or
deprecated features topic 12 months prior to the removal.
For breaking changes that only affect compilation time, but are binary compatible with sandbox and production
environments, the deprecation time will be less than 12 months. Typically, these are functional updates that need to
be made to the compiler.
What's new or changed in Dynamics 365 Commerce
10.0.9 (April 2020)
3/13/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic lists features that are either new or changed in Microsoft Dynamics 365 Commerce 10.0.9. This version
has a build number of 10.0.383 and is available as follows:
Preview release: February 2020
General availability (self-update): March 2020
Auto-update: April 2020
The following features are included in this release. The feature titles link to additional information on the Release
plans site.
Enable resetting of receipt numbers at the beginning of the fiscal year
Auto-charges improvements to support fees based on channel
Improved inbound and outbound inventory operations in store
Set preferred payment methods for returns
Support for bulk URL redirects
Task management in HQ and POS for first-line workers and managers
Additional resources
Platform update 33
Microsoft Dynamics 365 Commerce 10.0.9 includes Platform update 33. To learn more, see What's new and
changed in Platform update 33.
Bug fixes
For information about the bug fixes included in each of the updates that are part of 10.0.7, sign in to Lifecycle
Services (LCS) and view the KB article.
Dynamics 365: 2020 release wave 1 plan
Wondering about upcoming and recently released capabilities in any of our business apps or platform?
Check out the Dynamics 365: 2020 release wave 1 plan. We've captured all the details, end to end, top to bottom, in
a single document that you can use for planning.
Removed and deprecated features
The Removed or deprecated features topic describes features that have been removed or deprecated for Finance
and Operations apps.
A removed feature is no longer available in the product.
A deprecated feature is not in active development and may be removed in a future update.
Before any feature is removed from the product, the deprecation notice will be announced in the Removed or
deprecated features topic 12 months prior to the removal.
For breaking changes that only affect compilation time, but are binary compatible with sandbox and production
environments, the deprecation time will be less than 12 months. Typically, these are functional updates that need to
be made to the compiler.
What's new or changed in Dynamics 365 Commerce
10.0.8 (February 2020)
3/13/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic lists features that are either new or changed in Microsoft Dynamics 365 Commerce 10.0.8. This version
has a build number of 10.0.319 and is available as follows:
Preview release: December 2019
General availability (self-update): January 2020
Auto-update: February 2020
The following features are included in this release. The feature titles link to additional information on the Release
plans site.
Invoke Dynamics 365 Fraud Protection during e-commerce checkout
Recommendations
Product recommendations in POS
Azure Active Directory business to customer tenant per channel
Additional resources
Platform update 32
Microsoft Dynamics 365 Commerce 10.0.8 includes Platform update 32. To learn more, see What's new and
changed in Platform update 32.
Bug fixes
For information about the bug fixes included in each of the updates that are part of 10.0.7, sign in to Lifecycle
Services (LCS) and view the KB article.
Dynamics 365: 2019 release wave 2 plan
Wondering about upcoming and recently released capabilities in any of our business apps or platform?
Check out the Dynamics 365: 2019 release wave 2 plan. We've captured all the details, end to end, top to bottom, in
a single document that you can use for planning.
Removed and deprecated features
The Removed or deprecated features topic describes features that have been removed or deprecated for Finance
and Operations apps.
A removed feature is no longer available in the product.
A deprecated feature is not in active development and may be removed in a future update.
Before any feature is removed from the product, the deprecation notice will be announced in the Removed or
deprecated features topic 12 months prior to the removal.
For breaking changes that only affect compilation time, but are binary compatible with sandbox and production
environments, the deprecation time will be less than 12 months. Typically, these are functional updates that need to
be made to the compiler.
Removed or deprecated features in previous
releases
4/17/2020 • 50 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific
business functions. For more information about these changes, see Dynamics 365 Licensing Guide.
IMPORTANT
This topic is no longer updated. To see a current list of features that have been removed or deprecated from Finance and
Operations apps, search for "Removed or deprecated features" content that relates to the app you're using.
This topic describes features that have been removed or deprecated from Dynamics 365 for Finance and
Operations and previous releases of that product.
A removed feature is no longer available in the product.
A deprecated feature is not in active development and may be removed in a future update.
This list is intended to help you consider these removals and deprecations for your own planning.
Detailed information about objects in Finance and Operations apps can be found in the Technical reference
reports. You can compare the different versions of these reports to learn about objects that have changed or
been removed in each version of Finance and Operations apps.
Reason for deprecation/removal Changed to the feature with account groups selection.
Hash.ComputeSHA1Hash(string message )
FormDateTimeControl.setUtcString()
Reason for deprecation/removal We are retiring the setUtcString() method, because a better
replacement method is available.
Reason for deprecation/removal We are retiring tax updates for the US Payroll functionality
due to low usage and enhanced functionality that is now
offered via strategic integrations.
Reason for deprecation/removal Does not meet the core requirements that are needed for
scheduling periodic cleanup.
Replaced by another feature? Yes, the Job history cleanup feature is being added to meet
the scenarios holistically.
Product areas affected Data management
Reason for deprecation/removal Replaced by TXT format, French FEC audit file is available
through General ledger > Periodic tasks > Data
expor t .
Reason for deprecation/removal Header alignment with other Dynamics and Office products.
For more details, see Updated navigation bar that aligns with
the Office header.
Replaced by another feature? Starting in Platform update 24, a restyled navigation bar that
features search was introduced.
Replaced by another feature? Starting in Platform update 21, a feature for "sticky default
actions" was introduced. This feature can be enabled on the
Client performance options page.
Reason for deprecation/removal The "is one of" filtering experience went through a redesign
in Platform update 22,with the plan for this to eventually be
the only "is one of" filtering experience.
Replaced by another feature? Starting in Platform update 22, an improved "is one of"
filtering experience became available on the Client
performance options page. For more information, see
Optimized is one of filtering experience.
Status Deprecated: Starting in April 2020, the improved "is one of"
experience will be the default behavior, without a mechanism
to revert to the legacy behavior.
Parameter to enable sales orders with multiple project contract funding sources
Support for creating project-based sales orders where the project contract has multiple funding sources is
enabled with the Project management parameters setting Allow sales orders for project with multiple
funding sources . By default, this parameter is not enabled.
Reason for deprecation/removal The functionality will always be enabled after the parameter is
removed.
Replaced by another feature? No. The functionality to support project-based sales orders
with multiple funding sources will always be enabled.
Product areas affected The Allow sales orders for projects with multiple
funding sources parameter will be removed. The following
methods will be modified when the parameter is removed:
ctrlSalesOrderTable method in ProjStatusType class,
validate method for ProjId field, and run method in
SalescreateOrder form. The following methods will be
deprecated when the parameter is removed:
IsSalesOrderAllowedForMultipleFundingSources in
ProjTable table file,
IsAllowSalesOrdersForMultipleFundingSourcesParam
Enabled method in ProjTable table file,
AllowSalesOrdersForMultipleFundingSources data field
in ProjParameters form and ProjParameterEntity files,
IsAssociatedToMultipleFundingSourcesContract
private method in ProjTable table file.
Reason for deprecation/removal The legacy workflow reports for tracking and instance status
are being deprecated because they are no longer referenced
from the navigation. The report names are
WorkflowWorkflowInstanceByStatusReport and
WorkflowWorkflowTrackingReport.
Replaced by another feature? The workflow history form can be used instead.
Reason for deprecation/removal Before Platform update 25, it was possible to create a class or
table that derives from an internal class/table that is defined
in another package/module. This is not a safe coding practice.
As of Platform update 25, the compiler will display a warning.
Replaced by another feature? The compiler warning will be replaced by an error in Platform
update 26. This change is backward compatible at runtime,
which means that Platform update 25 or newer can be
deployed on any sandbox or production environment
without the need to modify custom code. This change only
affects development and compile time.
Product areas affected Visual Studio development tools
Reason for deprecation/removal Before Platform update 25, it was possible to override an
internal method in a derived class that is defined in another
package/module. This is not a safe coding practice. As of
Platform update 25, the compiler will display a warning.
Replaced by another feature? This warning will be replaced by a compile error in Platform
update 26. This change is backward compatible at runtime,
which means that Platform update 25 or newer can be
deployed on any sandbox or production environment
without the need to modify custom code. This change only
affects development and compile time.
Reason for deprecation/removal When you use the Rename primar y key function to
change the ItemId of a released product, only direct foreign
key references are updated. Any other references to the
released product, such as from production orders, will retain
the old ItemId. As a result, there could be inconsistent data
that will eventually block business processes.
Replaced by another feature? Going forward, PDF documents will be the default format for
reports rendered by Finance and Operations.
Product areas affected This change does not impact customer scenarios where
reports are distributed electronically or sent directly to
printers.
Status Deprecated: A removal date has not been set for this feature.
The functionality to automatically preview application reports
using an embedded PDF viewer is planned for the May 2019
Platform update.
Reason for deprecation/removal The native client controls used to define KPIs have low
customer uptake and rely on a developer to add trackable
metrics.
Replaced by another feature? PowerBI.com service delivers world-class tooling for defining
and managing KPIs based on data from external sources. In
an upcoming release, we plan to enable you to embed
solutions hosted on PowerBI.com in application workspaces.
Product areas affected This update will prevent developers from introducing new KPI
controls in Visual Studio designer.
Status Deprecated: A removal date has not been set for this feature.
2. Recompile.
Replaced by another feature? This warning will be replaced by a compile error in the future.
Complete list
To access the full list of APIs that are being deprecated, see Deprecation of methods and metadata elements.
Replaced by another feature? Asynchronous and scheduled batch are options to use in
place of Synchronous.
Reason for deprecation/removal Removed parts are replaced with Electronic reporting.
Replaced by another feature? Yes. Financial reports setup user interface should be used for
setting up data collection rules by GL accounts or tax
registers. Export data to various file types, fixed requisites
and query-like data collection rules should be configured in
Electronic reporting.
Integration with external providers for sending electronic reporting through communication channels for
Russia
Feature exporting generated electronic files of declarations to folder for further sending to official providers of
electronic reporting as well as importing state back.
Reason for deprecation/removal We are removing the current version of the product
recommendation service as we redesign this feature with a
better algorithm and newer retail-oriented capabilities.
Replaced by another feature? No. However, after Spring 2018, we plan to bring back this
feature to leverage a new recommendation service.
Replaced by another feature? Yes. The two reports have been replaced by the Inventor y
aging report.
Status Deprecated: The menu items for the two reports have been
removed in version 7.3. However, the code for the reports
remains in the product. The plan is to remove the code in a
future release.
Reason for deprecation/removal We are investing in providing new user experiences in the
new UI.
Replaced by another feature? The new UI called Enhanced views is replacing the old UI.
Reason for removal or deprecation These taxes have been subsumed into Indian GST.
Status Deprecated: A removal date has not been set for this feature.
Status Deprecated: A removal date has not been set for this feature.
Status Deprecated: A removal date has not been set for this feature.
Reason for deprecation/removal We are removing the current version of the product
recommendation service as we redesign this feature with a
better algorithm and newer retail-oriented capabilities.
Replaced by another feature? No. However, after Spring 2018, we plan to bring back this
feature to leverage a new recommendation service.
Reason for deprecation/removal Limited usage and addition of the Copy legal entity
functionality as a replacement.
Replaced by another feature? No, but the Copy legal entity and Configurations features
were added to make it easier to move to a company that has
changing core requirements.
Status Deprecated: A removal date has not been set for this feature.
Replaced by another feature? Yes. This feature has been replaced by Finance and
Operations - Warehousing. For more information about
setup and prerequisites, see Install and configure the
Warehousing app overview.
Replaced by another feature? No. Column filtering capabilities should be used to find
documents for reconciliation.
Replaced by another feature? Yes, ISO20022 Credit transfer and Direct debit payment
formats for Spain
Status Deprecated: A removal date has not been set for this feature.
Replaced by another feature? Yes, ISO20022 Credit transfer payment format for Lithuania
Status Deprecated: A removal date has not been set for this feature.
Replaced by another feature? The AvtaleGiro customer payment format for Norway can be
used to generate direct debit messages. Return message
import will be implemented in future releases.
Status Deprecated: A removal date has not been set for this feature.
Status Deprecated: A removal date has not been set for this feature.
Replaced by another feature? Yes, ISO 20022 Direct debit payment format for Belgium
Status Deprecated: A removal date has not been set for this feature.
Replaced by another feature? Yes, ISO20022 Credit transfer payment format for
Switzerland
Status Deprecated: A removal date has not been set for this feature.
Replaced by another feature? Yes, ISO 20022 Direct debit payment format for Austria
Status Deprecated: A removal date has not been set for this feature.
EDIVAT for Belgium
EDIVAT is an obsolete Belgian standard for electronic declaration via secure mail. Dynamics AX 2012 retains the
read-only solution to enable access to the historical data.
Status Deprecated: A removal date has not been set for this feature.
Replaced by another feature? No. The format will be replaced by ISO 20022 statement
import formats in future releases.
Status Deprecated: A removal date has not been set for this feature.
Status Deprecated: A removal date has not been set for this feature.
Replaced by another feature? No. The tool will be replaced by Electronic reporting
configurations in future releases.
Product areas affected General Ledger
Status Deprecated: A removal date has not been set for this feature.
Replaced by another feature? No. The format will be replaced by ISO 20022 statement
import formats in future releases.
Status Deprecated: A removal date has not been set for this feature.
Replaced by another feature? No. The format will be replaced by ISO 20022 statement
import formats in future releases.
Status Deprecated: A removal date has not been set for this feature.
Reason for deprecation/removal Integration with Isabel client has been discontinued.
Replaced by another feature? No. The payment formats that are no longer used are
replaced by ISO20022 Credit transfer payment format for
Belgium.
Status Deprecated: A removal date has not been set for this feature.
Status Deprecated: A removal date has not been set for this feature.
Replaced by another feature? Yes, ISO20022 Credit transfer payment format for Italy
Status Deprecated: A removal date has not been set for this feature.
Replaced by another feature? Yes, ISO20022 Credit transfer payment format for Estonia
Status Deprecated: A removal date has not been set for this feature.
Status Deprecated: A removal date has not been set for this feature.
Replaced by another feature? No. The formats will be replaced by ISO 20022 statement
import formats in future releases.
Status Deprecated: A removal date has not been set for this feature.
Reason for deprecation/removal This functionality has been replaced by core Payroll and
Human Resources pages.
Replaced by another feature? Benefits , Earnings , and other related pages that were
previously in US Payroll have been reconfigured, and are now
part of the core Human Resources configuration to help
support external payroll processing. This functionality is
accessed by using the Human Resources 1 > Payroll
configuration key.
Reason for deprecation/removal Performance management was redesigned, and the number
of goal pages was reduced to simplify the process.
Replaced by another feature? No. Goals are visible to managers through the Manager Self
Service portal, and can be changed and viewed by the
manager.
Replaced by another feature? Yes, ISO20022 Credit transfer payment format for Sweden
Reason for deprecation/removal Low customer usage and a limited feature set.
Reason for deprecation/removal The state invoice numbering no longer has to be maintained.
The report about used invoice numbers is no longer
required.
Status Deprecated: A removal date has not been set for this feature.
Set up the names of the manager and general accountant of a company for Lithuania
The names of the manager and the general accountant of a company can be specified in the company
information and used in different local report printouts.
Replaced by another feature? Yes, the setup of officials can be used for the same purpose.
Product areas affected Accounts payable, Accounts receivable, Cash and bank
management
Status Deprecated: A removal date has not been set for this feature.
Replaced by another feature? Yes, ISO20022 Credit transfer payment format and
AvtaleGiro customer payment format for Norway
Status Deprecated: A removal date has not been set for this feature.
Replaced by another feature? Yes, ISO20022 Credit transfer payment format for Finland
Status Deprecated: A removal date has not been set for this feature.
Warehouse management II
Reason for deprecation/removal The Warehouse management II solution (WMS II) that was
available in the Inventor y management module duplicates
functionality that is in the Warehouse management
module that was released in Dynamics AX 2012 R3.
Replaced by another feature? The Warehouse management module that was released in
AX 2012 R3, Dynamics AX 2012 R3 CU8, and Dynamics AX
2012 R3 CU9 replaces the Warehouse management II
features. The new module has more advanced features and
more flexible warehouse management processes than
Warehouse management II.
Dynamics AX 7.0
Ability to cancel changes to a vendor invoice
Reason for deprecation/removal The architecture of AIF and AxDs could not be scaled to a
cloud service. There were performance issues around bulk
import.
Reason for deprecation/removal The support for the custom C Sharp or Visual Basic scripts
was not added in Dynamics AX 7.0.
Reason for deprecation/removal Using a configuration key to control BOM versions doesn't
scale in a cloud environment.
Brazilian Bordero
Specific method of payment for Brazilian companies
Reason for deprecation/removal Support for the Brazilian Bordero method of payment has
been discontinued from Brazilian localization
Replaced by another feature? No
Status Deprecated: A removal date has not been set for this feature.
Replaced by another feature? No. Users can use Generic Electronic reporting tool to
configure the statement if required under specific situations.
Status Deprecated: A removal date has not been set for this feature.
Status Deprecated: A removal date has not been set for this feature.
Business Analyzer
This mobile application let users review key business metrics.
Reason for deprecation/removal This functionality has been replaced by another feature.
Replaced by another feature? The Monitor financial performance content pack for
Microsoft Power BI will include key financial metrics that were
previously available in Business Analyzer.
Business statistics
The setup of business statistics inquiries that can help you analyze the performance of the organization
Reason for deprecation/removal Legacy approach to business intelligence (BI), low customer
usage, and a limited feature set
Replaced by another feature? New BI solutions for the current version of Dynamics AX
Product areas affected Procurement and sourcing, Accounts payable, Sales and
marketing, Accounts receivable
Replaced by another feature? Yes. The document date on the posted vendor transaction
can be changed.
Status Deprecated: A removal date has not been set for this feature.
Compliance Center
The Compliance Center was an Enterprise Portal site for managing the documentation requirements for
compliance initiatives that are related to the Sarbanes-Oxley law.
Reason for deprecation/removal Lack of customer usage. Microsoft SharePoint includes the
same capability that was available in the Compliance Center.
Replaced by another feature? Yes. Since AX 2012, this functionality has been replaced by
the consolidated batch orders feature set. This feature set
includes the consolidated on-hand view.
Reason for deprecation/removal Cue groups were used to display one or more Cues in the
FactBox area. There was limited uptake, and there were also
performance concerns, because a record change in a parent
form caused one query per Cue in the Cue group.
Cue metadata
Reason for deprecation/removal Cue metadata was limited to count or sum information.
Replaced by another feature? Tile metadata was introduced to provide more flexibility for
modeling. For example, you can model current counts,
navigation, and key performance indicators (KPIs). Count tile
metadata is the direct replacement of the Cue metadata.
Status Deprecated: A removal date has not been set for this feature.
Data partitions
Data partitions provide a logical separation of data in the Dynamics AX database.
Replaced by another feature? Customers using data partitions must use multiple instances
of Finance and Operations if database level separation is a
critical issue.
Reason for deprecation/removal Files share storage is no longer supported because cloud-
hosted environments cannot communicate with local file
shares. Database storage has been deprecated in favor of
Azure Blob storage. Azure Blob storage is equivalent to
storage in the database, as documents can only be accessed
through Finance and Operations client forms. This provides
the added benefit of providing storage that doesn't
negatively affect the performance of the database. Blob
storage is the default storage mechanism for Document
Management and works immediately.
Replaced by another feature? Database storage has been deprecated in favor of Azure Blob
storage.
Delimitation
Desktop client
Reason for deprecation/removal The Dynamics AX client experience has been redesigned to
improve usability across multiple platforms and devices.
Replaced by another feature? The new web client is based on the desktop Form metadata
and programming model that have been modified to provide
a rich web platform.
Replaced by another feature? No. Only standard Retail Server communication is now
supported.
Replaced by another feature? Yes, this functionality has been replaced by Advanced bank
reconciliation functionality.
Status Deprecated: A removal date has not been set for this feature.
Replaced by another feature? This feature hasn't been replaced by another feature, but
multiple specialized XBRL packages that provide rich XBRL
functionality are available for the German market.
Status Deprecated: A removal date has not been set for this feature.
Replaced by another feature? The new web client is based on the desktop form metadata
and programming model that have been modified to provide
a rich web platform.
Environmental sustainability
Reason for deprecation/removal Low customer usage and a limited feature set
Replaced by another feature? The extensible control framework supports building new
controls that are based on HTML, CSS, and JavaScript, and is
a first-class control in the Microsoft Visual Studio Tooling
environment.
Reason for deprecation/removal No form exists to persist and display the resulting prenote
file when it's generated by using a batch.
Replaced by another feature? Prenotes can still be generated, and the user has control over
the location where the file is saved.
Product areas affected Accounts payable, Accounts receivable, Cash and bank
management
German DTAUS payment export and account statement import (totals and transactions)
Reason for deprecation/removal The format is no longer applicable in Germany, because it has
been replaced by Single Euro Payments Area (SEPA)
functionality.
Replaced by another feature? Yes, this functionality has been replaced by SEPA payment
export and advanced bank reconciliation functionality for
importing account statements.
Status Deprecated: A removal date has not been set for this feature.
Reason for deprecation/removal The format is no longer applicable in Germany, because it has
been replaced by SEPA functionality.
Replaced by another feature? Yes, this functionality has been replaced by Advanced bank
reconciliation functionality.
Status Deprecated: A removal date has not been set for this feature.
Reason for deprecation/removal The XML format for German EU Sales List reporting is no
longer supported. Only the ELMA5 text file format can be
used to submit the EU Sales List report to the German Tax
Office.
Status Deprecated: A removal date has not been set for this feature.
GL SSRS reports
Reports that include the following menu items have been removed: Summar y trial balance , Detailed trial
balance , Char t of accounts , Audit trail , Balances , and Balance list .
Reason for deprecation/removal Financial Microsoft SQL Server Reporting Services (SSRS)
reports have been replaced by Management Reporter
capabilities and default reports.
Replaced by another feature? Management Reporter (labeled Financial repor ting in the
current version of Dynamics AX)
Reason for deprecation/removal InfoPart and FormPart metadata enabled the creation of
FactBoxes for two different clients.
Replaced by another feature? InfoPart metadata, which was a simplified form definition, is
converted into a Form by upgrade tooling. FormPart
metadata, which referenced a Form, is replaced by a more
direct reference that is created by upgrade tooling.
Reason for deprecation/removal Balance information is available on the Trial balance list
page by account and dimension.
Replaced by another feature? Main accounts contains the same list of accounts that the
Main account list page contained. The grid view in Main
accounts also shows an even smaller, grid-like view.
Reason for deprecation/removal The same information can be obtained from the Inquiry bank
transaction.
Status Deprecated: A removal date has not been set for this feature.
Status Deprecated: A removal date has not been set for this feature.
Replaced by another feature? Yes, this functionality has been replaced by standard
conditional sales tax functionality that is provided by Core.
Status Deprecated: A removal date has not been set for this feature.
Reason for deprecation/removal This functionality has been replaced by Microsoft Exchange
Server integration.
Product builder
Product builder was used to dynamically configure items from a sales order, purchase order, production order,
sales quotation, project quotation, or item requirement. Based on a product model that had modeling variables,
the user could select values to meet the customer requirements and get a unique product variant that had a BOM
and route.
Reason for deprecation/removal Product builder exposed X++ code to end users and isn't
supported in the current version of Dynamics AX. It has been
removed to avoid duplicate maintenance efforts on
overlapping, sizeable codebases.
Replaced by another feature? Yes. The Job Card Device, which is a native part of Dynamics
AX 7.0.
Status Deprecated: A removal date from the Microsoft store has not
yet been set for this feature.
Reason for deprecation/removal The current version of Dynamics AX doesn't support label
changes at run time.
Replaced by another feature? No. Only standard HTTPS communication is now supported.
Reason for deprecation/removal Role Center pages were built on the deprecated Enterprise
Portal platform, which has been replaced by the new web
client platform in the current version of Dynamics AX.
Replaced by another feature? The new Workspace form pattern provides users with a
process-centered design that provides easy access to
commonly used tasks within that process.
Reason for deprecation/removal Low customer usage and a limited feature set
Sites Services
Sites Services let you build websites that extend your business processes to the Internet without IT support.
Reason for deprecation/removal The Microsoft Azure infrastructure that is used by Dynamics
AX has new capabilities that can be used instead (for
example, Azure sites).
Product areas affected HR recruiting, Case management, Request for quotes, Vendor
registration, Collaborative workspaces for opportunities and
campaigns
Reason for deprecation/removal The design of the feature cannot be supported in the new
cloud architecture.
Reason for deprecation/removal Low usage. This functionality has been replaced by the
Invoice journal that has workflow functionality.
Reason for deprecation/removal - Virtual companies must be set up before data is stored in
the tables. Retrofitting virtual companies onto an existing
implementation is very difficult.
Replaced by another feature? Global tables can be used to make tables accessible from all
companies. Currently, there is no replacement.
Reason for deprecation/removal Finance and Operations is compatible with tablets. The tablet
app is no longer required.
Workplanner
Replaced by another feature? No, but the Profile relation page, which is opened from the
Profile groups page, supports the same business scenario
as the deprecated Workplanner page.
Status The code has not been removed. However, the form,
JmgWorkPlanner, was not migrated.
Reason for deprecation/removal This functionality has been replaced by another feature.
Replaced by another feature? Management Reporter (labeled Financial repor ting in the
current version of Dynamics AX)
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This topic lists features of Microsoft Dynamics AX 2012 that were postponed. These features weren't implemented
in Microsoft Dynamics AX 7.0. In the following table, the Current status column indicates whether the feature has
been implemented since the AX 7.0 release.
For a detailed list of when each version of the product was released, see Software lifecycle policy and cloud
releases.
Absence management in Human Functionality for entering absence Implemented in Dynamics 365 Human
resources transactions isn't included. Additionally, Resources
functionality for approving absence
transactions as a manager isn't included.
Setup capabilities that are required for
integration with other modules are
available through the Human
Resources 2 configuration key.
Alerts Alerts help users keep track of data Implemented in Platform update 15
changes in the system.
Bank payment order for Latvia and You can print a payment order for Not implemented
Lithuania Latvia and Lithuania. This feature will be
available in a future update.
Bankgirot AP return format for Sweden The Bankgirot return format is used to Not implemented
import bank return messages. This
feature will be available in a future
update.
Client drag-and-drop The web client controls have application Not implemented
programming interfaces (APIs) for drag-
and-drop operations, but these APIs are
based on the deprecated desktop client
technology and must be redesigned so
that they work on the new web client
platform. APIs that support drag-and-
drop operations will be reviewed for
inclusion in a future update.
Client right-to-left (RTL) layout RTL layout is now supported. Implemented in Platform update 2
A X 2012 F EAT URE T H AT WA S C URREN T STAT US ( A S O F F EB RUA RY
P O ST P O N ED DESC RIP T IO N 2019)
Customer self-service (CSS) CSS lets you create approved customer Not implemented
records. It also allows users to view
selected product catalogs, order items,
and view the status of invoices.
Additionally, CSS provides the ability to
create and follow return orders.
Customizable help topics The ability to create customized help Not implemented
topics has not yet been implemented.
Custom task guides and custom field
help are available. This feature will be
available in a future update.
Employee self-service (ESS) ESS shows employees several tiles which Implemented in version 1611
have task-related and career-related
information on a single page.
Employees can view pending work items
and click links that open pages where
they can take action on their tasks. ESS
pages also show employees the status
of their certifications, when their next
performance reviews are scheduled,
skills, goals, and compensation
information, and other information,
such as balances for vacation and sick
time. Employees can also access a
company directory from their ESS page.
External questionnaire and recruiting Functionality for externally posting External questionnaire functionality
functionality questionnaires and open jobs will be hasn't been implemented.
added to Human Resources in a future Recruiting functionality is available
update. in Microsoft Dynamics 365 Talent:
Attract.
Fiscal printers for Poland Integration with Polish fiscal printers Not implemented
enables the required information to be
sent to the fiscal printer in the correct
format during invoice posting. Examples
of Polish fiscal printers include the
Posnet Thermal and Elzab Omega
printer types. This feature will be
available in a future update.
A X 2012 F EAT URE T H AT WA S C URREN T STAT US ( A S O F F EB RUA RY
P O ST P O N ED DESC RIP T IO N 2019)
General budget reservations Thw General budget reservations Implemented in version 8.1
document is sometimes referred to as a
commitment. Public sector entities often
use this document to set aside or
earmark budgeted funds so that they
aren't available for other purposes.
Graphics tab on the Fixed asset The chart shows the depreciation, Not implemented
value model and Depreciation book accumulated depreciation, and net book
profile pages value over time. Users can click the
Data tab to view more detailed
information than the chart shows. This
chart will be redesigned in a future
update.
Intelligent Data Management IDMF is an add-on tool that lets system Not implemented
Framework (IDMF) administrators optimize performance.
IDMF assesses the health of the
application, analyzes current usage
patterns, and helps reduce database
size.
Microsoft Project client integration The Microsoft Project client is integrated Implemented in version 7.2 (July 2017
with projects. update)
Secure global address book The ability to help secure the global Not implemented
address book by legal entity and
address book hasn't been implemented
yet. This feature will be available in a
future update.
Specifications for Electronic reporting Currently, payment format specifications Not implemented
(ER) payment formats must be entered manually. In a future
update, you will be able to select
payment format specifications in a list.
The following payment specifications are
curently supported per payment
A X 2012 F EAT URE T H AT WA S C URREN T STAT US ( A S O F F EB RUA RY
P O ST P O N ED format.
DESC RIP T IO N 2019)
PAY M E N T
S P E C I F I C AT I O N E X P O R T F O R M AT
(U SED IN ER ) D ESCR IP TIO N
ChqBen Cheque,
Begunstigde
ChqPri Cheque,
Opdrachtgever
TrfBenBen Overboeking
Begunstigde/Beg
unstigde
TrfBenBenUrg Overboeking
Begunstigde/Beg
unstigde Spoed
TrfEurBen Overboeking
Euro/Begunstigd
e
TrfEurBenUrg Overboeking
Euro/Begunstigd
e Spoed
TrfEurEur Overboeking
Euro/Euro
TrfEurEurUrg Overboeking
Euro/Euro
Spoed
TrfForBen Overboeking
VV-
rekening/Beguns
tigde
TrfForBenUrg Overboeking
VV-
rekening/Beguns
tigde Spoed
TrfForFor Overboeking
VV-rekening/VV-
rekening
TrfForForUrg Overboeking
VV-rekening/VV-
rekening Spoed
Betalingsser vice for Denmark
A X 2012 F EAT URE T H AT WA S C URREN T STAT US ( A S O F F EB RUA RY
P O ST P O N ED DESC RIP T IO N 2019)
PAY M E N T
S P E C I F I C AT I O N E X P O R T F O R M AT
(U SED IN ER ) D ESCR IP TIO N
T0117 BS-T
0117:FIK;kort
frist;lang
tekst&adr.
PAY M E N T
S P E C I F I C AT I O N E X P O R T F O R M AT
(U SED IN ER ) D ESCR IP TIO N
56 Currency
account transfer
between Nordea
accounts in
Denmark
47 Domestic check
45 Domestic
transfer
50 Express transfer
55 Intercompany
transfer
(domestic)
51 Intercompany
transfer to a
foreign bank
54 International
check
52 Nordea
intercompany
payment
43 Request for
transfer
46 Transfer
form/giro
payment
Tp7.Dmstc Type 7 -
Domestic postal
order
TpE1.PSWR Type E1 -
Payment slip with
reference
TpE2.PSWN Type E2 -
Payment slip with
notifications
AvtaleGiro (NO)
PAY M E N T
S P E C I F I C AT I O N E X P O R T F O R M AT
(U SED IN ER ) D ESCR IP TIO N
Varsling AvtaleGiro-trans
with notification
AutoGiro (NO)
PAY M E N T
S P E C I F I C AT I O N E X P O R T F O R M AT
(U SED IN ER ) D ESCR IP TIO N
Melding Autogiro-trans
with notification
eFaktura (NO)
PAY M E N T
S P E C I F I C AT I O N E X P O R T F O R M AT
(U SED IN ER ) D ESCR IP TIO N
Reklame Include
advertising flag
PAY M E N T
S P E C I F I C AT I O N E X P O R T F O R M AT
(U SED IN ER ) D ESCR IP TIO N
EasyAccountTran Easy-account
sfer with CVR (NKV)
A OP (payment
order), DOC
(wire transfer),
TED (other type
of wire transfer),
and direct credit
in the account
J Bar code
payments
(invoice with bar
code or other
type of
documents with
bar code)
O Tax payments or
other publics
services
payments
Vendor collaboration (Vendor Portal) Dynamics AX 2012 provided vendor Implemented in version 7.3
portal capabilities via Enterprise Portal.
These capabilities have been ported to
Financial and Operations. In version 7.1
(also known as Dynamics 365 for
Operations 1611), a vendor could view
and respond to purchase orders.
In version 7.3, the vendor can view
and respond to RFQ's. Vendors can
also view and edit selected
information from the vendor record
such as addresses, contact
information, and contact persons,
and they can upload documents in
relation to their certifications.
A X 2012 F EAT URE T H AT WA S C URREN T STAT US ( A S O F F EB RUA RY
P O ST P O N ED DESC RIP T IO N 2019)
Vendor requests - external request to Dynamics AX 2012 provided the ability Implemented in version 7.3
become a new vendor for an anonymous user to sign up to be
a vendor in the system, which could
lead to a vendor request for adding a
new vendor to the vendor master. In
version 7.3, the anonymous request
from a prospective vendor can be
imported via an entity (Data
Management/OData), which can lead to
inviting the vendor - or the vendor's
contact person - to register additional
details about the prospective vendor.
The information provided is included in
a new vendor request that can be
reviewed and approved via a workflow
process. An approval of the vendor
request leads to creation of a new
vendor account.
[Russia] Tax registers Legal entities can use registers to Not implemented
disclose their revenues and expenses.
The registers are used to track revenue
and expense data from the time that
primary documents, such as sales
invoices and delivery notes, are first
entered by using the calculation of cost
prices for production. The data from the
registers is used to confirm the declared
profit of the legal entity. This
functionality includes the following
features:
Current period incomes
Tax expenses
Other expenses of current
period
Unrealized expenses of current
period
Other unrealized expenses
Accounts receivable debt –
inventory
Bad debts reserve calculation
Bad debts reserve movement
Accounts receivable movement
Procedure for writing-off AR bad
debts
Accounts payable debt -
inventory
Accounts payable debt
movement
Procedure for writing-off AP bad
debts
Goods cost calculation
FA object information
IA object information
FA depreciation
IA depreciation
FA/IA sale
Depreciation bonus recovery
[Russia] Electronic export/import format Electronic formats for export of Not implemented
for Client-Bank interface and outgoing payments, and import of
reconciliation procedure incoming payments.
[Russia] Cash Flow Management The functionality which obtains a cash Not implemented
flow forecast and performs an analysis,
manages payments on a daily basis
using payment schedule journals,
controls the company's cash position,
and maintains the company's cash flows
with centralized control,
A X 2012 F EAT URE T H AT WA S C URREN T STAT US ( A S O F F EB RUA RY
P O ST P O N ED DESC RIP T IO N 2019)
[Russia] Accounting reporting format Electronic format of the following Not implemented
accounting reports: BalanceSheet,
IncomeStatement, CashFlow,
EquityStatement, TargetUsageMoney
[Russia] Land tax reporting Land tax declaration. Creation of Land Not implemented
tax declaration by separate divisions.
[Russia] Indirect tax return (VAT and Indirect (withholding) tax return (VAT Not implemented
Excise) on import of goods and Excise) on import of goods from
state members of Customs union.
[Russia] Journal of Alcohol sales in Retail Daily Alcohol journal. Integration with Not implemented
EGAIS.
[Russia] Optional posting of transfer Option to post/not post transactions to Not implemented
orders to General ledger General ledger when posting a transfer
order.
[Russia] AP/AR - 3rd party Registration of 3rd party miscellaneous Implemented in 8.1.1
miscellaneous charges charges and allocation by the following
regimes: Inclusion into cost of
purchased goods (allocation to invoices
lines from other vendors), and
redrawing to other parties re-allocation
to other expense accounts.
[Russia] Goods in transit from vendor Registering goods in transit from Not implemented
vendor by special posting profile with
Item type "purchased items en route".
Creating Act of inventory holdings en
route. (INV-6)
[Russia] Goods in transit - sales to Post sales invoice with postponed Not implemented
customer with postponed passing of property transfer: no customer debts
property posted, all outgoing taxes are posted,
items are transferred to transit
warehouse. Register passing of property
with posting debts and items sale from
transit warehouse.
[Russia] Bailment - accounting at bailee Accounting of inventory receipt for Not implemented
side bailment as required by the Law and
generation of primary form MX-1.
Accounting of inventory return from
bailment and generation of primary
form MX-3. Bailment costs calculation
from bailee side.
A X 2012 F EAT URE T H AT WA S C URREN T STAT US ( A S O F F EB RUA RY
P O ST P O N ED DESC RIP T IO N 2019)
[Russia] Alcohol sales declarations: Keeping track of alcoholic beverages Not implemented
Application 6, 7, 8 for wholesale. types including producers, unit of
Applications 11, 12 for retail measures, licenses for retail and
wholesale trade. Preparing data for
alcoholic beverages activities, including
printing declarations and exporting
them in XML format through e-
reporting.
Features not implemented in on-premises
deployments
2/13/2020 • 3 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This topic lists features that have not been implemented in deployments of Dynamics 365 Finance + Operations
(on-premises). The topic is divided into two sections:
The first section lists features that haven't been implemented yet. These features are not deprecated.
The second section lists features that are not intended for use with on-premises deployments. There are no
plans to implement these features.
Task recorder Task recorder libraries in Lifecycle Services (LCS) are not
supported. Task recordings can be loaded from or saved to
the local file system.
Suppor t pane The Suppor t pane (Help & Suppor t > Suppor t ) is not yet
available.
Recurring integrations API The use of recurring data jobs through the recurring
integrations API framework are not supported. You can only
use the data management framework package API with on-
premises deployments.
Electronic reporting (ER) integration with LCS The ER integration with LCS is not supported. ER
configurations can't be downloaded directly from LCS.
F EAT URE DESC RIP T IO N
Business document management It is not possible to use the Business document management
feature to edit the templates used to generate business
documents. You can only use the ER framework. This is
because Microsoft Office integration is not yet available for
on-premises deployments.
Author Power BI reports using OData Authoring Power BI reports with OData using Power BI
desktop or Excel PowerQuery tools is not supported.
Purchase requisitions: Punch-out from external catalogs It is not possible to check out a shopping cart from an
external catalog to a purchase requisition.
Trace Parser and PerfTimer These tools are not working or have limited functionality for
this release. These features will be implemented in a future
release.
SSRS scale out Currently SQL Server Reporting Services (SSRS) does not
support scaling out. This feature will be added in a future
release.
SSRS Report Viewer control SQL Server Reporting Services (SSRS) does not support a
report viewer control that is compatible with the on-premises
web client.
Reports are rendered as PDF documents by the on-
premises service. Use extensions to enable embedded
drill-thru links in application reports.
F EAT URE DESC RIP T IO N
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
Mainstream support for Dynamics AX 2009 Service Pack 1 (SP1), Dynamics AX 2012, and Dynamics AX 2012 R2
ends on October 9, 2018. After that date, only security hotfixes will continue to be provided for these three versions
through the extended support period that continues until October 12, 2021. For more information, see
support.microsoft.com.
Mainstream support for Dynamics AX 2012 R3 continues through October 12, 2021. Microsoft will continue
making security hotfixes, non-security hotfixes, and regulatory updates for Dynamics AX 2012 R3 throughout that
mainstream support period. The source code for these non-binary, non-security hotfixes and regulatory updates
will continue to be available for customers, and their partners, active on the Enhancement Plan or Software
Assurance.
Dynamics AX 2009 SP1, Dynamics AX 2012, and Dynamics AX 2012 R2 customers can selectively integrate those
changes as required. Customers and partners can get the source code from packages attached to relevant
Dynamics AX 2012 R3 KB articles published on Lifecycle Services (LCS) and discoverable through Issue Search.
Customers are advised to upgrade to the latest version of Finance and Operations apps, such as Dynamics 365
Finance, Supply Chain Management, Retail, and Human Resources:
Dynamics AX 2009 Service Pack 1 customers should use the migration tool that is available.
Dynamics AX 2012 and Dynamics AX 2012 R2 customers should upgrade to Finance and Operations apps
through Dynamics AX 2012 R3 using the upgrade tool that is available. Additional upgrade information is
available in the Upgrade from AX 2012 to Finance and Operations apps topic.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This topic provides an overview of the components of the Help system. The Help system is shared by the following
products:
Dynamics 365 Finance
Dynamics 365 Commerce
Dynamics 365 Supply Chain Management
Dynamics 365 Human Resources
You can access help from the Help pane in whichever product you are using.
Help on docs.microsoft.com
The docs.microsoft.com site (docs.microsoft.com/dynamics365/) is the primary source of product documentation
for the applications listed above. The site offers the following features:
Access to the most up-to-date content – The site gives us a faster and more flexible way to create, deliver,
and update product documentation. Therefore, it helps to ensure that you have access to the latest technical
information.
Content that is written by exper ts – The site provides a richer set of product documentation that can be
enhanced by community members both inside and outside Microsoft.
You can also find our content with any search engine. We recommend that for best results, you use a site search,
such as site:docs.microsoft.com dynamics 365 "search term".
Use an RSS feed
To subscribe to an RSS feed of all updates to the content, use the following link from a browser that supports RSS
feeds, such as Internet Explorer, or an RSS feed manager:
RSS feed
Leave us feedback
If you have feedback or questions about a topic, leave us a comment at the bottom of the page.
1. Click Feedback to get to the comments at the bottom of the page, and then click either Product feedback ,
or Sign in to give documentation feedback .
2. Start typing your comments, and then click Submit feedback .
The How to contribute to the Microsoft Dynamics 365 documentation video (shown above) is included in the
Microsoft Dynamics 365 channel on YouTube.
For more information, refer to our contributor's guide.
NOTE
We only accept contributions to our English content at this time.
Task guides
A Task guide is a controlled, guided, interactive experience that leads you through the steps of a task, or business
process. You can open (play) a Task guide from the Help pane. When you first click a Task guide, the Help pane will
show the step-by-step instructions for the task. Localized Task guides are available.
Microsoft shipped Task guide libraries for releases through December 2017 for Dynamics 365 for Finance and
Operations. The section Help system describes how to find the correct Task guides for your product.
To begin the guided, interactive experience, click Star t task guide at the bottom of the Help pane. A black pointer
opens and indicates the action that you must perform. Follow the directions that appear in the UI, and enter data as
directed.
IMPORTANT
The data that you enter when you play a Task guide is real. If you're in a production environment, the data will be entered in
the company that you're currently using.
You can use Task recorder to create your own custom Task guides. For more information, see Create documentation
or training with Task Recorder.
In-product Help
To access Help content, either click the Help (? ) icon and then choose Help or press Ctrl+Shift+?. In both cases, the
Help pane opens. From the Help pane, you can access articles or Task guides.
IMPORTANT
This section does not apply to Dynamics 365 Human Resources. The Help system for Human Resources is automatically
connected to Task guides for the product. Also, you cannot create custom Task guides for Human Resources.
NOTE
In order to configure help, you must be signed in with an account in the same tenant as the tenant in which the app is
deployed.
It is not possible to connect to an LCS library from an instance of the app running in a local virtual hard drive (VHD).
On the System parameters page, follow these steps:
1. Impor tant: The first time that you open the Help tab, you must connect to Lifecycle Services. Be sure to click
the link in the middle of the form, wait for the connection, close the dialog box, and then click OK to get to
the parameters form.
Additional resources
Task recorder resources
The following table lists our websites. Sites that have an asterisk (*) next to the name require that you sign in by
using an account that is associated with a service plan.
Support blog Provides tips and tricks that are posted by the Support team.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This topic describes the components of the Help system for Finance and Operations apps, such as Dynamics 365
Finance, Supply Chain Management, Commerce, and Human Resources. It provides an overview of how to connect
these components and a summary of how to create custom help.
Help architecture
The following illustration shows the parts of the Help system. The in-product Help system pulls articles from
https://docs.microsoft.com, as well as task guides stored in Business Process Modeler in Lifecycle Services (LCS).
NOTE
The features listed in the diagram with an asterisk (*) are planned, but are not available yet.
Using the System Parameters page, system administrators connect the pieces of the Help system for an
implementation.
IMPORTANT
The first time that you open the Help tab, you must connect to Lifecycle Services. Be sure to click the link in the middle of the
form, wait for the connection, close the dialog box, and then click OK to get to the System Parameters page.
NOTE
Even though many task guides have been translated, right now the client is not showing the translated task guide names.
Also, only the task guides that were released in February 2016 are available in translation in the May library. We will release
an updated library with additional translations.
If a task guide has been translated, when you open that task guide all the text of the task guide will appear in your
selected language.
If a task guide has not yet been translated, when you open it, only some of the text (the text of the controls) will appear in
your selected language.
Additional resources
Help system
Task recorder resources
Create documentation or training with Task Recorder
Connect a custom help site
11/18/2019 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
Microsoft has provided a white paper and sample code that describe how to create and connect custom help to the
Help pane.
The process for setting up a custom Help solution consists of publishing content as HTML, deploying a site and
extending the help pane to connect to the site.
Resources
Create Custom Help for Finance and Operations apps (white paper)
Custom help GitHub repository
See also
Create documentation or training with Task Recorder
View and export field descriptions
11/18/2019 • 4 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This article describes how to view field descriptions and how to use the Field descriptions page to export
descriptions.
Some of the more complex fields have field descriptions. These descriptions appear when you hover over a field.
You can also view and export descriptions on the Field descriptions page.
Not all pages have field descriptions. We want to provide descriptions only for the more complex fields, not where
the use of the field is obvious. Therefore, some pages don't have any field descriptions, some pages have a few
descriptions, and some of the more complex pages, such as many of the parameters pages, have many
descriptions.
If you have access to the development environment, you can add new field descriptions and customize existing
descriptions. For example, you can add company-specific information to a field description. For more information,
see Customize field descriptions.
NOTE
In Dynamics AX 7.0 (February 2016), field descriptions can be viewed only on the Field descriptions page.
The following illustration shows the field description that appears when you hover over the Lock items during
count field.
Use the Field descriptions page to view and export field help
The Field descriptions page lets you view and export field descriptions. You can see the descriptions that are
available for one page at a time.
View the descriptions for a page
To view the descriptions for a page, follow this step.
In the Select a page field, type the name of the page. Alternatively, click the arrow to open a list of all the pages,
and then browse or filter the list.
You can use either the name of the page that is shown in the user interface (UI) (for example, Customers ) or the
code name (AOT name) that's available when you right-click a page (for example, CustTable ).
For information about the various ways to filter the list of pages, see the "Searching for a page" section later in this
article.
If you set the Include fields without a description option to Yes , all the fields on the page are shown, even if
they don't have a field description.
Export the descriptions for a page
To export the descriptions for a page, follow these steps.
1. In the Select a page field, select a page.
2. Click the Open in Microsoft Office button in the upper-right corner, and then click FieldDescriptionTmp .
Searching for a page
There are several ways to search for a page in the Select a page field. In many cases, you must click the arrow in
the Select a page field to open the drop-down list, and then select from a filtered list of pages.
Type part of the name, and then open the drop-down list to select from a filtered list of pages.
Open the drop-down list, and then click either the Page name heading at the top of the list or the Page
AOT name heading. A dialog box appears, where you can use advanced filtering options, such as Page
name begins with .
Type the full name of the page. When you use this option, it's best to open the drop-down list and see what
else is in the list, even if field descriptions are shown.
If there is a single exact match to the name, the field descriptions for that page are shown.
If there is more than one exact match, no descriptions are shown. You must open the drop-down list and
select the page that you want.
If the name that you typed is part of the name of another page, you see the descriptions for your page.
However, if you open the drop-down list, you see additional pages that contain that name.
For example, no descriptions are shown when you type Counting in the Select a page field. You open the drop-
down list, and see that there are two pages that have the name Counting and several pages that contain the word
"Counting" in the name. If you select the page that has the AOT name InventJournalCount , the field descriptions
are shown for that page. However, if you open the drop-down list again, you will see that the list now contains all
pages that have "InventJournalCount" as part of their AOT name.
Troubleshooting
This section provides information to help you troubleshoot issues that you might encounter when you use field
descriptions.
I can't find a field description
We're in the process of adding descriptions for the more complex fields. If you require help for a particular field, let
us know by adding a comment for this topic.
The field description isn't helpful
Let us know by adding a comment for this topic. If you can, describe the additional information that you require.
I can't find a field on the Field descriptions page
To show all the fields on a page, set the Include fields without a description option to Yes . Click the Select a
page field to verify that you've selected the correct page. If the name that you typed is part of another field name,
you might have selected the page that has the longer name.
I can't find a page on the Field descriptions page
For information about the various way to find pages, see the "Searching for pages" section earlier in this article. If
you've typed the exact name of the page, the field descriptions might not be shown if more than one page has the
same name. Click the arrow in the Select a page field to open a filtered list of the pages that are available.
Additional resources
Customize field descriptions
Task recorder resources
4/20/2020 • 32 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This topic describes how to use Task recorder to record business processes.
Overview
Task recorder
Task recorder for Finance and Operations apps is a utility that lets users record business processes for several
different use cases. Here are some examples:
Step-by-step guided tours of a specific business process in the application itself
Documentation of a business process as a Microsoft Word document that can optionally include screenshots
Regression tests for a business process
Automatic playback of a business process in the application
Task recorder for Finance and Operations apps boasts high responsiveness, a flexible extensibility application
programming interface (API), and seamless integration with consumers of business process recordings. Task
recorder is also integrated with the Business process modeler (BPM) tool in Microsoft Dynamics Lifecycle
Services (LCS), so that users can continue to organize their recordings. However, users can no longer produce
business process diagrams from recordings.
Task recorder can automatically generate application regression tests from business process recordings and play
back previously recorded processes. These features also include test-specific gestures that let users take full
advantage of Task recorder.
Architecture
Task recorder can record user actions in the client with exact fidelity, because every control is instrumented to
notify Task recorder about the execution of user actions. The control notifies Task recorder that an event has
occurred and passes all the relevant information about the corresponding user action in real time. From this
information, Task recorder can capture the type of user action (for example, a button click, value entry, or
navigation) and any data that is related to the user action (for example, the input data value and type, form
context, or record context). Task recorder persists the information with enough detail to ensure that a playback of
the recording can run the recorded actions exactly as they were performed by the user.
Basic configuration
Task recorder is included with every Finance and Operations app, and lets users begin to record business
processes immediately after they open the client for the first time.
IMPORTANT
The Task guides tab is currently not available in Commerce or Human Resources. We are currently working to enable this
functionality in a future release. Task guides in the Getting Started experience in Human Resources remain available to cover
basic functionality. Procedural help is also available on the docs.microsoft.com site
(https://docs.microsoft.com/dynamics365/) for both Commerce and Human Resources.
NOTE
If the Saved views feature is turned on, recordings should be created by using either published views or the
standard view, to ensure that recordings work reliably for users.
7. Task recorder enters recording mode . The pane shows information and controls that are related to the
process of recording.
Now you're ready to record a business process using Task recorder. If you're following this guide as a first-time
user, you may complete the following Fleet Management scenario as an example. Otherwise, you can record your
own application scenario.
Record a Fleet Management scenario
1. In the Task recorder pane, click Star t sub-task .
2. Set Name to "Create a new rental customer". Leave the Comment field blank.
3. Click OK . The task is added to the step list.
4. Go to Dashboard > Fleet Management > Reser vation Management .
5. Go to All customers under the Summar y tab.
6. In the Action Pane, click New .
7. Enter a first and last name for the customer.
8. Click Save .
9. In the Task recorder pane, click End sub-task .
10. Return to the Reser vation Management workspace by clicking the browser back button twice.
11. In the Task recorder pane, click Star t sub-task . Name the task "Rent a vehicle to the new customer". Click
OK .
12. Click (+ ) Rental under Summar y .
13. Under Information , select a "1975 Litware McKinley" as the vehicle.
14. Under Information , set the customer to the one just created.
15. Expand the Discounts section.
16. Click Add under Discounts and add the Frequent Customer discount. Click OK .
17. In the Action Pane, click Star t Rental .
18. Set the return date to some date in the future.
19. Click OK .
20. In the Task recorder pane, click End sub-task .
21. Click Stop at the very top of the page.
Start/End sub-task
Star t/End sub-task lets a user specify the beginning and end of a set of grouped steps in a recording. Click the
Star t sub-task button to add a "Sub-task" step to the end of the current list of recorded steps. The sub-task will
include all steps that you perform from this point until you click the End sub-task button. When you click the
End sub-task button, an "End sub-task" step is also added to the list of recorded steps.
NOTE
You must start a sub-task before you perform/record the steps that you want to include in the task. Then, after you've
performed/recorded all the steps that you want to include in the task, you must end the sub-task.
Sub-tasks are purely an organization tool, and consumers of business process recordings can interpret the task
groupings in useful ways. Because tasks can be nested inside other tasks, they provide the flexibility to organize
very long and complex business processes.
Delete/Restore step
Delete/Restore step enables a user to remove steps from the recording, or undo the removal of a step from the
recording. You must first select the step in the Steps list that you want to delete/restore, and then click the
Delete/Restore step button.
NOTE
The behavior of the Delete button changes when you play back a recording. In playback mode, a deleted step can't be
restored after playback has passed the point where it would have run the deleted step. For example, you load a recording
that contains three steps, and then you delete step 2 before you start playback. You can restore step 2 only as long as
playback hasn't run step 3. After you start playback, and playback has "skipped" step 2 (because you deleted it) and run
step 3, you won't be able to restore step 2. Because step 2 wasn't run and therefore wasn't recorded, it can't be
retroactively added back into the recording at its previous position.
User-supplied value label This step instruction contains placeholder text, which the author can fill in
with their own text. For steps which have an Example value label option, the placeholder allows
substituting the text which normally specifies the data to enter. This is useful for scenarios where neither
the Preferred value label nor the Example value label sufficiently express the data that should be
used for this step.
Example label: In the First name field, enter {your example text}.
Example label after supplying the placeholder text: In the First name field, enter the customer's name.
For steps which do not have an Example value label option, the placeholder allows substituting all of the
label text. Steps associated with buttons, for example, do not have Example value labels , so you may
replace the entire label text with your own text.
Example label before replacement: Click Post.
Example label after replacement: To post the order, click Post.
Titles and notes
Titles and notes provide places for user-specified text to be associated with a step in a task guide.
Title – The title lets you specify the text that appears above the step instruction for this step in the task guide.
The title a good place to put text that you want users to read before they complete the action that is indicated
by the step instruction.
Note – You can use a note to specify text that appears in the expandable section of the pop-up for this step in
the task guide. A note is a good place to put optional reading material or other information that might be
useful to users, but that they aren't required to read to complete the action that is indicated by the step
instruction.
Hide from task guide
The Hide this step option lets the author prevent specific steps from appearing in the task guide. This option is
useful for hiding steps that are required for the task recording to run in playback mode, but that should not be
seen by users. Examples of these steps include copy steps, system-generated steps, and data clean-up steps. If
you hide a sub-task, all the steps that are recorded inside that sub-task will also be hidden.
NOTE
Because info steps are manually specified steps and are not automatically recorded by Task recorder when the user takes an
action on a control, the info step does not have the capability to automatically progress when a user completes the step in
the task guide. Because the info step is not associated with taking an action in the client, there is no action for a task guide
to detect that the user has completed in order to automatically progress to the next step.
NOTE
It's a good practice to refresh the browser before each new recording.
2. Open the Task recorder pane.
3. Click Playback recording .
4. Click Open from this PC to load a recording from a previously downloaded Task recorder package (.axtr
file).
If you're reading this guide for the first time and following along, choose the "Create a new rental
reservation" file that you downloaded previously.
5. Click Star t .
When you play back a recording, additional actions are available in the Task recorder pane.
Play next pending step
Play next pending step runs the next step in the recording. This action is useful because it gives you more
control over the playback speed when you want to analyze the effects of a single step. This action has a side-effect
that it's important to be aware of. When you click Play next pending step , any open lookups, drop-down dialog
boxes, or Action Pane tabs might be dismissed, because this action removes focus from those elements. For these
situations, we recommend that you use Play all pending steps instead.
Play all pending steps
Play all pending steps begins sequential execution of the remaining steps in the recording, and continues until
either playback is paused or all steps have been run. During playback, the Play all pending steps button is
replaced by a Pause button that can be used to pause playback. If playback can't successfully run a step for any
reason (for example, because it can't find a button that has been renamed), Task recorder will skip that step, and
playback will automatically be paused. In this way, the user has an opportunity to replace the obsolete step by
completing the new steps in the client. Task recorder will record the new steps and ignore the step that was
skipped. The user can then click Play all pending steps to continue playback for the remaining steps. After the
recording is completed, the user can download the updated recording. This recording will contain all the steps of
the original recording, but will exclude any skipped steps and include any new steps.
Play to selected step
Play to selected step behaves like Play all pending steps , but it lets you play only a subset of the steps
instead of all the steps. In the list, select the step that you want playback to stop at, and then click Play to
selected step . Task recorder will begin to run the steps in the list and will stop when it has run the step that you
selected.
Editing a recording
Although you can edit a recording through the playback functionality, there is also a mode that lets you make
simple edits to a recording without having to replay the whole recording. To access this feature, click Edit
recording after you open the Task recorder pane. You can use this feature to make the following edits:
Insert steps into a recording without re-recording the whole file.
Move steps under a sub-task without re-recording the whole file.
Adjust the name and description of the recording.
Insert steps without re -recording the entire file
You can add a step anywhere in a task recording without playing back or re-recording the whole file.
1. Select the step after which you want the new step to be inserted. Make sure the step is highlighted.
In order for task recorder to insert a step, you must have the correct page open. The correct page is the
page on which the new step occurs. Task recorder has a mechanism that determines what the active page
is, and will disable the functionality if the correct page isn't open.
When you are on the correct page, Inser t step becomes available.
3. Select the step or sub-task step that you want to move the step or sub-task step after. Task recorder will
move the step.
4. To move the end sub-task step, select it, click Move step after , and then select the step that you want the
end sub-task step to be after.
If you want the first step in the task guide to be within a sub-task, create a sub-task step as the second
step, and then move the first step into it. You can add or move as many steps or sub-tasks as needed.
5. When you've finished editing the task recording, click Done editing , and then select one of the options to
save or publish the recording.
Adjust the recording name and description
You can adjust values of the Recording name and Recording description fields. If you want to see more steps
in the Task recorder editing pane, you can also collapse the section that shows the recording name and
description.
NOTE
One way that the task guide determines that a user has completed a step is by detecting when the value in a field has
changed. Although the task guide doesn't require that a specific value be set, it does require that the field value be changed
in order to determine that the step was completed. The user must change the field value, and then press the Tab key or
click in an area outside the UI element. Only at that point does the client detect that the field value has changed, and it can
then proceed to run any required application validation or business logic. Therefore, before the task guide can determine
that the step was completed by the user, it relies on the client to detect that the field value has changed.
...
"content_scripts": [
{
"matches": ["https://*.dynamics.com/*", "<hostname>"],
"js": ["screenshot.js"]
}
...
7. In the New Project dialog box, provide a name for the project.
8. After the project is created, the user can open and inspect the generated code.
9. To run the test, build the project.
10. Go to Test > Windows >Test Explorer .
Appendix
Controls that are known to have incomplete support for Task recorder
Table
Filter pane, which is the filter that pops out from the left side
When adding filters to the filter pane, the steps are delayed. The steps do not get recorded until the user
clicks "Apply" on the Filter pane.
Enhanced previews
No planned support for recording gestures inside of enhanced previews. While recording, enhanced
previews will be disabled.
No extensible controls are supported out of the box, except Segmented Entry.
Extensible control owners need to individually build support for Task recorder.
Controls that can be recorded, but have limited support for the Copy/Paste/Validate gestures
Date/Time
Doesn't support copy/pasting "Never" as a value.
Image
No ability to copy/paste/validate an image value.
Filter pane
Copy/Paste works, but the UI will not show the pasted data. You can proceed as if it pasted correctly.
Message box
You cannot validate the text in the message box.
Controls that are known to have incomplete support for being used in a task guide
Quick Filter, which is the filter control that appears above lists
Does not support displaying a "generic value" during the task guide. Currently displays the value that
was used during recording.
Filter pane, which is the filter that pops out from the left side
The task guide does not point to the individual elements within the Filter pane that need to be clicked
on.
Create documentation or training with Task Recorder
3/24/2020 • 8 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This topic explains what Task recorder and task guides are, how to create task recordings, and how to customize
Microsoft task guides and include them in your Help.
IMPORTANT
You can record your own task guides for Dynamics 365 Human Resources, but you won't be able to save them to a Business
Process Modeler (BPM) library or open them from the Help pane at this time. You can save them locally or to a network
location, and then open and replay them using Task recorder.
Additional resources
Help system
Connect the Help system
Task Recorder
Create Rich Help Topics with Task Recorder (external link)
Videos
11/12/2019 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
On the Microsoft Dynamics 365 YouTube channel, you can find videos created by Microsoft that demonstrate a
wide range of business solutions for Dynamics 365 products. This section lists the "how-to" videos for Finance and
Operations apps that are hosted on the channel.
NOTE
Some of the videos listed were published under a previous product name, but are still applicable.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This glossary defines key terms and concepts in Finance and Operations apps.
A
a c c o u n t i n g j o u rn a l
A journal that is used to record the financial consequences of accounting events in an accounting system.
a c c o u n t i n g ru l e
A rule in an accounting system that controls the principles, methods, and procedures for classifying, recording, and
reporting the financial consequences of accounting events.
A C H ( A u t o ma t e d C l e a ri n g Ho u s e )
An electronic funds transfer system available in the United States that facilitates the transfer of funds between
receiving party and originating party bank accounts.
ac tu al q u an ti ty
The service that is provided by a credit card processor that validates that the billing address provided by a card
holder matches the information on file with the issuing bank.
ag i n g
The number of days in a time period used to report an overdue customer payment balance.
B
b al an c e s h eet
A statement of the financial position of an organization that reports the state of assets, liabilities, and equity on a
specified date.
b al an c e s h eet ac c o u n t
A practice of reconciling a ledger account that represents a bank account by matching ledger account entries to
bank statement entries.
b a t c h a t t ri b u t e
The time period in which to obtain the optimum quality or characteristic of a product.
b i l l o f exc h an g e
A source document that documents an unconditional request for a third-party to pay a second party on demand.
b l o c ki n g
The action of placing a document or product on hold.
B O M ( b i l l o f ma t e ri a l s )
A list of products and their quantities that are required to produce one product.
b u d g e t c o n t ro l
A practice of authorizing expenditure only when budget funds can be reserved to meet future payment
commitments.
b u d g e t c o n t ro l d i me n s i o n
A combination of active financial dimensions values used to allocate budget funds to pay for planned activities.
b u d g e t c o n t ro l ru l e
The encoding of a business decision to check committed and actual expenditure against available budget funds
allocated for detailed or aggregate activities defined by valid budget control dimension value combinations.
b u d g e t c y c l e t i me s p a n
A time period specified as a number of fiscal calendar periods. The budget period can be different from the
accounting period.
b u d g e t g ro u p
A set of financial dimension values in a budget dimension hierarchy that is used to calculate aggregate budget
funds allocated to superordinate financial dimension values by summing budget funds allocated to subordinate
financial dimension values.
b u d g e t mo d e l
C
c ap ac i ty l o ad
The maximum amount of scheduled work that a work center can perform at a required capacity level.
c ap ac i ty p l an n i n g
A procedure for determining the resource capacity requirements that meet the demand of future output during
specific time periods.
c a rry -f o rw a rd b u d g e t
The budget that is transferred from one fiscal year to the next and that is reserved for open purchase orders in the
new fiscal year.
c a s h -g e n e ra t i n g u n i t
The smallest group of classifiable assets that generates cash independently of other assets within an organization.
These groups of assets are used to measure impairment losses that will be incurred.
c atc h w ei g h t
An accounting category used to sum the financial consequences of manufacturing products and carrying inventory.
c o n t ra c t o r
A role assumed by a person who participates in a contractor-employer relationship with a legal entity.
c o -p ro d u c t
An operating unit whose managers are accountable for budgeted and actual expenditures.
c o s t v a ri a n c e
The process of calculating, assigning, and allocating the cost of economic resources acquired, produced, or
delivered by an organization.
C TP ( c a p a b l e -t o -p ro mi s e )
The portion of product output from available operations resources and available input product required to fulfill a
specific customer requirement.
c u rre n c y c o d e
D
d a s h b o a rd
The typical start page in Finance and Operations apps. On the dashboard, users see a section for each workspace
that they have access to. Each section displays the tiles from the summary sections in the related workspace. The
dashboard consists of a name and sections with tiles.
d ata en ti ty
A delegate is a type that represents references to methods with a particular parameter list and return type.
d e l i v e ry n o t e
A business document that documents the delivery of products between two parties.
d e ma n d f o re c a s t
A business process that estimates future demand and creates demand forecasts based on historical transaction
data.
d ep l o yab l e p ac kag e
The vehicle used for deployment on User Acceptance Test (UAT) and production environments.
d es i g n er
A Visual Studio tool that you used to create, update, and inspect your model elements.
d i me n s i o n -b a s e d p ro d u c t c o n f i g u ra t i o n
A configuration technology used to create product variants by selecting values for product dimensions.
d i s t i n c t p ro d u c t
In the security model, a set of application access privileges that are required for a user to carry out their
responsibilities.
E
E F T ( e l e c t ro n i c f u n d s t ra n s f e r)
A networked system for transferring funds from one bank account to another.
even t
An event lets a class or object to notify other classes or objects when something of interest occurs.
E P E ( E v e ry P ro d u c t E v e ry )
F
f i n a n c i a l d i me n s i o n
A financial data classifier created from the parties, locations, products, and activities in an organization and used for
management reporting.
f i n a n c i a l d i me n s i o n v a l u e
A report that documents the financial information and financial position of an organization.
fi xed c o s t
A cost that does not vary with changes in product delivery throughput or output.
f i x e d c u rre n c y
A type of kanban that is used when the number of kanbans that are assigned to a kanban rule is constant.
f o rmu l a
A numeric relationship among production process inputs and production process outputs.
f o rmu l a i t e m
G
g e n e ra l b u d g e t re s e rv a t i o n
A document that is often used by public sector entities to set aside or earmark budgeted funds so that those funds
are not available for other purposes.
g ra c e p e ri o d
The time period beyond a specified date during which an obligation can be fulfilled without penalty.
G ST ( g o o d s a n d s e rv i c e s t a x )
I
i n t e rc o mp a n y
Occurring between or relating two or more legal entities that are part the same organization that consolidates the
accounts of all legal entities.
i n v o i c e ma t c h i n g
A practice of matching vendor invoice prices and product quantities to purchase orders and product receipts.
i tem al l o c ati o n key
A product family grouping that is used for forecast and demand scheduling.
i t e m re l a t i o n
A reference to the item allocation group or the item and its product dimensions in a kanban rule.
K
kan b an
Defines the sequence of activities that are performed for kanbans that are created for a kanban rule.
kan b an j o b
The withdrawal of product components from inventory in order to complete the kanban production jobs.
k a n b a n ru l e
A rule in a lean manufacturing system that realizes material planning and replenishment policies by controlling
how process and transfer activities are coordinated in production flows.
L
l e a n ma n u f a c t u ri n g
A philosophy in which manufacturing operations promote lean production flows and business activities.
l e a n s c h e d u l e g ro u p
A way in which to aggregate items for production, for example, based on a setup group, shipping group, or
transport group.
l ed g er ac c o u n t
A classifier created from the combination of main account value and other financial dimension values listed in a
chart of accounts and used to classify the financial consequences of economic activity.
l i c en s e c o d e
An alphanumeric key that grants a party the right to use software or software components as prescribed in the
terms of the license agreement, and that activates and inactivates software modules, software capabilities, and
software functions.
l i q u i d i ty
M
ma s t e r s c h e d u l i n g
The process for generating a timetable for matching supply with demand.
mo d e l
A model contains code elements and reference metadata. It is created and inspected in Visual Studio.
mo d e l e l e me n t
A model is a group of elements (source files and metadata) that constitutes a distributable software solution. The
model is a design-time concept.
N
N B V (n et b o o k val u e)
The value of a fixed asset calculated as the difference between the original cost of the fixed asset minus its
accumulated depreciations.
O
o b j e c t p e rmi s s i o n
An organization that divides the control of economic resources and operational processes among people who have
a duty to maximize the use of scarce resources, to improve processes, and to account for their performance.
o u t p u t p ro d u c t
A method of customizing source code by providing new source code that overrides the default source code.
P
p ac kag e
Predicted demand for a product by a legal entity that assumes the role of a vendor. The planned demand is
generated from planned demand for the product from a downstream legal entity.
post
To record the monetary value of an economic event in a specific account, or to summarize and reclassify general
and subsidiary journal account entries into general and subsidiary ledger account entries.
p re p a re r
The person who creates a source document to initiate a request for economic resources.
p ro c u re me n t c a t a l o g
A listing of product offerings that are grouped by procurement category. A procurement catalog is used to request
products for internal use by an organization.
p ro d u c t d i me n s i o n
The size, color, or configuration product attributes that are used for dimension-based product configuration.
p ro d u c t f a mi l y
A unique grouping of items, services, or rights that either participates in the same production or delivery activities
or that are offered to the same market segments. The grouping is represented by using a forecast allocation key.
p ro d u c t ma s t e r
A standard or functional product representation that is the basis for configuring product variants.
p ro d u c t re c e i p t
A source document that documents the receipt of products ordered, the receipt of products returned, or the receipt
of products received on consignment.
p ro d u c t v a ri a n t
A representation of the production capacity provided by a group of work cells in a production flow process.
p ro d u c t i o n o rd e r
A source document that documents the requirements for producing items to meet a demand.
p ro d u c t i o n s c h e d u l e
A schedule to produce a specific item and item quantity at a specific time and by specific human and operational
resources.
p ro s p e c t
A participant that has the existing and potential ability to provide a service or probable future economic benefit to a
legal entity.
p u rc h a s e a g re e me n t p o l i c y
A policy that authorizes parties to modify purchase order terms and to control order processing.
p u rc h a s e q u o t a t i o n
A source document that documents an offer to purchase a quantity of product for a specified price and by a
specified date in response to a request for quotation in a procurement process.
p u rc h a s e re q u i s i t i o n
A source document that documents product requests so that they can be submitted for review and be used to
authorize purchasing by a purchasing organization.
Q
q u a n t i t y v a ri a n c e
The difference between an ordered product quantity and a received product quantity when no more receipts are
expected.
R
re c e i p t a d v i c e
A business document that documents a summary of the products a buyer receives from a vendor.
re c o n c i l i a t i o n
A practice of adjusting two or more accounts or statements so that the figures agree.
re d u c t i o n k e y
A method that is used to increase or decrease forecast requirements in master planning, based on user defined
percentages that are applied during specific periods.
re g i s t e r
A record that is used to record the operational, legal, and financial consequences of resource flow events in an
accounting system.
R F Q ( re q u e s t f o r q u o t a t i o n )
A source document that documents an invitation to bid on supplying a quantity of product for a specified price and
by a specified date.
re q u e s t e r
S
s a l e s a g re e me n t
A source document that documents an agreement between two or more parties based on an understanding that a
selling party will commit to selling a specific quantity or value of product over a period of time in exchange for
favorable prices and discounts.
s a l e s a g re e me n t p o l i c y
A policy that authorizes parties to modify sales order terms and to control order processing and payment
processes.
s al es q u o tati o n
A source document that documents an offer to supply a quantity of product for a specified price and by a specified
date in response to a request for quotation in a sales process.
s e c u ri t y ro l e
A defined set of application access privileges. The security role assigned to a user determines which tasks the user
can perform and which parts of the user interface the user can view. All users must be assigned at least one security
role in order to access the system.
s e g re g a t i o n o f d u t i e s
A design principle used to reduce the risk of fraud, irregularities, and errors that separates the recording,
verification, authorization, custody of assets, and periodic review duties of people who participate in, document, or
record the financial consequences of economic transactions.
s eq u en c i n g
The order in which jobs are processed or operations are performed at a manufacturing facility to achieve objectives.
s h a re d a s s e t
An asset that is used by more than one cash-generating unit (CGU). An example is a distribution center that is used
to store items before they are transported to different markets that share that same distribution center.
s i n g l e u s e kan b an
A type of kanban that is used with a fixed quantity kanban rule to meet exceptionally high demand. A single use
kanban does not trigger a new kanban when it is discarded.
s ma rt ro u n d i n g
A marketing practice to use odd numbers that are marginally less than their nearest round number to set prices.
s o u rc e re q u i re me n t
The product quantity documented on a source document line that creates a pegging requirement.
s t a t i s t i c a l b a s e l i n e f o re c a s t
An estimate of future demand that is created by applying a forecasting algorithm to historical transaction data.
T
t a k t t i me
A controlled, guided experience through the steps in a Task recording. A Task guide leads the user through the
experience that was recorded. All security, data, and application behaviors are the same when completing a Task
guide as they are without the Task guide. The Task guide uses the same instrumentation as Task recorder to know
when a user has completed the intended step, so that it can prompt the user to take the next step in the recording.
Ta s k re c o rd e r
A tool that is pre-installed in Finance and Operations apps. When recording, it records all events that the user
enters in the user interface that get executed against the server—including values added, settings changed, data
removed, etc.
Ta s k re c o rd i n g
A file that contains the actions and annotations that are captured when Task recorder is run.
t h re e -w a y ma t c h i n g p o l i c y
A matching policy that requires one or more vendor invoice prices to match with one or more purchase order
prices and that requires one or more vendor invoice quantities to match with one or more product receipt
quantities.
t ra n s f e r b a t c h
The quantity of one or more items that is transferred or that can be transferred.
t w o -w a y ma t c h i n g p o l i c y
A matching policy that requires one or more vendor invoice prices to match with one or more purchase order
prices.
V
v a l u e s t re a m
A method of modeling product masters and searching for product variant configurations.
V A T ( v a l u e -a d d e d t a x )
A tax on products at each stage of their production based on the value added during that stage.
ven d o r c atal o g
A listing of product offerings that are available for purchase from a vendor.
ven d o r i n vo i c e
A source document that documents a vendor payment request. A vendor invoice can refer to one or more purchase
orders. When the vendor invoice is authorized, a payment can be made to the vendor.
W
w o rk c e l l
A person who assumes the role of an employee or a contractor and is paid in exchange for services.
w o rk s p a c e
A page that provides an overview of one of the activities that the user performs. The page uses tiles, lists, and
charts to display pending work and related data from multiple sources, and the page surfaces frequent tasks
related to this data. Tiles shown in the summary section of the workspace are also displayed in the related section
in the dashboard.
Learning catalog for Finance and Operations
4/16/2020 • 2 minutes to read • Edit Online
Find the right online training, in person workshops, and events for your role as a user of Finance and Operations
applications.
Business and Technical Decision Makers
Do you decide whether to invest in new technologies?
Business and Technical Decision Makers Learning Catalog
Get started
Exam
Business users
Did you just get a new application to use?
Business Users Learning Catalog
Get Started
Core platform knowledge
Supply chain management
Manufacturing
Financial management
Exam
Implementation Project Managers
Are you in charge of making sure your company’s implementation goes smoothly?
Implementation Project Manager Learning Catalog
Get started
Core platform knowledge
Financial management
Manufacturing
Supply chain managment
Exams
Administrators
Do you need to keep systems and data flowing, provisioned, and secure round-the-clock?
Administrators Learning Catalog
Get started
Core platform knowledge
Migration and upgrade
Servicing
Testing
Exam
Developers
Do you need to write code to integrate with other data sources, extend core system functionality, or build a complex
application?
Developer Learning Catalog
Get started
Core development concepts
Servicing
Migration and upgrade
Testing
Functional consultants
Are you an implementation expert for a business domain?
Functional Application Consultant Learning Catalog
Get started
Core platform knowledge
Financial management
Manufacturing
Supply chain management
Exams
Partner Sales and Marketing
Are you responsible for helping your customers buy the right solution?
Microsoft Partner Sales and Marketing Learning Catalog
Get started
Exam
Solution architects
Do you design solutions that meet your customers' needs and budgets?
Solution Architects Learning Catalog
Get started
Core platform knowledge
Core development concepts
Migration and upgrade
Servicing
Testing
Business and Technical Decision Makers Learning
Catalog
4/16/2020 • 2 minutes to read • Edit Online
Get started
C O N T EN T DESC RIP T IO N F O RM AT L EN GT H
Learn the business value of Are you interested in Free, self-paced online 7 hours
Microsoft Dynamics 365 and learning about business learning path
the Power Platform applications? Perhaps you
don’t know where to begin
with Microsoft Dynamics
365 and Power Platform
applications? Learn how the
power of business
applications can help
transform your business.
Dynamics 365 and Power Are you interested in Free, self-paced online 5.5 hours
Platform Fundamentals learning about business learning path
applications? Start with this
learning path to see how
Dynamics 365 apps are
used. Learn about cloud
concepts, Power Platform,
and how to get started with
Dynamics 365 apps.
Get started with Finance and Learn how Finance and Free, self-paced online 2 hours
Operations apps Operations apps support learning path
businesses to manage their
global financial systems,
operational business
processes, and streamlined
supply chains to empower
people to make fast,
informed decisions. As the
first step in your career of
working with Finance and
Operations apps, you must
familiarize yourself with its
features and functionality,
whatever your desired role.
C O N T EN T DESC RIP T IO N F O RM AT L EN GT H
Get started with Asset Asset Management is a Free, self-paced online 1 hour
Management for Dynamics module for managing assets learning module
365 Supply Chain and maintenance jobs in
Management Dynamics 365 Supply Chain
Management. Asset
Management enables you to
efficiently manage and carry
out tasks related to
managing and servicing
many types of equipment in
your company, for example,
machines, production
equipment, and vehicles.
Asset Management
supports solutions across
numerous industries.
Exam
C O N T EN T DESC RIP T IO N F O RM AT L EN GT H
Dynamics 365 Fundamentals Prove that you understand Exam Cost varies by region
Microsoft Dynamics 365: the
Power Platform; cloud
concepts; licensing options;
and deployment and release
options.
Business Users Learning Catalog
4/16/2020 • 8 minutes to read • Edit Online
Get started
C O N T EN T DESC RIP T IO N F O RM AT L EN GT H
Learn the business value of Are you interested in Free, self-paced online 8 hours
Microsoft Dynamics 365 and learning about business learning path
the Power Platform applications? Perhaps you
don’t know where to begin
with Microsoft Dynamics
365 and Power Platform
applications? Learn how the
power of business
applications can help
transform your business.
Dynamics 365 and Power Are you interested in Free, self-paced online 5.5 hours
Platform Fundamentals learning about business learning path
applications? Start with this
learning path to see how
Dynamics 365 apps are
used. Learn about cloud
concepts, Power Platform,
and how to get started with
Dynamics 365 apps.
Get started with Finance and Learn how Finance and Free, self-paced online 2 hours
Operations apps Operations apps support learning path
businesses to manage their
global financial systems,
operational business
processes, and streamlined
supply chains to empower
people to make fast,
informed decisions. As the
first step in your career of
working with Finance and
Operations apps, you must
familiarize yourself with its
features and functionality,
whatever your desired role.
C O N T EN T DESC RIP T IO N F O RM AT L EN GT H
Configure and work with Business leaders can make Free, self-paced online 4 hours
analytics and reporting in important decisions in their learning path
Finance and Operations company if they have
apps accurate insight into the
underlying financial and
operational data. A business
user can also configure, and
use the electronic reporting
tool without a single line of
code, to adopt new
regulatory requirements and
generate business
documents in the required
format to electronically
exchange information with
government bodies, banks,
and other parties.
Configure and manage Product information is the Free, self-paced online 14 hours
products and inventory in pillar of supply chain and learning path
Dynamics 365 Supply Chain retail applications across all
Management industries. In the various
modules of a business
solution product-specific
information and
configuration are required to
manage the business
processes that are related to
products product families
bills of materials and product
categories. Inventory
reports show you in a
variety of ways how much
inventory you have and
explain how to be more
effective in your inventory
investments. Master
planning helps you
streamline your planning
based on predetermined
factors so you can efficiently
plan what materials need to
be purchased transferred or
manufactured.
Configure and manage The process of finding and Free, self-paced online 14 hours
procurement and vendors in working with vendors, learning path
Dynamics 365 Supply Chain purchasing products, and
Management ensuring the quality of
goods and services are all
important factors that
impact a company's
reputation and success.
Configure and manage sales, The process of working with Free, self-paced online 7 hours
and customers in Dynamics customers, understanding learning path
365 Supply Chain the life cycle of the sales
Management process, and setting up sales
agreements are all
important factors that
impact a company's success.
Configure and work with Warehouse management in Free, self-paced online 8.5 hours
warehouse management in Dynamics 365 Supply Chain learning path
Dynamics 365 for Finance Management helps optimize
and Operations and streamline warehouse
processes according to your
individual needs and
provides the insight into
your inventory and the tools
to help increase customer
satisfaction and reduce
costs.
C O N T EN T DESC RIP T IO N F O RM AT L EN GT H
Configure and work with The Transportation Free, self-paced online 3 hours
transportation management management module in learning path
in Dynamics 365 Supply Dynamics 365 Supply Chain
Chain Management Management helps you find
the most efficient way to
deliver goods to your
customers. Transportation
management calculates the
least expensive and fastest
way of delivering goods and
lets you identify vendor and
routing solutions for
inbound and outbound
orders.
Work with Asset Asset Management is an Free, self-paced online 12.5 hours
Management for Dynamics add-in to Dynamics 365 learning path
365 Supply Chain Supply Chain Management,
Management that is used to manage
assets that are used in the
daily operation of your
company. Some examples of
these types of assets are
machinery, production
equipment, and fork lifts.
Manufacturing
C O N T EN T DESC RIP T IO N F O RM AT L EN GT H
Configure and use discrete If a company only produces Free, self-paced online 16.5 hours
manufacturing in Dynamics simple products, production learning path
365 Supply Chain can be scheduled manually
Management with the correct bill of
materials (BOM) parts
arriving on the production
floor, at the correct time, and
at the proper resource. As a
functional consultant for
manufacturing, you need to
know how to configure
Dynamics 365 Supply Chain
Management for discrete
manufacturing, so your
customer can perform and
control the production
lifecycle.
C O N T EN T DESC RIP T IO N F O RM AT L EN GT H
Configure and use lean Lean manufacturing is a Free, self-paced online 12.5 hours
manufacturing in Dynamics journey of continuous learning path
365 Supply Chain improvement. The goal is to
Management produce exactly what the
customer wants, when the
customer wants it, and to do
it economically. You can use
lean manufacturing in a
unified (mixed-mode)
manufacturing environment
that combines various
supply, production, and
sourcing strategies. These
strategies include production
orders, batch orders for
process industries, purchase
orders, and transfer orders.
The lean manufacturing
architecture in Dynamics
365 Supply Chain
Management consists of
production flows, activities,
and Kanban rules.
Configure and use process Process manufacturing is Free, self-paced online 10.5 hours
manufacturing in Dynamics associated with formulas and learning path
365 Supply Chain manufacturing recipes, in
Management contrast with discrete
manufacturing, which uses
discrete units, and bills of
materials. Process
manufacturing is used in
manufacturing environments
where production is
completed in batch or semi-
continuous processes.
Financial management
C O N T EN T DESC RIP T IO N F O RM AT L EN GT H
C O N T EN T DESC RIP T IO N F O RM AT L EN GT H
Configure and use the Dynamics 365 Finance Free, self-paced online 13.5 hours
general ledger in Dynamics empowers business users to learning path
365 Finance control finances and manage
funds with accurate
information at any time for
financial planning and
forecasting, and stay up to
date with analytics. Since
finance is the heart of the
business, and the General
ledger module is the heart
of financial management,
this learning path shows you
how to set up functionality
in the General ledger
module. It also covers how
to complete closing
procedures for a period or a
year.
Configure and use cash and You can use the Cash and Free, self-paced online 7.5 hours
bank management, and bank management module learning path
sales tax in Dynamics 365 in Dynamics 365 Finance to
Finance maintain an organization's
bank accounts and the
financial instruments that
are associated with those
bank accounts. All
businesses must collect and
pay taxes to various tax
authorities. In this learning
path you will learn how to
configure and use these
areas of Dynamics 365
Finance.
Work with Accounts payable Accounts payable are a Free, self-paced online 5.5 hours
in Dynamics 365 Finance liability due to a creditor learning path
when you order goods or
services without paying in
cash up front, which means
that you buy goods on
credit. Learn how to
configure accounts payable
in Dynamics 365 Finance,
record vendor invoices, and
distribute expenses, tax, and
charges across accounts.
Work with Accounts Configure the Accounts Free, self-paced online 7 hours
receivable in Dynamics 365 receivable module in learning path
Finance Dynamics 365 Finance to
create customer invoices,
post packing slips, and use
free text invoices that are
not related to sales orders.
In this learning path, you will
also learn how to do daily
tasks in accounts receivable.
C O N T EN T DESC RIP T IO N F O RM AT L EN GT H
Configure and use Every organization, whether Free, self-paced online 3.5 hours
budgeting in Dynamics 365 it is private or public, sets learning path
Finance financial and operational
goals by creating budgets.
With the collaborative and
process-driven nature of
budget planning, you can
make your budget process
more efficient.
Configure and manage fixed You can set up and enter Free, self-paced online 4.5 hours
assets in Dynamics 365 acquisition information for learning path
Finance fixed assets, and then
manage them by
depreciating them and
setting a capitalization
threshold. The way in which
fixed assets are handled
must correspond with both
international accounting
standards and the
accounting legislation in
each country or region.
Get started with cost Cost accounting lets you Free, self-paced online 1 hour
accounting for supply chains collect data from various learning path
in Dynamics 365 Finance sources, such as the general
ledger, sub-ledgers, budgets,
and statistical information.
You can then analyze,
summarize, and evaluate
cost data so that
management can make the
best possible decisions for
price updates, budgets, cost
control, and so on.
Exam
C O N T EN T DESC RIP T IO N F O RM AT L EN GT H
Dynamics 365 Fundamentals Prove that you understand Exam cost varies by region
Microsoft Dynamics 365; the
Power Platform; cloud
concepts; licensing options;
and deployment and release
options.
Implementation Project Manager Learning Catalog
4/16/2020 • 21 minutes to read • Edit Online
Are you in charge of making sure your company’s implementation goes smoothly?
The following catalog is organized from core knowledge to specific domains, and from most basic to most
advanced. If content exists in multiple formats, we'll let you know, so that you can choose the training format that
best meets your needs.
Get started
C O N T EN T DESC RIP T IO N F O RM AT L EN GT H
Learn the business value of Are you interested in Free, self-paced online 7 hours
Microsoft Dynamics 365 and learning about business learning path
the Power Platform applications? Perhaps you
don’t know where to begin
with Microsoft Dynamics
365 and Power Platform
applications? Learn how the
power of business
applications can help
transform your business.
Dynamics 365 and Power Are you interested in Free, self-paced online 5.5 hours
Platform Fundamentals learning about business learning path
applications? Start with this
learning path to see how
Dynamics 365 apps are
used. Learn about cloud
concepts, Power Platform,
and how to get started with
Dynamics 365 apps.
Get started with Finance and Learn how Finance and Free, self-paced online 2 hours
Operations apps Operations apps support learning path
businesses to manage their
global financial systems,
operational business
processes, and streamlined
supply chains to empower
people to make fast,
informed decisions. As the
first step in your career of
working with Finance and
Operations apps, you must
familiarize yourself with its
features and functionality,
whatever your desired role.
Use Lifecycle Services to Lifecycle Services (LCS) is a Free, self-paced online 2 hours
design and plan an collaborative workspace that learning path
implementation of Finance customers and their
and Operations apps partners use to manage
Finance and Operations
apps projects from pre-sales
to the implementation phase
and finally to the production
environment. It provides
checklists and tools that help
you manage the project,
including pre-build
methodologies to help with
implementation and
regularly updated services.
Migrate data and go live As a functional consultant, Free, self-paced online 4 hours
with Finance and Operations you must understand how learning path
apps to prepare your customer's
data for migration, work
with data management, and
perform user acceptance
testing to go live with
Finance and Operations
apps.
C O N T EN T DESC RIP T IO N F O RM AT L EN GT H
Configure and work with Business leaders can make Free, self-paced online 4 hours
analytics and reporting in important decisions in their learning path
Finance and Operations company if they have
apps accurate insight into the
underlying financial and
operational data. A business
user can also configure, and
use the electronic reporting
tool without a single line of
code, to adopt new
regulatory requirements and
generate business
documents in the required
format to electronically
exchange information with
government bodies, banks,
and other parties.
Finance and Operations: FastTrack offers an Tech Talk (recorded webinar) 62 minutes
Onboarding to Dynamics Onboarding service to every
365 (DYN542PAL2) Dynamics 365 for Finance
and Operations project. In
this TechTalk, we will explain
the Onboarding process,
walk through the content of
the Onboarding session with
you, and unveil how we are
making Onboarding more
efficient and convenient in
the near future. This session
is especially relevant to
everybody who works with
customers in the early
stages of a project, between
closing the license deal and
initiation of the
implementation project.
On-Premises (Local Business Please join this tech talk for Tech Talk (recorded webinar) 48 minutes
Data) Deployment an overview of the on-
(DYN382PAL2) premise deployment option
for Dynamics 365 for
Finance and Operations,
Enterprise Edition. In this
session, we will look at the
solution architecture of an
on-premise deployment,
ALM aspects, system
requirements, and how to
provision the Life Cycle
Services project.
Go-live Planning We will discuss the go-live Tech Talk (recorded webinar) 60 minutes
(DYN458PAL2) process in detail, and how
best to prepare for it, in
order to make it as smooth
as possible for the customer,
partner and Microsoft.
C O N T EN T DESC RIP T IO N F O RM AT L EN GT H
Environment Planning Please join us for this tech Tech Talk (recorded webinar) 53 minutes
(DYN450PAL2) talk on Environment
Planning. Learn about the
standard environments,
what other environments
you might need, the options
and timing for acquiring and
deploying them, and the
expected code and data
flows between
environments.
Finance and Operations: Tech Talk on the Feature Tech Talk (recorded webinar) 47 minutes
Feature Management management experience. It
(DYN641PAL2) provides a workspace where
you can view, enable, disable,
and schedule features that
have been delivered in each
release. By default, new
features are turned off. You
can use the workspace to
turn them on and view the
documentation for them.
Attend this meeting to see
what is delivered in 10.0.3
and our plans for future
releases.
Finance And Operations: The Continuous Update Tech Talk (recorded webinar) 61 minutes
Microsoft Managed cadence for Finance and
Continuous Updates Operations has started!
(DYN610PAL) Please join us during this
hour to discuss Microsoft
Managed Continuous
updates, the user experience
already available in Lifecycle
Services, and forthcoming
updates.
Microsoft Managed During this hour we will Tech Talk (recorded webinar) 56 minutes
Continuous Updates: What's explain what is new since our
new (DYN543PAL2) initial announcements about
Microsoft Managed
Continuous updates. We will
discuss the cadence of
updates, how we have
responded to your valuable
feedback on the process,
and take a look at the
forthcoming Lifecycle
Services user experience,
through which you will be
able to manage your
updates.
C O N T EN T DESC RIP T IO N F O RM AT L EN GT H
Finance And Operations: During this hour we will Tech Talk (recorded webinar) 59 minutes
Microsoft Managed discuss updates to the
Continuous Updates: What's Microsoft Managed
new - November 1, 2018 Continuous update cadence
(DYN533cust) as well as take a look at the
user experience in Lifecycle
Services.
Monitoring, Optimization We will discuss monitoring Tech Talk (recorded webinar) 40 minutes
Advisor & Critical KBs capabilities and what
(DYN456PAL2) Microsoft monitors for you
in your production
environment, the
optimization advisor and
how it can be extended, the
“Critical X++ updates”
experience in LCS, and best
practices for the “Report
production outage” option
in LCS.
Visual Studio Team Services This Tech Talk will walk thru Tech Talk (recorded webinar) 41 minutes
(VSTS) Setup (VIR782PAL) the necessary steps to
configure a VSTS instance
and project to connect to
LCS implementation project
for Dev/Test environment
configuration.
Copy Into Legal Entity In this session, we will Tech Talk (recorded webinar) 54 minutes
(DYN383PAL) discuss a new feature in the
data management
framework, Copy into legal
entity. We will first briefly
review the new features
added to the data
management framework in
platform 8 for the
workspace, templates, and
data projects and then
discuss the additional
functionality added for Copy
into legal entity.
C O N T EN T DESC RIP T IO N F O RM AT L EN GT H
Regression Suite Automation We will discuss the Tech Talk (recorded webinar) 61 minutes
Tool (DYN480PAL) Regression Suite Automation
Tool. It significantly reduces
the time and cost of user
acceptance testing, when
taking a Microsoft update,
or before applying custom
code and configurations to
your Dynamics 365 for
Finance and Operations
production environment. It
enables functional power
users to record business
tasks, using the Finance and
Operations task recorder,
and convert them into a
suite of automated tests,
without the need to write
source code.
Finance and Operations: This is the first of a two-part Tech Talk (recorded webinar) 70 minutes
Regression Suite Automation series on Regression Suite
Tool -- Background & Setup Automation Testing (RSAT).
(DYN646PAL) In this session, we will cover
how to keep pace with
continuous updates using
automated testing via RSAT.
Learnings and
recommendations on
creating task recordings and
executing tests using RSAT
will be covered, along with a
step-by-step walkthrough of
the installation and setup.
Finance and Operations: This is the second of a two- Tech Talk (recorded webinar) 70 minutes
Regression Suite Automation part series on Regression
Tool -- Testing Lifecycle Suite Automation Testing
Demo (DYN647PAL) (RSAT). This session will cover
a demo of the whole cycle of
creating and saving task
recordings from Finance and
Operations to the BPM
library in LCS, synchronizing
the BPM library to create
test cases in Azure DevOps,
grouping the test cases into
test suites, and loading and
executing the test suites in
RSAT.
C O N T EN T DESC RIP T IO N F O RM AT L EN GT H
Performance Testing Please join us for this tech Tech Talk (recorded webinar) 45 minutes
Approach (DYN449PAL2) talk on how to approach
Performance Testing. Learn
about the fundamentals,
best practices for testing,
available tools and
techniques for executing
tests and measuring
performance, and how to
use the results for
optimization.
How to upgrade to 7.2 (July In this session we will explain Tech Talk (recorded webinar) 58 minutes
2017) from 7.0 (RTW)/7.1 how to upgrade from
(Release 1611) Dynamics 365 Finance and
(DYN338PAL2) Operations application v7.0
(RTW) and v7.1 (1611) to
v7.2 (July 2017). We make a
clear differentiation between
Live customers and ongoing
projects (not live yet).
Finance and Operations: Please join us for our next Tech Talk (recorded webinar) 61 minutes
Upgrading from 7.x to 8+ TechTalk, during which we
(DYN519PAL2) will cover the 7.X to 8.X
upgrade process. We will
discuss various scenarios
and steps to execute for
code upgrade and data
upgrade. We will also cover
extensibility request
scenarios and how to raise
them where appropriate.
Part 1 of 2.
AX2012 to Dynamics 365 This Tech Talk will provide an Tech Talk (recorded webinar) 45 minutes
for Operations Upgrade overview on how to upgrade
(VIR817PAL2) code and data from
Dynamics AX 2012 to
Dynamics 365 for
Operations.
Reporting Options in This session will discuss Tech Talk (recorded webinar) 60 minutes
Dynamics 365 for various printing scenarios in
Operations (VIR810PAL) D365 for Operations,
including tips and tricks for
Document Routing Agent.
Course MB-300T01-A: Core This course discusses core Instructor-led in person or 1 day
common features of common features of online training, cost varies
Dynamics 365 for Finance Microsoft Dynamics 365 for by region and partner
and Operations Finance and Operations.
Course MB-300T02-A: Core This course discusses core Instructor-led in person or 1 day
configuration in Dynamics configuration tasks for online training, cost varies
365 for Finance and Microsoft Dynamics 365 for by region and partner
Operations Finance and Operations.
C O N T EN T DESC RIP T IO N F O RM AT L EN GT H
Course MB-300T03-A: Data This course discusses data Instructor-led in person or 1 day
migration and preparing for migration and go-live online training, cost varies
go-live with Dynamics 365 preparation for Microsoft by region and partner
for Finance and Operations Dynamics 365 for Finance
and Operations.
Financial management
C O N T EN T DESC RIP T IO N F O RM AT L EN GT H
Configure and use the Dynamics 365 Free, self-paced online 11 hours
general ledger in Finance empowers learning path
Dynamics 365 business users to
FinanceOperations control finances and
manage funds with
accurate information
at any time for
financial planning and
forecasting, and stay
up-to-date with
analytics. Since
finance is the heart of
the business, and the
General ledger
module is the heart of
financial
management, this
learning path shows
you how to set up
functionality in the
General ledger
module
C O N T EN T DESC RIP T IO N F O RM AT L EN GT H
Configure and use You can use the Cash Free, self-paced online 7.5 hours
cash and bank and bank learning path
management, and management module
sales tax in Dynamics in Dynamics 365
365 Finance Finance to maintain
an organization's bank
accounts and the
financial instruments
that are associated
with those bank
accounts. All
businesses must
collect and pay taxes
to various tax
authorities. In this
learning path you will
learn how to
configure and use
these areas of
Dynamics 365
Finance.
Work with Accounts Accounts payable are Free, self-paced online 6 hours
payable in Dynamics a liability due to a learning path
365 Finance creditor when you
order goods or
services without
paying in cash up
front, which means
that you buy goods
on credit. Learn how
to configure accounts
payable in Dynamics
365 Finance, record
vendor invoices, and
distribute expenses,
tax, and charges
across accounts.
Configure and use Every organization, Free, self-paced online 3.5 hours
budgeting in whether it is private learning path
Dynamics 365 or public, sets
Finance financial and
operational goals by
creating budgets.
With the collaborative
and process-driven
nature of budget
planning, you can
make your budget
process more efficient.
Configure and You can set up and Free, self-paced online 4.5 hours
manage fixed assets enter acquisition learning path
in Dynamics 365 information for fixed
Finance assets, and then
manage them by
depreciating them
and setting a
capitalization
threshold. The way in
which fixed assets are
handled must
correspond with both
international
accounting standards
and the accounting
legislation in each
country or region.
Configure and Cost accounting lets Free, self-paced online 4.5 hours
manage fixed assets you collect data from learning path
in Dynamics 365 various sources, such
Finance as the general ledger,
sub-ledgers, budgets,
and statistical
information. You can
then analyze,
summarize, and
evaluate cost data so
that management can
make the best
possible decisions for
price updates,
budgets, cost control,
and so on.
C O N T EN T DESC RIP T IO N F O RM AT L EN GT H
Get started with cost Cost accounting lets Free, self-paced online 1 hour
accounting for supply you collect data from learning path
chains in Dynamics various sources, such
365 Finance as the general ledger,
sub-ledgers, budgets,
and statistical
information. You can
then analyze,
summarize, and
evaluate cost data so
that management can
make the best
possible decisions for
price updates,
budgets, cost control,
and so on.
Manufacturing
C O N T EN T DESC RIP T IO N F O RM AT L EN GT H
Get started with production The life cycle of product Free, self-paced online 2 hours
control in Dynamics 365 production begins with the module
Supply Chain Management creation of the production
order, batch order, or
kanban. It ends with a
finished, manufactured item
that is ready for either a
customer or another phase
of production. Each step in
the life cycle requires
different kinds of
information to complete the
process. As each step is
completed, the production
order, batch order, or
kanban shows a change in
the production status.
Different types of products
require different
manufacturing processes.
C O N T EN T DESC RIP T IO N F O RM AT L EN GT H
Configure and use discrete If a company only produces Free, self-paced online 9 hours
manufacturing in Dynamics simple products, production learning path
365 Supply Chain can be scheduled manually
Management with the correct bill of
materials (BOM) parts
arriving on the production
floor, at the correct time, and
at the proper resource. As a
functional consultant for
manufacturing, you need to
know how to configure
Dynamics 365 for Finance
and Operations for discrete
manufacturing, so your
customer can perform and
control the production
lifecycle.
Configure and use process Lean manufacturing is a Free, self-paced online 6.5 hours
manufacturing in Dynamics journey of continuous learning path
365 Supply Chain improvement. The goal is to
Management produce exactly what the
customer wants, when the
customer wants it, and to do
it economically. You can use
lean manufacturing in a
unified (mixed-mode)
manufacturing environment
that combines various
supply, production, and
sourcing strategies. These
strategies include production
orders, batch orders for
process industries, purchase
orders, and transfer orders.
The lean manufacturing
architecture in Dynamics
365 for Finance and
Operations consists of
production flows, activities,
and Kanban rules.
Configure and use process Process manufacturing is Free, self-paced online 6 hours
manufacturing in Dynamics associated with formulas and learning path
365 Supply Chain manufacturing recipes, in
Management contrast with discrete
manufacturing, which uses
discrete units, and bills of
materials. Process
manufacturing is used in
manufacturing environments
where production is
completed in batch or semi-
continuous processes.
C O N T EN T DESC RIP T IO N F O RM AT L EN GT H
Configure and manage Product information is the Free, self-paced online 6 hours
products and inventory in pillar of supply chain and learning path
Dynamics 365 Supply Chain retail applications across all
Management industries. In the various
modules of a business
solution, product-specific
information and
configuration are required to
manage the business
processes that are related to
products, product families,
bill of materials, and product
categories. Inventory
reports will show how much
inventory you have in
variety of different ways, and
will explain how to be more
effective in your inventory
investments.
Configure and manage The process of finding and Free, self-paced online 6 hours
procurement and vendors in working with vendors, learning path
Dynamics 365 Supply Chain purchasing products, and
Management ensuring the quality of
goods and services are all
important factors that
impact a company's
reputation and success.
Configure and work with Warehouse management in Free, self-paced online 5 hours
warehouse management in Dynamics 365 for Finance learning path
Dynamics 365 for Finance and Operations helps
and Operations optimize and streamline
warehouse processes
according to your individual
needs and provides the
insight into your inventory
and the tools to help
increase customer
satisfaction and reduce
costs.
Configure and work with The Transportation Free, self-paced online 3 hours
transportation management management module in learning path
in Dynamics 365 Supply Dynamics 365 Supply Chain
Chain Management Management helps you find
the most efficient way to
deliver goods to your
customers. Transportation
management calculates the
least expensive and fastest
way of delivering goods and
lets you identify vendor and
routing solutions for
inbound and outbound
orders.
C O N T EN T DESC RIP T IO N F O RM AT L EN GT H
Warehousing Mobile App This Tech Talk will discuss the Free recording of a web 54 minutes
(VIR816PAL) Advanced Warehousing conference
system in Dynamics 365 for
Operations and what the
future holds for the
advanced warehousing
mobile interface. We will
examine the new mobile
application that has been
released and how it
compares to the legacy
WMDP. We will learn what is
required to install, configure,
and operate this mobile
application and how it can
be used to benefit your
implementations.
Vendor Collaboration This Tech Talk will provide a Free recording of a web 58 minutes
(DYN327PAL) walk through on the Vendor conference
Collaboration feature
including the Consumption
of Response from Vendor
feature that is included in
the July (spring) release.
Item And Warehouse In this Tech Talk, we will Free, self-paced online 54 minutes
Migration Process To Use teach you how to migrate learning path
Advanced Warehouse existing warehouse setup
Management (DYN316PAL) and items with open
transactions to the advance
warehouse management, by
using the new capabilities to
change the storage
dimension group for items
and enable warehouses to
use the advanced warehouse
management processes.
Demand Replenishment for This TechTalk will cover raw Free recording of a web 38 minutes
Raw Material Picking material picking and demand conference
(DYN333PAL2) replenishment for raw
material picking.
Course MB-330T02-A: Use This course discusses how to Instructor-led in person or 1 day
quality management, use quality management, online training, cost varies
Intercompany trading and intercompany trading and by region and partner
master planning in Dynamics master planning in Dynamics
365 for Finance and 365 for Finance and
Operations Operations.
Exams
C O N T EN T DESC RIP T IO N F O RM AT L EN GT H
Exam MB-300: Microsoft This exam measures your Exam, cost varies by region
Dynamics 365 Unified ability to accomplish the
Operations Core following technical tasks: use
common functionality and
implementation tools;
configure security, processes,
and options; perform data
migration; and validate and
support the solution.
Exam MB-310: Microsoft This exam measures your Exam, cost varies by region
Dynamics 365 for Finance ability to accomplish the
and Operations, Financials following technical tasks: set
up and configure financial
management; manage and
apply common processes;
implement and manage
accounts payable and
receivable; and manage
budgeting and fixed assets.
C O N T EN T DESC RIP T IO N F O RM AT L EN GT H
Exam MB-320: Microsoft This exam measures your Exam, cost varies by region
Dynamics 365 for Finance ability to accomplish the
and Operations, following technical tasks: set
Manufacturing up and configure
manufacturing; create and
manage production and lean
orders; and create, process,
and manage production
batch orders.
Exam MB-330: Microsoft This exam measures your Exam, cost varies by region
Dynamics 365 for Finance ability to accomplish the
and Operations, Supply following technical tasks:
Chain Management implement product
information management;
implement inventory
management; implement
and manage supply chain
processes; and implement
warehouse management
and transportation
management and perform
business processes.
Administrators Learning Catalog
4/16/2020 • 7 minutes to read • Edit Online
Do you need to keep systems and data flowing, provisioned, and secure round-the-clock?
The following catalog is organized from core knowledge to specific domains, and from most basic to most
advanced. If content exists in multiple formats, we'll let you know, so that you can choose the training format that
best meets your needs.
Get Started
C O N T EN T DESC RIP T IO N L EN GT H
Dynamics 365 and Power Platform Are you interested in learning about 5.5 hours
Fundamentals business applications? Start with this
learning path to see how Dynamics 365
apps are used. Learn about cloud
concepts, Power Platform, and how to
get started with Dynamics 365 apps.
Get started with Finance and Learn how Finance and Operations 2 hours
Operations apps apps support businesses to manage
their global financial systems,
operational business processes, and
streamlined supply chains to empower
people to make fast, informed decisions.
As the first step in your career of
working with Finance and Operations
apps, you must familiarize yourself with
its features and functionality, whatever
your desired role.
Course MB-900T01-A: Dynamics 365 This course will familiarize the learner 1 day
fundamentals with Dynamics 365 functionality and
business value. The course will cover
Dynamics 365 applications, the Power
Platform, cloud concepts, the security
model, and licensing considerations.
Use Lifecycle Services to Lifecycle Services (LCS) is a Free, self-paced online 2 hours
design and plan an collaborative workspace that learning path
implementation of Finance customers and their
and Operations apps partners use to manage
Finance and Operations
apps projects from pre-sales
to the implementation phase
and finally to the production
environment. It provides
checklists and tools that help
you manage the project,
including pre-build
methodologies to help with
implementation and
regularly updated services.
Migrate data and go live As a functional consultant, Free, self-paced online 4 hours
with Finance and Operations you must understand how learning path
apps to prepare your customer's
data for migration, work
with data management, and
perform user acceptance
testing to go live with
Finance and Operations
apps.
Work with analytics and Business leaders can make Free, self-paced online 1.5 hours
reporting in Finance and important decisions in their learning path
Operation company if they have
accurate insight into the
underlying financial and
operational data. Without
data visibility, business
leaders are challenged with a
nearly impossible task. By
using analytics and
reporting in Finance and
Operations apps, you can
empower every business
user, depending on their
security rights, to get the
insights they need to make
those important decisions.
C O N T EN T DESC RIP T IO N F O RM AT L EN GT H
On-Premises (Local Business Please join this tech talk for Free recording of a web 48 minutes
Data) Deployment an overview of the on- conference
(DYN382PAL2) premise deployment option
for Dynamics 365 for
Finance and Operations,
Enterprise Edition. In this
session, we will look at the
solution architecture of an
on-premise deployment,
ALM aspects, system
requirements, and how to
provision the Life Cycle
Services project.
Copy Into Legal Entity In this session, we will Free recording of a web 54 minutes
(DYN383PAL) discuss a new feature in the conference
data management
framework, Copy into legal
entity. We will first briefly
review the new features
added to the data
management framework in
platform 8 for the
workspace, templates, and
data projects and then
discuss the additional
functionality added for Copy
into legal entity.
C O N T EN T DESC RIP T IO N F O RM AT L EN GT H
Data Management Join us for this TechTalk on Free recording of a web 58 minutes
(DYN757PAL2) Data Management. Learn conference
about the options available
and the scenarios for which
they are recommended. We
will cover the Data
Management framework,
templates, database copying,
cross-company data sharing,
and performance
considerations.
Finance and Operations: Please join us for our next Free recording of a web 61 minutes
Upgrading from 7.x to 8+ TechTalk, during which we conference
(DYN519PAL2) will cover the 7.X to 8.X
upgrade process. We will
discuss various scenarios
and steps to execute for
code upgrade and data
upgrade. We will also cover
extensibility request
scenarios and how to raise
them where appropriate.
How to upgrade to 7.2 (July In this session we will explain Free recording of a web 58 minutes
2017) from 7.0 (RTW)/7.1 how to upgrade from conference
(Release 1611) Dynamics 365 Finance and
(DYN338PAL2) Operations application v7.0
(RTW) and v7.1 (1611) to
v7.2 (July 2017). We make a
clear differentiation between
Live customers and ongoing
projects (not live yet).
AX2012 to Dynamics 365 This Tech Talk will provide an Free recording of a web 45 minutes
for Operations Upgrade overview on how to upgrade conference
(VIR817PAL2) code and data from
Dynamics AX 2012 to
Dynamics 365 for
Operations.
AX2009 to Dynamics 365 This session will cover Free recording of a web 55 minutes
for Operations Migration tooling available to assist conference
Tools (VIR809PAL) you with migrating from
AX2009 to D365 for
Operations.
Servicing
C O N T EN T DESC RIP T IO N F O RM AT L EN GT H
Finance and Operations: Tech Talk on the Feature Free recording of a web 47 minutes
Feature Management management experience. It conference
(DYN641PAL2) provides a workspace where
you can view, enable, disable,
and schedule features that
have been delivered in each
release. By default, new
features are turned off. You
can use the workspace to
turn them on and view the
documentation for them.
Attend this meeting to see
what is delivered in 10.0.3
and our plans for future
releases.
Finance and Operations: Tech Talk on how to Free recording of a web 53 minutes
Servicing, Supporting and efficiently support, maintain conference
Maintaining Production and service your Dynamics
(DYN651PAL2) 365 for Finance and
Operations production
environment.
Finance And Operations: The Continuous Update Free recording of a web 61 minutes
Microsoft Managed cadence for Finance and conference
Continuous Updates Operations has started!
(DYN610PAL) Please join us during this
hour to discuss Microsoft
Managed Continuous
updates, the user experience
already available in Lifecycle
Services, and forthcoming
updates.
Microsoft Managed During this hour we will Free recording of a web 56 minutes
Continuous Updates: What's explain what is new since our conference
new (DYN543PAL2) initial announcements about
Microsoft Managed
Continuous updates. We will
discuss the cadence of
updates, how we have
responded to your valuable
feedback on the process,
and take a look at the
forthcoming Lifecycle
Services user experience,
through which you will be
able to manage your
updates.
Testing
C O N T EN T DESC RIP T IO N F O RM AT L EN GT H
C O N T EN T DESC RIP T IO N F O RM AT L EN GT H
Finance and Operations: This is the first of a two-part Free recording of a web 70 minutes
Regression Suite Automation series on Regression Suite conference
Tool -- Background & Setup Automation Testing (RSAT).
(DYN646PAL) In this session, we will cover
how to keep pace with
continuous updates using
automated testing via RSAT.
Learnings and
recommendations on
creating task recordings and
executing tests using RSAT
will be covered, along with a
step-by-step walkthrough of
the installation and setup.
Finance and Operations: This is the second of a two- Free recording of a web 70 minutes
Regression Suite Automation part series on Regression conference
Tool -- Testing Lifecycle Suite Automation Testing
Demo (DYN647PAL) (RSAT). This session will cover
a demo of the whole cycle of
creating and saving task
recordings from Finance and
Operations to the BPM
library in LCS, synchronizing
the BPM library to create
test cases in Azure DevOps,
grouping the test cases into
test suites, and loading and
executing the test suites in
RSAT.
Finance and Operations: In this Tech Talk, we will Free recording of a web 64 minutes
Performance present the different tools conference
Troubleshooting Tools for that can be used to
Dynamics 365 troubleshoot Microsoft
(DYN541PAL2) Dynamics 365 for Finance
and Operations performance
issues. This session will
contain some scenario-
based demonstrations and
initial guidance on how to
approach typical
performance issues.
Exam
C O N T EN T DESC RIP T IO N F O RM AT L EN GT H
Dynamics 365 Fundamentals Prove that you understand Exam, cost varies by region
Microsoft Dynamics 365; the
Power Platform; cloud
concepts; licensing options;
and deployment and release
options.
Developer Learning Catalog
4/16/2020 • 10 minutes to read • Edit Online
Do you need to write code to integrate with other data sources, extend core system functionality, or build a
complex application?
The following catalog is organized from core knowledge to specific domains, and from most basic to most
advanced. If content exists in multiple formats, we'll let you know, so that you can choose the training format that
best meets your needs.
Get started
C O N T EN T DESC RIP T IO N F O RM AT L EN GT H
Get started with Finance and Learn how Microsoft Free self-paced online 2.2 hours
Operations apps Dynamics 365 for Finance learning path
and Operations supports
businesses to manage their
global financial systems,
operational business
processes, and streamlined
supply chains to empower
people to make fast
informed decisions. As the
first step in your career of
working with Finance and
Operations you must
familiarize yourself with its
features and functionality
regardless of your desired
role.
Introduction to developing As a developer working with Free, self-paced online 7.75 hours
with Finance and Operations Dynamics 365 for Finance learning path
apps and Operations, it’s
important to have a firm
grasp of the main
architecture components of
the Dynamics 365
ecosystem and Finance and
Operations. Knowledge of
core developer concepts,
including technical
capabilities, source code,
testing frameworks, and
reporting tools, will support
your further efforts in
building development skills
that you can apply to
Finance and Operations.
C O N T EN T DESC RIP T IO N F O RM AT L EN GT H
Build Finance and Developing in Finance and Free, self-paced online 13 hours
Operations apps Operations apps requires a learning path
basic understanding of the
tasks required to build new
elements and customize
Finance and Operations
apps. The tasks include
understanding X++ code
and Visual Studio, as well as
being able to create and
modify the basic elements of
the system.
Extend Finance and Extensions allow developers Free, self-paced online 2.5 hours
Operations apps to make changes to the user learning path
experience in Dynamics 365
for Finance and Operations
by implementing
modifications to the code
that do not affect the base
code. Among other benefits,
this lets developers to
update Finance and
Operations to adhere to
business processes and
required changes.
Connect to Finance and Integration and the ability to Free, self-paced online 5.75 hours
Operations apps access your data in learning path
Dynamics 365 for Finance
and Operations are
important capabilities.
Developers who have
learned to build and extend
code in Finance and
Operations can enhance
their knowledge of
development by learning
about data integration and
how connecting to data can
have positive impacts on
users.
Migrate data and go live As a functional consultant, Free, self-paced online 4 hours
with Finance and Operations you must understand how learning path
apps to prepare your customer's
data for migration, work
with data management, and
perform user acceptance
testing to go live with
Finance and Operations
apps.
C O N T EN T DESC RIP T IO N F O RM AT L EN GT H
Finance And Operations: This TechTalk discusses Free recording of a web 52 minutes
Development ALM Development Application conference
(DYN766PAL) Lifecycle Management
concepts, tools and the best
practices we recommend.
We cover how Lifecycle
Services, Visual Studio, and
Azure DevOps work
together to enable business-
process focused continuous
delivery of your solution’s
code base, and servicing of
your environments.
Finance and Operations: Understand the simplicity of Free recording of a web 43 minutes
Extending Dynamics 365 for Microsoft Power Apps and conference
Finance and Operations with how it can integrate with
Power Apps (DYN558PAL2) Dynamics 365 for Finance
and Operations to digitally
transform businesses and
increase user productivity.
Finance and Operations: We will provide an overview Free recording of a web 50 minutes
Extensibility (DYN518PAL2) and update on Microsoft's conference
extensibility plans. We will
discuss in detail the various
ways of extending a solution,
looking deep into the
metadata extensibility
features as well as the ability
to augment and extend
code, including via the
powerful Chain of Command
feature.
Visual Studio Team Services This Tech Talk will walk Free recording of a web 41 minutes
(VSTS) Setup (VIR782PAL) through the necessary steps conference
to configure a VSTS instance
and project to connect to
LCS implementation project
for Dev/Test environment
configuration.
Integration (VIR806PAL) This Tech Talk will discuss Free recording of a web 58 minutes
different integration options conference
for Dynamics 365 for
Operations including code
samples and
demonstrations.
C O N T EN T DESC RIP T IO N F O RM AT L EN GT H
CDS Data Integrator Please join us for this tech Free recording of a web 61 minutes
(DYN451PAL2) talk on the capabilities of the conference
Common Data Service (CDS)
Data Integrator. We will
discuss integration options
between other Dynamics
365 apps and Dynamics 365
Finance and Operations, as
well as integrating with
other, third-party solutions.
Integration Between In this Tech talk we will Free recording of a web 54 minutes
Dynamics 365 for Sales and introduce the integration conference
Dynamics 365 for Finance & scenario known as Prospect
Operations via CDS to cash, with sales and
(DYN340PAL) marketing activities in
Dynamics 365 for Sales and
fulfillment in Dynamics 365
for Finance and Operations.
We will also take a look at
the Data integrator and how
to modify the integration.
Data Management Join us for this TechTalk on Free recording of a web 58 minutes
(DYN757PAL2) Data Management. Learn conference
about the options available
and the scenarios for which
they are recommended. We
will cover the Data
Management framework,
templates, database copying,
cross-company data sharing,
and performance
considerations.
Azure Integration Tools for This TechTalk will cover the Free recording of a web 63 minutes
Dynamics 365 for Finance types of tools one might conference
and Operations consider while integrating
(DYN386PAL) with Dynamics 365 for
Finance & Operations and
when to choose which
integration tool. The session
will also walk-through some
of integration scenarios
orchestrated using Azure
integration services.
Integration Frameworks This session will provide an Free recording of a web 64 minutes
within Dynamics 365 for overview of the integration conference
Finance & Operations frameworks within Dynamics
(DYN385PAL) 365 for Finance &
Operations and discuss the
consideration under which
these frameworks could be
used.
C O N T EN T DESC RIP T IO N F O RM AT L EN GT H
Copy Into Legal Entity In this session, we will Free recording of a web 54 minutes
(DYN383PAL) discuss a new feature in the conference
data management
framework, Copy into legal
entity. We will first briefly
review the new features
added to the data
management framework in
platform 8 for the
workspace, templates, and
data projects and then
discuss the additional
functionality added for Copy
into legal entity.
How To Extend or Build New This Tech Talk will provide a Free recording of a web 59 minutes
Analytical Workspaces walk through on how to conference
(DYN321PAL) extend or build new
Analytical Workspaces.
Mobile Framework This tech talk will walk Free recording of a web 58 minutes
(VIR824PAL) through the mobile conference
framework capabilities for
building apps in Dynamics
365 for Operations. The
session will also demonstrate
some recently built apps.
Servicing
C O N T EN T DESC RIP T IO N F O RM AT L EN GT H
Finance and Operations: Tech Talk on how to Free recording of a web 53 minutes
Servicing, Supporting and efficiently support, maintain conference
Maintaining Production and service your Dynamics
(DYN651PAL2) 365 for Finance and
Operations production
environment.
Finance and Operations: Tech Talk on the Feature Free recording of a web 47 minutes
Feature Management management experience. It conference
(DYN641PAL2) provides a workspace where
you can view, enable, disable,
and schedule features that
have been delivered in each
release. By default, new
features are turned off. You
can use the workspace to
turn them on and view the
documentation for them.
Attend this meeting to see
what is delivered in 10.0.3
and our plans for future
releases.
C O N T EN T DESC RIP T IO N F O RM AT L EN GT H
Finance And Operations: The Continuous Update Free recording of a web 61 minutes
Microsoft Managed cadence for Finance and conference
Continuous Updates Operations has started!
(DYN610PAL) Please join us during this
hour to discuss Microsoft
Managed Continuous
updates, the user experience
already available in Lifecycle
Services, and forthcoming
updates.
Finance And Operations: During this hour we will Free recording of a web 59 minutes
Microsoft Managed discuss updates to the conference
Continuous Updates: What's Microsoft Managed
new - November 1, 2018 Continuous update cadence
(DYN533cust) as well as take a look at the
user experience in Lifecycle
Services.
Microsoft Managed During this hour we will Free recording of a web 56 minutes
Continuous Updates: What's explain what is new since our conference
new (DYN543PAL2) initial announcements about
Microsoft Managed
Continuous updates. We will
discuss the cadence of
updates, how we have
responded to your valuable
feedback on the process,
and take a look at the
forthcoming Lifecycle
Services user experience,
through which you will be
able to manage your
updates.
Finance and Operations: Please join us for our next Free recording of a web 61 minutes
Upgrading from 7.x to 8+ TechTalk, during which we conference
(DYN519PAL2) will cover the 7.X to 8.X
upgrade process. We will
discuss various scenarios
and steps to execute for
code upgrade and data
upgrade. We will also cover
extensibility request
scenarios and how to raise
them where appropriate.
Part 1 of 2.
AX2012 to Dynamics 365 This Tech Talk will provide an Free recording of a web 45 minutes
for Operations Upgrade overview on how to upgrade conference
(VIR817PAL2) code and data from
Dynamics AX 2012 to
Dynamics 365 for
Operations.
C O N T EN T DESC RIP T IO N F O RM AT L EN GT H
AX2009 to Dynamics 365 This session will cover Free recording of a web 55 minutes
for Operations Migration tooling available to assist conference
Tools (VIR809PAL) you with migrating from
AX2009 to D365 for
Operations.
Testing
C O N T EN T DESC RIP T IO N F O RM AT L EN GT H
Finance and Operations: Tech Talk on how to Free recording of a web 61 minutes
Acceptance Test Library efficiently support, maintain conference
(DYN650PAL2) and service your Dynamics
365 for Finance and
Operations production
environment.
Finance and Operations: This is the first of a two-part Free recording of a web 70 minutes
Regression Suite Automation series on Regression Suite conference
Tool -- Background & Setup Automation Testing (RSAT).
(DYN646PAL) In this session, we will cover
how to keep pace with
continuous updates using
automated testing via RSAT.
Learnings and
recommendations on
creating task recordings and
executing tests using RSAT
will be covered, along with a
step-by-step walkthrough of
the installation and setup.
Finance and Operations: This is the second of a two- Free recording of a web 70 minutes
Regression Suite Automation part series on Regression conference
Tool -- Testing Lifecycle Suite Automation Testing
Demo (DYN647PAL) (RSAT). This session will cover
a demo of the whole cycle of
creating and saving task
recordings from Finance and
Operations to the BPM
library in LCS, synchronizing
the BPM library to create
test cases in Azure DevOps,
grouping the test cases into
test suites, and loading and
executing the test suites in
RSAT.
Finance and Operations: In this Tech Talk, we will Free recording of a web 68 minutes
Performance Benchmark for describe an approach for conference
Dynamics 365 preparing and delivering a
(DYN550PAL2) performance benchmark on
Microsoft Dynamics 365 for
Finance and Operations. We
will present the process,
main concepts and tools
before illustrating a simple
case with a demonstration.
C O N T EN T DESC RIP T IO N F O RM AT L EN GT H
Finance and Operations: In this Tech Talk, we will Free recording of a web 58 minutes
Performance Key Patterns present efficient conference
and Anti-patterns for performance patterns that
Dynamics 365 (DYN549PAL) we have seen project teams
implement successfully. We
will also describe anti-
patterns that can lead to
serious performance
degradation of the Microsoft
Dynamics 365 for Finance
and Operations
environment.
Finance and Operations: In this Tech Talk, we will Free recording of a web 64 minutes
Performance present the different tools conference
Troubleshooting Tools for that can be used to
Dynamics 365 troubleshoot Microsoft
(DYN541PAL2) Dynamics 365 for Finance
and Operations performance
issues. This session will
contain some scenario-
based demonstrations and
initial guidance on how to
approach typical
performance issues.
Task Automation Framework Please join us for this tech Free recording of a web 55 minutes
for Data Management talk on the new Task conference
(DYN447PAL2) Automation Framework for
Data Management. Learn
how the framework
facilitates testing of data
entities & integrations,
validation of the resulting
data, and automation of
other tasks in the Data
Management Framework.
C O N T EN T DESC RIP T IO N F O RM AT L EN GT H
Finance and Operations: This talk will introduce and Free recording of a web 66 minutes
Warehouse App Task explain the new Warehouse conference
Validation Framework App Task Validation
Framework which is
designed to allow for the
automation of warehouse
tasks within the standard
Dynamics 365 Warehousing
application. This new
framework bridges the gap
between the Regression
Suite Automation Tool (RSAT)
and the warehouse
functionality so that end-to-
end regression tests can be
built including both core
Dynamics workflows as well
as distribution scenarios
utilizing the advanced
warehousing module. The
talk will walk through the
setup and configuration of
the framework and show
how it can be utilized to
automate a warehouse
process through RSAT.
Microsoft Partner Sales and Marketing Learning
Catalog
4/16/2020 • 2 minutes to read • Edit Online
Are you responsible for helping your customers buy the right solution?
The following catalog is organized from core knowledge to specific domains, and from most basic to most
advanced. If content exists in multiple formats, we'll let you know, so that you can choose the training format that
best meets your needs.
Get started
C O N T EN T DESC RIP T IO N F O RM AT L EN GT H
Learn the business value of Are you interested in Free, self-paced online 7 hours
Microsoft Dynamics 365 and learning about business learning path
the Power Platform applications? Perhaps you
don’t know where to begin
with Microsoft Dynamics
365 and Power Platform
applications? Learn how the
power of business
applications can help
transform your business.
Get started with Finance and Learn how Finance and Free, self-paced online 2 hours
Operations apps Operations apps support learning path
businesses to manage their
global financial systems,
operational business
processes, and streamlined
supply chains to empower
people to make fast,
informed decisions. As the
first step in your career of
working with Finance and
Operations apps, you must
familiarize yourself with its
features and functionality,
whatever your desired role.
C O N T EN T DESC RIP T IO N F O RM AT L EN GT H
Exam
C O N T EN T DESC RIP T IO N F O RM AT L EN GT H
Dynamics 365 Fundamentals Prove that you understand Exam; cost varies by region
Microsoft Dynamics 365; the
Power Platform; cloud
concepts; licensing options;
and deployment and release
options.
Functional Application Consultant Learning Catalog
4/16/2020 • 22 minutes to read • Edit Online
Get started
C O N T EN T DESC RIP T IO N F O RM AT L EN GT H
Learn the business value of This learning experience will Free, self-paced online 6.5 hours
Microsoft Dynamics 365 and take you on a journey that learning path
the Power Platform will begin by showing you
how digital transformation
and the power of business
applications can transform
your business. We will cover
how Dynamics 365 and
Power Platform help you
make informed decisions
based on your organization’s
needs and goals, through
four building blocks of digital
transformation—modern,
unified, intelligent, and
adaptable.
Dynamics 365 and Power Are you interested in Free, self-paced online 5.5 hours
Platform Fundamentals learning about business learning path
applications? Start with this
learning path to see how
Dynamics 365 apps are
used. Learn about cloud
concepts, Power Platform,
and how to get started with
Dynamics 365 apps.
C O N T EN T DESC RIP T IO N F O RM AT L EN GT H
Migrate data and go live Learn how Microsoft Free, self-paced online 1.5 hours
with Finance and Operations Dynamics 365 for Finance learning path
apps and Operations supports
businesses to manage their
global financial systems,
operational business
processes, and streamlined
supply chains to empower
people to make fast,
informed decisions. As the
first step in your career of
working with Finance and
Operations, you must
familiarize yourself with its
features and functionality,
regardless of your desired
role.
Use Lifecycle Services to Lifecycle Services (LCS) is a Free, self-paced online 2 hours
design and plan an collaborative workspace that learning path
implementation of Finance customers and their
and Operations apps partners use to manage
Finance and Operations
apps projects from pre-sales
to the implementation phase
and finally to the production
environment. It provides
checklists and tools that help
you manage the project,
including pre-build
methodologies to help with
implementation and
regularly updated services.
C O N T EN T DESC RIP T IO N F O RM AT L EN GT H
Migrate data and go live As a functional consultant, Free, self-paced online 4 hours
with Finance and Operations you must understand how learning path
apps to prepare your customer's
data for migration, work
with data management, and
perform user acceptance
testing to go live with
Finance and Operations
apps.
Configure and work with Business leaders can make Free, self-paced online 4 hours
analytics and reporting in important decisions in their learning path
Finance and Operations company if they have
apps accurate insight into the
underlying financial and
operational data. A business
user can also configure, and
use the electronic reporting
tool without a single line of
code, to adopt new
regulatory requirements and
generate business
documents in the required
format to electronically
exchange information with
government bodies, banks,
and other parties.
C O N T EN T DESC RIP T IO N F O RM AT L EN GT H
Finance and Operations: FastTrack offers an Tech Talk (recorded webinar) 62 minutes
Onboarding to Dynamics Onboarding service to every
365 (DYN542PAL2) Dynamics 365 for Finance
and Operations project. In
this TechTalk, we will explain
the Onboarding process,
walk through the content of
the Onboarding session with
you, and unveil how we are
making Onboarding more
efficient and convenient in
the near future. This session
is especially relevant to
everybody who works with
customers in the early
stages of a project, between
closing the license deal and
initiation of the
implementation project.
On-Premises (Local Business Please join this tech talk for Tech Talk (recorded webinar) 48 minutes
Data) Deployment an overview of the on-
(DYN382PAL2) premise deployment option
for Dynamics 365 for
Finance and Operations,
Enterprise Edition. In this
session, we will look at the
solution architecture of an
on-premise deployment,
ALM aspects, system
requirements, and how to
provision the Life Cycle
Services project.
Go-live Planning We will discuss the go-live Tech Talk (recorded webinar) 60 minutes
(DYN458PAL2) process in detail, and how
best to prepare for it, in
order to make it as smooth
as possible for the customer,
partner and Microsoft.
Environment Planning Please join us for this tech Tech Talk (recorded webinar) 53 minutes
(DYN450PAL2) talk on Environment
Planning. Learn about the
standard environments,
what other environments
you might need, the options
and timing for acquiring and
deploying them, and the
expected code and data
flows between
environments.
C O N T EN T DESC RIP T IO N F O RM AT L EN GT H
Finance and Operations: Tech Talk on the Feature Tech Talk (recorded webinar) 47 minutes
Feature Management management experience. It
(DYN641PAL2) provides a workspace where
you can view, enable, disable,
and schedule features that
have been delivered in each
release. By default, new
features are turned off. You
can use the workspace to
turn them on and view the
documentation for them.
Attend this meeting to see
what is delivered in 10.0.3
and our plans for future
releases.
Finance And Operations: The Continuous Update Tech Talk (recorded webinar) 61 minutes
Microsoft Managed cadence for Finance and
Continuous Updates Operations has started!
(DYN610PAL) Please join us during this
hour to discuss Microsoft
Managed Continuous
updates, the user experience
already available in Lifecycle
Services, and forthcoming
updates.
Finance And Operations: During this hour we will Tech Talk (recorded webinar) 59 minutes
Microsoft Managed discuss updates to the
Continuous Updates: What's Microsoft Managed
new - November 1, 2018 Continuous update cadence
(DYN533cust) as well as take a look at the
user experience in Lifecycle
Services.
Monitoring, Optimization We will discuss monitoring Tech Talk (recorded webinar) 40 minutes
Advisor & Critical KBs capabilities and what
(DYN456PAL2) Microsoft monitors for you
in your production
environment, the
optimization advisor and
how it can be extended, the
“Critical X++ updates”
experience in LCS, and best
practices for the “Report
production outage” option
in LCS.
Visual Studio Team Services This Tech Talk will walk thru Tech Talk (recorded webinar) 41 minutes
(VSTS) Setup (VIR782PAL) the necessary steps to
configure a VSTS instance
and project to connect to
LCS implementation project
for Dev/Test environment
configuration.
C O N T EN T DESC RIP T IO N F O RM AT L EN GT H
Copy Into Legal Entity In this session, we will Tech Talk (recorded webinar) 54 minutes
(DYN383PAL) discuss a new feature in the
data management
framework, Copy into legal
entity. We will first briefly
review the new features
added to the data
management framework in
platform 8 for the
workspace, templates, and
data projects and then
discuss the additional
functionality added for Copy
into legal entity.
Regression Suite Automation We will discuss the Tech Talk (recorded webinar) 61 minutes
Tool (DYN480PAL) Regression Suite Automation
Tool. It significantly reduces
the time and cost of user
acceptance testing, when
taking a Microsoft update,
or before applying custom
code and configurations to
your Dynamics 365 for
Finance and Operations
production environment. It
enables functional power
users to record business
tasks, using the Finance and
Operations task recorder,
and convert them into a
suite of automated tests,
without the need to write
source code.
Finance and Operations: This is the first of a two-part Tech Talk (recorded webinar) 70 minutes
Regression Suite Automation series on Regression Suite
Tool -- Background & Setup Automation Testing (RSAT).
(DYN646PAL) In this session, we will cover
how to keep pace with
continuous updates using
automated testing via RSAT.
Learnings and
recommendations on
creating task recordings and
executing tests using RSAT
will be covered, along with a
step-by-step walkthrough of
the installation and setup.
C O N T EN T DESC RIP T IO N F O RM AT L EN GT H
Finance and Operations: This is the second of a two- Tech Talk (recorded webinar) 70 minutes
Regression Suite Automation part series on Regression
Tool -- Testing Lifecycle Suite Automation Testing
Demo (DYN647PAL) (RSAT). This session will cover
a demo of the whole cycle of
creating and saving task
recordings from Finance and
Operations to the BPM
library in LCS, synchronizing
the BPM library to create
test cases in Azure DevOps,
grouping the test cases into
test suites, and loading and
executing the test suites in
RSAT.
Performance Testing Please join us for this tech Tech Talk (recorded webinar) 45 minutes
Approach (DYN449PAL2) talk on how to approach
Performance Testing. Learn
about the fundamentals,
best practices for testing,
available tools and
techniques for executing
tests and measuring
performance, and how to
use the results for
optimization.
How to upgrade to 7.2 (July In this session we will explain Tech Talk (recorded webinar) 58 minutes
2017) from 7.0 (RTW)/7.1 how to upgrade from
(Release 1611) Dynamics 365 Finance and
(DYN338PAL2) Operations application v7.0
(RTW) and v7.1 (1611) to
v7.2 (July 2017). We make a
clear differentiation between
Live customers and ongoing
projects (not live yet).
Finance and Operations: Please join us for our next Tech Talk (recorded webinar) 61 minutes
Upgrading from 7.x to 8+ TechTalk, during which we
(DYN519PAL2) will cover the 7.X to 8.X
upgrade process. We will
discuss various scenarios
and steps to execute for
code upgrade and data
upgrade. We will also cover
extensibility request
scenarios and how to raise
them where appropriate.
Part 1 of 2.
AX2012 to Dynamics 365 This Tech Talk will provide an Tech Talk (recorded webinar) 45 minutes
for Operations Upgrade overview on how to upgrade
(VIR817PAL2) code and data from
Dynamics AX 2012 to
Dynamics 365 for
Operations.
C O N T EN T DESC RIP T IO N F O RM AT L EN GT H
Reporting Options in This session will discuss Tech Talk (recorded webinar) 60 minutes
Dynamics 365 for various printing scenarios in
Operations (VIR810PAL) D365 for Operations,
including tips and tricks for
Document Routing Agent.
Course MB-300T01-A: Core This course discusses core Instructor-led in person or 1 day
common features of common features of online training, cost varies
Dynamics 365 for Finance Microsoft Dynamics 365 for by region and partner
and Operations Finance and Operations.
Course MB-300T02-A: Core This course discusses core Instructor-led in person or 1 day
configuration in Dynamics configuration tasks for online training, cost varies
365 for Finance and Microsoft Dynamics 365 for by region and partner
Operations Finance and Operations.
Course MB-300T03-A: Data This course discusses data Instructor-led in person or 1 day
migration and preparing for migration and go-live online training, cost varies
go-live with Dynamics 365 preparation for Microsoft by region and partner
for Finance and Operations Dynamics 365 for Finance
and Operations.
Financial management
C O N T EN T DESC RIP T IO N F O RM AT L EN GT H
Configure and use the Dynamics 365 Finance Free, self-paced online 13.3 hours
general ledger in Dynamics empowers business users to learning path
365 Finance control finances and manage
funds with accurate
information at any time for
financial planning and
forecasting, and stay up to
date with analytics. Since
finance is the heart of the
business, and the General
ledger module is the heart
of financial management,
this learning path shows you
how to set up functionality
in the General ledger
module. It also covers how
to complete closing
procedures for a period or a
year.
C O N T EN T DESC RIP T IO N F O RM AT L EN GT H
Configure and use cash and You can use the Cash and Free, self-paced online 7.5 hours
bank management, and bank management module learning path
sales tax in Dynamics 365 in Dynamics 365 Finance to
Finance maintain an organization's
bank accounts and the
financial instruments that
are associated with those
bank accounts. All
businesses must collect and
pay taxes to various tax
authorities. In this learning
path you will learn how to
configure and use these
areas of Dynamics 365
Finance.
Work with Accounts payable Accounts payable are a Free, self-paced online 5.5 hours
in Dynamics 365 Finance liability due to a creditor learning path
when you order goods or
services without paying in
cash up front, which means
that you buy goods on
credit. Learn how to
configure accounts payable
in Dynamics 365 Finance,
record vendor invoices, and
distribute expenses, tax, and
charges across accounts.
Work with Accounts Configure the Accounts Free, self-paced online 7 hours
receivable in Dynamics 365 receivable module in learning path
Finance Dynamics 365 Finance to
create customer invoices,
post packing slips, and use
free text invoices that are
not related to sales orders.
In this learning path, you will
also learn how to do daily
tasks in accounts receivable.
Configure and use Every organization, whether Free, self-paced online 2.5 hours
budgeting in Dynamics 365 it is private or public, sets learning path
Finance financial and operational
goals by creating budgets.
With the collaborative and
process-driven nature of
budget planning, you can
make your budget process
more efficient.
C O N T EN T DESC RIP T IO N F O RM AT L EN GT H
Configure and manage fixed You can set up and enter Free, self-paced online 4.5 hours
assets in Dynamics 365 acquisition information for learning path
Finance fixed assets, and then
manage them by
depreciating them and
setting a capitalization
threshold. The way in which
fixed assets are handled
must correspond with both
international accounting
standards and the
accounting legislation in
each country or region.
Get started with cost Cost accounting lets you Free, self-paced online path 1 hour
accounting for supply chains collect data from various
in Dynamics 365 Finance sources, such as the general
ledger, sub-ledgers, budgets,
and statistical information.
You can then analyze,
summarize, and evaluate
cost data so that
management can make the
best possible decisions for
price updates, budgets, cost
control, and so on.
Configure Dynamics 365 Dynamics 365 Finance Free, self-paced online path 1.5 hours
Finance for public sector enables business processes
that are common to the
public and private sectors,
such as budgeting,
purchasing, accounts
payable, and accounts
receivable tasks. Use the
Public sector functionality to
meet the rules, regulations,
and reporting requirements
for organizations that serve
the public sector.
Configure electronic Instead of extending the Free, self-paced online path 3 hours
reporting in Dynamics 365 code for Dynamics 365
Finance Finance to meet regulatory
features and compliance for
different countries or
regions, a business user can
configure and use the
electronic reporting tool
without a single line of code.
For example, you can adopt
new regulatory
requirements and generate
business documents in the
required format to
electronically exchange
information with
government bodies, banks,
and other parties.
C O N T EN T DESC RIP T IO N F O RM AT L EN GT H
Financial Reporting This Tech Talk will discuss Free recording of a web 57 minutes
(DYN305PAL) financial reporting setup and conference
report lists in Dynamics 365
for Operations. The session
will also cover datamart
reset in UAT environment
and troubleshooting and
searching for hotfix, using
LCS.
Finance and Operations: UK During this session we will Free recording of a web 63 minutes
Digital Tax - VAT Declaration talk about the new conference
In Dynamics 365 For Finance submission process
And Operations introduced by HMRC in the
(DYN599PAL) United Kingdom for VAT
declarations. We will explain
how to configure VAT
declaration and set up
electronic messaging in
Dynamics 365 for Finance
and Operations. We will
demonstrate the submission
process to the HMRC
application in a sandbox
environment. This session is
especially relevant for
consultants who will
implement the feature and
provide training to users.
Course MB-310T01-A: You can set up and enter Instructor-led in person or 2 days
Configure and use essential acquisition information for online training, cost varies
components of financial fixed assets, and then by region and partner
management in Dynamics manage them by
365 for Finance and depreciating them and
Operations setting a capitalization
threshold. The way in which
fixed assets are handled
must correspond with both
international accounting
standards and the
accounting legislation in
each country or region.
Manufacturing
C O N T EN T DESC RIP T IO N F O RM AT L EN GT H
Configure and use discrete If a company only produces Free, self-paced online 12.5 hours
manufacturing in Dynamics simple products, production learning path
365 Supply Chain can be scheduled manually
Management with the correct bill of
materials (BOM) parts
arriving on the production
floor, at the correct time, and
at the proper resource. As a
functional consultant for
manufacturing, you need to
know how to configure
Dynamics 365 Supply Chain
Management for discrete
manufacturing, so your
customer can perform and
control the production
lifecycle.
C O N T EN T DESC RIP T IO N F O RM AT L EN GT H
Configure and use lean Lean manufacturing is a Free, self-paced online 6.5 hours
manufacturing in Dynamics journey of continuous learning path
365 Supply Chain improvement. The goal is to
Management produce exactly what the
customer wants, when the
customer wants it, and to do
it economically. You can use
lean manufacturing in a
unified (mixed-mode)
manufacturing environment
that combines various
supply, production, and
sourcing strategies. These
strategies include production
orders, batch orders for
process industries, purchase
orders, and transfer orders.
The lean manufacturing
architecture in Dynamics
365 for Finance and
Operations consists of
production flows, activities,
and Kanban rules.
Configure and use process Process manufacturing is Free, self-paced online 6 hours
manufacturing in Dynamics associated with formulas and learning path
365 Supply Chain manufacturing recipes, in
Management contrast with discrete
manufacturing, which uses
discrete units, and bills of
materials. Process
manufacturing is used in
manufacturing environments
where production is
completed in batch or semi-
continuous processes.
Get started with Dynamics Finance and Operations Free, self-paced online 1 hour
365 Supply Chain empowers employees and module
Management organizations with the ability
to obtain a unified view of
inventory, warehouse,
manufacturing, service, and
logistics with predictive
analytics that turn data into
insights to support better
strategic decisions.
Configure and manage Product information is the Free, self-paced online 6 hours
products and inventory in pillar of supply chain and learning path
Dynamics 365 Supply Chain retail applications across all
Management industries. In the various
modules of a business
solution, product-specific
information and
configuration are required to
manage the business
processes that are related to
products, product families,
bill of materials, and product
categories. Inventory
reports will show how much
inventory you have in
variety of different ways, and
will explain how to be more
effective in your inventory
investments.
C O N T EN T DESC RIP T IO N F O RM AT L EN GT H
Configure and use The process of finding and Free, self-paced online 6 hours
agreements in Dynamics working with vendors, learning path
365 for Finance and purchasing products, and
Operations ensuring the quality of
goods and services are all
important factors that
impact a company's
reputation and success.
Configure and use Companies negotiate and Free, self-paced online 2 hours
agreements in Dynamics agree on certain terms to fix module
365 for Finance and the price of items. These
Operations agreements help businesses
make correct estimations of
cost of goods purchased and
set a base for sales prices. By
purchasing or selling goods,
companies might be entitled
to receive rebates or gain
royalty rewards, which can
be converted to a credit
note.
Configure and manage the The order to cash process Free, self-paced online 1.5 hours
order to cash process in manages the life cycle of the module
Dynamics 365 Supply Chain sales process which consists
Management of sub processes of receiving
and processing customer
sales. The invoicing and
accounts receivable
functions in the process
determine the company's
cash inflows.
Configure and use Large organizations often Free, self-paced online 1.5 hours
intercompany trade in buy and sell among their module
Dynamics 365 Supply Chain subsidiaries. Dynamics 365
Management for Finance and Operations
facilitates intercompany
trade so that an
organization’s legal entities
can trade goods while all
documents are automatically
generated for the
participating legal entities,
thus saving the organization
time and money.
C O N T EN T DESC RIP T IO N F O RM AT L EN GT H
Configure and use master Businesses in any market, Free, self-paced online 2 hours
planning in Dynamics 365 such as retail, module
Supply Chain Management manufacturing, distribution,
services, and public sector
organizations, need
functionality to help them
plan for demand and supply
of products and services
during the course of short
or long-term operations. Get
to know the Master
planning feature of
Dynamics 365 for Finance
and Operations to
streamline your planning,
based on pre-determined
factors, to efficiently plan
what materials need to be
purchased, transferred, or
manufactured.
Configure and work with Warehouse management in Free, self-paced online 5 hours
warehouse management in Dynamics 365 for Finance learning path
Dynamics 365 for Finance and Operations helps
and Operations optimize and streamline
warehouse processes
according to your individual
needs and provides the
insight into your inventory
and the tools to help
increase customer
satisfaction and reduce
costs.
Configure and work with The Transportation Free, self-paced online 3 hours
transportation management management module in module
in Dynamics 365 for Finance Dynamics 365 for Finance
and Operations and Operations helps you
find the most efficient way
to deliver goods to your
customers by calculating the
least expensive and fastest
way, and lets you identify
vendor and routing
solutions for inbound and
outbound orders.
C O N T EN T DESC RIP T IO N F O RM AT L EN GT H
Warehousing Mobile App This Tech Talk will discuss the Free recording of a web 54 minutes
(VIR816PAL) Advanced Warehousing conference
system in Dynamics 365 for
Operations and what the
future holds for the
advanced warehousing
mobile interface. We will
examine the new mobile
application that has been
released and how it
compares to the legacy
WMDP. We will learn what is
required to install, configure,
and operate this mobile
application and how it can
be used to benefit your
implementations.
Vendor Collaboration This Tech Talk will provide a Free recording of a web 58 minutes
(DYN327PAL) walk through on the Vendor conference
Collaboration feature
including the Consumption
of Response from Vendor
feature that is included in
the July (spring) release.
Vendor Collaboration This Tech Talk will provide a Free recording of a web 58 minutes
(DYN327PAL) walk through on the Vendor conference
Collaboration feature
including the Consumption
of Response from Vendor
feature that is included in
the July (spring) release.
Item And Warehouse In this Tech Talk, we will Free recording of a web 54 minutes
Migration Process To Use teach you how to migrate conference
Advanced Warehouse existing warehouse setup
Management (DYN316PAL) and items with open
transactions to the advance
warehouse management, by
using the new capabilities to
change the storage
dimension group for items
and enable warehouses to
use the advanced warehouse
management processes.
Demand Replenishment for This TechTalk will cover raw Free recording of a web 38 minutes
Raw Material Picking material picking and demand conference
(DYN333PAL2) replenishment for raw
material picking.
C O N T EN T DESC RIP T IO N F O RM AT L EN GT H
Course MB-330T02-A: Use This course discusses how to Instructor-led in person or 1 day
quality management, use quality management, online training, cost varies
Intercompany trading and intercompany trading and by region and partner
master planning in Dynamics master planning in Dynamics
365 for Finance and 365 for Finance and
Operations Operations.
Exams
C O N T EN T DESC RIP T IO N F O RM AT L EN GT H
Exam MB-300: Microsoft This exam measures your Exam, cost varies by region
Dynamics 365 Unified ability to accomplish the
Operations Core following technical tasks: use
common functionality and
implementation tools;
configure security, processes,
and options; perform data
migration; and validate and
support the solution.
Exam MB-310: Microsoft This exam measures your Exam, cost varies by region
Dynamics 365 for Finance ability to accomplish the
and Operations, Financials following technical tasks: set
up and configure financial
management; manage and
apply common processes;
implement and manage
accounts payable and
receivable; and manage
budgeting and fixed assets.
C O N T EN T DESC RIP T IO N F O RM AT L EN GT H
Exam MB-320: Microsoft This exam measures your Exam, cost varies by region
Dynamics 365 for Finance ability to accomplish the
and Operations, following technical tasks: set
Manufacturing up and configure
manufacturing; create and
manage production and lean
orders; and create, process,
and manage production
batch orders.
Exam MB-330: Microsoft This exam measures your Exam, cost varies by region
Dynamics 365 for Finance ability to accomplish the
and Operations, Supply following technical tasks:
Chain Management implement product
information management;
implement inventory
management; implement
and manage supply chain
processes; and implement
warehouse management
and transportation
management and perform
business processes.
Solution Architects Learning Catalog
4/16/2020 • 10 minutes to read • Edit Online
Do you design solutions that meet your customers' needs and budgets?
The following catalog is organized from core knowledge to specific domains, and from most basic to most
advanced. If content exists in multiple formats, we'll let you know, so that you can choose the training format that
best meets your needs.
Get started
C O N T EN T DESC RIP T IO N F O RM AT L EN GT H
Dynamics FastTrack Architect The Dynamics FastTrack Free instructor-led in-person 5 days
Boot camp Architect Boot camps are training. Qualifications apply.
EXCLUSIVELY for solution
integrator partners
commencing customer
implementations governed
by the Microsoft Dynamics
365 FastTrack customer
success program. The FREE
intensive Boot camps are
SPECIFICALLY for solution
integrator partner architects
assigned to FastTrack
engagements and are led by
senior architects from the
Dynamics 365 engineering
team.
Go-live Planning We will discuss the go-live Free recording of a web 60 minutes
(DYN458PAL2) process in detail, and how conference
best to prepare for it, in
order to make it as smooth
as possible for the customer,
partner, and Microsoft.
Environment Planning Join us for this tech talk on Free recording of a web 53 minutes
(DYN450PAL2) Environment Planning. Learn conference
about the standard
environments, what other
environments you might
need, the options and timing
for acquiring and deploying
them, and the expected code
and data flows between
environments.
C O N T EN T DESC RIP T IO N F O RM AT L EN GT H
Demo Data Packages Join us for this tech talk on Free recording of a web 40 minutes
(DYN443PAL) the recently released demo conference
data packages. You can use
them to customize the demo
data you need for your
scenarios, and then load just
what you need into an
environment.
On-Premises (Local Business Join this tech talk for an Free recording of a web 48 minutes
Data) Deployment overview of the on-premise conference
(DYN382PAL2) deployment option for
Dynamics 365 for Finance
and Operations, Enterprise
Edition. In this session, we
will look at the solution
architecture of an on-
premise deployment, ALM
aspects, system
requirements, and how to
provision the Life Cycle
Services project.
Reduce Data Import and In this Tech Talk, we will Free recording of a web 52 minutes
Export Time Using discuss the new conference
Configurations (DYN315PAL) configuration feature in
Dynamics 365 for Finance
and Operations, Enterprise
edition. We will show how
you can set up
configurations using
predefined templates, copy
configuration data from a
legal entity to a data project
and export it, and then
import it into another legal
entity.
Reporting Options in This session will discuss Free recording of a web 60 minutes
Dynamics 365 for various printing scenarios in conference
Operations (VIR810PAL) D365 for Operations,
including tips and tricks for
Document Routing Agent.
Mobile Framework This tech talk will walk Free recording of a 58 minutes
(VIR824PAL) through the mobile web conference
framework capabilities
for building apps in
Dynamics 365 for
Operations. The
session will also
demonstrate some
recently built apps.
Visual Studio Team This Tech Talk will walk Free recording of a 41 minutes
Services (VSTS) Setup through the web conference
(VIR782PAL) necessary steps to
configure a VSTS
instance and project
to connect to LCS
implementation
project for Dev/Test
environment
configuration.
Finance and Operations: Join us for our next TechTalk, Free recording of a web 61 minutes
Upgrading from 7.x to 8+ during which we will cover conference
(DYN519PAL2) the 7.X to 8.X upgrade
process. We will discuss
various scenarios and steps
to execute for code upgrade
and data upgrade. We will
also cover extensibility
request scenarios and how
to raise them where
appropriate. Part 1 of 2.
How to upgrade to 7.2 (July In this session, we will Free recording of a web 44 minutes
2017) from 7.0 (RTW)/7.1 explain how to upgrade from conference
(Release 1611) Dynamics 365 Finance and
(DYN338PAL2) Operations application v7.0
(RTW) and v7.1 (1611) to
v7.2 (July 2017). We make a
clear differentiation between
Live customers and ongoing
projects (not live yet).
AX2012 to Dynamics 365 This Tech Talk will provide an Free recording of a web 45 minutes
for Operations Upgrade overview on how to upgrade conference
(VIR817PAL2) code and data from
Dynamics AX 2012 to
Dynamics 365 for
Operations.
AX2009 to Dynamics 365 This session will cover Free recording of a web 55 minutes
for Operations Migration tooling available to assist conference
Tools (VIR809PAL) you with migrating from
AX2009 to D365 for
Operations.
Servicing
C O N T EN T DESC RIP T IO N F O RM AT L EN GT H
Finance and Operations: Tech Talk on how to Free recording of a web 53 minutes
Servicing, Supporting and efficiently support, maintain, conference
Maintaining Production and service your Dynamics
(DYN651PAL2) 365 for Finance and
Operations production
environment
C O N T EN T DESC RIP T IO N F O RM AT L EN GT H
Finance and Operations: Tech Talk on the Feature Free recording of a web 47 minutes
Feature Management management experience. It conference
(DYN641PAL2) provides a workspace where
you can view, enable, disable,
and schedule features that
have been delivered in each
release. By default, new
features are turned off. You
can use the workspace to
turn them on and view the
documentation for them.
Attend this meeting to see
what is delivered in 10.0.3
and our plans for future
releases.
Finance And Operations: The Continuous Update Free recording of a web 61 minutes
Microsoft Managed cadence for Finance and conference
Continuous Updates Operations has started! Join
(DYN610PAL) us during this hour to
discuss Microsoft Managed
Continuous updates, the
user experience already
available in Lifecycle Services,
and forthcoming updates.
Finance And Operations: During this hour we will Free recording of a web 59 minutes
Microsoft Managed discuss updates to the conference
Continuous Updates: What's Microsoft Managed
new - November 1, 2018 Continuous update cadence
(DYN533cust) and look at the user
experience in Lifecycle
Services.
Finance And Operations: During this hour, we will Free recording of a web 56 minutes
Microsoft Managed explain what is new since our conference
Continuous Updates: What's initial announcements about
new (DYN543PAL2) Microsoft Managed
Continuous updates. We will
discuss the cadence of
updates, how we have
responded to your valuable
feedback on the process,
and look at the forthcoming
Lifecycle Services user
experience, through which
you will be able to manage
your updates.
C O N T EN T DESC RIP T IO N F O RM AT L EN GT H
Microsoft Managed During this hour, we will Free recording of a web 56 minutes
Continuous Updates: What's explain what is new since our conference
new (DYN543PAL2) initial announcements about
Microsoft Managed
Continuous updates. We will
discuss the cadence of
updates, how we have
responded to your valuable
feedback on the process,
and look at the forthcoming
Lifecycle Services user
experience, through which
you will be able to manage
your updates.
Punch Out (DYN332PAL2) This Tech Talk will provide a Free recording of a web 42 minutes
walk through on punch out conference
functionality and will cover
the setup of an external
catalog via purchase
requisition scenario.
Testing
C O N T EN T DESC RIP T IO N F O RM AT L EN GT H
C O N T EN T DESC RIP T IO N F O RM AT L EN GT H
Finance and Operations: This is the first of a two-part Free recording of a web 70 minutes
Regression Suite Automation series on Regression Suite conference
Tool -- Background & Setup Automation Testing (RSAT).
(DYN646PAL) In this session, we will cover
how to keep pace with
continuous updates using
automated testing via RSAT.
Learnings and
recommendations on
creating task recordings and
executing tests using RSAT
will be covered, along with a
step-by-step walkthrough of
the installation and setup.
Finance and Operations: This is the second of a two- Free recording of a web 70 minutes
Regression Suite Automation part series on Regression conference
Tool -- Testing Lifecycle Suite Automation Testing
Demo (DYN647PAL) (RSAT). This session will cover
a demo of the whole cycle of
creating and saving task
recordings from Finance and
Operations to the BPM
library in LCS, synchronizing
the BPM library to create
test cases in Azure DevOps,
grouping the test cases into
test suites, and loading and
executing the test suites in
RSAT.
Finance and Operations: In this Tech Talk, we will Free recording of a web 68 minutes
Performance Benchmark for describe an approach for conference
Dynamics 365 preparing and delivering a
(DYN550PAL2) performance benchmark on
Microsoft Dynamics 365 for
Finance and Operations. We
will present the process,
main concepts and tools
before illustrating a simple
case with a demonstration.
Finance and Operations: In this Tech Talk, we will Free recording of a web 58 minutes
Performance Key Patterns present efficient conference
and Anti-patterns for performance patterns that
Dynamics 365 (DYN549PAL) we have seen project teams
implement successfully. We
will also describe anti-
patterns that can lead to
serious performance
degradation of the Microsoft
Dynamics 365 for Finance
and Operations
environment.
C O N T EN T DESC RIP T IO N F O RM AT L EN GT H
Regression Suite Automation We will discuss the Free recording of a web 61 minutes
Tool (DYN480PAL) Regression Suite Automation conference
Tool. It significantly reduces
the time and cost of user
acceptance testing, when
taking a Microsoft update,
or before applying custom
code and configurations to
your Dynamics 365 for
Finance and Operations
production environment. It
enables functional power
users to record business
tasks, using the Finance and
Operations task recorder,
and convert them into a
suite of automated tests,
without the need to write
source code.
Performance Testing Join us for this tech talk on Free recording of a web 45 minutes
Approach (DYN449PAL2) how to approach conference
Performance Testing. Learn
about the fundamentals,
best practices for testing,
available tools and
techniques for executing
tests and measuring
performance, and how to
use the results for
optimization.
User interface elements
2/28/2020 • 3 minutes to read • Edit Online
This topic describes the user interface (UI) elements used in the app. Before users can navigate the interface, it's
important to know the names and functions of the elements that make up the interface.
Overview
Action Pane - The bar beneath the navigation bar. Here, you can select tabs to change records shown in the
page. You can edit and save the records here.
FactBox - You can see information and follow the activities of certain records in this pane.
FactBox pane Here, you can scroll through different aspects of a record to view in the FactBox.
Filter pane - On some pages, you can select Show filters to open this pane. It allows you to narrow the results
visible to you on the page.
Navigation bar - The bar at the top of the interface. It contains the Dynamics 365 por tal , Search , company
picker , Action center , Settings , Help & Suppor t , and the user profile.
Navigation list - On some pages, you can scroll through this pane to find a specific record. When selected, the
details of the record will appear in the page.
Navigation pane - The left-most pane. From here, you can find any page in the product.
Page - The central focus of the interface. Selections made on the other UI components will affect what records
are shown here.
Pane - The right-most pane. This will open in some cases when aspects of a record need to be changed and
saved.
Tab - When referring to the Action Pane, it's a menu of options that appears when you select a given option in
the Action Pane.
A section is similar to a tab. The word "section" is often used to describe any area of a page that organizes a specific
category of information. In the following image, Summary, Orders and favorites, and Links are all examples of
sections.
In some cases, a dialog box will open near a given button when you select it. This is called a drop-down dialog box.
In the following image, the As of date button was selected, which opened a drop-down dialog box.
Notifications
Certain changes to the objects you oversee will appear as notifications. Notifications may notify you when a specific
customer's information has been changed, or it may alert you when the system can't accept inputs you've added in
certain fields. You can learn how to customize what you receive notifications about in the Alerts overview.
Notifications appear in a variety of ways.
Feature callout - This will appear next to a field, tab, or other button to offer an explanation of what the feature
is used for.
Action center - A box that contains the notification will appear next to the Action center button on the
navigation bar. You can see details about the notification by selecting Action center .
Message bar - This will appear beneath the Action Pane.
The following image shows examples of these types of notifications.
Message box - This will appear over the interface and must be interacted with before you can continue to use
the product.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This topic describes the functionality that is designed to help users who have various disabilities use this app. For
example, there are features for people who use sight-assistive technologies such as Microsoft Windows Narrator.
Navigation search
Any page that is accessed by using the Navigation pane menu, the left-most pane, is also available from the Search
box. Press Alt+G to move focus to the Search box, and then type the name or description of the page.
NOTE
You can navigate directly to top-level pages only. Secondary pages rely on information or context from their parent page.
In the search box, type words that describe the action. The action is made available to you, and you can run it
directly. For example, by typing email , notific (a partial word), or log , you can "jump" to the Email notification log
functionality.
When you've finished, you can press Ctrl+Apostrophe again to return focus to the field that you were working with
before you ran the action search.
For more information, see Action search.
Tab sequence
In everyday system use, not every field is required in order to perform typical tasks. Therefore, by default, the tab
sequence is "optimized." Tab stops are set only on those fields that are essential for typical scenarios.
However, you might find that some fields that you often use to perform tasks aren't included in the default tab
sequence. In this case, if you use Windows Narrator, you can use Windows Narrator's keyboard actions to access
those fields and inspect their content. Alternatively, you can turn on the Enhanced tab sequence option on the
Options page. This option makes all editable and read-only fields part of the tab sequence. You can then use page
personalization to create a custom tab sequence and omit fields that don't have to be part of the tab sequence. For
more information about personalization, see Personalize the user experience.
Form patterns
Almost 90 percent of the pages in the app are based on a small set of patterns. These patterns are referred to as
form patterns. Each form pattern is used to provide the actions that are most often performed on the page. A form
pattern helps guarantee familiarity and ease of understanding, because frequently used actions and data are always
presented in the same location on different pages. Because of the small number of form patterns, users can easily
learn the system, regardless of the number of pages in it, and can confidently use it after they recognize the form
patterns.
To learn more about form patterns, see Form styles and patterns.
Responsive layout
The product is designed to work on various devices and form factors, from the smallest screens to large screens
that have the highest resolution. Our responsive layout engine lets users zoom in to a magnification level of 200
percent (or, in some scenarios, more than 200 percent).
On smartphones and other small screens, the controls and the form layout will responsively adapt to ensure that
the core data is favored. These responsive behaviors can also include reducing the number of columns in groups
and tabs to a single column, hiding shell elements, and collapsing the Action Pane.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
Features are added and updated in every release. The Feature management experience provides a workspace
where you can view a list of features that have been delivered in each release. By default, new features are turned
off. You can use the workspace to turn them on and view the documentation for them.
Turn on a feature
If a feature hasn't been turned on, an Enable Now button appears in the details pane. You can use this button to
turn on the feature.
Select the feature to turn on, and then, in the details pane, select Enable Now . The feature is turned on.
Some features can't be turned off after you turn them on. If the feature that you're trying to turn on can't be turned
off, you receive a warning. At that point, you can select Cancel to cancel the operation and leave the feature turned
off. However, if you select Enable to turn on the feature, you won't be able to turn it off later.
Some features will display a message that provides additional information before you turn them on. These features
are indicated by a yellow warning symbol. You should read the additional information carefully to better
understand what will happen when the feature is enabled. However, you can still select Enable to turn on the
feature.
Some features will display a message that the feature can't be enabled until an action is taken. These features are
indicated by a red X symbol. You must take the actions described in the description before the feature is enabled.
For example, if you can't use a feature until a configuration key is disabled, then you must disable the configuration
key first and then return to Feature management to enable the feature.
After a feature is turned on, a message appears below the Learn more link in the details pane. This message either
states that the feature was turned on or indicates the future date when the feature is scheduled to be turned on. It
appears every time that you select the feature in the feature list.
Features that are scheduled to be turned on in the future appear on the Scheduled tab. A batch process will turn
them on at midnight on the specified date, based on the time zone that is represented by the system date.
Reschedule a feature
If a feature has been scheduled to be turned on in the future, a Schedule button appears in the details pane. You
can use this button to change the Enable date value to a different date.
1. Select the scheduled feature to reschedule, and then, in the details pane, select Schedule .
2. In the dialog box that appears, in the Enable date field, specify the new date when the feature should be turned
on.
3. Select Enable to reschedule the feature or Disable to cancel the schedule.
Assigning roles
The Feature management workspace can be opened by system admins, and also by users who are assigned to
the Feature manager role or the Feature viewer role. These two roles were created to support the Feature
management experience. Users in the Feature manager role can turn any feature on or off. They can also update the
Comments field for the feature. Users in the Feature viewer role can only view the Feature management
workspace. They can't turn features on or off.
The Feature manager role and Feature viewer role don't override the existing security that a user has. They just
control whether the user can turn features on and off. They don't provide access to the features themselves.
Data entities
A data entity that is named Feature management lets you export the Feature management settings from one
environment and then import them into another environment. This entity updates only existing features. The
business logic in the entity also helps guarantee that the same rules that are used on the Feature management
workspace will be applied when the import is done. For example, you can't override a mandatory feature setting by
removing the date during import.
The following examples describe what occurs when you use the Feature management entity to import data.
If you change the value of the Enabled field to Yes , the feature is turned on, and the Enable date field is set to
the current date.
If you change the value of the Enabled field to No or leave the EnableDate field blank, the feature is turned
off, and the Enable date field is cleared. You can't turn off a mandatory feature or a feature that can't be turned
off after it's turned on.
If you change the value of the EnableDate field to a future date, the feature is scheduled for that date.
If you change the value of the Enabled field to Yes and change the value of the EnableDate field to a future
date, the feature is scheduled for that date.
If you change the value of the Enabled field to No , but you also change the value of the EnableDate field to a
future date, the feature is scheduled for that date.
If a feature is turned on, and you add an EnableDate field that is set to a future date, the feature remains turned
on. To reschedule the feature, you must change the Enabled field to No .
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This article provides answers to frequently asked questions about the Finance and Operations client.
I miss the ribbon from Dynamics AX 2012. Can I keep Action Pane tabs
open all the time?
We are planning to implement this feature soon. Users will then be able to choose to keep the tabs on Action Panes
open all the time. Otherwise, the tabs will be collapsed when they aren't being used, to gain more screen space for
the page.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This article describes the action search functionality. Action search will help you find and run actions on a page.
Introduction
Pages primarily expose commands on Action Panes, both the standard Action Pane that appears at the top of a
page and the toolbars that appear in various sections of the page. In previous versions, a Key Tips feature let you
quickly access any button on an Action Pane by pressing the Alt key and then a series of letters.
Key Tips are no longer available but have been replaced by the action search feature. This new feature lets you
quickly search for and run a button from any visible Action Pane.
In the previous example, action search showed results from the standard Action Pane at the top of a page. However,
action search also shows results from visible toolbars that are located in other places on the page. For example,
you're searching for the On-hand inventor y button that is located on the Sales order lines FastTab. In this case,
the button path in the results list (Sales order lines > Inventor y > View ) informs you that this button is located
under the View heading on the Inventor y menu button on the Sales order lines FastTab.
NOTE
There are some buttons that do not show up in Action search. These include drop dialog buttons and buttons from
subforms.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This topic describes the filtering and query options that are available when you use the Advanced filter/sort dialog
or the matches operator in the Filter pane or grid column header filters.
value Equal to the value that is Type the value to find. Smith finds "Smith".
entered
!value (exclamation point) Not equal to the value that Type an exclamation point !Smith finds all values
is entered and then the value to except "Smith".
exclude.
from-value..to-value (double Between the two values that Type the from-value, then 1..10 finds all values from 1
period) are separated by double two periods, and then the through 10. However, in a
periods to-value. string field, A..C finds all
values that start with "A"
and "B", and values that are
exactly equal to "C". For
example, this query won't
find "Ca". To find all values
from "A" through "C", type
A..D .
..value (double period) Less than or equal to the Type two periods and then ..1000 finds any number
value that is entered the value. that is less than or equal to
1000, such as "100",
"999.95", and "1,000".
value.. (double period) Greater than or equal to the Type the value and then two 1000.. finds any number
value that is entered periods. that is greater than or equal
to 1000, such as "1,000",
"1,000.01", and "1,000,000".
>value (greater than sign) Greater than the value that Type a greater than sign (> ) >1000 finds any number
is entered and then the value. that is greater than 1000,
such as "1000.01", "20,000",
and "1,000,000".
<value (less than sign) Less than the value that is Type a less than sign (< ) and <1000 finds any number
entered then the value. that is less than 1000, such
as "999.99", "1", and "-200".
SY N TA X C H A RA C T ER DESC RIP T IO N DESC RIP T IO N EXA M P L E
value* (asterisk) Starting from the value that Type the starting value and S* finds any string that
is entered then an asterisk (* ). starts with "S", such as
"Stockholm", "Sydney", and
"San Francisco".
*value (asterisk) Ending with the value that is Type an asterisk and then *east finds any string that
entered the ending value. ends with "east", such as
"Northeast" and "Southeast".
*value* (asterisk) Containing the value that is Type an asterisk, then a *th* finds any string that
entered value, and then another contains "th", such as
asterisk. "Northeast" and "Southeast".
? (question mark) Having one or more Type a question mark at the Sm?th finds "Smith" and
unknown characters position of the unknown "Smyth".
character in the value.
value,value (comma) Matching the values that are Type all your criteria, and A, D, F, G finds exactly "A",
separated by commas separate them by using "D", "F", and "G". 10, 20,
commas. 30, 100 finds exactly "10,
20, 30, 100".
"" (two double quotes) Matching a blank value Type two consecutive double Two consecutive double
quotes to filter for blank quotes ("") finds rows with
values in that field. no value for the current
column.
(Finance and Operations Matching a defined query Type a query as an SQL ((AccountNum LIKE
query) (Finance and statement between "US*") &&
Operations query between parentheses using the (DirPar tyTable.Name LIKE
parentheses) Finance and Operations "Cont*"))
query language.
as an example of syntax for a
filter condition on a field
from the root datasource as
well as a field from a
different datasource (for the
All customers page)
(methodName(parameters)) Matching the value or range Type a SysQuer yRangeUtil 1. Click Accounts
(SysQuer yRangeUtil of values that are specified method that has parameters receivable >
method between by the parameters of the that specify the value or Invoices > Open
parentheses) SysQuer yRangeUtil range of values. customer invoices .
method 2. Press Ctrl+Shift+F3
to open the Inquir y
page.
3. On the Range tab,
click Add .
4. In the Table field,
select Open
customer
transactions .
5. In the Field field,
select Due date .
6. In the Criteria field,
enter (yearRange(-
2,0)) .
7. Click OK . The list
page is updated and
lists the invoices that
match the criterion
that you entered. For
this example, invoices
that were due in the
previous two years
are listed.
See the table in the next
section for additional details
about SysQuer yRangeUtil
date methods, and several
examples.
Day (_relativeDays=0) Find a date relative to the session date. Tomorrow – Enter (Day(1)) .
Positive values indicate future dates, Today – Enter (Day(0)) .
and negative values indicate past dates. Yesterday – Enter (Day(-1)) .
DayRange (_relativeDaysFrom=0, Find a range of dates relative to the Last 30 days – Enter
_relativeDaysTo=0) session date. Positive values indicate (DayRange(-30,0)) .
future dates, and negative values Previous 30 days and next
indicate past dates. 30 days – Enter (DayRange(-
30,30)) .
GreaterThanDate (_relativeDays=0) Find all dates after the specified relative More than 30 days from
GreaterThanUtcDate (_relativeDays=0) date. now – Enter
(GreaterThanDate(30)) .
GreaterThanUtcNow () Find all date/time entries after the All future date/times – Enter
current time. (GreaterThanUtcNow()) .
M ET H O D DESC RIP T IO N EXA M P L E
LessThanDate (_relativeDays=0) Find all dates before the specified Less than seven days from
LessThanUtcDate (_relativeDays=0) relative date. now – Enter
(LessThanDate(7)) .
LessThanUtcNow () Find all date/time entries before the All past date/times – Enter
current time. (LessThanUtcNow()) .
MonthRange (_relativeFrom=0, Find a range of dates, based on months Previous two months – Enter
_relativeTo=0) relative to the current month. (MonthRange(-2,0)) .
Next three months – Enter
(MonthRange(0,3)) .
YearRange (_relativeFrom=0, Find a range of dates, based on years Next year – Enter
_relativeTo=0) relative to the current year. (YearRange(0, 1)) .
Previous year – Enter
(YearRange(-1,0)) .
Configure and filter workspaces
10/1/2019 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This article provides an overview about how to configure and filter workspaces.
Configuring a workspace
You can change the appearance and behavior of some workspaces by updating settings that apply to the whole
workspace. When a workspace can be configured, the Action Pane includes a button that instructs you to click it to
make configuration changes. For example, in the following illustration, the button is named Configure my
workspace .
When you click the button, a dialog appears, where you can modify the predefined settings for the workspace. The
specific settings that you see in this dialog vary by workspace, and depend on the specific controls and business
data that are available in the workspace.
Filtering a workspace
Many workspaces let you filter the content that appears in them. The controls that are available might let you filter
all the content in the workspace or only the content in a specific section of the workspace. The filters on workspaces
can be lookups, combo boxes, free-form text fields, or other types of controls. However, every type of filter has the
same effects, as described in the following sections.
Workspace -wide filters
You can filter the whole workspace by using a workspace-wide filter. A workspace-wide filter appears in the upper-
left corner of the workspace. When you select a specific value in the drop-down list, the contents of the workspace
are filtered based on that selection.
When you click to open the filter, you're presented with several options.
Select an option to filter the workspace based on that option.
Workspace section filters
If individual sections of the workspace have filters, you can filter each section separately. In the following
illustration, the filter (the field that contains the text "Filter") is an example of a free-form text field filter.
As with a workspace-wide filter, select or enter a value in the field to filter the contents of the section.
Show pages side by side by using the Open in new
window feature
10/1/2019 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
Clicking the Open in new window icon opens the lines page in a new, pop-up browser, and then navigates the
original browser back in history to the page that displayed the list of journals. You can then display both pages
side-by-side. When you are done viewing a journal, you can change the selected journal on the journal list page,
and the lines page in the pop-up window will automatically display the lines of the newly selected journal.
The dynamic linking and refreshing happens due to the relations that exist between the data that is backing these
pages. If the system is not aware of the relation between the data, the pop-up window will not refresh automatically
in response to a change in the window it originated from.
Some pages have multiple views such as the Grid view, Header view, and Details view. The Open in new window
icon causes the entire page to be opened in the new browser window. Therefore, you cannot keep two views of the
same page side-by-side using the Open in new window feature. However, almost all such pages have a
navigation list that you can use to switch between records and achieve a similar experience.
Before using the Open in new window feature, you should configure your browser's pop-up blocker to allow
pop-ups from the URL of the site. As an example, you could allow pop-ups from "*.dynamics.com".
The Open in new window feature is only available when there is more than one page open in the window. Also,
the pop-up window automatically closes when there are no more pages open (that is, when the last page in that
window is closed). The system also closes open pages when you navigate to a different area in the application.
Therefore, if you have pop-up windows open and navigate to a different area in the application, the pop-up
windows are automatically closed because the pages in those windows were closed by the system.
The top bar in the pop-up windows displays information about the company the page was opened in and is read-
only. The pop-up windows also rely on the main browser window. If the main window is closed or refreshed, all
open pop-up windows will become read only. This means that you can still view the information in these windows,
but you will not be able to interact with it.
Keyboard shortcuts
11/18/2019 • 8 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The following keyboard shortcuts can help you quickly and efficiently enter data.
NOTE
The keyboard shortcuts described here refer to the United States keyboard layout. Keys on other keyboard layouts might not
correspond exactly to the keys on a US keyboard.
Finding a shortcut
As of Platform update 11, users can discover currently available shortcuts directly from the user interface. Simply
right-click on a control and select View shor tcuts . This will open a dialog box showing the shortcuts you can use
based on where you are on the page.
Action shortcuts
TO DO T H IS P RESS
Open a tab on the Action Pane or a menu Enter or Space or Alt+Down arrow
FactBox shortcuts
TO DO T H IS P RESS
Open the FactBox pane (or move focus to the FactBox pane if Alt+M,B or Ctrl+F2
it is already open)
Close the FactBox pane (with focus in the FactBox pane) Esc
Move to the next/previous FactBox (with focus in the FactBox Alt+Shift+Down arrow / Alt+Shift+Up arrow
pane)
Move to the <n>th FactBox (with focus in the FactBox pane) Alt+<n> (<n> = 1-9)
Filtering shortcuts
TO DO T H IS P RESS
Open the Filter pane (or switch focus between the Filter pane Alt+M,F or Ctrl+F3
and the main form if the Filter pane is already open)
Close the Filter pane (with focus in the Filter pane) Esc
TO DO T H IS P RESS
Form shortcuts
TO DO T H IS P RESS
Move to the next/previous blade (vertical tab) Alt+Shift+Right arrow / Alt+Shift+Left arrow
Grid shortcuts
TO DO T H IS P RESS
Move to the next/previous row without selecting Ctrl+Up arrow / Ctrl+Down arrow
[!NOTE] This shortcut applies to multi-select scenarios
only.
Create a new row at the bottom of the grid Down arrow (from the last row)
Toggle focus between the selected row and the header row Alt+Shift+H
Make the current column larger/smaller (with focus in the Right arrow / Left arrow
header row)
Open grid filtering for the current column (with focus in the Enter
header row)
Open lookup, combo box, date picker, drop dialog box Alt+Down arrow
Close lookup, combo box, date picker, drop dialog box Esc
Move focus into a lookup (when the lookup is already open) Alt+Down arrow
Enter/leave the text area in an HTML editor control Alt+Down arrow / Alt+Up arrow
Messaging shortcuts
TO DO T H IS P RESS
Navigation shortcuts
TO DO T H IS P RESS
Move to the Filter pane (which may include opening it) Alt+M,F or Ctrl+F3
Move focus to the page content (with focus in the Filter pane) Alt+M,M or Ctrl+F3
Move to the navigation list on Details form (which may Alt+M,S or Ctrl+F8
include opening it)
Move focus to the page content (with focus in the navigation Alt+M,M or Ctrl+F8
list)
Close the navigation list on Details form (with focus in the Esc
navigation list)
Move to the main page content (with focus in another pane) Alt+M,M
TO DO T H IS P RESS
Move to the FactBox pane (which may include opening it) Alt+M,B or Ctrl+F2
Personalization shortcuts
TO DO T H IS P RESS
Open the selected control's quick personalization dialog box Space or Enter
(when using the Select tool)
Select the current control as the one to move (when using the Space or Enter
Move tool and no control has been selected to move yet)
Clear the control to move (when using the Move tool) Esc
Move to the next position for the selected control (when using Tab or Right arrow or Down arrow
the Move tool)
Move to the previous position for the selected control (when Shift+Tab or Left arrow or Up arrow
using the Move tool)
Switch whether the current control is visible or hidden (when Space or Enter
using the Hide tool)
Switch whether the current control is in the tab sequence Space or Enter
(when using the Skip tool)
Switch whether the current control is a summary field in the Space or Enter
current fast tab (when using the Summary tool)
Select the control whose container will be used to insert the Space or Enter
new fields (when using the Add tool)
TO DO T H IS P RESS
Open the drop-down list (when the drop-down list is closed) Alt+Down arrow
Move focus into the input field for the current segment in the Alt+Down arrow
drop-down list (when the drop-down list is already open)
Close/open the right portion of the drop-down list Alt+Left arrow / Alt+Right arrow
Select the value from drop-down list and move to the next Enter
segment
Move to the next/previous control on the page (when focus is Tab / Shift+Tab
in input control)
Move to the next/previous input field in the flyout (when Tab / Shift+Tab
focus is in the drop-down list)
Additional resources
Keyboard shortcuts for missing account analysis
Change the banner or logo
3/18/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The following procedure lists the steps that system administrators can use to update the banner or logo image that
is displayed for a legal entity. The demo data company used to create this procedure is USMF.
1. Go to Navigation pane > Modules > Organization administration > Organizations > Legal
entities .
2. In the list on the left, select the legal entity for which you want to update the banner or logo. If it is already
selected, go to the next step.
3. Expand Dashboard image tab.
4. Select Change .
The ideal resolution for a banner image is 1920 x 281 pixels. The ideal width for a logo image is 350 pixels.
5. Select Save .
6. Go to Navigation pane > Modules > Common > Common > Default dashboard . You should see the
new banner or logo image on the dashboard.
You may need to change your company, using the company picker, to the one you uploaded the banner for.
Navigation search
10/1/2019 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This topic explains how to use the search functionality to navigate to pages.
The application includes a number of areas and pages to help you perform various tasks. To quickly find the pages
that you need to complete your tasks, use the navigation search feature.
To use this feature, click the Search icon to display the Search box. You can then type one or more words in the
box. The system instantly searches for relevant pages in the application that match the words that you entered. For
example, you could type "vendor invoice" as the input, and then the system displays results that match that input.
NOTE
The Search box helps you find and navigate to pages. It will not help you find specific data or actions.
Development
From a development perspective, the navigation search functionality is easy to leverage because there is virtually
no delay between the deployment of menu items and their ability to show up in search results. As long as the
menu items are linked to from either the navigation pane or the dashboard, they will automatically become
searchable.
Personalize the user experience
4/14/2020 • 22 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
Implicit personalizations
Implicit personalizations are personalizations that you make just by interacting with controls that store their
current visible state.
Grid column widths – You can adjust the width of a column in a grid by selecting the sizing bar to the left or
right of the column header, and then sliding it left or right until the column is the desired width. The app stores
the width that you set for a column. Then, the next time that you open the page that includes that grid, the
column will be resized to that width.
Grid column totals - (Only available with the new grid control enabled) You can decide whether or not a total
should be shown at the bottom of any numeric column in a grid as well as whether the grid footer is visible.
The app stores this data so that these preferences are remembered the next time you open the page. See the
Grid capabilities topic for more information.
FastTabs – Some pages have expandable sections that are known as FastTabs. The app stores information
about the FastTabs that you've expanded and collapsed. Then, the next time that you open the page, the same
FastTabs will be either expanded or collapsed, based on your last interaction with the page. In some cases, you
can help improve system performance by collapsing a FastTab, because the app doesn't have to retrieve the
information for FastTabs until they are expanded. As is explained later this topic, you can also change the order
of the FastTabs on a page.
Fact Boxes – Some pages have a Related information pane that shows read-only information that is related
to the current subject of the page. Each section in the Related information pane is known as a Fact Box. You
can expand or collapse the Related information pane, and you can also expand or collapse individual Fact
Boxes. The app stores these preferences. Then, the next time that you open the page, the Related information
pane and the individual Fact Boxes will be either expanded or collapsed, based on your last interaction with the
page. In some cases, you can help improve system performance by collapsing a FactBox, because the app
doesn't have to retrieve the information for FactBoxes until they are expanded.
Action Panes – An Action Pane appears near the top of most pages. The Action Pane contains buttons for
many of the actions that you can perform on the current page. These buttons are often organized on tabs. You
can "pin" the whole Action Pane open, or you can have it collapsed by default. Then, the next time that you open
the page, the Action Pane will be either open or collapsed, based on your last interaction with the page. If you
pinned the Action Pane open, the last tab that you used will be shown.
QuickFilters – A QuickFilter appears above many grids. The QuickFilter lets you filter the grid, based on a
column that you select. The app stores the column that you filtered on. Then, the next time that you open the
page that includes that grid, the grid will be filtered on the same column. However, you can then select a
different column to filter the grid on.
Column header filters – When you filter a grid by using the column header filters, you can change the filter
operator as you require to find the data that you want. For example, you can change the operator from begins
with to is exactly . Every time that you use a column header filter and change the filter operator, the app stores
the change. Then, the next time that you filter on that column, the filter operator will be restored.
Navigation pane – You can open the navigation pane by selecting the Expand the navigation pane button
in the upper left of any page. (This button is sometimes referred to as the Menu button, hamburger,
hamburger menu, or hamburger button.) You can pin the navigation pane open, or you can have it collapsed by
default. After you pin the navigation pane open, the app will keep it open until you collapse it.
Explicit personalizations
Different people and companies have a different perspective on the data that is most important to them, and the
data that they don't require for the way that they run their business. You can tailor the way that your information is
ordered and interacted with. You can also specify that some information should be hidden. These capabilities are
key to a personal and productive experience, and are examples of explicit personalizations. Explicit personalizations
are personalizations that you explicitly make because you want to change the appearance or behavior of an
element or page.
Shortcut menu options
Shortcut menus provide a few ways to explicitly change a page so that it better meets your requirements or the
requirements of your company. (A shortcut menu is also known as a right-click menu or context menu.)
Some of the most typical and important changes that can be made to a page are available directly as options on a
shortcut menu. For example, starting in Platform update 17, if you want to add or hide columns in a grid, just
right-click a column header, and then select Add columns or Hide this column .
Additionally, the most basic types of explicit personalization are available by right-clicking an element and then
selecting Personalize . (Note that not all elements on your page can be personalized.) When you use this
personalization method, the element's property window appears.
You can use the property window to personalize an element in the following ways:
Change the element's label.
Hide the element so that it isn't shown on the page. The data in the field isn't deleted or modified. The
information just doesn't appear on the page any longer.
Include the information in the FastTab's summary section (if the element is on a FastTab).
Skip the field so that it never receives focus when you tab through the page.
Prevent data in the field from being edited (for any record).
Designate a field to be required for data entry. If no value has been entered in this field, it will appear with a red
border and an asterisk to indicate this state. This option is only available starting in version 10.0.11 when the
Saved views and Designate fields as required using personalization features are enabled.
The property window might include other personalization capabilities, depending on the element. For example, the
property window for a tile might let you promote that tile to a dashboard, and the property window for a
dashboard might let you create a new workspace on that dashboard.
The Personalization toolbar
If you want to make multiple changes to a page, or changes that aren't available through other mechanism (for
example, if you want to reorder elements), you can use the Personalization toolbar. To open the Personalization
toolbar, follow one of these steps:
Select Personalize this page in an element's property window.
Select Personalize this page in the Personalize group on the Options tab of any page's Action Pane.
Select the Settings button (the gear symbol) on the navigation bar, and then select Personalize .
NOTE
If the Saved views feature is turned on, the content that you push to a workspace is directly linked to a view. The view's
query is used to fetch data in the workspace, and the corresponding tile or link in the workspace opens the page to that
view, so that the view's query and personalizations are applied to it.
To add a list to a workspace, first sort or filter the list on the page so that it shows the information as you want
it to appear in the workspace. (If the Saved views feature is turned on, you can't continue until you save a view
that has these conditions.) Then select Add to workspace . Select a workspace, and then, in the Presentation
field, select List . After you select Configure , a dialog box appears, where you can select the columns that
should appear in the list in the workspace. You can also specify the label that is used for the list in the
workspace.
To add a tile to a workspace, first filter the list on the page so that it shows the data that should be summarized,
or that you want quick access to. (If the Saved views feature is turned on, you can't continue until you save a
view that has these conditions.) Then select Add to workspace . Select a workspace, and then, in the
Presentation field, select Tile . After you select Configure , a dialog box appears, where you can specify the
label that should be used for the tile in the workspace. You can also specify whether the tile should show a
count. After the tile is added to the workspace, you can select it to open the current page from the workspace.
You can then view the filtered list that is associated with the tile.
To add a link to a workspace, first filter the list on the page so that it shows the data that you're interested in. (If
the Saved views feature is turned on, you can't continue until you save a view that has these conditions.) Then
select Add to workspace . Select a workspace, and then, in the Presentation field, select Link . After you select
Configure , a dialog box appears, where you can specify the label that should be used for the link. You can also
optionally specify a label for a new section that contains this link.
After you've added a list, tile, or link to a workspace, you can open that workspace and rearrange the elements in it
as you want.
Adding a summary from a workspace to a dashboard
Some workspaces contain count tiles (that is, tiles that have numbers on them), and you might want those tiles to
appear on your dashboard too. In a workspace, right-click a count tile, select Personalize , and then, in the tile's
property window, select Pin to dashboard . Then, the next time that you open and refresh the selected dashboard,
the count will appear below the navigation tile for that workspace. You can select that count to go directly to the
data that it represents.
Personalizing your dashboard
The dashboard is often the first page that you see when you open the app. You can personalize the dashboard so
that it shows only the workspace tiles that you want to see. You can also rearrange the tiles so that they appear in
the order that you prefer to see them in, rename your workspace navigation tiles, or add a new workspace tile.
To personalize the dashboard, right-click any tile, and then select Personalize to open the tile's property window.
If you want to hide or rename the selected tile, you can make that change directly in the property window.
To reorder the workspace tiles, in property window, select Personalize this page to open the
Personalization toolbar. You can then use the Move tool to rearrange the tiles as you want.
To add a new workspace tile, in the property window, select Add a workspace . A new workspace tile is created
at the bottom of the dashboard. You can rename this new workspace tile as you want. You can also add lists,
tiles, and links to the workspace as described in the Adding lists, tiles, or links to workspaces section of this
topic.
Administration of personalizations
After you personalize a page, you can share your personalizations with other users by exporting the personalized
page. You can then ask other users to open the personalized page and import the personalization file that you
created. Alternatively, you can give your personalizations to a user who has admin privileges. That user can then
apply your personalization file to many users at the same time.
Users who have admin privileges can also manage personalizations for other users on the Personalization page.
For customers who haven't turned on the Saved views feature, this page has four tabs:
Apply – You can import or select a personalization for one or more users. To apply a personalization to one or
more users, first select a role and users who have that role. Then either select an existing personalization to
apply to the selected users, or import a personalization file. The personalization is validated and will be applied
to all the selected users the next time that they open the selected page.
Clear – You can clear all personalizations for a page or workspace for one or more users. First select a page or
workspace to see a list of the users who have personalized it. Then select the users who should have
personalizations for that page or workspace cleared, and select Clear . All personalizations that the selected
users have applied to the selected page or workspace are deleted. This action can't be undone. However, if a
personalization was saved for the page or workspace, that personalization can be reimported.
Users – Select a user to see a list of the pages that the user has personalized. You can then turn that user's
ability to use personalizations for specific pages, or for the whole system, on or off. You can also import, export,
or clear a personalization for the user. In addition, you can reset feature callouts for the user. In this case, if the
user previously dismissed any pop-up windows that introduce new features, they will appear again the next
time that the user encounters those features.
System – You can temporarily turn off personalization for all users in the system. In this case, all
personalizations are deleted for all users, and all pages are reset to their default state. If you turn
personalization back on later, all personalizations are reapplied. You can also permanently delete all
personalizations for all users in the system. Personalizations that have been deleted can't be recovered.
Therefore, before you perform this task, be sure to export any personalizations that you might want later.
For customers who have turned on the Saved views feature, the Personalization page has five tabs:
Published views – These views have been published to your organization. To change the users who are
targeted by these views, you can change the security roles or legal entities that are associated with each view.
You can also export or delete one or more published views.
Unpublished views – These views are template views that have been imported into your system but haven't
yet been published. You can publish, export, or delete these views.
Personal views – These views have been created by users in the system. You can publish a personal view to
the organization, or copy one or more of these views to other users. You can also export or delete these views
as required.
Users – Select a user to see a list of the pages that the user has personalized. You can then turn that user's
ability to use personalizations for specific pages, or for the whole system, on or off. You can also import, export,
or clear a personalization for the user. In addition, you can reset feature callouts for the user. In this case, if the
user previously dismissed any pop-up windows that introduce new features, they will appear again the next
time that the user encounters those features.
System – You can temporarily turn off personalization for all users in the system. In this case, all
personalizations are deleted for all users, and all pages are reset to their default state. If you turn
personalization back on later, all personalizations are reapplied. You can also permanently delete all
personalizations for all users in the system. Personalizations that have been deleted can't be recovered.
Therefore, before you perform this task, be sure to export any personalizations that you might want later.
Users who have access to the Personalization page can also import personal or template views by using the
Impor t views button on the Action Pane.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific
business functions. For more information about these changes, see Dynamics 365 Licensing Guide.
IMPORTANT
Functionality noted in this topic is available as part of a preview release. The content and the functionality are subject to
change. For more information about preview releases, see Service update availability.
Introduction
Personalization plays an important role in allowing users and organizations to optimize the user experience to
meet their needs. For more details on personalization, see Personalize the user experience.
With traditional personalization, users could only have a single set of personalizations per form. Saved views
expands on personalization in several important ways:
Views permit users to have multiple named sets of personalizations per form, which they can quickly
switch between as needed. This allows a user to create multiple optimized views of a page, where each
view has been tailored to fit the needs of performing a particular business task.
Views created for particular page types can also include user-added filters or sorts, which allows users to
quickly return to commonly filtered datasets. See the What pages support views section for more details.
Views can be published to users in specific security roles and specific legal entities. Therefore, any user
who has a specified role and access to a specified legal entity can access and use that view, even though
that user might not be able to personalize it. This publish capability lets organizations define corporate,
standard views that are optimized for their business. For more information, see the Managing
personalizations at an organizational level with views section.
Unlike traditional personalization, views are not automatically saved when a user performs explicit
personalizations or filters a list. Explicit saves are required to provide flexibility in creating a view before
or after the changes associated with that view have been made and to ensure that view definitions are not
unintentionally altered by filters or personalizations that are not intended for long-term use.
Views can be added to workspaces as tiles, lists, or links. Therefore, a filtered data set can be surfaced in a
workspace, and users can associate a set of personalizations that are relevant to that data set with the tile
or link.
Publishing views
During the publish process, views can be assigned to one or more security roles for one or more legal entities.
Therefore, any user who has access to a legal entity and who is assigned to one of those roles can access and use
the views, although they can't edit them. System admins have access to the Publish action in the view selector
drop-down menu. However, other trusted users in your organization can also be given access to view publishing
via the new Saved views administrator role.
To publish a view, follow these steps:
1. Create and save a personal copy of the view that you want to publish.
2. With that view currently loaded, select the view name to open the view selector drop-down menu.
3. Select the More button and then select Publish . The Publish dialog box will open.
4. Enter a name and (optionally) a description for the view. The name that you enter is the name that users who
receive this view will see in their view selectors. The names of published views for a page must be unique. No
duplicate names are allowed, even if the list of roles or legal entities that the views are applied to differ.
5. Add the security roles that correspond to the users who are being targeted by this view.
6. Add the legal entities that this view should be available for.
7. [10.0.9/Platform update 33 or later] Determine if the view should be published as the default view for the
selected users. Making a view the default means that this is the view users will see the next time they open
the target page. This will modify the default view for these users; however, users can still change their default
view after the publish has occurred.
8. Select Publish .
Note that in some environments, it may take some time (up to an hour) before users see the published view.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
IMPORTANT
Functionality noted in this topic is available as part of a preview release. The content and the functionality are subject to
change. For more information about preview releases, see Service update availability.
The new grid control provides a number of useful and powerful capabilities that can be used to enhance user
productivity, construct more interesting views of your data, and get meaningful insights into your data. This article
will cover the following capabilities:
Calculating totals
Grouping data
Typing ahead of the system
Evaluating math expressions
Calculating totals
In Finance and Operations apps, users have the ability to see totals at the bottom of numeric columns in grids.
These totals are shown in a footer section at the bottom of the grid.
Showing the grid footer
There is a footer area at the bottom of every tabular grid in Finance and Operations apps. The footer can show
valuable information that is related to the data that appears in the grid. Here are some examples of this
information:
The number of selected rows in the table (when more than one record is selected)
Grand totals at the bottom of configured, numeric columns
The number of rows in the dataset
This footer is hidden by default, but can be easily turned on. To show the footer for a grid, right-click on a column
header in the grid and select the Show footer option. Once the footer has been turned on for a particular grid, that
setting will be remembered until the user opts to hide the footer, which can be done by right-clicking on a column
header and selecting Hide footer . Note the placement of the Show footer/Hide footer action is expected to be
re-located in a future update.
Specifying columns with totals
Currently, no columns will be configured to show totals by default. Instead, this is considered a one-time setup
activity, similar to adjusting the widths of columns in grids. Once you specify that you want to see totals for a
column, that setting will be remembered the next time you visit the page.
There are two ways to configure a column to show a total:
Right-click in the column that you want to see a total for, and then select Total this column . This action
causes three events to occur:
1. The footer becomes visible.
2. Your preference for seeing a total for this column is saved.
3. A calculation of totals is initiated for this column and any other columns that you previously configured
to see totals for. The time that is required to show a total depends on the size of the dataset that you're
totaling.
After the footer is visible, select Show total in the footer area at the bottom of the column that you want to
see a total for. If there are no configured columns, the Show total button will be available for all numeric
columns.
After at least one column is configured for totals, the Show total buttons will be available only on hover or
focus. The action of selecting Show total just saves your preference for seeing a total in this column, so that
the preference is applied during future visits to the page. In the footer, this state is indicated by a dash that
appears in the column. (Alternatively, if the dataset is small enough, a total is immediately shown.)
If you make a mistake and no longer want to see a total in a particular column, right-click on the column and select
Hide total or select the Hide total button in the footer in that column. This preference will also be saved for future
visits to the page.
Calculating totals
When you come to a page with the footer visible and columns already configured for totals, totals may or may not
be shown in the footer. The behavior is dependent on the size of the dataset on the page. If the dataset is sufficiently
small, totals will be shown automatically, along with the number of rows in the dataset. If there are dashes in the
footer under the columns you configured for totals, then the dataset is too large for the system to show totals
immediately, and an explicit action is needed to calculate the totals. To do this, click the Calculate button in the
footer, or right-click on a column you want a total for and select Total this column .
If the calculation is taking too long, you can cancel the operation by selecting the Cancel button. Sometimes,
however, the dataset will be too large to calculate totals (a limit imposed by your organization), and you will instead
be notified to filter your data more.
Totals will update automatically as you update, delete, or create rows in the dataset.
Grouping data
Business users often need to perform ad-hoc analysis of data. While this can be done by exporting data to
Microsoft Excel and using pivot tables, the Grouping capability in tabular grids allows users to organize their data
in interesting ways within Finance and Operations apps. As this feature extends the Totals feature, Grouping also
allows you to get meaningful insights into the data by providing subtotals at the group level.
To use this feature, right-click on the column you wish to group by, and select Group by this column . This action
will sort the data by the selected column, add a new Group by column to the beginning to the grid, and insert
"header rows" at the beginning of each group. These header rows provide the following information about each
group:
Data value for the group
Column label (This information will be especially useful after multiple levels of grouping are supported.)
Number of data rows in this group
Subtotals for any column configured to show totals
With Saved views enabled, this grouping can be saved by personalization as part of a view for quick access the next
time you visit the page.
If you select Group by this column for a different column, the original grouping is replaced, because only one
level of grouping is supported in version 10.0.9 with Platform update 33.
To undo grouping in a grid, right-click on the grouping column and select Ungroup .
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
While there is an extensive set of fields out-of-the-box for managing a broad range of business processes,
sometimes there is a need for a company to track additional information in the system. While programmers can be
used to add those fields as extensions in the developer tools, the custom fields feature allows fields to be added
directly from the user interface, thereby allowing you to tailor the application to fit your business using your web
browser.
The ability to add custom fields is available in platform update 13 and later. Only users with special permissions
have access to this feature.
This video shows how easy it is to add a custom field to a page: Adding custom fields.
NOTE
This action cannot be undone, and will result in the data associated with the field being permanently deleted from the
database.
Appendix
Who can create custom fields?
As a safeguard to the system, only system administrators are able to create custom fields by default. However,
those power users whom the organization deems necessary can be given rights to create custom fields by a
system administrator using the Runtime customization power user security role. Users without this security
role will not be able to create custom fields, but will still be able to see and interact with custom fields added by
other users in the system.
What tables support custom fields?
For performance and technical reasons, only tables that meet the following conditions currently allow custom fields
to be added.
The table must be tagged as one of these groups:
Group
WorksheetHeader
Main
Miscellaneous
Parameter
Reference
TransactionHeader
The table cannot extend another table.
The table cannot be marked as a system table.
The table cannot be a temporary table.
Can I reference custom fields from the developer tools?
Custom fields can only be managed through the user interface and cannot be referenced by code.
Embed Microsoft Power Apps
2/12/2020 • 7 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
Finance and Operations supports integration with Microsoft Power Apps, a service for developers and non-
technical users to build custom business apps for mobile devices, tablets, and the web without writing code. Power
Apps developed by you, your organization, or the broader ecosystem can then be embedded in Finance and
Operations apps to augment the product's functionality. For example, you might build an app from Power Apps to
supplement a Finance and Operations app with information retrieved from another system.
To learn more about embedding Power Apps, watch the short How to embed Power Apps video.
Building an app that leverages data sent from Finance and Operations
apps
An important part of building an app from Power Apps that will be embedded in a Finance and Operations app is
utilizing the input data from that application. From the Power Apps development experience, the input data passed
from a Finance and Operations app can be accessed using the Param("EntityId") variable.
For example, in the OnStart function of the app, you could set the input data from Finance and Operations apps to
a variable like this:
Viewing an app
To view an embedded app on a page in Finance and Operations apps, simply go to a page with an embedded app.
Recall that apps can be accessed through the Power Apps button in the standard Action Pane, or can appear
directly on the page as a new tab, FastTab, blade, or as a new section in a workspace. When a user first attempts to
load an app on a page, he or she will be prompted to sign in to ensure the user has the appropriate permissions to
use the app.
Removing an app
After an app has been embedded onto a page, there are two ways to remove it if needed:
Go to the Edit an app pane using the instructions from the Editing an embedded app section earlier in this
topic. Confirm that the pane displays information for the embedded app that you would like to remove, and
then click the Delete button.
Because the embedded app is saved as personalization data, clearing your page's personalization will also
remove any embedded apps on that page. Note that clearing the page's personalization is permanent and
cannot be undone. To remove your personalizations on a page, select Options , and then Personalize this
page , and finally the Clear button. After refreshing your browser, all the previous personalizations for this page
will be removed. See Personalize the user experience for more information about how to optimize pages using
personalization.
Appendix
Developer control over where an app can be embedded
By default, users can embed apps on any page, either under the Power Apps menu button or directly on the page
as a tab, FastTab, blade or as a new section in a workspace. However, if required, developers can also configure this
feature to only allow embedding of apps on certain pages by implementing the following methods:
isPowerAppPersonalizationEnabled – If this method returns false for a specific page, then the Power Apps
menu button will not be shown, and users will not be able to embed apps anywhere on this page, including as a
tab.
isPowerAppTabPersonalizationEnabled – If this method returns false for a specific page, then users will not
be able to embed apps directly on the page as a tab, FastTab, or panorama section. Users will still be able to
embed apps through the Power Apps menu button if embedding is allowed on the page.
The following example shows a new class with the two methods needed to configure where apps can be
embedded.
[ExtensionOf(classStr(FormRunConfigurationPowerAppsConfiguration))]
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
Many fields have lookups that can help you easily find the correct or desired value. Several enhancements have
been added to lookups that make these controls more usable and make users more productive. In this topic, you
will learn about these new lookup features and will receive some helpful tips to get the optimal use out of lookups
in the system.
Responsive lookups
In previous versions, when interacting with a lookup control, a user would have to take an explicit action to open
the drop-down menu. This may have been by typing an asterisk (*) in the control to filter the lookup based on the
current value of the control, clicking the drop-down button, or by using the Alt +Down arrow keyboard shortcut.
Lookup controls have been modified in the following ways to better align with current web practices:
Lookup drop-down menus will now open automatically after a slight pause in typing, with the drop-down
menu contents filtered based on the lookup control's value.
Note that the old behavior of automatic opening of the dropdown after typing an asterisk (*) has been
deprecated.
After the lookup drop-down menu has opened, the following will occur:
The cursor will stay in the lookup control (instead of focus moving into the drop-down menu) so you can
continue to make modifications to the control's value. However, the user can still use the Up arrow and
Down arrow to change rows in the drop-down menu, and enter to select the current row in the drop-
down menu.
The contents of the drop-down menu will adjust after any modifications are made to the lookup control's
value.
For example, consider a lookup field called City .
When focus is in the City field, you can start looking for the city that you want by typing a few letters, like "col."
After you stop typing, the lookup will open automatically, filtered to those cities that begin with "col".
At this point, the cursor is still in the lookup field. If you continue typing so the value is "colum," the lookup contents
adjust automatically to reflect the latest value in the control.
Even though focus is still in the lookup control, you can also use the Up arrow or Down arrow keys to highlight
the row that you want to select. If you press Enter the highlighted row will be selected from the lookup and the
control's value will be updated.
However, the user can also now enter the beginning of an Account name as well. If this is detected, then the user
will see the following lookup. Notice how the Name column is moved to be the first column in the lookup, and how
the lookup is sorted and filtered based on the Name column.
Using grid column headers for more advanced filtering and sorting
The lookup enhancements discussed in the previous two sections greatly improve a user's ability to navigate the
rows in a lookup based on a "begins with" search of the ID or Name field in the lookup. However, there are
situations in which more advanced filtering (or sorting) is needed to find the correct row. In these situations, the
user needs to use the filtering and sorting options in the grid column headers inside the lookup. For example,
consider an employee entering a sales order line who needs to locate the right "cable" as the product. Typing
"cable" into the Item number control isn't helpful, as there are no product names that begin with "cable."
Instead, the user needs to clear the value of the lookup control, open the lookup drop-down menu, and filter the
drop-down menu using the grid column header, as shown below. A mouse (or touch) user can simply click (or
touch) any column header to access the filtering and sorting options for that column. For a keyboard user, the user
simply needs to press Alt +Down arrow a second time to move focus into the drop-down menu, after which the
user can tab to the correct column, and then press Ctrl +G to open the grid column header drop-down menu.
After the filter has been applied (see the image below), the user can find and select the row as usual.
Change the date for a session
3/18/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This topic explains how to change the date for a session. By default, the current date is used when entering and
posting journal entries or source documents. You can change the date that is used for your current session. Use this
feature to back-date journal entries or source documents, as necessary.
1. In the navigation pane, go to Modules > Common > Common > Session date and time .
2. In the Date field, enter a date.
3. Select OK .
Set a user's preferred time zone
3/18/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The following topic explains how a user in the System Administrator role can set the time zone for a user.
1. Go to Navigation pane > Modules > System administration > Users > Users .
2. In the list, find and select the desired record.
3. Select User options .
4. Select the Preferences tab.
5. In the Time zone field, select an option from the drop-down list.
6. Select Save .
Lifecycle Services (LCS) for Finance and Operations
apps customers
3/12/2020 • 4 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This article is intended for customers who have signed up for the current versions of Finance and Operations apps.
Partners who are working with customers to help them move through the lifecycle of their Lifecycle Services (LCS)
project will also find this information useful.
LCS workspace for the current versions of the Finance and Operations
apps
When you sign up for the current versions of Finance and Operations apps, your subscription includes an
Implementation project workspace. After you activate the service, the tenant administrator must sign in at
https://lcs.dynamics.com by using the tenant account. The project workspace is automatically created for your
organization. The workspace includes the following elements:
Enabled features, based on the offer that you selected
Environments that are deployed and managed by Microsoft
Guidance that is provided through the Action center to help you complete required actions
A new methodology experience that includes tasks that lock as you move through the implementation
A more complete history that specifies who completed each methodology phase and task
Milestones that you can use to track critical project dates
Various services to help you with your implementation
Methodologies
As a customer, you must complete the steps that are outlined in the methodology to gain access to the production
environment. Before a phase can be marked as completed, you must complete the specified mandatory tasks.
Locked tasks, such as tasks 1.6 and 1.9 in the following screen shot, are unlocked after you've completed the
required actions. To learn which actions must be completed before a specific task can be unlocked, click the lock
icon for that task.
In the case of prerequisites, after you complete the required tasks, you can mark the dependent tasks as completed.
For example, in the following screen shot, tasks 1.6 and 1.9 depend on task 1.5. Because task 1.5 has now been
completed, the two dependent tasks can be marked as completed.
Milestones
High-level milestones must be defined for a project. Milestones can help you track the deliverables that must be
completed and your progress toward the milestone goals. Color indicators help you quickly learn whether you're
behind schedule. For example, in the following screen shot, the milestones are yellow. To enter or update the
milestone dates, click the diamond shape in the methodology, and then click the Edit button (pencil icon). You can
change milestone dates at any time.
When you've finished entering milestones, the Publish plan and milestone task opens, and you can mark it as
completed.
When you've completed all the required tasks in a phase, you can click Complete phase to mark the phase as
completed. After you mark a phase as completed, next steps become available in Microsoft Dynamics Lifecycle
Services (LCS).
Methodology description and history
Descriptions can help you understand what is expected of you for a specific methodology task or phase. You can
expand the methodology description to learn more about each task, and then collapse the description when you've
finished. The task and phase history can tell you when a task or phase was completed or reopened. If you're a
project manager, this information can help you stay on top of the high-level tasks that are required for your
implementations.
Subscription estimator
Use can use the Subscription estimator tool to evaluate your subscription requirements for the current versions of
the Finance and Operations apps. To use Subscription estimator, download the usage profile, which is a Microsoft
Excel workbook. Then, in the workbook, complete the following worksheets:
Deployment details
Instance Characteristics
Retail & Commerce
After you've completed the worksheets, enter the data from the summary sheet into Subscription estimator by
clicking + New estimate . You must make one estimate the active estimate. Make sure that the estimate that you
mark as active is same as the offer that you bought through the VL or CSP channel.
]
Because the information that you enter determines your experience, carefully review your input. After you've
entered all the required information, sign-off is required for the deployment request. The user who completes the
sign-off becomes the system administrator on the instance. Verify that the correct user completes the sign-off for
the deployment. After the sign-off is completed, the Microsoft site reliability engagement team reviews the request.
After the team has reviewed the information that you entered, it initiates the provisioning. If the information isn't
correct, the team will contact you. After the provisioning is completed, the status is updated to indicate that the
environment has been deployed, as shown in the following screenshot. If the provisioning takes longer than
expected, the Microsoft site reliability engagement team reviews the status and takes appropriate actions. These
actions might include contacting you. After the environment is provisioned, click Full details to open the
Detailed environment page, where you can sign in to the system, view the monitoring status, or view relevant
updates.
Dynamics 365 Commerce architecture overview
4/10/2020 • 12 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic provides an overview of all components in the Microsoft Dynamics 365 Commerce ecosystem, including
integration points to the suite of Dynamics 365 products.
The following illustration shows an overview of Dynamics 365 Commerce components.
Architecture benefits
Omni-enabled headless commerce engine
The commerce scale unit hosts the headless commerce engine. It serves as the central integration point for all
commerce business logic, and powers a complete omni-channel solution across physical and digital stores. The
commerce scale unit is built by using a portable architecture, and allows for flexible hosting options across cloud,
edge, and hybrid topologies.
The headless commerce engine powers all native Dynamics 365 Commerce channels, including in-store and e-
commerce channels. It also serves as the single integration point for third-party channel solutions. Therefore, those
solutions can take advantage of the power of Dynamics 365 Commerce business logic and integration with other
commerce-related services that are provided by Microsoft and independent software vendors (ISVs).
Interconnected business processes
The platform that is shared among the various Dynamics 365 business applications, such as Dynamics 365
Commerce, Dynamics 365 Supply Chain Management, and Dynamics 365 Finance, provides a set of interconnected
business processes that users can immediately benefit from. All back-office capabilities across these applications
are built on the same web experience and data stores. Therefore, there is a seamless flow of business processes
across various functions in the organization, but custom integrations across applications and services aren't
required. The out-of-box integration between the headless commerce engine and the back office further expands
the coverage of these interconnected business processes across the back office and commerce channels.
Unified data
Dynamics 365 Commerce provides a unified data solution through out-of-box integrations with Common Data
Service and Azure Data Lake Storage. Integrations and data sharing across Dynamics 365 business applications
such as Dynamics 365 Sales and Dynamics 365 Marketing are supported through the shared Common Data
Service. Transactional data in Data Lake Storage is used to power various analytics and insight scenarios in the
Dynamics 365 Commerce solution. However, it can also be used by any third-party software integration.
Powered by AI and analytics
Because of the accessible, persistent, up-to-date, and unified organizational data that is available in Data Lake
Storage, the whole organization has a "single source of truth" that analytics, artificial intelligence (AI), and machine
learning (ML) can be applied on top of. In this way, the organization can derive insights and get key performance
indicators (KPIs) that can be used optimize and automate business processes across all channels.
Component overview
User experiences
Dynamics 365
Dynamics 365 is a collection of applications that together provide comprehensive and flexible enterprise resource
planning (ERP) solutions for medium to large businesses. It provides an extensible framework and ecosystem that
can be tailored to customer-specific requirements via an extensive set of partners. Dynamics 365 applications
provide capabilities for their target business segments. They also take advantage of each other, and other Microsoft
services and offerings, to provide solutions that help run customers' complex businesses.
Modern POS
Modern POS is a cross-platform (Windows, iOS, and Android), multi–form factor (desktop, tablet, and phone)
solution for all in-store first-line workers, such as cashiers, sales associates, stock clerks, and store managers. It can
be deployed as an app that has offline capabilities. Alternatively, it can be deployed in the cloud and accessed
through a web browser. The application is role-based and fully configurable from headquarters. It's also highly
customizable, and can be extended or integrated into third-party services by using the Retail software development
kit (SDK).
In addition to standard "cash and carry" transaction processing, Modern POS includes features for assisted selling,
clienteling, endless aisle, order processing/fulfillment, inventory management, cash/shift management, and
reporting. For more information, see Modern POS (MPOS) architecture and Choose between Modern POS (MPOS)
and Cloud POS.
E-commerce storefront
The e-commerce storefront is the customer-facing website rendering system. It's built on the React.js framework,
and uses a combination of server-side and client-side rendering to deliver responsive web experiences for one or
more online channels. Although the storefront has a rich set of out-of-box capabilities, it's also highly customizable,
and delivers an efficient and scalable solution for online business. For more information, see Online store overview.
Site builder
Site builder is the web-based authoring interface for the content management and storefront website rendering
systems. It provides a what-you-see-is-what-you-get (WYSIWYG) editor for site managers and content authors who
perform the day-to-day workflow tasks of managing and producing the marketing content for the e-commerce
experience. In site builder, a marketer can provide more marketing detail for specific products to enhance the
shopping experience for consumers. In addition, site builder includes integrated accessibility reporting, URL
management, site map generation, and image focal point management, among other features. For more
information, see Online store overview.
External services and apps
The headless commerce engine that is exposed via the commerce scale unit lets partners and customers take
advantage of all the same channel-side capabilities and business logic that are used by the out-of-box e-commerce
and point of sale (POS) components. Therefore, by tapping into the same data and business process capabilities, it
allows for seamless omni-channel capabilities across out-of-box channel components and partner-
provided/customer-developed services and applications. It also provides access to all out-of-box and ISV-developed
surround services that are available through the commerce scale unit.
Back office
Dynamics 365 Commerce headquarters
The Dynamics 365 Commerce application, which is often referred to as the Commerce headquarters component,
provides back-office capabilities that enable the configuration of products, employees, business processes, and
other functionality that is required for the business. It's also the application that call center workers use to provide
assisted commerce-related workflows.
Dynamics 365 Supply Chain Management
Dynamics 365 Supply Chain Management provides functionality to help you manage your products throughout the
supply chain lifecycle, from production, to inventory and warehouse, to transportation and distribution. For more
information, see Help resources for Supply Chain Management.
Dynamics 365 Finance
Dynamics 365 Finance provides functionality to automatically manage your global finances. For customers of the
Dynamics 365 Commerce application, Dynamics 365 Finance offers an integrated experience for managing stores
and e-commerce financial statements alongside the rest of their operations. For more information, see Dynamics
365 Finance help resources.
Dynamics 365 Human Resources
Dynamics 365 Human Resources lets businesses get a comprehensive view of their employee resources and
manage them in a unified way. It provides integrated experiences from the hiring process through workforce
planning and employee time management. For more information, see Dynamics 365 Human Resources help
resources.
Commerce scale unit
Retailers are distributed organizations, where the business topography can be represented as a hub and spoke
model. Dynamics 365 Commerce supports this model by having head-office capabilities (the hub), and also many
distributed channel components (the spokes) that can be deployed and self-managed in-store or in nearby
Microsoft-managed Azure datacenters. The spokes are referred to as scale units, because they represent physical
isolation (a function of scale) and an atomic unit of update.
To facilitate cloud and edge computing scenarios, a commerce scale unit is available both as a software as a service
(SaaS) component that is managed by Microsoft (cloud scale unit) and as a self-managed component that can be
deployed locally (store scale unit). A single environment can have a mixture of cloud scale units and store scale
units. Therefore, organizations can tune their investments in operational overhead on a store-by-store basis by
implementing network redundancy for poor connectivity. For more information, see Select an in-store topology.
Cloud scale units (Microsoft-managed)
Multiple scale units can be associated with each environment. Each scale unit can be independently serviced and
updated, and each can serve one or more channels across one or more legal entities. Each scale unit can be
deployed to any of the supported Azure regions, and multiple scale units can be deployed to the same region. The
independent nature of each scale unit allows for phased rollout of updates across a collection of channels.
Store scale units (self-managed)
The ability to bring the cloud scale unit to edge computing helps accommodate scenarios where internet
connectivity is poor or unreliable. For retailers, this approach typically means having a physical footprint in their
stores. By using a store scale unit, retailers can bring the same business logic and capabilities that run in the Azure
cloud into their stores. In these cases, although in-store connectivity is presumably more reliable, self-management
of these components will involve additional overhead in terms of monitoring and updates. For more information,
see Select an in-store topology.
E-commerce platform
Content management system
A fully featured content management system (CMS) is integrated directly into the e-commerce platform. In addition
to rich indexing features, the CMS provides lifecycle management for marketing materials that supplement the
product information that is managed by the headless commerce engine. It includes features for localization and
multi-item publishing through releases. The system is built on top of a scalable, resilient Azure infrastructure that
includes Azure Active Directory (Azure AD) and Azure Cosmos DB.
Digital asset management
Commerce digital asset management extends the content management store, and keeps track of images, videos,
and file downloads that are served by the web storefront site. Its image resizer service optimizes downloaded
images for different devices and contexts. In this way, it helps enhance performance while it also manages image
quality. Digital asset management is also integrated with Azure Media Services for efficient playback of video
streams.
Web storefront
The CMS stores its pages as a series of modules. The storefront web server assembles those modules into a
rendered HTML page. The web storefront is composed of the rendering platform, the commerce data proxy, and the
extensibility layer. Those components form a base that is supplemented by a set of modules that power a web-
based commerce experience, the Dynamics 365 Commerce starter kit. The initial starter kit can be modified to meet
each business's unique requirements. Alternatively, it can be supplemented by extensions and modules that are
developed by a partner.
Commerce surround services
Dynamics 365 Fraud Protection
Dynamics 365 Fraud Protection is integrated into the e-commerce checkout flows that are managed and processed
through the commerce scale unit. The connection to the service is automatically provisioned with the commerce
scale unit, and customers who sign up for Dynamics 365 Fraud Protection can enable and configure the integration
in Commerce headquarters. The service can run either in "evaluate" mode, so that you can assess the effectiveness
of the service, or in "protect" mode, so that you can catch fraudulent transactions by using configured business
rules. For more information, see Dynamics 365 Fraud Protection integration with Dynamics 365 Commerce.
Dynamics 365 Customer Insights
Dynamics 365 Customer Insights helps you gain a deeper understanding of your customers by connecting data
from various transactional, behavioral, and observational sources to create a 360-degree customer view and
generate insights. Dynamics 365 Commerce makes it easy for retailers to enable the integration with Dynamics 365
Customer Insights and show the generated insights at the POS. These insights include churn probability and next
best action, and they are valuable because they help sales associates have effective conversations with customers
and deliver personalized shopping experiences to them. For more information, see Dynamics 365 Customer
Insights integration with Dynamics 365 Commerce.
Bing for Commerce
Microsoft Bing for Commerce is integrated into Dynamics 365 Commerce to provide consistent product discovery
and search experiences across all commerce channels that use the commerce scale unit. In Commerce
headquarters, retailers can configure boosting and sinking business rules for product discovery and search
experiences. (For example, these rules can be used to boost product discovery for discounted products or remove
items that are out of stock.) In this way, retailers can turn shopper frustration and site abandonment into active
carts and converted sales. By taking advantage of an out-of-box capability that this integration provides, retailers
can let customers use images to search for and discover similar products from a catalog without having to describe
them.
Product recommendations
Dynamics 365 Commerce can be used to show product recommendations on the e-commerce website and POS
devices. These product recommendations are items that a customer might be interested in, and they are based on
the purchase trends of other customers in online and brick-and-mortar stores.
Product recommendations let customers easily and quickly find products that they might want to purchase, and
cross-selling and upselling can be used to help customers find additional products that they didn't originally intend
to buy. When recommendations are used to assist with product discovery, they can help create more conversion
opportunities, increase sales revenue, and enhance customer satisfaction and retention. For more information, see
Product recommendations overview.
Commerce analytics
Dynamics 365 Commerce's prepackaged, business-managed commerce analytics solution provides retailers with
intelligent insights across all points of the Commerce ecosystem by embedding Power BI reports in Commerce
headquarters and POS systems. The commerce analytics solution provides a comprehensive set of out-of-box
business and transactional reports, dashboards, and KPIs that take advantage of insights across all channels.
The solution standardizes data from various sources (such as transactional, behavioral, observational, or external
data sources) into a unified data model that is hosted in Azure Data Lake Storage. Therefore, organizations can
obtain a truly complete view of their business performance across channels. For example, they can analyze the
performance of discount promotions, monitor web visits and activity, compare in-store visits and purchases with
online purchases, track loyalty redemptions, or do customer recency, frequency, monetary (RFM) analysis.
Ratings and reviews
The Commerce ratings and reviews solution lets online retail customers enter product reviews and ratings through
the e-commerce storefront. Retailers can then show averaged ratings and review information across their e-
commerce websites. Azure Cognitive Services offers automatic moderation of profane words in 40 languages, and
because human approval isn't required, moderation costs are reduced. The system also offers moderator tools that
can be used to respond to customer concerns, feedback, and take-down requests, and to address data requests
from users. For more information, see Rating and reviews overview.
Unified data components
Azure Data Lake Storage
Customers who bring their own Azure Data Lake Storage accounts can take advantage of structured business data
from back-office operations and clickstream data from the e-commerce storefront. This data flows back into
intelligence services such as product recommendations, customer insights, and commerce analytics to power
customer-centric business processes and user experiences. Those business processes and user experiences can then
be embedded back into Dynamics 365 Commerce headquarters, the POS, and e-commerce storefronts. For more
information, see Make Entity store available as Data Lake.
Common Data Service
Common Data Service is the unified data store that integrates the data from all your business applications.
Dynamics 365 applications such as Dynamics 365 Sales, Dynamics 365 Customer Service, and Dynamics 365
Commerce use Common Data Service to store business data. Therefore, Common Data Service enables cross-
business application scenarios, and can power new scenarios through Power Apps and Power Automate. For more
information, see What is Common Data Service.
Additional resources
Azure Data Lake Storage
Common Data Service
Modern POS (MPOS) architecture
Dynamics 365 Supply Chain Management
Dynamics 365 Human Resources
Dynamics 365 Finance
Dynamics 365 Fraud Protection
Dynamics 365 Fraud Protection integration with Dynamics 365 Commerce
Dynamics 365 Customer Insights
Microsoft Bing for Commerce
Commerce Scale Unit architecture
2/1/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This article describes the architecture of Commerce Scale Unit. Commerce Scale Unit provides stateless services
and business logic for Modern Point of Sale (MPOS) and E-Commerce clients.
C O N C EP T DESC RIP T IO N
Entity type An entity type is an entity that has a life cycle that you want
to monitor. Each entity type has a key. An example of an entity
type is Customer .
C O N C EP T DESC RIP T IO N
Metadata Metadata defines the contract between the client and the
server.
You can create your own entity type or complex type, extend an existing controller, add a new controller, and
customize the metadata. If you customize the commerce runtime, you must also customize various components in
Commerce Scale Unit to expose those changes to your Retail Modern POS clients.
Select an in-store topology
2/13/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This topic provides an overview of the various Dynamics 365 Commerce in-store topologies.
Deployed components
The following components are deployed through a single installer. This means that they do not need to be installed
individually.
Modern POS
DEP LO Y ED C O M P O N EN T C O M P O N EN T T Y P E N OT ES
Modern POS App Universal Windows Platform (UWP) The Modern POS application running
Application on the register.
Modern POS Client Broker COM Surrogate hosting native binaries Hosts the Commerce Runtime to
for the Modern POS support operations to execute in offline
mode as well as Async Client Libraries
needed to synchronize data between
the Modern POS and the HQ.
Commerce Scale Unit IIS Web Service Scale unit specific Commerce Scale Unit
instance used by one or more stores.
Channel Database SQL Database Scale unit specific Store specific Channel
Database instance hosting data for one
or more stores.
Cloud POS IIS Web Service Cloud POS application that hosts POS
functionality through a web browser.
Additional resources
MPOS offline mode
For more information about MPOS offline mode, see:
Offline point of sale (POS) functionality
Online and offline point of sale (POS) operations
Mass deployment of self-service components
Commerce Scale Unit
The Commerce Scale Unit is a set of components that can be deployed in a customer environment, such as inside a
store, that can support continuous operations if connectivity to the back office or headquarters (HQ) is lost.
For more information, see:
Configure and install Commerce Scale Unit
Commerce Scale Unit
Commerce Data Exchange and commerce channel
communications
2/1/2020 • 3 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic provides an overview of Commerce Data Exchange and its components. It explains the part that each
component plays in the transfer of data between Microsoft Dynamics 365 Commerce Headquarters and channels.
Overview
Commerce Data Exchange is a system that transfers data between Headquarters and channels, such as online
stores or brick-and-mortar stores. The database that stores data for a channel is separate from the Commerce
database. The channel database holds only the data that is required for transactions. Master data is configured in
Headquarters and distributed to channels. Transactional data is created in the point of sale (POS) system or the
online store, and then uploaded to Headquarters. Data distribution is asynchronous. In other words, the process of
gathering and packaging data at the source occurs separately from the process of receiving and applying data at
the destination. For some scenarios, such as price and inventory lookups, data must be retrieved in real time. To
support these scenarios, Commerce Data Exchange also includes a service that enables real-time communication
between Headquarters and a channel.
Async Service
Microsoft SQL Server change tracking on the Commerce database is used to determine the data changes that must
be sent to channels. Based on a distribution schedule, Headquarters packages that data and saves it to central
storage (Azure blob storage). A separate batch process uses the Commerce Data Exchange: Async Client library to
insert this data package into the channel database.
Commerce scheduler
Scheduler jobs are the mechanism for distributing data to and from locations. Jobs are made up of subjobs, which
specify the tables and table fields that contain the data to distribute. Headquarters includes predefined scheduler
jobs and subjobs that meet the replication requirements of most organizations. The following types of predefined
jobs are created:
Download jobs – Download jobs send data that has changed from Headquarters to channel databases.
Modifications to records are tracked through SQL Server change tracking.
Upload jobs (P jobs) – Upload jobs pull sales transactions from a channel into the Commerce database. P jobs
upload data incrementally. When a P job runs, the Async Client library checks the replication counter for records
that have already been received from a location. A record is uploaded only if its replication counter is more than
the largest value that is found. P jobs don't update data that was previously uploaded.
The distribution schedule is used to run the data transfer, either manually or by scheduling a batch job in
Headquarters. A distribution schedule can contain one or more channel data groups, and one or more scheduler
jobs. To ensure that the scheduler jobs are running smoothly, do not rename the "Default" database configured for
the instance, and do not create a second database. All non-Commerce Scale Unit databases are managed by
Microsoft, and only one default database is expected.
Realtime Service
Commerce Data Exchange: Real-time Service is an integrated service that provides real-time communication
between Headquarters and channels. Real-time Service enables individual POS computers and online stores to
retrieve specific data from Headquarters in real time. Although most key operations can be performed in the local
channel database, the following scenarios require direct access to the data that is stored in Headquarters:
Issuing and redeeming gift cards
Redeeming loyalty points
Issuing and redeeming credit memos
Creating and updating customer records
Creating, updating, and completing sales orders
Receiving inventory against a purchase order or transfer order
Performing inventory counts
Retrieving sales transactions across stores and completing return transactions
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic contains conceptual information to help developers and system administrators understand how channels
and catalogs are published from the commerce module to an online store in Microsoft SharePoint 2013 Products.
Understanding the publishing process can help you develop, manage, and troubleshoot your online store.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
NOTE
This PowerBI.com solution has been deprecated as documented in Power BI content packs available on AppSource.
This topic provides information about the Retail channel performance PowerBI.com solution for Dynamics AX. This
PowerBI.com solution lets channel managers quickly build channel performance analytics to predict trends and
uncover insights, based on sales performance.
The Retail channel performance PowerBI.com solution lets you quickly build your channel performance analytics.
The PowerBI.com solution is designed specifically for channel managers who focus on sales performance to predict
trends and uncover insights. Its components draw directly from Retail and commerce data in the Dynamics AX
database, and provide drill-down reports about organization-wide sales performance across global geography by
employee, category, product, terminal, channel, and more. Power BI automatically creates reports and dashboards
that give you a great starting point for exploring and analyzing your Retail and commerce data. This article includes
the following information:
Learn how to connect the Retail channel performance PowerBI.com solution to a Dynamics AX data source.
View a list of reports that provide insights into retail channel performance.
Learn how to modify an existing report in the PowerBI.com solution to make it self-authored.
Get a glimpse of an actual data model that enables the whole experience in Power BI.
10. You can then take advantage of the Q&A feature in Power BI to query your Dynamics AX sales data by using
natural language.
3. In the list of category levels for this hierarchy, select Categor y Level 1 . The name of the chart that you
selected this attribute for changes to Total amount by Month/Year and Categor y level 1 , and the chart
now shows the share of sales in each category for each month.
4. Finally, try to change the visualization itself. Select the Total amount by Month/Year and Categor y
level 1 chart, and then, in the Visualizations pane, click Area char t or Stacked area char t , and see the
effect.
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
IMPORTANT
If a version of Microsoft Dynamics 365 is implemented and the PA-DSS certification has not yet been completed by Microsoft,
there may be potential impact to the retailer's Payment Card Industry (PCI) audit and certification. Specifically, until the PA-
DSS certification is complete for the associated version, PCI certification can become more difficult and involved as the
Payment Application may come into scope of testing during the certification.
This topic explains the past, current, and pending listings of PA-DSS certification for Microsoft Dynamics 365. To
view the current certifications, see PCI PA-DSS certified payment applications.
PA-DSS implementation guides that are available are linked to in the Version column in the tables below.
Past certification
REL EA SE VERSIO N B UIL D
Current certification
REL EA SE VERSIO N B UIL D
* The PDF document in this link applies to both Dynamics 365 for Retail (as it states) and Dynamics 365 for Finance
and Operations, Enterprise edition.
Certification in progress
REL EA SE VERSIO N B UIL D
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This topic lists Commerce capabilities that are available in on-premises deployments.
For more information about on-premises deployments, see On-premises deployment home page.
Registers Available
Devices Available
Customer
The following table indicates which customer components are available in on-premises deployments.
Merchandising
The following table indicates which merchandising components are available in on-premises deployments.
C O M P O N EN T O N - P REM ISES STAT US
Assortments Available
Inventory management
The following table indicates which inventory management components are available in on-premises deployments.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This topic explains how to use the Asset library and Shared asset library in Microsoft Dynamics Lifecycle Services
(LCS), and Dynamics 365 Headquarters, to upload and synchronize self-service installers so that they can be used
with the standard self-service download mechanism.
IMPORTANT
The earlier method of uploading self-service packages is currently still supported. However, it's obsolete and will be removed
in the future.
Key terms
T ERM DESC RIP T IO N
Shared asset library In LCS, two types of asset libraries are available: the Shared
asset library and the project-level Asset library. For more
information about these libraries, see Asset library in Lifecycle
Services (LCS).
Asset library For more information, see Asset library in Lifecycle Services
(LCS).
Overview
The Retail Self-ser vice package subsection in the Shared asset library stores all monthly releases for self-service
installers. These installers include Modern POS (which includes the offline version), Commerce Scale Unit (which
was formerly known as Retail Store Scale Unit [RSSU]), and hardware station. You can also upload customized
installers into both this library and the project-level Asset library. By using these locations, you can then synchronize
the available installers in Dynamics 365 Headquarters. After synchronization is completed, all the installers that are
available between these two libraries (and whatever previously existed in the environment) will be accessible for the
standard self-service download processes that are described in detail in separate topics (see the links in the table of
terms earlier in this topic).
The following illustration shows a generic example of the Retail Self-ser vice package subsection in the Shared
asset library (or Asset library).
Synchronize installers in Dynamics 365 Headquarters
1. Go to Retail and Commerce > Headquar ters setup > Parameters > Commerce parameters .
2. On the Channel deployment tab, select Check for package updates to perform synchronization. The
installers that are available for download (through standard self-service processes) are synchronized and
updated, depending on which of the installers that are currently available in LCS apply to environment.
IMPORTANT
Previously, the RetailSelfService table was used as the source that all installer information was pulled from. Information
was entered in this table, based on the installers that had been uploaded into headquarters through the earlier
package application method. The new self-service population methodology combines all values in the RetailSelfService
table (the earlier self-service package upload method) with all available installers in the LCS Shared asset library. The
self-service drop-down package selectors will show the options from this newly synchronized, combined source.
As was stated at the beginning of this topic, the earlier self-service package upload method is obsolete, but it will
continue to be supported until it's removed in the future.
3. On the same page, you can select default packages that will be used throughout headquarters in their
relevant locations (Devices , All stores , and Channel database ).
4. Perform standard configuration and installation flows for Modern POS, hardware station, or Commerce Scale
Unit by using the links in the following table.
C O M P O N EN T L IN K
Commerce Scale Unit (formerly known as Retail Store Scale Configure and install Commerce Scale Unit
Unit)
Commerce Scale Unit
2/13/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic describes the Commerce Scale Unit and when to use it.
Overview
Commerce Scale Unit is a set of features that supports selling products in a store that have inconsistent internet
connectivity to a back office or headquarters (HQ). The Store Scale Unit is designed specifically for in-store
operation, and enables cross-terminal transactions and shift operations despite poor internet service. By
automatically connecting to the back office, when you do have internet connectivity, your store can seamlessly
process credit card transactions, issue gift cards, and sync data with HQ. The Store Scale Unit is available for
download in the standard HQ deployment.
Additional resources
Configure and install Commerce Scale Unit
Configure and install Commerce Scale Unit
2/19/2020 • 25 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-
Commerce, in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic explains how you can use self-service to configure a Commerce Scale Unit (previously called Retail Store
Scale Unit) in Microsoft Dynamics 365 Commerce Headquarters, download it, and install it on one or more
computers in a brick-and-mortar store. Commerce Scale Unit combines the Commerce channel database,
Commerce Async Client, Retail Server, and Cloud point of sale (POS) components. A Commerce environment
already provides these components in the cloud. However, you can now configure them so that they work locally
in a store or datacenter, in either a single-computer setup (the default option) or a multiple-computer setup. This
topic also explains how to uninstall and troubleshoot Commerce Scale Unit.
IMPORTANT
It is critical to note that this component utilizes a server certificate in addition to Azure Service to Service authentication.
Both the generated Azure web application keys (Formerly called Secrets) and the server certificate must be managed for
expiration. By default, a certificate and a generated Azure web application key expires in one calendar year (365 days).
1. Generate a Microsoft Azure Active Directory (Azure AD) app registration to create an application ID (client
ID) and key (secret). For instructions, see Create an Azure Active Directory application. This topic reviews
Azure user permissions and requirements, and explains how to generate an app registration.
IMPORTANT
If you are installing Commerce Scale Unit for use with an on-premises environment using Active Directory
Federation Services, instead of Azure, follow the instructions in the Commerce installation document for on-
premises environments. For more information, see Installation steps for Commerce channel components in an on-
premises environment.
2. After an application ID (client ID) and key are created for Commerce Scale Unit, the client ID must be
accepted in Commerce. Go to System administration > Setup > Azure Active Director y
applications . Enter the application ID (client ID) in the Client ID column, enter descriptive text in the
Name column, and enter RetailSer viceAccount in the User ID column.
IMPORTANT
For on-premises deployments, perform the following steps:
1. Go to Retail and Commerce > Headquar ters setup > Commerce scheduler > Channel database group .
2. On the Action pane, select New .
3. In the Name field, enter Default . Enter a description in the Description field, if needed.
4. In the Channel schema field, select AX7 .
5. In the Working folders field, select File storage .
6. On the Action Pane, select Save .
1. In Headquarters, go to Retail and Commerce > Headquar ters setup > Commerce scheduler >
Channel database .
2. On the Channel database page, on the Action Pane, select New .
3. In the Channel database ID field, enter a unique value.
4. In the Channel data group field, select the Default option. Select any option that has been created.
IMPORTANT
For on-premises deployments, this value will be the Default value that was previously described in this topic.
5. In the Type field, leave the default value (Channel database ) selected.
6. You can leave the Data sync inter val field blank. Alternatively, you can select a value in this field. For
example, in the demo data, the value D60-U15 specifies a 15-minute synchronization interval.
The Data sync inter val value determines how often the data is synchronized between the channel
database (Commerce Scale Unit) and Headquarters. If no value is entered, the default interval that is set up
in Commerce Scale Unit is used. This default interval is three minutes.
7. On the Commerce channel FastTab, select Add , and then, in the Channel field, select the appropriate
store channel. Repeat this step to add all the channels that should use this database.
You can also add channels that don't use this database. In this way, you keep the data for those channels in
the Commerce Scale Unit channel database. The channels that actively use this database can then access
that data locally.
IMPORTANT
For on-premises deployments, select the Download button on the Action pane and select Commerce Scale Unit
package . This will cause a known error and initiate the upload logic so that the following step in this document can
be correctly completed. Allow for at least one minute to pass while the upload logic completes.
8. On the Commerce Scale Unit package FastTab, in the Package reference field, select the appropriate
Commerce Scale Unit package. Each environment generates a base Commerce Scale Unit package.
Therefore, this field always contains at least one option.
9. On the Action Pane, select Save .
10. Go to Retail and Commerce > Channel setup > Channel profiles .
11. On the Action Pane, select New .
12. In the Name field, enter a unique name for the channel profile.
IMPORTANT
For on-premises deployments, any value can be entered in this field, however, the value Default is common.
NOTE
If media is commonly used, it will be necessary to generate a Media Ser ver Base URL for the profile. For testing
and simplicity, the URL that exists for the Default Channel profile can be reused.
For on-premises deployments, the Media Ser ver Base URL will be where all media is stored for POS devices.
21. Go to Retail and Commerce > Channels > Stores > All stores .
22. Select the channel ID for the store that will use the new channel database.
23. On the details page for the selected store, on the Action Pane, select Edit .
24. On the General FastTab for the store, in the Live channel database field, select the channel database that
you created in step 3.
25. On the Action Pane, select Save .
26. On the General FastTab for the store, in the Channel profile field, select the channel profile that you
created in step 12.
27. Go to Retail and Commerce > Headquar ters setup > Commerce scheduler > Channel data
group .
28. Select the Default data group, and then, on the Action Pane, select Full data sync . In the Select a
distribution schedule field, select job 9999 , and then select OK . In the dialog box that appears, select OK
to confirm the full synchronization. All the data in the channel database is prepared for download.
IMPORTANT
For on-premises deployments, there is no Default channel data group. Create a new data group (and associate it to
the channel database and distribution schedule jobs).
NOTE
To help ensure that the Commerce Scale Unit installer correctly uses the configuration file (XML file), you must save
the configuration file to the same location as the installer.
For on-premises deployments, the configuration file (at this time) requires manual editing:
StoreSystemAosUrl should have the value used to access headquarters (AX). It is critical to keep a trailing slash at
the end of this URL (for example, https://myContosoURL.com/namespaces/AXSF/ ).
AADTokenIssuerPrefix should have the value https://NOTUSED.microsoft.com
TransactionServiceAzureAuthority should have the value https://<ADFS FQDN including .com>/adfs .
TransactionServiceAzureResource should have the base URL value of the StoreSystemAosUrl edited as shown
above. For instance, based on the above example https://myContosoURL.com would be used as the value,
removing the /namespaces/AXSF/ portion of the URL.
5. On the Notification bar that appears at the bottom of the Internet Explorer window, select Save . (The
Notification bar might appear in a different place in other browsers.)
Browsers might block the download pop-up that is generated. Select either Allow once or Options for
this site > Always allow . Then select Download again.
6. On the Action Pane, select Download .
7. On the drop-down menu, select Commerce Scale Unit package .
8. On the Notification bar that appears at the bottom of the Internet Explorer window, select Save . (The
Notification bar might appear in a different place in other browsers.)
The correct installation package is automatically selected for download, based on the Commerce Scale Unit
package on the selected channel database.
9. After the setup installer has been saved, on the Notification bar, select Run . (This step might differ,
depending on the type of browser.)
Run the Commerce Scale Unit installer
NOTE
If you will install and use Retail Cloud POS, you must initialize the configuration the first time that you run the installer, as
described in the following procedure.
Before you run the Commerce Scale Unit installer, make sure that all system requirements are met.
IMPORTANT
If you are installing Commerce Scale Unit for use with an on-premises environment, you must start it from a command line
using administrator privileges as follows: StoreSystemSetup.exe -UseAdfsAuthentication
The Commerce Scale Unit installer first extracts the associated files. It then begins the installation.
1. On the first page of the installer, select the components to install. You can install the following components:
Commerce channel database together with Async Client
Retail Server
Cloud POS
NOTE
To install Cloud POS, you must also select and install Retail Server. If you will use only Modern POS in the
store, clear the Retail Cloud POS check box, and continue with the installation process as it's described
here.
By default, the installer installs all components on one computer. To install the components across
multiple computers, you must complete additional manual steps. For more information, see the
"Multiple-computer installation" section.
After you've selected all the components to install, select Next to continue.
2. The installer validates that all prerequisites are met. If a valid version of Microsoft SQL Server isn't found,
the installer downloads and installs Microsoft SQL Server 2014 Express with Service Pack 2 (This
downloading feature is deprecated and it is critical to download and install the correct version of Microsoft
SQL Server for your implementation).
NOTE
To meet the prerequisites, SQL Server must have full-text search, and it must support, at a minimum, Transport
Layer Security (TLS) 1.2. For Microsoft SQL Server 2014, Service Pack 2 must be installed. For Microsoft SQL
Server 2016, Service Pack 1 is the minimum required. For Microsoft SQL 2017, manual installation of the CLR
types must be performed. It is critical to install a supported version of Microsoft SQL Server.
If a system restart is required, the installer will prompt the user. This prompt is based upon a Windows system
registry key that tells all applications if a restart is required. While it is recommended to restart prior to
continuing the installation, a restart is not mandatory and the installer can continue without restarting the
computer.
3. Verify the URL for Application Object Server (AOS), and then select Next . (The AOS URL is the URL that is
used to access Headquarters.)
NOTE
The Retail Server URL is automatically entered from the configuration file.
4. Select a valid Secure Sockets Layer (SSL) certificate to use for HTTPS communication.
The certificate must use private key storage, and server authentication must be listed in the enhanced key
usage property. Additionally, the certificate must be trusted locally, and it can't be expired. It must be stored
in the personal certificate store location on the local computer.
5. If a specific user is required, enter the user name and password that the application pool should run under.
By default, the installer automatically generates a service account to use. This approach is more secure and
is recommended.
NOTE
It is important to note that service accounts, out of box, still function under the same password policy that is
defined for all other accounts. This means that the minimum password age policy still applies to the Retail Server
service account and must be updated when necessary. By default, on Windows Server 2012 R2, this is typically 42
days. If the password does expire on a used service account, the Commerce Scale Unit components will fail to
continue functioning until the issue is resolved.
6. On the next page, enter the user account and password for the Retail Server application pool and Async
Client. By default, this account is automatically generated. However, you can manually enter the user
account and password.
7. Enter the HTTPS port to use, and verify that the host name of the computer is correct. Then select Next to
continue.
NOTE
The installer automatically enters the host name. If, for any reason, the host name must be changed for the
installation, change it here. The host name must be the FQDN of the system, and it must be entered in the Host
name field for the selected Store system entry.
8. Enter the application ID (client ID) and key (secret) that are associated with this Commerce Scale Unit
installation. Additionally, verify the channel database ID, which is automatically entered from the
configuration file. Then select Install . If you will use Retail Cloud POS, make sure that the Configure
Retail Cloud POS check box at the bottom of the page is selected. This configuration requests Azure AD
sign-in and automatically generates all required information in Azure, so that Retail Cloud POS can be used
on-premises. If you are installing Commerce Scale Unit for use with an on-premises environment, you
must clear this option.
For information about how to create web applications in Azure, see Create an Azure Active Directory
application.
IMPORTANT
When installing Commerce Scale Unit for use with an on-premises environment, Cloud POS does not require an
Azure or AD FS application to be configured, so it is important to unmark Configure Retail Cloud POS.
When installing Commerce Scale Unit for use with an on-premises environment, the Client ID (Application ID)
and Secret (Key) used will be the values generated by the PowerShell script performed in the configuration steps
performed in steps 6-8 in the Installation steps for Commerce channel components in an on-premises
environment topic. (Step 6 creates the Client ID and step 8 resets the Secret to be copied.)
When you create the Web App, the initial URI and URL don't have to be any specific value. Only the
application ID (client ID) and key (secret) that are created are important.
9. After the application ID (client ID) and key (secret) are created for Commerce Scale Unit, the application ID
(client ID) must be accepted in Commerce. Follow the next procedure to finish the configuration in
Headquarters.
10. After the installation is complete, the final health page appears. This page shows whether the installation
was successful. It also shows the health of each component, based on basic connection tests, and the
location of this topic. If the installation wasn't successful, the page shows the location of the log files. We
recommend that you keep this final health page open until you've completed the configuration of
Commerce Scale Unit and all components are working correctly (Requiring the completion of the following
section).
Finish the configuration in Headquarters
The last steps require validation and verification that the Azure application ID (client ID) and key (secret) are
correctly accepted in Headquarters, so that connections can be made between the environment and the new
Commerce Scale Unit.
1. After the application ID (client ID) and key (secret) are created for Commerce Scale Unit and entered in the
installer, the application ID (client ID) must be accepted in Headquarters.
In Headquarters, go to System administration > Setup > Azure Active Director y applications . Enter
the application ID (client ID) in the Client ID column, enter descriptive text in the Name column, and enter
RetailSer viceAccount in the User ID column.
2. If Cloud POS is configured for use, a client ID is shown at the end of the installation. You must add this
client ID to the Commerce shared parameters page in Commerce.
IMPORTANT
In an on-premises environment, this step is not required to be completed.
a. In Headquarters, go to Retail and Commerce > Headquar ters setup > Parameters > Commerce
shared parameters .
b. Select Identity providers .
c. On the Identity providers FastTab, select the provider that begins with HTTPS://sts.windows.net/ . The
values on the Relying par ties FastTab are set, based on your selection.
d. On the Relying par ties FastTab, select Add . Enter the client ID that is listed on the final health page of
the Commerce Scale Unit installer. Set the Type field to Public and the UserType field to Worker .
Then, on the Action Pane, select Save .
e. Select the new relying party, and then, on the Ser ver resource IDs FastTab, select Add . In the Ser ver
Resource ID column, enter https://retailstorescaleunit.retailserver.com .
f. On the Action Pane, select Save .
3. In Headquarters, go to Retail and Commerce > Headquar ters setup > Parameters > Commerce
shared parameters .
4. Select Identity providers .
5. On the Identity providers FastTab, select Add .
6. In the new Issuer row, enter the URL of the newly installed Commerce Scale Unit. At the end of the URL,
add /auth . The URL will resemble
https://<My Case-Sensitive Computer Name>:<Port Number>/RetailServer/auth .
NOTE
The URL described above is case sensitive. There will be a new identity provider line for each Commerce Scale Unit
that is installed. Each will have a URL that resembles this URL.
7. In the Name column, enter a description for the store that the URL belongs to.
8. In the Type column, select Open ID Connect .
NOTE
This new row must be duplicated for every Commerce Scale Unit installation (that is, for every unique URL).
NOTE
You can use a generated service account for Async Client, because Async Client won't be accessed outside the
computer that it's installed on.
2. Enter the client ID and key (secret). Keep these details available, so that you can use them again on the
second computer.
3. After a client ID and key (secret) are created for Commerce Scale Unit, the client ID must be accepted in
Commerce. Go to System administration > Setup > Azure Active Director y applications . Enter the
client ID in the Client ID column, enter descriptive text in the Name column, and enter
RetailSer viceAccount in the User ID column.
4. When setup is successful, start SQL Server Configuration Manager.
5. Go to SQL Ser ver Network Configuration > Protocols for the SQL Server instance.
6. Right-click, and then select Proper ties .
7. In the Flags section, change the value of Set Force Encr yption to Yes .
8. In the Cer tificate section, select the SSL certificate on the drop-down menu. This SQL Server SSL
certificate is the same certificate that is used in the installer.
9. Select OK .
10. Go back to Protocols in SQL Server Configuration Manager, and enable the following protocols:
Named Pipes
TCP/IP
11. Right-click the TCP/IP protocol, and then select Proper ties .
12. In the IP Address section, scroll down the list to IPALL .
13. Enter TCPPor t = 1433 .
14. Select OK .
15. Start Microsoft Windows Firewall with Advanced Security.
16. In Windows Firewall, create an inbound rule to open TCP port 1433.
For detailed information about SQL Server and Windows Firewall, see Configure a Windows Firewall for Database
Engine Access.
Installation on the second computer
On the second computer, run the Commerce Scale Unit Self-service installer as described earlier in this topic, but
make the following changes.
1. Select only Retail Server and Cloud POS as the components to install. If only Retail Server must to be
installed, don't select Cloud POS. Then select Next to continue with the installation.
2. Enter the domain user credentials (user name and password) that have permission to access SQL Server on
the first computer. Then select Next .
NOTE
A generated service account can't be used, because Retail Server requires access to the SQL database on the first
computer. You must use a domain account.
3. Enter the same Client ID and key (secret) that are used on the first computer.
IMPORTANT
It's critical that you add this Client ID to Commerce headquarters as described earlier.
4. Select Configure Cloud POS , and then enter Azure AD credentials that have the correct permissions to
create Azure Web Apps.
For more information about Azure Web Apps, how to create them, and how to generate a new key (secret),
see Use portal to create an Azure Active Directory application and service principal that can access
resources. Note that the sign-in URL and the App ID URI are not important.
5. When setup is successful, don't exit the installer.
NOTE
At first, the health check ping won't be successful, because the database isn't yet set up correctly. After you've
completed the remaining steps of this procedure, you can test the health check again.
6. Start Microsoft Internet Information Ser vices (IIS) , select the Retail Ser ver website, and select the
Retail Ser ver web application.
7. Explore the working directory.
8. Open the Web.config file, and then, in the connectionStrings section, add Ser ver name . Ser ver name
is the name of the first computer where you installed components. Save the file.
9. If the certificate that is used isn't a valid, trusted certificate from a trusted authority, open CERTMGR.MSC,
and follow these steps:
a. Import the SQL Server SSL certificate that you created earlier, and add it to Trusted Root.
b. Open a Command Prompt window as an administrator, type IISRESET , and then press Enter.
10. If Cloud POS is configured for use, a client ID is shown. You must add this client ID to the Commerce
shared parameters page.
a. In Commerce, go to Retail and commerce > Headquar ters setup > Parameters > Commerce
shared parameters .
b. Select Identity providers .
c. On the Identity providers FastTab, select the provider that begins with HTTPS://sts.windows.net/ . The
values on the Relying par ties FastTab are set, based on your selection.
d. On the Relying par ties FastTab, select Add . Enter the client ID that is listed in the Commerce Scale Unit
installer. Set the Type field to Public and the UserType field to Worker . Then, on the Action Pane,
select Save .
e. Select the new relying party, and then, on the Ser ver resource IDs FastTab, select Add . In the Ser ver
Resource ID column, enter https://retailstorescaleunit.retailserver.com .
f. On the Action Pane, select Save .
11. In Commerce, go to Retail and commerce > Headquar ters setup > Commerce scheduler >
Channel database , and follow these steps:
a. Select the channel database that you created at the beginning of this topic.
b. On the Action Pane, select Full Sync > Job 9999 . Full synchronization might require several minutes.
c. In the Commerce Scale Unit installer, retest to verify that all functionality is working correctly.
12. Start Cloud POS from the computer that you're using for POS operations. (This computer is a third
computer that is separate from the Commerce Scale Unit systems.)
13. Activate the Cloud POS device that you're using for this computer.
14. Do a simple sale to verify full end-to-end functionality.
Help secure Commerce Scale Unit
According to current security standards, the following options should be set in a production environment:
You should completely disable SSL (v2 and v3) on the computer.
You should enable and use only TLS version 1.2 (or the current highest version).
NOTE
By default, SSL and all versions of TLS except TLS 1.2 are disabled. To edit or enable these settings, follow these
steps:
1. Press the Windows logo key+R to open a Run window.
2. In the Open field, enter Regedit , and then select OK .
3. In the User Account Control window, select Yes (if this step is required), and then, in the new Registr y
Editor window, go to
HKEY_LOCAL_MACHINE\System\CurrentControlSet\SecurityProviders\SCHANNEL\Protocols .
4. The following keys have been automatically entered to enable only TLS 1.2:
TLS 1.2\Server:Enabled=1
TLS 1.2\Server:DisabledByDefault=0
TLS 1.2\Client:Enabled=1
TLS 1.2\Client:DisabledByDefault=0
TLS 1.1\Server:Enabled=0
TLS 1.1\Client:Enabled=0
TLS 1.0\Server:Enabled=0
TLS 1.0\Client:Enabled=0
SSL 3.0\Server:Enabled=0
SSL 3.0\Client:Enabled=0
SSL 2.0\Server:Enabled=0
SSL 2.0\Client:Enabled=0
No additional network ports should be open, unless they are required for known, specified reasons.
You must disable cross-origin resource sharing, and you must specify the allowed origins that are accepted.
You should use only trusted certificate authorities to obtain certificates that will be used on Commerce
Scale Unit computers.
IMPORTANT
It's critical that you review security guidelines for IIS and the Payment Card Industry (PCI) requirements.
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic describes how to configure, download, and install Modern POS on various platforms. It then describes
how to activate Modern POS through device activation.
Technology
The self-service process lets you download the appropriate version of the Modern POS installer and install it on the
physical device that you want to use as the point of sale (POS) register. Device activation is the main onboarding
step that ties the physical device to a register in Headquarters. Here are the main technical functions of this feature:
Tie a physical device to a business entity (register).
Provide enhanced security through Microsoft Azure Active Directory (Azure AD) and a device token/ID.
Stop unauthorized remote use of Modern POS. (In other words, deactivate a device remotely.)
Initialize settings for easy Modern POS functioning (number sequence, hardware profile, merchant information)
as the first touchpoint of the POS.
Comply with payment card industry (PCI) standards, and report on device information from Headquarters.
NOTE
If you are installing Modern POS for use with an on-premises environment, Modern POS does not use Azure Active Directory
credentials for device activation.
Setup
Before you start the steps that are outlined in this topic, follow these steps.
Verify that you have credentials to sign in to Headquarters.
Verify that you have administrative or root access to install Modern POS on a device.
Verify that you can access the Commerce Scale Unit from the device.
Verify that the environment contains the Commerce permission groups and jobs in the Human resources
module. These permission groups and jobs should have been installed as part of the demo data.
4. Select a register by selecting the register number in the Register number column.
NOTE
In the Houston store, register Houston-3 is well defined and is therefore useful as an example.
5. On the page for the register, under General , verify that the Suppor t offline option is set to No .
NOTE
To use offline support, on the Action Pane, select Edit , and then set Suppor t offline option to Yes .
NOTE
The Houston devices are well defined. Houston-3 is useful as an example for a Microsoft Windows desktop or
tablet. Houston-21 is useful as an example for a Windows Phone.
When you select a device, the Download button on the Action Pane becomes available.
NOTE
Browsers might block the download pop-up that is generated. You must select either Allow once or Options for
this site > Always allow . Then, while the device is still selected, select Download again.
The configuration file must be saved to the same location as the Modern POS installer. For security reasons, delete
this file after installation is completed.
5. On the Notification bar that appears at the bottom of the Internet Explorer window, select Save . (The
Notification bar might appear in a different place in other browsers.)
6. Select Download , and then select Retail Modern POS .
NOTE
Browsers might block the download pop-up that is generated. You must select either Allow once or Options for
this site > Always allow . Then, while the device is still selected, select Download again.
The installation package that you must use varies, depending on whether you require offline support, and whether
the device that Modern POS will be installed on is a Windows tablet or a phone device (such as a Windows Phone,
an Android device, or an iOS device). The correct package is automatically selected for download, based on the
register settings and the application type that is set for the device. If the offline package is selected for a Windows
tablet, but Microsoft SQL Server isn't already installed (or if it doesn't meet the requirements for the offline
package), SQL Server is downloaded and installed silently.
7. On the Notification bar that appears at the bottom of the Internet Explorer window, select Save . (The
Notification bar might appear in a different place in other browsers.)
8. After the setup installer has been saved, on the Notification bar, select Run . (This step might differ, depending
on your browser.)
Run the installer on a Windows computer
NOTE
Before you run the Modern POS installer, make sure that all system requirements are met.
The installer will sideload a modern application. Therefore, a Group Policy entry must be set to allow for sideloaded
applications. The installer will change the associated registry key as follows to allow for this installation:
Path: HKLM:SoftwarePoliciesMicrosoftWindowsAppx
Proper ty: AllowAllTrustedApps
Value: 1
If you are installing Modern POS for use with an on-premises environment, you must start the installer from a
command line as follows:
ModernPosSetupOffline.exe -UseAdfsAuthentication
The Modern POS installer first extracts the associated files and then starts the installation.
1. The installer validates that all prerequisites are met.
NOTE
If a system restart is required, the installer informs you about this requirement, but the installation can typically
continue.
A sideloaded installation of Modern POS requires a Group Policy change. The installer informs you if this change is
required and then makes the change automatically.
2. If you selected offline support, but a valid version of SQL Server isn't found, the installer downloads and
installs Microsoft SQL Server 2014 Express with Service Pack 2 (SP2). To meet the prerequisites, SQL Server
must have Full-text search installed. Additionally, a minimum of SP2 must be installed for Microsoft SQL
Server 2014, or a minimum of Service Pack 3 (SP3) must be installed for Microsoft SQL Server 2012.
NOTE
The installer tries to download the correct language. However, if you require a specific language, we highly
recommend that you manually install SQL Server. If the installer can't correctly determine the language, it installs
the English version of SQL Server 2014 Express with SP2 by default. Typically, after the SQL installation is
completed, the system requires a restart before the installation of Modern POS can continue.
This process might require a long time, depending on the speed of the computer and the Internet connection. If a
prerequisite fails during this step, first retry the installer. If the installer continues to fail, see the Troubleshooting
section of this topic.
NOTE
This installation occurs only for the administrator user who ran the installer. For all other users, a desktop icon to install
Modern POS is created. Every time that a user signs in, he or she must double-click this icon. The program will then be
installed or updated, as required. If a user doesn't use the desktop icon after an update, the POS client will request that the
user run from the desktop icon instead to update correctly prior to running.
Run the installer on any other device (Windows Phone, Google Android device, or Apple iOS device )
1. If the application wasn't downloaded directly to the device, transfer the downloaded app file and the
associated configuration file to the same folder on the device. Depending on the type of device, the app file
will be an APPX, APK, or IPA file.
NOTE
This step can be done in various ways. For example, the files can be accessed through a shared folder, transferred via
USB cable, or securely mailed to the user's device.
NOTE
Some devices require that you double-tap the file to begin application installation. Some devices might not notify you
that an application has been installed. On those devices, we recommend that you look at the application list to verify
that the application was correctly installed.
4. When the installation is completed, you should be able to start the application from the application list on
the device. For example, after you install the application on a Windows Phone, you can start it from the home
screen tiles list.
You can now start the program.
Create a worker
For this topic, we have already created workers and assigned them to the Houston address book in the demo data
that is provided. Therefore, this topic will use pre-generated data.
Create a worker
1. Go to Retail and Commerce > Employees > Workers .
2. On the Action Pane, select New to create a new employee.
3. Enter the first and last name. For example, enter John as the first name and Smith as the last name.
4. Verify that the Legal entity field is set to USRT , the Worker type field is set to Employee , and the
Employment star t date field is set to the current date at 12 AM, so that the worker's employment starts
immediately.
5. Select the Assign a position check box. Select position number 000544 , which is the Store manager position.
6. Set the Personnel action type field to Hire Action to hire a new employee immediately.
7. Select Continue .
8. On the Action Pane, select Complete to finish creating the new worker.
9. Return to the worker list. Search for the newly created worker (for example, John Smith). Select the worker's
name to see the details of the new worker.
10. On the Action Pane, select Edit .
11. Verify that the language for the worker is en-us .
12. Under Worker summar y , in the Address books field, select the Houston store.
13. On the Commerce tab, you can reset the POS password. For this tutorial, reset the password to 123 .
14. On the Commerce tab, under Screen layout , assign a screen layout. For example, select F2MP16:9M
(Fabrikam MPOS Manager (16:9) ).
15. On the Action Pane, select Save .
16. Go to Retail and Commerce > Periodic > Distribution schedule .
17. Select the 1060 – Staff job, and then, on the Action Pane, select Run now to sync the worker data to the
channel database.
18. After the new worker has been created and synced to stores, worker John Smith can sign in to any POS device
that is used in the HOUSTON store that he is assigned to, and he can perform transactions on that device.
However, the device must be activated first. The following section explains how to activate a device for a new
worker.
Map an Azure AD account to a worker who has POS permissions for device activation
You must complete this procedure before you activate Modern POS for a new worker.
1. In Commerce, from the Worker page, open the Worker details page for the worker that you created in the
previous procedure.
2. On the Action Pane, select Edit .
3. On the Commerce tab, select the POS permissions link. Under POS permission group , verify that the
value is Manager .
4. When you've finished, return to the Worker details page for the new worker.
NOTE
To return to the Worker details page, select the Close button (X ) on the right side of the Action Pane.
5. On the Action Pane, select Commerce , and then select Associate existing identity .
6. In the dialog box that appears, select the Azure AD account that is named admin AX Admin . (If an
alternative administrator Azure AD account has been created, select that account instead.)
7. Select OK . In the demo data, the Azure AD account that is associated with the administrator account in
Headquarters is your administrator Azure AD account.
8. On the Action Pane, select Save , and then refresh the page. The External identity section should be now
updated with the new information.
NOTE
The External identifier field will remain empty. This behavior is expected. Therefore, you can ignore it.
This procedure should be completed before you activate Retail Cloud POS or Modern POS. For more information,
see Manage activation accounts and validate devices.
Run the Validate Devices for Activation check
1. In Headquarters, open the Device page (Retail and Commerce > Setup POS > Devices ).
2. Select the device to validate for device activation, and then select Validate Devices for Activation . For
example, select device HOUSTON-3 .
3. In the dialog box that appears, select the worker to validate the device for (that is, the worker that you mapped to
the Azure AD account in the previous procedure). For example, select worker 000160 .
4. Select OK , and make sure that you receive the following message: "Pre-Activation validation completed for
Device HOUSTON-3 and Staff 000160. Validation: Passed"
Activate a device
1. Start Modern POS on your computer. Read the instructions on the Before you star t page, and make sure that
they are completed. Then select Next .
2. Select Activate . You're redirected to the Azure AD sign-in page.
3. Enter the Azure AD account that you mapped earlier, such as admin@<MyCompany>.onmicrosoft.com , and the
password.
4. When activation is completed, select Get Star ted .
5. Sign in to Modern POS by using worker account 000160 and the password 123 .
The device should now be activated and ready to use.
1. After a Modern POS application is uploaded into the environment, the version of the package can be selected on
the device. The package listings should include the new uploaded application.
2. To update the Modern POS application, follow the steps in the Download and install Modern POS section. To do
an in-place update, just run the newer version of the self-service installer. Uninstallation isn't required or
recommended. Device activation status will be maintained after the update.
3. The installer will use the currently installed configuration settings. If the configuration file has changed, because
of various configuration changes in Commerce, an update won't change the Modern POS application settings.
Troubleshooting
Troubleshoot installation
Your browser blocks the download pop-up that is generated.
Solution: Select either Allow once or Options for this site > Always allow (or the equivalent
commands in the browser that you're using). Then, while the correct register is still selected, select
Download again.
The installation package that you must use depends on whether you require offline support. The correct
package is automatically selected for download. For the offline package, SQL Server must be installed and
must meet the requirements for the offline package.
Solution: No action is required. If SQL Server isn't already installed (or if it doesn't meet the requirements),
it's downloaded and installed. The installer gives generic information about the download and installation of
SQL Server Express 2014. This installation might require a long time.
The installation occurs only for the administrator user who ran the installer, but not for any other users.
Solution: The installer generates a desktop icon that is used to install, upgrade, and run Modern POS. This
icon is generated for every user on the computer. When a user who must install Modern POS double-clicks
this icon, the program is installed. The user can then start to use Modern POS.
SQL Server isn't successfully downloaded and installed through the self-service Modern POS installer.
Solution 1: A list of reasons shows the prerequisites that failed. If the list includes SMO or SQL
Management Objects , first try to run the installer again. SQL Server Management Objects (SMO) are
installed during SQL Server installation. Therefore, it's possible that the operating system didn't pick up
the registration of the executable program that you used. When you run the installer a second time, the
prerequisites are retested, and the prerequisite check should correctly verify the required executable
program. If the installer continues to fail, restart the system to fully complete the registration of SQL
Server, and then rerun the installer.
Solution 2: Manually download and install SQL Server (Microsoft SQL Server Express or another
version) by using Advanced Tools. During installation, select Full-text search as an additional feature.
The installation of Modern POS fails, because the registration of performance (perf) counters failed.
Solution: Follow these steps to fix this issue:
1. Open a Command Prompt window as an administrator.
2. Enter the following command.
lodctr /s:"perf_backup.txt"
lodctr /R
4. If the system doesn't rebuild the performance counter settings from the system backup, rerun the
lodctr /R command.
5. Rerun the Modern POS installer.
If you're using a downloaded virtual hard disk (VHD) instead of a cloud-hosted environment, the downloader
might fail.
Solution 1: In a downloaded VHD, the Azure storage emulator must be installed and must be
running correctly. Otherwise, the self-service packages can't be downloaded correctly.
Solution 2: A failure might have occurred during the process of integrating the VHD into Microsoft
Hyper-V. You must manually edit permissions before the packages can be downloaded correctly.
Follow these steps:
1. In File Explorer, browse to C:\Microsoft Dynamics 365\70\Retail Ser ver .
2. Right-click the SelfSer vicePackages folder, and then select Proper ties .
3. On the Security tab, select Edit .
4. In the Permissions for SelfSer viceDeployment dialog box, select Add .
5. In the Select Users, Computers, Ser vice Accounts, or Groups dialog box, select Locations .
6. In the Locations dialog box, select the first entry in the list (the local computer), and then select
OK .
7. In the Select Users, Computers, Ser vice Accounts, or Groups dialog box, enter the name
IIS_IUSRS , and then select Check names . The object name should be changed to IIS_IUSRS .
Select OK .
8. In the Permissions for SelfSer viceDeployment dialog box, select the new IIS_ISURS user.
Under Permissions for IIS_IUSRS , select Allow for the Full control permission. Select OK .
9. In the Open permission dialog box, select OK .
The latest iOS version does not support your self-signed certificate.
Solution 1: Utilize a domain and generate a proper domain-based certificate.
Solution 2: Download the open source OpenSSL library and perform the following after completing
installation:
1. Using PowerShell, create a private key for the root Certificate Authority (CA) using a command such
as $ openssl genrsa -des3 -out rootCA.key 2048 . 2. You will be prompted for a password, which
must be remembered for later usage. 3. Next, generate the root certificate using a command such as $
openssl req -x509 -new -nodes -key rootCA.key -sha256 -days 1024 -out rootCA.pem .
There will be a prompt for the password entered previously and some basic certificate information.
NOTE
The number of days the certificate is valid for can be altered. In the above example this is 1024 days.
Additional resources
Install the POS layout designer
Manage activation accounts and validate devices
2/1/2020 • 4 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic explains how an IT Pro can set up Commerce activation accounts for workers to activate Modern POS or
Cloud POS devices.
NOTE
These accounts aren't device activation accounts until you map them by using the external identity flow options.
3. If you want to use the existing AAD accounts as activation accounts, you can't map them in bulk. Cancel the
selection of those workers, and then map them individually by using Use existing external identity .
4. To create new AAD accounts and associate them with the workers, so that they can be used as activation
accounts, update the Alias and Password fields, and then click OK . In the main worker form, you receive a
message as activation accounts are created for each worker.
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This article explains the new guided device activation for Cloud POS and Modern POS, and explains the client
simplifications that help users easily activate devices without having to manually enter register and device ID
information.
Make sure that data is returned, and that the result isn't empty.
9. Set up the hardware profile under Register (checked by validation).
10. Make sure that the register and store have a screen layout (checked by validation).
11. Make sure that a primary address is set up for the legal entity.
12. Make sure that the language is set up for the Commerce Data Exchange: Real-time Service user profile (JBB
in the demo data).
13. Make sure that the Real-time Service profile has the correct access.
14. Make sure that the electronic funds transfer (EFT) configuration value is present.
Activate a Modern POS or Cloud POS device by using guided activation
1. Open the initial device activation page for Modern POS or Cloud POS. You're prompted to sign in.
2. On the Before you star t page, follow the instructions, and then click Next .
NOTE
The device can be Pending , De-activated , or Activated . Alternatively, if you turned on the HQ Allow devices to
be associated to registers from store setting, you might see a list of registers that have no device associated
with them.
IMPORTANT
The user must put the file in the same folder as the Modern POS self-service package and run the .exe file.
Modern POS starts in Manual entry mode, and the Commerce Scale Unit URL, device ID, and register ID are pre-
populated for activation.
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
Retail Cloud POS is a web application that runs in the context of a browser. This topic provides recommendations
that can help secure Retail Cloud POS in a shared environment.
Background
Retail Cloud POS is a web application that runs in the context of a web browser. Therefore, it's vulnerable to attack
when a user can run any script in the context of the web application. One requirement for such attacks is that the
user must have physical access to the computer, either in person or by using Remote Desktop Connection.
Vulnerability to attack is an existing issue in most browsers that provide developer tools, and that enable scripts to
be run without sufficient privilege control. Because the web application will have little influence over its hosting
environment, one way to mitigate security issues is to add defense-in-depth. The defense-in-depth can be built by
taking advantage of the restrictive policies of both the browser and the operating system.
Disable script execution in the address bar of the browser that runs
Retail Cloud POS
Internet Explorer
There is no option to disable script execution in the address bar in Internet Explorer. One alternative is to hide the
address bar itself.
1. Create a shortcut for the Retail Cloud POS URL, and copy it to each store worker's Microsoft Windows desktop.
2. Run regedit.exe to change the registry to disable the Internet Explorer address bar.
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Internet Explorer\ToolBars\Restrictions]
"NoNavBar"=dword:00000001
Microsoft Edge
By design, Microsoft Edge prevents script execution in the address bar. Therefore, no action is required.
Disable the developer console in the browser that runs Retail Cloud
POS
Internet Explorer
Use Group Policy Editor to enable the following group policy to disable the Internet Explorer developer console:
\Administrative Templates\Windows Components\Internet Explorer\Toolbars\Turn off Developer Tools="Enabled"
Microsoft Edge
Run regedit.exe to change the registry to disable the developer console.
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\MicrosoftEdge\F12]
"AllowDeveloperTools"=dword:00000000
Remove user folder link from Enabled No \Start Menu and Taskbar
Start Menu
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic explains how to configure, download, and install Retail hardware station by using self-service. It also
explains how to uninstall Retail hardware station.
IMPORTANT
It is critical to note that this component utilizes a server certificate. Server certificates must be managed for expiration. By
default, a certificate expires in one calendar year (365 days).
NOTE
This procedure is required only if you're running the February 2016 (RTW) version of Retail. If you're running version 1611,
start with the next procedure.
1. Use your Microsoft Azure Active Directory (Azure AD) credentials to sign in to the Retail headquarters or
Retail trial.
2. On the Welcome page, use the menu in the upper left to go to Retail > Channel setup > POS setup >
POS profiles > Hardware station profiles .
3. On the Hardware station profile page, on the Action Pane, select New .
4. In the Hardware station ID field, enter a unique hardware station ID.
NOTE
The Name field is used for a description of the unique hardware station profile.
5. In the appropriate fields, enter the port number, select a hardware profile, and select a package name.
NOTE
Only one hardware station package is provided for an environment that has been loaded with demo data.
NOTE
The Houston store is the most thoroughly prepared store in the demo data.
4. On the Retail store details page, on the Hardware stations FastTab, select Add .
NOTE
The Retail Server URL that is used for the selected store is read-only. This URL will be important during the installation
of Retail hardware station.
5. In the Hardware station type field, select Shared to indicate that this hardware station is an Internet
Information Services (IIS), installed hardware station that will be used by external point of sale (POS)
systems.
NOTE
The value Shared signifies that the installation is a truly shared hardware station installation, and that it works
through HTTPS communication. By contrast, the value Dedicated signifies that the hardware station is a part of
Modern POS, and that it works through inter-process communication.
6. Follow one of these steps, depending on the version that you're running:
For version 1611: In the appropriate fields, enter the port number, select a hardware profile, and
select a package name.
NOTE
Only one hardware station package is provided for an environment that has been loaded with demo data, at
environment creation time.
NOTE
The Houston store is the most thoroughly prepared store in the demo data.
4. On the Retail store details page, select the Hardware stations FastTab.
NOTE
The Retail Server URL that is used for the selected store is read-only. This URL will be important during the installation
of Retail hardware station.
NOTE
Browsers might block the download pop-up that is generated. You must select either Allow once or Options for
this site > Always allow . Then select Download again.
The correct installation package is automatically selected for download, based on the hardware station profile.
6. On the Notification bar that appears at the bottom of the Internet Explorer window, select Save . (The
Notification bar might appear in a different place in other browsers.)
7. After the setup installer has been saved, on the Notification bar, select Run . (This step might differ, depending
on your browser.)
Run the installer
NOTE
Before you run the Retail hardware station installer, make sure that all system requirements are met.
The Retail hardware station installer first extracts the associated files and then begins the installation.
1. The installer validates that all prerequisites are met. If a sideloading key is required, the installer requests it.
This key is found on the Devices page for each device, under General .
NOTE
If a system restart is required, the installer informs you of this requirement but can continue the installation.
Before you can use hardware that is based on the Object Linking and Embedding for Retail Point of Sale (OPOS)
standard, the OPOS Common Control Objects must be installed. If they aren't installed, the installer informs you of
this requirement but can continue the installation.
2. Enter the Retail Server URL (for example, https://MyCompanyNameret.axcloud.dynamics.com/Commerce ), and then
select Next .
NOTE
You can find the Retail Server URL at the top of the Hardware stations FastTab on the Retail store details page.
3. Select a valid Secure Sockets Layer (SSL) certificate to use for HTTPS communication.
NOTE
The certificate must use private key storage, and server authentication must be listed in the enhanced key usage
property. Additionally, the certificate must be trusted locally, and it can't be expired. It must be stored in the personal
certificate store location on the local computer.
4. The next page requests the user that should be used for the IIS application pool. By default in version 1611
and later, the installer can automatically create and use a service account. If you're on a domain or require
more specific controls, clear the check box, and then enter the user name and password that the application
pool should run under.
5. Enter the HTTPS port to use.
NOTE
You can find the HTTPS port in Retail. (See the configuration instructions earlier in this topic).
The installer automatically enters the host name. If, for any reason, you must change the host name for the
installation, you can change it here. The host name must be the fully-qualified domain name (FQDN) of the system,
and it must be entered in the Host name field for the selected hardware station entry.
6. The installer installs Retail hardware station and then indicates whether the installation was successful.
7. When the installation is completed, the Install merchant information tool may start. This installer connects to
the environment and installs the merchant account information (such as the EFT ID) for the selected
hardware station.
NOTE
If the hardware station that was installed won't be used for payment-related work, don't close the Install
merchant information window without completing the remaining steps. The hardware station won't work unless
this installation is successfully completed.
For version 10.0.6 and above, the install merchant information tool is no longer used. Instead, the
merchant information for the hardware station is set by the POS at the time of logon or when the
hardware station is made active. If the retail server is not available when the hardware station is
subsequently made active, the last known merchant properties will be used by until the connection to
the retail server is re-established. If the POS client is not upgraded to version 10.0.6 at the same time
the hardware station is upgraded, merchant properties will not be updated until the POS client is
upgraded to an equal or later version.
8. The Install merchant information tool might request Azure AD credentials. Enter the Azure AD credentials of
the user who is installing Retail hardware station.
9. The Retail Server URL is determined through the Retail hardware station installation and is entered
automatically. The installer uses this URL to load the list of stores that the user is connected to via the
address book.
10. Select the retail store that the hardware station was installed for.
11. Select the hardware profile that matches the hardware station that was installed on the current computer.
12. Verify that the host names and EFT terminal IDs are correct, based on the current computer and the Retail
hardware station configuration that has already been completed in Retail. After you've verified this
information, select Install .
13. When you receive a message that states that the merchant account information was installed correctly, exit
the installer by selecting the Close button.
NOTE
The hardware station installer automatically makes these registry edits as part of the installation through self-service.
NOTE
By default, SSL and all version of TLS except TLS 1.2 are disabled. To edit or enable these values, follow these steps:
1. Press the Windows logo key+R to open a Run window.
2. In the Open field, type Regedit , and then select OK .
3. If a User Account Control window appears, select Yes .
4. In the new Registr y Editor window, go to
HKEY_LOCAL_MACHINE\System\CurrentControlSet\SecurityProviders\SCHANNEL\Protocols . The
following keys have been automatically entered to allow for TLS 1.2 only:
TLS 1.2\Server:Enabled=1
TLS 1.2\Server:DisabledByDefault=0
TLS 1.2\Client:Enabled=1
TLS 1.2\Client:DisabledByDefault=0
TLS 1.1\Server:Enabled=0
TLS 1.1\Client:Enabled=0
TLS 1.0\Server:Enabled=0
TLS 1.0\Client:Enabled=0
SSL 3.0\Server:Enabled=0
SSL 3.0\Client:Enabled=0
SSL 2.0\Server:Enabled=0
SSL 2.0\Client:Enabled=0
No additional network ports should be open, unless they are required for known, specified reasons.
Cross-origin resource sharing must be disabled and must specify the allowed origins that are accepted.
Only trusted certificate authorities should be used to procure certificates that will be used on computers that
run Retail hardware station.
IMPORTANT
Most common, lower-security software and services will stop working after all lower-security standards are disabled. To use
them again, go to the preceding registry keys, and set the Enabled key from 0 to 1 .
It's critical that you review security guidelines for IIS and Payment Card Industry (PCI) requirements.
Troubleshooting
Modern POS can detect the hardware station in its list for selection, but it can't complete the pairing
Solution: Verify the following list of potential failure points:
The computer that is running Modern POS trusts the certificate that is used on the computer that runs Retail
hardware station.
To verify this setup, in a web browser, go to the following URL:
https://<Computer Name>:<Port Number>/HardwareStation/ping
This URL uses a ping to verify that the computer can be accessed, and the browser indicates whether the
certificate is trusted. (For example, in Internet Explorer, a lock symbol appears in the address bar. When
you select this symbol, Internet Explorer verifies whether the certificate is currently trusted. You can install
the certificate on the local computer by viewing the details of the certificate that is shown.)
On the computer that runs Retail hardware station, the port that will be used by the hardware station is
opened in the firewall.
Retail hardware station has properly installed merchant account information through the Install merchant
information tool that runs at the end of the Retail hardware station installer.
Modern POS can't detect the hardware station in its list for selection
Solution: Any one of the following factors can cause this issue:
Retail hardware station hasn't been set up correctly in Commerce headquarters. Use the steps earlier in this topic
to verify that the hardware station profile and the hardware station are correctly entered.
The jobs haven't been run to update the channel configuration. In this case, run the 1070 job for channel
configuration.
The hardware station isn't accessible from that computer. Verify that the hardware station URL ping test is
accessible from a web browser. This URL can be found at the end of the hardware station installer and is in the
following form: https://<Computer Name>:<Port Number>/HardwareStation/ping
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic explains how you can use self-service to do silent servicing updates and initial deployments. It also
explains some aspects of special deployment. This topic will be updated as the feature is developed and more
functionality becomes available. Currently, only the capability for silent servicing updates is available.
-C or -Config Specify the location and file name of the configuration file to
use as part of this installation.
Silent servicing
Before you begin
Note that silent servicing maintains all components that are currently installed. If any configuration is still required,
complete it before you begin to follow the instructions in this topic.
Examples of commands for silent servicing
This section shows examples of commands that are used for self-service mass deployment. These commands work
for all the standard self-service installers, such as the installers for Modern POS (both the installer that has offline
support and the installer that doesn't have offline support), Hardware station, and Commerce Scale Unit.
Silently update the current installation of Modern POS
The following command silently updates the current installation of Modern POS. This command has the standard
command structure that is used for silent servicing of components that are currently installed. The structure uses
the basic values of <InstallerName>.exe and the command for silent installation, -S . This command uses the
configuration file that is located in the same file location as the installer, if a configuration file exists there.
ModernPOSSetup_V72.exe -S
NOTE
A configuration file is still required for Retail Store Scale Unit. However, the installer keeps all the values that are currently
installed, whenever it can.
ModernPOSSetup_V73.exe -S
NOTE
A configuration file isn't required for Modern POS. However, the Modern POS application that is installed can't be activated in
the appropriate manner unless the associated configuration file can be read from.
ModernPOSSetup_V72.exe -S -C "C:\Temp\ModernPOSSetup_V73_Houston-3.xml"
NOTE
The -SkipMerchantInfo delimiter is required to install Retail hardware station. The Merchant Account Information Utility
that is opened at the end of a GUI-based installation of Hardware station no longer has to be used. Because of feature
functionality, when Modern POS is paired to Hardware station, it also pushes the latest merchant account information to the
component.
The following command silently installs (or updates) Retail hardware station. It has the standard command
structure that is used for silent servicing of components that are currently installed. The structure uses the basic
values of <InstallerName>.exe and the command for silent installation, -S . It also uses the -SkipMerchantInfo
delimiter to skip the download of merchant account information through the utility. This command uses the
configuration file that is in the same location as the executable file for the installer.
HardwareStationSetup_V10.exe -S -SkipMerchantInfo
NOTE
A configuration file is required to silently deploy Retail hardware station.
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
To enable diagnostics and troubleshooting, all Commerce components, which include clients such as the Retail
Modern POS and server components, such as Commerce Scale Unit, log their events locally to Event Viewer (or to
the browser developer tools console, in case of Retail Cloud POS). This article explains where to find events from
Commerce-specific components.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This topic describes how you can use Microsoft Dynamics Lifecycle Services (LCS) to automatically apply updates
to cloud environments.
IMPORTANT
Updates are applied using deployable packages. Applying updates causes system downtime. All relevant services will be
stopped, and you won't be able to use your environments while the package is being applied. You should plan accordingly.
Supported environments
All environments deployed through Lifecycle Services are supported.
NOTE
If you have a build environment, you can only use LCS to apply Binary updates and Data upgrade packages. You can't use
LCS to apply an Application Deployable package.
For other environments (listed below), you must use Remote Desktop Protocol (RDP) to connect to the
environment and install from the command line. For information about manual package deployment, see Install
deployable packages from the command line.
Local development environments (Downloadable virtual hard disk [VHD])
Multi-box dev/test environments in Microsoft Azure (Partner and trial projects)
Key concepts
Before you begin, you should understand deployable packages, runbooks, and the AXInstaller. A deployable
package is a unit of deployment that can be applied in any environment. A deployable package can be a binary
update to the platform or other runtime components, an updated application (AOT) package, or a new application
(AOT) package. The AXInstaller creates a runbook that enables installing a package. For more details, see Packages,
runbooks, and the AXUpdateInstaller in depth at the end of this topic.
NOTE
A binary package and a Commerce deployable package can't be included in the same merged package.
For information about how to download an update from LCS and what you see in the tiles based on your environment
version, see Download updates from Lifecycle Services (LCS).
If your environment is on an application version 8.1 and later, then the Platform Update package does not apply to your
environment. Starting with 8.1 and later releases, Application and Platform Binar y update package is the one that
applies since application and platform will be combined into a single cumulative package and will be released by Microsoft.
Also note that you will no longer be applying granular X++ hotfixes and will get all application and platform updates
together. This means that on the environment details page, clicking on View detailed version information will not have
details on the granular hotfixes or KBs applied as there is no way to apply them.
Prerequisite steps
Make sure that the package that should be applied is valid. When a package is uploaded to the
Asset library, it isn't analyzed. If you select the package, the package status appears in the right pane as Not
Validated . A package must pass validation before it can be applied in an environment by using the
following procedures. The status of the package will be updated in the Asset library to indicate whether the
package is valid. We require validation to help ensure that production environments aren't affected by
packages that don't meet the guidelines.
There are three types of validations:
Basic package format validations
Platform version checks
Types of packages
Make sure that the package is applied in a sandbox environment before it's applied in the
production environment. To help ensure that the production environment is always in a good state, we
want to make sure that the package is tested in a sandbox environment before it's applied in the production
environment. Therefore, before you request that the package be applied in your production environment,
make sure that it has been applied in your sandbox environment by using the automated flows.
If you want to apply multiple packages, create a merged package that can be applied first in a
sandbox environment and then in the production environment. Application of a single package in
an average environment requires about 5 hours of downtime. To avoid additional hours of downtime when
you must apply multiple packages, you can create a single combined package that contains one package of
each type. If you select a binary package and an application deployable package in the Asset library, a
Merge button becomes available on the toolbar. By clicking this button, you can merge the two packages
into a single package and therefore reduce the total downtime by half.
Make sure that the Application binar y update package is applied to your dev/build
environment before it is applied to your sandbox and production environment - If the
application binary package is applied directly to your Tier 2+ sandbox environment but is not applied on
your dev/build environment, the next time you move an AOT package from dev/build box (which does not
have the same application binaries as your sandbox environment) to sandbox, some of the application
binaries will be overwritten with what is in your dev/build environment. This could result in a regression of
the version of your sandbox environment.
IMPORTANT
An important prerequisite for applying a package to a production environment is that the package must be successfully
applied to at least one sandbox environment in the same project.
1. After the update is successfully applied in a sandbox environment, go to the project's asset library. On the
Asset librar y page, select the Software deployable package tab, select the package that you want to
move to production, and click Release candidate . This indicates that this package is ready for production
deployment.
2. Open the Environment details view for the production environment where you want to apply the
package.
3. Select Maintain > Apply updates to apply the package.
4. Select the package to apply in your production environment, and then click Schedule to submit a request
to apply it.
NOTE
The list of packages includes only the packages that have been successfully signed off in the sandbox environment,
and that have been marked as release candidates.
5. Specify the date and time to schedule the package application. Click Submit , and then click OK to confirm.
Note that your environments will be unavailable to perform business while the package is being applied.
6. At the scheduled downtime, package deployment will start.
7. After the environment is serviced, you can monitor the status. The Ser vicing status field indicates the
status of package application. Additionally, a progress indicator shows the number of steps that have been
run, out of the total number of steps that are available.
8. After the deployment is successfully completed, the Ser vicing status field is set to Completed .
9. If package application isn't successfully completed, Microsoft will investigate the issue. The Ser vicing
status field will indicate that package application has failed. The environment will be rolled back to a good
state.
AXUpdateInstaller – When you create a customization package from Microsoft Visual Studio or a Microsoft
binary update, the installer executable is bundled together with the deployable package. The installer generates
the runbook for the specified topology. The installer can also run steps in order, according to the runbook for a
specific topology.
Additional resources
Install deployable packages from the command line
Implementation lifecycle management home page
11/18/2019 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
These topics describe the programs, tools, and processes available related to the implementation lifecycle of your
Finance and Operations project.
Programs
Microsoft FastTrack
Tools
Microsoft Dynamics Lifecycle Services
Lifecycle Services (LCS) for Finance and Operations apps customers
Processes
Onboard an implementation project
Prepare for go-live
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The Finance and Operations application cloud architecture contains all the elements that are common to all
Microsoft cloud offerings, as described in Subscriptions, licenses, accounts, and tenants for Microsoft's cloud
offerings. Beyond this, it also includes services that automate software deployment and provisioning, operational
monitoring and reporting, and seamless application lifecycle management.
NOTE
You don't have to have an Office 365 license to deploy Finance and Operations apps. However, you might require a
license for specific Office integration scenarios. For more information, see Office integration overview.
Microsoft Dynamics Lifecycle Ser vices (LCS) – LCS is a collaboration portal that provides an
environment and a set of regularly updated services that can help you manage the application lifecycle of
your implementations. For more information, see Lifecycle Services resources. After you purchase and
activate a subscription for a Finance and Operations app, an Implementation project workspace is
provisioned in LCS when the tenant administrator signs in for the first time.
NOTE
An implementation project is an LCS project for the cloud service. As a Microsoft partner, you can also provision non-
implementation LCS projects for your own purposes. For more information, see Lifecycle Services (LCS) for Finance
and Operations apps partners.
Finance and Operations apps – Finance and Operations apps are deployed through LCS. Various
topologies are available: development/test/build, acceptance test, performance test, and high-availability
production. For more information about the various topologies, download the latest Microsoft Dynamics
365 Licensing Guide from Dynamics 365 pricing.
Microsoft Azure DevOps – Azure DevOps is used primarily for code version control, development, and to
deploy a build environment. Azure DevOps is also used to track support incidents, such as work items in
Azure DevOps that are submitted to Microsoft through Cloud-powered support, and to integrate the
Business process modeler (BPM) library hierarchy into your Azure DevOps project as a hierarchy of work
items. Azure DevOps is also used during code upgrade.
"Under the hood," Finance and Operations apps use many features of the Azure platform, such as Azure Storage,
networking, monitoring, and Azure SQL Database, to name just a few. Shared services put into operation and
orchestrate the application lifecycle of the environments for participants. Together, Azure functionality and LCS offer
a robust cloud service.
NOTE
Although many features of the Azure platform are used, you don't have to have an Azure subscription to deploy Finance and
Operations apps in the Microsoft-managed cloud. You must have an Azure subscription only if you want to deploy Finance
and Operations apps cloud-hosted environments in your own Azure subscription.
Microsoft FastTrack
3/12/2020 • 9 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
Microsoft FastTrack is a customer success service that is designed to help you move smoothly and confidently to
Microsoft Dynamics 365, so that you can realize business value faster. When you participate in the FastTrack
program, you receive guidance about implementation best practices, planning for successful rollouts, and
expanding capabilities. However, you implement at your own pace. You also have access to Microsoft engineering
resources who are committed to making your experience a success.
DEDIC AT ED
FA ST T RA C K
FA ST T RA C K W O RK SH O P EN GIN EERIN G
P RO GRA M REVEN UE T EC H TA L K S W O RK SH O P S F O L LO W - UP S RESO URC ES
Dynamics 365 Combined annual All included All included All included Included
FastTrack adjusted revenue
Business of $300,000 or
process more
applications
Dynamics 365
Finance
Dynamics 365
Supply Chain
Management
Dynamics 365
Retail
Dynamics 365
Human
Resources*
DEDIC AT ED
FA ST T RA C K
FA ST T RA C K W O RK SH O P EN GIN EERIN G
P RO GRA M REVEN UE T EC H TA L K S W O RK SH O P S F O L LO W - UP S RESO URC ES
FastTrack Combined annual All included Pre go-live Not included Not included
Essentials adjusted revenue assessment
Dynamics 365 < $300,000
Finance
Dynamics 365
Supply Chain
Management
Dynamics 365
Retail
Dynamics 365
Human
Resources
We will announce FastTrack coverage later this year for these applications:
Dynamics 365 Guides
Dynamics 365 Remote Assist
Dynamics 365 Layout
FastTrack for services
TechTalks
Community
Workshops
NOTE
The FastTrack team is always increasing the documentation of its processes and guidance. For more information, see
Implementation lifecycle management home page.
TechTalks
TechTalks focus on empowering both customers and partners by providing technical depth and best practices that
are specific to the subject areas that are covered. These talks often provide an overview of available tooling and
features. TechTalks are delivered in the form of live webcasts that include a question and answer (Q&A) session at
the end. They can also be accessed on-demand and are publicly available. To view all TechTalks and sign up for
future talks, see Microsoft Dynamics 365 FastTrack Tech Talks.
TechTalks provide a basic understanding that will increase the value and efficiency of the workshops that are
offered. The FastTrack team will guide you to relevant TechTalks that will help you prepare for specific workshops.
For a complete inventory of all recorded TechTalks that are available to stream or download, see FastTrack Tech
Talks.
Community
The FastTrack community provides a platform where customers and partners can post questions and get answers
from FastTrack solution architects about best practices and guidance. To participate in the community, see FastTrack
Forum.
Workshops
Workshops are interactive outcome-based remote sessions. Customers and partners can provide input before the
workshops and customize them for their engagements.
Kick-off meetings
The kick-off meetings are available to customers who are eligible for a designated FastTrack solution architect. The
kick-off meetings are designed to introduce the FastTrack service and the roles and responsibilities of the FastTrack
team in your project, to define how three parties (the solution integrators, the customer, and Microsoft FastTrack)
will collaborate during the implementation project, and provide introductory guidance about a set of critical
success factors for an implementation. Some of the topics that the kick-off meetings are likely to cover include:
Team introductions
Project background, goals, and success factors
Overview of FastTrack including service offering, roles and responsibilities, and differentiation between
Microsoft teams
Explanation of how services are delivered, and where and when to seek help from the FastTrack engineering
team
Critical success factors and key learning that can be shared by the FastTrack team
Typically, the designated FastTrack solution architect will initialize the engagement by scheduling a partner kick-off
meeting followed by a customer kick-off meeting after the eligible customer has completed the onboarding
process. For more information about customer onboarding, see Onboard an implementation project.
The typical format of a partner kick-off meeting is a one-hour Microsoft Teams call. For customers, the kick-off
meeting is a three-hour Microsoft Teams call. The recommended attendees include key stakeholders like
customer’s project sponsor (not required for entire kick-off meeting), project managers, solution architects,
technical/functional leads, business process owners from the customer, a partner, and the Microsoft teams. The
kick-off meeting can also be conducted in a combined customer and partner session if the implementation
partners have been through the process before.
Solution blueprint workshops
The Solution blueprint workshops are designed to promote understanding of the solution design to facilitate
alignment with the approach that Microsoft uses for public cloud deployment, known patterns and best practices,
a review of the product roadmap, and project goals and schedule. The initial blueprint review is done early in the
implementation. Supplementary reviews are done as the blueprint evolves. Here are some of the topics that these
workshops are likely to cover:
Solution overview and rollout plan
Application component design
Inclusions from independent software vendors (ISVs)
Instance strategy
Environment plan
Business process catalog
Gap solution design
Integration design
Data migration design
Business intelligence and analytics design
The typical format is a two-to-four-hour Skype call. The recommended attendees include key stakeholders from
the customer and partner teams. Solution architects, functional leads, and technical leads are mandatory.
Environment planning workshop
The Environment planning workshop is designed to cover the environment planning in more depth. Here are
some of the topics that the workshop is likely to cover:
Environment strategy
Project methodology
Project schedule and phases
Rollout and long-term operations plan
The typical format is a one-to-three-hour Skype call. The recommended attendees include key stakeholders from
the customer and partner teams. Solution architects, project managers, and technical leads are mandatory.
Gap solution design workshop
The Gap solution design workshop is designed for implementations that have critical requirements that aren't
supported by the standard system. The workshop reviews the top gaps in terms of complexity. This workshop isn't
intended as a fit/gap review. The expectation is that initial consideration of solutions for every scenario will be
completed before the workshop. Here are some of the topics that the workshop is likely to cover:
Gap requirements
Proposed extension solution
Potential workarounds that have been considered
ISV solutions that have been considered
The typical format is a one-to-three-hour Skype call. The recommended attendees include key stakeholders from
the customer and partner teams. Solution architects, functional leads, and technical leads are mandatory.
Application lifecycle management review workshop
The Application lifecycle management (ALM) review workshop is designed for cases where implementers want to
make sure that their ALM approach will meet the requirements of the implementation and be aligned with typical
best practices. Here are some of the topics that the workshop is likely to cover:
Environment plan
Development work management plan
Code management design
Build process design
Rollout plan
The typical format is a one-to-three-hour Skype call. The recommended attendees include key stakeholders from
the customer and partner teams. Solution architects, project managers, and technical leads are mandatory.
Performance workshop
The Performance workshop is designed for cases where implementers must make sure that performance-related
aspects of the implementation are accounted for, and that the correct process and approach are followed to help
guarantee performance. Here are some of the topics that the workshop is likely to cover:
Usage profile
Performance testing approach
Performance remediation approach
The typical format is a one-to-three-hour Skype call. The recommended attendees include key stakeholders from
the customer and partner teams. Solution architects and technical leads are mandatory.
Integration design workshop
The Integration design workshop is designed to review the overall plan for integrations and also aspects of specific
interface designs. Here are some of the topics that the workshop is likely to cover:
Overall application component design
In-scope interface catalog
Middleware designs
Performance and operational aspects of the integration designs
The typical format is a one-to-three-hour Skype call. The recommended attendees include key stakeholders from
the customer and partner teams. Solution architects and technical leads are mandatory.
Data migration workshop
The Data migration workshop is designed to help guarantee that the migration strategy covers all the required
topics or to review the complexities of specific migrations. Here are some of the topics that the workshop is likely
to cover:
Data migration strategy
Data migration design
The typical format is a one-to-three-hour Skype call. The recommended attendees include key stakeholders from
the customer and partner teams. Solution architects and technical leads are mandatory.
Business intelligence and analytics design workshop
The Business intelligence (BI) and analytics design workshop is designed to review the overall strategy for using BI
and analytics in the solution, and also to drill into specific designs. Here are some of the topics that the workshop
is likely to cover:
Analytics designs
Audit reporting designs
Output document designs
Financial reporting designs
The typical format is a one-to-three-hour Skype call. The recommended attendees include key stakeholders from
the customer and partner teams. Solution architects and technical leads are mandatory.
Test strategy workshop
The Test strategy workshop is designed to validate the strategy that has been proposed for various testing
requirements both before and after go-live. Here are some of the topics that the workshop is likely to cover:
Functional test strategy
End-to-end test strategy
Acceptance test strategy
Performance test strategy (This topic is covered in depth during the Performance workshop.)
Regression test strategy
Mock cutover strategy
The typical format is a one-to-three-hour Skype call. The recommended attendees include key stakeholders from
the customer and partner teams. Solution architects, project managers, and testing leads are mandatory.
Cutover plan workshop
The Cutover plan workshop is designed to validate the plan for go-live cutover. The cutover process for the initial
phase and subsequent phases is also validated. Here are some of the topics that the workshop is likely to cover:
Cutover checklist or checklist approach
Subsequent initial and subsequent cutover approaches
Cutover timing and dependency
Cutover validation approach
Cutover contingency planning
The typical format is a one-to-three-hour Skype call. The recommended attendees include key stakeholders from
the customer and partner teams. Solution architects and project managers are mandatory.
Go -live assessment workshop
The Go-live assessment workshop is designed to help guarantee a successful go-live of projects. Here are some of
the topics that the workshop is likely to cover:
Confirmation of the go-live date and scope
Solution acceptance and user training
Performance
Integrations
Code management
Configuration management
Review of blocking issues
Cutover plan and final data migration
Risk and mitigation review
Customer go/no-go criteria
Support process and Hyper-care plan
The typical format is a one-and-a-half-hour Skype call. The recommended attendees include key business users
and subject matter experts. Hyper-care team leads are mandatory.
Post go -live review workshop
The Post go-live review workshop is designed to wrap up the FastTrack engagement. Here are some of the topics
that the workshop is likely to cover:
Review of goals and objectives
Discussion of lessons that have been learned
Support overview
Review of aged support items
Handover of open issues to support teams
The typical format is a one-and-a-half-hour Skype call. The recommended attendees include key stakeholders from
the customer, partner, and Microsoft teams. Project managers are mandatory.
Onboard an implementation project
3/13/2020 • 3 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This topic describes how to onboard a Finance and Operations project by using Microsoft Dynamics Lifecycle
Services (LCS).
NOTE
If you do not see an active subscription, consult with your Licensing Partner to confirm the status of the subscription
transaction as well as the tenant for the subscription. By default, all Microsoft Online Services should be running on
the same Azure AD tenant.
4. If the subscription in question is shown as active, proceed to the next step by signing in to LCS to trigger the
Implementation Project creation flow.
5. Open another private browser tab and go to Lifecycle Services. Select Login to access LCS with your
current Tenant Admin credentials.
6. Accept and confirm any other prompts displayed to complete the Implementation Project provisioning.
7. The Tenant Administrator is assigned the Project Owner security role in the provisioned Implementation
Project.
NOTE
If the Tenant Administrator will not be a participant in the implementation, at least one additional Project Owner
must be assigned to the implementation project.
For an overview of LCS user management, including the security roles that can be assigned to users, see
Configure Lifecycle Services (LCS) security.
NOTE
All onboarding-related emails from the FastTrack team will originate from Dynamics 365 Onboarding
([email protected]), so please ensure that any spam blocker/filter allows email from this address.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This topic provides an overview of various aspects that you must consider while you plan for your project's
environment. To help guarantee a successful cloud implementation, it's important that you discuss and plan your
environment early in the project.
IMPORTANT
In a customer or partner Azure subscription, the customer or partner brings its own Azure subscription, and deploys
environments to that subscription for evaluation and development purposes only. The customer or partner pays for the
resources that are deployed to its Azure subscription. The amount that the customer or partner pays is based on the Azure
price list. By contrast, in a Microsoft subscription, the customer purchases licenses that allow the customer to deploy
environments to an Azure subscription that is managed by Microsoft. Therefore, the customer has no separate Azure billing.
Tier-1 vs. Tier-2 and higher
T IER- 1 T IER- 2 A N D H IGH ER
| All components are installed on the same server. These components include Application Object Server (AOS), the
database, Dynamics 365 Commerce, and Management Reporter. | Components are installed on multiple servers. |
| Microsoft SQL Server is used. | Azure SQL Database is used. | | The architecture differs from the architecture of the
production environment to maximize efficiency and cost of the development team. | The architecture is the same as
the architecture of the production environment, even though this type of environment has a different sizing and
isn't enabled for disaster recovery. | | The environment can be deployed in various ways. For example, it can be
deployed as an add-on, it can be cloud-hosted, or it can be deployed as an environment image (VHD). | The
environment can be deployed only as a standard environment or an add-on environment. It can't be cloud-hosted. |
| The environment isn't suitable for UAT or performance testing. | The environment is suitable for UAT and
performance testing. |
IMPORTANT
Microsoft promises service and data high availability as well as minimal servicing downtime guarantees as part of the
Dynamics 365 software license agreement (SLA) for production environments. The SLA goals do not apply to non-production
environments.
Tier-2 Standard Acceptance Test During onboarding with the Microsoft Yes
FastTrack team
Tier-1 develop/build and test When the Design phase starts. The Yes
provisioning process requires that
Microsoft Azure DevOps be configured.
IMPORTANT
Always deploy environments by using an unnamed account, such as [email protected] . Use the build topology to
deploy and use the develop and test environment, because this topology simplifies build management and automatically
initializes the Azure DevOps source repository.
Additional environments
Additional environments can be purchased as add-ons, or they can be deployed as cloud-hosted environments. The
following illustration shows a sample overview of standard and additional environments, based on the complexity
of the implementation.
IMPORTANT
Always deploy environments by using an unnamed account, such as [email protected] . Assign the environments an
owner who will be responsible for their status and maintenance. After go-live, if you plan to work on new releases, get an
additional Tier-2 or higher environment to support production.
NOTE
You must allocate one development environment per developer.
Cost model Fixed flat rate (The price is Pay as you go (If the Hardware-related
the same if the environment environment is on for eight
is on 24/7.) hours, you pay for eight
hours.). Cost is based on
selected Virtual Machine
size, disk size and settings,
and premium storage
settings
Limitations 1) Virtual Machine (VM) None. You have full control None
local Administrator access is over VM specs, disk size and
disabled. 2) Limited disk storage settings. You have
sizes 3) VM specs are administrator access to the
defined by Microsoft VM.
IMPORTANT
Actions that require local administrator access can no longer be performed on Tier-1 environments managed by Microsoft
(Standard and Add-on). These actions include installation of third-party tools and development of Microsoft Power BI reports.
If administrator permissions are required, use cloud-hosted environments or an environment image (downloadable VHD)
instead. For more information, see Development and build VMs that don't allow admin access FAQ.
After a subscription estimate is activated, you can view transaction lines per hour in LCS, as shown in the following
illustration.
IMPORTANT
The upcoming admin lockdown for Tier-2 or higher environments will no longer allow Remote Desktop Protocol (RDP)
connections to the servers. As part of the Microsoft roadmap, the most common actions where RDP access is required are
being replaced by self-service tasks in LCS. For example, the procedure to copy a Finance and Operations database from SQL
Server to a production Azure SQL Database environment will be available as a service from Microsoft. Therefore, to copy a
database from SQL Server to a production Azure SQL Database environment, you will have to create a service request in LCS.
More information will be available through the LCS Blog and on Docs.
IMPORTANT
If you have a Microsoft Volume Licensing agreement, you can subscribe to add-on environments on a monthly basis through
the Microsoft Products and Services Agreement (MPSA) licensing program. Alternatively, you can subscribe to them through
the Microsoft Cloud Solution Provider (CSP) program. For more information about the various environments and tiers,
download the latest Microsoft Dynamics 365 Licensing Guide from Dynamics 365 pricing.
Environments plan
Create the environments plan early in your implementation.
1. Identify the project activities that require an environment. These activities include, but aren't limited to,
development of customizations and maintenance of golden configuration data.
2. Determine the activities lifecycle to determine the environments lifecycle. Here are some examples of the
questions that you should ask during this step:
When and for how long do you require the environment?
Do you require the environment before or after go-live?
3. Determine the type and topology of the required environments.
4. Summarize the list of required environments in a matrix.
After you've identified the environments, the environments plan can be used to structure the Application Lifecycle
Management (ALM) flows. For example, after you finalize your environments plan, you can define the flows for
building and moving the code and the data across environments.
We strongly recommend that you watch the Environment Planning TechTalk. From the linked page, you can also
download the Sample Environment Planning exercise spreadsheet to get a head start on your environment
planning exercise.
Prepare for go-live
2/1/2020 • 8 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This topic describes how to prepare to go live with a project by using Microsoft Dynamics Lifecycle Services (LCS).
This graphic lists the phases of the go-live process.
The following table lists all the steps in the process, with the expected duration and who is responsible to take the
action.
A C T IO N DURAT IO N / W H EN WH O N OT ES
1 Update Go-live date At the latest 2-3 Partner/Customer The milestone dates
in LCS months in advance should be kept up to
date on an ongoing
basis
Copy database Five hours lead time Dynamic Service Generally, the
and four hours Engineering (DSE) database copy is
downtime completed in less
than one hour. We
still recommend that
you provide a
downtime window of
four hours in case a
rollback is required for
any reason.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This topic lists frequently asked questions about how to go live with an implementation project.
NOTE
Your production environment won't be deployed until the Go-live assessment/review has been completed.
My sandbox environment is currently on an update that is set to expire
in two months. Can I request a production environment that has the
latest update?
No. We will deny any request for a production environment that is on a different version than your sandbox
environment. When you configure a production environment, the versions that you select must match the versions
of the sandbox environment where you signed off on your solution. Therefore, you must first apply the latest
update to your sandbox environment, test it, and sign off.
For more information, see Software lifecycle policy and cloud releases.
NOTE
If you add additional users later, you must create a support ticket to activate a new subscription estimate. Your production
environment might have to be resized, depending on the number of users, the type of user licenses, and the expected peak
transaction volume. Downtime is required in order to resize a production environment.
NOTE
If your golden configuration is in data packages, you must manually import the data packages to the production
environment.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
A service request is a ticket that you use to request that the Dynamics Service Engineering (DSE) team perform a
predefined set of tasks on your environments.
NOTE
Don't use service requests for product issues. If you encounter a situation that doesn't fit into any of the tasks that are
described in this topic, submit a support ticket instead. For more information about support tickets, see Get support for
Finance and Operations apps or Lifecycle Services (LCS).
You can use Microsoft Dynamics Lifecycle Services (LCS) to submit service requests directly to the DSE team. You
can also view which requests have been submitted, executed, and canceled for your environments.
Select the Menu button and select Work items . On the Work items page select the Ser vice requests
tab.
By default, the Ser vice requests tab on the Work items page lists all requests that are currently active and
requests that have been denied. However, you can use the filter options to show canceled and finished requests too.
After you submit a request, it has a status of Requested . Before the DSE team acts on the request, it might ask for
clarification by entering a comment in the Comment field. For example, you might receive a comment from the
DSE team if you request deployment of a production environment, but the data center differs from the data center
where your sandbox environments are deployed. Carefully review the comments, and provide any required
clarification in your own comment. To view the details of a specific request, or to submit comments for a service
request, select the request ID.
If you signed up for LCS notifications, you receive an email when the status of a service request changes or a
comment is entered.
If you submit a service request to the DSE team, and the action is outside the team's scope, the service request will
be denied. In this case, the reason for the denial and suggestions for further action are provided. For some typical
examples of service requests that the DSE team will deny, see the "Denied service requests" section later in this
topic.
NOTE
If you need to restore a production database to a previous point-in-time during the cutover phase, select the
Production point-in-time restore request type. If you need to restore a production database when
you're already live in operations, submit a support ticket through LCS.
Database refresh request – Select this request type to refresh a database from a production
environment to a sandbox environment, or from one sandbox environment to another. For more
information, see Refresh database. This request type is being retired on January 31, 2019.
NOTE
If you need to refresh a database from a sandbox environment to a production environment during the
cutover phase, select the Sandbox to Production type.
Sandbox point-in- Any Tier 2 or higher Database point-in- Five hours Four hours
time restore sandbox time restore
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
When customers subscribe through a Microsoft Volume Licensing agreement or a Microsoft Cloud Solution
Provider (CSP) agreement, they usually have one Microsoft Azure Active Directory (Azure AD) tenant, one Microsoft
Dynamics Lifecycle Services (LCS) Implementation project and any number of sandbox environments that are
deployed to one data center of the customer's choice, and one production environment. For more information
about these core concepts, see Finance and Operations application architecture. Although this setup works well for
most projects, more advanced scenarios are sometimes required, or changes during the implementation lifecycle
must be accommodated.
This topic provides answers to frequently asked questions about subscriptions and licenses, Azure AD tenants, and
LCS Implementation projects.
For more information, see the following topics:
Move environments between data centers
Move licenses between agreement types
Move LCS implementation projects to different Azure AD tenants
Multiple LCS projects and production environments on one Azure AD tenant
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
Occasionally, you must move environments that are managed by Microsoft to a different Microsoft Azure data
center. Here are some scenarios where this move might be required:
The data center that you planned to use wasn't available when the environments were originally deployed.
The project creators didn't do enough research to determine the best data center before the environments were
originally deployed.
The customer moves the physical location of its operations, and the wide area network (WAN) connection is
now closer to a data center that provides lower latency.
Microsoft asks that you keep all your environments in the same data center. When you move environments to a
different data center, you should plan to eventually have all environments deployed in the same data center.
You can verify the data center that an environment is deployed to on the Manage environments page in
Microsoft Dynamics Lifecycle Services (LCS).
To change the data center, you must redeploy all environments. The process differs for sandbox environments
(sandbox standard acceptance test environments, and sandbox develop and test environments) and production
environments.
NOTE
The movement of files that are stored in Azure Blob Storage isn't supported in sandbox environments.
Commerce customers should be aware that extra steps are required for components to work correctly after a move. For
more information, see Data management overview.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
Sometimes, a customer who originally purchased subscriptions through a Microsoft Cloud Service Provider (CSP)
agreement decides to change to a Microsoft Volume Licensing agreement with Microsoft after the Microsoft
Dynamics Lifecycle Services (LCS) Implementation project has been created. The customer can make this change
even after the project has gone live in production.
Less often, a customer who originally purchased the subscriptions through a Volume Licensing agreement with
Microsoft decides to change to a CSP agreement. In this case, the change must align with the renewal date of the
Volume Licensing agreement.
The process of moving subscriptions from one type of agreement to another is primarily a commercial process.
The technical implications for the LCS Implementation project are minimal.
NOTE
The movement of subscriptions between agreement types isn't the same as the movement of an Azure Active Directory
(Azure AD) tenant. If the contractual changes in the agreements require that an Azure AD tenant be moved, you must also
follow the process that is described in Move LCS implementation projects to different Azure AD tenants.
Subscriptions come with three standard environments: one production environment, one Tier-2 Standard
Acceptance Test environment, and one Tier-1 developer environment. These environments aren't affected by the
movement of subscriptions between agreement types. Action might be required in LCS only if the customer has
additional add-on environments. In this case, action that is related to the add-on environments requires minimal
effort on the part of partner or customer resources. To streamline the movement of data between environments,
you should plan in advance to determine the best sequence.
IMPORTANT
Make sure that the subscriptions are purchased against the same Azure AD tenant that is used on the original
agreement.
IMPORTANT
Make sure that the subscriptions are purchased against the existing Azure AD tenant.
IMPORTANT
Until physical redeployment of the add-on environments is completed, both existing subscriptions and new subscriptions
must be kept in an active state.
NOTE
The movement of files that are stored in Azure Blob storage isn't supported in sandbox environments.
Commerce customers should be aware that extra steps are required in order for components to work correctly after the
move. For more information, see Data management overview.
Move LCS implementation projects to different Azure
AD tenants
2/12/2020 • 5 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
You can move your subscriptions and your Microsoft Dynamics Lifecyle Services (LCS) Implementation project to a
different Microsoft Azure Active Directory (Azure AD) tenant. Here are some scenarios where this move might be
required:
Subscriptions were accidentally purchased against the incorrect Azure AD tenant.
NOTE
If you're a cloud service provider, and you sell subscriptions for Finance and Operations apps to an existing customer,
you must request a reseller relationship with that customer to put the subscriptions on the customer's existing Azure
AD tenant. If you create a new customer record for the customer in Microsoft Partner Center, you create a new Azure
AD tenant for the customer.
The customer changes the structure of the Azure AD tenant after the subscription is purchased.
The process for moving your subscriptions and all related artifacts has four main steps, as shown in the following
illustration.
IMPORTANT
It's crucial that the subscriptions be active on both tenants in parallel for a few weeks, until you've finished decommissioning
LCS on the old tenant.
UPDATE USERINFO
SET SID='mysid', NETWORKALIAS='myalias/email', NETWORKDOMAIN='https://sts.windows.net'
WHERE ID = 'Admin'
6. Re-import all other users that have the correct security identifier (SID) and identity provider.
7. Run the following commands to update the tenant ID in the appropriate tables:
IMPORTANT
During this period, you will have two parallel LCS projects. You can verify the name and ID of the Azure AD tenant that is
associated with an LCS project on the Subscriptions available page in LCS. You will lose any document handling
attachments that are stored in Azure Blob storage.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
For any new cloud project, one Microsoft Dynamics Lifecycle Services (LCS) Implementation project is instantiated
on a Microsoft Azure Active Directory (Azure AD) tenant that provides access to one production instance. In rare
cases, to handle the requirements of a specific implementation, you might require multiple production instances
that run in parallel. By creating multiple LCS projects against the same Azure AD tenant, you can have multiple
production instances. Here are the most common scenarios where multiple production instances might be
required:
A global implementation's requirements for data residency, latency, or data volume can't be met by one
instance.
Different business units in an organization are implementing the product separately as independent
applications.
Manual intervention by the Microsoft Dynamics Service Engineering (DSE) team is required in order to create
additional LCS projects on a shared Azure AD tenant. This approach should be used only if a single-instance
strategy truly isn't feasible. Before additional LCS projects can be created, customers must provide the business
justification and confirm that they understand all the implications of the approach. This process should be started
as early in the implementation lifecycle as possible. Customers who decide to proceed should inform the FastTrack
solution architect who is assigned to their project that they require additional LCS projects. If no solution architect
is assigned to their project, customers should open a support ticket.
Licensing requirements
Every LCS Implementation project that runs on the same Azure AD tenant must satisfy the minimum licensing
requirements. For example, if there are three LCS Implementation projects on the same Azure AD tenant, a
customer must purchase no less than three times the minimum number of subscription licenses. Currently, the
minimum license requirement is 20 full user licenses. Therefore, to run three LCS Implementation projects on the
same Azure AD tenant, the customer must purchase at least 60 licenses.
Because the licenses are associated with the Azure AD tenant, the Subscriptions available page for every LCS
project will show the total number of licenses, even though a given LCS project can use only the portion of licenses
that has been allocated to it. This allocation of license to LCS projects must be documented outside the system.
Users who access multiple environments in parallel must be licensed separately for each environment. For more
licensing information, download the Licensing guide.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This topic provides links to other topics that will help new implementers of Commerce projects with important
aspects of the implementation process, so that they can avoid complications. The guidelines that are mentioned are
best practices that have been collected during previous implementation projects. Therefore, implementers can
focus on the actual feature work and not become bogged down by the procedures.
Some of the information in these topics can also be found on blogs and pages at other locations, such as
Development and administration for Finance and Operations and https://dynamicsnotes.com. You can read those
blogs and pages separately, or you can read this topic from beginning to end and review the linked documents
within the subtopics as you require them during the implementation process.
The information focuses on implementations of Finance and Operations apps that include Commerce functionality.
Set up new environments, Azure DevOps, and branches for Commerce projects
Update code and environments for Commerce projects
Testing and performance issues
Set up new environments, Azure DevOps, and
branches for Commerce projects
2/14/2020 • 19 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
Most environments for Microsoft Dynamics 365 Commerce projects are hosted in the cloud. They are either
Microsoft-hosted on a Microsoft subscription or cloud-hosted on a customer subscription. By default,
environments are Microsoft-hosted. You can use cloud-hosted environments to provide more control over a
development or build environment. For more details, see the Lifecycle Services (LCS) user guide.
NOTE
You can shut down cloud-hosted environments at any time. This capability helps reduce the hosting cost.
A hosting alternative is to download a virtual hard disk (VHD) from LCS and host it locally on a server. From a
development perspective, VHD images have the same capabilities as a hosted VM. The only difference is that LCS
deployments aren't supported on VHDs. However, command-line deployments are supported.
The following table shows the advantages and disadvantages of each hosting model. Use this information to
evaluate the model that will work best for your project.
H O ST IN G M O DEL A DVA N TA GES DISA DVA N TA GES
Microsoft-hosted environment (in an Your subscription includes one Tier 1 Users can't perform administrative
LCS project, default or based on an environment. We recommend that you actions.
add-on) use this environment as a build Users can't install any tools or
environment. certificates.
Telemetry data is collected and is
available on the LCS diagnostics
page.
Cloud-hosted environment (in an LCS You have full administrative rights. There is additional cost. You can
project, private subscription) You can install tools and certificates. mitigate this cost by shutting down the
environment.
Self-hosted downloaded VM The experience depends on the host. You can't deploy packages from LCS.
The experience can be much faster if the
VM runs on a solid-state drive (SSD).
Tier 2 and higher machines are multi-box environments for multiple test and verification purposes. Production
environments are hands-off, and the size of the environment is determined by the sizing process in LCS.
NOTE
A branching and merging strategy involves a tradeoff between risk and productivity. You trade the safety of working in
isolation for the increased productivity of working with other people. The productivity increases come with a cost—the
additional effort required for merging software assets sometime in the future.
Using branches provides better isolation and control of individual software assets and increases productivity, because teams
or individuals can work in parallel. However, using branches also requires an increase in merge activities and therefore risk,
because you must later reassemble branches into a whole.
For more information about the delivery of implementation projects, watch Continuous Delivery Using Dynamics
365 for Operations (video).
There is no single best strategy for creating branches. The strategy depends on the project and the size of the
implementation. The approach that Joris De Gruyter mentions in the preceding video is a successful method.
The following illustration shows three code branches: Dev, Main, and ProdRel1. The numbers indicate the order of
setup.
Here is an explanation of the setup. The numbers in brackets refer to the numbers in the preceding illustration:
The Dev branch [2] is used for daily work that isn't ready for testing or might not be stable, but that must be
shared with other developers. For larger teams, you might want to have multiple Dev branches for different
features or purposes.
The Main branch [1] is for changes that meet a certain quality bar and are ready for testing by other people.
This testing might include user acceptance tests, performance tests, integration tests, and sanity tests after
hotfixes. Deployable packages for this branch must be created by a build environment. As a best practice, you
should not generate X++ packages in a Tier 1 environment and then deploy those packages into an official test
or production environment. Otherwise, uncommitted source changes could be included. The correct approach
is always to deploy packages that were built on official build environments.
The ProdRel1 branch [3] holds all source code exactly as it's deployed in a production environment at any
given point. A build environment can be used but isn't required. If packages from the Main branch are deployed
to a production environment, the code should be merged (from Main to ProdRel1) after a production
deployment. By having a branch for production, you can generate official builds later if you require them.
All three branches hold both X++ code (extensions and hotfixes in Metadata folders) and a copy of the Retail
software development kit (SDK) in RetailSdk folders [5, 6, 7]. The Retail SDK includes base Microsoft code and
code extensions. This base code and the code extensions can differ in each branch.
The RetailSdk-mirror folder [4] is used to bring in Microsoft changes to the Retail SDK. It isn't used for
development or build purposes. It should be updated only when a new version or hotfix is used. For a detailed
description of the process, see this cheat sheet.
For small projects, it's acceptable to have only two branches (Main = Dev branch). However, developers must be
more disciplined, because any code submissions can immediately affect the quality of test builds.
You can build deployable packages out of multiple branches. In this case, you must have one build definition for
each branch that can be built. The initial build definition is automatically created when a build environment is
deployed (Main branch). You can make copies of the build for other branches. Note that you must make small
additions to incorporate the Commerce code.
The following high-level steps are used to set up an environment so that development work can begin. For details
about the numbers in brackets, see the previous illustration and the related information.
1. Deploy a build environment and an empty Main branch in Microsoft Azure DevOps [1].
2. Deploy a development environment.
3. Create the Dev branch and the release branch (for example, ProdRel1 in the previous illustration) [2, 3].
4. Add the Retail SDK [4–7].
5. Prepare the development environment.
6. Optional: Deploy a second build environment for a different release branch.
7. Prepare the build definitions.
After you've completed all these steps, your branches, environment, and builds will be ready.
The following sections explain each step in detail.
After you create the new Azure DevOps project, you must give Azure DevOps access to it. First, create a new
personal access token on the Azure DevOps account. Then configure the LCS project with the correct URL and
personal access token.
After the LCS project is linked to Azure DevOps, you're ready to deploy.
Add a new environment, select the version, select DEVTEST as the topology, and select a build environment. On
the next page, enter a meaningful name for the environment. Then enter a similar name for the build agent.
Next, under Customize vir tual machine names , enter a unique name, and then deploy the VM.
The build box is deployed, and the build definition and Main branch are created, as shown in the following
illustration. This process might take a couple of hours.
You should also change the version of the Commerce customization. This version should differ in the Dev, Main,
and ProdRel1 branches. Either change the Customization.settings file, or add a new global.props file in the
RetailSdk\BuildTools folder. For example, you can number Dev as 1.0.0.x, Main as 1.0.1.x, and ProdRel1 as 1.0.2.x.
i. In Commerce, run the Initialize Commerce Scheduler job to delete old data.
6. Make sure that you can sign in to Commerce by using your user account. If you aren't the Admin user in the
production database, run the Admin provisioning tool to take ownership. (This tool is in the
PackagesLocalDirector y/bin folder.)
7. Verify that Commerce Data Exchange (CDX) data synchronization works. In Commerce, go to Download
sessions . You should see many applied sessions. If you don't see them, select job 9999 , and run it.
8. Install TypeScript version 2.2.2 from https://www.microsoft.com/download/details.aspx?id=48593.
9. Do a full build of the Retail SDK from a command prompt.
a. Open an MSbuild command prompt for Microsoft Visual Studio 2015 as an administrator.
b. Change the directory to the location of your Retail SDK on the local VM.
c. Type msbuild , and then press Enter. The build should succeed.
10. Add the development/sample Retail Modern POS (MPOS) certificate to the local machine's trusted root
certificate store: ...\RetailSDK\BuildTools\ModernPOSAppxSigningCer t-Contoso.pfx . Set the
password to an empty string.
11. Install MPOS or MPOSOffline by running the installer at ...\RetailSDK
\References\YourCompany|Contoso.ModernPOSSetupOffline.exe . You must complete this step one
time to deploy the ClientBroker files.
12. In Visual Studio, open ModernPOS.sln (as an administrator), and do a full rebuild.
13. Press F5 to start MPOS in the debugger.
14. In Commerce, open the Channel profiles page, and copy the Commerce Scale Unit URL for the default
channel profile.
15. Open a browser window, and paste the URL into the address bar. You should be able to browse to your local
Commerce Scale Unit.
16. In Commerce, add external user credentials to any worker (for activation), save the password, and don't
allow a password reset on first sign-in.
17. In Commerce, run job 1060 (AX/Distribution schedule ).
18. Activate MPOS by using the same Azure Active Directory (Azure AD) user that you added in step 16. Paste
the Commerce Scale Unit URL, select a store and a register, and finish the activation.
You should now be able to run MPOS in the debugger from your local sources.
The process of preparing a development environment is now completed. At this point, any extension code (X++,
Commerce runtime [CRT], Commerce Scale Unit, channel SQL, and POS) can be written, debugged, tested, and
submitted to Azure DevOps.
When you deploy from LCS, use PRODREL1 as the name of the agent pool.
Next, on the Customize vir tual machine names tab, enter a unique name, and then deploy the new build. The
process of deploying a new build and creating a new agent queue can take a couple of hours.
Prepare the build definitions
After you complete the steps earlier in this topic, you should have one build definition and two agent queues, and
each agent queue should have one agent. To build different branches, you must configure the build definition
differently. Therefore, you must clone the build definition.
However, before you clone the build definition, you must add the Retail SDK into the build, so that you don't have
to complete this step twice. To edit the existing build definition, which is named Unified Operations platform -
Build Main , follow the steps in Integrate the Retail SDK with the continuous build system (Azure DevOps) to
integrate the Retail SDK into the metadata build of the Main branch.
If you had multiple build branches and environments, just clone the build definition, and name the new build
definition so that it's clear which branch it's for. (The clone feature is available in the Azure DevOps portal). Select
the new agent queue that you created, and change the following paths in any build steps or source mappings. (In
the paths, change Main to ProdRel1 .)
Source mappings
Retail SDK build step
Retail SDK copy binaries step
Build the solution step (X++ build)
Retail SDK copy packages step
Tips
You can speed up an official build by making these changes in the Variables section of the build definition:
Set DeployRepor ts to 0 .
Set SkipSourcePackageGeneration to 1 .
Change the version of the Commerce customization in each branch. The version should be different in the
Dev, Main, and ProdRel1 branches. Either change the Customization.settings file, or add a new global.props
file under the RetailSdk\BuildTools folder. You can use any kind of numbering for the file name. For
example, you can number Dev as 1.0.0.x, Main as 1.0.1.x, and ProdRel1 as 1.0.2.x.
For efficiency, shut down build or development environments when they aren't being used.
If you're using cloud-hosted Tier 1 development environments (where you have administrative privileges),
you can switch from IIS Express to IIS. Using IIS for running all web application is more robust, more
performant, and avoids the switching. For details, see MSDyn365FO. How to switch from IIS Express to IIS
on development VM.
For prototyping purposes, a developer might want to change the Retail SDK on a development VM without
using Azure DevOps source control. Always keep the original Retail SDK untouched, and make a copy that
you can work in temporarily. In that way, you can take the unchanged Retail SDK into your mirror branch
later, if it's required.
Currently, a build environment must be on the same platform and binary hotfix version as the target
environment.
Additional resources
Update code and environments for Retail projects
Testing and performance issues
Update code and environments for Commerce
projects
2/1/2020 • 12 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
Platform code is at a very low level, and no Microsoft Dynamics 365 Commerce features are implemented in the
platform. Therefore, stand-alone platform binary updates don't require that you retest any Commerce-specific
code. Examples of features that are implemented in the platform are the Data Import/Export Framework (DIXF)
and the batch framework.
Binary updates or hotfixes include dynamic-link libraries (DLLs), scripts, and channel SQL schema changes. All
channel-side hotfixes are released together as a binary update/hotfix. Because binary updates are DLLs, they are
cumulative. For example, if you download a binary update on Friday, you automatically receive all binary hotfixes
from Monday through Thursday.
If the code merge is done correctly, the version of a binary hotfix that you take matches the version of the
Microsoft-version.txt file in the Retail software development kit (SDK). Typically, binary updates are also linked to
the latest platform. Therefore, when you take binary updates, you must stay up to date with the platform. Platform
updates help increase the stability of the platform, and they affect build environments and test efforts to some
extent.
Application updates or hotfixes are delivered in X++ source code. Therefore, they aren't for the channel side but for
the Microsoft Dynamics 365 side (they are either Commerce-related or not Commerce-related).
Note that some updates require both an application update and a binary update. For hotfix recommendations, see
the next section.
Third-party packages resemble application packages, but they are developed by other people. For more
information about how to use independent software vendor (ISV) packages, see Manage Runtime Packages.
NOTE
If you have table extensions that include data, you must have the metadata for those extensions in the environment.
Otherwise, you can lose data, because columns and tables might be dropped.
Step 4: Move changes from the Dev branch to the Main branch
In this example, the Dev and Main branches have been separated to provide an opportunity to "leave some
unwanted changes behind." Although this approach isn't required, it's a good option to have. Microsoft Visual
Studio makes the process of moving the code from Dev to Main easy. You can select a range of changes, select all
or individual changes, and merge those changes. To keep the process simple, you can have some type of a code
freeze in the Dev branch. Then, when you're satisfied with the quality, you can merge all changes. There is no
reason to treat X++ differently than the Retail SDK. They reside next together in each branch, because they are
dependent on each other.
Steps 4.1–4.2: Update test environments
Use your build environment to produce officially built packages from the code in the Main branch.
When the build is completed, find the packages that were built, download them, and rename them according to
your naming conventions.
Then upload the packages to the LCS Asset library.
Finally, deploy the packages to your test environments.
Tips
Decide on a good package naming convention for names in the LCS Asset library and for the names of zip
packages that are downloaded. In this way, you can more easily determine what package you've deployed
and where it came from. Avoid spaces in package names. Here is an example of a naming convention:
Platform update packages: PUXX_MMDDYY, where XX is the number of the platform update
Binar y update packages: BIN_MMDDYY
X++ update packages: APP_MMDDYY
Built X++ deployable packages: AX_BRANCH_VERSION, where BRANCH is an appropriate branch
name, and VERSION is the Microsoft Azure DevOps version string
Built Retail combined package: RET_BRANCH_VERSION, where BRANCH is an appropriate branch
name, and VERSION is the Azure DevOps version string
Whenever you start a new item of work, use the Get latest option in the Visual Studio source code
explorer.
Any code submissions should use correct and detailed comments that describe the change sets.
Production go-live procedures are important. You should consider including the following items on your
Go-live checklist. Verify your Go-live checklist in a mock go-live or UAT environment. This list isn't
exhaustive.
After deployment, does LCS show the expected deployment history together with the correct package
names?
After deployment, do the LCS environment page and Commerce show the correct and expected version
numbers?
Can Modern Point of Sale (MPOS) offline mode be used during downtime of Commerce? Package
deployments will cause downtime. If MPOS offline mode can be used, have you tested the procedure?
(To test the procedure, go offline, deploy, go online, synchronize offline transactions, and update MPOS.)
Does the Environment reprovisioning tool have to be run (if a database has been moved)?
Batch jobs for CDX synchronization must be reenabled by setting them to Waiting .
The "Initialize Commerce scheduler" job should be run.
Does other data have to be set up in addition to the deployable packages (for example, screens, buttons,
receipt layouts, the Microsoft Azure Active Directory setup, Commerce shared parameters, the tax
configuration, other batch processes, and DIXF recurring jobs)?
Is a synchronization of the CDX data jobs required?
Is a full synchronization of CDX data jobs required?
Does a deployment require that store components also be updated?
If the store components had to be updated, do they show the new version numbers?
Are the correct experts available during the deployment (for example, partners, ISVs, and customers)?
Additional resources
Set up new environments, Azure DevOps, and branches for Commerce projects
Testing and performance issues
Testing and performance issues
2/13/2020 • 5 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This document describes practices and tools that are related to functional testing, performance testing, and
performance troubleshooting.
Performance
Channel performance
In some cases, channel performance might not be as good as you expected. Poor performance is often caused by
the following factors. This list is in order from highest to lowest impact.
Additional custom calls to Commerce Scale Unit. If you extend the product with additional calls, performance
often decreases significantly. Not only is there a possibility of additional processing, but the network latency
must also be considered. We recommend that you try to avoid any additional Commerce Scale Unit calls. Often,
you can accomplish the same tasks by using extension properties and extending existing Commerce runtime
(CRT) handlers or triggers.
Additional channel database extensions. Make sure that your custom SQL is efficient and uses correct indexes.
Multiple runs of the same custom or built-in CRT SQL queries. If this approach is too expensive, caching in the
CRT request handler can be applied, as appropriate.
For more details, see the Commerce for IT pros and developers topics.
When you investigate store performance, follow the suggestions in Retail Channel performance investigations.
Using telemetry data to find performance issues
If you must troubleshoot the performance (especially slow SQL queries or SQL deadlocks), the environment
diagnostics page in Microsoft Dynamics Lifecycle Services (LCS) shows valuable telemetry data. You can use this
data to find potential performance issues in code, configuration, or design. For more details, see How to use
Environment Monitoring View Raw Logs. That information should help you determine why some batch processes
or form loads are slow.
Performance testing
Typically, when you test the performance of a system, you should focus on components where there is competition
for many shared resources. These resources might differ for different projects, customers, or requirements.
Here are some of the reasons why bottlenecks can occur:
Resource-intensive calculations, such as statement posting, change calculations for channel data
synchronization, warehousing operations that involve a large product assortment, and MRP (Material
Requirements Planning) runs
Complex business logic for multiple terminals or stores that run on a few Commerce Scale Unit
Integrated third-party systems (integrated from either Commerce or Commerce Scale Unit)
Real-time transaction services that are frequently called from Commerce Scale Unit.
Non-standard or extended standard functionality (for example, extended statement posting that uses a custom
WHS code)
In general, default and non-real-time POS operations aren't considered bottlenecks because they have their own
dedicated resource: the computer that the POS is installed or running on. Performance issues are typically caused
by the business logic or "chatty" calls to Commerce Scale Unit.
Ideally, performance testing should be done after some initial optimizations have already been completed by using
the information earlier in this topic. If the system doesn't perform well for a single user or process, it won't
perform well for concurrent users or processes. For more information, see Retail Channel performance
investigations. Additionally, in the Finance documentation, search for "PerfSdk" or "Trace parser."
Because every project is different, it's difficult to give a general answer about the exact performance tests that
must be run. For example, if the count of transaction sales lines is low (less than 100,000 per day for all stores),
and if no custom extension code has been added for statement posting, a performance test should not be required
for posting. However, if the count of sales lines is substantially higher, or if major custom changes have been
added, a performance test for posting is a good idea.
Usually, the hardware capabilities of every environment differ. However, performance issues can usually be
reproduced in other environments if the code and data are similar. We don't recommend that you use a production
environment for performance testing. A good practice is to use the same data in development, test, and production
environments. The development environment can then be used to work on and verify a fix. Because many
performance-critical code paths are data-dependent, the same issues might not be seen for a Contoso sample
database.
After you've completed a performance fix, you should verify the fix in a test environment. Deploy an officially built
package to the test environment, and if the issue is fixed, mark the package as a release package.
Any fix of a larger performance issue should be followed by a new performance test. Often, a large issue masks
other smaller issues. After the top issue is resolved, the next issues can be found and worked on until the
performance meets the customer's expectations.
Additional resources
Set up new environments, Azure DevOps, and branches for Commerce projects
Update code and environments for Retail projects
Channels overview
2/1/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-
Commerce, in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic presents an overview of channels in Microsoft Dynamics 365 Commerce. It includes information about
the tasks that you must complete both before and after you set up each channel.
Types of Channels
Dynamics 365 Commerce supports three different channel types: retail, call center, and online channels.
Retail channels
Retail channels represent standard brick-and-mortar stores. Each store can have its own point of sale (POS)
registers, income and expense accounts, and staff.
Call center channels
Call center channels represent call center order and customer management.
Online channels
Online channels represent online e-Commerce storefronts. Once an online channel is created, a site must be
created using the Microsoft Dynamics 365 Commerce Site Builder tool or other third-party e-Commerce solution.
Set up a channel
After you complete the prerequisite tasks, for further setup instructions, use the following links.
Set up a retail channel
Set up a call center channel
Set up an online channel
Additional resources
Channel setup prerequisites
Set up a retail channel
Set up an online channel
Set up a call center channel
Set up organization hierarchies
Channel setup prerequisites
3/10/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-
Commerce, in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic presents an overview of channel setup prerequisites in Microsoft Dynamics 365 Commerce.
Overview
Before a Dynamics 365 Commerce channel can be created, several prerequisite tasks must be completed. The
following lists of prerequisite tasks are organized by channel type.
NOTE
Some documentation is still being written, and links will be updated as new content is published.
Initialization
Initialize seed data
Additional resources
Channels overview
Organizations and organizational hierarchies overview
Set up organization hierarchies
Create legal entities
Set up a retail channel
Set up an online channel
Organizations and organizational hierarchies
overview
2/1/2020 • 3 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
An organization is a group of people who are working together to carry out a business process or achieve a goal.
Organizational hierarchies represent the relationships between the organizations that make up your business.
Organizations
You can define the following types of internal organizations: legal entities, operating units, and teams.
All internal organizations are types of the Par ty entity. Therefore, these organizations use the address book to store
address and contact information. A party, which can be either a person or an organization, can belong to one or
more address books.
Legal entities
A legal entity is an organization that has a registered or legislated legal structure. Legal entities can enter into legal
contracts and are required to prepare statements that report on their performance.
A company is a type of legal entity. Currently, companies are the only kind of legal entity that you can create, and
every legal entity is associated with a company ID. This association exists because some functional areas in the
program use a company ID, or DataAreaId, in their data models. In these functional areas, companies are used as a
boundary for data security. Users can access data only for the company that they are currently logged on to.
Operating units
An operating unit is an organization that is used to divide the control of economic resources and operational
processes in a business. People in an operating unit have a duty to maximize the use of scarce resources, improve
processes, and account for their performance.
The types of operating units include cost centers, business units, value streams, departments, and commerce
channels. The following table provides more information about each type of operating unit.
Cost center An operating unit in which managers Used for the management and
are accountable for budgeted and actual operational control of business
expenditures. processes that span legal entities.
Business unit A semi-autonomous operating unit that Used for financial reporting that is
is created to meet strategic business based on industries or product lines
objectives. that the organization serves
independently of legal entities.
O P ERAT IN G UN IT T Y P E DESC RIP T IO N P URP O SE
Value stream An operating unit that controls one or Commonly used in lean manufacturing
more production flows. to control the activities and flows that
are required to supply a product or
service to consumers.
Commerce channel An operating unit that represents a Used for the management and
brick and mortar store, an online store operational control of one or more
or an online marketplace. stores within or across legal entities.
Teams
A team is an organization in which the members share a common responsibility, interest, or objective. Teams cannot
be used in organizational hierarchies.
Organizational hierarchies
Set up organizational hierarchies to view and report on your business from different perspectives. For example, you
can set up a hierarchy of legal entities for tax, legal, or statutory reporting. Set up a hierarchy that is based on
operating units to report financial information that is not legally required, but that is used for internal control. For
example, you can create a purchasing hierarchy to control purchasing policies, rules, and business processes.
Each hierarchy is assigned a purpose. The purpose of a hierarchy determines the types of organizations that can be
included in the hierarchy. The purpose also determines which application scenarios a hierarchy can be used in.
Organizations in a hierarchy can share parameters, policies, and transactions. An organization can inherit or
override the parameters of its parent organization. However, shared master data, such as products and address
books, applies to the whole organization and cannot be overridden for individual organizations. Creating
organizations and hierarchies requires careful planning. For more information, see Plan your organizational
hierarchy.
Plan your organizational hierarchy
10/1/2019 • 13 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
Before you set up organizations and organization hierarchies, make sure that you plan how your business will be
modeled. The organization model has a significant effect on the implementation and business processes.
Organizational hierarchies represent the relationships between the organizations that make up a business.
Therefore, the most important consideration when you model organizations is the structure of your business. We
recommend that you define organization structures based on feedback from executives and senior managers from
functional areas, such as finance and accounting, human resources, operations, purchasing, and sales and
marketing.
When you are planning hierarchies, it is also important to consider the relationship between the organizational
hierarchy and financial dimensions. You can set up multiple organizational hierarchies to represent different views
of your business. By using financial dimensions, you can create reports based on these views. Work with your
partner to create hierarchies that address both organizational and statutory reporting needs.
NOTE
Although you can use financial dimensions to represent legal entities without creating the legal entities, financial dimensions
aren't designed to address the operational or business needs of legal entities. The interunit accounting functionality is
designed to address only the accounting entries that are created by each transaction.
IMPORTANT
You shouldn't decide how to model organizations based only on the information in this article. This documentation is a guide.
You can work with your Partner for additional guidance. Your Partner has gained experience in various industries and across
the customer base.
If you model the regional office as a legal entity, you have the following options:
Headquarters creates a journal entry to cross-charge the regional office for the expense. The transactions cannot
be aged.
Headquarters sends a purchase order for the services to the regional office. A sales order is automatically
created in the legal entity for the regional office, with intercompany sub-ledger transactions.
Ex a m p l e 2 : H e a d q u a r t e r s p r o c u r e s a n d p a y s fo r se r v i c e t h a t i s d e l i v e r e d t o a r e g i o n a l o ffi c e
If you model the regional office as a legal entity, you have the following options:
The invoice and payment follow the regulatory requirements of headquarters. Headquarters can create a journal
entry to cross-charge the regional office for the expense. The transactions cannot be aged.
The invoice and payment follow the regulatory requirements of headquarters. Headquarters can create an
intercompany sub-ledger transaction.
If the organization is modeled as an operating unit
Intercompany transactions among operating units are supported only through journal vouchers. An operating unit
cannot issue or receive a purchase order, sales order, or invoice from another operating unit in the same legal entity.
You cannot view intercompany transactions at the sub-ledger level (Accounts receivable, Accounts payable). The
following examples illustrate how intercompany transactions are handled.
Ex a m p l e 1 : H e a d q u a r t e r s p r o v i d e s se r v i c e s t o r e g i o n a l o ffi c e s a n d m u st c h a r g e t h e c o st s o f t h o se se r v i c e s t o t h e r e g i o n a l o ffi c e s
If you model the regional office as an operating unit, headquarters enters an expense transaction and codes it to the
regional office.
Ex a m p l e 2 : H e a d q u a r t e r s p r o c u r e s a n d p a y s fo r se r v i c e t h a t i s d e l i v e r e d t o a r e g i o n a l o ffi c e
If you model the regional office as an operating unit, the invoice and payment follow the regulatory requirements
of headquarters. The invoice can be coded to the regional office. On the income statement, use a balancing financial
dimension to report costs for the regional office.
Local tax requirements
If the organization is modeled as a legal entity
A legal entity is subject to the tax laws of the tax authority in the country/region where the legal entity is registered.
For example, a legal entity that is registered in Denmark is subject to Danish tax laws and regulations. A legal entity
can belong to only one country/region. The country/region that you select for the primary address of the legal
entity controls the country/region-specific features that are available to that legal entity. For example, if the primary
address of the legal entity is in Denmark, features that are related to Danish tax laws and regulations become
available. Therefore, if your organizations are in different countries/regions and require different local tax options,
you must set up the organizations as separate legal entities.
If the organization is modeled as an operating unit
Operating units use the country context of the parent legal entity. Operating units in the same legal entity cannot
have different country/region-specific requirements. If your organizations are in the same country/region and use
the same tax options, you can set them up as operating units.
Statutory reporting for a country/region
If the organization is modeled as a legal entity
For countries/regions that are supported, most statutory reports can be created. For information about which
reports are available for each country/region, see the Microsoft Dynamics Localization Portal. (A CustomerSource
logon is required.)
NOTE
A posting layer in the general ledger allows you to make adjusting entries to a parent company that uses a different
accounting standard than the child company. For example, for a company that uses generally accepted accounting practices in
the United Kingdom (UK GAAP), you can make adjusting entries in the posting layer. These entries can be consolidated into a
parent company that uses generally accepted accounting principles (GAAP) in the United States. The adjusting entries do not
affect UK GAAP reporting.
NOTE
Even though product definitions are shared, in each legal entity where a product has been released, you can specify different
sales, purchase, and stocking parameters for the item at each inventory site.
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic describes how to create legal entities in Microsoft Dynamics 365 Commerce, which must be created and
configured before creating channels.
Overview
A legal entity is an organization that has a registered or legislated legal structure. Legal entities can enter into legal
contracts and are required to prepare statements that report on their performance.
A company is a type of legal entity. Currently, companies are the only kind of legal entity that you can create, and
every legal entity is associated with a company ID. This association exists because some functional areas in the
program use a company ID, or DataAreaId, in their data models. In these functional areas, companies are used as a
boundary for data security. Users can access data only for the company that they are currently logged on to.
When creating a channel, you must specify which legal entity that channel belongs to.
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-
Commerce, in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic describes how to set up organization hierarchies in Microsoft Dynamics 365 Commerce.
Overview
Before creating channels, you'll want to ensure you have set up your organization hierarchies.
You can use organization hierarchies to view and report on your business from various perspectives. For example,
you can set up one hierarchy for tax, legal, or statutory reporting. You can then set up another hierarchy to report
financial information that is not legally required, but that is used for internal reporting.
Before you create an organization hierarchy, you must create organizations. For more information, see Create legal
entities or Create operating units.
For more information, see the following topics.
Organizations and organizational hierarchies overview
Plan your organization hierarchy
Create an organization hierarchy
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
An operating unit is an organization that is used to divide the control of economic resources and operational
processes in a business. People in an operating unit have a duty to maximize the use of scarce resources, improve
processes, and account for their performance. The types of operating units include cost centers, business units,
departments, and value streams. Use the following procedure to create an operating unit. The demo data company
used to create this procedure is USMF.
1. Go to Navigation pane > Modules > Organization administration > Organizations > Operating
units.
2. Click New to open the drop dialog.
3. In the list, find and select the desired record. Select the type of operating unit you want to create.
4. In the list, click the link in the selected row.
5. In the Name field, type a value.
Expand the General section, if necessary.
Provide general information about the operating unit, such as an identification number, DUNS number,
and manager.
Expand the Addresses section, if necessary.
Enter address information, such as the street name and number, postal code, and city. Click Add to enter a
new address record, or click Edit to modify an existing address record.
Expand the Contact information section, if necessary.
Enter information about methods of communication, such as email addresses, URLs, and telephone
numbers. To enter a new communication record, click New. To modify an existing communication record,
click More options > Advanced .
6. Optionally, change the Operating unit number as needed. Note that this number is a unique idenitifier for the
correspondng Par ty record and cannot be the same as any other operating unit.
7. Select Save .
Design the relationships between organizational units
3/18/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This procedure walks through how to design the relationship between organizational units. You must create a new
organization purpose before defining the relationship, or you can use the existing organization purpose. The demo
data company used to complete this procedure is USRT. This task is intended for the administrator role.
1. Go to Organization administration > Organizations > Organization hierarchies.
2. Click New.
3. In the Name field, type a value.
4. Click Assign purpose.
5. In the list, find and select the desired record.
6. Click Add.
7. In the list, find and select the desired record.
8. Click OK.
You can select as many organization purposes as required for your organization.
9. In the list, find and select the desired record.
10. Click Set as default.
11. Close the page.
12. Click Save.
13. Click View.
14. Click Edit.
15. Click Insert.
16. Click Business unit.
17. In the list, find and select the desired record.
18. In the list, click the link in the selected row.
19. Click Insert.
20. Click Commerce channel.
21. In the list, find and select the desired record.
22. In the list, click the link in the selected row.
You can add as many organization units as is required.
23. Click Save.
24. Click Close.
25. Click Publish to open the drop dialog.
26. In the Effective date field, enter a date and time.
27. In the Effective date field, enter a date and time.
28. In the Describe changes field, type a value.
29. Click Publish.
30. Click Close.
Warehouse set up
3/10/2020 • 3 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic describes how to set up a warehouse to be used with a new channel in Microsoft Dynamics 365
Commerce.
Overview
Each Commerce channel requires a configured warehouse to be associated with it. The following procedures
provide the minimum configuration required to set up a warehouse for a Commerce channel. For more
information regarding warehouse setup, please see the Warehouse management overview.
Additional resources
Warehouse management overview
Channels overview
Channel setup prerequisites
Set up a retail channel
Set up an online channel
Set up a call center channel
Sales tax overview
2/27/2020 • 7 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This topic provides an overview of the sales tax system. It explains the elements of the sales tax setup and how they
work together.
Overview
The sales tax framework supports many types of indirect taxes, such as sales tax, value-added tax (VAT), goods and
services tax (GST), unit-based fees, and withholding tax. These taxes are calculated and documented during
purchase and sales transactions. Periodically, they must be reported and paid to tax authorities.
The following diagram shows the entities of the tax setup and how they are related.
For every sales tax that a company must account for, a sales tax code must be defined. A sales tax code stores the
tax rates and calculation rules for the sales tax.
Every sales tax code must be linked to a sales tax settlement period. Sales tax settlement periods define the
intervals at which sales tax must be reported and paid to the sales tax authority. Every sales tax settlement period
must be assigned to a sales tax authority. A sales tax authority represents the entity that sales tax is reported and
paid to. It also defines the layout for the sales tax report. Sales tax authorities can be related to vendor accounts. For
more information, see Set up sales tax settlement periods.
Every sales tax code must also be linked to a ledger posting group. A ledger posting group specifies the main
accounts that amounts for the sales tax codes will be posted to.
Optional sales tax reporting codes can also be defined. These can be assigned on sales tax codes for the various
amount types that are calculated for the sales tax code. The Sales tax payment by code report shows totals per
sales tax reporting code for a given sales tax settlement period and interval.
Every transaction that sales tax needs to be calculated and posted for must have a sales tax group and an item sales
tax group. Sales tax groups are related to the party (for example, customer or vendor) of the transaction, whereas
item sales tax groups are related to the resource (for example, item or procurement category) of the transaction. Tax
groups contain a list of tax codes. The tax codes that are present in both the sales tax group and item sales tax
group for a transaction are the tax code that apply to that transaction.
The following table describes the entities and the sequence for the tax setup.
SET UP A C T IVIT Y REQ UIRED/ O P T IO N A L A N D DESC RIP T IO N
Create main accounts. Required. Before you can set up the sales tax functionality, the
main accounts that the company uses to pay and record taxes
must be created.
Set up ledger posting groups for sales tax. Required. Ledger posting groups define the main accounts for
recording and paying sales taxes. For more information, see
Set up Ledger posting groups for sales tax.
Set up sales tax authorities. Required. Sales tax authorities are the entities that tax must be
reported and paid to. For more information, see Set up sales
tax authorities.
Set up sales tax settlement periods. Required. Sales tax settlement periods contain information
about when and how often sales tax must be reported and
paid. They are related to a sales tax authority.
Set up sales tax reporting codes. Optional. Sales tax reporting codes can be assigned to sales
tax codes to report amounts for multiple sales tax codes under
one sales tax reporting code. For more information, see Set up
sales tax reporting codes.
Set up sales tax codes. Required. Sales tax codes contain the tax rates and calculation
rules for each sales tax. Sales tax codes are related to a sales
tax settlement period and a ledger posting group. For more
information, see Set up sales tax codes.
Set up sales tax groups. Required. Sales tax groups contain a list of sales codes that
apply for the party (customer or vendor) of a transaction. For
a given transaction, the intersection of sales tax codes in the
sales tax group and the item sales tax group determines the
sales tax codes that apply to that transaction.
Set up item sales tax groups. Required. Item sales tax groups contain a list of sales codes
that apply for the resource (product, service, and so on) of a
transaction. For a given transaction, the intersection of sales
tax codes in the sales tax group and the item sales tax group
determines the sales tax codes that apply to that transaction.
For more information, see Set up sales tax groups and item
sales tax groups.
Set up sales tax parameters on the application parameter Required. Different areas, such as General ledger, Accounts
pages. receivable, and Accounts payable, must set up parameters for
correct calculation of indirect taxes. Although most of these
parameters have default values, they must be modified to fit
each company's requirements.
NOTE
When you select the Conditional sales tax check box, you must set up sales tax codes and sales tax groups, and also create
ledger posting groups, to support the functionality. |
Example
You settle sales taxes each month. On June 15, you create a customer invoice of 10,000, plus sales tax.
The sales tax is 25 percent, or 2,500.
The invoice payment is due July 30.
You typically would have to settle and pay 2,500 to the tax authority when the invoice is posted in June, even
though you have not received the payment from the customer.
However, if you are using a conditional sales tax, you settle with the tax authority when you receive the payment
from the customer on July 30.
Postdated check
If you use postdated check as the payment method, when the payment is created, the bank account isn't cleared. In
some countries, the VAT becomes 'realized' liability when the payment clears the bank, which means the postdated
check is settled. You can enable it by selecting Realize the conditional tax when postdated checks are drawn
in Cash and bank management > Setup > Cash and bank management parameters > Postdated
checks .
For more information, see Set up withholding tax.
Sales tax calculation methods in the Origin field
11/5/2019 • 6 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This article explains the options in the Origin field on the sales tax codes page and how sales tax is calculated based
on the selected option for a sales tax code.
For each sales tax code that you create in the Sales tax codes page, you must select the method of calculation to
apply to the tax base amount in the Origin field.
N OT E
Only one tax code with Origin = Percentage of gross amount can be used for a transaction. If more than one such tax code is
determined for a transaction an error will be displayed that sales tax cannot be calculated.
N OT E
Multilevel tax on tax calculations are not possible. A tax cannot be calculated based on a tax which already is calculated based on
another tax. Multiple single level tax on tax codes can be calculated on a transaction.
N OT E
If the transaction is entered in different unit than the unit specified on the sales tax code, it is converted automatically based on
the unit conversions that are set up in the Unit conversions page.
Additional resources
Sales tax rates based on the Marginal base and Calculation methods
Whole amount and Interval calculation options for sales tax codes
Sales tax assignment and overrides
4/3/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This procedure demonstrates how to assign sales tax groups to commerce channels. It also walks through the
process of creating a new sales tax override and assigning it to an existing sales tax override group. This procedure
uses the USRT company in demo data.
1. Go to Retail and Commerce > Channels > Stores > All stores.
2. In the list, click the Channel ID link for "Houston."
3. Click Edit.
The "Sales tax group" field contains the list of sales tax groups for the current company. The currently
assigned group is a generic "Texas" sales tax group. There are also sales tax groups for "Washington" and
"Washington, King County." Sales tax groups can include applicable taxes for multiple municipalities.
The "Sales tax override" field is where sales tax override groups can be mapped to the channel. Sales tax
override groups can be used to group together sales tax overrides that work for multiple stores. Rather
than manually assigning sales tax overrides one by one, the group can be created and assigned directly to
the channels to save time.
4. Click Save.
5. Close the page.
6. Go to Retail and Commerce > Channel setup > Sales taxes > Sales tax overrides.
7. Click New.
8. In the Sales tax override field, provide a name for your new override.
9. In the Description field, provide a description of the override.
10. Set the status to "Enable."
11. Expand or collapse the Override section.
12. In the Type field, select an option.
Item sales tax groups can be used to override taxes for specific items that belong to the group. For
example, food items are typically taxed differently from hard goods, and would likely have their own sales
tax group. Sales tax groups are groups of taxes that are applicable to a particular channel. For example, if
a channel sells both retail and business-to-business, different items sales tax groups may be used. All the
applicable taxes would be mapped to the sales tax group.
Now you can select the "From" and "To" taxes or "From tax group" and "To tax group" to create your sales
tax override. The "From" field indicates the tax or tax group to be overridden. Overriding by Item sales tax
group provides different options than overriding by sales tax group. Sales tax overrides can be set up to
override taxes on entire transactions or on particular lines in the transaction.
13. Click Save.
14. Close the page.
15. Go to Retail and Commerce > Channel setup > Sales taxes > Sales tax override groups.
In this step you will assigned the newly created sales tax override to the sales tax override group assigned
to the Houston channel.
16. Click Edit.
17. Expand or collapse the Setup section.
18. Click Add.
19. In the Sales tax override field, click the drop-down button to open the lookup.
20. Select the previously created sales tax override from the list.
21. In the list, click the link in the selected row.
22. Click Save.
Whole amount and Interval calculation options for
sales tax codes
11/5/2019 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This article explains the options for the Calculation method field on sales tax codes and how sales tax is calculated
for intervals and whole amounts.
You can set up a sales tax code to be calculated based on a whole amount or an interval amount. In the Sales tax
codes page, use the Calculation method field on the Calculation FastTab to select how to calculate a sales tax code.
Whole amount – The tax rate is applied to the whole taxable amount.
Interval – The taxable amount is divided into parts, each of which falls in a range that has a specific sales tax rate.
The part of the amount that falls in a given interval is taxed according to the tax rate for that interval. The sales
tax is the sum of the tax amounts that are calculated for each amount interval.
NOTE
The Interval option is available only when you select Line in the Calculation method field in the Sales tax area of the
General ledger parameters page.
Intervals are set up in the Sales tax code values page by entering Minimum and Maximum limit amounts per tax
rate. For taxes to be calculated on all taxable amounts, regardless of which calculation method is selected, intervals
must follow these rules:
The first interval must have a Minimum limit of zero.
The last interval must have a Maximum limit of zero, which indicates infinity.
The Maximum limit of an interval must be the Minimum limit of the next interval.
If an amount is the Maximum limit of the previous interval and the Minimum limit of the next interval, the sales tax
rate of the first interval will be applied to the amount. If an amount falls outside the intervals that are defined by
upper and lower limits, a sales tax rate of zero will be applied.
TA XA B L E A M O UN T ( P RIC E) C A L C UL AT IO N SA L ES TA X
The sales tax is the sum of the tax amounts that are calculated for each amount interval.
TA XA B L E A M O UN T ( P RIC E) C A L C UL AT IO N SA L ES TA X
For more information, see Sales tax rates based on the Marginal base and Calculation methods.
Set up an email notification profile
4/1/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic describes how to create an email notification profile in Microsoft Dynamics 365 Commerce.
Overview
Before creating channels, you'll want to set up a profile to ensure that email notifications can be sent out for
various events, such as order creation, order shipping status, and payment failure.
For additional email configuration information, see Configure and send email.
Additional resources
Configure and send email
Channels overview
Channel setup prerequisites
Organizations and organizational hierarchies overview
Number sequences overview
10/1/2019 • 4 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
Number sequences are used to generate readable, unique identifiers for master data records and transaction
records that require identifiers. A master data record or transaction record that requires an identifier is referred to
as a reference.
Before you can create new records for a reference, you must set up a number sequence and associate it with the
reference. We recommend that you use the pages in Organization administration to set up number sequences.
If module-specific settings are required, you can use the parameters page in a module to specify number sequences
for the references in that module. For example, in Accounts receivable and Accounts payable , you can set up
number sequence groups to allocate specific number sequences to specific customers or vendors.
When you set up a number sequence, you must specify a scope, which defines which organization uses the number
sequence. The scope can be Shared , Company , Legal entity , or Operating unit . Legal entity and Company
scopes can be combined with Fiscal calendar period to create even more specific number sequences.
Number sequence formats consist of segments. Number sequences with a scope other than Shared can contain
segments that correspond to the scope. For example, a number sequence with a scope of Legal entity can contain
a legal entity segment. By including a scope segment in the number sequence format, you can identify the scope of
a particular record by looking at its number.
In addition to segments that correspond to scopes, number sequence formats can contain Constant and
Alphanumeric segments . A Constant segment contains a set of letters, numbers, or symbols that does not
change. An Alphanumeric segment contains a set of letters or numbers that increment every time that a number
is used. Use a number sign (#) to represent incrementing numbers and an ampersand (&) to represent
incrementing letters. For example, the format #####_2017 creates the sequence 00001_2017, 00002_2017, and so
on.
SEGM EN T S SEGM EN T T Y P E VA L UE
SEGM EN T S SEGM EN T T Y P E VA L UE
SEGM EN T S SEGM EN T T Y P E VA L UE
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This topic explains how to set up number sequences on an individual basis. Number sequences are used to
generate readable, unique identifiers for master data records and transaction records that require them. A master
data or transaction record that requires an identifier is referred to as a reference. Before you can create new records
for a reference, you must set up a number sequence and associate it with the reference. You can set up all required
number sequences at the same time by using the Set up number sequences wizard, or you can create or modify
individual number sequences by using the Number sequences page.
1. Go to Navigation pane > Modules > Organization administration > Number sequences > Number
sequences .
2. Select Number sequence .
3. In the Number sequence code field, type a value.
4. In the Name field, type a value.
5. On the Scope parameters FastTab, select a scope for the number sequence and select scope values from the
drop-down list. The scope defines which organizations use the number sequence. In addition, number sequences
that have a scope other than Shared can have segments that correspond to their scope. For example, a number
sequence with a scope of Legal entity can have a legal entity segment. For more information about scopes, see
Number sequence overview.
6. Expand the Segments section.
Define the format for the number sequence by adding, removing, and rearranging segments.
Number sequences of all scopes can contain Constant segments and Alphanumeric segments. Constant
segments contain a set of alphanumeric characters that do not change. Use this segment type to add a
hyphen or other separators between number sequence segments. Alphanumeric segments contain a
combination of number signs (#) and ampersands (&). These characters represent letters and numbers
that increment every time that a number from the sequence is used. Use a number sign (#) to indicate
incrementing numbers and an ampersand (&) to indicate incrementing letters. For example, the format
#####_2014 creates the sequence 00001_2014 , 00002_2014 , and so on. At least one alphanumeric
segment must be present. Scope segments, such as company or legal entity, are not required. However, if
you do not include scope segments in the format, numbers for the selected reference are still generated
per scope.
7. Expand the References section. Select the document type or record to assign this number sequence to. This step
is optional for sequences that are defined for special application usage patterns. In these scenarios, a new
number is generated by using the value of a number sequence code or ID, without using a reference. An example
of a special application usage pattern is a voucher series that is used for specific journal names. However, we do
not recommend that you use such patterns.
8. Expand the General section. On the General FastTab, specify whether the number sequence is manual, and
continuous or non-continuous. In addition, enter the lowest and highest numbers that can be used in the
number sequence. We do not recommend changing a non-continuous number sequence to a continuous
number sequence. The number sequence will not be truly continuous. This change may also cause duplicate key
violations in the database. In addition, continuous number sequences have a larger effect on performance.
9. Click Save .
Set up number sequences using a wizard
3/18/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
Number sequences are used to generate readable, unique identifiers for master data records and transaction
records that require them. A master data or transaction record that requires an identifier is referred to as a
reference. Before you can create new records for a reference, you must set up a number sequence and associate it
with the reference. This topic explains how to set up all required number sequences at the same time by using a
wizard. The demo data company used to create this procedure is USMF.
1. Go to Navigation > Modules > Organization administration > Number sequences > Number
sequences .
2. Select Generate .
3. Select Next .
On this page, you can modify the identification code, the lowest value, and the highest value. In addition,
you can indicate whether the number sequence must be continuous.
Do not select the Continuous option if you must preallocate numbers for the number sequence. To add a
scope segment to the format of a number sequence, select the format in the list, and then select Include
scope in format . To remove a scope segment from the format of a number sequence, select the format
in the list, and then select Remove scope from format . To exclude a number sequence from automatic
generation, select the number sequence in the list, and then select Delete .
4. Select Next .
5. Select Finish .
Create a default customer
2/13/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic describes how to create a default customer to use when creating a channel in Microsoft Dynamics 365
Commerce.
Overview
When creating a channel, you will need to provide a default customer. A default customer can easily be created
after first creating the customer group and customer address book.
Most of the default values on the customer detials screen can remain, but two values should be changed.
1. On the customer details screen, expand Sales order defaults .
2. In the Site drop-down list, select or enter a pre-configured site.
3. In the Warehouse drop-down list, and select or enter a pre-configured warehouse.
The following image shows an example customer configuration.
Additional resources
Channels overview
Channel setup prerequisites
Info codes and info code groups
2/1/2020 • 3 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This article provides an overview about info codes, info code groups, and how to use them.
Info codes provide a way for you to capture data at a point-of-sale (POS) register. You can use info codes to prompt
the cashier to enter information during various actions at the POS, such as item sales, item returns, or selecting
customers. Cashiers can select input from a list or enter it as a code, number, date, or text. You can assign info
codes to predefined store actions, retail items, payment methods, customers, or specific point-of-sale activities. You
can use info codes to do the following:
Capture additional information at transaction time, such as a flight number or the reason for a return.
Prompt the register cashier to select from a list of prices for specific products.
Link a subcode to an info code to prompt the cashier for input when performing a specific activity. For example,
when a customer returns a product, you can prompt the cashier to ask why the product is being returned. Then
you can use subcodes to display a list of reasons that the cashier can choose from.
Sell a product as a regular sale, discounted sale, or free product.
Prompt the cashier to enter a value or select from a list of subcodes when the register drawer is opened
without performing a sales operation.
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic describes how to create a functionality profile in Microsoft Dynamics 365 Commerce.
Overview
The commerce functionality profile provides various settings used for online channels. Each channel must specify a
functionality profile.
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic describes how to create a new address book in Microsoft Dynamics 365 Commerce.
Overview
Address books are used in Commerce for various reasons including storing customer lists and employee lists for a
channel. Address books can be used for a single channel or shared between channels.
Additional resources
Info codes and info code groups
Create a retail functionality profile
Screen layout overview
Configure and install Retail hardware station
POS user interface visual configurations
4/15/2020 • 12 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
IMPORTANT
Functionality noted in this topic is available as part of a preview release. The content and the functionality are subject to
change. For more information about preview releases, see One version service updates FAQ.
The user interface (UI) of the Microsoft Dynamics 365 Commerce point of sale (POS) can be configured by using a
combination of visual profiles and screen layouts that are assigned to stores, registers, and users. This topic
provides information about those configuration options.
The following illustration shows the relationships among the various entities that make up the configurable aspects
of the POS UI.
Visual profile
Visual profiles are assigned to registers, and they specify the visual elements that are register-specific and shared
across users. Every user who signs in to the register sees the same theme, layout, colors, and images.
Profile number – The profile number is the unique identifier of the visual profile.
Description – You can specify a meaningful name that will help identify the correct profile for your situation.
Theme – You can select between the Light and Dark application themes. The theme affects the font and
background colors throughout the application.
Accent color – The accent color is used throughout the POS to differentiate or highlight specific visual
elements, such as tiles, command buttons, and hyperlinks. Typically, these elements are actionable.
Header color – You can configure the color of the page header to meet the retailer's branding requirements.
Font scheme – You can select between the Standard and Large font schemes. The font scheme affects the font
size throughout the application. The default selection is Standard .
Always show application bar labels – When this option is turned on, the label text is always visible under the
application bar buttons.
Layout – You can select between the Centered and Right layouts. The layout affects the alignment of the sign-
in box on the sign-in screen. The default selection is Centered .
Show date/time – When this option is turned on, the current date and time are shown in the POS header and
on the sign-in screen.
Keyboard – You can select between Default to OS keyboard and Show number pad to specify the default
keyboard that is used for input on the sign-in screen. The number pad is a virtual keyboard that is used primarily
for touch-based devices. The default selection is Default to OS keyboard .
Logo image – You can specify a logo image that is shown on the sign-in screen. We recommend that you use
an image that has a transparent background. The file size should be kept as small as possible, because
application behavior and performance can be affected when large files are stored and loaded.
Login background – You can specify a background image for the sign-in screen. The file size of background
images should be kept as small as possible.
Background – You can specify a background image that is used instead of the solid theme color throughout the
application. As for background images for the sign-in screen, the file size should be kept as small as possible.
NOTE
The Right layout and date/time display don't apply to the sign-in screen in compact view.
Screen layouts
Screen layout configurations determine the actions, content, and placement of UI controls on the POS Welcome
screen and Transaction screen.
Welcome screen – In most cases, the welcome screen is the page that users see when they first sign in to
the POS. The welcome screen can consist of a branding image and button grids that provide access to POS
operations. Typically, operations that aren't specific to the current transaction are put on this screen.
Transaction screen – The Transaction screen is the main screen in the POS for processing sales
transactions and orders. The content and layout are configured by using the screen layout designer.
Default star t screen – Some retailers prefer that cashiers go directly to the Transaction screen after sign-
in. The Default star t screen setting lets you specify the default screen that appears after sign-in for each
screen layout.
Assignment
Screen layouts can be assigned at the store, register, or user level. The user assignment overrides the register and
store assignments, and the register assignment overrides the store assignment. In a simple scenario where all users
use the same layout, regardless of register or role, the screen layout can be set only at the store level. In scenarios
where specific registers or users require specialized layouts, those layouts can be assigned.
Layout sizes
Most aspects of the POS UI are responsive, and the layout is automatically resized and adjusted based on the screen
size and orientation. However, the POS Transaction screen must be configured for every screen resolution that is
expected.
At startup, the POS application automatically selects the closest layout size that is configured for the device. A
screen layout can also contain configurations for both landscape and portrait modes, and for both full-size and
compact devices. Therefore, users can be assigned to a single screen layout that works across various sizes and
form factors that are used in the store.
Name – You can enter a meaningful name to identify the screen size.
Layout type – The POS application can show its UI in various modes to provide the best user experience on
a given device.
Modern POS – Full – Full layouts are typically best for larger displays, such as desktop monitors and
tablets. You can select the UI elements to include, specify the size and placement of those elements, and
configure their detailed properties. Full layouts support both portrait and landscape configurations.
Modern POS – Compact – Compact layouts are typically best for phones and small tablets. The design
possibilities for compact devices are limited. You can configure the columns and fields for the receipt and
totals panels.
Width/Height – These values represent the effective screen size, in pixels, that is expected for the layout.
Remember that some operating systems use scaling for high-resolution displays.
TIP
You can learn the layout size that is required for a POS screen by viewing the resolution in the app. Start the POS, and go to
Settings > Session information . POS shows the screen layout that is currently loaded, the layout size, and the resolution
of the app window.
Button grids
For each layout size in a screen layout, you can configure and assign button grids for the POS welcome screen and
Transaction screen. Button grids for the welcome screen are automatically laid out from left to right, from the
lowest number (Welcome screen 1) to the highest number.
In Full POS layouts, the placement of button grids is specified in the screen layout designer.
In Compact POS layouts, the button grids are automatically laid out from top to bottom, from the lowest number
(Transaction screen 1) to the highest number. They can be accessed on the Actions menu.
Images
For each layout size in a screen layout, you can specify images to include in the POS UI. For Full POS layouts, a
single image can be specified for the welcome screen. This image appears as the first UI element on the left. On the
Transaction screen, images can be used as tab images or as a logo. Compact POS layouts don't use these images.
Screen layout designer
The screen layout designer lets you configure various aspects of the POS Transaction screen for each layout size,
in both portrait and landscape modes, and for both Full and Compact layouts. The screen layout designer uses the
ClickOnce deployment technology to download, install, and start the latest version of the application every time
that users access it. Be sure to check the browser requirements for ClickOnce. Some browsers, such as Google
Chrome, require extensions.
IMPORTANT
You must configure a screen layout for each layout size that is defined and that is used by the POS.
Impor t layout/Expor t layout – You can export and import POS screen layout designs as XML files, so that
you can easily reuse and share them across environments. It's important that you import layout designs for
the correct layout sizes. Otherwise, UI elements might not fit correctly on the screen.
Landscape/Por trait – If the POS device lets users switch between landscape and portrait modes, you must
define a screen layout for each mode. The POS automatically detects screen rotation and shows the correct
layout.
Layout grid – The POS layout designer uses a 4-pixel grid. UI controls "snap" to the grid to help you
correctly align the content.
Designer zoom – You can zoom the designer view in and out to better view the content on the POS screen.
This feature is useful when the screen resolution on the POS differs greatly from the resolution of the screen
that is used in the designer.
Show/hide navigation bar – For Full POS layouts, you can select whether the left navigation bar is visible
on the Transaction screen. This feature is helpful for displays that have a lower resolution. To set the
visibility, right-click the navigation bar in the designer, and select or clear the Always visible check box. If
the navigation bar is hidden, POS users can still access it by using the menu in the upper left.
POS controls – The POS layout designer supports the following controls. You can configure many controls
by right-clicking and using the shortcut menu.
Number pad – The number pad is the main mechanism for user input on the POS Transaction screen.
You can configure the control so that the full number pad is shown. This option is ideal for touchscreen
devices. Alternatively, you can configure it so that only the input field is shown. In this case, a physical
keyboard is used for input. The number pad settings are available only for Full layouts. For Compact
layouts, the full number pad is always shown on the Transaction screen.
Totals panel – You can configure the totals panel in either one column or two columns, to show values
such as the line count, discount amount, charges, subtotal, and tax. Compact layouts support only a single
column.
Receipt panel – The receipt panel contains the sales lines, payment lines, and delivery information for
the products and services that are processed in the POS. You can specify columns, widths, and placement.
In Compact layouts, you can also configure additional information that appears in the row under the main
line.
Customer card – The customer card shows information about the customer who is associated with the
current transaction. You can configure the customer card to hide or show additional information.
Tab control – You can add the tab control to a screen layout, and then put other controls, such as the
number pad, customer card, or button grids, in it. The tab control is a container that helps you fit more
content on the screen. The tab control is available only for Full layouts.
Image – You can use the image control to show the store's logo or another branding image on the
Transaction screen. The image control is available only for Full layouts.
Recommended products – If the recommended products control is configured for the environment, it
shows product suggestions, based on machine learning.
Custom control – The custom control acts as a placeholder in the screen layout and lets you reserve
space for custom content. The custom control is available only for Full layouts.
Compact layout designer
Like the Full layout designer, the Compact layout designer lets you configure the POS screen layout for phones and
small tablets. However, in this case, the layout itself is fixed. You can configure the controls in the layout by right-
clicking and using the shortcut menu. However, you can't use drag-and-drop operations for additional content.
IMPORTANT
The contents of the button grid can overlap. When you arrange buttons, make sure that they don't hide other
buttons.
New design – Click to automatically set up a button grid layout by specifying the number of buttons per
row and column.
Button proper ties – You can configure button properties by right-clicking the button and using the
shortcut menu.
IMPORTANT
Some button grid settings apply only to Enterprise POS, not to Modern POS or Cloud POS.
Action – In the list of applicable POS operations, select the operation that is invoked when the button
is clicked in the POS.
For the list of supported POS operations, see Online and offline point of sale (POS) operations.
Action parameters – Some POS operations use additional parameters when they are invoked. For
example, for the Add product operation, users can specify the product to add.
Button text – Specify the text that appears on the button in the POS.
Hide button text – Use this check box to hide or show the button text. Button text is often hidden for
small buttons that show only an icon.
Tooltip – Specify additional Help text that appears when users mouse over the button.
Size in columns/Size in rows – You can specify how tall and wide the button is.
Custom font – When you select the Enable custom font for POS check box, you can specify a font
other than the default system font for the POS.
Custom theme – By default, POS buttons use the accent color from the visual profile. When you
select the Use custom theme check box, you can specify additional colors.
NOTE
Modern POS and Cloud POS use only the Back color and Font color values.
Button image – Buttons can include images or icons. Select among the available images that are
specified at Retail and Commerce > Channel setup > POS setup > POS > Images .
Additional resources
Install the Retail point of sale (POS) layout designer
Create an online functionality profile
2/1/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic presents an overview of setting up an online functionality profile for Microsoft Dynamics 365
Commerce.
Overview
The online functionality profile provides various settings used for online channels. Each online channel must
specify an online functionality profile.
Functions
Aggregate products : When enabled, this function allows the cart to update quantity when the same item is
added multiple times.
Allow checkout with no payments : When enabled, this function handles the scenario when items added to
cart have a price $0.00.
Create customer in async mode : This is a legacy setting applicable to third-party e-Commerce channels and
is not applicable to the Dynamics 365 e-Commerce site.
Additional resources
Channels overview
Channel setup prerequisites
Set up an online channel
Set up a retail channel
Set up a call center channel
Set up a retail channel
3/10/2020 • 4 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-
Commerce, in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic describes how to create a new retail channel in Microsoft Dynamics 365 Commerce.
Overview
Dynamics 365 Commerce supports multiple retail channels. These retail channels include online stores, call
centers, and retail stores (also known as brick-and-mortar stores). Each retail store channel can have its own
payment methods, price groups, point of sale (POS) registers, income accounts and expense accounts, and staff.
You must set up all of these elements before you can create a retail store channel.
Before a retail channel is created, ensure you follow the channel prerequisites.
Other settings
There are numerous other optional settings that can be set in the Statement/closing and Miscellaneous
sections, based on the needs of the retail store.
In addition, see Screen layouts for the point of sale (POS) for information on setting up the default screen layout
in the Screen layout section and Configure and install Retail hardware station for setup information about the
Hardware stations section.
The following image shows an example retail channel setup configuration.
Additional channel set up
There are additional items that need to be set up for a channel that can be found on the Action pane under the
Set up section.
Additional tasks required for online channel setup include setting up payment methods, cash declaration, modes
of delivery, income/expense account, sections, the fulfillment group assignment, and safes.
The following image shows various additional retail channel setup options on the Set up tab.
Set up sections
To set up sections, follow these steps.
1. On the action pane, select the Set Up tab and click Sections .
2. On the action pane, select New .
3. Under Section number , enter a section number.
4. Under Description , enter a description.
5. Under Section size , enter a section size.
6. Configure additional settings for General and Sales statistics as needed.
7. On the action pane, select Save .
Set up a fulfillment group assignment
To set up a fulfillment group assignment, follow these steps.
1. On the action pane, select the Set up tab, then select Fulfillment group assignment .
2. On the action pane, select New .
3. In the Fulfillment group drop-down list, select a fulfillment group.
4. In the Description drop-down list, enter a description.
5. On the action pane, select Save
The following image shows an example of a fulfillment group assignment setup.
Set up safes
To set up safes, follow these steps.
1. On the action pane, select the Set Up tab and click Safes .
2. On the action pane, select New .
3. Enter a name for the safe.
4. On the action pane, select Save .
Additional resources
Channels overview
Channel setup prerequisites
Set up an online channel
Set up a call center channel
Configure a worker
3/18/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This procedure demonstrates how to configure a worker as a sales representative who is eligible for commission
on sales in POS. This procedure uses the USRT demo data company.
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic gives implementers additional background, tips, and guidance for factors that they should consider when
they deploy Dynamics 365 Commerce. By reviewing and following this guidance as part of the deployment process,
implementers can avoid issues that might affect user satisfaction or performance.
Insights
Commerce provides a wide range of deployment and topology options. Therefore, retailers can choose the
components and configuration that best meet their business and technology requirements. One aspect of
implementation that requires careful consideration is the choice of a platform and form factor for the point of sale
(POS) component.
POS platform and form factor considerations
Commerce supports the following POS options:
Modern POS (MPOS) for Microsoft Windows
MPOS for Microsoft Windows Phone
MPOS for Apple iPad or Google Android tablet
Cloud POS (CPOS), which supports the Microsoft Edge, Internet Explorer, and Google Chrome browsers
In all cases, the POS (MPOS and CPOS) shares the same core application code. This point is important for the
following reasons:
The user interface (UI) is consistent, regardless of the platform or form factor.
Most of the functional capabilities are the same, regardless of the platform or form factor. However, there are
some important differences. These differences are noted in this topic.
In a given store, the POS variations can be combined and can run concurrently. For example, for its main
registers, a retailer can use MPOS on computers that run Windows. However, the retailer can supplement those
registers with browser-based terminals or mobile devices.
Customizations and extensions can easily be used across platforms and form factors. Because the core
application code is shared, most customizations can be implemented one time instead of multiple times.
MPOS vs. CPOS
Although MPOS and CPOS are largely the same, there are some important differences that you must understand.
MPOS
MPOS on a Windows, iOS, or Android device is an application that is packaged, installed, and serviced on that
device.
Windows – The MPOS for Windows application contains all the application code and the embedded commerce
runtime (CRT).
iOS/Android – On these platforms, the application acts as a host for the CPOS application code. In other words,
the application code comes from the CPOS server on Microsoft Azure or the Commerce Scale Unit. For more
information, see Commerce Scale Unit overview.
CPOS
Because CPOS runs in a browser, the application isn't installed on the device. Instead, the browser accesses the
application code from the CPOS server. Therefore, CPOS can't directly access POS hardware or work in an offline
state.
Store deployment considerations
In addition to a platform and form factor, retailers must also choose a deployment option at the store. The following
table shows the configurations that are available for each POS option.
P O S A P P L IC AT IO N C O M M ERC E SC A L E UN IT AVA IL A B L E O F F L IN E
Implementation considerations
Consider the following information as you plan your POS implementation in your stores:
Functional requirements – The core business processes and capabilities are the same, regardless of the
platform, form factor, or deployment topology. Therefore, most retailers don't have to consider functional
requirements when they plan their implementation.
Connectivity – Network availability (wide area network [WAN] and local area network [LAN]) is a major
factor that requires careful consideration. Any benefits that a zero-footprint, cloud-hosted solution brings in
terms of cost and simplicity are lost if the system isn't available for business-critical processes.
Unless the connectivity for a given device is very dependable and resilient, or unless a certain amount of
downtime is acceptable to the retailer, we recommend one of the following options:
Use MPOS in Windows, and enable offline mode.
Deploy an on-premises Commerce Scale Unit.
These two options aren't mutually exclusive. For the most reliable topology, retailers can deploy a local RSSU
to reduce the dependency on internet connectivity or Azure availability, and they can also deploy POS
registers where offline mode is enabled if there is an issue with the local server or network.
Hardware devices/peripherals – One important aspect of a Retail POS system is its ability to use POS
peripherals such as printers, cash drawers, and payment terminals. Although all the available POS options
can use peripheral devices, only MPOS for Windows supports them directly. For all other applications, one or
more hardware stations are required. Although this approach adds flexibility, additional components must be
deployed, configured, and serviced.
System requirements – The system requirements for the POS application vary. Be sure to check the latest
information before you make your choice. For example, because CPOS runs in a browser, it supports a wider
range of operating systems. For more information about system requirements, see System requirements for
cloud deployments.
Deployment and ser vicing – The complexity of the deployment and servicing requirements can vary,
depending on the application and deployment choices. For example, for a cloud-hosted CPOS deployment,
you don't have to install and update on every device. Therefore, this approach greatly reduces complexity
and cost. However, if you deploy MPOS on every register and enable offline mode, and you also deploy
shared hardware stations, you greatly increase the number of endpoints that must be managed.
Online and offline point of sale (POS) operations
2/21/2020 • 17 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
Most actions that user take in the point of sale (POS) are considered operations. Operations are configured and
managed in the Dynamics 365 Commerce back office. Many operations can be added to buttons in the POS button
grid. Users can then select the buttons to invoke the operations and perform their function. Other operations are
part of the main POS application, and are invoked either from on-screen buttons or as part of other workflows or
processes.
The following table provides details about the operations that are available in Modern POS and Cloud POS. The
table also specifies where in the application the operations can invoked, and whether they are available when the
POS is in offline mode.
Some operations aren't currently available in Modern POS or Cloud POS. Some of these operations are either
locale-specific operations that require additional extensions and configuration. Others are features from Microsoft
Dynamics AX 2012 that aren't currently supported.
The following columns specify where the operations can be invoked:
Button grid – The operation can be assigned to buttons in POS button grids, which are part of a POS screen
layout.
Transaction screen – The operation can be invoked from POS button grids that are configured on the POS
transaction screen.
Welcome screen – The operation can be invoked from POS button grids that are configured on the POS
welcome screen.
NOTE
The operations listed below apply to the latest version of Commerce. Some operations may have changed or may not be
available in previous versions.
* The operation is available in offline mode only when a customer order or sales quotation is being created, and
only if offline creation of customer orders and sales quotations is configured in the POS functionality profile. The
operation can't be performed when orders are created by using Real-time Service, or when orders are recalled or
edited.
† The operation can be performed in offline mode only when the POS is configured to allow for offline creation of
customers in the POS functionality profile.
‡ When the POS is offline, suspended transactions can be recalled only from the current register's offline database.
Users can't suspend and recall transactions across registers.
§ When the POS is offline, only transactions in the current offline database can be recalled for return.
** When the POS is offline, only transactions in the current offline channel database are shown in the journal.
Device activation of a customized Modern POS
2/21/2020 • 8 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic explains how to configure Microsoft Dynamics 365 Commerce Headquarters so that device activation
works correctly when a customized Modern POS application is used. It describes the steps that are required in order
to obtain the customized reply address and enter that value in Headquarters.
Modern POS is a client-side component for Microsoft Dynamics 365 Commerce. To use the POS, you must perform
device activation. Device activation uses Microsoft Azure Active Directory (Azure AD) to authenticate users.
Enhanced functionality in this area has modified the device activation flow to take better advantage of the Web
Account Manager service. As part of this enhancement, there is now enhanced security for the authentication
approval process. This enhanced security requires additional configuration in Headquarters when the POS is
customized, because a specific, unique value is now required for the callback URI. (The callback URI is also known as
the reply URI.)
By default, Modern POS is already registered for this callback URI. However, when customized, the callback URI is
changed. Therefore, it must be correctly configured so that it works again. This topic describes the steps that you
must follow to complete this configuration. If this configuration isn't completed, you receive an error message when
you try to perform device activation in the customized POS application. This error message resembles the following
example:
AADSTS50011: The reply address 'ms-appx-web://Microsoft.AAD.BrokerPlugin/[...]' does not match the reply
addresses configured for the application
NOTE
We recommend that you try to use the customized Modern POS application one time before you configure Dynamics 365
headquarters. In this way, you can see what the error message looks like and more easily obtain the customized reply
address.
The error specifies the reply address that is used for the application ID that corresponds to the POS application.
Setup
The following steps are required so that device activation works correctly when the customized Modern POS
application is used. You will create two Azure AD applications: one for Modern POS and one for Commerce Scale
Unit. The Commerce Scale Unit Azure AD application is required because the POS uses resources through
Commerce Scale Unit. Therefore, both Azure AD applications are used when the POS is used. In this scenario,
Commerce Scale Unit serves as the endpoint for protected resources that the POS requests.
Create the Commerce Scale Unit Azure AD application
1. In a web browser, go to https://portal.azure.com/.
2. Sign in by using Azure AD credentials that have enough permission to create Azure AD applications.
3. Select Azure Active Director y > App registrations .
4. Create the Commerce Scale Unit Azure AD application by selecting New application registration and
entering the following values:
Name: Enter Customized Commerce Scale Unit . (You can enter any other unique value, but be sure to
make a note of it.)
Application type: Select Web app / API .
Sign-on URL: Enter any unique URL that doesn't point to a real, physical location. For example, enter
https://MyNotRealURL .
5. Press the Tab key so that Azure can validate the value in the Sign-on URL field. Then select Create , and wait
until the operation is successfully completed. (If an error occurs, address it, and then try again.)
A tile appears that shows the details of the new Azure AD application.
6. Select Settings at the top of the tile to open the Settings tile for the application. Then select Proper ties .
7. On the Proper ties tile, copy the value in the App ID URI field. You will paste this value into the
DLLHost.exe.config file for POS in the next section.
NOTE
Don't close the web browser window, because you will use it again later in this topic.
NOTE
Don't close the Notepad window, because you will use it again in the next section.
2. Press the Tab key so that Azure can validate the value in the Redirect URI field. Then select Create , and wait
until the operation is successfully completed. (If an error occurs, address it, and then try again.)
A tile appears that shows the details of the new customized Retail Modern POS Azure AD application.
3. Find the Application ID field, and copy the value. (You will paste this value into the DLLHost.exe.config file
as the value that corresponds to the AADClientId key.)
4. Select Settings at the top of the tile to open the Settings tile for the application. Then select Required
permissions .
5. On the Required permissions tile, select + Add .
6. On the Add API access tile, select 1 Select an API .
7. On the Select an API tile, in the search field, enter the name of the Commerce Scale Unit Azure AD
application that you created in the "Create the Commerce Scale Unit Azure AD application" section. (In this
topic, the application is named Customized Commerce Ser ver .) Select the item that corresponds to that
application, and then select Select .
On the Add API access tile, 2 Select permission is automatically selected, and a new tile appears that is
named Enable Access .
8. On the Enable Access tile, hold the mouse pointer over the line for Access Customized Commerce
Scale Unit , and then select the check box that appears on the left side. (If you entered a different name for
the Commerce Scale Unit Azure AD application, that name is used on the line instead of Customized
Commerce Scale Unit .) The Select button at the bottom of the tile becomes available.
9. Select Select to return to the Add API access tile.
10. Select Done to return to the Required permissions tile.
11. Select Grant Permissions . When a message prompts you to verify that you want to grant the permissions,
select Yes .
12. Switch to the Notepad window that shows the contents of the DLLHost.exe.config file. (You left this window
after you completed the steps in the previous section.)
13. Find the value that corresponds to the AADClientId key. (By default, this value is a globally unique identifier
[GUID] that corresponds to the headquarters environment.) Paste the value that you copied in step 3.
14. Select File > Save .
Configure Dynamics 365 Headquarters
The previous steps were required so that the Modern POS application can be authenticated. You must now follow
these steps to add the new Azure AD applications to the list of safe programs in Headquarters, so that the requests
are authorized. (A list of safe programs is sometimes also referred to as a whitelist.)
1. In a web browser, go to the Headquarters URL, and sign in by using Azure AD credentials.
2. Go to Retail and Commerce > Headquar ters setup > Parameters > Commerce shared parameters .
3. On the Identity Providers tab, in the Identity providers section, select the provider that begins with
HTTPS://sts.windows.net/ . The values in the Relying par ties section are updated, based on the provider
that you selected.
4. In the Relying par ties section, select + Add , and enter the following values:
ClientId: Enter the value that you copied in step 3 in the previous section and then pasted into the
DLLHost.exe.config file in step 13.
Type: Select Public .
UserType: Select Worker .
Name: Enter a description to help users understand what this entry references.
5. On the Action Pane, select Save . The relying party that you just created should remain selected.
6. In the Ser ver resource IDs section, select + Add , and enter the following values:
Ser ver Resource Id: Enter the URL that you copied in step 4 in the "Update the Modern POS
configuration" section. (You originally created this value in step 4 in the "Create the Commerce Scale Unit
Azure AD application" section.)
Name: Enter a description to help users understand what this entry references.
7. On the Action Pane, select Save .
8. Go to Retail and Commerce > Retail and CommerceIT > Distribution schedule .
9. Select job 1110 (Global configuration ), and then, on the Action Pane, select Run now . This job
synchronizes the new data. However, there is a cache in Commerce Scale Unit that won't be updated for
several minutes. Therefore, if you require an immediate update, the Commerce Scale Unit application pool
must be recycled.
NOTE
For best results, verify that Modern POS is closed, and that no instances of DLLHost.exe exist in Task Manager.
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
Many customers who use Microsoft Dynamics 365 Commerce also use other Microsoft cloud services, and they
might use Azure Active Directory (Azure AD) to manage user credentials for those services. In those cases, the
customers might want to use the same Azure AD account across applications. This topic explains how to configure
the Commerce point of sale (POS) sign-in experience to use Azure AD authentication.
NOTE
Azure AD authentication requires an internet connection. It won't work when POS is in offline mode.
Additional resources
Set up extended logon functionality for MPOS and Cloud POS
Create a retail functionality profile
Configure a worker
Demo data screen layouts in Modern POS (MPOS)
and Cloud POS
2/1/2020 • 5 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic provides information about the screen layouts that are included with the demo data set for the point of
sale (POS) experiences in Dynamics 365 Commerce.
Overview
The sample screen layouts that are included with Commerce demo data provide content that is optimized for
various retail segments, store worker roles, and devices. A single layout can contain several layout sizes and
combinations of button grids, to help ensure coverage as store workers move between devices and stations. This
topic highlights the differences between these layouts, the operations that they provide, and the overall experiences
that they deliver.
A Adventure Works
F Fabrikam
C Contoso
Layout version
VERSIO N N UM B ER DESC RIP T IO N
3.1 The base version that has additional support for the
Recommended products panel
Persona
A B B REVIAT IO N P ERSO N A C O N T EN T S
A B B REVIAT IO N P ERSO N A C O N T EN T S
Example layout
Here is an example of a screen layout ID for the Fabrikam company, layout version 3, and the Store Manager
persona:
F3MGR
The following illustration shows an example of the Welcome screen for a Fabrikam store manager.
Layout sizes
Full vs. compact layouts
A screen layout can have configurations for both full devices and compact devices. Therefore, a user can be
assigned to a single screen layout that will work across various sizes and form factors in the store.
Modern POS - Full – Typically, full layouts are best used for larger displays, such as desktop computer
monitors or tablets. Users can select the UI elements that the layout includes, specify the size and placement of
those elements, and configure their detailed properties. Full layouts support both portrait and landscape
configurations.
Modern POS - Compact – Typically, compact layouts are best used for phones or small tablets. Design
possibilities are limited for compact devices. Users can configure the columns and fields for the receipt pane and
the totals pane.
Screen resolutions that are provided
The following table shows the layout sizes that are provided for typical screen resolutions.
* These additional layout sizes are available only in Adventure Works and Fabrikam layouts.
TIP
POS automatically selects layout sizes, based on the closest size that is available for the screen resolution of the current app
window. To find the screen layout ID and layout resolution that are currently used, in Modern POS (MPOS) or Retail Cloud
POS (CPOS), open the Settings page, and look in the Session information section. You can also see the actual window
resolution for your current application or browser frame. After you have this information, you can find the source of the
layout content by going to Channel setup > POS setup > POS > Screen layouts .
NOTE
Adventure Works and Fabrikam are the two flagship brands. Contoso is available, but not all layouts have been provided.
The following illustrations show examples of the welcome page and transaction page for the three fictitious
companies.
Adventure Works
Fabrikam
Contoso
User sign in matrix
Users have been provided for the various screen layouts. By using the following table, you should be able to access
any of the screens. Just sign in by using an appropriate operator ID.
TIP
For best results, activate a register in the corresponding store location, and set the company to the company of the persona
that you plan to use when you sign in. In this way, you help guarantee that the visual profile and branding images are aligned
across the experience. For example, if you're interested in seeing a Fabrikam layout for a cashier, you should activate a register
in the Houston store.
Product search and customer search in the point of
sale (POS)
2/1/2020 • 8 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
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.
Product search
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.
NOTE
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.
NOTE
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.
NOTE
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 Commerce, 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.
Search for products and product variants during
order entry
4/3/2020 • 5 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
Use the Item number field to search for products and product variants when you manually create a sales order
line or a purchase order line. This lets you quickly find product variants when you only have the configuration
string or one of the product dimensions available.
Sometimes, having too much of something is not the best situation to be in, and this is especially true if you sell a
number of products that are similar, and you are trying to remember item numbers or product search names in
order to find the right product to put on a sales order. You can use the Item number field on a sales order line or
a purchase order line as a search field. You can enter any part of a product name, number, or dimension and get a
lookup that displays all the items that match the search word.
DISP L AY P RO DUC T
P RO DUC T T Y P E P RO DUC T N A M E N UM B ER IT EM N UM B ER C O N F IGURAT IO N
If you type 'speak' in the Item number field, you will get all the products above as a result in the lookup. If you
type 'black' in the Item number field, you will get the second product as a result, because it has the text 'black' in
the display product number. These two examples illustrate that the search is not only at the beginning of the field,
a match will occur even if the search text is found in the middle of a text string in the matching record.
If you type '05' you will only get the second product variant as a result, because it has '05' in the configuration. This
illustrates that the search is across all the enabled fields on the Search criteria page.
If you type 'speak 05' you will not get any results. This is because the search looks for the full text that is entered.
The search will not try to find 'speak' and then narrow the results to those containing '05'.
You can limit the number of search results by using the Number of results field on the Sales and marketing >
Setup > Search > Search parameters page. If you set this field to 0, all search results will be returned. If you set
it to 10, for example, it will return a maximum 10 search results.
Step 1: Include all the relevant product and product variant identifiers and dimensions in the search criteria
Examples of product and product variant identifiers and dimensions that you can search by are Product name,
Item number , Display product number, Configuration, Color, Size, Style, Search name, etc .
Go to Sales and marketing > Setup > Search > Search criteria page. The Search criteria page allows you
to define criteria for customer, prospect, and product search. Make sure you filter the page by using product search
criteria. You can do this by switching to Product in the page's menu.
To add the display product number to the search criteria, click New in the page's menu. This will add a new record
in the Search criteria grid. Open the Field name column lookup and chose DisplayProductNumber . To add the
product's configuration to the search criteria, create a new record in the Search criteria grid and chose configId
in the Field name column. In the same manner, create a record with Field name InventColorId for the color
dimension, InventSizeId for the size dimension, and InventStyleId for the style dimension.
Step 2: Populate the database table that is used for product search
In the Search criteria page, click the Update search data button. In the Update search data dialog box, make
sure that Source is set to Product , and then click OK . The system will aggregate in one table all the selected search
criteria specified in step 1. If you have a lot of products and product variants, this operation can be quite lengthy
and you may receive a warning. We recommend that you schedule the search table population on the batch server
at a time when the server is not too busy.
Until the table is populated, product search will not provide the correct results. If you do not get any search results,
make sure that this table is populated.
The table only has to be populated when the search criteria is modified. Newly released products and variants are
automatically added to the table. Deleted products and variants are automatically removed from the table.
Step 3: Enable the lookup for product search on sales and purchase order lines
You can enable this functionality by going to Sales and marketing > Setup > Search > Search parameters
and setting Enable lookup for search to Yes on the General tab.
For sales order line entry, the default behavior is to open the Product search page when you start typing in
the Item number field, and then press the Tab key. The Product search page changes the context during order
line creation and may be considered unnecessarily intrusive. If you prefer to get the search results in a lookup and
not lose context during order line entry, you can use the search lookup instead. If you search for a product or
product variant, but you don't select anything in the lookup and press the Tab key, the Product search page will
display.
Cash management improvements
3/13/2020 • 3 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
Cash management is a key function for retailers in physical stores. Retailers want their stores to have systems that
can help them provide complete traceability and accountability of cash and its movement across the different
registers and cashiers in a store. They must be able to reconcile any differences and determine accountability.
Microsoft Dynamics 365 Commerce has cash management capabilities in its point of sale (POS) application.
However, in versions of Retail that are earlier than version 10.0.3, cash management functionality isn't robust
enough to provide complete traceability of cash movements in stores. Although retailers can reconcile the cash for
a store, they can't precisely determine accountability in the event of a cash discrepancy.
In Retail version 10.0.3 and later, retailers will gain traceability for cash handling. As part of this traceability, retailers
will be able to define safes, make two-sided cash transactions, and reconcile cash management transactions.
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
Inventory lookup in the point of sale (POS) helps retailers achieve real-time operational excellence and gain insights
by connecting stores, the POS, and the back office. This functionality provides an accurate real-time view of product
inventory across stores and distribution centers. It also helps retailers drive additional efficiencies and cost savings
by improving inventory planning in real time.
An accurate real-time view of inventory across an organization helps store associates provide timely, superior
customer service. The moment that matters most is the moment when the customer is ready to make a purchase
decision. It's important that cashiers in the store have real-time inventory information at their fingertips, so that
they can accurately promise product delivery and pickup.
You can open the Inventor y lookup page from the Retail Modern POS workspace or the Retail Cloud POS
workspace.
On the Inventor y lookup page, you can use the numeric keyboard to enter a product number. You can then view
the on-hand quantity for multiple stores and warehouses.
Reser ved and Ordered quantities are also shown for each location.
Reser ved – This quantity refers to the Physical reser ved value from the back office for the specified product
number at the location.
Ordered – This quantity refers to the Ordered in total value from the back office for the specified product
number at the location.
NOTE
Inventory availability information isn't shown for warehouses of the Transit , Quarantine , and Goods in Route
types for the POS.
On the Inventor y lookup page, you can view available to promise (ATP) quantities for each store, in addition to
the current on-hand quantities, reserved quantities, and ordered quantities. Select the store to view the ATP
information for, and then select Show store availability .
Opening the Dimension based matrix view to show all variants
On the Product details page of a product master, or on the Inventor y lookup page, select View all variants
from the app-bar at bottom of the page. The Dimension based matrix view for the initial launch from these
pages shows the inventory availability information for all variants of a product for the current store.
NOTE
The View all variants button is available only for item product masters that have product variants. It isn't available for
standalone products or kits.
Select View all variants on the Product details page of a product master, or on the Inventor y lookup page,
without selecting a location, to go to the Dimension based matrix view to view the inventory availability
information for all variants of a product for the current store.
NOTE
In the preceding illustration, the display order of the dimensions is alphabetic, because the display order of dimensions wasn't
configured for the selected product.
In the Dimension based matrix view, the cells for the product variants include an on-hand value in the lower-
right corner. The following table explains the meaning of the various values.
O N - H A N D VA L UE DESC RIP T IO N
Numeric value that is more than 0 (zero) A variant has been released to the selected location, and you
can perform additional actions in the cell. (These actions are
described in more detail later in this topic.)
0 (zero) A variant has been released to the selected location, but the
item isn't available in selected location. However, you can
perform additional actions in the cell. (These actions are
described in more detail later in this topic.)
n/a or an inactive cell A variant hasn't been released to the selected location, and
you can't perform additional actions in the cell.
You can also change the pivot for dimensions by selecting the new dimension to use.
NOTE
In the preceding illustrations, the display order of the dimensions for the selected product is custom (non-alphabetic). It's
based on the dimension display order that is set in the back office.
Additionally, in the Dimension based matrix view, more actions can be performed to help boost a store
associate's productivity. Here are some examples:
Change the store location to look up the inventory availability of all product variants at other locations. These
locations include other stores in the store locator group and distribution centers of the Standard default type.
Sell an individual product variant to a customer by using cash and carry, in-store pickup, or shipment to an
address.
Provide the customer with ATP information for an individual product variant at a specific location.
NOTE
In the preceding illustration, the display order of the dimensions is alphabetic, because the display order of dimensions wasn't
configured for the selected product.
The following table provides more information about the additional actions that are available.
A C T IO N DESC RIP T IO N
Sell now Add the selected item variant to the transaction, and redirect
the user to the transaction screen. (This action isn't available
when the selected location is a distribution center.)
Pick up in store Create a customer order for the product variant that will be
picked up from the selected location, and redirect the user to
the transaction screen. (This action isn't available when the
selected location is a distribution center.)
Ship product Create a customer order for the product variant that will be
shipped from the selected location, and redirect the user to
the transaction screen.
Availability Show the ATP information for the selected variant combination
for the selected location.
A C T IO N DESC RIP T IO N
Show all locations Switch to the standard inventory lookup view, and highlight
inventory availability information for the item variant across all
stores in the store locator group, and also in distribution
centers of the Standard/Default type.
View product details Redirect the user to the Product details page of the
associated product master.
Suspend and resume a transaction in the point of sale
(POS)
2/1/2020 • 3 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
Point of sale (POS) users can suspend in-progress transactions, and then resume them later or on a different
register. Transactions are often suspended to quickly free up a register for a different task without losing any
progress on the current transaction. For example, a store associate starts to process a customer's transaction on a
mobile device but must complete it on a register that has a cash drawer. In this case, the store associate can
suspend the transaction on the mobile device, and then recall and resume it on a register.
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This article provides information about offline mode for Modern POS, in which POS devices automatically switch
from the channel database to the offline database if the Commerce Scale Unit is unavailable. This article also
includes general setup information for offline mode and explains the data synchronization that occurs between the
offline database and the channel database.
Overview
In Modern POS, a point of sale (POS) device goes into offline mode whenever the Commerce Scale Unit is
unavailable. Therefore, if the connection is lost, the POS automatically switches to the offline database.
During a sales transaction, if a data request doesn't succeed within the time-out interval that is configured in the
offline profile, the POS automatically switches to the offline database and continues the sales transaction. While the
POS device is in offline mode, Rail Modern POS tries to reconnect to the Commerce Scale Unit after the
reconnection attempt interval that is configured in the offline profile. This reconnection attempt occurs only at the
beginning of a transaction.
Determining the connection mode of Modern POS
The status header in Modern POS indicates the current connection status, and the Connection status window
shows the status of the last attempt to sync with the offline database.
Data synchronization
The Commerce scheduler is used to send master data to the offline database. By default, when a distribution
schedule is run, data changes are sent to both the channel database and the offline database. Modern POS includes
the async sync library, which downloads any available data packages and inserts them into the offline database. If
any transactions are created offline, the POS uploads them to the Commerce Scale Unit, so that they can be
inserted into the channel database. Offline data synchronization can occur only if Modern POS is running.
Shift and cash drawer management
2/1/2020 • 9 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic explains how to set up and use shifts in Commerce point of sale (POS).
In Dynamics 365 Commerce, the term shift describes the collection of POS transactional data and activities between
two points in time. For each shift, the amount of money that is expected is compared against the amount that was
counted and declared.
Typically, shifts are opened at the start of the business day. At that point, a user declares the starting amount that
the cash drawer contains. Sales transactions are then performed throughout the day. Finally, at the end of the day,
the drawer is counted, and the closing amounts are declared. The shift is closed, and a Z report is generated. The Z
report indicates whether there is an overage or shortage.
NOTE
Only one shared shift can be open at a time in each store. Shared shifts and stand-alone shifts can be used in the same store.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This topic provides an overview of the cash out gift card feature for the Dynamics 365 Retail Modern POS (MPOS).
The purpose of the cash out feature is to allow cashiers to cash out the remaining amount on a gift card. Retailers
often need to exchange a low balance gift card for cash at the customer's request.
Prerequisites
The payment connector and corresponding payment gateway or processor must support the feature. The
payment connector is an extension which facilitates communication between Dynamics 365 Commerce (and
associated components) and a payment service. The connector described in this topic was implemented using
the standard payments SDK.
If the gift cards are external gift cards, the external gift card must be configured for both the Headquarters and
the POS. Before the gift card can be configured, the retailer must have an account with an external gift card
service provider.
Scenarios
The cash out gift card feature is applicable to a scenario where, for example, in Washington state, the cash out
threshold is $5. Retailers in this case will have the option to set up an operation to cash out a gift card and set the
gift card balance limits under which the cash out operation can be enabled.
Configure Headquarters
1. Open the All stores page.
2. In the list, select the Houston store.
3. On the Action Pane , select Set up > Payment methods .
4. Search for payment methods to open the Payment methods page.
5. Select the Gift Card payment method, and then follow these steps:
a. In the Amount FastTab section, select the Cash Out Gift Card field.
b. In the Cash Out Gift Card field, enter the Gift card Cash out threshold amount.
c. Select Save .
6. Open the Button grid page.
7. In the navigation bar on the left side of the page, search for F2S1M , and select the filtered option.
8. On the Action Pane , select Designer to download the button designer application.
9. When the grid designer appears, right-click on an empty (gray) area, and then select New button .
10. Right-click the new button, and then select Button proper ties .
11. Set the Action , Cash out gift card , and Text on button properties according to the following matrix.
A C T IO N PAY M EN T T Y P E T EXT O N B UT TO N
Cash out gift card Gift Card Cash out gift card
When you've finished, your button layout should resemble the following illustration.
12. Click Ok and close the designer.
13. Search for Distribution Schedule .
14. In the navigation bar on the left side of the page, search for 1090 , 1115 , and 1070 .
15. On the Action Pane , select Run now .
16. Check the status of the job by searching for Download sessions .
17. Wait until Applied appears next to all the jobs, and then close the browser.
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
With the Charge send feature in Commerce, customer orders can be placed in one store and shipped from another
store.
Customer orders in the point of sale (POS) client support multiple fulfillment options. Some examples of fulfillment
options include:
Pick up from the same store on a different date.
Pick up from a different store on the same date or a different date.
Ship from the default shipping warehouse that is assigned to the store, and deliver on a specific date.
The Charge send feature uses the following POS operations: Ship all products and Ship selected products. This
allows the store clerk to select the "ship from" location that the order or order line can be fulfilled from. By default,
the "ship from" location is the shipping warehouse that is associated with the store. However, the store clerk can
change this location and select any store that is defined in the store locator group that is assigned to the store.
The ability to select "ship to" addresses remains unchanged.
The shipping methods that can be used to fulfill the order line are based on the configuration of valid modes of
delivery for products and addresses. Because the rules about valid of modes of delivery are maintained only in the
Headquarters (HQ), the POS client makes a real-time call to fetch the valid modes of delivery for a ship line.
Hide non-carrier delivery modes from the shipping
options in POS
2/1/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic describes a configuration option that is available for the point of sale (POS) application. This
configuration option changes the behavior for the selection of a mode of delivery when shipment orders are
created in POS.
When users create customer shipment orders in POS, they can select a mode of delivery for the shipment. This
functionality is available regardless of whether the whole order is being shipped or only selected lines.
By default, the dialog box where a mode of delivery is selected shows all the valid modes of delivery for the
combination of a channel, an item, and a delivery address. These modes of delivery are defined on the Modes of
deliver y page in Headquarters (Sales and marketing > Setup > Distribution > Modes of deliver y ). "Non-
carrier" modes of delivery, such as Carr yout or Pickup , might also appear for selection in the dialog box.
However, a feature has been added that lets you hide non-carrier modes of delivery in the dialog box. To turn on
this feature, on the Commerce parameters page, on the Customer orders tab, set the Show only carrier
mode options for ship orders option to Yes . After you turn on this feature and run the appropriate distribution
jobs to sync the information to the channel database, non-carrier modes of delivery won't appear for selection
during the process of creating shipment orders in POS.
Task recorder and Help for Retail Modern POS
(MPOS) and Cloud POS
2/1/2020 • 6 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic describes how to use Task recorder in Retail Modern POS and Cloud POS.
Overview
Task recorder in Retail Modern POS or Cloud POS is a new solution that was built with a focus on high
responsiveness. It provides a flexible application programming interface (API) for extensibility and seamless
integration with consumers of business process recordings. Additionally, Task recorder integration with the
Business process modeler (BPM) tool on Microsoft Dynamics Lifecycle Services (https://bpm.lcs.dynamics.com) has
been brought forward. Therefore, users can continue to produce rich business process diagrams from recordings to
analyze and design their applications.
Architecture
Task recorder can record user actions in the client with exact fidelity. Each control is instrumented to notify Task
recorder about the execution of a user action. The control notifies Task recorder that an event occurred and passes
along all pertinent information about the corresponding user action in real time. From this information, Task
recorder can capture the type of user action (such as a button click, value entry, or navigation) and any data that is
related to the user action (such as the input data value and type, form context, or record context). Task recorder
persists the information with enough detail to help guarantee that a playback of the recording can perform the
recorded actions exactly as the user performed them. (The playback feature isn't yet implemented at Retail modern
POS or Cloud POS.)
Basic configuration
To enable task recording in POS, follow these steps.
1. Click Retail and Commerce > Channel Setup > POS Setup > Registers .
2. Click the register to enable task recording on.
3. On the Register tab, on the General FastTab, set the Enable task recording option to Yes .
4. Click Save .
5. Go to Retail and Commerce > Retail and Commerce IT > Distribution schedule .
6. Select the Registers (1090) job, and then click Run now .
Create a recording
Follow these steps to create a new recording using Task recorder.
1. Start Retail Modern POS or Cloud POS, and sign in.
2. On the Settings page, in the Task Recorder section, click Open task recorder . The Task recorder pane
appears. You can click the Close button (X ) in the upper-right corner to close the Task recorder pane before
you begin a new recording. To reopen the pane, repeat step 2.
3. Enter a name and description for the recording, and then click Star t . The recording session begins as soon
as you click Star t .
NOTE
If you click the Close button (X ) in the upper-right corner while recording is in progress, the Task recorder pane is
closed, but the recording session isn't ended. To reopen the Task recorder pane, click the Help button (question mark)
at the top of the screen.
4. After you click Star t , Task recorder enters recording mode. The Task recorder pane shows information and
controls that are related to the recording process.
5. Perform the actions that you want to perform in the Retail Modern POS or Cloud POS user interface (UI).
6. To end the recording session, click Stop .
Download options
After you end the recording session, several options are shown, so that you can download your recording.
Save to this PC
You can use the recording package to play a Task guide, maintain the recording, or edit the annotations in the
recording. (This feature isn't yet implemented in Retail Modern POS and Cloud POS.)
Export as Word document
You can save the recording as a Microsoft Word document. The document will contain the recorded steps and the
screenshots that were captured.
Save as developer recording
The raw recording file will be useful for developer scenarios such as test code generation. (This feature isn't yet
implemented.)
Recording controls
Stop
Click Stop to end the recording session. Note that you can't restart a session after you end it. Therefore, make sure
that the recording is completed before you end it.
Pause
Click Pause to temporarily stop (pause) the recording session and continue with the operation. Steps that you
perform after you click Pause aren't recorded.
Continue
To resume the recording session after you've paused it, click Continue .
Capture screenshots
Task recorder can capture screenshots of the Retail Modern POS UI as you record a business process. To turn on the
screenshot capture feature, set the Capture screenshot option to Yes and then make the recording. Once the
recording is completed, click Stop and download the Word document. The document will contain the steps with
relevant screenshots.
NOTE
Capture screenshot functionality is not supported in Cloud POS.
Adding annotations
An annotation is additional text that you add to a step in a recording. For example, you can use annotations to give
the user more context or instructions. You can add annotations before or after a step. You can add an annotation to
any step by clicking the Edit button (pencil symbol) to the right of the step.
Text
Text that you enter in the Text field appears above the step text in the Task guide. This location is appropriate for text
that you want the user to read before he or she completes the step.
Notes
Text that you enter in the Notes field appears below the step text in the Task guide. To read the note text, the user
must expand the step text in the pop-up window. This location is appropriate for optional reading material or other
information that might be useful to the user, but that the user doesn't require in order to complete the action.
NOTE
Help in Retail Modern POS and Cloud POS will not bring up task guides according to what form you're on or operation you're
doing. You have to type the process name in the search box and then click Search .
Peripherals
3/19/2020 • 33 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic explains the concepts that are related to store peripherals. It describes the various ways that peripherals
can be connected to the point of sale (POS) and the components that are responsible for managing the connection
with the POS.
Concepts
POS registers
Navigation: Click Retail and Commerce > Channel setup > POS setup > Registers . The point of sale (POS)
register is an entity that is used to define the characteristics of a specific instance of the POS. These characteristics
include the hardware profile or setup for peripherals that will be used at the register, the store that the register is
mapped to, and the visual experience for the user who signs in to that register.
Devices
Navigation: Click Retail and Commerce > Channel setup > POS setup > Devices . A device is an entity that
represents a physical instance of a device that is mapped to a POS register. When a device is created, it’s mapped to
a POS register. The device entity tracks information about when a POS register is activated, the type of client that is
being used, and the application package that has been deployed to a specific device.
Devices can be mapped to the following application types: Retail Modern POS, Retail Cloud POS, Retail Modern POS
– Windows Phone, Retail Modern POS – Android, and Retail Modern POS – iOS.
Modern POS
Modern POS is the POS program for Microsoft Windows. It can be deployed on Windows 10 operating systems
(OSs).
Cloud POS
Cloud POS is a browser-based version of the Modern POS program that can be accessed in a web browser.
Modern POS for iOS
Modern POS for iOS is an iOS-based version of the Modern POS program that can be deployed on iOS devices.
Modern POS for Android
Modern POS for Android is an Android-based version of the Modern POS program that can be deployed on
Android devices.
POS peripherals
POS peripherals are devices that are explicitly supported for POS functions. These peripherals are typically divided
into specific classes. For more information about these classes, see the “Device classes” section of this topic.
Hardware station
Navigation: Click Retail and Commerce > Channels > Stores > All stores . Select a store, and then click the
Hardware stations FastTab. The Hardware station setting is a channel-level setting that is used to define
instances where the peripheral logic will be deployed. This setting at the channel level is used to determine
characteristics of the hardware station. It's also used to list hardware stations that are available for a Modern POS
instance in a given store. The hardware station is built into the Modern POS programs for Windows and Android.
The hardware station can also be deployed independently as a stand-alone Microsoft Internet Information Services
(IIS) program. In this case, it is accessed via network.
Hardware profile
Navigation: Click Retail and Commerce > Channel setup > POS setup > POS profiles > Hardware profiles .
The hardware profile is a list of devices that are configured for a POS register or a hardware station. The hardware
profile can be mapped directly to a POS register or a hardware station.
Devices classes
POS peripherals are typically divided into classes. This section describes and gives an overview of the devices that
Modern POS supports.
Printer
Printers include traditional POS receipt printers and full-page printers. Printer are supported through Object
Linking and Embedding for Retail POS (OPOS) and Microsoft Windows driver interfaces. Up to two printers can be
used at the same time. This capability supports scenarios where cash-and-carry customer receipts are printed on
receipt printers, whereas customer orders, which carry more information, are printed on a full-page printer. Receipt
printers can be connected directly to a computer via USB, connected to a network via Ethernet, or connected via
Bluetooth.
Scanner
Up to two bar code scanners can be used at the same time. This capability supports scenarios where a scanner that
is more mobile is required in order to scan large or heavy items, whereas a fixed embedded scanner is used for
most standard-sized items, to speed up checkout times. Scanners can be supported through OPOS, Universal
Windows Platform (UWP), or keyboard wedge interfaces. USB or Bluetooth can be used to connect a scanner to a
computer.
MSR
One USB magnetic stripe reader (MSR) can be set up by using OPOS drivers. If you want to use a stand-alone MSR
for electronic funds transfer (EFT) payment transactions, the MSR must be managed by a payment connector.
Stand-alone MSRs can be used for customer loyalty entry, employee sign-in, and gift card entry, independently of
the payment connector.
Cash drawer
Two cash drawers can be supported per hardware profile. This capability enables two active shifts per register to be
available at the same time. In the case of a shared shift, or a cash drawer that is used by multiple mobile POS
devices at the same time, only one cash drawer is allowed per hardware profile. Cash drawers can be connected
directly to a computer via USB, connected to a network, or connected to a receipt printer via an RJ12 interface. In
some cases, cash drawers can also be connected via Bluetooth.
Line display
Line displays are used to show products, transaction balances, and other useful information to the customer during
a transaction. One line display can be connected to the computer via USB by using OPOS drivers.
Signature capture
Signature capture devices can be connected directly to a computer via USB by using OPOS drivers. When signature
capture is configured, the customer is prompted to sign on the device. After the signature is provided, it's shown to
the cashier for acceptance.
Scale
Scales can be connected to the computer via USP by using OPOS drivers. When a product that is marked as a
“Weighed” product is added to a transaction, the POS reads the weight from the scale, adds the product to the
transaction, and uses the quantity that the scale provided.
PIN pad
Personal identification number (PIN) pads are supported through OPOS, but they must be managed via a payment
connector.
Secondary display
When a secondary display is configured, the number 2 Windows display is used to show basic information. The
purpose of the secondary display is to support independent software vendor (ISV) extension, because out of the
box, the secondary display isn't configurable and shows limited content.
Payment device
Payment device support is implemented through the payment connector. Payment devices can perform one or
many of the functions that other device classes provide. For example, a payment device can function as an
MSR/card reader, line display, signature capture device, or PIN pad. Support for payment devices is implemented
independently of the stand-alone device support that is provided for other devices that are included in the
hardware profile.
Supported interfaces
OPOS
To help guarantee that the largest range of devices can be used with Commerce, the OLE for POS industry standard
is the primary peripheral device platform that is supported. The OLE for POS standard was produced by the
National Retail Federation (NRF), which establishes industry-standard communication protocols for peripheral
devices. OPOS is a widely adopted implementation of the OLE for POS standard. It was developed in the mid-1990s
and has been updated several times since then. OPOS provides a device driver architecture that enables easy
integration of POS hardware with Windows–based POS systems. OPOS controls handle communication between
compatible hardware and the POS software. An OPOS control consists of two parts:
Control object – The control object for a device class (such as line displays) provides the interface for the
software program. Monroe Consulting Services (www.monroecs.com) provides a standardized set of OPOS
control objects that are known as the common control objects (CCOs). The CCOs are used to test the POS
component of Commerce. Therefore, the testing helps guarantee that, if Commerce supports a device class
through OPOS, many device types can be supported, provided that the manufacturer provides a service object
that is built for OPOS. You don't have to explicitly test each device type.
Ser vice object – The service object provides communication between the control object (CCO) and the device.
Typically, the service object for a device is provided by the device manufacturer. However, in some cases, you
might have to download the service object from the manufacturer’s website. For example, a more recent service
object might be available. To find the address of the manufacturer's website, see your hardware documentation.
Support for the OPOS implementation of OLE for POS helps guarantee that, if the device manufacturers and POS
publishers implement the standard correctly, POS systems and supported devices can work together, even if they
weren't previously tested together.
NOTE
OPOS support doesn't guarantee support for all devices that have OPOS drivers. Commerce must first support that device
type, or class, through OPOS. In addition, service objects might not always be up to date with the latest version of the CCOs.
You should also be aware that, in general, the quality of service objects varies.
Windows
Receipt printing at the POS is optimized for OPOS. OPOS tends to be much faster than printing through Windows.
Therefore, it's a good idea to use OPOS, especially in environments where 40-column receipts are printed and
transaction times must be fast. For most devices, you will use OPOS controls. However, some OPOS receipt printers
also support Windows drivers. By using a Windows driver, you can access the latest fonts and network one printer
for multiple registers. However, there are drawbacks to using Windows drivers. Here are some examples of these
drawbacks:
When Windows drivers are used, images are rendered before printing occurs. Therefore, printing tends to be
slower than it is on printers that use OPOS controls.
Devices that are connected through the printer (“daisy-chained”) might not work correctly when Windows
drivers are used. For example, the cash drawer might not open, or the slip printer might not word as you expect.
OPOS also supports a more extensive set of variables that are specific to receipt printers, such as paper cutting
or slip printing.
Windows printers are not supported through the IIS hardware station.
If OPOS controls are available for the Windows printer that you're using, the printer should still work correctly with
Commerce.
Universal Windows Platform
UWP, in the case of peripherals, is related to Windows support for Plug and Play devices. When a Plug and Play
device is connected to a Windows OS version that supports that type of device, no driver is required for the device
to be used as intended. For example, if Windows detects a Bluetooth speaker device, the OS knows that the device
has the Speaker class type. Therefore, and it treats that device as a speaker. No additional setup is required. In the
case of POS devices, many USB devices can be plugged in, and Windows will recognize them as Human Interface
Devices (HIDs). However, it might not be able to determine the capabilities that the device provides, because the
device doesn't specify the class, or type, of device. In Windows 10, device classes for bar code scanners and MSRs
have been added. Therefore, if a device declares itself to Windows 10 as a device of one of these classes, Windows
will listen for events from the device at the appropriate times. Modern POS supports UWP MSRs and scanners.
Therefore, when it's ready for input from one of these devices, and a device that belongs to one of these classes is
connected, the device can be used. For example, if a UWP bar code scanner is plugged into a Windows 10 computer,
and bar code sign-in is configured for Modern POS, the bar code scanner will become active on the sign-in screen.
No additional setup is required. Additional classes of point of service UWP devices are being added to Windows.
These classes include classes for cash drawers and receipt printers. Support for these new device classes in Modern
POS is pending.
Keyboard wedge
Keyboard wedge devices send data to the computer as if that data were typed on a keyboard. Therefore, by default,
the field that is active at the POS will receive the data that is scanned or swiped. In some cases, this behavior can
cause the wrong type of data to be scanned into the wrong field. For example, a bar code might be scanned into a
field that is intended for input of credit card data. In many cases, there is logic at the POS that determines whether
the data that is scanned or swiped is a bar code or card swipe. Therefore, the data is handled correctly. However,
when devices are set up as OPOS instead of keyboard wedge devices, there is more control over how the data from
those devices can be consumed, because more is “known” about the device that the data originates from. For
example, data from a bar code scanner is automatically recognized as a bar code, and the associated record in the
database is found more easily and faster than if a generic string search were used, as in the case of keyboard wedge
devices.
Native printer
Native (or "Device" as the type is named in the hardware profile) printers can be configured to prompt the user to
select a printer that is configured for the computer. When a printer of the Device type is configured, if Modern POS
encounters a print command, the user is prompted to select a printer in a list. This behavior differs from the
behavior for Windows drivers, because the Windows printer type in the hardware profile doesn't show a list of
printers. Instead, it requires that a named printer be provided in the Device name field.
Network
Network-addressable cash drawers, receipt printers, and payment terminals can be used over a network, either
directly through the Interprocess Communications (IPC) hardware station that is built into the Modern POS for
Windows application or through the IIS hardware station for other Modern POS clients.
iOS No Yes
Network peripherals
Network peripherals can be supported directly through the hardware station that is built into the Modern POS for
Windows and Android applications. For all other clients, you must deploy an IIS hardware station.
iOS No Yes
Supported device types by hardware station type
Modern POS for Windows with an IPC (built-in) hardware station
SUP P O RT ED DEVIC E C L A SS SUP P O RT ED IN T ERFA C ES
Printer OPOS
Windows driver
Device
Network
Printer 2 OPOS
Windows driver
Device
Network
MSR OPOS
UWP (No setup is required.)
Keyboard wedge (No setup is required.)
Drawer OPOS
Network
Note: Only one drawer can be set up if Use shared
shift is configured on the drawer.
Drawer 2 OPOS
Network
Note: Only one drawer can be set up if Use shared
shift is configured on the drawer.
Scanner OPOS
UWP (No setup is required.)
Keyboard wedge (No setup is required.)
Scanner 2 OPOS
UWP (No setup is required.)
Keyboard wedge (No setup is required.)
Scale OPOS
All Modern POS clients that have a committed "Shared" IIS hardware station
NOTE
When the IIS hardware station is “committed” there is a one-to-one relationship between the POS client and the hardware
station.
Printer OPOS
Network
Printer 2 OPOS
Network
MSR OPOS
Drawer OPOS
Network
Note: Only one drawer per hardware profile can be set
up if Use shared shift is configured on the drawer.
Drawer 2 OPOS
Network
Scanner OPOS
Scanner 2 OPOS
Scale OPOS
Printer OPOS
Network
Printer 2 OPOS
Network
Drawer OPOS
Network
Note: Only one drawer per hardware profile can be set
up if Use shared shift is configured on the drawer.
Drawer 2 OPOS
Network
NOTE
You don't have to set any other properties on the hardware station. All other required information, such as the
hardware profile, will come from the register itself.
4. Click Retail and Commerce > Retail and Commerce IT > Distribution schedule .
5. Select the 1090 distribution schedule to sync the new hardware profile to the store. Click Run now to sync
changes to the POS.
6. Select the 1040 distribution schedule to sync the new hardware station to the store. Click Run now to sync
changes to the POS.
7. Install and activate Modern POS for Windows.
8. Start Modern POS for Windows, and begin to use the connected peripheral devices.
Modern POS for Android with an IPC (built-in) hardware station
New for 10.0.8 - Epson network printers and cash drawers connected to those printers via DK port are now
supported for the Modern POS fo Android app. For details, visit the Set up POS hybrid app on Android and iOS
article.
All Modern POS clients that have a committed, shared IIS hardware station
This configuration can be used for all Modern POS clients that have a hardware station that is used exclusively by
one POS register. To set up this configuration, follow these steps.
1. Create a hardware profile where all the required peripherals are configured.
2. Create a hardware station of the Dedicated type for the store where the POS register will be used.
3. On the dedicated hardware station, set the following properties:
Host name – The name of the host computer where the hardware station will run.
NOTE
Cloud POS can resolve localhost to determine the local computer where Cloud POS is running. However, the
certificate that is required in order to pair Cloud POS with the hardware station must also have "Localhost" as
the computer name. To avoid issues, we recommend that you list an instance of each dedicated hardware
station for the store, as required. For each hardware station, the host name should be the specific computer
name where the hardware station will be deployed.
Por t – The port to use for the hardware station to communicate with the Modern POS client.
Hardware profile – If the hardware profile isn't provided on the hardware station itself, the
hardware profile that is assigned to the register will be used.
EFT POS number – The EFT terminal ID to use when EFT authorizations are sent. This ID is provided
by the credit card processor.
Package name – The hardware station package to use when the hardware station is deployed.
4. Click Retail and Commerce > Retail and Commerce IT > Distribution schedule .
5. Select the 1090 distribution schedule to sync the new hardware profile to the store. Click Run now to sync
changes to the POS.
6. Select the 1040 distribution schedule to sync the new hardware station to the store. Click Run now to sync
changes to the POS.
7. Install the hardware station. For more information about how to install the hardware station, see Configure
and install Retail hardware station.
8. Install and activate Modern POS. For more information about how to install Modern POS, see Configure,
install and activate Modern POS (MPOS).
9. Sign in to Modern POS, and select Perform non-drawer operations .
10. Start the Manage hardware stations operation.
11. Click Manage .
12. On the hardware station management page, set the option to turn on the hardware station.
13. Select the hardware station to use, and then click Pair .
14. After the hardware station is paired, click Close .
15. On the hardware station selection page, click the recently selected hardware station to make it active.
All Modern POS clients that have a shared IIS hardware station
This configuration can be used for all Modern POS clients that share hardware stations with other devices. To set up
this configuration, follow these steps.
1. Create a hardware profile where the required peripherals are configured.
2. Create a hardware station of the Shared type for the store where the POS register will be used.
3. On the shared hardware station, set the following properties:
Host name – The name of the host computer where the hardware station will run.
Description – Text that will help identify the hardware station, such as Returns or Front of store .
Por t – The port to use for the hardware station to communicate with the Modern POS client.
Hardware profile – For shared hardware stations, each hardware station should have a hardware
profile. Hardware profiles can be shared among hardware stations, but they must be mapped to each
hardware station. In addition, we recommend that you use shared shifts when multiple devices use the
same shared hardware station. To set up a shared shift, click Retail and Commerce > Channel setup >
POS setup > POS profiles > Hardware profiles . For each shared hardware profile, select the cash
drawer, and set the Shared shift drawer option to Yes .
EFT POS number – The EFT terminal ID to use when EFT authorizations are sent. This ID is provided by
the credit card processor.
Package name – The hardware station package to use when the hardware station is deployed.
4. Repeat steps 2 and 3 for each additional hardware station that is required in the store.
5. Click Retail and Commerce > Retail and Commerce IT > Distribution schedule .
6. Select the 1090 distribution schedule to sync the new hardware profile to the store. Click Run now to sync
changes to the POS.
7. Select the 1040 distribution schedule to sync the new hardware station to the store. Click Run now to sync
changes to the POS.
8. Install the hardware station on each host computer that you set up in steps 2 and 3. For more information
about how to install the hardware station, see Configure and install Retail hardware station.
9. Install and activate Modern POS. For more information about how to install Modern POS, see Configure,
install, and activate Modern POS (MPOS).
10. Sign in to Modern POS, and select Perform non-drawer operations .
11. Start the Manage hardware stations operation.
12. Click Manage .
13. On the hardware station management page, set the option to turn on the hardware station.
14. Select the hardware station to use, and then click Pair .
15. Repeat step 14 for each hardware station that Modern POS will use.
16. After all the required hardware stations are paired, click Close .
17. On the hardware station selection page, click the recently selected hardware station to make it active.
NOTE
If devices often use different hardware stations, we recommend that you configure Modern POS to prompt cashiers to select
a hardware station when they begin the tender process. Click Retail and Commerce > Channel setup > POS setup >
Registers . Select the register, and then set the Select upon tender option to Yes . Use the 1090 distribution schedule to
sync changes to the channel database.
Extensibility
For information about extensibility scenarios for the hardware station, see Hardware Station extensibility.
Security
According to current security standards, the following settings should be used in a production environment:
Hardware station installer
The hardware station installer will automatically make these registry edits as part of the installation through self-
service.
Secure Sockets Layer (SSL) should be disabled.
Only Transport Layer Security (TLS) version 1.2 (or the current highest version) should be enabled and used.
SSL and TLS
By default, SSL and all version of TLS except TLS 1.2 are disabled. To edit or enable these values, follow these steps:
1. Press the Windows logo key+R to open a Run window. 2. In the Open field, type Regedit , and then click OK . 3. If
a User Account Control message box appears, click Yes . 4. In the Registr y Editor window, navigate to
HKEY_LOCAL_MACHINESystemCurrentControlSetSecurityProvidersSCHANNELProtocols . The following
keys have been automatically entered to allow for TLS 1.2 only: - TLS 1.2Server:Enabled=1 - TLS
1.2Server:DisabledByDefault=0 - TLS 1.2Client:Enabled=1 - TLS 1.2Client:DisabledByDefault=0 - TLS
1.1Server:Enabled=0 - TLS 1.1Client:Enabled=0 - TLS 1.0Server:Enabled=0 - TLS 1.0Client:Enabled=0 - SSL
3.0Server:Enabled=0 - SSL 3.0Client:Enabled=0 - SSL 2.0Server:Enabled=0 - SSL 2.0Client:Enabled=0
No additional network ports should be open, unless they are required for known, specified reasons.
Cross-origin resource sharing must be disabled and must specify the allowed origins that are accepted.
Only trusted certificate authorities should be used to obtain certificates that will be used on computers that run
the hardware station.
NOTE
It’s very important that you review security guidelines for IIS and the Payment Card Industry (PCI) requirements.
Peripheral simulator
For information, see Peripheral simulator for Commerce.
PIN pad
Payment terminal
Cash drawer
M A N UFA C T URER M O DEL IN T ERFA C E C O M M EN T S
HP QT457AA OPOS
Line display
Signature capture
Scale
MSR
HP IDRA-334133 OPOS
PIN pad
Payment terminal
Cash drawer
HP QT457AA OPOS
Line display
M A N UFA C T URER M O DEL IN T ERFA C E C O M M EN T S
Signature capture
Scale
MSR
HP IDRA-334133 OPOS
NOTE
Only a printer, payment terminal, and cash drawer are supported.
Printer
Payment terminal
M A N UFA C T URER M O DEL IN T ERFA C E C O M M EN T S
Cash drawer
HP QT457AA OPOS
Troubleshooting
Modern POS can detect the hardware station in its list for selection, but it can’t complete the pairing
Solution: Verify the following list of potential failure points:
The computer that is running Modern POS trusts the certificate that is used on the computer that runs the
hardware station.
To verify this setup, in a web browser, go to the following URL: https://<Computer Name>:<Port
Number>/HardwareStation/ping.
This URL uses a ping to verify that the computer can be accessed, and the browser indicates whether the
certificate is trusted. (For example, in Internet Explorer, a lock icon appears in the address bar. When you
click this icon, Internet Explorer verifies whether the certificate is currently trusted. You can install the
certificate on the local computer by viewing the details of the certificate that is shown.)
On the computer that runs the hardware station, the port that will be used by the hardware station is opened in
the firewall.
The hardware station has correctly installed merchant account information through the Install merchant
information tool that runs at the end of the hardware station installer.
Modern POS can’t detect the hardware station in its list for selection
Solution: Either of the following factors can cause this issue:
The hardware station hasn’t been set up correctly in headquarters. Use the steps earlier in this topic to verify
that the hardware station profile and the hardware station are correctly entered.
The jobs haven’t been run to update the channel configuration. In this case, run the 1070 job for channel
configuration.
Modern POS doesn't reflect new cash drawer settings
Solution: Close the current batch. Changes to the cash drawer aren't updated to Modern POS until the current
batch is closed.
Modern POS is reporting an issue with a peripheral
Solution: Here are some typical causes of this issue:
Make sure that other device driver configuration utilities are closed. If these utilities are open, they might
prevent Modern POS or the hardware station from claiming the device.
If the peripheral is shared with multiple POS devices, make sure that it belongs to one of the following
categories:
Cash drawer
Receipt printer
Payment terminal
If the peripheral doesn't belong to one of these categories, the hardware station isn't designed to enable the
peripheral to be shared among multiple POS devices.
Sometimes, device drivers can cause the common control objects (CCOs) to stop working correctly. If a
device has recently been installed, but it isn't working properly or you notice other issues, you can often
resolve the issue by reinstalling the CCOs. To download the CCOs, visit
http://monroecs.com/oposccos_current.htm.
If you make frequent peripheral changes during testing or troubleshooting, you might have to reset IIS
instead of waiting for the cache to refresh itself. To reset IIS, follow these steps:
1. From the Star t menu, type CMD .
2. In the search results, right-click Command prompt , and then click Run as administrator .
3. In the Command prompt window, type iisreset /Restar t and then press Enter.
4. After IIS has restarted, restart Modern POS.
While you're making frequent changes to peripheral devices, if you also frequently start and exit the POS
client, the dllhost process from a previous POS session can interfere with the current session. In this case, a
device might not be usable until you close the dynamic-link library (DLL) host that is managing the previous
session. To close the DLL host, follow these steps:
1. From the Star t menu, type Task manager .
2. In the search results, click Task manager .
3. In Task manager, on the Details tab, click the column header that is labeled Name to sort the table
alphabetically by name.
4. Scroll down until you find dllhost.exe.
5. Select each DLL host, and then click End task .
6. After the DLL hosts have been closed, restart Modern POS.
Additional resources
Peripheral simulator for Commerce
Peripheral simulator for Commerce
2/14/2020 • 28 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
The peripheral simulator is a utility that Microsoft provides as part of Microsoft Dynamics 365 Commerce and as a
standalone utility. The utility has two primary components, a virtual peripheral simulator and a point of sale (POS)
simulator.
The virtual peripheral simulator is provided primarily to support testing of scenarios that usually require physical
POS peripheral devices. The POS simulator is used to test the compatibility of physical peripheral devices without
having to deploy the POS client.
NOTE
You must turn off pop-up blockers before you can download the peripheral simulator.
3. After the download is completed, open the Downloads folder, and double-click Vir tualPeripherals.msi to
start the installer.
4. Install the peripheral simulator by using the default settings.
Besides the peripheral simulator, you must install the common control objects from Monroe Consulting Services.
Otherwise, the peripheral simulator won't work correctly. To download the common control objects, go to
http://monroecs.com/oposccos_current.htm.
NOTE
You must implement support for a physical PIN pad through the payment connector.
Signature capture – The virtual peripheral simulator includes a virtual signature capture device that you
can set up to prompt for signatures that are required for some tenders, such as customer account payments.
Payment terminal – A virtual payment terminal can be used in conjunction with a custom payment
connector to test application programming interface (API) calls from the POS to a virtual payment device. To
use the virtual payment terminal, you must implement a payment connector. For more information, see
<Implementing a payment connector and payment device (white paper)>.
You can also use the virtual peripheral simulator to simulate keyboard wedge events that originate from a bar code
scanner and MSR. The virtual peripheral simulator specifically supports Object Linking and Embedding for Retail
POS (OPOS) devices.
Key scenarios – Virtual peripheral simulator
Troubleshooting
You can use the peripheral simulator to troubleshoot device setup. If you don't have the peripheral simulator or a
second device of the same class, it can be difficult to determine where issues originate. However, when you have
the peripheral simulator, you can set up virtual devices, and run the same code paths and business logic that are
used for physical devices. From the perspective of the peripheral simulator, the main difference between virtual
devices and physical devices is the service object, or device driver. For physical devices, the service object is
provided by the device manufacturer. By contrast, for virtual devices, the service objects are provided as part of the
peripheral simulator. When the peripheral simulator is working correctly, if a device doesn't work correctly after the
device name in the hardware profile is changed to the name of a real device, you can assume that there's an issue
with the service object that the manufacturer provided.
Training
You can use the peripheral simulator to add a realistic layer to cashier training when a physical hardware setup isn't
available. When the peripheral simulator is included in training scenarios, the cashier can more effectively interact
with the POS by providing input such as product bar code scans and gift card swipes, and by observing which
receipts are printed for a specific transaction.
Testing
You can use the peripheral simulator to test product bar codes, receipt formats, and so on, without having to deploy
physical hardware in a virtual environment. Because physical hardware isn't required, and you don't have to deploy
a POS client on a hardware station or a physical computer, you can more quickly test changes that are made in the
back office.
Set up the virtual peripheral simulator
Set up a hardware profile
1. To set up the peripheral simulator, go to Retail and Commerce > Channel setup > POS setup > POS
profiles > Hardware profiles .
2. Click New to create a profile.
3. Enter values in the Profile number and Description fields.
4. Use the following table to set up the virtual devices that must be tested. Here is an explanation of the
columns in the table:
Device – This column gives the name of the FastTab where you set up the device.
Device type – This column gives the value that you select in the field that is labeled with the name of
the device.
Device name – This column gives the exact value that you enter for the device name.
IMPORTANT
The device names that are given here are required, because the hardware station uses these specific names to
address the devices. If you don't use the following specific names, the device won't be usable.
No specific setup in the hardware profile is required in order to simulate keyboard wedge events
from the bar code scanner and MSR.
1. Go to Retail and Commerce > Products and categories > Released products by categor y .
2. Open the product record.
3. Select the product to weigh.
4. On the Retail and Commerce FastTab, set the Scale product option from No to Yes .
Sy n c h r o n i z e c h a n g e s t o t h e c h a n n e l d a t a b a se
1. Go to Retail and Commerce > Retail and Commerce IT > Distribution schedule .
2. Select the 1040 distribution schedule.
3. Click Run now to synchronize changes to the POS.
After the data is synchronized, when a scale product is added to the POS transaction, the POS checks the scale for
the weight.
Signature capture
The virtual signature capture device prompts the user to provide a signature on the virtual signature capture pad
when the tender that is used requires a signature. The user can accept the signature to show it at the POS. The
cashier can then accept the signature. The signature is then saved together with the tender and is synchronized to
the back office together with other transaction data.
Se t u p a t e n d e r t o r e q u i r e a si g n a t u r e
1. Go to Retail and Commerce > Channels > Stores > All stores .
2. Select the store.
3. Click Edit .
4. Click Set up , and then, in the Set up section, click Payment methods .
5. Click Edit .
6. Select the payment method that requires a signature.
7. In the General section, under Signature Capture , set the Use signature capture device option to Yes .
8. In the Signature capture minimum amount field, enter the minimum amount that should trigger signature
capture.
Sy n c h r o n i z e c h a n g e s t o t h e c h a n n e l d a t a b a se
1. Go to Retail and Commerce > Retail and Commerce IT > Distribution schedule .
2. Select the 1070 distribution schedule.
3. Click Run now to synchronize changes to the POS.
After the data is synchronized, when a tender is used that requires a signature, and the amount meets the signature
threshold, the POS prompts for a signature on the virtual signature capture device.
Additional configuration
You can edit the peripheral simulator's configuration file to more appropriately address the scenarios that you're
testing. You can find the configuration file at C:\Program Files (x86)\Microsoft Dynamics
365\70\VirtualPeripherals\Microsoft.Dynamics.Commerce.VirtualPeripherals.Client.exe.config. The configuration
file defines the units that are available for testing on the scale, the card types that are available for testing, and bar
code types. For example, by modifying the text values in the configuration file, you can add a new card type or a
new unit of measure that can be selected at runtime. The new values will appear after the app is restarted.
Troubleshooting
Activities for the peripheral simulator are logged in the peripheral simulator. You can find the log at C:\Program
Files (x86)\Microsoft Dynamics
365\70\VirtualPeripherals\Microsoft.Dynamics.Commerce.VirtualPeripherals.Client.exe.config. The peripheral
simulator also reports issues to the Windows event log, which you can access at Application and Ser vices Logs
> Microsoft > DynamicsAX .
If changes that you made to the hardware profile or other areas aren't evident when you use MPOS or the
peripheral simulator, check the distribution scheduler jobs that you used to synchronize the data to the channel
database. If the changes were synchronized but still aren't evident at the POS, restart the POS client.
Changes to configured cash drawers aren't effective until a new shift is created. Therefore, if you make changes to
cash drawers, make sure that you always close the existing shift to test the new cash drawer setup.
Sometimes, if a manufacturer's driver is installed after the common control objects from Monroe Consulting
Services, the driver can cause the common control objects to stop working correctly. In this case, you should
reinstall the common control objects.
At install time, it's possible that certain assemblies related to the virtual peripheral simulator were registered
incorrectly. This issue is often associated with an 'OPOS_E_CLOSED' error when attempting to use a virtual device.
This can be corrected by running the Windows Assembly Registration tool. To register the assembly (called
Microsoft.Dynamics.Commerce.VirtualPeripherals.ServiceObjects.dll), open a command prompt as administrator
and run 'regasm /codebase "C:\Program Files (x86)\Microsoft Dynamics 365\70\Peripheral simulator for
Retail\Microsoft.Dynamics.Commerce.VirtualPeripherals.ServiceObjects.dll"'.
POS simulator
The POS simulator lets device manufacturers, independent software vendors (ISVs), and retailers test peripheral
devices without having to deploy the POS. By using the same business logic for peripherals as MPOS and the
standalone hardware station, the POS simulator can determine device driver compatibility with the POS as a
standalone utility. Therefore, device selection can occur independently of POS setup and deployment.
The POS simulator is also provided as a standalone utility that is independent of Commerce. As a standalone utility,
the POS simulator is primarily used to test peripheral device compatibility. Only devices that are tested by using the
POS simulator are acceptable for new deployments of the POS. Testing should be driven by the device
manufacturers themselves. Parts of the POS simulator overview are intended to explain how the POS simulator is
used for compatibility testing. Manufacturers that are interested in testing their devices for compatibility with the
POS or standalone hardware station should send an email to [email protected] to request information about
the program.
Using the POS simulator
1. Click Star t on your computer, type Peripheral simulator , and then select the app when it appears in the
search results.
2. Click Use vir tual peripherals . The supported devices will be listed as tabs on the left side of the window. To
view a specific device, click the tab for that device.
The POS simulator supports the following devices:
Line display
Cash drawer
MSR
PIN pad
Printer
Scale
Signature capture pad
Bar code scanner
Payment terminal
NOTE
A payment terminal requires that a payment connector be present. For more information, see Create an end-to-end
payment integration for a payment terminal.
Below the list of supported devices, there is a Settings tab. You can use the Settings tab to specify how the POS
simulator should communicate with the devices that are being tested. If Runtime is selected, the method that the
POS simulator uses to communicate with the device resembles the method that MPOS that has a built-in hardware
station communicates. If Win32 is selected, the POS simulator communicates directly with the device. This
communication method resembles the method that a standalone hardware station communicates.
On the Settings tab, you can also provide details about the user who is performing the tests. These details are
important for manufacturers that perform compatibility testing.
Configuring the POS simulator
For each supported device class, the POS simulator lets you set up multiple devices. For example, several printers
can be configured in the POS simulator. Then, on the Printer tab, the user can cycle through the configured devices
and test them as required.
The setup parameters that are available for a device depend on the type of device. To set up a new device, select the
class of device to test, and then click the plus sign (+ ) button. A menu of the available device parameters appears.
To edit a device that has already been created, use the left arrow (< ) and right arrow (> ) buttons to find the
appropriate device, and then click Edit .
Configure an OPOS device
1. Select OPOS as the device type.
2. Select the name of the device driver. This value is required. This list includes all the OPOS service objects that
are installed on the local machine where devices are being tested. You can also manually enter the device
driver name.
IMPORTANT
Before you can test OPOS devices by using the POS simulator, OPOS common control objects must be installed.
These objects are separate are separate from the service objects that the manufacturer provides.
NOTE
When you configure devices for testing, all fields are required, so that the POS simulator can confirm compatibility
with the POS.
4. When the device is configured to the level that is required for either casual testing or compatibility testing,
click Save device .
Configure a network device
The POS simulator can be used to test network devices. The following network devices are supported out of the
box:
Cash drawer : APG Atwood
Receipt printer : Star TSP650II
Payment terminal: Although a payment terminal can be configured as network devices, any testing of a
payment terminal requires a custom payment connector.
NOTE
No payment terminals are supported out of the box.
NOTE
The fields for the device driver name, model, and version can help identify the version of the device-specific
implementation that is being tested. Because devices tend to have their own communication protocol over IP, custom
implementations should be labeled with specific attributes.
3. When the device is configured to the level that is required for either casual testing or compatibility testing,
click Save device .
Windows devices
The POS simulator can also be used to test Windows printers. The setup parameters are the same as the
parameters for OPOS devices.
1. Select Printer as the device type.
2. Enter data in the rest of the required fields.
NOTE
When you configure devices for testing, all fields are required, so that the POS simulator can confirm compatibility
with the POS.
3. When the device is configured to the level that is required for either casual testing or compatibility testing,
click Save device .
Testing devices
Each device class has unique testing capabilities. In addition to device-specific tests, each device has a Self-test
function.
When you're testing a device for compatibility, set up the device, and then click the green arrow to begin the self-
test. For each device, a different set of tests is performed to determine the device's compatibility with the POS (in
Runtime mode) or the standalone hardware station (in Win32 mode). For some devices, the test requires user
interaction. For example, the self-test for a bar code scanner requires that a bar code be scanned. Therefore, the
self-test will instruct the user to scan a bar code.
Results from each self-test and each manual operation are shown in the Log section of the device test page. You
can clear the Log section, or you can export the results and save them to a file. For information about how the
exported log results can be used for official compatibility testing, see the "Instructions for device manufacturers"
section later in this topic.
To stop a self-test, click the red square. For example, you might have to stop a self-test if the device becomes non-
responsive. The red square can be used only when a self-test is in progress.
Device -specific settings to be aware of
This section lists settings that you might require some help to complete.
Line display > Settings tab
To view the values that are entered in a free text field, click Lock and claim to claim the device.
1. Click Display text , and view the text that was sent to the device.
2. Click Clear text to clear the text from the line display.
3. Click Release to release the line display, so that it can be used for other processes.
Line display > Advanced tab settings
Binar y conversion – Some line displays require that text be converted into binary format. To determine
whether this conversion is required, see the device’s documentation.
Character set – The code page for the characters that are sent to the device. For the identifiers of specific code
pages, see https://msdn.microsoft.com/library/windows/desktop/dd317756(v=vs.85).aspx.
MSR
Open and claim MSR – Prepare the POS simulator to receive data from the MSR.
Release and close MSR – Close the MSR device when testing is completed.
Card info – Data from the card that was scanned on the MSR device.
IMPORTANT
Actual credit cards should never be used for device testing. Even expired credit cards should not be used for testing.
PIN pad
Settings that appear on both tabs
Lock – Lock the PIN pad device so that it can be used only with the POS simulator.
Get entr y – Enable the POS simulator to receive PIN data.
Cancel operation – Cancel the request that was sent to the PIN pad.
Release – Release the PIN pad device.
Settings tab
Amount – The amount to send to the PIN pad device for customer acceptance.
Account number – Specify the account number, if it's required.
Encr ypted PIN – The encrypted PIN that is received from the device.
Additional security data – Specify the cryptography that is used for the encrypted PIN.
Advanced tab
Timeout – Specify the number of seconds to wait for a response from the device.
Exclusive – Require that the PIN pad device be claimed before it can be enabled.
Override – Override previous commands that were sent to device when the device isn't responding.
Scale
Timeout – The time-out interval. Product should be put on the scale before the weight is read. If the scale
doesn't respond within the specified interval, the request is canceled.
Signature capture
Settings tab
Form name – Some signature capture devices require a form name when the signature request is sent.
Signature (in HEX) – The hex value for the signature data that is received from the device.
Rendered signature – The image of the signature that is received from the device.
Advanced tab
Timeout – The time-out interval. If the signature capture device doesn't respond within the specified interval,
the request is canceled.
Exclusive – Require that the PIN pad device be claimed before it can be enabled.
Override – Override previous commands that were sent to device when the device isn't responding.
Lock – Lock the device and claim it for use by the POS simulator.
Get entr y – Request the signature from the device.
Cancel operation – Cancel the signature request.
Release – Release the device so that it can be used by other processes.
Bar code scanner
Open and claim scanner – Open and claim the scanner. The POS simulator can receive scan events after this
operation is completed successfully.
Release and close the scanner – Make the scanner available for other processes.
Scanned information – The data that was received from the bar code scanner.
Payment terminal
Settings that appear on ever y tab
Select an operation – Select a specific operation to perform on the device. Options include All , Pay by card ,
Refund by card , and Void payment .
Lock and claim – Prepare the device so that it can be used by the POS simulator.
Update line items – Send specified line item details to the device.
Authorize payment – Instruct the payment connector to request payment authorization.
Capture payment – Instruct the payment connector to capture the previous authorization.
Release – Release the device.
Settings tab
The Settings tab contains properties that are sent to the device when a payment authorization is requested.
Invoice number – Specify the invoice number that is generated at the POS.
Test mode – A value that indicates that a test transaction is being performed.
Payment connector – The name of the payment connector to use.
Debit cashback limit – The maximum amount of cash back that can be requested on the device when a debit
transaction is performed.
Locale – The locale that is used. Locales are defined in the configuration file for the POS simulator.
Maximum amount allowed – The maximum amount that can be processed for a given transaction.
Minimum amount allowed – The minimum amount that can be processed for a given transaction.
Signature capture minimum amount – The lowest amount that the customer is prompted to provide a
signature for.
Terminal ID – The terminal ID that is included in the transaction properties that the processor provided.
Lines tab
The Lines tab contains data that can be sent to the device when it's used as a line display.
Description – The product description for the transaction line to show on the device.
Discount – The discount amount that is applied to the transaction line.
Extended line with tax – The product line amount. This amount includes tax.
Line item ID – The product ID for the transaction line.
Quantity – The quantity for the transaction line.
Stock keeping unit – The unit of measure to show on the device.
Unit price – The selling price for the transaction line.
Universal product code – The bar code that was scanned for the transaction line.
Is voided – A value that indicates that the transaction line has been voided from the transaction.
Advanced tab
The Advanced tab contains subtotal information that can be shown on the device.
Discount amount – The total amount for discounts on the transaction.
Subtotal amount – The subtotal for the transaction. This amount doesn't include tax.
Tax amount – The tax amount for the transaction.
Total amount – The total amount that is due. This amount includes tax and discounts.
Currency – The currency that is used for the transaction.
Payment info tab
The Payment info tab contains data that is received from the payment connector after an authorization has been
processed.
Is approved – A value that indicates whether the authorization request is approved.
Card number masked – The masked card number that is provided by the device. Typically, only the last four
digits of the card number are shown.
Card type – The issue for the card that is used in the transaction.
Approved amount – The amount that is authorized for the card payment.
Payment SDK data – Additional data that the payment software development kit (SDK) can provide, such as
the authorization code and other data that the payment processor provides.
Signature data – Hexadecimal signature data that is provided by the device.
Payment errors – Any errors that occurred during the authorization request.
Eventually, the data that is included in the report (except personal contact information) will be listed on a device
compatibility website. It will also be listed in design and deployment tools that are used to manage customer
environments.
Successful logs should be sent to [email protected]. Include the manufacturer’s name and the device model in
the subject line.
For support if you're performing compatibility tests, and for other inquiries, send an email to [email protected].
Additional resources
Peripherals
Connect peripherals to the point of sale (POS)
2/13/2020 • 11 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
NOTE
For specific installation instructions, see Configure and install Retail hardware station and Configure, install, and activate
Modern POS (MPOS).
Key components
Several components are used to define the relationships among a store, the point-of-sale (POS) registers or
channels within the store, and the peripherals that those registers or channels use to process transactions. This
section describes each component and explains how it should be used in a store deployment.
POS registers
Navigation: Click Retail and Commerce > Channel setup > POS setup > Registers .
The POS register is an entity that is used to define the characteristics of a specific instance of the POS. These
characteristics include the hardware profile or setup for peripherals that will be used at the register, the store that
the register is mapped to, and the visual experience for the user who logs on to that register.
Devices
Navigation: Click Retail and Commerce > Channel setup > POS setup > Devices .
A device is an entity that represents a physical instance of a device that is mapped to a POS register. When a device
is created, it's mapped to a POS register. The device entity tracks information about when a POS register is
activated, the type of client that is being used, and the application package that has been deployed to a specific
device. Devices can be of two types: Retail modern POS (MPOS) or Retail Cloud POS (Cloud POS).
MPOS
MPOS is a POS client application that is installed on Windows 8.1 or a later PC-based operating system. If the
Retail modern POS application type is mapped to a device, the download package can be specified for a
particular device. The download package can be customized to include different versions of the installation
package. The ability to deploy different packages provides flexibility in cases where different POS registers might
need different integrations. MPOS is deployed together with a built-in hardware station.
Cloud POS
Cloud POS is a browser-based POS. Because it runs in the browser, Cloud POS doesn't require Windows 8.1 or a
later PC-based operating system. If the Retail Cloud POS application type is mapped to a specific device in
Headquarters, that device can be used through the browser with no need to download or install a package. Cloud
POS requires a hardware station to use hardware beyond keyboard wedge based bar code scanning.
Hardware profile
Navigation: Click Commerce > Channel setup > POS setup > POS profiles > Hardware profiles .
A hardware profile identifies the hardware that is connected to a POS register or a hardware station. The hardware
profile is also used to specify the payment processor parameters that should be used during communication with
the payment software development kit (SDK). (The payment SDK is deployed as part of the hardware station.)
Hardware station
Navigation: Click Retail and Commerce > Channels > Stores > All stores . Select a store, and then click the
Hardware stations FastTab.
A hardware station is an instance of business logic that drives POS peripherals. A hardware station is automatically
installed together with MPOS. Alternatively, the hardware station can be installed as a stand-alone component, and
then accessed by MPOS or Cloud POS through a web service. The hardware station must be defined at the channel
level.
Hardware station profile
Navigation: Click Commerce > Channel setup > POS setup > POS profiles > Hardware station profiles .
Whereas the hardware station itself is specified at the channel level includes instance-specific information, such as
the URL for the hardware station, the hardware station profile includes information that can be static or shared
across multiple hardware stations. The static information includes the port that should be used, the hardware
station package, and the hardware profile. The static information also includes a description of the type of hardware
station that is being deployed, such as Checkout or Returns , depending on the hardware that is required for each
specific hardware station.
Scenarios
MPOS with connected peripheral devices
To connect MPOS to POS peripherals in a traditional, fixed POS scenario, first navigate to the register itself, and
assign a hardware profile to it. You can find the POS registers at Retail and Commerce > Channel setup > POS
setup > Registers .
After you've assigned the hardware profile, sync changes to the channel database by using the Registers
distribution schedule. You can find the distribution schedules at Retail and Commerce > Retail and Commerce
IT > Distribution schedule .
Next, set up a "local" hardware station on the channel. Click Retail and Commerce > Channels > Stores > All
stores , and select a store.
Then, on the Hardware stations FastTab, click Add to add a hardware station. Enter a description, enter localhost
as the host name, and then sync the changes to the channel by using the Channel configuration distribution
schedule. You can find the distribution schedules at Retail and Commerce > Retail and Commerce IT >
Distribution schedule .
Finally, in MPOS, use the Select hardware station operation to select the localhost hardware station. Set the
hardware station to Active . The hardware profile that is used in this scenario should come from the POS register
itself. A hardware station profile isn't required for this scenario.
NOTE
Some hardware profile changes, such as changes to cash drawers, require that a new shift be opened after the changes have
been synced to the channel.
Cloud POS must use the stand-alone hardware station to communicate with peripherals.
In this scenario, a stand-alone hardware station is shared among MPOS and Cloud POS clients. This scenario
requires that you create a hardware station profile to specify the download package, port, and hardware profile that
the hardware station uses. You can find the hardware station profile at Retail and Commerce > Channel setup
> POS setup > POS profiles > Hardware station profiles .
After you've created the hardware station profile, navigate to the specific channel (Retail and Commerce >
Channels > Stores > All stores ), and add a new hardware station. Map this new hardware station to the
hardware station profile that was previously created.
Next, provide a description that will help the cashier identify the hardware station. In the Host name field, enter the
host machine URL in the following format: https://<MachineName:Port>/HardwareStation . (Replace
<MachineName:Por t> with the actual machine name of the hardware station and the port that is specified in the
hardware station profile.) For a stand-alone hardware station, you should also specify the electronic funds transfer
(EFT) terminal ID. This value identifies the EFT terminal that is connected to the hardware station when the payment
connector communicates with the payment provider.
Next, from the actual hardware station machine, navigate to the channel, and select the hardware station. Then click
Download , and install the hardware station.
Next, from MPOS or Cloud POS, use the Select hardware station operation to select the hardware station that
was previously installed. Select Pair to establish a secure relationship between the POS and the hardware station.
This step must be completed once for every combination of a POS and a hardware station.
After the hardware station is paired, the same operation is used to make the hardware station active while it's used.
For this scenario, the hardware profile should be assigned to the hardware station profile rather than the register
itself. If for some reason a hardware station does not have a hardware profile directly assigned, then the hardware
profile assigned to the register is used.
Client maintenance
Registers
POS registers are managed primarily through the registers themselves, and also through the profiles that are
assigned to registers. Attributes that are specific to an individual register are managed at the register level. These
attributes include the store where the register is used, the register number, the description, and the EFT terminal ID
that is specific to the register itself.
POS profiles
You can find the POS profiles at Retail and Commerce > Channel setup > POS setup > POS profiles . It's
useful to manage many aspects of a register through profiles, because the profiles can be shared among many
registers. Profiles can be mapped either to an individual register or, if a profile is effective on a store-wide basis, to
the store. The following sections describe the POS profiles and how they are used.
Offline profile
The offline profile is set at the store level. It's used to specify the upload settings for transactions that are performed
on a POS register while that register isn't connected to the channel database.
Functionality profile
The functionality profile is set at the store level. It's used to specify store-wide settings about the functions that can
be performed at the POS. The following capabilities are managed through the functionality profile. These
capabilities are arranged by FastTab.
General FastTab:
International Organization for Standardization (ISO).
Create a customer in offline mode.
Email receipt profile.
Central staff logon authentication.
Functions FastTab:
Management of logon and extended logon.
Financial and currency-related aspects of the POS, such as the ability to key in prices and whether
decimals are required for minor currency.
Enabling time registration through the POS.
How products and payments appear in the POS and on receipts.
End-of-day management.
Channel database transaction retention parameters.
How customers are looked up and created from the POS.
How discounts are calculated.
Amount FastTab:
Maximum and minimum prices that are allowed.
Discount application and calculation.
Info codes FastTab:
All aspects of how info codes are managed at the POS. For details, see Info codes and info code groups.
Receipt numbering FastTab:
Specify receipt numbering masks, which might include segments for the store number, terminal number,
constants, and whether sales, returns, sales orders, and quotations are printed in separate sequences, or
whether they all following the same sequence.
Receipt profiles
Receipts profiles are assigned to printers within the hardware profile. They are used to specify the receipt types that
are printed at a specific printer. The profiles include settings for the receipt formats, and settings that determine
whether the receipt is always printed, or whether the cashier is prompted to decide whether the receipt must be
printed. Different printers might also use different receipt profiles. For example, printer 1 is a standard thermal
receipt printer, and therefore has smaller receipt formats. However, printer 2 is a full-size receipt printer that is used
to print only customer order receipts, which require more space.
Hardware profiles
Hardware profiles are explained as a component for client setup earlier in this article. Hardware profiles are
assigned directly to the POS register or to a hardware station profile. They are used to specify the types of devices a
specific POS register or hardware station uses. Hardware profiles are also used to specify the EFT settings that are
used to communicate with the payment SDK.
Visual profiles
Visual profiles are assigned at the register level. They are used to specify the theme for a specific register. The
profiles include settings for the type of application that is used (MPOS or Cloud POS), the accent color and theme,
the font scheme, the logon background, and the POS background.
Custom fields
You can create custom fields to add fields that aren't provided out of the box to the POS. For more information
about how to use custom fields, see the Working with custom fields blog post.
Language text
You can override default strings in the POS by using language text entries. To override a string in the POS, add a
new language text line. Then specify an ID, the default string that should be overridden, and the text that should be
shown at the POS instead of the default string.
Hardware station profiles
Hardware station profiles are explained earlier in this article. They are used to assign non-instance-specific
information to hardware stations.
Channel reports configuration
You set up the reports that are available at the channel on the Channel repor ts configuration page. You can
create new reports by providing the XML definition of the report and assigning the report to a specific permission
group at the POS.
Devices
Devices are explained earlier in this article. They are used to manage the activation of a specific POS register.
Devices are also used to specify the application that is used for a specific register and the installation package that
should be used to install the MPOS client. Here are the device activation states:
Pending – The device is ready to be activated.
Activated – The device has been activated.
Deactivated – The device has been deactivated either in Headquarters or through the POS.
Disabled – The device has been disabled.
Additional activation-related information includes the worker who changed the activation status for the device, a
time stamp for the activation, and whether the device configuration has been validated.
Client data synchronization
All changes to a POS client, except changes in the device activation status, must be synced to the channel database
to take effect. To sync changes to the channel database, navigate to Retail and Commerce > Retail and
Commerce IT > Distribution schedule , and run the required distribution schedule. For client changes, you
should run the Registers and Channel configuration distribution schedules.
Health check for POS peripherals and services
4/16/2020 • 4 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic describes the health check operation in the point of sale (POS).
Overview
Retail stores can be complex environments where many applications and devices are used. As operations grow, it
can become difficult to ensure that operations always run smoothly, because of dependencies on, for example,
peripherals that can break or accidentally become unplugged over the course of a day. Troubleshooting for issues
that are related to devices and services can be costly for larger merchants and equally frustrating for smaller
operations.
Microsoft Dynamics 365 Commerce versions 10.0.10 and later include a health check operation that can help
prevent some of this cost and frustration. This operation provides a method for testing devices directly from the
POS outside of normal operations. Therefore, it can help retailers detect issues before they occur.
Key terms
T ERM DESC RIP T IO N
Payment terminal Payments SDK This check tests basic payment terminal
functions provided by the Payments
SDK.
Lock
BeginTransaction
EndTransaction
ReleaseDevice
Close
Related articles
Modern POS (MPOS) and Cloud POS trigger extensibility
Demo data screen layouts in Modern POS (MPOS)
and Cloud POS
2/1/2020 • 5 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic provides information about the screen layouts that are included with the demo data set for the point of
sale (POS) experiences in Dynamics 365 Commerce.
Overview
The sample screen layouts that are included with Commerce demo data provide content that is optimized for
various retail segments, store worker roles, and devices. A single layout can contain several layout sizes and
combinations of button grids, to help ensure coverage as store workers move between devices and stations. This
topic highlights the differences between these layouts, the operations that they provide, and the overall experiences
that they deliver.
A Adventure Works
F Fabrikam
C Contoso
Layout version
VERSIO N N UM B ER DESC RIP T IO N
3.1 The base version that has additional support for the
Recommended products panel
Persona
A B B REVIAT IO N P ERSO N A C O N T EN T S
A B B REVIAT IO N P ERSO N A C O N T EN T S
Example layout
Here is an example of a screen layout ID for the Fabrikam company, layout version 3, and the Store Manager
persona:
F3MGR
The following illustration shows an example of the Welcome screen for a Fabrikam store manager.
Layout sizes
Full vs. compact layouts
A screen layout can have configurations for both full devices and compact devices. Therefore, a user can be
assigned to a single screen layout that will work across various sizes and form factors in the store.
Modern POS - Full – Typically, full layouts are best used for larger displays, such as desktop computer
monitors or tablets. Users can select the UI elements that the layout includes, specify the size and placement of
those elements, and configure their detailed properties. Full layouts support both portrait and landscape
configurations.
Modern POS - Compact – Typically, compact layouts are best used for phones or small tablets. Design
possibilities are limited for compact devices. Users can configure the columns and fields for the receipt pane and
the totals pane.
Screen resolutions that are provided
The following table shows the layout sizes that are provided for typical screen resolutions.
* These additional layout sizes are available only in Adventure Works and Fabrikam layouts.
TIP
POS automatically selects layout sizes, based on the closest size that is available for the screen resolution of the current app
window. To find the screen layout ID and layout resolution that are currently used, in Modern POS (MPOS) or Retail Cloud
POS (CPOS), open the Settings page, and look in the Session information section. You can also see the actual window
resolution for your current application or browser frame. After you have this information, you can find the source of the
layout content by going to Channel setup > POS setup > POS > Screen layouts .
NOTE
Adventure Works and Fabrikam are the two flagship brands. Contoso is available, but not all layouts have been provided.
The following illustrations show examples of the welcome page and transaction page for the three fictitious
companies.
Adventure Works
Fabrikam
Contoso
User sign in matrix
Users have been provided for the various screen layouts. By using the following table, you should be able to access
any of the screens. Just sign in by using an appropriate operator ID.
TIP
For best results, activate a register in the corresponding store location, and set the company to the company of the persona
that you plan to use when you sign in. In this way, you help guarantee that the visual profile and branding images are aligned
across the experience. For example, if you're interested in seeing a Fabrikam layout for a cashier, you should activate a register
in the Houston store.
POS user interface visual configurations
4/15/2020 • 12 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
IMPORTANT
Functionality noted in this topic is available as part of a preview release. The content and the functionality are subject to
change. For more information about preview releases, see One version service updates FAQ.
The user interface (UI) of the Microsoft Dynamics 365 Commerce point of sale (POS) can be configured by using a
combination of visual profiles and screen layouts that are assigned to stores, registers, and users. This topic
provides information about those configuration options.
The following illustration shows the relationships among the various entities that make up the configurable aspects
of the POS UI.
Visual profile
Visual profiles are assigned to registers, and they specify the visual elements that are register-specific and shared
across users. Every user who signs in to the register sees the same theme, layout, colors, and images.
Profile number – The profile number is the unique identifier of the visual profile.
Description – You can specify a meaningful name that will help identify the correct profile for your situation.
Theme – You can select between the Light and Dark application themes. The theme affects the font and
background colors throughout the application.
Accent color – The accent color is used throughout the POS to differentiate or highlight specific visual
elements, such as tiles, command buttons, and hyperlinks. Typically, these elements are actionable.
Header color – You can configure the color of the page header to meet the retailer's branding requirements.
Font scheme – You can select between the Standard and Large font schemes. The font scheme affects the font
size throughout the application. The default selection is Standard .
Always show application bar labels – When this option is turned on, the label text is always visible under the
application bar buttons.
Layout – You can select between the Centered and Right layouts. The layout affects the alignment of the sign-
in box on the sign-in screen. The default selection is Centered .
Show date/time – When this option is turned on, the current date and time are shown in the POS header and
on the sign-in screen.
Keyboard – You can select between Default to OS keyboard and Show number pad to specify the default
keyboard that is used for input on the sign-in screen. The number pad is a virtual keyboard that is used primarily
for touch-based devices. The default selection is Default to OS keyboard .
Logo image – You can specify a logo image that is shown on the sign-in screen. We recommend that you use
an image that has a transparent background. The file size should be kept as small as possible, because
application behavior and performance can be affected when large files are stored and loaded.
Login background – You can specify a background image for the sign-in screen. The file size of background
images should be kept as small as possible.
Background – You can specify a background image that is used instead of the solid theme color throughout the
application. As for background images for the sign-in screen, the file size should be kept as small as possible.
NOTE
The Right layout and date/time display don't apply to the sign-in screen in compact view.
Screen layouts
Screen layout configurations determine the actions, content, and placement of UI controls on the POS Welcome
screen and Transaction screen.
Welcome screen – In most cases, the welcome screen is the page that users see when they first sign in to
the POS. The welcome screen can consist of a branding image and button grids that provide access to POS
operations. Typically, operations that aren't specific to the current transaction are put on this screen.
Transaction screen – The Transaction screen is the main screen in the POS for processing sales
transactions and orders. The content and layout are configured by using the screen layout designer.
Default star t screen – Some retailers prefer that cashiers go directly to the Transaction screen after sign-
in. The Default star t screen setting lets you specify the default screen that appears after sign-in for each
screen layout.
Assignment
Screen layouts can be assigned at the store, register, or user level. The user assignment overrides the register and
store assignments, and the register assignment overrides the store assignment. In a simple scenario where all users
use the same layout, regardless of register or role, the screen layout can be set only at the store level. In scenarios
where specific registers or users require specialized layouts, those layouts can be assigned.
Layout sizes
Most aspects of the POS UI are responsive, and the layout is automatically resized and adjusted based on the screen
size and orientation. However, the POS Transaction screen must be configured for every screen resolution that is
expected.
At startup, the POS application automatically selects the closest layout size that is configured for the device. A
screen layout can also contain configurations for both landscape and portrait modes, and for both full-size and
compact devices. Therefore, users can be assigned to a single screen layout that works across various sizes and
form factors that are used in the store.
Name – You can enter a meaningful name to identify the screen size.
Layout type – The POS application can show its UI in various modes to provide the best user experience on
a given device.
Modern POS – Full – Full layouts are typically best for larger displays, such as desktop monitors and
tablets. You can select the UI elements to include, specify the size and placement of those elements, and
configure their detailed properties. Full layouts support both portrait and landscape configurations.
Modern POS – Compact – Compact layouts are typically best for phones and small tablets. The design
possibilities for compact devices are limited. You can configure the columns and fields for the receipt and
totals panels.
Width/Height – These values represent the effective screen size, in pixels, that is expected for the layout.
Remember that some operating systems use scaling for high-resolution displays.
TIP
You can learn the layout size that is required for a POS screen by viewing the resolution in the app. Start the POS, and go to
Settings > Session information . POS shows the screen layout that is currently loaded, the layout size, and the resolution
of the app window.
Button grids
For each layout size in a screen layout, you can configure and assign button grids for the POS welcome screen and
Transaction screen. Button grids for the welcome screen are automatically laid out from left to right, from the
lowest number (Welcome screen 1) to the highest number.
In Full POS layouts, the placement of button grids is specified in the screen layout designer.
In Compact POS layouts, the button grids are automatically laid out from top to bottom, from the lowest number
(Transaction screen 1) to the highest number. They can be accessed on the Actions menu.
Images
For each layout size in a screen layout, you can specify images to include in the POS UI. For Full POS layouts, a
single image can be specified for the welcome screen. This image appears as the first UI element on the left. On the
Transaction screen, images can be used as tab images or as a logo. Compact POS layouts don't use these images.
Screen layout designer
The screen layout designer lets you configure various aspects of the POS Transaction screen for each layout size,
in both portrait and landscape modes, and for both Full and Compact layouts. The screen layout designer uses the
ClickOnce deployment technology to download, install, and start the latest version of the application every time
that users access it. Be sure to check the browser requirements for ClickOnce. Some browsers, such as Google
Chrome, require extensions.
IMPORTANT
You must configure a screen layout for each layout size that is defined and that is used by the POS.
Impor t layout/Expor t layout – You can export and import POS screen layout designs as XML files, so that
you can easily reuse and share them across environments. It's important that you import layout designs for
the correct layout sizes. Otherwise, UI elements might not fit correctly on the screen.
Landscape/Por trait – If the POS device lets users switch between landscape and portrait modes, you must
define a screen layout for each mode. The POS automatically detects screen rotation and shows the correct
layout.
Layout grid – The POS layout designer uses a 4-pixel grid. UI controls "snap" to the grid to help you
correctly align the content.
Designer zoom – You can zoom the designer view in and out to better view the content on the POS screen.
This feature is useful when the screen resolution on the POS differs greatly from the resolution of the screen
that is used in the designer.
Show/hide navigation bar – For Full POS layouts, you can select whether the left navigation bar is visible
on the Transaction screen. This feature is helpful for displays that have a lower resolution. To set the
visibility, right-click the navigation bar in the designer, and select or clear the Always visible check box. If
the navigation bar is hidden, POS users can still access it by using the menu in the upper left.
POS controls – The POS layout designer supports the following controls. You can configure many controls
by right-clicking and using the shortcut menu.
Number pad – The number pad is the main mechanism for user input on the POS Transaction screen.
You can configure the control so that the full number pad is shown. This option is ideal for touchscreen
devices. Alternatively, you can configure it so that only the input field is shown. In this case, a physical
keyboard is used for input. The number pad settings are available only for Full layouts. For Compact
layouts, the full number pad is always shown on the Transaction screen.
Totals panel – You can configure the totals panel in either one column or two columns, to show values
such as the line count, discount amount, charges, subtotal, and tax. Compact layouts support only a single
column.
Receipt panel – The receipt panel contains the sales lines, payment lines, and delivery information for
the products and services that are processed in the POS. You can specify columns, widths, and placement.
In Compact layouts, you can also configure additional information that appears in the row under the main
line.
Customer card – The customer card shows information about the customer who is associated with the
current transaction. You can configure the customer card to hide or show additional information.
Tab control – You can add the tab control to a screen layout, and then put other controls, such as the
number pad, customer card, or button grids, in it. The tab control is a container that helps you fit more
content on the screen. The tab control is available only for Full layouts.
Image – You can use the image control to show the store's logo or another branding image on the
Transaction screen. The image control is available only for Full layouts.
Recommended products – If the recommended products control is configured for the environment, it
shows product suggestions, based on machine learning.
Custom control – The custom control acts as a placeholder in the screen layout and lets you reserve
space for custom content. The custom control is available only for Full layouts.
Compact layout designer
Like the Full layout designer, the Compact layout designer lets you configure the POS screen layout for phones and
small tablets. However, in this case, the layout itself is fixed. You can configure the controls in the layout by right-
clicking and using the shortcut menu. However, you can't use drag-and-drop operations for additional content.
IMPORTANT
The contents of the button grid can overlap. When you arrange buttons, make sure that they don't hide other
buttons.
New design – Click to automatically set up a button grid layout by specifying the number of buttons per
row and column.
Button proper ties – You can configure button properties by right-clicking the button and using the
shortcut menu.
IMPORTANT
Some button grid settings apply only to Enterprise POS, not to Modern POS or Cloud POS.
Action – In the list of applicable POS operations, select the operation that is invoked when the button
is clicked in the POS.
For the list of supported POS operations, see Online and offline point of sale (POS) operations.
Action parameters – Some POS operations use additional parameters when they are invoked. For
example, for the Add product operation, users can specify the product to add.
Button text – Specify the text that appears on the button in the POS.
Hide button text – Use this check box to hide or show the button text. Button text is often hidden for
small buttons that show only an icon.
Tooltip – Specify additional Help text that appears when users mouse over the button.
Size in columns/Size in rows – You can specify how tall and wide the button is.
Custom font – When you select the Enable custom font for POS check box, you can specify a font
other than the default system font for the POS.
Custom theme – By default, POS buttons use the accent color from the visual profile. When you
select the Use custom theme check box, you can specify additional colors.
NOTE
Modern POS and Cloud POS use only the Back color and Font color values.
Button image – Buttons can include images or icons. Select among the available images that are
specified at Retail and Commerce > Channel setup > POS setup > POS > Images .
Additional resources
Install the Retail point of sale (POS) layout designer
Install the POS layout designer
2/1/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
You can use the one-click designer to design different Modern POS (MPOS) and Cloud POS layouts, in either
Landscape mode or Portrait mode, for stores, registers, cashiers, and managers.
The graphical design interface for MPOS or Cloud POS is controlled by the till layout. A layout controls the position
of various objects. Examples include the total layout, the item grid layout, the customer layout, the payment layout,
and the layout of various menu buttons. Layouts also include the overall appearance of the sales interface that is
presented to workers.
Additional resources
Configure, install, and activate Retail Modern POS (MPOS)
Show order notifications in the point of sale (POS)
2/1/2020 • 5 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
In the modern retail environment, store associates are assigned various tasks, such as helping customers, entering
transactions, doing stock counts, and receiving orders in the store. The point of sale (POS) client provides a single
application where associates can perform all these tasks and many others. Because various tasks must be
performed during the day, associates might have to be notified when something requires their attention. The
notification framework in the POS helps by letting retailers configure role-based notifications. As of Dynamics 365
for Retail with application update 5, these notifications can be configured only for POS operations.
Currently, the system can show notifications only for order fulfillment operations. However, because the framework
is designed to be extensible, developers will eventually be able to write a notification handler for any operation and
show the notifications for that operation in the POS.
NOTE
Notifications can be overridden at the user level. Open the worker's record, select POS permissions , and then edit
the user's notification subscription.
4. Go to Retail and Commerce > Channel setup > POS setup > POS profiles > Functionality profiles .
In the Notification inter val field, specify how often notifications should be pulled. For some notifications,
the POS must make real-time calls to the back-office application. These calls consume the compute capacity
of your back-office application. Therefore, when you set the notification interval, you should consider both
your business requirements and the impact of real-time calls to the back-office application. A value of 0
(zero) turns off notifications.
5. Go to Retail and Commerce > Retail and Commerce IT > Distribution schedule . Select the 1060
(Staff ) schedule to synchronize notification subscription settings, and then select Run now . Next, select the
1070 (Channel configuration ) schedule to synchronize the permission interval, and then select Run now .
NOTE
The live content can be enabled for operations only if the Enable notifications check box has been selected for them on the
POS operations page, as described earlier in this topic.
The following illustration shows the live content settings in the button grid designer.
To show the notification count on a button, you need to ensure that the correct screen layout is being updated. To
determine the screen layout that is being used by the POS, select the Settings icon in upper-right corner and note
the Screen layout ID and Layout resolution . Now using Edge browser, go to the Screen layout page, find the
Screen layout ID and Layout resolution identified above and select the Enable live content check box. Go to
Retail and Commerce > Retail and Commerce IT > Distribution schedule and run the 1090 (Registers) job
to synchronize layout changes.
The following illustration shows the effect of selecting Top right versus Center in the Content alignment field
for buttons of various sizes.
Point of sale (POS) application and user language
settings
2/1/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic describes how to change language settings in Modern POS (MPOS) and Cloud POS.
Overview
Modern POS (MPOS) and Cloud POS support environments where language settings and translations can vary
between the store and user settings. For example, the store could be located in a region where English is most
common for their customers, but some workers prefer to use the application with French translations.
Data language
Regardless of the user's settings, MPOS and Cloud POS will always use the store's language settings to determine
the translations used for data. This will ensure that all users and customers will have a consistent experience.
Examples of data include:
Products
Attributes and values
Category names
Printed or emailed transaction receipts
Payment method names
Line display messages
The store's language will also be used for the main POS login screen, since the user is not known before logging in.
If a translation is not available for the store's language, the POS will revert to the company's language.
Configuring the store's language setting
The store's language setting is set from All stores on the Store page under General > Regional Settings >
Language . Use the drop-down list to choose the language for each store.
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This article explains the steps that are involved in setting up and managing images for the various entities that
appear in Modern POS (MPOS).
IMPORTANT
In the current version of Commerce, you can no longer set up the URL format by using the Image attribute XML for MPOS
in the Default attribute group for entities. If you're familiar with Microsoft Dynamics AX 2012 R3 and are now using the
current version of Commerce, make sure that you always use the new Define media template functionality to set up
images. Don't use or modify the Image attribute in the Default attribute group for any entities, including products. Changes
that you make directly in the Default attribute group for images won't be reflected. This option will be disabled in a future
release.
In the following procedures, images are set up for the Catalog entity as an example. These procedures will help
guarantee that the correct image destination path is set implicitly for all catalog images that use a common path.
For example, if you've set up a media server or CDN externally, and want the images to appear in MPOS for a given
store, the Define media template functionality helps you the set the path where MPOS can look up and retrieve
the images.
NOTE
For this demo data example, the media server is deployed on the Commerce Scale Unit. However, you can have it anywhere
outside Commerce.
NOTE
The current version of Commerce supports the {LanguageId} token for Catalog, Product, and Category entities. (The
{LanguageID} token isn't supported for Customer and Worker entities, according to the existing standard that has
been effective since Microsoft Dynamics AX 6.x.)
4. For images, the file name format is hard-coded to the catalog name and can't be changed. Therefore, rename
your images so that they have appropriate catalog names, to help guarantee that MPOS handles them
correctly.
5. In the File Extension field, select the expected file name extension, depending on the type of images that
you have. For example, for the demo data, the catalog images are set to the .jpg extension. (The image files
are also renamed so that they have catalog names.)
6. Click OK .
7. To validate that the media template for images has been saved correctly, on the Catalog images page, click
Define media template again. To validate the template without closing the Define media template
dialog box, you can use the Generate Image URLs for Excel FastTab. Check the appearance of the image
URL, and verify that the URL complies with the template standard that was mentioned earlier. The Define
media template dialog box has now set the image path implicitly for all catalog images that use this
common URL path. This URL path applies to all catalog images unless they are overwritten. The first part of
the image path is taken from the media base URL that you defined in the channel profile. The remaining part
of the path is taken from the path that you defined in the media template. The two parts are concatenated to
provide the full URL of the image location. For example, a catalog in the demo data is named Fabrikam Base
Catalog. Therefore, the image name must be Fabrikam Base Catalog.jpg so that it uses the catalog name and
the .jpg file name extension that is configured in the template. In this case, after concatenation, the URL will
be
https://testax3ret.cloud.test.dynamics.com/RetailServer/MediaServer/Catalogs/en-US/Fabrikam Base
Catalog.jpg
.
8. Run the synchronization jobs to push the new template to the channel database, so that MPOS can use the
template to access the images.
9. To update the media template for catalog images on the channel side, be sure to run Catalog Job 1150
from Retail and Commerce IT > Distribution schedule .
NOTE
You can use the same procedure for all the five entities that are supported: Worker, Customer, Catalog, Category, and
Products. "Catalog Products" (products that are set at the catalog level) and "Channel Products" (products that are set at the
channel level) use the media template that is set for the Products entity. For the Products media template, you can select the
number of product images to show per product. You can also set the default image for a given product. In this way, you can
prevent blank images in MPOS and help to control which image is used as the default image for a product item. In the
following example, each product has five images, and the first image is set as the default image. Variant products are treated
the same way as master products. The file name of the image file should be based on the product number. Some characters
are also escaped while the file name is generated. Therefore, it's a good to verify the file name by using the Generate Image
URLs for Excel section. See the Overwrite by using Edit in Excel section later in this article.
IMPORTANT
Whenever the media template is changed, you must click Generate before you can use the Edit in Excel functionality.
You now see a preview of the image URLs that were generated based on the last saved media template.
NOTE
The URLs that are generated for Excel use the path and conventions of the media template that is defined. These
conventions include the conventions for file names. The expectation is that you've set up the physical images outside
Commerce, and the images can be retrieved from the URLs that are derived from the media template that you
defined earlier. You can overwrite these derived URLs by using the Edit in Excel functionality.
9. After you sign in, you should be able to see the list of image URLs for the various catalog entries.
10. You edit, add, and remove the image URLs for various entity items.
11. For all entities except Products, you can overwrite the image URLs. Modify the existing image URL, so that it
uses the new destination URL of the image, and update the file name with the new file name for the image
file. The file name must be unique to help guarantee that the record is unique.
NOTE
When you overwrite image URLs for Products entities by using the Edit in Excel functionality or the entity item page,
MPOS always shows all the media template image URLs together with the overwritten image URLs.
12. After you've finished making your changes, click Publish in Excel to create a new explicit association entry.
13. Return to HQ, and click OK .
14. Run the appropriate synchronization jobs for the entity, and check the preview on the entity page or in
MPOS.
Creating new records
You can create new records in Excel. However, make sure that you provide the correct information. For example, to
create a new entry for a catalog, make sure that the catalog ID and catalog name are correct, and also provide a
unique file name. The unique file name is very important, because the uniqueness of records in Excel is validated
during publishing. First copy the details from the catalog that you want to create a new record for, and copy the
record. You just have to update the file name and URL, because the rest of the information will be same. To create
new records for Product entity items, you use the same basic procedure. From the Excel worksheet, copy an existing
record for the product that you to create a new record for, and then replace the image URL and filename. Make sure
that the file name is unique.
Deleting an existing record
Only the overwritten image URL records can be deleted. After an image is deleted and synchronization is
completed, the image will no longer appear on the Preview page or in MPOS. Image URL records that are derived
from the media template can't be deleted, because these records are always derived from the media template every
time.
Overwrite from the entity-level Preview page
For all entities except Products, you can overwrite the image URL for a given entity item at the entity item level from
the Preview page. For Products, you can use the "Catalog Products" entity page. This example shows how to
overwrite a catalog image.
1. Click Catalogs > Media > Images , and select the catalog image to update.
2. Click Add , and enter the image URL to overwrite the media template URL.
3. If you want this image to be shown in MPOS for the catalog, you can set it as the default image.
4. Click OK . The image URL is updated for this catalog image, and a preview is shown.
5. You can also see the image preview for all overwritten image URLs on the Catalog images gallery page.
NOTE
Currently, the gallery doesn't show image previews for media template image URLs. For Catalog, Worker, Customer, and
Category entities, if the user explicitly provides a URL through this page, we recommend that you indicate which image is the
default image, because Commerce Scale Unit clients show only one image per Catalog, Customer, Worker, and Category. If
the user doesn't specify a default image, the system determines the default image and send it to the Commerce service caller
(MPOS or Ecommerce).
Overwrite the image URL for catalog product images from the Preview page
To overwrite image URLs for catalog product images, you must use the Preview page. You can't use the Edit in
Excel functionality.
1. To overwrite product images at a catalog level, select a catalog, and then select the product to overwrite the
image for.
2. Click Attributes .
3. On the next page, select Image , and then click Edit . The Preview page opens as a slider dialog box.
4. Click Add , and overwrite the image URL with a new URL.
5. Click OK . You now see the preview of the new image and can set it as the default image.
NOTE
After category image association, you must publish the channel and run the Channel job to help guarantee that the changes
are published to the channel database.
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic is intended for people who implement functionality related to point of sale (POS) client image
management in a retail environment. It provides tips and guidance to consider when planning an implementation.
This guidance applies to both Cloud POS and Modern POS, and provides some general information about image
file size handling and types of images that can be used to enrich the user experience with the store and support
customer-focused scenarios like up-selling, cross-selling, and clientelling. Welcome screen images, category
images, and product images are examples of types of images that you can use.
Implementation considerations
File size - In order to maintain responsiveness of the POS client user interface (UI) and performance while
loading different kinds of images, we recommend that you prepare your images to be an appropriate file size
respective to the purpose of use. For example, product and category images in the Contoso demo data are
sized at 500 x 500 or 580 x 580 pixels.
Image size - The screens and displays of the POS devices will pre-determine reasonable image sizes (length
and width). You should size the image as close to your intended screen size as possible. For an example, see
the "Implementation example" section below.
Resolution - An important parameter to consider is the dots per inch (dpi), or for screen resolution, pixel
per inch (ppi). Because POS client images will not be printed, the common dpi setting for rendering images
on the web is a good guideline (72 to 150 dpi). Contoso demo image files are typically rendered to 96 dpi.
For high resolution devices, you should take operating system (OS) scaling into account and use the effective
resolution, rather than the actual pixels.
File types – You can use *.png or *.jpg image file types. In most cases, *.jpg are smaller in size.
Implementation example
To create a welcome screen image that covers two-thirds of the canvas on a common 18.5 inch POS display with a
1366 x 768 pixel resolution and a screen layout similar to Contoso demo data, choose an image with resolution that
is not much higher than the length and width of the screen. In this example, 911 x 512 pixel resolution is sufficient.
Selecting a relatively high resolution for length and width but keeping a low dpi setting will still result in reasonably
small file sizes.
Customer orders in Modern POS (MPOS)
2/1/2020 • 4 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic provides information about customer orders in Modern POS (MPOS). Customer orders are also known as
special orders. The topic includes a discussion of related parameters and transaction flows.
In an omni-channel commerce world, many retailers provide the option of customer orders, or special orders, to
meet various product and fulfillment requirements. Here are some typical scenarios:
A customer wants products to be delivered to a specific address on a specific date.
A customer wants to pick up products from a store or location that differs from the store or location where the
customer purchased those products.
A customer wants someone else to pick up products that the customer purchased.
Retailers also use customer orders to minimize lost sales that stock outages might otherwise cause, because the
merchandise can be delivered or picked up at a different time or place.
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
A hybrid customer order is a single order, which contains products that can be carried out of the store by the
customer, as well as products that will be picked up or shipped later.
In Commerce, you can select either carry out all products or carry out selected products for a customer order. The
product lines that are marked as carry out are automatically invoiced after the order is created, similarly this is the
same for an order that is to be picked-up after the order is created. The amount due on hybrid orders is determined
by adding the deposit percentage on pick and ship product lines with the full amount of the carry out lines. For
hybrid orders, the system switches between customer order mode and cash and carry mode as follows:
If all products in the cart are set to Carr y out deliver y , the order will be handled as a Cash and Carry
transaction.
If any or all lines in the cart are set to either Pick or ship deliver y , the order will be handled as a Customer
order transaction.
If a cart line is selected and Pick selected , Ship selected , or Carr y out selected is selected, only the specific cart
line is set with that delivery method. In that case, the downstream flow of the operation continues as usual.
However, if Pick selected , Ship selected , or Carr y out selected is selected without a cart line being selected, a
new page opens that lists all the cart lines. On that screen, you can select multiple lines at once for setting the
delivery method. When you use that method for selecting lines, any previous delivery method that has been
assigned to the line will be overridden.
Additional resources
Customer orders in Modern POS (MPOS)
Track commissions in the point of sale (POS) by using
sales groups
2/1/2020 • 4 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
It's a common retail practice to track sales by the associate who worked with the customer by—providing
assistance, up-selling, cross-selling, and processing the transaction.
Tracking sales by sales representative is a measure of the associates selling abilities, while sales by cashier is a
measure of speed and efficiency. Sales tracked by sales representative are also often used to calculate commissions
or other incentives.
P RO F IL E DESC RIP T IO N
Default to cashier when available If this option is enabled, POS will automatically populate
transaction lines with the current cashier's default sales group.
If a cashier doesn't have a default sales group specified, the
value won't be set. A user could still manually set the sales
group by using a POS button grid button.
P RO F IL E DESC RIP T IO N
Prompt for sales representative This option has three possible values:
No – If this option is selected, the user won't be
prompted to select a sales group. The value could still
be set by using a cashier's default Sales group or
manually by using a POS button grid button.
Star t of transaction – If this option is selected, and
either the Default to cashier option isn't enabled or
the current cashier doesn't have a default sales group,
the user will be prompted to select a sales group at the
beginning of each transaction. Selecting a sales group
from this prompt will default all subsequent lines to the
selected sales group. A user could still manually set the
sales group by using a POS button grid button.
For each line – If this option is selected, and either
the Default to cashier option isn't enabled or the
current cashier doesn't have a default sales group, the
user will be prompted to select a sales group after
adding each line. A user could still manually set the
Sales group by using a POS button grid button.
Set sales representative on line This POS operation displays a list of eligible Sales groups (ID :
Name) for the store. Selecting a Sales group from this list will
set the value on the current transaction line.
Clear sales representative on line This POS operation removes the current Sales group value
from the current transaction line.
O P ERAT IO N DESC RIP T IO N
Set sales representative on transaction This POS operation displays a list of eligible Sales groups (ID :
Name) for the store. Selecting a Sales group from this list will
set the default value on the current transaction. Any existing
lines without a sales group assigned will be set, as well as any
subsequently added lines.
Clear sales representative on transaction This POS operation removes the current default Sales group
value from the current transaction. It does not impact any
lines already existing in the transaction.
Calculating commissions
Commission is calculated for the workers in the specified sales groups at the time of statement posting or sales
order posting. The commission amount is determined based on the worker's commission share, as defined in the
sales group and the associated commission calculation settings for the customer and/or products on the
transaction.
Configure, install, and activate Modern POS (MPOS)
3/19/2020 • 19 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-
Commerce, in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic describes how to configure, download, and install Modern POS on various platforms. It then describes
how to activate Modern POS through device activation.
Technology
The self-service process lets you download the appropriate version of the Modern POS installer and install it on
the physical device that you want to use as the point of sale (POS) register. Device activation is the main
onboarding step that ties the physical device to a register in Headquarters. Here are the main technical functions
of this feature:
Tie a physical device to a business entity (register).
Provide enhanced security through Microsoft Azure Active Directory (Azure AD) and a device token/ID.
Stop unauthorized remote use of Modern POS. (In other words, deactivate a device remotely.)
Initialize settings for easy Modern POS functioning (number sequence, hardware profile, merchant
information) as the first touchpoint of the POS.
Comply with payment card industry (PCI) standards, and report on device information from Headquarters.
NOTE
If you are installing Modern POS for use with an on-premises environment, Modern POS does not use Azure Active
Directory credentials for device activation.
Setup
Before you start the steps that are outlined in this topic, follow these steps.
Verify that you have credentials to sign in to Headquarters.
Verify that you have administrative or root access to install Modern POS on a device.
Verify that you can access the Commerce Scale Unit from the device.
Verify that the environment contains the Commerce permission groups and jobs in the Human resources
module. These permission groups and jobs should have been installed as part of the demo data.
4. Select a register by selecting the register number in the Register number column.
NOTE
In the Houston store, register Houston-3 is well defined and is therefore useful as an example.
5. On the page for the register, under General , verify that the Suppor t offline option is set to No .
NOTE
To use offline support, on the Action Pane, select Edit , and then set Suppor t offline option to Yes .
NOTE
The Houston devices are well defined. Houston-3 is useful as an example for a Microsoft Windows desktop or
tablet. Houston-21 is useful as an example for a Windows Phone.
When you select a device, the Download button on the Action Pane becomes available.
NOTE
Browsers might block the download pop-up that is generated. You must select either Allow once or Options
for this site > Always allow . Then, while the device is still selected, select Download again.
The configuration file must be saved to the same location as the Modern POS installer. For security reasons,
delete this file after installation is completed.
5. On the Notification bar that appears at the bottom of the Internet Explorer window, select Save . (The
Notification bar might appear in a different place in other browsers.)
6. Select Download , and then select Retail Modern POS .
NOTE
Browsers might block the download pop-up that is generated. You must select either Allow once or Options
for this site > Always allow . Then, while the device is still selected, select Download again.
The installation package that you must use varies, depending on whether you require offline support, and
whether the device that Modern POS will be installed on is a Windows tablet or a phone device (such as a
Windows Phone, an Android device, or an iOS device). The correct package is automatically selected for
download, based on the register settings and the application type that is set for the device. If the offline
package is selected for a Windows tablet, but Microsoft SQL Server isn't already installed (or if it doesn't meet
the requirements for the offline package), SQL Server is downloaded and installed silently.
7. On the Notification bar that appears at the bottom of the Internet Explorer window, select Save . (The
Notification bar might appear in a different place in other browsers.)
8. After the setup installer has been saved, on the Notification bar, select Run . (This step might differ,
depending on your browser.)
Run the installer on a Windows computer
NOTE
Before you run the Modern POS installer, make sure that all system requirements are met.
The installer will sideload a modern application. Therefore, a Group Policy entry must be set to allow for sideloaded
applications. The installer will change the associated registry key as follows to allow for this installation:
Path: HKLM:SoftwarePoliciesMicrosoftWindowsAppx
Proper ty: AllowAllTrustedApps
Value: 1
If you are installing Modern POS for use with an on-premises environment, you must start the installer from a
command line as follows:
ModernPosSetupOffline.exe -UseAdfsAuthentication
The Modern POS installer first extracts the associated files and then starts the installation.
1. The installer validates that all prerequisites are met.
NOTE
If a system restart is required, the installer informs you about this requirement, but the installation can typically
continue.
A sideloaded installation of Modern POS requires a Group Policy change. The installer informs you if this change
is required and then makes the change automatically.
2. If you selected offline support, but a valid version of SQL Server isn't found, the installer downloads and
installs Microsoft SQL Server 2014 Express with Service Pack 2 (SP2). To meet the prerequisites, SQL
Server must have Full-text search installed. Additionally, a minimum of SP2 must be installed for
Microsoft SQL Server 2014, or a minimum of Service Pack 3 (SP3) must be installed for Microsoft SQL
Server 2012.
NOTE
The installer tries to download the correct language. However, if you require a specific language, we highly
recommend that you manually install SQL Server. If the installer can't correctly determine the language, it
installs the English version of SQL Server 2014 Express with SP2 by default. Typically, after the SQL installation is
completed, the system requires a restart before the installation of Modern POS can continue.
This process might require a long time, depending on the speed of the computer and the Internet connection. If
a prerequisite fails during this step, first retry the installer. If the installer continues to fail, see the
Troubleshooting section of this topic.
NOTE
This installation occurs only for the administrator user who ran the installer. For all other users, a desktop icon to install
Modern POS is created. Every time that a user signs in, he or she must double-click this icon. The program will then be
installed or updated, as required. If a user doesn't use the desktop icon after an update, the POS client will request that the
user run from the desktop icon instead to update correctly prior to running.
Run the installer on any other device (Windows Phone, Google Android device, or Apple iOS device )
1. If the application wasn't downloaded directly to the device, transfer the downloaded app file and the
associated configuration file to the same folder on the device. Depending on the type of device, the app
file will be an APPX, APK, or IPA file.
NOTE
This step can be done in various ways. For example, the files can be accessed through a shared folder, transferred
via USB cable, or securely mailed to the user's device.
NOTE
Some devices require that you double-tap the file to begin application installation. Some devices might not notify
you that an application has been installed. On those devices, we recommend that you look at the application list to
verify that the application was correctly installed.
4. When the installation is completed, you should be able to start the application from the application list on
the device. For example, after you install the application on a Windows Phone, you can start it from the
home screen tiles list.
You can now start the program.
Create a worker
For this topic, we have already created workers and assigned them to the Houston address book in the demo
data that is provided. Therefore, this topic will use pre-generated data.
Create a worker
1. Go to Retail and Commerce > Employees > Workers .
2. On the Action Pane, select New to create a new employee.
3. Enter the first and last name. For example, enter John as the first name and Smith as the last name.
4. Verify that the Legal entity field is set to USRT , the Worker type field is set to Employee , and the
Employment star t date field is set to the current date at 12 AM, so that the worker's employment starts
immediately.
5. Select the Assign a position check box. Select position number 000544 , which is the Store manager
position.
6. Set the Personnel action type field to Hire Action to hire a new employee immediately.
7. Select Continue .
8. On the Action Pane, select Complete to finish creating the new worker.
9. Return to the worker list. Search for the newly created worker (for example, John Smith). Select the worker's
name to see the details of the new worker.
10. On the Action Pane, select Edit .
11. Verify that the language for the worker is en-us .
12. Under Worker summar y , in the Address books field, select the Houston store.
13. On the Commerce tab, you can reset the POS password. For this tutorial, reset the password to 123 .
14. On the Commerce tab, under Screen layout , assign a screen layout. For example, select F2MP16:9M
(Fabrikam MPOS Manager (16:9) ).
15. On the Action Pane, select Save .
16. Go to Retail and Commerce > Periodic > Distribution schedule .
17. Select the 1060 – Staff job, and then, on the Action Pane, select Run now to sync the worker data to the
channel database.
18. After the new worker has been created and synced to stores, worker John Smith can sign in to any POS device
that is used in the HOUSTON store that he is assigned to, and he can perform transactions on that device.
However, the device must be activated first. The following section explains how to activate a device for a new
worker.
Map an Azure AD account to a worker who has POS permissions for device activation
You must complete this procedure before you activate Modern POS for a new worker.
1. In Commerce, from the Worker page, open the Worker details page for the worker that you created in
the previous procedure.
2. On the Action Pane, select Edit .
3. On the Commerce tab, select the POS permissions link. Under POS permission group , verify that
the value is Manager .
4. When you've finished, return to the Worker details page for the new worker.
NOTE
To return to the Worker details page, select the Close button (X ) on the right side of the Action Pane.
5. On the Action Pane, select Commerce , and then select Associate existing identity .
6. In the dialog box that appears, select the Azure AD account that is named admin AX Admin . (If an
alternative administrator Azure AD account has been created, select that account instead.)
7. Select OK . In the demo data, the Azure AD account that is associated with the administrator account in
Headquarters is your administrator Azure AD account.
8. On the Action Pane, select Save , and then refresh the page. The External identity section should be now
updated with the new information.
NOTE
The External identifier field will remain empty. This behavior is expected. Therefore, you can ignore it.
This procedure should be completed before you activate Retail Cloud POS or Modern POS. For more
information, see Manage activation accounts and validate devices.
Run the Validate Devices for Activation check
1. In Headquarters, open the Device page (Retail and Commerce > Setup POS > Devices ).
2. Select the device to validate for device activation, and then select Validate Devices for Activation . For
example, select device HOUSTON-3 .
3. In the dialog box that appears, select the worker to validate the device for (that is, the worker that you
mapped to the Azure AD account in the previous procedure). For example, select worker 000160 .
4. Select OK , and make sure that you receive the following message: "Pre-Activation validation completed for
Device HOUSTON-3 and Staff 000160. Validation: Passed"
Activate a device
1. Start Modern POS on your computer. Read the instructions on the Before you star t page, and make sure
that they are completed. Then select Next .
2. Select Activate . You're redirected to the Azure AD sign-in page.
3. Enter the Azure AD account that you mapped earlier, such as admin@<MyCompany>.onmicrosoft.com , and the
password.
4. When activation is completed, select Get Star ted .
5. Sign in to Modern POS by using worker account 000160 and the password 123 .
The device should now be activated and ready to use.
1. After a Modern POS application is uploaded into the environment, the version of the package can be selected
on the device. The package listings should include the new uploaded application.
2. To update the Modern POS application, follow the steps in the Download and install Modern POS section. To
do an in-place update, just run the newer version of the self-service installer. Uninstallation isn't required or
recommended. Device activation status will be maintained after the update.
3. The installer will use the currently installed configuration settings. If the configuration file has changed,
because of various configuration changes in Commerce, an update won't change the Modern POS application
settings.
Troubleshooting
Troubleshoot installation
Your browser blocks the download pop-up that is generated.
Solution: Select either Allow once or Options for this site > Always allow (or the equivalent
commands in the browser that you're using). Then, while the correct register is still selected, select
Download again.
The installation package that you must use depends on whether you require offline support. The correct
package is automatically selected for download. For the offline package, SQL Server must be installed and
must meet the requirements for the offline package.
Solution: No action is required. If SQL Server isn't already installed (or if it doesn't meet the
requirements), it's downloaded and installed. The installer gives generic information about the download
and installation of SQL Server Express 2014. This installation might require a long time.
The installation occurs only for the administrator user who ran the installer, but not for any other users.
Solution: The installer generates a desktop icon that is used to install, upgrade, and run Modern POS.
This icon is generated for every user on the computer. When a user who must install Modern POS double-
clicks this icon, the program is installed. The user can then start to use Modern POS.
SQL Server isn't successfully downloaded and installed through the self-service Modern POS installer.
Solution 1: A list of reasons shows the prerequisites that failed. If the list includes SMO or SQL
Management Objects , first try to run the installer again. SQL Server Management Objects (SMO) are
installed during SQL Server installation. Therefore, it's possible that the operating system didn't pick up
the registration of the executable program that you used. When you run the installer a second time, the
prerequisites are retested, and the prerequisite check should correctly verify the required executable
program. If the installer continues to fail, restart the system to fully complete the registration of SQL
Server, and then rerun the installer.
Solution 2: Manually download and install SQL Server (Microsoft SQL Server Express or another
version) by using Advanced Tools. During installation, select Full-text search as an additional feature.
The installation of Modern POS fails, because the registration of performance (perf) counters failed.
Solution: Follow these steps to fix this issue:
1. Open a Command Prompt window as an administrator.
2. Enter the following command.
lodctr /s:"perf_backup.txt"
lodctr /R
4. If the system doesn't rebuild the performance counter settings from the system backup, rerun the
lodctr /R command.
5. Rerun the Modern POS installer.
If you're using a downloaded virtual hard disk (VHD) instead of a cloud-hosted environment, the
downloader might fail.
Solution 1: In a downloaded VHD, the Azure storage emulator must be installed and must be
running correctly. Otherwise, the self-service packages can't be downloaded correctly.
Solution 2: A failure might have occurred during the process of integrating the VHD into
Microsoft Hyper-V. You must manually edit permissions before the packages can be downloaded
correctly. Follow these steps:
1. In File Explorer, browse to C:\Microsoft Dynamics 365\70\Retail Ser ver .
2. Right-click the SelfSer vicePackages folder, and then select Proper ties .
3. On the Security tab, select Edit .
4. In the Permissions for SelfSer viceDeployment dialog box, select Add .
5. In the Select Users, Computers, Ser vice Accounts, or Groups dialog box, select
Locations .
6. In the Locations dialog box, select the first entry in the list (the local computer), and then select
OK .
7. In the Select Users, Computers, Ser vice Accounts, or Groups dialog box, enter the name
IIS_IUSRS , and then select Check names . The object name should be changed to IIS_IUSRS .
Select OK .
8. In the Permissions for SelfSer viceDeployment dialog box, select the new IIS_ISURS user.
Under Permissions for IIS_IUSRS , select Allow for the Full control permission. Select OK .
9. In the Open permission dialog box, select OK .
The latest iOS version does not support your self-signed certificate.
Solution 1: Utilize a domain and generate a proper domain-based certificate.
Solution 2: Download the open source OpenSSL library and perform the following after completing
installation:
1. Using PowerShell, create a private key for the root Certificate Authority (CA) using a command
such as $ openssl genrsa -des3 -out rootCA.key 2048 . 2. You will be prompted for a
password, which must be remembered for later usage. 3. Next, generate the root certificate using a
command such as $ openssl req -x509 -new -nodes -key rootCA.key -sha256 -days 1024
-out rootCA.pem . There will be a prompt for the password entered previously and some basic
certificate information.
NOTE
The number of days the certificate is valid for can be altered. In the above example this is 1024 days.
Additional resources
Install the POS layout designer
Set up extended logon functionality for MPOS and
Cloud POS
2/1/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic covers your options for setting up extended logon for Cloud POS and Retail Modern POS (MPOS).
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic explains how an IT Pro can set up Commerce activation accounts for workers to activate Modern POS or
Cloud POS devices.
NOTE
These accounts aren't device activation accounts until you map them by using the external identity flow options.
3. If you want to use the existing AAD accounts as activation accounts, you can't map them in bulk. Cancel the
selection of those workers, and then map them individually by using Use existing external identity .
4. To create new AAD accounts and associate them with the workers, so that they can be used as activation
accounts, update the Alias and Password fields, and then click OK . In the main worker form, you receive a
message as activation accounts are created for each worker.
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This procedure walks through creating financial dimensions for point of sale (POS) registers, and demonstrates
how to configure financial dimension values on registers. This procedure doesn't include other related steps, such
as creating dimension sets and account structures. Those tasks can be found in other topics. This recording uses
USRT demo company.
1. Go to General ledger > Chart of accounts > Dimensions > Financial dimensions.
2. Click New.
3. In the Use values from field, select an option.
4. In the Dimension name field, type a value.
5. Click Activate.
6. Click Close.
7. Click Activate.
8. Click Dimension values.
9. Close the page.
10. Click Save.
11. Close the page.
12. Go to Retail and Commerce > Channel setup > POS setup > Registers.
13. In the list, find and select the desired record.
14. Toggle the expansion of the Financial dimensions section.
15. Click Edit.
16. In the Terminal field, click the drop-down button to open the lookup.
17. In the list, find and select the dimension value for the register being updated.
18. Click Save.
Create POS permission groups
3/18/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic explains how to create a POS permission group. The demo data company used to create this task is USRT.
This task is intended for the Commerce operations manager role.
1. In the navigation pane, go to Modules > Retail and Commerce > Employees > Permission groups .
2. Select New .
3. In the POS permission group ID field, type a value.
4. In the Description field, type a value.
5. Select Yes in the View time clock entries field. You can now enable or disable various permissions for your
POS Permission group. For some permission you can set a value that will be used to evaluate if the POS user
can perform the action. This task guide enables a few permission that might be given to a cashier.
6. Select Yes in the Allow create order field.
7. Select Yes in the Allow edit order field.
8. Select Yes in the Allow retrieve order field.
9. Select Yes in the Allow password change field.
10. Select Yes in the Allow blind close field.
11. Select Save . After your changes are saved you need to run the Staff distribution schedule to push the changes to
commerce channels.
12. In the navigation pane, go to Modules > Human resources > Jobs > Jobs .
13. Next we will assign the POS permission group to a Job. In the list, find and select the desired record.
14. Select Edit .
15. Expand the Job classification section.
16. In the POS permission group field, enter or select a value. All Workers in Positions for this Job will use this POS
permission group's settings unless the workers POS permissions have been overridden at their Position level.
17. Select Save . After your changes are saved you need to run the Staff distribution schedule to push the changes to
channels.
Create point of sale (POS) visual profiles
3/18/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This procedure walks through creating a new point of sale (POS) visual profile. A visual profile contains basic
information that determines the appearance of POS registers. You can create several visual profiles and assign
specific profiles to run on specific registers. This procedure uses the USRT demo data company.
1. Go to Retail and Commerce > Channel setup > POS setup > POS profiles > Visual profiles.
2. Click New.
3. In the Profile number field, type a value.
4. In the Description field, type a value.
5. In the Application type field, click the drop-down button to open the lookup.
6. In the list, click the link in the selected row.
7. In the Theme field, click the drop-down button to open the lookup.
8. In the list, click the link in the selected row.
9. In the Accent color field, click the drop-down button to open the lookup.
10. In the list, find and select the desired record.
11. In the list, click the link in the selected row.
12. Toggle the expansion of the Login background section.
13. In the Landscape image ID field, select or enter an image ID.
14. In the Portrait image ID field, select or enter an image ID.
15. Toggle the expansion of the Background section.
16. RequestPopup the Image ID.
17. In the list, click the link in the selected row.
18. Click Save.
Configure and install Retail hardware station
2/1/2020 • 10 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-
Commerce, in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic explains how to configure, download, and install Retail hardware station by using self-service. It also
explains how to uninstall Retail hardware station.
IMPORTANT
It is critical to note that this component utilizes a server certificate. Server certificates must be managed for expiration. By
default, a certificate expires in one calendar year (365 days).
NOTE
This procedure is required only if you're running the February 2016 (RTW) version of Retail. If you're running version 1611,
start with the next procedure.
1. Use your Microsoft Azure Active Directory (Azure AD) credentials to sign in to the Retail headquarters or
Retail trial.
2. On the Welcome page, use the menu in the upper left to go to Retail > Channel setup > POS setup >
POS profiles > Hardware station profiles .
3. On the Hardware station profile page, on the Action Pane, select New .
4. In the Hardware station ID field, enter a unique hardware station ID.
NOTE
The Name field is used for a description of the unique hardware station profile.
5. In the appropriate fields, enter the port number, select a hardware profile, and select a package name.
NOTE
Only one hardware station package is provided for an environment that has been loaded with demo data.
NOTE
The Houston store is the most thoroughly prepared store in the demo data.
4. On the Retail store details page, on the Hardware stations FastTab, select Add .
NOTE
The Retail Server URL that is used for the selected store is read-only. This URL will be important during the
installation of Retail hardware station.
5. In the Hardware station type field, select Shared to indicate that this hardware station is an Internet
Information Services (IIS), installed hardware station that will be used by external point of sale (POS)
systems.
NOTE
The value Shared signifies that the installation is a truly shared hardware station installation, and that it works
through HTTPS communication. By contrast, the value Dedicated signifies that the hardware station is a part of
Modern POS, and that it works through inter-process communication.
6. Follow one of these steps, depending on the version that you're running:
For version 1611: In the appropriate fields, enter the port number, select a hardware profile, and
select a package name.
NOTE
Only one hardware station package is provided for an environment that has been loaded with demo data,
at environment creation time.
NOTE
The Houston store is the most thoroughly prepared store in the demo data.
4. On the Retail store details page, select the Hardware stations FastTab.
NOTE
The Retail Server URL that is used for the selected store is read-only. This URL will be important during the
installation of Retail hardware station.
NOTE
Browsers might block the download pop-up that is generated. You must select either Allow once or Options
for this site > Always allow . Then select Download again.
The correct installation package is automatically selected for download, based on the hardware station profile.
6. On the Notification bar that appears at the bottom of the Internet Explorer window, select Save . (The
Notification bar might appear in a different place in other browsers.)
7. After the setup installer has been saved, on the Notification bar, select Run . (This step might differ,
depending on your browser.)
Run the installer
NOTE
Before you run the Retail hardware station installer, make sure that all system requirements are met.
The Retail hardware station installer first extracts the associated files and then begins the installation.
1. The installer validates that all prerequisites are met. If a sideloading key is required, the installer requests
it. This key is found on the Devices page for each device, under General .
NOTE
If a system restart is required, the installer informs you of this requirement but can continue the installation.
Before you can use hardware that is based on the Object Linking and Embedding for Retail Point of Sale
(OPOS) standard, the OPOS Common Control Objects must be installed. If they aren't installed, the installer
informs you of this requirement but can continue the installation.
3. Select a valid Secure Sockets Layer (SSL) certificate to use for HTTPS communication.
NOTE
The certificate must use private key storage, and server authentication must be listed in the enhanced key usage
property. Additionally, the certificate must be trusted locally, and it can't be expired. It must be stored in the
personal certificate store location on the local computer.
4. The next page requests the user that should be used for the IIS application pool. By default in version
1611 and later, the installer can automatically create and use a service account. If you're on a domain or
require more specific controls, clear the check box, and then enter the user name and password that the
application pool should run under.
5. Enter the HTTPS port to use.
NOTE
You can find the HTTPS port in Retail. (See the configuration instructions earlier in this topic).
The installer automatically enters the host name. If, for any reason, you must change the host name for the
installation, you can change it here. The host name must be the fully-qualified domain name (FQDN) of the
system, and it must be entered in the Host name field for the selected hardware station entry.
6. The installer installs Retail hardware station and then indicates whether the installation was successful.
7. When the installation is completed, the Install merchant information tool may start. This installer connects
to the environment and installs the merchant account information (such as the EFT ID) for the selected
hardware station.
NOTE
If the hardware station that was installed won't be used for payment-related work, don't close the Install
merchant information window without completing the remaining steps. The hardware station won't work
unless this installation is successfully completed.
For version 10.0.6 and above, the install merchant information tool is no longer used. Instead, the
merchant information for the hardware station is set by the POS at the time of logon or when the
hardware station is made active. If the retail server is not available when the hardware station is
subsequently made active, the last known merchant properties will be used by until the
connection to the retail server is re-established. If the POS client is not upgraded to version 10.0.6
at the same time the hardware station is upgraded, merchant properties will not be updated until
the POS client is upgraded to an equal or later version.
8. The Install merchant information tool might request Azure AD credentials. Enter the Azure AD credentials
of the user who is installing Retail hardware station.
9. The Retail Server URL is determined through the Retail hardware station installation and is entered
automatically. The installer uses this URL to load the list of stores that the user is connected to via the
address book.
10. Select the retail store that the hardware station was installed for.
11. Select the hardware profile that matches the hardware station that was installed on the current computer.
12. Verify that the host names and EFT terminal IDs are correct, based on the current computer and the Retail
hardware station configuration that has already been completed in Retail. After you've verified this
information, select Install .
13. When you receive a message that states that the merchant account information was installed correctly,
exit the installer by selecting the Close button.
NOTE
The hardware station installer automatically makes these registry edits as part of the installation through self-service.
NOTE
By default, SSL and all version of TLS except TLS 1.2 are disabled. To edit or enable these values, follow these steps:
1. Press the Windows logo key+R to open a Run window.
2. In the Open field, type Regedit , and then select OK .
3. If a User Account Control window appears, select Yes .
4. In the new Registr y Editor window, go to
HKEY_LOCAL_MACHINE\System\CurrentControlSet\SecurityProviders\SCHANNEL\Protocols .
The following keys have been automatically entered to allow for TLS 1.2 only:
TLS 1.2\Server:Enabled=1
TLS 1.2\Server:DisabledByDefault=0
TLS 1.2\Client:Enabled=1
TLS 1.2\Client:DisabledByDefault=0
TLS 1.1\Server:Enabled=0
TLS 1.1\Client:Enabled=0
TLS 1.0\Server:Enabled=0
TLS 1.0\Client:Enabled=0
SSL 3.0\Server:Enabled=0
SSL 3.0\Client:Enabled=0
SSL 2.0\Server:Enabled=0
SSL 2.0\Client:Enabled=0
No additional network ports should be open, unless they are required for known, specified reasons.
Cross-origin resource sharing must be disabled and must specify the allowed origins that are accepted.
Only trusted certificate authorities should be used to procure certificates that will be used on computers
that run Retail hardware station.
IMPORTANT
Most common, lower-security software and services will stop working after all lower-security standards are disabled. To
use them again, go to the preceding registry keys, and set the Enabled key from 0 to 1 .
It's critical that you review security guidelines for IIS and Payment Card Industry (PCI) requirements.
Troubleshooting
Modern POS can detect the hardware station in its list for selection, but it can't complete the pairing
Solution: Verify the following list of potential failure points:
The computer that is running Modern POS trusts the certificate that is used on the computer that runs
Retail hardware station.
To verify this setup, in a web browser, go to the following URL:
https://<Computer Name>:<Port Number>/HardwareStation/ping
This URL uses a ping to verify that the computer can be accessed, and the browser indicates whether
the certificate is trusted. (For example, in Internet Explorer, a lock symbol appears in the address bar.
When you select this symbol, Internet Explorer verifies whether the certificate is currently trusted. You
can install the certificate on the local computer by viewing the details of the certificate that is shown.)
On the computer that runs Retail hardware station, the port that will be used by the hardware station is
opened in the firewall.
Retail hardware station has properly installed merchant account information through the Install merchant
information tool that runs at the end of the Retail hardware station installer.
Modern POS can't detect the hardware station in its list for selection
Solution: Any one of the following factors can cause this issue:
Retail hardware station hasn't been set up correctly in Commerce headquarters. Use the steps earlier in this
topic to verify that the hardware station profile and the hardware station are correctly entered.
The jobs haven't been run to update the channel configuration. In this case, run the 1070 job for channel
configuration.
The hardware station isn't accessible from that computer. Verify that the hardware station URL ping test is
accessible from a web browser. This URL can be found at the end of the hardware station installer and is in
the following form: https://<Computer Name>:<Port Number>/HardwareStation/ping
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This article describes how to modify form layouts to control how receipts, invoices, and other documents are
printed. Dynamics 365 Commerce includes a form layout designer that you can use to easily create and modify
various kinds of form layouts.
IMPORTANT
You must set up form layouts and receipt profiles to print receipts and other documents from Retail Modern POS and Cloud
POS. You can include multiple form layouts in a receipt profile. You can then assign the receipt profile to a printer by
modifying a hardware profile.
NOTE
You can specify how many lines each section spans by adjusting the number in the lower-right corner of that section.
To make it easier to modify a section, increase its height by dragging the sizing bar at the bottom of the section. The
height of the section on the workspace doesn't affect the number of lines on the actual receipt.
8. After you drag an element to the workspace, set the properties for the part in the Object information
pane at the bottom of the page. Enter one or more of the following settings:
Align – Set the alignment of the field to either Left or Right .
Fill char – Specify the white space character. By default, an empty space is used, but you can enter any
character.
Prefix – Enter the value that appears at the beginning of the field. This setting applies only to the Lines
section of the layout.
Characters – Specify the maximum number of characters that the field can contain if the element
contains a variable. If the text in the field is longer than the number of character that you specify, the text
is truncated to fit the field.
Variable – This check box is selected automatically if the element contains a variable and can't be
customized.
Font type – Set the font style to either Regular or Bold . Bold letters use two times as much space as
regular letters. Therefore, some characters might be truncated.
Font size – Set the font size to either Regular or Large . Large letters are two times higher than regular
letters. Therefore, using large letters may lead to overlapping text in the receipt.
Delete – Click this button to remove the selected part from the form layout.
NOTE
If two printers are used, one printer can be used to print standard 40-column thermal receipts. The second printer is typically
used to print full-page receipt types that require more information. These receipt types include customer order receipts and
customer invoices.
Send email receipts from Modern POS (MPOS)
2/14/2020 • 4 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
In Modern Point of Sale (MPOS), you can send receipt emails when a transaction is tendered at the point of sale
(POS).
Prerequisite
To send email receipts, you must configure a Simple Mail Transfer Protocol (SMTP) server.
<pre>
%message%
</pre>
If you want to have more than just the receipt in the message, select E-mail message to fill out the
template for the body of the email messages to be sent. The placeholder %message%. is used to insert the
receipt from MPOS.
The %message% placeholder is the only placeholder that will be replaced when MPOS receipts are sent. If
you want more placeholder options, you must create a customization on the MPOS side.
It's a best practice to put the HTML content in a text editor, such as Notepad, and save it as a .txt file before
uploading. This will help to preserve receipt alignment and reduce header and footer space in the emailed receipt.
The logo and bar code from the printed receipt will not be included in the emailed receipt version. To include the
logo, create a generic HTML email template and embed the placeholder. Including bar codes in the emailed receipt
requires customization.
5. Depending on the settings that you configured, you must run the appropriate distribution schedule jobs to
synchronize the changes to MPOS.
1010 – Customer
1070 – Channel configuration
1090 – Registers
1110 – Global configuration
MPOS transactions
After the changes are synchronized to the store, MPOS prompts the user for an email address for each transaction
(if this feature is enabled). If an email address is already on file for the customer, that address appears in the email
address prompt. If a customer hasn't been named, or if an email address hasn't been entered for a named customer,
enter an email address, and then select Send . When the transaction is finalized, the real-time service will send the
customer an email that has the receipt in the body of the message, as you configured earlier.
Reset receipt numbers
3/13/2020 • 4 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
Retailers generate receipt numbers for various actions in the store, such as cash and carry transactions, return
transactions, customer orders, quotations, and payments. Although retailers define their own receipt formats, some
countries or regions have regulations that put restrictions on these receipt formats. For example, these regulations
might limit the number of characters on the receipt, require consecutive receipt numbers, restrict some special
characters, or require a reset of receipt numbers at the beginning of the year. Microsoft Dynamics 365 Commerce
makes the process of managing receipt numbers very flexible, to help retailers meet regulatory requirements. This
topic explains how to use the functionality for resetting receipt numbers.
In Commerce, receipt formats can be alphanumeric. You can put both static content and dynamic content in them.
Static content includes alphabetic character, numbers, and special characters. Dynamic content includes one or
more characters that represent information such as the store number, terminal number, date, month, year, and
number sequences that are automatically incremented. The formats are defined in the Receipt numbering section
of the functionality profile. The following table describes the characters that represent the dynamic content.
ddd The characters ddd correspond to the day of the year, from 1
through 366. For example, on January 15, the format ddd
shows "015" on the receipt.
YY The characters YY are used for the two-digit year. For example,
in any month during the year 2020, the format YY shows "20"
on the receipt.
C H A RA C T ERS DESC RIP T IO N
You can reset the sequential numbering of the receipt on a specific date. Then, for the first transaction that occurs
after 12:00 AM on the selected reset date, the system resets the receipt's number sequence to 1. You can also
specify whether the reset occurs only one time, or whether it recurs every year. If yearly recurrence is specified, the
reset automatically occurs every year until the retailer chooses to stop it.
To turn on the reset, follow these steps.
1. Go to Retail and Commerce > Channel setup > POS setup > POS profiles > Functionality profiles .
2. On the Receipt numbering FastTab, select Reset number reset date .
3. In the drop-down dialog box, in the Reset date field, select a future date when the reset should occur.
4. In the Reset receipt type field, select One time only or Yearly .
5. Select OK .
After you select a date, it appears in the Next receipt number reset date column. The reset date is applicable to
all receipt transaction types. Therefore, the receipt number sequence will be reset for all receipt types.
When the reset date arrives, the receipt number is reset for the first transaction of each type. In addition, in the
functionality profile, the reset date is moved from the Next receipt number reset date column to the Current
receipt number reset date column. This change indicates that if a register isn't used on the reset date, the receipt
number will be reset the next time that the register is used. For example, on December 3, 2019, you select Januar y
1, 2020 , as the reset date. On January 1, when the registers make their first transaction, the receipt number are
reset. However, one register isn't used at all during December and January, but then starts to be used in February. In
this case, because a reset action was defined, the receipt number for that register will be reset when the register
makes its first transaction in February.
You can use the Clear reset date functionality to clear future reset dates. However, if the reset date occurred in the
past, it can't be undone. Therefore, the reset will still occur for all registers where the reset hasn't yet occurred.
NOTE
Depending on the reset date that you select, and the receipt format, you might have duplicate receipt numbers. Although the
point of sale (POS) system can handle these situations, they increase the amount of time that is required to process returns,
because sales associates must select among the duplicate receipts. Other complications that are related to data cleanup can
occur if the duplicate receipts weren't a planned consequence. Therefore, we recommend that you use dynamic date
characters (for example, ddd , MM , DD , and YY ) to help prevent duplicate receipt numbers after a reset.
Embed processor credit card receipts in customer
receipts
4/11/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic explains how to embed credit card receipts from payment processors into a customer's itemized
transaction receipt. This capability is available in Microsoft Dynamics 365 Commerce version 10.0.8 and later.
Key terms
T ERM DESC RIP T IO N
Customer's credit card receipt The credit card receipt that is printed as a record of the credit
card payment or other electronic payment that is used in a
transaction.
Overview
This topic describes the steps that are required to embed the credit card receipt from a payment processor directly
into a customer's receipt. In Dynamics 365 Retail version 10.0.7 and earlier, several elements from the customer's
credit card receipt could be embedded into the customer's itemized transaction receipt. However, the actual receipt
that comes from the payment processor could not be included. That solution wasn't acceptable for all retailers,
because the configurable receipt fields in the customer's credit card receipt didn't always include all the details that
are stipulated by local statutory requirements.
Prerequisites
The following items are required to embed processor credit card receipts into customer receipts:
A payment connector that is implemented in accordance with the payments software development kit (SDK)
A POS that has a working printer
Set up receipts
1. In the POS, search for "receipt formats" to open the Receipt formats page.
2. Select the receipt of the Customer's credit card receipt type that will be used at the POS. If you're using
demo data, select receipt format 3_P , and set the Print Behavior field to Do not print .
3. Select Designer to open the receipt designer.
4. Remove all the fields from the receipt format.
To edit a section of the receipt, you must first select that section at the bottom of the left pane in the receipt
designer. Then select the desired receipt variable in the selected section. Finally, to delete the selected
variable, you can use the Alt+D keyboard shortcut.
5. Select the Header section at the bottom of the left pane, and then drag the EFT Message receipt variable
into the header.
6. Select Save .
7. While the receipt designer is still open, select Select format in the upper-left corner to open the receipt
selector.
8. In the receipt selector, select the receipt of the Receipt type that will be used at the POS. If you're using demo
data, select receipt format 1_p .
9. In the receipt designer, select the Footer section at the bottom of the left pane, and then drag the Card
Tender Details receipt variable into the footer.
10. Select Save .
11. Sync the changes to the POS by using the 1090 distribution schedule.
12. Close the shift in the POS, and then open a new shift.
13. Perform a credit card transaction to confirm that the processor's credit card receipt is embedded into the
customer's receipt.
Configure the functionality profile for a sales
representative
3/18/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This procedure demonstrates how to configure a store's functionality profile settings that apply to sales
representatives. This procedures uses the USRT demo data company.
1. Go to Retail and Commerce > Channel setup > POS setup > POS profiles > Functionality profiles.
2. Click Edit.
3. Expand the Functions section.
You can use the functionality profile settings to configure POS to automatically add the cashier's default
sales group, to prompt for sales groups, and to require sales groups.
4. In the Prompt for sales representative field, select an option.
5. Select Yes in the Require sales representative field.
Create financial dimensions for retail channels and
configure dimension values on stores
3/18/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This procedure walks through creating a commerce channel financial dimension with dimension values and steps
to configure financial dimension values on stores. The topic does not include other related steps, such as creating
dimension sets and account structures. This procedure uses the USRT company in demo data.
1. Go to General ledger > Chart of accounts > Dimensions > Financial dimensions.
2. Click New.
3. In the Use values from field, select 'Commerce channels'.
4. In the Dimension name field, type a value.
5. Click Activate.
6. Click Close.
7. Click Activate.
8. Click Dimension values.
9. Close the page.
10. Click Save.
11. Close the page.
12. Go to Retail and Commerce > Channels > Stores > All stores.
13. In the list, click the link in the selected row.
14. Toggle the expansion of the Financial dimensions section.
15. Click Edit.
16. In the Commerce channel field, click the drop-down button to open the lookup.
17. In the list, find and select the dimension value for the store being updated.
18. In the list, click the link in the selected row.
19. In the CostCenter field, click the drop-down button to open the lookup.
20. In the list, find and select the desired record.
21. In the list, click the link in the selected row.
22. In the Department field, click the drop-down button to open the lookup.
23. In the list, find and select the desired record.
24. In the list, click the link in the selected row.
25. Click Save.
Set up an online channel
2/1/2020 • 3 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-
Commerce, in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic describes how to create a new online channel in Microsoft Dynamics 365 Commerce.
Overview
Dynamics 365 Commerce supports multiple retail channels. These retail channels include online stores, call
centers, and retail stores (also known as brick-and-mortar stores). Online stores give customers the option of
purchasing products from the retailer's online store in addition to its retail stores.
To create an online store in Commerce, you must first create an online channel.
Before you create a new online channel, ensure that you have completed the Channel set up prerequisites.
Set up languages
If your e-Commerce site will support multiple languages, expand the Languages section and add additional
languages as needed.
Additional resources
Channels overview
Channel setup prerequisites
Set up a retail channel
Set up a call center channel
Dynamics 365 Payment Connector for Adyen
Call center sales functionality
2/1/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
In Dynamics 365 Commerce, a call center is a type of channel that can be defined in the application. Defining a
specific channel for your call center entities allows the system to tie specific data defaults and order processing
defaults to sales orders created by a user of the call center channel.
Call center features include advanced price and promotions, catalogs, gift cards, loyalty programs, and coupons.
Call center orders are also leveraged by the point of sale (POS) application to support cross-channel order
fulfillment scenarios.
It's important to note that while the call center module can be utilized by other industries outside of Commerce, the
current release of the call center application hasn't been optimized for use in business-to-business (B2B) order
processing scenarios, or scenarios where orders have a large amount of sales lines. It's recommended that users
who want to utilize the call center features for order processing outside of typical direct-to-consumer transaction
processing, take adequate time to test and validate that enabling call center functionality will meet functional and
performance needs.
In addition to supporting order creation, the call center module also provides a user-friendly customer service
application that makes it easier for users to locate customer accounts and review all of the related customer order
data and attributes. The customer service screen is designed to enable a user to quickly access order related data
that will allow them to answer the most common order-related questions received from customers.
This page provides links to relevant documentation related to the setup, configuration, and functional use of the call
center features.
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-
Commerce, in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic describes how to create a new call center channel in Microsoft Dynamics 365 Commerce.
Overview
In Dynamics 365 Commerce, a call center is a type of retail channel that can be defined in the application. Defining
a channel for your call center entities allows the system to tie specific data and order processing defaults to sales
orders. While a company can define multiple call center channels in Commerce, it is important to note that an
individual user may only be linked to one call center channel.
Before you create a new call center channel, ensure that you have completed the Channel setup prerequisites.
Additional resources
Channel setup prerequisites
Call center sales functionality
Set up call center order processing options
Call center catalogs
Set up and work with fraud alerts
Set up continuity programs for call centers
Call center catalogs
2/1/2020 • 10 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic describes the call center–specific functionality linked to the catalog capabilities in Dynamics 365
Commerce.
The catalog features found in Commerce can be used for multiple purposes. Initially the catalog features were
created to support third party e-Commerce integrations. Catalog setup allowed companies to create a grouping of
products and attributes that could be published externally for consumption by a third party e-Commerce solution.
When call center channel support was added, the catalog concept was expanded to add additional capabilities for
supporting and managing features related to traditional direct-to-consumer marketing catalogs. A direct-to-
consumer company will often produce printed catalogs, which are then mailed to one or more segments of
customers. These catalogs will typically have specific promotions or offers that will only be honored if the
customer provides a catalog identification code at the time of order creation.
Direct-to-consumer marketing companies are very focused on tracking the response to these catalogs to ensure
that the costs to produce and mail them are justified. To track the response, a code is traditionally printed on the
back of the catalog and this code is then requested and applied when the catalog recipient calls to place an order
by phone (or now more traditionally the code may be entered when the customer places an order online). While
there are different industry terms that have been used to identify this catalog tracking code (including key code,
promo code, catalog code, source code), we refer to the code in Commerce as the Source code ID .
Catalog requests
As catalogs are configured and published in Commerce, the Send catalog feature can be utilized. This feature is
available on the Customer search and Customer ser vice pages. After selecting a customer record through
Customer search or while viewing a selected customers account from Customer ser vice , users may select the
Send catalog option which will open a dialog box allowing the user to choose from a list of any published and
active catalogs. A user can select a catalog and a quantity, and a particular source code ID to send. When they click
the Send button, a request is stored which can then be managed by printing the Catalog requests report. This
report is found by navigating to Retail and Commerce > Call center repor ts > Catalog requests repor t . It
lists all the catalog requests, including the customer name and address details of the customer who requested the
catalog. This report can be used internally or the data can be transmitted to a third party supporting external
processes for physically sending the catalog to the customer.
Additional features
On the Catalogs tab, options for configuring a Payment schedule and Free products are also available. If the
source code ID linked to the catalog is applied during call center order entry, the customer will be eligible for the
free products or use of the specific catalog payment schedules as defined. If it's necessary to limit the customer to
only being able to select from payment schedules linked to their catalog and not all active payment schedules in
the system, the Only allow catalog plans check box can be selected for one or more of the source code IDs
defined to enforce that limitation.
Additional notes
Currently, when a source code ID is applied to a sales order in call center, it is used to drive prices, promotions,
scripts and up-sell/cross-sell's that are catalog specific. The system will not prohibit or prevent a product that is not
in the catalog from being ordered on the sales order. If an item is ordered that is not part of the catalog, the system
will first use the Price group that is defined on the call center channel (Retail and Commerce > Channels >
Call centers > All call centers ) for item price or promotions. If no specific channel price is found, the base
selling price of the item will be used.
Set up call center channels
2/1/2020 • 7 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
A company can define multiple call center channels in Dynamics 365 Commerce. Call center channels are
configured at Retail and Commerce > Channels > Call centers > All call centers , and they are specific to a
legal entity.
When a new call center channel is created, it's systematically assigned an operating unit number. Because call
centers are created as operating units, users can link the call center channel to various Commerce features, such as
assortments, catalogs, and specific modes of delivery.
A default warehouse can be configured on the call center channel. Then, when sales orders are created in that
channel, the default warehouse is automatically entered on the sales order header, unless another warehouse has
been defined on the customer that is selected for the sales order. In that case, the customer's warehouse is entered
by default.
Users must be linked to a call center channel to use the features of call center. Any sales order that a user creates is
automatically linked to that user's call center channel. Currently, a single user may not be linked to multiple call
center channels at the same time.
An email notification profile can also be configured on the call center channel. The profile defines the set of email
templates that is used when email is sent to customers who place orders through the call center channel. The email
triggers can be configured against system events, such as order submission or order shipment.
Before sales can be correctly process through a call center channel, correct payment methods and delivery modes
must be defined for the channel.
At the level of the call center channel, you can define other default values that are related to the financial
dimensions that will be linked to orders that are created by that channel.
Channel users
When you define the call center channel, you must link channel users to the call center. Otherwise, the call center
can't be used in the system. When users sign in to Commerce and enter sales orders or return orders on a page
that is related to order entry, their user ID is validated against the configuration of the call center channel. If a user
is linked to a specific call center channel, orders that the user creates inherit the traits and default values of that
channel.
By default, the Sale flag on the sales order header is turned on for all orders that call center users create. The
orders can then take advantage of the system's commerce-specific price and promotions features.
Users who aren't linked to a call center channel use the standard order entry features of Microsoft Dynamics 365
Finance. Orders that these users enter through the sales order entry form will not be systematically identified as
Commerce orders. Additionally, these orders entered by these users will not be subject to any of the order
completion processing rules, pricing logic, or other order validations that can be defined in the call center channel
configuration or call center system parameters.
After you've finished configuring the call center channel and defining channel users, to help ensure the desired
system behavior, make sure that all required Call center parameters are defined at Retail and Commerce >
Channel setup > Call center setup > Call center parameters . Make sure that related number sequences are
also defined.
NOTE
To use call center functionality, the configuration key for Multiple ship-to must be enabled. This configuration key can be
found in the Trade configuration keys under System Administration > Setup > License Configuration . This is
required due to call center functionality that performs various validations based on the delivery address configured at the
sales order line level.
Configure call center delivery modes and charges
2/13/2020 • 9 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
When a sales order is placed in Dynamics 365 Commerce, if the person who entered the sales order is linked to a
call center channel, logic and rules are used to validate the mode of delivery (delivery mode) and calculate charges
for the order.
When you create a sales order, you can select a delivery mode on the sales order header and the sales order lines.
By default, the delivery mode that you select on the header is used for all sales order lines. However, you can
override the default delivery mode on individual sales lines as you require. You can also define a delivery mode on
a customer record. Then, when orders are created for the customer, that delivery mode is used by default on the
sales order header.
Commerce has capabilities that let users limit the delivery modes that can be used by a channel, the delivery
modes that can be used for a product, and the delivery modes that are valid for specific shipping destinations.
Charges can also be defined so that additional fees are added to a customer's order, based on the delivery modes
that are selected for the sales order and the total order value.
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic explains how to set up criteria and rules to put potentially fraudulent sales orders on hold for further
review. The fraud check feature is used to determine the validity of the information in a sales order. If the
information in the sales order appears to be questionable, based on an organization's fraud criteria and rules, the
order can be put on hold for further review. In this case, the order can't be released to the warehouse for further
processing until the hold has been cleared.
NOTE
This feature can be used only with sales order processing for the Commerce call center channel.
NOTE
Multiple rules or overly complex rules will affect system performance when sales orders are submitted. The fraud check
feature hasn't been optimized to handle a large volume of static fraud data entries and many active rules. Remember that
every rule is evaluated when call center users select Submit during sales order entry. The rules are evaluated against the
sales order header and all order lines. The more rules there are and the more complex the rule statements are, the more time
will be required for processing. If there are many line items on an order, and many active rules and static data entries, the
automatic process of reviewing and validating all the data and calculating a fraud score can have a severe impact on
performance. Organizations that use this feature should always test and confirm that the processing time for order
submission is acceptable before they apply any changes to rules or static fraud criteria to the production environment.
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic describes how to add a channel to an organizational hierarchy in Microsoft Dynamics 365 Commerce.
Overview
Channels need to be associated with one or more organizational hierarchies. Before creating channels, you need to
confirm that your organizational hierarchies have been set up.
See Organizational hierarchies for more details on how to create organizational hierarchies.
Select a hierarchy
To select a hierarchy, follow these steps.
1. In the navigation pane, go to Modules > Retail and commerce > Channel Setup > Organization
hierarchies .
2. From the list, select the organization hierarchy that you'll be adding the channel to.
3. On the action pane, select View to view hierarchy details.
The following image shows organizational hierarchy details for the selected hierarchy.
Additional resources
Channels overview
Channel setup prerequisites
Organizations and organizational hierarchies overview
Plan your organizational hierarchy
Organization hierarchies
Set up a retail channel
Set up an online channel
Omni-channel advanced auto charges
3/31/2020 • 17 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic provides information on configuration and deployment of the advanced auto-charges features that are
available in Dynamics 365 for Retail version 10.0.
When the advanced auto-charges features are enabled, orders created in any supported Commerce channel (point
of sale (POS), call center, and online), can take advantage of the auto-charges configurations defined in the ERP
application for both header and line-level related charges.
In releases prior to Retail version 10.0, auto-charge configurations are only accessible by orders created in e-
Commerce and call center channels. In versions 10.0 and later, POS-created orders can leverage the auto-charges
configurations. That way, additional miscellaneous charges can systematically be added to sales transactions.
When using releases prior to version 10.0, a POS user is prompted to manually enter a shipping fee during the
creation of a "ship all" or "ship selected" POS transaction. While the miscellaneous charges capabilities of the
application are utilized in respect to how the charges are written to the order, no systematic calculation is provided
– the calculation relies on the user's input to determine the value of the charges. The charges can only be added as
a single "shipping" related charges code and cannot easily be edited or changed in the POS after they are created.
The use of manual prompts to add shipping charges is still available in versions 10.0 and later. If an organization
does not enable the Advanced Auto-charges parameter, the POS prompts for manual entry of charges will
remain the same.
With the advanced auto-charges feature, POS users can have systematic calculations for any defined miscellaneous
charges based on auto-charges setup tables. In addition, users will have the ability to add or edit an unlimited
amount of additional charges and fees to any POS sales transaction at the header or line-level (for a cash and carry
or customer order).
For the air delivery charges, in the lines section of the auto-charges form, define a charge of $20.00 that will be
applied to all orders (between a value of $.01 to $9,999,999).
Send the changes to the Commerce Scale Unit/Channel DB so that the POS can utilize them by running the 1040
distribution schedule job.
Sales processing for this scenario
After the configuration steps above are complete and the changes have been applied to the channel database, any
customer order or sales transaction created in the POS, call center, or e-Commerce channels that have the ground
or air delivery methods set at the header level will utilize these charges and automatically apply them to the sale.
At this time the charges will apply to all sales transactions created within the legal entity that utilize these delivery
modes, as there is no functionality to designate that an auto-charge configuration will only apply to a specific
selling channel.
For POS and e-Commerce scenarios, because there is no clearly defined "header" on these orders, header-level
charges will only apply if all sales lines on the transaction are set to ship with the exact same mode of delivery. If
there are "mixed-modes" of fulfillment on the transactions created by POS or e-Commerce, only line-level auto-
charges will be considered and applied.
In call center scenarios, the user has control over the setting of the delivery mode at the order header, therefore
header-level charges will apply for these orders even if some of the sales lines have been configured to use a
different mode of delivery. Header-level charges for call center orders will always be based on the mode of delivery
that is defined at the order header level of the sales order.
Auto -charges line charges example
Use case scenario
A retailer wants to add an additional charge to the customer for setup fees when the customer purchases a
particular model of computer. This computer requires additional non-optional setup actions that the retailer will
perform for the customer. The retailer has informed customers that there will be an additional fee for this setup.
The retailer prefers to manage the charges related to this fee separately from the product sales price for financial
reporting purposes. A setup fee of $19.99 will be charged to the customer when this specific computer is
purchased in any channel.
Setup and configuration
This scenario requires the configuration of one line-level auto charges table.
Go to Accounts Receivable > Charges setup > Auto charges .
Set the Level drop-down menu to Line , and create a new auto-charges record for all customers and for the
specific product or product group where the setup fees will be charged.
Send the charges to the Commerce Scale Unit/Channel DB so that the POS can utilize them by running the 1040
distribution schedule job.
Sales processing for this scenario
After the configurations steps above are complete and the changes have been applied to the channel database, any
customer order or sales transaction created in the POS, call center, or e-Commerce channels that have this item on
the order will trigger a line-level charge to be systematically added to the order total.
At this time the charges will apply to any sales line that matches the configuration of the line-level auto charges
within the legal entity, as there is no functionality to configure a line-level auto-charge to apply only to a specific
selling channel.
Manual header charges example
Use case scenario description
A retailer is making an exception to typical processes by offering to provide a special home delivery of products to
customers who order products in the store. The retailer and the customer have agreed that the customer will pay
an additional $25 handling fee for this service. The order-taker needs to add this additional fee to the transaction.
Because the fee is a blanket fee and not related to any single product on the order, a header charge will be utilized.
Setup and configuration
Ensure the charges code that will be used in this scenario has been properly configured by going to Accounts
Receivable > Charges setup > Charges to define an appropriate charges code for the scenario.
If the charge should be considered a "shipping" related charge for the purpose of shipping related discounts or
promotions, set Shipping charge on the charges code to Yes . If this charge is also allowed to be systematically
refunded during the processing of a return transaction in the POS application, set Refundable to Yes . The
Refundable flag is only applicable when the Use advanced auto-charges parameter is set to Yes .
Send the charges to the Commerce Scale Unit/Channel DB so that the POS can utilize them by running the 1040
distribution schedule job.
The Add header charge operation must be configured in your POS screen layout so that a button that is
accessible to the user from POS can call this operation (operation 141). The screen layout changes must be
distributed to the channel as well through the distribution schedule function.
Sales processing of manual header charges
To execute the scenario in the POS application, the POS user will create the sales transaction as usual, adding the
products and any other configurations to the sale. Prior to collecting payment, the user should execute the Add
header charge operation, which will prompt the user to select a charges code and enter the charges value. Once
the user completes the process, the charge will be added to the sales order as a header-level charge.
This process can be applied in the call center by using the existing Charges feature found on the Sell tab on the
toolbar. On the Maintain charges page, the user can add a new charges line to the order header.
Manual line charges example
Use case scenario
A customer has requested that two of the five items on their sales order be gift-wrapped. The retailer offers this
optional service for a fee of $2.00 per item. The order-taker will need to add these fees to the specific items that
need to be gift-wrapped.
Setup and configuration
Ensure the charges code that will be used in this scenario has been properly configured by going to Accounts
Receivable > Charges setup > Charges to define an appropriate charges code for the scenario.
If the charge should be considered a "shipping" related charge for the purpose of shipping related discounts or
promotions, set the Shipping charge on the charges code to Yes . If the charge is also allowed to be systematically
refunded during the processing of a return transaction in the POS application, set Refundable to Yes . The
Refundable flag is only applicable when the Use advanced auto-charges parameter is set to Yes .
Send the charges to the Commerce Scale Unit/Channel DB so that the POS can utilize them by running the 1040
distribution schedule job.
The Add line charge operation must be configured in your POS screen layout so that a button that is accessible
to the user from POS can call this operation (operation 140). The screen layout changes must be distributed to the
channel as well through the distribution schedule function.
Sales processing of the manual line charge
To execute the scenario in the POS application, the POS user will create the sales transaction as usual, adding the
products and any other configurations to the sale. Prior to collecting payment, the user should select the specific
line where the charge will apply from the POS item list display and execute the Add line charge operation. The
user will be prompted to select a charges code and enter the charges value. Once the user completes the process,
the charge will be linked to the line and added to the order total as a line level charge. The user can repeat the
process to add additional line charges to other items lines on the transaction if needed.
The same process can be applied in the call center by using the "maintain charges" feature found under the
Financials drop-down menu in the Sales order lines section on the Sales order page. This will open the
Maintain charges page where the user can add a new line-specific charge to the transaction.
Additional features
Editing charges on a POS sales transaction
The Manage charges operation (142) should be added to the POS screen layout so that a user can view and edit
or override any system-calculated or manually-created header or line-level charges. If the operation is not added,
users will not be able to adjust the value of the charges on the POS transaction, nor will they be able to view the
details of the charges such as the type of charges code tied to the charge.
On the Manage charges page in POS, the user can view both header and line-level charges details. The user can
use the Edit function available on this page to make changes to the amount charged to a specific charges line.
Once a charges line is overwritten manually, it will not be systematically recalculated unless the user initiates the
Recalculate charges operation.
If the Charge override reason code has been configured on the Commerce parameters setup page, the user
will be prompted to provide a reason code when charges have been modified in the POS application.
If reason codes have been captured for overwritten charges, a new report is also available to review and audit
these overrides. The report can be found in Retail and Commerce > Inquiries and repor ts > Charge
override histor y .
Refunding charges on a POS return transaction
If the Use advanced auto-charges parameter is set to Yes , the existing Commerce parameter for Refund
shipping charges is no longer applicable. To indicate which charges should be systematically refunded to a
customer when using advanced auto-charges, ensure the related charges code has been configured as
Refundable on the Charges code setup page. Make sure that the settings have been synchronized to your
Commerce channel databases through distribution schedule processing.
Refunding charges on a return order transaction
Charges are not systematically refunded to Return orders created in Commerce. Users are required to select the
Copy charges option when creating the Return order . If Copy charges is not selected, charges from the
original sales transaction will not be automatically refunded. If Copy charges is selected, all charges will be copied
to the return order and the user can manually edit or remove any charges they do not want to have refunded. The
call center return order process currently does not acknowledge the Refundable flag on the Charges code setup.
Configuring POS receipts to show charges
The following receipt elements have been added to the receipt line and footer to support the advanced auto-
charges functionality.
Line Shipping Charges – This line-level element can be used to recap specific charges codes that have been
applied to the sales line. Only charges codes that have been flagged as Shipping charges on the Charges
code page will be displayed here.
Line Other Charges – This line-level element can be used to recap any non-shipping specific charge codes
that have been applied to the sales line. These are charges codes where the Shipping flag on the Charges
code page has not been enabled.
Order Shipping Charges Details – This footer-level element displays the descriptions of the charge codes
applied to the order that have been flagged as Shipping charges on the Charges code setup page.
Order Shipping Charges – This footer-level element shows the dollar value of the shipping-related charges.
Order Other Charges Details – This footer-level element displays the description of the charges codes
applied to the order that have not been flagged as shipping-related charges.
Order Other Charges – This footer-level element displays the dollar value of the other charges that are not
shipping-related.
It is recommended that the organization also add free text fields to the receipt footer, in order to define the areas
where charges will be recapped.
Preventing charges from being calculated until the POS order is completed
Some organizations may prefer to wait until the user has finished adding all of the sales lines to the POS
transaction before calculating charges. To prevent calculation of charges as items are added to the POS transaction,
turn on the Manual charge calculation parameter in the Functionality profile used by the store. Enabling this
parameter will require the POS user to use the Calculate totals operation when they have completed adding the
products to the POS transaction. The Calculate totals operation will then trigger the calculation of any auto
charges for the order header or lines as applicable.
Charges override reports
If users manually override the calculated charges or add a manual charge to the transaction, this data will be
available for auditing in the Charge Override Histor y report. The report can be accessed from Retail and
Commerce > Inquiries and repor ts > Charge Override Histor y . It is important to note that the data needed
for this report is imported from the channel database into HQ through the "P" distribution schedule jobs.
Therefore, information about overrides just performed in the POS may not be immediately available on this report
until this job has uploaded the store transaction data into HQ.
Additional resources
Enable and configure auto charges by channel
Prorate header charges to matching sales lines
Enable and configure auto charges by channel
3/31/2020 • 4 minutes to read • Edit Online
This topic explains how to enable and configure automatic charges (auto charges) by channel in Microsoft
Dynamics 365 Commerce.
Overview
You might have scenarios where recycling fees or other fees must be applied to a group of products that are sold
in all or some stores in a specific state (for example, California). The Enable filter auto charges by channel
feature in Commerce lets you specify auto charges by channel (for example, a specific brick-and-mortar channel).
This feature is available in Dynamics 365 Commerce version 10.0.10 and later.
To enable and configure auto charges by channel, you must complete the following tasks:
Turn on the Enable filter auto charges by channel feature.
Configure the organization hierarchy purpose.
Define auto charges by channel.
NOTE
The Enable filter auto charges by channel feature works only if the advanced auto charges feature is also turned on.
For information about how to turn on the advanced auto charges feature, see Omni-channel advanced auto charges.
WARNING
If you turn off the Enable filter auto charges by channel feature after you've already used it, the Retail channel
relation field under Auto charges will no longer appear, and you will lose all existing configurations. If removal of the
Retail channel relation configurations will cause auto charges rules to be duplicated, an attempt to turn off the feature
will fail. Before you turn off the feature, be sure to review all auto charges rules and make any required changes.
An auto charge is created at the line level. It has the following configuration:
The Account code field is set to All .
The Item code field is set to Table .
The Item relation field is set to product ID 91001 .
The Mode of deliver y code field is set to All .
The Retail channel code field is set to Table .
The Retail channel relation field is set to the San Francisco store.
An auto charges line is created. It has the following configuration:
The Currency field is set to USD .
The Charges code field is set to RECYCLE .
The Categor y field is set to Fixed .
The Charges field is set to $6.25 .
In the POS application, a sales order is created in the San Francisco store channel. The Charges line shows the
recycling fee of $6.25 .
By selecting Transaction options > Charges > Manage charges in the POS application, you can view the
charges code and description for the recycling fee.
Additional resources
Omni-channel advanced auto charges
Prorate header charges to matching sales lines
Prorate header charges to matching sales lines
3/31/2020 • 7 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic describes the functionality for grouping header-level auto-charges and prorating them to commerce
sales lines. This functionality is available for transactions that are created at the point of sale (POS) in Retail version
10.0.1 and sales that are created in a call center in Retail version 10.0.2.
This functionality is available only if the advanced auto-charges feature is turned on by using the option on the
Commerce parameters page. Additionally, the enhanced calculation method for auto-charges can be applied
only to sales orders that are created through commerce channels (the POS, a call center, and the Dynamics e-
Commerce platform).
This new functionality gives organizations more flexibility in the way that header-level auto-charges are calculated
and applied to sales transactions.
In versions of the app earlier than version 10.0.1, header-level auto-charges that have a specific mode of delivery
relation are calculated only when there is a match with the mode of delivery that is defined on the sales order
header.
For example, header-level auto-charges are defined for mode of delivery 99 and mode of delivery 11 . A sales
order is created, and mode of delivery 99 is defined on the order header. However, some of the sale lines are set up
so that they're shipped by using mode of delivery 11 . In this case, only the header-level charges that are linked to
mode of delivery 99 are considered and applied to the sales order.
In Commerce, the header-level charges have an additional feature that lets you define a tiered charge configuration
that is based on the order value. For example, if the order value is between $50.00 and $200.00, an organization
might want to charge a freight charge of $5.00. However, if the order value is between $200.01 and $500.00, the
freight charge might be $4.00.
Some organizations want the benefits of the tiered charge calculation that is provided with header-level charges.
However, in scenarios that involve mixed modes of delivery, they also want to make sure that the charges that are
calculated are based on a match with the mode of delivery that is defined on each sales line.
You can now configure header-level auto-charges so that all modes of delivery on the order are considered when
charges are calculated. This functionality requires a more complex calculation logic to calculate the header-level
charges. The logic groups together all the items that are shipped using the same mode of delivery, and it treats that
group as the calculation group for the items when it calculates the header-level auto-charges. For items that have
the same mode of delivery, auto-charges are calculated based on the combined sales value of the items. In this
way, the appropriate auto-charge tier is determined.
After the appropriate header-level charges are obtained for the sales lines that are shipped using the same mode
of delivery, the calculated charges are prorated down to the sales line level. Because these charges are at the line
level and not kept at the header level, a more specific link is made between the item and the charge value that
calculated for it. This behavior can be useful in partial return scenarios, where an organization wants to refund only
part of the charge instead of the whole charge when only some items are returned.
Scenarios
The following two sample scenarios outline how these charges are calculated both when the new functionality is
used and when it isn't used.
Scenario 1
This scenario outlines the behavior when the Pro-rate to matching sales lines option is set to No in the auto-
charge setup. (The behavior is equivalent to the behavior of header-level charges in app versions that are earlier
than version 10.0.1.)
In this scenario, the organization has defined header-level charges for mode of delivery relation 99 and mode of
delivery relation 11 . No auto-charges are configured for mode of delivery 21 .
A sales order is created in the call center, and the mode of delivery is set to 99 . This order contains five items. Two
order lines have been configured to use mode of delivery 99 , two lines have been configured to use mode of
delivery 11 , and one line has been configured to use mode of delivery 21 , as shown in the following table.
81331 1 11 $10
81332 1 99 $50
81333 2 11 $30
81334 3 99 $10
81334 3 21 $5
In this scenario, the whole order is evaluated against the auto-charge table for mode of delivery 99 . The full total
of all sales lines is used to determine a matching tier in the auto-charge configuration, and this charge is applied at
the order header level. In this example, the order total is $165.00, and the $15.00 freight charge is applied to the
order header. Auto-charges that are configured for mode of delivery 11 are never referenced or applied.
In this scenario, if a customer returns some of the items on the order, and if the charge code has been configured
so that it will be refunded, the total header-level charge is systematically applied to the refund, even if only some of
the items are returned.
Scenario 2
In this scenario, header-level charges are defined for mode of delivery relation 99 and mode of delivery relation
11 . However, the Pro-rate to matching sales lines option is set to Yes for these auto-charge tables.
This scenario uses the same sales order that contains five lines. The mode of delivery on the order header is set to
99 , but the mode of delivery for each item on the sales order is configured as shown in the following table.
81331 1 11 $10
81332 1 99 $50
81333 2 11 $30
81334 3 99 $10
81334 3 21 $5
Because the auto-charge configuration is set to prorate to matching sales lines, the system performs the following
calculation steps.
1. All items that have the same mode of delivery are grouped together, and the system calculates the total
product value of the items in the group.
Deliver y mode 11
Item 81331, quantity 1 = $10
Item 81333, quantity 2 = $60 net ($30 per unit)
Total product value for deliver y mode 11 = $70
Deliver y mode 99
Item 81332, quantity 1 = $50
Item 81334, quantity 3 = $30 net
Total product value for deliver y mode 99 = $80
Deliver y mode 21
Item 81334, quantity 3 = $15 net
Total product value for deliver y mode 21 = $15
2. The system looks for the configuration for header-level auto-charges that matches the customer and mode
of delivery settings for each group of items. If the configuration is found, the system looks in the tiered
configuration to find the charge that should be applied, based on the total product value of items in the
mode of delivery group.
Deliver y mode 11
Total product value = $70
Charge value = $7
Deliver y mode 99
Total product value = $80
Charge value = $15
Deliver y mode 21
Total product value = $15
Charge value = $0 (No auto-charges have been configured for this combination of a customer and a
mode of delivery.)
3. The system calculates the charge value that should be applied to each line, based on proration logic that
considers the proportional value of the line in relation to the group's total product value.
Deliver y mode 11
Charge value = $7
Group product value = $70
Line 1 value = $10 (= 14.2857 percent of the group value)
Line 3 value = $60 (= 85.7143 percent of the group value)
Line charge for line 1 = $1
Line charge for line 3 = $6
Deliver y mode 99
Charge value = $15
Group product value = $80
Line 2 value = $50 (= 62.5 percent of the group value)
Line 4 value = $30 (= 37.5 percent of the group value)
Line charge for line 2 = $9.38
Line charge for line 4 = $5.62
Deliver y mode 21
Charge value = $0
Group product value = $15
Line 5 value = $15 (= 100 percent of the group value)
Line charge for line 5 = $0
Therefore, for this example, item 81334 will be assigned a freight charge of $5.62. You can view these charges on
the Maintain charges page for the sales line. The following illustration shows what this page looks like for item
81334.
When this method of calculation is used in a partial return scenario, if the charge code is refundable, only the part
of the charge that is allocated to that line will be refunded when the item is returned.
Additional resources
Omni-channel advanced auto charges
Enable and configure auto charges by channel
Set up continuity programs for call centers
2/1/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This article describes how to set up a continuity program for a call center.
In a continuity program, which is also known as a recurring order program, customers receive regular product
shipments according to a predefined schedule. Each shipment can contain a different product, as in the case of a
book-of-the-month club, or the same product can be sent repeatedly. To set up a continuity program, you must
complete the following tasks.
1. Set the continuity parameters on the Call center parameters page.
2. Create a continuity program that specifies details such as the payment schedule, the timing of the
shipments, and whether billing is up front. You must also add a list of products that are included in the
continuity program. Each product receives an event ID number that is assigned sequentially, beginning with
1. The event IDs determine the order that products are sent in.
If customers receive a different product in each shipment, the products are sent in sequential order,
based on their event IDs and beginning with the current event.
If customers receive the same product in each shipment, the list contains only one product that has one
event ID. The same event occurs repeatedly. You can specify how many times each event is repeated.
3. Create a parent product that represents the continuity program that you created in task 2. If you add this
product to a sales order, the Continuity page opens. You can then use that page to create the actual
continuity order. The parent product doesn't specify the individual products that the customer receives in
each shipment.
After you've set up a continuity program as described above, you can create a continuity order for a customer. You
might also have to perform the following additional maintenance tasks.
Update the current continuity event period – Set up a batch job that tells the system what the current
event period is.
Create continuity child orders – Create child orders from the parent continuity order.
Process continuity payments – Process billing and notifications for payments that are associated with
continuity sales orders.
Extend continuity lines (if required) – Extend the number of times that a continuity event can be repeated.
The repetition of shipments can then extend beyond the limit that was set in the Continuity repeat threshold
field in the call center parameters.
Perform a continuity update (if required) – Synchronize changes between the continuity program and the
continuity parent sales orders.
Close continuity parent lines and orders – Close continuity orders.
Define continuity schedules
3/18/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic walks through setting up a continuity program (otherwise known as reoccurring orders). This topic uses
company USRT in the demo data.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
Overview
From a single place, retailers can create, maintain, and manage the store hours for different stores across
geographic regions. The store hours can then be shown on point of sale (POS) terminals. In this way, cashiers can
share store hours with customers and better help shoppers who are interested in inventory in other stores. The
store hours can also be printed on receipts, in case customers want to return to the store later.
Multiple store hours can be configured across different channels. These channels include brick-and-mortar stores,
call centers, mobile devices, and e-Commerce sites.
If a customer has a pickup order for a different store, the cashier can select dates when the pickup will be available
in that store. The store lookup will provide a reference to the dates and store times. The cashier can select a date
and location, and can also print a pickup receipt that includes the store hours.
This functionality is available in Microsoft Dynamics 365 Retail versions 8.1.2 and later.
NOTE
You can create multiple templates that have overlapping start and end dates. Therefore, you can, for example, define
store hours for stores in different time zones.
4. Associate the store hours template with the stores where it will be used. In the Choose organization
nodes dialog box, select the stores, regions, and organizations that the template should be associated with.
Only one store hours template can be associated with each store.
Use the arrow buttons to select stores, regions, or organizations. The calendar will be available to the
stores or store groups, and it will be visible at the POS for reference.
5. On the Distribution schedule page, run the 1070 and 1090 jobs to make the store hours available to the
POS.
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic describes the Commerce Scale Unit and when to use it.
Overview
Commerce Scale Unit is a set of features that supports selling products in a store that have inconsistent internet
connectivity to a back office or headquarters (HQ). The Store Scale Unit is designed specifically for in-store
operation, and enables cross-terminal transactions and shift operations despite poor internet service. By
automatically connecting to the back office, when you do have internet connectivity, your store can seamlessly
process credit card transactions, issue gift cards, and sync data with HQ. The Store Scale Unit is available for
download in the standard HQ deployment.
Additional resources
Configure and install Commerce Scale Unit
Configure and work with call center order holds
2/1/2020 • 8 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic describes the order hold features that Dynamics 365 Commerce has for call center orders.
NOTE
If the line is selected on the page, the highlight color isn't visible.
Users can also view detailed status information for a sales order to learn whether the order is on hold. The detailed
status information can be accessed from the All sales orders or Customer ser vice page. If an order is on hold,
the Do not process flag is set for it, and the Detailed status field shows a status of either On Hold or Fraud
Hold , depending on the scenario.
To view the details of an individual order hold, users can open a detailed view of the Order hold page from the
Customer ser vice page, by using the Options menu for the selected order. Users can also access this view from
the All sales order page, by selecting the Order holds menu item on the Sales order tab.
Viewing all orders that are on hold
To view all orders that have been put on manual or automatic hold, go to Retail and Commerce > Customers >
Order holds .
The Order holds workbench provides a list view of all orders that are on hold because of manual or fraud-related
hold actions. By taking advantage of the standard filtering and sorting options on the page, users can create views
that let them work with or manage specific hold codes that they are responsible for reviewing. The Order holds
workbench also indicates the number of days that an order has been on hold. This information can help users
prioritize the queue.
To get a more detailed view of the orders that are on hold, users can click the Order hold option on the menu. This
view providing information about the customer, any notes that have been applied to the order, customer, or hold
action. The view also provides details about the reason for an automatic hold, if the order was put on hold because
it matched a fraud rule.
From both the list view and the detailed view of the Order holds page, users can view or edit additional order-
related information, such as payments, totals, and notes.
The options on the Hold checkout tab might be useful if multiple users in your company work on the hold queue
at the same time. By selecting the Check out option, users can indicate that they are working to review and
investigate the order hold. In this way, other users don't waste time by trying to do the same work. From the
detailed view of the Order holds page, users can view information about the checkout date and time, and the user
who checked out the hold record.
After a hold record is checked out, only the user who checked it out can clear the checkout. This restriction is
intended to prevent users from taking records that other users are already working on. To release an order back to
the queue so that other users can work on it, the user who checked out the record selects the Clear checkout
option.
NOTE
The hold isn't released when the checkout is cleared.
In some situations, such as when a user is out sick or has left the company, records that are checked out to that
user might have to be reassigned to another user. A manager can reassign records by using the Override
checkout option.
Reporting options
Go to Retail and Commerce > Inquiries and repor ts > Call center repor ts > Order holds repor t to run a
report about order holds by date range, hold code, or other related criteria.
Payment methods
2/1/2020 • 3 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
Each payment type that a retailer accepts must be configured when the system is set up. This article describes the
payment types that you can set up and describes the process for setting them up.
Retailers can accept various types of payment in exchange for the products and services that they sell. Although
cash is the most common form of payment, retailers can also receive payment in the form of checks, cards,
vouchers, and so on. Each payment type that the retailer accepts must be configured in Dynamics 365 Commerce
when the system is set up. The following list describes each payment type that can be set up:
Cash – Money in the physical form of currency, such as banknotes and coins. This currency can be either the
company currency or the store's local currency.
Check – A negotiable instrument that instructs payment of a specific amount of a specific currency, and that is
drawn on a specific bank. A check is typically valid either indefinitely or for six months after the date of issue,
unless another period of validity is specified. This period varies, depending on the bank that the check is drawn
on. There are various kinds of checks, such as order checks, counter checks, bearer checks, and account payee
checks. You can set up checks as a payment method for each store. Checks can be accepted in the currency that
is defined at either the company level or the store level. You must set up checks as a payment method before
you can accept a check as payment in a store.
Currency – The primary form of payment other than the company's default currency. Coins and paper money
are both forms of currency. The currency payment method represents all currency that is used. Before you can
use this payment method, you must set up currencies and specify exchange information for the currencies.
Card – All the kinds of cards that are used, such as debit cards and credit cards. It's a good idea to set up one
card payment method at the organization level, to represent every kind of card. Then, at the store level, set up a
payment method for each card or set of cards that is processed by using the same settings. You must set up the
manufacturer cards that are available in the market, such as debit cards and credit cards, before you can accept
the cards as payment in a store.
Credit memo – Credit memos that are issued or redeemed at the point of sale. The credit memo can be a credit
or a return credit memo that is issued against a return sale. If credit memos are only partially redeemed, the
program issues a new credit memo for the new balance. The new credit memo has a new number. A credit
memo can be used only one time, and the system keeps a record of all the numbers that are used. The record
can be viewed on the Credit memo table page. A customer can't redeem more than the value of the credit
memo.
Gift Card – Gift cards that are issued and redeemed at the point of sale. Overpayment isn't allowed on gift
cards.
Customer account – Payments that can be charged to a customer account at the register at the time of the
sale. You can also use this payment method to collect sales information or customer-specific discounts when the
customer makes a payment by using another payment method. In this case, you must set up customer-specific
information.
Loyalty points – The points that customers accumulate through loyalty programs. If you create loyalty
programs, customers can earn points and then redeem them in various ways. For example, in some loyalty
programs, customers can redeem loyalty points in the form of a discount or even use them as a form of
payment.
To set up payment methods, you must complete the following tasks.
1. Set up payment methods for an organization. Create the payment methods that are accepted by the whole
organization.
2. Create organization-wide card types and card numbers. If credit cards or debit cards are accepted, you must
create one payment method for cards, and then create the organization-wide card types and card numbers.
3. Set up store payment method. Associate payment methods with each store, and then enter the store-specific
settings for each payment method.
4. Set up card payment methods for stores. For any card payment methods that the store accepts, complete the
card setup.
Payment methods in call centers
2/1/2020 • 5 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
In Dynamics 365 Commerce, the configuration of the call center channel includes a setting that is named Enable
order completion . This setting helps guarantee that all orders that users of the channel create are released to
order processing only if they have a prepaid or pre-authorized payment that is within approved tolerances. If the
Enable order completion setting is turned on, call center users can enter payments against sales orders for
customers by using the payment processing features of Call center. If the setting is turned off, call center users can't
use the Call center payment processing features, but they can still apply prepayments to sales orders by using
standard Accounts receivable functionality.
As part of the channel configuration, a company can define the methods of payment that are allowed for a call
center channel. The call center channel uses the same payment methods that are defined for the store channels.
To configure the payment methods for a call center channel, go to Retail and Commerce > Channels > Call
centers > All call centers , and then, on the Set up menu, select the Payment methods option.
When you create a payment method, there are five payment method functions that you can assign.
F UN C T IO N DESC RIP T IO N
Check Use the Check function when you define a bank check
instrument as a form of payment. When this type of payment
is applied to a sales order, the user must enter the customer's
check number as part of the payment application processing.
Check payments are always treated as prepayments when
they are applied and payment vouchers are created
immediately upon order submission. These prepayment
vouchers will be systematically settled against the invoices
that are created for the order.
F UN C T IO N DESC RIP T IO N
Tender Remove/Float The Tender Remove/Float function isn't used by the call
center. It's applicable only when you define the methods of
payment that the point of sale (POS) application uses in a
store channel.
As methods of payment are defined, they should be linked to a ledger or bank account. If you omit this step, users
will receive errors when they try to save the payment type.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This article provides an overview of credit card authorization in Microsoft Dynamics 365 Finance. It includes
information about how to set up a payment service, add a credit card to a sales order, and void an authorization.
Data support
For each credit card type that is supported, you can specify the level of data support. The level controls how much
information about a transaction is transferred to the payment service. Be sure to check with your provider to
determine whether it can provide this information. Here are the options for the level of data support:
Level 1 – Transfer the transaction date, transaction amount, and description.
Level 2 – Transfer all Level 1 information, plus the shipping and merchant addresses, and tax information.
Level 3 – Transfer all Level 2 information, plus order line information.
Partial payments
If you ship part of an order, the amount of the partial order is captured, and the authorization, which was for the
amount of the whole order, is closed. A new authorization is then submitted for the remaining amount of the order
that hasn't been shipped.
Voiding an authorization
To void a credit card authorization, you can change the method of payment to another method that doesn't have a
type of Credit card.
Configure cash denominations for the point of sale
(POS)
2/1/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
Cash denominations for notes and coins can be defined in the back office to be used by cashiers, sales associates,
and managers at the store from within the POS. These denominations can be used to aid in counting cash for end
of day tender declarations or for quickly tendering a sale.
Define denominations
The denominations are set up per store on the Set up > Cash declaration option from the store property page.
To define a denomination:
1. Click New .
2. Specify the type (coin or note).
3. Specify the amount (value).
Configure the functionality profile
When paying by cash in POS, the user can use the note denominations to quickly enter the amount paid by the
customer. In the functionality profile, you can configure the two options for showing the denomination in POS.
Greater or equal to amount due – By default, POS will only show the note denominations that are greater
than the amount due, which allows for one-touch tendering. For example, if the amount due is $7.50, POS would
show the following denominations: $10, $20, $50, and $100. Touching any of these amounts will automatically
tender the sale for that amount. The $1 and $5 notes are not shown since these amounts are less than the
amount due.
All denominations – Select this option to always show all note denominations in POS, regardless of the
amount due. This means that the user can use a combination of notes to reach the amount due. For example, if
the amount due is $25.00, the user can choose $20 and $5 to complete the sale.
Configure credit card processing
3/18/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This procedure walks through how to view the list of payment providers and how to configure a payment account
for accounts receivable. This procedure uses the USRT company in demo data and is intended for Administrators
and IT Professionals.
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic provides an overview of the Microsoft Dynamics 365 Payment Connector for Adyen. It includes a
comprehensive list of supported features and functionality, a guide to setting up and configuring the connector,
troubleshooting information, and descriptions of some common issues.
Key terms
T ERM DESC RIP T IO N
Card not present Refers to payment transactions where a physical card is not
present, such as e-Commerce or Call Center scenarios. In
these scenarios the payment related information is entered
manually either on an e-Commerce website, a Call Center flow,
or on the point-of-sale or payment terminal.
Overview
This topic includes the following main sections to help you evaluate and set up the Dynamics 365 Payment
Connector for Adyen.
Supported features, functionality, versions, and terminals – This section describes the set of features and
functionalities that the Dynamics 365 Payment Connector for Adyen supports.
Sign up with Adyen – This section explains how to sign up for a merchant account with Adyen.
Setup and configuration – This section explains, in detail, how to set up and configure the Dynamics 365
Payment Connector for Adyen across the point of sale (POS), call center, and e-Commerce channels.
8.1.3
10.0.4
10.0.5
10.0.6
10.0.7
10.0.8
10.0.9
10.0.10
Dynamics 365 Retail POS version 8.1.3
M IN IM UM A DY EN F IRM WA RE VERSIO N M A XIM UM A DY EN F IRM WA RE VERSIO N
adyen_v1_35p15 adyen_v1_35p15
MasterCard Credit ✔ ✔ ✔
MasterCard Debit ✔ ✔ ✔
MasterCard Maestro ✔ ✔ ✔
MasterCard Maestro UK ✔ ✔ ✔
VISA Credit ✔ ✔ ✔
VISA Debit ✔ ✔ ✔
B RA N D VA RIA N T C A RD P RESEN T E- C O M M ERC E C A L L C EN T ER
AMEX Credit ✔ ✔ ✔
AMEX Debit ✔ ✔ ✔
Discover Standard ✔ ✔ ✔
Diners Standard ✔ ✔ ✔
Dineromail Standard ✔ ✔ ✔
JCB Standard ✔ ✔ ✔
*Interac and Union Pay recurring card tokens are not provided by Adyen, so they are cannot be supported for card
not present transactions.
Supported gift cards
SC H EM E C A RD P RESEN T C A RD N OT P RESEN T
To support these external gift card schemes through the Dynamics 365 Payment Connector for Adyen, you must
complete additional steps. For more information, see Support for external gift cards.
Supported wallets
SC H EM E C A RD P RESEN T C A RD N OT P RESEN T
IN P UT M ET H O D SUP P O RT ED N OT ES
Dip ✔
Swipe ✔
Tap ✔
Manual Entry through POS UI. ✔ Does not support pin entry.
C O UN T RY SUP P O RT ED
Australia ✔
Austria ✔
Belgium ✔
C O UN T RY SUP P O RT ED
Canada ✔
Croatia ✔
Cyprus ✔
Czech Republic ✔
Denmark ✔
Estonia ✔
Finland ✔
France ✔
Germany ✔
Greece ✔
Hungary ✔
Hong Kong ✔
Iceland ✔
Ireland ✔
Italy ✔
Latvia ✔
Lithuania ✔
Netherlands ✔
Norway ✔
Poland ✔
Portugal ✔
Singapore ✔
Slovakia ✔
Slovenia ✔
Switzerland ✔
C O UN T RY SUP P O RT ED
Spain ✔
Sweden ✔
Switzerland ✔
United Kingdom ✔
United States ✔
SC H EM E C A RD P RESEN T C A RD N OT P RESEN T
Linked Refunds ✔ ✔
(Starting with 10.0.1) (Starting with 10.0.1)
Prerequisites
The following prerequisites must be completed before payments can be configured in any channel.
Set up a processor for new credit cards
To process payments across point of sale (POS) terminals, a call center, or e-Commerce, you must configure a new
default payment processor for new credit cards. Follow these steps to configure a default payment processor.
1. Sign in to Headquarters, and go to Accounts receivable > Payments setup > Payment ser vices .
2. On the Action Pane, select New , and then, on the Setup tab, enter the following information.
Payment service Enter the name of the payment Adyen Payment Service
service to configure.
Payment connector Select the payment connector to use Dynamics 365 Payment Connector
for new credit card payments. for Adyen
Default processor for credit cards Specify whether this payment Yes
processor should be the default
processor that's used for new credit
cards.
Bypass payment processor for zero Specify whether this payment Yes
transactions processor should be skipped for
transactions that have a 0 (zero)
amount.
3. On the Payment ser vice account tab, enter the following information.
A UTO M AT IC A L LY
F IEL D DESC RIP T IO N REQ UIRED SET SA M P L E VA L UE
Local Key Identifier This field is used No Yes Leave this field
only for the POS blank.
payment terminal
integration and
should be left blank.
Local Key Version This field is used No Yes Leave this field
only for the POS blank.
payment terminal
integration and
should be left blank.
A UTO M AT IC A L LY
F IEL D DESC RIP T IO N REQ UIRED SET SA M P L E VA L UE
Terminal gift card POS Only Allows the Yes Yes True/False
entry customer to select
between Manual or
Swipe .
NOTE
These instructions assume that you have access to an Adyen payment terminal.
Go to the Point of sale page on the Adyen website, and follow the instructions to onboard your Adyen payment
terminal. Skip any steps that instruct you to download Adyen-specific apps. During the onboarding process, make a
note of the following information for each payment terminal. You will need this information in the Configure the
payment terminal IP address and EFT POS register number section later in this topic.
IP address of the payment terminal
POIID (POIID is comprised of the serial number and model number of the device. It is used to uniquely identify
the device.)
After the payment terminal is onboarded, sign in to the Adyen Customer Area, go to the terminal that you want to
configure, and make a note of the following information for each payment terminal. You will need this information
in the EFT service section later in this topic.
Key identifier
Key passphrase
Key version
Set up a Dynamics 365 POS hardware profile
1. Sign in to Headquarters, and go to Retail and Commerce > Channel setup > POS setup > POS profiles
> Hardware profiles .
2. Select the hardware profile to add the Dynamics 365 Payment Connector for Adyen for.
3. Follow the steps in the EFT service and PIN pad sections that follow.
E F T se r v i c e
1. On the EFT ser vice FastTab, in the EFT Ser vice field, select Payment Connector .
2. On the Connectors tab, select New , and then, in the Connector field, select Dynamics 365 Payment
Connector for Adyen . Make sure that the value in the Sequence number field is lower than the value for
all other connectors.
3. In the Connector proper ties section, enter the following information.
A UTO M AT IC A L LY
F IEL D DESC RIP T IO N REQ UIRED SET SA M P L E VA L UE
Terminal gift card POS Only Allows the Yes Yes True/False
entry customer to select
between Manual or
Swipe .
1. On the PIN pad FastTab, in the PIN pad field, select Network .
2. In the Device name field, enter MicrosoftAdyenDeviceV001 .
Set up a Dynamics 365 register
NOTE
These instructions assume that there is a dedicated mapping between a POS register and an Adyen payment terminal. For a
hardware station that is based on Microsoft Internet Information Services (IIS), go to Retail and Commerce > Channels
> Stores > All stores , and select the store that you're setting up. Then, on the page for that store, on the Hardware
Stations FastTab, follow the same instructions.
Payment terminals may not be used by multiple hardware stations. If a payment terminal must be shared by
multiple POS devices, an IIS hardware station must be deployed to manage communications with the payment
terminal.
C o n fi g u r e t h e p a y m e n t t e r m i n a l I P a d d r e ss a n d E F T P O S r e g i st e r n u m b e r
1. Sign in to Headquarters, and go to Retail and Commerce > Channel setup > POS setup > Registers .
2. Select the register to link to the Adyen payment terminal.
3. On the POS Registers page, on the General FastTab, in the EFT section, in the EFT POS register number
field, enter a unique number. The register number must be exactly four digits long, and it must be unique across
all POS registers that are under the same Adyen merchant account ID.
4. In the Profiles section, in the Hardware profile field, select the hardware profile that you configured earlier.
5. Save your changes.
6. On the Action Pane, on the Register tab, in the Hardware group, select Configure IP addresses .
7. On the IP address configuration page, on the PIN pad FastTab, in the IP address field, enter the IP address
of the terminal in the following format: https://<IP address>:8443/nexo/<POIID> . Here, <IP address> and
<POIID> are the values that you made a note of when you onboarded the Adyen payment terminal. Here is an
example: https://192.168.1.3:8443/nexo/MX925-123456789 . Note, the values in this URL are case sensitive.
Update the Modern POS or IIS Hardware Station configuration
If you're packaging your own version of Modern POS by using the Retail SDK, you must follow these steps only one
time in the SDK code before the installer is packaged. Otherwise, you must follow these steps after the standard
Modern POS or IIS Hardware Station is installed.
1. Open the dllhost.exe.config file (for Modern POS) or the web.config file (for IIS Hardware Station).
2. Update the PreloadedComposition section as shown here, to switch from the legacy payment device
adapter to the standard payment device adapter.
<PreloadedComposition>
<composition>
<add source="assembly"
value="Microsoft.Dynamics.Commerce.HardwareStation.Peripherals.PaymentDeviceAdapter" />
<!-- Switch from legacy to standard Payment Device Adapter.
<add source="assembly"
value="Microsoft.Dynamics.Commerce.HardwareStation.Peripherals.Legacy.PaymentDeviceAdapter" />
-->
</composition>
</PreloadedComposition>
A UTO M AT IC A L LY
F IEL D DESC RIP T IO N REQ UIRED SET SA M P L E VA L UE
Local Key Identifier This field is used No Yes Leave this field
only for the POS blank.
payment terminal
integration and
should be left blank.
Local Key Version This field is used No Yes Leave this field
only for the POS blank.
payment terminal
integration and
should be left blank.
Cloud API Key Enter the Adyen Yes No The full cloud API
cloud API key. You key
can obtain this key
by following the
instructions on the
How to get the API
key page on the
Adyen website.
Terminal gift card POS Only Allows the Yes Yes True/False
entry customer to select
between Manual or
Swipe .
Troubleshooting
POS payment terminals
General issues
For all general issues, you should always consult the Modern POS or IIS Hardware Station event logs first. You can
find these logs found under the following nodes in the Microsoft Windows event log:
Application and Services Logs > Microsoft > Dynamics > Commerce-ModernPOS
Application and Services Logs > Microsoft > Dynamics > Commerce-Hardware Station
Failing payment transactions
When payment transactions aren't successfully processed through the Adyen payment terminal, the corresponding
error messages in the Dynamics 365 POS will contain a PSP reference number(PSP is the reference ID provided by
Adyen used to uniquely identify each transaction). Provide this reference number when you contact Adyen support
for help with specific transactions.
Common issues
POS payment terminals
The EFT terminal ID isn't set
Root cause This issue can occur when the EFT POS Register Number
field isn't set on the register or the IIS Hardware Station. It can
also occur if the value is set but isn't correctly synced to the
POS terminal. Finally, it can also occur when the value is
cached.
Root cause This issue can occur when the POS is redeployed but the
dllhost.config file hasn't been updated.
Fix Follow the instructions in the Update the Modern POS or IIS
Hardware Station configuration section earlier in this topic.
Then end the dllhost.exe task on the Details tab in Task
Manager, and reopen Modern POS. If you're using an IIS
Hardware Station, reset IIS.
Related articles
Payments FAQ
Saving online payment instruments with the Adyen
connector
2/1/2020 • 5 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic describes the setup and functionality that are related to saving payment instruments when you use the
Adyen "card not present" payment connector for the Dynmics e-Commerce platform.
Key terms
T ERM DESC RIP T IO N
Card token A token that a payment processor provides for storage in the
POS system. The card token, or card reference, can be used
only by the merchant who receives it
Overview
When e-commerce orders are created, retailers often offer to save the customer's payment card information so that
it can be used for future transactions. This topic explains how that capability ("List PI") is delivered through the
Microsoft Dynamics 365 Payment Connector for Adyen. Although the Adyen payment connector supports this
capability out of the box, third-party payment connectors require customization. Additionally, not all payment
processors might support the same method of saving payment card information.
The out-of-box implementation of the List PI capability relies on the payment processor to keep a mapping of an
online customer's unique ID to the payment instruments that have previously been processed through that
payment connector. Only customers who are signed in to the website as named users have the option to save their
payment card information for their next online visit. Customers who use a "guest checkout" option when they
create an online order won't be able to save payment card information for future transactions.
Prerequisites
The List PI capability requires the following elements:
An e-commerce integration with Microsoft Dynamics 365 Commerce
A payment connector that is compatible with the List PI capability
A payment processor that maps unique customer IDs to the payment instruments that the customers want that
payment processor to save
For more information about how to implement payment connectors and the software development kit (SDK) in
general, visit the Commerce for IT pros and developers home page.
Setup
The List PI capability requires the following components and setup steps:
E-commerce integration – An online storefront integration with Commerce is required. For more
information about the e-Commerce SDK, see e-Commerce platform software development kit (SDK).
Online payments configuration – The Dynamics 365 Payment Connector for Adyen supports List PI out
of the box. For information about how to configure payments for online stores, see Dynamics 365 Payment
Connector for Adyen.
In addition to completing the ecommerce setup steps that are described in that topic, you must set the
Allow saving payment information in e-commerce option in the Payment accounts fasttab of the
Online store form to Yes .
Omni-channel payments configuration – In the back office, go to Retail and Commerce >
Headquar ters setup > Parameters > Commerce shared parameters . Then, on the Omni-channel
payments tab, set the Use omni-channel payments option to Yes .
Functional experience
Guest checkout
When e-commerce visitors choose to check out as guests, customer records aren't created during checkout, and the
customers can't save payment instruments for their next visit.
Named user checkout
When named users (signed-in customers) go to the payment step of the checkout process, they will experience the
List PI capability. The first time that a named user checks out, a Save for my next payment check box appears in
the section where credit card information is entered.
If this check box is selected, when a new credit card is submitted for payment, the named user's unique customer ID
is sent to the payment processor, and the credit card is securely saved and mapped to the that unique customer ID.
If the same customer signs in during future visits to the storefront, he or she will be able to select the same credit
card for payment at checkout.
Related articles
Payments FAQ
Seamless offline switch for gift card and credit memo
operations
2/12/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
If a point of sale (POS) device loses its connection to the channel database, most POS operations and transactions
that were in progress can proceed after the cashier receives a warning message about the loss of connectivity.
However, in some cases, transactions have elements that rely on the real-time service, and those elements aren't
supported when the POS is offline. This topic describes some functionality that helps reduce the impact of lost
connectivity in these scenarios.
Related topics
Offline point of sale (POS) functionality
Online and offline point of sale (POS) operations
Set up pay invoice scenarios
2/1/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
The Pay invoice functionality in Dynamics 365 Commerce has been expanded to support:
Payoff of multiple sales order invoices in a single POS transaction.
Payment of various customer invoice types including free text invoices, project-based invoices, and credit notes.
To enable these scenarios, the functionality profile for stores must be configured as outlined in below.
1. Go to Retail and Commerce > Channel setup > POS setup > POS profiles > Functionality
profiles and select a profile that's linked to the stores that you want to make the changes for.
2. On the Functions tab, configure the following parameters as needed.
Sales order invoice – Select Yes to allow users to pay one or more sales order-based invoices in a
single POS transaction.
Free text invoice – Select Yes to allow users to pay one or more free text-based invoices in a single POS
transaction.
Project invoice – Select Yes to allow users to pay one or more project-based invoices in a single POS
transaction.
Sales order credit note – Select Yes to allow users to settle multiple sales order-based credit notes
against open invoices or process a refund to the customer for an open credit note.
NOTE
Payment or settlement of partial amounts is not yet supported.
Duplicate payments prevention
2/1/2020 • 5 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic provides an overview of the duplicate payments protection feature for Dynamics 365 Commerce Modern
POS.
Overview
This topic describes the user experience when the point of sale (POS) recovers from a loss of communication with
the payment terminal, which causes the POS and the payment terminal to be out of sync.
The duplicate payment protection feature ensures that Modern POS can seamlessly recover from a loss of
communication without requiring the shopper to process another payment through the payment terminal, which
can lead to duplicate payments.
This topic covers the following aspects of the duplicate payment protection feature:
Prerequisites – Set of prerequisites to leverage this feature in Modern POS.
Scenario details – Detailed description of the scenarios covered by the duplicate payment protection feature.
Troubleshooting – Steps to take when encountering issues with the duplicate payment protection feature.
Additional resources – List of related articles you might find useful when using the duplicate payment protection
feature.
Prerequisites
The payment connector and corresponding payment gateway or processor must support this feature. The
payment connector is an extension which facilitates communication between Commerce (and associated
components) and a payment service. The connector described in this topic was implemented using the standard
payments SDK.
If a connector implements the corresponding duplicate payment protection interfaces, the feature is
automatically enabled in Modern POS. Otherwise, it is automatically turned off.
Scenario details
The duplicate payment protection feature is applicable to any scenario in which a payment is initiated and
completed on a payment terminal, but Modern POS is unable to receive the corresponding response. As a result,
the customer's card (such as a credit card) is charged but the payment line is not added to the POS. In most cases,
the cashier will trigger a subsequent payment on the payment terminal, which results in a duplicate payment for
the customer.
How duplicate payments scenarios are triggered
1. Cashier initiates payment
The cashier initiates a card payment by clicking Pay card , navigates to the Payment page, and clicks
Tender .
2. Customer interacts with payment terminal
After the payment is initiated, the payment terminal prompts the customer for payment. The customer
initiates the payment process on the payment terminal.
3. Modern POS loses connectivity to the payment terminal
While the customer is running a payment on the payment terminal, Modern POS loses connectivity to the
payment terminal because it either crashes, loses network connectivity, is closed, or the terminal is
rebooted.
The cashier will re-launch Modern POS and address any connectivity issues.
4. Customer completes payment on the payment terminal
As Modern POS is being reset, the customer completes the payment on the payment terminal and is
charged.
5. Modern POS is launched
The cashier completes the reset/launch of Modern POS but the payment is not added to the cart.
Payment recovery scenarios
Once the point of sale or network communications have been recovered, there are several scenarios that will result
in the cashier being prompted to use the previous payment. Here are a few scenarios that can trigger payment
recovery:
If there is a unrecovered payment and the cashier takes one of the following actions, the cashier is shown a dialog
box indicating that a payment has already been made.
Invokes another payment for any amount using a card payment.
Invokes another payment for any amount using a cash payment.
Attempts to void a line on the cart.
Attempts to void the transaction.
Attempts to suspend the transaction.
When the cashier clicks OK , the payment is recovered and added as a payment line to the cart.
The primary function of the duplicate payment protection feature is to put Modern POS back into the same state it
would be if the original payment would have been successfully processed and the corresponding payment line was
added to the cart.
How to skip payment recovery
In some cases, the cashier might explicitly choose to skip the duplicate payment protection and opt not to recover a
previous payment. In those cases, the cashier can use the following steps described to void the transaction without
recovering the payment.
1. Re-launch Modern POS
After Modern POS has lost connectivity to the payment terminal, re-launch the POS.
2. Void the transaction
Navigate to the cart page and click Void Transaction .
3. Ignore the recovered payment
A new dialog box will appear indicating that a recovered payment is available. Click Ignore to skip the
payment recovery.
Troubleshooting
General issues
For all general issues, you should always consult the Modern POS or IIS Hardware Station event logs first. The logs
can be found under these nodes in the Windows event log:
Application and Services Logs > Microsoft > Dynamics > Commerce-ModernPOS
Application and Services Logs > Microsoft > Dynamics > Commerce-Hardware Station
Validate that the customer is not double charged
Even if the duplicate payment protection feature is enabled, it is generally recommended that the merchant verifies
that no double charge has occurred. To do this, check all transactions on the corresponding payment
gateway/processor portal.
Payment recovery fails
An error may occur while a previous payment is being recovered on Modern POS. This can happen if there is an
issue in the payment connector or payment gateway/processor that does not allow the previous payment to be
recovered. To resolve this issue, because the previous payment cannot be recovered, the cashier must skip the
recovery as described in the How to skip Payment Recovery section.
Additional resources
Payments FAQ
Omni-channel payments overview
2/1/2020 • 15 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This topic provides an overview of omni-channel payments in Dynamics 365 Commerce. It includes a
comprehensive list of supported scenarios, information about functionality, setup, and troubleshooting, and
descriptions of some typical issues.
Key terms
T ERM DESC RIP T IO N
Card token A token that a payment processor provides for storage in the
POS system. A card token can be used only by the merchant
who receives it. Card tokens are sometimes also referred to as
card references.
Authorization (auth) token A unique ID that a payment process provides as part of the
response that it sends to a POS system after the POS system
makes an authorization request. An authorization token can
be used later if the processor is called to perform actions such
as reversing or voiding the authorization. However, it's most
often used to capture funds when an order is fulfilled or a
transaction is finalized. Authorization tokens are sometimes
also referred to as authorization references.
Card not present A term that refers to payment transactions where a physical
card isn't presented. For example, these transactions can occur
in e-commerce or call center scenarios. For these transactions,
the payment-related information is manually entered on an e-
commerce website, in a call center flow, or on the POS or
payment terminal.
Supported scenarios
The following omni-channel payment scenarios are supported:
Buy online, pick up in store
Buy in call center, pick up in store
Buy in store A, pick up in store B
Buy in store A, ship to customer
Variations of these scenarios are also supported. For example, an online order might include both lines that will be
shipped to the customer and lines that will be picked up in a store. All order fulfillment options are supported via
omni-channel payments.
The following sections describe the steps for each scenario and show how to run the scenario by using demo data.
Buy online, pick up in store
Before you start, make sure that the following prerequisites are in place:
You have a reference storefront where the Adyen connector is configured.
The Omni-channel payments option on the Commerce shared parameters page is set to True .
The Adyen payment connector is configured for the Houston POS register.
Follow these steps to run the scenario.
1. In the reference storefront, create an order for in-store pickup. Be sure to select the Houston store.
2. Go through the checkout steps, and pay by using a test credit card number. You can find test credit card
numbers on the Adyen test card numbers page.
3. In Commerce, use the Synchronize orders batch job and the P-001 distribution schedule to create the
orders in the back office.
4. In the POS, on the welcome page, select the Orders to pickup operation to see the orders for in-store
pickup.
5. Select one or more lines from the order that was created in the reference storefront, and then select Pick
up .
The order is retrieved from the back office.
6. When the order line details are retrieved from the back office, and a card payment that can be used for
omni-channel is detected, you're informed that a payment method is available.
7. Select Use available payment method to complete the transaction by using the card details that were
entered in the reference storefront.
The order lines are loaded on the transaction page, and the balance due is 0 (zero).
8. Select the Payments tab to view the tender line that was pulled from the online order.
9. Select any payment method to complete the transaction.
Buy in call center, pick up in store
1. In Commerce, on the Customer ser vice page, enter Karen Berg in the search bar, and then select Search .
2. Select Karen Berg in the search results.
3. After Karen is loaded onto the Customer ser vice page, select New sales order .
4. On the new sales order page, select Header to view the order header.
5. On the Order header page, set the site to Central and the warehouse to Houston .
6. On the Deliver tab, set the Mode of deliver y field to 60 for customer pickup.
7. Select Lines , and then add one or more lines to the order.
8. Select Complete to enter the order completion flow.
9. Scroll down to the payments section, select Add , and then select a line where the payment method type is
set to Cards .
10. Select the plus sign (+ ) to add a card payment.
11. Enter the details for a test credit card number that you found on the Adyen test card numbers page, and then
select OK .
NOTE
If the card brand for the card number that you entered differs from the brand that was selected when the payment
was initiated, the payment will still go through. However, it will be posted to the accounts that are mapped to the
card brand that you selected in step 10.
12. Select OK again to close the Order completion payments dialog box.
13. On the Sales order summar y page, select Submit .
14. In the POS, on the welcome page, select the Orders to pickup operation to see the orders for in-store
pickup.
15. Select one or more lines from the order that was created in the reference storefront, and then select Pick
up .
The order is retrieved from the back office.
16. When the order line details are retrieved from the back office, and a card payment that can be used for
omni-channel is detected, you're informed that a payment method is available.
17. Select Use available payment method to complete the transaction by using the card details that were
entered in the reference storefront.
The order lines are loaded on the transaction page, and the balance due is 0 (zero).
18. Select the Payments tab to view the tender line that was pulled from the online order.
19. Select any payment method to complete the transaction.
Buy in store A, pick up in store B
1. Start the POS for the Houston store.
2. On the Transaction page, add Karen Berg to the transaction by using the number pad to enter 2001 .
3. Add one or more lines to the transaction.
4. Select Orders to see the order options.
5. Select Pick up all , and then, when you're prompted, select Customer order .
6. In the search bar, enter Seattle , and then select the Seattle store for pickup.
7. Select OK to accept the current date as the date of pickup.
8. Select Pay card to initiate the payment.
9. Tender the card payment for the amount that is due for the deposit.
10. Complete the deposit payment on the payment terminal.
11. After the deposit is paid, select the option to use the same card for fulfillment, and wait for the order to be
completed.
12. Start the POS for the Seattle store.
13. In the POS, on the welcome page, select the Orders to pickup operation to see the orders for in-store
pickup.
14. Select one or more lines from the order that was created in the reference storefront, and then select Pick
up .
The order is retrieved from the back office.
15. When the order line details are retrieved from the back office, and a card payment that can be used for
omni-channel is detected, you're informed that a payment method is available.
16. Select Use available payment method to complete the transaction by using the card details that were
entered in the reference storefront.
The order lines are loaded on the transaction page, and the balance due is 0 (zero).
17. Select the Payments tab to view the tender line that was pulled from the online order.
18. Select any payment method to complete the transaction.
Buy in store A, ship to customer
1. Start the POS for the Houston store.
2. On the Transaction page, add Karen Berg to the transaction by using the number pad to enter 2001 .
3. Add one or more lines to the transaction.
4. Select Orders to see the order options.
5. Select Pick up all , and then, when you're prompted, select Customer order .
6. In the search bar, enter Seattle , and then select the Seattle store for pickup.
7. Select OK to accept the current date as the date of pickup.
8. Select Pay card to initiate the payment.
9. Tender the card payment for the amount that is due for the deposit.
10. Complete the deposit payment on the payment terminal.
11. After the deposit is paid, select the option to use the same card for fulfillment, and wait for the order to be
completed.
When the order is picked, packed, and invoiced in the back office, the payment details that are provided at the POS
will be used to capture the funds for the goods that are being shipped to the customer.
Scenario details
In addition to the basic scenarios that were just described, several enhancements have been made to the Payments
SDK to support omni-channel payments.
POS
Single swipe/dip for customer orders
Before the omni-channel payments feature was implemented, when customer orders that included deposits were
created at the POS, customers were required to swipe (or dip) their card two times: one time to pay the deposit and
one time to tokenize the card for subsequent order fulfillment. When the omni-channel tokenization feature is
turned on, customers must swipe their card only one time to both pay the deposit and authorize the amount that is
due for goods that will be fulfilled later. At the time of fulfillment, the authorized funds are captured. Before the
omni-channel tokenization feature was implemented, only a recurring card token was created for subsequent order
fulfillment. Therefore, the funds for the pending fulfillment weren't authorized, and because those funds weren't
being held for that specific purchase, it was less likely that they could be captured later.
NOTE
Single swipe isn't supported in Retail version 8.1.3. Customer orders in version 8.1.3 use the same flow that was used before
the omni-channel tokenization feature was implemented.
Related topics
Payments FAQ
Dynamics 365 Payment Connector for Adyen
Payments FAQ
2/1/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This topic provides information about product information management. Product information management works
with a shared product definition, categorization, and identifiers across all legal entities, and also specific
configurations of a product, to fit into the business processes.
Product information is the backbone of supply chain and commerce applications across all industries. It refers to
processes and technologies that focus on centrally managing information about products (for example, across
supply chains). It's crucial that shared product definitions, documentation, attributes, and identifiers be used. In the
various modules of a business solution, product-specific information and configuration are required in order to
manage the business processes that are related to specific products, product families, or product categories.
Product definition
A product is primarily defined by a product number, name, and description. However, other data is also required in
order to describe a product or service:
Product type: Item or service
Product subtype: Distinct products or product masters
Definition of the product variant model:
Product dimensions and dimension groups
Product nomenclature
Product configuration models
Association of the product with one or more categories
Definition of the product and category attributes
Product images
Attachments
Units of measure and related conversions
Translations for all names and descriptions
Configuration technologies
You can choose among three configuration technologies:
The predefined variants are defined by predefined product dimensions. The variant definition includes the
definition of a specific valid combination of dimensions, such as Color, Style, and Size. Each combination
produces a distinct product variant.
The dimension-based configuration is typically used in manufacturing scenarios and lets you use the
Configuration dimension in the definition of the bills of materials (BOMs). After a specific configuration is
selected, the system uses the subset of BOM lines that are valid for that configuration for planning and
production. This concept is also known as global BOM, because one shared BOM is used for all configurations of
a product.
The constraint-based configuration uses a product configuration model to describe all possible attributes and
components that are required in order to describe all possible variants of a product in a single model. The
constraints of combinations of attributes can be described through regular expressions or table-based
constraints. Configuration models and configurators become more important in product information
management and are used across all industries.
When you plan the implementation of Supply Chain Management, it's very important that you choose the correct
configuration technology for a business process. A product can't be converted from one model to another after
implementation.
Released products
The products that are released to a specific legal entity are known as released products. Products can be released in
bulk to one legal entity or many legal entities at a time. Because various properties and attributes of the products
might have to be added per legal entity, the Released product maintenance workspace lets you monitor and
complete the recently released products in each legal entity, or in the suborganizations of a legal entity.
Released product maintenance workspace
You can configure the Released product maintenance workspace from the Configure my workspace menu
item. Select a category hierarchy and category to filter the workspace by. To adjust the relevant product data in the
workspace, you can also define, in days, the time fences for Recently released products and Stopped released
products .
The workspace consists of a summary of tiles and two lists. The Open cases list shows product change cases that
have products in the selected product category hierarchy that aren't completed and closed. The Recently released
list shows products that have been released within the time fence that is set in the workspace configuration. For
each item in the list, validation is run, and the validation status is shown. This status might indicate that the required
configurations for the legal entity hasn't been completed. From the list, you can directly access the Released
product details , Product attribute maintenance , Product categor y maintenance , Default order settings ,
and Text translations pages to complete the required configuration of the product.
Manually creating a new released product
You can manually create a released product in a single run, depending on the organization's business processes and
any rules about whether this function should be used. This function creates a new product and automatically
releases it to the current legal entity. To create a new product, click Released products in the Released product
maintenance workspace or on the Released product list page.
Set up retail products
2/13/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
Hierarchy types
The following table lists the types of category hierarchies that are available and the general purpose of each type.
Product hierarchy Use this hierarchy type to define the overall product hierarchy
for your organization. You can use this hierarchy type for
merchandising, pricing and promotions, reporting, and
assortment planning. Only one product hierarchy can be
assigned this hierarchy type.
Supplemental hierarchy Use this hierarchy type for any additional category hierarchies
that you want to create. For example, in the spring, you have a
promotion for swimwear. Therefore, you include your
swimwear products in a separate category hierarchy and apply
the promotional pricing to the various product categories.
Navigation hierarchy Use this hierarchy type to group and organize products into
categories so that the products can be browsed online or in
POS.
By using a category hierarchy to structure your products, you can set up and maintain product attributes and
properties at the category level. These attributes and properties include settings for product dimensions and POS
settings. Any products that you assign to the categories automatically inherit the attributes and properties that you
define. You can also copy the property settings for any product to multiple products in a selected category at the
same time.
Create a new product hierarchy
2/14/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic describes how to create a new product hierarchy in Microsoft Dynamics 365 Commerce.
Overview
Dynamics 365 Commerce supports multiple retail channels. These retail channels include online stores, call centers,
and retail stores (also known as brick-and-mortar stores). Each retail store channel can have its own payment
methods, price groups, point of sale (POS) registers, income accounts and expense accounts, and staff. You must set
up all of these elements before you can create a retail store channel.
A Commerce product hierarchy is used to define the overall product hierarchy for your organization. You can use a
Commerce product hierarchy for merchandising, pricing and promotions, reporting, and assortment planning.
Only one Commerce product hierarchy can be assigned per organization.
Other settings
Category attribute groups can also be assigned to each group as required.
Additional resources
commerce hierarchies
Manage product categories and products
Change the sort order for merchandizing entities
Manage product categories and products
2/1/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic describes an enhanced way to manage product categories and products in Dynamics 365 Commerce. The
enhancements let merchandising managers view a structure of product properties that is shared between the
product hierarchy and released product details.
To learn more about how to manage product categories, in the Categor y and product management workspace,
select the Commerce product hierarchy tile.
Notice the enhanced structure of the Commerce product hierarchy page that appears. In previous versions of
the app, product properties were divided into basic product properties and Retail product properties, based on the
scope of their applicability. Retail product properties are global in their scope of applicability. In other words, for a
given product property, the same value is shared across all legal entities. By contrast, basic product properties are
legal entity–specific. In other words, for a given basic product property, the value can differ across legal entities,
depending on the individual business requirements of each legal entity.
In the enhanced product category structure, product properties are logically separated based on their applicability
in a group, to reflect the structure of the released product details form structure.
You can switch between managing legal entity–specific properties across all legal entities and managing them for a
specific legal entity.
To manage properties across all legal entities, select View for all legal entities (or Edit for all legal entities ).
To manage properties for a specific legal entity, select View for a specific legal entity (or Edit for a specific
legal entity ).
Additionally, in the enhanced product category structure, a merchandising manager can now define default values
for an additional set of product properties at the level of the individual category. Then, when products are created,
they inherit default values for their product properties, based on the association of those properties with an
individual category in the product hierarchy. These inherited product properties can also be modified for each
product to meet individual business requirements.
Selecting properties to update products on the Commerce product
hierarchy page
You can use the new enhanced structure for product properties to select updated product properties that must be
pushed to the associated products. On the Commerce product hierarchy page, on the Action Pane, select
Categor y , and then select Update products to open the Update products dialog box.
Change the sort order for merchandising entities
2/1/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
Retailers consider product discovery a primary tool for customer interaction across all channels. Various
functionality can help customers easily discover products. For example, they can browse categories, search, and
filter.
This topic explains the concepts that are related to controlling the display order for various merchandising-related
entities. It also explains how to change the sort order.
Overview
The support for sorting various merchandising-related entities has been enhanced. This support is now better
aligned with existing customer scenarios that previously required extensions from implementation partners.
In versions of Retail that are earlier than version 10.0.5, the sort order for categories in the navigation hierarchy
was alphabetical. The new custom sort order functionality lets merchandising managers configure the sort order
for various merchandising-related entities across all end-user clients. These clients include headquarters (HQ) and
call centers.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
There are four product dimensions - Color, Configuration, Size and Style. You combine product dimensions in
dimension groups and assign dimension groups to product masters. The combinations of product dimensions
determine how product variants are defined.
Product dimensions are characteristics that serve to identify a product variant. You can use combinations of
product dimensions to define product variants. You must define at least one product dimension for a product
master in order to create a product variant.
Product variants
Product variants are also referred to as items. An item is a tangible product, which is not the same as a service. It is
also possible to define a product master with the Service type. By using the Service type, you can specify product
variants that include services. For example, you can specify a product master for Consultancy work and product
variants for work that is performed by senior consultants and junior consultants.
Product dimensions
The following product dimensions are available: Configuration, Color, Size, and Style. A product variant can be
generated based on the product dimension values.
Product dimensions values such as Size, Color and Style can be created on the Size , Color and Style pages, which
can be accessed from the following locations: Product information management > Setup > Dimension and
variant Groups > Sizes/Colors/Styles . Product dimension values for the Configuration dimension are typically
created using either the Product configurator or the Dimension-based configurator. Product dimensions can also be
created and maintained on the Product dimensions page, which can be accessed from the following locations:
Click Product information management > Products > Product masters . On the Action Pane , click
Product dimensions .
Click Product information management > Products > All products and product masters . Select a
product master. On the Action Pane , click Product dimensions .
Click Product information management > Released products . Select a product master. On the Action
Pane , click Product . In the Product master group, click Product dimensions .
The number of variants that you can create for an item is limited by the number of possible product dimension
combinations.
T IP
When you use a product on, for example, an order line, you select the product dimensions to identify the product variant that
you want to work with.
Example
A company sells denim jeans. The item, Jeans, uses the Color and Size product dimensions. The jeans are sold in
three different colors and six different sizes. Colors: Blue, Black, Brown Sizes: XS, S, M, L, XL, XXL Not all sizes are
available in all the three colors. If all combinations were available, it would create 18 different types of jeans. In this
example, only the following nine product variant combinations are produced.
C O LO R SIZ E
Blue XS
Blue S
Blue M
Black M
Black L
Black XL
Brown L
Brown XL
Brown XXL
Create a variant group
2/1/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic describes how to create a size, style, or color variant group for a product in Microsoft Dynamics 365
Commerce.
Overview
Dynamics 365 Commerce supports multiple variants for products. It is ideal to set up variant groups for different
product categories. For example, a size group can be created for t-shirts with sizes extra small, small, medium,
large, and extra large, or a color group could be created to include all available colors of a product. Variant groups
should be added before products are added.
In this topic, a size group will be created and configured. Similar procedures can be used for adding and
configuring style groups and color groups.
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic describes how to create a new product in Microsoft Dynamics 365 Commerce.
Overview
A product is primarily defined by a product number, name, and description. However, other data is also required in
order to describe a product or service:
Release a product
To sell a product it must first be released to a legal entity.
1. From the product page, select Release products .
Additional resources
Create legal entities
Create a variant group
Manage product categories and products
2/1/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic describes an enhanced way to manage product categories and products in Dynamics 365 Commerce.
The enhancements let merchandising managers view a structure of product properties that is shared between the
product hierarchy and released product details.
To learn more about how to manage product categories, in the Categor y and product management
workspace, select the Commerce product hierarchy tile.
Notice the enhanced structure of the Commerce product hierarchy page that appears. In previous versions of
the app, product properties were divided into basic product properties and Retail product properties, based on the
scope of their applicability. Retail product properties are global in their scope of applicability. In other words, for a
given product property, the same value is shared across all legal entities. By contrast, basic product properties are
legal entity–specific. In other words, for a given basic product property, the value can differ across legal entities,
depending on the individual business requirements of each legal entity.
In the enhanced product category structure, product properties are logically separated based on their applicability
in a group, to reflect the structure of the released product details form structure.
You can switch between managing legal entity–specific properties across all legal entities and managing them for a
specific legal entity.
To manage properties across all legal entities, select View for all legal entities (or Edit for all legal entities ).
To manage properties for a specific legal entity, select View for a specific legal entity (or Edit for a specific
legal entity ).
Additionally, in the enhanced product category structure, a merchandising manager can now define default values
for an additional set of product properties at the level of the individual category. Then, when products are created,
they inherit default values for their product properties, based on the association of those properties with an
individual category in the product hierarchy. These inherited product properties can also be modified for each
product to meet individual business requirements.
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
Attributes provide a way to further describe a product and its characteristics through user-defined fields (such as
Memor y size , Hard disk capacity , Is Energy star compliant , and so on). Attributes can be associated with
various Commerce entities, such as product categories and channels, and default values can be set for them.
Products then inherit the attributes and the default values when they are associated with the product categories or
channels. The default values can be overridden at the individual product level, at the channel level, or in a catalog.
For example, a typical television product might have the following attributes.
3D Enabled Yes or No No
Set up an attribute
1. Sign in to the back-office client as a merchandising manager.
2. Go to Product information management > Setup > Categories and attributes > Attributes .
3. Create an attribute that is named Lens .
4. Set the Attribute type field to Lens shape .
Attribute metadata
Attribute metadata lets you select options to specify how the attributes for each product should behave. For
example, you can specify whether attributes are required, whether they can be used for searches, and whether they
can be used as a filter.
For products, the attribute metadata settings can be overridden at the channel level. This capability will be
discussed later in this topic.
As you might notice, the Attributes page includes options that are related to attribute metadata. Under Attribute
metadata for POS , one option that is named Can be refined affects the behavior of the attribute values in the
point of sale (POS) or the way that the system handles those attribute values. Only attributes for which you may set
the Can be refined option to Yes , will show up for refinement or filtering of products in the POS.
Here are the remaining attribute metadata options on the Attributes page:
Searchable
Retrievable
Can be queried
Sortable
Allow multiple values
Ignore case and format
Complete match
These options were originally intended to improve the search functionality for the online storefront. Although
Commerce doesn't include the online storefront out of the box, it does include the eCommerce Publishing Software
Development Kit (SDK). Customers can use this SDK to put products into a search index of their choice. Although
the product data is imported, customers should still be able to distinguish searchable data, data that can be
queried, and so on. In that way, they can build an optimal index to make sure that they index only attributes that, in
their opinion, should be indexed.
For information about the purpose of these remaining options, see Overview of the search schema in SharePoint
Server 2013.
Filter settings for attributes
Filter settings for attributes let you define how the filters for attributes are shown in the POS. To access the filter
settings for an attribute, on the Attributes page, select the attribute, and then, on the Action Pane, select Filter
settings .
The Filter display preferences page includes the following fields:
Name – By default, this field is set to the name of the attribute. However, you can change the value.
Display option – The following options are available:
Single value – This option is available for the following attribute types: Boolean , Currency , Decimal ,
Integer , and Text . This option enables single value selection for these attributes in the client for
refinement.
Multi value – This option is available for the following attribute types: Currency , Decimal , Integer ,
and Text . This option enables multi-value selection for this attribute in the client for refinement.
Display control – The following options are available:
List – This option is available for the all attribute types.
Range – This option is available for the following attribute types: Currency , Decimal , and Integer .
Slider – This option is available for the following attribute types: Currency , Decimal , and Integer .
Slider with bars – This option is available for the following attribute types: Currency , Decimal , and
Integer .
Threshold value – This setting is required if you selected Range as the display control type. You can define
values by using a semicolon (;) as a delimiter.
For example, for the filter like Bag Volume , a threshold value can be 10; 20; 50; 100; 200; 500; 1000;
5000 . In this case, the POS will show the following ranges. Any ranges that don't have any products in the
result set will appear dimmed.
Less than 10
10 – 20
20 – 50
50 – 100
100 – 200
200 – 500
500 or more
Attribute groups
After attributes have been defined, they can be assigned to attribute groups. An attribute group is used to group
the individual attributes for a component or subcomponent in a product configuration model. An attribute can be
included in more than one attribute group. Attribute groups can help users configure products, because the various
selections are arranged in a specific context. Attribute groups can be assigned to categories or channels.
You can also set default values for attributes that are included in an attribute group. For example, you add an
attribute for color to an attribute group and select Blue as the default attribute value. In this case, when the
attribute group is added to a product that includes color as one of its attributes, Blue appears as the default color
for that product.
Follow these steps to assign attribute groups to categories in the Commerce product hierarchy.
1. Sign in to the back-office client as a merchandising manager.
2. Go to Retail and Commerce > Categor y and product management > Commerce product
hierarchy .
3. Select Fashion navigation hierarchy .
4. Under Menswear , select the Pants category, and then, on the Product attribute groups FastTab, add an
attribute group that is named Men's belt .
5. Select the Fashion sunglasses category, and verify the new attributes in the Fashion Sunglasses
attribute group by selecting View attributes .
The attribute group should show the new Lens shape and Sunglass brand attributes.
6. Under Menswear , select the Pants category, and verify the attributes for the Men's belt attribute group by
selecting View attributes .
The attribute group should show the Men's belt brand , Belt fabric , and Belt size attributes.
NOTE
This procedure can also be used to assign attribute groups to categories in the Channel navigation category hierarchy and
the Supplemental product category hierarchy. In step 2, use the following navigation paths:
Retail and Commerce > Category and product management > Channel navigation categories
Retail and Commerce > Category and product management > Supplemental product categories
NOTE
An option lets you specify that this channel should inherit the attribute groups from its parent channel in the
hierarchy. If you set the Inherit option to Yes , the child channel node inherits all the attribute groups and all
the attributes in those attribute groups.
4. Enable the attributes so that they are available in the Houston channel:
a. On the Action Pane, select Set attribute metadata .
b. Select the Fashion category node, and then, on the Channel product attributes FastTab, select
Include attribute for each attribute.
c. Select the Fashion Accessories category node, select the Fashion Sunglasses category, and then, on
the Channel product attributes FastTab, select Include attribute for each attribute.
d. Select the Menswear category node, select the Pants category, and then, on the Channel product
attributes FastTab, select Include attribute for each attribute.
Overriding attribute values
The default values of attributes can be overridden for individual products at the product level. Default values can
also be overridden for individual products in specific catalogs that are targeted at specific channels.
Override the attribute values of an individual product
1. Sign in to the back-office client as a merchandising manager.
2. Go to Retail and Commerce > Categor y and product management > Released products by categor y .
3. Select the Fashion > Fashion Accessories > Fashion Sunglasses category node.
4. Select the required product in the grid. Then, on the Action Pane, on the Product tab, in the Set up group, select
Product attributes .
5. Select an attribute in the left pane, and then update its value in the right pane.
NOTE
If shared product media and shared product attributes are created, they apply to all the products.
NOTE
If no products are available, add products by selecting Add on the Products FastTab and then selecting the required
products in the Add products dialog box.
NOTE
If shared product media and shared product attributes are created, they apply to all the products.
Define channel attributes
3/18/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
Enrich the channel by adding channel and product attributes. You must add the channel to the organization default
hierarchy before you can define the attributes.
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic describes how to create a channel navigation hierarchy in Microsoft Dynamics 365 Commerce.
Overview
A channel navigation hierarchy is used to group and organize products into categories so that the products can be
browsed online or in point of sale (POS).
NOTE
Adding products to a node inside the channel navigation hierarchy is not sufficient for the products to show up on a selected
channel, the products must also be assorted to a product.
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic describes how to configure a channel to use a channel navigation hierarchy in Microsoft Dynamics 365
Commerce.
Overview
Channel navigation hierarchies organize products into categories so that the products can be browsed on an e-
Commerce site or at points of sale (POS). Retail and online channels must be configured with channel navigation
hierarchies.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
Overview
Dynamics 365 Commerce provides assortments that let you manage product availability across channels.
Assortments determine which products are available at specific stores and during a specific period.
In Commerce, an assortment is a mapping of one or more channels (or groups of channels, when organization
hierarchies are used) to one or more products (or groups of products, when category hierarchies are used).
The overall product mix of a channel is determined by the published assortments that are assigned to the channel.
Therefore, you can configure multiple active assortments per channel.
Basic assortment setup
In the following example, a unique assortment is configured for each store. In this case, only product 1 is available
at store 1, and only product 2 is available at store 2.
To make product 2 available at store 1, you can add the product to assortment 1.
Product categories
Similarly, on the product side, you can include groups of products by using product category hierarchies. You can
configure assortments by including one or more category hierarchy nodes. In this case, the assortment will include
all products in that category node and its child nodes.
NOTE
If a product is both included and excluded in one or more assortments by definition, the product will always be considered
excluded.
Global and released products
Assortments are defined at a global level and can contain channels from multiple legal entities. The products and
categories that are included in assortments are also shared across legal entities. However, a product must be
released before it can actually be sold, ordered, counted, or received in the channel (for example, in the point of sale
[POS]). Therefore, although two stores in different legal entities can share an assortment that contains the same
products, the products are available only if they have been released to those legal entities.
Dynamic and static assortments
Assortments can be defined with specific channels and products or by including organization units and categories.
Assortments including references to these groups are considered dynamic assortments. If the definition or contents
of those groups change while the assortment is active, the definition of the assortment will also change.
For example, an assortment is originally defined and published so that it references a category of products. If
additional products are later added to the category, those products are automatically included in the definition of
the existing assortment. You don't have to manually add the products to the assortment. Similarly, if an
organization unit is added to a different node, the organization unit's assortment is automatically adjusted based
on that definition.
Stopped products
You can "stop" released products for the sales process by turning on a setting in the Default order settings. This
setting is most often used when a product is at the end of its life and should not be sold at any channel.
Assortments respect this setting, and stopped products won't be assorted, regardless of the assortment
configuration.
Blocked products
In addition to stopping sales of a product, you can temporarily block sales of a product. You can configure this
setting on the Commerce tab of a released product. Blocked products are still assorted, but you will receive a
message in the POS that states that the product can't be sold.
Date effectivity
Assortments are date-effective. Therefore, retailers can configure when products should or should not be available
per channel. You can define and publish assortments ahead of time, and specify the start and end dates. The
products will automatically become available or unavailable on the specified dates.
Process assortments batch job
Assortments that are defined in Commerce must be processed before they take effect. This processing is done for
the following reasons:
Assortment definitions must be de-normalized so that channels can more easily consume them. A product mix
for a channel can be defined through multiple assortments that span various date ranges. When some of this
information is calculated ahead of time on the server, performance at the channel is improved.
The products and channels in the assortment can change outside the assortment itself. Dynamic assortments
that contain references to categories or organization units must be processed periodically so that they include or
exclude records, based on their current assignment.
Implementation considerations
Consider the following implementation requirements as you plan and manage assortments for your Commerce
implementation:
Data replication and database size – Although assortments help serve the business need to manage
product availability, they are also an important tool for managing the size of channel and offline databases.
Well-managed assortments help reduce the amount of data that must be processed and replicated to channel
and offline databases. They also help reduce the number of records that must be persisted. Fewer records in
these databases will increase performance when you add items to a transaction, search, and browse for
products.
Date-effective/expiring assor tments – One of the most effective tools for managing the number of
products in channel and offline databases is the date effectivity of assortments. If you leave open-ended (non-
expiring) assortments for seasonal products or products that are at the end of their life, these databases will
grow indefinitely. You can use various approaches to help manage this situation. For example, you can maintain
separate assortments for seasonal products and products that are always available.
Sales and returns outside assor tments – This capability helps retailers effectively manage their
assortments by letting them limit the number of available products to products that belong to the core product
mix for the store. This capability also helps retailers handle situations where a product was mistakenly omitted
from an assortment, or where a product was returned outside the effective dates for the assortment.
If product data doesn't exist in the channel database, the POS makes real-time calls to headquarters to retrieve the
required information, so that the product can be sold, returned, or put on a customer order. Product information
that is retrieved in this manner is available only during the scope of that transaction. The product isn't added to the
assortment definition. Therefore, subsequent real-time calls will be made as required.
Set up assortments
2/1/2020 • 4 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This article describes what an assortment is and explains how to set up assortments in Dynamics 365 Commerce.
An assortment is a collection of related products that you assign to a commerce channel, such as a brick-and-
mortar store or an online store. You use assortments to identify the products that are available in each store. An
assortment can include categories of products. Therefore, all products that are assigned to a specific category are
included in the assortment. An assortment can also include specific products and specific variants of products. By
setting up an assortment, you can assign thousands of products to your channels at that same time, in any
combination that your stores require. You can set up as many product assortments as you require. Each product
can be included in one or more assortments, and each assortment can be assigned to one or more channels. For
example, you define one assortment that includes a base set of products. All stores receive this assortment. You
then define another assortment that includes only large sporting equipment. Only your larger stores receive this
assortment. The following diagram shows how products can be assigned to assortments, and how those
assortments can be assigned to channels.
Prerequisites
Before you can set up an assortment and assign it to a commerce channel, you must complete the following tasks.
TA SK DESC RIP T IO N
Create an organization hierarchy. After you set up the commerce channels for your
organization, you must configure an organization hierarchy
that represents the organizational structure of your channels.
An organization hierarchy can be used for assortments,
replenishment, and reporting. By adding your channels to an
organization hierarchy, you can assign assortments to groups
of stores. Instead of assigning the assortment individually to
each store, you assign the assortment to the high-level
organization node. Then, whenever a new channel is added to
the high-level organization node, that channel automatically
inherits any assortments that were assigned to the higher-
level organization node. You can assign assortments only to
channels that are included in an organization hierarchy that is
assigned the Commerce assor tment purpose.
Define products. Before you can add products to an assortment, you must add
them in Commerce. You can add products manually, or you
can import them from a vendor. After you add the products,
you must release them to a legal entity. Only products that
have been released to a legal entity can be made available to
your channels. Products that haven't yet been released to a
legal entity can be added to an assortment, and the
assortment can be approved. However, until the products
have been released to a legal entity, they can't be made
available to the channels.
Set up a category hierarchy. When you create your commerce products, you can group
and categorize them by using the category hierarchy feature.
You can create one core hierarchy to group and categorize all
products that you distribute through your channels. You can
also create separate, supplemental category hierarchies to
group or categorize your products for special purposes, such
as promotions or assortments. By using category hierarchies,
you can assign all the products in a specific category to an
assortment. Any products that are added to the category that
is included in the assortment are automatically included in the
assortment. Then, the next time that the commerce
assortment scheduler is run, these products become available
to the channels that the assortment is assigned to.
Setting up an assortment
After you complete the prerequisites, you can create an assortment and assign it to your channels. To set up an
assortment, you must complete the following tasks.
1. Create a new assortment, or copy an existing assortment.
2. Select the channels or the high-level groups of channels that the assortment applies to.
3. Add product categories, individual products, or product variants to the assortment. You can include all products
in a specific category, or you can exclude selected products from a category that is included in the assortment.
4. Publish the assortment. When you publish an assortment, the assortment scheduler is automatically run. This
process generates the list of products. When this process is completed, the products become available to the
channels that the product assortment is assigned to. If changes are made to an assortment that has been
published, or to the channels that the assortment is assigned to, the assortment must be updated. To update the
assortment when changes are made, you can run the assortment scheduler as a batch job.
Manage assortments (November 2016)
3/18/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This procedure demonstrates how to create and publish a new product assortment and uses the demo data
company USRT.
1. Click Category and product management.
Create an assortment
1. Click the Assortments tab.
2. Click New.
3. Click Assortment.
The Assortment ID is required and must be a unique value.
4. In the Assortment name field, type a value.
5. In the Effective date field, enter a date.
6. In the Expiration date field, enter a date.
7. Expand the Commerce channels section.
8. Click Add line.
9. In the tree, select 'Contoso Retail\Electronics\Boston'.
10. Click Add.
11. Click OK.
12. Expand the Products section.
13. Click Add line.
14. In the Category field, enter or select a value.
15. Click Save.
Publish an assortment
1. Click Publish.
2. Click Yes.
Set up bar codes
2/13/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This article describes how to use bar codes in Dynamics 365 Commerce.
You can use bar codes to purchase and sell products, track product variants, and set up customers and employees.
You can also use bar codes to issue and endorse coupons, gift cards, and credit memos. You can set up products so
that they have standard bar codes or custom, in-house bar codes. Products can have more than one bar code. For
example, a product might have multiple bar codes if it comes from various manufacturers, or if it has variants that
are based on size, style, or color. Bar codes can include the weight or price of the product. Bar code masks are
templates that are used to create bar codes.
NOTE
If you assign a unique bar code to each variant combination, you can scan the bar code at the register and let the program
determine which variant of the product is being sold. You can also collect and view statistics about sales by variant. Each size,
color, and style group can be assigned a unique number that identifies that group in the bar code. Commerce uses the bar
code mask to automatically generate bar codes for each variant combination. This functionality can be useful if there are
many sizes, colors, and styles, because the number of combinations increases significantly as each variant code is added. If
this functionality isn't used, bar codes must be manually assigned to each combination that represents a product variant.
You can create bar codes manually or automatically. To create bar codes, complete the following tasks in the order
in which they are listed.
1. Set up bar code mask characters.
2. Set up bar code masks.
3. Configure bar code setups.
4. Create bar codes for products.
Additional resources
Set up bar code masks
Set up bar code masks
2/1/2020 • 3 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic describes how to set up bar code mask characters, bar code masks, and how to assign bar code masks to
bar codes.
Any number Used to specify a number that will be hard coded in bar
codes.
Check digit Indicates that the bar code format in a bar code mask uses a
check digit to confirm the validity of a bar code.
Size digit Indicates size in a bar code created for a product variant
which includes size.
Color digit Indicates color in a bar code created for a product variant
which includes color.
Style digit Indicates style in a bar code created for a product variant
which includes a style.
EAN license code Placeholder for EAN license issued for EAN license codes.
Employee Indicates bar code segment for employee ID number used for
bar code POS login.
Discount code Deprecated as of Dynamics 365 for Retail Spring 2017 release.
Previously: Indicates discount code for a bar code that's used
to add a discount to a point of sale transaction.
Coupon code Indicates coupon code for a bar code used to add a discount
to an order. This replaced discount code.
Gift card Indicates a gift card number when issuing or paying by gift
card.
Loyalty card Adds a loyalty customer to the transaction, and can be used
when paying by loyalty.
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
Overview
This topic provides an overview of the discounts functionality in the Dynamics 365 Commerce. It explains the
properties found on the various discount forms, and best practices for discount management. However, this topic
does not cover the various discounts types in detail, for example, simple, quantity, mix and match, and threshold
discounts. These details will be covered in separate topics created for each of these discount types.
Because retailers require flexible discounting, and discount styles and types vary by industry, there are many ways
to define discounts in Commerce. The discounting functionality was added on top of the existing discount
functionality in the core product (Supply Chain Management), resulting in some duplication of functionality. As a
result, the discount types can be configured for five different entities: customer, loyalty program, channel, catalog,
and affiliations. Because of the number of discounting options, it's especially important that you plan and
document your discounting strategy.
Creating discounts
Each discount type has a dedicated page that you use to create and manage the discount. Commerce also has an
All discounts page and a Pricing and discounts management workspace, both of which you can use to create
a new discount of any type.
Discount headers and discount lines
All discounts have a header and one or more lines. All discount types have properties defined on the header and
some discount types have additional properties defined per line. For example, quantity discounts have quantity
tiers. People often think about discounts in Commerce in terms of the discount header only and assume that all the
lines on the discount are related to each other because they share a discount header. However, this view of
discounts is too simplistic. For simple discounts and quantity discounts, it is more accurate to think of each discount
line as an independent discount that shares some properties with the other discount lines. In fact, the pricing
engine evaluates simple and quantity discounts in just this manner. Each discount line for simple discounts and
quantity discounts is independent. For simple discounts, it is easy to understand that each discount line is
independent of all other discount lines on the same discount, because there isn't a quantity or amount criterion
required to qualify for the discount. For quantity discounts, you might think that the lines can be combined to reach
the quantity criterion for a discount, but they don't. The quantity tiers must be reached independently for each line
of a quantity discount.
When you create discounts, we recommend that you always avoid or minimize overlapping discount lines.
Overlapping discount lines occur when two or more discount lines in the same discount can be applied to the same
product. In this case, the pricing engine must treat the discount as two or more independent discounts that must
then be evaluated against each other to find the best discount amount. In addition, it can be difficult for a user to
know what the discount will be just by looking at the discount definition.
Managing discounts
Settings and options that are common to all discounts
This section describes the properties that are common to all types of discounts.
When you manage discounts, it's important that you understand each discount option individually, but it is equally
important that you understand which options affect each other and how. The common settings for discounts fall
into two categories. In the first category are settings that filter discounts for consideration. Examples include
Status , Currency , and Unit of measure . Settings in the second category control the order in which multiple
discounts are considered and applied. Examples include Discount concurrency mode and Pricing priority . The
following image shows the various properties of a discount.
Discount ID
This field is labeled Discount and holds a unique ID for each discount. It's set when you first create a discount and
can't be changed later. In Commerce parameters , you can set up independent number sequences for each type of
discount. In this case, make sure that the number sequences won't collide. For example, you can use a unique prefix
for each discount type. For example, D for d iscount, Q for q uantity, MM for m ix and m atch, and T for t hreshold.
Discount name
This field is a short free text field that is used to describe the discount. The string value in this field is shown in the
MPOS and CPOS cart line and printed on Modern Point of Sale (MPOS) and Cloud POS (CPOS) customer receipts.
Therefore, your cashiers and end customers will see this description. It is the primary means for MPOS/CPOS users
and customers to know which discount was applied.
Discount type
There are four types of discounts in Commerce: Discount , Quantity , Mix and match , and Threshold . The
discount type is set when you first create a discount and can't be changed later. The discount type determines
whether there is a quantity or amount criterion that must be met to qualify for the discount.
Status
The status of a discount can be either Enabled or Disabled . When you first create a discount, the status is
Disabled . Discounts can only be edited when they are disabled. When discount data is pushed to a channel,
disabled discounts are not pushed. If a discount was previously enabled and pushed to the channel, then this new
push will also remove the discount from the channel. When you change the status to Enabled , various validation
checks are performed on the discount, depending on the type of discount. The list of validation checks has
increased in recent updates of the product to prevent incomplete or poorly defined discounts from being pushed to
commerce channels. Here is a partial list of the validations that are performed when you enable a discount:
A discount must have at least one discount line.
The percentage value for a percentage discount must be more than 0 (zero) and less than or equal to 100.
The amount value for an amount discount must be more than 0 (zero). Zero and negative amounts aren't valid.
A discount must have at least one price group. A discount that doesn't have a price group will never be applied
to a transaction.
A Unit of measure (UoM) is required for quantity and mix-and-match discount lines.
For quantity discounts that have two or more quantity tiers, the discount value is validated to increase as
quantities increase.
For threshold discounts that have two or more threshold tiers, the discount value for each tier must be equal to
or more than the largest discount of the previous tier.
For mix-and-match least-expensive discounts, the number of least-expensive products must be more than 1 and
less than the number of products that are required to trigger the discount.
Currency
The currency of a discount defines the currency of all amount and price fields on the discount. Different discount
types have different field options. The currency also acts as a filter during discount calculation. In Commerce, all
sales order and MPOS/CPOS transactions have a currency, and the pricing engine will consider only discounts that
have the same currency.
Discount concurrency mode
This determines which discounts compete on a transaction, and which discounts are compounded together. The
three values for this option are Exclusive , Best price , and Compound .
When the value is Exclusive or Best price , only one discount can be applied to a transaction line. The only
difference between Exclusive and Best price is the order that the discounts are considered and applied in.
Exclusive discounts are always evaluated and applied before Best price and Compound discounts, if all other
settings are the same. Therefore, Exclusive and Best price discount never compete for the best price. Two or more
Exclusive discounts will compete for the best price, as will two or more Best price discounts.
When the value is Compound , the discount can be compounded with any other discount that is also set to
Compound . Therefore, two or more Compound discounts will all be applied to a transaction line. When multiple
Compound discounts are applied to a transaction line, they are applied in the following order:
1. Discount price discounts
2. Amount-off discounts
3. Percentage-off discounts
Compound discounts compete with Best price discounts when both types apply to a transaction line. Therefore,
the Compound setting is used to determine which discounts are combined. Depending on the discount
concurrency control mode used, two or more Compound discounts can be combined and compete with the Best
price discounts that apply to the same products. The discount or discounts that have the largest total discount
amount are applied.
Discount account
Commerce lets you post discount amounts for a transaction to a separate general ledger (GL) account. The discount
GL account is set by the product or customer. Commerce offers a unique way to separate the discount amounts
during posting. You can post each type of discount to a specific GL account. Both options can make it easier for you
to determine which discounts or discount types are being used in your general ledger.
NOTE
When the discount account posting feature is enabled, then an additional debit entry and credit entry are made to reclassify
the discount posting out of the Commerce discount GL account and into the discount GL account.
Coupon code required
Starting with version 7.2 of the app, the call center coupons are now merged with discounts. For a discount, when
Coupon code required is set to Yes , the Status field and the standard date fields, Effective date and
Expiration date , are not available. These properties are controlled by equivalent properties that are on the
Coupons page.
When Coupon code required is set to Yes on a discount, the discount is applied to a transaction only if the
coupon code or bar code is provided by MPOS/CPOS. The values of the coupon codes and bar codes are defined
and configured in a separate page named Coupons . The Coupons page is where the coupon is linked to the
discount. When Coupon code required is set to No , a coupon code isn't required, and the discount will always be
applied through its price groups.
Override priority and Pricing priority
These two fields work together. When Override priority is set to Yes , the Pricing priority field becomes
available for editing. You can then select a pricing priority to set directly on the discount. When Override priority
is set to No , the priority is inherited from the priority of the price group associated with the discount. In the case of
multiple price groups association, the priority number is determined by selecting the highest pricing priority of all
the price groups associated with the discount.
Description
This field is a free-form text field. It isn't used in the MPOS/CPOS system or in transactions.
Disclaimer
This is a free-form text field. It isn't used in the MPOS/CPOS system or in transactions.
Line type
This field is on all discount lines. The possible values are Include and Exclude . This field is used in combination
with the Categor y , Product , and Variant fields to define the set of products that the discount is applied to.
Exclude discount lines always override include discount lines. When Line type is Exclude many of the other fields
on the discount line are grayed out, as they do not apply.
Unit of measure
Unit of measure (UoM) is a field on all discount lines except threshold discount lines. This field is label Unit in
Commerce. The Unit of measure field acts as a filter to determine whether a discount should be applied to a
transaction line. The UoM on the transaction line must match the UoM on the discount line. Otherwise, the discount
line isn't considered during discount calculation. No UoM conversion is done during discount calculation.
Category, product, variant, and dimensions
Categor y , Product , Variant, and dimensions are the last discount settings that are common to all discounts.
These fields are set on each discount line and specify what is being discounted. They act as a filter when the pricing
engine searches for discounts that can be applied to a transaction. These fields are related to each other according
to these rules – categories contain products, and products can come in different variations of size, color, style, and
configuration.
The pricing engine does not use the parent/child relationships of categories, products, and variants to order
discounts during discount calculation. This behavior differs from the way that the pricing engine handles sales price
trade agreements. For example, both a discount for 10 percent on a category and a discount for 5 percent on a
product in the same category will be considered. The larger of the two discount amounts will then be used,
provided that all other properties are the same and the discounts aren't set to Compound , in which they both will
be combined. If you want to force a product discount to be used over a category discount you can use pricing
priority or the discount's concurrence mode to cause one discount to be applied before another.
When you edit discounts, the Categor y , Product , Variant , and Dimensions settings act as filters for each other.
The Categor y and Product fields are automatically set from the Commerce Category Hierarchy if a product or
variant is entered directly. The following sections provide detailed descriptions of each of these fields.
Category
At a minimum, you must set the Categor y field. You can select any category from the product category hierarchy
or any category from a supplemental category hierarchy. However, you can't select categories from channel
navigation hierarchies or other non-commerce hierarchies. If only a category is specified on a discount line, the
discount will be applied to any product in that category, even products that are added to the category after the
discount has been created, provided that all other discount criteria are met, such as currency and UoM.
NOTE
The category that you select on a discount line is hierarchy specific. Therefore, you can't specify a value by typing a partial
value in the field, as you can in most Commerce fields. If you type in a full category name, the drop-down list will expand, and
that category will be selected. In addition, you can press Alt+Down arrow to expand the selection dialog box and then press
Tab to move between the hierarchy selection and hierarchy tree within the drop-down list, so that you can use the field
without using a mouse.
The capability to work with categories is a key differentiator between discounts and trade agreement discounts, and
the main reason that we discourage you from using trade agreement discounts. Categories are organized in a
multi-level hierarchy. By contrast, the item discount groups that are used by trade agreements are only a single
level of grouping, and each group is specific to one of the three trade agreement discount types, such as Line
discount, Multiline discount, and Total discount. Therefore, for trade agreements, if you want to use the same set of
products in all three trade agreement discount types, you must create and manage three independent discount
groups. However, for discounts, you must maintain only one category. You can then use that category in all four
discount types. You can also use the same category in price adjustments, assortment management, and loyalty
management.
Product
The product can be a released product or a released product master. All discounts are company specific. Therefore,
they work only with released products. If you select a product master, the discount will be applied to all variants of
the product, even variants that are released after the discount is created, provided that all other discount criteria are
met, such as currency and UoM.
Variant
When you select a variant on a discount line, the discount will be applied to just that variant, provided that all other
discount criteria are met, such as currency and UoM.
Dimensions
Starting with the Retail 8.1.1 release, we have added the capability to set up discounts at a dimension level for a
product. This provides the flexibility to choose one or more dimensions of a product as discount lines. This saves
the merchandizing manager from individually adding the variants on which the discounts apply. For example, you
can specify a discount on all variants with a specific style or you can specify a discount on all variants that are of a
specific color and style.
NOTE
The capability to set up promotions based on dimensions is not supported for price adjustments. The specific interface for
defining the dimensions are removed in Retail versions 10.0.4 and later.
Best practices
Before you create discounts, document your discounting strategy and procedure. Keep your documentation up
to date as your use of the product evolves.
Use independent number sequences for each discount type and configure the number sequences so that the
discount ID by itself indicates the discount type. For example, prefix the ID of each discount type with a different
alphanumeric constant: Q for quantity, MM for mix and match, and so on.
Test your discount configuration using the price simulator before you enable discounts. The price simulator has
an option that lets you treat disabled discounts as enabled. This option was designed specifically for testing
discounts before they are enabled.
Expire discounts when they are no longer valid. In this way, you prevent the total number of discounts that the
pricing engine considers during a transaction from growing unbounded. Otherwise, the performance of
discount calculation can be affected over time.
Leverage the supplemental categories to group the products, for example clearance products or last season
products.
Always avoid or minimize overlapping discount lines.
Retail sales price management
2/13/2020 • 22 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic provides information about the process of creating and managing sales prices in Dynamics 365
Commerce. It focuses on the concepts that are involved in this process, and on the effects of the various
configuration options for sales prices.
Terminology
The following terms are used in this topic.
Price The single unit amount that a product sells for in a point of
sale (POS) client or on a sales order. In this topic, the term
price always refers to the sales price, not the inventory price or
cost price.
Base price The price that is set in the Price field on a released product.
Trade agreement price The price that is set on a product or variant by using a trade
agreement of the Price (sales) type.
Best price When more than one price or discount can be applied to a
product, the smallest price amount and/or the largest discount
amount that produces the lowest possible net amount that
the customer must pay. In this topic, the concept of best price
is always referred to as "the best price." This best price differs
from and should not be confused with the Best price
enumeration value for a discount's concurrency mode.
Price groups
Price groups are at the heart of price and discount management in Commerce. Price groups are used to assign
prices and discounts to commerce entities (that is, channels, catalogs, affiliations, and loyalty programs). Because
price groups are used for all pricing and discounts, it's very important that you plan how you will use them before
you start.
By itself, a price group is just a name, a description, and, optionally, a pricing priority. The main point to remember
about price groups is that they are used to manage the many-to-many relationships that discounts and prices have
with commerce entities.
The following illustration shows how price groups are used. In this illustration, notice that "Price group" is literally
at the center of pricing and discount management. The commerce entities that you can use to manage differential
prices and discounts are on the left, and the actual price and discount records are on the right.
When you create price groups, you should not use a single price group for multiple types of commerce entities.
Otherwise, it can be difficult to determine why a specific price or discount is being applied to a transaction.
As the red dashed line in the illustration shows, Commerce does support the core Microsoft Dynamics 365
functionality of a price group that is set directly on a customer. However, in this case, you get only sales price trade
agreements. If you want to apply customer-specific prices, we recommend that you not set price groups directly on
the customer. Instead, you should use affiliations.
The following sections provide more information about the commerce entities that you can use to set distinct prices
when the price groups are used. The configuration of prices and discounts for all these entities is a two-step
process. These steps can be done in either order. However, the logical order is to set the price groups on the entities
first, because this step is likely to be a one-time setup that is done during implementation. Then, as prices and
discounts are created, you can set the price groups on those prices and discounts individually.
Channels
In the commerce industry, it's very typical to have different prices in different channels. The two primary factors
that affect channel-specific prices are costs and local market conditions.
Costs – The farther away a channel is from the product source, the more it costs to stock a product. For
example, fresh produce has a limited shelf life and specific production requirements (for example, a growing
season). During the winter, fresh lettuce likely costs more in northern climates than in southern climates. If
you're setting prices for channels over a large geographical area, you will probably want to set different prices in
different channels.
Local market conditions – A store that has a direct competitor across the street will be much more price-
sensitive than a store that doesn't have a direct competitor nearby.
Affiliations
The general definition of an affiliation is a link to or association with a group. In Commerce, affiliations are groups
of customers. Affiliations are a much more flexible tool for customer pricing and discounts than the core Microsoft
Dynamics 365 concept of customer groups and discount groups. First, an affiliation can be used for both prices and
discounts, whereas non-retail pricing has a different group for each type of discount and price. Next, a customer
can belong to multiple affiliations but can belong to only one non-retail pricing group of each type. Finally,
although affiliations can be set up so that they are linked to a customer, they don't have to be. An ad-hoc affiliation
can be used for anonymous customers at the POS. A typical example of an anonymous affiliation discount is a
senior or student discount, where a customer can receive a discount just by showing a group membership card.
Although affiliations are most often associated with discounts, you can also use them to set differential pricing. For
example, when a retailer sells to an employee, it might want to change the selling price instead of applying a
discount on top of the regular price. As another example, a retailer that sells to both consumer customers and
business customers might offer business customers better prices, based on their purchasing volume. Affiliations
enable both these scenarios.
Loyalty programs
In relation to prices and discounts, loyalty programs are basically just an affiliation that has a special name. Both
prices and discounts can be set for a loyalty program, just as they can be set for an affiliation. However, the way that
customers get loyalty pricing during a transaction or order differs from the way that they get affiliation pricing.
Customers can get loyalty pricing only if a loyalty card is added to a transaction. When a loyalty card is added to a
transaction, the loyalty program is also added. The loyalty program then enables special prices and discounts.
Loyalty programs can have multiple tiers, and the discounts can differ for different tiers. In this way, retailers can
give frequent customers larger rewards without having to manually put those customers into a special group.
Loyalty programs have additional functionality besides prices and discounts. However, from the perspective of
pricing and discounts, they are the same as affiliations.
Catalogs
Some retailers use physical or virtual catalogs to market products to, and price them for, focused groups of
customers. As part of their business model to target marketing via a catalog, these retailers can set differential
prices on their various catalogs. Microsoft Dynamics 365 supports this capability by letting you define catalog-
specific discounts and prices, just as you can define channel-specific or affiliation-specific discounts. When you edit
a catalog, you can associate price groups with the catalog, just as you can associate them with a channel, affiliation,
or loyalty program.
Best practices for price groups
Don't use a price group for multiple entity types. Instead, use one set of price groups for channels, a different set of
price groups for affiliations or loyalty programs, and so on. You can use a prefix or suffix in the name of the price
group to visually group the various types of price groups that you're using.
Avoid setting price groups directly on a customer. Instead, use an affiliation. In this way, you can assign all types of
prices and discounts to customers, not just sales price trade agreements.
Pricing priority
By itself, a pricing priority is just a number and a description. Pricing priorities can be applied to price groups, or
they can be applied directly to discounts. When pricing priorities are used, they let a retailer override the principle
of the best price by controlling the order in which prices and discounts are applied to products. A larger pricing
priority number is evaluated before a lower pricing priority number. Additionally, if a price or discount is found at
any priority number, all prices or discounts that have lower priority numbers are ignored.
The price and a discount can come from two different pricing priorities, because pricing priorities apply to prices
and discounts independently.
To use pricing priority for prices, you must assign a pricing priority to a price group and then create a sales price
trade agreement for that price group.
The pricing priority feature was introduced to support the scenario where a retailer wants to apply higher prices in
a specific set of stores. For example, a retailer has defined regional prices for the east coast of the United States but
wants higher prices for some products in New York City stores, because it costs more to sell some products in the
city, and/or because the local market will bear a higher price.
As was described in the "Best price" section of this topic, the pricing engine typically selects the lower of two prices.
Therefore, the retailer is usually prevented from using the higher of two prices in a store that has both the East
coast and New York price groups. To resolve this issue before the pricing priority feature was introduced, the
retailer had to define prices for every product two times and not assign both price groups. Alternatively, the retailer
had to create extra price groups to isolate the products that have higher prices from products that have the usual,
lower prices.
However, the pricing priority feature lets the retailer create a pricing priority for store prices that is higher than the
pricing priority for regional prices. Alternatively, the retailer can create a pricing priority just for store prices and
leave regional prices at the default pricing priority, which is 0 (zero). Both setups help guarantee that store prices
will always be used before regional prices.
Pricing priority example
Let's look at an example where store prices override other prices.
A national retailer sets most prices per region, and it has four regions: North east, South east, Mid-west and West. It
has identified several high-cost markets that can support higher prices. These markets are in New York City,
Chicago, and the San Francisco Bay area.
For this example, we will drill into the North east region. Store 1 is in Boston, and store 2 is in Manhattan. For the
Boston store, two price groups are linked to the channel: North East and Store 1. For the Manhattan store, three
price groups are linked to the channel: North East, NYC, and Store 2.
The retailer sets up two pricing priorities: High cost has a priority number of 5, and Store prices has a priority
number of 10. (Remember that, by default, the pricing priority is 0 [zero], and a price or discount that has a higher
priority number is used before a price or discount that has a lower priority number.) For the North East price group,
the pricing priority is left at the default value of 0 (zero). For the NYC price group, the pricing priority is set to 5 ,
because New York City is a high-cost market. For the Store 1 and Store 2 price groups, the pricing priority is set to
10 .
Two products that the retailer sells are product 1, a commodity T-shirt, and product 2, brand-specific fashion jeans.
The T-shirt sells for the same price (that is, $15) at both the Boston and Manhattan stores, because only one price is
set in the North East price group that is linked to both channels. The fashion jeans sell for $50 in the Boston store,
because that price is the only price that is available in that store. However, in the Manhattan store, two prices are
available: $50 and $70. Because the pricing priority of 5 for the NYC price group is higher than the pricing priority
of 0 (zero) for the North East price group, the price will be rung up as $70 in the POS system.
NOTE
For each pricing priority, a full pass through the logic for the retail pricing engine is required. Therefore, to help maintain the
performance of the price and discount calculation, you should use pricing priorities sparingly.
Types of prices
In Microsoft Dynamics 365, you can set the price of a product in three places:
Directly on the product (base price)
In a sales price trade agreement
In a price adjustment
The base price and trade agreement price are part of core Dynamics 365, and are available even if you don't use
Commerce. The price adjustment functionality is available only in Commerce. The next section provides more
information about each of these options for setting prices and explains how the options work together.
Setting prices
Base price
The easiest place to set the price for a product is directly on the product. The value that you set directly on a product
is often referred to as the base price for the product. You set the base price in the Price field on the Sell tab of the
Released product details page. The value that you enter is in the company currency. By default, the price is for a
quantity of 1 of the unit of measure (UoM) that is set in the Unit field on the Sell tab. The actual price per unit of a
product is based on the UoM, the price quantity, and the currency.
If a product has one price for everyone, the base price offers the most efficient way to manage the price of that
product. Even if you use trade agreements to set prices, you might also set the base price on a product. Then, if you
don't use an All trade agreement, you have a fallback price that is used when no trade agreement applies.
If a channel's currency differs from the company currency, the base price in that channel is determined by using
currency conversion on the price that is set on the product.
Although the price unit isn't a common scenario, the pricing engine supports it. If the price unit is set to a value
other than 0 (zero), the price per unit equals Price ÷ Price unit. For example, if a product's price is $10.00, and the
price unit is 50, the price for a quantity of 1 is $0.20 (= $10.00 ÷ 50).
Sales price trade agreement
By using the trade agreement journal, you can create sales price trade agreements for each product. In Microsoft
Dynamics 365, there are three customer scopes for sales price trade agreements: Table , Group , and All . The
customer scope determines the customers that a given sales price trade agreement applies to.
A Table sales price trade agreement is for a single customer that is set directly on the trade agreement. This
scenario isn't a typical business-to-consumer (B2C) scenario. However, if it occurs, the pricing engine uses Table
trade agreements when it determines price.
A Group sales price trade agreement is the type that is most often used with. Outside Commerce, Group sales
price trade agreements are for a simple customer group. However, in Commerce, the concept of a customer group
has been extended so that it's a more generic price group. A price group can be linked to a channel, affiliation,
loyalty program, or catalog. For detailed information about price groups, see the "Price groups" section earlier in
this topic.
NOTE
A trade agreement price is always used before the base price.
Price adjustment
As the name implies, a price adjustment is used to modify the price that was either set directly on the product or set
by using a trade agreement. A price adjustment can be used only to lower the price, not raise it. A price adjustment
is the recommended way for retailers to create, track, and manage price markdowns for their products over time.
There are three types of price adjustments: percentage off, amount off, and price. A price adjustment of the
percentage off or amount off type is always applied to a sale transaction. However, a price adjustment of the price
type is applied only if the adjusted price is less than the price that was set by using the base price or trade
agreement price. Therefore, if the price that is set in a price adjustment is more than the unadjusted price, the price
adjustment isn't used.
Best practices
Microsoft SQL Server Express is often used for channel databases because of the cost (free). Keep in mind that SQL
Server Express has hardware limitations and limits on data size. If you don't plan correctly, you can quickly reach
the data size limits of SQL Server Express. This consideration applies not only to pricing but also to other areas of
the product. Here are a few best practices that can help you reduce the size of your data:
If you're using trade agreements, and your prices change, you should expire the old trade agreements by
setting an end date. Over time, this approach helps reduce the number of trade agreements that are kept in
channel databases. It also helps reduce the amount of data that the price calculation algorithm must work
with.
If your prices vary by product variant, consider using the product base price as the price of the most
common variant. Then use trade agreements only for the variant prices that are exceptions. This approach
helps reduce the number of trade agreement records. Because it's so easy to import data into Microsoft
Dynamics 365, you might be tempted to import a trade agreement for every variant of every product.
However, that approach can produce many trade agreements that have the same value. Therefore, it can
needlessly increase the size of your data.
Commerce processes variant-specific prices in order from most specific to least specific. If a product
dimension doesn't affect the price, you don't have to define trade agreements for it. For example, a product is
available in three colors and four sizes, but the price varies only by size. If you define a trade agreement for
every variant, you create 12 records. Instead, you can define a trade agreement just for each size and leave
the Color dimension blank. In this case, you produce only four records.
Alternatively, if not every value of a dimension produces a different price, you can define one trade
agreement for the product master and leave all product dimensions blank. Then define a separate trade
agreement just for each dimension value that produces a different price. For example, if the XXL size has a
higher price, but all other sizes have the same price, you require only two trade agreements: one for the
product master and one for the XXL size.
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This article provides information about price adjustments and discounts in Dynamics 365 Commerce.
In Commerce, you can make price adjustments to products, and can also set up discounts that are applied to a line
item or a transaction at the point of sale (POS), in a call center sales order, or in an online order. Both price
adjustments and discounts can be linked to price groups. For both price adjustments and discounts, you can specify
a single start date and end date or a reoccurring period, a discount code, and a few additional attributes.
Price adjustments and discounts can be applied to products, variants, or categories. If more than one discount
applies to a product, a customer might receive either one of the discounts or a combined discount, depending on
the configuration of the discount. Commerce automatically applies the discount or combination of discounts that
gives the best price to the customer. When you set up a price adjustment or a discount, be sure to confirm that
price groups are assigned to the correct channels, catalogs, affiliations, or loyalty programs that you want the
discount to apply to. Additionally, if you want to automatically generate the discount ID, set up number sequences
on the Commerce parameters page before you define a new price adjustment or discount.
NOTE
You can delete a price adjustment or a discount. However, statistical information will be lost.
Types of discounts
There are four types of discounts:
Simple discount – A single percentage or amount.
Quantity discount – A discount that is applied when two or more products are purchased.
Mix and match discount – A discount that is applied when a specific combination of products is purchased.
Threshold discount – A discount that is applied when the transaction total is more than a specified amount.
Both price adjustments and discounts can be associated with price groups. Price groups can then be associated
with channels, catalogs, affiliations, and loyalty programs.
Apply multiple Retail discounts to a product
2/13/2020 • 18 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
Overview
This topic reviews all the factors considered when multiple discounts can be applied to a product. In this scenario,
the commerce pricing engine applies as many discounts as it can, to maximize the total discount amount on a
product. Multiple options affect the order in which the discounts are applied. Throughout this topic it's noted when
a setting affects the order of discount application and exclusivity of a discount. The following settings affect how
multiple discounts, applicable on a product, are processed.
Discount concurrency control model
Pricing Priority
Discount type (Simple , Mix and Match , Quantity , and Threshold )
Discount concurrency mode (Exclusive , Best price , and Compound )
Multiple occurrences mode , when it's set to Favor retailer (for mix-and-match least-expensive discounts
only)
The Discount concurrency control model is described below in detail; however, the rest of the properties are
covered in Retail discounts.
NOTE
Threshold discounts are not evaluated yet because, as indicated by their name, they will be evaluated against the
transaction amount, after all the other discounts have been applied.
The following image shows a concise view of how the pricing algorithm loops through the discounts across
various priorities. Note that this diagram applies for both the discount concurrency control models, but the
difference is in the way in which the pricing algorithm treats discounts at different priorities. This difference
is elaborated using the following example.
2. Within priority 10, the pricing engine first considers the discounts that have the concurrency mode set to
Exclusive . If there is more than one exclusive discount applicable to the product, then the best exclusive
discount is applied. When a product gets an exclusive discount, no other discounts can be applied to this
product at any priority.
NOTE
Mix-and-match, least-expensive discounts that have the Multiple occurrences mode property set to Favor
retailer are skipped in this step. After all the Exclusive discounts (Simple , Quantity , Mix and Match ) at pricing
priority 10 have been applied, then the exclusive mix-and-match Favor retailer discounts, at pricing priority 10, are
applied to any undiscounted products.
3. Within priority 10, the pricing engine then considers the discounts that have the discount concurrency mode
set to Best price and Compound . If multiple Compound discounts apply to a product, then they are
compounded, and the resulting total discount amount competes against the other Best price discounts.
Either one of the Best price discounts or the combination of Compound discounts gets applied to the
product, depending on which discount gives the most benefit to the customer. Like the previous step, mix-
and-match least-expensive discounts that have the Multiple occurrences mode property set to Favor
retailer are skipped in this step. Once all the Best price and Compound discounts at pricing priority 10
have been applied, then Best price and Compound mix-and-match Favor retailer discounts are evaluated
against each other and gets applied. A Best price discount applies only to undiscounted products, but a
Compound discount applies to undiscounted products and products that are discounted with another
Compound discounts at the same pricing priority.
4. Because the discount concurrency control mode is set to Best price and compound within priority,
never compound across priorities so the simple, quantity, and mix-and-match discounts applicable to
the product, at pricing priority 5 do not compete with the applied discounts. At this point, for a product, all
the simple, quantity, and mix-and-match discounts at the highest priority have been evaluated.
5. Next, within priority 10, the pricing engine evaluates threshold discounts that have the concurrency mode set
to Exclusive . An Exclusive threshold discount can't be applied to a product that already has a discount
applied, so a threshold amount is applied and evaluated only on the undiscounted products. If more than one
of these discounts apply to the transaction, the discounts compete, and the largest discount is applied.
6. Next, within priority 10, the pricing engine evaluates threshold discounts that have the concurrency mode set
to Best price and Compound . The pricing engine evaluates and applies threshold discounts at pricing
priority 10. Compound threshold discounts are compounded with other Compound threshold discounts
and compete against the other Best price discounts within the same pricing priority. A Best price threshold
discount applies only to undiscounted products, but a Compound threshold discount applies to
undiscounted products and products that are discounted with another Compound (Simple , Quantity , and
Mix and Match ) discount.
NOTE
If there were threshold discounts set at a higher priority, for example if it's set to 11, and all the other discount types
were at priority 10 and 5, then the threshold discounts would have evaluated at priority 11 and then compounded
with the simple, quantity, and mix and match discounts at priority 10. This is important because simple, quantity, and
mix and match discounts are evaluated within their highest priority and the threshold discounts are evaluated within
their highest priority and then compounded. Any threshold discounts at the lower priority are ignored.
At this point, all the discounts at the highest priorities have been evaluated.
The above logic is showcased in the following image, which shows the detailed view of how the pricing algorithm
loops through the discounts across various priorities. Note that this diagram applies for both the discount
concurrency control models, but the difference is in the way in which the pricing algorithm treats discounts at
different priorities.
In this example, let's assume the following setup.
Product information
Prod1 $10
Prod2 $20
Prod3 $10
Discount setup
DISC O UN T DISC O UN T A P P L IC A B L E O N
DISC O UN T # C O N C URREN C Y P RIO RIT Y A M O UN T DISC O UN T T Y P E P RO DUC T S
Step 1: For each product, determine the highest priority where a Simple, Quantity or Mix and Match discount exists.
In this case, for prod1 it is priority 10, for prod2 it is priority 10 and for prod3 it is priority 5.
Step 2: For each product, find Simple , Quantity , or Mix and Match discounts, with discount concurrency as
Exclusive , at the highest priority applicable to individual products. In this case, there are none for prod1 and prod2
at priority 10 and similarly, there are none for prod3 at priority 5.
Step 3: For each product, evaluate Simple , Quantity , or Mix and Match discounts, with discount concurrency as
Best price and Compound , at the highest priority applicable to individual products. The following table illustrates
this.
NOTE
Two asterisks (**) indicate the discount that gets applied to a product.
T RA N SA C
T IO N P RIO RIT Y
Q UA N T IT 10 ( C 1 + P RIO RIT Y P RIO RIT Y P RIO RIT Y EXP L A N A
Y P RO DUC T P RIC E C 2) 10 ( B P 1) 5 ( C 3) 5 ( B P 2) TOTA L T IO N
Step 4: Evaluate Threshold discounts applicable to the individual products at the highest priority. For this example,
it is priority 5 for all the products.
The final amount due for Prod1 is 7.29, Prod 2 is 17, and Prod 3 is 6.75.
Example 2
In the second scenario, Best price only within priority, always compound across priorities is selected as the
discount concurrency control model while rest of the discounts remain as is.
1. Given that Discount concurrency control model is selected, for each product the pricing engine next
considers the highest pricing priority of the discounts that are applicable on a product. If, for a product,
discounts from more than one priority are applicable, then each is evaluated independently, and in
descending order. Thus, the pricing engine first evaluates and applies the simple, quantity, and mix-and-
match discounts with priority 10 followed by the discounts at priority 5.
NOTE
Like the previous discount concurrency control model, the Threshold discounts are not evaluated yet.
2. Within priority 10, the pricing engine first considers the discounts that have the concurrency mode set to
Exclusive . If there is more than one exclusive discount applicable to the product, then the best exclusive
discount is applied. When a product gets an exclusive discount, no other discounts can be applied to this
product at any priority.
NOTE
Mix-and-match, least-expensive discounts that have the Multiple occurrences mode property set to Favor
retailer are skipped in this step. After all the Exclusive discounts (Simple , Quantity and Mix and Match ) at
pricing priority 10 have been applied, then the Exclusive mix-and-match Favor retailer discounts, at pricing priority
10, are applied to any undiscounted products.
3. Within priority 10, the pricing engine then considers the discounts that have the discount concurrency mode
set to Best price and Compound . As stated before, for this discount concurrency control model, discounts
with Discount concurrency mode set to Best price and Compound are all treated as "best price"; within
a single pricing priority. So, if multiple Compound and Best price discounts apply to a product, then all
these discounts compete for best price and only the best discount wins within a priority. Like the previous
step, mix-and-match least-expensive discounts that have the Multiple occurrences mode property set to
Favor retailer are skipped in this step. When all the Best price and Compound discounts at pricing
priority 10 have been applied, then Best price and Compound mix-and-match Favor retailer discounts
are evaluated against each other and applied. Because both Best price and Compound are treated as best
price, only one discount can be applied per product at a given priority.
4. The pricing engine repeats the steps 1 through 3 for any simple, quantity, and mix-and-match discounts at
pricing priority 5.
NOTE
The pricing engine completes steps 1 through 3, one time, for every pricing priority that applies to the transaction.
Therefore, we recommend that you keep the number of pricing priorities to a minimum, based on your business
requirements.
At this point, all the simple, quantity, and mix-and-match discounts at all priorities have been evaluated and
applied.
5. Next, within priority 10, the pricing engine evaluates threshold discounts that have the concurrency mode set
to Exclusive . An Exclusive threshold discount can't be applied to a product that already has a discount
applied, so a threshold amount is applied and evaluated only on undiscounted products. If more than one of
these discounts apply to the transaction, the discounts compete, and the largest discount is applied.
6. Next, within priority 10, the pricing engine evaluates threshold discounts that have the concurrency mode set
to Best price and Compound . Because Best price and Compound are all treated as "best price", these
discounts compete for the best discount. The selected threshold discount gets applied to those products
which do not have any other types of discounts already applied at priority 10. If there are other discounts,
then the threshold discount is not applied because both Best price and Compound discounts are treated as
Best price, and only one discount per priority is allowed with this discount concurrency control.
NOTE
If there were threshold discounts set at a higher priority, for example, it's set to 11 and all the other discount types
were at priority 10 and 5, then the threshold discounts would have evaluated at priority 11 and the best threshold
discount would have been applied at priority 11 (assuming there is no Exclusive discount (Simple , Quantity , or Mix
and Match ) applied at a lower priority).
7. The pricing engine repeats the steps 5 and 6 for threshold discounts at pricing priority 5.
Let's use the same example as before.
Product information
P RO DUC T # P RO DUC T P RIC E
Prod1 $10
Prod2 $20
Prod3 $10
Discount setup
DISC O UN T DISC O UN T A P P L IC A B L E O N
DISC O UN T # C O N C URREN C Y P RIO RIT Y A M O UN T DISC O UN T T Y P E P RO DUC T S
Step 1: For each product, determine the highest priority where a Simple , Quantity , or Mix and Match discount
exists. In this case, for prod1 it is priority 10, for prod2 it is priority 10, and for prod3 it is priority 5.
Step 2: For each product, find Simple , Quantity , or Mix and Match discounts, with discount concurrency as
Exclusive , at the highest priority applicable to individual products. In this case, there are none for prod1 and prod2
at priority 10 and there are none for prod3 at priority 5.
Step 3: For each product, evaluate Simple , Quantity , or Mix and Match discounts, with discount concurrency as
Best price and Compound , at the highest priority applicable to individual products. See the table below.
NOTE
Two asterisks (**) indicate the discount that gets applied to a product.
T RA N SA C T I
ON P RIO RIT Y P RIO RIT Y P RIO RIT Y EXP L A N AT I
Q UA N T IT Y P RO DUC T P RIC E 10 ( C 1) 10 ( C 2) 10 ( B P 1) TOTA L ON
T RA N SA C T I
ON P RIO RIT Y P RIO RIT Y P RIO RIT Y EXP L A N AT I
Q UA N T IT Y P RO DUC T P RIC E 10 ( C 1) 10 ( C 2) 10 ( B P 1) TOTA L ON
Step 4: For each product, determine the next highest priority where a Simple , Quantity , or Mix and Match
discount exists. In this case, it is priority 5 for all three products.
Step 5: At priority 5, find Simple , Quantity , or Mix and Match discounts with discount concurrency mode as
Exclusive . In this case, none.
NOTE
If an exclusive discount existed at priority 5, then it would have been ignored as exclusive discounts cannot co-exist with other
discounts which have been applied at a higher priority
Step 6: At priority 5, evaluate Simple , Quantity , or Mix and Match discounts. The following table illustrates this.
T RA N SA C T IO DISC O UN T ED P RIO RIT Y 5 P RIO RIT Y 5
N Q UA N T IT Y P RO DUC T P RIC E ( C 3) ( B P 2) TOTA L EXP L A N AT IO N
DISC O UN T
T RA N SA C T I A P P L IED AT DISC O UN T
ON P RIO RIT Y A P P L IED AT DISC O UN T E P RIO RIT Y 5 A M O UN T EXP L A N AT I
Q UA N T IT Y P RO DUC T 10 P RIO RIT Y 5 D P RIC E ( C 4) DUE ON
DISC O UN T
T RA N SA C T I A P P L IED AT DISC O UN T
ON P RIO RIT Y A P P L IED AT DISC O UN T E P RIO RIT Y 5 A M O UN T EXP L A N AT I
Q UA N T IT Y P RO DUC T 10 P RIO RIT Y 5 D P RIC E ( C 4) DUE ON
The final amount due for prod1 is 6.37, Prod 2 is 12.75, and Prod 3 is 7.5.
NOTE
For the same discount setting, the results vastly differ depending on which discount concurrency control model is selected.
Determine the optimal combination of overlapping
discounts
2/1/2020 • 7 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
When discounts overlap, you must determine the combination of overlapping discounts that will produce the
lowest transaction total or the highest total discount. When the discount amount varies according to the price of the
products that are purchased, such as in the common "Buy 1, get 1 X percent off" (BOGO) retail discount, this
process becomes an issue of combinatorial optimization.
This article applies to Microsoft Dynamics AX 2012 R3 with KB 3105973 (released November 2, 2015) or later, and
to Dynamics 365 Commerce. To determine the combination overlapping discounts to apply in a timely manner, we
have introduced a method for applying overlapping discounts. We call this new method marginal value ranking .
Marginal value ranking is used when the time that is required in order to evaluate the possible combinations of
overlapping discounts exceeds a threshold that is configurable on the Commerce parameters page. In the
marginal value ranking method, a value is calculated for each overlapping discount by using the discount's value on
the shared products. The overlapped discounts are then applied from the highest relative value to the lowest
relative value. For details about the new method, see the "Marginal value" section, later in this article. Marginal
value ranking isn't used when the discount amounts for a product aren't affected by another product in the
transaction. For example, this method isn't used for two simple discounts, or for a simple discount and a single
product quantity discount.
Discount examples
You can create an unlimited number of discounts on a common set of products. However, because there is no limit,
performance issues can occur when you try to calculate the discounts that should be used on the various products.
The following examples illustrate this issue in more detail. In example 1, we start with two products and two
overlapping discounts. Then, in example 2, we show how the issue evolves as more products are added.
Example 1: Two products and two discounts
In this example, two products are required in order to qualify for each discount, and the discounts can't be
combined. The discounts in this example are Best price discounts. Both products qualify for both discounts. Here
are the two discounts.
For any two products, the better of these two discounts depends on the prices of the two products. When the price
of both products is equal or almost equal, discount 1 is better. When the price of one product is significantly less
than the price of the other product, discount 2 is better. Here is the mathematical rule for evaluating these two
discounts against each other.
NOTE
When the price of product 1 is equal to two-thirds of the price of product 2, the two discounts are equal. In this example, the
effective discount percentage for discount 1 varies from a few percent (when the prices of the two products are far apart) to a
maximum of 25 percent (when the two products have the same price). The effective discount percentage for discount 2 is
fixed. It's always 20 percent. Because the effective discount percentage for discount 1 has a range that can be more than or
less than discount 2, the best discount depends on the prices of the two products that must be discounted. In this example,
the calculation is completed quickly, because only two discounts are applied on only two products. There are only two
possible combinations: one application of discount 1 or one application of discount 2. There are no permutations to calculate.
The value of each discount is calculated by using both products, and the best discount is used.
First, we find the largest discount that is available from any two products by using either discount. The two tables
show the discount amount for all combinations of the two products. The shaded portions of the tables represent
either cases where a product is paired with itself, which we can't do, or a reverse pairing of two products that
produces the same discount amount and can be ignored. By looking at the tables, you can see that discount 1 for
the two $20 items is the largest discount that is available for either discount on all four products. (This discount is
highlighted in green in the first table.) That leaves only the $15 product and the $5 product. By looking at the two
tables again, you can see that, for these two products, discount 1 gives a $2.50 discount, whereas discount 2 gives a
$4 discount. Therefore, we select discount 2. The total discount is $14. To make this discussion easier to visualize,
here are two additional tables that show the effective discount percentage for all possible two-product
combinations for both discount 1 and discount 2. Only half the list of combinations is included, because, for these
two discounts, the order in which the two products are put into the discount doesn't matter. The highest effective
discount (25 percent) is highlighted in green, and the lowest effective discount (10 percent) is highlighted in red.
NOTE
When prices vary, and two or more discount compete, the only way to guarantee the best combination of discounts is to
evaluate both discounts and compare them.
When even larger quantities or more overlapping discounts are applied, the total number of possible discount
combinations quickly goes into the millions, and the time that is required in order to evaluate and select the best
possible combination quickly becomes noticeable. Some optimizations have been done in the price engine to
reduce the total number of combinations that must be evaluated. However, because the number overlapping
discounts and the quantities in a transaction aren't limited, a large number of combinations will always have to be
evaluated whenever there are overlapping discounts. This issue is the issue that the marginal value ranking method
addresses.
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic reviews the concepts you need to know to create a discount for a specific channel.
Channel-specific discounts
Retailers often offer different discounts in different channels. This may be done to address local market conditions
or to deal with competing retailers.
Commerce uses price groups to define channel-specific discounts. Price groups can be assigned to one or more of
the following entities: channels, catalogs, affiliations, and loyalty programs. This article discusses channels, but the
same concepts apply to catalog discounts, affiliations discounts, and loyalty discounts.
Price groups
The diagram above illustrates the relationship between entities that may be on a transaction (channel, catalog,
affiliation, customer, loyalty card) and the various discount types that can be configured. All transactions occur in a
channel, so the channel is guaranteed to be present on a transaction. The remaining entities are optional. On each
master data pages there is a link to a related price groups page where you can view and add price groups as
needed. A price group is used to relate four different types of entities to discounts, price adjustments, and trade
agreements. We recommend that you plan a strategy for how you will name your price groups to keep them
organized. One option would be to use a letter or number prefix or suffix to distinguish between the different types.
For example, 1-xxxxx for channel price groups and 2-xxxxx for catalog price groups. There are four inquiry pages
that focus on each of the commerce entities that can have discounts associated to them.
Channel channel price groups – This page shows a list of channels and discounts linked together for each
price group.
Catalog price groups – This page shows a list of catalogs and discounts linked together for each price group.
Loyalty price groups – This page shows a list of loyalty programs and discounts linked together for each price
group.
Affiliation price groups – This page shows a list of affiliations and discounts linked together for each price
group.
Additional resources
Price adjustments and discounts
Options for preventing discounts for retail products
2/13/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
There are various reasons why retailers may want to prevent some products from being discounted, either from a
promotion or during the sale at the POS.
The following options, which can be found on the Commerce tab of released products, will allow the product to be
configured to prevent all or manual discounts. The settings can also be specified at the category level from the
category hierarchy.
Prevent all discounts – Select this option to prevent all types of discounts from being applied to this product.
This includes promotions such as mix and match, quantity and threshold discounts, as well as manual line and
transaction discounts that are applied during a sale by a POS user.
Prevent manual discounts – Select this option to only prevent the manual line or transaction discounts that
are applied during a sale by a POS user. Products with this option selected are still eligible for promotions, such
as mix and match and quantity and threshold discounts.
NOTE
These settings do not restrict the price override operation, because that sets the base price and is not treated as a discount.
Tender-based discounts
2/1/2020 • 5 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
It's a common practice among retailers to release private, branded credit cards. The retailers benefit because they
get preferred rates from the banks. Additionally, because these credits cards can encourage customers to visit the
store more often, they help improve the retailer's bottom line. Therefore, retailers have an incentive to increase
customer use of their branded credit cards. To achieve this goal, they often provide additional discounts to
customers who use these credit cards.
Alternatively, retailers who don't provide branded credit cards might want to encourage customers to pay by using
other tender types, such as cash, gift cards, or loyalty points. In this way, they can help reduce the expense of credit
card processing fees. Therefore, retailers might provide discounts to customers who use these alternative tender
types.
In Microsoft Dynamics 365 Commerce, retailers can configure a discount percentage that is applied to qualified
lines if the customer pays by using the preferred tender type. The customer can decide whether to do a partial
payment or a full payment, and Commerce determines the appropriate discount amount. Note that the discount is
always given on the pre-tax amount of the qualified items.
Tender-based discounts don't compete with item-based discounts, such as periodic or manual discounts. They are
always compounded over the item discounts. Therefore, even if an exclusive periodic discount is applied to an item,
the tender-based discount is still applied on top of the exclusive periodic discount. Likewise, if a threshold discount
is applied to the transaction, and the tender-based discount reduces the total below the threshold, the threshold
discount is still applied to the transaction.
Even though tender-based discounts reduce the subtotal of the transaction, automatic charges that are applied to
the transaction aren't affected. For example, if the delivery charges are calculated as $5 because the subtotal was
more than $100, and the tender-based discount reduces the amount so that it's less than $100, the delivery charges
are still $5 for the order.
NOTE
Tender-based discounts are proportionally distributed to the qualified sales lines and reduce the pre-tax amount of the
individual lines. If multiple tender-based discounts are configured for a tender type (for example, cash), only the best tender-
based discount is applied.
Tender-based discounts can be applied only to sales lines where the prices aren't locked. If new sales lines are
added to an order, the tender-based discount is applied to the new sales lines only during payment. While a
customer order for pickup or shipment is being placed, the tender-based discount is applied only to the deposit
amount. After the order is placed, during fulfillment, the prices of the sales lines are locked. Therefore, no tender-
based discount is applied to any balance that is paid during pickup or authorized during shipment. The tender-
based discount can be applied to the whole amount of a customer order only if the retailer collects the whole
amount as a deposit while the order is being placed.
IMPORTANT
In Commerce, tender-based discounts are currently limited to two payment types: credit cards and cash.
NOTE
Card validation isn't done for call center orders. For example, if the call center user selects Visa as the credit card, but the
customer uses Mastercard, the system still applies the discount.
NOTE
When the Prevent all discounts configuration is set to Yes , no discounts will be applied to the product. Not even tender-
based discounts will be applied.
Shipping discount overview
2/1/2020 • 3 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic provides an overview of the shipping promotion capability available within Dynamics 365 Commerce.
Free or discounted shipping is one of the highly influencing factors driving the customers' online purchase
decisions. Many retailers also leverage the free shipping benefit to motivate the customers to increase their basket
size, thus increasing the revenue per transaction. With the 10.0 release of Retail, retailers can use "Retail shipping
threshold discount" to define the thresholds, which once met, will qualify the customers for discounted or free
shipping. For example, spend $50 or more to get free 'Overnight shipping' or sign up for the loyalty program and
get free 'Two-day shipping'.
This feature leverages the advanced auto charges capability that was available in the call center and e-Commerce
modules but has now been made available in POS. For more information, see Omni-channel advanced auto
charges. These advanced auto charges need to be enabled for shipping promotion to work. These can be enabled
by turning on the "Use advanced auto-charges" configuration on the Commerce parameters > Customer
orders tab. Retailers can use the advanced auto charges feature to set various types of charges such as handling,
installation, and disposal, however, the shipping discount is only applied to the shipping charges. Thus, the retailer
needs to specify which of the charges are shipping charges. To specify a shipping charge, go to Retail and
Commerce > Retail and Commerce IT > Channel setup > Charges > Charge codes . Select the Shipping
charge check box for the desired charges. This is the only prerequisite for using the shipping threshold discount.
The next step is to configure the shipping discount itself. To do this, go to Retail and Commerce > Pricing and
discounts > shipping discounts > Shipping threshold discount . You can define the thresholds, set the
discount percent that should be applied when the thresholds are met, and choose a mode of delivery for which this
discount applies, such as Standard overnight or Two-day shipping.
Like product discounts, this discount honors all the existing standard discount capabilities, such as allowing the
retailer to restrict these discounts with coupons so that only the customers with coupons can get these discounts.
Also, these discounts leverage the Price groups capability to determine the eligibility of the discount. For example,
the retailer can choose to run these promotions only in the online channels and/or across channels for certain
customer groups such as loyalty customers. Lastly, to view the charges applied on the sales lines and the applied
promotion, you need to add Manage charges on the POS screen. Go to the Screen layout page to make those
changes. Now run the jobs 1020, 1040, 1090, and 1110 to send the charges, shipping promotion, and screen layout
information to the channels.
When the cashier creates a customer order on POS or the customer places an order on an e-Commerce website,
the charges are calculated automatically. However, if the mode of delivery on the order meets the mode of delivery
and the transaction amount meets the threshold set on the shipping threshold discount, then the shipping discount
gets applied. Currently, the shipping discounts apply only on POS and e-Commerce orders. These discounts will
also be available for call center orders in a future release of the app.
NOTE
Unlike product discounts such as quantity, simple, mix and match, and threshold discounts, the shipping discount does not
create discount lines. Instead, the shipping discount edits the shipping charge directly and appends the name of the discount
to the charge description.
Set up coupons for retail sales
2/13/2020 • 4 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
Overview of coupons
Coupons are codes and bar codes that are used to add discounts to transactions. Each coupon can have multiple
codes, and each code can have its own effective dates.
Each coupon is related to one discount. The price groups that are associated with the discount define the customers
that can use a coupon or the channels where a coupon is valid.
Essentially, coupons are additional validation on top of discounts. The coupon provides the coupon codes and bar
codes that are required, together with date ranges for those codes. The coupon also provides optional usage limits
and customer required properties. The discount provides the set of products that the coupon is valid for. The price
groups for the discount provide the set of customers, channels, or catalogs that the coupon is valid for.
To create a coupon, you create the discount and the coupon separately. You then link them by selecting the discount
on the coupon page in Commerce.
NOTE
After a coupon is linked to a discount, several fields on the discount page in Commerce become read-only, because they are
managed by the coupon's settings. These fields include the fields for the status and standard date ranges.
Limited-use coupons
Coupons can be configured as limited-use coupons. The usage limit can be defined per customer or channel, or as a
global limit. This limit is enforced when the code or bar code is entered or scanned in POS or during sales order
entry.
The limit is enforced per coupon code on a coupon. For example, a single-use coupon that has two coupon codes
can be used two times: one time for each coupon code. Each code on a coupon can be independently set to active.
NOTE
Once a coupon code has reached its usage limit, the system does not automatically change the status of the coupon code to
"Used". The system however, does not allow further usage of a coupon code which has reached its usage limit. If the status of
a coupon code is manually set to anything apart from "Active" then this coupon code cannot be used in any channel.
Managing coupons
You must create the discount and the coupon separately. You then link them by selecting the discount on the
coupon page. After you link a coupon to a discount, several fields for the discount become read-only, because they
are managed by the coupon's settings. These fields include the fields for the status and standard date ranges.
Essentially, coupons are now additional validation on top of discounts. The coupon provides the coupon codes and
bar codes, together with date ranges, the usage limits, and the customer required property. The discount provides
the set of products that the coupon is valid for. The discount's price groups provide the set of customers, channels,
or catalogs that the coupon is valid for.
NOTE
For both number sequences, you must set the Scope field to Company . In most cases, you should automatically
generate both sequence numbers.
5. On the Commerce parameters page, on the Bar codes tab, select the bar code that you created earlier.
6. On the Commerce shared parameters page, on the Number sequences tab, select the number
sequences that you created for the coupon number and coupon code ID.
7. You can now open the Coupons page and create new coupons.
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
Promotions play an important role in motivating customers who are making purchasing decisions. For example,
holidays can produce the highest number of sales for retailers, because the whole retail market is flooded with
enticing promotions and discounts. If store associates know about and understand the promotions that are
available, they can easily take advantage of those promotions to cross-sell and upsell items. This topic explains how
Microsoft Dynamics 365 Commerce helps sales associates learn about promotions and how they can be used for
cross-sell and upsell motions.
To show discounts, the system looks for all the discounts that match one or more of the following conditions:
The price group of the discount matches the price group of the store.
The price group of the discount is mapped to an affiliation or loyalty program.
The price group of the discount is mapped to a catalog that is associated with the store.
The All discounts page shows only some coupon-based discounts, because retailers typically create thousands of
coupons and corresponding discounts for unique customers, and this page isn't intended to show customer-specific
discounts. Coupon-based discounts are shown only if the Apply without a coupon code option is turned on in
each coupon header. In that case, cashiers can apply the coupon without having to enter or scan any coupon code
or bar code.
When the Apply without a coupon code option is turned on, various scenarios become available. For example,
cashiers can give additional discounts to customers for customer appeasement purposes or because of product
defects. Printed coupon codes or bar codes don't have to be distributed to cashiers. Instead, cashiers can select the
Apply coupon button. The coupon is then automatically applied to the transaction. If multiple coupons exist for a
coupon header, the system automatically selects the first active coupon on the transaction.
On the All discounts page, sales associates can also search discounts by keywords. The keyword search looks in
the fields that hold the discount name and discount description. Sales associates can also filter discounts based on
whether a discount requires a coupon code.
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
In order to provide competitive prices to their customers, retailers often change prices of products. Store managers
want the ability to easily access recent or upcoming price changes so that they can plan for the required resources
to update the price labels displayed on the store shelves. With release 10.0 of Retail, a store manager can open the
Price report by navigating to All stores > Store > Price repor t and viewing the updated prices for the products
associated to the store.
To enable the price report, the Enable price repor t for store parameter must be turned on. This parameter is
located on the Commerce parameters > Discounts > Miscellaneous tab. Opening the Price repor t page
displays a dialog box with various configurations. The available configurations are listed below.
From date / To date The date range for which the price report should be
generated. The duration is currently limited to 7 days.
Channel The store for which the price report should be generated.
Display products with available inventory Setting this to Yes will show the prices for only those products
which currently have physical inventory available in the store.
Display prices for variants Setting this to Yes will display the prices of the variants along
with the product masters. This should only be turned On if
you have variant-specific prices, because the number of rows
grows very large. In future releases, we will enable the
dimensions-based prices so that the store manager can
choose the dimensions for which the prices should be
displayed.
Display products with price changes Setting this to Yes will display the prices for only those dates
on which the price has been changed. The price for one day
before the selected From date will always be displayed, so
that the store manager can easily identity the products which
have not changed prices for the entire selected duration, and
can also view the current price.
After the report is generated, the Excel file can be downloaded for any additional filtering needs. The price report
can also be used to check the historical prices of products for past dates.
Base price and trade agreements
3/18/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This procedure walks through creating channel-specific sales price trade agreements. This procedure uses the USRT
demo data company.
1. In the Navigation pane , go to Modules > Retail and Commerce > Pricing and discounts management
> Price groups > All price groups . Price groups are how trade agreements are assigned to specific channels.
Using price groups to assign trade agreements to a channel enables channel-specific pricing.
2. Click New .
3. In the Price groups field, type a value.
4. In the Name field, type a value.
5. Click Save .
6. Close the page.
7. In the Navigation pane , go to Modules > Retail and Commerce > Channels > Stores > All stores .
8. In the list, select 'New York'
9. On the Action Pane, click Store .
10. Click Price groups .
11. Click New .
12. In the Price groups field, click the drop-down button to open the lookup.
13. In the list, find and select the desired record.
14. Click Save .
15. Close the page.
16. Close the page.
17. In the Navigation pane , go to Modules > Retail and Commerce > Products and categories >
Released products by categor y .
18. In the list, click the link in the selected row.
19. Click Edit .
20. Expand the Sell fastTab.
21. In the Price field, enter a number. This price is used if no applicable trade agreements are found.
22. Click Save .
23. On the Action Pane , click Sell .
24. Click Create trade agreements .
25. Click New .
26. In the Name field, click the drop-down button to open the lookup.
27. In the list, select Commerce . In the demo data, the Commerce journal name has the default relation of Price
(sales) . That means all new lines created will default to sales price trade agreements.
28. On the Action pane , click Lines .
29. In the Account code field, select 'Group'.
30. In the Account selection field, click the drop-down button to open the lookup.
31. In the list, find and select the desired record. This will complete the link from Channel to Price group to Trade
agreement.
32. In the Item relation field, type a value.
33. In the Amount in currency field, enter a number.
34. In the Details fastTab, check or uncheck the Find next checkbox. When Find next is set to 'Yes', the pricing
engine will continue to search for applicable trade agreements with a lower sale price. When Find next is set to
'No', the price engine stops searching and uses the trade agreement.
35. Click Post .
36. Click OK .
37. Close the page.
38. On the Action Pane , click Sell.
39. Click Sales price .
Category pricing rules to create trade agreements
3/18/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This procedure demonstrates how to create sales price trade agreements using a category pricing rule. The demo
data company used to create this task is USRT. This task is intended for the Commerce merchandising manager
role.
1. Click Pricing and discount management.
2. Click New.
3. Click Category price rule.
4. In the list, mark the selected row.
5. In the Account code field, select an option.
A "Group" type account code is used to set up sales price trade agreements that are specific for Channels,
Loyalty programs, Catalogs, and Affiliations.
6. In the Account selection field, enter or select a value.
7. In the Category field, enter or select a value.
8. In the Amount/Percent field, enter a number.
9. In the Rounding version field, enter or select a value.
10. Click Generate trade agreements.
11. Click Next.
12. In the From date field, enter a date.
13. In the To date field, enter a date.
14. Select Yes in the Find next field.
15. Click Next.
16. Click Finish.
This creates a Trade agreement journal and opens it for your review.
17. In the list, find and select the desired record.
The trade agreement journals created from the Category pricing rules aren't posted. You can review and
edit the prices generated before posting them.
18. Click Edit.
19. In the Amount in currency field, enter a number.
20. Click Post.
21. Click OK.
22. Close the page.
23. Close the page.
24. Click the Category price rules tab.
Channel specific Category pricing rules will show in this list.
Product recommendations overview
3/19/2020 • 3 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-
Commerce, in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
Microsoft Dynamics 365 Commerce can be used to show product recommendations on the e-Commerce website
and point of sale (POS) device. Product recommendations are items that a customer might be interested in. The
recommendations are based on the purchase trends of other customers in online and brick-and-mortar stores.
Product recommendations allow customers to easily and quickly find products that they want while they have an
experience that serves them well. Cross-selling and upselling can even be used to assist customers find
additional products that they didn't originally intend to buy. When recommendations are used to enhance
product discovery, they create more conversion opportunities, help increase sales revenue, and even amplify
customer satisfaction and retention.
In e-Commerce, product recommendations are powered by Microsoft Recommendations machine learning
technologies on a large scale.
Recommendation service
The product recommendations service utilizes artificial intelligence and machine learning (AI-ML) technologies in
the following way:
Data in the format that the Recommendation service requires is extracted from the Commerce operational
database and sent to Azure data lake storage (ADLS) or Entity store.
The recommendations service uses the stored data to train recommendation models for the People also
like , Frequently bought together , New , Best selling , and Trending lists.
Scenarios
Product recommendations are available for the following scenarios:
On any store page for browsing or landing page in e-Commerce: If customers or store associates
visit a store page, the recommendation engine can suggest products in the New , Best Selling , and Trending
lists.
On the Product details page: If customers or store associates visit a Product details page, the
recommendation engine suggests additional items that are also likely to be purchased. These items appear in
the People also like list.
On the Transaction page or the checkout page: The recommendation engine suggests items, based on
the whole list of items in the basket. These items appear in the Frequently bought together list.
Personalized recommendations: Merchandizers can provide signed-in customers a personalized picks
for you list, in addition to new functionality that allows for existing list scenarios to be personalized based on
that customer. To learn more, see Enable personalized recommendations..
Types of product recommendations
The following table describes various types of automated product recommendations available for retailers to
implement in their Dynamics 365 Commerce solution via the product collection module. Retailers can also show
personalized results for a signed-in user if the site author chooses that option.
Additional resources
Enable ADLS in a Dynamics 365 Commerce environment
Enable product recommendations
Enable personalized recommendations
Opt out of personalized recommendations
Add product recommendations on POS
Add recommendations to the transaction screen
Adjust AI-ML recommendations results
Manually create curated recommendations
Create recommendations with demo data
Product recommendations FAQ
Enable ADLS in a Dynamics 365 Commerce
environment
4/13/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-
Commerce, in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic explains how to enable and test Azure Data Lake Storage (ADLS) for a Dynamics 365 Commerce
environment, which is a prerequisite for enabling product recommendations.
Overview
In the Dynamics 365 Commerce solution, all product and transaction information is tracked in the environment's
Entity store. To make this data accessible to other Dynamics 365 services, such as data analytics, business
intelligence, and personalized recommendations, it is necessary to connect the environment to a customer-owned
Azure Data Lake Storage Gen 2 (ADLS) solution.
As ADLS is configured in an environment, all necessary data is mirrored from the Entity store while still being
protected and under customer's control.
If product recommendations or personalized recommendations are also enabled in the environment, then the
product recommendations stack will be granted access to the dedicated folder in ADLS to retrieve the customer’s
data and compute recommendations based on it.
Prerequisites
Customers need to have ADLS configured in an Azure subscription that they own. This topic does not cover the
purchase of an Azure subscription or the setup of an ADLS-enabled storage account.
For more information about ADLS, see ADLS official documentation.
Configuration steps
This section covers the configuration steps necessary for enabling ADLS in an environment as it relates to product
recommendations. For a more in-depth overview of the steps required to enable ADLS, see Make entity store
available as a Data Lake.
Enable ADLS in the environment
1. Log in to the environment's back office portal.
2. Search for System Parameters and navigate to the Data connections tab.
3. Set Enable Data Lake integration to Yes .
4. Set Trickle update Data Lake to Yes .
5. Next, enter the following required information:
a. Application ID // Application Secret // DNS Name - Needed to connect to KeyVault where the
ADLS secret is stored.
b. Secret name - The secret name stored in KeyVault and used to authenticate with ADLS.
6. Save your changes in the top left corner of the page.
The following image shows an example ADLS configuration.
NOTE
If the tests fail, double-check that all of the KeyVault information added above is correct, then try again.
Once the connection tests are successful, you must enable automatic refresh for Entity store.
To enable automatic refresh for Entity store, follow these steps.
1. Search for Entity Store .
2. In the list on the left, navigate to the RetailSales entry, and select Edit .
3. Ensure that Automatic Refresh Enabled is set to Yes , select Refresh , and then select Save .
The following image shows an example of Entity store with automatic refresh enabled.
ADLS is now configured for the environment.
If not completed already, follow the steps for enabling product recommendations and personalization for the
environment.
Additional resources
Make entity store available as a data lake
Product recommendations overview
Enable product recommendations
Enable personalized recommendations
Opt out of personalized recommendations
Add product recommendations on POS
Add recommendations to the transaction screen
Adjust AI-ML recommendations results
Manually create curated recommendations
Create recommendations with demo data
Product recommendations FAQ
Enable product recommendations
4/13/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-
Commerce, in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic explains how to make product recommendations that are based on artificial intelligence-machine
learning (AI-ML) available for Microsoft Dynamics 365 Commerce customers. For more information about
product recommendation lists, see Product recommendations overview.
Recommendations pre-check
Before enabling, note that product recommendations are only supported for Commerce customers who have
migrated their storage to using Azure Data Lake Storage (ADLS).
The following configurations must be enabled in the back office before enabling recommendations:
1. Ensure that ADLS has been purchased and successfully verified in the environment. For more information, see
Ensure that ADLS has been purchased and successfully verified in the environment.
2. Ensure that the entity store refresh has been automated. For more information, see Ensure that the Entity
store refresh has been automated.
3. Confirm that Azure AD Identity configuration contains an entry for Recommendations. More information on
how to do this action is below.
Additionally, ensure that RetailSale measurements have been enabled. To learn more about this set up process,
see Work with measures.
Turn on recommendations
To turn on product recommendations, follow these steps.
1. Go to Retail and Commerce > Product recommendations > Recommendation parameters .
2. In the list of shared parameters, select Recommendation Lists .
3. Set the Enable recommendations option to Yes .
NOTE
This procedure starts the process of generating product recommendation lists. It may take several hours before the lists
are available and can be viewed at the point of sale (POS) or in Dynamics 365 Commerce.
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-
Commerce, in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic describes how to make personalized product recommendations available for customers in Microsoft
Dynamics 365 Commerce.
Overview
In Dynamics 365 Commerce, retailers can make personalized product recommendations (also known as
personalization) available. In this way, personalized recommendations can be incorporated into the customer
experience online and at the point of sale (POS). When the personalization functionality is turned on, the system
can associate a user's purchase and product information to generate individualized product recommendations.
Personalization prerequisites
Before you make personalized product recommendations available for customers, note that product
recommendations are supported only for Commerce users who have migrated their storage to Azure Data Lake
Store. Before customers can receive personalized product recommendations, retailers must turn on product
recommendations.
NOTE
By turning on product recommendations, you also turn on personalization. However, if you turn off personalization, you
don't turn off the other types of product recommendations.
For more information about product recommendations, see the Product recommendations overview.
Turn on personalization
To turn on personalization, follow these steps.
1. Go to Retail and commerce > Product recommendations > Recommendation parameters .
2. In the list of Retail shared parameters, select Recommendation lists .
3. Set the Enable personalization option to Yes .
NOTE
When you turn on personalization, the process of generating personalized product recommendation lists is started. Up to
one day might be required before these lists are available and visible online and at the POS.
Personalized lists
In addition to allowing for personalization of existing machine-generated lists, the recommendations service
allows for personalization of the product discovery experience both online and at the POS.
After personalization is turned on, retailers can show shoppers personalized "Picks for you" lists online or
"Recommended for customer" lists on POS terminals. Additionally, retailers can apply personalization to existing
product recommendation lists and provide General Data Protection Regulation (GDPR) opt-out experiences for
authenticated users. If you turn off personalization, you also turn off these features.
Online "Picks for you" lists
A "Picks for you" list is an artificial intelligence-machine learning (AI-ML) list that shows an authenticated user a
personalized list of suggested products. This list is based on the user's omnichannel purchase history.
Personalized recommendations are dynamically updated as the user makes more purchases. This type of list also
supports category filtering, so that retailers can show top picks, based on navigational hierarchies.
Before the "Picks for you" list can appear on any e-Commerce page, the following user requirements must be
met:
Users must be signed in. Anonymous users won't see personalized recommendations.
Users must have at least one purchase on their account.
Users must opt in to receive personalized recommendations.
The following illustration shows an example of a "Picks for you" list on an online store page.
"Recommended for customer" lists at the POS
To enhance their clienteling experience, retailers can personalize existing customer details pages by adding a
contextual "Recommended for customer" list.
The following illustration shows an example of a "Recommended for customer" list on a POS terminal.
Apply personalization to existing recommendation lists
Retailers can apply personalization to existing recommendation lists, such as "New," "Trending," "Best selling,"
"People also like," and "Frequently bought together." When personalization is applied to existing lists, items that a
signed-in user previously bought are removed from those lists. For both anonymous users and users who opted
out of receiving personalized recommendations, default versions of the existing lists are shown. Therefore,
retailers don't have to manually maintain separate page experiences.
For example, a signed-in user has already bought the black watch and the brown work boots that appear in the
"Trending - default" list in the following illustration. Therefore, the user will see new products instead of those
products, as shown in the "Trending - personalized" list.
To apply personalization to an existing recommendation list in the Commerce site builder, follow these steps.
1. Open an existing site builder page that contains a product collection module.
2. In the left navigation pane, select the product collection module.
3. In the right navigation pane, under Products , select the list.
4. In the Select product list configuration dialog box, under Type , select the list type.
5. Select the Apply Personalization check box, and then select OK .
6. Save the page, finish editing it, and then publish it. After the page is published, signed-in users will see
personalized trending lists.
Additional resources
Product recommendations overview
Enable ADLS in a Dynamics 365 Commerce environment
Enable product recommendations
Opt out of personalized recommendations
Add product recommendations on POS
Add recommendations to the transaction screen
Adjust AI-ML recommendations results
Manually create curated recommendations
Create recommendations with demo data
Product recommendations FAQ
Opt out of personalized recommendations
3/19/2020 • 3 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-
Commerce, in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic explains how you can let customers opt out of receiving personalized recommendations in Microsoft
Dynamics 365 Commerce.
Overview
During account creation, new customers are automatically set up to receive personalized recommendations.
However, Dynamics 365 Commerce provides various ways for retailers to let users opt out of receiving these
recommendations and restrict the processing of their personal data. Authenticated users who opt out of receiving
personalized recommendations will immediately stop seeing personalized lists. Additionally, all personal data that
is collected for personalization will be removed from personalized recommendations models.
For more information about personalized product recommendations, see Enable personalized recommendations.
Additional resources
Product recommendations overview
Enable ADLS in a Dynamics 365 Commerce environment
Enable product recommendations
Enable personalized recommendations
Add product recommendations on POS
Add recommendations to the transaction screen
Adjust AI-ML recommendations results
Manually create curated recommendations
Create recommendations with demo data
Product recommendations FAQ
Add product recommendations on POS
3/19/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-
Commerce, in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
At its core, product recommendations are a transformative business application that span across all commerce
spaces to create rich, engaging, and tailored product discovery experiences. To implement this feature on POS,
follow the steps on how to add recommendations to your POS devices.
For more information about product recommendations features, read the product recommendations overview.
Scenarios
Product recommendations are enabled for the following POS scenarios. They are available in Cloud POS or
Modern POS (MPOS).
1. On the Product details page:
If a store associate visits a Product details page when looking at previous transactions across
different channels, the recommendations service suggests additional items that are likely to be
purchased together.
Additional resources
Product recommendations overview
Enable ADLS in a Dynamics 365 Commerce environment
Enable product recommendations
Enable personalized recommendations
Opt out of personalized recommendations
Add recommendations to the transaction screen
Adjust AI-ML recommendations results
Manually create curated recommendations
Create recommendations with demo data
Product recommendations FAQ
Add recommendations to the transaction screen
3/19/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-
Commerce, in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic describes how to add a recommendations control to the transaction screen on a point of sale (POS)
device using the screen layout designer in Microsoft Dynamics 365 Commerce. For more information about
product recommendations, read the product recommendations on POS documentation.
You can display product recommendations on your POS device when you use Commerce. To display product
recommendations, you need to add a control to the transaction screen using the screen layout designer.
2. From the menu on the left, drag and drop the recommendations control to between the transaction line
details area and the button grid in the center bottom of the transaction screen. Resize the control so it fits
in that space.
Additional resources
Product recommendations overview
Enable ADLS in a Dynamics 365 Commerce environment
Enable product recommendations
Enable personalized recommendations
Opt out of personalized recommendations
Add product recommendations on POS
Adjust AI-ML recommendations results
Manually create curated recommendations
Create recommendations with demo data
Product recommendations FAQ
Adjust AI-ML-based product recommendation
results
3/19/2020 • 3 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-
Commerce, in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic explains how to adjust product recommendation results based on artificial intelligence-machine
learning (AI-ML) to your business.
After enabling product recommendations, the default settings will take effect; these parameters will work for
may work for many needs. It is best to plan to spend some time evaluating whether the results fit the selling
motion of products. We suggest evaluating results for a few days before changing parameters as needed before
testing again.
1. Include new products from last X days - Products that have been added within the specified number of
days before the current date can be used to select product candidates. The default value in the picture
suggests that products as old has 180 days can be used in the trending product list.
2. Include sales from last X days - Sales transactions that have occurred within the specified number of
days before the current date can be used to order the products. The default value above suggests that all
purchases made of a product in the last 30 days would be used to determine the placement of the product in
the trending product list.
"Best selling" product list
Depending on your business, the "Best selling" list can bring different results than trending, even though they
both use transaction data to order products. Because best selling has no cut off based on assortment date, Best
selling can still highlight very popular, older products that might have been dropped from the trending list.
The "Best selling" product list has one parameter that can be changed:
1. Include sales from last X days - Sales transactions that have occurred within the specified number of
days before the current date can be used to order the products. The default value above suggests that all
purchases made of a product in the last 30 days would be used to determine the placement of the product in
the Best selling product list.
Additional resources
Product recommendations overview
Enable ADLS in a Dynamics 365 Commerce environment
Enable product recommendations
Enable personalized recommendations
Opt out of personalized recommendations
Add product recommendations on POS
Add recommendations to the transaction screen
Manually create curated recommendations
Create recommendations with demo data
Product recommendations FAQ
Manually create curated recommendations
3/19/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-
Commerce, in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic explains how merchandizers can manually create and manage product recommendations lists for
Microsoft Dynamics 365 Commerce customers.
Curated lists are collections of individual content, created and curated by people.
Example List
Additional resources
Product recommendations overview
Enable ADLS in a Dynamics 365 Commerce environment
Enable product recommendations
Enable personalized recommendations
Opt out of personalized recommendations
Add product recommendations on POS
Add recommendations to the transaction screen
Adjust AI-ML recommendations results
Create recommendations with demo data
Product recommendations FAQ
Create recommendations with demo data
3/31/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-
Commerce, in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic provides guidance on how to leverage omni-channel product recommendations in Tier-1 single box
environments using pre-populated, customizable demo data.
Omni-channel product recommendations provide a set of editorially curated or programmatically generated list
of products. These lists can be used in several scenarios, depending on the business need. For more information
about product recommendation lists, see Product recommendations overview.
For Tier-2 and higher Dynamics 365 environments, product recommendations are automatically computed
based on customer data. Using product recommendations demo data does not disable any product
recommendations solution already provisioned in the environment and any costs associated with its usage.
For Tier-1 environments, product recommendations are based only off the static demo data stored in a .csv file.
RecoList ️
✔ The specific product RecoBestSelling
recommendation list type RecoNew
that the demo data point is RecoTrending
to generate. RecoCart
RecoPeopleAlsoBuy
OperatingUnitNumber ️
✔ The specific operating unit
number where product
recommendations are
expected to be surfaced.
C O L UM N N A M E M A N DATO RY DESC RIP T IO N P O SSIB L E VA L UES
ItemIds ️
✔ One or more products to be
returned as the result,
separated by ';'.
<settings>
<add name="ext.Recommendations.DemoFilePath" value="RecoMockDataset.csv" />
</settings>
Additional resources
Product recommendations overview
Enable ADLS in a Dynamics 365 Commerce environment
Enable product recommendations
Enable personalized recommendations
Opt out of personalized recommendations
Add product recommendations on POS
Add recommendations to the transaction screen
Adjust AI-ML recommendations results
Manually create curated recommendations
Product recommendations FAQ
Product recommendations FAQ
3/19/2020 • 3 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-
Commerce, in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic provides information about processes and tools that you can use to troubleshoot issues that are
related to product recommendations or their results.
Best practices
It's very important to utilize the concept of product masters and variants. The sensible grouping of variants to a
parent product master helps the list algorithms and service create better models. Additionally, the service can
serve just one instance of a product instead of putting all closely related variants in a list. When all closely
related variants are put in a list, erroneous or duplicate results can occur.
Additional resources
Product recommendations overview
Enable ADLS in a Dynamics 365 Commerce environment
Enable product recommendations
Enable personalized recommendations
Opt out of personalized recommendations
Add product recommendations on POS
Add recommendations to the transaction screen
Adjust AI-ML recommendations results
Manually create curated recommendations
Create recommendations with demo data
Ratings and reviews overview
2/13/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic covers ratings and reviews in Microsoft Dynamics 365 Commerce.
Overview
Ratings and reviews are crucial for e-Commerce customers who want to know how other customers perceive a
product. They can also help consumers make purchase decisions. In Dynamics 365 Commerce, the ratings and
reviews solution lets retailers capture product reviews and ratings from customers. Retailers can then show
average ratings and review information across their e-Commerce website.
Average rating information is shown in point of sale (POS) and call center channels. Therefore, sales associates can
use it to help users make decisions. Ratings and reviews can also serve as a feedback mechanism that retailers can
use to improve the quality of a product and therefore increase sales.
Ratings and reviews functionality in Dynamics 365 Commerce is an omnichannel solution and is natively available
as part of the platform. The ratings and reviews solution is built on top of Microsoft Azure, which provides high
scalability and reliability.
The following illustration shows how the ratings and reviews solution works in Dynamics 365 Commerce.
The ratings and reviews solution in Dynamics 365 Commerce uses Azure Cognitive Services to offer automatic
moderation of profane words in 40 languages. Because human approval isn't required, moderation costs are
reduced. The system also offers moderator tools that can be used to respond to customer concerns, feedback, and
take-down requests, and to address data requests from users.
The ratings and reviews solution provides widgets that show rating summaries in product lists, in search results,
on product details page, and in other places. The widgets show complete review lists, and they also provide sorting
and filtering options.
The ratings and reviews solution also provides a business intelligence (BI) template that includes a set of metrics to
provide insights into ratings and reviews. Ratings and reviews data can be exported for further analysis.
Additional resources
Opt in to use ratings and reviews
Manage ratings and reviews
Configure ratings and reviews
Sync product ratings in Dynamics 365 Commerce
Opt in to use ratings and reviews
2/13/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic explains how to opt in to use ratings and reviews on your Microsoft Dynamics 365 Commerce site.
Overview
The ratings and reviews solution is an omni-channel solution that you can make available in Dynamics 365
Commerce by using Microsoft Dynamics Lifecycle Services (LCS). LCS is an administration portal that retailers use
to manage their environments from provisioning to decommissioning.
If you want to use the ratings and reviews solution on your Commerce website, you must opt in for ratings and
reviews during deployment of your e-Commerce site on Dynamics 365 Commerce.
NOTE
If you are an existing Dynamics 365 Commerce customer who has already deployed an e-Commerce site without having
opted in for ratings and reviews and now want to use ratings and reviews from the Dynamics 365 Commerce package,
please submit a service request. For information about how to submit a service request, see Submit service requests process.
Additional resources
Ratings and reviews overview
Manage ratings and reviews
Configure ratings and reviews
Sync product ratings in Dynamics 365 Commerce
Manage ratings and reviews
2/5/2020 • 4 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic explains how to manage ratings and reviews by using the Microsoft Dynamics 365 Commerce ratings
and reviews moderation tool.
Overview
Dynamics 365 Commerce uses Microsoft Azure Cognitive Service to automatically moderate review text by
redacting profane words. In addition, moderators can use the ratings and reviews moderation tool for the
following manual tasks:
Moderate reviews by responding to them or removing them.
Delete a customer's reviews at the customer's request.
Bulk-import ratings and reviews data for all products into a Microsoft Power BI template, so that trends for
ratings and reviews can be analyzed.
Read a review
1. Go to Home > Reviews > Moderation .
2. Use the search field in the upper right of the page to filter the reviews that are shown by product ID, product
name, or review text.
Additional filters let you limit the reviews by period, rating, channel, or concern status (taken down, responded, or
reported).
Respond to a review
Sometimes, customers who purchased a product express their satisfaction or dissatisfaction, or they don't
understand how to use the product. As a moderator, you can post a response to a review. This response appears
together with the review on the site.
To respond to a review, follow these steps.
1. Go to Home > Reviews > Moderation .
2. Find and select the review that requires a response.
3. In the properties pane on the right, select Add a response .
4. Enter the response text and the name that should be shown for the responder. The default responder name is
Moderator .
5. When you've finished, select Post response .
Take down a review
Sometimes, there is a business justification for moderators to take down customer reviews.
To take down a review, follow these steps.
1. Go to Home > Reviews > Moderation .
2. Find and select the review that must be taken down.
3. In the properties pane on the right, select a takedown reason, and then select Take down .
3. Open the downloaded template by using the Power BI app. Close the Access to web content dialog box
that appears, and then close the "Refresh" error message that appears.
4. Go to Home , select Edit queries , and then select Data source settings .
5. In the Data source settings dialog box, select Change Source .
6. In the URL field, enter the path of the reviews data that you downloaded in the previous procedure (for
example, c:\reviews\ReviewsData.csv ).
7. Select OK , and then select Apply changes . It will take one to two minutes to apply your changes to the
data source.
8. Select Trends sheet to view ratings and reviews trends.
Additional resources
Ratings and reviews overview
Opt in to use ratings and reviews
Configure ratings and reviews
Sync product ratings in Dynamics 365 Retail
Configure ratings and reviews
2/19/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic describes how to configure your e-Commerce site to show customer ratings and reviews in Microsoft
Dynamics 365 Commerce.
Overview
Ratings and reviews on e-Commerce websites help customers learn about products before they make a purchase
decision by showing them what other customers think about those products. For e-Commerce websites, ratings
and reviews are also a mechanism for collecting customer feedback about products.
Additional resources
Ratings and reviews overview
Opt in to use ratings and reviews
Manage ratings and reviews
Configure ratings and reviews modules on product details pages
Sync product ratings in Dynamics 365 Retail
Sync product ratings in Dynamics 365 Commerce
2/6/2020 • 4 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-
Commerce, in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic describes how to sync product ratings in Microsoft Dynamics 365 Commerce.
Overview
To consume product ratings in omnichannels, such as at the point of sale (POS) and in call centers, product ratings
from the ratings and reviews service must be imported into the Commerce channel database. When product
ratings are made available in omnichannels, they can help customers indirectly during their interactions with sales
associates.
This topic describes following tasks:
1. Configure Product ratings sync job as a batch job to synchronize product ratings from the Ratings and
Reviews ser vice .
2. Verify that the batch job for product rating synchronization was successful.
3. Make product ratings available at the POS.
1. Go to Retail and Commerce > Headquar ters setup > Commerce scheduler > Channel database .
Alternatively, search for "Channel database."
2. Select the channel database to sync.
3. On the action pane, select Full data sync .
4. In the Select a distribution schedule drop-down dialog box, select 1040 - products , and then select
OK .
5. Repeat the steps of the previous procedure to verify that the RetailProductRating subjob has been
created.
Additional resources
Ratings and reviews overview
Opt in to use ratings and reviews
Manage ratings and reviews
Configure ratings and reviews
Store inventory management
2/1/2020 • 6 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
When working with inventory in Dynamics 365 Commerce and using the POS application, it is important to note
that POS provides limited support for inventory dimensions and certain inventory item types.
The POS solution does not support the following item configurations:
BOM items (except kit products, which utilize some components of the BOM framework)
Catch weight items
Batch-controlled items
The POS application currently does not support the following tracking dimensions in the POS:
Batch tracking dimension
Owner dimension
The POS solution provides limited support for the following dimensions. Limited support indicates that the POS
may default some of these dimensions into inventory transactions automatically based on warehouse/store setup
configuration. POS will not fully support the dimensions in the way they are supported if a sales transaction is
manually entered into the ERP.
Warehouse Location – Users will not have the ability to manage the receiving warehouse location for items
received into a store warehouse when the store has not been configured to use the warehouse management
process. A default receiving location defined on the store warehouse will be used for these items. If the
warehouse management process has been enabled for the store, limited support that prompts the user to
choose a receiving location for the entire receipt will be triggered. Items sold from the store will always be sold
out of the default location as defined on the store warehouse setup. The location for managing return inventory
can be controlled through default return location definition on the store warehouse or based on return reason
codes as defined in the return location policy.
License plate – License plates are only applicable when Use warehouse management process has been
enabled on the item and the store warehouse. In POS, if inventory is received into a store warehouse where the
warehouse management process has been enabled, and the location chosen to receive the item into is tied to a
location profile that requires license plate control, the POS application will systematically apply a license plate to
the receiving line. Users in POS will not have the ability to change or manage this license plate data. If full
management of license plates is required, it is suggested the store use the WMS mobile application or the back
office ERP client to manage the receipt of these items.
Serial number – The POS application has limited support for single serial number to be registered on a
transaction sales line for orders created in POS with serialized items. This serial number is not validated against
registered serial numbers already in inventory. If a sales order is created in the call center channel or fulfilled
through the ERP and multiple serial numbers are registered to a single sales line during the fulfillment process
in the ERP, these serial numbers will not be able to be applied or validated if a return is processed in POS for
these orders.
Inventor y status – For items that use the warehouse management process and require an inventory status,
this status field is not able to be set or modified through the POS application. The default inventory status as
defined on the store warehouse configuration will be used when items are received into inventory.
NOTE
All organizations must test item configurations through POS in development or test environments before deploying them to
production. Test your items by performing regular cash and carry sales transacting and creating customer orders (if
applicable) through the POS with your items. Testing must include running a full statement posting processes in your test
environment and verifying that there are no issues.
Configuring items in a way that is not supported by the POS application, without proper testing, can result in your statement
posting process failing in production without an easy way to correct the issues. Partner or customer customizations to the
application may optionally be considered to allow these posting processes to successfully complete. If customizations are not
needed, the organization must ensure that the product configuration of your products has been done in a way that is
supported by the standard POS application/order creation/statement posting process.
Purchase orders
Purchase orders are created at the head office. If a warehouse is included in the purchase order header, the order
can be received at the store by using Modern POS (MPOS) or Cloud POS through the Picking/Receiving
operation. After the quantities that are received at the store are entered in the Receive Now field in POS for the
purchase order document, they can be saved locally or committed. Saving this data locally has no effect on in-stock
inventory. Saving should be done only if the user is not ready to post the receipt to HQ and just needs a way to
temporarily store the previously entered Receive Now data. This saves the receive now data locally to the user's
channel database. After the document is processed using the Commit option, the Receive Now data is sent to HQ
and the purchase order receipt will be posted.
Transfer orders
A transfer order can specify that a particular store is the location that items can be shipped from or the location the
inventory will be received into. If the POS user is the shipping warehouse for a transfer order, they will be able to
enter Ship Now quantities from POS. The data entered by the shipping store can be saved locally or committed.
When saved locally, no updates are made to the transfer order document in HQ. Saving should be done only if the
user is not ready to post the shipment to HQ and needs a way to temporarily store the previously entered Ship
Now data. After the store is ready to confirm shipment, the Commit option should be selected. This posts the
shipment of the transfer order in HQ so that the receiving warehouse will now be able to receive against it.
If the POS user is the receiving warehouse for a transfer order, they will be able to enter the Receive Now
quantities from POS. The data entered by the receiving store can be saved locally or committed. Saving should be
done only if the user is not ready to post the receipt to HQ and needs a way to temporarily store the previously
entered Receive Now data. This saves the receive now data locally to the user's channel database. After the
document is processed using the Commit option, the Receive Now data is sent to HQ and the transfer order
receipt will be posted. It's important to note that the receiving store will be restricted to only being able to commit
receive quantities that are equal to or less than shipped quantities. An attempt to receive quantities on a transfer
order that have not previously shipped will result in errors and the receipt will not be confirmed in HQ.
Stock counts
Stock counts can be either scheduled or unscheduled. Scheduled stock counts are initiated at the head office, which
specifies the items that must be counted. The head office creates a counting document that can be received at the
store, where the quantities of actual on-hand stock are entered in MPOS or Cloud POS. Unscheduled stock counts
are initiated at a store, and the quantities of actual on-hand stock are updated in either MPOS or Cloud POS. Unlike
scheduled stock counts, unscheduled stock counts do not have a predefined list of items. When a stock count of
either type is completed, it is committed and sent to the head office. At the head office, the count is validated and
posted as a separate step.
Inventory lookup
The current product quantity on hand for multiple stores and warehouses can be viewed on the Inventor y lookup
page. In addition to the current quantity on hand, the future available to promise (ATP) quantities can be viewed for
each individual store. To do so, select the store that you want to view the ATP for and then click Show store
availability .
Working with serialized items
4/3/2020 • 6 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This topic explains how you can register serial numbers on packing slips or invoices during the sales process. This
functionality is useful if a company wants to capture serial numbers for service and warranty purposes, but doesn't
have to maintain serial numbers in inventory from receipt to issue.
Many companies just want to capture serial numbers for service and warranty purposes, and don't have to
maintain serial numbers in inventory from receipt to issue. In these scenarios, you can register the serial numbers
on the packing slips or invoices when products are sold. If products are later returned, you can trace each product
to an invoice to determine whether you sold the product, and whether the service or warranty obligations are valid.
You must enable serial numbers for the sales process by selecting the Active in sales process option on the
Tracking dimension groups page. The following events then occur in Supply Chain Management:
On the Serial numbers FastTab, the Serial number control option is selected. When this option is selected,
you must register one serial number for each item on the packing slip or invoice.
All selections on the tracking dimension group for serial numbers are cleared, except the Blank issue allowed
option. You can select the Blank issue allowed option to override the serial number control, and allow
products to be packed and invoiced without registering serial numbers.
If I enable serial numbers for the sales process, do I have to register all
serial numbers for all items?
The setup of the tracking dimension group that is assigned to the product determines whether serial numbers must
be registered for all items on a packing slip or invoice. When you enable serial numbers for the sales process, the
Serial number control option is automatically selected. You must then register one serial number, or register a
blank registration for an unreadable number, for each item on the packing slip or invoice. If you don't want to
require a serial number for each item, select the Blank issue allowed option on the tracking dimension group
that is assigned to the item. You can then register fewer serial numbers than the quantity of items that are being
shipped. If you register more serial numbers than the quantity of items that are being shipped, you won't be able to
post the packing slip or invoice.
Can I register serial numbers for partial invoices and partial shipments?
You can create partial invoices and packing slips for sales orders, and register only the serial numbers for the items
that those invoices and packing slips include. If you want to create a partial invoice, and you have more than one
packing slip for the sales order, you can include serial numbers from more than one packing slip. However, there
can be only one packing slip that doesn't include all serial numbers. For example, if you have three packing slips,
and each packing slip includes two serialized items, you can't create a partial invoice for one item from each
packing slip.
Can I correct or change the serial numbers that I have registered for a
sales order?
Yes, you can correct serial numbers if the following conditions are met:
Invoices – You can change the serial numbers for items that you haven't yet invoiced. The packing slip is then
also updated. However, if a sales order line was corrected by registering a negative quantity, you can't change
serial numbers for the sales order line.
Packing slips – You can't partially correct a packing slip line that contains serialized items. You must reverse the
full quantity for the line. If a packing slip has been canceled or corrected, you don't have to register the reversed
serial numbers again when you create a new packing slip for the same serialized items. The numbers that were
registered will be used.
Can I view the serial numbers that were shipped together with a
specific packing slip, or that were included on an invoice?
Yes, you can run an inquiry on the packing slip journal line or invoice journal line to view a list of all serial numbers
that were included in the document.
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This procedure walks through the steps to create and process a Buyer´s push to distribute products from one
location to one or many stores. The user can define multiple configurations and have the system suggest how to
distribute the products, or manually enter where the products are distributed to and how much gets distributed to
each store. This procedure doesn't include setup of data that can be used in the Buyer´s push, such as
replenishment rules, organizational hierarchies, and store weights. This procedure uses the USRT demo company.
1. Go to Buyer's push.
2. Click New.
3. In the Description field, type a value.
4. In the Site field, enter or select a value.
5. In the Warehouse field, enter or select a warehouse that has products with on-hand quantities.
6. Click Add.
7. In the list, mark the selected row.
8. In the Item number field, enter or select a product.
9. Click Add.
10. In the list, mark the selected row.
11. In the Item number field, enter or select a variant product.
When entering a variant product, lines will be created for each variant.
12. In the list, mark a row.
13. In the Pushed quantity field, type how many of the selected product you want to distribute.
14. In the Additional quantity to push field, enter the quantity of the products that have available quantity to
distribute.
15. In the Distribution field, enter 'Location weight'.
You can select the other types to use other rules for the distribution.
16. In the Replenishment hierarchy field, select a value.
17. Select Yes in the Respect assortments field.
18. Click Calculate quantities and review the quantities that are added to the rows in the Warehouse section.
19. Click Create order.
20. Click Yes.
Set up rules and parameters for cross docking and
buyer's push
3/18/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This procedure demonstrates the steps to create Replenishment rules. Replenishment rules can be used to control
how products are distributed to stores when using Cross-docking and Buyer´s push. Replenishment rules can be set
up for stores or store groups. The weight defined for each line in a rule will control how the quantities of products
will get distributed between the stores when using Replenishment rules as the distribution method in Cross-
docking or Buyer´s push. This procedure uses the USRT demo company.
1. Go to Replenishment rules.
2. Click New.
3. In the Replenishment rule field, type a value.
4. In the Description field, type a value.
5. Click Save.
6. Click Add.
7. In the list, mark the selected row.
You can choose Replenishment hierarchy or Channel for the type. The value controls whether the
selection in Name will be a hierarchy of channels or a specific channel. For this example, leave it set as
Replenishment hierarchy.
8. In the Name field, select a value.
The default weight value is populated from the weight defined on the warehouse. This weight can be
used for the Replenishment rule or you can enter a new weight in the Weight field.
9. In the Weight field, enter a number.
10. Click Add.
11. In the list, mark the selected row.
12. In the Type field, select 'Channel'.
13. In the Name field, enter or select a value.
14. In the Weight field, enter a number.
15. Click Save.
Inbound inventory operation in POS
3/13/2020 • 15 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
In Microsoft Dynamics 365 Commerce version 10.0.10 and later, inbound and outbound operations in the point of
sale (POS) replace the picking and receiving operation.
NOTE
In version 10.0.10 and later, any new features in the POS application that are related to receiving store inventory against
purchase orders and transfer orders will be added to the Inbound operation POS operation. If you're currently using the
picking and receiving operation in POS, we recommend that you develop a strategy for moving from that operation to the
new inbound and outbound operations. Although the picking and receiving operation won't be removed from the product,
there will be no further investments in it, from a functional or performance perspective, after version 10.0.9.
IMPORTANT
The asynchronous document framework must be configured before a company tries to use the inbound operation in POS.
Overview
The inbound operation lets POS users perform the following tasks:
Receive inventory into store stock from either confirmed purchase order documents or shipped transfer order
documents.
View information about historical inventory receipts for a period of seven days after the document has been
fully received.
Create new inbound transfer order requests.
When the inbound operation is started from the POS application, a list page view appears. This view shows open
purchase order and transfer order documents that have inventory lines that are scheduled to be received by the
current store. To find and select a specific document, users can scroll the list or use the search feature.
The inbound inventory document list has three tabs:
Active – This tab shows documents that are fully or partially open, and that contain lines or quantities on lines
that must still be received.
Draft – This tab shows new inbound transfer order requests that the store has created. However, the documents
have only been saved locally. They haven't yet been submitted to Commerce Headquarters for processing.
Complete – This tab shows a list of purchase order or transfer order documents that the store has fully
received during the last seven days. This tab is for informational purposes only. All the information about the
documents is read-only data for the store.
When you view documents on any of the tabs, the Status field can help you understand the stage that the
document is in.
Draft – The transfer order document has only been saved locally to the store's channel database. No
information about the transfer order request has yet been submitted to Commerce Headquarters.
Requested – The purchase order or transfer order has been created in Commerce Headquarters, and is fully
open. No receipts have yet been processed against the document. For documents of the purchase order
document type, receiving can begin at any time while the status is Requested .
Par tially shipped – The transfer order document has one or more lines or partial line quantities that have
been posted as shipped by the outbound warehouse. These shipped lines are available to be received through
the inbound operation.
Fully shipped – The transfer order has had all its lines and full line quantities posted as shipped by the
outbound warehouse. The whole document is available to be received through the inbound operation.
Par tially received – Some of the lines or line quantities on the purchase order or transfer order document
have been received by the store, but some lines remain open.
Fully received – All lines and quantities on the purchase order or transfer order document have been fully
received. The documents are accessible only on the Complete tab and are read-only by store users.
In progress – This status is used to inform device users that the document is being actively worked on by
another user.
Paused – This status is shown after Pause receiving is selected to temporarily stop the receiving process.
Processing in HQ – The document was submitted to Commerce Headquarters from the POS application, but it
hasn't yet been successfully posted to Commerce Headquarters. The document is going through the
asynchronous document posting process. After the document is successfully posted to Commerce
Headquarters, its status should be updated to Fully received or Par tially received .
Processing failed – The document was posted to Commerce Headquarters and rejected. The Details pane
shows the reason for the posting failure. The document must be edited to fix data issues, and then it must be
resubmitted to Commerce Headquarters for processing.
When you select a document line in the list, a Details pane appears. This pane shows additional information about
the document, such as shipment and date information. A progress bar shows how many items must still be
processed. If the document wasn't successfully processed to Commerce Headquarters, the Details pane also shows
error messages that are related to the failure.
In the document list page view, you can select Order details on the app bar to view the document details. You can
also activate receipt processing on eligible document lines.
In the document list page view, you can also create a new inbound transfer order request for a store. The
documents remain in Draft status, and they can be adjusted or deleted until they are submitted to Commerce
Headquarters for processing. After they are submitted to Commerce Headquarters, the transfer order lines can no
longer be changed from the POS application.
Receiving process
After you select a purchase order or transfer order document on the Active tab, you can select Order details to
begin the receiving process.
By default, the Receiving now view is shown. This view is optimized for bar code scanning. It can be used to build
a list of the items that have been scanned, so that those items can be received. To begin the receiving process, you
can start to scan item bar codes.
As item bar codes are scanned in the Receiving now view, the application validates the items against the selected
purchase or transfer order document, to make sure that each scanned item matches a valid item on the document.
In the Receiving now view, each scan of a bar code is assumed to represent the receipt of a quantity of one unit,
unless a quantity is embedded in the bar code. You can repeatedly scan bar codes in this view to build a list of all
the items and quantities for the receipt.
Example scenario
A user receives a purchase order that contains 10 units of bar code 5657900266. The user can scan that bar code
10 times to update the Receiving now field by one unit per scan. When the user has completed the scans, the
Receiving now field for the item's line will show that a quantity of 10 was received.
Alternatively, in a scenario where the item quantity is large, the user might prefer to manually enter the quantity
instead of scanning the bar code for each item that is received. In this case, the user can scan the bar code one time
to add the item to the Receiving now list. The user can then select the associated line in the Receiving now view
and then, in the Details pane that appears on the right side of the page, update the Receiving quantity field for
the item.
Although the Receiving now view is optimized for bar code scanning, users can also select Receive product on
the app bar, and then enter the item ID or bar code data through a dialog box. After the item that was entered is
validated, the user is prompted to enter the receipt quantity.
The Receiving now view provides a focused way for users to see which products they are receiving. Alternatively,
the Full order list view can be used. This view shows the whole list of document lines for the selected purchase or
transfer order document. Users can manually select lines manually in the list and then, in the Details pane, update
the Receiving quantity field for the selected line. In the Full order list view, users can scan bar codes, or they
can use the Receive product function to enter the item ID or bar code, and data about the received quantity,
without first having to select the matching item line in the list.
Over-receiving validations
Validations occur during the receiving process for the document lines. They include validations for over-delivery. If
a user tries to receive more inventory than was ordered on a purchase order, but either over-delivery isn't
configured or the amount that is received exceeds the over-delivery tolerance that is configured for the purchase
order line, the user receives an error and isn't allowed to receive the excess quantity.
Over-receiving isn't permitted for transfer order documents. Users will always receive errors if they try to receive
more than was shipped for the transfer order line.
Receiving location-controlled items
If the items that are being received are location-controlled, users can select the location where they want to receive
the items during the receiving process. We recommend that you configure a default receiving location for your
store warehouse, to make this process more efficient. Even if a default location is configured, users can override the
receiving location on selected lines as they require.
The operation respects the Blank receipt allowed configuration on the Location storage dimension and doesn't
require that a location dimension be entered if blank receipt is configured. If blank receipt locations aren't allowed
for an item, the POS application shows an error and requires that a location be entered before the receipt can be
posted.
Receive all
As you require, you can select Receive all on the app bar to quickly update the Receiving now quantity for all the
document lines to the maximum value that is available to be received for those lines.
Cancel receiving
You should use the Cancel receiving function on the app bar only if you want to back out of the document and
don't want to save any changes. For example, you initially selected the wrong document and don't want any of the
previous receiving data saved.
Pause receiving
If you're receiving inventory, you can use the Pause receiving function if you want to take a break from the
receiving process. For example, you might want to perform another operation from the POS, such as ringing up a
customer sale, or delay posting of the receipt.
When you select Pause receiving , the document's status is changed to Paused . Therefore, users will know that
data has been entered for the document, but the document hasn't yet been committed. When you're ready to
resume the receiving process, select the paused document, and then select Order details . Any Receiving now
quantities that were previously saved are retained and can be viewed from the Full order list view.
Finish receiving
When you've finished entering all the Receiving now quantities for products, you must select Finish receiving
on the app bar to process the receipt.
When users complete a purchase order receipt, they are prompted to enter a value in the Receipt number field, if
this functionality is configured. Typically, this value is equivalent to the identifier of the vendor packing slip. The
Receipt number data will be stored in the Product receipt journal in Commerce Headquarters. Receipt numbers
aren't captured for transfer order receipts.
When asynchronous document processing is used, the receipt is submitted through an asynchronous document
framework. The time that it takes for the document to be posted depends on the size of the document (the number
of lines) and the general processing traffic that is occurring on the server. Typically, this process occurs in a matter
of seconds. If document posting fails, the user is notified through the Inbound operation document list, where
the document status will be updated to Processing failed . The user can then select the failed document in POS to
view the error messages and the reason for the failure in the Details pane. A failed document remains unposted
and requires that the user return to the document lines by selecting Order details in POS. The user must then
update the document with corrections, based on the errors. After a document is corrected, the user can try again to
process it by selecting Finish fulfillment on the app bar.
Related topics
Outbound inventory operation in POS
Outbound inventory operation in POS
3/13/2020 • 12 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
In Microsoft Dynamics 365 Commerce version 10.0.10 and later, inbound and outbound operations in the point of
sale (POS) replace the picking and receiving operation.
NOTE
In version 10.0.10 and later, any new features in the POS application that are related to receiving store inventory against
purchase orders and transfer orders will be added to the inbound operations operation. If you're currently using the picking
and receiving operation in POS, we recommend that you develop a strategy for moving from that operation to the new
inbound and outbound operations. Although the picking and receiving operation won't be removed from the product, there
will be no further investments in it, from a functional or performance perspective, after version 10.0.9.
IMPORTANT
The asynchronous document framework must be configured before a company tries to use the outbound operation in POS.
Overview
The outbound operation lets POS users perform the following tasks:
Post shipments for transfer order documents in cases where the user's store is the designated outbound
warehouse.
View information about historical transfer order shipments that were posted by the store.
Create new outbound transfer order requests.
When the outbound operation is started from the POS application, a list page view appears. This view shows open
transfer order documents that have inventory lines that the user's current store is intended to ship and fulfill. To
find a select a document, users can scroll the list or use the search feature.
The outbound inventory document list has three tabs.
Active – This tab shows transfer orders that have a status of Requested or Par tially Shipped . The orders
contain lines or quantities on lines that must be shipped by the user's current store. This tab also shows orders
that have a status of Processing in HQ (that is, they are waiting for confirmation of successful posting from
Commerce Headquarters) or Processing failed (that is, posting to Commerce Headquarters was unsuccessful,
and the user must correct data and try again to submit the orders).
Draft – This tab shows new outbound transfer order requests that the user's store created. However, the
documents have only been saved locally. They haven't yet been submitted to Commerce Headquarters for
processing.
Complete – This tab shows a list of transfer order documents that the store has fully shipped during the last
seven days. This tab is for informational purposes only. All the information about the documents is read-only
data for the store.
When you view documents on any of the tabs, the Status field can help you understand the stage that the
document is in.
Draft – The transfer order document has only been saved locally to the store's channel database. No
information about the transfer order request has yet been submitted to Commerce Headquarters.
Requested – The purchase order or transfer order has been created in Commerce Headquarters and is fully
open. The user's current store has yet processed any shipments against the document.
Par tially shipped – The transfer order document has one or more lines or partial line quantities that have
been posted as shipped by the outbound warehouse. These shipped lines are available to be received through
the inbound operation.
Fully shipped – The transfer order has had all its lines and full line quantities posted as shipped by the
outbound warehouse.
In progress – This status is used to inform device users that the document is being actively worked on by
another user.
Paused – This status is shown after Pause receiving is selected to temporarily stop the receiving process.
Processing in HQ – The document was submitted to Commerce Headquarters from the POS application, but it
hasn't yet been successfully posted to Commerce Headquarters. The document is going through the
asynchronous document posting process. After the document is successfully posted to Commerce
Headquarters, its status should be updated to Fully received or Par tially received .
Processing failed – The document was posted to Commerce Headquarters and rejected. The Details pane
shows the reason for the posting failure. The document must be edited to fix data issues, and then it must be
resubmitted to Commerce Headquarters for processing.
When you select a document line in the list, a Details pane appears. This pane shows additional information about
the document, such as shipment and date information. A progress bar shows how many items must still be
processed. If the document wasn't successfully processed to Commerce Headquarters, the Details pane also
shows error messages that are related to the failure.
In the document list page view, you can select Order details on the app bar to view the document details. You can
also activate receipt processing on eligible document lines.
In the document list page view, you can also create a new outbound transfer order for a store.
Related topics
Inbound inventory operation in POS
Calculate inventory availability for retail channels
3/9/2020 • 13 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This topic describes how a company can use Microsoft Dynamics 365 Commerce to view estimated on-hand
availability for products in the online and store channels.
Accuracy of calculation
Commerce uses multiple servers and databases to ensure scalability and performance. Therefore, it's important
that you understand that the available inventory values that are provided through the point of sale (POS)
application, the e-Commerce inventory availability application programming interfaces (APIs), and the on-hand
inventory pages in Commerce Headquarters might not be 100-percent accurate in real time. If transactions that
are created for products in the online or store channel haven't yet been synced to the Commerce Headquarters
server and database, the on-hand inventory pages in Commerce Headquarters might not show an accurate real-
time inventory value for those products. Conversely, if you configured your company so that users in Commerce
Headquarters or other integrated applications can sell, receive, return, or otherwise adjust inventory out of a store
or online warehouse, the POS or online channel might not have all the information that is required to show an
accurate real-time on-hand value for items.
This topic explains the data synchronization processes that can be run frequently to help limit the latency of data
between applications or channels. However, it's critical that you understand that all on-hand availability data that is
provided during the operational day is considered an estimated value. Therefore, if you try to compare the on-
hand inventory information that the application provides with actual physical inventory on the shelves, or if you
try to compare the on-hand values that are shown in POS with the on-hand data that you find for the same
warehouse in Commerce Headquarters, the values might differ. This difference during the operational day is
expected and should not be considered an issue. If you want to audit data and make sure that the values that are
provided in the inventory availability APIs and Commerce Headquarters match the actual physical units that you
find on your store or warehouse shelves, the best time to do it is after channel operations have stopped for the day
and all transactions have been correctly synced between Commerce Headquarters and the channel.
Both APIs fetch data from the Commerce server and provide an estimate of on-hand inventory for a specific
combination of a product or product variant and a warehouse. Although other APIs that are available on the
Commerce server can go directly to Commerce Headquarters to fetch on-hand quantities for products, we don't
recommend that they be used in an e-Commerce environment because of potential performance issues and the
related impact that these frequent requests can have on your Commerce Headquarters servers. Additionally, if the
on-hand inventory is calculated through the Commerce server, the calculation is more likely to include inventory
that was sold in recent e-Commerce transactions that haven't yet been synced to Commerce Headquarters.
Although Commerce Headquarters might not have information about these transactions, the Commerce server
and channel database have the data. Therefore, the data will be factored in and can help provide a more accurate
estimate of a product's available inventory.
Get started with e -Commerce calculated inventory availability
Before you use the two APIs that were mentioned earlier, you must make a parameter change in Commerce
Headquarters to ensure that the snapshot of inventory values that Commerce Headquarters calculates by using
the Product Availability job enters data in the correct tables.
To set the parameter, follow these steps.
1. Go to Retail and Commerce > Headquar ters Setup > Parameters > Commerce shared parameters .
2. On the Inventor y tab, in the Product availability job section, select Use optimized process for Product
Availability job . This setting ensures that the optimal feature set is used to calculate the channel's available
inventory through the Commerce server.
Before the APIs can calculate the best estimate of inventory availability for an item, a periodic snapshot of
inventory availability from Commerce Headquarters must be processed and sent to the channel database that the
e-Commerce Commerce Scale Unit uses. The snapshot represents the information that Commerce Headquarters
has about inventory availability for a specific combination of a product or product variant and a warehouse. It can
include inventory adjustments or movements that are caused by inventory receipts, or by shipments or other
processes that are performed in Commerce Headquarters and that the e-Commerce channel has information
about only because of the synchronization process.
The database snapshot that the Product availability job creates calculates only the inventory transactions that
were processed and posted in Commerce Headquarters at the time when the snapshot was taken. If inventory was
sold for a product in a store warehouse through a cash-and-carry or asynchronous customer order sale in the POS
application, Commerce Headquarters won't immediately have information about the related inventory issue
transaction for the sale. It will have information about the inventory that is sold for these types of store sales only
after the P-job uploads the related transaction from the store's channel database into Commerce Headquarters and
the related sales order is created through statement posting or the trickle feed posting processes. The process of
creating the order in Commerce Headquarters creates the related inventory transactions. For e-Commerce channel
orders, Commerce Headquarters has information about the inventory transactions only after the transactions are
sent to Commerce Headquarters through the P-job and the order synchronization process is completed. Therefore,
it's important that you understand that the inventory snapshot value that is provided in the Product availability
job might not be 100-percent accurate in real time because of the constant sales processing that occurs across
distributed servers.
To take a snapshot of inventory in Commerce Headquarters, follow these steps.
1. Go to Retail and Commerce > Retail and Commerce IT > Products and inventor y > Product
availability .
2. Select OK to run the Product availability job. You can also schedule this job so that it's run in a batch.
After the Product availability job has finished running, the data that was captured must be pushed to the e-
Commerce channel databases, so that the latest Commerce Headquarters inventory snapshot can be considered in
the calculation of estimated on-hand inventory.
1. Go to Retail and Commerce > Retail and Commerce IT > Distribution schedule .
2. Run the 1130 (Product availability ) job to sync the snapshot data that the Product availability job created
from Commerce Headquarters to your channel databases.
When inventory availability is requested from the GetEstimatedAvailabilty or
ProductWarehouseInventor yAvailabilities API, a calculation is run to try to get the best possible estimate of
inventory for the product. The calculation references any e-Commerce customer orders that are in the channel
database but that weren't included in the snapshot data that the 1130 job provided. This logic is performed by
tracking the last processed inventory transaction from Commerce Headquarters and comparing it with the
transactions in the channel database. It provides a baseline for the channel-side calculation logic, so that the
additional inventory movements that occurred for customer order sales transactions in the e-Commerce channel
database can be factored into the estimated inventory value that the API provides.
The channel-side calculation logic returns an estimated physically available value and a total available value for the
requested product and warehouse. The values can be shown on your e-Commerce site if you want, or they can be
used to trigger other business logic on your e-Commerce site. For example, you can show an "out of stock"
message instead of the actual on-hand quantity that the API passed.
The calculation logic that the channel-side e-Commerce APIs use for the estimated inventory value can evaluate
inventory based only on customer orders that have been created in the channel database but that haven't yet been
synced and posted in Commerce Headquarters. If your channel database also contains transactional data for cash-
and-carry sales for store-specific warehouses, the cash-and-carry sales aren't factored into the channel-side e-
Commerce calculation for those warehouses.
NOTE
For performance reasons, when channel-side inventory availability calculations are used to make an inventory availability
request using the e-Commerce API's or the new POS channel-side inventory logic, the calculation uses a cache to determine
whether enough time has passed to justify running the calculation logic again. The default cache is set to 60 seconds. For
example, you turned on channel-side calculation for your store and viewed the on-hand inventory for a product on the
Inventor y lookup page. If one unit of the product is then sold, the Inventor y lookup page won't show the reduced
inventory until the cache has been cleared. After users post transactions in POS, they should wait 60 seconds before they
verify that the on-hand inventory has been reduced.
If your business scenario requires a smaller cache time, contact your product support representative for help.
Purchase order overview
4/3/2020 • 5 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This article provides general information about purchase orders (POs) and links to additional articles that are
related to the various stages that a PO goes through.
A purchase order (PO) is a document that represents an agreement with a vendor to buy goods or services. The
document also helps keep track of product receipts that are made toward the order and, later, the accounting of
vendor invoices that the vendor bills toward the order.
The Purchase orders page contains an overview of the available orders and lets you modify those orders. When
you open a PO, you can select the Header view, which contains information that is specified only one time for each
PO, such as the vendor details. Alternatively, you can select the Lines view, where you can modify order lines.
Typically, you will switch between these two views as you modify POs. Charges aren't listed directly on the
Purchase orders page, but are accessed via menus on the order header and lines.
There are many reports where you can view information about POs, product receipts, and vendor invoices. These
reports are found in the Procurement and sourcing and Accounts payable modules.
The Purchase order preparation and Purchase order receipt and follow-up workspaces let you view lists of
POs in the various states that they have progressed to. They also provide a summary of the actions that must be
taken. The Purchase order preparation workspace is focused on PO creation and review, processing of the
order through approval, and confirmation with the vendor. The Purchase order receipt and follow-up
workspace is focused on processing the receipt of goods or services against POs. It includes lists that give insight
into receipts that are overdue, or that will soon be due for delivery by the supplier. These workspaces aren't used to
perform the related receipt activities that are done in the warehouse. Those activities are performed by using pages
in the Inventor y management and Warehouse management modules. Processing of vendor invoices should
be done by using the Vendor invoice entr y workspace, and payments should be done by using the Vendor
payments workspace.
The following articles provide an overview of the various stages that a PO goes through:
Create purchase orders
Approve and confirm purchase orders
Product receipt against purchase orders
Overview of vendor invoices
Journal Use this type to create a draft order. This type doesn't affect
stock quantities or generate inventory transactions. The PO
journal lines aren't included in master scheduling.
Purchase order Use this type to create POs when orders are confirmed with a
vendor, and as the orders are processed through receipt and
invoicing before payment is made to the vendor. This type of
PO is the most common.
Returned order Use this type when you return goods to the vendor. This type
of order requires that you specify the return material
authorization (RMA) number that the vendor gives you. You
specify the RMA number on the General tab of the PO. The
order lines must have negative quantities.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This article describes the process and options when you manually create a purchase order.
When you create a purchase order (PO), general information about the whole order is specified in the PO header,
and you then add one or more PO lines. This article describes some of the most frequently used options that are
available.
You can also create POs by copying lines from another PO document or a sales order. In this case, you can reverse
the sign on the inventory, as you would reverse the sign on an invoice to indicate credit.
Although you can manually create POs, they are more typically generated from other processes. Orders can be
automatically created based on other documents, such as requisitions. Alternatively, they can be created as part of
the master planning process through planned POs. If you use purchase agreements, POs can be created by the
Release order action. There are also more advanced methods for automatically creating a PO. For example,
orders can be created when you use direct delivery or intercompany order chains.
Additional resources
Purchase order overview
Approve and confirm purchase orders
Product receipt against purchase orders
Vendor invoices overview
Product receipt against purchase orders
4/3/2020 • 5 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This topic describes the various options for registering products as received.
Product receipt is the process of recording that products that were ordered have been received, so that the
purchase order (PO) lines can then be processed for invoicing. In some cases, products go through preregistration,
where additional information from the supplier is recorded before the products are received. When products
arrive, they are first marked as Registered . The products might then go through additional processes, such as
quality management, before they are finally marked as Received .
Preregistration (ASN)
Suppliers might share information about products that will be shipped. In this case, you can preregister the
products to record this information before the products are received. By preregistering products, you reduce the
amount of work that is required during item registration and receipt. Suppliers can provide product information
electronically through an Advance Shipment Notice (ASN) that is then automatically recorded in the system. The
information in the ASN includes the quantity of products that will be shipped and the date when they will be
shipped. The ASN might also include information such as batch or serial numbers. Registration of the ASN occurs
in the Transpor tation management module.
Registration
Product receipt registration often occurs at the inbound docks in a warehouse. It’s performed either by using a
hand-held device or through arrival journals. Alternatively, you can manually register product receipt by using the
Registration action on the Purchase order page. In both cases, the products are marked as Registered . Note
that the products aren’t yet marked as Received .
Products that are received in a warehouse might go through quality inspection before they are put away into
inventory. Either quality orders or quarantine orders can be used to perform quality inspection. If quality orders
are used, you can configure the process to temporarily block products through a reservation while they are
inspected. If quarantine orders are used, products are moved to another warehouse for inspection. This warehouse
is known as the quarantine warehouse. In both quality inspection processes, some of the goods might be
scrapped, either because they don’t conform to the quality expectations or because the quality inspection involves
destructive testing of a sample of the product.
Product receipt
Most often, the Product receipt action on the Purchase orders page is used to mark products as Received on
the PO. The Posting product receipt page has various options for the quantity that is accounted as received. For
example, you can set the Quantity field to Ordered quantity or Receive now quantity . Alternatively, if a
warehouse arrival process has been used, you will often set this field to Registered quantity . You can modify the
quantities on each order line that will be marked as Received , to account for any discrepancies, such as under-
delivery and over-delivery. During product receipt, you must specify a product receipt identifier, which is typically a
reference to the packing slip from the supplier. This identifier is required for accounting, because it enables checks
or audits of supplier packing slips against what has been received, and the accounted inventory or expense.
POs can be created for products that aren’t intended as inventory but are considered an expense. This category
includes order lines where the products are marked as Not stocked by their inventory model group, and also
lines that use procurement categories. In this case, the items might not go through arrival registration and receipt
in the warehouse. Instead, the Product receipt action is used to record the receipt directly on the PO, and the
receipt is based on the ordered quantity, not a registered quantity.
You can create PO lines where the New fixed asset option is enabled. This option indicates that the purchase
should be considered a fixed asset instead of inventory. In this case, the fixed asset determination rules that have
been configured determine whether the purchase of the product or category exceeds specific thresholds, and must
therefore be accounted for as an asset and go through fixed asset management. Purchases can also be made
toward an existing fixed asset. In this case, the amount is adjusted as appropriate.
You can select multiple orders and process receipt on all those orders together. This approach isn’t used very often,
but you might want to use it if a supplier has consolidated shipments for you into a single load. During product
receipt on the purchase, there is a function for doing summary updates. Summary updates let you post a single
packing slip from the supplier for more than one PO.
POs might be created from a sales order where the Direct deliver y option was selected. When direct delivery is
used, the products never arrive in your warehouse but are shipped directly from the supplier to the customer. In
this case, the receipt is usually recorded directly on the PO. The receipt can be done automatically, such as through
electronic data interchange (EDI) integration with the supplier. Alternatively, if the PO is an intercompany PO,
Supply Chain Management automates the receipt on the intercompany sales order when shipment occurs. When
direct delivery is used, products are still accounted as inventory, even though they don’t physically arrive at the
warehouse. Therefore, when product receipt is registered on the PO, the sales order is automatically updated with
a packing slip, so that the overall change to inventory is 0 (zero). In direct delivery scenarios, you should not
require preregistration. If you’re using warehouses that are enabled for warehouse management, you can get
around the requirement for license plate registration by specifying a virtual warehouse instead. You specify this
warehouse in the Direct deliver y warehouse field on the product.
After the product receipt has been processed on the PO, the PO status is set to Received to indicate that the
invoice can be processed for the order. You can review details about products that have already been received by
using the Product receipt journals page.
You can access this page from the Receipt action group on the Purchase order page. The information in the
journals includes details about the quantities, dates, and dimensions.
Additional resources
Purchase order overview
Create purchase orders
Approve and confirm purchase orders
Overview of vendor invoices
Approve and confirm purchase orders
4/3/2020 • 6 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This topic describes the statuses that a purchase order (PO) goes through after it has been created, and the effect
of enabling change management on POs.
After a purchase order (PO) has been created, it might have to go through an approval process. After the vendor
has agreed to the order, the PO is set to a status of Confirmed .
Additional resources
Purchase order overview
Create purchase orders
Product receipt against purchase orders
Vendor invoices overview
Purchase order approval mobile workspace
4/3/2020 • 3 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This topic provides information about the Purchase order approval mobile workspace. This workspace lets you
view purchase orders and respond to them through actions. For example, you can approve or reject a purchase
order.
Overview
Purchase orders that requires approval go through an approval workflow. The workflow can include various steps
that require that one or more people take action. For example, a person might have to complete a task or approve
the purchase order.
The Purchase order approval mobile workspace lets you easily view and respond to purchase orders from your
mobile device. This workspace also lets you take the same workflow actions that you can take from the web client.
Prerequisites
The prerequisites vary, depending on the version of Supply Chain Management that has been deployed for your
organization.
Prerequisites if you use Supply Chain Management
If Supply Chain Management has been deployed for your organization, the system administrator must publish the
Purchase order approval mobile workspace. For instructions, see Publish a mobile workspace.
Prerequisites if you use Microsoft Dynamics 365 for Operations version 1611 with Platform update 3 or later
If Microsoft Dynamics 365 for Operations version 1611 with Platform update 3 or later has been deployed for your
organization, the system administrator must complete the following prerequisites.
Publish the Purchase order approval System administrator See Publish a mobile workspace.
mobile workspace.
TA SK A C T IO N A P P RO VA L A C T IO N
Complete Approve
Return Reject
Delegate Delegate
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This procedure walks through creating a product package and using it on a purchase order. The purchase order will
be used to create an order for a pre-defined set of products. This procedure uses the USRT demo data company.
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This procedure walks through looking up a customer, creating a new order, searching for a product, and collecting
payment from the customer. This procedure uses demo data company USRT and is intended for the Sales Order
Clerk. Pre-requisites: The user who completes the procedure is set up as a Call center user and the Fabrikam Semi-
Annual Catalog is published with at least one Source code on it.
1. Go to Retail and Commerce > Customers > Customer service.
2. In the SearchText field, enter the search criteria to look up the customer.
For this example procedure type in 'karen' and press tab.
3. Click Search.
Since there is only one customer named Karen in demo data they will be automatically selected.
4. Click New sales order.
5. Expand or collapse the Sales order header section.
6. Select the source code for the catalog.
If there are no active Source codes you can close the Source field and skip this step.
7. Click Add line.
8. In the Item number field, enter the item search term.
For this sample procedure enter a partial item number of '8111' and press tab. This will pop up the item
search window.
9. Select the product to add to the sales order
10. Enter the sales quantity.
11. Click Create.
12. Click Complete to capture the customer payment.
13. Click Add.
The Add link is in the Payments tab. Expand the Payments tab if it is collapsed.
14. Select the payment method.
For this procedure, select the cash payment method.
15. Close the page.
16. Enter the amount.
For this procedure enter an amount equal to the order balance which can be seen in the Sales order
summary page to the left of the amount field. This will allow you to complete the order as fully paid.
17. Click OK.
18. Click Submit.
Change mode of delivery in POS
4/16/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic describes how to set up and use the "change mode of delivery" functionality in your point of sale (POS)
environment.
In Dynamics 365 Commerce versions 10.0.10 and later, the Change mode of deliver y operation (647) is available
to add to your POS screen layouts.
The change mode of delivery feature provides you with the option to change the mode of delivery for one or more
shipment-configured sales lines on the POS transaction. In previous versions of Commerce, you had to go through
the full Ship all or Ship selected configuration flows if you wanted to change the mode of delivery on an existing
line that was configured for shipment. This process was time consuming and could result in accidental changes to
the delivery origin or delivery dates for the line. The new functionality provides an alternative method for efficiently
updating the mode of delivery on these sales lines.
For more information about how to add an operation to a button on your POS button grid, see Screen layouts for
the point of sale.
After this feature is configured in POS, when you select Change mode of deliver y , you will be presented with a
list page that allows you to choose the lines of the transaction that you want to change the mode of delivery for. You
can choose some or all of the lines, or exit without making any changes. The sales lines that were previously
configured for shipment are the only lines in the list that you can change. If you want to change a line designated
for pickup or carryout to ship, you must use the Ship all or Ship selected operations. Conversely, if you want to
change a line designated as a shipment to a pickup or carryout, you must use the Pickup all , Pickup selected ,
Carr yout all , or Carr yout selected operations.
After you select the lines that you want to change, click Change mode of deliver y to be prompted to select the
delivery mode options. If you selected multiple lines to change, POS will only display modes of delivery that have
been configured as allowable for all of the selected products. Modes of delivery can be configured to support
specific products and delivery addresses. If there is a mode of delivery that is acceptable for one product and
address combination but is not acceptable for another selected product and address combination, the mode of
delivery is not available. You may need to select lines one by one and change the mode of delivery for each line
separately if you want to select a mode of delivery for one product that is not supported by another product.
After you select the new mode of delivery, the transaction page is displayed. To review your new delivery mode
selections, select the Deliver y tab on the transaction list.
Distributed order management (DOM)
2/1/2020 • 18 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
In the new paradigm for commerce operations, retailers strive to provide personalized customer engagement,
omni-channel experiences, and frictionless interactions. Because so many choices are available, consumers will
shop wherever they can have the most favorable experience. In many cases, prices and products are no longer the
top deciding factors for consumers.
To help improve the customer experience, retailers must have visibility into their inventory in real time, across all
their channels. A single, holistic view of all the inventory can help optimize order fulfillment, allocation, and
distribution. Therefore, adoption and implementation of a distributed order management (DOM) system are
becoming more imperative for retailers.
DOM optimizes order fulfillment across a complex network of systems and processes. It relies on a single, global
view of inventory across the whole organization to intelligently manage orders, so that they are fulfilled accurately
and in a more cost-effective manner. By improving the efficiency of a retailer's supply chain, DOM helps the retailer
better meet customer expectations.
The following illustration shows the lifecycle of a sales order in a DOM system.
Set up DOM
1. Go to System administration > Setup > License configuration .
2. On the Configuration keys tab, expand the Commerce node, and then select the Distributed Order
Management check box.
3. Go to Retail and Commerce > Distributed order management > Setup > DOM parameters .
4. On the General tab, set the following values:
Enable distributed order management – Set this option to Yes .
Confirm Bing Maps usage for DOM – Set this option to Yes .
NOTE
You can set this option to Yes only if the Enable Bing Maps option on the Bing Maps tab of the
Commerce shared parameters page (Retail and Commerce > Headquar ters setup > Parameters
> Commerce shared parameters ) is also set to Yes , and if a valid key is entered in the Bing Maps key
field.
Retention period in days – Specify how long the fulfillment plans that DOM runs generate are kept
in the system. The DOM fulfillment data deletion job setup batch job will delete any fulfillment
plan that is older than the number of days that you specify here.
Rejection period (in days) – Specify how much time must pass before a rejected order line can be
assigned to the same location.
5. On the Solver tab, set the following values:
Max auto-fulfillment attempts – Specify how many times the DOM engine will try to broker an
order line to a location. If the DOM engine can't broker an order line to a location in the specified
number of attempts, it will flag the order line as an exception. It will then skip that line in future runs
until the status is manually reset.
Local store region radius – Enter a value. This field helps determine how locations are grouped
and considered equal in terms of distance. For example, if you enter 100 , every store or distribution
center within a 100-mile radius of the fulfillment address is considered equal in terms of distance.
Solver type – Select a value. Two solver types are released with Commerce: Production Solver and
Simplified Solver . For all machines that will run DOM (that is, all servers that are part of the
DOMBatch group), Production Solver must be selected. The Production Solver requires the special
license key that, by default, is licensed and deployed in production environments. For non-production
environments, this license key must be manually deployed. To manually deploy the license key, follow
these steps:
a. In Microsoft Dynamics Lifecycle Services, open the Shared asset library, select Model as the asset
type, and download the DOM license file.
b. Start Microsoft Internet Information Services (IIS) Manager, right-click AOSSer vice website , and
then select Explore . A Windows Explorer window is opened at <AOS ser vice root>\webroot .
Make a note of the <AOS Service root> path, because you will use it in the next step.
c. Copy the configuration file in the <AOS Ser vice root>\PackagesLocalDirector y\DOM\bin
directory.
d. Go to the Headquarters client, and open the DOM parameters page. On the Solver tab, in the
Solver type field, select Production solver , and confirm that no error messages appear.
NOTE
The Simplified Solver is provided so that retailers can try out the DOM feature without having to deploy the
special license. Organizations should not use the Simplified Solver in production environments.
Although the Simplified Solver provides the same set of capabilities as the Production Solver, there are
limitations as to performance (the number of orders and order lines that can be handled in a run) and
convergence of results (a batch of orders might not yield the best result in some scenarios).
6. Go back to Retail and Commerce > Distributed order management > Setup > DOM parameters .
7. On the Number sequences tab, assign the required number sequences to the various DOM entities.
NOTE
Before the number sequences can be assigned to the entities, they must be defined on the Number sequences
page (Organization administration > Number sequences > Number sequences ).
8. The DOM feature supports the definition of various types of DOM rules, and organizations can configure
multiple rules, depending on their business needs. DOM rules can be defined for a group of locations or
individual locations, and for a specific product category, product, or variant. To create the grouping of
locations that must be used for the DOM rules, follow these steps:
a. Go to Retail and Commerce > Channel setup > Fulfillment groups .
b. Select New , and enter a name and description for the new group.
c. Select Save .
d. Select Add line to add a single location to the group. Alternatively, select Add lines to add multiple
locations.
9. To define rules, go to Retail and Commerce > Distributed order management > Setup > Manage
rules . The following DOM rules are currently supported:
Minimum inventor y rule – This rule type lets organizations "ring fence" a specific quantity of a
product for purposes other than order fulfillment. For example, organizations might not want DOM to
consider all the inventory that is available in a store for order fulfillment. Instead, they might want to
reserve some inventory for walk-in customers. When this rule type is used, you can define the
minimum inventory to keep for a category of products, an individual product, or a product variant per
location or group of locations.
Fulfillment location priority rule – This rule type lets organizations define a hierarchy of locations
to establish the priority that the DOM engine considers when it tries to identify fulfillment locations
for specific products. The valid range of priorities is 1 through 10, where 1 is the highest priority and
10 is the lowest priority. Locations that have higher priority are considered before locations that have
lower priority. If the rule is defined as a hard constraint rule, orders are brokered only to locations that
priorities are defined for.
Par tial orders rule – This rule lets organizations define whether an order or order lines can be
partially fulfilled. The following parameters are available:
Fulfill par tial orders? – If this option is set to Yes , DOM can fulfill only part of the quantity on an
order line. This partial fulfillment is achieved by splitting the order line.
Fulfill par tial lines? – If this option is set to Yes , DOM can fulfill a partial quantity of order lines.
This partial fulfillment is achieved by splitting the order line.
Fulfill order from one location only – If this option is set to Yes , DOM makes sure that all lines
on an order are fulfilled from a single location.
The following table explains the behavior when a combination of these parameters is defined.
F UL F IL L O RDER
F UL F IL L PA RT IA L F UL F IL L PA RT IA L F RO M O N E
O RDERS L IN ES LO C AT IO N O N LY DESC RIP T IO N
* If Fulfill par tial orders is set to No , Fulfill par tial lines is always considered to be set to No ,
regardless of how it's actually set.
NOTE
In Retail version 10.0.5, the pararmeter Fulfill order from one location only was changed to Maximum
fulfilling locations . Instead of allowing a user to configure whether orders can be fulfilled from one location
only or fulfilled from as many locations as it can be, users can now specify whether the fulfillment can be from
a definite set of locations (up to 5) or from as many locations as it can be. This provides more flexibility in
terms of how many locations the order can be fulfilled from.
Offline fulfillment location rule – This rule lets organizations specify a location or group of
locations as offline or unavailable to DOM, so that orders can't be assigned to those locations for
fulfillment.
Maximum rejects rule – This rule lets organizations define a threshold for rejections. When the
threshold is reached, the DOM processor will mark an order or order line as an exception, and exclude
it from further processing.
After order lines are assigned to a location, the location can reject an assigned order line, because it
might not be able to fulfill that line for some reasons. Rejected lines are marked as an exception and
put back into the pool for processing in the next run. During the next run, DOM will try to assign the
rejected line to a different location. The new location can also reject the assigned order line. This cycle
of assignment and rejection can occur multiple times. When the rejection count hits the threshold that
is defined, DOM will mark the order line as a permanent exception and won't pick the line for
assignment again. DOM will consider the order line again for reassignment only if a user manually
resets the status of the order line.
Maximum distance rule – This rule lets organizations define the maximum distance that a location
or group of locations can be to fulfill the order. If overlapping maximum distance rules are defined for
a location, DOM will apply the lowest maximum distance that is defined for that location.
Maximum orders rule – This rule lets organizations define the maximum number of orders that a
location or group of locations can process during a calendar day. If the maximum number of orders is
assigned to a location in a single day, DOM won't assign any more orders to that location for the rest
of that calendar day.
Here are some of the common attributes that can be defined for all the preceding rule types:
Star t date and End date – Every rule can be made date-effective by using the these fields.
Disabled – Only rules that have a value of No for this field are considered in a DOM run.
Hard constraint – A rule can be defined as either a hard constraint or not a hard constraint. Every DOM
run goes through two iterations. In the first iteration, every rule is treated as a hard constraint rule,
regardless of the setting of this field. In other words, every rule is applied. The only exception is the
Location priority rule. In the second iteration, the rules that weren't defined as hard constraint rules are
removed, and the order or order lines that weren't assigned to locations when all the rules were applied
are assigned to locations.
10. Fulfillment profiles are used to group a collection of rules, legal entities, sales order origins, and modes of
delivery. Every DOM run is for a specific fulfillment profile. In this way, organizations can define and run a set
of rules for a set of legal entities, on orders that have specific sales order origins and modes of delivery.
Therefore, if different set of rules must be run for different sets of sales order origins or modes of delivery,
the fulfillment profiles can be defined accordingly. To set up fulfillment profiles, follow these steps:
a. Go to Retail and Commerce > Distributed order management > Setup > Fulfillment profiles .
b. Select New .
c. Enter values in the Profile and Description fields.
d. Set the Auto apply result option. If you set this option to Yes , the results of the DOM run for the profile
will be automatically applied to the sales order lines. If you set it to No , the results can only be viewed in
the fulfillment plan. They won't be applied to the sales order lines.
e. If you want the DOM profile to be run for orders that have every sales order origin, even orders where
the sales order origin is undefined, set the Process orders with empty sales origin option to Yes . To
run the profile for only a few sales order origins, you can define them on the Sales origins page, as
explained later.
f. On the Legal entities FastTab, select Add , and then select a legal entity.
g. On the Rules FastTab, select Add , and then select the rule to link to the profile.
h. Repeat the previous two steps until all the required rules are associated with the profile.
i. Select Save .
j. On the Action Pane, on the Setup tab, select Modes of deliver y .
k. On the Modes of deliver y page, select New .
l. In the Company field, select the legal entity. The list of companies is limited to the legal entities that you
added earlier.
m. In the Mode of deliver y field, select the mode of delivery to associate with this profile. A mode of
delivery can't be associated with multiple active profiles.
n. Repeat the previous two steps until all the required modes of delivery are associated with the profile.
o. Close the Modes of deliver y page.
p. On the Action Pane, on the Setup tab, select Sales order origins .
q. On the Sales origins page, select New .
r. In the Company field, select the legal entity. The list of companies is limited to the legal entities that you
added earlier.
s. In the Sales origin field, select the sales origin to associate with this profile. A sales origin can't be
associated with multiple active profiles.
t. Repeat the previous two steps until all the required sales origins are associated with the profile.
u. Close the Sales origins page.
v. Set the Enable profile option to Yes . If there are any errors in the setup, you receive a warning message.
DOM processing
DOM will run only in a batch job. To configure the batch job for DOM runs, follow these steps.
1. Go to Retail and Commerce > Distributed order management > Batch processing > DOM processor
job setup .
2. On the Parameters FastTab, in the Fulfillment profile field, select a profile that DOM must be run for.
3. On the Run in the background FastTab, in the Batch group field, select a configured batch group.
4. In the Task description field, enter a name for the batch job.
5. Select Recurrence , and define the recurrence of the batch job.
6. Select OK .
At the time of processing, DOM will consider the order and order lines as described here:
Order lines that meet the criteria for sales order origins, modes of delivery, and legal entity as defined in the
DOM profile, and that also meet any of these criteria:
They are created from commerce channels.
They have never been brokered by DOM.
They have been brokered by DOM before, but they are marked as exceptions and are below the
maximum threshold for attempts.
The mode of delivery isn't pick-up or electronic delivery.
They aren't marked for delivery.
They aren't manually excluded.
Orders that aren't on hold
After it applies the rules, inventory constraints, and optimization, DOM picks the location that is closest to the
customer's delivery address.
More information
Here are some things to consider when you use the DOM feature:
Currently, DOM looks only at orders that are created from commerce channels. Sales orders are identified as
sales orders when the Commerce sale option is set to Yes .
Microsoft hasn't tested DOM with advanced warehouse management features. Customers and partners must be
careful to determine whether DOM is compatible with the advanced warehouse management capabilities and
processes that are relevant to them.
DOM is available only on the cloud version of Commerce. It isn't supported in on-premises deployments.
Cost configuration for distributed order management
(DOM)
2/1/2020 • 7 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
Organizations consider multiple cost components to determine the optimal location to fulfill an order from. Some
of these cost components are shipping cost, handling cost, and packaging cost. A combination of these costs is
calculated to determine the fulfillment location.
When the first iteration of distributed order management (DOM) in Dynamics 365 Commerce optimized the
assignment of orders to fulfillment locations, it factored in distance only. Although distance can be correlated with
cost, it isn't the same as cost. For example, an overnight shipping method costs more than three-day shipping or
seven-day shipping over the same distance.
The cost configuration feature lets retailers define and configure additional cost components that will be calculated
and factored in to determine the optimal location to fulfill order lines from.
When cost components are configured, the DOM solver uses only those cost definitions to determine the optimal
location for order fulfillment. It doesn't consider the distance component as a cost. However, if no cost components
are configured, the DOM solver does use the distance component as a cost to determine the optimal location for
order fulfillment.
C O ST C O M P O N EN T T Y P E C A L C UL AT IO N B A SIS
Shipping Simple
Tiered
NOTE
When you define tiered distances, the system validates that there are no missing or overlapping distances.
The distance type that is used for a mode of delivery must be the same across all the tiered distances.
NOTE
You can't specify a fulfillment group and a fulfillment location on the same line for location-based calculation criteria.
Cost – Specify the cost value for a non-shipping cost at the fulfillment group level or fulfillment location
level.
IMPORTANT
For DOM to consider these costs when it's run, you must add the cost factor to the relevant fulfillment profile.
Store order fulfillment
2/1/2020 • 14 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
Many retailers would like to optimize order fulfillment by enabling stores to fill orders. Order fulfillment at the store
level can help to ease overstock scenarios for a specific store, or may be needed from a logistical standpoint in
cases where a store has extra capacity or is located within closer shipping distance to the customer. To address this
need, a unified order fulfillment operation is available at the point of sale.
Orders for fulfillment at a specific store has the store's warehouse designated on the header or lines of the order.
The order fulfillment operation in the point of sale provides a single work area in the point of sale that can be used
to process orders. This includes everything from accepting the order, to marking it as shipped, or initiating store
pickup.
Line selection
Lines can be selected using the Select function in the Action Pane. When Select is enabled, multiple lines can be
selected for processing. You can clear selected lines by clicking the same line again.
Line details
Line details can be shown using the line details flyout menu. When this menu is used, three tabs are provided to
show additional information for the selected line. The first tab, Line details shows details for the line itself such as
quantity ordered and remaining. Additional details are provided including quantity picked, packed, and invoiced as
well as mode of delivery and delivery address. The Order details tab provides order header information including
customer, customer ID, order number, order total, and balance. The Inventor y tab shows information for the
selected line in terms of physical available inventory, reserved inventory and ordered inventory.
If multiple lines are selected, the order line details flyout menu will only indicate that multiple lines are selected. To
show details for a single line, clear the lines until only one line remains.
Line actions
Pick
The Pick category of actions is provided to aid in the process of picking order lines from shelves. The picking action
can only be performed on order lines that have been previously accepted.
Action: Picking
Resulting POS status: Picking
Resulting back office status: No change
After an order has been accepted, lines can be selected and marked as Picking . Marking a line as Picking is a way
to indicate that the picking work is already being performed on a line. This prevents two workers from attempting
to pick the same order lines at the same time.
Action: Print picking list
Resulting status: Picking
Resulting back office status: No change
Picking lists can be printed at the point of sale to assist workers performing the picking process. A printed picking
list can be carried with the worker performing picking and as products are picked, the worker would manually mark
them as picked on the picking list.
The picking list format is configured in Commerce and added to the receipt profile. For more information about
setting up receipt profiles, see Receipt templates and printing.
If lines are selected and a picking list is printed for those lines, they are automatically updated with the Picking
status.
Action: Mark as picked
Resulting status: Picked or partially picked
Resulting back office status: Picked or partially picked
After the physical picking process has been performed, lines can be marked as Picked . Selecting a line and marking
it as Picked performs a real-time call to update the order line. After the line has been marked as Picked at the
point of sale, the status in the back office is also updated to Picked and inventory transactions reflect that the
specified quantity has been decremented.
When orders are processed over time, partial quantities can be processed for a specific line. If a line is selected and
the action Mark as picked is taken, and the quantity is greater than one, the user is prompted for the quantity. The
remaining quantity to be picked is auto-filled. If less than the remaining quantity is specified, the status of the line
becomes Par tially picked . When the order line is updated in the back office, it will also reflect the partially picked
status and the quantity entered by the user is used for the inventory update.
If an order line is picked in error, the unpick process must be performed on the order line in the back office. There is
currently no unpick action supported at the point of sale.
Orders lines from different orders can be selected and marked as Picking , printed on the same pick list, or marked
as Picked .
Pack
Order lines can be packed at any point after the order line has been accepted.
Action: Print packing slip
Resulting status: Packed or partially packed
Resulting back office status: Delivered or partially delivered
This action marks lines as packed or partially packed and prints a packing slip. A packing slip can be printed to
validate the products that have been packed together. The packing slip format is configured in Commerce and
added to the receipt profile. For more information about setting up receipt profiles, see Receipt templates and
printing.
Action: Mark as packed
Resulting status: Packed or partially packed
Resulting back office status: Delivered or partially delivered
The Mark as packed action can be used to indicate that lines are packed without printing a packing slip. Both
Print packing slip and Mark as packed result in inventory transactions in the back office. Packing lines in the
point of sale will result in packing slip journals being generated in the back office.
If an order line is packed in error, the packing slip journal must be corrected at the back office.
Only lines on the same order and with the same mode of delivery can be packed at the same time.
Currently, the option to mark store pickup lines as Packed is disabled. This capability will be added in a future
release. The packing slip creation process will be enhanced to support injection of third-party shipping information
into the packing slip process.
Pick up
Orders for store pickup can be directly picked up once they are retrieved in the point of sale. Store pick up orders
are not subject to acceptance.
Action: Pick up
Resulting status: Invoiced or partially invoiced
Resulting back office status: Invoiced or partially invoiced
If a line is selected for pick up from unified order fulfillment, the entire order is loaded into the point of sale and the
full quantity for the selected line is marked. Other lines on the order are also loaded into the transaction view of the
point of sale, but with quantity marked as zero.
After lines for pickup have been loaded into the transaction view, the transaction can be tendered as usual.
Lines that have been fully invoiced through pick up will no longer show up in unified order processing. Lines that
have been partially picked up will continue to appear in unified order fulfillment until they have been picked up in
full.
If a line is picked up in error, a return must be performed to correct the error.
Only lines on the same order and with the same mode of delivery can be picked up at the same time.
Shipping
Order lines to be shipped from the store can be processed through unified order fulfillment using the Ship action. If
manual order line acceptance is configured at the channel level, orders must be accepted prior to shipping. After an
order line has been accepted and has a Pending or other status, lines can be shipped.
Action: Ship
Resulting status: Invoiced or partially invoiced
Resulting back office status: Invoiced or partially invoiced
Lines shipped from unified order fulfillment are invoiced from the back office similar to if the order is invoiced
directly from the back office. Lines being shipped from unified order fulfillment are not loaded into the transaction
view and there is no tendering performed at the time the lines are shipped.
Order lines that have been fully shipped no longer appear in unified order fulfillment. Partially shipped lines will
continue to appear in unified order fulfillment until they have been shipped in full.
Only lines from the same order can be shipped at the same time. If the lines from the same order have different
modes of deliver, they can still be selected for shipping at the same time.
Reject
Lines or partial lines can be rejected. This allows them to be reassigned from the back office to another store or
warehouse. Lines can only be rejected if they have not yet been picked or packed. To reject a line that has already
been picked or packed, that line must be unpicked or unpacked from the back office.
Action: Reject
Resulting status: Rejected
Resulting back office status: No change
The rejected order lines can be viewed from the Sales order processing and inquir y workspace. Clear the
person filter on the workspace to view all the rejected order lines across the stores. The Rejected order lines tab
under the Orders and favorites section display the order line details. Additionally, the users can click the
Rejected order lines button under the Summar y section to navigate to a sales order view. This shows all the
orders that have one or more rejected order lines. If Distributed Order Management (DOM) is enabled, then these
rejected orders will be automatically reassigned to the appropriate stores for fulfillment, however, these order lines
can be manually reassigned as well. To do so, select the line that shows the Fulfillment status as Rejected and
change the site/warehouse as needed. Click the Update line drop-down menu and click Reset fulfillment status
to change the fulfillment status from Rejected to Accepted or Pending depending on the order fulfillment set up.
After the fulfillment status is reset, then the store workers will be able to view the order lines in POS.
Line statuses
Order lines in the point of sale have several statuses to reflect the state of the order line. Statuses in the point of sale
and back office do not match in all cases. Order line status can be viewed through the point of sale using the order
fulfillment operations. In the back office, order lines can be viewed from the order details. Order details can be
accessed through Retail and Commerce > Customers > All customer orders . Select the Order ID to view
order details. From order details select the Sales order tab, then select Detailed status under the View
subheader.
Pending – Order lines that have been assigned to a store, but not yet accepted have the Pending status when
viewed at the point of sale. Lines pending acceptance in the point of sale will have the Order processing status
in the back office.
Accepted – Order lines that have been manually accepted or automatically accepted will have the status of
Accepted when viewed at the point of sale. Lines with the Accepted status will show as Order processing in
the back office.
Picking – Lines that are currently being picked at the store level have the status of Picking . Those same lines,
when viewed at the back office, will show as Order processing .
Picked and Par tially picked – Lines that have been picked or partially picked at the point of sale will have the
status Picked or Par tially picked . The same lines in the back office will also show as Picked or Par tially
picked .
Packed and Par tially packed – Lines that have been packed or partially packed at the point of sale will have
the status Packed or Par tially packed . The same lines in the back office will also show as Delivered or
Par tially delivered .
Par tially invoiced – Lines that have been partially picked up or partially shipped will have the status Par tially
invoiced at the point of sale and in the back office.
Invoiced – Lines that have been fully invoiced at the point of sale will no longer show up for fulfillment. In the
back office the status for those lines is Invoiced .
Order fulfillment filtering
Order fulfillment at the point of sale includes filtering to help the user easily find what they need. Filters can be
changed through the Action Pane at the bottom of the Point of sale screen. By default, a Deliver y type filter is
applied, based on how the operation is set up. If the operation is set up with the All orders parameter, then that
filter is applied when accessing order fulfillment. The same applies for the Store pickup and Ship from store
parameters. Other filters that can be applied to the order fulfillment view include:
Customer number
Customer name
Customer email
Order number
Mode of delivery
Receipt number
Channel reference ID
Originating store number
Line status
Created date
Delivery date
Receipt date
Set up order fulfillment for stores
2/1/2020 • 8 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
Overview
Many retailers would like to optimize order fulfillment by enabling stores to fill orders. Order fulfillment at the store
level can help to ease overstock scenarios for a specific store, or may be needed from a logistical standpoint in
cases where a store has extra capacity or is located within closer shipping distance to the customer. To address this
need, a unified order fulfillment operation is available at the point of sale.
Orders for fulfillment at a specific store has the store's warehouse designated on the header or lines of the order.
The order fulfillment operation in the point of sale provides a single work area in the point of sale that can be used
to process orders. This includes everything from accepting the order, to marking it as shipped, or initiating store
pickup.
NOTE
Only the info codes of Info code activity type Order fulfillment can be assigned to the Reject order line action.
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
In the modern retail environment, store associates are assigned various tasks, such as helping customers, entering
transactions, doing stock counts, and receiving orders in the store. The point of sale (POS) client provides a single
application where associates can perform all these tasks and many others. Because various tasks must be
performed during the day, associates might have to be notified when something requires their attention. The
notification framework in the POS helps by letting retailers configure role-based notifications. As of Dynamics 365
for Retail with application update 5, these notifications can be configured only for POS operations.
Currently, the system can show notifications only for order fulfillment operations. However, because the framework
is designed to be extensible, developers will eventually be able to write a notification handler for any operation and
show the notifications for that operation in the POS.
NOTE
Notifications can be overridden at the user level. Open the worker's record, select POS permissions , and then edit
the user's notification subscription.
4. Go to Retail and Commerce > Channel setup > POS setup > POS profiles > Functionality profiles .
In the Notification inter val field, specify how often notifications should be pulled. For some notifications,
the POS must make real-time calls to the back-office application. These calls consume the compute capacity
of your back-office application. Therefore, when you set the notification interval, you should consider both
your business requirements and the impact of real-time calls to the back-office application. A value of 0
(zero) turns off notifications.
5. Go to Retail and Commerce > Retail and Commerce IT > Distribution schedule . Select the 1060
(Staff ) schedule to synchronize notification subscription settings, and then select Run now . Next, select the
1070 (Channel configuration ) schedule to synchronize the permission interval, and then select Run
now .
NOTE
The live content can be enabled for operations only if the Enable notifications check box has been selected for them on
the POS operations page, as described earlier in this topic.
The following illustration shows the live content settings in the button grid designer.
To show the notification count on a button, you need to ensure that the correct screen layout is being updated. To
determine the screen layout that is being used by the POS, select the Settings icon in upper-right corner and note
the Screen layout ID and Layout resolution . Now using Edge browser, go to the Screen layout page, find the
Screen layout ID and Layout resolution identified above and select the Enable live content check box. Go to
Retail and Commerce > Retail and Commerce IT > Distribution schedule and run the 1090 (Registers) job
to synchronize layout changes.
The following illustration shows the effect of selecting Top right versus Center in the Content alignment field
for buttons of various sizes.
Using continuity program
3/18/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This procedure walks through selling a continuity program and processing related sales orders. To complete this
procedure, the user has to be set up as a call center user. This procedure uses the USRT demo data company.
1. Go to Retail and Commerce > Customers > Customer service.
2. In the SearchText field, type 'Karen' and then press the Tab key.
The advanced search dialog should pop up. If it doesn't, click Search to the right of this field.
3. In the list, mark the selected row.
There should be only one row with Karen Berg showing. Select the row by clicking on the checkmark
column on the far left of the grid.
4. Click Select.
5. Click New sales order.
It's a good idea to note the sales order number. You'll need it later in this procedure.
6. In the Item number field, type '88000' and then press the Tab key.
This is a continuity item in the USRT demo data.
7. Click Complete.
8. In the Payment method field, enter 'Visa'.
9. Click Add credit card.
Enter the required credit card information on this page.
10. Click OK.
11. Expand the Payment section.
To submit a call center order, payments have to be entered for the order.
12. Click OK.
13. Click Submit.
You're done creating a new continuity order. Next, you'll run two batch processes that are used to process
the continuity orders.
14. Close the page.
15. Go to Retail and Commerce > Continuity > Process continuity payments.
16. In the Continuity item field, type '88000' and then press the Tab key.
17. Click OK.
18. Go to Retail and Commerce > Continuity > Create continuity child orders.
This process will create new sales orders based on the settings of your continuity programs.
19. In the Continuity item field, type '88000' and then press the Tab key.
Item '88000' is a continuity item in the USRT demo data.
20. In the Sales order field, enter or select a value.
Enter the sales order number that you noted earlier in the procedure. This will keep the processing time
to a minimal for this procedure. The Sales order field field is optional--you could process all orders for
any one program.
21. Click OK.
Linked refunds – Refunds of previously approved and
confirmed transactions
3/10/2020 • 4 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
Returns are an important operation for retailers. The ability to accept returns for sales and refund payments to
customers gives retailers a way to service the needs of customers and to help resolve their issues.
This topic provides information about how to configure and use linked refunds. A linked refund is a refund of a
transaction that was previously approved and confirmed. The refund can be either a full refund or a partial refund
of the transaction, and it can't exceed the full amount of the original authorization. The functionality for linked
refunds is available in Microsoft Dynamics 365 Retail version 10.0.1.
In Microsoft Dynamics 365 Retail version 10.0 and earlier, retailers can process refunds to cards, but cashiers must
manually specify these refunds. Cashiers can process refunds to the original mode of payment only if the customer
provides that mode of payment. Therefore, by providing new card details, customers can use the return process to
move balances from one card to another and therefore do unauthorized card balance transfers.
By using linked refunds, retailers can greatly reduce risk by making sure that refunds are processed only to the card
that was authorized during the original transaction. To help prevent unauthorized card balance transfers, the system
can prompt cashiers to use the confirmed and approved card token to process refunds. By using the original mode
of payment for refunds, retailers can help reduce their card authorization costs.
Prerequisites
Payment method setup
Omni channel payments setup
Additional setup
Customers who aren't using the out-of-box implementation of the Adyen Connector must set up the connector that
supports tokenization of credit cards. All the scenarios that are described in this topic can be implemented by using
the standard Payments software development kit (SDK) that is provided with Commerce. The Dynamics 365
Payment Connector for Adyen provides an out-of-box implementation of every scenario that is described here.
When the cashier selects a credit card authorization, the payment refund is processed. If more must be refunded,
the current transaction screen shows the remaining amount. When the cashier processes the payment refund for
this amount, the remaining credit card authorizations are shown. This process continues until there is no remaining
amount that must be refunded.
After the full amount is successfully refunded, the cashier can complete the transaction, and a receipt can be printed
as configured.
Related topics
Payments FAQ
Dynamics 365 Payment Connector for Adyen
Sell and return products that aren't part of a store's
assortment
2/1/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
A common scenario for any retailer is to sell products to their customers or accept returns from their customers
even if they don't carry the specific products in their store (in other words, the products are not assorted to the
store).
Here are some typical scenarios:
A retailer doesn't carry all its products in a specific store. The remaining products are stored in the warehouse.
The store associate can assist the customer by searching or browsing for the products in the warehouse, add
them to the cart, and complete the checkout by selecting a delivery method, such as shipping to an address
from the warehouse or letting the customer pick up the product from the current store or from another store.
A retailer doesn't carry specific products in the store or doesn't have them in stock at the store the customer
visited, but the products are available in other stores. The store associate can assist the customer by searching or
browsing the products in the other store, add them to the cart, and complete the checkout by selecting a
delivery method.
A retailer has many stores in and around a specific city or zip code and doesn't want to force the customers to
return products to the same store they were purchased in. Instead, customers can return products to any store.
Those common scenarios are available for retailers using Commerce. With Commerce, you can:
Search or browse products at other stores.
Search or browse all released products.
Create cash-and-carry transactions or customer orders.
Select delivery options for customer orders.
Pick up products at the current store or another store.
Cancel an order at the current store or another store.
Return an order with or without the receipt at the current store or another store.
Configure and process an exchange on a return order
2/1/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
In previous versions of Dynamics 365 Commerce, returns against customer orders were processed by using the
return order document in Headquarters. However, the return order document can be used to process only products
that are being returned. The returned products are indicated by a negative quantity on the return order lines. By
contrast, sales are indicated by a positive quantity. However, the return order document doesn't support positive
quantities. Because of this limitation, previous versions of the app didn't support scenarios where product
exchanges are done by using the return order document.
However, functionality has been added to support scenarios where exchanges are done on return orders.
Commerce now uses the sales order document instead of the return order document to process these types of
transactions.
Make an exchange
After the system is configured as described in the previous section, the point of sale (POS) user will still select a
sales order or sales invoice to process a return, as in previous versions of the app. However, after the return items
are added to the cart, the user will be able to add new sales lines to the cart.
For these new sales lines, the user must define all the attributes that are required in order to process a customer
order line. These attributes include the delivery method and fulfillment location. The payment that is due for the
transaction will be a net of the return order lines and sales order lines. When payment is tendered for the
transaction, the return order will be posted as a sales order document in Headquarters, and the system will
immediately invoice the return lines.
To provide better visibility into the various amounts for the cart, three new amount fields have been added to the
cart. You can use the screen designer to make these new fields available in the POS user interface (UI).
Deposit applied – The deposit amount that is applied on a transaction when the user does a customer order
pickup. If there is no deposit override, and a 10-percent deposit is configured, the amount in this field is 90
percent of the total amount of the customer order.
Carr y out amount – The total amount for lines where the delivery mode was set to Carr y out when the
customer order was created or edited, or during a customer order exchange. The amount in this field includes
taxes and charges.
Return amount – The total amount for lines that have negative quantities during the customer order exchange.
The amount in this field includes taxes and charges.
Restrict payment methods for returns without a
receipt
2/1/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
Each payment type that a retailer accepts must be configured when the system is set up. This topic describes how
certain payment types can be restricted for refund if the returns are made without a receipt.
If a transaction has both a receipted return and a return without a receipt, the restriction conditions will not be
enforced because the transaction will be a return workflow with a receipt.
Return items across multiple customer orders and
invoices
2/1/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
Process returns
After the parameter is turned on and the changes are synchronized to the stores, the cashier in the store can select
multiple sales orders for a customer for their return.
When the orders are selected, a list of all the returnable products across all the invoices for the orders will display.
The cashier can then select the products to return. A single return order will be created for all the selected products.
Create and update a returns and refunds policy for a
channel
4/16/2020 • 3 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
Overview
The channel return policy in Dynamics 365 Commerce enables retailers to set enforcements on which payment
tenders can be allowed for processing a return on a point of sale (POS) device.
This topic describes the steps to set up a returns and refunds policy for a channel.
The scope of the policy is currently limited to setting the payment tenders that can be allowed for a channel. The
"allowed" list is based on the payment methods used to make the purchase. For example:
If a purchase was made using a gift card, the store policy is to process refunds only to a new gift card or to give
store credit.
If a sale is made using cash, the options allowed for refund are cash, gift card, and customer account, but not
credit card.
IMPORTANT
The payment methods are derived from the payment methods set for the organization.
Adding an allowed return tender type for each listed payment method will ensure that returns can be made to the
allowed return tender type.
4. Associate the return policy template with the stores where it will be used. Select Add in the Retail
Channels tab and associate the available channels.
In the Choose organization nodes dialog box, select the stores, regions, and organizations that the
template should be associated with.
Only one return policy template can be associated with each store.
Use the arrow buttons to select stores, regions, or organizations.
The effective date on the policy will be the date on which the policies are applied to the channels and the
channel jobs are run.
5. On the Distribution schedule page, run the 1070 job to make the channel return policy available to the
POS.
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
Many retailers, especially high-end specialty retailers, want their sales associates to form long-term relationships
with their key customers. The associates are expected to know about these customers' likes and dislikes, purchase
history, product preferences, and important dates, such as anniversaries and birthdays. Associates need a place
where they can capture this information and easily find it when it's required. If this information is available in a
single view, the associates can easily target customers who meet specific criteria. For example, they can find all
customers who prefer to shop for handbags, or customers who have an important event approaching, such as a
birthday or anniversary.
Client book
In Microsoft Dynamics 365 Commerce, retailers can use the client book functionality to help store associates form
long-term relationships with key customers.
The client book includes customer cards that show contact information for each customer, together with three
additional properties that are defined by the retailer and configured in Headquarters. Retailers can decide the three
most important things that sales associates should know about customers. For example, a jewelry retailer might
want to include important dates such as anniversaries or birthdays, because these dates are occasions when people
might buy more jewelry. Similarly, a fashion retailer might want to include the customer's preferred shopping
interests and brands.
The client book also lets sale associates filter the list so that it shows only customers who meet specific criteria. For
example, a new collection of shoes has arrived in the store, and an associate wants to inform customers who like to
buy shoes. In this case, the associate can filter the client book to find the relevant customers and then take further
action.
If any customers are no longer considered key customers for some reason, and therefore should not be closely
managed, sales associates can remove them from their client book.
Some retailers don't want to manage customers at the sales associate level. Instead, they want to manage a list of
key customers at the store level. These retailers can view customers from store client books. By using this option,
retailers can view the customers from the client books of all the sales associates whose address book matches the
address book of the current store. In this way, if an associate works in multiple stores of the legal entity, the client
book shows the customers from all those stores. This functionality supports additional capabilities. For example,
customers can be reassigned from one associate to another associate. This capability is useful when associates are
transferred or leave the company.
Each sales associate can have one client book per legal entity, and associates can add one or more customers to
their client book. In Commerce, each customer can currently be added to only one client book. However, Microsoft
plans to add functionality that lets a single customer be added to multiple client books.
NOTE
Unlike customer search, the client book doesn't filter customer records based on the store's address books.
NOTE
Currently, all notes and activities can be viewed by any sales associate who works for the legal entity and can view customer
details pages. Notes and activities aren't limited to the associate who added a customer to the client book.
Set up clienteling
To turn on the clienteling functionality in your environment, follow these steps.
1. In the Feature management workspace, filter the features by the Retail and commerce module.
2. Turn on the Clienteling feature by selecting Enable now .
3. On the Commerce Parameters page, on the Number sequence tab, select the Client book identifier
row. Then, in the Number sequence code field, select a number sequence. The system will use this number
sequence to assign an ID to client books.
4. Select Save .
5. Create a new attribute group that contains the attributes that you want to capture for customers who are
managed in client books. For instructions, see Attributes and attribute groups.
Define the required attributes as Can be refined . Sales associates can then use these attributes to filter
their client book.
Set the display order for these attributes. This display order determines which attributes should be shown
on the customer card in the client book. A display order of 1 is considered higher than a display order of
2. Therefore, the attribute that has a display order of 1 will be shown before to the attribute that has a
display order of 2.
NOTE
You can make Customer Insights available from the same page. However, an Azure application ID and secret must be
created, for authentication purposes. (For information about the requirements, see the Turn on the integration of
Customer Insights with Commerce section later in this topic.) If Customer Insights is turned on, and you select one or
more measures that should be shown on the customer card, those measures will be shown first. Next, client book
attribute groups will be shown, based on the display order. For example, if you select two measures from Customer
Insights, those two measures and one client book attribute will be shown on the customer card. (The client book
attribute that is shown will be the attribute that has the highest display order.)
6. On the Commerce parameters page, on the Clienteling tab, in the Client book attribute group field,
select the attribute group that you just created.
7. To capture activities that occur at the POS, define the activity types on the Activity types page (Retail and
Commerce > Customers > Activity types ).
NOTE
Activity types are pulled by the Commerce Scale Unit when it makes a real-time call for the first time. After the
activities are pulled, they are cached for a few hours. If you change the activity types, wait until the cache is no longer
valid. Alternatively, for non-production environments, restart the Commerce Scale Unit service.
8. Add two buttons to the appropriate POS screen layout, so that sales associates can view their own client
book and the store client book. (Store client books include clients from all client books of all associates who
share an address book with the store.) The corresponding operations are named View customers in client
book and View customers from store client books , respectively. Three additional operations that are
related to client books are available. These operations determine which associates can add, remove, and
reassign customers from the client book. They are named Add customer to client book , Remove
customers from client book , and Reassign customers to a client book , respectively.
9. Run the following distribution schedule jobs: 1040, 1150, 1110, and 1090.
After you've completed this procedure, sales associates can open the customer details page at the POS, and add
customers to their client book, view and capture activities and notes for customers, and target customers by using
customer and client book attributes to filter the client book. The following illustration shows an example of a client
book.
Turn on the integration of Customer Insights with Commerce
To turn on the integration of Customer Insights with Commerce, you must make sure that you have an active
instance of Customer Insights in the tenant where Commerce is provisioned. You must also have an Azure Active
Directory (Azure AD) user account that has an Azure subscription.
Follow these steps to set up the integration.
1. In the Azure portal, register an application. This application will be used for authentication with Customer
Insights. For instructions, see Quickstart: Register an application with the Microsoft identity platform.
2. Generate a secret for the application. Make a note of the secret, and keep it somewhere safe, because you
will need it later. Also select the expiration duration for the secret.
IMPORTANT
Take steps so that you will remember to change the secret before it expires. Otherwise, the integration will
unexpectedly stop.
3. Create an Azure key vault, and save the application secret. For instructions, see Quickstart: Set and retrieve a
secret from Azure Key Vault using the Azure portal.
4. Turn on access to Azure Key Vault from Commerce. To complete this step, you must have an application ID
and secret. The application can be the same application that you created in step 1, or it can be a new
application. (In other words, you can use the application that you created in step 1 for both Key Vault access
and Customer Insights service access, or you can create a unique application for each type of access.) For
instructions, see Store service principal credentials in Azure Stack Key Vault.
5. In Headquarters, go to System administration > Setup > Key Vault parameters , and enter the
required information for the key vault. Then, in the Key Vault client field, enter the application ID that you
used in step 4, so that Commerce can access the secrets in the key vault.
6. To add the application that you created in step 1 to the list of safe applications (sometimes referred to as a
whitelist), go to Customer Insights, and provide View access to the application. For instructions, see
Permissions.
7. In Commerce, on the Commerce parameters page, on the Clienteling tab, on the Dynamics 365
Customer Insights FastTab, follow these steps:
a. In the Application ID field, enter the application ID that you used in step 1.
b. In the Secret name field, enter the name of the Key Vault secret that you created in step 5.
c. Set the Enable Customer Insights option to Yes . If the setup is unsuccessful for any reason, you will
receive an error message, and this option will be set to No .
d. You can have multiple environments in Customer Insights, such as test and production environments. In
the Environment instance ID field, enter the appropriate environment.
e. In the Alternate customer ID field, enter the property in Customer Insights that is mapped to the
customer account number. (In Commerce, the customer account number is the customer ID.)
f. The remaining three properties are the measures that will be shown on the customer card in the client
book. You can select up to three measures to show on the customer card. (However, you don't have to
select any measures.) As was mentioned earlier, the system shows these values first, and then it shows
the values for the client book attribute group.
Loyalty overview
2/1/2020 • 18 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
Loyalty programs can help increase customer loyalty by rewarding customers for their interactions with the
retailer's brand. In Dynamics 365 Commerce, you can set up simple or complex loyalty programs that apply across
your legal entities in any commerce channel. This topic describes the loyalty capabilities within Commerce and the
corresponding setup steps to help the retailer easily get started with their loyalty programs.
You can set up your loyalty program so that they include the following options.
Set up multiple types of rewards that you offer in your loyalty programs, and track participation in your loyalty
programs.
Set up loyalty programs that represent the different reward incentives that you offer. You can include loyalty
program tiers to offer greater incentives and rewards to customers who shop more frequently or spend more
money in your stores.
Define earning rules to identify the activities that a customer must complete to earn rewards. You can also define
redemption rules to identify when and how a customer can redeem rewards.
Issue loyalty cards from any channel that participates in your loyalty programs, and link loyalty cards to one or
more loyalty programs that the customer can participate in. You can also link a customer record to a loyalty
card, so that the customer can pool loyalty points from multiple cards and redeem them.
Manually adjust loyalty cards, or transfer the loyalty rewards balance from one card to another to accommodate
or reward a customer.
Loyalty components
The following table describes each component and where it's used in the loyalty setup.
Set up discounts (prerequisite) Set up the discounts that you offer to Discounts must be added to price
your loyalty customers. For example, groups before they can be included in a
you can offer 5 percent off all apparel loyalty program. Price groups are
products. assigned to loyalty programs and
loyalty tiers.
Set up price groups (prerequisite) Price groups are used to create and Price groups are assigned to loyalty
manage prices and discounts for programs and loyalty program tiers.
products. Set up the price groups that
include the discounts that apply to your
loyalty programs.
Set up channels (prerequisite) Commerce channels are the stores that You assign channels to a loyalty
participate in your loyalty programs, program if the channel is participating
such as a brick-and-mortar store, an in the loyalty program.
online store, or a call center. You must
set up your channels before you can
assign loyalty programs to them.
Set up the loyalty payment method You must set up a payment method Set up a loyalty type payment method,
(prerequisite) before a loyalty card can be used at a and then assign the loyalty payment
register and loyalty points can be method to the channels that are
redeemed as part of a loyalty program. participating in the loyalty program.
You must also add the loyalty payment
method to the channel before
customers can redeem their loyalty
points as payment for products.
Set up date intervals Date intervals provide a flexible way to Date intervals apply only if you use tiers
set the time span that applies to loyalty in your loyalty programs. You select the
tiers. Use date intervals to specify how date interval that applies to program
long a customer can stay in a tier or tiers, and also the date intervals that
how much time a customer has to apply to program tier rules.
complete an activity to qualify for a tier.
Set up reward points Reward points are the types of reward Reward points are referenced in tier
that you offer to your customers. rules and are used to qualify a customer
Rewards points can be redeemable or for a specific tier. Reward points are also
non-redeemable. Redeemable reward referenced in loyalty schemes in earning
points can be exchanged for products. and redemption rules. In earning rules,
Non-redeemable reward points are you specify the rewards that a customer
used for tracking purposes or to can earn for a specific activity. In
advance a customer to the next tier in a redemption rules, you specify the
loyalty program. reward that the customer can redeem.
Set up loyalty programs Loyalty programs are the core loyalty You create loyalty schemes for your
entity that you offer. Each loyalty loyalty programs. You assign loyalty
program can also have loyalty tiers cards to your loyalty programs, and
assigned to it. Discounts and price loyalty cards can be assigned to a
groups are assigned to the loyalty customer. Channels participate in the
programs at either the program level or loyalty programs that are assigned to
the tier level. the loyalty schemes. Any customer who
holds a loyalty card can participate in
the loyalty programs that are assigned
to the card.
C O M P O N EN T DESC RIP T IO N W H ERE IT 'S USED
Set up loyalty tiers and tier rules Loyalty tiers are optional levels that you Loyalty tiers and loyalty tier rules are
can define for your loyalty programs. defined in the loyalty programs. If you
You can set up base discounts and don't define any loyalty tiers, all
rewards for all customers who customers who participate in the loyalty
participate in the loyalty program, and program qualify for the discounts that
you can set up additional discounts and you assign in the loyalty program price
rewards for customers who achieve the group. If you define loyalty tiers, you
various levels in the program. For each can set up earning rules and
loyalty tier that you define, you can set redemption rules for the loyalty tiers in
up the rules that qualify a customer for the loyalty scheme.
that tier. You can also define how long
customers can remain in that tier after
they have reached it.
Set up loyalty schemes Loyalty schemes specify the earning A loyalty scheme is assigned to a loyalty
rules and redemption rules that apply program and channels. You can assign
to a selected loyalty program. You many loyalty schemes to the same
assign channels to a loyalty scheme to loyalty program, and you can assign
identify which loyalty program, earning many loyalty schemes to many
rules, and redemption rules apply to a channels.
store.
Set up loyalty cards A loyalty card entitles the card holder to You assign loyalty programs to a loyalty
participate in the loyalty programs that card.
are assigned to the card. Loyalty cards
can be issued anonymously, or they can
be assigned to a specific customer. You
can view the loyalty transactions for a
specific card, and you can view a
summary of loyalty points that have
been accumulated on the card. You can
issue loyalty cards from any channel.
You can also manually adjust a loyalty
card to upgrade the customer to a
different tier, add loyalty points, or
transfer the loyalty point balance from
one card to another.
Loyalty processes
The following table describes the processes that must be run to send the loyalty configurations and data to your
stores, and to retrieve the loyalty transactions from your stores.
1050 (loyalty information) Run this process to send the loyalty Distribution schedule
data from Commerce to the stores. It's
a good idea to schedule this process to
run frequently, so that loyalty data is
transmitted to all stores.
P RO C ESS N A M E DESC RIP T IO N PA GE N A M E
Process loyalty schemes Run this process to associate loyalty Process loyalty schemes
schemes with the channels that the
loyalty scheme is assigned to. This
process can be scheduled to run as a
batch process. You must run this
process if you change loyalty
configuration data, such as loyalty
schemes, loyalty programs, or loyalty
reward points.
Post earned loyalty points in batches Run this process to update loyalty cards Post earned loyalty points in batches
so that they include transactions that
were processed offline. This process
applies only if the Post earned points
in batches check box is selected on the
Commerce shared parameters
page, so rewards can be earned offline.
Update loyalty card tiers Run this process to evaluate the Update loyalty card tiers
customer's earning activity against the
tier rules for a loyalty program, and to
update the customer's tier status. This
process is required only if you change
the tier rules in loyalty programs and
want the updated rules to be
retroactively applied to loyalty cards
that have already been issued. This
process can be run as a batch process
or for individual cards.
Loyalty enhancements
Commerce has new loyalty functionality as a part of the October 2018 release. Each of the new enhancements is
explained below.
As a part of a loyalty scheme in previous releases, retailers could create different earning and redemption
rules by tiers to differentiate the rewards for customers in different tiers. Retailers can now include
"affiliations" as a part of the earning and redemption rules so that certain group of customers can be a part
of existing tiers, but still be rewarded differently. Thise prevents the need to create additional tiers.
NOTE
The earning rules within a loyalty scheme are additional. For example, if you create a rule to reward a gold tier
member 10 points for each US dollar, and you also create a rule for a customer with "veteran" affiliation to reward 5
points for each US dollar, then a veteran who is also a gold tier member would earn 15 points for 1 US dollar, as the
customer qualifies for both lines. However, if the veteran customer was not a gold tier member, then he would earn 5
points for each dollar. To reflect the changes in the channels, run the Process loyalty schemes and 1050 (loyalty
information) jobs.
Retailers often have special prices for a certain group of customers that they don't want loyalty programs
applied to. For example, wholesalers or employees who get special pricing and no loyalty points. Commonly,
"affiliations" are used to provide the special pricing to such customer groups. To restrict certain customer
groups of customers from earning loyalty points, the retailer can specify one or more affiliations under the
Excluded affiliations section of the loyalty scheme. That way, when customers belonging to excluded
affiliations are existing loyalty members, they won't be able to earn loyalty points for their purchases. To
reflect the changes in the channels, run the Process loyalty schemes and 1050 (loyalty information) jobs.
Retailers can generate loyalty card numbers in the channels. Prior to the October 2018 update, retailers
could use physical loyalty cards or generate a loyalty card using some unique customer information such as
a phone number. To enable the automatic generation of loyalty cards in the stores, turn on Generate
loyalty card number in the functionality profile associated to the store. For online channels, retailers can
use the IssueLoyaltyCard API to issue loyalty cards to customers. Retailers can either provide a loyalty card
number to this API, which will be used to generate the loyalty card, or the system will use the loyalty card
number sequence set in Commerce. However, if the number sequence is not present, and the retailer does
not provide a loyalty card number while calling the API, then an error is displayed.
Earned and redeemed loyalty points are now saved for each transaction and sales orders against the sales
line, so that the same amount can be refunded or taken back in the case of full or partial returns. Moreover,
having the visibility for points at the sales line level provides the capability for call center users to answer
customer questions on how many points were earned or redeemed for each line. Prior to this change,
reward points were always recalculated during returns, which resulted in a different amount than the
original, if the earning or redemption rules were changed and also the call center users did not have the
visibility on the points breakdown. The points can be viewed under the Card transactions form for each
loyalty card. To enable this feature turn on the configuration Post loyalty points per sales line under
Commerce shared parameters > General tab.
NOTE
We strongly recommend turning this feature on to ensure, in case of returns, the correct amount of points can be
refunded or taken from the customer.
Retailers can now define the vesting period for each reward point. A vesting period configuration will define
the duration from the earn date, after which the reward points would become available to the customers.
Unvested points can be viewed in the Unvested points column on the Loyalty cards page. Additionally,
retailers can define the maximum loyalty reward point limit per loyalty card. This field can be used to reduce
the impact of loyalty fraud. When the maximum award points have been reached, the user cannot earn more
points. The retailer can decide to block such cards until they have investigated for potential fraud. If the
retailer determines fraud, the retailer cannot only block the loyalty card for the customer but also mark the
customer as blocked. To do so, set the Block customer for loyalty enrollment property to Yes under All
customers on the Commerce FastTab. The blocked customers will not be able to be issued a loyalty card in
any of the channels.
Affiliations are used to provide special pricing and discounts, but there be some affiliations that retailers do
not want their customers to see. For example, an affiliation titled "High spend customer" might not be well
received by some customers. Moreover, there are some affiliations that should not be managed in the store,
for example, employees, because you do not want the cashiers to decide who is an employee and thus
provide employee-based discounts. Retailers can now select the affiliations which should be hidden in the
channels. Affiliations marked as Hide in channels cannot be viewed, added, or removed in the POS.
However, the pricing and discounts associated with the affiliation will still be applied to the products.
Call center users can now more easily search for a customer using their loyalty card information, and
navigate to the customer's loyalty card and loyalty card transaction pages from the Customer ser vice
page.
If a loyalty card is compromised, a replacement card needs to be generated and the existing points
transferred to the new card. The replacement card flow has been simplified in this release. Additionally,
customers can gift some or all of their loyalty points to friends and family. When points are transferred,
points adjustment entries are created for each loyalty card. The replacement card and transfer balance
functionality can be accessed from the Loyalty cards page.
Retailers may want to capture the effectiveness of a particular channel to enroll customers into a loyalty
program. The enrollment source for the loyalty cards is now saved so that retailers can run reports on this
data. The enrollments source is automatically captured for all the issued loyalty cards from MPOS/CPOS or
e-Commerce channels. For the loyalty cards issued from the back office application, the call center user can
select an appropriate channel.
In earlier releases, retailers could use MPOS/CPOS to redeem loyalty points for customers in a store.
However, in those releases, because the loyalty balance is displayed in loyalty points, the cashier could not
view the currency value amount that could be applied toward the current transaction. The cashier had to do
the points to currency conversion before paying by loyalty points. In the current release, after lines are added
to the transaction the cashier can see the amount that the loyalty points can cover for the current
transaction, making it easy to apply some or all of the loyalty points to the transaction. Additionally, the
cashier can see the points that will be expiring in next 30 days, so they can upsell or cross-sell to motivate
the customer to spend the expiring points at that transaction.
With the 8.1.3 release, we have enabled the "pay by loyalty" option in the call center channel. To enable this
option, create a loyalty tender type and associate it with the call center.
NOTE
Because the loyalty payments are set up as card payments, you will have to select a card from the Card setup page.
After this is set up, customers can redeem their loyalty points in the call center. Additionally, we are
enhancing the user experience further to show the "Amount covered by loyalty points", so that the call
center users do not have to navigate to a different screen to view the loyalty balance.
Many retailers award loyalty points only based on the sales transactions, but the more customer-centric
retailers want to reward their customers for any of their engagement activity with their brand. For example,
they want to provide rewards for completing an online survey, visiting a store, liking the retailers on
Facebook, or tweeting about the retailer. To do this, the retailer can define any number of "Other activity
type" and define the corresponding earning rules for these activities. There is also an exposed Commerce
Scale Unit API "PostNonTransactionalActivityLoyaltyPoints" that can be called when an activity is identified
that should reward the customer with loyalty points. This API expects the Loyalty card ID, Channel ID, and the
Other Activity Type ID, so that the customer who should be rewarded can be located and the earning rule for
the activity can be identified.
Awarding points for non-transaction activities generally has two major steps:
Realizing an activity has occurred that should be rewarded.
Rewarding the appropriate points.
The first step is external to Commerce, such as tweeting about the brand or liking the brand on Facebook.
After this activity has been recognized, the retailers can call the above-mentioned Commerce Scale Unit API
and award loyalty points in real time. In such scenarios, there is no need for a review step because an activity
has occurred and corresponding points should be awarded. However, there are scenarios where the retailer
would want to review the records prior to awarding the points. For example, the retailer has set up a
workshop in the store for which the customers sign up on the ecommerce website or any other event
registering application. However, only the attending customers should earn loyalty points. For such
scenarios, in the 10.0 release, we introduced a data entity named Retail loyalty other activity type lines .
This data entity enables the retailers to use either Data Import/Export Framework (DIXF) or OData API to
record the activities that should award customers with loyalty points. The data entity stores the activities in a
journal named Loyalty lines for other activities , which can be used for review and modification
purposes. After the data has been reviewed, the IT user can either manually post the activity lines or run a
job named Process other activity type for loyalty lines , which will post all the unposted activity lines
and award the points to the customers based on the earning rules. In the above scenario, the event
registration application would call OData API to send the customer information to Commerce. However, the
IT user can post the activity lines for only those customers who attended the workshop and delete the
activity lines for the other customers.
NOTE
Currently, the system forces users to set up a number sequence for "other activity types", but this will not be a
required step in future releases. To set up a number sequence, go to Commerce shared parameters > Number
sequences and select a number sequence for Loyalty other activity type ID .
To provide good customer service and effectively resolve customer queries, it is important for the cashiers to
have access to complete customer's profile. With the 10.0 release, cashiers will be able to see loyalty history
details along with the associated loyalty program and tier information on POS.
Free or discounted shipping is one of the highly motivating factors for customers to buy online. To enable
the retailers to set up shipping promotions, with the 10.0 release, we have introduced a new type of
promotion named "Shipping threshold discount," where the retailer can define the thresholds, which once
met, will qualify the customers for discounted or free shipping. For example, spend $35 for free 'Two day
ship' or Free 'Two day ship' for all loyalty customers. This feature leverages the new Advanced auto charges
capability. Refer the documentation on Advanced auto charges. These advanced auto charges need to be
enabled for shipping promotion to work. These can be enabled from the Customer orders tab on the
Commerce parameters page and turn on the "Use advanced auto-charges" configuration. Additionally,
because a retailer can set up multiple types of charges, such as handling or installation, the retailer needs to
specify which charge is considered shipping charge. The shipping discounts are only applied to the shipping
charges. To specify charge as Shipping charge, navigate to the Charge codes form present under Retail
and Commerce > Retail and Commerce IT > Channel setup > Charges and turn on the "Shipping
charge" checkbox for the desired charges. Now you can navigate to the Shipping threshold discount
form and set up the discount.
Like product discounts, this discount honors all the existing standard discount capabilities, such as allowing
the retailer to restrict these discounts with the coupons so that only the customers with coupons can get
these discounts. Also, these discounts leverage the Price groups capability to determine the eligibility of such
discounts. For example, the retailer can choose to run these promotions only in the online channels and/or
across channels for certain customer groups such as loyalty customers. After the order lines with the
specified delivery mode meets the defined threshold, then the shipping discount gets applied and reduces
the shipping charge based on the discount set up.
NOTE
Unlike other periodic discounts such as quantity, simple, mix and match, and threshold discounts, the shipping
discount does not create discount lines, rather edits the shipping charge directly and appends the name of the
discount to the charge description.
Define loyalty programs
3/18/2020 • 3 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This procedure shows how to set up a loyalty program with two loyalty tiers. This procedure uses the USRT demo
data company.
1. Go to Retail and Commerce > .. > Loyalty programs.
2. Click New.
3. In the Name field, type a value.
4. In the Description field, type a value.
5. Click Add line.
6. In the Level field, enter a number.
7. In the Tier field, enter a name for the loyalty tier.
8. In the Description field, type a value.
9. In the Date interval field, click the drop-down button to open the lookup.
This date interval should extend into the future. For example, if the date interval that is selected for gold
tier is a one-year period, any customer who qualifies for the gold tier can receive the rewards that are
assigned to the gold tier for one year. If the customer re-qualifies for the gold tier while they are in the
tier, the date that the tier expires is extended by another year from the date when they re-qualify.
10. In the list, click the link in the selected row.
11. Click Add line.
12. In the Level field, enter a number.
13. In the Tier field, enter a name for the loyalty tier.
14. In the Description field, type a value.
15. In the Date interval field, click the drop-down button to open the lookup.
16. In the list, click the link in the selected row.
17. Click Save.
18. In the list, find and select the desired record.
Tier rules define the minimum number of a reward point needed to be earned during a time period to
qualify for the tier.
19. Toggle the expansion of the Tier rules section.
20. Click New.
You can have more than one tier rule per tier. For example, you could have three different criteria to earn
a tier; by spending $500 in one month, by spending $1000 over one year, and by having 20 transactions
in one year. To do this, you would need to create three tier rules.
21. In the Reward point field, click the drop-down button to open the lookup.
This should be a non-redeemable loyalty reward point.
22. In the list, click the link in the selected row.
23. In the Minimum issued points field, enter a number.
For the lowest level tier, if all customers qualify simply by participating in the program, enter '0'.
24. In the Evaluation date interval field, click the drop-down button to open the lookup.
This date interval should extend into the past. Only points earned during this date interval will be counted
towards reaching the minimum issued points value.
25. In the list, click the link in the selected row.
26. Click Save.
27. In the list, find and select the desired record.
28. Click New.
29. In the Reward point field, click the drop-down button to open the lookup.
30. In the list, click the link in the selected row.
31. In the Minimum issued points field, enter a number.
32. In the Evaluation date interval field, click the drop-down button to open the lookup.
This date interval should extend into the past.
33. In the list, click the link in the selected row.
34. Click Save.
35. Click Price groups.
If you want to give loyalty customers discounts. you'll need to assign one or more price groups to the
loyalty program and assign the price groups to discounts. It is a best practice to not mix price groups
across different types of discounting entities. For example, don't use the same price group for a loyalty
discount and a channel discount.
36. In the Price group field, click the drop-down button to open the lookup.
The Price groups link at the top of the page is for the loyalty program. The Price groups link in the
Program tiers FastTab is for a specific loyalty tier only.
37. In the list, click the link in the selected row.
38. Click Save.
39. Close the page.
40. Click Save.
Define loyalty reward points
3/18/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This procedure walks through defining loyalty reward points. You should set up loyalty reward points before you
set up a loyalty program. This procedure uses the USRT demo data company.
1. Go to Retail and Commerce > Customers > Loyalty > Loyalty reward points.
2. Click New.
3. In the Reward point ID field, type a value.
4. In the Description field, type a value.
5. In the Reward point type field, select an option.
Select Quantity if you want the reward points to be rounded to the nearest integer. Select Amount if you
want the reward points to be rounded according to currency rounding rules. If you select Quantity, skip
the next step of this procedure..
6. In the Currency field, type a value.
For Amount type reward points, all points issued will have the selected currency. For Quantity type
reward points, this field doesn't apply—skip this step.
7. Check or uncheck the Redeemable checkbox.
8. In the Redeem ranking field, enter a number.
Redeem ranking is used when two or more redeemable reward points can be used to pay for products. If
the two reward points have the same redeem ranking, then the one that needs to lower number of points
will be used.
9. In the Expiration time value field, enter a number.
The reward points will expire the specified number of days, months, or years after when the points are
issued. A value of '0' means the loyalty reward points will never expire.
10. In the Expiration time unit field, select an option.
11. Click Save.
Define loyalty schemes
3/18/2020 • 3 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This procedure walks through how to define a loyalty scheme. Loyalty schemes are reward earning and redeeming
rules for a loyalty program. This procedure uses the USRT demo data company.
1. Go to Retail and Commerce > Customers > Loyalty > Loyalty schemes.
2. Click New.
3. In the Scheme ID field, type a value.
4. In the Description field, type a value.
5. In the Name field, click the drop-down button to open the lookup.
You can have multiple loyalty schemes for a loyalty program. Loyalty schemes can be for all channels or
only a sub-set of channels.
6. In the list, find and select the desired record.
7. In the list, click the link in the selected row.
8. Click Save.
9. Click Add line.
10. In the Activity type field, select an option.
Select Purchase products by amount if you want customers to earn rewards based on how much they
spend. Select Purchase products by quantity if you want customers to earn rewards based on how many
products they buy. Select Sales transaction count if you want customers to earn rewards for each sales
transaction, regardless of what or how much is purchased.
Select a category. The category will limit which products this earning rule applies to.
If you want the earning rule to apply to all products, leave this field blank.
11. In the Activity amount/quantity field, enter a number.
For activity type Sales transaction count, you should always use a value of '1.0'. For activity types of
Purchase by amount or Purchase by quantity, any transaction that is less than the value entered will not
trigger the earning rule. For example, if the activity type is Purchase by amount, and you enter '10.00',
then a sales transaction for '9.00' will not earn rewards for this earning rule.
12. In the Activity currency field, type a value.
13. In the Reward point ID field, click the drop-down button to open the lookup.
14. In the list, click the link in the selected row.
15. In the Reward points field, enter a number.
Amount type reward points will record earned amounts with decimals. For example, if the earning rule
states 1 reward point earned for every 1 Canadian Dollar spent, and the customer spends 1.25 Canadian
Dollars, then the customer will earn 1.25 reward points. Quantity type reward points will record earned
amounts in integers. Using the example where the earning rule states 1 reward point earned for every 1
Canadian Dollar spent, and the customer spends 1.25 Canadian Dollars, then the customer will earn 1.0
reward points.
16. Click Save.
17. Click Add line.
Redemption rules are used when the loyalty payment method is used.
18. In the Reward point ID field, click the drop-down button to open the lookup.
Only redeemable reward points are shown.
19. In the list, click the link in the selected row.
20. In the Reward points field, enter a number.
21. In the Redemption type field, select an option.
Selecting Payment by amount causes the Amount or quantity field to be treated as a currency value. In
this case, the amount of reward points used per currency unit of payment is a fixed ratio. Selecting
Payment by quantity causes the Amount or quantity field to be treated as a quantity value. In this case,
the amount of reward points used per item quantity is a fixed ratio, however, the amount in currency can
vary if the price of items paid for with loyalty reward points varies for the same quantity. Redemption
type of Loyalty points discount is only valid when the 'Russia' Country/Regional specific features
configuration key is enabled, and the POS functionality profiles has an ISO code of 'RU'.
Select a category. The category will limit which products this redemption rule applies to.
If you want the redemption rule to apply to all products, leave this field blank.
22. In the Amount or quantity field, enter a number.
23. In the Currency field, type a value.
24. Click Save.
25. Click Add line.
Select one or more nodes from the Available organization nodes list and move them to the Selected
organization nodes list by clicking the arrow between the two lists.
26. Click OK.
27. Click Save.
Anytime you change the channels for a loyalty scheme, you must run Process loyalty schemes. That way,
the channels will get updated loyalty schemes.
Process loyalty reward point adjustments
3/18/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This procedure demonstrates how to look up loyalty card information and adjust loyalty reward points. The demo
data company used to create this task is USRT. This task is intended for the Commerce operations manager role or a
Customer service manager role.
1. Go to Loyalty cards.
2. In the list, find and select the desired record.
3. In the list, click the link in the selected row.
4. Click Card transactions.
On this page you can view all loyalty transactions for the selected loyalty card.
5. Close the page.
6. Click Card adjustments.
7. Click New.
8. In the Reward point field, enter or select a value.
9. In the Amount or quantity field, enter a number.
You can add or remove points from the loyalty card by using positive or negative amounts.
10. In the Loyalty program field, enter or select a value.
11. In the Comment field, type a value.
12. Click Post adjustment.
13. Click Yes.
14. Close the page.
Normally at this point you'd refresh the page to see the result of the reward points adjustment in the
Reward point summary tab. But if you are running this as a task guide, don't refresh now because if you
do, the task guide will stop.
15. Click Card transactions.
16. Close the page.
Retail statements
2/1/2020 • 4 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
In Dynamics 365 Commerce, the statement posting process is used to account for the transactions that occur in
Cloud point of sale (POS) or Modern POS (MPOS). The statement posting process uses the distribution schedule to
pull a set of POS transactions into the headquarters (HQ) client. The parameters that are defined on the
Commerce parameters and Stores pages are used to select the transactions that are pulled into individual
statements.
The following illustration shows the statement posting process. In this process, transactions that are recorded in the
POS are transmitted to the client by using the Commerce scheduler. After the client receives the transactions, you
can create, calculate, and post the transaction statement for the store.
NOTE
The statement calculation process uses the global number sequence.
When you calculate a statement, the calculation includes the following tasks:
For the selected date range, mark transactions that weren't included in a previous statement calculation.
Calculate the total amounts that were tendered in the selected transactions. The results are shown on the
statement lines, depending on the statement method:
If the statement method is Total , a line is created for each payment method in the selected transactions.
If the statement method is Staff , a line is created for each payment method in transactions that were
performed by the selected staff member.
If the statement method is POS terminal , a line is created for each payment method in transactions that
were performed on the selected register.
If the statement method is Shift , a line is created for each payment method in transactions that were
performed during a shift.
If the Split by Statement method check box is selected on the Stores page, a separate statement is created
based on the value that is selected in the Statement method field.
If your store's operating hours extend past midnight, you can configure statement posting so that it's based on the
end of the business day instead of the end of the calendar day.
On the Stores page, on the Statement/closing FastTab, in the End of business day field, enter the time that the
last transaction must be recorded to be included in the business day's statement. Select the Post as business day
check box to post the transactions within the same business day. When the statement is posted, transactions that
are recorded within the same business day can be included on the same sales order, even if some transactions
occur before midnight and other transactions occur after midnight.
Example: Post a statement for a business day that extends over two calendar days
A store is open between 8:00 AM and 3:00 AM, and the Post as business day check box is selected in the store's
configuration. On May 31, the store records transactions between 8:00 AM and midnight. The store also records
transactions between 12:01 AM and 3:00 AM on June 1.
When the store posts its statement for the close of the business day, the sales order that is generated includes all
transactions that were recorded between the business hours of 8:00 AM and 3:00 AM, even though the transactions
occurred on two days, May 31 and June 1.
If the Post as business day check box is cleared for the same store, separate sales orders are generated when the
store posts its statement for the close of the business day. One sales order includes the transactions that were
recorded between the business hours of 8:00 AM and midnight on May 31, and the second sales order includes the
transactions that were recorded between the business hours of 12:01 AM and 3:00 AM on June 1.
NOTE
Before you can create statements, you should close the shifts in the statement period.
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic describes the transaction consistency checker functionality in Microsoft Dynamics 365 Commerce. The
consistency checker identifies and isolates inconsistent transactions before they are picked up by the statement
posting process.
When a statement is posted, posting can fail due to inconsistent data in the commerce transaction tables. The data
issue may be caused by unforeseen issues in the point of sale (POS) application, or if transactions were incorrectly
imported from third-party POS systems. Examples of how these inconsistencies may appear include:
The transaction total on the header table does not match the transaction total on the lines.
The line count on the header table does not match with the number of lines in the transaction table.
Taxes on the header table do not match the tax amount on the lines.
When inconsistent transactions are picked up by the statement posting process, inconsistent sales invoices and
payment journals are created, and the entire statement posting process fails as a result. Recovering the statements
from such a state involves complex data fixes across multiple transaction tables. The transaction consistency
checker prevents such issues.
The following chart illustrates the posting process with the transaction consistency checker.
The Validate store transactions batch process checks the consistency of the commerce transaction tables for the
following scenarios.
Customer account – Validates that the customer account in the transaction tables exists in the HQ customer
master.
Line count – Validates that the number of lines, as captured on the transaction header table, matches the
number of lines in the sales transaction tables.
Price includes tax – Validates that the Price includes tax parameter is consistent across transaction lines.
Payment amount - Validates that the payment records match the payment amount on header.
Gross amount – Validates that the gross amount on the header is the sum of the net amounts on the lines plus
the tax amount.
Net amount – Validates that the net amount on the header is the sum of the net amounts on the lines.
Under / Over payment – Validates that the difference between the gross amount on the header and the
payment amount doesn't exceed the maximum underpayment/overpayment configuration.
Discount amount – Validates that the discount amount on the discount tables and the discount amount on the
transaction line tables are consistent, and that the discount amount on the header is the sum of the discount
amounts on the lines.
Line discount – Validates that the line discount on the transaction line is the sum of all the lines in the discount
table that corresponds to the transaction line.
Gift card item – Commerce doesn't support the return of gift card items. However, the balance on a gift card
can be cashed out. Any gift card item that is processed as a return line instead of a cash-out line fails the
statement posting process. The validation process for gift card items helps guarantee that the only return gift
card line items on the transaction tables are gift card cash-out lines.
Negative price – Validates that there are no negative price transaction lines.
Item & Variant – Validates that items and variants on the transaction lines exist in the item and variant master
file.
Tax amount - Validates that tax records match the tax amounts on the lines.
Serial number - Validates that the serial number is present in the transaction lines for items that are controlled
by serial number.
Sign - Validates that the sign on the quantity and the net amount are the same in all the transaction lines.
Business date - Validates that the financial periods for all the business dates for the transactions are open.
NOTE
Additional validation rules to support more scenarios will be added in a future release.
Disable rules in the retail transaction consistency
checker
4/16/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
Retailers can have business scenarios and processes that are unique to them. Therefore, not all the rules that are
included by default in the commerce transaction consistency checker are applicable to all retailers. To accommodate
differences, Microsoft Dynamics 365 Commerce provides functionality that can be used to disable the rules that
aren't applicable.
To view the list of rules that are available in the transaction consistency checker in your environment, and to see the
status of each rule, go to Retail and Commerce > Headquar ters setup > Parameters > Commerce
parameters , and select the Transaction validation tab.
By default, the status of every rule is set to Enabled . Therefore, all the rules are used to validate transactions before
they are pulled into the commerce statements. To disable a rule, change its status to Disabled . Disabled rules aren't
considered when transactions are validated during the statement calculation process.
To bypass the whole validation process, regardless of the rules that are enabled, go to Retail and Commerce >
Headquar ters setup > Parameters > Commerce parameters , and then, on the Transaction validation tab,
set the Disable consistency checker for Commerce transactions option to Yes . After this option is set to No ,
it can't be set back to Yes from the user interface (UI).
Edit and audit retail store transactions
2/1/2020 • 4 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
Dynamics 365 Commerce customers use first-party as well as third-party point of sale (POS) applications. With the
first-party POS application, store transactions are pulled into Headquarters from the channels through a batch
process. With third-party applications, transactions are pulled into Headquarters through integration. In both cases,
after transactions are pulled into Headquarters, a consistency check process needs to be executed that runs
multiple validations on the transactions so that only successfully validated transactions are pulled into the
statement to be posted in Headquarters.
Commerce transactions fail validation for various reasons. For example, a bug in the integration code or a bug in
the POS application may cause inconsistent data, or a user error, such as deleting a product after it was
synchronized to the channel or closing a fiscal period without posting transactions for that period, can cause
inconsistent data.
While these transactions get flagged and are excluded from the statements, the transactions can disrupt a
customer’s daily process of posting daily sales to the financials.
In Commerce, you can edit the specific transactions that fail validation while maintaining audit of all the changes.
NOTE
You can only edit transactions that failed validation. If you want to edit transactions that passed validation, change the
validation status of the transaction you want to change to Error or None and then you will be able to edit it.
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic describes the manual steps for creating, calculating, and posting a statement for a store. There are also
batch jobs that can be configured for the same tasks. The steps for configuring and running the batch jobs can be
found in other topics. To complete this procedure, you must have transactions that were completed in POS and then
pulled into Dynamics 365 Commerce. This recording uses the USRT company in demo data.
1. Select Store financials from the home page.
2. Select New statement .
3. In the Store number field, select a option from the drop-down.
4. Select OK .
5. The Setup group has the settings that control what transactions are included in the statement and how they are
grouped into statement lines. You can open the Setup group and change these settings, or you can use the
defaults.
The Statement method field defines how the statement lines will be grouped.
Select a staff member or a register in the staff/register field if you want to calculate a statement only for
the specific staff member or register.
6. In the Closing method field, select an option.
7. Select Calculate statement from the Action Pane.
8. Select Yes .
After calculating the statement, there should be lines created with total amounts for each payment
method and statement method that was used.
Enter a counted amount in each line if it needs to be entered or updated. The counted field is populated
with amounts from tender declarations done in POS.
9. Select Post statement from the Action Pane.
10. Select Close .
11. Close the pane.
12. At the home page, select Store financials .
13. Select the Posted statements tab.
Improvements to statement posting functionality
2/13/2020 • 14 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic describes the first set of improvements that have been made to the statement posting feature. These
improvements are available in Microsoft Dynamics 365 for Finance and Operations 7.3.2.
Activation
By default, during deployment of Finance and Operations 7.3.2, the program is set up to use the legacy feature for
statement postings. To enable the improved statement posting feature, you must turn on the configuration key for
it.
Go to System administration > Setup > License configuration , and then, under the Retail and
Commerce node, clear the Statements (legacy) check box, and select the Statements check box.
When the new Statements configuration key is turned on, a new menu item that is named Statements is
available. This menu item lets you manually create, calculate, and post statements. Any statement that causes an
error when the batch posting process is used will also be available through this menu item. (When the Statements
(legacy) configuration key is turned on, the menu item is named Open statements .)
Commerce includes the following validations that are related to these configuration keys:
Both configuration keys can't be turned on at the same time.
The same configuration keys must be used for all the operations that are performed on a given statement during
its lifecycle (Create, Calculate, Clear, Post, and so on). For example, you can't create and calculate a statement
while the Statement (legacy) configuration key is turned on, and then try to post the same statement while the
Statement configuration key is turned on.
NOTE
We recommend that you use the Statements configuration key for the improved statement posting feature, unless you have
compelling reasons to use the Statements (legacy) configuration key instead. Microsoft will continue to invest in the new
and improved statement posting feature, and it's important that you switch to it at the earliest opportunity to benefit from it.
The legacy statement posting feature is deprecated starting in 8.0 release.
Setup
As part of the improvements to the statement posting feature, three new parameters have been introduced on the
Statement FastTab on the Posting tab of the Commerce parameters page:
Disable clear statement – This option is applicable only for the legacy statement posting feature. We
recommend that you set this option to No to prevent users from clearing statements that are in a semi-
posted state. If statements that are in a semi-posted state are cleared, data becomes corrupted. You should
set this option to Yes only in exceptional circumstances.
Reser ve inventor y during calculation – We recommend that you use the Post inventor y batch job for
inventory reservation, and that you set this option to No . When this option is set to No , the improved
statement posting feature doesn't try to create inventory reservation entries at the time of calculation (if
entries weren't already created through the Post inventor y batch job). Instead, the feature creates inventory
reservation entries only at the time of posting. This implementation was a design choice and was based on
the fact that the time window between the calculation process and the posting process is typically small.
However, if you want to reserve inventory at the time of calculation, you can set this option to Yes .
The legacy statement posting feature always reserves inventory during the statement calculation process (if
reservation wasn't already done through the Post inventor y batch job), regardless of the setting of this
option.
Disable counting required – When this option is set to Yes , the posting process for a statement continues,
even if the difference between the counted amount and the transaction amount on the statement is outside
the threshold that is defined on the Statement FastTab for stores.
Additionally, the following parameters have been introduced on the Batch processing FastTab on the Posting tab
of the Commerce parameters page:
Maximum number of parallel statement posting – This field defines the number of batch tasks that will be
used to post multiple statements.
Max thread for order processing per statement – This field represents the maximum number of threads
used by the statement posting batch job to create and invoice sales orders for a single statement. The total
number of threads that will be used by the statement posting process will be computed based on the value in
this parameter multiplied by the value in the Maximum number of parallel statement posting parameter.
Setting the value of this parameter too high can negatively impact the performance of the statement posting
process.
Max transaction lines included in aggregation – This field defines the number of transaction lines that will
be included in a single aggregated transaction before a new one is created. Aggregated transactions are created
based on different aggregation criteria such as customer, business date, or financial dimensions. It is important
to note that the lines from a single transaction will not be split across different aggregated transactions. This
means that there is a possibility that the number of lines in a aggregated transaction is slightly higher or lower
based on factors such as number of distinct products.
Maximum number of threads to validate store transactions – This field defines the number of threads
that will be used to validate transactions. Validating transactions is a required step that needs to occur before the
transactions can be pulled into the statements. You also need to define a Gift card product on the Gift card
FastTab on the Posting tab of the Commerce parameters page. This needs to defined even if gift cards are not
used by the organization.
NOTE
All settings and parameters that are related to statement postings, and that are defined on stores and on the Commerce
parameters page, are applicable to the improved statement posting feature.
Processing
Statements can be calculated and posted in batch using the menu items Calculate statements in batch and Post
statements in batch . Alternatively, statements can be manually calculated and posted by using the Statements
menu item that the improved statement posting feature provides.
The process and steps for calculating and posting statements in a batch are the same as they were in the legacy
statement posting feature. However, significant improvements have been made in the core back-end processing of
the statements. These improvements make the process more resilient, and provide for better visibility into the
states and error information. Therefore, users can address the root cause of errors and then continue the posting
process without causing data corruption and without causing data fixes to be required.
The following sections describe some of the major improvements for the statement posting feature that appear in
the user interface for statements and posted statements.
Status details
A new state model has been introduced in the statement posting routine across the calculation and posting
processes.
The following table describes the various states and their order during the calculation process.
The following table describes the various states and their order during the posting process.
Every state in the preceding tables is independent in nature, and a hierarchical dependency is built between the
states. This dependency flows from top to bottom. If the system encounters any errors while it's processing a state,
the status of the statement is reverted to the previous state. Any subsequent reattempt of the process resumes from
the state that failed and continues to move forward. This approach has the following benefits:
The user has complete visibility into the state where the error occurred.
Data corruption is avoided. For example, in the legacy statement posting feature, there were instances where
some sales orders were invoiced but others were left open. There were also instances where some payment
journals didn't have a corresponding invoice to settle, because the invoice posting had an error.
Users can see the current state of a statement by using the Status details button in the Execution details
group of the statement. The status details page has three sections:
The first section shows the current status of the statement, together with the error code and a detailed
error message, if an error occurred.
The second section shows the various states of the calculation process. Visual cues indicate states that
have been successfully run, states that could not be run because of errors, and states that haven't yet been
run.
The third section shows the various states of the posting process. Visual cues indicate states that have
been successfully run, states that could not be run because of errors, and states that haven't yet been run.
Additionally, the header of the second and third sections shows the overall status of the relevant process.
Event logs
A statement goes through various operations (for example, Create, Calculate, Clear, and Post), and multiple
instances of the same operation might be called during the statement's lifecycle. For example, after a statement is
created and calculated, a user can clear the statement and calculate it again. The Event logs button in the
Execution details group of the statement provides a complete audit trail of the various operations that were called
on a statement, together with information about when those operations were called.
Aggregated transactions
During the posting process, the sales transactions are aggregated based on the configuration. These aggregated
transactions are stored in the system and used to create sales orders. Every aggregated transaction creates one
corresponding sales order in the system. You can view the aggregated transactions by using the Aggregated
transactions button in the Execution details group of the statement.
The Sales order detail tab of an aggregated transaction shows the following information:
Record ID – The ID of the aggregated transaction.
Statement number – The statement that the aggregated transaction belongs to.
Date – The date when the aggregated transaction was created.
Sales ID – When a sales order is created from the aggregated transaction, the sales order ID. If this field is blank,
the corresponding sales order hasn't been created.
Number of aggregated lines – The total number of lines for the aggregated transaction and sales order.
Status – The last status of the aggregated transaction.
Invoice ID – When the sales order for the aggregated transaction is invoiced, the sales invoice ID. If this field is
blank, the invoice for the sales order hasn't been posted.
The Transaction details tab of an aggregated transaction shows all the transactions that have been pulled into the
aggregated transaction. The aggregated lines on the aggregated transaction show all the aggregated records from
the transactions. The aggregated lines also show details such as the item, variant, quantity, price, net amount, unit,
and warehouse. Basically, each aggregated line corresponds to one sales order line.
From the Aggregated transactions page, you can download the XML for a specific aggregated transaction by
using the Expor t sales order XML button. You can use the XML to debug issues that involve sales order creation
and posting. Just download the XML, upload it to a test environment, and debug the issue in the test environment.
The functionality for downloading the XML for aggregated transactions isn't available for statements that have been
posted.
The aggregated transaction view provides the following benefits:
The user has visibility into the aggregated transactions that failed during sales order creation and the sales
orders that failed during invoicing.
The user has visibility into how transactions are aggregated.
The user has a complete audit trail, from transactions, to sales orders, to sales invoices. This audit trail wasn't
available in the legacy statement posting feature.
Aggregated XML file make it easier to identify issues during sales order creation and invoicing.
Journal vouchers
The Journal vouchers button in the Execution details group of the statement shows all the various voucher
transactions that are created for a statement, and that are related to discounts, income/expense accounts, gift cards,
and so on.
Currently, the program shows this data only for posted statements.
Payment journals
The Payment journals button in the Execution details group of the statement shows all the various payment
journals that are created for a statement.
Currently, the program shows this data only for posted statements.
Other improvements
Other, back-end improvements that users can see have been made to the statement posting feature. Here are some
examples:
The aggregation doesn't consider the staff, terminal, and shift entities. Because there are fewer aggregation
parameters, fewer sales order lines must be processed.
The occurrence of deadlock on transaction tables is reduced by introducing additional extension tables and by
doing insert operations instead of update operations on the transaction tables.
The number of running batch tasks has been parameterized and limited. Therefore, this number can be fine-
tuned specifically to a customer's environment. In the legacy statement posting feature, an unlimited number of
batch tasks was created at the same time. The results were unmanageable loads, overhead, and bottlenecks on
the batch server.
Statements are efficiently queued for processing by prioritizing the statements that have the maximum number
of transactions.
Batch processes such as Calculate statements in batch and Post statements in batch are run only in batch
mode. In the legacy statement posting feature, users could choose to run these batch processes in an interactive
mode which is s single threaded operation unlike batch processes which are multi-threaded.
In the legacy statement posting feature, any failure of a batch task put the whole batch job in an error state. In
the improved feature, batch task failures don't put the batch job in an error state if other batch tasks are
successfully completed. You should assess the posting status for a batch execution run by using the Statements
page, where you can see any statements that weren't posted because of errors.
In the legacy statement posting feature, the first occurrence of a statement failure causes the whole batch to fail.
The remaining statements aren't processed. In the improved feature, the batch process continues to process all
statements, even if some of the statements fail. One benefit is that users gain visibility into the exact number of
statements that have errors. Therefore, users don't have to be stuck in a continuous loop of fixing the errors and
running the post statement process till all statements are posted.
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
In Dynamics 365 Retail versions 10.0.4 and earlier, statement posting is an end-of-day operation and all
transactions are posted in the books at the end of the day. Large transactions must then be processed in a limited
time window, sometimes resulting in load and locks and statement posting failures. Retailers also can't recognize
revenue and payments in their books throughout the day.
With the public preview of trickle feed-based order creation introduced in Retail version 10.0.5, transactions are
processed throughout the day, and only the financial reconciliation of tenders and other cash management
transactions are processed at the end of the day. This functionality splits the load of creating sales orders, invoices,
and payments throughout the day, providing better perceived performance and the ability to recognize revenue
and payments in the books in near real-time.
IMPORTANT
Before you enable the Statements (trickle feed) – Preview license key, make sure that no pending statements are
waiting to be posted.
3. The current statement document will be split into two different types; transactional statement and financial
statement.
The transactional statement will pick up all unposted and validated transactions and create sales
orders, sales invoices, payment and discount journals, and income-expense transactions at the
cadence that you configure. You should configure this process to run at a high frequency so that
documents are created when the transactions are uploaded into Headquarters through the P-job.
With the transactional statement that already creates sales orders and sales invoices, there is no real
need to configure the Post inventor y batch job. However, you can still use it to meet specific
business requirements that you may have.
The financial statement is designed to be created at the end of the day and only supports the closing
method of Shift . This statement will be limited to financial reconciliation and will only create the
journals for the difference amounts between counted amount and transaction amount for the
different tenders, along with journals for other cash management transactions.
4. To calculate the transactional statement, click Retail and Commerce > Retail and Commerce IT > POS
Posting > Calculate transactional statements in batch . To post the transactional statement statements
in batch, click Retail and Commerce > Retail and Commerce IT > POS Posting > Post
transactional statements in batch .
5. To calculate the financial statement, click Retail and Commerce > Retail and Commerce IT > POS
Posting > Calculate financial statements in batch . To post the financial statements in batch, click
Retail and Commerce > Retail and Commerce IT > POS Posting > Post financial statements in
batch .
NOTE
The menu items Retail and Commerce > Retail and Commerce IT > POS Posting > Calculate statements in
batch and Retail and Commerce > Retail and Commerce IT > POS Posting > Post statements in batch are
removed with this new feature.
Alternately, transactional and financial statement types can be created manually. Go to Retail and Commerce >
Channels > Stores and click Statements . Click New and then choose the type of statement that you want to
create. Fields on the Statements page and actions under the Statement group of the page will show relevant
data and actions based on the selected statement type.
Create, calculate, and post statements for a retail
store
3/18/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic describes the manual steps for creating, calculating, and posting a statement for a store. There are also
batch jobs that can be configured for the same tasks. The steps for configuring and running the batch jobs can be
found in other topics. To complete this procedure, you must have transactions that were completed in POS and
then pulled into Dynamics 365 Commerce. This recording uses the USRT company in demo data.
1. Select Store financials from the home page.
2. Select New statement .
3. In the Store number field, select a option from the drop-down.
4. Select OK .
5. The Setup group has the settings that control what transactions are included in the statement and how they are
grouped into statement lines. You can open the Setup group and change these settings, or you can use the
defaults.
The Statement method field defines how the statement lines will be grouped.
Select a staff member or a register in the staff/register field if you want to calculate a statement only
for the specific staff member or register.
6. In the Closing method field, select an option.
7. Select Calculate statement from the Action Pane.
8. Select Yes .
After calculating the statement, there should be lines created with total amounts for each payment
method and statement method that was used.
Enter a counted amount in each line if it needs to be entered or updated. The counted field is populated
with amounts from tender declarations done in POS.
9. Select Post statement from the Action Pane.
10. Select Close .
11. Close the pane.
12. At the home page, select Store financials .
13. Select the Posted statements tab.
Improvements to statement posting functionality
2/13/2020 • 14 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic describes the first set of improvements that have been made to the statement posting feature. These
improvements are available in Microsoft Dynamics 365 for Finance and Operations 7.3.2.
Activation
By default, during deployment of Finance and Operations 7.3.2, the program is set up to use the legacy feature for
statement postings. To enable the improved statement posting feature, you must turn on the configuration key for
it.
Go to System administration > Setup > License configuration , and then, under the Retail and
Commerce node, clear the Statements (legacy) check box, and select the Statements check box.
When the new Statements configuration key is turned on, a new menu item that is named Statements is
available. This menu item lets you manually create, calculate, and post statements. Any statement that causes an
error when the batch posting process is used will also be available through this menu item. (When the Statements
(legacy) configuration key is turned on, the menu item is named Open statements .)
Commerce includes the following validations that are related to these configuration keys:
Both configuration keys can't be turned on at the same time.
The same configuration keys must be used for all the operations that are performed on a given statement during
its lifecycle (Create, Calculate, Clear, Post, and so on). For example, you can't create and calculate a statement
while the Statement (legacy) configuration key is turned on, and then try to post the same statement while the
Statement configuration key is turned on.
NOTE
We recommend that you use the Statements configuration key for the improved statement posting feature, unless you have
compelling reasons to use the Statements (legacy) configuration key instead. Microsoft will continue to invest in the new
and improved statement posting feature, and it's important that you switch to it at the earliest opportunity to benefit from it.
The legacy statement posting feature is deprecated starting in 8.0 release.
Setup
As part of the improvements to the statement posting feature, three new parameters have been introduced on the
Statement FastTab on the Posting tab of the Commerce parameters page:
Disable clear statement – This option is applicable only for the legacy statement posting feature. We
recommend that you set this option to No to prevent users from clearing statements that are in a semi-
posted state. If statements that are in a semi-posted state are cleared, data becomes corrupted. You should
set this option to Yes only in exceptional circumstances.
Reser ve inventor y during calculation – We recommend that you use the Post inventor y batch job for
inventory reservation, and that you set this option to No . When this option is set to No , the improved
statement posting feature doesn't try to create inventory reservation entries at the time of calculation (if
entries weren't already created through the Post inventor y batch job). Instead, the feature creates inventory
reservation entries only at the time of posting. This implementation was a design choice and was based on
the fact that the time window between the calculation process and the posting process is typically small.
However, if you want to reserve inventory at the time of calculation, you can set this option to Yes .
The legacy statement posting feature always reserves inventory during the statement calculation process (if
reservation wasn't already done through the Post inventor y batch job), regardless of the setting of this
option.
Disable counting required – When this option is set to Yes , the posting process for a statement continues,
even if the difference between the counted amount and the transaction amount on the statement is outside
the threshold that is defined on the Statement FastTab for stores.
Additionally, the following parameters have been introduced on the Batch processing FastTab on the Posting tab
of the Commerce parameters page:
Maximum number of parallel statement posting – This field defines the number of batch tasks that will be
used to post multiple statements.
Max thread for order processing per statement – This field represents the maximum number of threads
used by the statement posting batch job to create and invoice sales orders for a single statement. The total
number of threads that will be used by the statement posting process will be computed based on the value in
this parameter multiplied by the value in the Maximum number of parallel statement posting parameter.
Setting the value of this parameter too high can negatively impact the performance of the statement posting
process.
Max transaction lines included in aggregation – This field defines the number of transaction lines that will
be included in a single aggregated transaction before a new one is created. Aggregated transactions are created
based on different aggregation criteria such as customer, business date, or financial dimensions. It is important
to note that the lines from a single transaction will not be split across different aggregated transactions. This
means that there is a possibility that the number of lines in a aggregated transaction is slightly higher or lower
based on factors such as number of distinct products.
Maximum number of threads to validate store transactions – This field defines the number of threads
that will be used to validate transactions. Validating transactions is a required step that needs to occur before the
transactions can be pulled into the statements. You also need to define a Gift card product on the Gift card
FastTab on the Posting tab of the Commerce parameters page. This needs to defined even if gift cards are not
used by the organization.
NOTE
All settings and parameters that are related to statement postings, and that are defined on stores and on the Commerce
parameters page, are applicable to the improved statement posting feature.
Processing
Statements can be calculated and posted in batch using the menu items Calculate statements in batch and Post
statements in batch . Alternatively, statements can be manually calculated and posted by using the Statements
menu item that the improved statement posting feature provides.
The process and steps for calculating and posting statements in a batch are the same as they were in the legacy
statement posting feature. However, significant improvements have been made in the core back-end processing of
the statements. These improvements make the process more resilient, and provide for better visibility into the
states and error information. Therefore, users can address the root cause of errors and then continue the posting
process without causing data corruption and without causing data fixes to be required.
The following sections describe some of the major improvements for the statement posting feature that appear in
the user interface for statements and posted statements.
Status details
A new state model has been introduced in the statement posting routine across the calculation and posting
processes.
The following table describes the various states and their order during the calculation process.
The following table describes the various states and their order during the posting process.
Every state in the preceding tables is independent in nature, and a hierarchical dependency is built between the
states. This dependency flows from top to bottom. If the system encounters any errors while it's processing a state,
the status of the statement is reverted to the previous state. Any subsequent reattempt of the process resumes from
the state that failed and continues to move forward. This approach has the following benefits:
The user has complete visibility into the state where the error occurred.
Data corruption is avoided. For example, in the legacy statement posting feature, there were instances where
some sales orders were invoiced but others were left open. There were also instances where some payment
journals didn't have a corresponding invoice to settle, because the invoice posting had an error.
Users can see the current state of a statement by using the Status details button in the Execution details
group of the statement. The status details page has three sections:
The first section shows the current status of the statement, together with the error code and a detailed
error message, if an error occurred.
The second section shows the various states of the calculation process. Visual cues indicate states that
have been successfully run, states that could not be run because of errors, and states that haven't yet been
run.
The third section shows the various states of the posting process. Visual cues indicate states that have
been successfully run, states that could not be run because of errors, and states that haven't yet been run.
Additionally, the header of the second and third sections shows the overall status of the relevant process.
Event logs
A statement goes through various operations (for example, Create, Calculate, Clear, and Post), and multiple
instances of the same operation might be called during the statement's lifecycle. For example, after a statement is
created and calculated, a user can clear the statement and calculate it again. The Event logs button in the
Execution details group of the statement provides a complete audit trail of the various operations that were called
on a statement, together with information about when those operations were called.
Aggregated transactions
During the posting process, the sales transactions are aggregated based on the configuration. These aggregated
transactions are stored in the system and used to create sales orders. Every aggregated transaction creates one
corresponding sales order in the system. You can view the aggregated transactions by using the Aggregated
transactions button in the Execution details group of the statement.
The Sales order detail tab of an aggregated transaction shows the following information:
Record ID – The ID of the aggregated transaction.
Statement number – The statement that the aggregated transaction belongs to.
Date – The date when the aggregated transaction was created.
Sales ID – When a sales order is created from the aggregated transaction, the sales order ID. If this field is blank,
the corresponding sales order hasn't been created.
Number of aggregated lines – The total number of lines for the aggregated transaction and sales order.
Status – The last status of the aggregated transaction.
Invoice ID – When the sales order for the aggregated transaction is invoiced, the sales invoice ID. If this field is
blank, the invoice for the sales order hasn't been posted.
The Transaction details tab of an aggregated transaction shows all the transactions that have been pulled into the
aggregated transaction. The aggregated lines on the aggregated transaction show all the aggregated records from
the transactions. The aggregated lines also show details such as the item, variant, quantity, price, net amount, unit,
and warehouse. Basically, each aggregated line corresponds to one sales order line.
From the Aggregated transactions page, you can download the XML for a specific aggregated transaction by
using the Expor t sales order XML button. You can use the XML to debug issues that involve sales order creation
and posting. Just download the XML, upload it to a test environment, and debug the issue in the test environment.
The functionality for downloading the XML for aggregated transactions isn't available for statements that have been
posted.
The aggregated transaction view provides the following benefits:
The user has visibility into the aggregated transactions that failed during sales order creation and the sales
orders that failed during invoicing.
The user has visibility into how transactions are aggregated.
The user has a complete audit trail, from transactions, to sales orders, to sales invoices. This audit trail wasn't
available in the legacy statement posting feature.
Aggregated XML file make it easier to identify issues during sales order creation and invoicing.
Journal vouchers
The Journal vouchers button in the Execution details group of the statement shows all the various voucher
transactions that are created for a statement, and that are related to discounts, income/expense accounts, gift cards,
and so on.
Currently, the program shows this data only for posted statements.
Payment journals
The Payment journals button in the Execution details group of the statement shows all the various payment
journals that are created for a statement.
Currently, the program shows this data only for posted statements.
Other improvements
Other, back-end improvements that users can see have been made to the statement posting feature. Here are some
examples:
The aggregation doesn't consider the staff, terminal, and shift entities. Because there are fewer aggregation
parameters, fewer sales order lines must be processed.
The occurrence of deadlock on transaction tables is reduced by introducing additional extension tables and by
doing insert operations instead of update operations on the transaction tables.
The number of running batch tasks has been parameterized and limited. Therefore, this number can be fine-
tuned specifically to a customer's environment. In the legacy statement posting feature, an unlimited number of
batch tasks was created at the same time. The results were unmanageable loads, overhead, and bottlenecks on
the batch server.
Statements are efficiently queued for processing by prioritizing the statements that have the maximum number
of transactions.
Batch processes such as Calculate statements in batch and Post statements in batch are run only in batch
mode. In the legacy statement posting feature, users could choose to run these batch processes in an interactive
mode which is s single threaded operation unlike batch processes which are multi-threaded.
In the legacy statement posting feature, any failure of a batch task put the whole batch job in an error state. In
the improved feature, batch task failures don't put the batch job in an error state if other batch tasks are
successfully completed. You should assess the posting status for a batch execution run by using the Statements
page, where you can see any statements that weren't posted because of errors.
In the legacy statement posting feature, the first occurrence of a statement failure causes the whole batch to fail.
The remaining statements aren't processed. In the improved feature, the batch process continues to process all
statements, even if some of the statements fail. One benefit is that users gain visibility into the exact number of
statements that have errors. Therefore, users don't have to be stuck in a continuous loop of fixing the errors and
running the post statement process till all statements are posted.
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
In Point of Sale (POS), batch numbers can't be captured for batch-tracked items at the time of sale. However, for
specific configurations, when sales are posted in the headquarters through customer orders or statement posting,
the Microsoft Dynamics system expects that valid batch numbers for batch-tracked items exist, and that they will be
used during the invoicing process.
If valid batch numbers are available for products, the customer order invoicing process and the sales order
invoicing process from statement posting use them. Otherwise, the customer order invoicing process can't post,
and the POS user receives an error message. Statement posting then goes into an error state. This error state
occurs even when negative inventory has been turned on for the products.
Improvements that have been made in Retail version 10.0.4 and later help guarantee that, when negative inventory
is turned on for batch-tracked items, customer order invoicing and sales order invoicing through statement posting
aren't blocked for those items if the inventory is 0 (zero) or a batch number isn't available. The new functionality
uses a default batch ID for the sales lines when batch numbers aren't available.
To define the default batch ID that is used for customer orders, on the Commerce parameters page, on the
Customer orders tab, on the Order FastTab, set the Default batch id field.
To define the default batch ID that is used for sales order invoicing through statement posting, on the Commerce
parameters page, on the Posting tab, on the Inventor y update FastTab, set the Default batch id field.
NOTE
This functionality is available only when advanced warehousing is turned on for the specific store warehouse and items. In a
later release, the functionality will also be supported for scenarios where advanced warehouse management isn't used.
NOTE
Support for improved handling of batch-tracked items during statement posting for non-advanced warehouse management
scenarios was introduced in Retail version 10.0.5.
Configure parameters that affect retail statements
3/18/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic demonstrates configurations for Commerce parameters that affect how statements get created and
posted. This procedure uses the USRT demo company.
1. In the navigation pane, go to Modules > Retail and Commerce > Headquar ters setup > Parameters >
Commerce parameters .
2. Select the Posting tab.
Select Yes if you want to post the periodic discount amounts specifically.
Select Standard to use default accounts, or select Periodic if you want to define which account to use
for each periodic discount.
Select Summar y if inventory lines should get aggregated whenever possible.
Select Yes if Invoices and Payments should get automatically settled as part of the Statement
posting process.
Select Yes if Safe drop transactions should get aggregated.
Select Yes if Bank drop transactions should get aggregated.
Select Yes to turn aggregation on for Statement posting.
Select Yes to create and process orders in parallel when statements are posted.
Enter the maximum orders to be processed in each batch job task.
3. Select Save .
Payment configurations for Retail statements
3/18/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This procedure demonstrates configurations for Commerce store payment methods, which affect how statements
get created and posted.
This recording uses the USRT demo company.
1. Go to Retail and Commerce > Channels > Stores > All stores.
2. In the list, find and select the desired record.
3. In the list, click the link in the selected row.
4. On the Action Pane, click Set up.
5. Click Payment methods.
6. Expand or collapse the Posting section.
7. Click Edit.
Select whether the amounts received for this payment method should be posted to a ledger account or
bank account.
Select the account that amounts received for this payment method should be posted to.
Select an account to post possible differences between the total transaction amount received and the
amount counted for this payment method.
In this field you can enter an amount to control when the difference amount should be posted to another
difference account. You can use this to track big differences.
Select an account to post possible differences between the total transaction amount received and the
amount counted, when it exceeds the value that is defined in the "Maximum difference amount" field.
Select "Yes" to post bank drop amounts to a separate account.
In this field you can select whether bank drop amounts should be posted to a ledger account or a bank
account.
Select the account to post bank drop amounts into.
Select the bank transaction type to use when posting bank drop amounts to the bank account.
Select "Yes" to post safe drop amounts to a separate account.
Select whether safe drop amounts should be posted to the ledger account or the bank account.
Select the account to post safe drop amounts into.
8. Click Save.
Configure and run job to calculate statements
3/18/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This procedure walks through configuring and running recurrent batch jobs to create and calculate statements for a
selected store or group of stores. This procedure uses the USRT company in demo data.
1. Go to All workspaces > Store financials.
2. Click Calculate statements.
Select either a specific store, or a node if you want to create the batch job for a group of stores.
Click the arrow to add your selection.
3. Click the Run in the background tab.
4. Under Batch processing, select 'Yes'.
5. Click Recurrence.
6. In the Start date field, enter a date.
7. In the Start time field, enter a time.
8. Select the No end date option.
9. In the PatternUnit field, enter 'Days'.
10. In the Per field, enter a number.
11. Click OK.
12. Click OK.
Configure and run job to post statements
3/18/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This procedure walks through configuring and running a recurrent batch job to post statements for a selected store
or group of stores. This procedure uses the USRT company in demo data.
1. Go to All workspaces > .. > Store financials.
2. Click Post statements in batch.
Select an organizational hierarchy and then in the organization nodes tree, select either an individual
store or a node. Select a node if you want to create the batch job for a group of stores.
Click the arrow to add your selection.
3. Click the Run in the background tab.
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This procedure walks through configurations for the store that affect how Commerce statements get created and
posted. Financial dimensions on stores are covered in another procedure. This procedure uses the USRT demo
company.
1. In the Navgiation pane , go to Modules > Retail and Commerce > Channels > Stores > All stores .
2. In the list, find and select the desired record.
3. In the list, click the link in the selected row.
4. Click Edit .
5. The settings in the Statement/closing fastTab affect the statement creation, validation, and posting for the
store. Expand the Statement/closing fastTab.
6. In the Statement method field, select the method you want to use to to group the statement lines by.
7. Select "Yes" in One statement per day if there should only be one statement created per day when creating
statements from the statement creation batch job.
8. The Tender declaration calculation field defines whether tender declarations should be added together or if
the last one should be used.
9. In the Rounding field, select the ledger account to post rounding differences into.
10. In the Maximum rounding difference field, enter the maximum rounding difference allowed.
11. In the Posting field, enter the maximum total posting difference allowed for a statement.
12. In the Shift field, enter the maximum total difference within a shift in a statement.
13. In the Transaction field, enter the maximum total difference in a statement line.
14. In the Closing method field, define whether transactions that will be included in a statement should be part of
a closed shift or if they can be any transactions within the defined date/time range.
15. In the End of business day field, enter a time if transactions that happen after midnight should be posted with
the previous day.
16. Select "Yes" in Post as business day if transactions that happen after midnight should be posted as part of the
previous day.
17. Select "Yes" in Split by Statement method to get statements created for each statement method defined. This
can be useful if the performance of the posting needs to be improved for stores with high transaction volumes
since it will create many smaller statements that can be processed in parallel.
18. In the General fastTab, in the Default customer field, you can select the customer account to use for sales to
walk-in customers.
Posting of online sales and payments
3/18/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This procedure walks through configuring and running a recurrent batch job to create sales orders and payments
for online store transactions.
Posting online sales and payments is a two-stage process.
Pulling the online commerce transaction data in HQ.
Synchronizing orders to create sales orders in HQ.
Pulling the online transaction data can be done either by manually running the P-job or by creating a recurrent
batch job.
Manually running the P-job
1. Go to All workspaces > Retail and Commerce IT.
2. Click Distribution schedule.
3. Select P-0001.
4. Adjust channel database groups, if required.
5. Click Run now.
6. Click Yes.
Scheduling a recurring P-job
1. Go to All workspaces > Retail and Commerce IT.
2. Click Distribution schedule.
3. Select P-0001.
4. Click Create batch job.
5. Click Run in the background.
6. Enable Batch processing.
7. Click Recurrence..
8. Select the No end date option.
9. In the Count field, enter interval between the runs in minutes. Typically this would be 5-10.
10. Click OK.
11. Click OK.
Orders can be synchronized either by manually running the "Synchronize orders"-job or by creating a recurring
batch job.
Manually running order synchronization
Follow these steps to manually run "Synchronize orders" job once.
1. Go to All workspaces > Store financials.
2. Click Synchronize orders.
3. In the Organization hierarchy field, select 'Stores by Region'.
Select either a specific online store, or select a node if you want to create the batch job for a group of
stores.
Click the arrow to add your selection.
4. Click the Run in the background tab.
5. Disable Batch processing
6. Click Recurrence.
7. Select End After option
8. In the End After field, enter 1.
9. Click OK.
10. Click OK.
Scheduling recurring order synchronization
This procedure walks through configuring and running a recurrent batch job to create sales orders and payments
for online store transactions. This procedure uses the USRT company in demo data.
1. Go to All workspaces > Store financials.
2. Click Synchronize orders.
3. In the Organization hierarchy field, select 'Stores by Region'.
Select either a specific online store, or select a node if you want to create the batch job for a group of
stores.
Click the arrow to add your selection.
4. Click the Run in the background tab.
5. Enable Batch processing
6. Click Recurrence.
7. Select the No end date option.
8. In the Count field, enter interval between the runs in minutes. Typically this would be 2-20
9. Click OK.
10. Click OK.
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic provides an overview of task management for managers and workers in Microsoft Dynamics 365
Commerce.
Overview
In a retail environment, it's always difficult to make sure that tasks are performed by the right person at the right
time. Retailers must be able to notify workers about upcoming tasks and provide related business context, so that
the tasks can be completed correctly and on time.
Task management is a productivity feature in Dynamics 365 Commerce that lets managers and workers create task
lists, manage assignment criteria, track task status, and integrate these operations between Commerce back office
and point of sale (POS) applications.
Headquarters personas can use task management to create task lists for retail stores, and to track status by store
or worker. They can also create recurrent tasks (for example, "Thursday night closing checklist").
Store managers can use task management to assign tasks to individual workers, send notifications about
upcoming tasks or tasks that are past due, update task status, and create single-purpose tasks in the POS
application. Workers can then see notifications, view task details, and update task status at the POS.
The following illustration shows the conceptual architecture of task management in Commerce.
Additional resources
Configure task management
Create task lists and add tasks
Assign task lists to stores or employees
Task management in POS
Configure task management
2/11/2020 • 3 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic describes how to configure task management features in Microsoft Dynamics 365 Commerce.
Overview
Before Dynamics 365 Commerce managers and employees can use the task management features in Commerce,
task management must be configured. Configuration steps include granting permissions to managers and
employees, distributing permissions to point of sale (POS) clients, setting up POS notifications, and configuring the
Tasks tile on the home page of a POS application.
NOTE
If a non-manager persona must have task management permissions in the POS, you can grant permission to the individual.
Alternatively, you can create a new permission group for non-managers and set the Allow task management option to
Yes .
The following illustration shows how to configure task management permissions for store managers.
Configure permissions for employees
Employees must have permissions to create task lists, manage assignment criteria, and configure the recurrence of
any task list. To configure these permissions, you assign employees to the Retail task manager role.
To configure permissions for an employee, follow these steps.
1. Go to Retail and Commerce > Employees > Users .
2. Select an employee.
3. On the User's roles FastTab, select Assign roles .
4. In the Assign roles to user dialog box, select the Retail task manager role, and then select OK .
Additional resources
Task management overview
Create task lists and add tasks
Assign task lists to stores or employees
Task management in POS
Create task lists and add tasks
2/11/2020 • 3 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic describes how to create task lists and add tasks to them in Microsoft Dynamics 365 Commerce.
Overview
A task defines a specific piece of work or an action that someone must complete on or before a specified due date.
In Dynamics 365 Commerce, a task can include detailed instructions and information about a contact person. It can
also include links to back-office operations, point of sale (POS) operations, or site pages, to help improve
productivity and provide the context that the task owner requires to complete the task efficiently.
A task list is a collection of tasks that must be completed as part of a business process. For example, there might
be a task list that a new worker must complete during onboarding, a task list for cashiers who work evening shifts,
or a task list that must be completed to prepare the store for an upcoming holiday season. In Commerce, every
task list that has a target date can be assigned to any number of stores or employees, and it can be configured to
recur.
Both managers and workers can create task lists in Commerce back office, and then assign them to a set of stores.
Additional resources
Task management overview
Configure task management
Assign task lists to stores or employees
Task management in POS
Assign task lists to stores or employees
2/11/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic describes how to assign task lists to stores or employees in Microsoft Dynamics 365 Commerce.
Overview
Task management in Dynamics 365 Commerce lets you assign a task list to multiple stores or employees, or to a
combination of stores and employees. For example, a regional manager for 20 stores might want to assign the
Holiday season preparation task list to all 20 stores.
Additional resources
Task management overview
Configure task management
Create task lists and add tasks
Task management in POS
Task management in POS
2/11/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-
Commerce, in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic describes task management in the Microsoft Dynamics 365 Commerce point of sale (POS) application.
Overview
The Dynamics 365 Commerce POS application has task management features that let store managers and
workers manage tasks and update task status. Store workers can access tasks either by selecting the Tasks tile on
the POS home page or by selecting task notifications. By default, store workers are taken to the My tasks tab,
where they can view the tasks that are assigned to them. However, they can easily switch to the Overdue tasks ,
Open tasks , and Task lists tabs.
Additional resources
Task management overview
Configure task management
Create task lists and add tasks
Assign task lists to stores or employees
Online store overview
2/1/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic introduces the concept of an online store and explains how online stores are used in Microsoft Dynamics
365 Commerce. It also provides a link to more information about online stores and information about how to set
up an online store.
Before you can build your site in Dynamics 365 Commerce, at least one online store must be set up. In Dynamics
365 Commerce, you use an online store to establish the products, pricing, languages, payment methods, delivery
modes, fulfillment centers, and other aspects of the online experience that should be available to your customers.
Only one online store has to be set up before you can get started with Dynamics 365 Commerce. However, a single
Dynamics 365 Commerce site can provide the online experience for multiple online stores. For example, if multiple
online stores are set up to support different geographical regions, a single set of pages can be used to provide the
unique experiences that are defined by each store. For more information about how to configure a site to support
multiple online stores, see Associate an online site with a channel.
After an online store is set up, it can be associated with the Dynamics 365 Commerce site that will serve as your
online storefront. For more information about online stores and how to set them up, see Set up online stores.
Additional resources
Create an e-Commerce site
Deploy a new e-Commerce site
Associate an online site with a channel
Configure your domain name
Add support for a content delivery network (CDN)
Enable location-based store detection
Set up custom pages for user logins
Configure your domain name
3/3/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-
Commerce, in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic explains how to configure a domain name for a Microsoft Dynamics 365 e-commerce site.
Additional resources
Deploy a new e-Commerce site
Set up an online store channel
Create an e-Commerce site
Associate an online site with a channel
Manage robots.txt files
Upload URL redirects in bulk
Set up a B2C tenant in Commerce
Set up custom pages for user logins
Configure multiple B2C tenants in a Commerce environment
Add support for a content delivery network (CDN)
Enable location-based store detection
Deploy a new e-Commerce tenant
4/17/2020 • 3 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-
Commerce, in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic describes how to deploy a new e-Commerce site by using Microsoft Dynamics Lifecycle Services (LCS).
Overview
Microsoft Dynamics Lifecycle Services (LCS) is a cloud-based collaborative workspace that partners and
customers can use to manage their projects and environments, view the latest information about Microsoft
Dynamics products and features, and create, track, and browse support incidents. E-Commerce management
features are integrated into LCS.
To learn more about LCS, see the Lifecycle Services User Guide.
Get started
Before you can initialize e-Commerce, you must initialize a project, an environment, and a Retail Cloud Scale Unit
(RCSU). To do the initialization in LCS, you must have permissions for either the Project Owner or Environment
manager role. The production and sandbox environment topologies are supported.
For more information about environments, see Environment planning. For more information about RCSU, see
Initialize Retail Cloud Scale Unit.
Initialize e-Commerce
Use this procedure to initialize the e-Commerce feature in an existing environment.
Before you begin, make sure that you have the following required information:
The RCSU that will be used.
The Microsoft Azure Active Directory security group that will be used for e-Commerce system admins.
The Microsoft Azure Active Directory security group that will be used for ratings and reviews moderators.
The domains that will be associated with the environment.
In addition, you can collect the following optional information:
Azure AD business-to-consumer (B2C) information:
Tenant Name.
Client ID.
Login Custom Domain.
Reply URL.
SignUp SignIn Policy ID.
Reset password Policy ID.
Edit Profile Policy ID.
NOTE
This information can be added later, through a service request.
After you've collected the required information, follow these steps to initialize e-Commerce.
1. Sign in to LCS.
2. Open the project that contains the environment where you want to initialize e-Commerce.
3. In the Environments section, select the environment.
4. Under Environment features , select the Retail manage link.
5. On the e-Commerce tab, select Setup . A dialog box appears, where you must enter the information that is
required for provisioning.
6. Fill in the required information, and then go to the next page.
7. On the next page, fill in the required information, and then submit the form. You're returned to the e-
Commerce tab, where you should see that initialization has been started.
8. To view the initialization status, either Refresh or return to the e-Commerce tab later.
When e-Commerce is initialized from LCS, the system provisions several components that are required for e-
Commerce and associates them with the environment. After provisioning is complete, the e-Commerce tab on
the Retail management page is updated to reflect the provisioning. The page shows the latest customization
deployments and the status of any other ongoing deployments. It also includes links to the e-Commerce site and
the e-Commerce site builder where sites are authored.
Additional resources
Configure your domain name
Create an e-Commerce site
Set up an online store channel
Associate an online site with a channel
Manage robots.txt files
Upload URL redirects in bulk
Set up a B2C tenant in Commerce
Set up custom pages for user logins
Configure multiple B2C tenants in a Commerce environment
Add support for a content delivery network (CDN)
Enable location-based store detection
Set up an online store channel
3/3/2020 • 4 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-
Commerce, in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This article provides information about online store channels and how to set them up in Dynamics 365
Commerce.
Commerce supports multiple retail channels. These channels include online stores, call centers, and retail stores
(also known as brick-and-mortar stores). Online stores give an online presence to a retailer, so that customers can
purchase products from the retailer's online store in addition to its retail stores. If customers purchase products
from the online store, those products can be shipped to them, or the customers can pick the products up at a local
store.
You create an online store in the Commerce client. This online store is then published to a third-party online store
that is integrated with Commerce. The third-party online store serves as the storefront (UI) for the online store,
and gives you a choice of customer management system (CMS) and UI capabilities. Several integrations of this
type are available.
The properties that you define for the online store control the behavior of the online store. For example, you
define the navigation category hierarchy and assign it to the online store. When you publish the online store to
the third-party online store, the navigation category hierarchy appears in the online version of the store. Shoppers
then use the navigation category hierarchy to browse the online store and search for products.
To create an online store, you must set up the components that enable transactions to be processed for the store.
For example, you must add assortments, apply attributes, and set up payment methods and shipping methods.
You can also define prices, promotions, discounts, trade agreements, and shipping terms that are specific to the
online store.
After you publish the online store to the third-party online store, you can create product catalogs for the online
store. The products in the catalog become product listings in the online store. When a shopper purchases products
from the online store, the available inventory is updated and synchronized in the client. Additionally, sales orders
are generated for the purchases, and are sent to the client for order fulfillment and processing.
IMPORTANT
Before you publish the online store, you must set up a distribution location for it.
Organization hierarchies
Organization hierarchies are used to structure commerce channels and to represent the relationships between the
organizations that make up your business. When you set up online stores, you can add them to an organization
hierarchy. The stores then share the data that is used for assortments, replenishment, and reporting.
When you create an organization hierarchy, you assign a purpose to it. The purpose indicates how the hierarchy is
used in the business structure. You can create one organization hierarchy for your store operations, and use that
hierarchy for assortments, replenishment, and reporting.
Alternatively, you can create a separate organization hierarchy for each purpose. You can also create multiple
hierarchies that have the same purpose, and assign a separate channel to each one. If you plan to publish product
catalogs to the online store, you should, at a minimum, add the online store to an organization hierarchy for
assortments. The products in a catalog are selected from the assortments that are assigned to the online store.
When the catalog is published, the publishing process compares the effective dates for the assortment that is
assigned to the online store with the products that are included in the catalog to determine which products to
make available in the online store.
Additional resources
Configure your domain name
Deploy a new e-Commerce site
Create an e-Commerce site
Associate an online site with a channel
Manage robots.txt files
Upload URL redirects in bulk
Set up a B2C tenant in Commerce
Set up custom pages for user logins
Configure multiple B2C tenants in a Commerce environment
Add support for a content delivery network (CDN)
Enable location-based store detection
Create an e-Commerce site
3/3/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-
Commerce, in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic describes the steps and information required to create a new e-Commerce site in Dynamics 365
Commerce site builder.
Before you can start developing your e-Commerce site, you must first establish a new site in site builder.
To start to develop your e-Commerce site, you must first establish a new site in the site authoring environment.
Before you can create a new site, at least one online store must be created in Commerce.
Site name Enter the display name that should be used for your site in
the site authoring environment. This name is visible only in
the authoring environment and will not be shown to
customers.
Site administrator's security group Specify the Microsoft Azure Active Directory (Azure AD)
security group that manages users who have the site
administrator role in this site.
Default channel (operating unit number) Select the online store that this site will serve as the web
storefront for. If you want your e-Commerce site to support
multiple online stores, you must associate the stores with
your site in Site settings after the site is set up.
Default language Specify the default language for this online store and market.
An online store can support multiple languages. If you want
to support multiple languages for this online store or
another online store, you can configure that support in Site
settings after the site is set up.
Domain Select a domain name that will serve as the domain for this
online store. If you haven't configured any domains in LCS,
you can leave this field blank. After your domain is
configured in LCS, you must add it to your online store in
Site settings .
F IEL D DESC RIP T IO N
Path When your site supports more than one language for a
given domain name, use the path field to create a unique site
URL for that domain and language combination. If the
language you specified in the Default language field is the
only language you will support for this domain, or will
continue to be the default language after you have localized
your site into additional languages, we recommend that you
leave this field empty.
After your site is created, you can verify that it is associated with your online store by selecting the Products tab.
You should see the assortment of products that has been allocated to the online store. You can also use the drop-
down menu in the upper left of the page to access the allocated products by category.
Additional resources
Configure your domain name
Deploy a new e-Commerce site
Set up an online store channel
Associate an online site with a channel
Manage robots.txt files
Upload URL redirects in bulk
Set up a B2C tenant in Commerce
Set up custom pages for user logins
Configure multiple B2C tenants in a Commerce environment
Add support for a content delivery network (CDN)
Enable location-based store detection
Associate an e-Commerce site with an online
channel
3/3/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-
Commerce, in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic explains how to bind your Microsoft Dynamics 365 Commerce site to one or more online stores.
After you've provisioned e-Commerce by using the Microsoft Dynamics Lifecycle Services (LCS) portal, you're
ready to establish your first e-Commerce website. As part of the initial site creation, you associate the site with an
online store that was previously created. This step binds the site to an online channel and lets the site show the
navigation hierarchy, products, categories, prices, shipping options, and everything else that you defined in the
online store.
To establish a new site and associate an online store with it, in LCS, select the link for the site authoring
environment. Then, on the page for the site authoring environment, select New site . In the New site dialog box,
you must provide some basic information about your site. For a complete explanation of the information that
you must provide, see Create a new e-Commerce site.
After your site is created, you can verify that it's associated with your online store by selecting the Products tab.
You should see the assortment of products that has been allocated to the online store. You can also use the drop-
down field in the upper left of the page to access the products by category.
Additional resources
Configure your domain name
Deploy a new e-Commerce site
Set up an online store channel
Create an e-Commerce site
Manage robots.txt files
Upload URL redirects in bulk
Set up a B2C tenant in Commerce
Set up custom pages for user logins
Configure multiple B2C tenants in a Commerce environment
Add support for a content delivery network (CDN)
Enable location-based store detection
Manage robots.txt files
3/3/2020 • 4 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-
Commerce, in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic describes how to manage robots.txt files in Microsoft Dynamics 365 Commerce.
Overview
The robots exclusion standard, or robots.txt, is a standard that websites use to communicate with web robots. It
instructs web robots about any areas of a website that should not be visited. Robots are often used by search
engines to index websites.
To exclude robots from a server, you create a file on the server. In this file, you specify an access policy for robots.
The file must be accessible via HTTP at the local URL /robots.txt . The robots.txt file helps search engines index
the content on your site.
Dynamics 365 Commerce lets you upload a robots.txt file for your domain. For each domain in your Commerce
environment, you can upload one robots.txt file and associate it with that domain.
For more information about the robots.txt file, visit The Web Robots Pages.
NOTE
During upload, Commerce verifies that the file is a text file, but it doesn't validate the file's contents.
Download a robots.txt file
To download a robots.txt file in Commerce, follow these steps.
1. Sign in to Commerce as a system admin.
2. In the left navigation pane, select Tenant Settings (next to the gear symbol) to expand it.
3. Under Tenant Settings , select Robots.txt . A list of all the domains that are associated with your environment
appears in the main part of the window.
4. Select Manage to download a robots.txt file for a domain in your environment.
5. On the menu on the right, select the Download button (the downward-pointing arrow) next to the domain
that is associated with the robots.txt file. A file browser dialog box appears.
6. In the dialog box, go to the desired location on your local drive, confirm or enter a file name, and then select
Save to complete the download.
NOTE
This procedure can be used to download only robots.txt files that were previously uploaded via the Commerce authoring
tools.
NOTE
This procedure can be used to delete only robots.txt files that were previously uploaded via the Commerce authoring tools.
Additional resources
Configure your domain name
Deploy a new e-Commerce site
Set up an online store channel
Create an e-Commerce site
Associate an online site with a channel
Upload URL redirects in bulk
Set up a B2C tenant in Commerce
Set up custom pages for user logins
Configure multiple B2C tenants in a Commerce environment
Add support for a content delivery network (CDN)
Enable location-based store detection
Upload URL redirects in bulk
3/3/2020 • 5 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-
Commerce, in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic describes how to implement URL redirects in bulk by uploading a redirect comma-separate values
(CSV) file in Microsoft Dynamics 365 Commerce.
Overview
After you've finished creating a new e-commerce site in Dynamics 365 Commerce, and it's ready to go live, you
must make the Domain Name System (DNS) switch from your old site to your new site. After you make this
switch, the URLs for the new site will likely differ from the URLs for the old site. For specific URLs, traffic that uses
the old URL can be redirected to the new URL. In this way, you ensure that site visitors reach the desired location.
Redirects help prevent broken links for your customers and help you maintain your established search engine
optimization (SEO) results.
Although redirects for individual links can be manually configured in DNS, manual configuration becomes
tedious if multiple links must be redirected. To streamline the redirect process, Commerce provides the capability
to upload a data file that contains bulk redirect mappings for your site. In the site settings in Commerce site
builder, your system admin can upload and publish a CSV file that handles bulk URL redirects.
IMPORTANT
The following rules must be followed. Otherwise, the bulk URL redirects won't work correctly.
No header is allowed in the CSV file : The first or topmost row must start with the first redirect row.
There must be no circular entries : The source URL in a row must not be used as the target URL in the same row.
You must also avoid implementations where a target URL is linked back as a source URL, either in a different row of the
CSV file or in a DNS redirect.
Source and target URLs must be in valid URL format : No spaces or invalid characters can be used in URLs.
No quer y string URLs are suppor ted : Commerce won't run query strings that are provided as source or target
URLs.
The CSV file must be in valid CSV format : The CSV file must have comma-separated values, a separate line for
each redirect, and valid file formatting, and it must have no header.
IMPORTANT
Only one bulk redirect CSV file can be loaded and active per site at any time.
Additional resources
Configure your domain name
Deploy a new e-Commerce site
Create an e-Commerce site
Associate an online site with a channel
Manage robots.txt files
Set up a B2C tenant in Commerce
Set up custom pages for user logins
Configure multiple B2C tenants in a Commerce environment
Add support for a content delivery network (CDN)
Enable location-based store detection
Set up a B2C tenant in Commerce
4/17/2020 • 14 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-
Commerce, in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic describes how to set up your Azure Active Directory (Azure AD) business-to-consumer (B2C) tenants
for user site authentication in Dynamics 365 Commerce.
Overview
Dynamics 365 Commerce uses Azure AD B2C to support user credential and authentication flows. A user can
sign up, sign in, and reset their password through these flows. Azure AD B2C stores sensitive user authentication
information, such as username and password. The user record in the B2C tenant will store either a B2C local
account record or a B2C social identity provider record. These B2C records will link back to the customer record
in the Commerce environment.
Link an existing Azure AD B2C Tenant to my Azure subscription : Use this option if you already
have an Azure AD B2C tenant you want to link to.
a. Select Link an existing Azure AD B2C Tenant to my Azure subscription .
b. For Azure AD B2C Tenant , select the appropriate B2C tenant. If the message "No eligible B2C
Tenants found" appears in the selection box, you do not have an existing eligible B2C tenant and
will need to create a new one.
c. For Resource group , select Create new . Enter a Name for the resource group that will
contain the tenant, select the Resource group location , and then select Create .
5. Once the new Azure AD B2C directory is created (this may take a few moments), a link to the new
directory will appear on the dashboard. This link will direct you to the "Welcome to Azure Active Directory
B2C" page.
NOTE
If you have multiple subscriptions within your Azure account or have set up the B2C tenant without linking to an active
subscription, a Troubleshoot banner will direct you to link the tenant to a subscription. Select the troubleshooting
message and follow the instructions to resolve the subscription issue.
Email Addresses
Identity Provider
Surname Surname
User’s Object ID
8. Select Create .
The following image is an example of the Azure AD B2C sign up and sign in user flow.
The following image shows the Run user flow option in the Azure AD B2C sign up and sign in user flow.
NOTE
The identity provider sign in creates a record in the B2C tenant, but in a different format than local accounts since it will call
the external social identity provider reference for authentication. The user can use the same email address across social
identity providers, meaning that the email username used for authentication may not be unique to the tenant. Azure AD
B2C will only enforce that users have a unique email address on local B2C accounts.
Before you can add a social identity provider for authentication, you must go to the identity provider's portal and
set up an identity provider application as instructed in the Azure AD B2C documentation. A list of links to the
documentation is provided below.
Amazon
Azure AD (Single Tenant)
Microsoft Account
Facebook
GitHub
Google
LinkedIn
OpenID Connect
Twitter
Add and set up a social identity provider
To add and set up a social identity provider, follow these steps.
1. In the Azure portal, navigate to Identity Providers .
2. Select Add . The Add identity provider screen appears.
3. Under Name , enter the name to be displayed to users on your sign in screen.
4. Under Identity provider type , select an identity provider from the list.
5. Select OK .
6. Select Set up this identity provider to access the Set up the social identity provider screen.
7. Under Client ID , enter the client ID as obtained from the identity provider application setup.
8. Under Client secret , enter the client secret as obtained from the identity provider application setup.
9. Attach user flow for sign in sign up policies:
10. Go to Azure AD B2C – User flows (policies) > {your sign-in sign-up policy} > Identity providers .
11. To attach the sign in/sign up user flow policy, select each identity provider you have set up for your account. To
test these, select Run user flow for each identity provider. A new tab will display the sign-in page displaying
the new identity provider selection box.
The following image shows examples of the Add identity provider and Set up the social identity provider
screens in Azure AD B2C.
The following image shows an example of how to select identity providers on the Azure AD B2C Identity
Providers page.
The following image shows an example of a default sign-in screen with a social identity provider sign-in button
displayed.
Update Commerce headquarters with the new Azure AD B2C
information
Once the Azure AD B2C provisioning steps above are completed, the Azure AD B2C application must be
registered in your Dynamics 365 Commerce environment.
To update headquarters with the new Azure AD B2C information, follow these steps.
1. In Commerce, go to Commerce Shared Parameters and select Identity Providers in the left menu.
2. Under Identity Providers , do the following:
a. In the Issuer box, enter the identity provider issuer URL. To find your issuer URL, see Obtain issuer URL
below.
b. In the Name box, enter a name for your issuer record.
c. In the Type box, enter Azure AD B2C (id_token) .
3. Under Relying Par ties , with the above B2C identity provider item selected, do the following:
a. In the ClientID box, enter your B2C application ID. You can find this in the Application ID box of your
B2C application's properties page.
b. In the Type box, enter Public .
c. In the User Type box, enter Customer .
4. On the action pane, select Save .
5. In the Commerce search box, search for Number sequences (Organization administration > Number
sequences).
6. Under the action pane, select Edit under Maintain .
7. On the General fast tab, select No for Manual .
8. On the action pane, select Save .
9. In the Commerce search box, search for Distribution schedule
10. In the left navigation menu of the Distribution schedules page, select job 1110 Global configuration .
11. On the action pane, select Run Now .
Obtain issuer URL
To obtain your identity provider issuer URL, follow these steps.
1. Create a metadata address URL in the following format using your B2C tenant and policy:
https://<B2CTENANTNAME>.b2clogin.com/<B2CTENANTNAME>.onmicrosoft.com/v2.0/.well-known/openid-
configuration?p=<B2CSIGN-INPOLICY>
Example:
https://d365plc.b2clogin.com/d365plc.onmicrosoft.com/v2.0/.well-known/openid-configuration?
p=B2C_1_signinup
.
2. Enter the metadata address URL into a browser address bar.
3. In the metadata, copy the identity provider issuer URL (the value for "issuer" ).
Example: https://login.fabrikam.com/073405c3-0113-4f43-b5e2-df01266e24ae/v2.0/ .
The following image shows an example of user flow policies on the Azure AD B2C – User flows (policies)
page.
WARNING
If your site is already associated with a B2C application, changing to a different B2C application will remove the current
references established for users already signed up in this environment. If changed, any credentials associated with the
currently-assigned B2C application will not be available to users.
Only update the B2C application if you are setting up the channel's B2C application for the first time or if you intend to
have users re-sign up with new credentials to this channel with the new B2C application. Take caution when associating
channels to B2C applications, and name applications clearly. If a channel is not associated to a B2C application in the steps
below, users signing into that channel for your site will be entered into the B2C application showing as default in the
Tenant Settings > B2C Settings list of B2C applications.
To associate the B2C application to your site and channel, follow these steps.
1. Navigate to your site in Commerce site builder.
2. In the left navigation pane, select Site Settings to expand it.
3. Below Site Settings , select Channels .
4. In the main window under Channels , select your channel.
5. In the channel properties pane on the right, select your B2C application name from the Select B2C
Application drop down menu.
6. Select Close , and then select Save and Publish .
Additional resources
Configure your domain name
Deploy a new e-Commerce site
Create an e-Commerce site
Associate an online site with a channel
Manage robots.txt files
Upload URL redirects in bulk
Set up custom pages for user logins
Configure multiple B2C tenants in a Commerce environment
Add support for a content delivery network (CDN)
Enable location-based store detection
Set up custom pages for user logins
3/3/2020 • 8 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-
Commerce, in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic describes how to build custom pages in Microsoft Dynamics 365 Commerce that handle customized
sign-ins for users of Azure Active Directory (Azure AD) business-to-consumer (B2C) tenants.
Overview
To use custom pages that are authored in Dynamics 365 Commerce to handle user sign-in flows, you must set
up the Azure AD policies that will be referenced in the Commerce environment. You can configure the "Sign up
and sign in," "Profile editing," and "Password reset" Azure AD B2C policies by using the Azure AD B2C
application. The Azure AD B2C tenant and policy names can then be referenced during the provisioning process
that is done for the Commerce environment by using Microsoft Dynamics Lifecycle Services (LCS).
The custom Commerce pages can be built by using the sign in, sign up, account profile edit, or password reset
module. The page URLs that are published for these custom pages should then be referenced in Azure AD B2C
policy configurations in the Azure portal.
You will return to this policy to finish the setup after you've built the custom pages. For now, close the policy to
return to the User flows (policies) page in the Azure portal.
Configure the "Profile editing" policy
To configure the "Profile editing" policy, follow these steps.
1. Select New user flow , and then, on the Recommended tab, select the Profile editing policy.
2. Enter a name for the policy (for example, B2C_1_EditProfile ).
3. In the Identity Providers section, select the identity providers to use for the policy. At a minimum, Local
Account SignIn must be selected.
4. In the Collect attribute column, select the check boxes for Email Addresses and Surname .
5. In the Return claim column, select the check boxes for Email Addresses , Given Name , Identity
Provider , Surname , and User's Object ID .
6. Select OK to create the policy.
7. Double-click the new policy name, and then, in the navigation pane, select Proper ties .
8. Set the Enable JavaScript enforcing page layout (preview) option to On .
You will return to this policy to finish the setup after you've built the custom pages. For now, close the policy to
return to the User flows (policies) page in the Azure portal.
Configure the "Password reset" policy
To configure the "Password reset" policy, follow these steps.
1. Select New user flow , and then, on the Preview tab, select the Password reset v1.1 policy.
IMPORTANT
Don't reuse universal headers and footers that have relative links. Because these pages will be hosted in the Azure AD B2C
domain when they are used, only absolute URLs should be used for all links.
However, in the global.json file for the starter kit sign in module, you can edit the text to Forgot Password? , as
shown in the following illustration.
After you update the global.json file and publish your changes, the new link text appears in the sign in module in
both Commerce and on the live sign-in page.
Additional resources
Configure your domain name
Deploy a new e-Commerce site
Set up an online store channel
Create an e-Commerce site
Associate an online site with a channel
Manage robots.txt files
Upload URL redirects in bulk
Set up a B2C tenant in Commerce
Configure multiple B2C tenants in a Commerce environment
Add support for a content delivery network (CDN)
Enable location-based store detection
Configure multiple B2C tenants in a Commerce
environment
3/3/2020 • 6 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-
Commerce, in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic describes when and how to set up multiple Microsoft Azure Active Directory (Azure AD) business-to-
consumer (B2C) tenants per channel for user authentication in a dedicated Dynamics 365 Commerce
environment.
Overview
Dynamics 365 Commerce uses the Azure AD B2C cloud identity service to support user credentials and
authentication flows. Users can use the authentication flows to sign up, sign in, and reset their password. Azure
AD B2C stores a user's sensitive authentication information, such as his or her user name and password. The user
record is unique to each B2C tenant, and it uses either user name (email address) credentials or social identity
provider credentials.
In most cases, a single Azure AD B2C tenant is used in a Commerce environment. Commerce customers can then
create and publish multiple sites in the same Commerce environment, and the same customer credentials will be
used across these sites. However, if the sites in the environment should be treated as different brands and appear
to users as separate businesses, a B2C tenant can be configured for the channel that is used for the site/brand
separation.
If you decide that your business requires distinct B2C tenants per channel in the same Commerce environment,
complete the procedures in the following sections to request this feature.
NOTE
You should leave fields such as Scope , Non Interactive Policy ID , Non Interactive Client ID , Login Custom
Domain , and Sign Up Policy ID blank unless the Dynamics 365 Commerce team instructs you to set them. Your new
Azure AD B2C tenant should now appear in the list under Manage B2C Applications .
WARNING
When a B2C tenant is configured for a live/published site, users might have signed up by using accounts that are present
on the tenant. If you delete a configured tenant on the Tenant Settings > B2C Tenant menu, you remove the
association of that B2C tenant from sites that are associated with any channels of the tenant. In this case, your users
might no longer be able to sign in to their accounts. Therefore, use extreme caution when you delete a configured tenant.
When a configured tenant is deleted, the B2C tenant and records will continue to be maintained, but the Commerce
system configuration of that tenant will be changed or removed. Users who try to sign up or sign in to the site will create
a new account record in the default or newly associated B2C tenant that is configured for the channel of the site.
WARNING
If you change the B2C application that is assigned to the channel, you remove the current references that have been
established for any users who have already signed up in the environment. In this case, any credentials that are associated
with the currently assigned B2C application won't be available to users. Therefore, change a channel Azure AD B2C
configuration only if you're setting up the channel for the first time, and no users have been able to sign up. Otherwise,
users might have to sign up again to establish a record in the new Azure AD B2C tenant.
Additional resources
Configure your domain name
Deploy a new e-Commerce site
Create an e-Commerce site
Associate an online site with a channel
Manage robots.txt files
Upload URL redirects in bulk
Set up a B2C tenant in Commerce
Set up custom pages for user logins
Add support for a content delivery network (CDN)
Enable location-based store detection
Add support for a content delivery network (CDN)
3/3/2020 • 4 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-
Commerce, in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic describes how to add a content delivery network (CDN) to your Microsoft Dynamics 365 Commerce
environment.
Overview
When you set up an e-Commerce environment in Dynamics 365 Commerce, you can configure it to work with
your CDN service.
Your custom domain can be enabled during the provisioning process for your e-Commerce environment.
Alternatively, you can use a service request to set it up after the provisioning process is completed. The
provisioning process for the e-Commerce environment generates a host name that is associated with the
environment. This host name has the following format, where e-commerce-tenant-name is the name of your
environment:
<e-commerce-tenant-name>.commerce.dynamics.com
The host name or endpoint that is generated during the provisioning process supports a Secure Sockets Layer
(SSL) certificate only for *.commerce.dynamics.com. It doesn't support SSL for custom domains. Therefore, you
must terminate SSL for custom domains in your CDN and forward traffic from the CDN to the host name or
endpoint that Commerce generated.
Additionally, the statics (JavaScript or Cascading Style Sheets [CSS] files) from Commerce are served from the
endpoint that Commerce generated (*.commerce.dynamics.com). The statics can be cached only if the host name
or endpoint that Commerce generated is put behind the CDN.
Set up SSL
To help guarantee that SSL is set up, and that statics are cached, you must configure your CDN so that it is
associated with the host name that Commerce generated for your environment. You must also cache the
following pattern for statics only:
/_msdyn365/_scnr/*
After you provision your Commerce environment with the custom domain that is provided, or after you provide
the custom domain for your environment by using a service request, point your custom domain to the host
name or endpoint that Commerce generated.
As was previously mentioned, the generated host name or endpoint supports an SSL certificate only for
*.commerce.dynamics.com. It doesn't support SSL for custom domains.
CDN services
Any CDN service can be used with a Commerce environment. Here are two examples:
Microsoft Azure Front Door Ser vice – The Azure CDN solution. For more information about Azure Front
Door Service, see Azure Front Door Service Documentation.
Akamai Dynamic Site Accelerator – For more information, see Dynamic Site Accelerator.
CDN setup
The CDN setup process consists of these general steps:
1. Add a front-end host.
2. Configure a back-end pool.
3. Set up rules for routing and caching.
Add a front-end host
Any CDN service can be used, but for the example in this topic, Azure Front Door Service is used.
For information about how to set up Azure Front Door Service, see Quickstart: Create a Front Door for a highly
available global web application.
Configure a back-end pool in Azure Front Door Service
To configure a back-end pool in Azure Front Door Service, follow these steps.
1. Add <ecom-tenant-name>.commerce.dynamics.com to a back-end pool as a custom host that has an
empty back-end host header.
2. Under Health probes , in the Path field, enter /keepalive .
3. In the Inter vals (seconds) field, enter 255 .
4. Under Load balancing , leave the default values.
The following illustration shows the Add a backend pool dialog box in Azure Front Door Service.
Set up rules in Azure Front Door Service
To set up a routing rule in Azure Front Door Service, follow these steps.
1. Add a routing rule.
2. In the Name field, enter default .
3. In the Accepted protocol field, select HTTP and HTTPS .
4. In the Frontend hosts field, enter dynamics-ecom-tenant-name.azurefd.net .
5. Under Patterns to match , in the upper field, enter /* .
6. Under Route Details , set the Route type option to For ward .
7. In the Backend pool field, select ecom-backend .
8. In the For warding protocol field group, select the Match request option.
9. Set the URL rewrite option to Disabled .
10. Set the Caching option to Disabled .
To set up a caching rule in Azure Front Door Service, follow these steps.
1. Add a caching rule.
2. In the Name field, enter statics .
3. In the Accepted protocol field, select HTTP and HTTPS .
4. In the Frontend hosts field, enter dynamics-ecom-tenant-name.azurefd.net .
5. Under Patterns to match , in the upper field, /_msdyn365/_scnr/* .
6. Under Route Details , set the Route type option to For ward .
7. In the Backend pool field, select ecom-backend .
8. In the For warding protocol field group, select the Match request option.
9. Set the URL rewrite option to Disabled .
10. Set the Caching option to Disabled .
11. In the Quer y string caching behavior field, select Cache ever y unique URL .
12. In the Dynamic compression field group, select the Enabled option.
The following illustration shows the Add a rule dialog box in Azure Front Door Service.
After this initial configuration is deployed, you must add your custom domain to the configuration for Azure
Front Door Service. To add the custom domain (for example, www.fabrikam.com ), you must configure a Canonical
Name (CNAME) for the domain.
The following illustration shows the CNAME configuration dialog box in Azure Front Door Service.
NOTE
If the domain that you will use is already active and live, contact support to enable this domain with Azure Front Door
Service to set up a test.
You can use Azure Front Door Service to manage the certificate, or you can use your own certificate for the
custom domain.
The following illustration shows the Custom Domain HTTPS dialog box in Azure Front Door Service.
Your CDN should now be correctly configured so that it can be used with your Commerce site.
Additional resources
Configure your domain name
Deploy a new e-Commerce site
Set up an online store channel
Create an e-Commerce site
Associate an online site with a channel
Manage robots.txt files
Upload URL redirects in bulk
Set up a B2C tenant in Commerce
Set up custom pages for user logins
Configure multiple B2C tenants in a Commerce environment
Enable location-based store detection
Enable location-based store detection
3/3/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-
Commerce, in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic describes how to turn on location-based store detection for your Dynamics 365 Commerce site.
Overview
Location-based store detection in Commerce lets you provide relevant site content to customers, based on their
location. When location-based store detection is turned on, the Commerce rendering service uses the
country/region information from the IP address of the customer's web browser to direct the customer to the
best geographical site configuration that is available.
Privacy notice
If you turn on the location-based store detection feature, information from the customer's browser is sent to a
Microsoft location service. This information is then used to provide the customer content that is relevant to his
or her location. Both the information that is sent from the customer's browser and the location-based
information that is returned to the customer are subject to privacy and cookie compliance policies.
Additional resources
Configure your domain name
Deploy a new e-Commerce site
Set up an online store channel
Create an e-Commerce site
Associate an online site with a channel
Manage robots.txt files
Upload URL redirects in bulk
Set up a B2C tenant in Commerce
Set up custom pages for user logins
Configure multiple B2C tenants in a Commerce environment
Add support for a content delivery network (CDN)
Overview of the home page
2/5/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic provides an overview of the home page in Microsoft Dynamics 365 Commerce.
Overview
The home page is the default page that shoppers go to when they visit an e-Commerce site. Typically, this page
showcases products and promotions by using a combination of marketing modules. The home page should be
rich with images and text to keep shoppers engaged.
The following illustration shows an example of a home page that was built by using the online starter kit and the
"Fabrikam" theme.
The top of the home page has a header that shows all the product categories and other pages that the retailer
wants customers to browse. The bottom of the home page has a footer that contains quick links to various topics
that might interest customers.
The main section of the home page can highlight products, categories, or promotions by using various Dynamics
365 Commerce modules:
Hero – Typically, the first item at the top of the main section shows one or more "hero" images that
highlight new products and promotions in the store. If there are multiple hero images, they are hosted in a
carousel module so that users can browse them.
The following illustration shows an example of a home page where the first item in the main section is a
hero layout of a content block module that is named "New Arrival."
Feature – A feature layout of a content block module is used to market products or promotions by using a
combination of images and text. Features layouts can be used independently, or they can be hosted in a
carousel module.
The following illustration shows an example of feature layout of a content block module on a home page.
Tile – A tile layout of a content block module is used to showcase multiple products or category of products
by using a combination of images and text in a multicolumn layout. In the illustration of a home page that
appears earlier in this topic, a tile layout is used for the three-column rendering of the Shop Women ,
Shop Men , and Shop Accessories items.
Video player – A video player module can be used to showcase video content on the home page. The
illustration of a home page that appears earlier in this topic includes a video player module.
Text block – A content rich block module can be used to present text content on the home page in a single-
column or multicolumn layout.
Product recommendations – Product recommendations modules are used to show lists, such as New ,
Trending , and Best Selling on the home page. These lists showcase products based on shopping trends,
and they can be algorithmically generated or manually curated. They help customers quickly discover top
products and then continue to shop.
The following illustration shows an example of product recommendations modules on a home page.
NOTE
All the modules that are listed here can be used on any site page. However, their placement on the home page is important
because that page is where customers first interact with your site.
Additional resources
Overview of default category landing page and search results page
Overview of product details pages
Overview of cart and checkout pages
Overview of account management pages
Overview of default category landing page and
search results page
2/1/2020 • 3 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic provides an overview of the default category landing page and search results page in Microsoft
Dynamics 365 Commerce e-Commerce.
When users select one of the keyword or scoped category search suggestions, or when there are no suggestions for
the search term that they enter, they are redirected to a search results page. The users can then browse, sort, and
refine the list of search results to find the desired item.
The following components are essential for a search results page:
Product placement tiles show the products for the user's search. By default, these tiles are sorted by the
cloud-powered search relevancy score for the user search.
Refiners and choice summar y are filters that provide counts and that can be used to refine items. The
merchandising manager configures them as part of the configuration of the "channel categories and product
attributes" metadata.
Sor ting options are used by website visitors to sort the products. By default, the following sorting options
are available:
Price – low to high
Price – high to low
Product name – [A-Z]
Product name – [Z-A]
Ratings – low to high
Ratings – high to low
Default
Pagination lets website visitors move from one page of categorized product results to another page.
Total count provides the total number of products that are defined in a category and that match the search
criteria.
Additional resources
Overview of the home page
Overview of product details pages
Overview of cart and checkout pages
Overview of account management pages
Overview of product details pages
2/5/2020 • 3 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-
Commerce, in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic provides an overview of product details pages (PDPs) in Microsoft Dynamics 365 Commerce.
Overview
A PDP provides detailed information about a product, and lets customers select product options such as a size,
style, and color. A PDP should showcase all the product information that a customer requires to make a purchase
decision.
The following illustration shows an example of a PDP.
Header and footer modules
The top of a PDP has a header that shows all the product categories and other pages that the retailer wants
customers to browse. The bottom of the page has a footer that contains quick links to various topics that might
interest customers.
Recommendations module
The recommendations module is an important module on a PDP. While customers browse for products, more
product options should be presented to them, so that they can find the correct product and make a purchase.
Recommendations help customers easily discover related content and continue to shop.
Different types of recommendation lists are available:
The People also like list is based on machine learning. It uses the transaction history of other customers to
provide recommendations. This list is generated by the recommendations service and resembles "Customers
who bought this also bought..." lists. A product ID is required to generate this list.
A Related list can be configured for a product in Commerce. For example, for a brown leather travel handbag,
more handbags that are leather-based or designed for travel purposes can be configured for the related list.
Other types of related lists, such as Accessories and More like this , can also be configured in Commerce. A
product ID is required to generate this list. Therefore, if it's added to a home page, where the page context
doesn't include a product ID, the list will be empty.
Algorithmically generated recommendation lists, such as Trending , Best Selling , and New , can be used on
PDPs. Although these lists might not be directly related to the product on the PDP, they are another way to help
customers find products that might interest them. These types of lists don't require a product ID. They are
generic lists that are generated based on shopping patterns across the site.
Editorial lists are manually curated lists. For example, a retailer might decide to manually curate lists of
products that it wants to showcase.
Marketing modules
If marketing content is unique to a specific product, any marketing module can be added to the PDP. You can add
marketing modules to a PDP by "enriching" the page. For more details, see Enrich a product page.
Additional resources
Overview of the home page
Overview of default category landing page and search results page
Overview of cart and checkout pages
Overview of account management pages
Enrich a product details page
Overview of cart and checkout pages
2/1/2020 • 5 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-
Commerce, in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic provides an overview of the cart and checkout pages in Microsoft Dynamics 365 Commerce.
Overview
The cart page of an e-Commerce website shows all items that a customer has added to the cart. The cart page is
built by using the cart module. The cart module is a container that hosts all the modules that are required to
showcase items in the cart. The cart module can also use other modules to show the order summary and any
promotional codes that have been applied to the customer order.
The checkout page of an e-Commerce website presents a step-by-step flow that customers follow to enter all the
information that is required to place an order. A checkout module can include modules that handle the shipping
address, shipping methods, billing information, order summary, and other information that is related to customer
orders.
Cart page
The cart page serves as the shopping bag and includes all the items that have been added to the cart.
The following illustration show an example of a cart page that was built by using the online starter kit and the
"Fabrikam" theme.
The main body of the cart page shows all the items that the customer has added to the cart. All applicable
discounts are showcased. These discounts include complex discounts. Examples include "Buy 3 items and get 10%
off" or "Buy a bottle and a backpack to get 10% off." The order summary module shows the amount that is due
after discounts, shipping, taxes, and so on, have been applied. There is also a promo code module that lets the
customer apply or remove promotional codes.
A customer can shop anonymously or as a signed-in user. If a customer is signed in, items in the cart are
preserved between sessions. In this way, the customer can continue to shop from multiple devices.
From the cart, the customer can proceed to checkout. A customer can initiate checkout as a guest user or as a
signed-in user.
For information about how to author a cart page, see Add a cart module to a page.
Checkout page
The checkout page is where customers enter the information that is required to place an order.
The following illustration show an example of a checkout page that was built by using the online starter kit.
The main body of the checkout page is where all the order information is collected. This information includes the
shipping address, delivery options, and payment information. Checkout has a step-by-step flow, because the
information must be entered in a specific order to be processed. For example, the shipping address must be
entered before the shipping costs can be calculated and the payment can be authorized.
Shipping address
A shipping address is required if items must be shipped. The format of shipping addresses for each locale can be
configured in Dynamics 365 Commerce. For example, if the items will be shipped to the United States, the
shipping address must include a street address, state, and ZIP Code. Some basic input validation is done for
shipping address fields, such as validation for alphanumeric characters, maximum length, and numbers. Although
the validity of the address itself isn't verified, this verification can be done by using customized third-party
services.
The shipping address is applied to all items in the cart that the "ship" option is selected for. If you use the checkout
flow that is provided in the online starter kit, individual cart items can't be shipped to different addresses. If you
require this capability, it can be implemented through customization of the checkout modules.
After the shipping address is provided, the shipping methods that are available from the Dynamics 365
Commerce online store are shown. The shipping methods and the addresses that they support can be configured
in Commerce.
Payment
The next step in the checkout flow is payment. In e-Commerce, multiple methods of payment can be used to place
orders, such as credit cards, gift cards, and loyalty points. A combination of these payment methods can also be
used. Depending on the payment methods that are used, additional information might be required. For example, a
credit card payment requires a billing address. Credit card payments are processed by using the Adyen Payment
Connector.
Loyalty points
During the checkout flow, a customer who is a member of a loyalty program and who has accrued loyalty points
can redeem those loyalty points for an order. The loyalty points module is shown only if the customer has an
existing loyalty membership. For non-members and guest users, this module is hidden.
Gift cards
The online starter kit lets internal gift cards be redeemed for an order. To apply an internal gift card, the customer
must be signed in. For additional security, we recommend that you customize the flow by using a personal
identification number (PIN) for internal gift cards.
Signed-in and guest users
The customer can complete the checkout process as a guest user or a signed-in user. If the customer signs in,
account information such as saved shipping addresses and saved credit card details is automatically retrieved.
Order summary
Checkout shows a summary of the line items in the cart, so that the customer can verify the order before he or
she places it. The line items can't be edited during the checkout flow. However, a link to the cart is provided in case
the user wants to go back and edit line items.
After the customer provides shipping and billing information, the order summary reflects the amount that is due
after loyalty points, gift cards, and other payments have been applied.
Order confirmation and email
When the customer places an order, a confirmation number is provided. At this point, the payment has been
authorized but not charged. The payment will be charged only when the order is fulfilled (that is, when it's either
shipped or picked up).
After an order is created, an order confirmation email is sent to the customer.
For more information about how to author a checkout page, see Add a checkout module to a page.
Additional resources
Overview of the home page
Overview of default category landing page and search results page
Overview of product details pages
Overview of account management pages
Overview of account management pages
2/1/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-
Commerce, in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic provides an overview of account management pages in Microsoft Dynamics 365 Commerce.
Overview
Account management pages let customers view information that is related to their account and orders. Account
management pages include the account management landing page, and pages for the user's profile, addresses,
order history, order details, loyalty points, and wish list.
Account management landing page
When a customer signs in and selects My Account , the account management landing page is opened. This page
provides a quick summary of all account-related information, such as the user's profile, orders, wish list,
addresses, loyalty points. From this page, the customer can access more details for each area.
The following illustration shows an example of the account management landing page.
My profile page
The My profile page shows customer's account information, such as his or her name and phone number. The
customer can update his or her profile information on this page. This page can be customized so that it includes
additional customer account preferences, such as an option for opting in to marketing email.
The following illustration shows an example of a My profile page that was built by using the starter kit.
Addresses page
The Addresses page lets the customer add addresses to his or her account. It also shows the list of addresses that
the customer has previously added or saved to the account. These addresses are addresses that the customer
entered either on this page or while placing an order.
The following illustration shows an example of the Addresses page.
For more information about account management modules and how to author them, see Account Management.
Additional resources
Overview of the home page
Overview of default category landing page and search results page
Overview of product details pages
Overview of cart and checkout pages
Authoring page overview
2/1/2020 • 5 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic provides an overview of the authoring page in Microsoft Dynamics 365 Commerce.
Overview
Websites can be created to support various business needs. They can represent a whole business, offer a single
channel of the business, or target a specific audience or segment of an audience. For example, a clothing
manufacturer might have a website that showcases all the brands that it owns. The same clothing manufacturer
might then have a separate website for each of those brands, and also a set of websites that feature luxury fashion,
outdoor fashion, and children's fashion.
Dynamics 365 Commerce supports the creation and management of multiple websites, and each website can have
its own appearance and content. The authoring page serves as a common access point for these websites. You can
use it to sign in to and out of the system, and to create new websites.
Currently, the authoring page consists of the following sections.
Top bar – The top bar appears at the top of the authoring page. It provides easy access to e-Commerce tools,
notifications, support links, and user sign-in.
Command bar – The command bar appears below the top bar. It can be used to create new websites.
Site list – The site list fills all the space below the command bar. It provides a comprehensive list of websites
and the domains that are associated with them.
The following illustration shows the authoring page.
Use the Home button to select a tool
The Home button is in the upper-left corner of the authoring page. It provides easy access to other e-Commerce
tools. When you select this button, a menu of the tools that you can use is opened. When you select a tool, the
menu is closed, and the selected tool is loaded in the browser.
NOTE
Creation of a new website can take up to 60 seconds. After the process is completed, a notification appears in the notification
area. Additionally, the website appears in the site list and has the site name that you entered.
Select a website to author
The site list provides a comprehensive list of the websites that are associated with the e-Commerce system.
Websites appear in alphabetical order. The domain that is associated with each website is also shown. To view the
contents of a website and start to author pages, select the name of the website. The authoring tool and the content
for the website are loaded.
After the authoring tool is loaded, you can select Home to return to the authoring page.
Additional resources
Manage e-Commerce users and roles
Search engine optimization (SEO) considerations for your site
Manage Content Security Policy (CSP)
Manage e-Commerce users and roles
2/1/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic explains how to grant users access to the authoring environment for your Microsoft Dynamics 365
Commerce site.
To help control user access and grant users permission to perform specific tasks, the site authoring environment
uses security groups that you create in Microsoft Azure Active Directory (Azure AD). You first assign a new or
existing security group from Azure AD to each role in the authoring environment. You then grant or revoke
permissions for individual users by either adding those users to an appropriate security group or removing them
from a security group.
RO L E DESC RIP T IO N
System Administrator Users who have this role have all privileges for all tools, and
for all ratings and reviews. They can also create sites.
Administrator Users who have this role have all privileges for all tools and
RnR in a given site structure.
Web Producer Users who have this role can create pages, fragments and
templates, upload and manage assets, and enrich products
and categories.
Reader Users who have this role can view pages, templates, assets,
fragments, layouts and settings, but may not make changes.
RnR Moderator Users who have this role can moderate product reviews.
Administrator role
When you create a new site in Commerce, you're asked to provide a security group for the Administrator role.
See the table earlier in this topic for an overview of the permissions that this role grants.
Add or update security groups
After your site is created, only users who are in the security groups that are associated with the System
Administrator and Administrator roles can access the authoring environment for that site. To assign users to
the Web Producer , RnR Moderator , and Reader roles, you must assign security groups to those roles. To add a
security group to a role, or to update a security group that is currently assigned to a role, follow these steps.
1. Go to the site that you want to update.
2. In Site management , open the Security page.
3. Select the role to modify.
4. Add security groups to roles, or remove security groups from roles.
Additional resources
Add script code to site pages to support telemetry
Search engine optimization (SEO) considerations for your site
Manage Content Security Policy (CSP)
Search engine optimization (SEO) considerations for
your site
2/1/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic covers earch engine optimization (SEO) considerations for your site from development to production.
Additional resources
Manage e-Commerce users and roles
Add script code to site pages to support telemetry
Manage Content Security Policy (CSP)
Manage Content Security Policy (CSP)
2/12/2020 • 3 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic describes how to manage Content Security Policy (CSP) in Microsoft Dynamics 365 Commerce.
Overview
CSP is an additional layer of security that helps detect and mitigate some types of web attacks. The purpose of
these attacks can range from data theft, to site defacement, to the distribution of malware. CSP provides an
extensive set of policy directives that help you control the resources that a site page is allowed to load. Each
directive defines the restrictions for a specific type of resource.
When CSP is turned on for an e-Commerce site, it helps enhance security by blocking connections, scripts, fonts,
and other types of resources that originate from unknown or malicious sources. In Dynamics 365 Commerce, CSP
is turned on by default. However, it will likely require additional configuration for most sites. The Dynamics 365
Commerce online software development kit (SDK) provides a default list of allowed source URLs that style, script,
and application programming interface (API) calls can be made from. You can edit this list on the Extensibility tab
in Commerce.
For more information about CSP, see Content Security Policy Reference.
child-src This directive defines valid sources of web workers and nested
browsing contexts that are loaded by using elements such as
<frame> and <iframe> .
connect-src This directive defines the URLs that AJAX requests can be
made from.
media-src This directive defines valid sources of audio and video, such as
HTML5 <audio> and <video> elements.
"appContext": {
"contentSecurityPolicy": {
"script-src": ["https://www.w3schools.com/js/myScript.js"],
"font-src": ["https://*.commerce.dynamics.com"]
}
}
NOTE
If you add CSP policies in a page mock, the page mock won't include any of the default CSP policies that are provided by the
platform.
You can turn off CSP in a page mock by using the following code.
"appContext": {
"contentSecurityPolicy": {
"disableContentSecurityPolicy": true
}
}
Additional resources
Manage e-Commerce users and roles
Add script code to site pages to support telemetry
Search engine optimization (SEO) considerations for your site
Ways to add content
2/5/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic provides an overview and links to documentation about how to manage content using the Microsoft
Dynamics 365 Commerce site builder web authoring toolset.
Overview
There are many ways to change the look, feel, and content of your site. Depending on the required level of
customization, many of these changes can be implemented by non-developers within site builder, the web
authoring toolset included with Dynamics 365 Commerce. Site builder enables you to build templates, select
themes, and select and configure modules without writing any code. By contrast, development skills are required to
create a new theme or module, because the e-Commerce software development kit (SDK) and the Microsoft
Dynamics Lifecycle Services (LCS) deployment workflow must be used.
The following topics are good jumping off points to start understanding how to add and manage site content. Most
of the topics listed focus on areas of your site that don't require a developer. Some address basic content editing,
while others focus on site administrator tasks. Each of these topics will denote specific tasks might require SDK
work. Each topic assumes that you have already provisioned a site and been granted access to the site builder
toolset for your site.
Select one of the following topics to get started.
To familiarize yourself with the content management terminology used in site builder and within this
documentation, see Page model glossary.
To understand how modules work within content management workflows, see Work with modules.
To change the text, images, or video on an existing site page, see Work with modules.
To see how fragments can make content management more efficient and flexible, see Work with fragments.
To help ensure a successful on-brand authoring experience for web content authors, see Templates and layouts
overview and Work with templates.
To rearrange sections on a site page, see Work with layouts.
To change the fonts, colors, and general look of site pages, see Select a site theme or Work with CSS over-ride
files.
To rearrange or add new navigation options, see Customize site navigation.
To learn how to stage, preview, and publish a broad set of concurrent web content changes, see Work with
publish groups.
Additional resources
Authoring page overview
Document states and lifecycle
Page model glossary
2/5/2020 • 3 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic describes the various elements that are used on the pages of a Microsoft Dynamics 365 Commerce site.
Additional resources
Ways to add content
Document states and lifecycle
Work with publish groups
Work with modules
Work with fragments
Templates and layouts overview
Customize site navigation
Document states and lifecycle
4/15/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic covers the various document states of page elements in Microsoft Dynamics 365 Commerce.
Discarded check out Select Discard edits . All changes to the checked-out
document are discarded, and the item
reverts to the last version that was
checked in.
Checked in Select Finish editing . The edited document is checked in. All
changes are visible to other
authenticated system users, and those
users can then edit the document. Each
check-in creates a document version
record in the item's history.
DO C UM EN T STAT E SIT E B UIL DER A C T IO N DESC RIP T IO N
Additional resources
Ways to add content
Page model glossary
Work with publish groups
Work with modules
Work with fragments
Templates and layouts overview
Customize site navigation
Work with publish groups
2/1/2020 • 7 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-
Commerce, in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic describes the publish groups feature in Microsoft Dynamics 365 Commerce.
Overview
E-commerce websites are constantly updated with new content throughout the year. Updates are often published
in batches around busy e-commerce events such as holidays, seasonal marketing campaigns, or promotional
launches. These updates often require that groups of website content (for examples, pages, images, fragments,
and templates) be staged, validated, and published concurrently in a single action.
The ability to group items into logical sets that publish items together, where each set has its own lifecycle,
provides many advantages to site authors. In Commerce, these logical sets are known as publish groups. They let
site authors track sets of updates as their own configurable, testable, and publishable entities.
Authors can preview updates in a staged publish group without affecting the live site or other self-contained
publish groups. Authors can then schedule the publish action to simultaneously publish all the items in the
publish group to the live site. The ability to group, preview, and schedule updates for publishing is important for
many enterprise-level companies that generate considerable annual revenue around event-based site update
milestones.
Companies can incur costs from slow or invalidated content rollouts that don't go smoothly. Publish groups help
guarantee that launches are organized, validated, and published on time. Whether they are large or small, publish
groups provide a valuable toolset that helps authors organize and simplify ongoing site update tasks.
NOTE
Validation is always run automatically when a publish group is scheduled. However, the Validate button in the command
bar is useful because it helps identify issues that you must fix before you try to schedule a publish group to go live.
NOTE
Very large publish groups might take up to a minute or two to be published when their scheduled time arrives. Be aware
that a publish action isn't instantaneous, and that smaller publish groups will be published faster.
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-
Commerce, in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic describes how to add a logo to your site in Microsoft Dynamics 365 Commerce.
Overview
When you build your site, one of the first things that you will probably do is add your company or brand logo to
the site's header. The Dynamics 365 Commerce online starter kit provides a module that makes this task easy.
You can add a logo directly to a template, layout, or page. In this way, you can easily change the logo that appears
on specific pages or groups of pages. However, this topic covers the most frequent scenario, where you add your
logo to a header fragment that can be reused across all the pages of your site.
Prerequisites
Before you can add a logo to all the pages of your site, you must complete these tasks.
1. Upload your logo to the Media Library.
2. Create a header fragment. For more information about how to create and use fragments, see Work with
fragments.
3. Include the header fragment in the template that the pages of your site use for their layout and module
options. For more information about templates, see Work with templates.
Additional resources
Select a site theme
Work with CSS override files
Add a favicon
Add a welcome message
Add a copyright notice
Add languages to your site
Add script code to site pages to support telemetry
Select a site theme
2/1/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-
Commerce, in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic describes how to set or change your site's theme in Microsoft Dynamics 365 Commerce.
Overview
A site's layout and style (for example, fonts, sizes, and colors) are defined by the theme that you select and apply
to the site. A theme is created and deployed by a developer at your company. For an overview of themes, see
Theming overview. For more information about how to create and deploy themes, see Create a new theme.
By default, when you first create a site, it uses a theme that is named Fabrikam . This default theme is provided as
part of the starter kit. After you've deployed additional themes for your site, you can configure the site so that it
uses one of them instead.
NOTE
The theme that you select is published to your site as soon as you select Save and publish on the Extensibility page. To
preview a theme on your site before you apply it, you can use your development or sandbox environment.
Additional resources
Add a logo
Work with CSS override files
Add a favicon
Add a welcome message
Add a copyright notice
Add languages to your site
Add script code to site pages to support telemetry
Work with CSS override files
2/1/2020 • 4 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-
Commerce, in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic describes why, when, and how to use Cascading Style Sheets (CSS) override files in Microsoft Dynamics
365 Commerce.
Overview
Permanent site styles should usually be handled through a site's theme. Themes provide the foundational CSS and
style settings for the modules on any page of your site. Themes are created by using the Dynamics 365
Commerce online software development kit (SDK), and they are deployed to your websites through Microsoft
Dynamics Lifecycle Services (LCS). Theme debugging capabilities and module interface configurations in the SDK
help site developers create customizable and cohesive site design packages. When these design packages are
deployed to a site, site authors can focus on creating, editing, and publishing content instead of site development.
Given the usual lifecycle of a theme, the dependency on developers to make style changes through the SDK and
LCS deployment pipeline can be prohibitive in some scenarios. Site prototypes or hotfixes can seem cumbersome
if the SDK isn't configured, or if you don't have time to wait for an LCS deployment.
In these scenarios, CSS override files can help. In the Commerce authoring tools, authenticated users can upload a
CSS file, preview it, and then activate it to override a site's theme. The overhead of SDK or LCS deployment isn't
required. The overrides that are specified in a CSS override file can be as small as a change to a single text style or
as wide-ranging as a complete brand overhaul.
Before you use CSS override files, be aware of the following limitations:
Only one CSS override file can be active on a site at a time. Therefore, all active overrides must be present in a
single override file.
Although you can preview the overrides in the Commerce authoring tools, there are no dedicated debugging
features to help identify any bugs that the overrides introduce. In other words, when you use CSS override
files, you don't have the same toolset that the SDK provides for module and authoring validation.
Nevertheless, CSS override files provide a quick way to prototype a design or implement a hotfix before a full
theme update is developed and deployed.
NOTE
Depending on the version of the Commerce authoring tools that you're using, you might have to expand Settings
in the navigation pane before you can select Design .
3. At the top of the main design pane, select the CSS override tab, if it isn't already selected.
4. Under Available CSS overrides , select Upload CSS file . A File Explorer window appears.
5. In File Explorer, browse to and select a CSS file, and then select Open . The uploaded CSS file now appears
under Available CSS overrides .
NOTE
Only one CSS override file can be active on your site at a time. If you activate a new override file, the previous override file is
inactivated. Therefore, make sure that all required overrides are present in a single CSS override file.
Additional resources
Add a logo
Select a site theme
Add a favicon
Add a welcome message
Add a copyright notice
Add languages to your site
Add script code to site pages to support telemetry
Add a favicon
2/1/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-
Commerce, in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
Overview
A favicon is a small graphics file that is shown on a web browser tab, in the Address bar, in the browsing history,
and in bookmarks or favorites, among other places. We recommend that you add a favicon to your site, because it
represents and reinforces your brand, and helps distinguish your site from other sites that your customers visit.
Although you can add multiple favicons of various sizes and file types to your site, this topic shows how to add a
single favicon. However, the same process and location are used to add more favicons.
NOTE
If you don't select the Publish assets after upload option, you must return to Assets page and manually publish the
favicon later.
Add the HTML for the favicon to the <head> element of your pages
To add a favicon to your site, use the same procedure that is used to add any type of HTML or script to the
<head> element of your site pages.
Additional resources
Add a logo
Select a site theme
Work with CSS override files
Add a welcome message
Add a copyright notice
Add languages to your site
Add script code to site pages to support telemetry
Add a welcome message
4/17/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-
Commerce, in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic describes how to add a welcome message to your Microsoft Dynamics 365 Commerce website.
Overview
A welcome message on your e-Commerce website can inform visitors about ongoing sales, site updates, or
availability of seasonal collections. The welcome message is set by using the alert module.
The alert module should be added to the Error/Information messages slot of the header fragment. The alert
module lets you specify the text that is shown, the text color, and the alignment. It also lets you specify whether
visitors to the site can dismiss the message.
When a welcome message is added to a shared header fragment, it will be shown on every page that uses the
template where that shared header fragment is used.
To add a welcome message to your site, follow these steps.
1. In Commerce site builder, go to your site.
2. Select Fragments .
3. Select the header fragment to add the message to.
4. In the outline tree, expand Error/Information messages .
5. Select the alert module, and then select OK . If an alert module doesn't yet exist, first select the ellipsis button
(...) next to Error/Information messages , and then select Add module .
6. In the property pane on the right, on the Data tab, select Add Data Source , and then select Content .
7. In the Input Text field, enter the text of the welcome message.
8. Select Save , select Finish editing to check in the header fragment, and then select Publish to publish it.
The welcome message will now appear at the top of every site page that uses the selected header fragment.
Additional resources
Add a logo
Select a site theme
Work with CSS override files
Add a favicon
Add a copyright notice
Add languages to your site
Add script code to site pages to support telemetry
Add a copyright notice
4/17/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-
Commerce, in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic describes how to add a copyright notice to your e-Commerce website.
Prerequisites
Before you can add a copyright notice to your site, you must have the following items:
A template that includes a shared footer fragment.
A page that uses that template.
Additional resources
Add a logo
Select a site theme
Work with CSS override files
Add a favicon
Add a welcome message
Add languages to your site
Add script code to site pages to support telemetry
Add languages to your site
2/1/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-
Commerce, in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic explains how to add support for additional languages to a Microsoft Dynamics 365 Commerce site.
Overview
You can localize your website into any language that Commerce supports. (The list of supported languages
appears later in this topic.) To add a language on your website, you must first add it to an online store that is
bound to your site.
Additional resources
Add a logo
Select a site theme
Work with CSS override files
Add a favicon
Add a welcome message
Add a copyright notice
Add script code to site pages to support telemetry
Add script code to site pages to support telemetry
3/21/2020 • 3 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-
Commerce, in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic describes how to add client-side script code to your site pages to support the collection of client-side
telemetry.
Overview
Web analytics are an essential tool when you want to understand how your customers interact with your site and
make decisions that will help optimize the experience for maximum conversion. Many web analytics packages
are available to help you achieve these goals, such as Google Analytics, Clicky, Moz Analytics, and KISSMetrics.
Most web analytics packages require that you add client-side script code in the <head> element of the HTML
for all pages of your site.
NOTE
The instructions in this topic also apply to other custom client-side functionality that Microsoft Dynamics 365 Commerce
doesn't natively offer.
Additional resources
Add a logo
Select a site theme
Work with CSS override files
Add a favicon
Add a welcome message
Add a copyright notice
Add languages to your site
Work with modules
2/5/2020 • 5 minutes to read • Edit Online
This topic describes how and when to use modules in Microsoft Dynamics 365 Commerce.
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-
Commerce, in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
Overview
Modules are logical building blocks that make up your page structure, and they have various purposes and
scopes. Some modules are high-level containers, and their only purpose is to hold and organize other modules
(child modules). Other modules, such as a simple image placement module, have a very specific purpose. Other
modules, such as a carousel module, fall somewhere between those two categories.
By default, your Dynamics 365 Commerce site includes a starter kit module library that lets you achieve most
basic e-Commerce scenarios. You should be able to construct an end-to-end e-Commerce site just by using these
modules. However, you might also want to customize these modules or build new, custom modules for specific
needs. If you want to build custom modules, a module design software development kit (SDK) is available to help
you create a custom module library.
Content modules
Content modules contain content and media elements, such as text (for example, headlines, paragraphs, and links)
or asset references (for example, images, video, and PDFs). Examples of typical content module types are Hero ,
Feature , and Banner . Modules of these three types can contain text or media, and they don't require any child
modules to make something visible on a page.
The majority of typical, day-to-day page and content authoring activities involve content modules, primarily
because these modules define the actual content that is rendered in their parent container modules. Many content
modules are available, and these modules are typically the last pieces that you will add to a page's hierarchy of
nested modules.
The following illustration shows how modules are nested inside parent container module slots.
NOTE
The module designer defines the list of modules types that can be added to a specific module slot. Template authors
can then refine the allowed module options to help guarantee consistent search engine optimization (SEO) and
authoring efficiency for all the pages pages that are built from a specific template.
2. Select the ellipsis button (...) for the module, and then select Add Module . The Add Module dialog box
appears. This dialog box is automatically filtered so that it shows only modules that are supported in the
selected container or slot. The list of modules is determined by the page's template or the container
module definition.
NOTE
If a container or slot doesn't support new child modules, the Add Module option is unavailable.
3. In the dialog box, search for and select a module to add to your page.
TIP
Feature and Hero are good module types for beginners to work with.
4. Select OK to add the selected module to the selected container or slot on your page.
Remove a module
To remove a module from a slot or container on a page, follow these steps.
1. In the outline pane on the left, select the ellipsis button next to the name of the module to remove, and then
select the trash can button.
2. When you're prompted to confirm that you want to remove the module, select OK .
Configure modules
The following procedures describe how to configure content and container modules.
Configure a content module
To configure a content module on a page, follow these steps.
1. In the outline pane on the left, expand the tree and select any content module (for example, Feature , Hero , or
Banner ).
2. In the properties pane on the right, find the module's content and settings controls.
3. Enter properties for any desired module controls.
4. Select Save in the command bar. This will also refresh the preview canvas.
Configure a container module
To configure a container module on a page, follow these steps.
1. Select a container module on your page (for example, a carousel or fluid container module).
2. In the properties pane on the right, expand the nested controls by selecting the headers, and set any required
control values.
3. In the outline pane on the left, select the ellipsis button next to the name of either the container or any slots
inside the container, and then select Add Module . Then, add child modules to the selected container. For more
information, see the Work with modules section earlier in this topic.
4. If multiple child modules exist as siblings in a parent container, you can change their display order in the
parent container. Select the ellipsis button for a module, and then use the up arrow and down arrow buttons.
Additional resources
Templates and layouts overview
Work with templates
Work with preset layouts
Work with fragments
Add a container module to a page
Work with publish groups
Work with fragments
2/5/2020 • 5 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-
Commerce, in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic describes why, when, and how to use fragments in Microsoft Dynamics 365 Commerce.
Overview
Fragments allow for a centralized authoring experience for module configurations that must be reused
throughout your site. For example, headers, footers, and banners are often configured as fragments, because they
are shared across many pages. You can think of fragments as miniature webpages that can be inserted into other
pages on your site. Fragments have their own lifecycle. In other words, they are created, referenced, updated, and
deleted as independent entities in the authoring tools.
After fragments are configured, they can be used wherever modules can be used in your site structure.
Fragments can be referenced on pages, in layouts, in templates, and in other fragments.
NOTE
Fragments can be nested up to seven levels deep inside other fragments.
For example, if you want to promote a seasonal event cross many pages on our site, you can use a fragment. The
first step in the process of creating a new fragment is to select the type of module that you want to start from. For
this example, you can build the fragment from a hero module.
NOTE
Fragments can be built from any module type.
You can then configure the hero fragment with your specific promotional content. You can also localize it as you
require. The new stand-alone hero fragment can then be consumed as a preconfigured module throughout your
site. You can easily add it to templates, to specific pages, or to other fragments that can contain hero modules.
All the places where the fragment is added are references to the central hero fragment that you created. If you
publish changes to the fragment, those changes are immediately reflected in all the places where the fragment is
referenced across the site. Therefore, fragments provide a powerful and efficient way to reuse and centrally
manage module configurations on a site. By effectively using them, you can significantly increase agility and help
reduce the cost that is associated with managing site content.
The following illustration shows how fragments can be used to centralize authoring of shared module
configurations across an e-Commerce site.
Create a fragment
You can either create a new fragment or save an existing module configuration as a fragment.
Save an existing module configuration as a fragment
To convert a previously configured module to a reusable fragment, follow these steps.
1. Open a page or template that contains the module that you want to convert to a fragment.
2. In the outline pane on the left, select the ellipsis button (...) next to the name of the module.
3. Select Share as Fragment .
4. A dialog box appears. Enter a name and metadata for the fragment.
5. Select OK to save the module configuration as a fragment that can be added to other pages.
The following image shows how to save a module configuration as a fragment.
TIP
By selecting a generic container module type, you get the most flexibility when you need to update and configure your
fragment later.
NOTE
If the container or slot doesn't support new child modules, the Add Fragment option is unavailable.
3. In the dialog box, search for and select a fragment to add. If no available fragments are listed, you might
first have to create a fragment from a module type that the selected container or slot supports.
4. Select your desired fragment to add it to the container or slot on your page.
NOTE
The modules that are allowed in a container or slot are defined by the page's template or the modules' own definitions.
Remove a fragment
To remove a fragment from a slot or container on a page, follow these steps.
1. In the outline pane on the left, select the ellipsis button next to the name of the fragment to remove, and then
select the trash can button.
2. When you're prompted to confirm that you want to remove the fragment, select OK .
NOTE
When you remove a fragment from a page, you just remove the reference to it from that page. You do not delete the
fragment from your site. To delete fragments from your site, you must use the fragment inspector user interface (UI). You
can delete fragments from a site only if they aren't currently referenced by any pages, templates, or other fragments.
Edit a fragment
To edit fragments, you must use the fragment editor UI. This restriction is by design. It helps guarantee that
authors don't confuse the process of editing the modules for a specific page with the process of editing
fragments that might be shared across many pages.
To edit a fragment, follow these steps.
1. In the navigation pane on the left, select Fragments .
2. Under Fragments , select the fragment to edit.
3. Edit the fragment's module properties and structure as you require. The process resembles the process for
editing modules are edited in the page editor view.
You can also edit a fragment by selecting it on a page, in a template, or in a parent fragment, and then selecting
Edit Fragment in the properties pane on the right.
Additional resources
Templates and layouts overview
Work with templates
Work with preset layouts
Work with publish groups
Templates and layouts overview
2/1/2020 • 7 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-
Commerce, in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
Templates are a foundational element of the Microsoft Dynamics 365 Commerce page model. If your goal is to
maximize efficiency and consistency for site authoring workflows, it's important that you learn how to take
advantages of templates for your website. Early decisions about template structure are important, and can
significantly affect cost and agility for daily, seasonal, and site-wide brand updates. Well-structured templates
have other benefits too. For example, they help improve site-wide search engine optimization (SEO) scores and
minimize bug counts.
A good way to start to work with templates is to understand the functional benefits of templates and layouts, the
differences between them, and the hierarchy.
The following illustration shows the page model hierarchy behind a rendered webpage.
EN T IT Y B A SIC F UN C T IO N
Page instance Page instances define the data and content for specific
pages.
Templates
Templates are at the top of the Dynamics 365 Commerce page model hierarchy and represent an important
early step for site configuration. Conceptually, templates help control consistency across a family of child layouts
and pages by defining the base structure and authoring options for downstream layout creation and page
creation workflows. Templates can help simplify the content authoring process through predefined, centrally
managed elements (such as headers and footers) and guided authoring flows that help guarantee that module
configuration choices are on-brand.
Controlling consistency
When you design a template, the biggest business decision that you must make is how much control the
template should have over the page creation process. A template that leaves everything open for a downstream
author is the easiest type of template to create, but it might have long-term consequences for the maintenance
of pages that are created from it. A well-written template provides guidance and a streamlined authoring
experience, but it also gives authors enough flexibility so that they can complete their task. All these aspects
depend on the level of control that the template enforces.
Templates can help content authors be more efficient and stay on-brand in the following ways:
Limit the modules that can be used on a page.
Suggest default module and configuration choices.
Explicitly make some module and configuration choices that are controlled at the template level. This process
is also known as locking a setting.
The following example shows how a basic template (template X) can be configured:
All child layouts of template X must have a header container, a body container, and a footer container.
In template X, the configuration of the header container is locked and can be changed only in template X
itself. All child layouts and pages always have this header.
The body container requires at least one module and up to a maximum of ten modules. These modules are
defined by downstream layouts and pages.
For the body container, the hero, feature, carousel, and banner modules are available.
A footer container is configured in template X, but it can be overridden by downstream layouts and pages.
The template in this example defines a simple structure and set of options for downstream content authors.
Notice that some parts of a page (in this case, the header) are fully defined and locked in the template, and they
can't be changed by downstream authors. Other parts (in this case, the body) can be defined by downstream
authors within specific guidelines (in this case, a minimum number and maximum number of modules of
specific types). And other parts (in this case, the footer) are defined in the template but can be overridden by
downstream authors.
An important initial step for site and brand admins is to determine the correct balance between constraint and
flexibility for child layout and page authors. When templates are used, this balance is completely configurable. It
affects whether page elements are centrally updated (locked in the template) or left to individual child levels that
are lower in the page hierarchy.
To start to use templates, Work with templates.
Layouts
Layouts are the next level in the page model hierarchy, below templates. Whereas a template defines all the
modules that are allowed for a page, a layout is an explicit selection and arrangement of modules. Pages are the
next level in the page model hierarchy, below layouts. They define the localized content for the modules that are
selected in the layout.
The following example builds on the template example from the previous section, and shows how a basic layout
can be configured:
The parent template of the layout requires that the body container have between one and ten modules.
These modules can be only hero, feature, carousel, and banner modules. Therefore, the layout can define
the following selection and arrangement of modules:
The first module in the body container is a banner module, and it's followed by a hero module and two
feature modules.
The first feature module is left-aligned, and the second feature module is right-aligned.
Even though a default footer is inherited from the parent template, the template author left the footer
unlocked. Therefore, the layout can override it by defining a different footer fragment.
The layout in this example defines the final arrangement of modules for child pages. Like a template, a layout
can define default or locked module properties that will always be inherited by child pages (for example, the
alignment of the feature modules). The actual content or data for every module in the layout is then defined
farther down the hierarchy, in each child page instance. An important distinction here is that layouts don't
directly contain localizable content, whereas their child pages do. The layout's primary function is to define the
final arrangement and default configuration of modules for its child pages.
This hierarchy is powerful for two reasons. First, layouts that share the same parent template are treated as
compatible for layout switching scenarios. Therefore, the layout for any page can be changed to another layout
from the same template hierarchy without requiring that page-level content be reauthored. You can take
advantage of this capability to do seasonal design updates, experiment, or do a permanent site redesign. Second,
layouts provide another way to centrally modify shared elements for a group of pages without requiring
updates to individual pages. For example, if a product category has 1,000 pages that share the same layout, the
modules can be reordered in the layout, and this change will immediately be reflected in all 1,000 child pages.
By understanding this hierarchy, you can deliver an agile and efficient site structure that helps save cost, is
scalable, and produces better results as the site evolves over time.
Preset and custom layouts
Layouts on your site can be either preset or custom:
Preset layouts allow for a page creation workflow where all modules are already selected and arranged,
and only data entry is required. This approach can help save time when many pages must be authored that
have the same layout requirements. Preset layouts have a one-to-many relationship with their child pages.
Therefore, a single preset layout can be used to centrally control the module arrangement for hundreds or
thousands of child pages.
Custom layouts are essentially single-use layouts that are embedded in one page. They aren't exposed as
an option when other new pages are created or in layout switching scenarios. The benefit of this approach is
that an author can experiment by authoring a page that uses a custom layout. Then, if the author wants to
reuse the layout for other pages, it can easily be converted to a preset layout. The new preset layout is then
exposed as an option in page creation workflows and in layout switching scenarios for pages from the same
template hierarchy. Conversely, preset layouts can be branched into custom layouts. In this way, an author
can break a page away from the preset layout and create a new single-use custom layout. (This new custom
layout is still bound by any constraints in the parent template.)
Preset layout and custom layouts are edited in different parts of the authoring toolset. Because custom layouts
have no dependencies on other pages, they are edited directly in the page editor. In this case, the existence of a
layout is mostly transparent to the user and is exposed only in page-level properties and through the actions for
layout options. However, because changes to preset layouts can affect many child pages, they must be edited in
the layout editor, where publish actions consider the full downstream impact on child pages.
The following illustrations shows scenarios for preset and custom layouts.
Additional resources
Work with templates
Work with preset layouts
Work with publish groups
Work with templates
4/17/2020 • 7 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-
Commerce, in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic describes how to work with templates in Microsoft Dynamics 365 Commerce.
Overview
As was discussed in Templates and layouts overview, templates define the set of options that is available to
downstream authors. Templates are useful to an enterprise's web authoring team for several reasons, and well-
structured templates can help with all the following goals:
Simplify the authoring experience for day-to-day content editor roles.
Filter module options so that only relevant modules are shown for a specific page section. (For
example, a marketing section of a template can be configured to filter out irrelevant modules that
should never be used in that context, and that will just complicate content authoring tasks if they are
shown.)
Configure default module setting to help improve authoring efficiency.
Define default page fragments to help improve authoring efficiency. (For example, header and footer
fragments in a template will automatically appear on every downstream page.)
Keep enterprise sites on-brand by defining an approved set of module arrangement and configuration
options.
TIP
Successful e-Commerce sites provide customers with familiar, repeatable, and on-brand user experience (UX) design
patterns. By using templates, you help control consistency across your site.
Improve search engine optimization (SEO) scores by ensuring repeatable and programmatically defined
page definitions and metadata.
NOTE
Although templates are designed to control consistency across a site, they can theoretically be configured so that they
don't enforce any consistency. Brand and site administrators can define any level of variability for the pages on their site.
For example, a template can be left entirely open, so that content authors can create any page design that they choose. In
this case, none of the benefits in the preceding list are applicable.
Modify a template
Templates are modified by using the template editor.
To open the template editor, follow one of these steps:
In the navigation pane of your site, select Templates , and then select the template to modify.
In the page editor for an existing page, select the top node in the outline tree on the left. Then, in the property
pane on the right, select Edit Template .
The outline tree view on the left shows the module options and structures that are available to child layouts and
pages. When you select a module in the outline tree, you can view the template properties for the selected
module in the property pane on the right. Some of these properties are unique to template editing. The following
table describes these properties.
Min Modules (Containers) For modules that contain other modules (that is, for
containers modules), this property defines the minimum
number of total modules that should be added as children.
For example, for a carousel module, the value might be set to
a number that is more than 1.
Max Modules (Containers) For container modules, this property defines the maximum
number of total modules that should be added as children.
For example, for a carousel module, the value might be set to
a number that is less than 10.
WARNING
When a template, or any other content management system (CMS) item, is published, it's discoverable on the internet.
Don't publish documents or assets until you're ready to make them public. Document versions that have been saved and
checked in, but that haven't been published, are discoverable only to authenticated system users.
Additional resources
Templates and layouts overview
Work with preset layouts
Work with preset layouts
4/17/2020 • 4 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-
Commerce, in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic describes how to work with preset layouts in Microsoft Dynamics 365 Commerce.
Overview
Before you complete the procedures in this topic, be sure to read Preset and custom layouts. For a general
overview, see Templates and layouts overview.
TIP
To quickly see whether a specific page is currently bound to a preset layout, select the page in the pages list view, and
inspect the layout metadata in the property pane on the right.
WARNING
Preset layouts can be referenced by multiple pages. When you publish a preset layout, be aware that you might affect the
layout of multiple pages.
Additional resources
Templates and layouts overview
Work with templates
Modify an existing site page
4/17/2020 • 3 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-
Commerce, in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic describes how to modify an existing site page in Microsoft Dynamics 365 Commerce.
Overview
When you must modify a page, the first step is to open it in the page editor. Go to the site that contains your page,
and then, in the list of pages, find the page that you want. If you can't find the page, you can use the authoring
tool's rich search functionality. Either type the exact page name, or type the first few letters of it and then an
asterisk (*). A filtered list of pages appears. You can use this list to find the page that you want. After you find the
correct page, select the page name to open the page in the page editor.
TIP
If your page is visible in the page inspector, you can select Edit and check the page out before you open it in the page
editor. In this way, you can check out multiple pages at the same time.
After the page is open in the page editor, you must make sure that it's checked out to you. The command bar in the
authoring tool is dynamic, context-sensitive, and state-sensitive. Therefore, it shows only the actions that you can
currently perform on the page. For example, if the page isn't checked out to you, the Save and Finish editing
buttons don't appear on the command bar. The state of the page is also shown on the right side of the window.
If the page isn't already checked out to you, select Edit on the command bar. The command bar changes to reflect
the new state of the page. You also receive a notification that states that the page was checked out to you.
The next step is to make your actual changes. Often, you will use the page outline tree on the left to find and select
the module that you want to change, and then make changes in the properties pane on the right.
However, your change might sometimes involve adding or removing models or fragments. To add a fragment or
module, use the page outline tree to find the slot that you want to add the module or fragment to, and then select
the ellipsis button (...) for that slot. A menu appears that includes commands for adding a module or fragment. To
remove a module or fragment, find and select it in the page outline tree, select the ellipsis button, and then select
the command to delete the module or fragment.
TIP
You can also view and edit the properties for any module that is visible in the "what you see is what you get" (WYSIWYG)
preview by selecting it directly.
After you've finished making your changes and previewing their effect, you should check in the page by selecting
Finish editing on the command bar.
To publish your changes immediately, select Publish on the command bar. The latest checked-in version of the
page that you modified is published and becomes available to external users who view your site.
Example: Change the video on the home page
The following example shows how to modify the home page by changing the video that appears in the video
player module.
1. Under Sites , select Fabrikam (or the name of your site).
2. In the navigation pane on the left, select Pages .
3. Find and select the home page to open it in the page editor.
4. On the command bar, select Edit .
5. In the page outline, select the Main slot.
6. Under the Main slot, expand all the fluid container modules.
7. Find and select the video player module.
8. In the properties pane on the right, select the video property. The asset picker appears.
9. In the asset picker, select an available video asset, or select Upload new asset to upload a new video asset.
10. Select OK .
11. Select Save , and then select Finish editing .
12. In the Comments field, enter Changed the video , and then select OK .
13. Select Preview to preview the updated page. When you've finished, close the preview tab to return to the
authoring tool.
14. Select Publish .
Additional resources
Add a new site page
Select page layouts
Manage SEO metadata
Save, preview, and publish a page
Enrich a product page
Enrich a category landing page
Verify page content accessibility
Add a new site page
4/17/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-
Commerce, in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic describes how to add a new site page in Microsoft Dynamics 365 Commerce.
Overview
After you've created templates and fragments for your site, the next step is to start to create pages that use them.
To get started, you must select a template or layout, a page name, and a page URL.
Template or layout
You can use either a template or a layout for your new page. For more information, see Templates and layouts
overview.
Page name
The page name must be unique to your page. It should be descriptive, so that you can easily find it and other
people know what the page is intended for. Choose the page name carefully, because it can't be changed later.
Page URL
You can have the option to enter a URL for your new page. When you create a page, you can enter a string that
will be used to form a complete URL. This string is known as a relative URL or a URL slug. A complete URL is then
generated based on the URL slug, and the new page is assigned to it. You can change the URL slug later, before
you publish the page. For more information, see Create a page URL.
NOTE
Dynamics 365 Commerce decouples URLs and content. In other words, a page can be created that isn't associated with an
URL, and a URL can be created that isn't associated with a page. Therefore, content swapping can be done for a URL and
doesn't require downtime, and redirects are easier to manage.
Additional resources
Modify an existing site page
Select page layouts
Manage SEO metadata
Save, preview, and publish a page
Enrich a product page
Enrich a category landing page
Verify page content accessibility
Select page layouts
4/17/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-
Commerce, in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic explains how to create and select page layouts in Microsoft Dynamics 365 Commerce.
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-
Commerce, in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic describes how to manage search engine optimization (SEO) metadata in Microsoft Dynamics 365
Commerce.
Overview
SEO metadata for a site can be managed by using site maps and page metadata.
Site maps
A site map is a machine-readable list, in XML format, of the pages on your website. It's intended to be consumed
by search engines, so that they can provide better search results from your site. Site maps can be manually
ingested by search engines or published in a robots.txt file.
Dynamics 365 Commerce supports automatic generation of site maps. Site maps are automatically updated when
pages are published and unpublished.
Turn on site map generation
1. Sign in to the authoring tool.
2. Under Sites , select Fabrikam (or the name of your site).
3. In the navigation pane on the left, select Site Management .
4. Make sure that the Site maps enabled option is turned on.
Page metadata
Dynamics 365 Commerce lets you manage SEO metadata for individual pages. You can view and modify this
information in the SEO Proper ties section of a page container. The following SEO metadata properties are
supported:
Title
Description
SEO keywords
Aria labels
noindex
nofollow
noarchive
nocache
noOpenDirectoryProject
nosnippet
noImageIndex
unavailableAfter
Modify page metadata
To modify page metadata, follow these steps.
1. Under Sites , select the Fabrikam (or the name of your site).
2. In the navigation pane on the left, select Pages .
3. Select the home page to open it in the page editor.
4. On the command bar, select Edit .
5. In the properties pane on the right, expand Default metatags .
6. To add a new metatag, select Add , and then enter the tag in the field. To remove an existing metatag, select the
trash can symbol to the right of it.
7. Select Save , and then select Finish editing .
8. In the Comments field, enter Updated metatags , and then select OK .
9. Select Preview to preview your page. When you've finished, close the preview tab to return to the authoring
tool.
10. Select Publish .
Additional resources
Modify an existing site page
Add a new site page
Select page layouts
Save, preview, and publish a page
Enrich a product page
Enrich a category landing page
Verify page content accessibility
Save, preview, and publish a page
4/17/2020 • 3 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-
Commerce, in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic describes how to save, preview, and publish a page in Microsoft Dynamics 365 Commerce.
Save a page
To save a page, you must have it checked out to yourself and open in the page editor. To check out a page, select
Edit on the command bar. After you've finished editing a page, you should immediately save it to ensure that your
changes are stored.
When you save a page, the changes are visible only to you. The save operation is intended primarily to store
changes while the page isn't yet ready to be checked in. When you've finished modifying the page, we
recommend that you check it in, so that the changes become visible to others. At that point, the page can also be
checked out by other users who must modify it.
Preview a page
The authoring tool offers two kinds of preview features: a "what you see is what you get" (WYSIWYG) preview
pane in the page editor and a separate preview window.
While you're using the page editor, a "what you see is what you get" (WYSIWYG) preview appears in the center
pane. This preview is automatically updated whenever you save the page. You can also manually update it by
selecting Refresh on the command bar. The WYSIWYG preview renders the page just as the site's users will see it,
but authoring helpers are rendered on top of it.
When you've finished modifying the page, you might want to preview it to see what customers will see. To
preview a page, select Preview on the command bar. The preview will appear in a separate browser window. The
page in the preview window is rendered just as the site's user will see it. You can resize the window to make sure
that responsive modules are correctly rendered in all view ports.
NOTE
Authentication and correct permissions are required to preview unpublished content. Therefore, if you share the URL of the
preview with someone, that person must have the correct permissions to access the content.
Publish a page
When your page is ready, the next step is to publish it, so that external users can view the content. Before you can
publish a page, you must check it in by selecting Finish editing on the command bar.
You can publish and unpublish pages from either the page inspector or the page editor. The page inspector shows
a list of pages and allows for bulk operations. The page editor can be used to publish or unpublish only the single
page that is open in it.
To publish one or more pages from the page inspector, select the pages, make sure that they are checked in, and
then select Publish on the command bar. The pages are published, and you receive a notification about the
operation in the authoring tool.
To publish a single page from the page editor, the procedure is similar. While the page is open in the page editor,
make sure that it has been checked in, and then select Publish on the command bar. The page is published, and
you receive a notification about the operation.
When you publish a page, just the page content is published. You and other users can go to the page and view it
only after a URL is associated with it. The URL must be published separately.
IMPORTANT
Before you can publish a page, any images or fragments that the page references must already be published.
Publish a URL
To publish a URL, follow these steps.
1. Under Sites , select Fabrikam (or the name of your site).
2. In the navigation pane on the left, select URLs .
3. Find and select the URL to publish.
4. On the command bar, select Publish .
Additional resources
Modify an existing site page
Add a new site page
Select page layouts
Manage SEO metadata
Enrich a product page
Enrich a category landing page
Verify page content accessibility
Enrich a product page
4/17/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-
Commerce, in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic describes how to enrich a product page in Microsoft Dynamics 365 Commerce.
Overview
By default, your site uses a generic page to show product data. This page includes the basic information about the
product and the controls that are required to sell it. However, you can supplement the information that comes
from the Commerce Scale Unit with additional images or text for a specific product. This process is known as
enriching the product page.
In many cases, you will want to use specific additional content for your products. When you go to Retail and
Commerce in the authoring tool, you will see a list of products from the channel that is assigned to the site. In
this list, the Enriched column indicates whether the product page for a product has been enriched. If a check
mark appears in the column, an enriched product page exists for the product. If no check mark appears, the
default product page and content are used for the product. You can preview both enriched and non-enriched
product pages by selecting a product name in the list.
Additional resources
Modify an existing site page
Add a new site page
Select page layouts
Manage SEO metadata
Save, preview, and publish a page
Enrich a category landing page
Verify page content accessibility
Enrich a category landing page
4/17/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-
Commerce, in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic covers the enrichment of category pages in Dynamics 365 Commerce.
Overview
Commerce provides a default category landing page that is used when category data is shown. A default
category page contains required elements, such as refiners, categorized product placement, sorting options, a
choice summary, and pagination controls.
However, instead of using the default category page, you might want to use an "enriched" category landing page
that has more content and more specific elements. A typical enrichment might involve adding category-specific
marketing content to the category page. This content might include cross-category product placement for cross-
sell purposes, editorial lists, images, videos, and other text. You can either modify the default category page or
define a different category page for a specific category.
In Commerce site builder, the Products page includes a list of categories from the channel that are assigned to
the site. If the Enriched status is selected for a category page, that category page has been enriched. Otherwise,
the default category page and content are used for the category. You can preview both the enriched and non-
enriched category pages for a category by selecting the category name.
To enrich a category page, do the following.
1. On the Products page, select the name of the category for which you want to enrich the category page. The
default category page for the selected category is opened in the page editor.
2. Select Enrich categor y page .
3. Select a template for the enriched category page. If you're making only minor changes, you can select the
default category page. Alternatively, you can select a specific category page template. When you select the
template, the page editor is opened, and the selected template is used to create a new category page for the
selected category. The page is checked out to you, and you can now make your changes.
NOTE
Modules that use category specification data use the data from your selected category. The settings of the template that
you select determine the changes that you can make.
Additional resources
Modify an existing site page
Add a new site page
Select page layouts
Manage SEO metadata
Save, preview, and publish a page
Enrich a product page
Verify page content accessibility
Verify page content accessibility
2/1/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-
Commerce, in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic describes how to verify the accessibility of page content in Microsoft Dynamics 365 Commerce.
Overview
When you've finished changing a page, you should make sure that the content is accessible to everyone on the
web. In the Commerce authoring tools, you can easily verify the accessibility of page content by using the
integrated Microsoft Accessibility Insights service. This service verifies your page content against the latest World
Wide Web Consortium (W3C) accessibility guidelines.
The Microsoft Accessibility Insights integration must be turned on at the tenant or site level before you can use it.
Turn on Microsoft Accessibility Insights for all the sites in your tenant
To turn on the Microsoft Accessibility Insights integration for all the Commerce sites in your tenant, follow these
steps.
NOTE
To access tenant settings, you must be signed in to Commerce as a system admin.
Additional resources
Modify an existing site page
Add a new site page
Select page layouts
Manage SEO metadata
Save, preview, and publish a page
Enrich a product page
Enrich a category landing page
Customize site navigation
4/17/2020 • 3 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-
Commerce, in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic describes how to create a customized online navigation hierarchy to organize your products for
browsing on your Microsoft Dynamics 365 Commerce site.
Overview
Online storefronts typically let customers discover and browse products by navigating through product
categories. This capability is usually provided by tabs at the top of the page or by a navigation bar on the left. In
Dynamics 365 Commerce, you can create and manage the hierarchal structure of your category navigation and
the products that are included in the various categories.
NOTE
The topmost category that you create is the root category node. It won't be shown on your site. To create a
category hierarchy where a single top-level node is shown on your site, create and name the category as a child of
the root category.
NOTE
The navigation menu module that is included in the store starter kit lets users navigate only to categories that don't have
subcategories. If your customers should be able to navigate to categories that have subcategories, you must customize the
navigation menu module.
Additional resources
Templates and layouts overview
Work with templates
Work with preset layouts
Work with fragments
Work with modules
Create a page URL
Work with publish groups
Create a page URL
2/1/2020 • 4 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic covers the basic concepts and procedures for creating a page URL on your site.
Overview
The full, or absolute, URL that points to a page on your site consists of distinct parts. For example, the URL
https://www.contoso.com/en-us/contactus has the following parts:
You establish your site's domain and optional language path when you set up the site. You can add more domains
and language paths to your site through the online stores page in the site's settings.
The URL slug for a page exists as a standalone entity in the site authoring environment. A page URL consists of two
parts: a name that represents the URL slug, and a pointer to a page on either your site or an external site. A page
URL can also be configured to act as a redirect to another page on either your site or an external site.
NOTE
If you publish a URL without publishing the page that it points to, site users receive a 404 error when they try to access the
page. If you publish a page without publishing the URL that points to it, the page can't be accessed by using a URL.
Additional resources
Customize site navigation
Add a new site page
Configure your domain name
Add languages to your site
Digital asset management overview
3/4/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic provides an overview of digital asset management in Microsoft Dynamics 365 Commerce site builder.
Overview
Dynamics 365 Commerce site builder's Media Library features rich digital asset management functionality,
including support for the following:
Image assets
Video assets
Other types of binary assets, such as Office documents and PDF files
Localized images
Folder uploads
Cropping of images
Customizing of image focal points
Omni-channel image assets (product, product variants, catalog, category, worker, and customer images)
Digital assets are channel-specific, with the exception of omni-channel assets, which are environment-wide by
default.
Digital assets and management features are located within site builder under Media Librar y on the left
navigation pane within a site.
Additional resources
Upload images
Upload video
Upload files
Crop images
Customize image focal points
Upload images
3/4/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic describes how to upload images in Microsoft Dynamics 365 Commerce site builder.
Overview
The Commerce site builder Media Library allows you to upload images, either singly or in bulk using folders. You
should always upload the version of the image with highest resolution and quality, because the image resizer
component will automatically optimize the image for different viewports and their breakpoints.
Image information specified during upload
When uploading an image, the following information can be specified.
Title, Alt Text, Description, Keywords : Metadata of the image or images. Title and alt text are required
values.
Select categor y :
None : Used for an e-Commerce storytelling image or images.
Product, Categor y, Customer, Employee, Catalog : Used for Dynamics 365 Commerce omni-
channel image or images.
Publish assets after upload : When this check box is selected, the image or images are published
immediately after upload.
NOTE
Image assets with a category assigned are also automatically tagged with the category as a keyword to aid searching for
assets of a specific category.
Additional resources
Digital asset management overview
Upload video
Upload files
Crop images
Customize image focal points
Upload videos
3/4/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic describes how to upload videos in Microsoft Dynamics 365 Commerce site builder.
Overview
The Commerce site builder Media Library allows you to upload videos. You should always upload the version of a
video with the highest bitrate and resolution, because the video will be automatically converted to be suitable for
different viewports and their breakpoints.
Video information specified during upload
When uploading a video, the following information can be specified.
Title, Description, Keywords : Metadata of the video.
Automatically generate closed captions : Specifies whether closed captions should be automatically
generated for the video.
Closed Caption : Specifies the closed captions to be used.
Regular Audio : Specifies the regular audio track to be used.
Thumbnail : Specifies the thumbnail for the video. If not specified, it will be generated automatically.
Descriptive Audio : Specifies the descriptive audio track to be used.
Upload a video
To upload a video in site builder, follow these steps.
1. In the left navigation pane, select Media Librar y .
2. On the command bar, select Upload > Upload Media Items .
3. In the File Explorer window, navigate to and select one or more video files to upload, and then select Open .
4. In the Upload Media Item dialog box, enter the required title and alt text.
5. Enter optional description and keywords and select a category if desired.
6. If you want to publish the image(s) after immediately upload, select the Publish media items after upload
check box
7. Select OK .
If you are uploading multiple types of assets simultaneously (for example, images and videos), in the Upload
Media Item dialog box you will only be able to specify keywords, whether the files should be published
immediately after upload, and whether closed captions should be automatically generated for video files. All the
assets will share the same keywords.
Additional resources
Digital asset management overview
Upload images
Upload files
Crop images
Customize image focal points
Upload files other than images and videos
3/4/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-
Commerce, in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic describes how to upload files other than images and videos in Microsoft Dynamics 365 Commerce site
builder.
Overview
The Commerce site builder Media Library supports the uploading of binary assets other than images or videos.
For example, you might want to upload Microsoft Excel, Microsoft Word, Microsoft PowerPoint, or PDF files.
The following document types are supported:
7Z
AVI
CS
CSS
DOC
DOCX
EPUB
GIF
INDD
JAR
JPG
JPEG
JS
MP3
MP4
MPEG
MPG
ODP
ODS
ODT
PDF
PNG
PPT
PPTX
PS
QXP
RAR
RTF
SVG
TAR
TGZ
TXT
WMV
XLS
XLSX
XML
ZIP
Upload a file
To upload a file to Commerce site builder, follow these steps.
1. In the left navigation pane, select Media Librar y .
2. On the command bar, select Upload > Upload Media Items .
3. In File Explorer, select one or more files and then select Open .
4. In the Upload Media Item dialog box, enter title, description, and keyword metadata as needed.
5. To publish the file(s) immediately after upload, select the Publish media items after upload check box.
6. Select OK .
Additional resources
Digital asset management overview
Upload images
Upload video
Crop images
Customize image focal points
Crop images
4/17/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-
Commerce, in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic describes how to crop images in Microsoft Dynamics 365 Commerce site builder.
Overview
The Commerce site builder Media Library allows you to crop images to optimize them for different module types
and viewports.
Crop an image
To crop an image in site builder, follow these steps.
1. In the left navigation pane of Commerce site builder, select Media Librar y .
2. In the main window, select the image you want to modify.
3. On the command bar, select Edit .
4. Select the image to enter Edit Mode .
5. Under Edit Mode , select Edit View by Module .
6. From the Module drop-down menu, select the module type.
7. From the View type drop-down menu, select the view type.
8. From the Placement drop-down menu, select the image placement.
9. From the Viewpor t drop-down menu, select the viewport size.
10. The image is overlaid with the area representing the crop region. Move and resize the crop region as needed.
The aspect ratio will be maintained automatically.
11. When you're done, on the command bar, select Save , and then select Finish editing .
After custom cropping is completed, image modifications will take effect almost immediately.
Additional resources
Digital asset management overview
Upload images
Upload video
Upload files
Customize image focal points
Customize image focal points
4/17/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-
Commerce, in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic describes how to customize image focal points in Microsoft Dynamics 365 Commerce site builder.
Overview
When an image is uploaded to the Commerce site builder Media Library, the system attempts to determine the
focal point of the image. For example, if the image has a person on it, the system will set the focal point to the face
of the person by default. In most cases the automatically set focal point works well for all viewports, but
sometimes you may want to adjust the focal point to ensure that a specific part of the image is always visible.
Define a custom focal point for an image
To define a custom focal point for an image, follow these steps.
1. In the left navigation pane of Commerce site builder, select Media Librar y .
2. In the main window, select the image you want to modify.
3. On the command bar, select Edit .
4. Select the image to enter Edit Mode .
5. Under Edit Mode , select Change Focal Point . A circular focal point control appears over the image.
6. Select the focal point control to move it over the desired focal point.
7. When you're done, on the command bar select Save , and then select Finish editing .
Additional resources
Digital asset management overview
Upload images
Upload video
Upload files
Crop images
Compliance overview
2/1/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic is an overview of the compliance guidance that is provided with Microsoft Dynamics 365 Commerce to
help you make your company's sites compliant. Compliance is an important factor for all businesses, because it
helps their user base connect with their site content. By staying compliant, you can also help protect your company
from expensive legal action or hefty fines.
The compliance documentation includes a review of areas that you should consider when you use Dynamics 365
Commerce, to help you meet your company's compliance requirements.
You're responsible for reviewing your company's compliance requirements, and for authoring and building sites
that meet the standards of those requirements. The following topics provide examples that show how you can take
compliance into account as you use the Commerce authoring tools.
To learn more about the basic principles that Microsoft uses, visit the Microsoft Trust Center. On that site, you can
also get more information about areas of compliance.
Additional resources
Accessibility features and capabilities
Cookie compliance
Add a privacy policy page
Accessibility features and capabilities
4/17/2020 • 3 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic provides information about the accessibility features and capabilities in Microsoft Dynamics 365
Commerce.
Overview
Accessibility features and capabilities provide the functional means for all users to access and perform actions so
that they can accomplish their goals. This broad range of users might require assistive tools for hearing, vision,
mobility, or neurodiversity.
Various features in Dynamics 365 Commerce let you build your site so that it includes assistive functionality. When
you design your site, you should consider the areas of accessibility functionality that are mentioned in the
Microsoft Accessibility Center.
This topic describes some additional areas of accessibility functionality that you should consider when you use
Dynamics 365 Commerce.
Video accessibility
The Dynamics 365 Commerce digital asset management system supports several accessibility features for video
content. The following table lists some examples.
Closed captioning (CC) Text that can be shown for the audio and audio descriptive
elements of a video, to help users who are deaf or hard of
hearing
Subtitles Caption files that show the text of context clues or dialog on-
screen
Minimum age gate An attribute that can store the minimum age that a viewer
must be to view a video (metadata only)
NOTE
Closed caption, regular audio, and descriptive audio assets can also be added after a video asset is uploaded. Go to Media
Librar y , select the video asset, and select Edit to check it out. Then, in the properties pane for the video asset, upload the
additional assets.
NOTE
The properties pane is used only to set and store the metadata attribute value. Customized modules must be created to use
this attribute for playback gating.
Additional resources
Accessibility in forms, products, and controls
Microsoft Accessibility Center
Dynamics 365 Accessibility Center
Compliance overview
Cookie compliance
Add a privacy policy page
Cookie compliance
2/1/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic describes considerations for cookie compliance and the default policies that are included in Microsoft
Dynamics 365 Commerce.
Overview
Privacy is an important factor whenever any tracking technologies that affect e-Commerce customers are used.
Because of privacy compliance standards such as the General Data Protection Regulation (GDPR) in the European
Union (EU), electronic privacy guidelines must be considered for any site that is active today. Because many e-
Commerce sites are globally accessible by default, it's important that you review the compliance standards for
your e-Commerce site.
To learn more about the basic principles that Microsoft uses for cookie compliance, visit the Microsoft Trust Center.
On that site, you can also get more information about areas of compliance and privacy.
Additional resources
Accessibility features and capabilities
Compliance overview
Add a privacy policy page
Add a privacy policy page
4/17/2020 • 4 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic describes how to add a privacy policy page to your site in Microsoft Dynamics 365 Commerce.
Overview
Privacy compliance includes organizational measures that inform site users about how their data is collected and
handled. Users can then decide how they want their personal data to be handled and can take appropriate action.
NOTE
If a template that can be used for the privacy policy page has already been created, skip ahead to the Build a privacy policy
page section.
Additional resources
Compliance overview
Accessibility features and capabilities
Cookie compliance
Starter kit overview
2/5/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-
Commerce, in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic presents an overview of the Microsoft Dynamics 365 Commerce starter kit.
Overview
The Dynamics 365 Commerce starter kit is a collection of modules that can be used to build an e-Commerce
website. Modules have both user interface (UI) aspects and functional behavior aspects.
Themes can be applied to the modules in the starter kit to change their look and feel. The themes use Cascading
Style Sheets (CSS). A theme for a fictitious e-Commerce site that is named "Fabrikam" is provided as part of the
starter kit and can be used as a reference.
Additional resources
Container module
Buy box module
Cart module
Checkout module
Order confirmation module
Header module
Footer module
Container module
2/5/2020 • 5 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-
Commerce, in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic covers container modules and describes how to add them to site pages in Microsoft Dynamics 365
Commerce.
Overview
A container module is a module that hosts other modules inside it. The primary purpose of a container module is
to define, through the properties that are set for it, the layout of the modules that it contains. For example, those
modules can appear side by side in a two-column, three-column, four-column, or six-column layout. They can also
be limited to the width of the container, or they can fill the screen. A heading can also be added to every container
module.
Three container modules are supported: container, container with 2-slots, and container with 3-slots. Modules of
any type can be put inside these containers.
NOTE
We recommend that you always put modules inside a container module, so that they can be limited to the width of the
container.
Heading Heading text and heading tag (H1 , H2 , An optional heading can be provided
H3 , H4 , H5 , or H6 ) for the container. By default, the H2
heading tag is used for the heading.
However, the tag can be changed to
meet accessibility requirements.
P RO P ERT Y N A M E VA L UES DESC RIP T IO N
Width Fit container or Fill screen If the value is set to Fit container (the
default value), the modules inside the
container are limited to the width of
the container. If the value is set to Fill
screen , the modules aren't limited to
the container width but can fill the
screen.
Heading Heading text and heading tag An optional can be provided for the
container.
X-Small view port configuration 25%/75%, 75%/25%, 50%/50%, This property defines the layout for
67%/33%, 33%/67%, or 100% extra-small view ports.
Small view port configuration 25%/75%, 75%/25%, 50%/50%, This property defines the layout for
67%/33%, 33%/67%, or 100% small view ports, such as mobile
devices.
Medium view port configuration 25%/75%, 75%/25%, 50%/50%, This property defines the layout for
67%/33%, 33%/67%, or 100% medium view ports, such as tablets.
Large view port configuration 25%/75%, 75%/25%, 50%/50%, This property defines the layout for
67%/33%, 33%/67%, or 100% large view ports, such as computers.
Heading Heading text and heading tag An optional heading can be added to
the container.
X-Small view port configuration 33%/33%/33%, 50%/25%/25%, This property defines the layout for
25%/50%/25%, 25%/25%/50%, extra-small view ports.
16%/16%/67%, 16%/67%/16%, or
67%/16%/16%
Small view port configuration 33%/33%/33%, 50%/25%/25%, This property defines the layout for
25%/50%/25%, 25%/25%/50%, small view ports, such as mobile
16%/16%/67%, 16%/67%/16%, or devices.
67%/16%/16%
Medium view port configuration 33%/33%/33%, 50%/25%/25%, This property defines the layout for
25%/50%/25%, 25%/25%/50%, medium view ports, such as tablets.
16%/16%/67%, 16%/67%/16%, or
67%/16%/16%
Large view port configuration 33%/33%/33%, 50%/25%/25%, This property defines the layout for
25%/50%/25%, 25%/25%/50%, large view ports, such as computers.
16%/16%/67%, 16%/67%/16%, or
67%/16%/16%
Additional resources
Starter kit overview
Carousel module
Text block module
Buy box module
Cart module
Checkout module
Header module
Footer module
Promo banner module
4/17/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic covers promo banner modules and describes how to add them to site pages in Microsoft Dynamics 365
Commerce.
Overview
Promo banner modules are used to show inline informational messages on a page. They can be used to show site-
wide promotions that appear on all pages of an e-Commerce site.
Promo banner modules support a text message and a link. If multiple messages are added to a promo banner
module, it becomes a rotating carousel banner that lets customers cycle through all the messages.
Promo banner modules are driven by data from the content management system (CMS) and can be put on any
page.
Slide transition interval A number of milliseconds (ms) The interval that is used to cycle
through messages.
Show carousel flipper True or False A value that indicates whether the
carousel flippers should be shown, so
that customers can manually cycle
through multiple banner items.
Text alignment Right , Left , or Center The text alignment in the promo banner
module.
NOTE
A promo banner is typically used in the page header slot or a subheader slot.
Additional resources
Starter kit overview
Carousel module
Text block module
Content block module
Video player module
Carousel module
4/17/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-
Commerce, in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic covers carousel modules and describes how to add them to site pages in Microsoft Dynamics 365
Commerce.
Overview
A carousel module is used to put multiple promotional items (including rich images) in a rotating carousel banner
that customers can browse. For example, a retailer can use a carousel module on a home page to showcase
multiple new products or promotions.
You can add content block modules inside a carousel module. The properties of the carousel module then define
how those modules are rendered.
Slide transition interval A value in seconds The interval for transitions between
items.
Hide carousel flipper True or False If the value is set to True , the carousel
flipper and sequence indicator are
hidden.
Allow carousel dismiss True or False If the value is set to True , users can
dismiss the carousel.
Add a carousel module to a page
To add a carousel module to a new page and set the required properties, follow these steps.
1. Select New to create a page template.
2. In the New Template dialog box, under Template Name , enter Carousel template , and then select OK .
3. In the Body slot, add a Default page module.
4. Select Finish editing to check in the template, and then select Publish to publish it.
5. Use the carousel template that you just created to create a page that is named Carousel page .
6. In the Main slot of the new page, add a container module.
7. In the pane on the right, set the Width value to Fill Screen .
8. Under Page Outline , add a carousel module to the container module.
9. Add a content block module to the carousel module. Set the properties of the content block module by
providing Heading , Link , Layout , and other properties.
10. Add and configure another content block module.
11. Set additional properties for the carousel module as you require.
12. Select Save , and then select Preview to preview the page. The page should show a carousel that has two
modules inside it (a hero module and a feature module). You can change additional properties for the carousel,
hero, and feature modules to achieve the desired effect.
13. Select Finish editing to check in the page, and then select Publish to publish it.
Additional resources
Starter kit overview
Promo banner module
Text block module
Content block module
Video player module
Text block module
2/5/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-
Commerce, in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic covers text block modules and describes how to add them to site pages in Microsoft Dynamics 365
Commerce.
Overview
A text block module is a module that is used to add textual content. This content can be informational or
promotional.
Text block modules are driven by data from the content management system (CMS) and can be put on any page.
They are stand-alone modules that don't depend on page context or any other modules.
Rich text Rich text Paragraph text. Some basic rich text
capabilities are supported, such as bold,
underlined, and italic text.
Custom class name A Cascading Style Sheets (CSS) class The name of a custom CSS class that a
name developer provides to format this
module. The class name should be
defined in the theme pack.
Font size Small, Medium , Large , or X-Large The font size of the content.
Additional resources
Starter kit overview
Promo banner module
Carousel module
Content block module
Video player module
Content block module
4/17/2020 • 4 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic covers content block modules and describes how to add them to site pages in Microsoft Dynamics 365
Commerce.
Overview
A content block module is used to market products or promotions through a combination of images and text. For
example, a retailer can add a content block module to the home page of an e-Commerce site to promote a new
product and attract the attention of customers.
A content block module is driven by data from the content management system (CMS). It's a stand-alone module
that doesn't depend on any other modules on the page. A content block module can be put on any site page where
a retailer wants to market or promote something (for example, products, sales, or features).
Heading Heading text and heading tag (H1 , H2 , Every hero module can have a heading.
H3 , H4 , H5 , or H6 ) By default, the H2 heading tag is used
for the heading. However, the tag can
be changed to meet accessibility
requirements.
P RO P ERT Y N A M E VA L UES DESC RIP T IO N
Link Link text, link URL, Accessible Rich Hero modules support one or more
Internet Applications (ARIA) label, and "call to action" links. If a link is added,
Open link in new tab link text, a URL, and an ARIA label are
required. ARIA labels should be
descriptive to meet accessibility
requirements. Links can be configured
so that they are opened on a new tab.
Text placement Left , Right , Center This property defines the position of
the text on the image. It only applies to
the hero layout.
Text theme Light or Dark A color scheme can be defined for the
text, based on the background image.
For example, if the image has a dark
background, a light theme can be
applied to make the text more visible
and to meet color contrast ratios for
accessibility purposes. It only applies to
the hero layout.
Additional resources
Starter kit overview
Promo banner module
Carousel module
Text block module
Video player module
Video player module
2/5/2020 • 3 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-
Commerce, in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic covers video player modules and describes how to add them to site pages in Microsoft Dynamics 365
Commerce.
Overview
The video player module is used to support video playback. It can be added to any page, provided that video
content is uploaded to and available in the content management system (CMS). The video player module supports
the .mp4 media type.
Auto play True or False When the value is set to True , the
video is automatically played.
Media Video file path and name The video file that is played in the video
player.
Play fullscreen True or False When the value is set to True , the
video is played in full-screen mode.
Play pause trigger True or False When the value is set to True , a
play/pause button is shown on the
video.
Video player controls True or False When the value is set to True , all video
player controls are shown. These
controls include play and pause
buttons, a progress indicator, and
closed caption options.
Hide poster image True or False A video can have a poster frame. When
the value of this property is set to True ,
the poster frame is hidden.
Mask level A number from 0 through 100 The mask that is applied to the video
for styling.
To add a video player module to a new page and set the required properties, follow these steps.
1. Create a page template that is named video player template .
2. In the Main slot of the default page, add a container module.
3. In the container module, add video player and ambient video player modules.
4. Finish editing the template, and publish it.
5. Use the video player template that you created to create a page that is named video player page .
6. In the Main slot of the new page, add a video player module.
7. In the property pane for the video player module, select Add a video .
8. In the Media Picker dialog box, select a video, and then select Upload new media item .
9. Save and preview the page. You should see the video module on the page. You can change additional settings
to customize the behavior of the module.
10. Finish editing the page, and publish it.
Additional resources
Starter kit overview
Promo banner module
Carousel module
Text block module
Content block module
Header module
4/15/2020 • 3 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-
Commerce, in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic covers header modules and describes how to create page headers in Microsoft Dynamics 365
Commerce.
Overview
In Dynamics 365 Commerce, a page header comprises multiple modules, such as the header, navigation menu,
search, promo banner, and cookie consent modules.
The header module includes a site logo, links to the navigation hierarchy, links to other pages on the site, a cart
symbol, a wishlist symbol, sign-in options, and the search bar. A header module is automatically optimized for the
device that the site is being viewed on (in other words, for a desktop device or a mobile device). For example, on a
mobile device, the navigation bar is collapsed into a Menu button (which is sometimes referred to as a
hamburger menu).
Additional resources
Starter kit overview
Container module
Buy box module
Cart module
Cart icon module
Checkout module
Order confirmation module
Header module
Footer module
Footer module
4/17/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-
Commerce, in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic covers footer modules and describes how to create them in Microsoft Dynamics 365 Commerce.
Overview
The footer module is a special container that is used to host the modules that appear in the page footer. For
example, it can include links to various pages across the site, such as Contact Us and Store Policies pages.
Additional resources
Starter kit overview
Container module
Buy box module
Cart module
Checkout module
Order confirmation module
Header module
Footer module
Buy box module
4/17/2020 • 5 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-
Commerce, in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic covers buy box modules and describes how to add them to site pages in Microsoft Dynamics 365
Commerce.
Overview
The term buy box typically refers to the area of a product details page that is "above the fold," and that hosts all
the most important information that is required to make a product purchase. (An area that is "above the fold" is
visible when the page is first loaded, so that users don't have to scroll down to see it.)
A buy box module is special container that is used to host all the modules that are shown in the buy box area of a
product details page.
The URL of a product details page includes the product ID. All the information that is required to render a buy box
module is derived from this product ID. If a product ID isn't provided, the buy box module won't be rendered
correctly on a page. Therefore, a buy box module can be used only on pages that have product context. To use it
on a page that doesn't have product context (for example, a home page or a marketing page), you must do
additional customizations.
Module properties
Heading tag – This property defines the heading tag for the product title. If the buy box is at the top of the
page, this property should be set to h1 to meet accessibility standards.
Modules that can be used in a buy box module
Media galler y – This module is used to showcase images of a product on a product details page. It can
support one to many images. It also supports thumbnail images. The thumbnail images can be arranged
either horizontally (as a row below the image) or vertically (as a column next to the image). The media gallery
module can be added to the Media slot in the buy box module. It currently supports only images.
Store selector – This module shows a list of nearby stores where an item is available for pickup. It lets users
enter a location to find stores that are nearby. For more information on this module, see Store selector
module.
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic covers ratings and reviews modules used on product details pages (PDPs) in Microsoft Dynamics 365
Commerce.
Overview
Ratings and reviews on e-Commerce websites help customers learn about products before they make a purchase
decision, and are also a mechanism for collecting customer feedback about products.
Ratings are shown on product list pages, category list pages, search results pages, and other site pages.
Ratings histograms and product reviews are shown on PDPs. A Write a review button lets customers submit
ratings and reviews for a product. These PDP features are controlled by ratings and review modules.
The following illustration shows how the Add module dialog box presents ratings and reviews modules in
Dynamics 365 Commerce.
The following table shows the write review module property that needs to be configured in the authoring tool. |
Property name | Value | Property description | |---------------|--------------|--------------------------------------| | Name
| Write review | The name of the write review module. |
Ratings histogram module
The ratings histogram module shows a ratings histogram. This module typically appears between the write review
module and the product reviews list module on a PDP. The ratings histogram module requires no configuration.
You just have to add the module in the PDP template. The following illustrations shows what a PDP template looks
like in Dynamics 365 Commerce when ratings and reviews modules are configured for display on PDPs.
Additional resources
Starter kit overview
Container module
Cart module
Checkout module
Order confirmation module
Header module
Footer module
Cart module
4/15/2020 • 3 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-
Commerce, in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic covers cart modules and describes how to add them to site pages in Microsoft Dynamics 365
Commerce.
Overview
A cart module shows the items that have been added to the cart before the customer proceeds to checkout. The
module also shows an order summary and lets the customer apply or remove promotional codes.
The cart module supports signed-in checkout and guest checkout. It also supports a Back to shopping link. You
can configure the route for this link at Site Settings > Extensions > Routes .
The cart module renders data based on the cart ID, which is a browser cookie available throughout the site.
Module properties
Cart modules have the following settings that can be configured at Site Settings > Extensions :
Maximum quantity – This property is used to specify the maximum number of each item that can be added
to the cart. For example, a retailer might decide that only 10 of each product can be sold in a single
transaction.
Inventor y check – When the value is set to True , an item is added to the cart only after the buy box module
makes sure that it's in stock. This inventory check is done for scenarios where the item will be shipped and for
scenarios where it will be picked up in the store. If the value is set to False , no inventory check is done before
an item is added to the cart and the order is placed. For information on how to configure inventory settings in
back office, see Calculate inventory availability for retail channels.
Inventor y buffer – This property is used to specify a buffer number for inventory. Inventory is maintained
in real time, and when many customers place orders, it can be difficult to maintain an accurate inventory
count. When an inventory check is done, if the inventory is less than the buffer amount, the product is treated
as out of stock. Therefore, when sales occur quickly through several channels, and the inventory count isn't
fully synced, there is less risk that an item that is out of stock will be sold.
Back to shopping – This property is used to specify the route for the Back to shopping link. The route can
be configured at the site level, allowing retailers to take the customer back to the home page or any other
page on the site.
Additional resources
Starter kit overview
Container module
Store selector module
Buy box module
Cart icon module
Checkout module
Order confirmation module
Header module
Footer module
Calculate inventory availability for retail channels
Cart icon module
4/15/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-
Commerce, in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic covers the cart icon module and describes how to add it to site pages in Microsoft Dynamics 365
Commerce.
Overview
The cart icon module represents the cart in the header module of the page, and shows the number of items in the
cart. The cart icon module also displays a cart summary (also known as a mini cart) when the cart icon is hovered
over. The mini cart provides the user with a summary of the items in the cart without having to navigate to the
cart page. In addition, it also allows the user to directly go to checkout page if they are happy with the summary.
This reduces the number of page navigations and makes checkout faster.
Module properties
Show mini car t – When true, this property enables a cart summary (mini cart) to be displayed when the cart
icon is hovered over. This functionality is only supported for desktop view ports.
Additional resources
Buy box module
Cart module
Checkout module
Order confirmation module
Header module
Footer module
Checkout module
2/5/2020 • 4 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-
Commerce, in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic describes how to add a checkout module to a page and set the required properties.
Overview
A checkout module is a special container that hosts all modules that are required to create an order. It presents a
step-by-step flow that a customer uses to enter all the relevant information to make a purchase. It captures the
shipping address, shipping method, and billing information. It also provides an order summary and other
information that is related to a customer order.
A checkout module renders data based on the cart ID. This cart ID is saved as a browser cookie. A cart ID is
required to render information in the checkout module, such as the items in the order, the total amount, and
discounts.
Additional resources
Starter kit overview
Container module
Buy box module
Cart module
Order confirmation module
Header module
Footer module
Order details module
2/5/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-
Commerce, in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic covers order details modules and describes how to use them in Microsoft Dynamics 365 Commerce.
Overview
The order details module is used to show order confirmation details after an order has been placed. It shows the
order confirmation ID, order contact information, and other order details, such as the items that were purchased,
payment information, and the shipping method.
Heading Heading text and heading tag (H1 , H2 , The order confirmation module can
H3 , H4 , H5 , or H6 ) have a heading. By default, the H2
heading tag is used for the heading.
However, the tag can be changed to
meet accessibility requirements.
Additional resources
Starter kit overview
Container module
Buy box module
Cart module
Checkout module
Header module
Footer module
Store selector module
3/19/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-
Commerce, in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic covers the store selector module and describes how to add it to site pages in Microsoft Dynamics 365
Commerce.
Overview
A store selector module is used for the "buy online, pick up in store"" (BOPIS) customer scenario. It displays a list
of stores where a product is available for pickup, as well as store hours and product inventory for each store.
The store selector module requires the context of a product and a search location to find stores. In the absence of a
search location, it defaults to the customer's browser location, provided that the customer gives consent. The
module has an input box which allows the customer to enter a location (zipcode, or city and state) to find stores
that are nearby.
The store selector module is integrated with the Bing Maps Geocoding application programming interface (API) to
convert the location to a latitude and longitude. A Bing Maps API key is required and must be added to the
Commerce shared parameters page in Dynamics 365 Commerce.
The store selector module can be added to a buy box module on the product details page (PDP) to display stores
where a product is available for pickup. It can also be added to a cart module. When added to a cart module, the
store selector module displays pickup options for each cart line item. In addition, with custom coding this module
can be added to other pages or modules via extensions and customizations.
For the BOPIS scenario to work, products should be configured with the "customer pickup" delivery mode.
Otherwise, the module will not be shown on the respective pages. For details on how to configure the delivery
mode, see Set up modes of delivery.
The following image shows an example of a store selector module used on a PDP.
Store selector module usage in e-Commerce
A store selector module can be used on a product details page (PDP) to find nearby stores where a product is
available for pickup.
A store selector module can be used on a cart page to find nearby stores where a product in the cart is
available for pickup.
Additional resources
Starter kit overview
Buy box module
Cart module
Quick tour of PDP
Quick tour of Cart and checkout
Set up modes of delivery
Gift card module
4/15/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic covers gift card modules and describes how to add them to site pages in Microsoft Dynamics 365
Commerce.
Overview
Gift cards are a common form of payment, and the gift card module can be used in a checkout module to accept
gift cards. The gift card module supports Dynamics 365, SVS, and Givex gift cards. SVS and Givex gift cards are
redeemed via the Adyen payment provider.
For more information on support for external gift cards such as SVS and Givex, see Support for external gift cards
Module properties
Show additional fields - This property defines what fields should be displayed for gift cards in addition to the
gift card number, which is always displayed by default. For example, some gift cards support displaying a
personal identification number (PIN), and others support displaying a PIN and expiration date. Alternatively, this
property could be set to "None", which would only display the gift card number and no additional fields.
Supported values:
PIN
Expiration date
PIN and expiration date
None
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic covers account management pages and modules in Microsoft Dynamics 365 Commerce.
Overview
Account management refers to a group of pages that is used to manage user account–related information in
Dynamics 365 Commerce. Account management pages include the account management landing page, user
profile page, user address page, order history page, order details page, loyalty page, and wish list page.
Account management landing page
The account management landing page uses the following modules:
Container - All account management landing page modules should be placed within a container.
Account welcome tile – This module is used to provide a welcome message on the account management
page. It includes properties for the heading.
Account generic tile - This module can be used to provide headings and links to account management pages,
such as the "Order history" or "My profile" pages. The generic tile module can be used to configure a tile for any
page. In Fabrikam, this module is used for "Order history" and "My profile" page links on the account
management landing page.
Account wishlist tile – This module is used to provide a summary of the items on the customer's wish list. For
example, it might state, "You have 10 items in your wish list." It includes properties for the heading and the
"View details" link. The "View details" link should be configured to redirect to the wish list page.
Account address tile – This module is used to provide a summary of the user's addresses. For example, it
might state, "You have 2 addresses added to your account." It includes properties for the heading and the "View
details" link. The "View details" link should be configured to redirect to the user address page.
Account loyalty tile – This module is used to display and link to loyalty program information. This tile has two
states: one state shows links to join a loyalty progam if the user is not a member already. The other state shows
links to view the loyalty details page when the user is already a member. Properties include the heading, the
"Sign-up" link, and the "View loyalty" link. The "View loyalty" link should be configured to redirect to the loyalty
page. The "Sign-up" link should be configured to redirect to a page where users can join the loyalty program.
Order history page
The order history page uses the order history module to show all the recent orders that the user has placed.
Order details page
The order details page provides detailed information for each order and is accessed from the order history page. It
uses the order details module, which requires the sales ID or transaction ID to retrieve the order details.
User profile page
The user profile page shows user account details, such as a user's name and email address. It uses the user profile
details and user profile edit modules. Although the email address can't be removed, it can be edited. The user
profile page also shows user preferences that enable a user to opt in or opt out from certain features, such as
personalization of recommendation lists.
User address page
The user address page shows the list of addresses that are associated with the user account. The user either
provided these addresses during checkout or added them directly on this page. The user address module is used
add and edit addresses, set the primary address, and render existing addresses on the page.
Wish list page
The wish list page shows the items that have been added to the customer's wish list. It uses the wish list module to
render wish list items.
Loyalty page
The loyalty page lets customers view their loyalty details if they are already loyalty program members. They can
also view the points that they have earned and redeemed in recent transactions. The page uses the loyalty details
module to showcase the loyalty details.
To join loyalty program, a marketing page can be created with loyalty sign up and loyalty terms modules. If the
user is not a member of a loyalty program, these modules will enable the user to sign up.
Additional resources
Starter kit overview
Container module
Buy box module
Cart module
Checkout module
Order confirmation module
Header module
Footer module
Product collection modules
2/5/2020 • 6 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic provides an overview of product collection modules in Microsoft Dynamics 365 Commerce.
Overview
Product discovery is a primary tool that retailers use to engage with their customers on an e-Commerce website.
Product collection modules help retailers build compelling shopping experiences by providing an intuitive visual
interface that can be used to quickly author product collections.
Product collection modules represent physical products and services on the website. A product collection module
is typically linked to a details page where customers can purchase a product or service, or learn more about it.
The sources for product collections can be lists of the following four types:
Editorial lists of products that are manually defined in Dynamics 365 Commerce as related products for a
product, or product lists
Algorithmic lists, such as lists of new, best-selling, or trending products
Recommendation lists that are based on machine learning
Personalization lists that support personalized results for a customer. Customers must be signed in to the e-
Commerce site to see personalized results. Guest users don't see personalized results. Customers can opt out of
personalization from the account management page.
The following illustration shows the different types of product collections being used on an e-Commerce site.
NOTE
Always use product collection modules to show a group of products of a similar type.
Product collection modules and types
The following table describes various types of product collection modules in Dynamics 365 Commerce.
Curated product lists Editorial This module shows custom lists that
merchandisers and editors have created
in Commerce.
Frequently bought together Artificial intelligence/Machine learning This module uses machine learning to
analyze consumer purchase patterns
and recommend related items that are
frequently bought together with a
given product. This list can show
personalized results for a signed-in user
if the site author chooses that option.
People also like Artificial intelligence/Machine learning This module uses machine learning to
analyze consumer purchase patterns
and recommend items that are related
to a given product. This list can show
personalized results for a signed-in user
if the site author chooses that option.
P RO DUC T C O L L EC T IO N M O DUL E TYPE DESC RIP T IO N
Picks for you Artificial intelligence/Machine learning This module uses machine learning to
analyze the purchase patterns of the
signed-in user and provide personalized
recommendations that are based on
those purchase patterns. For a guest
user, this list will be collapsed.
SP EC IF IC P ERSO N A L IZ AT IO
TYPE DESC RIP T IO N USA GE PA GE C O N T EXT C O N T EXT N
Products by A list of products This type of list Category from The author can Not applicable
category that belong to a can be used on the page context, provide a specific
given category. any page (for where available category as
This category is example, a home (for example, a context for the
determined from page, category category page) list.
either the page page, marketing
context or the page, or product
context that the details page
author provides. [PDP]) to
promote a
specific category
of products.
Related products A list of products This type of list is Product from the The product can Not applicable
that a used primarily on page, relation be selected in the
merchandising PDPs, but it can type (mandatory) picker, and the
manager has be used on any relation type is
configured as page if a parent used.
related products product is
for the relation provided.
type in
Commerce.
SP EC IF IC P ERSO N A L IZ AT IO
TYPE DESC RIP T IO N USA GE PA GE C O N T EXT C O N T EXT N
Curated A custom list that Enrich category Not applicable Not applicable Not applicable
merchandisers page, home
and editors have page, checkout
created in and cart pages,
Commerce. and product
pages
Algorithmic New – A Home page, Category from The category that Supported
list of the enrich category the page context is determined by
newest page, and (for example, a the site author
products checkout and category page)
that have cart pages
been
assorted
to
channels
and
catalogs.
Best-
selling –
A list of
products
that are
ranked by
the
highest
number
of sales.
Trending
– A list of
the
highest-
performin
g
products
for a
given
period.
Frequently A list that uses This type of list is Cart Not applicable Supported
bought together machine learning applicable only to
to analyze the cart page.
consumer
purchase
patterns and
recommend
related items that
are frequently
bought together
with a given
product.
SP EC IF IC P ERSO N A L IZ AT IO
TYPE DESC RIP T IO N USA GE PA GE C O N T EXT C O N T EXT N
People also like A list that uses This type of list is Product context The product that Supported
machine learning used on PDPs to from the page is provided by
to analyze show products the site author
consumer that other
purchase customers have
patterns and bought.
recommend
items that are
related to a given
product.
Picks for you A list that uses This type of list Not applicable Not applicable Supported
machine learning can be used on
to determine any page.
customer
preferences.
Additional resources
Starter kit overview
Carousel module
Content rich block module
Container module
Buy box module
Product recommendations overview
Overview of default category landing page and
search results page
2/1/2020 • 3 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-
Commerce, in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic provides an overview of the default category landing page and search results page in Microsoft
Dynamics 365 Commerce e-Commerce.
When users select one of the keyword or scoped category search suggestions, or when there are no suggestions
for the search term that they enter, they are redirected to a search results page. The users can then browse, sort,
and refine the list of search results to find the desired item.
The following components are essential for a search results page:
Product placement tiles show the products for the user's search. By default, these tiles are sorted by the
cloud-powered search relevancy score for the user search.
Refiners and choice summar y are filters that provide counts and that can be used to refine items. The
merchandising manager configures them as part of the configuration of the "channel categories and
product attributes" metadata.
Sor ting options are used by website visitors to sort the products. By default, the following sorting
options are available:
Price – low to high
Price – high to low
Product name – [A-Z]
Product name – [Z-A]
Ratings – low to high
Ratings – high to low
Default
Pagination lets website visitors move from one page of categorized product results to another page.
Total count provides the total number of products that are defined in a category and that match the
search criteria.
Additional resources
Overview of the home page
Overview of product details pages
Overview of cart and checkout pages
Overview of account management pages
Cloud-powered search overview
2/13/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic gives an overview of cloud-powered search in Microsoft Dynamics 365 Commerce.
Overview
Product discoverability helps guarantee that customers can quickly and easily find products by browsing
categories, searching, and filtering. Retailers consider product discovery a primary tool for customer interaction
across all channels.
Customers are accustomed to the nearly instantaneous response times of web search engines, sophisticated e-
Commerce websites, social apps, automatic suggestions that appear as they type search terms, faceted navigation,
and highlighting. If customers can't find the product that they are looking for quickly enough in one e-Commerce
store, they won't hesitate to go to a different e-Commerce store.
The cloud-powered product discoverability in Dynamics 365 Commerce helps retailers continue to increase
consumer retention and conversion rates across all channels, both e-Commerce channels and point of sale (POS)
channels.
The Dynamics 365 Commerce search experience has improved capabilities to help retailers achieve better product
discoverability. At the same time, these capabilities deliver the scalability and performance that are required for e-
Commerce traffic.
Immersive autosuggest
Current autosuggest functionality just shows keywords that trigger a search for the matching keyword. Because of
new enhancements in Dynamics 365 Commerce, customers can often discover links to products before they have
finished typing.
Dynamics 365 Commerce also supports functionality for keyword matches in various categories. This functionality
lets customers see the number of matching keywords across categories and trigger a search for a keyword in other
categories.
The following illustration shows an example where immersive autosuggest is being used.
Sort
Enhanced sorting in Dynamics 365 Commerce lets customers sort, search, and browse search results, and refine
them by criteria such as price, product name, and product number. Customers can also sort results based on
whether a product is new, top-selling, or recently added.
Additional resources
Default category landing page and search results page
Manage SEO metadata
Generate online channel reports
2/13/2020 • 3 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic describes how to generate reports for your online channel in Microsoft Dynamics 365 Commerce.
Overview
You can generate and view several reports in Commerce to see how your online channel is performing.
Additional resources
Commerce home page
Build custom response pages for 4xx/5xx status code
errors
4/17/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic describes how to build custom response pages for 4xx and 5xx status code errors by using the authoring
tools in Microsoft Dynamics 365 Commerce.
Overview
If a request isn't successful, the server issues HTTP status code error responses. The 404 status code is captured and
returned if a page isn't found, and the 500 status code is captured and returned if a server error occurs. In
Dynamics 365 Commerce, application users can build custom status code error response pages that are shown to
users for these status code error responses.
NOTE
If you're using a single status code error response page for both error categories, repeat this procedure to link an alias for the
other error category to the same page.
Additional resources
Work with templates
Add a new site page
Create a page URL
Dynamics 365 Fraud Protection integration with
Dynamics 365 Commerce
2/28/2020 • 6 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic describes out-of-box integrations that are available between Microsoft Dynamics 365 Commerce and
Dynamics 365 Fraud Protection.
Key terms
T ERM DESC RIP T IO N
Purchase protection The Fraud Protection module that analyzes purchases for
fraud, based on risk levels that are determined by the
merchant.
Overview
Fraud Protection is a service that offers fraud protection solutions to help retailers prevent fraudulent activity and
identify places where fraud might be unnoticed. This topic describes out-of-box integrations between Fraud
Protection and Commerce. It will be updated as new integrations between the two services are released in future
releases. For more information about Fraud Protection, including information about modules that aren't yet
supported by an out-of-box integration with Commerce, visit the Fraud Protection landing page. You can also
request a callback from a Dynamics 365 sales representative to discuss how Fraud Protection can help boost
profitability, reduce operational expenses, and improve customer experiences.
Alternatively, if the merchant rules determine that the order should be approved, the response that is sent to the
storefront includes the fraud score and the reason code that were determined by Fraud Protection. For the initial
integration, the Fraud Protection assessment isn't used in any way, and the response for both approval and rejection
scenarios isn't saved.
Rejected orders aren't sent to payment processors for authorization, and they don't go through the order creation
process in the back office.
Bank events
If an online order is approved based on the Fraud Protection assessment, the next step is to authorize payments for
that order, if payment authorizations are applicable. Once the order is authorized with the payment processor, Fraud
Protection is notified of the authorization result. By sending these results to Fraud Protection, the advanced AI can
be trained to better predict future authorization results, thereby boosting the quality of future Fraud Protection
assessments.
Purchase status events
Purchase status events resemble bank events. After an order is created in the Commerce back office, a signal is sent
to Fraud Protection to indicate that the order was successfully created. Both bank events and purchase status events
are informational events. Therefore, no response is expected from Fraud Protection.
Availability
As of Dynamics 365 Retail version 10.0.8, Retail includes the back-office setup for Fraud Protection integration.
However, the full out-of-box integration requires the storefront that is included in Commerce, and Commerce is
currently in public preview. When Commerce becomes generally available, existing Retail customers will be able to
update to it. For more information, visit the Dynamics 365 Commerce landing page.
Setup
The out-of-box purchase protection integration requires a Fraud Protection environment. To set up Fraud Protection,
request a callback from a Dynamics 365 sales representative.
After the merchant's Fraud Protection environment is available, and purchase protection settings have been
configured, the setup can continue in the Commerce back office.
K e y Va u l t se t u p
The integration setup requires that a secret be used when Commerce communicates with Fraud Protection to get a
purchase protection result. That secret must be stored by using an Azure Key Vault client. For information about
how to set up a Key Vault client, see Setting up Azure Key Vault Client.
The Fraud Protection certificate that is stored in Key Vault can be referenced only if it's referenced by Key Vault
parameters in the Commerce back office. To set up Key Vault parameters, go to Retail and Commerce >
Headquar ters setup > Parameters > Key Vault parameters in Commerce.
Next, select the Key Vault URL that is used to store the Fraud Protection secret, and select Add . Then specify the
name, description, and path of the Key Vault secret that is used to authenticate Commerce when it sends orders for
purchase protection assessment.
R e t a i l p a r a m e t e r s se t u p
1. Go to Retail and Commerce > Headquar ters setup > Parameters > Retail parameters .
2. On the Dynamics Fraud Protection tab, set the Enable Dynamics Fraud Protection integration
option to Yes .
3. On the Configuration FastTab, add the Azure Active Directory (Azure AD) client ID, and then select the name
of the Key Vault secret that you configured earlier.
By default, the Assessment type field is set to Evaluate . In this case, Fraud Protection will passively check
orders for fraud but won't actively reject orders. Therefore, merchants can compare Fraud Protection risk
assessments with their current fraud tools to understand the impact of Fraud Protection on acceptance rates.
Alternatively, the Assessment type field can be set to Protect . In this case, Fraud Protection will return
"Reject" assessments, and fraudulent orders will be terminated before they are sent for authorization or
created in the back office.
4. The Dynamics Fraud Protection endpoint URL field must be set. This URL is provided by Fraud
Protection and will vary across user acceptance testing (UAT) and production environments.
NOTE
The Key Vault and Fraud Protection settings are company-specific. To enable Fraud Protection for production environments,
you don't enter the Azure AD client ID through the user interface (UI). Instead, you must create and submit a service request.
In the title of your request, clearly indicate that the request is to configure Fraud Protection purchase protection for a
production Commerce or Retail environment.
Privacy notice
When you enable this feature, some of your data is shared with other Microsoft online services. This data includes
information about payments, credit, returns, and transaction status, or personal data. Fraud Protection purchase
protection assessments aren't stored by the Retail or Commerce online services.
Your privacy is important to Microsoft. To learn more, read the Microsoft Privacy Statement.
Related articles
Payments FAQ
Dynamics 365 payment data use
Monitor sales and margin performance
2/1/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
You can monitor sales and margin performance in real time using Dynamics 365 Commerce.
As part of Commerce, users can monitor sales and margin performance in real time across different levels of the
organization hierarchy for the following dimensions:
Products
Categories
Discounts
Years as time period
Registers/terminals
Staff/employees
Customers
Operating units
Additionally, two unique reports that take advantage of hierarchical grid structuring let users monitor sales and
margin performance by drilling down from the top category node to individual leaf nodes of the category in the
default product category hierarchy. Users can also drill-down from the top operating unit to an individual channel
in the organization hierarchy that is defined as the default organization hierarchy for reporting. You can open the
reports from any of the following locations:
Store management workspace > Retail and Commerce > Channels > Store management > Repor ts
Categor y and product management workspace > Retail and Commerce > Product and categories >
Store management > Repor ts
Pricing and discount management workspace > Retail and Commerce > Pricing and discounts >
Store management > Repor ts
Inquiries and repor ts section > Retail and Commerce > Inquiries and repor ts > Sales repor ts
Analyze sales trends and patterns
2/1/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
You can study sales trends and patterns in real time in Dynamics 365 Commerce.
As part of Commerce, users can study sales trends and patterns in real time across different levels of the
organization hierarchy over a period of years by using the out-of-box Channel sales by year report. You can
open this report from any of the following locations:
Store management workspace > Retail and Commerce > Channels > Store management > Repor ts >
Channel sales by year repor t
Store financials workspace > Retail and Commerce > Channels > Store financials > Repor ts >
Channel sales by year repor t
Inquiries and repor ts section > Retail and Commerce > Inquiries and repor ts > Sales repor ts >
Channel sales by year repor t
Users can also study sales trends and patterns by hour across different levels of the organization hierarchy over a
selected period by using the out-of-box Channel sales by hour report. You can open this report from any of the
following locations:
Store management workspace > Retail and Commerce > Channels > Store management > Repor ts >
Channel sales by hour repor t
Store financials workspace > Retail and Commerce > Channels > Store financials > Repor ts >
Channel sales by hour repor t
Inquiries and repor ts section > Retail and Commerce > Inquiries and repor ts > Sales repor ts >
Channel sales by hour repor t
Assess sales performance by product
2/1/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
You can study profitability for the top 10 products using Dynamics 365 Commerce.
As part of Commerce, users can also study profitability for the top products (10 to 100) across different levels of
the organization hierarchy, based on one of the following criteria:
Sales amount
Quantity
Gross profit margin
Margin percentage
For this assessment, you can use the out-of-box Top products report, which you can open from any of the
following locations:
Store management workspace > Retail and Commerce > Channels > Store management > Repor ts >
Top products repor t
Categor y and product management workspace > Retail and Commerce > Channels > Store
management > Repor ts > Top products repor t
Inquiries and repor ts section > Retail and Commerce > Inquiries and repor ts > Sales repor ts > Top
products repor t
Assess customer and product profitability
2/1/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This article explains how you can use the in-memory and real-time analytics to access, explore, and gain insight
about customers and product profitability from your Dynamics 365 Commerce data.
As part of Commerce, users can study profitability for the top customers (10 to 100) across different levels of the
organization hierarchy, based on one of the following criteria:
Sales amount
Quantity
Gross profit margin
Margin percentage
For this assessment, you can use the out-of-box Top customers report, which you can open from any of the
following locations:
Store management workspace > Retail and Commerce > Channels > Store management > Repor ts >
Top customers repor t
Inquiries and repor ts section > Retail and Commerce > Inquiries and repor ts > Sales repor ts > Top
customers repor t
Likewise, users can study profitability for the top products (10 to 100) across different levels of the organization
hierarchy, based on one of the following criteria:
Sales amount
Quantity
Gross profit margin
Margin percentage
For this assessment, you can use the out-of-box Top products report, which you can open from any of the
following locations:
Store management workspace > Retail and Commerce > Channels > Store management > Repor ts >
Top products repor t
Categor y and product management workspace > Retail and Commerce > Products and categories >
Store management > Repor ts > Top products repor t
Inquiries and repor ts section > Retail and Commerce > Inquiries and repor ts > Sales repor ts > Top
products repor t
Analyze store performance
2/1/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This article explains how you can use the in-memory and real-time analytics to access, explore, and gain insight
about store performance, based on your Dynamics 365 Commerce data.
As part of Retail, users can study store performance in real time across different levels of the organization hierarchy
over a selected period by opening the out-of-box Channel summar y report from any of the following locations:
Retail store management workspace > Retail > Channels > Retail store management > Repor ts >
Channel summar y repor t
Retail store financials workspace > Retail > Channels > Retail store financials > Repor ts > Channel
summar y repor t
Inquiries and repor ts section > Retail > Inquiries and repor ts > Sales repor ts > Channel summar y
repor t
This report provides a snapshot of following summaries as part of store performance:
Gross sales summary
Tender type summary
Tax summary
Price overrides summary
Discounts summary
Set up Recency, Frequency, and Monetary (RFM)
analysis
2/1/2020 • 4 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic explains how to set up a Recency, Frequency, and Monetary (RFM) analysis of your customers.
Recency, frequency, and monetary (RFM) analysis is a marketing tool that your organization can use to evaluate the
data that is generated by customer purchases. After you set up RFM analysis, customers are assigned a calculated
RFM score as they make purchases. The RFM score can be a three-digit rating or an aggregate number, depending
on how your organization has configured RFM analysis. Here's how the rating works if your organization uses a
three-digit rating for the score:
The first digit is the customer's recency rating, which is how recently the customer made a purchase from your
organization.
The second digit is the customer's frequency rating, which is how often the customer makes purchases from
your organization.
The third digit is the customer's monetary rating, which is how much the customer spends when he makes
purchases from your organization.
For example, your organization has set the ratings on a scale of 1 through 5, where 5 is the highest rating. In this
case, a customer rating of 535 tells you the following information about the customer:
Recency rating of 5 – The customer recently made a purchase.
Frequency rating of 3 – The customer purchases products from your organization moderately often.
Monetar y rating of 5 – When the customer makes a purchase, he spends a significant amount of money.
If your organization uses an aggregate number for the score, the individual ratings are added together. For the
same example, the customer has a rating of 13 (5 + 3 + 5).
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
Introduction
This topic is an overview of the fiscal integration capabilities that are available in Dynamics 365 Commerce. Fiscal
integration includes integration with various fiscal devices and services that enable fiscal registration of sales in
accordance with local fiscal laws that are aimed at preventing tax fraud in the retail industry. Here are some typical
scenarios that can be covered by using fiscal integration:
Register a sale on a fiscal device that is connected to point of sale (POS), such as a fiscal printer, and print a
fiscal receipt for the customer.
Securely submit information that is related to sales and returns that are completed in Retail POS to an external
web-service that is operated by the tax authority.
Help guarantee inalterability of sales transaction data through digital signatures.
The fiscal integration functionality is a framework that provides a common solution for further development and
customization of the integration between Retail POS and fiscal devices and services. The functionality also includes
fiscal integration samples that support basic scenarios for specific countries or regions, and that work with specific
fiscal devices or services. A fiscal integration sample consists of several extensions of Commerce components and
is included in the software development kit (SDK). For more information about the fiscal integration samples, see
Fiscal integration samples in the Retail SDK. For information about how to install and use the Retail SDK, see Retail
software development kit (SDK) architecture.
To support other scenarios that aren't supported by a fiscal integration sample, to integrate Retail POS with other
fiscal devices or services, or to cover requirements of other countries or regions, you must either extend an
existing fiscal integration sample or create a new sample by using an existing sample as an example.
Error handling
The fiscal integration framework provides the following options to handle failures during fiscal registration:
Retr y – Operators can use this option when the failure can be resolved quickly, and the fiscal registration can
be rerun. For example, this option can be used when the fiscal device isn't connected, the fiscal printer is out of
paper, or there is a paper jam in the fiscal printer.
Cancel – This option lets operators postpone the fiscal registration of the current transaction or event if it fails.
After the registration is postponed, the operator can continue to work on the POS and can complete any
operation that the fiscal registration isn't required for. When any event that requires the fiscal registration
occurs in the POS (for example, a new transaction is opened), the error handling dialog box automatically
appears to notify the operator that the previous transaction wasn't correctly registered and to provide the error
handling options.
Skip – Operators can use this option when the fiscal registration can be omitted under specific conditions and
regular operations can be continued on the POS. For example, this option can be used when a sales transaction
that the fiscal registration failed for can be registered in a special paper journal.
Mark as registered – Operators can use this option when the transaction was actually registered in the fiscal
device (for example, a fiscal receipt was printed), but a failure occurred when the fiscal response was being
saved to the channel database.
NOTE
The Skip and Mark as registered options must be activated in the fiscal registration process before they are used. In
addition, corresponding permissions must be granted to operators.
The Skip and Mark as registered options enable info codes to capture some specific information about the
failure, such as the reason for the failure or a justification for skipping the fiscal registration or marking the
transaction as registered. For more details about how to set up error handling parameters, see Set error handling
settings.
Optional fiscal registration
Fiscal registration might be mandatory for some operations but optional for others. For example, the fiscal
registration of regular sales and returns might be mandatory, but the fiscal registration of operations that are
related to customer deposits might be optional. In this case, failure to complete the fiscal registration of a sale
should block further sales, but failure to complete the fiscal registration of a customer deposit should not block
further sales. To distinguish mandatory and optional operations, we recommend that you handle them through
different document providers, and that you set up separate steps in the fiscal registration process for those
providers. The Continue on error parameter should be enabled for any step that is related to optional fiscal
registration. For more details about how to set up error handling parameters, see Set error handling settings.
Manually running fiscal registration
If the fiscal registration of a transaction or event has been postponed after a failure (for example, if the operator
selected Cancel in the error handling dialog box), you can manually rerun the fiscal registration by invoking a
corresponding operation. For more details, see Enable manual execution of postponed fiscal registration.
Fiscal registration health check
The health check procedure for fiscal registrations verifies the availability of the fiscal device or service when
specific events occur. If the fiscal registration can't currently be completed, the operator is notified in advance.
The POS runs the health check when the following events occur:
A new transaction is opened.
A suspended transaction is recalled.
A sales or return transaction is finalized.
If the health check fails, the POS shows the health check dialog box. This dialog box provides the following buttons:
OK – This button lets the operator ignore a health check error and continue to process the operation. Operators
can select this button only if the Allow skip health check error permission is enabled for them.
Cancel – If the operator selects this button, the POS cancels the last action (for example, an item isn't added to
a new transaction).
NOTE
The health check is run only if the current operation requires fiscal registration, and if the Continue on error parameter is
disabled for the current step of the fiscal registration process. For more details, see Set error handling settings.
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
Introduction
This topic provides guidelines for setting up the fiscal integration functionality for Commerce channels. For more
information about the fiscal integration, see Overview of fiscal integration for Commerce channels.
The process of setting up the fiscal integration includes the following tasks:
1. Configure fiscal connectors that represent fiscal devices or services that are used for fiscal registration
purposes, such as fiscal printers.
2. Configure document providers that generate fiscal documents that will be registered in fiscal devices or
services by fiscal connectors.
3. Configure the fiscal registration process that defines a sequence of fiscal registration steps and the fiscal
connectors and fiscal document providers that are used for each step.
4. Assign the fiscal registration process to point of sale (POS) functionality profiles.
5. Assign connector technical profiles to hardware profiles.
NOTE
Number sequences are optional. Numbers for all fiscal integration entities can be generated either from number
sequences or manually.
TIP
By selecting View , you can view all functional and technical profiles that are related to the current fiscal
connector.
b. On the Fiscal document providers page (Retail and Commerce > Channel setup > Fiscal
integration > Fiscal document providers ), upload an XML configuration for each device or
service that you plan to use.
TIP
By selecting View , you can view all functional profiles that are related to the current fiscal document provider.
For examples of configurations of fiscal connectors and fiscal document providers, see Fiscal integration
samples in the Retail SDK.
NOTE
Data mapping is considered part of a fiscal document provider. To set up different data mappings for the same
connector (for example, state-specific regulations), you should create different fiscal document providers.
F O RM AT EXA M P L E
b. On the Connector technical profiles page (Retail and Commerce > Channel setup > Fiscal
integration > Connector technical profiles ), create a connector technical profile for each fiscal
connector.
a. Select a connector name.
b. Select a connector type. For devices that are connected to a Hardware station, select Local .
NOTE
Only local connectors are currently supported.
Parameters on the Device and Settings tabs in a connector technical profile can be changed. To
restore the default parameters that are defined in the fiscal connector configuration, select Update .
While a new version of an XML configuration is loaded, you receive a message that states that the
current fiscal connector or fiscal document provider is already being used. This procedure doesn't
override manual changes that were previously made in connector functional profiles and connector
technical profiles. To apply the default set of parameters from a new configuration, on the
Connector functional profiles page or the Connector technical profiles page, select Update .
4. Create fiscal connector groups.
A fiscal connector group combines functional profiles of fiscal connectors that perform identical functions
and are used at the same step of a fiscal registration process. For example, if several fiscal printer models
can be used in a store, fiscal connectors for those fiscal printers can be combined in a fiscal connector
group.
a. On the Fiscal connector group page (Retail and Commerce > Channel setup > Fiscal
integration > Fiscal connector groups ), create a new fiscal connector group.
b. Add functional profiles to the connector group. On the Functional profiles tab, select Add , and select a
profile number. Each fiscal connector in a connector group can only have one functional profile.
c. To suspend use of the functional profile, set the Disable option to Yes . This change affects only the
current connector group. You can continue to use the same functional profile in other connector groups.
5. Create a fiscal registration process.
A fiscal registration process is defined by the sequence of registration steps and the connector group that is
used for each step.
a. On the Fiscal registration process page (Retail and Commerce > Channel setup > Fiscal
integration > Fiscal registration processes ), create a new record for each unique process of
fiscal registration.
b. Add registration steps to the process:
a. Select Add .
b. Select a fiscal connector type.
c. In the Group number field, select an appropriate fiscal connector group.
6. Assign entities of the fiscal registration process to POS profiles.
a. On the POS functionality profiles page (Retail and Commerce > Channel setup > POS setup >
POS profiles > Functionality profiles ), assign the fiscal registration process to a POS functionality
profile. Select Edit , and then, on the Fiscal registration process tab, in the Process number field,
select a process.
b. On the POS hardware profile page (Retail and Commerce > Channel setup > POS setup >
POS profiles > Hardware profiles ), assign connector technical profiles to a hardware profile. Select
Edit , add a line on the Fiscal peripherals tab, and then, in the Profile number field, select a connector
technical profile.
NOTE
You can add several technical profiles to the same hardware profile. However, a hardware profile or POS functionality
profile should have only one intersection with any fiscal connector group.
The fiscal registration flow is defined by the fiscal registration process and also by some parameters of fiscal
integration components: the Commerce runtime extension for the fiscal document provider and the
Hardware station extension for the fiscal connector.
The subscription of events and transactions to fiscal registration is predefined in the fiscal document
provider.
The fiscal document provider is also responsible for identifying the fiscal connector that is used for fiscal
registration. It matches the connector functional profiles that are included in the fiscal connector group
that is specified for the current step of the fiscal registration process with the connector technical profile
that is assigned to the hardware profile of the Hardware station that the POS is paired to.
The fiscal document provider uses the data mapping settings from the fiscal document provider
configuration to transform transaction/event data such as taxes and payments while a fiscal document is
generated.
When the fiscal document provider generates a fiscal document, the fiscal connector can either send it to
the fiscal device as is, or parse it and transform it into a sequence of commands of the device application
programming interface (API), depending on how the communication is handled.
7. On the Fiscal registration process page (Retail and Commerce > Channel setup > Fiscal
integration > Fiscal registration processes ), select Validate to validate the fiscal registration process.
We recommend that you run this type of validation in the following cases:
After you've completed all the settings for a new registration process, including when you assign
registration processes to POS functionality profiles and hardware profiles.
After you make changes to an existing fiscal registration process, and those changes might cause a
different fiscal connector to be selected at runtime (for example, if you change the connector group for a
fiscal registration process step, enable a connector functional profile in a connector group, or add a new
connector functional profile to a connector group).
After you make changes in the assignment of connector technical profiles to hardware profiles.
8. On the Distribution schedule page, run the 1070 and 1090 jobs to transfer data to the channel database.
NOTE
You can specify a fiscal text for several info codes to support scenarios where info code groups, linked info codes, and
triggered info codes are used. In these scenarios, the fiscal receipt will contain the fiscal texts from all info codes that
are linked to the transaction line where the discount was applied.
For channel-specific discounts, you should define a fiscal text for the discount ID.
1. On the Fiscal connector group page, select Text for fiscal receipt .
2. On the Discounts tab, select Add , and select a discount ID.
3. In the Text for fiscal receipt field, specify a fiscal text that should be printed on a fiscal receipt.
NOTE
If several discounts are applied to the same transaction line, the fiscal receipt will contain fiscal texts from all discounts
that are linked to those transaction line.
NOTE
If the Continue on error parameter is enabled, the Allow skip and Allow mark as registered parameters are
automatically disabled.
2. The Skip and Mark as registered options in the error handling dialog box require the Allow skip
registration or mark as registered permission. Therefore, on the Permission groups page (Retail
and Commerce > Employees > Permission groups ), enable the Allow skip registration or mark
as registered permission.
3. The Skip and Mark as registered options let operators enter additional information when fiscal
registration fails. To make this functionality available, you should specify the Skip and Mark as registered
info codes on a fiscal connector group. The information that operators enter is then saved as an info code
transaction that is linked to the fiscal transaction. For more details about info codes, see Info codes and info
code groups.
NOTE
The Product trigger function isn't supported for the info codes that are used for Skip and Mark as registered in
fiscal connector groups.
On the Fiscal connector group page, on the Info codes tab, select info codes or info code groups in
the Skip and Mark as registered fields.
NOTE
One fiscal document and one non-fiscal document can be generated on any step of a fiscal registration process. A
fiscal document provider extension identifies every type of transaction or event as related to fiscal or non-fiscal
documents. The error handling feature applies only to fiscal documents.
Fiscal document – A mandatory document that should be registered successfully (for example, a fiscal receipt).
Non-fiscal document – A supplementary document for the transaction or event (for example, a gift card slip).
4. If the operator must be able to continue to process the current operation (for example, creation or
finalization of a transaction) after a health check error occurs, you should enable the Allow skip health
check error permission on the Permission groups page (Retail and Commerce > Employees >
Permission groups ). For more information about the health check procedure, see Fiscal registration health
check.
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
Introduction
To meet local fiscal requirements for cash registers in Austria, the Dynamics 365 Retail functionality for Austria
includes a sample integration of the point of sale (POS) with an external fiscal registration service. The sample
extends the fiscal integration functionality. It's based on the EFR (Electronic Fiscal Register) solution from EFSTA and
enables communication with the EFR service via the HTTPS protocol. The EFR service should be hosted on either
the Retail Hardware station or a separate machine that can be connected to from the Hardware station. The sample
is provided in the form of source code and is part of the Retail software development kit (SDK).
Microsoft doesn't release any hardware, software, or documentation from EFSTA. For information about how to get
the EFR solution and operate it, contact EFSTA.
Scenarios
The following scenarios are covered by the fiscal registration service integration sample for Austria:
Registration of cash transactions in the fiscal registration service:
Send detailed transaction data to the fiscal registration service. This data includes sales line information,
and information about discounts, payments, and taxes.
Capture a response from the fiscal registration service. This response includes a digital signature and a
link to the registered transaction.
Register taxes, and map them to the fiscal registration service's tax codes.
Print the QR code for a registered transaction on the receipt.
Registration of gift card operations and customer deposits as non-cash transactions in the fiscal registration
service:
Issue or add money to a gift card.
Register a customer account deposit.
Register a customer order deposit.
Registration of non-sales transactions and events as non-cash transactions in the fiscal registration service:
Open shift and Close shift
Start amount, Float entry, and Tender removal
Price override
Tax override
Print copy of receipt
Open drawer
Print X report
Print Z report
Printing end-of-day statements (X/Z reports) that have Austria-specific fields:
Total number of products or services that were delivered to customers
Breakdown of sales by tax rate
Breakdown of payments by cashier/cash register operator
Price discounts and returns that reduce daily sales
Zero sales (giveaways)
Error handling, such as the following options:
Retry fiscal registration if a retry is possible, such as if the fiscal registration service isn't available, isn't
ready, or isn't responding.
Postpone fiscal registration.
Skip fiscal registration, or mark the transaction as registered, and include info codes to capture the
reason for the failure and additional information.
Check the availability of the fiscal registration service before a new sales transaction is opened or a sales
transaction is finalized.
Default data mapping
The following default data mapping is included in the fiscal document provider configuration that is provided as
part of the fiscal integration sample:
Value-added tax (VAT) rates mapping:
A: 20.00; B: 10.00; C: 13.00; D: 0.00; E: 19.00; F: 7.00
Gift cards
The fiscal registration service integration sample implements the following rules that are related to gift cards:
Exclude sales lines that are related to the Issue gift card and Add to gift card operations from a cash transaction.
Instead of registering those lines as a part of a cash transaction, register them as a separate non-cash
transaction in the fiscal registration service.
Don't print a tax group breakdown and a QR code on a receipt if the receipt consists only of gift card lines.
Print the total amount of gift cards that are issued or re-charged in a transaction separately from the cash
transaction amount on the receipt.
Save calculated adjustments of payment lines in the channel database with a reference to a corresponding fiscal
transaction.
Payment by gift card is considered a regular payment.
Customer deposits and customer order deposits
The fiscal registration service integration sample implements the following rules that are related to customer
deposits and customer order deposits:
Register a non-cash transaction if a transaction is a customer deposit.
Register a non-cash transaction if a transaction contains only a customer order deposit or a customer order
deposit refund.
Deduct the customer order deposit amount from payment lines when a hybrid customer order is created.
Save calculated adjustments of payment lines in the channel database with a reference to a fiscal transaction for
a hybrid customer order.
Limitations of the sample
The fiscal registration service supports only scenarios where sales tax is included in the price. Therefore, the Price
include sales tax option must be set to Yes for both stores and customers.
Set up Commerce for Austria
This section describes the Commerce settings that are specific to and recommended for Austria. For more
information set up information, see Commerce home page.
To use the Austria-specific functionality, you must specify the following settings:
In the primary address of the legal entity, set the Countr y/region field to AUT (Austria).
In the POS functionality profile of every store that is located in Austria, set the ISO code field to AT (Austria).
You must also specify the following settings for Austria. Note that you must run appropriate distribution jobs after
you complete the setup.
Set up VAT per Austrian requirements
You must create sales tax codes, sales tax groups, and item sales tax groups. You must also set up sales tax
information for products and services. For more information about how to set up and use sales tax features, see
Sales tax overview.
On sales receipts, you can print an abbreviated code for a sales tax code (for example, "A" or "B"). To make this
functionality available, set the Print code field on the Sales tax codes page.
Set up stores
On the All stores page, update the store details. Specifically, set the following parameters:
In the Sales tax group field, specify the sales tax group that should be used for sales to the default customer.
Set the Prices include sales tax option to Yes .
Set the Name field to the company name. This change helps guarantee that the company name appears on a
sales receipt. Alternatively, you can add the company name to the sales receipt layout as free-form text.
Set the Tax identification number (TIN) field to the company identification number. This change helps
guarantee that the company identification number appears on a sales receipt. Alternatively, you can add the
company identification number to the sales receipt layout as free-form text.
Set up functionality profiles
Set up POS functionality profiles:
On the Receipt numbering FastTab, set up receipt numbering by creating or updating records for the Sale ,
Sales order , and Return receipt transaction types.
Configure custom fields so that they can be used in receipt formats for sales receipts
You can configure the language text and custom fields that are used in the POS receipt formats. The default
company of the user who creates the receipt setup should be the same legal entity where the language text setup is
created. Alternatively, the same language texts should be created in both the user's default company and the legal
entity of the store that the setup is created for.
On the Language text page, add the following records for the labels of the custom fields for receipt layouts. Note
that the Language ID , Text ID , and Text values that are shown in the table are just examples. You can change them
to meet to your requirements. However, the Text ID values that you use must be unique, and they must be equal to
or more than 900001.
Add the following POS labels to the POS section of Language text from the table:
On the Custom fields page, add the following records for the custom fields for receipt layouts. Note that Caption
text ID values must correspond to the Text ID values that you specified on the Language text page:
DocumentProvider.DataModelEFR component
1. Find the Runtime.Extensions.DocumentProvider.DataModelEFR project, and build it.
2. In the Runtime.Extensions.DocumentProvider.DataModelEFR\bin\Debug folder, find the
Contoso.Commerce.Runtime.DocumentProvider.DataModelEFR.dll assembly file.
3. Copy the assembly file to the CRT extensions folder:
Commerce Scale Unit: Copy the assembly to the \bin\ext folder under the IIS Commerce Scale Unit
site location.
Local CRT on Modern POS: Copy the assembly to the \ext folder under the local CRT client broker
location.
4. Find the extension configuration file for CRT:
Commerce Scale Unit: The file is named commerceruntime.ext.config , and it's in the bin\ext folder
under the IIS Commerce Scale Unit site location.
Local CRT on Modern POS: The file is named CommerceRuntime.MPOSOffline.Ext.config , and it's
under the local CRT client broker location.
5. Register the CRT change in the extension configuration file.
NOTE
Modern POS must not be customized. You must enable User Account Control (UAC), and you must uninstall
previously installed instances of Modern POS as required.
{
"extensionPackages": [
{
"baseUrl": "Microsoft/AuditEvent.AT"
}
]
}
NOTE
For more information, and for samples that show how to include source code folders and enable extensions to be
loaded, see the instructions in the readme.md file in the Pos.Extensions project.
{
"extensionPackages": [
{
"baseUrl": "Microsoft/AuditEvent.AT"
}
]
}
NOTE
For more information, and for samples that show how to include source code folders and enable extensions to be
loaded, see the instructions in the readme.md file in the Pos.Extensions project.
<ISV_CommerceRuntime_CustomizableFile
Include="$(SdkReferencesPath)\Contoso.Commerce.Runtime.DocumentProvider.EFRSample.dll" />
<ISV_CommerceRuntime_CustomizableFile
Include="$(SdkReferencesPath)\Contoso.Commerce.Runtime.DocumentProvider.DataModelEFR.dll" />
<ISV_HardwareStation_CustomizableFile
Include="$(SdkReferencesPath)\Contoso.Commerce.Runtime.DocumentProvider.DataModelEFR.dll" />
Add the following line to include the Hardware station extension in the deployable packages.
<ISV_HardwareStation_CustomizableFile
Include="$(SdkReferencesPath)\Contoso.Commerce.HardwareStation.EFRSample" />
3. Start the MSBuild Command Prompt for Visual Studio utility, and run msbuild under the Retail SDK folder
to create deployable packages.
4. Apply the packages via Microsoft Dynamics Lifecycle Services (LCS) or manually. For more information, see
Create deployable packages.
5. Complete all the required setup tasks that are described in the Set up Commerce for Austria section.
Design of extensions
Commerce runtime extension design
The purpose of the extension that is a fiscal document provider is to generate service-specific documents and
handle responses from the fiscal registration service.
The CRT extension is Runtime.Extensions.DocumentProvider.EFRSample .
For more details about the design of the fiscal integration solution, see Overview of fiscal integration for
Commerce channels.
Request handler
There are two request handlers for document providers:
DocumentProviderEFRFiscalAUT – This handler is used to generate fiscal documents for the fiscal
registration service.
DocumentProviderEFRNonFiscalAUT – This handler is used to generate non-fiscal documents for the fiscal
registration service.
These handlers are inherited from the INamedRequestHandler interface. The HandlerName method is
responsible for returning the name of the handler. The handler name should match the connector document
provider name that is specified in Headquarters.
The connector supports the following requests:
GetFiscalDocumentDocumentProviderRequest – This request contains information about what document
should be generated. It returns a service-specific document that should be registered in the fiscal registration
service.
GetNonFiscalDocumentDocumentProviderRequest – This request contains information about what non-
fiscal document should be generated. It returns a service-specific document that should be registered in the
fiscal registration service.
GetSuppor tedRegistrableEventsDocumentProviderRequest – This request returns the list of events to
subscribe to. Currently, the following events are supported: sales, printing X report, printing Z report, customer
account deposits, customer order deposits, audit events, and non-sales transactions.
GetFiscalRegisterResponseToSaveDocumentProviderRequest – This request returns the response from
the fiscal registration service. This response is serialized to form a string so that it's ready to be saved.
Configuration
The configuration files are located in the Configuration folder of the extension project:
DocumentProviderFiscalEFRSampleAustria – For fiscal documents.
DocumentProviderNonFiscalEFRSampleAustria – For non-fiscal documents.
The purpose of these files is to enable settings for the document provider to be configured from Headquarters. The
file format is aligned with the requirements for fiscal integration configuration. The following setting is added:
VAT rates mapping
Hardware station extension design
The purpose of the extension that is a fiscal connector is to communicate with the fiscal registration service.
The Hardware station extension is HardwareStation.Extension.EFRSample . The Hardware station extension
uses the HTTP protocol to submit documents that the CRT extension generates to the fiscal registration service. It
also handles the responses that are received from the fiscal registration service.
Request handler
The EFRHandler request handler is the entry point for handling requests to the fiscal registration service.
The handler is inherited from the INamedRequestHandler interface. The HandlerName method is responsible
for returning the name of the handler. The handler name should match the fiscal connector name that is specified
in Headquarters.
The connector supports the following requests:
SubmitDocumentFiscalDeviceRequest – This request sends documents to the fiscal registration service and
returns a response from it.
IsReadyFiscalDeviceRequest – This request is used for a health check of the fiscal registration service.
InitializeFiscalDeviceRequest – This request is used to initialize the fiscal registration service.
Configuration
The configuration file is located in the Configuration folder of the extension project. The purpose of the file is to
enable settings for the fiscal connector to be configured from Headquarters. The file format is aligned with the
requirements for fiscal integration configuration. The following settings are added:
Endpoint address – The URL of the fiscal registration service.
Timeout – The amount of time, in milliseconds, that the driver will wait for a response from the fiscal
registration service.
Advance invoices for Commerce for Eastern Europe
2/1/2020 • 3 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
The information in this topic applies to the Eastern European localization and is specific to the commerce industry.
For Poland, Hungary, and Czech Republic, when a prepayment is received from a customer via Point of Sale (POS),
the prepayment must be registered for tax purposes, and it's required to generate and print an advance invoice
document that includes the prepayment amount. Additionally, for Poland, advance invoice transactions must be
posted in the general ledger.
When the invoice for the sales order is finally posted, the final document should include the advance invoice, and
any prepayments should be indicated.
If you generate sales orders from Accounts receivable, you must manually generate advance invoices by using the
procedure in Advance invoices for Eastern Europe. If you generate sales orders via POS, the system generates and
posts the advance invoices for you.
Supported scenarios
The following scenarios are supported:
Create and post an advance invoice.
Modify a deposit amount. If a customer decides to increase the amount of a deposit, an additional advance
invoice is issued. For all other changes to the deposit amount (for example, if a customer order is edited), a
credit note is created for the advance invoice that was previously generated, and a new advance invoice is
generated and posted for the corrected amount.
Cancel a sales order that has linked advance invoices. In this case, a credit note is created for the advance
invoice.
Post a sales order invoice that has linked advance invoices. The advance invoice that is linked to a sales order is
reversed for the amount of the sales invoice. The advance invoice transactions are settled with advance invoice
reversal transactions.
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This article contains information about Eastern European localization specific for the commerce industry.
In accordance with the Eastern Europe accounting requirements, you can set up operations for cash accounts to
automate the processes for receipts, cash documents and cash reports. For more information, go to (EEUR) Set up
parameters for cash management.
Retailers can accept various types of payment in exchange for the products and services that they sell. Although
cash is the most common form of payment, retailers can also receive payment in the form of checks, cards, or
vouchers. In Retail point of sale (POS), cash, credit card receipts, and other payments are processed through a cash
office.
You can do the following by using Cash management in Commerce:
Create a cash account for the selected payment method for each store.
Use cash journals to post cash transactions and customer payments that are received at a retail POS.
Aggregate transactions in a statement line when you post a statement. You can aggregate safe drops, bank
drops, voucher transactions, remove tender transactions, float entry transactions, income transactions, expense
transactions, customer payments, sales transactions, and return transactions.
All transactions that take place in POS are posted using a ledger journal. You can use cash payment journals,
customer payment journals, and general journals to create and post the statements. For more information, go to
Create, calculate, and post statements for a retail store.
On the Posted statements page, on the Action Pane, you can do the following:
Go to Inquiries > Cash payment journal to access the cash payment journals that are related to the
statement.
Go to Inquiries > General journal to access the ledger journals that are related to the statement, other than
customer payments and cash payments.
NOTE
You can select Cash account in the Account type field only if you select Normal or Tender remove/float in the
Function field.
6. In the Account number field, select a cash account number for the payment method.
7. In the Tender remove/float field group, in the Offset account field, select the offset account to post
remove tender or float entry transactions for the payment method.
NOTE
You must set up offset accounts for both the cash tender payment method and the remove tender or float entry payment
method for a store. This creates balanced general ledger entries for remove tender or float entry transactions.
Customer invoices and return sales orders in Eastern
European countries
2/1/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This topic describes how to set up information for customer invoices and return sales orders in Eastern European
countries.
You can set up the following information for customer invoices and return sales orders that are generated in Retail
point of sale (POS).
You can use sales tax groups to process returns by using return sales orders. Go to Retail and Commerce
> Headquar ters setup > Parameters > Commerce parameters . Open the Posting > Invoice tab,
and then set Use sales tax group for returns to Yes .
To specify the sales tax group for returns that are made by a customer, on the Customers page, on the
Commerce FastTab, in the Sales tax group for returns field, select a sales tax group. When you post a
return sales order for a customer, the return sales order line is updated with the sales tax group for
returns that is specified in the Customers form.
To specify a sales tax group for returns that are made at a retail POS by a customer, on the Stores page,
on the General FastTab, in the Sales tax group for returns field, select a sales tax group. When you
post a return sales order for a customer of a store, the return sales order line is updated with the sales tax
group for returns that are specified on the Stores page.
You can use the posting date of a customer invoice or a return sales order as the sales date of the invoice or
return if the invoice or return does not have a default sales date. Go to Retail and Commerce >
Headquar ters setup > Parameters > Commerce parameters . Open the Posting > Invoice tab, and
then set Use posting date as sales date to Yes .
You can use the number range that is provided by the tax authorities to number Latvian and Lithuanian
customer invoices and return sales orders.
Go to Organization administration > Number sequences > Counters management . There
should be a record where Module = Sales and Type = Invoice .
Go to Organization administration > Number sequences > Invoice numbering setup . Select the
Commerce check box for the number sequence line that is used to number the customer invoices.
Deployment guidelines for Advance Invoice report
printing for Czech Republic, Hungary, and Poland
2/13/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic shows how to enable the Dynamics 365 Commerce localization for Czech Republic, Hungary, and Poland.
The localization consists of several extensions of Commerce components. These extensions let you print the
Advance Invoice report from Point of Sale (POS). For more information about localization for Czech Republic,
Hungary, and Poland, see Advance invoices for Commerce for Eastern Europe.
The localization is part of the Retail software development kit (SDK). For information, see the Retail software
development kit (SDK) architecture.
The localization consists of extensions for the Commerce runtime (CRT) and POS. To enable this localization, you
must modify the CRT configuration file and modify and build POS projects. We recommend that you use an
unmodified Retail SDK to make the changes that are described in this topic. We also recommend that you use a
source control system, such as Microsoft Visual Studio Team Services, where no files have been changed yet.
Development environment
Complete these procedures to set up a development environment, so that you can test the functionality.
CRT extension components
1. Find the extensions configuration file for CRT.
The file is named commerceruntime.ext.config , and is located in the bin\ext folder under the IIS
Commerce Scale Unit site location.
2. Register the CRT change in the extensions configuration file.
WARNING
Do not edit the commerceruntime.config file. This file isn't intended for any customizations.
2. Enable the extensions to be loaded in extensions.json by adding the following lines in the appropriate
location.
{
"extensionPackages": [
{
"baseUrl": "Microsoft/AdvanceInvoice"
}
]
}
{
"extensionPackages": [
{
"baseUrl": "Microsoft/AdvanceInvoice"
}
]
}
Production environment
Follow these steps to create deployable packages that contain Commerce components, and to apply those
packages in a production environment.
1. Complete the steps in the Cloud POS extension components or Modern POS extension components
sections earlier in this topic.
2. Make the following change in the package configuration files under the RetailSdk\Assets folder.
In the commerceruntime.ext.config configuration files, add the following lines to the composition
section.
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce, in-store, and call center. For more information
about these changes, see Microsoft Dynamics 365 Commerce.
Introduction
The Dynamics 365 Commerce functionality for Poland includes a sample integration of the point of sale (POS) with a fiscal printer. The sample extends the
fiscal integration functionality and supports the POSNET THERMAL HD 2.02 protocol for fiscal printers from Posnet Polska S.A. The sample enables
communication with a fiscal printer that is connected via a COM port by using a native software driver. It was implemented and tested by using a software
emulator that Posnet provided for the Posnet Thermal HD FV EJ fiscal printer. The sample is provided in the form of source code and is part of the Retail
software development kit (SDK).
Microsoft doesn't release any hardware, software, or documentation from Posnet. For information about how to get the fiscal printer and operate it, contact
Posnet Polska S.A.
Scenarios
The following scenarios are covered by the fiscal printer integration sample for Poland:
Sales scenarios:
Print a fiscal receipt for cash-and-carry sales and returns.
Capture a response from the fiscal printer, and store it in the channel database.
Taxes:
Map to the fiscal printer's tax codes (departments).
Transfer mapped tax data to the fiscal printer.
Payments:
Map to the fiscal printer's methods of payment.
Print payments on a fiscal receipt.
Print change information.
Print line discounts.
Gift cards:
Exclude an issued/re-charged gift card line from a fiscal receipt for a sale.
Print a payment that uses a gift card as a regular method of payment.
Print fiscal receipts for customer order operations:
A fiscal receipt isn't printed for a customer order deposit.
Print a fiscal receipt for carry-out lines of a hybrid customer order.
Print a fiscal receipt for the pickup operation for a customer order.
Print a fiscal receipt for a return order.
Print the customer information that is specified for a sales transaction on a fiscal receipt. An example of this information is the customer's VAT
number.
End of day statements (fiscal X and fiscal Z reports).
Error handling, such as the following options:
Retry fiscal registration if a retry is possible, such as if the fiscal printer isn't connected, isn't ready, or isn't responding, the printer is out of paper, or
there is a paper jam.
Postpone fiscal registration.
Skip fiscal registration, or mark the transaction as registered, and include info codes to capture the reason for the failure and additional
information.
Check the availability of the fiscal printer before a new sales transaction is opened or a sales transaction is finalized.
Default data mapping
The following default data mapping is included in the fiscal document provider configuration that is provided as part of the fiscal integration sample:
Value-added tax (VAT) rates mapping:
0 : 23.00 ; 1 : 8.00 ; 2 : 5.00 ; 3 : 0.00
Tender type mapping:
0:0;1:0;2:2;3:2;4:0;5:0;6:0;7:2;8:0
Gift cards
The fiscal printer integration sample implements the following rules that are related to gift cards:
Exclude sales lines that are related to the Issue gift card and Add to gift card operations from the fiscal receipt.
Don't print a fiscal receipt if it consists only of gift card lines.
Deduct the total amount of gift cards that are issued or re-charged in a transaction from payment lines of the fiscal receipt.
Save calculated adjustments of payment lines in the channel database with a reference to a corresponding fiscal transaction.
Payment by gift card is considered a regular payment.
Customer deposits and customer order deposits
The fiscal printer integration sample implements the following rules that are related to customer deposits and customer order deposits:
Don't print a fiscal receipt if a transaction is a customer deposit.
Don't print a fiscal receipt if a transaction contains only a customer order deposit or a customer order deposit refund.
Print the amount of the previously paid deposit on a fiscal receipt for a customer order pickup operation.
Deduct the customer order deposit amount from payment lines when a hybrid customer order is created.
Save calculated adjustments of payment lines in the channel database with a reference to a fiscal transaction for a hybrid customer order.
Limitations of the sample
The fiscal printer supports only scenarios where sales tax is included in the price. Therefore, the Price include sales tax option must be set to Yes for
both stores and customers.
Daily reports (fiscal X and fiscal Z) are printed by using the embedded Shift report format.
Printing a bar code on fiscal receipts is considered a potential customization, because this feature isn't supported in the embedded formats and can be
implemented only by using the customizable Super-format report.
The fiscal printer doesn't support mixed transactions. The Prohibit mixing sales and returns in one receipt option should be set to Yes in POS
functionality profiles.
In the HardwareStation.Extension.config configuration file, add the following line to the composition section.
3. Make the following changes in the BuildTools\Customization.settings package customization configuration file:
Add the following line to include the CRT extension in the deployable packages.
<ISV_CommerceRuntime_CustomizableFile
Include="$(SdkReferencesPath)\Contoso.Commerce.Runtime.Extensions.DocumentProvider.PosnetSample.dll"/>
Add the following line to include the Hardware station extension in the deployable packages.
<ISV_HardwareStation_CustomizableFile
Include="$(SdkReferencesPath)\Contoso.Commerce.HardwareStation.PosnetThermalFVFiscalPrinterSample.dll"/>
4. Start the MSBuild Command Prompt for Visual Studio utility, and run msbuild under the Retail SDK folder to create deployable packages.
5. Apply the packages via Microsoft Dynamics Lifecycle Services (LCS) or manually. For more information, see Create deployable packages.
Design of extensions
Commerce runtime extension design
The purpose of the extension that is a fiscal document provider is to generate printer-specific documents and handle responses from the fiscal printer.
The Commerce runtime extension is Runtime.Extensions.DocumentProvider.PosnetSample . This extension generates a set of printer-specific
commands in JavaScript Object Notation (JSON) format that are defined by POSNET specification 19-3678.
For more details about the design of the fiscal integration solution, see Fiscal registration process and fiscal integration samples for fiscal devices.
Request handler
The DocumentProviderPosnetProtocol request handler is the entry point for the request to generate documents from the fiscal printer.
The handler is inherited from the INamedRequestHandler interface. The HandlerName method is responsible for returning the name of the handler. The
handler name should match the connector document provider name that is specified in Headquarters.
The connector supports the following requests:
GetFiscalDocumentDocumentProviderRequest – This request contains information about what document should be generated. It returns a printer-
specific document that should be registered in the fiscal printer.
GetSuppor tedRegistrableEventsDocumentProviderRequest – This request returns the list of events to subscribe to. Currently, the following events
are supported: sales, printing X report, and printing Z report.
Configuration
The configuration file is found in the Configuration folder of the extension project. The purpose of the file is to enable settings for the document provider to
be configured from Headquarters. The file format is aligned with the requirements for fiscal integration configuration. The following settings are added:
VAT rates mapping
Tender type mapping
Deposit payment type
Hardware station extension design
The purpose of the extension that is a fiscal connector is to communicate with the fiscal printer.
The Hardware station extension is HardwareStation.Extension.PosnetThermalFVFiscalPrinterSample . This extension calls the functions of the POSNET
driver to submit commands that the Commerce runtime extension generates to the fiscal printer. It also handles device errors.
Request handler
The FiscalPrinterHandler request handler is the entry point for handling the request to the fiscal peripheral device.
The handler is inherited from the INamedRequestHandler interface. The HandlerName method is responsible for returning the name of the handler. The
handler name should match the fiscal connector name that is specified in Headquarters.
The connector supports the following requests:
SubmitDocumentFiscalDeviceRequest – This request sends documents to printers and returns the response from the fiscal printer.
IsReadyFiscalDeviceRequest – This request is used for a health check of the device.
InitializeFiscalDeviceRequest – This request is used for printer initialization.
Configuration
The configuration file is located in the Configuration folder of the extension project. The purpose of the file is to enable settings for the connector to be
configured from Headquarters. The file format is aligned with the requirements for fiscal integration configuration. The following settings are added:
Connection string – This string describes the details of the connection to the device in a format that is supported by the driver. For details, see the
POSNET driver documentation.
Date and time synchronization – This setting specifies whether the date and time of the printer must be synced with the connected Hardware station.
Device timeout – The amount of time, in milliseconds, that the driver will wait for a response from the device. For details, see the POSNET driver
documentation.
Fiscal registration service integration sample for Czech Republic
2/13/2020 • 18 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce, in-store, and call center. For more information about
these changes, see Microsoft Dynamics 365 Commerce.
Introduction
To meet local fiscal requirements for cash registers in the Czech Republic, the Dynamics 365 Commerce functionality for the Czech Republic includes a sample
integration of the point of sale (POS) with an external fiscal registration service. The sample extends the fiscal integration functionality. It's based on the EFR
(Electronic Fiscal Register) solution from EFSTA and enables communication with the EFR service via the HTTPS protocol. The EFR service ensures Electronic
Registration of Sales (EET - Elektronická evidence tržeb), that is, the online transmission of the sales data to a fiscal web service of tax authorities.
The EFR service should be hosted on either the Commerce Hardware station or a separate machine that can be connected to from the Hardware station. The
sample is provided in the form of source code and is part of the Retail software development kit (SDK).
Microsoft doesn't release any hardware, software, or documentation from EFSTA. For information about how to get the EFR solution and operate it, contact EFSTA.
Scenarios
The following scenarios are covered by the fiscal registration service integration sample for the Czech Republic.
Registration of cash transactions in the fiscal registration service.
Send detailed transaction data to the fiscal registration service. This data includes sales line information, and information about discounts, payments, and
taxes. The fiscal registration service further sends the data to the web-service of tax authorities and receives a confirmation from it that includes the
fiscal identification code of the transaction.
Capture a response from the fiscal registration service. This response includes fiscal data such as the fiscal identification code and the security code of
the transaction, etc.
Print the fiscal data for a registered transaction on the receipt.
Registration of gift card operations and customer deposits in the fiscal registration service.
Issue or add money to a gift card.
Register a customer account deposit.
Create a customer order and register a deposit for the order.
Edit a customer order and override the deposit for the order.
Cancel a customer order and refund the deposit for the order.
Error handling, such as the following options.
Retry fiscal registration if a retry is possible, such as if the fiscal registration service isn't available, isn't ready, or isn't responding.
Postpone fiscal registration.
Skip fiscal registration, or mark the transaction as registered, and include info codes to capture the reason for the failure and additional information.
Check the availability of the fiscal registration service before a new sales transaction is opened or a sales transaction is finalized.
Default data mapping
The following default data mapping is included in the fiscal document provider configuration that is provided as part of the fiscal integration sample.
Value-added tax (VAT) rates mapping:
A: 21.00; B: 15.00; C: 10.00; Z: 0.00
Default VAT group mapping. Any VAT amounts that cannot be mapped to one of the predetermined VAT groups will be attributed to the default (basic) VAT
group:
A
Deposit VAT group mapping. Customer deposit amounts and customer order deposit amounts will be attributed to the deposit VAT group:
Z
Gift cards
The fiscal registration service integration sample implements the following rules that are related to gift cards.
Sales lines that are related to the Issue gift card or Add to gift card operations in a sales transaction are marked with a special attribute when the transaction is
registered in the fiscal registration service.
A payment by gift card is considered a regular payment and marked with a special attribute when the transaction is registered in the fiscal registration service.
Customer account deposits and customer order deposits
The fiscal registration service integration sample implements the following rules that are related to customer account deposits and customer order deposits.
A transaction that is related to a customer account deposit or a customer order deposit is registered in the fiscal registration service as a single line transaction
and is marked with a special attribute. The deposit VAT group is specified in this line.
When a hybrid customer order is created, that is, a customer order that contains products that can be carried out of the store by the customer, as well as
products that will be picked up or shipped later, the transaction registered in the fiscal registration service contains lines for the products that are carried out, as
well as a line for the order deposit.
A payment from a customer account is considered a regular payment and marked with a special attribute when the transaction is registered in the fiscal
registration service.
The customer order deposit amount that is applied to a customer order Pick up operation is considered a regular payment and marked with a special attribute
when the transaction is registered in the fiscal registration service.
Offline registration
If the fiscal registration service fails to transmit transaction data to the fiscal web service of tax authorities (e.g. due to the response timeout) and to receive a
confirmation from the web-service (that is, the fiscal identification code of the transaction), it generates a local signature for the transaction and includes it and a
special error code in the response. The fiscal registration service resends transactions in original order in background as soon as the network connection is
restored.
Limitations of the sample
The fiscal registration service supports only scenarios where sales tax is included in the price. Therefore, the Price include sales tax option must be set to Yes for
both stores and customers.
On the Custom fields page, add the following records for the custom fields for receipt layouts. Note that Caption text ID values must correspond to the Text ID
values that you specified on the Language text page:
DocumentProvider.DataModelEFR component
1. Find the Runtime.Extensions.DocumentProvider.DataModelEFR project, and build it.
2. In the Runtime.Extensions.DocumentProvider.DataModelEFR\bin\Debug folder, find the
Contoso.Commerce.Runtime.DocumentProvider.DataModelEFR.dll assembly file.
3. Copy the assembly file to the CRT extensions folder:
Commerce Scale Unit: Copy the assembly to the \bin\ext folder under the IIS Commerce Scale Unit site location.
Local CRT on Modern POS: Copy the assembly to the \ext folder under the local CRT client broker location.
4. Find the extension configuration file for CRT:
Commerce Scale Unit: The file is named commerceruntime.ext.config , and it's in the bin\ext folder under the IIS Commerce Scale Unit site
location.
Local CRT on Modern POS: The file is named CommerceRuntime.MPOSOffline.Ext.config , and it's under the local CRT client broker location.
5. Register the CRT change in the extension configuration file.
In the HardwareStation.Extension.config configuration file, add the following line to the composition section.
2. Make the following changes in the BuildTools\Customization.settings package customization configuration file.
Add the following lines to include the CRT extensions in the deployable packages.
Add the following line to include the Hardware station extension in the deployable packages.
3. Start the MSBuild Command Prompt for Visual Studio utility, and run msbuild under the Retail SDK folder to create deployable packages.
4. Apply the packages via Microsoft Dynamics Lifecycle Services (LCS) or manually. For more information, see Create deployable packages.
5. Complete all the required setup tasks that are described in the Set up Commerce for Czech Republic section.
Design of extensions
Commerce runtime extension design
The purpose of the extension that is a fiscal document provider is to generate service-specific documents and handle responses from the fiscal registration service.
The CRT extension is Runtime.Extensions.DocumentProvider.EFRSample .
For more details about the design of the fiscal integration solution, see Fiscal registration process and fiscal integration samples for fiscal devices.
Request handler
There is a single DocumentProviderEFRFiscalCZE request handler for document provider, which is used to generate fiscal documents for the fiscal registration
service.
This handler is inherited from the INamedRequestHandler interface. The HandlerName method is responsible for returning the name of the handler. The
handler name should match the connector document provider name that is specified in Headquarters.
The connector supports the following requests.
GetFiscalDocumentDocumentProviderRequest – This request contains information about what document should be generated. It returns a service-
specific document that should be registered in the fiscal registration service.
GetSuppor tedRegistrableEventsDocumentProviderRequest – This request returns the list of events to subscribe to. Currently, the following events are
supported: sales, customer account deposits and customer order deposits.
GetFiscalRegisterResponseToSaveDocumentProviderRequest – This request returns the response from the fiscal registration service. This response is
serialized to form a string so that it's ready to be saved.
Configuration
The DocumentProviderFiscalEFRSampleCzech configuration file is located in the Configuration folder of the extension project. The purpose of this file is to
enable settings for the document provider to be configured from Headquarters. The file format is aligned with the requirements for fiscal integration
configuration. The following settings are added.
VAT rates mapping
Default VAT group
Deposit VAT group
Hardware station extension design
The purpose of the extension that is a fiscal connector is to communicate with the fiscal registration service.
The Hardware station extension is HardwareStation.Extension.EFRSample . The Hardware station extension uses the HTTP protocol to submit documents that
the CRT extension generates to the fiscal registration service. It also handles the responses that are received from the fiscal registration service.
Request handler
The EFRHandler request handler is the entry point for handling requests to the fiscal registration service.
The handler is inherited from the INamedRequestHandler interface. The HandlerName method is responsible for returning the name of the handler. The
handler name should match the fiscal connector name that is specified in Headquarters.
The connector supports the following requests.
SubmitDocumentFiscalDeviceRequest – This request sends documents to the fiscal registration service and returns a response from it.
IsReadyFiscalDeviceRequest – This request is used for a health check of the fiscal registration service.
InitializeFiscalDeviceRequest – This request is used to initialize the fiscal registration service.
Configuration
The configuration file is located in the Configuration folder of the extension project. The purpose of the file is to enable settings for the fiscal connector to be
configured from Headquarters. The file format is aligned with the requirements for fiscal integration configuration. The following settings are added.
Endpoint address – The URL of the fiscal registration service.
Timeout – The amount of time, in milliseconds, that the driver will wait for a response from the fiscal registration service.
Cash register functionality for France
2/13/2020 • 16 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic provides an overview of the cash register functionality that is available for France in Dynamics 365
Commerce. It also provides guidelines for setting up the functionality.
The functionality consists of the following parts:
Common point-of-sale (POS) features that are available to customers in all countries or regions. Examples
include an option to register various events in the POS audit log.
France-specific features, such as digital signatures for sales transactions.
Overview
Common POS features
To learn about POS features that are available to customers in all countries or regions, see Commerce home page.
The following POS localization features that are available to customers in all countries or regions can now be used
specifically for France:
Register additional events in the POS audit event log. If the Audit option in the POS functionality
profile is set to Yes , the following events are registered in the POS audit event log:
Sign-in
Sign-out
Printing a copy of a receipt
Starting offline mode
Ending offline mode
Cleanup of transactions from the channel database
France -specific POS features
The following France-specific POS features are enabled when the ISO code field in the POS functionality profile is
set to FR .
Digital signing overview
The following types of data (transactions and events) are digitally signed in POS:
Sales transactions
Copies of receipts
Closed shift/Z reports
Audit events
The signature is created and recorded in the channel database at the same time that the transaction is finalized or
the event is registered. The data that is signed is a text string that consists of several data fields. These fields vary,
depending on the type of data. The general signing process consists of the following steps:
1. Based on the type of data, select the next sequential number for signing purposes.
2. Extract the data fields that must be signed from the record that is being signed.
3. Build a string that consists of a comma-separated list of the data fields.
4. Add the previous signature for the same type of data.
5. Calculate a hash code of the string by using the SHA-x algorithm.
6. Encrypt the resulting string by using a digital certificate.
7. Do the base64url transformation for the resulting string.
8. Store the string that is used for signing, the sequential number, the signature, and the thumbprint of the
certificate in a fiscal response record that is linked to the transaction or event.
9. Transfer the fiscal response to the enterprise resource planning (ERP) system in Headquarters, together with the
transaction or event.
Digital signing of sales transactions
Only transactions for cash sales are signed. Here are some examples of transactions that are excluded from the
signing process:
Prepayments (customer account deposits)
Quotations
Prepayments for sales orders (customer order deposits)
Issuing a gift card and adding funds to a gift card
Non-sales transactions (float entry, tender removal, and so on)
The data that is signed for a sales transaction is a text string that consists of the following data fields:
1. The total amount of sales lines. The amount includes tax per tax rate.
2. The total amount of sales. The amount includes tax.
3. The date and time of the transaction, in the format YYYYMMDDHHMMSS.
4. The register number.
5. The sequential number of the signed sales transaction.
6. The type of sales transaction.
7. A value (Y/N) that indicates whether the transaction is the first signed sales transaction for the register.
8. The previous signature for the same register. A blank value is used for the first signed sales transaction.
You can view the transaction signature, together with the transaction data that was used to generate it, on the
Fiscal transactions FastTab of the Store transactions page in Headquarters.
Digital signing of receipt copies
When a copy of a receipt is printed, the event is registered in the POS audit event log. Only copies of receipts for
signed sales transactions are signed. The data that is signed for a receipt copy event is a text string that consists of
the following data fields:
1. The receipt number of the original sales transaction.
2. The type of transaction for the original sales transaction.
3. The number of the receipt copy for this sales transaction.
4. The staff ID of the operator who is printing the receipt copy.
5. The date and time of the receipt copy event, in the format YYYYMMDDHHMMSS.
6. The sequential number of the signed receipt copy event.
7. A value (Y/N) that indicates whether the transaction is the first signed receipt copy event for the register.
8. The previous signature for the same register. A blank value is used for the first signed receipt copy event.
You can view the signature of the receipt copy, together with the event data that was used to generate it, on the
Signature tab of the Audit events page in Headquarters.
Digital signing of closed shifts
When a shift is closed, the event is registered in the POS audit event log. The data that is signed for a shift closing
event is a text string that consists of the following data fields:
1. The total amount of sales. The amount includes tax per tax rate.
2. The total amount of sales. The amount includes tax.
3. The date and time of the shift closing event, in the format YYYYMMDDHHMMSS.
4. The sequential number of the shift closing event.
5. A value (Y/N) that indicates whether the transaction is the first signed shift closing event for the register.
6. The previous signature for the same register. A blank value is used for the first signed shift closing event.
You can view the signature of a closed shift, together with the shift data that was used to generate it, on the
Signature tab of the Shifts page in Headquarters.
Digital signing of events
The data that is signed for an event other than a receipt copy or shift closing event is a text string that consists of
the following data fields:
1. The sequential number of the signed event.
2. A predefined event code.
3. A description of the event.
4. The date and time of the event.
5. The staff ID of the operator who raised the event.
6. The register number.
7. A value (Y/N) that indicates whether the transaction is the first signed event for the register.
8. The previous signature for the same register. A blank value is used for the first signed event.
You can view the event signature, together with the event data that was used to generate it, on the Signature tab
of the Audit events page in Headquarters.
Receipts
Receipts for France can include additional information that was implemented by using custom fields:
Transaction type – You can add a field to a receipt format layout to identify the type of transaction. For
example, a sales receipt will include the text "Sales."
Sequential number of signed sales transaction – A receipt can include the sequential number of a
signed sales transaction. This number is used to associate the printed receipt with a digital signature in the
database.
Extract from digital signature – A receipt can include an extract from the digital signature. This extract is
used to confirm that the transaction is signed. It consists of a concatenation of the third, seventh, thirteenth,
and nineteenth symbols of the signature.
Reprint number – An original receipt or a receipt copy can include the number of the receipt copy. For an
original receipt, the value is 0 (zero).
Line count – A receipt can include the number of printed item lines on the receipt.
Sales totals – Custom fields for receipt totals exclude non-sales amounts from the total transaction
amounts. Non-sales amounts include amounts for the following operations:
Prepayments (customer account deposits)
Prepayments for sales orders (customer order deposits)
Issuing a gift card
Adding funds to a gift card
Cer tification data – A receipt can include the category and number of the certificate of compliance that an
authorized body issued per the NF 525 certification requirements.
Build number – A receipt can include the POS build number.
Restricting the duration of shifts
There is an option to enforce daily shift closing in POS. A shift can't last longer than the time that is specified in the
Shift closing time field. Several minutes before that time, the operator will start to receive warnings that the shift
must be closed. The number of minutes is determined by the value of the Shift closing inter val (minutes) field.
X and Z reports
The information that is included on X and Z reports is based on French requirements:
Total sales for the shift. This information includes amounts only for cash sales transactions. Prepayments and
operations for issuing a gift card are excluded.
Total returns for the shift.
Cumulative grand total . This amount is calculated as the cumulative grand total amount of the previous shift
plus the total sales amount of this shift minus the absolute value of the total returns amount of this shift.
Cumulative perpetual grand total . This amount is calculated as the cumulative perpetual grand total
amount of the previous shift plus the total sales amount of this shift plus the absolute value of the total returns
amount of this shift.
Value-added tax (VAT) amounts per tax rate.
The totals are also stored in the closed shift record and transferred to Headquarters.
Period grand total journal
Period grand total journals summarize sales totals per store and fiscal period.
Period grand total journals are maintained on the Period grand total journal page. To create a new journal, you
must specify a store. If previous journals exist for the store, the next fiscal period after the last closed journal for the
store is automatically used as the new journal period. If previous journals do not exist, you can specify the end date
of the journal. In this case, the fiscal period that includes the specified date is used as the journal period.
The journal can then be calculated. Shifts that were closed during the journal period are selected, and totals are
calculated for those shifts. You can view the journal's tax totals per sales tax code. You can also view the shifts that
are included in the journal.
After the journal is calculated, it can be closed. A closed journal can't be modified, and another journal can't be
created for a previous period, the same period, or an intersecting period. However, the last closed journal for a
store can be canceled. In that case, another journal can be created for the same store and period.
A closed journal is digitally signed. You can view the journal signature, together with the journal data that was used
to generate it, on the Signature details tab of the Period grand total journal page in Headquarters.
Archive
An archive is an XML file that can be exported from a Period grand total journal that has been closed. It includes
the totals for the closed period, and also includes detailed data about sales transactions and events. The exported
file is digitally signed, and the signature is contained in a separate file.
The archive format is implemented by using Electronic reporting (ER).
On the Custom fields page, add the following records for the custom fields for receipt layouts. Note that Caption
text ID values must correspond to the Text ID values that you specified on the Language text page.
NOTE
You only need to complete the steps of this section if you are updating an existing evironment.
To enable audit events, you must reinitialize the Commerce Extensible enumerations. To enable transmitting
France-specific data from POS to HQ, you must reinitialize the Commerce Scheduler.
On the General FastTab of the Commerce parameters page, click Initialize . For more information, see Initialize
seed data in new Retail environments
There is an option to separately configure the scheduler. Click Commerce scheduler > Initialize commerce
scheduler . On the Initialize Commerce scheduler page, click OK .
Configure channel components
To enable France-specific functionality, you must configure extensions for channel components. For more
information, see the deployment guidelines.
Deployment guidelines for cash registers for France
2/13/2020 • 19 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic is a deployment guide that shows how to enable the Dynamics 365 Commerce localization for France.
The localization consists of several extensions of components. For example, the extensions let you print custom
fields on receipts, register additional audit events, sales transactions, and payment transactions in Point of Sale
(POS), digitally sign sales transactions, and print X and Z reports in local formats. For more information about the
localization for France, see Cash register functionality for France.
This localization is part of the Retail software development kit (SDK). For information about how to install and use
the SDK, see the Retail software development kit (SDK) architecture.
This localization consists of extensions for the Commerce runtime (CRT), Retail Server, and POS. To run this sample,
you must modify and build the CRT, Retail Server, and POS projects. We recommend that you use an unmodified
Retail SDK to make the changes that are described in this topic. We also recommend that you use a source control
system, such as Microsoft Visual Studio Online (VSO), where no files have been changed yet.
NOTE
In Commerce 10.0.8 and above, Retail Server is known as Commerce Scale Unit. Because this topic applies to multiple
previous versions of the app, Retail Server is used throughout the topic.
Client ID – An interactive client ID of the Azure Active Directory (Azure AD) application that is associated
with the Azure Key Vault storage for authentication purposes. This client should have access to read secrets
from the Azure Key Vault storage.
Client secret – A secret key that is associated with the Azure AD application that is used for authentication
in the Azure Key Vault storage.
NOTE
The thumbprint of the certificate that is used for digital signing should be specified in the configuration file of the
SequentialSignatureRegister assembly, even if the certificate is stored in Azure Key Vault storage. For more information, see
the SequentialSignatureRegister component section later in this topic.
NOTE
By default, the certificate category and number that are assigned are printed. If you're implementing Commerce, you
must override the certificate category and number.
If you customize the POS application, and your customizations affect the compliance of the application, you might
have to request a new certificate of compliance from an accredited body. In this case, you must override the build
number, and the certificate category and number. Otherwise, the default values for the certificate category and
number will be printed, but you must still specify the POS build number that Microsoft assigned to the POS
application.
Overriding the build number
The software version/build number and publisher are specified in
RetailSDK\BuildTools\Customization.settings .
/// <summary>
/// Certification category.
/// </summary>
private const string CertificationCategory = "C";
/// <summary>
/// Certificate number.
/// </summary>
private const string CertificateNumber = "18/0202";
NOTE
You must also override the certificate category and number if you're implementing Commerce. In this case, use the certificate
category and number that are provided in the Specifying application attributes that will be printed on receipts section earlier
in this topic.
Development environment
Follow these steps to set up a development environment so that you can test and extend the localization
functionality.
CRT extension components
The CRT extension components are included in the CRT samples. To complete the following procedures, open the
CRT solution, CommerceRuntimeSamples.sln , under RetailSdk\SampleExtensions\CommerceRuntime .
CommonFrance component
1. Find the Runtime.Extensions.CommonFrance project, and build it.
2. In the Extensions.CommonFrance\bin\Debug folder, find the
Contoso.Commerce.Runtime.CommonFrance.dll assembly file.
3. Copy the assembly file to the CRT extensions folder:
Retail Ser ver : Copy the assembly to the \bin\ext folder under the Microsoft Internet Information
Services (IIS) Retail Server site location.
Local CRT on Modern POS: Copy the assembly to the \ext folder under the local CRT client broker
location.
4. Find the extension configuration file for CRT:
Retail Ser ver : The file is named commerceruntime.ext.config , and it's in the bin\ext folder under
the IIS Retail Server site location.
Local CRT on Modern POS: The file is named CommerceRuntime.MPOSOffline.Ext.config , and it's
under the local CRT client broker location.
5. Register the CRT change in the extension configuration file.
ReceiptsFrance component
1. Find the Runtime.Extensions.ReceiptsFrance project, and build it.
2. In the Extensions.ReceiptsFrance\bin\Debug folder, find the
Contoso.Commerce.Runtime.ReceiptsFrance.dll assembly file.
3. Copy the assembly file to the CRT extensions folder:
Retail Ser ver : Copy the assembly to the \bin\ext folder under the IIS Retail Server site location.
Local CRT on Modern POS: Copy the assembly to the \ext folder under the local CRT client broker
location.
4. Find the extension configuration file for CRT:
Retail Ser ver : The file is named commerceruntime.ext.config , and it's in the bin\ext folder under
the IIS Retail Server site location.
Local CRT on Modern POS: The file is named CommerceRuntime.MPOSOffline.Ext.config , and it's
under the local CRT client broker location.
5. Register the CRT change in the extension configuration file.
SalesPaymentTransExt component
1. Find the Runtime.Extensions.SalesPaymentTransExt project, and build it.
2. In the Extensions.SalesPaymentTransExt\bin\Debug folder, find the
Contoso.Commerce.Runtime.SalesPaymentTransExt.dll assembly file.
3. Copy the assembly file to the CRT extensions folder:
Retail Ser ver : Copy the assembly to the \bin\ext folder under the IIS Retail Server site location.
Local CRT on Modern POS: Copy the assembly to the \ext folder under the local CRT client broker
location.
4. Find the extension configuration file for CRT:
Retail Ser ver : The file is named commerceruntime.ext.config , and it's in the bin\ext folder under
the IIS Retail Server site location.
Local CRT on Modern POS: The file is named CommerceRuntime.MPOSOffline.Ext.config , and it's
under the local CRT client broker location.
5. Register the CRT change in the extension configuration file.
SalesPaymentTransExtFrance component
1. Find the Runtime.Extensions.SalesPaymentTransExtFrance project, and build it.
2. In the Extensions.SalesPaymentTransExtFrance\bin\Debug folder, find the
Contoso.Commerce.Runtime.SalesPaymentTransExtFrance.dll assembly file.
3. Copy the assembly file to the CRT extensions folder:
Retail Ser ver : Copy the assembly to the \bin\ext folder under the IIS Retail Server site location.
Local CRT on Modern POS: Copy the assembly to the \ext folder under the local CRT client broker
location.
4. Find the extension configuration file for CRT:
Retail Ser ver : The file is named commerceruntime.ext.config , and it's in the bin\ext folder under
the IIS Retail Server site location.
Local CRT on Modern POS: The file is named CommerceRuntime.MPOSOffline.Ext.config , and it's
under the local CRT client broker location.
5. Register the CRT change in the extension configuration file.
SequentialSignatureFrance component
1. Find the Runtime.Extensions.SequentialSignatureFrance project, and build it.
2. In the Extensions.SequentialSignatureFrance\bin\Debug folder, find the
Contoso.Commerce.Runtime.SequentialSignatureFrance.dll assembly file.
3. Copy the assembly file to the CRT extensions folder:
Retail Ser ver : Copy the assembly to the \bin\ext folder under the IIS Retail Server site location.
Local CRT on Modern POS: Copy the assembly to the \ext folder under the local CRT client broker
location.
4. Find the extension configuration file for CRT:
Retail Ser ver : The file is named commerceruntime.ext.config , and it's in the bin\ext folder under
the IIS Retail Server site location.
Local CRT on Modern POS: The file is named CommerceRuntime.MPOSOffline.Ext.config , and it's
under the local CRT client broker location.
5. Register the CRT change in the extension configuration file.
<add source="assembly" value="Contoso.Commerce.Runtime.SequentialSignatureFrance" />
SequentialSignatureRegister component
1. Find the Runtime.Extensions.SequentialSignatureRegister project.
2. Modify the App.config file by specifying the thumbprint, store location, and store name for the certificate
that should be used to sign sales transactions. The cer tificateThumbprint property is the only mandatory
property. The value must be a string that is 40 characters long in upper case and that doesn't include any
delimiters. For more information, see How to retrieve the thumbprint of a certificate.
SequentialSignatureRegister.Contracts component
1. Find the Runtime.Extensions.SequentialSignatureRegister.Contracts project, and build it.
2. In the Extensions.SequentialSignatureRegister.Contracts\bin\Debug folder, find the
Contoso.Commerce.Runtime.SequentialSignatureRegister.Contracts.dll assembly file.
3. Copy the assembly file to the CRT extensions folder:
Retail Ser ver : Copy the assembly to the \bin\ext folder under the IIS Retail Server site location.
Local CRT on Modern POS: Copy the assembly to the \ext folder under the local CRT client broker
location.
XZReportsFrance component
1. Find the Runtime.Extensions.XZRepor tsFrance project, and build it.
2. In the Extensions.XZRepor tsFrance\bin\Debug folder, find the
Contoso.Commerce.Runtime.XZRepor tsFrance.dll assembly file.
3. Copy the assembly file to the CRT extensions folder:
Retail Ser ver : Copy the assembly to the \bin\ext folder under the IIS Retail Server site location.
Local CRT on Modern POS: Copy the assembly to the \ext folder under the local CRT client broker
location.
4. Find the extension configuration file for CRT:
Retail Ser ver : The file is named commerceruntime.ext.config , and it's in the bin\ext folder under
the IIS Retail Server site location.
Local CRT on Modern POS: The file is named CommerceRuntime.MPOSOffline.Ext.config , and it's
under the local CRT client broker location.
5. Register the CRT change in the extension configuration file.
RestrictingShiftDuration component
Retail 7.3.2 and later
Retail 7.3.5 and later
Retail 8.1.1 and later
1. Find the Runtime.Extensions.RestrictingShiftDuration project, and build it.
2. In the Extensions.RestrictingShiftDuration\bin\Debug folder, find the
Contoso.Commerce.Runtime.RestrictingShiftDuration.dll assembly file.
3. Copy the assembly file to the CRT extensions folder:
Retail Ser ver : Copy the assembly to the \bin\ext folder under the IIS Retail Server site location.
Local CRT on Modern POS: Copy the assembly to the \ext folder under the local CRT client broker
location.
4. Find the extension configuration file for CRT:
Retail Ser ver : The file is named commerceruntime.ext.config , and it's in the bin\ext folder under
the IIS Retail Server site location.
Local CRT on Modern POS: The file is named CommerceRuntime.MPOSOffline.Ext.config , and it's
under the local CRT client broker location.
5. Register the CRT change in the extension configuration file.
NOTE
Modern POS must not be customized. You must enable User Account Control (UAC), and you must uninstall
previously installed instances of Modern POS as required.
2. Include the following existing source code folders in the Pos.Extensions project.
Retail 7.3.2 and later
Retail 7.3.5 and later
Retail 8.1.1 and later
SalesTransactionSignatureSample
SequentialSignature
AuditEventSignatureSample
RestrictingShiftDuration
SalesTransBuildNumberSample
NOTE
To view all files in the project folder, not just the files that are included in the project, select the Show All Files
button in Solution Explorer. If this button isn't available, make sure that you selected the project. The icons of files and
folders that aren't currently part of the project have a dotted outline. Right-click the folder to include in the project,
and then select Include in Project .
3. Enable the extensions to be compiled by removing the following folders from the exclude list in
tsconfig.json :
Retail 7.3.2 and later
Retail 7.3.5 and later
Retail 8.1.1 and later
SalesTransactionSignatureSample
SequentialSignature
AuditEventSignatureSample
RestrictingShiftDuration
SalesTransBuildNumberSample
4. Enable the extensions to be loaded by adding the following lines in extensions.json :
Retail 7.3.2 and later
Retail 7.3.5 and later
Retail 8.1.1 and later
{
"baseUrl": "SalesTransactionSignatureSample"
},
{
"baseUrl": "SequentialSignature"
},
{
"baseUrl": "AuditEventSignatureSample"
},
{
"baseUrl": "RestrictingShiftDuration"
},
{
"baseUrl": "SalesTransBuildNumberSample"
}
NOTE
For more information, and for samples that show how to include source code folders and enable extensions to be
loaded, see the instructions in the readme.md file in the Pos.Extensions project.
NOTE
To view all files in the project folder, not just the files that are included in the project, select the Show All Files
button in Solution Explorer. If this button isn't available, make sure that you selected the project. The icons of files and
folders that aren't currently part of the project have a dotted outline. Right-click the folder to include in the project,
and then select Include in Project .
3. Enable the extensions to be compiled by removing the following folders from the exclude list in
tsconfig.json :
Retail 7.3.2 and later
Retail 7.3.5 and later
Retail 8.1.1 and later
SalesTransactionSignatureSample
SequentialSignature
AuditEventSignatureSample
RestrictingShiftDuration
SalesTransBuildNumberSample
4. Enable the extensions to be loaded by adding the following lines in extensions.json :
Retail 7.3.2 and later
Retail 7.3.5 and later
Retail 8.1.1 and later
{
"baseUrl": "SalesTransactionSignatureSample"
},
{
"baseUrl": "SequentialSignature"
},
{
"baseUrl": "AuditEventSignatureSample"
},
{
"baseUrl": "RestrictingShiftDuration"
},
{
"baseUrl": "SalesTransBuildNumberSample"
}
NOTE
For more information, and for samples that show how to include source code folders and enable extensions to be
loaded, see the instructions in the readme.md file in the Pos.Extensions project.
Production environment
Follow these steps to create deployable packages that contain Commerce components, and to apply those
packages in a production environment.
1. Complete the steps in the Cloud POS extension components or Modern POS extension components section
earlier in this topic.
2. Make the following changes in the package configuration files under the RetailSdk\Assets folder:
a. In the commerceruntime.ext.config and CommerceRuntime.MPOSOffline.Ext.config
configuration files, add the following lines to the composition section:
Retail 7.3.2 and later
Retail 7.3.5 and later
Retail 8.1.1 and later
To use a certificate that is stored in Azure Key Vault storage for digital signing, add the following line.
NOTE
Before you add this line, complete the steps in the Storing a certificate for digital signing in Azure Key Vault
section earlier in this topic.
<ISV_RetailProxy_CustomizableFile
Include="$(SdkReferencesPath)\Contoso.Commerce.RetailProxy.SalesTransactionSignatureSample.dll"
/>
b. Add the following lines to the ItemGroup section to include the CRT extensions in the deployable
packages:
Retail 7.3.2 and later
Retail 7.3.5 and later
Retail 8.1.1 and later
<ISV_CommerceRuntime_CustomizableFile
Include="$(SdkReferencesPath)\Contoso.Commerce.Runtime.CommonFrance.dll" />
<ISV_CommerceRuntime_CustomizableFile
Include="$(SdkReferencesPath)\Contoso.Commerce.Runtime.ReceiptsFrance.dll" />
<ISV_CommerceRuntime_CustomizableFile
Include="$(SdkReferencesPath)\Contoso.Commerce.Runtime.RestrictingShiftDuration.dll" />
<ISV_CommerceRuntime_CustomizableFile
Include="$(SdkReferencesPath)\Contoso.Commerce.Runtime.SalesPaymentTransExt.dll" />
<ISV_CommerceRuntime_CustomizableFile
Include="$(SdkReferencesPath)\Contoso.Commerce.Runtime.SalesPaymentTransExtFrance.dll" />
<ISV_CommerceRuntime_CustomizableFile
Include="$(SdkReferencesPath)\Contoso.Commerce.Runtime.SequentialSignatureFrance.dll" />
<ISV_CommerceRuntime_CustomizableFile
Include="$(SdkReferencesPath)\Contoso.Commerce.Runtime.SequentialSignatureRegister.dll" />
<ISV_CommerceRuntime_CustomizableFile
Include="$(SdkReferencesPath)\Contoso.Commerce.Runtime.SequentialSignatureRegister.dll.config" />
<ISV_CommerceRuntime_CustomizableFile
Include="$(SdkReferencesPath)\Contoso.Commerce.Runtime.SequentialSignatureRegister.Contracts.dll"
/>
<ISV_CommerceRuntime_CustomizableFile
Include="$(SdkReferencesPath)\Contoso.Commerce.Runtime.XZReportsFrance.dll" />
To use a certificate that is stored in Azure Key Vault storage for digital signing, add the following line.
NOTE
Before you add this line, complete the steps in the Storing a certificate for digital signing in Azure Key Vault
section, earlier in this topic.
<ISV_CommerceRuntime_CustomizableFile
Include="$(SdkReferencesPath)\Contoso.Commerce.Runtime.DataSignatureKeyVaultSample.dll" />
c. Add the following lines to the ItemGroup section to include the Retail Server extension in the
deployable packages.
<ISV_RetailServer_CustomizableFile
Include="$(SdkReferencesPath)\Contoso.RetailServer.SalesTransactionSignatureSample.dll" />
5. Modify the certificate's configuration file by specifying the thumbprint, store location, and store name for the
certificate that should be used to sign sales transactions. Then copy the configuration file to the References
folder. The file is named Contoso.Commerce.Runtime.SequentialSignatureRegister.dll.config , and it's
under Extensions.SequentialSignatureRegister\bin\Debug .
6. Override the build number and the category and number of the certificate of compliance, as required. For
more information, see the instructions in the Specifying application attributes that will be printed on receipts
section earlier in this topic.
7. Start the MSBuild Command Prompt for Visual Studio utility, and run msbuild under the Retail SDK folder
to create deployable packages.
8. Apply the packages via Microsoft Dynamics Lifecycle Services (LCS) or manually. For more information, see
Create deployable packages.
Enable the digital signature in offline mode for Modern POS
To enable the digital signature in offline mode for Modern POS, you must follow these steps after you activate
Modern POS on a new device.
1. Sign in to POS.
2. On the Database connection status page, make sure that the offline database is fully synchronized. When the
value of the Pending downloads field is 0 (zero), the database is fully synchronized.
3. Sign out of POS.
4. Wait a while for the offline database to be fully synchronized.
5. Sign in to POS.
6. On the Database connection status page, make sure that the offline database is fully synchronized. When the
value of the Pending transactions in offline database field is 0 (zero), the database is fully synchronized.
7. Restart Modern POS.
Goods and Services Tax (GST) integration for cash
registers for India
2/1/2020 • 12 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic provides a walkthrough of the features that are related to Goods and Services Tax (GST). It also highlights
the effect of GST on various types of commerce business transactions, and shows the accounting and posting of
transactions where the receipt is printed at the point of sale (POS).
Prerequisites
Set up GST for India. For more information, see India Goods and Services Tax (GST).
Configure Commerce channel components. To enable India-specific functionality, you must configure extensions
for channel components. For more information, see the deployment guidelines.
Business verticals Retail and Commerce > Channel setup > Sales taxes >
Business verticals
Enterprise tax registration numbers Retail and Commerce > Channel setup > Sales taxes >
Enterprise tax registration numbers
GST reference number sequence group Retail and Commerce > Channel setup > Sales taxes > GST
reference number sequence group
HSN codes Retail and Commerce > Channel setup > Sales taxes > HSN
codes
Service accounting codes Retail and Commerce > Channel setup > Sales taxes > Service
accounting codes
Maintain setoff hierarchy profiles Retail and Commerce > Channel setup > Sales taxes >
Maintain setoff hierarchy profiles
VAT schedules Retail and Commerce > Channel setup > Sales taxes > VAT
schedules
Tax setup Retail and Commerce > Channel setup > Sales taxes > Tax
configuration > Tax setup
NOTE
The navigation paths for the India tax entities in Commerce differ from the navigations paths in Finance. For information
about the navigation paths in Finance, see India Goods and Services Tax (GST).
NOTE
For these transactions, the fields for the customer address and the registration number are required.
3. Validate the GST calculations. Consider the rate that is defined in the tax setup.
NOTE
In this example, the state of the store location is Delhi, and the state of the customer address is also Delhi. Because
the state is the same, intrastate GST is calculated.
e. Select OK .
f. On the Action Pane, on the Invoice tab, select Invoice journals .
g. Select Voucher .
6. Select Exact .
7. Validate the receipt.
8. Validate the sales invoice in Headquarters:
a. Go to Retail and Commerce > Retail and Commerce IT > Data distribution .
b. Run job P-0001 (Channel transactions ).
c. Close the page.
9. Post the statement:
a. Go to Retail and Commerce > Channels > Stores > Open statements .
b. Create a statement.
c. Select Calculate statement and then Post statement .
10. Validate the voucher transactions:
a. Go to Retail and Commerce > Customers > All sales orders .
b. Select the sales invoice.
c. On the Action Pane, on the Invoice tab, select Invoice journals .
d. Select Voucher .
In order to be correctly reflected in the GSTR reporting, sales credit notes should contain references to original
sales invoices. When store transactions are posted through statements, it is not always possible to establish this
reference for return transactions. You can use the Update credit notes with references to original invoices
procedure to update the Original GST transaction ID link in credit notes so that the link correctly references the
related original sales invoice. The procedure is located on the Retail and Commerce > Retail and Commerce
IT > POS posting menu.
It is also recommended that you enable the Do not aggregate returns parameter on the Commerce
parameters page. In this case, each return transaction will be posted as a separate sale order when posting a
statement. This option is only available if the transaction aggregation is enabled.
You can specify customer registration numbers, such as GSTIN, VAT number (TIN), and PAN number, when creating
or editing a customer master record and a customer address record in POS. The customer registration numbers
may be printed in receipts or used for searching customers in POS.
Configure printing customer registration numbers in receipts
To enable printing customer registration numbers in receipts, follow the procedure outlined in the Configure
language texts and custom fields section. Add language texts and custom fields with the following names:
TAXREGISTRATIONGST_IN for the GST registration number;
TAXREGISTRATIONTIN_IN for the VAT registration number;
TAXREGISTRATIONPAN_IN for the PAN number.
Add the custom fields to receipt profiles.
Enable searching customers by tax registration numbers in POS
To enable searching customers by tax registration numbers in POS, on the POS search criteria tab of the
Commerce parameters page, add a record on the Customer search criteria fast-tab and select Tax
registration number in the Customer search criteria drop-down list. Select the Display as shor tcut
checkbox while keeping the Can be refined checkbox clear. Run the 1110 job on the Distribution schedules
page.
Deployment guidelines for cash registers for India
2/1/2020 • 11 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic is a deployment guide that shows how to enable the requirements for Goods and Services Tax (GST) in
the Dynamics 365 Commerce app's localization for India. For more information about the localization for India, see
Goods and Services Tax (GST) integration for cash registers for India.
This sample is part of the Retail software development kit (SDK). For information about how to install and use the
SDK, see the Retail software development kit (SDK) architecture.
This sample consists of extensions for the Commerce runtime (CRT). To run this sample, you must modify and build
the CRT projects. We recommend that use you an unmodified Retail SDK to make the changes that are described in
this topic. We also recommend that you use a source control system, such as Microsoft Visual Studio Online (VSO),
where no files have been changed yet.
NOTE
Some steps in the procedures in this topic differ, depending on the version of the app that you're using. For more
information, see What's new or changed in Dynamics 365 Retail.
Prerequisites
Make sure that the Visual C++ Redistributable Packages are present on the machine that you're running Goods and
Services Tax (GST) calculations on. For Cloud POS, and for Modern POS in online mode, this machine is Retail
Server (Retail Server is known as Commerce Scale Unit in Commerce 10.0.8 and above). For Modern POS in offline
mode, it's the Modern POS machine itself. To get the packages, see Download the Visual C++ Redistributable
Packages.
Development environment
Follow these steps to set up a development environment so that you can test and extend the sample.
The CRT extension components
The CRT extension components are included in the CRT samples. To complete the following procedures, open the
CRT solution, CommerceRuntimeSamples.sln . You can find this solution under
RetailSdk\SampleExtensions\CommerceRuntime .
Retail 7.3.1
Retail 7.3.2 and later
Retail 8.1.3 and later
Retail 10.0 and later
Retail 10.0.6 and later
1. Find the Runtime.Extensions.GenericTaxEngine project, and build it.
2. Find the following files:
In the Extensions.GenericTaxEngine\bin\Debug folder:
Contoso.Commerce.Runtime.Extensions.GenericTaxEngine.dll
In the Reference\Newtonsoft.Json\9.0.0.0 folder:
Newtonsoft.Json.dll
In the Reference\TaxEngine folder:
Microsoft.Dynamics365.Tax.Core.dll
Microsoft.Dynamics365.Tax.DataAccessor.dll
Microsoft.Dynamics365.Tax.DataAccessFramework.dll
Microsoft.Dynamics365.Tax.DataModel.dll
Microsoft.Dynamics365.Tax.Metadata.dll
Microsoft.Dynamics365.LocalizationFramework.dll
Microsoft.Dynamics365.LocalizationFrameworkCore.dll
Microsoft.Dynamics365.ElectronicReportingMapping.dll
Microsoft.Dynamics365.XppSupportLayer.dll
Find the following folders in the Reference\Z3 folder:
x86
x64
3. Copy the 11 assembly files, and both x64 and x86 folders to the CRT extensions folder:
Retail Ser ver : Copy the assemblies to the \bin\ext folder under the Microsoft Internet Information
Services (IIS) Retail server site location.
Local CRT on Modern POS: Copy the assemblies to the \ext folder under the local CRT client broker
location.
4. Find the extensions configuration file for CRT:
Retail Ser ver : The file is named commerceruntime.ext.config , and it's in the bin\ext folder under
the IIS Retail server site location.
Local CRT on Modern POS: The file is named CommerceRuntime.MPOSOffline.Ext.config , and it's
under the local CRT client broker location.
5. Register the CRT change in the extensions configuration file.
WARNING
Do not edit the commerceruntime.config and CommerceRuntime.MPOSOffline.config files. These files aren't intended
for any customizations.
NOTE
This step doesn't apply to this version.
NOTE
This step doesn't apply to this version.
NOTE
This step doesn't apply to this version.
NOTE
This step doesn't apply to this version.
2. In the RetailProxy.MPOSOffline.ext.config configuration file under the RetailSdk\Assets folder, add the
following lines to the composition section.
Retail 7.3.1
Retail 7.3.2 and later
Retail 8.1.3 and later
Retail 10.0 and later
Retail 10.0.6 and later
NOTE
This step doesn't apply to this version.
3. Update the web configuration file. In the RetailSDK\Packages\RetailSer ver\Code\web.config file, add
the following lines to the extensionComposition section.
Retail 7.3.1
Retail 7.3.2 and later
Retail 8.1.3 and later
Retail 10.0 and later
Retail 10.0.6 and later
NOTE
This step doesn't apply to this version.
For Sdk .ModernPOSSetup.csproj and Sdk .ModernPOSSetupOffline.csproj also add the following
lines to the <Target Name="CopyPackageFiles"> section.
<Copy SourceFiles="@(_bin_ext_Z3_x86_File)"
DestinationFolder="$(OutputPath)content.folder\CustomizedFiles\ClientBroker\ext\x86"
SkipUnchangedFiles="true" />
<Copy SourceFiles="@(_bin_ext_Z3_x64_File)"
DestinationFolder="$(OutputPath)content.folder\CustomizedFiles\ClientBroker\ext\x64"
SkipUnchangedFiles="true" />
For Sdk .RetailSer verSetup.proj also add the following lines to the <Target
Name="CopyPackageFiles"> section.
<Copy SourceFiles="@(_bin_ext_Z3_x86_File)"
DestinationFolder="$(OutputPath)content.folder\RetailServer\Code\bin\ext\x86" SkipUnchangedFiles="true"
/>
<Copy SourceFiles="@(_bin_ext_Z3_x64_File)"
DestinationFolder="$(OutputPath)content.folder\RetailServer\Code\bin\ext\x64" SkipUnchangedFiles="true"
/>
NOTE
This step doesn't apply to this version.
7. Run msbuild for the whole Retail SDK to create deployable packages.
8. Apply the packages via Microsoft Dynamics Lifecycle Services (LCS) or manually. For more information, see
Create retail deployable packages.
Support for upgrade and N-1 for India
2/1/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic describes the steps needed to set up and use Phased Rollout (N-1) commerce components for India. The
upgrade procedure and the workflow for N-1 are basically the same as for a general Dynamics 365 Commerce
environment. For general information about N-1 installation and usage, see Upgrade and N-1 support for Retail.
In addition, the following steps are important for upgrade:
Both Commerce Headquarters and AX 2012 Retail components must support Goods and Services Tax (GST)
calculation. See the Prerequisites section for details.
Downgrade of the GST configuration is required to use the configuration prepared for Commerce at the AX
2012 channel side.
Distribution schedule includes additional upload and download jobs required to synchronize GST configuration
and tax calculation results between Headquarters and AX 2012 channels.
Prerequisites
Update AX 2013 R3 retail components to GST Update 2, KB4058327, or higher. For details, see India GST Update
2 - Release Notes.
Set up basic N-1 environment. For more information, refer to Phased Rollout (N-1) installation, configuration,
and cutover guide.
Set up Commerce GST for India in Headquarters according to the Goods and Services Tax (GST) integration for
cash registers for India guide.
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce, in-store, and call center. For more information about these
changes, see Microsoft Dynamics 365 Commerce.
Introduction
The Commerce functionality for Italy includes a sample integration of the point of sale (POS) with a fiscal printer. The sample extends the fiscal integration functionality
so that it works with Epson FP-90III Series printers from Epson, and it enables communication with a fiscal printer in the web server mode via the EpsonFPMate web-
service using Fiscal ePOS-Print API. The sample supports the Registratore Telematico (RT) mode only. The sample is provided in the form of source code and is part of
the Retail software development kit (SDK).
Microsoft doesn't release any hardware, software, or documentation from Epson. For information about how to get the fiscal printer and operate it, contact Epson Italia
S.p.A.
Scenarios
The following scenarios are covered by the fiscal printer integration sample for Italy:
Sales scenarios:
Print a fiscal receipt for cash-and-carry sales and returns.
Capture a response from the fiscal printer, and store it in the channel database.
Taxes:
Map to the fiscal printer's tax codes (departments).
Transfer mapped tax data to the fiscal printer.
Print taxes on a fiscal receipt.
Payments:
Map to the fiscal printer's methods of payment.
Print payments on a fiscal receipt.
Print change information.
Print line discounts.
Gift cards:
Exclude an issued/re-charged gift card line from a fiscal receipt for a sale.
Print a payment that uses a gift card as a regular method of payment.
Print fiscal receipts for customer order operations:
A fiscal receipt isn't printed for a customer order deposit.
Print a fiscal receipt for carry-out lines of a hybrid customer order.
Print a fiscal receipt for the pickup operation for a customer order.
Print a fiscal receipt for a return order.
Print a bar code for the receipt number on a fiscal receipt.
Print the customer information that is specified for a sales transaction on a fiscal receipt. An example of this information is the customer's lottery code.
End of day statements (fiscal X and fiscal Z reports).
Error handling, such as the following options:
Retry fiscal registration if a retry is possible, such as if the fiscal printer isn't connected, isn't ready or isn't responding, the printer is out of paper, or there is a
paper jam.
Postpone fiscal registration.
Skip fiscal registration, or mark the transaction as registered, and include info codes to capture the reason for the failure and additional information.
Check the availability of the fiscal printer before a new sales transaction is opened or a sales transaction is finalized.
Default data mapping
The following default data mapping is included in the fiscal document provider configuration that is provided as part of the fiscal integration sample:
Value-added tax (VAT) rates mapping:
1 : 22.00 ; 2 : 10.00 ; 3 : 4.00 ; 4 : 0.00
Tender type mapping:
1 : 0 ; 2 : 1 ; 3 : 2 ; 4 : 2 ; 5 : 0 ; 6 : 0 ; 7 : 0 ; 8 : 2 ; 9 : 0 ; 10 : 2 ; 11 : 1
Gift cards
The fiscal printer integration sample implements the following rules that are related to gift cards:
Exclude sales lines that are related to the Issue gift card and Add to gift card operations from the fiscal receipt.
Don't print a fiscal receipt if it consists only of gift card lines.
Deduct the total amount of gift cards that are issued or re-charged in a transaction from payment lines of the fiscal receipt.
Save calculated adjustments of payment lines in the channel database with a reference to a corresponding fiscal transaction.
Payment by gift card is considered a regular payment.
Customer deposits and customer order deposits
The fiscal printer integration sample implements the following rules that are related to customer deposits and customer order deposits:
Don't print a fiscal receipt if a transaction is a customer deposit.
Don't print a fiscal receipt if a transaction contains only a customer order deposit or a customer order deposit refund.
Print the amount of the previously paid deposit on a fiscal receipt for a customer order pickup operation.
Deduct the customer order deposit amount from payment lines when a hybrid customer order is created.
Save calculated adjustments of payment lines in the channel database with a reference to a fiscal transaction for a hybrid customer order.
Limitations of the sample
The fiscal printer supports only scenarios where sales tax is included in the price. Therefore, the Price include sales tax option must be set to Yes for both stores
and customers.
Daily reports (fiscal X and fiscal Z) are printed by using the format that is embedded in the fiscal printer's firmware.
The fiscal printer doesn't support mixed transactions. The Prohibit mixing sales and returns in one receipt option should be set to Yes in POS functionality
profiles.
The sample supports integration only with a fiscal printer that is working in the RT (Registratore Telematico) mode.
In the HardwareStation.Extension.config configuration file, add the following line to the composition section.
3. Make the following changes in the BuildTools\Customization.settings package customization configuration file:
Add the following line to include the CRT extension in the deployable packages.
<ISV_CommerceRuntime_CustomizableFile Include="$(SdkReferencesPath)\Contoso.Commerce.Runtime.DocumentProvider.EpsonFP90IIISample.dll"/>
Add the following line to include the Hardware station extension in the deployable packages.
<ISV_HardwareStation_CustomizableFile Include="$(SdkReferencesPath)\Contoso.Commerce.HardwareStation.EpsonFP90IIIFiscalDeviceSample.dll"/>
4. Start the MSBuild Command Prompt for Visual Studio utility, and run msbuild under the Retail SDK folder to create deployable packages.
5. Apply the packages via Microsoft Dynamics Lifecycle Services (LCS) or manually. For more information, see Create deployable packages.
Design of extensions
Commerce runtime extension design
The purpose of the extension that is a fiscal document provider is to generate printer-specific documents and handle responses from the fiscal printer.
The Commerce runtime extension is Runtime.Extensions.DocumentProvider.EpsonFP90IIISample .
For more details about the design of the fiscal integration solution, see Fiscal registration process and fiscal integration samples for fiscal devices.
Request handler
The DocumentProviderEpsonFP90III request handler is the entry point for the request to generate documents from the fiscal printer.
The handler is inherited from the INamedRequestHandler interface. The HandlerName method is responsible for returning the name of the handler. The handler
name should match the connector document provider name that is specified in Headquarters.
The connector supports the following requests:
GetFiscalDocumentDocumentProviderRequest – This request contains information about what document should be generated. It returns a printer-specific
document that should be registered in the fiscal printer.
GetSuppor tedRegistrableEventsDocumentProviderRequest – This request returns the list of events to subscribe to. Currently, the following events are
supported: sales, printing X report, and printing Z report.
Configuration
The configuration file is located in the Configuration folder of the extension project. The purpose of the file is to enable settings for the document provider to be
configured from Headquarters. The file format is aligned with the requirements for fiscal integration configuration. The following settings are added:
VAT codes mapping
VAT rates mapping
Tender type mapping
Barcode type for receipt number
Deposit payment type
Hardware station extension design
The purpose of the extension that is a fiscal connector is to communicate with the fiscal printer.
The Hardware station extension is HardwareStation.Extension.EpsonFP90IIIFiscalDeviceSample . This extension uses the HTTP protocol to submit documents that
the Commerce runtime extension generates to the fiscal printer. It also handles the responses that are received from the fiscal printer.
Request handler
The EpsonFP90IIISample request handler is the entry point for handling request to the fiscal peripheral device.
The handler is inherited from the INamedRequestHandler interface. The HandlerName method is responsible for returning the name of the handler. The handler
name should match the fiscal connector name that is specified in Headquarters.
The connector supports the following requests:
SubmitDocumentFiscalDeviceRequest – This request sends documents to printers and returns the response from the fiscal printer.
IsReadyFiscalDeviceRequest – This request is used for a health check of the device.
InitializeFiscalDeviceRequest – This request is used for printer initialization.
Configuration
The configuration file is located in the Configuration folder of the extension project. The purpose of the file is to enable settings for the connector to be configured from
Headquarters. The file format is aligned with the requirements for fiscal integration configuration. The following settings are added:
Endpoint address – The URL of the printer.
Date and time synchronization – This setting specifies whether the date and time of the printer must be synced with the connected Hardware station.
Global CFDI electronic invoices for Mexico
2/13/2020 • 5 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The Commerce functionality for Mexico supports the Comprobantes fiscales digitales por internet (CFDI) format for
Mexican companies. For more information about CFDI electronic invoices, see Electronic invoices (CFDI). When a
company closes the daily process, it must issue a Global CFDI document to consolidate all receipts that were issued
to the final consumers. This document includes the following information for each transaction that is registered
during the period:
A receipt number
A corresponding amount
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic provides an overview of the cash register functionality that is available for Norway in Dynamics 365
Commerce. It also provides guidelines for setting up the functionality. The functionality consists of the following
parts:
Common point-of-sale (POS) features that are available to customers in all countries or regions. Examples
include an option that lets you prevent a copy of a receipt from being printed more than one time.
Norway-specific features, such as digital signatures for sales transactions.
On the Custom fields page, add the following records for the custom fields for receipt layouts. Note that Caption
text ID values must correspond to the Text ID values that you specified on the Language text page.
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic is a deployment guide that shows how to enable the Dynamics 365 Commerce localization for Norway.
The localization consists of several extensions of Commerce components. For example, the extensions let you print
custom fields on receipts, register additional audit events, sales transactions, and payment transactions in Point of
Sale (POS), digitally sign sales transactions, and print X and Z reports in local formats. For more information about
the localization for Norway, see Cash register functionality for Norway.
This sample is part of the Retail software development kit (SDK). For information about the SDK, see the Retail
software development kit (SDK) architecture.
This sample consists of extensions for the Commerce runtime (CRT), Retail Server, and POS. To run this sample, you
must modify and build the CRT, Retail Server, and POS projects. We recommend that you use an unmodified Retail
SDK to make the changes that are described in this topic. We also recommend that you use a source control
system, such as Microsoft Visual Studio Online (VSO), where no files have been changed yet.
NOTE
In Commerce 10.0.8 and above, Retail Server is known as Commerce Scale Unit. Because this topic applies to multiple
previous versions of the app, Retail Server is used throughout the topic.
NOTE
Some steps in the procedures in this topic differ, depending on the version of Commerce that you're using. For more
information, see What's new or changed in Dynamics 365 Retail.
Development environment
Complete these procedures to set up a development environment so that you can test and extend the sample.
The CRT extension components
The CRT extension components are included in the CRT samples. To complete the following procedures, open the
CRT solution, CommerceRuntimeSamples.sln , under RetailSdk\SampleExtensions\CommerceRuntime .
ReceiptsNorway component
1. Find the Runtime.Extensions.ReceiptsNor way project, and build it.
2. In the Extensions.ReceiptsNor way\bin\Debug folder, find the
Contoso.Commerce.Runtime.ReceiptsNor way.dll assembly file.
3. Copy the assembly file to the CRT extensions folder:
Retail Ser ver : Copy the assembly to the \bin\ext folder under the Microsoft Internet Information
Services (IIS) Retail Server site location.
Local CRT on Modern POS: Copy the assembly to the \ext folder under the local CRT client broker
location.
4. Find the extension configuration file for CRT:
Retail Ser ver : The file is named commerceruntime.ext.config , and it's in the bin\ext folder under
the IIS Retail Server site location.
Local CRT on Modern POS: The file is named CommerceRuntime.MPOSOffline.Ext.config , and it's
under the local CRT client broker location.
5. Register the CRT change in the extension configuration file.
WARNING
Do not edit the commerceruntime.config and CommerceRuntime.MPOSOffline.config files. These files aren't intended
for any customizations.
SalesPaymentTransExt component
1. Find the Runtime.Extensions.SalesPaymentTransExt project, and build it.
2. In the Extensions.SalesPaymentTransExt\bin\Debug folder, find the
Contoso.Commerce.Runtime.SalesPaymentTransExt.dll assembly file.
3. Copy the assembly file to the CRT extensions folder:
Retail Ser ver : Copy the assembly to the \bin\ext folder under the IIS Retail Server site location.
Local CRT on Modern POS: Copy the assembly to the \ext folder under the local CRT client broker
location.
4. Find the extension configuration file for CRT:
Retail Ser ver : The file is named commerceruntime.ext.config , and it's in the bin\ext folder under
the IIS Retail Server site location.
Local CRT on Modern POS: The file is named CommerceRuntime.MPOSOffline.Ext.config , and it's
under the local CRT client broker location.
5. Register the CRT change in the extension configuration file.
WARNING
Do not edit the commerceruntime.config and CommerceRuntime.MPOSOffline.config files. These files aren't intended
for any customizations.
XZReportsNorway component
1. Find the Runtime.Extensions.XZRepor tsNor way project, and build it.
2. In the Extensions.XZRepor tsNor way\bin\Debug folder, find the
Contoso.Commerce.Runtime.XZRepor tsNor way.dll assembly file.
3. Copy the assembly file to the CRT extensions folder:
Retail Ser ver : Copy the assembly to the \bin\ext folder under the IIS Retail Server site location.
Local CRT on Modern POS: Copy the assembly to the \ext folder under the local CRT client broker
location.
4. Find the extension configuration file for CRT:
Retail Ser ver : The file is named commerceruntime.ext.config , and it's in the bin\ext folder under
the IIS Retail Server site location.
Local CRT on Modern POS: The file is named CommerceRuntime.MPOSOffline.Ext.config , and it's
under the local CRT client broker location.
5. Register the CRT change in the extension configuration file.
WARNING
Do not edit the commerceruntime.config and CommerceRuntime.MPOSOffline.config files. These files aren't intended
for any customizations.
Application update 4
Application update 5 and later
Retail 7.3.1
Retail 7.3.2 and later
Retail 7.3.5 and later
Retail 8.1.1 and later
RegisterAuditEvent sample component
1. Find the Runtime.Extensions.RegisterAuditEventSample project, and build it.
2. In the Extensions.RegisterAuditEventSample\bin\Debug folder, find the
Contoso.Commerce.Runtime.RegisterAuditEventSample.dll assembly file.
3. Copy the assembly file to the CRT extensions folder:
Retail Ser ver : Copy the assembly to the \bin\ext folder under the IIS Retail Server site location.
Local CRT on Modern POS: Copy the assembly to the \ext folder under the local CRT client broker
location.
4. Find the extension configuration file for CRT:
Retail Ser ver : The file is named commerceruntime.ext.config , and it's in the bin\ext folder under
the IIS Retail Server site location.
Local CRT on Modern POS: The file is named CommerceRuntime.MPOSOffline.Ext.config , and it's
under the local CRT client broker location.
5. Register the CRT change in the extension configuration file.
WARNING
Do not edit the commerceruntime.config and CommerceRuntime.MPOSOffline.config files. These files aren't intended
for any customizations.
WARNING
Do not edit the commerceruntime.config and CommerceRuntime.MPOSOffline.config files. These files aren't intended
for any customizations.
3. To regenerate the proxy code, build the Proxies folder from the command line by using the msbuild
/t:Rebuild command.
4. Resolve the Proxies.RetailProxy project dependencies:
Application update 4
Application update 5 and later
Retail 7.3.1
Retail 7.3.2 and later
Retail 7.3.5 and later
Retail 8.1.1 and later
Open RetailSDK\Proxies\RetailProxy\Proxies.RetailProxy.csproj , add the
RetailSDK\SampleExtensions\CommerceRuntime\Extensions.SalesTransactionSignatureSample\
CommerceRuntime.Extensions.SalesTransactionSignatureSample project to the solution, and add a
project reference to the RetailProxy project to reference SalesTransactionSignatureSample .
5. Adjust the interface methods in the StoreOperationsManager class:
Application update 4
Application update 5 and later
Retail 7.3.1
Retail 7.3.2 and later
Retail 7.3.5 and later
Retail 8.1.1 and later
6. Update the dllhost.exe.config file so that the client broker loads the new RetailProxy assembly.
NOTE
Modern POS must not be customized. You must enable User Account Control (UAC), and you must uninstall
previously installed instances of Modern POS as required.
2. Include the following existing source code folders in the Pos.Extensions project.
Application update 4
Application update 5 and later
Retail 7.3.1
Retail 7.3.2 and later
Retail 7.3.5 and later
Retail 8.1.1 and later
AuditEventExtensionSample
SalesTransactionSignatureSample
3. Enable the extensions to be compiled in tsconfig.json by removing the following folders from the exclude
list.
Application update 4
Application update 5 and later
Retail 7.3.1
Retail 7.3.2 and later
Retail 7.3.5 and later
Retail 8.1.1 and later
AuditEventExtensionSample
SalesTransactionSignatureSample
4. Enable the extensions to be loaded in extensions.json by adding the following lines in the appropriate
place.
Application update 4
Application update 5 and later
Retail 7.3.1
Retail 7.3.2 and later
Retail 7.3.5 and later
Retail 8.1.1 and later
{
"baseUrl": "AuditEventExtensionSample"
},
{
"baseUrl": "SalesTransactionSignatureSample"
}
NOTE
For more information, and for samples that show how to include source code folders and enable extensions to be
loaded, see the instructions in the readme.md file in the Pos.Extensions project.
NOTE
For more information, and for samples that show how to include source code folders and enable extensions to be
loaded, see the instructions in the readme.md file in the Pos.Extensions project.
Production environment
Follow these steps to create deployable packages that contain Commerce components, and to apply those
packages in a production environment.
1. Complete the steps in the Cloud POS extension components or Modern POS extension components section
earlier in this topic.
2. Make the following changes in the package configuration files under the RetailSdk\Assets folder:
a. In the commerceruntime.ext.config and CommerceRuntime.MPOSOffline.Ext.config
configuration files, add the following lines to the composition section:
Application update 4
Application update 5 and later
Retail 7.3.1
Retail 7.3.2 and later
Retail 7.3.5 and later
Retail 8.1.1 and later
3. Make the following changes in the Customization.settings package customization configuration file:
a. Enable Retail Proxy customization.
Application update 4
Application update 5 and later
Retail 7.3.1
Retail 7.3.2 and later
Retail 7.3.5 and later
Retail 8.1.1 and later
Add the following lines to the <ItemGroup
Condition="'@(RetailSer verLibrar yPathForProxyGeneration)' == ''"> section.
<RetailServerLibraryPathForProxyGeneration
Include="$(SdkReferencesPath)\Contoso.RetailServer.SalesTransactionSignatureSample.dll"/>
b. Add the following lines to the ItemGroup section to include the CRT extensions in the deployable
packages:
Application update 4
Application update 5 and later
Retail 7.3.1
Retail 7.3.2 and later
Retail 7.3.5 and later
Retail 8.1.1 and later
<ISV_CommerceRuntime_CustomizableFile
Include="$(SdkReferencesPath)\Contoso.Commerce.Runtime.ReceiptsNorway.dll" />
<ISV_CommerceRuntime_CustomizableFile
Include="$(SdkReferencesPath)\Contoso.Commerce.Runtime.RegisterAuditEventSample.dll" />
<ISV_CommerceRuntime_CustomizableFile
Include="$(SdkReferencesPath)\Contoso.Commerce.Runtime.SalesPaymentTransExt.dll" />
<ISV_CommerceRuntime_CustomizableFile
Include="$(SdkReferencesPath)\Contoso.Commerce.Runtime.SalesTransactionSignatureSample.dll" />
<ISV_CommerceRuntime_CustomizableFile
Include="$(SdkReferencesPath)\Contoso.Commerce.Runtime.SalesTransactionSignatureSample.dll.config
" />
<ISV_CommerceRuntime_CustomizableFile
Include="$(SdkReferencesPath)\Contoso.Commerce.Runtime.XZReportsNorway.dll" />
c. Add following lines to the ItemGroup section to include the Retail Server extension in the deployable
packages:
Application update 4
Application update 5 and later
Retail 7.3.1
Retail 7.3.2 and later
Retail 7.3.5 and later
Retail 8.1.1 and later
<ISV_RetailServer_CustomizableFile
Include="$(SdkReferencesPath)\Contoso.RetailServer.SalesTransactionSignatureSample.dll" />
<ISV_RetailServer_CustomizableFile
Include="$(SdkReferencesPath)\Contoso.Commerce.Runtime.SalesTransactionSignatureSample.dll" />
<ISV_RetailServer_CustomizableFile
Include="$(SdkReferencesPath)\Contoso.Commerce.Runtime.SalesTransactionSignatureSample.dll.config
" />
4. Modify the following files to include the resource files for Norway in deployable packages:
Packages_SharedPackagingProjectComponents\Sdk.ModernPos.Shared.csproj
Packages\RetailServer\Sdk.RetailServerSetup.proj
For the Sdk .ModernPos.Shared.csproj file
Add line to the ItemGroup section
NOTE
Instead of the <File_name> specify a name of the resource file. The same is relevant for the other examples given
below.
<Copy SourceFiles="@(<File_name>)"
DestinationFolder="$(OutputPath)content.folder\CustomizedFiles\ClientBroker\ext\nb-NO"
SkipUnchangedFiles="true" />
<Copy SourceFiles="@(<File_name>)"
DestinationFolder="$(OutputPath)content.folder\RetailServer\Code\bin\ext\nb-NO"
SkipUnchangedFiles="true" />
5. Modify the certificate's configuration file by specifying the thumbprint, store location, and store name for the
certificate that should be used to sign sales transactions. Then copy the configuration file to the References
folder.
Application update 4
Application update 5 and later
Retail 7.3.1
Retail 7.3.2 and later
Retail 7.3.5 and later
Retail 8.1.1 and later
The file is named Contoso.Commerce.Runtime.SalesTransactionSignatureSample.dll.config , and it's
under CommerceRuntime\Extensions.SalesTransactionSignatureSample\bin\Debug .
6. Update Retail Server configuration file. In the RetailSDK\Packages\RetailSer ver\Code\web.config file,
add the following lines to the extensionComposition section.
7. Run msbuild for the whole Retail SDK to create deployable packages.
8. Apply the packages via Microsoft Dynamics Lifecycle Services (LCS) or manually. For more information, see
Create deployable packages.
Enable the digital signature in offline mode for Modern POS
To enable the digital signature in offline mode for Modern POS, you must follow these steps after you activate
Modern POS on a new device.
1. Sign in to POS.
2. On the Database connection status page, make sure that the offline database is fully synchronized. When the
value of the Pending downloads field is 0 (zero), the database is fully synchronized.
3. Sign out of POS.
4. Wait a while for the offline database to be fully synchronized.
5. Sign in to POS.
6. On the Database connection status page, make sure that the offline database is fully synchronized. When the
value of the Pending transactions in offline database field is 0 (zero), the database is fully synchronized.
7. Restart Modern POS.
Cash register functionality for Sweden
2/13/2020 • 6 minutes to read • Edit Online
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
This topic provides an overview of the cash register functionality that is available for Sweden in Dynamics 365
Commerce. It also provides guidelines for setting up the functionality. The functionality consists of the following
parts:
Common point-of sale (POS) features that are made available to customers in all countries or regions, such as
an option to prevent sales and returns from being combined on one receipt
Sweden-specific features, such as additional counters in daily POS reports
A sample for integration of POS with Sweden-specific fiscal devices that are known as control units.
NOTE
Currently, the Electronic journal (Sweden) report can't be exported or printed. However, functionality for
exporting and printing the report will be added later.
IMPORTANT
Dynamics 365 Retail is now Dynamics 365 Commerce - offering comprehensive omnichannel commerce across e-Commerce,
in-store, and call center. For more information about these changes, see Microsoft Dynamics 365 Commerce.
NOTE
This sample fiscal integration functionality does not take advantage of the fiscal integration framework and will be deprecated
in later updates. You should use the Control unit integration sample for Sweden instead.
NOTE
Some steps in the procedures in this topic differ, depending on the version of Commerce that you're using. For more
information, see What's new or changed in Dynamics 365 Retail.
NOTE
In Commerce 10.0.8 and above, Retail Server is known as Commerce Scale Unit. Because this topic applies to multiple
previous versions of the app, Retail Server is used throughout the topic.
Overview of integration with control units
The sample includes the following capabilities:
Sales, returns, and receipt copies are automatically registered in a control unit that is connected to the Hardware
station that is paired with the POS.
The control code and the manufacturing number of the control unit for a registered transaction are captured
from the control unit and saved in the transaction. (This data is also referred to as fiscal data.) The fiscal data can
be viewed on the Store transactions page.
Custom fields for the control code and the manufacturing number of the control unit can be added to a receipt
format, so that you can print the fiscal data for the transaction on a receipt.
The fiscal data for a transaction is printed on the Electronic journal (Sweden) channel report.
If a failure occurs during the registration of a transaction in the control unit, the fiscal data for the transaction
remains blank. In this case, a new transaction can't be started, and the current shift can't be closed. The operator
will be asked to try to register the unregistered transaction again in the control unit. If the second attempt fails,
the operator can skip the registration, provided that the operator has a special permission. If the operator skips
the registration of a transaction in the control unit, information about this event is saved in the transaction
instead of the fiscal data.
NOTE
Currently, the control unit integration sample doesn't support customer orders. However, a sample that supports customer
orders will be available at a later date.
<UnitConfiguration>
<TaxMapping>
<Tax taxCode="VAT10" controlUnitTaxId="1"/>
<Tax taxCode="VAT20" controlUnitTaxId="2"/>
</TaxMapping>
</UnitConfiguration>
You can also export a sample configuration by clicking Expor t sample configuration on the Action
Pane.
c. On the Hardware profiles page, select the hardware profile of the Hardware station that the POS is
paired with and the control unit is connected to. On the Fiscal register FastTab, set the following
fields:
In the Fiscal register field, select Third-par ty driver .
In the Configuration field, select the name of the fiscal register configuration that you just
created.
2. Set up custom fields for receipt layouts, so that the control code and the manufacturing number of the
control unit are printed on receipts:
a. On the Language text page, add two records for the captions of the custom receipt layout fields. In
the appropriate fields, specify the language ID for the captions (for example, sv-se ), the text ID (for
example, 900001 and 900002 ), and the caption text (for example, Control code and Control unit
ID ).
b. On the Custom fields page, add two records for the custom receipt layout fields. In the Type field,
select Receipt . Specify names and captions for the custom receipt layout fields:
Control code:
Name: FiscalRegisterControlCode
Caption text ID: The text ID that you specified for the control code field (900001 in the
preceding example)
Manufacturing number of the control unit:
Name: FiscalRegisterId
Caption text ID: The text ID that you specified for the control unit ID field (900002 in the
preceding example)
c. For sales receipt formats, in the Receipt format designer, in the Footer section of the receipt layout,
add the fields for the specified captions (Control code and Control unit ID in the preceding
example).
3. Update POS permissions groups and individual permission settings for store workers. To allow workers who
are assigned to the permission group to skip the fiscal registration, select the Allow skip fiscal
registration check box.
Development environment
Follow these steps to set up a development environment so that you can test and extend the sample.
1. Extend the Hardware station component:
a. Open the Hardware station solution under RetailSDK\SampleExtensions\HardwareStation .
b. Find the HardwareStation.Extension.FiscalRegisterSample.csproj extension project, and
compile it.
c. Find extension assemblies and configurations.
Retail 7.3 and earlier
Retail 7.3.1 and later
Retail 10.0 and later
Find the following files in Extension.FiscalRegisterSample\bin\Debug :
The Contoso.Commerce.HardwareStation.FiscalRegisterSample.dll assembly
The Contoso.Commerce.HardwareStation.FiscalRegisterSample.dll.config configuration
The Interop.CleanCash_1_1.dll assembly
d. Copy the files to a deployed Hardware station machine:
Remote Hardware station: Copy the files to the bin folder under the Microsoft Internet
Information Services (IIS) Hardware station site location.
Local Hardware station: Copy the files to the Modern POS client broker location.
e. Find the configuration file for Hardware station's extensions.
Retail 7.3 and earlier
Retail 7.3.1 and later
Retail 10.0 and later
Remote Hardware station: The file is named hardwarestation.shared.config , and it's under
the IIS Hardware station site location.
Local Hardware station: The file is named HardwareStation.Dedicated.config , and it's under
the Modern POS client broker location.
f. Add the following section to the composition section of the config file.
Retail 7.3 and earlier
Retail 7.3.1 and later
Retail 10.0 and later
NOTE
Do not edit the commerceruntime.config and CommerceRuntime.MPOSOffline.config files. These files aren't
intended for any customizations.
NOTE
All the code changes for CRT and Retail Server are all part of RetailSdk\SampleExtensions. Therefore, the
preceding steps show how to build, deploy, and test these code changes.
{
"debugBuildsOnly": false,
"baseUrl": "FiscalRegisterSample"
}
{
"debugBuildsOnly": false,
"baseUrl": "FiscalRegisterSample"
}
{
"baseUrl": "FiscalRegisterSample"
}
2. Make the following changes in the package config files under the RetailSdk\Assets folder:
a. Add the following section to the composition section of the commerceruntime.ext.config and
CommerceRuntime.MPOSOffline.Ext.config config files.
b. Add the following section to the composition section of the Hardware station configuration file.
Retail 7.3 and earlier
Retail 7.3.1 and later
Retail 10.0 and later
Modify the HardwareStation.Shared.config and HardwareStation.Dedicated.config
configuration files.
<ISV_CommerceRuntime_CustomizableFileInclude="$(SdkReferencesPath)\Contoso.Commerce.HardwareStati
on.Extension.FiscalRegisterSample.dll"/>
4. Run msbuild for the whole Retail SDK to create deployable packages.
5. Apply the packages via Microsoft Dynamics Lifecycle Services (LCS) or manually. For more information, see
Retail SDK packaging.
Reporting and analytics with Power BI home page
4/11/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This topic points you to resources that you can use to learn more about the business intelligence (BI) and reporting
tools that are available.
Get started
Information access and reporting
Tech Talk: Reporting options (video)
Finance and Operations: Power BI Analytics & Reporting Services blog (blog)
Analytical workspaces
Workspaces can use rich infographics and visuals that are supported by Microsoft Power BI. These infographics and
visuals include many controls that are provided by third parties. Therefore, workspaces can provide a highly visual,
interactive experience for users.
Users can interact with data by clicking or touching visuals on the page. They can see cause and effect, and do
simple what-if operations without leaving the workspace. Thanks to stunning, interactive visuals, your users will
have fun exploring data and discovering hidden trends.
To learn more, see the following topics:
Embedded Power BI in workspaces
Power BI Embedded integration
Add analytics to workspaces by using Power BI Embedded
Help secure analytical workspaces and reports by using Power BI Embedded
Power BI content home page
Electronic reporting
Electronic reporting (ER) is the tool that you use to configure electronic document formats that comply with the
legal requirements of various countries or regions. The applications of electronic reporting include financial
auditing, tax reporting, and electronic invoicing.
To learn more, see the following topics:
Electronic reporting (ER) overview
MManage the Electronic reporting (ER) configuration lifecycle
Create Electronic reporting (ER) configurations
Financial reporting
Standard financial reports are provided that use the default main account categories. You can use the report
designer to create or modify traditional financial statements, such as income statements and balance sheets. You
can then share the results with other members of your organization. Examples of financial reporting include
balance sheets, cash flow, and summary trial balance year over year.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This topic explains the various reporting options available as part of the platform.
Reporting experiences
Information access scenarios supported in applications can be broken down into five distinct reporting
experiences. Specialized tools are provided to meet the complex and diverse reporting needs of various functions
throughout the organization.
Operational views – Designed to address the specific needs of a given business persona.
Business documents – Static documents used to capture and exchange processed business data.
Analytical tools and visualizations – Personalized presentations of logical calculations that allow the user to
explore their data.
Electronic repor ting – Tool used to configure formats for electronic documents.
Financial repor ting – Designed to provide in-depth accounting management tools based on standard views
of financial activities across legal entities.
Scorecard
The following table can be used as a guide when choosing the right tool for the reporting solution.
A N A LY T IC A L
O P ERAT IO N A L B USIN ESS TO O L S & EL EC T RO N IC F IN A N C IA L
M A K ER VIEW S DO C UM EN T S VISUA L IZ AT IO N S REP O RT IN G REP O RT IN G
A N A LY T IC A L
O P ERAT IO N A L B USIN ESS TO O L S & EL EC T RO N IC F IN A N C IA L
VIEW ER VIEW S DO C UM EN T S VISUA L IZ AT IO N S REP O RT IN G REP O RT IN G
Target Organization Back Office Power user Power user Finance officers
Data accuracy Near real-time Real-time Near real-time Real-time Cached views
Printing Screen captures Local printer Screen captures Excel Local printer
Network devices
NOTE
"Near real-time" denotes processed data that is slightly slower than real-time.
Operational views
Operational views represent an essential part of the average employee's daily life. As important as a brush is to a
painter, operational views are used to empower people to be productive. These views contain logical presentations
of data to help the user discover patterns, highlight anomalies, and act on the most important tasks. Targeted
experiences are used to satisfy the unique information access requirements for a given persona. These views
provide actionable controls that help to maximize efficiency for common user actions. Learn more about
constructing custom operational workspaces in Build operational workspaces. Example applications of operational
views include controller operations, production floor management, and customer collections monitoring.
Business documents
These reporting solutions are often used to capture and communicate the details of business transactions. As such,
this requires a reporting solution capable of producing physical manifestations of business data using existing
devices like network printers. Learn more about the enhancements to the Document reporting service in
Document Reporting Services. Example applications of business documents include sales invoice, customer
statements, and checks.
What are the characteristics and capabilities?
Paginated documents that are ultimately destined to be printed on paper or distributed via email.
Heavily dependent on parameters to filter and produce the desired result set.
Business documents capture a snap-shot of customer and vendor activity that can be archived for future
reference.
The complex solutions are developed in Visual Studio and deployed as part of the application.
What distinguishes "business documents" from other types of visualizations?
Asynchronous data access and rendering solution designed to handle relatively large data sets.
Dedicated reporting services offer distributed resource utilization.
Ideal solution for automated processes that involve bulk generation of business documents.
Includes built-in support for document archive and data extraction via file export to PDF in addition to Word,
Excel, and CSV.
What's impor tant to consider when selecting this tool for the job?
Application suite reports are intended to be used as a starting point for custom solutions.
Solutions are heavily dependent on metadata changes and do not offer personalization.
Modifications to out-of-box solutions must be managed as a metadata change.
Electronic reporting
Electronic reporting (ER) is the tool to use to configure electronic document formats in accordance with the legal
requirements of various countries/regions. For more information about the Electronic reporting tool, see Electronic
reporting (ER) overview. Example applications of electronic reporting include financial auditing, tax reporting, and
electronic invoicing.
What are the characteristics and capabilities?
Perfect tool for producing TEXT, XML, and OPENXML worksheet formats.
Tooling is designed for business users familiar with Excel-based formulas.
Highly adaptable to adhere to changes in regulatory requirements.
Component versioning is available to manage draft definitions.
What distinguishes "electronic repor ts" from other types of visualizations?
Designed for electronic submission to banks, governments, and other external entities.
Use formulas to define data transformations into groups containing summary data and logical calculations.
Financial reporting
Standard financial reports are provided using the default main account categories. Use the report designer to
create or modify traditional financial statements, such as Income statement and Balance sheet and share the results
with other members of your organization. For detailed information about the Financial reporting tooling, see
General ledger and Financial reporting overview. Example applications of financial reporting include balance
sheets, cash flow, and summary trial balance year over year.
What are the characteristics and capabilities?
Built-in flexible financial reporting solution designed to handle complex organizational structures.
Fully-integrated with General ledger.
Create custom financial reports using the default solutions as a starting point.
Interactive reports with drill-down capabilities to navigate down to transaction details.
What distinguishes "financial repor ts" from other types of visualizations?
User controls are tailored for the specialized needs of financial reporting.
Create roll-up reports containing data across companies or business units.
Utilizes a financial data mart for optimized performance.
Features available through PowerBI.com integration
4/11/2020 • 7 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
Microsoft Power BI is a suite of business analytics tools that let you analyze data and share insights. By using
Power BI tools, you can explore data and quickly create rich reports and dashboards. You and your colleagues can
then use the reports interactively on many devices. The application uses Power BI for data exploration.
Chart controls are used to build embedded experiences that require visuals.
Microsoft SQL Server Reporting Services (SSRS) is an engine that is designed for pixel-perfect, formatted reports
that often require printing. We use SSRS for document-style reports, such as invoices and purchase orders. Our
investments in SSRS integration focus on document generation and printing scenarios.
For all non-document reports or reports that don’t have to be printed, we want to embrace Power BI.
In the past, we have used the terms self-service reports and ad-hoc reports to refer to Power BI. We will now use
the term data exploration. This change in terminology reflects a subtle shift in paradigms. Self-service reports were
reports that the users themselves created. (Alternatively, a power user created the reports and shared them with
other people. These people then continued to adjust the reports according to their requirements.) Often, users had
to change the shape of a chart, add a new column, change the grouping, or just create a new view of data.
Although we might think of the results as reports, users are just trying to understand the data by exploring it,
pivoting it around columns, and changing the shape of charts. Technologies of the past didn’t let users interactively
explore large volumes of data. Therefore, users had to create "reports," or many views of the same data.
In Power BI, thanks to the in-memory database technologies in Microsoft SQL Server, a report is a just the starting
point for interactive data exploration. Charts in a Power BI report invite users to click them, visuals change shape
interactively, and data can easily be filtered. Users can easily adjust existing reports and create their own views of
the data. The reports can be shared, and teams can collaborate over data.
Therefore, although you might use the term report to refer to Power BI artifacts, you should think about the larger
scenario that is involved. Your users are exploring data! Power BI is the tool of choice when you must address data
exploration and visualization requirements.
For a detailed discussion of reporting concepts, see Information access and reporting.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
Microsoft Dynamics 365 Finance uses Power BI for data exploration. This topic explains how you can pin full-page
Power BI reports to workspaces to give your users an interactive data exploration experience.
This topic assumes that you're familiar with the feature that lets you pin Microsoft Power BI tiles to a workspace.
For more information, see Features and services available through Power BI integration. If you're a developer who
is creating a workspace, to let users pin Power BI tiles to the workspace, embed the Power BI tile control.
Next, scroll to the bottom of the Links section in the workspace. Notice that a new section for Power BI reports has
been added to your links.
Full-page Power BI reports in the client
You can open and run Power BI reports in the client. The functionality resembles the functionality for running
Microsoft SQL Server Reporting Services (SSRS) reports. To run a Power BI report, in the Links section, click the
link for one of the Power BI reports. For this example, click the Retail Analysis Sample link. The Power BI report
is opened in the client in a full-page view, as shown in the following illustration. This report is interactive. As you
click regions of the report, the remaining visuals react to your selection.
You can filter the data on the report by using the filter pane. The following illustration shows the report after filters
have been applied.
You can also open this report on PowerBI.com and make changes. You can then save the modified report as
another copy that has a different name, and even pin the new report to the workspace.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
Analytical workspaces
The analytical workspaces that are bundled with the application suite offer users relevant insights into their
business data. However, in some cases, it might make sense to replace standard reports with custom reports that
are designed specifically for the users in your organization.
The world-class tooling that PowerBI.com provides lets you produce analytical reports that contain mashup views
that use data from external sources. In Platform update 26 for Finance and Operations, power users can replace the
standard embedded reports with those that are hosted on PowerBI.com.
IMPORTANT
The functionality that this topic describes isn't a personalization. The customization of analytical workspaces applies to all
users in the active legal entity.
The How to embed PowerBI.com reports video (shown above) is included in the Finance and Operations playlist
available on YouTube.
To replace the standard reports, you must be a member of the System Report Editors security group. Members of
this security group can access the options in application workspaces that let them customize the standard reports.
This example shows how to replace the standard analytical report with a customized report that is hosted on
PowerBI.com.
1. Sign in and open the application report that you want to customize. In this example, you will replace the
standard analytical report that is embedded in the Compensation management workspace.
2. Select the Analytics tab to access the workspace's embedded analytical report.
By default, you will see the standard analytical workspace solution that is included with your application. The
reports in this solution are automatically deployed and configured for your environment during the
provisioning process.
NOTE
The analytical workspaces require a hosted Power BI service that is available only for dedicated environments. For
more information, see the blog post, Accessing Analytical Workspaces and Reports on 1-Box Environments.
3. On the Action Pane, on the Options tab, in the Power BI group, select Select Analytics to open the Power
BI Repor ts dialog box.
This dialog box lets you select among the reports that have been shared on the PowerBI.com service. The
reports are organized by workspace.
4. In the drop-down list, select the workspace that contains the report.
5. Select the report to embed in the application workspace, and then select OK .
6. To view the updates to the workspace, you must reload the page. Either move away from the workspace and
then return, or refresh your browser.
7. In the Compensation management workspace, select the Analytics tab to access the PowerBI.com report
that is now embedded in the analytical workspace.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
NOTE
Most of the PowerBI.com solutions in the following list have been embedded in analytical workspaces in recent versions.
Using analytical workspaces eliminates the need to download these solutions from the Shared assets library in LCS. The
topics in this list indicate where these PowerBI.com solutions have been embedded where applicable.
Actual vs budget
Cash overview
Compensation and benefits
Cost accounting analysis
Credit and collections management
Employee competencies and development
Financial performance
Fixed asset management
Organizational training
Practice manager
Production performance
Purchase spend analysis
Recruiting
Sales and profitability performance
Vendor payments
Warehouse performance
Workforce metrics
NOTE
These solutions have been deprecated as documented in Power BI content packs available on AppSource.
Cost management
Financial performance
Retail channel performance
Learning Power BI content
2/3/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
REP O RT C O N T EN T S
You can filter the charts and tiles on these reports, and pin the charts and tiles to the dashboard. For more
information about how to filter and pin in Power BI, see Create and Configure A Dashboard.
EN T IT Y C O N T EN T S REL AT IO N SH IP S W IT H OT H ER EN T IT IES
Calendar Offset Calendar offsets to slice reports Course Agenda, Course Attendees
Course Agenda Agenda, course, and start and end Company, Calendar Offset, Date, Course
times
Course Attendees Name, status, job, and registration date Company, Calendar Offset, Date,
Course, Demographics, Employment,
Course, Employee Name, Employee
Title, Job, Position
Date Days, weeks, months, and years Course Agenda, Course Attendees
Demographics Date of birth, gender, ethnic origin, and Course Agenda, Course Attendees
marital status
Employment Start date, end date, and transition date Course Agenda, Course Attendees
Position Position, title, and full-time equivalent Course Agenda, Course Attendees
(FTE)
Employee Name First name, last name, and full name Course Attendees
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This topic describes the Finance and Operations - Organizational training Power BI content.
REP O RT C O N T EN T S
You can filter the charts and tiles on these reports, and pin the charts and tiles to the dashboard. For more
information about how to filter and pin in Power BI, see Create and Configure A Dashboard.
EN T IT Y C O N T EN T S REL AT IO N SH IP S W IT H OT H ER EN T IT IES
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
NOTE
This PowerBI.com solution has been deprecated as documented in Power BI content packs available on AppSource.
This topic provides information about the Retail channel performance PowerBI.com solution for Dynamics AX. This
PowerBI.com solution lets channel managers quickly build channel performance analytics to predict trends and
uncover insights, based on sales performance.
The Retail channel performance PowerBI.com solution lets you quickly build your channel performance analytics.
The PowerBI.com solution is designed specifically for channel managers who focus on sales performance to predict
trends and uncover insights. Its components draw directly from Retail and commerce data in the Dynamics AX
database, and provide drill-down reports about organization-wide sales performance across global geography by
employee, category, product, terminal, channel, and more. Power BI automatically creates reports and dashboards
that give you a great starting point for exploring and analyzing your Retail and commerce data. This article includes
the following information:
Learn how to connect the Retail channel performance PowerBI.com solution to a Dynamics AX data source.
View a list of reports that provide insights into retail channel performance.
Learn how to modify an existing report in the PowerBI.com solution to make it self-authored.
Get a glimpse of an actual data model that enables the whole experience in Power BI.
10. You can then take advantage of the Q&A feature in Power BI to query your Dynamics AX sales data by using
natural language.
3. In the list of category levels for this hierarchy, select Categor y Level 1 . The name of the chart that you
selected this attribute for changes to Total amount by Month/Year and Categor y level 1 , and the chart
now shows the share of sales in each category for each month.
4. Finally, try to change the visualization itself. Select the Total amount by Month/Year and Categor y
level 1 chart, and then, in the Visualizations pane, click Area char t or Stacked area char t , and see the
effect.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
Dynamics Finance and Operations apps now deliver rich, interactive reports seamlessly integrated into application
workspaces. By using graphics and visuals supported by Power BI, workspaces can provide a highly-visual, yet
interactive experiences for users.
Overview
Workspaces in the application provide an overview of business processes or business units. With rich workspaces,
users can get a bird's-eye view of the state of business before diving into details and taking action. Workspaces
contain visuals, count tiles, and KPIs as well as quick links to reports and pages. Within a workspace, all controls are
tightly integrated to provide a highly-productive and engaging work environment to the user. Power BI Embedded
is a Microsoft Azure service that enables ISVs and app developers to surface Power BI data experiences within their
applications. With Power BI Embedded, developers can deliver always-up-to-date views with Direct Query. To learn
more about how the Power BI Embedded service integrates with the application, see Power BI Embedded
integration.
Power BI in workspaces
The application now delivers interactive reports that seamlessly integrate into application workspaces. By using
rich infographics and visuals supported by Power BI (including the large number of controls provided by third
parties), workspaces can provide a highly-visual, yet interactive experience for users. Using infographics in the
overview page, users can get a quick glance of the state of the business. They can interact with data by simply
clicking or touching visuals on the page. They can see the cause and effect, perform simple what-if operations
without leaving the workspace. Thanks to stunning yet interactive visuals, your users will have fun exploring data
and discovering hidden trends.
The following screenshot shows Power BI in a workspace.
Power BI vs operational workspaces
Power BI workspaces complement operational views with analytical insights based on near real-time information.
The following offers a visual comparison of a Power BI workspace and an operational workspace.
The following screenshot shows an operational workspace.
Edit embedded reports in analytical workspaces
The How to edit an embedded report in an analytical workspace video (shown above) is included in the Playlist
available on YouTube.
What's next?
Going forward, new cloud deployments will come bundled with the Power BI Embedded service. Additional
documentation describing the Developer ALM process will be made available to help partners and ISVs create new
solutions that take advantage of the Power BI Embedded service integration options that are available.
Power BI Embedded integration
11/5/2019 • 5 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
Microsoft Power BI content that partners and independent software vendors (ISVs) developed can be embedded
directly into the Microsoft Dynamics 365 Finance. This topic describes some of the ways that you can use the
Microsoft Power BI Embedded integration.
Overview
The integration of the application and Power BI enables data mash-up scenarios that require access to external data
sources that are supported through Microsoft Power Query for Excel. Users can personalize workspaces by
embedding tiles that are hosted on PowerBI.com. Users can also add direct links to reports that are hosted on
PowerBI.com. In this way, users can access and interact with the reports without leaving the application. Power BI
content (PBIX files) that partners and ISVs develop can be embedded directly into the application. PBIX files that are
associated with a model file are automatically published in Power BI Embedded as part of the application
deployment process. Additionally, you can add X++ extensions for embedded reporting scenarios that require the
following functionality:
Drill-down navigation into detailed pages in response to user interactions
Report filters that are based on user and session context information, such as company or date range
The ability to navigate directly to a specific tab on a Power BI report via menu items
For more information about customizations that use extensions, see Customize through extension and
overlayering.
Service availability
The Power BI Embedded ser vice is automatically deployed and configured for all cloud-hosted,
multi-box deployments. Because the service relies on Microsoft Azure services, application analytical
workspaces and reports are unavailable in one-box environments. The Power BI Embedded service is already
available in most Azure datacenters. You can check the latest availability on the Azure status page.
NOTE
The Microsoft Dynamics 365 team is working on a solution that will enable analytical workspaces in one-box environments
without requiring that customers host their own instance of the Power BI Embedded service. Watch for announcements on
the Dynamics 365 Roadmap site.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
Analytical workspaces
Analytical workspaces are bundled with the application suite. Through reporting, they offer users insights into data
that is based on standard business operations. The reports are generic reports that are defined by business
professionals. They include metrics that are considered interesting to a wide range of users from any industry.
However, in some cases, the standard reports include data that isn't relevant to all customers. More often,
customers might want to access data points or calculations that are left out of the standard reports.
Power users can use web-friendly design tools to customize the analytical reports that are embedded in the
application. By using the free-form canvas designer, users who are familiar with the relevant business insights that
are required can help make the organization successful.
IMPORTANT
Customizations that are made to the embedded analytical reports are automatically deployed by the service and made
available to other users of the system.
By default, you see the standard analytical workspace solution that is packaged with your application. The
reports in this solution are automatically deployed and configured for your environment during the
provisioning process.
NOTE
The analytical workspaces require a hosted Microsoft Power BI service that is available only for dedicated
environments. For more information, see Accessing Analytical Workspaces and Reports on 1Box environment.
3. On the Action Pane, on the Options tab, in the Power BI group, select Edit Analytics .
The analytical workspace is opened in edit mode, and you have direct access to the Power BI web designer
tools.
4. Use the Power BI web designer tools to customize the report canvas. The intuitive web controls let you
perform typical actions such as adding and removing visuals, changing visual types, and formatting the
content. You can also inspect the source of the report visualizations to make sure that decisions are based on
the most relevant data that is available in the system. For more information, see Add visualizations to a
Power BI report.
5. After you've completed your report customizations, select the Save button to promote the report edits.
Customizations to the report are reflected immediately in the service. Therefore, users in your organization
have access to the latest innovations.
Troubleshooting
Follow these steps to address common issues encountered while attempting to use analytical workspaces.
Error message: Please log into Power BI to access its resource
The Power BI service requires explicit permission from the user to allow access to hosted content. Use the following
steps to ensure the current user is able to connect to reports hosted on PowerBI.com from the application suite.
1. Open any application workspace containing a section titled Link . For example, "Bank management".
2. Select Options , and then select Open repor t catalog on the top left.
3. Follow the steps in the dialog box to Authorize to Power BI to access Finance and Operations apps for the
current user.
Document Reporting Services
10/8/2019 • 3 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This article describes the integrated reporting solution that are available. This solution simplifies service
administration, increases developer productivity, and provides an enhanced report viewing experience for users.
A report development environment has the following Reporting services run in the Azure compute emulator,
prerequisites: together with the application server. Therefore, there are no
SSRS must be installed. SSRS service administration prerequisites. After reports have
SSRS must be configured by using Reporting Services been deployed to the local reporting services, they can be
Configuration Manager. accessed from the client.
SSRS extensions for the application must be installed.
1. In the application, create a query in the Application 1. In Visual Studio, create a reporting project and the
Object Tree (AOT). query.
2. In Visual Studio, create a reporting project, and add 2. Edit the report in Visual Studio.
the query to it. 3. In Visual Studio, add the report to a menu item, and
3. Edit the report in the Visual Studio model editor. set the menu item as a startup object.
4. Preview the report design in Visual Studio by using the 4. Use the AOT to deploy the report to the report server.
model editor toolbar. 5. Press Ctrl+F5 to verify the report in the application.
5. Use Visual Studio to add the report to the AOT.
6. Use the AOT in the client to create a menu item for the [!NOTE] There is no longer a separate preview of
report, and add the menu item to a menu. the report design from the model editor.
7. Use the AOT to deploy the report to the report server.
8. Verify the report in the client. 6. When the whole solution is completed, deploy it to the
cloud in one package.
Supported fonts
2/26/2020 • 13 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
Finance and Operations apps include access to hundreds of standard, business-ready fonts available for documents
rendered by the cloud-hosted service.
This portfolio will continue to grow as the service expands into new regions and industries. However, the service no
longer supports the installation of custom fonts in customer environments. Requests to expand the collection of
fonts supported by the service will be considered on a case-by-case basis.
The following list captures the portfolio of font families available for documents produced using SQL Server
Reporting Services (SSRS) services in Finance and Operations apps.
1 Agency FB
2 Algerian
3 Arial
4 Arial Black
5 Arial Narrow
8 Bauhaus 93
9 BC C128 HD Medium
10 BC C128 HD Narrow
11 BC C128 HD Wide
12 BC C128 Medium
13 BC C128 Narrow
F O N T FA M ILY
14 BC C128 Wide
15 BC C39 2 to 1 HD Medium
16 BC C39 2 to 1 HD Narrow
17 BC C39 2 to 1 HD Wide
18 BC C39 2 to 1 Medium
19 BC C39 2 to 1 Narrow
20 BC C39 2 to 1 Wide
21 BC C39 3 to 1 HD Medium
22 BC C39 3 to 1 HD Narrow
23 BC C39 3 to 1 HD Wide
24 BC C39 3 to 1 Medium
25 BC C39 3 to 1 Narrow
26 BC C39 3 to 1 Wide
27 BC CBar 2 to 1 HD Medium
28 BC CBar 2 to 1 HD Narrow
29 BC CBar 2 to 1 HD Wide
30 BC CBar 2 to 1 Medium
31 BC CBar 2 to 1 Narrow
32 BC CBar 2 to 1 Wide
33 BC CBar 3 to 1 HD Medium
34 BC CBar 3 to 1 HD Narrow
35 BC CBar 3 to 1 HD Wide
36 BC CBar 3 to 1 Medium
37 BC CBar 3 to 1 Narrow
38 BC CBar 3 to 1 Wide
F O N T FA M ILY
39 BC I25 HD Medium
40 BC I25 HD Narrow
41 BC I25 HD Wide
42 BC I25 Medium
43 BC I25 Narrow
44 BC I25 Wide
45 BC Postnet
46 BC UPC HD Medium
47 BC UPC HD Narrow
48 BC UPC HD Wide
49 BC UPC Medium
50 BC UPC Narrow
51 BC UPC Wide
52 Bell MT
53 Berlin Sans FB
55 Bernard MT Condensed
56 Blackadder ITC
57 Bodoni MT
58 Bodoni MT Black
59 Bodoni MT Condensed
61 Book Antiqua
63 Bookshelf Symbol 7
F O N T FA M ILY
65 Britannic Bold
66 Broadway
67 Brush Script MT
68 Buxton Sketch
69 Calibri
70 Calibri Light
71 Californian FB
72 Calisto MT
73 Cambria
74 Cambria Math
75 Candara
76 Castellar
77 Centaur
78 Century
79 Century Gothic
80 Century Schoolbook
81 Chiller
82 Colonna MT
83 Comic Sans MS
84 Consolas
85 Constantia
86 Cooper Black
89 Corbel
90 Courier New
91 Curlz MT
92 DengXian
93 Dotum
94 DotumChe
95 Ebrima
97 Elephant
98 Engravers MT
105 Forte
114 Gabriola
115 Gadugi
116 Garamond
117 Georgia
118 Gigi
127 Gulim
128 GulimChe
129 Haettenschweiler
131 Harrington
133 IDAutomationMICR
134 Impact
138 Jokerman
F O N T FA M ILY
142 Leelawadee
143 Leelawadee UI
153 Magneto
154 Maiandra GD
157 Marlett
177 MingLiU
178 MingLiU-ExtB
179 MingLiU_HKSCS
180 MingLiU_HKSCS-ExtB
181 Mistral
185 MS Gothic
186 MS Outlook
187 MS PGothic
190 MS UI Gothic
191 MT Extra
192 MV Boli
196 Nirmala UI
198 NSimSun
200 OCRB
202 Onyx
205 Papyrus
206 Parchment
207 Perpetua
209 Playbill
210 PMingLiU
211 PMingLiU-ExtB
213 Pristina
F O N T FA M ILY
215 Ravie
216 Rockwell
224 Segoe UI
232 Segoe WP
238 SimSun
F O N T FA M ILY
239 SimSun-ExtB
248 Stencil
249 Sylfaen
250 Symbol
251 Tahoma
254 Trebuchet MS
255 Tw Cen MT
258 Verdana
260 Vivaldi
262 Webdings
264 Wingdings
265 Wingdings 2
266 Wingdings 3
267 Yu Gothic
270 Yu Gothic UI
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
Use the steps in this topic to configure SQL Server Reporting Services (SSRS) for your Microsoft Dynamics 365
Finance + Operations (on-premises) deployment.
1. Open the Reporting Services Configuration Manager application.
2. Leave the default Ser ver name , which should be the name of the current machine, and the Repor t Ser ver
Instance , MSSQLSERVER .
3. Click Connect .
4. Click the Ser vice Account tab and verify that the settings match the following graphic.
5. Click the Web Ser vice URL tab and verify that the settings match the following graphic.
6. Click the Database tab and verify that the Database Name and Credential settings match the following
graphic.
NOTE
You will need to create a new database. To do this, click Change Database , and then verify that the new database
name is: DynamicsAxRepor tSer ver .
7. Click the Web Por tal URL tab and verify that the settings match the following graphic.
NOTE
You must click Apply to create and properly configure the Portal.
After the Portal is configured, the Web Por tal tab will match the following graphic.
8. Click the reports URL to view the SQL Server Reporting Services web portal.
9. When you are in the portal, create a new folder named Dynamics .
10. In the Repor ting Ser vices Configuration Manager , click the E-mail Settings tab and verify that the
settings match the following graphic.
11. Click the Execution Account tab and verify that the settings match the following graphic.
Don't change the default settings on the Encr yption Keys tab.
12. Click the Subscription Settings tab, and verify that the settings match the following graphic.
Don't change the default settings on the Scale-out Deployment tab.
Don't change the default settings on the Power BI Integration tab.
13. Click Exit to close the Repor ting Ser vices Configuration Manager .
Document printing overview
11/5/2019 • 3 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
You can print documents by using either a local printer or a network-connected device. This article provides an
overview of how documents are printed.
Printing overview
The application provides integrated services and client applications that make it easy to generate, store, and
distribute documents that support business activity. You can print documents by using either a local printer or a
network-connected device. In addition, you can export pages and reports directly from the client, as PDF files or
Microsoft Office documents. Finally, the distributed workload lets you print business documents directly from a
mobile device by using network resources. Although printing requirements might vary, all industries typically must
create hard copies of business documents by using the application. Printing documents on network devices from
hosted applications presents a unique set of challenges. Here are some examples:
Print drivers might not be available on the user's device.
The user's device might not be connected to the corporate network.
By using a dedicated host and following a few easy steps, system administrators can configure deployments so
that users can print directly from business applications on network devices.
Application printing scenarios
The following table describes the three primary printing scenarios.
SC EN A RIO GO A L SO L UT IO N
1. Printing what you see Print what is currently shown in the A "print-friendly" version of the
browser. webpage is generated for the browser.
2. Interactive printing Print a precision document on a locally You can export a PDF version of the
connected device. report and download it to the browser.
3. Printing on a network device Send a precision document to a domain A precision document is sent to a client
printer device. application that runs on a server that is
hosted in the customer's domain.
Because the solution varies, depending on the scenario, applications provide built-in services and tooling to help
users accomplish their goals:
Scenario 1 is supported by the browser's rendering of the HTML5 client.
Scenario 2 uses client applications and Microsoft Office 365 services.
Scenario 3 requires support from client applications and from services that are hosted in Microsoft Azure.
In addition to the platform that is deployed to the Azure subscription, Finance and Operations applications provide
customers with an integrated, first-party Azure application that helps them more easily use domain-hosted devices
to print documents.
Service overview
While documents that are produced by the hosted applications are waiting to be printed on a network-connected
device, they are stored in Azure blob storage. The Install the Document Routing Agent to enable network printing
uses Azure authentication to establish a secure channel to the Azure services.
Execution sequence
1. The report is generated by Microsoft SQL Server Reporting Services (SSRS) and stored in Azure blob storage.
Attached printer settings are stored together with the document.
2. The Document Routing Agent queries the Azure Service Bus queue for active jobs.
3. The document is downloaded by the Document Routing Agent and spooled to the network printer.
The client-based solution lets customers manage the scale of their printing needs. Customers who have heavy-
volume printing workloads can install many Document Routing Agents to increase the number of concurrent
printing operations. Alternatively, some customers require very few installations of the Document Routing Agent to
handle their anticipated printing needs.
Service components for network printing
The following diagram shows the basic components that help support network printing operations.
Note that a single printer can be registered with multiple Document Routing Agents. To resolve the printer
preferences, the hosted service uses the network path that uniquely identifies every network printer. As a result,
even when a printer is registered by multiple clients, it appears as a single selection in the list of printers available
in applications.
Install the Document Routing Agent to enable
network printing
10/1/2019 • 5 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This topic describes how to install and configure the Document Routing Agent (DRA). The DRA is a downloadable
application that you can use to enable network printing scenarios. You can enable network printers for specific
companies by using in-client administrative pages.
Key concepts
This topic will help you with the following tasks:
Identify the key components that are involved in the support for network printing in applications.
Learn about the function of the Document Routing Agent.
Configure the Document Routing Agent to work against an existing application.
Use administration pages to manage access to network printers.
NOTE
The account must share the same domain as the Azure AD that is associated with the application. The Document
Routing Agent is now ready to process documents.
After you've successfully signed in, the Printers button becomes available on the toolbar.
2. Edit the existing entries that are mapped to each network printer. As part of your changes, edit the
connection path.
3. To include a printer as an option in the Print Destinations field, set the Active field to Yes .
The network printers can now be used in the application.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
Platform update 12 includes several important enhancements to the components that provide network printing
capabilities. For example, the solution for managing the print job queue has been redesigned so that the Print Job
Management service can be scaled to satisfy high-volume printing requirements. Although the Print Job
Management service is backward-compatible with in-market versions of the Document Routing Agent (DRA) client,
we strongly recommend that customers upgrade all existing DRA clients that are hosted on-premises.
If you don't upgrade existing installations of the DRA to Platform update 12 or later, you might experience the
following issues:
Observable performance degradation in applications
Document loss that is associated with orphaned print jobs
Inconsistent handling of printed documents that have custom margins
IT administrators must perform the following procedures on each domain resource that is used to host a DRA.
NOTE
When you complete the DRA upgrade, IT administrators should register any printers that are connected through the host
server. For network printers that are identified by their network paths, if the paths have not changed, updates are not
required.
Get started
To continue to run the DRA as a Microsoft Windows service, you must have both the user name and the password
of the domain account that is used to run the service. This information must be available after the upgrade is
completed. To find the information for the active service account, start the Microsoft Management Console (MMC)
Services snap-in, and select Microsoft Dynamics 365 Document Routing Ser vice in the list.
Uninstall an existing Document Routing Agent
Open Programs and Features , and then find and uninstall Microsoft Dynamics 365 for Finance and
Operations: Document Routing .
During the uninstallation process, if you're prompted to close the Microsoft Dynamics 365 Document Routing
Service application, select Automatically close applications and attempt to restar t them after setup is
complete.
NOTE
Be sure to open the DRA client after upgrading to refresh network user credentials.
Install network printer devices in on-premises
environments
10/1/2019 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This topic explains how to connect an on-premises deployment of Microsoft Dynamics 365 Finance + Operations
(on-premises) to existing network printer devices. Network printing in the on-premises application is supported by
the Print and Document Services feature in Microsoft Windows Server 2016. This feature lets you centralize tasks
that are related to printer management. To install and configure Print and Document Services, you must have
administrative access to the server that hosts the primary instance of Application Object Server (AOS).
Two roles are associated with the configuration of network printing services:
Ser vice Administrator – The person who has this role is responsible for installing and configuring
components of the platform infrastructure. Traditionally, this role is an Active Directory account that has elevated
domain privileges. It has enough privileges to install components of Microsoft Windows Server.
Organization Administrator – The person who has this role manages application security privileges. This
Active Directory account is assigned to the System Administrator role.
Before the organization administrator can begin to add network printers, the service administrator must install and
configure Print and Document Services on the server that hosts the primary AOS instance. The organization
administrator can then begin to use built-in tools to configure network printer devices.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This topic describes the capabilities for generating, publishing, and printing documents in on-premises
deployments of Microsoft Dynamics 365 Finance + Operations (on-premises). The application provides a fully
integrated experience for enterprise document generation that is powered by Microsoft SQL Server Reporting
Services (SSRS). From any supported device, users can produce standard industry documents that are linked to
business processes. These documents include sales invoices, checks, and packing slips. Built-in tools let
administrators configure the service so that users can securely connect to network printers.
You can upgrade solutions that are built on the Microsoft Dynamics AX 2012 SQL Reporting Services framework,
or you can take advantage of the modern solutions that are available in Microsoft Dynamics Lifecycle Services
(LCS).
For information about how to use extensions to manage availability of the embedded drill-through links in
application reports, see the Appendix.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The Document Routing Agent includes an option that lets you select the mode of execution. The process can run as
either a desktop application or a Microsoft Windows service. When the application runs as a Windows service, it
can be started automatically after a computer restart. It can also be configured to run under the security context of
a specific user account. This enhancement lets customers host the Document Routing Agent on secured domain
resources such as network print servers.
This topic provides important information that will help you select the correct execution mode.
Service applications
An application is a program that a user interacts with on the desktop. A service is a process that runs in the
background and doesn't have an active window. The Document Routing Agent now supports both execution
modes. It's important that you understand why you might select one mode instead of the other and the steps that
are involved in running the process as a service. For more information about Windows services, see Introduction to
Windows Service Applications. Here are some of the main benefits of running the Document Routing Agent as a
background service:
The service can be configured to start automatically after a computer restart. No user intervention is required.
The service runs in the background. No active application runs in the notification area.
The service routes documents without requiring that a user sign in by using cached credentials.
Although there are many benefits of running the Document Routing Agent as a Windows service, there are also
limitations. The next section discusses an issue that affects the handling of document reports, such as checks, that
require custom page margins.
NOTE
Although you install the application at this point, don't run it yet.
4. Copy the configuration file from step 1, and paste it into the following directory:
C:\ProgramData\Microsoft\Microsoft Dynamics 365 for Finance and Operations Document Routing. This
step helps guarantee that all your previous configuration settings are used for the new version of the
Document Routing Agent application.
5. Run the Document Routing Agent.
6. Sign in by using your Microsoft Azure Active Directory (Azure AD) or your credentials for your Finance and
Operations apps.
7. View and verify your settings and printers by clicking the appropriate menu items.
The next section provides detailed instructions for selecting the Windows service execution mode.
5. Select OK .
6. Start the service.
The Document Routing Agent is now running as a Windows service.
Troubleshooting tips
Verify the network printer connection
Verify that the active account has enough access rights to the network printer.
Verify that the user account can successfully print to the network device by using Notepad or another local
application.
Verify security roles
To access the application links that are used to install the Document Routing Agent, the user must be part of the
Document routing client security role.
Review the service account's access rights
Verify that the DocumentRoutingSer vice service is running as a domain account that has access to the
network devices.
Refresh the Azure service token
Azure authentication tokens must be refreshed ever y 90 days while the Document Routing Agent is running
as a Windows service. To refresh the service token, start the client, and then sign out and sign back in by using
the menu items.
Disable shared printers for remote access
When you connect to the host machine by using Microsoft Remote Desktop, make sure that you clear the
Printers option in the Local devices and resources section on the Local Resources tab.
Review the event logs
1. On the host machine, start Event Viewer.
2. Review the logs at Application and Ser vices Logs > Microsoft > Dynamics > AX-DocumentRouting .
SQL Server Reporting Services (SSRS) reports that
are available
11/5/2019 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This topic points you to a report that lists the SQL Server Reporting Services (SSRS) reports available.
Reports can be defined simply as any visualization of a structured data set. This may include transactional data
presented in a tabular layout and advanced graphical views of aggregate information. To account for this broad
definition, the application offers several tools to produce reports to satisfy complex business requirements. One of
these tools is SQL Server Reporting Services. SSRS reports provide the following advantages:
Back office document management capabilities including email support, scheduled executions via batches, and
print archive functionality.
Parameterized views with drill-through navigation to application pages and other reports.
Used to produce precision documents for compliance with local regulatory business practices.
For more information, see Create reporting solutions.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This topic explains how to install the modern report design templates in the application suite. You can use these
samples to create graphically rich business documents that have flexible branding in the header and footer.
Introduction
A new set of developer tools is available that takes the form of report designs for several core business documents
in the application suite. These report designs have been re-imagined so that flexible branding appears in the header
and footer of public-facing documents when transactions are generated in the application. The following illustration
shows how an earlier design for a sales invoice differs from a modern sales invoice design.
After you complete the installation, you can use the built-in brand management tools to define brand settings that
should be applied to the modern designs for application business documents. The brand management tools are
available at Organization administration > Setup > Document branding > Branding details .
Why aren't these designs the default designs for the application suite
reports?
We are maintaining the legacy solutions for two primary reasons:
Modern designs don't include code. Although the legacy solutions use embedded Microsoft Visual Basic
(VB) code to recognize configuration keys and honor regulatory requirements that vary by region, the modern
report designs offer much less flexibility. The benefit of a simple design that has minimal code behind it comes
at the expense of reusability across regions.
Modern designs aren't available for all business documents. There is a gap between the supported
business documents and the availability of modern report designs. Although the legacy designs aren't as
aesthetically pleasing, they provide a sense of consistency.
IMPORTANT
The simple modern designs are not recommended for all types of deployments. They are intended for cases where the
customer doesn't require runtime control over the layout of the document through existing application configuration
settings.
NOTE
Be sure to select the appropriate model file for the version of the application that you're using.
2. Import the model file into your local development environment. To install a model file in a development
environment, use the ModelUtil.exe tool and the -impor t directive. Here is an example.
ModelUtil.exe -import -metadatastorepath=[path of the metadata store] -file=[full path of the file to
import]
For more information about how to import model files, see Export and import models. After you've
imported the model file, start Microsoft Visual Studio 2015. In Application Explorer, verify that the
Application Suite - Modern Designs collection appears under the AOT node. For more information
about how to use the Application Explorer, see Development tools tutorial
Now that you've successfully imported the Application Suite Modern Designs model, you must to rebuild the
application suite to update the metadata elements.
NOTE
You will see that the Application Suite Modern Designs model is included in the package definition.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
Entity store is an operational data store that is included with Microsoft Dynamics 365 Finance. This topic describes
how Entity store enables Power BI integration.
Entity store is an operational data store that is included with the application. The Entity store feature was
introduced in the Microsoft Dynamics AX platform update 1 (May 2016) release. This feature lets an administrator
or power user stage aggregate measurements in a dedicated data store for reporting and analytics. (Aggregate
measurements are a star schema that is modeled by using entities.) We call this data store Entity store. It’s a
database that is optimized for reporting purposes. Entity store uses the in-memory, clustered columnstore index
(CCI) functionality that is built into Microsoft SQL Server to optimize reporting and queries. Customers can use
Microsoft Power BI DirectQuery models together with Entity store to enable high-volume, near-real-time analytical
reporting over large volumes of data.
As the preceding illustration shows, DirectQuery is a reporting mode that runs reports directly on Entity store. In
this reporting mode, data isn't staged in Power BI caches. This mode provides two immediate benefits:
You can create Power BI reports over large data volumes.
Reports don't have to be updated by using Power BI. When Entity store is updated, reports reflect the latest data.
Additionally, data doesn't leave your environment, because no data is cached in the Power BI service.
However, you might wonder why you would model an aggregate measurement so that it can be staged? Why
wouldn’t you use in-memory real-time aggregate measurements all the time? There are several reasons for using
the StagedEntityStore pattern:
There might be large amounts of data that must be explored and analyzed.
You might have Analysis projects (that is, cubes) that you migrated from Microsoft Dynamics AX 2012 R3 as
part of the code upgrade process. Because of the complex views and joins that are present in the schema, query
response times might not be acceptable for embedded visuals. However, you might not want to refactor the
visuals to take advantage of NCCI technology immediately.
Unlike the operational database schema, the schema in Entity store is modeled specifically for reporting.
Therefore, it's much easier to build new reports from the schema in Entity store.
Your scenario might not require that analytical data be updated within seconds of an operation. Most Power BI
reports that are built to enable data exploration fall into this category. If data freshness of approximately 10
minutes is acceptable for your scenario, you might want to use the staged pattern.
If one of the preceding reasons covers your situation, you should stage your aggregate measurement in Entity
store and it use for Power BI integration.
This page includes a list of aggregate measurements. You can stage any of these aggregate measurements in Entity
store. If you're a developer and are familiar with the aggregate measurements that are available in the Application
Object Tree (AOT), you might wonder why some aggregate measurements aren't shown here. If you have
aggregate measurements that you migrated from AX 2012 R3 (that is, SQL Server Analysis Services projects that
were migrated as part of the upgrade process), they can't be deployed until a developer changes the usage
property to StagedEntityStore . This behavior is intentional. We have enabled best practice warnings and errors
that are intended to capture some of the common upgrade issues that affect aggregate measurements. You should
fix best practice errors and warnings if you plan to use near-real-time (NCCI) mode. As of the May 2016 update, the
administrator must schedule a periodic update by clicking Refresh on the Entity Store page. You can use the
Refresh button for a one-time update (that is, demo) or to schedule periodic updates, as shown in the following
illustration.
The batch framework is used for scheduling. Therefore, refresh jobs can be monitored, load balanced, and
prioritized by using the capabilities of the batch framework. As of the May 2016 update, we support only full
updates. However, we will enable incremental updates soon. Eventually, in a future update, the system will update
Entity store based on actual usage patterns. Therefore, as an administrator, you will have to use the Configure
refresh dialog box only as an exception.
Connecting to the Entity store database
For troubleshooting and diagnostics, you can connect to the Entity store database directly from a related sandbox
environment. To connect:
1. Use Remote Desktop to access the sandbox. The RDP file can be downloaded from the Environment Details
page after you have whitelisted your IP address.
2. Open SQL Server Management Studio, and connect to the server specified on the Environment Details page.
Find the section titled Database Accounts . Locate the entry for the user with the name axdwadmin .
The server name is the first portion of the SQL Ser ver\Database Name field. This should be used in
the format of SQLSer verName.database.windows.net where SQLServerName is the value from LCS.
The authentication type should be changed from Windows Authentication to SQL Server Authentication.
The login will be axdwadmin and the password will be the value from LCS.
3. Using the Options button or by browsing to the Connection Proper ties tab, change the Connect to
database property from the default value to your Database Name value from LCS.
4. Click Connect to access the database.
Resolve issues after entity store maintenance
10/1/2019 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
When maintenance is performed on the entity store, it impacts the following components:
Application analytical workspaces.
Entity store-based reports that have been deployed to PowerBI.com.
To resolve issues with these components, complete the procedures in this topic.
NOTE
There will be no impact to the normal operation of your application.
NOTE
The default description is Deploy measurement . If the description has been customized, you can verify whether a
batch job is associated with the entity store by looking at the class name. Batch jobs associated with the entity store
will have a class name of BIMeasurementDeployManagementEntityBatchJob .
4. Go to the Entity store page (System Administration > Setup > Entity Store ).
5. Select all measurements that need to be refreshed.
6. Click Refresh , and then click OK .
After the refresh completes, the application analytical workspaces and reports will render data.
NOTE
Reports that were previously deployed to PowerBI.com may produce errors. If this occurs, you may need to delete and
redeploy the report after the maintenance activity is completed.
Configure PowerBI.com integration
4/11/2020 • 4 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
Overview
Users can pin tiles, dashboards, and reports from their own PowerBI.com account to application workspace.
This functionality requires a one-time configuration of your environment. An administrator must do this step to
enable Microsoft Power BI to communicate and authenticate correctly.
For a workspace to show a Power BI tile, the server must contact the Power BI service on behalf of a user and
access the visualization. It must then redraw the visualization in the application workspace. The fact that the
server contacts the Power BI service "on behalf of a user" is important. When a user, such as
[email protected] , contacts the PowerBI.com service, Power BI should show only tiles and reports from the
user's PowerBI.com subscription.
By completing this configuration step, you enable to contact the PowerBI.com service.
Registration process
1. Sign in to https://portal.azure.com/ using an Azure tenant admin account.
NOTE
The user who completes this procedure must have Admin rights for the tenant to register applications.
2. Go to Azure Active Director y > App registrations > New application registration .
3. Enter the following values:
Name - Your app name.
Application type - Web app/API
Sign-on URL - The base URL of your client. For example, https://contosoax7.cloud.dynamics.com .
NOTE
Depending on your version, you may need to add /oauth as a suffix to the URL, or use http instead of https as the
protocol, such as: https://contosoax7.cloud.dynamics.com/oauth/ or
http://contosoax7.cloud.dynamics.com/oauth/ .
4. Click Create .
5. Copy the Application ID . This will be used to connect to the PowerBI.com service.
6. Click Settings > Required permissions > Add > Select an API > Power BI Ser vice (Power BI) .
7. Click Select .
8. Enable Access and click Select .
9. Click Done and then click Grant Permissions .
10. Click Settings > Keys .
11. Enter a value for Key description and Expires , and then click Save .
Make a note of the Application ID and Application Key . You will use these values in the next procedure.
If you're starting Power BI from the application for the first time, you're prompted to authorize sign-in to Power BI
from the client. Select Click here to provide authorization to Power BI .
Users must complete this step the first time they pin Power BI content.
2. The Azure AD consent page asks for your consent. User consent is required for the application to access
PowerBI.com on behalf of the user. Select Accept .
3. Because you're already signed in to Azure AD, you don't have to enter your credentials again. A new tab
appears, where you're prompted to authorize the connection between the application and Power BI.
Authorize the connection, and then return to the original tab.
4. A list of tiles from your PowerBI.com account appears. Select one or more tiles to pin to the selected
workspace.
Troubleshooting common errors
In the procedure above, after you click Accept , you might receive the following error message if the process is
unsuccessful. Note that the details of the error appear at the bottom of the message. Additional technical
information provides clues that can help you determine what went wrong.
Some common issues and the resolution steps
ERRO R RESO L UT IO N
The Power BI service is unavailable. This issue doesn't occur very often, but the Power BI service
might sometimes be unreachable. You don't have to re-
register. Try to pin a tile to a workspace later.
You can't access the application. You probably didn't select all the check boxes under Step 8
in the Registration proces during the registration process.
Start Power BI, and re-run the registration process.
The Power BI tiles page is empty (no content is shown). Your PowerBI.com account might not have a dashboard or
any tiles. Add a dashboard, such as a sample dashboard, and
try to pin a tile again.
Error when authorizing Power BI On the Azure Admin dashboard, under Users and Groups
> User settings , make sure that the Users can consent
to apps accessing company data on their behalf
option is set to Yes .
Bring your own database (BYOD)
2/5/2020 • 13 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This topic explains how administrators can export data entities from the application into their own Microsoft Azure
SQL database. This feature is also known as bring your own database (BYOD). The BYOD feature was released in
Microsoft Dynamics AX with platform update 2 (August 2016). Minor improvements and bug fixes have been
included in subsequent platform updates.
The BYOD feature lets administrators configure their own database, and then export one or more data entities that
are available in the application into the database. (Currently, more than 1,700 data entities are available.)
Specifically, this feature lets you complete these tasks:
Define one or more SQL databases that you can export entity data into.
Export either all the records (full push) or only the records that have changed or been deleted (incremental
push).
Use the rich scheduling capabilities of the batch framework to enable periodic exports.
Access the entity database by using Transact-SQL (T-SQL), and even extend the database by adding more tables.
NOTE
The application doesn't allow T-SQL connections to the production database. If you're upgrading from a previous version of
Finance and Operations, and you have integration solutions that require direct T-SQL access to the database, BYOD is the
recommended upgrade path.
You can use either Entity store or BYOD. The default operational reports that are available take advantage of
embedded Power BI and Entity store. We recommend that you use our default operational reports as your first
choice. You can also extend the ready-made operational reports to meet your requirements. You should consider
BYOD a complementary option that you use as you require.
NOTE
Your BYOD database must be accessible to Finance and Operations apps. If you encounter issues where you are unable
access to access BYOD, you must ensure firewall rules in your BYOD are configured appropriately.
You can now publish one or more entities to the new database by selecting the Publish option on the menu.
Publishing the entity schema to the database
The Publish page enables several scenarios:
Publish new entities to the database.
Delete previously published entities from the database. (For example, you might want to re-create the schema.)
Compare published entities with the entity schema. (For example, if new fields are added later, you can compare
the fields with your database schema.)
Configure change tracking functionality that enables incremental updates of your data.
The following sections discuss each option.
Publish
The Publish option defines the entity database schema on the destination database. When you select one or more
entities, and then select the Publish option, a batch job is started. This job creates the entities in the destination
database. When the database definition job is completed, you receive a message, which you can access by using the
bell symbol in the upper right.
The actual data update occurs when you export data. At this point, you're just creating the schema.
Drop entity
The Drop entity option deletes the data and the entity definition from the destination database.
Compare source names
The Compare source names option lets you compare the entity schema in the destination with the entity schema
in the application. This option is used for version management. You can also use this option to remove any
unwanted columns from the destination table.
Configure change tracking
Change tracking is a feature that is provided in SQL Server and SQL Database. Change tracking enables the
database to track changes including deletes that are made on tables. The system uses change tracking to identify
changes that are made to tables as transactions. However, because the application must track changes at the data
entity level, there is additional logic on top of SQL change tracking to make this functionality work. The steps to
enable change tracking are explained later in this section.
The Change tracking option on the Publish page lets you configure how changes are tracked on the underlying
entity.
The following table describes the change tracking options that are available.
O P T IO N DESC RIP T IO N
Enable primary table An entity consists of several tables. Select this option to track
all changes that are made to the primary table of the entity.
When changes are made to the primary table, the
corresponding record is inserted into or updated in the
destination database. Although data from the whole entity is
written to the destination table, the system triggers the insert
or update option only when the primary table is modified.
Enable entire entity Select this option to track all changes to the entity. (These
changes include changes to all the tables that make up the
entity.) When changes are made to the entity, corresponding
updates are made to the destination.
Enable custom query This option lets a developer provide a custom query that the
system runs to evaluate changes. This option is useful when
you have a complex requirement to track changes from only a
selected set of fields. You can also select this option when the
entities that will be exported were built by using a hierarchy of
nested views. For more information, see Enable change
tracking for entities.
To use change tracking, you must enable the Change tracking option as shown above in data management. This
action is available on the Data entities list page, by going to Data management > Data entities . You need to
select an entity and select from one of the options listed above to enable change tracking on the data entity.
If you republish an entity that exists in the destination database, the system warns you that existing data will be
deleted because of the new operation.
When you confirm the publish operation, the system publishes the schema to the database, and you're notified
when the operation is completed.
By selecting the Show published only option on the Publish page, you can show only the entities that were
published to a given destination database. The Publish function creates the entity schema in the database. You can
navigate to the database and see the table schemas that were created, together with corresponding indexes.
NOTE
Currently, you can't use BYOD to export composite entities into a database. You must export each entity in the composite
entity.
You can create a data project that has multiple entities. You can schedule this data project to run by using the batch
framework. You also schedule the data export job to run on a periodic basis by selecting the Expor t in batch
option.
The same job can also be used to export data from all companies. In prior to Platform update 27, this feature can be
enabled by enabling the flight DMFEnableAllCompanyExport as explained in Data management overview. Starting
in Platform update 27, this feature can be enabled in data management framework parameters. After the feature is
enabled, a new option will appear when adding an entity to a data project. This option can be enabled to export
data from all companies for the specific entity.
NOTE
Adding multiple entities to an export project for BYOD must be done carefully to ensure the overall reliability of the BYOD
export is not compromised. Different parameters must be taken into consideration when deciding the number of entities that
are added to the same project. Some of these parameters should be the degree of complexity of the entities, data volume per
entity that is expected, and the overall time for export to complete at the job level. Adding hundreds of entities must be
avoided, therefore creating multiple jobs with smaller number of entities is recommended.
Use of recurring exports in Manage > Manage recurring data jobs for BYOD is discouraged. You must use the Expor t
in batch option.
Incremental export
When you add an entity for data export, you can select to do an incremental export (which is also known as
incremental push) or a full push. For incremental push to work, you must enable the Change tracking option in
the database and specify an appropriate change tracking option, as described earlier in this topic.
NOTE
A full push deletes all existing records from an entity and then inserts the current set of records from the selected entity.
If you select an incremental push, the first push is always going to be a full push. This is because SQL needs to
know which records have been 'tracked' in order to be able to track subsequent changes. Whenever a new record is
inserted, or a record is added or deleted, the corresponding change will be reflected in the destination entity.
Because the first push is always a full push, we do not recommend that you do an explicit full push before you
enable change tracking.
We recommend that you first enable change tracking and schedule a export job with incremental push. This will
take care of the first full push and the subsequent incremental exports.
Timeouts
The default timeouts for BYOD exports are set to ten minutes for truncation operations and one hour for actual bulk
insert operations. When volumes are high, these timeout settings may not be sufficient and must be updated.
Starting with the release of Platform update 18, you can update the timeout settings by navigating to Data
management > Framework parameters > Bring your own database . These timeouts are company specific
and must be set separately for each company.
Known limitations
The BYOD feature has the following limitations.
There should be no active locks on your database during synchronization
Because BYOD is your own database, you must ensure that there are no active locks on your Azure SQL database
when data is being synced. Having active locks on your database during synchronization can result in slow writes
or even failure to export to your Azure SQL database.
You can't export composite entities into your own database
Currently, composite entities aren't supported. You must export individual entities that make up the composite
entity. However, you can export both the entities in the same data project.
Entities that don't have unique keys can't be exported by using incremental push
You might face this limitation especially when you try to incrementally export records from a few ready-made
entities. Because these entities were designed to enable the import of data, they don't have a unique key. However,
you can enable change tracking only for entities that have a unique key. Therefore, there is a limitation on
incremental push. One workaround is to extend the required entity and define a unique key.
Troubleshooting
Incremental push not working correctly
Issue - When a full push occurs for some entity then a large set of records can be seen in BYOD using a select
statement. However, an incremental push results in only a few records in BYOD. It seems as if the incremental push
deleted all the records and added only the changed records in BYOD.
Solution - In cases like this it is recommended to disable and re-enable change tracking for the entity in question.
The state of the SQL change tracking tables might not be in the expected state. Also verify that there are no other
incremental exports that cover the same tables (DMF, MR, Retail).
SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred. Error code: 0x80004005
Issue - Export to BYOD fails with an SSIS exception shown below.
An OLE DB record is available. Source: "Microsoft SQL Server Native Client 11.0" Hresult: 0x80004005
Description: "Communication link failure".
An OLE DB record is available. Source: "Microsoft SQL Server Native Client 11.0" Hresult: 0x80004005
Description: "TCP Provider: An existing connection was forcibly closed by the remote host.
Failed to open a fastload rowset for <entityStaging>. Check that the object exists in the database.
OLE DB Destination failed the pre-execute phase and returned error code 0xC0202040.
Solution - This can occur if the connection policy on the Azure SQL BYOD server is set to Proxy. This must be
changed to 'Redirect' as explained in SQL DB Connectivity Architecture
Preview PDF documents using a PDF viewer
4/11/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
You can streamline application experiences that result in the production of business documents by taking
advantage of the embedded PDF Preview option. Finance and Operations applications deliver a modern experience
to preview business documents that are produced by the service. You can use the built-in toolbar to navigate and
download the document or to print to locally connected devices.
The embedded viewer offers consistency between the screen presentation and the printed output. In addition,
report viewing times are drastically reduced when compared to the legacy experience. The Preview option is
available on all supported devices and does not require any additional third-party software. Documents can be
easily downloaded and navigated by using the built-in viewer toolbar options.
The following illustration shows a preview of the experience with a modern business document.
The legacy HTML-based preview experience is being replaced by a true document preview experience. There are
several key advantages in the modern PDF preview experience. These advantages include:
A fidelity between the screen presentation and the printed output.
A consistent document report preview experience across devices and platforms, including on-premises
deployments.
The server-side rendering improves the performance when producing the document.
A built-in tooling that allows users to quickly navigate the contents of the business document.
Feature limitations
The Embedded PDF viewer experience delivers a closed document that exactly matches the printed output of the
document. These documents cannot be modified by the recipient making the format ideal for business operations.
However, as a closed format, the documents are far less interactive on the screen when compared to HTML
presentations. The following end-user capabilities are not supported when previewing documents using the
embedded PDF viewer.
Embedded drill-thru navigations are not actionable while previewing PDF documents.
PDF documents do not support expandable and collapsible sections.
Sub-reports are not supported when viewing reports as PDF documents.
Printing the report directly to domain-hosted printer devices.
Analytics, aggregate measurements, and KPI
modeling
10/1/2019 • 6 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This topic discusses the embedded business intelligence (BI), aggregate measurements, dimensions, and data
entities, and aggregate programming model.
Microsoft Dynamics AX 4.0 Perspectives provided the ability to model ad-hoc reporting
models.
Microsoft Dynamics AX 2009 Perspectives added support for modeling analysis cubes.
Finance and Operations apps Perspectives are a first-class citizen in the data access
framework. They can be consumed via X++ or C# code, and
also in a model-driven way.
Perspectives reside within the analytics collection in the Application Explorer. Perspectives have undergone a major
upgrade and now incorporate the following improvements:
You can model new aggregate models and customize existing aggregate models as a star schema within
Application Explorer.
Modeling for key performance indicators (KPIs) in Application Explorer is supported.
You can model data entities by referencing aggregate models. Data entities can be exposed to external reporting
tools, such as PowerBI, as OData endpoints. Data entities can also be consumed.
You can consume aggregate models directly in the programming model by using X++ or C# code. You no
longer have to write MDX code to consume aggregate data.
Aggregate data is a first-class citizen within application data access. Its behavior is similar to the behavior of
detailed data. For example, aggregate data can be enriched with extended data types (EDTs) and enumerations,
and you can help secure them by using application security concepts.
The aggregate data infrastructure is maintained completely within the environment. By default, aggregate
measurements are real-time. As a system administrator, you can manage the latency of aggregate data and
controls based on available resources and business needs, without having to deal with the complexity of
scheduling and external tools.
Developers can reuse existing business models, making the modeling process quicker and easier.
Projects that were generated by using perspectives from Dynamics AX 2012 and later can be upgraded to Finance
and Operations metadata equivalents.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This tutorial will walk you through the process of modeling aggregate data .
Prerequisites
This tutorial requires you to access the environment using Remote Desktop, and be provisioned as an
administrator. For more information, see the topic named Deploy and access development environments.
Key concepts
Aggregate measurements , similar to perspectives and Cubes from earlier versions, enable you to model
and consume aggregate data.
Key Performance Indicators (KPIs) are a form of analytic controls that track organizational performance
against the current status. KPIs are represented as tiles in a workspace or the dashboard . In this tutorial, you
will model a KPI in Visual Studio.
KPIs that are modeled in Visual Studio can be modified in the client. A user also has the ability to model new
KPIs using the client.
A workspace is an overview page that is specific to a particular subject area. Workspaces are common to all
users.
The dashboard is the default home page for each user.
Tiles are securable objects that can be pinned to a workspace or the dashboard. KPIs and aggregate data that
are shown on the dashboard, or a workspace, can be secured by using menu items.
Aggregate data can be consumed in building charts and other controls. Using the model driven approach, you
have the ability to create data entities by directly referencing aggregate measurements and aggregate
dimensions. These entities are referred to as Aggregate data entities . Aggregate data entities are read-only
data entities used for reporting purposes.
The aggregate programming model enables a developer to consume aggregate data programmatically
using either X++ or C# code. Data retrieved using the aggregate programming model can be used as a data
source in forms.
Method expressions enable a developer to build rich expressions using aggregate data. Method expressions
are an X++ class. KPIs can be modeled using method expressions, thereby eliminating the need to build MDX
expressions.
Contextual BI refers to providing required insights as part of the user experience such that the user has
relevant insights to not only achieve the task at hand, but be highly-productive during the course of the day.
Embedded BI refers to analytic content being embedded within the user experience. Contextual BI and
embedded BI teams are closely related. Contextual BI implies the added notion that the context of analytic
context revolves around the data or the task.
Self-ser vice BI refers to enabling a user to tweak existing and/or create new analytic content such as reports,
KPIs, and dashboards.
Set up
If this is the first tutorial you are working on, make sure you have configured the administrator user if you are
running on a local VM.
Import the tutorial project
If you have already imported the Fleet management tutorial project, skip to the next section. In Visual Studio, on the
Dynamics 365 menu, click Impor t Project .
1. Download the Fleet Management sample from https://github.com/Microsoft/FMLab, save it to c:\ , and unzip it.
2. In the Impor t Project window, next to the Filename text box, click the ellipsis button.
3. In the Select the file to impor t window, browse to the location of the FMLab folder, click
FMTutorialDataModel.axpp , and then click Open .
4. In the Project file location text box, enter C:\FMLab .
5. Select the Over write Elements check box, and then click OK .
Open the tutorial project
1. In Visual Studio, open the FMTutorial project. On the File menu, point to Open , and then click
Project/Solution .
2. In the Open Project dialog box, browse to C:\FMLab\FMTutorial, and then click FMTutorial. Click Open . The
FMTutorial project appears in Solution Explorer .
3. Use the FMTDataHelper class to load data for the Fleet Management tutorial. In Solution Explorer , in the
FMTutorial project, expand Classes . Right-click FMTDataHelper , and then click Set as Star tup Object .
4. On the Build menu, click Rebuild Solution . You use the rebuild to update the timestamps of the imported
artifacts. You can view the build progress in the Output window.
5. Press Ctrl+F5 to run the project and load the data.
Revenue X X X
Number of rentals X X X
2. In Solution Explorer , expand the Views folder of the project, and then select the
FMTRentalChargeExtendedView view.
3. Drag-and-drop the FMTRentalChargeExtendedView into the root node of the
FMTAggregateMeasurement aggregate measurement in the designer. Notice that a new measure group
is created and the values of properties have been applied as follows.
P RO P ERT Y VA L UE
Name FMRentalChargeExtendedView
Table FMRentalChargeExtendedView
4. In Solution Explorer , double-click the FMRentalChargeExtendedView view. When the designer form
opens, expand the Fields node.
5. Select the ExtendedAmount and RentalID fields, and then drag-and-drop the two fields onto the
Measures node of the newly created FMAggregateMeasurement measure group called
FMRentalChargeExtendedView . As you drag the fields, hover your cursor over the
FMAggregateMeasurement tab to access the Measures node. By default, when you drag-and-drop the
fields, the system assumes that you want counts of the measures. In this case, you need to modify default
properties for the ExtendedAmount and RentalId measures as follows:
P RO P ERT Y ( EXT EN DEDA M O UN T ) VA L UE
Name Revenue
Name NumRentals
6. Next let's create another measure which calculates Revenue per Rental by copying an existing measure.
Select the TotalRevenue measure. Right-click and select Copy from the Context menu.
7. Select the FMRentalDetails measure group. Right-click and select paste. Rename the newly created
measure to RevenuePerRental . Modify the aggregation function to Average .
Model an aggregate dimension charge type
To analyze rental revenue by the different charge types, you need to be able to slice revenue by the charge type. For
this purpose, you will first model a charge type dimension.
1. In Solution Explorer , under FMTutorial , right-click Analytics , point to Add , and then click New Item .
2. Select Dynamics 365 Ar tifacts > Analytics > Aggregate Dimension from the list of items.
3. In the Name property, enter FMTChargeType . This is the name of the aggregate dimension that will be
created. This name must be unique. Click Add . The new dimension will appear in Visual Studio.
4. In Application Explorer , expand the AOT and click Data Model > Tables . Drag-and-drop the
FMTChargeType table from Application Explorer onto the root node of the newly created
FMTChargeType dimension in the designer. Notice that dimension attributes and corresponding keys have
been added using the AutoReport field group of the table.
5. Expand the Attributes node of the new dimension. Notice that several attributes have been created for you
by default. The system has also created a dimension key based on unique indexes of the table. You can add
additional fields by dragging and dropping them into the Fields node.
6. Save the new dimension.
7. You may get a warning asking you to rename the field name Description to avoid the MDX reserved word.
Even though the aggregate dimension may not be deployed to SSAS in this aggregate measurement, it's
possible that this dimension may be used by an aggregate measurement deployed to SSAS in the future. To
avoid potential issues in the future, rename the field name Description to ChargeDescription .
Model dimension references for customer profile and charge type dimensions
Next, create dimension references to new and existing dimensions so that revenue can be sliced by customer as
well as charge type.
1. In Solution Explorer , double-click FMTAggregateMeasurement or, if you have it open, navigate to it in
the designer.
2. In Solution Explorer , select the dimensions FMTChargeType and FMTCustomerProfile .
3. Drag-and-drop them into the Dimensions node of the FMTRentalChargeExtendedView measure group.
Notice that dimension references have been created along with relations.
4. Save changes to FMTAggregateMeasurement . Review the property sheet for the dimension relation and
notice that the Use Table relations property is set to Yes . Notice that the drag-and-drop operation created
relationships between the measure group dimensions FMTRentalChargeExtendedView and
FMTChargeType , FMTCustomerProfile . Review the property sheet for the dimension relation and notice
that the Use Table relations property is set to Yes .
NOTE
In platform update 1611 and later, UseTableRelations property has been removed. When a new dimension
reference is created, system will default existing relationships. You can continue to provide an explicit relationship by
changing the relationship field that was defaulted. Providing an explicit relationship is equal to setting
UseTableRelationship to No .
5. Expand the Dimension relations node for the FMTCustomerProfile dimension. Notice that the
UseTableRelations property is set to No . In this case, the system has not been able to find a suitable
relationship between the Measure group and dimension. You will need to specify one manually.
6. Expand the FMTCustomerProfile dimension reference if you have not done so already. Select the node
FMTCustomerExtendedView . Right-click and see the property sheet.
7. Select CustomerID as the value for property DimensionAttribute . Select the relationship shown below.
Select Customer for the property value RelatedField .
8. Save changes to FMTAggregateMeasurement .
9. In this scenario, we specified a relationship because the system was unable to find one. You could also
specify a different relationship if you want to override the system choice by setting Use Table Relations
proper ty to No .
Model dimension references for the date dimension's rental start date and transaction date
Assume that for analysis purposes, you want to enable slicing by the start date of the rental; but for accounting
purposes, you want to enable slicing by the transaction date for each of the charges. To do this, you need to
associate the rental charges measure group with two date dimensions. In the BI world, this pattern is known as
Role Playing dimensions . By default, a date dimension is added to the measure group. You can rename the
default name appropriately and add new date dimensions as required.
1. Expand the Dimensions node of the FMTRentalChargeExtendedView measure group. Notice that the
Date_ dimension has already been included as dimension slicers.
NOTE
If the table or the view used to model the measure group is a Company-specific table, for example it contains
DATAAREAID as part of the key), a Company dimension relation will be created by default. In this case, the view we
used is not a company specific one.
P RO P ERT Y VA L UE
Name RentalStartDate
3. Define the table relationship. Expand RentalStar tDate , and then expand the Date node.
4. Select the Relationship shown. Right-click and select the property sheet. Select Star tDate for the value of
Related field property.
5. The relationship you defined should look like the following screenshot.
6. Next, enable slicing of measures by the TransactionDate dimension. TransactionDate is also a date
dimension, so you will add another reference to the date dimension and associate that with the
corresponding field that contains the transaction date. When more than one date dimension is used as a
slicer, each date dimension is known as a Role playing date dimension .
7. Under the FMTRentalChargeExtendedView measure group, right-click the Dimensions node, and then
click New Dimension . A new dimension will be added to the list of dimension references.
8. Specify the following properties for the new dimension reference.
P RO P ERT Y VA L UE
Name TransactionDate
Notice the new property called Tags . This property enables the discovery of patterns within code and
metadata from within the Visual studio environment. You can enter any number of tags and they can be
searched using the hot keys or the Dynamics 365 menu in Visual Studio.
9. Define the table relationship. Right-click TransactionDate , and then click New Relation . You do not need
to specify any properties in the DimensionsRelation at this point.
10. Expand BIDateDimensionValue , and then select the Relationship Constraint . Right-click and select the
property sheet.
11. Specify the following properties for the BIDateDimensionsView relation constraint.
P RO P ERT Y VA L UE
Field Date
The relationship you defined should look like the following screenshot.
O P T IO N C O N SIDERAT IO N S
In-memory real-time This option will leverage the In-memory Column store indexes
of SQL Server database to deploy Aggregate Measurements.
This option is recommended when the Aggregate
measurement is used for embedded analytics within the client
where you need real-time analytics . For an overview of
concepts on real-time analytics, see Analytics, aggregate
measurements, and KPI modeling.
Stage in Entity Store This option leverages Entity store, the operational data store
that enables near real-time PowerBI repor ting . If you
choose this option, Aggregate measurement can be deployed
to Entity store and you can schedule the data to be refreshed
periodically. For an overview of this approach, refer to the blog
post here:
https://blogs.msdn.microsoft.com/dynamicsaxbi/2016/06/09/p
ower-bi-integration-with-entity-store-in-dynamics-ax-7-may-
update/
NOTE
SSAS Cube option is no longer supported when modeling aggregate measurements.
1. Select the FMTAggregateMeasurement node. Right-click and select Proper ties . Select
InMemor yRealTime as the value for the property Usage .
2. InMemoryRealTime aggregate models are deployed to SQL Server using Non-Clustered Column Store Index
(NCCI) technology. NCCIs is an in-memory technology that enables analytical and operational workloads to
be served from SQL server database. NCCI indexes can be defined on tables similar to any other index.
While NCCI indexes can be defined manually, framework has the ability to analyze index requirements and
add them to underlying tables where necessary.
3. Right-click FMAggregateMeasurement in Solution Explorer, and then click Add Column store indices
option . You will notice several new indexes being added by the system.
4. Save and build the project.
5. InMemoryRealTime aggregate models do not require data processing as the models are queried real-time. If
you have not enabled database synchronization along with the build, manually synchronize the database.
P RO P ERT Y VA L UE
Measurement FMTAggregateMeasurement
Bad Threshold 0
P RO P ERT Y VA L UE
Good Threshold 0
4. Define the expression for the KPI value. Under FMTRevenuePerRental , select Value , and specify the
following properties.
NOTE
The values must be entered in the order they appear in the table:
P RO P ERT Y VA L UE
Measure RevenuePerRental
5. Define the expression for the KPI Goal. Select Goal , and specify the following properties.
P RO P ERT Y VA L UE
Value 250
NOTE
You could have defined a goal based on an aggregate measure as well. In this case, we will define a number as the
goal.
P RO P ERT Y VA L UE
8. Click Save on the bottom left to save changes. Notice that the KPI status color has changed in the KPI tile
shown.
Add financial dimensions to aggregate measurements
10/1/2019 • 6 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This feature lets power users include financial dimensions in ready-made Microsoft Power BI reports. Power users
can also create new Power BI reports that use financial dimensions.
Financial dimensions are user-defined configuration data that enables the ledger chart of accounts to retain
additional information. By adding financial dimensions, a user can configure additional data fields that will be
included with the chart of accounts and financial reports. Therefore, the ledger chart of accounts can be sliced and
diced based on those fields. This feature provides powerful financial reporting. For example, you can explore ledger
data by using the new financial dimensions that you've added. Because no financial dimensions are included in the
ready-made Power BI reports when they are released, you must include these additional fields to the ready-made
reports.
After financial dimension fields are included in the report, you can share the report with other users. Those other
users can modify existing visuals, such as charts, by including all or some of the financial dimension fields.
NOTE
This feature is available in Microsoft Dynamics 365 for Finance and Operations, Enterprise edition (July 2017). Platform
update 8 or later is also required.
How a Power BI report author can create reports that use financial
dimensions
A business user can create a new report that uses financial dimensions by using Power BI desktop. Existing reports
that use financial dimensions can be updated so that they include additional fields.
In this example, we will use Power BI desktop to create a report that uses the Ledger Activity measure group.
1. In a development environment, connect to the Entity store database by using Power BI desktop.
2. Select the following tables:
LedgerActivityMeasure_LedgerActivityMeasureGroup
LedgerActivityMeasure_FiscalPeriodDateAggregtateDimension
LedgerActivityMeasure_DimensionCombination
3. Use the Manage relationships option in Power BI desktop to define the following relationships between
table fields:
Define a join between
LedgerActivityMeasure_LedgerActivityMeasureGroup.LEDGERDIMENSION and
LedgerActivityMeasure_DimensionCombination.DIMENTIONCOMBINATIONRECID .
Define a join between
LedgerActivityMeasure_LedgerActivityMeasureGroup.LEDGERGREGORIANDATEID and
LedgerActivityMeasure_FiscalPeriodDateAggregateDimension.LEDGERPERIODGREGORIANDATEID .
4. Create a matrix report that uses the Sales and YearName fields. The report should resemble the following
example.
6. Include the BusinessUnit_Description field in the report. Your report should now show sales by business
unit, as shown in the following example.
Notice that you have the BusinessUnit_description field and the BusinessUnit_Value field. The value
field lets you to get a numerical value that can be used to sort columns.
7. Define a new financial dimension, and update the Entity store.
8. When the update is completed, right-click the LedgerActivityMeasure_DimensionCombination table,
and then select Refresh data . Notice that the new financial dimension that you defined is reflected in the list
of fields that are available for reporting.
9. You can include the new financial dimension fields in the report.
Creating reports that use expanded Financial dimension tables
As we discussed earlier, new tables were created in the Entity store. Each financial dimension field is also added to a
new table. The new tables contain individual fields for the name, value, and description.
Notice that the new tables contain a key that can be used to join them with the
LedgerActivityMeasure_DimensionCombination table that is used to create the report. If you want to use fields
from these additional tables, just include them in the report and relate them by using the keys.
1. Open the report that you created earlier.
We will now add a financial dimension table to the report.
2. In Power BI desktop, click Recent Sources on the menu, and then select the AXDW data connection. Table
navigator is shown.
3. Select the LedgerActivityMeasure_LegalEntity table for the report.
NOTE
If you're using a development or demo environment, you see this table because LegalEntity is a financial dimension
that is defined in demo data. If you're working with your own data, the tables that you see will correspond to financial
dimensions that you've defined.
We will now relate the selected table to existing tables in the report.
4. In the report, open the Manage relationships dialog box.
5. Join LedgerActivityMeasure_DimensionCombination.LegalEntity_FK to
LedgerActivityMeasure_LegalEntity.KEY_ .
If you select a different dimension table in step 3, you must relate the corresponding FieldName_FK field from the
combination table to the KEY_ field in the dimension table.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
If you're a power user or a business analyst, you probably create many reports for your organization. You might
create these reports in Microsoft Excel by formatting and relating data before you share it with other people.
People in your organization might even come to you when they require modifications to the report. This solution
offers an easy way to create rich, interactive reports. As a report writer, you can use Microsoft Power BI Desktop as
the reporting tool. The reports that you create can then be published to PowerBI.com. For more information about
Power BI Desktop, see Create stunning reports and visualizations with Power BI Desktop.
NOTE
To develop or extend analytical workspaces and reports in the application suite, customers must use a development
environment running in their own subscription or on local machines. You won’t be able to develop or extend embedded
analytical reports in Microsoft-provided, Tier-1 environments. You need administrator rights to install Power BI Desktop.
3. In the SQL Ser ver Database dialog box, enter . as the server name and AxDW as the database name. Then
select the DirectQuer y option.
The following illustration shows the settings that enable Power BI Desktop to access the local Entity Store
database.
NOTE
The Impor t option isn't currently supported.
4. Select OK .
The Navigator dialog box appears. You use this dialog box to select which tables and views from the Entity
Store you want to report on.
5. In the search box, enter Retail to filter for entities that are related to the RetailCube aggregate measurement.
6. Select the RetailCube_RetailTransDetailsView table that is shown in the navigator, and then select Load .
You can now create a report. You can drag measures and fields to the canvas, and can explore data and trends
interactively.
The following illustration shows a basic report that uses the local Entity Store database as its source.
Power BI Desktop also supports the creation of calculations and lets you combine data from multiple aggregate
measurements. Within minutes, you can create analytical reports by using data in the local development
environment. When you're satisfied with the report, you can migrate it to the production environment, so that
users can use the report to interact with production data.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
NOTE
This feature is supported in Finance and Operations (version 7.2 and later).
Introduction
This topic shows how to embed a Microsoft Power BI report on the Analytics tab of a workspace. For the example
that is given here, we will extend the Reser vation management workspace in the Fleet Management application
to embed an analytical workspace on an Analytics tab.
Prerequisites
Access to a developer environment that runs Platform update 8 or later.
An analytical report (.pbix file) that was created by using Microsoft Power BI Desktop, and that has a data model
that is sourced from the Entity store database.
Overview
Whether you extend an existing application workspace or introduce a new workspace of your own, you can use
embedded analytical views to deliver insightful and interactive views of your business data. The process for adding
an analytical workspace tab has four steps.
1. Add a .pbix file as a Dynamics 365 resource.
2. Define an analytical workspace tab.
3. Embed the .pbix resource on the workspace tab.
4. Optional: Add extensions to customize the view.
NOTE
For more information about how to create analytical reports, see Getting started with Power BI Desktop. This page is a great
source for insights that can help you create compelling analytical reporting solutions.
5. Find the .pbix file that contains the definition of the analytical report, and then click Open .
Now that you've added the .pbix file as a Dynamics 365 resource, you can embed the reports in workspaces and
add direct links by using menu items.
NOTE
For embedded workspaces, we recommend that you use extensions to hide both the Filters Pane and Tab pages, for
consistency.
You've now completed the task of extending the application form definition. For more information about how to
use extensions to do customizations, see Customize through extension and overlayering.
Reference
PBIReportHelper.initializeReportControl method
This section provides information about the helper class that is used to embed a Power BI report (.pbix resource) in
a form group control.
Syntax
Parameters
formGroupControl The form group control to apply the Power BI report control
to.
showFilterPane A Boolean value that indicates whether the filter pane should
be shown (true ) or hidden (false ).
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
NOTE
This feature is supported in Microsoft Dynamics 365 for Finance and Operations, Enterprise edition (July 2017) (version 7.2)
and later releases.
Introduction
This topic provides a walk-through for application developers who want to help secure analytical workspaces and
reports that are delivered by using Microsoft Power BI Embedded. It describes the recommended strategies for
securing access to both the reports and the data set, based on viewer access rights. By using the techniques that
are described in this topic, you can hide reports from users and filter reports to show the data set that is
appropriate for a specific user, based on the active company context.
Prerequisites
Access to a developer environment that runs Platform update 8 or later
An analytical report (.pbix file) that was created by using Microsoft Power BI Desktop, and that has a data model
that is sourced from the Entity store database
Overview
Whether you're extending an existing application workspace or adding your own workspace, you can use
embedded analytical views to deliver insightful and interactive views of your business data. Before you add new
analytical workspaces and reports, it's important that you establish a strategy to help secure the content.
There are several considerations that you should be aware of when you develop analytical solutions by using
Power BI Embedded. Analytical reports are secured by using menu items. After they have access to a report, all
viewers can access the underlying data model that is defined in the report. Although service options are available
that automatically hide the fields that back a report data set, all viewers of the report have effective access to the
fields in the data model. Additionally, X++ extensions are available that influence the way that the report is
presented in the client. Both the Filter pane and the Repor t tabs can be hidden. However, Microsoft Power BI
filters can be modified by using client-side script injections.
Recommendation
Create scenario-specific .pbix files to deliver analytical views:
Area overviews that are delivered by using workspaces
Subject matter–specific analytical reports
NOTE
These analytical reports are often used to deliver reports that contain medium-business-impact and high-business-
impact data.
For more information about how to create analytical reports, see Getting started with Power BI Desktop. This page
is a great source for insights that can help you create compelling analytical reporting solutions.
The preceding logic will prevent the Power BI Viewer control from being initialized. Therefore, an empty tab will
appear on the page. By default, the framework automatically hides empty tabs. Therefore, the Analytics tab is
hidden and can't be access if the user doesn't have access to the menu item that is associated with the analytical
workspace.
Help secure analytical reports
Embedded Power BI reports in the application are secured by using menu items. Users who try to access a Power
BI report directly, by using a menu item in application, will receive an error. Follow these steps to help secure the
analytical reports.
1. Add a menu item for the report or the appropriate tab. By default, the first tab of the report will be shown if
no other tab is selected.
2. Link the menu item to the PowerBIEmbedded_App configuration key.
The menu item is now associated with the availability of the Power BI Embedded service. If the service is
unavailable, the links for the menu items will be removed from the application.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This tutorial shows how to export data and create a report, expand predefined views and add navigation to charts,
use the free-form report designer, and customize the parameter experience.
Prerequisites
For this tutorial, you must access the application environment, and you must be provisioned as an administrator on
the instance.
Key concepts
Describe the various ways reports can be created and consumed
Add interactivity to embedded aggregate reports in forms and workspaces
Use framework extensions to customize the parameter experience for SSRS based business documents
Export List Page data to create reports with external tools including Microsoft Excel
Author modern report designs using enhanced developer tooling in Visual Studio 2015
SSRS Report Developer All users Transactional and Internal/External Free form
Aggregates
At this point, you have a collection of pre-defined chart visualizations of Aggregate data. The controls offer basic
interactive features like hover text, series filtering, and touch expansion. However, it is often appropriate that a
greater degree of user interactivity is required.
Change the default chart type for the visualization
1. Close the browser session and return to the Visual Studio project.
2. Open the Application Explorer , locate the FMReser vationsByCustPar t form, right-click, and then select
Add to project .
3. Open the FMReser vationsByCustPar t form designer.
4. Access the Series collection in the Reser vationsByCust chart definition.
5. Select the SysBuildChatMeasure1 series definition
6. Locate the Appearance section in the Proper ties window.
7. Update the Char t type value and select Pie
8. Press Ctrl+Shift+B to save and rebuild the project.
9. Press Ctrl+F5 to run the report.
The Reser vations by customer view now visualizes the aggregate data set using a Pie chart to simplify the task
of comparing rental activity across customers.
Additional functions include:
Define contextual drill-through navigations using modeled properties
Manage drill-through links using X++ form logic
Advantages of embedded aggregate visualizations
Designed to be simple and intuitive to promote informed decisions at every level of the organization
Pre-defined views tailored to meet the needs of the consumer
Augments the user's ability to recognize key performance trends in the data
The parameter initialization code above sets the default values of the report execution relative to today's date. Use
the classes UIBuilder to override the framework's default handling of report parameters. Additional extension
scenarios supported:
Automatically set query ranges based on session context using Controller classes
Select report designs at runtime using a shared menu item
Modify report data contract values using business logic
NOTE
This example demonstrates a UIBuilder extension with an RDP-based based report. For a Query based example that includes
a UIBuilder extension, view the FMCustomerList report.
This report uses embedded VB script to keep track of running totals so that the balances from the previous page
can be referenced on the active page. To inspect report's VB code, load the report design in the Precision Designer,
access the Repor t Proper ties , and then select the Code section. Here you'll see several functions referenced by
the report designs to surface running balances within the report headers and footers.
Advantages of SSRS reports
Built-in back office document management capabilities including email support, scheduled executions via Batch,
and Print Archive
Parameterized views with drill-through navigations to forms and other reports
Used to produce precision documents for compliance with local regulatory business practices
Customize App Suite reports by using extensions
11/5/2019 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This topic discusses a series of scenarios for customizing App Suite reports.
Finance and Operations offers an expanded set of tools to support custom solutions. Customizations to reporting
solutions in the standard application are fully supported using a pure extension model. This topic contains guidance
about how to add the most common customizations to standard application reports without overlayering
Application Suite artifacts. Here are some of the key benefits of using an extension-based approach when
customizing the application:
It reduces the footprint of your application solutions by minimizing code duplication.
Custom reports benefit from enhancements made to standard solutions including updates to business logic in
Report Data Provider (RDP), data contracts, and UI Builder classes.
Standard application solutions are unaffected and continue to be available in concert with custom reports.
Report extensions do not break or prevent access to standard application reports. Instead, the platform supports
run-time selection of the target report allowing you to choose the appropriate report design based on the context
of the user session. For more information about customizations using extensions, see Customize through extension
and overlayering
Scenarios
There are four key scenarios which demonstrate the flexibility available. The first two scenarios involve extending
existing RDP classes for custom reporting solutions.
Expand Application Suite report data sets – Use table extensions and integrate custom business logic to add
custom columns to an existing dataset.
Composing custom datasets – Add more data to application reports by extending an existing RDP class to return
a custom dataset.
The other two scenarios offer insights on how to use extensions to redirect application navigations to your custom
solutions.
Extend report menu items to redirect user navigation – Customize application menu items to redirect references
to a custom report design.
Create custom designs for business documents – Delegate handlers allow you to add custom report designs to
an existing Print Management document instance.
Expand Application Suite report data sets
2/5/2020 • 5 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This topic shows how to expand an existing report data set that is produced by using X++ business logic in a
report data provider (RDP) class.
This topic focuses on the expansion of an existing report data set that is produced by using X++ business logic in a
report data provider (RDP) class. You use custom delegate handlers and table extensions to include additional field
data and/or calculations. You don't have to over-layer the Application Suite. You then create custom designs that
replace the standard application solutions and present the data to users. The following illustration shows a typical
application customization, as described in this topic.
3. Add a table extension to store the custom repor t data. Find the temporary cache for the
TmpFMRentalsByCust data set that is populated by the RDP class, and create an extension in your model.
Define the fields that will be used to store the data for the report server, and then click Save to save your
changes. The following illustration shows the table extension that is required for this example.
4. Add your custom repor t to the project. The custom design closely resembles the standard solution.
Therefore, you can just duplicate the existing application report in the Fleet Management Extension
model, and then update the report design so that it includes the custom title and additional text box in the
Rental Charges container.
5. Rename the repor t so that it has a meaningful name. For this example, rename the custom report
FERentalsByCustomer to distinguish it from the standard solution.
6. Restore the repor t data set references. Open the report designer, expand the Datasets collection,
right-click the data set that is named FMRentalsByCustDS , and then click Restore . The data set is
expanded so that it includes the newly introduced columns. Therefore, these columns are now available in
the report designer.
7. Customize the repor t design. The designer offers a free-form design surface that you can use to create
the custom solution. The following illustration shows the custom design that is used for this example.
8. Add a new repor t handler (X++) class to the project. Give the class a name that appropriately
describes that it's a handler for an existing application report. For this example, rename the class
FERentalsByCustomerHandler to distinguish it from other report handlers.
9. Add a PostHandler method to begin to use your custom repor t. In this example, extend the
controller class in the standard solution, FMRentalsByCustController , by using the following code.
class FERentalsByCustomerHandler
{
[PostHandlerFor(classStr(FMRentalsByCustController), staticMethodStr(FMRentalsByCustController,
construct))]
public static void ReportNamePostHandler(XppPrePostArgs arguments)
{
FMRentalsByCustController controller = arguments.getReturnValue();
controller.parmReportName(ssrsreportstr(FERentalsByCustomer, Report));
}
}
User navigations in the application will now be rerouted to the custom reporting solution. Take some time to
deploy the custom report to the report server and verify that the application is using it. At this point, you
just have to add the business logic that is used to populate the custom fields that you introduced in step 3. In
the next step, you must select the method of data set expansion that is appropriate for your solution.
10. Add X++ business logic to populate the custom field data. Select the data processing technique that
makes sense for the type of transformation that you require for the solution.
Option 1: Add a data processing post-handler. Apply this technique for bulk insert operations
that use a single pass over the result set of the standard solution. Here is the code that expands the
data set by using a table lookup.
class FERentalsByCustomerHandler
{
[PostHandlerFor(classStr(FMRentalsByCustDP), methodstr(FMRentalsByCustDP, processReport))]
public static void TmpTablePostHandler(XppPrePostArgs arguments)
{
FMRentalsByCustDP dpInstance = arguments.getThis() as FMRentalsByCustDP;
TmpFMRentalsByCust tmpTable = dpInstance.getTmpFMRentalsByCust();
FMRentalCharge chargeTable;
ttsbegin;
while select forUpdate tmpTable
{
select * from chargeTable where chargeTable.RentalId == tmpTable.RentalId;
tmpTable.ChargeDesc = chargeTable.Description;
tmpTable.update();
}
ttscommit;
}
}
Option 2: Add a temp table Inser ting event. Apply this technique for row-by-row calculations.
Here is the code that expands the data set by using a table lookup.
class FERentalsByCustomerHandler
{
[DataEventHandlerAttribute(tableStr(TmpFMRentalsByCust), DataEventType::Inserting)]
public static void TmpFMRentalsByCustInsertEvent(Common c, DataEventArgs e)
{
TmpFMRentalsByCust tempTable = c;
FMRentalCharge chargeTable;
// update the value of the 'ChargeDesc' column during 'insert' operation
select * from chargeTable where chargeTable.RentalId == tempTable.RentalId
&& chargeTable.ChargeType == tempTable.ChargeType;
tempTable.ChargeDesc = chargeTable.Description;
}
}
You've now finished expanding the report data set. After the application is compiled, it will begin to reroute user
navigations to the new report design by using the custom X++ business logic that you defined in the report class
handler that is defined in the extension model.
Extend report menu items to redirect user navigation
11/5/2019 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This topic shows how to extend existing application menu items so that, after only minimal code changes,
navigations are redirected to a custom reporting solution.
This topic focuses on the process of extending existing application menu items so that, after only minimal code
changes, navigations are redirected to a custom reporting solution. By using this technique, you will avoid the
inconvenience of tracking down and replacing all references to an existing application report. Just extend an
existing application menu item to redirect application navigations to reports that are defined in an extension
model. The following illustration shows a typical application customization.
1. Create a new model for your application customizations. For more information about extension
models, see Customize through extension and overlayering.
2. Create a new project in Microsoft Visual Studio, and add your custom repor t. Additionally, add all
the solution artifacts. These artifacts include the RDP class or source query, the controller class, and UI
builders, if they are present.
3. Create an extension of the menu item that is used to access the repor t. In this example, the output
menu item is named FMCustomerListRepor t . Use the menu item structure to find the menu item name
that is exposed in the application. The following illustration shows the action in Application Explorer.
4. Modify the proper ties of the menu item extension. Update the report design or controller reference
in the menu item to direct navigations to your custom solution.
NOTE
The property changes that you can make on the object depend on the original application solution. If the application
report manages the solution by using a controller, a controller class is required for the report.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This topic shows how to create a custom report design for an existing application business document by using a
pure extension model.
Microsoft Dynamics 365 Finance includes an expanded set of tools to support custom solutions. This topic focuses
on the steps for creating a custom report design for an existing application business document by using a pure
extension model. Follow the steps later in this topic to associate a custom report design with an instance of an
application document. When you've finished, users can configure Print management settings to select the custom
design whenever it's appropriate, based on transaction details. The following illustration shows a typical application
customization.
3. Create a custom repor t design for the business document. You must make sure that your custom
solution consumes the correct report data contract. Find the existing Application Suite report in Application
Explorer. This report is named SalesConfirm . Right-click it, and then click Duplicate in project to create
the custom solution.
4. Rename the repor t so that it has a meaningful name. For this example, name the custom report
SalesConfirmExt to distinguish it from the standard solution. Compile the project, and deploy the report to
verify that the changes have no errors.
5. Use the free-form designer to customize the repor t design. Select the report design that is named
Repor t , right-click it, and open the precision designer. Customize the design to satisfy the organization’s
business requirements. The following illustration shows a custom design definition for the Sales
confirmation report.
6. Add a new X++ class that extends the standard repor t controller. Give the class a name that
appropriately describes that it's a handler for an existing application report. For this example, rename the
class SalesConfirmControllerExt to distinguish it from other report controllers.
7. Use the extended class to load the custom design. Add a main method that refers to the custom
report design. (You can just copy the main method from the standard solution and add references to the
new Controller class.) Here is the code that extends the standard solution.
8. Add a new repor t handler (X++) class to the project. Give the class a name that appropriately
describes that it's a handler for Print management–based documents. For this example, rename the class
PrintMgtDocTypeHandlerExt to distinguish it from other object handlers.
9. Add a delegate handler method to star t to use your custom repor t. In this example, extend the
getDefaultRepor tFormatDelegate method in the PrintMgtDocTypeHandlerExt class by using the
following code.
class PrintMgtDocTypeHandlersExt
{
[SubscribesTo(classstr(PrintMgmtDocType), delegatestr(PrintMgmtDocType,
getDefaultReportFormatDelegate))]
public static void getDefaultReportFormatDelegate(PrintMgmtDocumentType _docType, EventHandlerResult
_result)
{
switch (_docType)
{
case PrintMgmtDocumentType::SalesOrderConfirmation:
_result.result(ssrsReportStr(SalesConfirmExt, Report));
break;
}
}
}
10. Extend the menu item for the application repor t. Find the existing Application Suite menu item in
Application Explorer. This menu item is named SalesConfirmation . Right-click it, and then click Create
extension . Open the new extension object in the designer, and set the value of the Object property to
SalesConfirmControllerExt to redirect user navigations to the extended solution.
11. Update the Print management settings to use the custom business document. For this example,
go to Accounts receivable > Setup > Forms > Form setup . Click Print Management , find the
document configuration settings, and then select the custom design. The following illustration shows the
Print management settings after the changes have been compiled.
You’ve now finished customizing the business document. Users will now be presented with the custom report
design for the business document when they process transactions in the application.
Help prevent long-running reports from timing out
10/1/2019 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This article provides tips that can help you prevent reports that run for a long time from timing out.
Paginated reports and documents are generated by using Microsoft SQL Server Reporting Services. Reporting
Services retrieves report data from Application Object Server (AOS) by using a custom extension that uses
Windows Communication Foundation (WCF) to communicate with AOS. The size of the data set and the complexity
of the report that is generated can affect the time that is required to display the report. Additionally, if various time-
outs and other thresholds are reached, report generation might fail. Service time-outs in deployments are fixed and
limit interactive connections to 10 minutes. Any data set generation process that exceeds this service time-out limit
won't be completed. This article describes the extensions that support long-running reports. These extensions help
guarantee that long-running reports can be generated even if the process exceeds the 10-minute service time-out
limit.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific
business functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This topic provides an overview of the Electronic reporting (ER) tool. It includes information about key
concepts, the scenarios that ER supports, and a list of formats that have been designed and released as part
of the solution.
ER is a tool that you can use to configure formats for both incoming and outgoing electronic documents in
accordance with the legal requirements of various countries/regions. ER lets you manage these formats
during their lifecycle. For example, you can adopt new regulatory requirements, and generate business
documents in the required format to electronically exchange information with government bodies, banks,
and other parties.
The ER engine is targeted at business users instead of developers. Because you configure formats instead of
code, the processes for creating and adjusting formats for electronic documents are faster and easier.
ER currently supports the TEXT, XML, Microsoft Word document, and OPENXML worksheet formats. However,
an extension interface provides support for additional formats.
Capabilities
The ER engine has the following capabilities:
It represents a single shared tool for electronic reporting in different domains and replaces more than 20
different engines that do some type of electronic reporting for Finance and Operations.
It makes a report's format insulated from the current implementation. In other words, the format is
applicable for different versions.
It supports the creation of a custom format that is based on an original format. It also includes capabilities
for automatically upgrading the customized format when the original format is changed because of
localization/customization requirements.
It becomes the primary standard tool to support localization requirements in electronic reporting, both
for Microsoft and for Microsoft partners.
It supports the ability to distribute formats to partners and customers through Microsoft Dynamics
Lifecycle Services (LCS).
Key concepts
Components
ER supports two types of components: Data model and Format .
Data model and model mapping components
A data model component is an abstract representation of a data structure. It's used to describe a specific
business domain area with enough detail to satisfy the reporting requirements for that domain. A data model
component consists of the following parts:
A data model, as a set of domain-specific business entities and a hierarchically structured definition of
relations between those entities.
A model mapping that links selected application data sources to individual elements of a data model that
specifies, at run time, the data flow and rules of business data population to a data model component.
A business entity of a data model is represented as a container (record). Business entity properties are
represented as data items (fields). Each data item has a unique name, label, description, and value. The value
of each data item can be designed so that it's recognized as a string, integer, real, date, enumeration, Boolean,
and so on. Additionally, it can be another record or records list.
A single data model component can contain several hierarchies of domain-specific business entities. It can
also contain model mappings that support a report-specific data flow at run time. The hierarchies are
differentiated by a single record that has been selected as a root for model mapping. For example, the data
model of the payment domain area might support the following mappings:
Company > Vendor > Payment transactions of the AP domain
Customer > Company > Payment transactions of the AR domain
Note that business entities such as company and payment transactions are designed one time. Different
mappings then reuse them.
A model mapping that supports outgoing electronic documents has the following capabilities:
It can use different data types as data sources for a data model. For example, it can use tables, data
entities, methods, or enums.
It supports user input parameters that can be defined as data sources for a data model when some data
must be specified at run time.
It supports the transformation of data into required groups. It also lets you filter, sort, and sum data, and
append logical calculated fields that are designed through formulas that resemble Microsoft Excel
formulas. For more information, see Formula designer in Electronic reporting (ER)).
A model mapping that supports incoming electronic documents has the following capabilities:
It can use different updatable data elements as targets. These data elements include tables, data entities,
and views. The data can be updated by using the data from incoming electronic documents. Multiple
targets can be used in a single model mapping.
It supports user input parameters that can be defined as data sources for a data model when some data
must be specified at run time.
A data model component is designed for each business domain that should be used as a unified data source
for reporting that isolates reporting from the physical implementation of data sources. It represents domain-
specific business concepts and functionalities in a form that makes a reporting format's initial design and
further maintenance more efficient.
Format components for outgoing electronic documents
A format component is the scheme of the reporting output that will be generated at run time. A scheme
consists of the following elements:
A format that defines the structure and content of the outgoing electronic document that is generated at
run time.
Data sources, as a set of user input parameters and a domain-specific data model that uses a selected
model mapping.
A format mapping, as a set of bindings of format data sources that have individual elements of a format
that specify, at run time, the data flow and rules for format output generation.
A format validation, as a set of configurable rules that control report generation at run time, depending on
the running context. For example, there might be a rule that stops output generation of a vendor's
payments and throws an exception when specific attributes of the selected vendor are missing, such as the
bank account number.
A format component supports the following functions:
Creation of reporting output as individual files in various formats, such as text, XML, Microsoft Word
document, or worksheet.
Creation of multiple files separately and encapsulation of those files into zip files.
A format component lets you attach specific files that can be used in the reporting output:
Excel workbooks that contain a worksheet that can be used as a template for output in the OPENXML
worksheet format
Word files that contain a document that can be used as a template for output in the Microsoft Word
document format
Other files that can be incorporated into the format's output as predefined files
The following illustration shows how the data flows for these formats.
To run a single ER format configuration and generate an outgoing electronic document, you must identify the
mapping of the format configuration.
Format components for incoming electronic documents
A format component is the scheme of the incoming document that is imported at run time. A scheme
consists of the following elements:
A format that defines the structure and content of the incoming electronic document that contains data
that is imported at run time. A format component is used to parse an incoming document in various
formats, such as text and XML.
A format mapping that binds individual format elements to elements of a domain-specific data model. At
run time, the elements in the data model specify the data flow and the rules for importing data from an
incoming document, and then store the data in a data model.
A format validation, as a set of configurable rules that control data import at run time, depending on the
running context. For example, there might be a rule that stops data import of a bank statement that has a
vendor's payments and throws an exception when a specific vendor's attributes are missing, such as the
vendor identification code.
The following illustration shows how the data flows for these formats.
To run a single ER format configuration to import data from an incoming electronic document, you must
identify the desired mapping of a format configuration, and also the integration point of a model mapping.
You can use the same model mapping and destinations together with different formats for different type of
incoming documents.
Component versioning
Versioning is supported for ER components. The following workflow is provided to manage changes in ER
components:
1. The version that is originally created is marked as a Draft version. This version can be edited and is
available for test runs.
2. The Draft version can be converted to a Completed version. This version can be used in local reporting
processes.
3. The Completed version can be converted to a Shared version. This version is published on LCS and can
be used in global reporting processes.
4. The Shared version can be converted to a Discontinued version. This version can then be deleted.
Versions that have either Completed or Shared status are available for other data interchange. The
following actions can be performed on a component that has these statuses:
The component can be serialized in XML format and exported as a file in XML format.
The component can be reserialized from an XML file and imported into the application as a new version of
an ER component.
Component date effectivity
ER component versions are date-effective. You can set the Effective from date for an ER component to
specify the date that the component becomes effective for reporting processes. The application session date
is used to define whether a component is valid for execution. If more than one version is valid for a particular
date, the latest version is used for reporting processes.
Component access
Access to ER format components depends on the setting for the ISO country/region code. When this setting
is blank for a selected version of a format configuration, a format component can be accessed from any
company at run time. When this setting contains ISO country/region codes, a format component is available
only from companies that have a primary address that is defined for one of a format component's ISO
country/region codes.
Different versions of a data format component can have different settings for ISO country/region codes.
Configuration
An ER configuration is the wrapper of a particular ER component. That component can be either a data model
component or a format component. A configuration can include different versions of an ER component. Each
configuration is marked as owned by a specific configuration provider. The Draft version of a component of a
configuration can be edited when the owner of the configuration has been selected as an active provider in
the ER settings in the application.
Each model configuration contains a data model component. A new format configuration can be derived
from a specific data model configuration. In the configuration tree, the format configuration that is created
appears as a child of the original data model configuration.
The format configuration that is created contains a format component. The data model component of the
original model configuration is automatically inserted into the format component of the child format
configuration as a default data source.
An ER configuration is shared for application companies.
Provider
The ER provider is the party identifier that is used to indicate the author (owner) of each ER configuration. ER
lets you manage the list of configuration providers. Format configurations that are released for electronic
documents as part of the Finance and Operations solution are marked as owned by the Microsoft
configuration provider.
To learn how to register a new ER provider, play the task guide, ER Create a configuration provider and
mark it as active (part of the 7.5.4.3 Acquire/Develop IT ser vice/solution components (10677)
business process).
Repository
An ER repository stores ER configurations. The following types of ER repositories are currently supported:
LCS shared library
LCS project
File system
Regulatory Configuration Services (RCS)
Operations resources
An LCS shared librar y repository provides access to the list of configurations within the Shared asset
library in Lifecycle Services (LCS). This type of ER repository can only be registered for the Microsoft provider.
From the LCS Shared asset library you can import the latest versions of ER configurations into the current
instance.
An LCS project repository provides access to the list of configurations of a specific LCS project (LCS project
assets library) that was selected at the repository registration stage. ER lets you upload shared configurations
from the current instance to a specific LCS project repository. You can also import configurations from an
LCS project repository into the current Finance and Operations instance.
A File system repository provides access to the list of configurations that are located as xml files in the
specific folder of the local file system of the machine where the AOS service is hosted. Required folder is
selected at the repository registration stage. You can import configurations from a File system repository
into the current instance.
Note that this repository type is accessible in the following environments:
Cloud-hosted environments deployed for development purposes (containing test models of enclosed
suites)
Locally deployed environments (on-premises)
For more information, see Import Electronic reporting (ER) configurations.
An RCS instance repository provides access to the list of configurations of a specific RCS instance that was
selected at the repository registration stage. ER lets you import completed or shared configurations from the
selected RCS instance into the current instance so you can use them for electronic reporting.
For more information, see Import Electronic reporting (ER) configurations from Regulatory Configuration
Services (RCS).
An Operations resources repository provides access to the list of configurations that Microsoft, as an ER
configuration provider, initially releases as part of the application solution. These configurations can be
imported into the current instance and used for electronic reporting or playing sample task guides. They can
also be used for additional localizations and customizations. Note that the latest versions provided by
Microsoft ER configurations must be imported from the LCS Shared asset library by using corresponding the
ER repository.
Required LCS project , File system , and Regulator y Configuration Ser vices (RCS) repositories can be
registered individually for each configuration provider of the current instance. Each repository can be
dedicated to a specific configuration provider.
Supported scenarios
Building a data model
ER provides a model designer that you can use to build a data model for a particular business domain. All
domain-specific business entities, and the relations between them, can be presented in a data model as a
hierarchical structure.
To become familiar with the details of this scenario, play the ER Design domain specific data model task
guide (part of the 7.5.4.3 Acquire/Develop IT ser vice/solution components (10677) business
process).
Translating data model content
Data model content (labels and descriptions) can be translated into other languages that the applications
supports. You might want to translate data model content for the following reasons:
At design time, to make the content more intelligible for format designers who speak other languages,
and who will use the data model for data mapping of format components.
At run time, to make the content more user-friendly by presenting prompts and help for run-time
parameters, and configured validation messages (errors and warnings), in the language that the currently
signed-in user prefers.
Configuring data model mappings for outgoing documents
ER provides a model mapping designer that lets users map data models that they have designed to specific
application data sources. Based on the mapping, the data will be imported at run time from selected data
sources into the data model. The data model is then used as an abstract data source of ER formats that
generate outgoing electronic documents.
To become familiar with the details of this scenario, play the ER Define model mapping and select data
sources and ER Map data model to selected data sources task guides (part of the 7.5.4.3
Acquire/Develop IT ser vice/solution components (10677) business process).
Configuring data model mappings for incoming documents
ER provides a model mapping designer that lets users map data models that they have designed to specific
destinations. For example, data models can be mapped to the updatable data components (tables, data
entities, and views). Based on the mapping, the data will be updated at run time by using the data from the
data model. As abstract storage of the ER format, the data model is filled with data that is imported from an
incoming electronic document.
Storing a designed model component as a model configuration
ER can store a designed data model, together with associated data mappings, as a model configuration of the
current instance. The following illustration shows an example of this type of data model configuration (the
payment model configuration).
To become familiar with the details of this scenario, play the ER Map data model to selected data
sources task guide (part of the 7.5.4.3 Acquire/Develop IT ser vice/solution components (10677)
business process).
Building a format that uses a data model as a base
ER supports a format designer that you can use to build the format of an electronic document for a selected
business domain by selecting the model component as a base. The same ER format designer lets you map a
format that you create to a selected domain's data model mapping as a data source.
To become familiar with the details of this scenario, play the ER Design domain specific format task guide
(part of the 7.5.4.3 Acquire/Develop IT ser vice/solution components (10677) business process).
Building a configuration to generate electronic documents in OPENXML worksheet format
The ER format designer can be used to build an electronic document in OPENXML worksheet format.
To become familiar with the details of this scenario, play the ER Create a configuration for repor ts in
OPENXML format task guide (part of the 7.5.4.3 Acquire/Develop IT ser vice/solution components
(10677) business process). As part of the task guide step for importing a template, use the Template of
Payment Report (SampleVendPaymWsReport.xlsx) Excel file as a template.
Building a configuration to generate electronic documents in a Word document format
The ER format designer can be used to build an electronic document in a Word document format. The
following illustration shows an example of this type of format. Note that this format reuses the existing ER
configuration that was originally designed to generate the report output in OPENXML format.
To become familiar with the details of this scenario, play the ER Design a configuration for generating reports
in Microsoft WORD format task guide (part of the 7.5.4.3 Acquire/Develop IT service/solution components
(10677) business process). As part of the task guide step for importing a template, use the following Word
files as templates for the ER format:
Template of Payment Report (SampleVendPaymDocReport.docx)
Bounded template of Payment Report (SampleVendPaymDocReportBounded.docx)
Building a configuration to import data from incoming electronic documents
The ER format designer can be used to describe an electronic document that is planned for data import in
either XML or text format. The designed format is used to parse an incoming document. The ER format
mapping designer can be used to define the binding of the elements of the designed format to the data
model.
To become familiar with the details of this scenario, play the Create required ER configurations to import data
from an external file task guide (part of the 7.5.4.3 Acquire/Develop IT service/solution components (10677)
business process). Use the following files to play this guide:
ER data model configuration (1099model.xml)
ER format configuration (1099format.xml)
Sample of the incoming document in XML format (1099entries.xml)
Sample of the workbook to manage data of incoming document (1099entries.xlsx)
Storing a designed format component in a format configuration
ER can store a designed format together with the configured data mappings as a format configuration of the
current instance. The preceding illustration shows an example of this type of format configuration (BACS
(UK) , which is a child of the Payment model configuration). To become familiar with the details of this
scenario, play the ER Design domain specific format task guide (part of the 7.5.4.3 Acquire/Develop
IT ser vice/solution components (10677) business process).
Configuring Finance to start to use a created format internally
The application can be configured to start to use a created format to generate electronic reports. The
reference to the created format configuration should be defined in the settings of a specific domain. For
example, to start to use an ER format configuration for electronic vendor payments in BACS format, the
format configuration should be referenced in specific methods of payment.
To become familiar with the details of this scenario, play the ER Use format to generate electronic
document for payments task guide (part of the 7.5.4.3 Acquire/Develop IT ser vice/solution
components (10677) business process).
Handling ER components
Publishing an ER component in LCS to offer it externally (localization)
The owner of a component (model or format) that has been created can use ER to publish the completed
version of the component to LCS. A repository of the LCS project type for the current ER configuration
provider is required. When the status of the completed version of a component is changed from
COMPLETED to SHARED , that version is published in LCS. When a component has been published to LCS,
the owner of that component becomes a provider of the service to support the component. For example, if
the format component is designed to generate an electronic document that is legally required (for example,
in accordance with a localization scenario), it's assumed that the format will be kept compliant with legislative
changes, and that the provider will issue new versions of the component whenever new legislative
requirements arise. To become familiar with the details of this scenario, play the ER Upload a
configuration into Lifecycle Ser vices task guide (part of the 7.5.4.3 Acquire/Develop IT
ser vice/solution components (10677) business process).
Importing an ER component from LCS to use it internally
ER lets you import ER components from LCS to the current instance. A repository of the LCS project type is
required. When an ER component has been imported from LCS to the current instance, the owner of the
instance becomes a consumer of the service that is provided by the owner (author) of the imported
component. For example, if a format component is designed to generate a specific electronic document from
the application in a country/region-specific format (localization scenario), it's assumed that the service
consumer will be able to obtain any updates that are made to that format, to keep it compliant with
legislative requirements. To become familiar with the details of this scenario, play the ER Impor t a
configuration from Lifecycle Ser vices task guide (part of the 7.5.4.3 Acquire/Develop IT
ser vice/solution components (10677) business process).
Building a format selecting another format as a base (customization)
ER lets you create (derive) a new component from the current version of a component (base) that was
imported from LCS. For example, a user wants to derive a new format to implement some special
requirements for an electronic document (such as an additional field or an extensive description) to support a
customization scenario. To become familiar with the details of this scenario, play the ER Upgrade format by
adoption of new base version of it task guide (part of the 7.5.4.3 Acquire/Develop IT
ser vice/solution components (10677) business process).
Upgrading a format selecting a new version of base format (rebase )
ER lets you automatically adopt changes of the latest version of the base component in the current draft
version of the derived component. This process is known as rebasing. For example, a new regulatory change
that has been introduced in the latest version of the format that was imported from LCS can be automatically
merged into the customized version of this format of the electronic document. Any changes that can't be
merged automatically are considered conflicts. These conflicts are presented for manual resolution in the
designer tool for the appropriate component. To become familiar with the details of this scenario, play the ER
Upgrade format by adoption of new base version of that format task guide (part of the 7.5.5.3
Acquire/Develop changed IT ser vice/solution component (10683) business process).
Additional resources
Create Electronic reporting (ER) configurations
Manage the Electronic reporting (ER) configuration lifecycle
Create Electronic reporting (ER) configurations
11/5/2019 • 13 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
As part of the requirements for LCS solutions for localization and translation, localization ISV solution providers
must implement country/region-specific or solution-specific features by using the Electronic reporting tool. This
article provides background information that will help you start to use Electronic reporting to create
configurations. This article isn't meant to replace any available and upcoming Electronic reporting documentation,
but is intended as a supplemental view from the perspective of localization requirements.
Electronic reporting
General electronic reporting (GER) is a new configurable tool that helps you create and maintain regulatory
electronic reporting and payments, based on the following three concepts.
Configuration instead of coding
Configuration can be done by a business user and doesn't require a developer.
The data model is defined in business terms.
Visual editors are used to author all components of the GER configuration.
A Microsoft Excel–like formula language is used for data transformation.
One configuration for multiple Dynamics 365 Finance releases
Manage one domain specific data model that is defined in business terms.
Isolate application release specifics in release-dependent data model mappings.
Maintain one format configuration for multiple releases of the current version, based on the data model.
Easy or automatic upgrade
Versioning of GER configurations is supported.
The Microsoft Dynamics Lifecycle Services (LCS) Assets library can be used as a repository for GER
configurations for version exchange.
Localizations that are based on origin GER configurations can be introduced as child versions.
A GER configuration tree is provided as a tool that helps control dependencies for versions.
Only differences in localization (delta configuration) are recorded to enable automatic upgrade to a new version
of the origin GER configuration.
It's easy to manually resolve conflicts that are discovered during automatic upgrade of localization versions.
GER lets users define electronic format structures, and then describe how those structures should be filled by using
data and algorithms. Users can use a formula language that is very similar to the Excel language for data
transformation. To make the database-to-format mapping more manageable, reusable, and independent of format
changes, an intermediate data model concept is introduced. This concept enables implementation details to be
hidden from the format mapping and also enables a single data model to be reused for multiple format mappings.
Configure and generate Electronic documents are GER is a new tool for GER simplifies the creation,
electronic documents to hard-coded in X++ or as configuring and generating maintenance, and upgrade
meet the legal requirements Extensible Stylesheet electronic documents that of electronic document
in various countries/regions. Language Transformations target a business user formats to meet legal
(XSLTs). instead of a developer. requirements in various
countries/regions.
Configure regulatory Any format adjustments A business user can GER makes the process of
updates to formats. require development effort. configure the formats, based creating or changing
on domain-specific data electronic document formats
models (for example, for faster and easier. These
payments, Intrastat reports, changes can be made by
or tax reports). business users instead of
developers.
Separation of data and Access to data and access to GER lets you set up data GER makes it faster and
formats makes updates formatting aren't isolated. models that are domain- easier for partners and
easier. specific and independent of customers to upgrade their
the database as data sources format and customizations
for document formats. to new versions of formats
Formats can be configured that are released by
based on these domain- Microsoft or other partners.
specific data models by
using simple visual tools that
are similar to Excel. Data
models and formats support
versioning, and formats can
be date-effective.
Distribute data models and An adjusted format Each data model or format GER provides one common
formats. deployment requires a new version is stored in a way (through LCS) for
hotfix package that separate configuration, and Microsoft and partners to
overrides the existing is distributed to partners distribute electronic
format. and customers through LCS. document configurations to
By using LCS, partners can other partners and
share their data model and customers. GER also makes
format configurations with it easier for partners and
other partners and customers to customize,
customers, who can upgrade, and distribute
customize and share them electronic document formats
further. for their specific business
requirements.
Customization and upgrade Custom modification of each Partners and customers can GER provides one common
are easier. format must be manually customize Microsoft data way (through LCS) for
ported to the source code of models and formats, or Microsoft and partners to
a new hotfix package. create their own. GER saves distribute electronic
partner and customer document configurations to
configuration changes as other partners and
deltas to Microsoft customers. GER also makes
configurations to simplify it easier for partners and
upgrades to new versions of customers to customize,
Microsoft configurations. upgrade, and distribute
Delta customization and electronic document formats
easy upgrade are supported for their specific business
through the whole requirements.
customization chain.
Basic concepts
Main data flow
NOTE
Although GER allows for direct mapping of format components to database artifacts (tables or data entities), we don't
recommend this approach, because it's likely that multiple formats will be maintained in some business domain areas that
use the same data sources. Whenever the structure of such database artifacts is changed, the format mapping to the
database artifacts must also be changed, and the cost of these changes will be multiplied by the number of maintained
formats. Therefore, we recommend that you work through the data model as the abstract description of the domain-specific
data structure, and that you use the direct binding of format elements to database components only for simplification and
for coverage for specific customizations (for example, to refer to custom tables when these references are required in a
limited number of maintained formats).
Version control
One of the principles behind the design of Electronic reporting is that it should be easy to distribute a data model
and formats together with an enhanced maintenance model for their customizations. All the configurations are
versioned, and an existing customization can be "cloned" to derive a new configuration for localization or
customization implementation. For example, we represent a company that is named Proseware, Inc. We have
subscribed to the service of a company that is named Litware Inc., which provides us with the Intrastat returns
configuration and supports all legal requirements in it. We have already received specific configurations, from
Litware Inc., together with data model and formats, and have deployed them. Our company is working in a district
where, in addition to the federal requirements, we must support the following regional requirements:
As part of Intrastat transactions details, our XML file must show the statistical procedure code that isn't required
anywhere else.
We must limit the length of the company name that is presented in the Intrastat returns header block to 200
characters.
To support these requirements and comply with local district authorities, we must implement this localization as a
localized configuration. However, we must keep the link with the origin configuration, so that we can adopt any
future changes that are introduced at the federal level as new versions of the origin configuration. Therefore, we
import the Litware Inc. origin configuration from LCS, derive it as a new localized configuration, introduce the
required changes, complete this work by introducing a first version of the localized format, and start to use it
internally. Whenever Litware Inc. offers us a new version of the origin configuration, we import it from LCS, rebase
our localized configuration to this version, adopt changes to support new federal requirements, complete this work
by introducing a next version of the localized format, and continue to use it internally.
NOTE
The draft version of any configuration must be "completed" before it can become available locally for further action, such as
the following:
Make it available so that it can be referenced as a data source from a new format.
Enable configuration exchange between companies or instances via configuration import/export, and so on.
Terminology
T ERM DEF IN IT IO N
Transformation If you have a typical action that must be done on the source
of data before it is sent as output to a format, you can
introduce a transformation and attach it to format
components. Transformation is a GER formula that takes one
value as a parameter and returns another value. For example,
you have many format fields that contain spaces, and the
spaces should be replaced by spaces when the fields are
exported. In this case, you can create a transformation that
takes a string argument and uses the REPLACE function to do
the job. You can then create string components and associate
them with that transformation.
Data model A data model provides a structure for data. This structure is
used to abstractly describe certain business domain areas at
sufficient detail to satisfy the reporting requirements in this
domain.
Update conflict A conflict that is discovered during the rebase action, where
the new base version contains adjustments of a
format/mapping element (name, property, and so on) that has
also been adjusted in the derived version.
Relocation conflict A conflict that is discovered during the rebase action, where
the new base version contains a new position (parent
element) of a format element (name, property, and so on) that
has also been relocated to a different position in the derived
version.
Duplication conflict A conflict that is discovered during the rebase action, where
the new base version introduced a new format element that is
the same as an element (in other word, it has the same name
and child components) that has also been entered in the
derived version.
Additional resources
Electronic reporting (ER) overview
Manage the Electronic reporting (ER) configuration lifecycle
ER Design domain specific data model
3/18/2020 • 5 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The following steps explain how a user in the System Administrator or Electronic Reporting Developer role can
create a new Electronic reporting (ER) configuration that contains a data model for electronic payment documents.
This data model will later be used as a data source when you create the format of the payment documents.
In this example, you will create a configuration for sample company, Litware, Inc. These steps can be performed in
any company as ER configurations are shared among companies. To complete these steps, you must first complete
the steps in the "Create a configuration provider and mark it as active" procedure.
1. Go to Organization administration > Workspaces > Electronic reporting.
Select the configuration provider for sample company, 'Litware, Inc.' If you don't see this configuration
provider, you must first complete the steps in the "Create a configuration provider and mark it as active"
procedure.
2. Click Reporting configurations.
You will create a configuration that contains a data model for electronic payment documents. This data
model will be used later as a data source when you create the format for the payment documents.
Define the payment message structure for credit transfer payment type
1. Click New to open the drop dialog.
2. In the New node as a field, enter 'Model root'.
3. In the Name field, type 'CustomerCreditTransferInitiation'.
4. Click Add.
5. In the Find field, type 'CustomerCreditTransferInitiation'.
6. Click Find previous.
7. Click New to open the drop dialog.
8. In the Name field, type 'MessageIdentification'.
9. Click Add.
10. In the Description field, enter 'The point-to-point reference assigned by the instructing party (and sent to the
next party) to identify a message.'.
The point-to-point reference assigned by the instructing party (and sent to the next party) to identify a
message.
11. Click New to open the drop dialog.
12. In the Name field, type 'ProcessingDateTime'.
13. In the Item type field, select 'DateTime'.
14. Click Add.
15. In the Description field, enter 'Date and time at which the payment message was created.'.
16. Click New to open the drop dialog.
Define the payment transaction structure for this model.
17. In the Name field, type 'Payments'.
18. In the Item type field, select 'Record list'.
19. Click Add.
20. In the Description field, enter 'Payment lines of the current message'.
21. Click New to open the drop dialog.
22. In the Name field, type 'Creditor'.
23. In the Item type field, select 'Record'.
24. Click Add.
25. In the Description field, enter 'Party to which an amount of money is due.'.
26. Click Switch item reference.
27. In the Find field, type 'Party'.
28. Click Find next.
29. Click OK.
30. In the Find field, type 'Payments'.
31. Click Find next.
32. Click New to open the drop dialog.
33. In the Name field, type 'Debtor'.
34. Click Add.
35. In the Description field, enter 'Party that owes an amount of money to the (ultimate) creditor.'.
36. Click Switch item reference.
37. In the Find field, type 'Party'.
38. Click Find next.
39. Click OK.
40. Click Find next.
41. Click New to open the drop dialog.
42. In the Name field, type 'Description'.
43. In the Item type field, select 'String'.
44. Click Add.
45. Click New to open the drop dialog.
46. In the Name field, type 'Currency'.
47. Click Add.
48. In the Description field, enter 'Currency code'.
49. Click New to open the drop dialog.
50. In the Name field, type 'TransactionDate'.
51. In the Item type field, select 'Date'.
52. Click Add.
53. In the Description field, enter 'Transaction date'.
54. Click New to open the drop dialog.
55. In the Name field, type 'InstructedAmount'.
56. In the Item type field, select 'Real'.
57. Click Add.
58. In the Description field, enter 'The amount of money to be moved between the debtor and creditor, before
deduction of charges. The amount should be expressed in the currency as ordered by the initiating party.'.
The amount of money to be moved between the debtor and creditor, before deduction of charges. The
amount should be expressed in the currency as ordered by the initiating party.
59. Click New to open the drop dialog.
60. In the Name field, type 'End2EndID'.
61. In the Item type field, select 'String'.
62. Click Add.
63. In the Description field, enter 'The unique identification assigned by the initiating party. This identification is
passed on, unchanged, throughout the entire end-to-end chain.'.
64. In the Name field, type 'PaymentModel'.
The PaymentModel name aligns with predefined interfaces of payment forms.
65. Click Save.
66. Close the page.
Prepare application metadata to be used in RCS
3/18/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The following steps explain how a user in the System Administrator or Electronic Reporting Developer role can
create a new Electronic reporting (ER) configuration that contains application metadata for designing ER model
mapping configurations in Regulatory configuration service (RCS). This configuration will be used for designing a
sample ER model mapping configuration to access foreign trade transactions. In this example, you will create a
configuration for sample company, Litware, Inc. These steps can be performed in any company. To complete these
steps, you must first complete the steps in the topic, Create configuration providers and mark them as active.
Prerequisites
1. Go to Organization administration > Workspaces > Electronic repor ting .
2. Make sure that the configuration provider for the sample company, Litware, Inc., is available and marked as
Active . If you don't see this configuration provider, complete the steps in the procedure Create configuration
providers and mark them as active.
3. Click Metadata configurations .
4. Assume that RCS will be used to design an ER solution for a Finance and Operation application that will
generate electronic documents that contain information from foreign trade business domain. To specify the
mapping between ER data model and sources of required data, in RCS we need to have access to metadata of
the Finance and Operation application. Therefore, as part of designing ER solution we configure a new ER
metadata configuration containing all metadata that is currently required for generation ER reports for selected
business domain.
NOTE
You can select all metadata for the entire application or selected models or selected modules. Be aware that in this case the
following metadata will be automatically added: tables of records, enumerations, and extended data types. When additional
types of metadata are needed, they must be added manually.
We have some foreign trade transactions related metadata by selecting metadata items manually.
6. Click Add data source .
7. Click Table records .
8. Use the Quick Filter to filter on the Name field with a value of 'Intrastat'.
9. Select the Intrastat table record.
10. Click OK .
We added metadata information about the Intrastat table of records.
11. In the tree, expand Table records Intrastat >Relations .
12. In the tree, select Table records Intrastat >Relations\IntrastatCommodity (Table records
EcoResCategor y) .
13. Click Add metadata .
NOTE
Metadata about required relations for selected table of records must be added manually.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The following steps explain how a Regulatory configuration service (RCS) user in the System Administrator or
Electronic Reporting Developer role can design a new Electronic reporting (ER) model mapping by using the
application metadata. Application metadata will be accessed by using an ER metadata configuration that contains a
sample set of metadata to access foreign trade transactions. To complete these steps, in RCS you must first
complete the steps in the topic, Create configuration providers and mark them as active procedure. Then complete
the steps in the topic, Prepare application metadata to be used in RCS.
Prerequisites
1. Go to All workspaces > Electronic repor ting .
2. Make sure that the configuration provider for the sample company, Litware, Inc., is available and marked as
Active . If you don't see this configuration provider, complete the steps in the procedure Create configuration
providers and mark them as active.
NOTE
We have successfully bound elements of data model with items of data sources that are described by using details of
application metadata from the referred ER metadata configuration. 36. Click Save . 37. Close the page. 38. Close the page. 39.
When needed, you can extend the existing set of metadata and then export the new completed version of ER metadata
configuration. You can then import it to RCS, and update the prerequisites of the configured model mapping configuration
referring to a new version of imported metadata configuration.
NOTE
This way of getting information about application metadata is the only one available for locally deployed applications (when
local business data (LBD), or on-premises, deployment model is used).
Access application metadata by using connected
applications
3/18/2020 • 3 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The following steps explain how a Regulatory configuration service (RCS) user in the System Administrator or
Electronic Reporting Developer role can design a new Electronic reporting (ER) model mapping by using metadata
in Finance and Operations. Application metadata will be accessed online by using the RCS connected application.
Sample ER model mapping will be configured to access foreign trade transactions. To complete these steps, in RCS
you must first complete the steps in the topic, Create configuration providers and mark them as active. If you have
not completed the steps in the topic, Access application metadata by using ER configuration, go to the Electronic
reporting examples page to download and save the following ER configurations: Foreign trade metadata.xml;
Foreign trade model.xml; Foreign trade mapping.xml, and then complete the steps in the procedure.
Prerequisites
1. Go to All workspaces > Electronic repor ting .
2. Make sure that the configuration provider for the sample company, Litware, Inc., is available and marked as
Active . If you don't see this configuration provider, complete the steps in the procedure Create configuration
providers and mark them as active.
NOTE
Currently, this mapping refers to the metadata configuration. Application metadata from this configuration will be
offered while this model mapping will be designed.
6. Click Designer .
7. Click Designer .
8. In the tree, select Dynamics 365 for Operations\Table records .
9. Click Add root .
10. In the Table field, enter or select a value.
NOTE
Currently, this mapping refers to the metadata configuration. Application metadata from this configuration will be
offered while this model mapping will be designed.
NOTE
Currently, this mapping refers to the metadata of the selected connected application. When the same mapping refers
to metadata configuration and connected application at the same time, metadata of the connected application will be
used.
3. Click Designer .
4. Click Designer .
5. In the tree, select Dynamics 365 for Operations\Table records .
6. Click Add root .
7. In the Table field, enter or select a value.
NOTE
More than two application tables were offered now as this mapping uses all the metadata of the connected
application that has been assigned for it.
8. Click Cancel .
9. Click Validate .
NOTE
We successfully bound elements of data model with items of data sources that are described by using details of
metadata of the connected application that has been assigned for this mapping.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The following steps explain how a user in the System Administrator or Electronic Reporting Developer role can
select data sources for an Electronic reporting (ER) data model. The data sources will be bound to individual
components of the selected data model at design time and populate business data to that data model at run-time.
In this example, you will select data sources for an existing data model that has been created for sample company,
Litware, Inc. To complete these steps, you must first complete the steps in the "Create a new data model" procedure.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The following steps explain how a user in the System Administrator or Electronic Reporting Developer role can map
an Electronic reporting (ER) data model to selected data sources. This model mapping will later be used as a data
source in a format configuration that will be used to manage electronic payment documents. In this example, you
map a data model for sample company, Litware, Inc. to data sources. To complete these steps, you must first
complete the steps in the "Select data sources for model mapping" procedure.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This topic explains how a user in the System Administrator or Electronic Reporting Developer role can create a
format configuration for Electronic reporting (ER). This format configuration will define the format of electronic
documents that are used for processing payments. In this example, you will create a format configuration for
sample company, Litware, Inc. To complete these steps, you must first complete the steps in the "Map model to
selected datasources" procedure.
NOTE
If you don't see Create configuration , you must enable design mode on the Electronic repor ting parameters page.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The following procedure shows how a user in either the System administrator or Electronic reporting developer
role can map data model elements to components of the created Electronic reporting (ER) configuration, which
defines an electronic document format for the payments business domain. This format will be used later to
generate electronic documents for processing payments. In this example, you will create a format configuration for
the sample company, 'Litware, Inc.'. These steps can be performed in any company as ER configurations are shared
for all companies. To complete these steps, you must first complete the steps in the "Create a format configuration"
task guide.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The following steps explain how a user in the System Administrator or Electronic Reporting Developer role can
import a new version of an Electronic reporting (ER) configuration from Microsoft Regulatory Configuration
Services (RCS). In this example, you will select the version of the ER configuration that has been configured in an
RCS instance and import it into the current instance for sample company, Litware, Inc. These steps can be
performed in any company because ER configurations are shared among companies. To complete these steps, you
must first complete the steps in the topic, Create configuration providers and mark them as active. To complete
these steps, you must also have access to an RCS instance containing at least one ER configuration in either
Completed or Shared status.
1. Go to Organization administration > Workspaces > Electronic repor ting .
2. Make sure that the configuration provider for the sample company, Litware, Inc., is available and marked as
Active . If you don't see this configuration provider, complete the steps in the topic, Create configuration
providers and mark them as active.
3. If you have no RCS environment provisioned to your company, click Regulator y ser vices – Configuration
external link and follow the instructions to provision an RCS environment.
4. Click Electronic repor ting parameters .
5. Click the RCS tab.
6. If RCS environment has been already provisioned to your company, use presented on the page URLs to access it.
7. Close the page.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The following steps explain how a user in the System Administrator or Electronic Reporting Developer role can use
a new Electronic reporting (ER) format configuration to generate electronic documents for processing payments.
These steps can be performed in the GBSI sample company.
To complete these steps, you must first complete the steps in the "Create a configuration with format of payment
document" procedure.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The following steps explain how a user in the System Administrator or Electronic Reporting Developer role can
maintain an Electronic reporting (ER) format configuration. This procedure explains how a custom version of a
format can be created based on the format received from a configuration provider (CP). It also explains how to
adopt a new, base version of that format.
To complete these steps, you must first complete the steps in the "Create a configuration provider and mark it as
active" and "Use created format to generate electronic documents for payments" procedures. These steps can be
performed in the GBSI company.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific
business functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This topic explains how to use the formula designer in Electronic reporting (ER). When you design a format for a
specific electronic document in ER, you can use formulas to transform data so that it meets the requirements for
the document's fulfillment and formatting. These formulas resemble formulas in Microsoft Excel. Various types
of functions are supported in the formulas: text, date and time, mathematical, logical, information, and data type
conversion functions, and also other, business domain–specific functions.
Data binding
The ER formula designer can be used to define an expression that transforms data that is received from data
sources, so that the data can be entered in the data consumer in the following ways at runtime:
From application data sources and runtime parameters to an ER data model
From an ER data model to an ER format
From application data sources and runtime parameters to an ER format
The following illustration shows the design of an expression of this type. In this example, the expression rounds
the value of the Intrastat.AmountMST field in the Intrastat table to two decimal places and then returns the
rounded value.
The following illustration shows how an expression of this type can be used. In this example, the result of the
designed expression is entered in the Transaction.InvoicedAmount component of the Tax repor ting model
data model.
At runtime, the designed formula, ROUND (Intrastat.AmountMST, 2) , rounds the value of the AmountMST field
for each record in the Intrastat table to two decimal places. It then enters the rounded value in the
Transaction.InvoicedAmount component of the Tax repor ting data model.
Data formatting
The ER formula designer can be used to define an expression that formats data that is received from data
sources, so that the data can be sent as part of the generating electronic document. You might have formatting
that must be applied as a typical rule that should be reused for a format. In this case, you can introduce that
formatting one time in the format configuration, as a named transformation that has a formatting expression.
This named transformation can then be linked to many format components where the output must be
formatted according to the formatting expression that you created.
The following illustration shows the design of a transformation of this type. In this example, the TrimmedString
transformation truncates incoming data of the String data type by removing leading and trailing spaces. It then
returns the truncated string value.
The following illustration shows how a transformation of this type can be used. In this example, several format
components send text as output to the generating electronic document at runtime. All these format components
refer to the TrimmedString transformation by name.
When format components, such as the par tyName component in the preceding illustration, refer to the
TrimmedString transformation, the transformation sends text as output to the generating electronic document.
This text doesn't include leading and trailing spaces.
If you have formatting that must be applied individually, you can introduce that formatting as an individual
expression of a binding of a specific format component. The following illustration shows an expression of this
type. In this example, the par tyType format component is bound to the data source via an expression that
converts incoming data from the Model.Company.RegistrationType field in the data source to uppercase
text. The expression then sends that text as output to the electronic document.
The @.PaymentsNotes = "" expression that is defined for the DelimitedSequence component enables (by
returning TRUE ) the Ustrd XML element to be filled with a comma-separated list of the invoice numbers that are
used to settle the current credit transfer, if the text of payment notes for that credit transfer is blank.
Based on this setup, the message that is generated for each debtor payment, the Ustrd XML element, will contain either
the text of payment notes or, when that text is blank, a comma-separated list of the invoice numbers that are used to
settle the payment.
After you specify the Intrastat commodity code and select OK , the Test result tab on the Formula designer
page shows the result of execution of the configured formula. You can then evaluate whether the result is
acceptable. If the result isn't acceptable, you can update the formula and test it again.
Some formulas can't be tested at design time. For example, a formula might return a result of a data type that
can't be shown on the Test result tab. In this case, you receive an error message that states that the formula
can't be tested.
Additional resources
Electronic Reporting overview
Electronic reporting formula language
Electronic reporting advanced formula editor
4/10/2020 • 4 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
In addition to the Electronic reporting formula editor, you can use the advanced Electronic reporting formula editor
to improve the experience of configuring Electronic reporting (ER) expressions. The advanced editor is browser-
based and powered by the Monaco editor. The most commonly used advanced editor features are described in this
topic:
Code autoformatting
IntelliSense
Code completion
Code navigation
Code structuring
Find and replace
Data pasting
Syntax colorization
Complete the following steps to start using the advanced formula editor in your instance of Microsoft Dynamics
Activate the advanced f ormula edit or
365 Finance.
1. Go to Organization administration > Electronic repor ting > Configurations .
2. On the Configurations page, on the Action Pane, on the Configurations tab, in the Advanced
settings group, select User parameters .
3. In the User parameters dialog box, in the Execution tracing section, set the Enable advanced formula
editor parameter to Yes .
NOTE
Be aware that this parameter is user specific and company specific.
When you write a complex expression that consists of multiple rows of code, the indentation of a new entered line
Code autof ormatting
will be automatic based on the indentation of the previous row. You can select lines and change their indentation by
typing Tab or Shift+Tab .
Autoformatting allows you to keep the entire expression well formatted to make further maintenance easier and to
simplify understanding of the configured logic.
The editor provides word completion to help you write expression faster and avoid typos. When you start adding
I ntelliSense
new text, the editor automatically offers a list of functions supported in ER functions that contain the characters you
have entered. You can also trigger IntelliSense in any place of a configured expression by typing Ctrl+Space .
Inserting a closing bracket when an opening bracket is entered, keeping the cursor inside the brackets.
Inserting the second quotation symbol when the first one is entered, keeping the cursor inside the quotations.
Inserting the second double quotation symbol when the first one is entered, keeping the cursor inside the
quotations.
When you point to the typed bracket, the second bracket of this pair is automatically highlighted to show the
construct that they support.
You can locate required symbols or lines in your expression by typing the Go to command using the command
Code navigation
The code for some functions, such as IF or CASE, is automatically structured. You can expand and collapse any or all
Code structuring
of the folding regions of this code to reduce the editable part of an expression in order to focus on only thepiece of
code that requires your attention. The toggle fold/unfold commands can be used for that.
For example, to fold all regions, do the following:
Press Ctrl+K
-or-
Press F1 , press FO , select Fold all , and then press Enter
To unfold all regions, do the following:
Press Ctrl+J
-or-
Press F1 , type UN , select Unfold all , and then press Enter
To find occurrences of certain text, select the text in your expression, and do the following:
Find and replace
Press Ctrl+F and then press F3 to find the next occurrence of the selected text, or press Shift+F3 to find
the previous occurrence.
-or-
Press F1 , type F , and then select the required option to find the selected text.
To replace occurrences of a certain text, select the text in your expression, and do the following:
Press Ctrl+H . Enter the alternative text and select the replacement option to replace either the selected text
or all occurrences of this text in the current expression.
-or-
Press F1 , type R , and then select the required option to replace the selected text. Enter the alternative text
and select the replacement option to replace either the selected text or all occurrences of this text in the
current expression.
To change all occurrences of a certain text, select the text in your expression, and do the following:
Press Ctrl+F2 and then enter the alternative text.
-or-
Press F1 , type C , and then select the required option to change the selected text. Enter the alternative text.
You can select Add data source , which pastes to the current expression a data source that is currently selected on
Data sources and f unctions pasting
the Data source left panel. Simlilarly, you can select Add function , which pastes to the current expression a
function that is currently selected on the Functions right panel. If you use the ER formula editor, a selected function
or a selected data source will always be pasted to the end of the configured expression. When you use the
advanced ER formula editor, a selected function or a selected data source can be pasted to any part of the
configured expression. You will need to use the cursor to specify where you want to paste the data.
Currently, different colors are used to highlight the following parts of expressions:
Syntax colorization
The text in double brackets that can represent a label ID of a text constant.
Limitations
The editor is currently supported in the following web browsers:
Chrome
Edge
Firefox
Opera
Safari
Additional resources
Electronic reporting (ER) overview
Formula designer in Electronic reporting
Monaco editor
Electronic reporting formula language
2/12/2020 • 7 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
Electronic reporting (ER) provides a powerful data transformation experience. The language that is used to
express the required data manipulations in the ER formula designer resembles the formula language in Microsoft
Excel.
Basic syntax
ER expressions can contain any or all of the following elements:
Constants
Operators
References
Paths
Functions
When you design expressions, you can use text and numeric constants (that is, values that aren't calculated). For
Constants
example, the expression VALUE ("100") + 20 uses the numeric constant 20 and the string constant "100" , and it
returns the numeric value 120 .
The ER formula designer supports escape sequences. Therefore, you can specify an expression string that should
be handled differently. For example, the expression "Leo Tolstoy ""War and Peace"" Volume 1" returns the text
string Leo Tolstoy "War and Peace" Volume 1 .
The following table shows the arithmetic operators that you can use to do basic mathematical operations, such as
O perators
O P ERATO R M EA N IN G EXA M P L E
+ Addition 1+2
* Multiplication 7\*8
/ Division 9/3
The following table shows the comparison operators that are supported. You can use these operators to compare
two values.
O P ERATO R M EA N IN G EXA M P L E
= Equal X=Y
Additionally, you can use an ampersand (&) as a text concatenation operator. In this way, you can join, or
concatenate, one or more text strings into a single piece of text.
O P ERATO R M EA N IN G EXA M P L E
Operator precedence
The order in which the parts of a compound expression are evaluated is important. For example, the result of the
expression 1 + 4 / 2 varies, depending on whether the addition or division operation is done first. You can use
parentheses to explicitly define how an expression is evaluated. For example, to indicate that the addition
operation should be done first, you can change the preceding expression to (1 + 4) / 2 . If you don't explicitly
indicate the order of operations in an expression, the order is based on the default precedence that is assigned to
the supported operators. The following table shows the precedence that is assigned to each operator. Operators
that have a higher precedence (for example, 7) are evaluated before operators that have a lower precedence (for
example, 1).
7 Grouping (…)
4 Multiplicative …*…
…/…
3 Additive …+…
…-…
2 Comparison …<…
… <= …
… => …
…>…
…=…
… <> …
P REC EDEN C E O P ERATO RS SY N TA X
1 Separation …,…
If an expression includes multiple consecutive operators that have the same precedence, those operations are
evaluated from left to right. For example, the expression 1 + 6 / 2 \* 3 > 5 returns true . We recommend that
you use parentheses to explicitly indicate the desired order of operations in expressions, so that the expressions
are easier to read and maintain.
All data sources of the current ER component that are available during the design of an expression can be used as
Ref erences
named references. The current ER component can be either a model mapping or a format. For example, the
current ER model mapping contains the Repor tingDate data source, which returns a value of the DateTime data
type. To correctly format that value in the generating document, you can reference the data source in the
expression as DATETIMEFORMAT (ReportingDate, "dd-MM-yyyy") .
All characters in the name of a referencing data source that don't represent a letter of the alphabet must be
preceded by a single quotation mark ('). If the name of a referencing data source contains at least one symbol that
doesn't represent a letter of the alphabet, the name must be enclosed in single quotation marks. For example,
these non-alphabetic symbols can be punctuation marks or other written symbols. Here are some examples:
The Today's date & time data source must be referred to in an ER expression as 'Today''s date & time' .
The name() method of the Customers data source must be referred to in an ER expression as
Customers.'name()' .
If the methods of application data sources have parameters, the following syntax is used to call those methods:
If the isLanguageRTL method of the System data source has an EN-US parameter of the String data type,
this method must be referred to in an ER expression as System.isLanguageRTL("EN-US") .
Quotation marks aren't required when a method name contains only alphanumeric symbols. However, they
are required for a method of a table if the name includes brackets.
When the System data source is added to an ER mapping that refers to the Global application class, the
expression System.isLanguageRTL("EN-US ") returns the Boolean value FALSE . The modified expression
System.isLanguageRTL("AR") returns the Boolean value TRUE .
You can limit the way that values are passed to the parameters of this type of method:
Only constants can be passed to methods of this type. The values of the constants are defined at design time.
Only primitive (basic) data types are supported for parameters of this type. The primitive data types include
Integer, Real, Boolean, and String.
When an expression references a structured data source, you can use the path definition to select a specific
Paths
primitive element of that data source. A dot character (.) is used to separate individual elements of a structured
data source. For example, the current ER model mapping contains the InvoiceTransactions data source, and this
data source returns a list of records. The InvoiceTransactions record structure contains the AmountDebit and
AmountCredit fields, and both these fields return numeric values. Therefore, you can design the following
expression to calculate the invoiced amount: InvoiceTransactions.AmountDebit - InvoiceTransactions.AmountCredit .
The InvoiceTransactions.AmountDebit construction in this expression is the path that is used to access the
AmountDebit field of the InvoiceTransactions data source of the Record list type.
Relative path
If the path of a structured data source starts with an "at" sign (@), it's a relative path. The "at" sign is shown
instead of the remaining part of the absolute path of the hierarchical tree structure that is used. The following
illustration shows an example. Here, the absolute path Ledger.'accountingCurrency()' indicates that the
accounting currency value from the Ledger data source is entered in the AccountingCurrency field of the data
model.
The example in the following illustration shows how a relative path is used. The relative path @.AccountNum
indicates that the AccountNum field of the Intrastat data source (which appears one level above the
AccountNum field in the data model's hierarchical tree) is used to enter the customer or vendor account number
in the data model's AccountNum field.
The remaining part of the absolute path is also shown in the ER formula editor.
ER built-in functions can be used in ER expressions. All data sources of the expression context (that is, the current
Functions
ER model mapping or ER format) can be used as parameters of calling functions, in accordance with the list of
arguments for calling functions. Constants can also be used as parameters of calling functions. For example, the
current ER model mapping contains the InvoiceTransactions data source, and this data source returns a list of
records. The InvoiceTransactions record structure contains the AmountDebit and AmountCredit fields, and
both these fields return numeric values. Therefore, to calculate the invoiced amount, you can design the following
expression that uses the built-in ER rounding function:
ROUND (InvoiceTransactions.AmountDebit - InvoiceTransactions.AmountCredit, 2) .
When you design ER model mappings and ER reports, you can use ER functions from the following categories:
Date and time functions
List functions
Logical functions
Mathematical functions
Record functions
Text functions
Data collection functions
Other (business domain–specific) functions
Type conversion functions
Compound expressions
You can create compound expressions that use functions from different categories, provided that the data types
match. When you use functions together, match the data type of the output from one function to the input data
type that is required by another function. For example, to avoid a possible "list-is-empty" error in a binding of a
field to an ER format element, combine functions from the List category with a function from the Logical category,
as the following example shows. Here, the formula uses the IF function to test whether the IntrastatTotals list is
empty before it returns the value of the required aggregation from that list. If the IntrastatTotals list is empty,
the formula returns 0 (zero).
IF(ISEMPTY(IntrastatTotals), 0.0, IntrastatTotals.aggregated.'$AmountMSTRounded')
Multiple solutions
Often, you can get the same data transformation result in multiple ways, by using functions from different
categories or different functions from the same category. For example, the previous expression can also be
configured by using the COUNT function from the List category.
Additional resources
Electronic Reporting overview
Formula designer in Electronic reporting
Extend the list of Electronic reporting functions
List of ER functions in the Date and time category
12/19/2019 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific
business functions. For more information about these changes, see Dynamics 365 Licensing Guide.
Electronic reporting (ER) date and time functions can be used to extract information from date and time values,
and to perform operations on them. This topic provides a summary of these functions.
NullDate This function returns a Date value that represents the null
date (January 1, 1900).
F UN C T IO N DESC RIP T IO N
SessionToday This function returns a Date value that represents the current
application session date.
Today This function returns a Date value that represents the current
application server date.
Additional resources
Electronic Reporting overview
Formula designer in Electronic reporting
Electronic reporting formula language
ADDDAYS ER f unct ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The ADDDAYS function calculates a DateTime value that is the specified number of days before or after a specified
start date.
Syntax
ADDDAYS (datetime, days)
Arguments
datetime : DateTime
A date/time value that represents the start date.
days : Integer
The number of days before or after datetime .
Return values
DateTime
The resulting date/time value.
Usage notes
A positive value for days yields a future date. A negative value yields a past date.
Example 1
ADDDAYS (NOW(), 7) returns the date and time seven days in the future.
Example 2
ADDDAYS (NOW(), -3) returns the date and time three days in the past.
Additional resources
Date and time functions
DATEFORMAT ER f unct ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The DATEFORMAT function returns a String value that presents a given date value as text in the specified format and
in an optionally specified culture. For information about the supported formats, see standard and custom.
Syntax 1
DATEFORMAT (date, format)
Syntax 2
DATEFORMAT (date, format, culture)
Arguments
date : Date
A date value that represents the date to format.
format : String
The format of the output string.
culture : String
The culture to use for formatting.
Return values
String
The resulting string value.
Usage notes
When the culture isn't defined as an argument of the called function, the value of culture is defined by the calling
context. For example, if the DATEFORMAT function is called by using syntax 1 in an Electronic reporting (ER) format
for a FILE element that is configured to use the German culture, the conversion will be done by using the German
culture. The default culture value is EN-US .
Example 1
DATEFORMAT (TODAY (), "dd-MM-yyyy") returns the current application server date, December 24, 2015, as the string
"24-12-2015" , based on the specified custom format.
Example 2
DATEFORMAT (SESSIONTODAY (), "d", "DE") returns the current application session date, December 24, 2015, as the
string "24-12-2015" , based on the selected German culture and the specified format.
Additional resources
Date and time functions
DATETIM EFORMAT ER f unct ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The DATETIMEFORMAT function returns a String value that presents a given date/time value as text in the specified
format and in an optionally specified culture. For information about the supported formats, see standard and
custom.
Syntax 1
DATETIMEFORMAT (datetime, format)
Syntax 2
DATETIMEFORMAT (datetime, format, culture)
Arguments
datetime : DateTime
A date/time value that represents the date and time to format.
format : String
The format of the output string.
culture : String
The culture to use for formatting.
Return values
String
The resulting string value.
Usage notes
When the culture isn't defined as an argument of the called function, the value of culture is defined by the calling
context. For example, if the DATETIMEFORMAT function is called by using syntax 1 in an Electronic reporting (ER)
format for a FILE element that is configured to use the German culture, the conversion will be done by using the
German culture. The default culture value is EN-US .
When the DATETIMEFORMAT function converts a given date/time value, it considers the time zone setting of the
application user who is running the ER format that the function is called in the context of.
Example 1
DATETIMEFORMAT (NOW(), "dd-MM-yyyy") returns the current application server date/time value, December 24, 2015,
as "24-12-2015" , based on the specified custom format.
Example 2
DATETIMEFORMAT (SESSIONNOW(), "d", "DE") returns the current application session date/time value, December 24,
2015, as "24.12.2015" , based on the selected German culture and the specified format.
Example 3
returns the string value 2019-
DATETIMEFORMAT (DATETIMEVALUE( "2019-11-12T09:00:00.0000000-07:00", "O"), "O")
11-12T08:00:00.0000000-08:00 when it's called during a process that was initiated by an application user who
has the time zone value (GMT-08:00) Pacific Time (US & Canada) in the Language and countr y/region
preferences section.
Additional resources
Date and time functions
DATETIM EVALUE ER f unct ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The DATETIMEVALUE function returns a DateTime value that is converted from a given text value in the specified
format and in an optionally specified culture to a date/time value. For information about the supported formats, see
standard and custom.
Syntax 1
DATETIMEVALUE (text, format)
Syntax 2
DATETIMEVALUE (text, format, culture)
Arguments
text : String
Text that represents the value to format.
format : String
The format of the given text.
culture : String
The culture that is used for formatting of the given text.
Return values
DateTime
The resulting date/time value.
Usage notes
When the culture isn't defined as an argument of the called function, the value of culture is defined by the calling
context. For example, if the DATETIMEVALUE function is called by using syntax 1 in an Electronic reporting (ER) format
for a FILE element that is configured to use the German culture, the conversion will be done by using the German
culture. The default culture value is EN-US .
Example 1
DATETIMEVALUE ("21-Dec-2016 02:55:00", "dd-MMM-yyyy hh:mm:ss") returns 2:55:00 AM on December 21, 2016 ,
based on the specified custom format and the default application's EN-US culture.
Example 2
DATETIMEVALUE ("21-Gen-2016 02:55:00", "dd-MMM-yyyy hh:mm:ss", "IT") returns 2:55:00 AM on December 21,
2016 , based on the specified custom format and culture.
However, DATETIMEVALUE ("21-Gen-2016 02:55:00", "dd-MMM-yyyy hh:mm:ss", "EN-US") throws an exception to inform
the user that the specified string isn't recognized as a valid date/time value for the specified culture.
Additional resources
Date and time functions
DATETODATETIM E ER f unct ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The DATETODATETIME function returns a DateTime value that is converted from a given date value to a date/time
value in Coordinated Universal Time (Greenwich Mean Time [GMT]).
Syntax
DATETODATETIME (date)
Arguments
date : Date
A date value that represents the date to convert.
Return values
DateTime
The resulting date/time value.
Example 1
returns the date of the current Microsoft Dynamics 365 Finance
DATETODATETIME (CompInfo. 'getCurrentDate()')
session, December 24, 2015, as 12/24/2015 12:00:00 AM . In this example, CompInfo is an Electronic reporting
(ER) data source of the Finance and Operations/Table type, and it refers to the CompanyInfo table.
Example 2
DATETODATETIME (DATEVALUE ("2019-11-12T16:00:00.0000000-07:00", "O")) returns the date/time value 11/12/2019
12:00:00 AM .
Additional resources
Date and time functions
DATEVALUE ER f unct ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The DATEVALUE function returns a Date value that is converted from a given text value in the specified format and in
an optionally specified culture to a date value. For information about the supported formats, see standard and
custom.
Syntax 1
DATEVALUE (text, format)
Syntax 2
DATEVALUE (text, format, culture)
Arguments
text : String
Text that represents the value to format.
format : String
The format of the given text.
culture : String
The culture that is used for formatting of the given text.
Return values
Date
The resulting date value.
Usage notes
When the culture isn't defined as an argument of the called function, the value of culture is defined by the calling
context. For example, if the DATEVALUE function is called by using syntax 1 in an Electronic reporting (ER) format for
a FILE element that is configured to use the German culture, the conversion will be done by using the German
culture. The default culture value is EN-US .
Example 1
DATEVALUE ("21-Dec-2016", "dd-MMM-yyyy") returns the date value December 21, 2016 , based on the specified
custom format and the default application's EN-US culture.
Example 2
DATEVALUE ("21-Gen-2016", "dd-MMM-yyyy", "IT") returns the date value Januar y 21, 2016 , based on the specified
custom format and culture.
However, DATEVALUE ("21-Gen-2016", "dd-MMM-yyyy", "EN-US") throws an exception to inform the user that the
specified string isn't recognized as a valid date for the specified culture.
Additional resources
Date and time functions
DAYOFYEAR ER f unct ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The DAYOFYEAR function returns an Integer value that represents the number of days between January 1 and the
specified date.
Syntax
DAYOFYEAR (date) as Integer
Arguments
date : Date
A date value that represents the date to use for the calculation of the number of days.
Return values
Integer
The resulting numeric value.
Example 1
DAYOFYEAR (DATEVALUE ("01-03-2016", "dd-MM-yyyy")) returns 61 .
Example 2
DAYOFYEAR (DATEVALUE ("01-01-2016", "dd-MM-yyyy")) returns 1 .
Additional resources
Date and time functions
DAYS ER f unct ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The DAYS function returns an Integer value that represents the number of days between one specified date and a
second specified date.
Syntax
DAYS (date 1, date 2) as Integer
Arguments
date 1 : Date
A date value that represents the start date for the calculation of the number of days.
date 2 : Date
A date value that represents the end date for the calculation of the number of days.
Return values
Integer
The resulting numeric value.
Usage notes
The DAYS function returns a positive value when the first date is later than the second date, it returns 0 (zero) when
the first date equals the second date, and it returns a negative value when the first date is earlier than the second
date.
Example
DAYS (TODAY (), DATEVALUE( DATETIMEFORMAT( ADDDAYS ( NOW(), 1), "yyyyMMdd"), "yyyyMMdd")) returns -1 .
Additional resources
Date and time functions
NOW ER f unct ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The NOW function returns a DateTime value that represents the current application server date and time.
Syntax
NOW ()
Return values
DateTime
The resulting date/time value.
Example
DATETIMEFORMAT (NOW(), "dd-MM-yyyy") returns the current application server date/time value, December 24, 2015,
as "24-12-2015" , based on the specified custom format.
Additional resources
Date and time functions
NULLDATE ER f unct ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The NULLDATE function returns a Date value that represents the null date (January 1, 1900).
Syntax
NULLDATE () as
Return values
Date
The resulting date value.
Example 1
DATEFORMAT (NULLDATE(), "yyyy-MM-dd") returns the null date, January 1, 1900, as "1900-01-01" , based on the
specified custom format.
Example 2
The expression IF( Invoice.DocumentDate = NULLDATE(), true, false) returns True when the value of the
DocumentDate field equals the null date. In this example, Invoice is an Electronic reporting (ER) data source of
the Finance/Table records type, and it refers to the CustInvoiceJour table.
Additional resources
Date and time functions
NULLDATETIM E ER f unct ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The NULLDATETIME function returns a DateTime value that represents the null date/time value (January 1, 1900) in
Coordinated Universal Time (Greenwich Mean Time [GMT]).
Syntax
NULLDATETIME ()
Return values
DateTime
The resulting date/time value.
Example
DATETIMEFORMAT( NULLDATETIME(), "O") returns the string value 1900-01-01T00:00:00.0000000+00:00 when
it's called during a process that was initiated by an application user who has the time zone value (GMT)
Coordinated Universal Time in the Language and countr y/region preferences section.
Additional resources
Date and time functions
SESSIO NNOW ER f unct ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The SESSIONNOW function returns a DateTime value that represents the current application session date and time.
Syntax
SESSIONNOW ()
Return values
DateTime
The resulting date/time value.
Example
DATETIMEFORMAT (SESSIONNOW(), "d", "DE") returns the current application session date/time value, December 24,
2015, as "24.12.2015" , based on the selected German culture and the specified format.
Additional resources
Date and time functions
SESSIO NTODAY ER f unct ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The SESSIONTODAY function returns a Date value that represents the current application session date.
Syntax
SESSIONTODAY ()
Return values
Date
The resulting date value.
Example
DATEFORMAT (SESSIONTODAY (), "d", "DE") returns the current application session date, December 24, 2015, as the
string "24-12-2015" , based on the selected German culture and the specified format.
Additional resources
Date and time functions
List of ER functions in the list category
4/3/2020 • 3 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific
business functions. For more information about these changes, see Dynamics 365 Licensing Guide.
Electronic reporting (ER) list functions can be used to extract information from, and perform operations on,
data sources of the Record list and Container (record) data types. This topic provides a summary of these
functions.
Enumerate This function returns a new Record list value that consists of
enumerated records of the specified list.
Filter This function returns the specified list as a Record list value
after the query has been changed so that it filters for the
specified condition.
First This function returns the first record of the specified list as a
Container (record) value, if that list isn't empty. If the list is
empty, this function throws an exception.
FirstOrNull This function returns the first record of the specified list as a
Container (record) value, if that record isn't empty. If the
record is empty, this function returns a null Container
(record) value.
F UN C T IO N DESC RIP T IO N
ListOfFirstItem This function returns a Record list value that consists of only
the first record of the specified list.
OrderBy This function returns the specified list as a Record list value
after it has been sorted according to the specified
arguments. These arguments can be defined as expressions.
Reverse This function returns the specified list as a Record list value
in reversed sort order.
Split This function splits the specified input string into substrings
and returns the result as a new Record list value.
SplitList This function splits the specified list into sublists (or
batches), each of which contains the specified number of
records. It then returns the result as a new Record list value
that consists of the batches.
SplitListByLimit This function splits the specified list into a new list of sublists
(batches). The number of records in each batch is
dynamically calculated. The function then returns the result
as a new Record list value that consists of the batches.
Where This function returns the specified list as a Record list value
after it has been filtered according to the specified condition.
Additional resources
Electronic Reporting overview
Formula designer in Electronic reporting
Electronic reporting formula language
ALLITEMS ER f unct ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The ALLITEMS function runs as an in-memory selection and returns a new flattened Record list value as a list of
records that represents all items that match the specified path.
Syntax
ALLITEMS (path)
Arguments
path : Record list
The valid path of a data source of the Record list data type.
Return values
Record list
The resulting list of records.
Usage notes
The path must be defined as a valid data source path of a data source element of the Record list data type. Data
elements such as the path string and date should raise an error in the Electronic reporting (ER) expression builder
at design time.
We don't recommend that you use this function for transactional data sources that might contain a large volume of
data. Instead, consider using the ALLTEMSQUERY function.
Example 1
If you enter SPLIT("abcdef" , 2) as data source DS , the expression COUNT( ALLITEMS (DS)) returns 3 .
Example 2
If you enter Vend as the data source of the Record list data type that refers to the VendTable application table, the
expression ALLITEMS (Vend.'<Relations'.ContactPerson) returns a flattened list of records that has the
ContactPerson table structure and contains all contact persons that can be accessed by using the
ContactPerson.ContactForPar ty == VendTable.Par ty relation, and that is available for all vendors from the
referenced vendor table.
Additional resources
List functions
ALLITEMSQ UERY ER f unct ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The ALLITEMSQUERY function runs as a joined SQL query. It returns a new flattened Record list value that consists of
a list of records that represent all items that match the specified path.
Syntax
ALLITEMSQUERY (path)
Arguments
path : Record list
The valid path of a data source of the Record list data type. It must contain at least one relation.
Return values
Record list
The resulting list of records.
Usage notes
The specified path must be defined as a valid data source path of a data source element of the Record list data type.
It must also contain at least one relation. Data elements such as the path String and Date should raise an error in
the Electronic reporting (ER) expression builder at design time.
When this function is applied to data sources of the Record list data type that refer to an application object that can
be directly called by using SQL (for example, an table, entity, or query), it runs as a joined SQL query. Otherwise, it
runs in memory as the ALLITEMS function.
Example
You define the following data sources in your model mapping:
A CustInv data source of the Table records type that refers to the CustInvoiceTable table
A FilteredInv data source of the Calculated field type that contains the expression
FILTER (CustInv, CustInv.InvoiceAccount = "US-001")
A JourLines of the Calculated field type that contains the expression
ALLITEMSQUERY ( FilteredInv.'<Relations'.CustInvoiceJour.'<Relations'.CustInvoiceTrans)
When you run the model mapping to call the JourLines data source, the following SQL statement is run:
SELECT ... FROM CUSTINVOICETABLE T1 CROSS JOIN CUSTINVOICEJOUR T2 CROSS JOIN
CUSTINVOICETRANS T3 WHERE...
Additional resources
List functions
COUNT ER f unct ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The COUNT function returns an Integer value that represents the number of records in the specified list, if the list
isn't empty. If the list is empty, this function returns 0 (zero).
Syntax
COUNT (list)
Arguments
list : Record list
The valid path of a data source of the Record list data type.
Return values
Integer
The resulting numeric value.
Example
COUNT (SPLIT("abcd" , 3)) returns 2 , because the SPLIT function that is used in this example creates a list that
consists of two records.
Additional resources
List functions
EMPTYLIST ER f unct ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The EMPTYLIST function returns an empty Record list value by using the specified list as a source for the list
structure.
Syntax
EMPTYLIST (list)
Arguments
list : Record list
The valid path of a data source of the Record list data type.
Return values
Record list
The resulting list of records.
Example
EMPTYLIST (SPLIT ("abc", 1)) returns a new empty list that has the same structure as the list that is returned by the
SPLIT function that is used.
Additional resources
List functions
ENUMERATE ER f unct ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The ENUMERATE function returns a new Record list value that consists of enumerated records of the specified list.
Syntax
ENUMERATE (list)
Arguments
list : Record list
The valid path of a data source of the Record list data type.
Return values
Record list
The resulting list of records.
Usage notes
The list of enumerated records that is returned exposes the following additional elements:
The record of fields (Value component)
The current record index (Number component)
Example
In the following illustration, an Enumerated data source is created as an enumerated list of vendor records from
the Vendors data source that refers to the VendTable table.
The following illustration shows the Electronic reporting (ER) format. In this format, data bindings are created to
generate output in XML format. This output presents individual vendors as enumerated nodes.
The following illustration shows the result when the designed format is run.
Additional resources
List functions
FILTER ER f unct ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The FILTER function returns the specified list as a Record list value after the query has been changed so that it
filters for the specified condition.
Syntax
FILTER (list, condition)
Arguments
list : Record list
The valid path of a data source of the Record list data type.
condition : Boolean
A valid conditional expression that is used to filter records of the specified list.
Return values
Record list
The resulting list of records.
Usage notes
This function differs from the WHERE function, because the specified condition is applied to any Electronic
reporting (ER) data source of the Table records type at the database level. The list and condition can be defined by
using tables and relations.
If one or both arguments that are configured for this function ( list and condition ) don't allow this request to be
translated to the direct SQL call, an exception is thrown at design time. This exception informs the user that either
list or condition can't be used to query the database.
Example 1
If Vendor is configured as an ER data source that refers to the VendTable table, the expression
FILTER (Vendors, Vendors.VendGroup = "40") returns a list of only vendors that belong to vendor group 40.
Example 2
If Vendor is configured as an ER data source that refers to the VendTable table, and if parmVendorBankGroup is
configured as an ER data source that returns a value of the String data type, the expression
FILTER ( Vendor.'<Relations'.VendBankAccount, Vendor.'<Relations'.VendBankAccount.BankGroupID =
parmVendorBankGroup)
returns a list of only vendor accounts that belong to a specific bank group.
Example 3
You enter data source DS of the Calculated field type, and it contains the expression SPLIT ("A,B,C", ",") . You
then enter another expression, FILTER( DS, DS.Value = "B") . When you try to save this expression in the ER
formula designer, the following exception is thrown: "Validation error: The list expression of FILTER function is not
queryable."
Additional resources
List functions
FIRST ER f unct ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The FIRST function returns the first record of the specified list as a Container (record) value, if that list isn't empty.
If the list is empty, this function throws an exception.
Syntax
FIRST (list)
Arguments
list : Record list
The valid path of a data source of the Record list data type.
Return values
Container (record)
The resulting record value.
Example 1
The expression FIRST(SPLIT("ABC",1)).Value returns the text value "A" .
Example 2
The expression FIRST(SPLIT("",1)).Value throws an exception at runtime.
Additional resources
List functions
FIRSTORNULL ER f unct ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The FIRSTORNULL function returns the first record of the specified list as a Container (record) value, if that record
isn't empty. If the record is empty, this function returns a null Container (record) value.
Syntax
FIRSTORNULL (list)
Arguments
list : Record list
The valid path of a data source of the Record list data type.
Return values
Container (record)
The resulting record value.
Example
The expression FIRSTORNULL(SPLIT("",1)).Value returns an empty string ("" ).
Additional resources
List functions
INDEX ER f unct ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The INDEX function returns a Container (record) value that is selected by using the specified numeric index in the
specified list. If the index is out of range for the records in the specified list, an exception is thrown.
Syntax
INDEX (list, index)
Arguments
list : Record list
The valid path of a data source of the Record list data type.
index : Integer
A numeric index that indicates the position of the desired record in the specified list.
Return values
Container (record)
The resulting record value.
Example 1
If you enter data source DS of the Calculated field type, and it contains the expression SPLIT ("A|B|C", "|") , the
expression DS.Value returns the text value "B" for the second record of this record list. The expression
INDEX (SPLIT ("A|B|C", "|"), 2).Value also returns the text value "B" .
Example 2
If you enter data source DS of the Calculated field type, and it contains the expression SPLIT ("A|B|C", "|") , the
expression INDEX (SPLIT ("A|B|C", "|"), 4).Value throws an exception at runtime.
Additional resources
List functions
ISEMPTY ER f unct ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The ISEMPTY function returns a Boolean value of TRUE if the specified list contains no records. Otherwise, it
returns a Boolean value of FALSE .
Syntax
ISEMPTY (list)
Arguments
list : Record list
The valid path of a data source of the Record list data type.
Return values
Boolean
The resulting Boolean value.
Example 1
If you enter data source DS of the Calculated field type, and it contains the expression SPLIT ("A|B|C", "|") , the
expression ISEMPTY(DS) returns FALSE .
Example 2
The expression ISEMPTY (SPLIT ("",1)) returns TRUE .
Additional resources
List functions
LIST ER f unct ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The LIST function returns a Record list value that consists of a new list of records that is created from the specified
arguments.
Syntax
LIST (record 1 [, record 2, …, record N])
Arguments
record 1 : Container (record)
A reference to a data source of the Record data type. This argument is required.
record N : Container (record)
A reference to a data source of the Record data type. These additional arguments are optional.
Return values
Record list
The resulting list of records.
Usage notes
The structure of the list that is created contains only the fields that are presented in the structure of every record
that is mentioned in the arguments.
Example
You enter data source Record 1 of the Container type. This data source contains the following nested fields of the
Calculated field type:
Code: This field contains an expression that returns a value of the String type.
Amount: This field contains an expression that returns a value of the Real type.
You then enter data source Record 2 of the Container type. This data source contains the following nested fields of
the Calculated field type:
Amount: This field contains an expression that returns a value of the Real type.
IsValid: This field contains an expression that returns a value of the Boolean type.
In this case, the expression LIST('Record 1', 'Record 2') returns a new list that contains two records. The structure
of this list consists of a single Amount field of the Real type, because this field is the only field that is presented in
every argument of the called function.
Additional resources
List functions
LISTJOIN ER f unct ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The LISTJOIN function returns a Record list value that represents a new joined list of records that is created from
the specified arguments.
Syntax
LIST (list 1 [, list 2, …, list N])
Arguments
list 1 : Record list
A reference to a data source of the Record list data type. This argument is mandatory.
list N : Record list
A reference to a data source of the Record list data type. These additional arguments are optional.
Return values
Record list
The resulting list of records.
Usage notes
The structure of the list that is created contains only the fields that are present in the structure of every record list
that is referenced in the arguments.
Example
You enter data source Record 1 of the Container type. This data source contains the following nested fields of the
Calculated field type:
Code : This field contains an expression that returns a value of the String type.
Amount : This field contains an expression that returns a value of the Real type.
You then enter data source Record 2 of the Container type. This data source contains the following nested fields
of the Calculated field type:
Amount : This field contains an expression that returns a value of the Real type.
IsValid : This field contains an expression that returns a value of the Boolean type.
In this case, the expression LISTJOIN(LIST('Record 1'), LIST('Record 2')) returns a new list that contains two
records. The structure of this list consists of a single Amount field of the Real type, because this field is the only
field that is presented in every argument of the called function.
Additional resources
List functions
LISTOFFIELDS ER f unct ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The LISTOFFIELDS function returns a Record list value that is created based on the structure of the specified
argument of the Enumeration or Container (record) type.
Syntax 1
LISTOFFIELDS (path)
Syntax 2
LISTOFFIELDS (path, language)
Arguments
path : Data source reference
The valid reference path of a data source of one of the following data types:
Model enumeration
Format enumeration
Application enumeration
Container (record)
language : String
Text that represents a language code.
Return values
Record list
The resulting list of records.
Usage notes
The list that is created consists of records that have the following fields:
Name (String data type)
Label (String data type)
Description (String data type)
IsTranslated (Boolean data type)
If the path argument refers to a data source of the Container (Record) type, for every field of the referenced
container record, a new record is added to the list that is created. For every record that is created, the Name field
returns the name of the field of the referenced container record that the current record was created for.
If the path argument refers to a data source of one of the Enumeration types, for every enumeration value of the
referenced enumeration, a new record is added to the list that is created. For every record that is created, the Name
field returns the value of the referenced enumeration that the current record was created for, the Description field
returns the description of that enumeration, and the Label field returns the label of that enumeration.
At runtime, when syntax 1 is used, the Label and Description fields must return values that are based on the
language settings of the Electronic reporting (ER) format that is running:
If the labels and descriptions for the requested language are available, the Label and Description fields return
values that are based on that language, and the IsTranslated field returns True .
If the labels and descriptions for the requested language aren't available, the Label and Description fields
return values that are based on the default EN-US language, and the IsTranslated field returns False .
At runtime, when syntax 2 is used, the Label and Description fields must return values that are based on the
language that is defined as the second argument of the called function:
If the labels and descriptions for the requested language are available, the Label and Description fields return
values that are based on that language, and the IsTranslated field returns True .
If the labels and descriptions for the requested language aren't available, the Label and Description fields
return values that are based on the EN-US language, and the IsTranslated field returns False .
Example 1
In the following illustration, an enumeration is introduced in an ER data model.
The following illustration shows the result when the designed format is run.
NOTE
Based on the language settings of the parent FILE and FOLDER format elements, translated text for labels and descriptions
is entered in the output of the ER format.
Example 2
You use the Calculated field data source type to configure enumType_de and enumType_deCH data sources for
the enumType data model enumeration:
enumType_de = LISTOFFIELDS (enumType, "de")
enumType_deCH = LISTOFFIELDS (enumType, "de-CH")
In this case, you can use the following expression to get the label of the enumeration value in Swiss German, if that
translation is available. If the Swiss German translation isn't available, the label is in German.
Additional resources
List functions
LISTOFFIRSTITEM ER f unct ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The LISTOFFIRSTITEM function returns a Record list value that consists of only the first record of the specified list.
Syntax
LISTOFFIRSTITEM (list)
Arguments
list : Record list
The valid path of a data source of the Record list data type.
Return values
Record list
The resulting list of records.
Example
The expression FIRST( LISTOFFIRSTITEM ( SPLIT ("ABC",1))).Value returns the text value "A" .
Additional resources
List functions
ORDERBY ER f unct ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The ORDERBY function returns the specified list as a Record list value after it has been sorted according to the
specified arguments. These arguments can be defined as expressions.
Syntax
ORDERBY (list , expression 1[, expression 2, …, expression N])
Arguments
list : Record list
The valid path of a data source of the Record list data type.
expression 1 : Field
The valid path of a field of the data source that is referenced by the list argument of the called function. The
referenced field must be a field of the primitive data type. This argument is required.
expression N : Field
The valid path of a field of the data source that is referenced by the list argument of the called function. The
referenced field must be a field of the primitive data type. These additional arguments are optional.
Return values
Record list
The resulting list of records.
Example 1
If you enter data source DS of the Calculated field type, and it contains the expression SPLIT ("C|B|A", "|") , the
expression FIRST( ORDERBY( DS, DS. Value)).Value returns the text value "A" .
Example 2
If Vendor is configured as an Electronic reporting (ER) data source that refers to the VendTable table, the
expression ORDERBY (Vendors, Vendors.'name()') returns a list of vendors that is sorted by name in ascending order.
Additional resources
List functions
REVERSE ER f unct ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The REVERSE function returns the specified list as a Record list value in reversed sort order.
Syntax
REVERSE (list)
Arguments
list : Record list
The valid path of a data source of the Record list data type.
Return values
Record list
The resulting list of records.
Example 1
If you enter data source DS of the Calculated field type, and it contains the expression SPLIT ("C|B|A", "|") , the
expression FIRST( REVERSE( ORDERBY( DS, DS. Value))).Value returns the text value "C" .
Example 2
If Vendor is configured as an Electronic reporting (ER) data source that refers to the VendTable table, the
expression REVERSE (ORDERBY (Vendors, Vendors.'name()')) returns a list of vendors that is sorted by name in
descending order.
Additional resources
List functions
SPLIT ER f unct ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The SPLIT function splits the specified input string into substrings and returns the result as a new Record list value.
Syntax 1
SPLIT (input, length)
This syntax is used to split the specified input string into substrings, each of which has the specified length.
Syntax 2
SPLIT (input, delimiter)
This syntax is used to split the specified input string into substrings, based on the specified delimiter.
Arguments
input : String
The text to split.
length : Integer
The maximum length of a single substring.
delimiter : String
A delimiter that is used to separate substrings.
Return values
Record list
The resulting list of records.
Usage notes
The record structure of the list that is returned consists of the Value field of the String type. Every record of the list
that is returned contains generated substrings in this field.
If the delimiter argument is empty, the new list that is returned consists of one record that has the Value field of
the String type. This field contains the input text.
If the input argument is empty, a new empty list is returned. If either the input or delimiter argument is
unspecified (null), an application exception is thrown.
Example 1
SPLIT ("abcd", 3) returns a new list that consists of two records that have the Value field of the String type. The
Value field in the first record contains the text "abc" , and the Value field in the second record contains the text "d" .
Example 2
SPLIT ("XAb aBy", "aB") returns a new list that consists of three records that have the Value field of the String
type. The Value field in the first record contains the text "X" , the Value field in the second record contains the text
" " , and the Value field in the third record contains the text "y" .
Additional resources
List functions
SPLITLIST ER f unct ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The SPLITLIST function splits the specified list into sublists (or batches), each of which contains the specified
number of records. It then returns the result as a new Record list value that consists of the batches.
Syntax
SPLITLIST (list, number)
Arguments
list : Record list
The valid path of a data source of the Record list data type.
number : Integer
The maximum number of records per batch.
Return values
Record list
The resulting list of records.
Usage notes
The list of batches that is returned contains the following elements:
Value: List
The list of records that belong to the current batch.
BatchNumber : Integer
The number of the current batch in the returned list.
Example
In the following illustration, a Lines data source is created as a record list that has three records. This list is divided
into batches, each of which contains up to two records.
The following illustration shows the designed format layout. In this format layout, bindings to the Lines data
source are created to generate output in XML format. This output presents individual nodes for each batch and the
records in it.
The following illustration shows the result when the designed format is run.
Additional resources
List functions
SPLITLISTBYLIM IT ER f unct ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The SPLITLISTBYLIMIT function splits the specified list into a new list of sublists (batches). The number of records in
each batch is dynamically calculated. The function then returns the result as a new Record list value that consists of
the batches.
Syntax
SPLITLISTBYLIMIT (list, limit value, limit source)
Arguments
list : Record list
The valid path of a data source of the Record list data type.
limit value : Integer or Real
The maximum value of the limit that is used to split the original list into batches.
limit source : Field
The valid path of a field of the Integer or Real type in the specified list. The value of this field defines the step that
the total sum is increased on.
Return values
Record list
The resulting list of records.
Usage notes
The list of batches that is returned contains the following elements:
Value : List
The list of records that belong to the current batch.
BatchNumber : Integer
The number of the current batch in the returned list.
The limit isn't applied to a single item of the original list if the limit source exceeds the defined limit.
Example
The following illustration shows an Electronic reporting (ER) format.
The following illustration shows the data sources that are used for the format.
The following illustration shows the result when the format is run. In this case, the output is a flat list of commodity
items.
In the following illustrations, the same format has been adjusted so that it presents the list of commodity items in
batches if a single batch must include commodities and the total weight should not exceed a limit of 9.
The following illustration shows the result when the adjusted format is run.
NOTE
The limit isn't applied to the last item of the original list, because the value (11 ) of the limit source (weight ) exceeds the
defined limit (9 ). To ignore sublists during report generation, use either the WHERE function or the Enabled expression of
the corresponding format element, as you require.
Additional resources
List functions
STRINGJOIN ER f unct ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The STRINGJOIN function returns a String value that consists of concatenated values of the specified field from the
specified list. The values can be separated by the specified delimiter.
Syntax
STRINGJOIN (list, field, delimiter)
Arguments
list : Record list
The valid path of a data source of the Record list data type.
field : Field
The valid path of a field of the String data type in the specified list.
delimiter : String
A delimiter that is used to separate substrings.
Return values
String
The resulting text value.
Example
If you enter SPLIT("abc" , 1) as data source DS , the expression STRINGJOIN (DS, DS.Value, "-") returns "a-b-c" .
Additional resources
List functions
WHERE ER f unct ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The WHERE function returns the specified list as a Record list value after it has been filtered according to the
specified condition.
Syntax
WHERE (list, condition)
Arguments
list : Record list
The valid path of a data source of the Record list data type.
condition : Boolean
A valid conditional expression that is used to filter records of the specified list.
Return values
Record list
The resulting list of records.
Usage notes
This function differs from the FILTER function, because the specified condition is applied to any Electronic reporting
(ER) data source of the Record list type that is present in memory.
If the arguments that are configured for this function ( list and condition ) allow this request to be translated to
the direct SQL call, a warning message is thrown at design time. This message informs the user that performance
might be improved if the FILTER function is used instead of WHERE .
Example 1
If Vendor is configured as an ER data source that refers to the VendTable table, the expression
WHERE (Vendors, Vendors.VendGroup = "40") returns a list of only vendors that belong to vendor group 40.
Example 2
If you enter data source DS of the Calculated field type, and it contains the expression SPLIT ("A|B|C", "|") , the
expression WHERE( DS, DS.Value = "B") returns a list of only one record that contains the text "B" in the Value
field.
Additional resources
List functions
List of ER functions in the logical category
12/19/2019 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
Electronic reporting (ER) logical functions can be used to work with logical values to perform more than one
comparison in a single expression or test multiple conditions. This topic provides a summary of these functions.
Not This function returns the reversed logical value of the specified
condition as a Boolean value.
Additional resources
Electronic Reporting overview
Formula designer in Electronic reporting
Electronic reporting formula language
AND ER f unct ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The AND function returns a Boolean value of TRUE if all the specified conditions are true. Otherwise, it returns a
Boolean value of FALSE .
Syntax
AND (condition 1[, condition 2, …, condition N])
Arguments
condition 1 : Boolean
A valid conditional expression that must be tested. This argument is required.
condition N : Boolean
A valid conditional expression that must be tested. These additional arguments are optional.
Return values
Boolean
The resulting Boolean value.
Usage notes
In the arguments of logical functions, you can use data source references, numeric and text values, Boolean values,
comparison operators, and other Electronic reporting (ER) functions. However, all the arguments must be evaluated
to a Boolean value of TRUE or FALSE .
Example
AND (1=1, "a"="a") returns TRUE .
AND (1=2, "a"="a") returns FALSE .
Additional resources
Logical functions
CASE ER f unct ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The CASE function evaluates the value of the specified expression against the specified alternative options and
returns the result of the first option that equals the value of the specified expression. Otherwise, it returns the
optional default result, if a default result is specified as the last argument of the called function that isn't preceded
by an option. The value that is returned can be a value of any of the supported data types.
Syntax
CASE (expression, option 1, result 1[, option 2, result 2, …, option N, result N, default result])
Arguments
expression : Primitive data type (Boolean, numeric, or text)
A valid expression that returns a value of the primitive data type.
option 1 : Primitive data type (Boolean, numeric, or text)
A valid expression that returns a value of the same primitive data type as the expression argument of the called
function. This argument is required.
result 1 : Any of the supported data types
The returned result that corresponds to the preceding option. This argument is required.
option N : Primitive data type (Boolean, numeric, or text)
A valid expression that returns a value of the same primitive data type as the expression argument of the called
function. This argument is optional.
result N : Any of the supported data types
The returned result that corresponds to the preceding option. This argument is optional.
default result : Any of the supported data types
The result that should be returned if there is no match. This argument is optional.
Return values
Any of the supported data types
The resulting value of any of the supported data types.
Usage notes
An exception is thrown at runtime if there is no match and an optional default result isn't defined.
All results must be specified by using the same data type. An exception is thrown at design time if the data types of
the configured results don't match.
If the first result value and the Nth result value are values of the Container (record) or Record list data type, the
result has only the fields that exist in both values.
Example
CASE( DATETIMEFORMAT( NOW(), "MM"), "10", "WINTER", "11", "WINTER", "12", "WINTER", "")returns the string
"WINTER" if the current application session date is between October and December. Otherwise, it returns a blank
string.
Additional resources
Logical functions
IF ER f unct ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The IF function returns the first specified value if the specified condition is met. Otherwise, it returns the second
specified value. The value that is returned can be a value of any of the supported data types.
Syntax
IF (condition, first value, second value) as any of the supported data types
Arguments
condition : Boolean
A valid conditional expression that must be tested.
first value : Any of the supported data types
The result that is returned if the condition is met.
second value : Any of the supported data types
The result that is returned if the condition isn't met.
Return values
Any of the supported data types
The resulting value of any of the supported data types.
Usage notes
The first value and second value arguments must be specified by using the same data type. An exception is
thrown at design time if the data types of the configured values don't match.
If the first value and the second value are values of the Container (record) or Record list data type, the result has
only the fields that exist in both values.
Example
IF (1=2, "condition is met", "condition is not met") returns the string "condition is not met" .
Additional resources
Logical functions
NOT ER f unct ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The NOT function returns the reversed logical value of the specified condition as a Boolean value.
Syntax
NOT (condition)
Arguments
condition : Boolean
A valid conditional expression that must be reversed.
Return values
Boolean
The resulting Boolean value.
Example
NOT (TRUE) returns FALSE .
Additional resources
Logical functions
OR ER f unct ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The OR function returns a Boolean value of FALSE if all the specified conditions are false. If any specified condition
is true, the function returns a Boolean value of TRUE .
Syntax
OR (condition 1[, condition 2, …, condition N])
Arguments
condition 1 : Boolean
A valid conditional expression that must be tested. This argument is required.
condition N : Boolean
A valid conditional expression that must be tested. These additional arguments are optional.
Return values
Boolean
The resulting Boolean value.
Example
OR (1=2, "a"="a") returns TRUE .
Additional resources
Logical functions
VALUEIN ER f unct ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The VALUEIN function determines whether the specified input matches any value of a specified item in the specified
list. It returns a Boolean value of TRUE if the specified input matches the result of running the specified expression
for at least one record of the specified list. Otherwise, it returns a Boolean value of FALSE .
Syntax
VALUEIN (input, list, list item expression)
Arguments
input : Field
The valid path of an item of a data source of the Record list type. The value of this item will be matched.
list : Record list
The valid path of a data source of the Record list data type.
list item expression : Boolean
A valid conditional expression that either points to or contains a single field of the specified list that should be used
for the matching.
Return values
Boolean
The resulting Boolean value.
Usage notes
In general, the VALUEIN function is translated to a set of OR conditions.
In some cases, it can be translated to a database SQL statement by using the EXISTS JOIN operator.
Example 1
In your model mapping, you define the List data source of the Calculated field type. This data source contains the
expression SPLIT ("a,b,c", ",") .
When a data source is called, if it has been configured as the VALUEIN ("B", List, List.Value) expression, it returns
TRUE . In this case, the VALUEIN function is translated to the following set of conditions:
(("B" = "a") or ("B" = "b") or ("B" = "c")) , where ("B" = "b") equals TRUE .
When a data source is called, if it has been configured as the VALUEIN ("B", List, LEFT(List.Value, 0)) expression,
it returns FALSE . In this case, the VALUEIN function is translated to the following condition: ("B" = "") , which
doesn't equal TRUE .
The upper limit for the number of characters in the text of such a condition is 32,768 characters. Therefore, you
should not create data sources that might exceed this limit at runtime. If the limit is exceeded, the application stops
running, and an exception is thrown. For example, this situation can occur if the data source is configured as
WHERE (List1, VALUEIN (List1.ID, List2, List2.ID) , and the List1 and List2 lists contain a large volume of
records.
In some cases, the VALUEIN function is translated to a database statement by using the EXISTS JOIN operator. This
behavior occurs when the FILTER function is used and the following conditions are met:
The ASK FOR QUERY option is turned off for the data source of the VALUEIN function that refers to the list of
records. No additional conditions will be applied to this data source at runtime.
No nested expressions are configured for the data source of the VALUEIN function that refers to the list of
records.
A list item of the VALUEIN function refers to a field of the specified data source, not to an expression or method
of that data source.
Consider using this option instead of the WHERE function that is described earlier in this example.
Example 2
You define the following data sources in your model mapping:
The In data source of the Table records type. This data source refers to the Intrastat table.
The Por t data source of the Table records type. This data source refers to the IntrastatPort table.
When a data source is called that has been configured as the FILTER (In, VALUEIN(In.Port, Port, Port.PortId)
expression, the following SQL statement is generated to return filtered records of the Intrastat table.
For dataAreaId fields, the final SQL statement is generated by the using IN operator.
Example 3
You define the following data sources in your model mapping:
The Le data source of the Calculated field type. This data source contains the expression
SPLIT ("DEMF,GBSI,USMF", ",") .
The In data source of the Table records type. This data source refers to the Intrastat table, and the Cross-
company option is turned on for it.
When a data source is called that has been configured as the FILTER (In, VALUEIN (In.dataAreaId, Le, Le.Value)
expression, the final SQL statement contains the following condition.
Intrastat.dataAreaId IN ('DEMF', 'GBSI', 'USMF')
Additional resources
Logical functions
List of ER functions in the mathematical category
12/19/2019 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
Electronic reporting (ER) mathematical functions can be used to do many common mathematical calculations. This
topic provides a summary of these functions.
Power This function returns a Real value that represents the result of
raising the specified positive number to the specified power.
Additional resources
Electronic Reporting overview
Formula designer in Electronic reporting
Electronic reporting formula language
ABS ER f unct ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The ABS function returns the absolute value (modulus) of the specified number as a Real value. In other words, it
returns the number without its sign.
Syntax
ABS (number)
Arguments
number : Real
A numeric value that you want the modulus of.
Return values
Real
The resulting numeric value.
Example
ABS (-1) returns 1 .
Additional resources
Mathematical functions
POWER ER f unct ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The POWER function returns a Real value that represents the result of raising the specified positive number to the
specified power.
Syntax
POWER (number, power)
Arguments
number : Real or Integer
A numeric value that must be raised to the specified power.
power : Real or Integer
A numeric value that represents the specific power.
Return values
Real
The resulting numeric value.
Example 1
POWER (10, 2) returns 100 .
Example 2
POWER (4, 0.5) returns 2 .
Additional resources
Mathematical functions
ROUND ER f unct ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The ROUND function returns the specified number as a Real value after it has been rounded to the specified number
of decimal places.
Syntax
ROUND (number, decimals)
Arguments
number : Real
A numeric value that must be rounded.
decimals : Integer
A numeric value that represents the number of decimal places.
Return values
Real
The resulting numeric value.
Usage notes
If the value of the decimals argument is more than 0 (zero), the specified number is rounded to that many decimal
places.
If the value of the decimals argument is 0 (zero), the specified number is rounded to the nearest integer.
If the value of the decimals argument is less than 0 (zero), the specified number is rounded to the left of the
decimal point.
Example 1
ROUND (1200.767, 2) rounds to two decimal places and returns 1200.77 .
Example 2
ROUND (1200.767, -3) rounds to the nearest multiple of 1,000 and returns 1000 .
Additional resources
Mathematical functions
ROUNDDOWN ER f unct ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The ROUNDDOWN function returns the specified number as a Real value after it has been rounded down to the
specified number of decimal places.
Syntax
ROUNDDOWN (number, decimals)
Arguments
number : Real
A numeric value that must be rounded down.
decimals : Integer
A numeric value that represents the number of decimal places.
Return values
Real
The resulting numeric value.
Usage notes
This function behaves like ROUND, but it always rounds the specified number down (toward zero).
Example 1
ROUNDDOWN (1200.767, 2) rounds down to two decimal places and returns 1200.76 .
Example 2
ROUNDDOWN (1700.767, -3) rounds down to the nearest multiple of 1,000 and returns 1000 .
Additional resources
Mathematical functions
ROUNDUP ER f unct ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The ROUNDUP function returns the specified number as a Real value after it has been rounded up to the specified
number of decimal places.
Syntax
ROUNDDOWN (number, decimals)
Arguments
number : Real
A numeric value that must be rounded up.
decimals : Integer
A numeric value that represents the number of decimal places.
Return values
Real
The resulting numeric value.
Usage notes
This function behaves like ROUND, but it always rounds the specified number up (away from zero).
Example 1
ROUNDUP (1200.763, 2) rounds up to two decimal places and returns 1200.77 .
Example 2
ROUNDUP (1200.767, -3) rounds up to the nearest multiple of 1,000 and returns 2000 .
Additional resources
Mathematical functions
List of ER functions in the record category
12/19/2019 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
Electronic reporting (ER) record functions can be used to extract information from, and perform operations on, data
sources of the Container (record) data type. This topic provides a summary of these functions.
NullContainer This function returns a null Container (record) value that has
the same structure as the specified record list or record.
EmptyRecord This function returns a null Container (record) value that has
the same structure as the specified record list or record.
Additional resources
Electronic Reporting overview
Formula designer in Electronic reporting
Electronic reporting formula language
EMPTYRECORD ER f unct ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The EMPTYRECORD function returns a null Container (record) value that has the same structure as the specified
record list or record.
Syntax
EMPTYRECORD (list)
Arguments
list : Record list or Container (record)
The valid path of a data source of either the Record list or Container (record) type.
Return values
Container (record)
The resulting record value.
Usage notes
NOTE
A null record is a record where all fields have an empty value. An empty value is 0 (zero) for numbers, an empty string for
strings, and so on.
Example
EMPTYRECORD (SPLIT ("abc", 1)) returns a new empty record that has the same structure as the list that is returned
by the SPLIT function. For more information, see SPLIT.
Additional resources
Record functions
NULLCONTAINER ER f unct ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The NULLCONTAINER function returns a null Container (record) value that has the same structure as the specified
record list or record.
Syntax
NULLCONTAINER (list)
Arguments
list : Record list or Container (record)
The valid path of a data source of either the Record list or Container (record) type.
Return values
Container (record)
The resulting record value.
Usage notes
NOTE
This function is obsolete. Use the EMPTYRECORD function instead. For more information, see EMPTYRECORD.
Example
NULLCONTAINER (SPLIT ("abc", 1)) returns a new empty record that has the same structure as the list that is
returned by the SPLIT function. For more information, see SPLIT.
Additional resources
Record functions
List of ER functions of the text category
4/3/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific
business functions. For more information about these changes, see Dynamics 365 Licensing Guide.
Electronic reporting (ER) text functions can be used to perform operations on data sources of the String data
type. This topic provides a summary of these functions.
Concatenate This function returns all the specified text strings as a String
value after they have been joined into one string.
Format This function returns the specified string a String value after
it has been formatted by substituting any occurrences of
%N with the Nth argument.
GuidValue This function converts the specified input of the String type
to a data item of the GUID type.
Translate This function returns a String value that contains the result
of the replacement the specified text in characters for
another provided set of characters.
Additional resources
Electronic Reporting overview
Formula designer in Electronic reporting
Electronic reporting formula language
CHAR ER f unct ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The CHAR function returns a String value that presents a single character that is referenced by the specified Unicode
number.
Syntax
CHAR (number)
Arguments
number : Integer
A number that corresponds to an expected single character.
Return values
String
The resulting text value.
Usage notes
The string that this function returns depends on the encoding that is selected in the parent FILE format element. For
a list of the supported encodings, see Encoding class.
Example
CHAR (255) returns "ÿ" .
Additional resources
Text functions
CONCATENATE ER f unct ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The CONCATENATE function returns all the specified text strings as a String value after they have been joined into one
string.
Syntax
CONCATENATE (text 1[, text 2, …, text N])
Arguments
text 1 : String
A reference to a data source of the String data type. This argument is required.
text N : String
A reference to a data source of the String data type. These additional arguments are optional.
Return values
String
The resulting text value.
Example
CONCATENATE ("abc", "def") returns "abcdef" .
Usage notes
The expression "abc" & "def" also returns "abcdef" .
Additional resources
Text functions
FORMAT ER f unct ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The FORMAT function returns the specified string as a String value after it has been formatted by substituting any
occurrences of %N with the Nth argument.
Syntax
FORMAT (string, argument 1[, argument 2, …, argument N])
Arguments
string : String
A reference to a data source of the String type that must be formatted. This argument is required.
argument 1 : String
The first argument, which is used to replace occurrences of %1 . This argument is required.
argument N : String
The Nth argument, which is used to replace occurrences of %2 , %3 , and so on. These additional arguments are
optional.
Return values
String
The resulting text value.
Usage notes
If an argument isn't provided for a parameter, the parameter is returned as "%N" in the string. For values of the
Real type, the default string conversion is limited to two decimal places.
Example
In the following illustration, the PaymentModel data source returns a list of customer records by using the
Customer component. It returns the processing date value by using the ProcessingDate field.
In the Electronic reporting (ER) format that is designed to generate an electronic file for selected customers,
PaymentModel is selected as a data source, and it controls the process flow. If a selected customer is stopped for
the date when the report is processed, an exception is thrown to notify the user. The formula that is designed for
this type of processing control can use the following resources:
Label SYS70894, which has the following text:
For the EN-US language: "Nothing to print"
For the DE language: "Nichts zu drucken"
Label SYS18389, which has the following text:
For the EN-US language: "Customer %1 is stopped for %2."
For the DE language: "Debitor '%1' wird für %2 gesperrt."
Here is the expression that can be designed.
If a report is processed for the Litware Retail customer on December 17, 2015, in the EN-US culture and the EN-
US language, this formula returns the following text, which can be presented to the user as an exception message:
Nothing to print. Customer Litware Retail is stopped for 12/17/2015.
If the same report is processed for the Litware Retail customer on December 17, 2015, in the DE culture and the
DE language, the formula returns the following text, which uses a different date format:
Nichts zu drucken. Debitor 'Litware Retail' wird für 17.12.2015 gesperrt.
NOTE
The following syntax is applied in ER formulas for labels:
For labels from resources in the Microsoft Dynamics 365 Finance app: @X , where X is the label ID in the
Application Object Tree (AOT)
For labels that reside in ER configurations: @"GER_L ABEL:X", where X is the label ID in the ER configuration
Additional resources
Text functions
GETENUMVALUEBYNAME ER f unct ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The GETENUMVALUEBYNAME function searches for a specific Enum value in the specified enumeration data source by
using the enumeration name that is specified as a String value. If the Enum value is found, the function returns it.
Otherwise, the function returns the null enumeration value.
Syntax
GETENUMVALUEBYNAME (enumeration data source path, enumeration value text)
Arguments
enumeration data source path : Enumeration
The valid path of a data source of one of the following enumeration types:
Electronic reporting (ER) model enumeration
ER format enumeration
Microsoft Dynamics 365 Finance enumeration
enumeration value text : String
A string value that represents the name of a single enumeration value.
Return values
Nullable Enum
The resulting enumeration value.
Usage notes
No exception is thrown if an Enum value isn't found by using the name of the enumeration value that is specified as
a String value.
Example
In the following illustration, the Repor tDirection enumeration is introduced in a data model. Notice that labels are
defined for the enumeration values.
The following illustration shows these details:
The $Direction data source is configured in an ER report. This data source is configured based on the
Repor tDirection model enumeration.
The $IsArrivals expression is designed to use the model enumeration–based $Direction data source as a
parameter of this function.
The value of this comparison expression is TRUE .
Additional resources
Text functions
GUIDVALUE ER f unct ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The GUIDVALUE function converts the specified input of the String type to a data item of the GUID type.
Syntax
GUIDVALUE (input)
Arguments
input : String
The valid path of a data source of the String type.
Return values
GUID
The resulting globally unique identifier (GUID) value.
Usage notes
To do a conversion in the opposite direction (that is, to convert specified input of the GUID data type to a data item
of the String data type), you can use the TEXT function.
Example
You define the following data sources in your model mapping:
A myID data source of the Calculated field type that contains the expression
GUIDVALUE ("AF5CCDAC-F728-4609-8C8B- A4B30B0C0AA0")
A Users data source of the Table records type that refers to the UserInfo table
You can then use an expression such as FILTER (Users, Users.objectId = myID) to filter the UserInfo table by the
objectId field of the GUID data type.
Additional resources
Text functions
JSONVALUE ER f unct ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The JSONVALUE function parses data in JavaScript Object Notation (JSON) format that is accessed at the specified
path, and it extracts a scalar value that has the specified ID. It then returns the extracted scalar value as a String
value.
Syntax
JSONVALUE (input, path)
Arguments
input : String
The valid path of a data source of the String type that contains JSON data.
path : String
The identifier of a scalar value of JSON data.
Return values
String
The resulting text value.
Example
The JsonField data source contains the following data in JSON format: {"BuildNumber":"7.3.1234.1",
"KeyThumbprint":"7366E"} . In this case, the expression JSONVALUE (JsonField, "BuildNumber") returns the
following value of the String data type: "7.3.1234.1" .
Additional resources
Text functions
LEFT ER f unct ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The LEFT function returns a String value that presents the specified number of characters from the start of the
specified string.
Syntax
LEFT (text, number)
Arguments
text : String
A String value that represents the original text.
number : Integer
The number of characters that must be returned from the start of the original text.
Return values
String
The resulting text value.
Example
LEFT ("Sample", 3) returns "Sam" .
Additional resources
Text functions
LEN ER f unct ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The LEN function returns the number of characters in the specified string as an Integer value.
Syntax
LEN (text)
Arguments
text : String
A String value that specifies the text.
Return values
Integer
The resulting numeric value.
Example
LEN ("Sample") returns 6 .
Additional resources
Text functions
LOWER ER f unct ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The LOWER function returns the specified text string as a String value after it has been converted to lowercase
letters.
Syntax
LOWER (text)
Arguments
text : String
A String value that specifies the text.
Return values
String
The resulting text value.
Example
LOWER ("Sample") returns "sample" .
Additional resources
Text functions
MID ER f unct ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The MID function returns a String value that presents the specified number of characters from the specified string,
starting at the specified position.
Syntax
MID (text, starting position, number of characters)
Arguments
text : String
A String value that specifies the text to return characters from.
starting position : Integer
An Integer value that specifies the position of the first character that must be returned from the specified text.
number of characters : Integer
An Integer value that specifies the number of characters that must be returned, starting at the specified starting
position.
Return values
String
The resulting text value.
Usage notes
If the value of the starting position argument is less than 0 (zero), the characters that are returned are counted
from the first position in the specified string.
If the value of the starting position argument exceeds length of the specified string, an empty string is returned.
Example
MID ("Sample", 2, 3) returns "amp" .
Additional resources
Text functions
NUMBERFORMAT ER f unct ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The NUMBERFORMAT function returns a String value that presents the specified number in the specified format and in
an optionally specified culture. For information about the supported formats, see standard and custom.
Syntax 1
NUMBERFORMAT (number, format)
Syntax 2
NUMBERFORMAT (number, format, culture)
Arguments
number : Integer or Real
A numeric value that specifies the number that must be formatted.
format : String
A String value that represents the format.
culture : String
A String value that represents the culture to use for formatting.
Return values
String
The resulting text value.
Usage notes
If the culture isn't defined as an argument of the called function, the context that this function is run in determines
the culture that is used to format numbers.
Example 1
For the EN-US culture, NUMBERFORMAT (0.45, "p") returns "45.00 %" , and NUMBERFORMAT (10.45, "#") returns "10" .
Example 2
NUMBERFORMAT (10/3, "F2", "de") returns 3,33 , whereas NUMBERFORMAT (10/3, "F2", "en-us") returns 3.33 .
Additional resources
Text functions
NUMERALSTOTEXT ER f unct ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The NUMERALSTOTEXT function returns the specified number as a String value after it has been spelled out (that is,
converted to text strings) in the specified language.
Syntax
NUMERALSTOTEXT (number, language, currency, print currency name flag, decimal points)
Arguments
number : Integer or Real
A numeric value that specifies the number that must be spelled out.
language : String
A String value that represents the language code.
currency : String
A String value that represents the currency code.
print currency name flag : Boolean
A Boolean value that indicates whether a currency name must be added to the spelled-out text.
decimal points : Integer
An Integer value that indicates the number of decimal places that the spelled-out text should have.
Return values
String
The resulting text value.
Usage notes
The language code is optional. If it's defined as an empty string, the language code for the running context is used.
The default language code is EN-US . The language code for the running context is defined in a Folder or File
element of the Electronic reporting (ER) format that is running.
The currency code is optional. If it's defined as an empty string, the company currency for the running context is
used.
NOTE
The print currency name flag and decimal points arguments are analyzed only for the following language codes: CS,
ET , HU , LT , LV , PL , and RU . Additionally, the print currency name flag argument is analyzed only for companies where
the country's or region's context supports declension of currency names.
Example 1
NUMERALSTOTEXT (1234.56, "EN-US", "", false, 2) returns "One Thousand Two Hundred Thir ty Four and 56" .
Example 2
NUMERALSTOTEXT (120, "PL", "", false, 0) returns "Sto dwadzie ścia" .
Example 3
NUMERALSTOTEXT (120.21, "RU", "EUR", true, 2) returns " Сто двадцать евро 21 евроцент " .
Additional resources
Text functions
PADLEFT ER f unct ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The PADLEFT function returns a String value of the specified length, where the start of the specified string is padded
with the specified characters.
Syntax
PADLEFT (text, length, padding chars)
Arguments
text : String
A String value that represents the original text.
length : Integer
An Integer value that represents the final number of characters in the padded string.
padding chars : String
The characters to use for padding.
Return values
String
The resulting text value.
Example
PADLEFT ("1234", 10, " ") returns the text string " 1234" .
Additional resources
Text functions
Q RCODE ER f unct ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The QRCODE function returns a Container value that presents the Quick Response code (QR code) image for the
specified string in binary format.
Syntax
QRCODE (text)
Arguments
text : String
A String value that represents the original text.
Return values
Container
The resulting binary stream.
Example
You can configure an Electronic reporting (ER) format to generate an outbound document in Microsoft Office
format (Excel workbooks or Word documents) by using a predefined template. This template may contain a Picture
object (Excel workbook) or a Picture Content Control (Word document) as a placeholder for a QR code image.
You need to add to the configured ER format a Cell element that will be used to fill this placeholder in. To specify
what information will be stored in a QR code, you need to define a binding for this Cell element. For example, you
can configure such binding as containing the following expression:
QRCODE (model.ListOfShelfLabels.LabelText)`
When you run the configured ER format, the text value of the LabelText field of the model.ListOfShelfLabels
data source will be used to generate a QR code image. This image will replace a QR code image placeholder in the
document template using to generate an outbound document. When this image of the generated document is
scanned, it returns the text that was taken from the LabelText field of the model.ListOfShelfLabels data source.
For more information, see Embed images and shapes in documents that you generate by using ER.
Additional resources
Text functions
REPLACE ER f unct ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The REPLACE function returns the specified text string as a String value after all or part of it has been replaced with
another string.
Syntax
REPLACE (text, pattern, replacement, regular expression flag)
Arguments
text : String
The valid path of a data source of the String type.
pattern : String
If the regular expression flag argument is FALSE , this argument contains the text that must be replaced.
If the regular expression flag argument is TRUE , this argument contains a regular expression that defines both a
search pattern and the replacement text.
replacement : String
If the regular expression flag argument is FALSE , this argument contains the text to use as a replacement.
If the regular expression flag argument is TRUE , this argument isn't used.
regular expression flag : Boolean
A Boolean value that indicates whether a regular expression is used to do the replacement.
Return values
String
The resulting text value.
Usage notes
If the regular expression flag argument is TRUE , this function returns the specified string after it has been
changed by applying the regular expression that is specified by the pattern argument. The regular expression is
used to find the characters that must be replaced.
If the regular expression flag argument is FALSE , this function returns the specified string after the set of
characters that are defined in the pattern argument have been replaced by characters of the replacement
argument.
Example 1
REPLACE ("+1 923 456 4971", "[^0-9]", "", true) applies a regular expression that removes all non-numeric
symbols, and it returns "19234564971" .
Example 2
REPLACE ("abcdef", "cd", "GH", false) replaces the pattern "cd" with the string "GH" and returns "abGHef" .
Additional resources
Text functions
RIGHT ER f unct ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The RIGHT function returns a String value that presents the specified number of characters from the end of the
specified string.
Syntax
RIGHT (text, number)
Arguments
text : String
A String value that represents the original text.
number : Integer
The number of characters that must be returned from the end of the original text.
Return values
String
The resulting text value.
Example
RIGHT ("Sample", 3) returns "ple" .
Additional resources
Text functions
TEXT ER f unct ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The TEXT function returns the specified number as a String value after it has been converted to a text string that is
formatted according to the server locale settings of the current application instance.
Syntax
TEXT (number)
Arguments
number : Integer or Real
A number that must be converted to a text string.
Return values
String
The resulting text value.
Usage notes
For values of the Real type, the string conversion is limited to two decimal places.
Example
If the server locale of the Microsoft Dynamics 365 Finance instance is defined as EN-US , TEXT (NOW ()) returns the
current Finance session date, December 17, 2015, as the text string "12/17/2015 07:59:23 AM" . TEXT (1/3)
returns "0.33" .
Additional resources
Text functions
TRANSLATE ER f unct ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The TRANSLATE function returns a String value that contains the result of the character replacement of specified text
in characters of another provided set.
Syntax
TRANSLATE (text , pattern, replacement)
Arguments
text : String
The valid path of a data source of the String type.
pattern : String
The text that must be replaced.
replacement : String
The text to use as a replacement.
Return values
String
The resulting text value.
Usage notes
The TRANSLATE function replaces one character at a time. The function replaces the first character of the text
argument with the first character of the pattern argument and then the second character and follows the same
flow until finished. When a character from the text and pattern arguments match, it is replaced by a character
from the replacement argument that is located in the same position as the character from the pattern argument.
If a character appears multiple times in the pattern argument, the replacement argument mapping that
corresponds to the first occurrence of this character is used.
Example 1
TRANSLATE ("abcdef", "cd", "GH") replaces the "c" character of the specified “abcdef ” text with the "G" character
of the replacement text due to the following:
The "c" character is presented in the pattern text in the first position.
The first position of the replacement text contains the "G" character.
Example 2
TRANSLATE ("abcdef", "ccd", "GH") returns "abGdef" .
Example 3
TRANSLATE ("abccba", "abc", "123") returns "123321" .
Additional resources
Text functions
TRIM ER f unct ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The TRIM function returns the specified text string as a String value after leading and trailing spaces have been
truncated, and after multiple spaces between words have been removed.
Syntax
TRIM (text )
Arguments
text : String
The valid path of a data source of the String type.
Return values
String
The resulting text value.
Example
TRIM (" Sample text ") returns "Sample text" .
Additional resources
Text functions
UPPER ER f unct ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The UPPER function returns the specified text string as a String value after it has been converted to uppercase
letters.
Syntax
UPPER (text )
Arguments
text : String
The valid path of a data source of the String type.
Return values
String
The resulting text value.
Example
UPPER ("Sample") returns "SAMPLE" .
Additional resources
Text functions
List of ER functions in the data collection category
12/19/2019 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
Electronic reporting (ER) data collection functions are used to do counting and summing in an ER format that is
being run, based on data of the output that has already been generated in Text or Xml format. This approach is
used to help improve performance of an ER format that is run, to enter values of running totals in generated
documents, and for other purposes. This topic provides a summary of these functions.
CollectedList This function returns a Record list value that contains the list
of values that were returned by the Collected data key
value property of format elements and collected when the
format elements were used to generate an outbound
document during the format run, and that satisfies the
specified conditions. Each condition consists of a key range
and a key value.
FormatElementName This function returns a String value that represents the name
of the current ER format's element.
SumIF This function returns a Real value that represents the sum of
values that were returned by bindings of format elements and
collected when the format elements were used to generate an
outbound document during the format run, and that satisfies
the specified condition. The condition consists of a key range
and a key value.
F UN C T IO N DESC RIP T IO N
SumIFs This function returns a Real value that represents the sum of
values that were returned by bindings of format elements and
collected when the format elements were used to generate an
outbound document during the format run, and that satisfies
the specified conditions. Each condition consists of a key
range and a key value.
Additional resources
Electronic Reporting overview
Formula designer in Electronic reporting
Electronic reporting formula language
COLLECTEDLIST ER f unct ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The COLLECTEDLIST function a Record list value that contains the list of values that were returned by the Collected
data key value property of format elements and collected when the format elements were used to generate
outbound documents during the format run, and that satisfies the specified conditions. Each condition consists of a
key range and a key value.
Syntax
COLLECTEDLIST (condition 1 range, condition 1 value[, condition 2 range, condition 2 value, …, condition N
range, condition N value])
Arguments
condition 1 range : String
A value that is returned by the expression that has been configured in the Collected data key name property of
an Electronic reporting (ER) format component. This argument is mandatory.
condition 1 value : String
A value that is returned by the expression that has been configured in the Collected data key value property of
an ER format component. This argument is mandatory.
condition N range : String
A value that is returned by the expression that has been configured in the Collected data key name property of
an ER format component. These additional arguments are optional.
condition N value : String
A value that is returned by the expression that has been configured in the Collected data key value property of
an ER format component. These additional arguments are optional.
Return values
Record list
The resulting list of records.
Usage notes
The Collected data key name and Collected data key value properties can be configured for either the
Sequence component or the XML Element component of an ER format that resides under the Common\File
component where the Collect output details option is turned on.
This function returns an empty list when the Collect output details option of the current Common\File
component is turned off.
In condition range arguments, the wildcard character "*" can be used to represent any multiple characters.
In condition value arguments, the wildcard character "*" can be used to represent any multiple characters.
Example
For more information about how to use this function, see the ER Use data of format output for counting and
summing task guide, which is part of the Acquire/Develop IT ser vice/solution components business process.
Additional resources
Data collection functions
COUNTIF ER f unct ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The COUNTIF function returns an Integer value that represents the number of format elements that was collected
when the format elements were used to generate an outbound document during the format run, and that satisfies
the specified condition. The condition consists of a key range and a key value.
Syntax
COUNTIF (condition range, condition value)
Arguments
condition range : String
A value that is returned by the expression that has been configured in the Collected data key name property of
an Electronic reporting (ER) format component.
condition value : String
A value that is returned by the expression that has been configured in the Collected data key value property of
an ER format component.
Return values
Integer
The resulting numeric value.
Usage notes
The Collected data key name and Collected data key value properties can be configured for either the
Sequence component or the XML Element component of an ER format that resides under the Common\File
component where the Collect output details option is turned on.
This function returns a 0 (zero) value when the Collect output details option of the current Common\File
component is turned off.
In the condition range argument, the wildcard character "*" can be used to represent any multiple characters.
In the condition value argument, the wildcard character "*" can be used to represent any multiple characters.
Example
For more information about how to use this function, see the ER Use data of format output for counting and
summing task guide, which is part of the Acquire/Develop IT ser vice/solution components business process.
Additional resources
Data collection functions
COUNTIFS ER f unct ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The COUNTIFS function returns an Integer value that represents the number of format elements that was collected
when the format elements were used to generate an outbound document during the format run, and that satisfies
the specified conditions. Each condition consists of a key range and a key value.
Syntax
COUNTIFS (condition 1 range, condition 1 value[, condition 2 range, condition 2 value, …, condition N range,
condition N value])
Arguments
condition 1 range : String
A value that is returned by the expression that has been configured in the Collected data key name property of
an Electronic reporting (ER) format component. This argument is mandatory.
condition 1 value : String
A value that is returned by the expression that has been configured in the Collected data key value property of
an ER format component. This argument is mandatory.
condition N range : String
A value that is returned by the expression that has been configured in the Collected data key name property of
an ER format component. These additional arguments are optional.
condition N value : String
A value that is returned by the expression that has been configured in the Collected data key value property of
an ER format component. These additional arguments are optional.
Return values
Integer
The resulting numeric value.
Usage notes
The Collected data key name and Collected data key value properties can be configured for either the
Sequence component or the XML Element component of an ER format that resides under the Common\File
component where the Collect output details option is turned on.
This function returns a 0 (zero) value when the Collect output details option of the current Common\File
component is turned off.
In condition range arguments, the wildcard character "*" can be used to represent any multiple characters.
In condition value arguments, the wildcard character "*" can be used to represent any multiple characters.
Example
For more information about how to use this function, see the ER Use data of format output for counting and
summing task guide, which is part of the Acquire/Develop IT ser vice/solution components business process.
Additional resources
Data collection functions
FORMATELEMENTNAME ER f unct ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The FORMATELEMENTNAME function returns a String value that represents the name of the current Electronic reporting
(ER) format's element.
Syntax
FORMATELEMENTNAME ()
Return values
String
The resulting text value.
Usage notes
This function can be called in ER expressions that were configured for the Collected data key name and
Collected data key value properties of an ER format component from the Text group that resides under the
Common\File component where the Collect output details option is turned on.
Example
For more information about how to use this function, see the ER Use data of format output for counting and
summing task guide, which is part of the Acquire/Develop IT ser vice/solution components business process.
Additional resources
Data collection functions
SUMIF ER f unct ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The SUMIF function returns a Real value that represents the sum of values that were returned by bindings of
format elements and collected when the format elements were used to generate an outbound document during
the format run, and that satisfies the specified condition. The condition consists of a key range and a key value.
Syntax
SUMIF (key name for summing, condition range, condition value)
Arguments
key name for summing : String
A value that is returned by the expression that has been configured in the Collected data key name property of
the Electronic reporting (ER) format component for which the value of the binding must be used for summing
purposes.
The Collected data key value property can be configured for either a Sequence component or an XML
Element component of an ER format that resides under the Common\File component where the Collect output
details option is turned on.
Return values
Real
The resulting numeric value.
Usage notes
This function returns a 0 (zero) value when the Collect output details option of the current Common\File
component is turned off.
In the condition range argument, the wildcard character "*" can be used to represent any multiple characters.
In the condition value argument, the wildcard character "*" can be used to represent any multiple characters.
Example
For more information about how to use this function, see the ER Use data of format output for counting and
summing task guide, which is part of the Acquire/Develop IT ser vice/solution components business process.
Additional resources
Data collection functions
SUMIFS ER f unct ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The SUMIFS function returns a Real value that represents the sum of values that were returned by bindings of
format elements and collected when the format elements were used to generate an outbound document during the
format run, and that satisfies the specified conditions. Each condition consists of a key range and a key value.
Syntax
SUMIFS (key name for summing, condition 1 range, condition 1 value[, condition 2 range, condition 2 value, …,
condition N range, condition N value])
Arguments
key name for summing : String
A value that is returned by the expression that has been configured in the Collected data key name property of
the Electronic reporting (ER) format component for which the value of the binding must be used for summing
purposes.
The Collected data key name property can be configured for either a Numeric component or a String
component of an ER format that resides under the Common\File component where the Collect output details
option is turned on.
condition 1 range : String
A value that is returned by the expression that has been configured in the Collected data key name property of
an ER format component. This argument is mandatory.
The Collected data key name property can be configured for either a Sequence component or an XML
Element component of an ER format that resides under the Common\File component where the Collect output
details option is turned on.
condition 1 value : String
A value that is returned by the expression that has been configured in the Collected data key value property of
an ER format component. This argument is mandatory.
The Collected data key value property can be configured for either a Sequence component or an XML
Element component of an ER format that resides under the Common\File component where the Collect output
details option is turned on.
condition N range : String
A value that is returned by the expression that has been configured in the Collected data key name property of
an ER format component. These additional arguments are optional.
The Collected data key name property can be configured for either a Sequence component or an XML
Element component of an ER format that resides under the Common\File component where the Collect output
details option is turned on.
condition N value : String
A value that is returned by the expression that has been configured in the Collected data key value property of
an ER format component. These additional arguments are optional.
The Collected data key value property can be configured for either a Sequence component or an XML
Element component of an ER format that resides under the Common\File component where the Collect output
details option is turned on.
Return values
Real
The resulting numeric value.
Usage notes
This function returns a 0 (zero) value when the Collect output details option of the current Common\File
component is turned off.
In the condition range arguments, the wildcard character "*" can be used to represent any multiple characters.
In the condition value arguments, the wildcard character "*" can be used to represent any multiple characters.
Example
For more information about how to use this function, see the ER Use data of format output for counting and
summing task guide, which is part of the Acquire/Develop IT ser vice/solution components business process.
Additional resources
Data collection functions
List of ER functions in the business domain–specific
category
12/19/2019 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
Electronic reporting (ER) domain-specific functions can be used to perform calculations and data access requests
that are specific to the implementation of Microsoft Dynamics 365 Finance. This topic provides a summary of
these functions.
ConvertCurrency This function returns a Real value that represents the result of
converting the specified monetary amount from the specified
source currency to the specified target currency by using the
settings of the specified company on the specified date.
GetCurrentCompany This function returns a String value that represents the code
for the legal entity (company) that a user is currently signed
in to.
NumSeqValue This function returns a String value that represents the new
generated value of a number sequence, based on the
specified number sequence, scope, and scope ID. The scope
ID equals the company code that is supplied by the context
that the ER format is run under.
RoundAmount This function returns a Real value that represents the result of
rounding the specified amount to the specified number of
decimal places according to the specified rounding rule.
Additional resources
Electronic Reporting overview
Formula designer in Electronic reporting
Electronic reporting formula language
CH_BANK_MOD_10 ER f unct ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The CH_BANK_MOD_10 function returns a String value that represents a creditor reference as an MOD10 expression,
based on the digits of the specified invoice number.
Syntax
CH_BANK_MOD_10 (invoice number digits)
Arguments
invoice number digits : String
A text value that represents the digits of an invoice number.
Return values
String
The resulting text value.
Example
CH_BANK_MOD_10 ("VEND-200002") returns 3 .
Additional resources
Other (business domain–specific) functions
CN_GBT_ADDITIO NALDIM ENSIO NID ER f unct ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The CN_GBT_ADDITIONALDIMENSIONID function returns a String value that represents a single financial dimension ID
that is taken from the specified string. The specified string presents all dimensions as a comma-separated list of IDs.
Syntax
CN_GBT_ADDITIONALDIMENSIONID (text, number)
Arguments
text : String
A String value that presents all dimensions as a comma-separated list of IDs.
number : Integer
An Integer value that defines the sequence code of the requested dimension in the specified string.
Return values
String
The resulting text value.
Example
CN_GBT_AdditionalDimensionID ("AA,BB,CC,DD,EE,FF,GG,HH", 3) returns "CC" .
Additional resources
Other (business domain–specific) functions
CONVERTCURRENCY ER f unct ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The CONVERTCURRENCY function returns a Real value that represents the result of converting the specified monetary
amount from the specified source currency to the specified target currency by using the settings of the specified
company on the specified date.
Syntax
CONVERTCURRENCY (amount, source currency, target currency, date, company)
Arguments
amount : Integer or Real
A numeric value that represents the monetary amount that must be converted.
source currency : String
The code of the source currency.
target currency : String
The code of the target currency.
date : Date
A Date value that represents the date that is used to determine the exchange rate for the conversion.
company : String
A String value that represents the code of a company that supplies the settings that are used for the conversion.
Return values
Real
The resulting numeric value.
Example
CONVERTCURRENCY (1, "EUR", "USD", TODAY(), "DEMF")returns the equivalent of one euro in US dollars on the current
session date, based on settings for the DEMF company.
Additional resources
Other (business domain–specific) functions
CURCREDREF ER f unct ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The CURCREDREF function returns a String value that represents a creditor reference, based on the digits of the
specified invoice number.
Syntax
CURCREDREF (invoice number digits)
Arguments
invoice number digits : String
A text value that represents the digits of an invoice number.
Return values
String
The resulting text value.
Example
CURCredRef ("VEND-200002") returns "2200002" .
Additional resources
Other (business domain–specific) functions
FA_BALANCE ER f unct ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The FA_BALANCE function returns a Container (record) value that consists of data for the fixed asset balance for the
specified fixed asset item, value model code, reporting year, and reporting date.
Syntax
FA_BALANCE (fixed asset code, value model code, reporting year, reporting date)
Arguments
fixed asset code : String
A String value that represents the code of a fixed asset item that the balance is calculated for.
value model code : String
A String value that represents the code of a value model that the balance is calculated for.
reporting year : Enumeration value
An enumeration value of the AssetYear application enumeration that defines a period for the balance calculation.
reporting date : Date
A Date value that defines a date for the balance calculation.
Return values
Container (record)
The resulting record value.
Example
returns the data container of
FA_ BALANCE ("COMP-000001", "Current", AxEnumAssetYear.ThisYear, SESSIONTODAY ())
balances for fixed asset COMP-000001 that has been prepared for the Current value model on the current
application session date.
Additional resources
Other (business domain–specific) functions
FA_SUM ER f unct ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The FA_SUM function returns a Container (record) value that consists of data for the fixed asset amounts for the
specified fixed asset item, value model code, and period of dates.
Syntax
FA_SUM (fixed asset code, value model code, start date, end date)
Arguments
fixed asset code : String
A String value that represents the code of a fixed asset item that the balance is calculated for.
value model code : String
A String value that represents the code of a value model that the balance is calculated for.
start date : Date
A Date value that represents the start date of a period that the fixed asset amounts are calculated for.
end date : Date
A Date value that represents the end date of a period that the fixed asset amounts are calculated for.
Return values
Container (record)
The resulting record value.
Example
FA_SUM ("COMP-000001", "Current", Date1, Date2)returns the data container for fixed asset COMP-000001 that
has been prepared for the Current value model and for a period from Date1 to Date2 .
Additional resources
Other (business domain–specific) functions
GETCURRENTCOMPANY ER f unct ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The GETCURRENTCOMPANY function returns a String value that represents the code for the legal entity (company) that a
user is currently signed in to.
Syntax
GETCURRENTCOMPANY ()
Return values
String
The resulting text value.
Example
GETCURRENTCOMPANY () returns USMF for a user who is signed in to the Contoso Enter tainment System USA
company.
Additional resources
Other (business domain–specific) functions
ISOCREDREF ER f unct ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The ISOCREDREF function returns a String value that represents an International Organization for Standardization
(ISO) creditor reference, based on the digits and alphabetic symbols of the specified invoice number.
Syntax
ISOCREDREF (invoice number digits)
Arguments
invoice number digits : String
A text value that represents the digits of an invoice number.
Return values
String
The resulting text value.
Usage notes
NOTE
To eliminate symbols from alphabets that are't ISO-compliant, the invoice number digits argument must be translated
before it's passed to this function.
Example
ISOCredRef ("VEND-200002") returns "RF23VEND-200002" .
Additional resources
Other (business domain–specific) functions
ISVALIDCHARACTERISO7064 ER f unct ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The ISVALIDCHARACTERISO7064 function returns a Boolean value of TRUE if the specified string represents a valid
international bank account number (IBAN). Otherwise, it returns a Boolean value of FALSE .
Syntax
ISVALIDCHARACTERISO7064 (text)
Arguments
text : String
A text value that represents an IBAN.
Return values
String
The resulting text value.
Example
ISVALIDCHARACTERISO7064 ("AT61 1904 3002 3457 3201") returns TRUE .
ISVALIDCHARACTERISO7064 ("AT61") returns FALSE .
Additional resources
Other (business domain–specific) functions
MOD_97 ER f unct ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The MOD_97 function returns a String value that represents a creditor reference as a MOD97 expression, based on
the digits of the specified invoice number.
Syntax
MOD_97 (invoice number digits)
Arguments
invoice number digits : String
A text value that represents the digits of an invoice number.
Return values
String
The resulting text value.
Example
MOD_97 ("VEND-200002") returns "20000285" .
Additional resources
Other (business domain–specific) functions
NUMSEQ VALUE ER f unct ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The NUMSEQVALUE function returns a String value that represents the new generated value of a number sequence,
based on the specified number sequence, scope, and scope ID. The scope ID equals the company code that is
supplied by the context that the Electronic reporting (ER) format is run under.
Syntax 1
NUMSEQVALUE (number sequence code)
Syntax 2
NUMSEQVALUE (number sequence record ID)
Syntax 3
NUMSEQVALUE (number sequence code, scope type, scope ID)
Arguments
number sequence code : String
A text value that represents the code of the number sequence that a new value is required in.
number sequence record ID : Int64
An Int64 value that represents the record ID of a record in the NumberSequenceTable table that contains the
definition of the number sequence that a new value is required in.
scope type : Enum value
An enumeration value of the ERExpressionNumberSequenceScopeType enumeration that defines the scope of
the number sequence that a new value is required in. The available scope types are Shared , Legal entity , and
Company .
scope ID : String
A String value that identifies the scope, based on the specified scope type.
Return values
String
The resulting text value.
Usage notes
For the Shared scope type, specify an empty string as the scope ID.
For the Company and Legal entity scope types, specify the company code as the scope ID. If you specify an
empty string as the scope ID for these scope types, the current company code is used.
When syntax 1 is used, the number sequence is requested for the Company scope type, and the company code is
supplied by the context that the ER format is run under.
Example 1
In your ER format, you define the AskNumSeq data source of the User input parameter type. This data source
refers to the Description extended data type (EDT). Next, you define the NumSeq data source of the Calculated
field type. This data source contains the expression NUMSEQVALUE (AskNumSeq) . When the NumSeq data source is
called, it returns the new generated value of the number sequence that was specified at runtime by entering its
code in the dialog box. The number sequence is requested for the Company scope type. The company code is
supplied by the context that the ER format is run under.
Example 2
The following data sources are defined in your model mapping:
The LedgerParms data source of the Table type. This data source refers to the LedgerParameters table.
The NumSeq data source of the Calculated field type. This data source contains the expression
NUMSEQVALUE ( LedgerParameters.'numRefJournalNum()'.NumberSequenceId) .
When the NumSeq data source is called, it returns the new generated value of the number sequence that has been
configured in the General ledger parameters for the company that supplies the context that the ER format is run
under. This number sequence uniquely identifies journals and acts as a batch number that links the transactions
together.
Example 3
The following data sources are defined in your model mapping:
The enumScope data source of the Microsoft Dynamics 365 Finance enumeration type. This data source refers
to the ERExpressionNumberSequenceScopeType enumeration.
The NumSeq data source of the Calculated field type. This data source contains the expression
NUMSEQVALUE ("Gene_1", enumScope.Company, "") .
When the NumSeq data source is called, it returns the new generated value of the Gene_1 number sequence that
has been configured for the company that supplies the context that the ER format is run under.
Additional resources
Other (business domain–specific) functions
ROUNDAMOUNT ER f unct ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The ROUNDAMOUNT function returns a Real value as the result of the rounding of the specified number to the nearest
multiple of another number according to the specified rounding rule.
Syntax
ROUNDAMOUNT (number, decimals, round rule)
Arguments
number : Int or Real
A numeric value that must be rounded.
decimals : Int or Real
The number that the value of the number parameter must be rounded to a multiple of.
round rule : Enum value
An enumeration value of the RoundOffType enumeration that defines the rounding rule. This enumeration offers
the following values:
Normal (Ordinary)
Downward (RoundDown)
Rounding-up (RoundUp)
Return values
Real
The resulting numeric value is a multiple of the value specified by the decimals parameter and is closest to the
value specified by the number parameter.
Usage notes
When the number parameter is zero, this function always returns zero.
When the decimals parameter is zero, this function rounds to the default round-off value. When the round rule
parameter is set to RoundOffType.Ordinar y , the default round-off value is 0.01 . Otherwise, the default round-off
value is 1.0 .
When the round rule parameter is set to RoundOffType.Ordinar y , this function rounds to the nearest round-off
amount.
When the round rule parameter is set to RoundOffType.RoundDown , this function rounds towards zero to the
nearest round-off amount.
When the round rule parameter is set to RoundOffType.RoundUp , this function rounds away from zero to the
nearest round-off amount.
When the round rule parameter is set to RoundOffType.Ordinar y , this function behaves like the MROUND Excel
function and the ROUND X++ function.
Remarks
To round a numeric value to a specified number of decimal places, use the ROUND function.
Example
If the model.RoundOff parameter is set to RoundOffType.Ordinar y , ROUNDAMOUNT (7.45, 1.05, model.RoundOff)
returns 7.35.
If the model.RoundOff parameter is set to RoundOffType.RoundDown ,
ROUNDAMOUNT (7.45, 1.05, model.RoundOff) returns 7.35.
Additional resources
Other (business domain–specific) functions
Mathematical functions
TABLENAME2ID ER f unct ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The TABLENAME2ID function returns a numeric representation of the table ID for the specified table name as an
Integer value.
Syntax
TABLENAME2ID (text)
Arguments
text : String
A text value that represents a valid table name.
Return values
Integer
The resulting numeric value.
Usage notes
Execution of this function can have different results in different instances of Microsoft Dynamics 365 Finance, even
if the same company name is used.
Example
TABLENAME2ID ("Intrastat") returns 1510 .
Additional resources
Other (business domain–specific) functions
List of ER functions in the type conversion category
12/19/2019 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
Electronic reporting (ER) type conversion functions can be used to convert values between types. This topic
provides a summary of these functions.
IntValue This function returns an Int value that represents the specified
string.
NumberValue This function returns a Real value that is converted from the
specified String value. During the conversion, the specified
decimal and digit grouping separators are considered.
Value This function returns a Real value that is converted from the
specified String value.
F UN C T IO N DESC RIP T IO N
List This function returns a Record list value as a new list that is
created from specified arguments of the Container (record)
type.
ListOfFields This function returns a Record list value that is created based
on the structure of a given argument of the Enumeration or
Container (record) type.
Split This function splits the specified String value into substrings
and returns the result as a new Record list value.
F UN C T IO N DESC RIP T IO N
GuidValue This function converts the specified input of the String type to
a data item of the GUID type.
Additional resources
Electronic Reporting overview
Formula designer in Electronic reporting
Electronic reporting formula language
INT64VALUE ER f unct ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The INT64VALUE function returns an Int64 value that represents the specified string.
Syntax 1
INT64VALUE (text)
Syntax 2
INT64VALUE (number)
Arguments
text : String
A text value that must be converted to an Int64 number.
number : Real or Integer
A numeric Real or Integer value that must be converted to an Int64 number.
Return values
Int64
The resulting numeric value.
Usage notes
Any decimal places are truncated.
Example 1
INT64VALUE ("22565422744") returns the Int64 value 22565422744 .
Example 2
INT64VALUE ( VALUE("22565422744.77")) returns the Int64 value 22565422744 .
Additional resources
Type conversion functions
INTVALUE ER f unct ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The INTVALUE function returns an Int value that represents the specified string.
Syntax 1
INTVALUE (text)
Syntax 2
INTVALUE (number)
Arguments
text : String
A text value that must be converted to an Int number.
number : Real or Integer
A numeric Real or Integer value that must be converted to an Int number.
Return values
Int
The resulting numeric value.
Usage notes
Any decimal places are truncated.
Example 1
INTVALUE ("100.77") returns the Int value 100 .
Example 2
INTVALUE (-100.77) returns the Int value -100 .
Additional resources
Type conversion functions
NUMBERVALUE ER f unct ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The NUMBERVALUE function returns a Real value that is converted from the specified String value. During the
conversion, the specified decimal and digit grouping separators are considered.
Syntax
NUMBERVALUE (text, decimal separator, digit grouping separator)
Arguments
text : String
A text value that must be converted to a Real number.
decimal separator : String
A decimal separator. It's used to separate the integer and fractional parts of a decimal number.
digit grouping separator : String
A digit grouping separator. It's used as the thousands separator.
Return values
Real
The resulting numeric value.
Example
NUMBERVALUE( "1 234,56", ",", " ") returns 1234.56 .
Additional resources
Type conversion functions
VALUE ER f unct ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The VALUE function returns a Real value that is converted from the specified string.
Syntax
VALUE (text)
Arguments
text : String
A string value that must be converted to a numeric value.
Return values
Real
The resulting numeric value.
Usage notes
Commas and dot characters (.) are considered decimal separators, and a leading hyphen (-) is used as a negative
sign. An exception is thrown at runtime if the specified string contains other non-numeric characters.
Example 1
VALUE ("1 234,56") throws an exception.
Example 2
VALUE ("1234,56") returns 1234.56 .
Additional resources
Type conversion functions
DATETIM EVALUE ER f unct ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The DATETIMEVALUE function returns a DateTime value that is converted from a given text value in the specified
format and in an optionally specified culture to a date/time value. For information about the supported formats,
see standard and custom.
Syntax 1
DATETIMEVALUE (text, format)
Syntax 2
DATETIMEVALUE (text, format, culture)
Arguments
text : String
Text that represents the value to format.
format : String
The format of the given text.
culture : String
The culture that is used for formatting of the given text.
Return values
DateTime
The resulting date/time value.
Usage notes
When the culture isn't defined as an argument of the called function, the value of culture is defined by the calling
context. For example, if the DATETIMEVALUE function is called by using syntax 1 in an Electronic reporting (ER)
format for a FILE element that is configured to use the German culture, the conversion will be done by using the
German culture. The default culture value is EN-US .
Example 1
DATETIMEVALUE ("21-Dec-2016 02:55:00", "dd-MMM-yyyy hh:mm:ss") returns 2:55:00 AM on December 21, 2016 ,
based on the specified custom format and the default application's EN-US culture.
Example 2
DATETIMEVALUE ("21-Gen-2016 02:55:00", "dd-MMM-yyyy hh:mm:ss", "IT") returns 2:55:00 AM on December 21,
2016 , based on the specified custom format and culture.
However, DATETIMEVALUE ("21-Gen-2016 02:55:00", "dd-MMM-yyyy hh:mm:ss", "EN-US") throws an exception to inform
the user that the specified string isn't recognized as a valid date/time value for the specified culture.
Additional resources
Date and time functions
DATETODATETIM E ER f unct ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The DATETODATETIME function returns a DateTime value that is converted from a given date value to a date/time
value in Coordinated Universal Time (Greenwich Mean Time [GMT]).
Syntax
DATETODATETIME (date)
Arguments
date : Date
A date value that represents the date to convert.
Return values
DateTime
The resulting date/time value.
Example 1
returns the date of the current Microsoft Dynamics 365 Finance
DATETODATETIME (CompInfo. 'getCurrentDate()')
session, December 24, 2015, as 12/24/2015 12:00:00 AM . In this example, CompInfo is an Electronic reporting
(ER) data source of the Finance and Operations/Table type, and it refers to the CompanyInfo table.
Example 2
DATETODATETIME (DATEVALUE ("2019-11-12T16:00:00.0000000-07:00", "O")) returns the date/time value 11/12/2019
12:00:00 AM .
Additional resources
Date and time functions
DATEVALUE ER f unct ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The DATEVALUE function returns a Date value that is converted from a given text value in the specified format and
in an optionally specified culture to a date value. For information about the supported formats, see standard and
custom.
Syntax 1
DATEVALUE (text, format)
Syntax 2
DATEVALUE (text, format, culture)
Arguments
text : String
Text that represents the value to format.
format : String
The format of the given text.
culture : String
The culture that is used for formatting of the given text.
Return values
Date
The resulting date value.
Usage notes
When the culture isn't defined as an argument of the called function, the value of culture is defined by the calling
context. For example, if the DATEVALUE function is called by using syntax 1 in an Electronic reporting (ER) format for
a FILE element that is configured to use the German culture, the conversion will be done by using the German
culture. The default culture value is EN-US .
Example 1
DATEVALUE ("21-Dec-2016", "dd-MMM-yyyy") returns the date value December 21, 2016 , based on the specified
custom format and the default application's EN-US culture.
Example 2
DATEVALUE ("21-Gen-2016", "dd-MMM-yyyy", "IT") returns the date value Januar y 21, 2016 , based on the specified
custom format and culture.
However, DATEVALUE ("21-Gen-2016", "dd-MMM-yyyy", "EN-US") throws an exception to inform the user that the
specified string isn't recognized as a valid date for the specified culture.
Additional resources
Date and time functions
LIST ER f unct ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The LIST function returns a Record list value that consists of a new list of records that is created from the specified
arguments.
Syntax
LIST (record 1 [, record 2, …, record N])
Arguments
record 1 : Container (record)
A reference to a data source of the Record data type. This argument is required.
record N : Container (record)
A reference to a data source of the Record data type. These additional arguments are optional.
Return values
Record list
The resulting list of records.
Usage notes
The structure of the list that is created contains only the fields that are presented in the structure of every record
that is mentioned in the arguments.
Example
You enter data source Record 1 of the Container type. This data source contains the following nested fields of the
Calculated field type:
Code: This field contains an expression that returns a value of the String type.
Amount: This field contains an expression that returns a value of the Real type.
You then enter data source Record 2 of the Container type. This data source contains the following nested fields of
the Calculated field type:
Amount: This field contains an expression that returns a value of the Real type.
IsValid: This field contains an expression that returns a value of the Boolean type.
In this case, the expression LIST('Record 1', 'Record 2') returns a new list that contains two records. The structure
of this list consists of a single Amount field of the Real type, because this field is the only field that is presented in
every argument of the called function.
Additional resources
List functions
LISTOFFIELDS ER f unct ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The LISTOFFIELDS function returns a Record list value that is created based on the structure of the specified
argument of the Enumeration or Container (record) type.
Syntax 1
LISTOFFIELDS (path)
Syntax 2
LISTOFFIELDS (path, language)
Arguments
path : Data source reference
The valid reference path of a data source of one of the following data types:
Model enumeration
Format enumeration
Application enumeration
Container (record)
language : String
Text that represents a language code.
Return values
Record list
The resulting list of records.
Usage notes
The list that is created consists of records that have the following fields:
Name (String data type)
Label (String data type)
Description (String data type)
IsTranslated (Boolean data type)
If the path argument refers to a data source of the Container (Record) type, for every field of the referenced
container record, a new record is added to the list that is created. For every record that is created, the Name field
returns the name of the field of the referenced container record that the current record was created for.
If the path argument refers to a data source of one of the Enumeration types, for every enumeration value of the
referenced enumeration, a new record is added to the list that is created. For every record that is created, the
Name field returns the value of the referenced enumeration that the current record was created for, the
Description field returns the description of that enumeration, and the Label field returns the label of that
enumeration.
At runtime, when syntax 1 is used, the Label and Description fields must return values that are based on the
language settings of the Electronic reporting (ER) format that is running:
If the labels and descriptions for the requested language are available, the Label and Description fields return
values that are based on that language, and the IsTranslated field returns True .
If the labels and descriptions for the requested language aren't available, the Label and Description fields
return values that are based on the default EN-US language, and the IsTranslated field returns False .
At runtime, when syntax 2 is used, the Label and Description fields must return values that are based on the
language that is defined as the second argument of the called function:
If the labels and descriptions for the requested language are available, the Label and Description fields return
values that are based on that language, and the IsTranslated field returns True .
If the labels and descriptions for the requested language aren't available, the Label and Description fields
return values that are based on the EN-US language, and the IsTranslated field returns False .
Example 1
In the following illustration, an enumeration is introduced in an ER data model.
The following illustration shows the result when the designed format is run.
NOTE
Based on the language settings of the parent FILE and FOLDER format elements, translated text for labels and descriptions
is entered in the output of the ER format.
Example 2
You use the Calculated field data source type to configure enumType_de and enumType_deCH data sources for
the enumType data model enumeration:
enumType_de = LISTOFFIELDS (enumType, "de")
enumType_deCH = LISTOFFIELDS (enumType, "de-CH")
In this case, you can use the following expression to get the label of the enumeration value in Swiss German, if that
translation is available. If the Swiss German translation isn't available, the label is in German.
IF (NOT (enumType_deCH.IsTranslated), enumType_de.Label, enumType_deCH.Label)
Additional resources
List functions
SPLIT ER f unct ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The SPLIT function splits the specified input string into substrings and returns the result as a new Record list
value.
Syntax 1
SPLIT (input, length)
This syntax is used to split the specified input string into substrings, each of which has the specified length.
Syntax 2
SPLIT (input, delimiter)
This syntax is used to split the specified input string into substrings, based on the specified delimiter.
Arguments
input : String
The text to split.
length : Integer
The maximum length of a single substring.
delimiter : String
A delimiter that is used to separate substrings.
Return values
Record list
The resulting list of records.
Usage notes
The record structure of the list that is returned consists of the Value field of the String type. Every record of the list
that is returned contains generated substrings in this field.
If the delimiter argument is empty, the new list that is returned consists of one record that has the Value field of
the String type. This field contains the input text.
If the input argument is empty, a new empty list is returned. If either the input or delimiter argument is
unspecified (null), an application exception is thrown.
Example 1
SPLIT ("abcd", 3) returns a new list that consists of two records that have the Value field of the String type. The
Value field in the first record contains the text "abc" , and the Value field in the second record contains the text
"d" .
Example 2
SPLIT ("XAb aBy", "aB") returns a new list that consists of three records that have the Value field of the String
type. The Value field in the first record contains the text "X" , the Value field in the second record contains the text
" " , and the Value field in the third record contains the text "y" .
Additional resources
List functions
STRINGJOIN ER f unct ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The STRINGJOIN function returns a String value that consists of concatenated values of the specified field from the
specified list. The values can be separated by the specified delimiter.
Syntax
STRINGJOIN (list, field, delimiter)
Arguments
list : Record list
The valid path of a data source of the Record list data type.
field : Field
The valid path of a field of the String data type in the specified list.
delimiter : String
A delimiter that is used to separate substrings.
Return values
String
The resulting text value.
Example
If you enter SPLIT("abc" , 1) as data source DS , the expression STRINGJOIN (DS, DS.Value, "-") returns "a-b-c" .
Additional resources
List functions
CHAR ER f unct ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The CHAR function returns a String value that presents a single character that is referenced by the specified
Unicode number.
Syntax
CHAR (number)
Arguments
number : Integer
A number that corresponds to an expected single character.
Return values
String
The resulting text value.
Usage notes
The string that this function returns depends on the encoding that is selected in the parent FILE format element.
For a list of the supported encodings, see Encoding class.
Example
CHAR (255) returns "ÿ" .
Additional resources
Text functions
GUIDVALUE ER f unct ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The GUIDVALUE function converts the specified input of the String type to a data item of the GUID type.
Syntax
GUIDVALUE (input)
Arguments
input : String
The valid path of a data source of the String type.
Return values
GUID
The resulting globally unique identifier (GUID) value.
Usage notes
To do a conversion in the opposite direction (that is, to convert specified input of the GUID data type to a data item
of the String data type), you can use the TEXT function.
Example
You define the following data sources in your model mapping:
A myID data source of the Calculated field type that contains the expression
GUIDVALUE ("AF5CCDAC-F728-4609-8C8B- A4B30B0C0AA0")
A Users data source of the Table records type that refers to the UserInfo table
You can then use an expression such as FILTER (Users, Users.objectId = myID) to filter the UserInfo table by the
objectId field of the GUID data type.
Additional resources
Text functions
NUMBERFORMAT ER f unct ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The NUMBERFORMAT function returns a String value that presents the specified number in the specified format and in
an optionally specified culture. For information about the supported formats, see standard and custom.
Syntax 1
NUMBERFORMAT (number, format)
Syntax 2
NUMBERFORMAT (number, format, culture)
Arguments
number : Integer or Real
A numeric value that specifies the number that must be formatted.
format : String
A String value that represents the format.
culture : String
A String value that represents the culture to use for formatting.
Return values
String
The resulting text value.
Usage notes
If the culture isn't defined as an argument of the called function, the context that this function is run in determines
the culture that is used to format numbers.
Example 1
For the EN-US culture, NUMBERFORMAT (0.45, "p") returns "45.00 %" , and NUMBERFORMAT (10.45, "#") returns
"10" .
Example 2
NUMBERFORMAT (10/3, "F2", "de") returns 3,33 , whereas NUMBERFORMAT (10/3, "F2", "en-us") returns 3.33 .
Additional resources
Text functions
Q RCODE ER f unct ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The QRCODE function returns a Container value that presents the Quick Response code (QR code) image for the
specified string in binary format.
Syntax
QRCODE (text)
Arguments
text : String
A String value that represents the original text.
Return values
Container
The resulting binary stream.
Example
You can configure an Electronic reporting (ER) format to generate an outbound document in Microsoft Office
format (Excel workbooks or Word documents) by using a predefined template. This template may contain a
Picture object (Excel workbook) or a Picture Content Control (Word document) as a placeholder for a QR code
image. You need to add to the configured ER format a Cell element that will be used to fill this placeholder in. To
specify what information will be stored in a QR code, you need to define a binding for this Cell element. For
example, you can configure such binding as containing the following expression:
QRCODE (model.ListOfShelfLabels.LabelText)`
When you run the configured ER format, the text value of the LabelText field of the model.ListOfShelfLabels
data source will be used to generate a QR code image. This image will replace a QR code image placeholder in the
document template using to generate an outbound document. When this image of the generated document is
scanned, it returns the text that was taken from the LabelText field of the model.ListOfShelfLabels data source.
For more information, see Embed images and shapes in documents that you generate by using ER.
Additional resources
Text functions
TEXT ER f unct ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The TEXT function returns the specified number as a String value after it has been converted to a text string that is
formatted according to the server locale settings of the current application instance.
Syntax
TEXT (number)
Arguments
number : Integer or Real
A number that must be converted to a text string.
Return values
String
The resulting text value.
Usage notes
For values of the Real type, the string conversion is limited to two decimal places.
Example
If the server locale of the Microsoft Dynamics 365 Finance instance is defined as EN-US , TEXT (NOW ()) returns
the current Finance session date, December 17, 2015, as the text string "12/17/2015 07:59:23 AM" . TEXT (1/3)
returns "0.33" .
Additional resources
Text functions
Manage ER model mapping in separate ER
configurations
3/18/2020 • 5 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The following steps explain how a user assigned to the System administrator or Electronic reporting developer role
can manage Electronic reporting (ER) model mappings in separate ER configurations. In this task guide, you will
create required ER configurations for the sample company, Litware, Inc. To complete this task guide, you must first
complete the steps in the task guide, "ER Create a configuration provider" and mark it as active.
Because ER configurations are shared among companies, you can complete this task guide using the company data
set of your choice. The functionality for this task guide is available if you have installed one of the following
hotfixes: https://fix.lcs.dynamics.com/Issue/Resolved?kb=4012872 for the Dynamics AX 7.0 version or
https://fix.lcs.dynamics.com/Issue/Resolved?kb=4012871 for the Dynamics 365 for Operations version.
1. Go to Organization administration > Workspaces > Electronic reporting.
Verify that the configuration provider for the sample company Litware, Inc. is available and marked as
active. If you don't see this configuration provider, you must first complete the steps in the task guide,
Create a configuration provider and mark it as active.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
To complete the steps in this procedure, you must first complete the procedure, ER Create a configuration provider
and mark it as active.
This procedure shows how a model's root item can be selected as a data model definition for inserting an Electronic
reporting (ER) format configuration that is designed to generate electronic documents. In this procedure, you will
add a new ER format configuration for the sample company Litware, Inc.
This procedure is intended for users who have the System administrator or Electronic reporting developer role
assigned to them. The steps can be completed by using any dataset.
1. Go to Organization administration > Workspaces > Electronic reporting.
Make sure that the configuration provider for the sample company, Litware, Inc., is available and marked
as Active. If you don't see this configuration provider, complete the steps in the procedure, Create a
configuration provider and mark it as active.
2. Click Reporting configurations.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This topic describes enhanced filtering capabilities for Regulatory Configuration Services (RCS) Global repository,
which have been improved to include the following filters:
Countr y/region - based on ISO country codes
Tags - for functional/feature area; Industry; Business document type
You can apply filters, either individually or in groups, to find specific or related configurations. For example, to find
all configurable business documents related to vendor invoices, you can apply the Business document type filter.
You can further refine a search by selecting the country code and clicking Apply filter .
The following example shows the results when filtering on Business document type .
Filtered results can be imported into users RCS or Dynamics 365 Finance environment, either individually or as a
set (by selecting the group of configurations) and clicking Impor t .
Generate reports by adding content as raw XML
10/1/2019 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
You can use the new RAW XML format element to design Electronic reporting (ER) formats that generate outgoing
documents in XML format. In some cases, you might prefer to add raw XML data to these reports for one or more
of the following reasons:
It's more convenient to use raw XML for the original design and ongoing maintenance of a report, because the
XML structure can be automatically generated by executing a runtime expression. Therefore, multiple bindings
don't have to be determined for multiple format elements at design time. It is possible when the data sources
that you're using contain information that can be used to make XML elements while the report is generated.
No other method can be used to fill the report with XML content that was previously received and stored in the
system. For example, the XML response that is generated might have to contain the content of an XML request
that was sent earlier.
No other method can be used to insert characters into the generated document based on their numeric codes.
For some languages and characters, codes of this type don't exist. Examples include the Greek letter rho (ρ) and
HTML entity codes such as é for an e that has an acute accent (é).
NOTE
Be aware that the framework doesn't control whether the XML content that is placed to the generated document by using
the RAW XML format element is correct.
To learn more about this feature, play the ER Use raw XML data to generate XML repor ts (Par t 1: Design
data model) and ER Use raw XML data to generate XML repor ts (Par t 2: Design and run repor t) task
guides, which are part of the 7.5.4.3 Acquire/Develop IT ser vice/solution components (10677) business
process, and can be downloaded from the Microsoft Download Center. These task guides walk you through the
process of configuring an ER format to insert raw XML data into generated files.
Cross-company data sources in Electronic reporting
(ER)
2/5/2020 • 4 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
You can design Electronic reporting (ER) formats to generate outgoing documents in various formats. When a
document is generated, an ER format calls data sources that were configured in a corresponding ER model
mapping. To configure access to application tables for record retrieval, you can use ER data sources of the Table
records type. When the accessing table is a shared table (that is, a table where data is saved without a company
identifier), this data source returns all records. When the accessing table is a company-dependent table (that is, a
table where data is saved per company), this data source returns only the records that have been saved for the
current company (that is, the company context that the ER format is running under).
Every data source of the Table records type in a model mapping can be now marked as a cross-company data
source. Therefore, you can use data sources of the Table records type to access cross-company data in application
tables.
If you mark a data source as cross-company, the following behavior occurs:
For a data source that refers to any shared table except CompanyInfo, the data source returns all records that
exist in the referenced table.
For a data source that refers to the CompanyInfo table, even though CompanyInfo is a shared table, the data
source returns the records that contain the identifier of a company from the defined scope.
For any company-dependent table, the data source returns the records of the referenced table that contain the
identifier of a company from the defined scope.
In the system query dialog box, when the Ask for quer y option is turned on for any data source that is marked as
cross-company, you can manually select one or more companies to include on the Company range tab.
IMPORTANT
Like other filters, the company filter is persisted as a last-used value for queries when you run an ER format. The filter isn't
automatically changed if you change the cross-company value for a data source. To use a different cross-company value for
another data source, delete the corresponding user-specific selection.
For every data source that is marked as cross-company, you can select the records that you want by using the
FILTER and WHERE functions in ER expressions. The dataAreaID field can also be used as a company identifier.
Currently, the dataAreaID field is limited to the following types of conditions when the FILTER function is used:
Only conditions that have a single dataAreaID field comparison are supported.
Only comparisons that have expressions that don't depend on records list items are allowed.
Therefore, the following expression is valid.
FILTER (MyTable, MyTable.dataAreaID = $StringUserInputParameter)
While shown below expressions will not pass the validation:
FILTER (MyTable, MyTable.dataAreaID = MyTable2RecordsList.MyField)
FILTER (MyTable,
OR(
MyTable.dataAreaID = $StringUserInputParameter1,
MyTable.dataAreaID = $StringUserInputParameter2
)
)
By default, the scope includes all companies of the current application. However, it can be restricted. To restrict the
scope of cross-company data access for a single ER format, assign a specific organization hierarchy to the format.
When a hierarchy is defined for an ER format, only records for legal entities that are presented in the assigned
hierarchy are returned, even though the format calls cross-company data sources. When a reference to a hierarchy
that no longer exists is defined for an ER format, the default scope is applied, and the format calls cross-company
data sources. In this situation, records for all application companies are returned.
Note that when the Use draft option is turned on for the assigned to a single ER format organization hierarchy, the
legal entities from the draft version of this hierarchy will be used to identify the scope for cross-company data
sources. If the draft version does not exist, the legal entities from the last published version of this organization
hierarchy will be used for this.
Note that when the Use draft option is turned off for the assigned to a single ER format organization hierarchy, the
legal entities from the last published version of this organization hierarchy will be used to identify the scope for
cross-company data sources. Date effectiveness of organization hierarchies is not supported yet in the ER
framework.
The hierarchy can be assigned to a format in a specific page that can be accessed from the ER workspace or by
using the Organization administration > Electronic repor ting > Legal entity filter for formats menu
item. To access the page, the Maintain legal entity filters for format privilege
(ERMaintainFormatMappingLegalEntityFilters) must be granted to a user. The scope restriction of hierarchy-based
legal entities for the format is applied in addition to the restriction that the user can manually specify in the system
query dialog box. The intersection of these restrictions is used when the format is run.
To learn more about this feature, play the task guide, ER Access records of company dependent tables in
cross-company mode , which is part of the 7.5.4.3 Acquire/Develop IT service/solution components (10677)
business process, and can be downloaded from the Microsoft Download Center. This task guide walks you through
the process of configuring an ER model mapping and ER format to access application tables in cross-company
mode.
Download the following files to complete the task guide:
ER model configuration - CrossCompanyDataAccessModel.xml
ER format configuration - CrossCompanyDataAccessFormat.xml
ER Design a configuration for generating reports in
OPENXML format (November 2016)
3/18/2020 • 4 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This topic explains how a user in the System Administrator or Electronic Reporting Developer role can create a new
Electronic reporting (ER) configuration that contains a template for generating electronic documents in OPENXML
format. This configuration will be used for processing vendor payments.
In this example, you will create a configuration for sample company, Litware, Inc. These steps can be performed in
GBSI company.
To complete these steps, you must first complete the steps in the "Create a configuration provider and mark it as
active" procedure. You must also have an Excel file which will be imported when creating the template. This file can
be accessed from the Template of Payment Report.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The following steps explain how a user in either the System administrator or Electronic reporting developer role
can configure an Electronic reporting (ER) formats to generate reports as Microsoft Word files. These steps can be
performed in the GBSI company.
To complete these steps, you must first complete the steps in the "Create an ER configuration for generating
reports in OPENXML format" task guide. In advance, you must also download and save the following templates
locally for the sample report:
Template of Payment Report
Bounded Template of Payment Report
This procedure is for a feature that was added in Microsoft Dynamics 365 for Operations version 1611.
Upload the Word template with custom XML part bounded to content
controls
1. Click Delete .
2. Click Yes . Add a new template. If you competed the steps in the previous subtask, select the Word document
that you prepared and saved locally. Otherwise, select the SampleVendPaymDocReportBounded.docx MS Word
template that you downloaded earlier.
3. Click New .
4. Click File .
5. Click Browse . Navigate to and select SampleVendPaymDocReportBounded.docx that you previously
downloaded. Click OK .
6. In the Template field, select the document that you downloaded in the previous step.
7. Click Save .
8. Close the page.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The procedures in this topic are examples that show how a user in either the System administrator role or the
Electronic repor ting developer role can configure an Electronic reporting (ER) format that generates reports as
PDF files by using fillable PDF documents as report templates. These steps can be performed in any company of
Dynamics 365 Finance or Regulatory Configuration Services (RCS).
Prerequisites
Before you begin, you must have one of the following types of access, depending on the service that you use to
complete the procedures in this topic:
Access to Finance for one of the following roles:
Electronic reporting developer
Electronic reporting functional consultant
System administrator
Access to RCS for one of the following roles:
Electronic reporting developer
Electronic reporting functional consultant
System administrator
You must also complete the Create configuration providers and mark them as active procedure.
Finally, you must download the following files from CustomerSource.
C O N T EN T DESC RIP T IO N F IL E N A M E
NOTE
If a repository of the LCS type already exists, skip the remaining steps of this procedure.
4. Select Add .
5. In the drop-down dialog box, in the Configuration repositor y type field group, select the LCS option.
6. Select Create repositor y .
7. Select OK .
Get the model configurations provided by Microsoft
1. On the left side of the Configuration repositories page, select the Show filters button (the funnel
symbol).
2. Add a filter for a value of LCS in the Type field, and use the begins with operator.
3. Select Apply .
4. Select Open .
5. In the tree, select Intrastat model .
6. On the Versions FastTab, select version 1 .
NOTE
If the Impor t button on the Versions FastTab is unavailable, skip the remaining steps of this procedure.
7. Select Impor t .
8. Select Yes to confirm the import of the selected version of the Intrastat model model configuration.
Create a new format configuration
1. In the Electronic repor ting workspace, select the Repor ting configurations tile.
2. In the tree, select Intrastat model .
3. Select Create configuration .
NOTE
If the Create configuration button isn't available, you must turn on design mode on the Electronic repor ting
parameters page that can be opened from the Electronic repor ting workspace.
4. In the drop-down dialog box, in the New field group, select the Format based on data model Intrastat
option.
5. In the Name field, enter Intrastat repor t (PDF) .
6. In the Description field, enter Intrastat repor t in PDF format .
NOTE
The active configuration provider is automatically entered. This provider will be able to maintain this configuration.
Although other providers can use this configuration, they won't be able to maintain it.
7. Optional: In the Format type field, you can select a specific format of electronic document. If you select
PDF , at design time, the ER Operations designer will offer just the format elements that are applicable only
to documents that are generated in PDF format (PDF\File , PDF\PDF Merger , etc.). If you leave this field
blank, a format of electronic document will be specified at design time in the ER Operations designer when a
first format element will be added. For example, if you add the Excel\File as the first format element, the ER
Operations designer will offer you just the format elements that are applicable only to documents that are
generated in Excel format (Excel\Cell , Excel\Range , etc.). format.
8. Select Create configuration .
A new ER format configuration is created. You can use the draft version of this configuration to store the ER format
component that is designed to generate electronic documents in PDF format.
Design the format of an electronic document
Next, in the ER format configuration that you created, you will design the ER format that generates the Intrastat
control report in PDF format. The first page of this report must show a summary of the report and details of the
foreign trade transactions that are reported on. The other pages must show only details of the foreign trade
transactions that are reported on. Because the report pages that are generated must have different layouts, two
different templates in PDF format will be used in the ER format.
In any PDF viewer, open the PDF templates that you downloaded. Notice that each template contains multiple fields
that must be filled in. In each template, details of foreign trade transactions are presented as 42 rows, each of which
has nine fields. The row number appears at the end of each field's name (for example, Date 1 …Date 42 and
Commodity 1 …Commodity 42 ).
The following illustration shows the PDF template for the first page of the report.
The following illustration shows the PDF template for other pages of the report.
1. On the Configurations page, select Designer .
2. Select Add root .
3. In the drop-down dialog box, in the tree, select PDF > PDF Merger .
When you select the PDF Merger element as the root element of the format, all PDF documents that are
generated at run time will be merged into a single final PDF document. If you need only one PDF template to
generate all the required documents by using the ER format that you design, you can select PDF file as the
root element.
4. In the Name field, enter Output .
5. In the Language preferences field, select User preference . The report will be generated in the preferred
language of the user who runs it.
6. In the Culture preferences field, select User preference . Values and dates that are presented on the
pages of the report will be formatted based on the preferred locale of the user who runs the report.
7. Select OK .
8. On the Action Pane, on the Impor t tab, select Impor t from PDF .
When a fillable PDF document is imported as a template for this ER format, all the required ER format
elements (PDF file , Field group , and Field elements) are automatically created in the format that is
designed, based on the structure of the PDF document that is imported.
9. Select Browse . Navigate to and select the IntrastatRepor tTemplate1.pdf file that you downloaded earlier
as a prerequisite.
10. Select OK .
The selected file is loaded, and the Template field in the Impor t from PDF dialog box is filled in.
11. Set the Group fields option to Yes . If the selected PDF document contains any field groups, they will be
used to group the ER format elements that are created. A Field group format element will be created for
this purpose.
If this option is set to No , the required ER format elements will be created as a flat list of elements that are
nested under the PDF File format element that is created.
12. Select OK .
13. In the tree, expand Output .
Notice that the PDF File component has been automatically created to manage the creation of the first page
of the report that is generated at run time.
14. In the tree, expand Output > PDF File .
Notice that the structured list of format elements has been automatically created in this ER format, based on
the structure of the fillable PDF document that you imported earlier.
15. In the tree, select Output > PDF File .
16. In the Name field, enter Page 1 .
This format element will be used to generate the first page of the Intrastat control report. That page will
show a summary of the report and details of foreign trade transactions.
If you leave the Language preferences field blank, the Language preferences setting of the parent PDF
Merger element will determine the language of the report that is generated by using this format element.
You can select another value to override the setting of the parent element.
If you leave the Culture preferences field blank, the Culture preferences setting of the parent PDF
Merger element will determine the locale of the report that is generated by using this format element. The
locale determines the format of values and dates on the pages of the report. You can select another value to
override the setting of the parent element.
17. On the Action Pane, select the Impor t tab. Notice that the Update from PDF button has become available
for selected format element, PDF File .
You can use this button to import the updated PDF template to the edited format. When the updated PDF
template is imported, the list of format elements will be changed accordingly:
For any new fields in the updated PDF template, new format elements are created in the edited ER format.
If the updated PDF template no longer includes fields that correspond to any existing format elements in
the edited ER format, those format elements are deleted from the ER format.
18. On the Format tab, select Attachments .
Notice that the imported PDF document is attached to the edited ER format.
19. Continue to design this format by importing the second PDF template, adding necessary bindings to data
sources, and so on.
20. Select Save .
21. Close the page.
22. Select Delete .
23. Select Yes .
To learn how new PDF Merger , PDF File , Field group and Field format elements can be used to generate
documents in PDF format, you can import and analyze the sample ER format.
Import the format configuration
Next, you will import the sample ER format that you previously downloaded to generate the Intrastat control
report in PDF format. The first page of the report must show a summary of the report and details of the foreign
trade transactions that are reported on. The other pages must show only details of the foreign trade transactions
that are reported on.
1. On the Configurations page, select Exchange > Load from XML file .
2. Select Browse . Navigate to and select the Intrastat repor t (PDF).version.1.1.xml file that you downloaded
earlier as a prerequisite.
3. Select OK .
Note that the Field format element is used to fill in an individual field of a fillable PDF document that is defined as
a template of the parent PDF File format element. The binding of the PDF File format element or its nested
elements, if it has any nested elements, specifies the value that is entered in corresponding PDF fields. Different
properties of the Field format element can be used to specify which PDF field is filled in by an individual format
element:
On the Format tab, the Name attribute of the format element
On the Mapping tab, the Name expression of the format element
Because both properties are optional for a Field format element, the following rules are applied to specify the
target PDF field:
If the Name attribute is blank, and the Name expression returns an empty string at run time, an exception is
thrown at run time to notify the user that a PDF field can't be found in the PDF template that is being used to fill
in the PDF document.
If the Name attribute is defined, and the Name expression is blank, the PDF field that has the same name as the
Name attribute of the format element is filled in.
If the Name attribute is defined, and the Name expression is configured, the PDF field that the same name as
the value that is returned by the Name expression of the format element is filled in.
NOTE
A PDF check box can be filled in as selected in the following ways:
When the corresponding Field format element is bound to a data source field of the Boolean data type that has the
True value
When the corresponding Field format element contains a nested String format element that is bound to a data source
field that has a text value of 1 , True , or Yes
NOTE
If you previously set the Default for model mapping option to Yes for the Intrastat model configuration or
another configuration that is nested under the Intrastat model configuration, set this option to No .
When the Default for model mapping option is set to Yes , the imported Intrastat (impor t from Excel)
ER format is assigned as the default data source for the Intrastat repor t (PDF) format configuration. Then,
when the Intrastat repor t (PDF) format configuration is run, the content of the Excel workbook that is
parsed by the Intrastat (impor t from Excel) ER format will simulate foreign trade transactions that must
be reported. The following illustration shows an example of an Excel workbook.
Run the format configuration
1. On the Configurations page, in the tree, select Intrastat model > Intrastat repor t (PDF) .
2. Select Run .
3. Select Browse . Navigate to and select the Intrastat sample data.xlsx file that you downloaded earlier as a
prerequisite.
4. Select OK .
5. In the Repor t direction field, select Both to fill in all transactions from the imported Excel workbook in the PDF
report that is generated.
6. Select OK .
7. Review the PDF document that is generated.
The follow illustration shows an example of the first page of the report that is generated.
The follow illustration shows an example of another page of the report that is generated.
Additional resources
ER Design a configuration for generating reports in OPENXML format (November 2016)
Design ER configurations to generate reports in Word format
Embed images and shapes in documents that you
generate by using ER
10/1/2019 • 6 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
You can use the Electronic reporting (ER) tool to design reports that you can run to generate required electronic
documents. You can use Microsoft Excel or Microsoft Word documents to specify the layout of a report. The ER
Operations designer lets you attach the Excel or Word document as a template for the report. The named elements
in the attached template are associated with the format elements of the ER report. Format elements of the report
are bound to data sources. These elements specify the data that will be entered, at run time, in the documents that
are generated.
This new functionality goes beyond existing ER capabilities for creating documents in Microsoft Office formats. For
more information, play the following task guides. You can find these task guides under the 7.5.4.3 Acquire/Develop
IT service/solution components (10677) business process.
ER Design a configuration for generating reports in OPENXML format
ER Design a configuration for generating reports in Microsoft WORD format
NOTE
You can manually specify the format definition instead of importing it. When you save your changes, the format will be
validated.
Next, bind the CELL element of the ER format to the field from the format's data source that provides the picture's
data in binary format at run time. When an ER data model is used as a format's data source, the data type of the
field must be CONTAINER . Currently, an ER data model field that has the CONTAINER data type can be bound to
several types of data sources that return images in binary format. You can access a field in a data table and a file
that is attached to the data table's record by using the Document management framework.
IMPORTANT
If you want to fill the image placeholder in the document that you're creating by using the Excel template, the ER format
must contain the CELL element that refers to the named picture element in the Excel template. Otherwise, no image
placeholder will appear in the report's output. If the binding of a CELL element returns no data at run time, the
document that is generated will show the image placeholder from the template. To hide an image in the document that
you're generating, define a CELL element, and specify that the Enabling expression should return a value of FALSE .
In the Excel template, use a unique name for every element. These elements include pictures and cells. If you duplicate an
element name, the content of the report that is generated will be ambiguous and confusing.
NOTE
You can manually specify the format definition instead of importing it. When you save your changes, the format will be
validated.
Next, bind the CELL element in the ER format to the field from the format's data source that provides the data at
run time. This data can be converted to a text string. When the CELL element in the ER format refers to a shape
element in the Excel template that supports text, the text that is provided through this binding at run time will be
shown in a shape in the document that is generated.
IMPORTANT
If you want to use the Excel template that includes the shape placeholder to generate a new document, the ER format
must contain a CELL element that refers to the Excel shape element. Otherwise, no shape placeholder will appear in the
report's output. If the binding of a CELL element that refers to the named Excel shape element returns no data at run
time, the document that is generated will show the text of the shape placeholder from the Excel template. To hide a shape
in the document that you're generating, define a CELL element that refers to the named Excel shape element, and
specify that the Enabling expression should return a value of FALSE .
In the Excel template, use a unique name for every element. These elements include shapes and cells. If you duplicate an
element name, the content of the report that is generated will be ambiguous and confusing.
First, you must configure the Word document's layout. Use the Picture Content control to create a placeholder
for the embedded image. To access this control, you must first make the Developer tab visible on the Word
Ribbon.
Next, delete the Excel template from the ER format, and attach the Word template document. Update the reference
to the template, and save your changes. The structure of the current ER format is saved to the Word template as a
new custom XML part that is named Repor t .
Next, save the Word template for the current ER format to your local computer. Open the template, and open the
XML Mapping pane. Find the custom XML part that is named Repor t , and then point to the CELL element in the
ER report that is bound to a data source that returns an image in binary format. Map this XML part's item to the
selected Picture Content control, and save your changes.
Finally, delete the Word template from the ER format, and attach the Word document that includes the mapped
custom XML parts. Update the format reference to the template, and save the changes that you made to this ER
format.
More information
To become familiar with the details of this feature, play the set of task guides, ER Make repor ts in MS Office
formats with embedded images . These task guides show how you can embed the images of a company logo
and an authorized person's signature in the payment checks that are generated by using the ER tool in Excel and
Word documents.
The following table lists the files that are required in order to complete the ER Make repor ts in MS Office
formats with embedded images task guides. Download and save the files to your local computer.
DESC RIP T IO N F IL E N A M E
Microsoft Word template for printing payment checks Cheque template Word.docx
DESC RIP T IO N F IL E N A M E
The following graphic provides an example of the test printout for a payment check that is generated from the
Excel template.
Design configurations to generate reports in Office
format that have embedded images
3/18/2020 • 3 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
To complete the steps in this procedure, first complete the procedure, "ER Create a configuration provider and mark
it as active." This procedure explains how to design Electronic reporting (ER) configurations to generate a Microsoft
Excel or Word document that contains embedded images. In this procedure, you will create the required ER
configurations for the sample company, Litware, Inc. These steps can be completed using the USMF dataset. This
procedure is created for users with the assigned role of system administrator or electronic reporting developer.
Before you begin, download and save the files listed in the Help topic, Embed images and shapes in documents that
you generate by using ER. The files are: Model for cheques.xml, Cheques printing format.xml, Company logo.png,
Signature image.png, Signature image 2.png, and Cheque template Word.docx.
Verify prerequisites
1. Go to Organization administration > Workspaces > Electronic reporting.
2. Make sure that the configuration provider for the sample company, Litware, Inc., is available and marked as
Active. If you don't see this configuration provider, complete the steps in the procedure, "Create a configuration
provider and mark it as active."
3. Click Reporting configurations.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
To complete these steps, you must first complete the steps in the "ER Make reports in MS Office formats with
embedded images (Part 1: Set up parameters)" task guide.
This procedure shows how to design Electronic reporting (ER) configurations to generate electronic documents that
contain embedded images in Microsoft Excel and Microsoft Word. In this example, you will review ER
configurations for the sample company Litware, Inc.
This procedure is intended for users who have the System administrator or Electronic reporting developer role
assigned to them. The steps can be completed by using the USMF data set.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The following steps explain how a user playing either 'System administrator' or 'Electronic reporting developer'
role can design Electronic reporting (ER) configurations to generate electronic documents in MS office formats
(Excel and Word) containing embedded images.
In this example, you will use created ER configurations for sample company, 'Litware, Inc.'. To complete these steps,
you must first complete the steps in the "ER Make reports in MS Office formats with embedded images (Part 2:
Review configurations)" task guide. These steps can be performed in 'USMF' company.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The Electronic reporting (ER) tool is used to generate business documents in an electronic format. To generate a
business document, you must create an ER format, and then use the ER designer to define the layout of the
business document and specify the data that should be included in it. You can then run the ER format to generate
the business document.
The ER tool can be used to generate business documents as Microsoft Excel files. You can use an Excel document as
a template for these documents. To define the document layout in the ER designer, you can import the contents of
the Excel document that you want to use as a template into the defined ER format. For more details, and to practice
this scenario, play the task guide ER Design a configuration for generating repor ts in OPENXML format
(part of the 7.5.4.3 Acquire/Develop IT service/solution components (10677) business process).
If you edit the Excel document that is used as a template for a business document, new ER functionality lets you
reapply the updated template to the ER format. The ER format is then updated so that it adheres to the updated
template. For more details about this functionality, play the task guide ER Modify a format by reapplying an
Excel template (part of the 7.5.5.3 Acquire/Develop IT service/solution components (10683) business process). In
the task guide step where you import an updated template, use the modified template of the Payment Report Excel
file, SampleVendPaymWsReport2, as a template.
Define the dependency of ER configurations on other
components
3/18/2020 • 6 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
To complete these steps, you must first complete the steps in the task guide, ER Manage model mapping
configurations, and you must have access to Microsoft Dynamics Lifecycle Services (LCS).
This procedure shows how to design an Electronic reporting (ER) configuration and specify its dependency from
other software components, so that you can help guarantee that the configuration is correctly downloaded to a
specific version of Finance and Operations. In this example, you will create required ER configurations for the
sample company Litware, Inc.
This procedure is intended for users who have the System administrator or Electronic reporting developer role
assigned to them. The steps can be performed in any company, because ER configurations are shared among
companies.
1. Go to Organization administration > Electronic reporting > Configurations.
Make sure that the configurations tree contains the 'Sample data model' configuration and subordinate
items. Otherwise, complete the steps in the task guide, ER Manage model mapping configurations, and
then start this guide again.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The following steps explain how either a system administrator or electronic reporting developer can configure an
Electronic reporting (ER) model to use financial dimensions as a data source for ER reports. These steps can be
performed in any company.
To complete these steps, you must first complete the steps in the procedure, "Create a configuration provider and
mark it as active".
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The following steps explain how a user assigned to the system administrator or electronic reporting developer role
can configure an Electronic reporting (ER) model to use financial dimensions as a data source for ER reports. These
steps can be performed in any company.
To complete these steps, you must first complete the steps in the "ER Use financial dimensions as a data source
(Part 1: Design data model" procedure.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The following steps explain how a user assigned to the system administrator or electronic reporting developer role
can configure an Electronic reporting (ER) model to use financial dimensions as a data source for ER reports. These
steps can be performed in any company.
To complete these steps, you must first complete the steps in the "ER Use financial dimensions as a data source
(Part 2: Model mapping)" procedure.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The following steps explain how a user assigned to the system administrator or electronic reporting developer role
can configure an Electronic reporting (ER) model to use financial dimensions as a data source for ER reports. These
steps can be performed in the DEMF company.
To complete these steps, you must first complete the steps in the "ER Use financial dimensions as a data source
(Part 3: Design the report)" procedure. You must also configure default document types on the Electronic reporting
parameters page. Default document types are also set when you download and import any ER configuration.
Run report
1. Go to Organization administration > Electronic reporting > Configurations.
2. In the tree, expand 'Financial dimensions sample model'.
3. In the tree, select 'Financial dimensions sample model\Ledger journal report'.
4. Click Run.
5. In the Dimension name field, In the Dimension name field, enter or select a value..
To select all dimensions in the current company, enter the following:
BusinessUnit;CostCenter;Department;ItemGroup;MainAccount;Project
6. Expand the Records to include section.
7. Click Filter.
8. Select the row for the Ledger journal table and the Journal batch number field.
9. In the Criteria field, type '00057'.
10. Click OK.
11. Click OK.
Review the generated output. Note that for each transaction of the selected batch, the financial
dimensions from the corresponding dimensions set are presented. Run this report and select different
dimensions to see that the report is not dependent on the number of selected dimensions or the number
of dimensions configured for this instance.
ER Configure format to do counting and summing
(Part 1 - Create format)
3/18/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific
business functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The following steps explain how a user assigned to the system administrator or electronic reporting developer
role can configure an Electronic reporting (ER) format to do counting and summing based on data of the already
generated text output. These steps can be performed in any company.
To complete these steps, you must first complete the steps in the "Create a configuration provider and mark it as
active" procedure.
This procedure is for a feature that was added in Dynamics 365 for Operations version 1611.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The following steps explain how a user assigned to the system administrator or electronic reporting developer role
can configure an Electronic reporting (ER) format to do counting and summing based on data of the already
generated text output. These steps can be performed in any company.
To complete these steps, you must first complete the steps in the "ER Configure format to do counting and
summing (Part 1: Create format)" procedure.
This procedure is for a feature that was added in Dynamics 365 for Operations version 1611.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The following steps explain how a user assigned to the system administrator or electronic reporting developer role
can configure an Electronic reporting (ER) format to do counting and summing based on data of the already
generated text output. These steps can be performed in any company.
To complete these steps, you must first complete the steps in the "ER Configure format to do counting and
summing (Part 2: Configure computations)" procedure.
This procedure is for a feature that was added in Dynamics 365 for Operations version 1611.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The following steps explain how a user assigned to the system administrator or electronic reporting developer role
can configure an Electronic reporting (ER) format to do counting and summing based on data of the already
generated text output. These steps can be performed in the DEMF company.
To complete these steps, you must first complete the steps in the "ER Configure format to do counting and
summing (Part 3: Use computations to make the output)" procedure.
This procedure is for a feature that was added in Dynamics 365 for Operations version 1611.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The following steps explain how a user assigned to the system administrator or electronic reporting developer role
can configure an Electronic reporting (ER) format to generate reports as OPENXML worksheets (Excel) files in which
the required columns can be created dynamically as horizontally expandable ranges. These steps can be performed
in any company.
To complete these steps, you must first complete these three task guides:
"ER Create a configuration provider and mark it as active"
"ER Use financial dimensions as a data source (Part 1: Design data model)"
"ER Use financial dimensions as a data source (Part 2: Model mapping)"
You must also download and save a local copy of the template with a sample report found here, Sample Financial
Dimensions Web Service Report.
This procedure is for a feature that was added in Dynamics 365 for Operations version 1611.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The following steps explain how a user assigned to the system administrator or electronic reporting developer role
can configure an Electronic reporting (ER) format to generate reports as OPENXML worksheets (Excel) files in which
the required columns can be created dynamically as horizontally expandable ranges. These steps can be performed
in the DEMF company.
To complete these steps, you must first complete the steps in the "ER Use horizontally expandable ranges to
dynamically add columns in Excel reports (Part 1: Design format)" procedure.
This procedure is for a feature that was added in Dynamics 365 for Operations version 1611.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The following steps explain how a user assigned to the system administrator or electronic reporting developer role
can configure an Electronic reporting (ER) format to use Document Management files (attachments) in ER output.
These steps can be performed in any company.
To complete these steps, you must first complete the steps in the "Create a configuration provider and mark it as
active" procedure.
This procedure is for a feature that was added in Dynamics 365 for Operations version 1611.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The following steps explain how a user assigned to the System Administrator or Electronic Reporting Developer
role can configure an Electronic reporting (ER) format to use Document Management files (attachments) in ER
output. These steps can be performed in any company.
To complete these steps, you must first complete the steps in the "ER Use Document Management files in format
outputs (Part 1: Prepare data model)" task guide.
This procedure is for a feature that was added in Dynamics 365 for Operations version 1611.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The following steps explain how a user assigned to the system administrator or electronic reporting developer role
can configure an Electronic reporting (ER) format to use Document Management files (attachments) in ER output.
These steps can be performed in any company.
To complete these steps, you must first complete the steps in the "ER Use Document Management files in format
outputs (Part 2: Extend data model" procedure.
This procedure is for a feature that was added in Dynamics 365 for Operations version 1611.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The following steps explain how a user assigned to the system administrator or electronic reporting developer role
can configure an Electronic reporting (ER) format to use Document Management files (attachments) in ER output.
These steps can be performed in the DEMF company.
To complete these steps, you must first complete the steps in the "ER Use Document Management files in format
outputs (Part 3: Create format)" procedure.
This procedure is for a feature that was added in Dynamics 365 for Operations version 1611.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The following steps explain how a user assigned to the system administrator or electronic reporting developer role
can configure an Electronic reporting (ER) format to use Document Management files (attachments) in ER output.
These steps can be performed in the DEMF company.
To complete these steps, you must first complete the steps in the "ER Use Document Management files in format
outputs (Part 4: Run format)" procedure.
This procedure is for a feature that was added in Dynamics 365 for Operations version 1611.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
You can design Electronic reporting (ER) formats that can be used in the application to generate outgoing electronic
documents. You can also design ER formats that parse incoming electronic documents and use the content in those
documents to update application data.
With this functionality, a single ER format can be used to generate outgoing electronic documents and then update
the application data. This feature can be used in the following scenarios:
To prevent repeated usage of application data in subsequent processes you can mark an application’s data
immediately after it is used to generate electronic documents. For example, you can mark payment transactions
as already processed immediately after they have been included in a generated payment message.
To store the processing details of electronic documents that have been generated using ER logic. For example, a
unique payment message identification that is generated using the ER expression. The expression is based on
information entered in the ER dialog box when the ER format is run to generate documents.
To learn more about this feature, play the set of ER Generate documents with application data update Task guides
(part of the 7.5.4.3 Acquire/Develop IT service/solution components (10677) business process), which walk you
through the details of Intrastat reporting and archiving. The following files are required to complete certain steps in
these Task guides. Download and save these files to your local machine.
ER data model configuration: Intrastat (model)
ER model mapping configuration: Intrastat (mapping)
ER format configuration: Intrastat (format)
Import configurations to generate documents that
have application data
3/18/2020 • 4 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
To complete the steps in this procedure, you must first complete the procedure, "ER Create a configuration provider
and mark it as active".
The steps in this procedure explain how to design Electronic reporting (ER) configurations to generate an electronic
document. In this procedure, you will import the required ER configurations that have been created for the sample
company, Litware, Inc. and use them to generate electronic documents. This procedure is created for users with the
assigned role of system administrator or electronic reporting developer. These steps can be completed using the
DEMF dataset. Before you begin, download and save the files listed in the Help topic, "Generate electronic
documents and update application data with ER tool" (generate-electronic-documents-update-application-data/).
The files are Intrastat (model).xml, Intrastat (mapping).xml, and Intrastat (format).xml.
1. Go to Organization administration > Workspaces > Electronic reporting.
Make sure that the configuration provider for the sample company, Litware, Inc., is available and marked
as Active. If you don't see this configuration provider, complete the steps in the procedure, Create a
configuration provider and mark it as active.
The steps in this procedure show how to use ER capabilities to complete an application data update and
how to generate an Intrastat report. The details of the reporting process are archived in the application
tables. Currently, when the Intrastat reporting process is activated from the Intrastat form, archiving is
done based on the logic programmed in the existing source code. In this procedure, you will configure a
similar yet simplified logic of application data using only the ER framework. No changes will be made to
the source code.
Import ER configurations
1. Click Reporting configurations.
2. Click Exchange.
3. Click Load from XML file.
Import the ER model configuration that contains the data model that is designed to be used as the data
source for generating the Intrastat report. Later, you will extend this data model definition to use it for an
application data update to archive details of the Intrastat reporting process.
Click Browse and select the Intrastat (model).xml file.
4. Click OK.
5. In the tree, select 'Intrastat (model)'.
6. Click Designer.
7. In the tree, expand 'For outgoing document'.
8. In the tree, expand 'For outgoing document\Transactions'.
Review the structure of the imported data model. Note that the root item 'For outgoing document' is
defined to specify the data flow for getting data from the application and using it as data source to
generate the Intrastat report. The 'Transactions (Record list)' is used to represent the list of Intrastat
transactions that must be reported. Because you will archive reported commodity codes, the unique
identifier of a single commodity code 'Commodity rec id (Int64)' is needed in this data flow.
9. Close the page.
10. Click Exchange.
11. Click Load from XML file.
Import the ER mapping configuration that specifies the data flow for getting data from the application
and then using it to generate the Intrastat report. Later, you will extend this model mapping definition to
get data from the Intrastat report and use it for the application data update to archive details of Intrastat
reporting process.
Click Browse and select the Intrastat (mapping).xml file.
12. Click OK.
13. In the tree, expand 'Intrastat (model)'.
14. In the tree, select 'Intrastat (model)\Intrastat (mapping)'.
15. Click Designer.
Note that the current model mapping contains the value 'To model' in the Direction field. This means that
this model mapping has been designed for getting data from the application and storing it in the data
model.
16. Click Designer.
17. In the tree, expand 'List'.
18. In the tree, expand 'Transactions= List'.
Review the structure of the model mapping that uses the data model that is filtered based on the root
item, 'For outgoing document.' Note that the added data source, 'List' provides access to the required
application data, which is the list of records from the Intrastat table.
19. Close the page.
20. Close the page.
21. Click Exchange.
22. Click Load from XML file.
Import the ER format configuration that specifies the layout of the Intrastat report and the process of
populating data to the report. Later, you will extend this format definition to put data from the Intrastat
report in to the data model and then use it to update application data to archive the details of Intrastat
reporting process.
Click Browse and select the Intrastat (format).xml file.
23. Click OK.
24. In the tree, select 'Intrastat (model)\Intrastat (format)'.
25. Click Designer.
26. Click Expand/collapse.
27. In the tree, select 'File\Declaration'.
28. Click the Mapping tab.
29. In the tree, select 'File'.
Review the structure of the format used to generate the Intrastat report. Note that it is designed to
generate an XML file by populating data from the data model, which is based on the root item 'For
outgoing document'. Verify that the name for generated file is defined on the user dialog form ('fn' data
source is used for that).
30. Close the page.
Design configurations to generate documents that
have application data
3/18/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
To complete the steps in this procedure, you must first complete the procedure, ER Generate documents with
application data update (Part 1: Import configurations).
The steps in this procedure explain how to design Electronic reporting (ER) configurations to generate an electronic
document. In this procedure, you run the ER imported format configuration that has been created for the sample
company, Litware, Inc. to generate electronic documents.
This procedure is created for users with the assigned role of system administrator or electronic reporting developer.
These steps can be completed using the DEMF dataset.
Before you begin, change the country context for the DEMF company from DEU (Germany) to BEL (Belgium). Click
Organization administration > Organizations > Legal entities to update the country code in the primary address of
the legal entity DEMF. Restart your application.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
To complete the steps in this procedure, you must first complete the procedure, "ER Generate documents with
application data update (Part 2: Generate documents)".
The steps in this procedure explain how to design Electronic reporting (ER) configurations to generate an electronic
document and update application data. In this procedure, you will modify the ER configurations to start using them
to generate electronic documents and update application data. This procedure is created for users with the assigned
role of system administrator or electronic reporting developer. These steps can be completed using the DEMF
dataset.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
To complete the steps in this procedure, you must first complete the procedure, "ER Generate documents with
application data update (Part 3: Modify model and mapping)".
The steps in this procedure explain how to design Electronic reporting (ER) configurations to generate an electronic
document and update application data. In this procedure, you will modify the ER configurations to not just use
them to generate electronic documents, but also to update application data. This procedure is created for users with
the assigned role of system administrator or electronic reporting developer. These steps can be completed using
the DEMF dataset.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
To complete the steps in this procedure, you must first complete the procedure, "ER Generate documents with
application data update (Part 4: Modify format)".
The steps in this procedure explain how to design Electronic reporting (ER) configurations to generate an electronic
document and update application data. In this procedure, you execute the ER format configuration to generate the
Intrastat report and update application data for archiving details of the reporting process.
This procedure is created for users with the assigned role of system administrator or electronic reporting developer.
These steps can be completed using the DEMF dataset. Before you begin, make sure that the country context for the
DEMF company is BEL (Belgium).
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
C O N T EN T DESC RIP T IO N F IL E
C O N T EN T DESC RIP T IO N F IL E
If you have not yet played the following task guide, ER Create required configurations to import data from an
external file in the current Finance and Operations application, download the following file.
C O N T EN T DESC RIP T IO N F IL E
NOTE
You can define different field separators for different sequence elements to parse specific file lines in which
fields are separated by different characters.
The Custom delimiter field can be left blank for certain sequence elements. An empty field means that
any file line that is parsed by using this sequence will be parsed like a .txt (fixed length text) file line.
In the Quotation application field, select the value when you expect that some fields of any line that
is parsed by this sequence element will be enclosed by certain characters. The following options are
available:
All – Include quotation characters in the parsing line for any field of any data type. If you select
this, define the desired characters in the Quotation mark field that will be used for fields
quotation. For example, the double quotes character.
Text only – Include quotation characters in the parsing line for any field of the String data type. If
you select this, define the desired characters in the Quotation mark field that will be used for
fields quotation.
Derive from parent only – Use the same Quotation application field settings that are defined
for the parent sequence element. Note that the Quotation mark field setting will be taken from
the settings of the parent sequence element as well.
None – Exclude quotation characters in the parsing line for any field of any data type.
Complete your format's design by adding nested elements for the added sequence element that represents
the set of fields of the parsing line. Add the required elements of the Text group, such as String , DateTime ,
and Numeric , to describe the structure of the parsing line as a set of individual fields of different data types.
For each format element that represents an individual field of the parsing line, by default, nothing is
selected in the Multiplicity field. This means that the value of the field in the parsing line is
considered required. In the Multiplicity field, select Zero one to consider the value of this field in
the parsing line as optional.
NOTE
The data source item isMatch is available when you map this format to ER data model for each String ,
DateTime , or Numeric format element with the option Zero one selected in the Multiplicity field. When
this field contains a value, isMatch will return True . If there is no value in the field, it will return False .
To learn more about this feature, play the task guide, ER Create a format configuration to impor t data from
an external CSV file (part of the 7.5.4.3 Acquire/Develop IT service/solution components (10677) business
process), which walks through how the incoming CSV file can be parsed by using the ER format to update
application data.
Download the following files to complete the task guide mentioned above.
T IT L E F IL E N A M E
Download the following file that is required to complete the task guide mentioned above if you have not played the
task guide, ER Create required configurations to impor t data from an external file for electronic
repor ting in the current Finance and Operations application.
T IT L E F IL E N A M E
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The following steps explain how a user in the System administrator or Electronic reporting developer role can
design Electronic reporting (ER) configurations to import data in to the application from an external file. In this
example, you will create the required ER configurations for the sample company, Litware, Inc. To complete these
steps, you must first complete the steps in the Task guide, "ER Create a configuration provider and mark it as
active." These steps can be completed using the USMF data set. You must also download and save the following
files locally using links from the Electronic reporting overview topic (https://go.microsoft.com/fwlink/?
linkid=852550): 1099model.xml, 1099format.xml, 1099entries.xml, 1099entries.xlsx.
ER offers business users the ability to configure the process of importing external data files to tables in either .XML
or .TXT format. First, an abstract data model and an ER data model configuration must be designed to represent the
data that you are importing. Next, you need to define the structure of the file that you are importing and the
method that you will use to port the data from the file to the abstract data model. The ER format configuration that
maps to the designed data model must be created for that abstract data model. Then, the data model configuration
must be extended with a mapping that describes how the imported data is persisted as abstract data model data
and how it is used to update tables. The ER data model configuration must be appended with a new model
mapping that describes the binding of the data model to the application's destinations.
The following scenario shows the ER data import capabilities. This includes vendor transactions that are tracked
externally and then imported to be reported later in Vendor's settlement for 1099's.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
To import data from an incoming file by using the Electronic reporting (ER) framework, you must configure an ER
format that supports the import and then run a model mapping of the To destination type that uses that format
as a data source. To import data, you must navigate to the file that you want to import. The incoming file can be
manually selected by user. With the new ER capability to support importing data from Microsoft SharePoint, this
process can be configured as unattended. You can use ER configurations to perform data import from files that are
stored in Microsoft SharePoint folders. This topic explains how to complete the import from SharePoint. The
examples use vendor transactions as business data.
Prerequisites
To complete the examples in this topic, you must have the following access:
Access one of the following roles:
Electronic reporting developer
Electronic reporting functional consultant
System administrator
Access to the instance of Microsoft SharePoint Server that is configured for use with the application.
ER format and model configurations for 1099 payments.
Create required ER configurations
Play the ER Impor t data from a Microsoft Excel file task guides, which are part of the 7.5.4.3
Acquire/Develop IT ser vice/solution components (10677) business process. These task guides walk you
through the process of designing and using ER configurations to interactively import vendor transactions from
Microsoft Excel files. For more information, see Parse incoming documents in Excel format. After you have
completed the task guides, you will have the following set up.
ER configurations
ER model configuration, 1099 Payments model
ER format configuration, Format for impor ting vendors' transactions from Excel
Sample of the incoming file for data import
Excel file 1099impor t-data.xlsx , with vendor transactions that should be imported.
NOTE
The format for importing vendor transactions is selected as the default model mapping. Therefore, if you run a model
mapping of the 1099 Payments model, and that model mapping is of the To destination type, the model mapping runs
this format to import data from external files. It then uses that data to update application tables.
NOTE
The ER source is defined for each application company individually. By contrast, ER configurations are shared across
companies.
When you delete an ER source setting for an ER format, all connected file states (see below) are also deleted by
confirmation.
4. The model mapping can run unattended in batch mode. In this case, every time that a batch runs this ER
format, a single file is imported from the configured file sources.
When a file is successfully imported from the SharePoint folder, it's deleted from that folder and moved to
folder for successful imported files or to the folder to imported files with warnings. Otherwise it's moved to
folder for failed files or stays in this folder if the folder for failed files isn't set up.
5. Enter the voucher ID, such as V-00001 , and then select OK .
6. On the File states for the sources page, select Refresh to refresh the page.
7. In the Files section, review the list of files. The Sources log for the impor t format section provides the
history of the Excel file import. Because this file was successfully imported, it's marked as Deleted in the
SharePoint folder.
8. Review the Files impor t source (main) SharePoint folder. The Excel files that were successfully imported
have been deleted from this folder.
9. Select Accounts payable > Periodic tasks > Tax 1099 > Vendor settlement for 1099s .
10. In the From date and To date fields, enter appropriate values. Then select Manual 1099 transactions .
The vendor transactions that were imported from the Excel files on SharePoint for voucher V-00001 , are
presented on the page.
Prepare an Excel file for import
1. Open the Excel file that you previously used. In row 3 column 1, add a vendor code that doesn't exist in the
application. Add additional false vendor information to the row.
2. Upload the updated Excel file that contains vendors transactions to the Files impor t source (main)
SharePoint folder.
3. Open the ER configurations tree, select the 1099 Payment model , and expand the list of ER model
components.
4. Select the name of the model mapping to update the model mapping so that the incorrect vendor code is
considered an error during the data import process.
5. Select Designer .
6. On the Validations tab, you must change the post-validation action for the validation rule that was
configured to evaluate whether the vendor account that is imported exists in the application. Update the
value of the Post-validation action field to Stop execution , save your changes, and close the page.
The Sources log for the impor t format section indicates that the import process failed and that the file is in the
Files error SharePoint folder (the Is deleted check box is not selected). If you fix this file on SharePoint by adding
the proper vendor code and then move it to the Files import source (main) SharePoint folder, you can import the
file again.
11. Select Accounts payable > Periodic tasks > Tax 1099 > Vendor settlement for 1099s , enter
appropriate values in the From date and To date fields, and then select Manual 1099 transactions .
Only transactions for voucher V-00001 are available. No transactions for voucher V-00002 are available
even though the error for the last imported transaction has been found in the Excel file.
Import files in XML format with optional attributes
3/12/2020 • 3 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
You can design Electronic reporting (ER) formats to parse incoming electronic documents in XML format. Certain
attributes of XML elements can be specified in designed ER format as optional. It will allow you to handle incoming
files with and without such XML attributes properly. You can then use the content from these files to update
application data.
To learn more about this feature, complete the steps in the topic, (RCS) Import files in XML format with optional
attributes, which is part of the 7.5.4.3 Acquire/Develop IT service/solution components (10677) business process.
You can download this task guide and associated sample files from the Microsoft Download Center.
C O N T EN T DESC RIP T IO N F IL E
Task guide RCS Import files in XML format with optional attributes.axtr
The following steps explain how a user in the System Administrator or Electronic Reporting Developer role can
design ER format configuration to import files in XML format containing optional attributes. To complete these
steps, you must first complete the steps in the procedure, Create configuration providers and mark them as active.
Before you begin, download and save locally the IncomingDocumentToLearnHowToHandleOptionalAttributes.xml
file from Microsoft Download Center (https://go.microsoft.com/fwlink/?linkid=874684 ).
1. Go to Organization administration > Workspaces > Electronic repor ting .
2. Make sure that the configuration provider for the sample company, Litware, Inc., is available and marked as
Active . If you don't see this configuration provider, complete the steps in the topic, Create configuration
providers and mark them as active.
3. Click Repor ting configurations .
NOTE
The selected file has not been imported as the format design assumes the existence of 'id' attribute for the 'document'
element, but the imported file contains no such attribute.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The following steps explain how a user in the System Administrator or Electronic Reporting Developer role can
design ER format configuration to import files in XML format containing optional attributes. To complete these
steps, you must first complete the steps in the "Create a configuration provider and mark it as active" procedure.
Before you begin, download and save locally the IncomingDocumentToLearnHowToHandleOptionalAttributes.xml
file from Microsoft Download Center.
1. Go to All workspaces > Electronic repor ting .
2. Make sure that the configuration provider for the sample company, Litware, Inc., is available and marked as
Active . If you don't see this configuration provider, complete the steps in the procedure Create configuration
providers and mark them as active.
3. Click Repor ting configurations .
NOTE
The selected file has not been imported as the format design assumes the existence of 'id' attribute for the 'document'
element, but the imported file contains no such attribute.
NOTE
The same file has been imported as the format design now consider the 'id' attribute for the 'document' element as optional.
Split generated XML files based on file size and
content quantity
11/5/2019 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
You can design Electronic reporting (ER) formats to generate outgoing documents in XML format. Sometimes,
those documents can be accepted only when they meet specific criteria, such a maximum file size or a maximum
number of some XML nodes. You can design ER formats to generate electronic documents that satisfy the
requirements that the recipients of those documents specify.
For the FILE format element, you can define a limit on the file size as an ER expression. If the defined limit is
exceeded when an ER report is generated, ER finishes creating the current file and then moves on to create the
next file.
For any XML ELEMENT format, you can define a limit on the number of elements as an ER expression. If the
number of XML nodes in the file that is generated exceeds the defined limit when an ER report is run, ER
finishes creating the current file and then moves on to create the next file.
For any XML SEQUENCE format element, you can define a limit on the number of child elements as an ER
expression. If the number of nested XML nodes of the format element in the generated file exceeds the defined
limit when an ER report is run, ER finishes creating the current file and then moves on to create the next file.
You can mark any XML ELEMENT format element as non-breakable. In this way, you can keep the nested items
of XML nodes that are generated under the format element in a single generated file.
In addition to using the XML ELEMENT and XML SEQUENCE format elements to add XML nodes to the generated
file, you can use the RAW XML format element. However, nodes that you add by using the RAW XML format
element aren't considered when the number of nodes is calculated to evaluate the limits on the number of
elements.
If you configured file destinations for a FILE format element that has been configured to split the generated output
whenever specific limits are exceeded, each piece of generated output is sent to the configured file destination as
an individual file. To uniquely name the files that are created by splitting the output, you must configure an ER
expression for the FILE format element. If you include an ER data source of the NUMBER SEQUENCE type, the
number sequence will be incremented for each piece of the split output.
To learn more about this feature, play the ER Split XML files based on the file size or content item quantity
task guide, which is part of the 7.5.4.3 Acquire/Develop IT ser vice/solution components (10677) business
process and can be downloaded from the Microsoft Download Center. This task guide walks you through the
process of configuring an ER format to split generated files based on limits on the file size and content item
quantity. To complete the task guide, you must download the following files:
ER model configuration - XmlFilesSplittingModel.xml
ER format configuration - XmlFilesSplittingFormat.xml
Additional resources
Electronic reporting (ER) destinations
Formula designer in Electronic reporting (ER)
Support parameterized calls of ER data sources of the
Calculated field type
11/5/2019 • 10 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This topic explains how you can design an Electronic reporting (ER) data source by using the Calculated field
type. This data source may contain an ER expression that, when executed, can be controlled by the values of the
parameter arguments that are configured in a binding that calls this data source. By configuring parameterized
calls of such a data source, you can reuse a single data source in many bindings, which reduces the total number of
data sources that must be configured in ER model mappings or ER formats. It also simplifies the configured ER
component, which reduces the maintenance costs and the cost of use by other consumers.
Prerequisites
To complete the examples in this topic, you must have the following access:
Access to one of these roles:
Electronic reporting developer
Electronic reporting functional consultant
System administrator
Access to Regulatory Configuration Services (RCS) that have been provisioned for the same tenant as
Finance and Operations for one of the following roles:
Electronic reporting developer
Electronic reporting functional consultant
System administrator
From the Microsoft Download Center, download the zipped (compressed) file Suppor t parameterized calls of
ER data sources of Calculated field type . It contains the following ER configurations that must be extracted
and stored locally.
C O N T EN T F IL E N A M E
4. Select Mapping .
5. Expand the Model , Data, and Summar y items.
The calculated field Model.Data.Summar y.Level contains the expression that returns the code of the
taxation level (Regular , Reduced , None, or Other ) as a text value for any tax code that can be retrieved
from the Model.Data.Summar y data source at run time.
5. Select OK .
By adding this parameter, you specify the condition that must be in place to call this calculated field. When you call
this calculated field, you need to specify the argument of the Taxation Level parameter as a value with String
format.
Make sure that you define parameters only for those calculated fields that reside in a container (either Record list ,
Record , or Container ).
The configured parameter is available in the list of data sources for this calculated field. You can add the parameter
to the configured expression by selecting Add data source .
NOTE
You reused the same calculated field Model.Data2.Levels several times in format bindings. It is much easier to use and
maintain a single calculated field instead of doing this for multiple similar fields.
Test ER formats
You can run the initial and improved ER formats to make sure that configured parameterized calculated fields work
properly.
Import ER configurations
You can import reviewed configurations from RCS by using the ER repository of the RCS type. If you already went
through the steps in the topic, Import Electronic reporting (ER) configurations from Regulatory Configuration
Services (RCS), use the configured ER repository to import configurations discussed earlier in this topic to your
environment. Otherwise, follow these steps:
1. Select the DEMF company and on the default dashboard, select Electronic repor ting .
2. Select Repor ting configurations .
3. Import the configurations from Microsoft Download Center in the following sequence: data model, model
mapping, format. Complete the following steps for each ER configuration:
a. Select Exchange.
b. Select Load from XML file .
c. Select Browse to select the required ER configuration in XML format.
d. Select OK .
4. Import the exported from RCS completed version 1.1.1 of the Format to learn parameterized calls
(custom) format:
a. Select Exchange.
b. Select Load from XML file .
c. Select Browse to select the locally stored Format to learn parameterized calls (custom) file in XML
format.
d. Select OK .
Run ER formats
1. In the configuration tree, expand the content of the Model to learn parameterized calls item.
2. Select Format to learn parameterized calls .
3. Select Run on the top-most ribbon.
4. Save the locally generated output.
5. Select the Format to learn parameterized calls (custom) item.
6. Select Run on the top-most ribbon.
7. Save the generated output locally.
8. Compare the contents of the generated outputs.
Additional resources
Formula designer in Electronic reporting (ER)
Manage the Electronic reporting (ER) configuration
lifecycle
11/5/2019 • 3 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This topic describes how to manage the lifecycle of Electronic reporting (ER) configurations for Microsoft
Dynamics 365 Finance.
Overview
Electronic reporting (ER) is an engine that supports statutory required and country-specific electronic documents.
In general, ER assumes an ability to perform the following tasks for a single electronic document. For more details,
see Electronic reporting (ER) overview.
Design a template for an electronic document:
Identify the required sources of data that can be presented in the document:
Underlying data, such as data tables, data entities, and classes.
Process-specific properties, such as execution date and time, and time zone.
User input parameters, specified by the end user at run time.
Define the required document elements and their topology to specify a final document format.
Configure the desired flow of data from selected data sources to defined document elements (via
data source bindings to document format components), and specify process control logic.
Make a template available so that it can be used in other instances:
Transform a document template that was created into an ER configuration, and export the configuration
from the current application instance as an XML package that can be stored either locally or in LCS.
Transform an ER configuration into an application document template.
Import an XML package that is stored either locally or in LCS into the current instance.
Customize the template of an electronic document:
Bring a template from LCS into the current instance as an ER configuration.
Design a custom version of an ER configuration, and keep a reference to the base version.
Integrate a template with a particular business process, so that it's available in the application:
Configure settings so that the application starts to use an ER configuration, by referring to that
configuration in a process-related parameter. For example, refer to the ER configuration in a specific
Accounts payable payment method to generate an electronic payment message for processing invoices.
Use a template in a specific business process:
Run an ER configuration in a specific business process. For example, to generate an electronic payment
message for processing invoices when a payment method that references the ER configuration is
selected.
Concepts
The following roles and related activities are associated with the ER configuration lifecycle.
Electronic reporting functional Create and manage ER components A business person who designs ER
consultant (models and formats). domain–specific data models, designs
the required templates for electronic
documents, and binds them
accordingly.
Electronic reporting developer Create and manage data model A specialist who selects the required
mappings. Finance data sources and binds them
to ER domain–specific data models.
Accounts payable payments clerk Use ER artifacts in a specific business For example, an Accounts payable
process. payments clerk role that allows
electronic payment messages to be
generated for processing invoices,
based on the ER format that is
configured for a specific payment
method.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The following steps explain how a user in the System Administrator or Electronic Reporting Developer role can
create a new Electronic reporting (ER) configuration and upload it into Microsoft Lifecycle Services (LCS).
In this example, you will create a configuration and upload it to LCS for sample company, Litware, Inc. These steps
can be performed in any company as ER configurations are shared among companies. To complete these steps, you
must first complete the steps in the "Create a configuration provider and mark it as active" procedure. Access to LCS
is also required for completion of these steps.
1. Go to Organization administration > Workspaces > Electronic reporting.
2. Select 'Litware, Inc.' and set it as active.
3. Click Configurations.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The following steps explain how a user in the System Administrator or Electronic Reporting Developer role can
import a new version of an Electronic reporting (ER) configuration from Microsoft Lifecycle Services (LCS).
In this example, you will select the desired version of the ER configuration and import it for sample company,
Litware, Inc. These steps can be performed in any company as ER configurations are shared among companies. To
complete these steps, you must first complete the steps in the "Upload an ER configuration into Lifecycle Services"
procedure. Access to LCS is also required for completion of these steps.
1. Go to Organization administration > Workspaces > Electronic reporting.
2. Click Configurations.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This topic explains how to download Electronic reporting (ER) configurations from Microsoft Dynamics Lifecycle
Services (LCS).
This tutorial guides you through the process of downloading the newest version of Electronic reporting (ER)
configurations from Microsoft Dynamics Lifecycle Services (LCS).
1. Sign in to the application by using one of the following roles:
Electronic reporting developer
Electronic reporting functional consultant
System administrator
2. Go to Organization administration > Workspaces > Electronic repor ting .
3. In the Configuration providers section, select the Microsoft tile.
4. On the Microsoft tile, click Repositories .
5. On the Configuration repositories page, in the grid, select the existing repository of the LCS type. If this
repository doesn't appear in the grid, follow these steps:
a. Click Add to add a new repository.
b. Select LCS as the repository type.
c. Click Create repositor y .
d. If prompted, follow the authorization instructions.
e. Enter a name and description for the repository.
f. Click OK to confirm the new repository entry.
g. In the grid, select the new repository of the LCS type.
6. Click Open to view the list of ER configurations for the selected repository.
7. In the configurations tree in the left pane, select the ER configuration that you require.
8. On the Versions FastTab, select the required version of the selected ER configuration.
9. Click Impor t to download the selected version from LCS to the current instance.
NOTE
The Impor t button is unavailable for ER configuration versions that are already present in the current instance.
NOTE
Depending on the ER settings, configurations are validated after they are imported. You might be notified about any
inconsistency issues that are discovered. You must resolve those issues before you can use the imported configuration
version. For more information, see the list of related articles for this topic.
Additional resources
Electronic reporting (ER) overview
Import Electronic reporting (ER) configurations
10/8/2019 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This topic explains how to download Electronic reporting (ER) configurations from Microsoft Dynamics Lifecycle
Services (LCS) to a local business data application. It also explains how to upload the ER configurations from an ER
repository to the local business data (LBD) application.
1. Sign in to your local business data application by using one of the following roles:
Electronic reporting developer
Electronic reporting functional consultant
System administrator
2. Go to Organization administration > Electronic repor ting .
3. In the Configuration providers section, select the card for the ER provider that is associated with your
company.
NOTE
To learn how to register a new ER solution provider, play the Create a configuration provider and mark it as
active task guide.
NOTE
All the ER configurations will be put into a zip file for download.
8. Open the file, select all the ER configurations, and then copy them to the working directory for the
repository of the File system type.
9. On the ER repositories page, on the Dynamics 365 for Finance and Operations tab, click Open to
view the list of ER configurations for the selected repository.
10. In the Configurations tree in the left pane, select an ER configuration.
11. On the Versions FastTab, select the required version of the ER configuration.
12. Click Impor t to download the selected version from this repository to the current instance.
NOTE
The Impor t button is unavailable for existing ER configuration versions.
NOTE
Depending on the ER settings, configurations are validated after they are imported. You might be notified about
inconsistencies or issues that are discovered. You must resolve these inconsistencies or issues before you can use the
imported configuration version.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
You can use Regulatory Configuration Services (RCS) to design Electronic reporting (ER) configurations. The ER
tool provides access to the list of configurations that have been configured in each instance of RCS that has been
provisioned for your company. You can use this feature to import configurations that you configured in an RCS
instance into the current instance. After configurations are imported, they can be used to handle incoming
documents or generate outgoing electronic documents.
To learn more about this feature, complete the example in this topic. Alternatively, play the ER Impor t
configurations from RCS task guide, which is part of the 7.5.4.3 Acquire/Develop IT service/solution
components (10677) business process. This task guide can be downloaded from the Microsoft Download Center. It
walks you through the process of importing ER configurations from an RCS instance into the current instance.
Additional resource
Electronic reporting (ER) overview
(ER) Import configurations from RCS
3/18/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The following steps explain how a user in the System Administrator or Electronic Reporting Developer role can
import a new version of an Electronic reporting (ER) configuration from Microsoft Regulatory Configuration
Services (RCS). In this example, you will select the version of the ER configuration that has been configured in an
RCS instance and import it into the current instance for sample company, Litware, Inc. These steps can be
performed in any company because ER configurations are shared among companies. To complete these steps, you
must first complete the steps in the topic, Create configuration providers and mark them as active. To complete
these steps, you must also have access to an RCS instance containing at least one ER configuration in either
Completed or Shared status.
1. Go to Organization administration > Workspaces > Electronic repor ting .
2. Make sure that the configuration provider for the sample company, Litware, Inc., is available and marked as
Active . If you don't see this configuration provider, complete the steps in the topic, Create configuration
providers and mark them as active.
3. If you have no RCS environment provisioned to your company, click Regulator y ser vices – Configuration
external link and follow the instructions to provision an RCS environment.
4. Click Electronic repor ting parameters .
5. Click the RCS tab.
6. If RCS environment has been already provisioned to your company, use presented on the page URLs to access it.
7. Close the page.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
While configuring Electronic reporting (ER) model mappings or formats, you can add required data sources of the
Join type. At design time, a Join data source is configured as a set of several data sources each of which returns a
list of records. For every data source except the first one, you need to define necessary conditions to join records of
the current and previous data sources. At runtime, a configured data source of Join type returns a single joined list
of records containing fields from the records of nested data sources.
The following type of joins are currently supported:
Outer (left) join:
Join all records of the first (left-most) data source and then any matching in accordance to configured
conditions records of the second (right-most) data source.
Inner (right) join:
Join only records of the first (left-most) data source and only records of the second (right-most) data
source matching to each other in accordance to configured conditions.
In the configured Join data source, when all data sources are the Table records type, execution of the Join data
source can be performed at the database level using a single SQL statement. This reduces the number of database
calls, which improves model mapping performance. Otherwise, execution of Join data source is performed in
memory.
NOTE
Using the VALUEIN function in ER expressions that specify conditions for joining records in data sources of Join type is not
supported yet. Visit the Formula designer in Electronic reporting page for more details about this function.
To learn more about this feature, complete the example in this topic.
C O N T EN T DESC RIP T IO N F IL E N A M E
Sample ER data model configuration file, which is used as Model to learn JOIN data sources.version.1.1.xml
the data source for the examples.
Sample ER model mapping configuration file, which Mapping to learn JOIN data sources.version.1.1.xml
implements the ER data model for the examples.
Sample ER format configuration file. This file describes the Format to learn JOIN data sources.version.1.1.xml
data to populate the ER format component for the examples.
This page is used to design the required data source of the Join type . At runtime, this data source will create
a single joined list of records from the data sources in the Joined list grid. Join of records will start from the
ConfigurationProviders data source that is in the grid as a first one (the Type column is blank for it).
Records of every other data source will be joined consequently to records of the parent data source based
on its order in this grid. Every joining data source must be configured as a data source nested under a target
data source (1Versions data source is nested under 1Configurations one; 1Configurations data source
is nested under ConfigurationProviders one). Each configured data source must contain the conditions
for the join. In the data source for this particular Join , the following joins are defined:
Each record of the ConfigurationProviders data source (referred to the ERVendorTable table) is
joined with only records of the 1Configurations one (referred to in the ERSolutionTable table) having
the same value in the SolutionVendor and RecId fields. The Inner join type is used for this join as well
as the following conditions for matching records:
FILTER (Configurations, Configurations.SolutionVendor = ConfigurationProviders.RecId)
Each record of the 1Configurations data source (referred to the ERSolutionTable table) is joined with
the only records of the 1Versions one (referred to the ERSolutionVersionTable table) having the same
value in the Solution and RecId fields. Inner join type is used for this join as well as the following
conditions for matching records:
FILTER (ConfigurationVersions, ConfigurationVersions.Solution =
ConfigurationProviders.'1Configurations'.RecId)
Execute option is configured as Quer y meaning that this join data source will be executed at runtime on
database level as a direct SQL call.
Note that for joining records of data sources representing application tables, you can specify join conditions
by using pairs of fields other than ones that describe existing in AOT relations between these tables. This
type of join can be configured to execute at the database level as well.
6. Close the page.
7. Select Cancel .
8. In the configurations tree, expand the Set2.Summar y data model item:
Binding VersionsNumber : Integer = DetailsSummar y.aggregated.VersionsNumber indicates
that the Set2.Summar y.VersionsNumber item is bound to the VersionsNumber aggregation field of
the DetailsSummar y data source of the GroupBy type that was configured to return the number of
joined records of the Details data source of the Join type.
Note that the Execution location option is configured as Quer y meaning that this GroupBy data source
will be executed at runtime as a direct SQL call at the database level. This is possible because the base
data source Details of the Join type is configured as executed at the database level.
The Data and Summar y data sources are used to populate configuration version details to the generated
file:
Information from the Set1 data model is used when you choose No for the Selector data source at
runtime on the user dialog page when running ER format.
Information from the Set2 data model is used when you choose Yes for the Selector data source at
runtime on the user dialog page.
9. Select Run .
10. On the dialog page, select No in the Use JOIN data source field.
11. Select OK .
12. Review generated file.
Analyze ER format execution trace
1. In the first session of Finance or RCS, select Designer .
2. Select Performance trac e.
3. In the Performance trace grid, select the top-most record of the latest execution trace of an ER format that
used the current model mapping component.
4. Select OK .
Note that execution statistics informs you about duplicated calls to application tables:
ERSolutionTable has been called as many times as you have configuration version records in the
ERSolutionVersionTable table, while the number of such calls could be reduced in times for
performance improvement.
ERVendorTable has been called twice for every configuration version record that was discovered in the
ERSolutionVersionTable table, while the number of such calls could be reduced as well.
Application database has been called once to calculate the number of configuration versions by using
joins that were configured in the Details data source.
Additional resources
Formula designer in Electronic reporting
Trace execution of ER format to troubleshoot performance issues
Configure country context dependent ER model
mappings
11/11/2019 • 19 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
You can configure Electronic reporting (ER) model mappings so that they implement a generic ER data model but
are specific to Dynamics 365 Finance. This topic explains how to design multiple ER model mappings for an ER data
model to control how they are used by corresponding ER formats that are run from companies that have different
country/region contexts.
Prerequisites
To complete the examples in this topic, you must have the following access:
Access to Finance for one of the following roles:
Electronic reporting developer
Electronic reporting functional consultant
System administrator
Access to the instance of Regulatory Configuration Services (RCS) that has been provisioned for the same
tenant as Finance for one of the following roles:
Electronic reporting developer
Electronic reporting functional consultant
System administrator
Some steps in this topic require execution of an ER format. In some cases, execution of an ER format is affected by
the country/region context of the company that you're currently signed in to. You can run an ER format in the
current RCS instance if the company that has the required country/region context is available in RCS. Otherwise,
you must upload a completed version of the ER model mapping and ER format configurations that use the ER data
model to your Finance instance, and then run the ER format in that Finance instance. For information about how to
import configurations that reside in RCS into a Finance instance, see Import configurations from RCS.
NOTE
If you change the company that you're currently signed in to and run this ER format again, you get the same content in the
generated file, because the default ER model mapping configuration doesn't contain any company-dependent restrictions.
NOTE
If you change the company that you're currently signed in to and run this ER format again, the output will depend on the
country/region context of the selected company.
RUN UN DER
M O DEL M O DEL M O DEL M O DEL RUN UN DER THE
M A P P IN G 1 M A P P IN G 2 M A P P IN G 1 M A P P IN G 2 C O N T RO L O F C O N T RO L O F
W IT H O UT W IT H O UT W IT H W IT H A C O M PA N Y A C O M PA N Y
C O UN T RY / RE C O UN T RY / RE C O UN T RY / RE C O UN T RY / RE T H AT H A S T H AT H A S
GIO N GIO N GIO N A GIO N A C O UN T RY / RE C O UN T RY / RE
C O N T EXT C O N T EXT C O N T EXT C O N T EXT GIO N A GIO N B
C A SE ( M M 1) ( M M 2) ( M M 1A ) ( M M 2A ) C O N T EXT C O N T EXT
1 2 3 4 5 6
2 + MM1 MM1
4 + + MM1A MM1
16 + + MM1A MM2A
Notice that a new record has been added to the ER debug log for the executed ER format. Because the Level field of
this record is set to Info , the record is informational. Because the Format component field is set to Mapping
configuration , the record informs you about a model mapping that was used during execution of the Format to
learn mappings ER format (selected in the Configuration name field). The content of the Generated text field
informs you that the Mapping (FR) mapping component that resides in the Mapping (FR) configuration has
been used to run this report.
Appendix 1
Configure a sample data model
Sign in to your RCS instance.
In this example, you will create a configuration for sample company, Litware, Inc. To complete these steps, you must
first complete, in RCS, the steps in the Create a configuration provider and mark it as active procedure.
Create an ER data model configuration
1. On the default dashboard, select Electronic repor ting .
2. Select the Repor ting configurations tile.
3. On the Configurations page, select Create configuration .
4. In the drop-down dialog box, in the Name field, enter Model to learn mappings .
5. Select Create configuration .
6. Select the Configuration components FastTab.
Notice that draft version 1 of this ER configuration is ready for editing. This version contains the data model
component.
Design a sample data model
1. On the Configurations page , select Designer .
2. Select New .
3. In the drop-down dialog box, in the Name field, enter Entr y point 1 .
4. Select Add .
5. Select New .
6. In the drop-down dialog box, in the Name field, enter Functionality description .
7. Select Add .
8. Select New .
9. In the drop-down dialog box, in the New node field group, select Model root .
10. In the Name field, enter Entr y point 2 .
11. Select Entr y point 2 .
12. Select Add .
13. Select New .
14. In the drop-down dialog box, in the Name field, enter Functionality description .
15. Select Add .
16. Select Save .
17. Close the page.
Complete the modified version of the model configuration
1. On the Configurations page, on the Versions FastTab, select Change status .
Change the status of designed model configuration from Draft to Completed , so that it can be used to
design the required model mappings and formats.
2. Select Complete .
3. Select OK .
Notice that the configuration that you created is saved as completed version 1.
Configure a sample model mapping
Create an ER model mapping configuration
1. On the Configurations page, select Create configuration .
2. In the drop-down dialog box, in the New field group, select Model mapping based on data model Model
to learn mappings .
3. In the Name field, enter Mapping (General) .
4. In the Data model definition field, select Entr y point 1 .
5. Select Create configuration .
Notice that draft version 1 of this ER configuration is ready for editing. This version contains the model mapping
component.
Design a sample model mapping
1. On the Configurations page, select Designer .
Notice that the model mapping of the To model direction type has been automatically added to this
component for the Entr y point 1 definition.
2. Select Designer to start editing the added model mapping.
3. In the Data model section, select Edit .
4. In the Formula field, enter "Generic functionality 1" .
5. Select Save .
6. Close the Formula designer page.
7. Select Save .
8. Close the Model mapping designer page.
9. Select New .
10. In the Definition field, select Entr y point 2 .
11. In the Name field, enter Mapping (General) 2 .
12. Select Designer .
13. In the Data model section, select Edit .
14. In the Formula field, enter "Generic functionality 2" .
15. Select Save .
16. Close the Formula designer page.
Change the status of designed model mapping configuration from Draft to Completed , so that it can
be used by ER formats.
2. Select Complete .
3. Select OK .
Notice that the configuration that is created is saved as completed version 1.
Configure a sample format
Create an ER format configuration
1. On the Configurations page, in the configurations tree, select Model to learn mappings .
2. Select Create configuration .
3. In the drop-down dialog box, in the New field group, select Format based on data model Model to learn
mappings .
4. In the Name field, enter Format to learn mappings .
5. In the Data model definition field, select Entr y point 1 .
6. Select Create configuration .
Notice that draft version 1 of this ER configuration is ready for editing. This version contains the format component.
Design a sample format
1. On the Configurations page, select Designer .
2. Select Add root .
3. In the Text group, select the String item.
4. Select OK .
Bind format elements to a data source
1. On the Format designer page, on the Mapping tab, expand the model data source.
2. Select the Functionality description field.
3. Select Bind .
4. Select Save .
5. Close the page.
Appendix 2
Configure a sample model mapping for general customization
You might want to customize a model mapping that a configuration provider (partner) provided to you, and then
use the customized version as a data source for your ER formats. In this case, you must create a custom ER model
mapping configuration to make the required changes in existing model mappings. The procedures in this appendix
use the Mapping (General) model mapping as an example.
Create an ER model mapping configuration
1. On the Configurations page, in the configurations tree, select Mapping (General) .
2. Select Create configuration .
3. In the drop-down dialog box, in the New field group, select Derive from Name: Mapping (General),
Litware, Inc..
4. In the Name field, enter Mapping (General) custom .
5. Select Create configuration .
Notice that draft version 1 of this ER configuration is ready for editing.
Design a sample model mapping
1. On the Configurations page, select Designer .
Notice that the model mappings of the base configuration have been automatically copied to this
configuration.
8. Select Save .
9. Close the page.
10. Select the Mapping (General) 2 Copy mapping.
11. Select Designer .
12. In the Data model section, select Edit .
13. In the Formula field, enter "Generic functionality 2 custom" .
14. Select Save .
15. Close the page.
16. Select Save .
17. Close the page.
Change the status of designed model mapping configuration from Draft to Completed , so that it can
be used by ER formats.
2. Select Complete .
3. Select OK .
Notice that the configuration that is created is saved as completed version 1.
Appendix 3
Configure a sample model mapping for country/region-specific customization
For some ER formats, there might be country/region-specific requirements for data preparation. In this case, you
can manage a separate ER model mapping configuration and isolate the implementation of these country/region-
specific requirements from the general implementation. The procedures in this appendix use the Format to learn
mappings ER format and French-specific requirements as an example.
Create an ER model mapping configuration
First, create a new ER model mapping configuration to implement the country/region-specific requirements. Use
your custom ER model mapping configuration as a base.
1. On the Configurations page, in the configurations tree, select Mapping (General) custom .
2. Select Create configuration .
3. In the drop-down dialog box, in the New field group, select Derive from Name: Mapping (General)
custom, Litware, Inc .
4. In the Name field, enter Mapping (FR) .
5. Select Create configuration .
Notice that draft version 1 of this ER configuration is ready for editing.
Design a sample model mapping
1. On the Configurations page, select Designer .
Notice that model mappings of the base configuration have been automatically copied to this
configuration.
9. Select Save .
10. Close the page.
11. Select the Mapping (General) 2 Copy Copy mapping.
12. Rename it Mapping (FR) 2 .
13. Select Designer .
14. In the Data model section, select Edit .
15. In the Formula field, enter "FR functionality 2" .
16. Select Save .
17. Close the page.
Change the status of designed model mapping configuration from Draft to Completed , so that it can
be used by ER formats.
2. Select Complete .
3. Select OK .
Notice that the configuration that is created is saved as completed version 1.
Additional resources
Electronic reporting (ER) overview
Manage ER model mapping in separate ER configurations
Apply country/region context
The Run draft option becomes available on the Configurations page for each ER model mapping
configuration when the Run setting ER user parameter is turned on.
Configure ER formats to use parameters that are
specified per legal entity
10/31/2019 • 13 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
Overview
In many of the Electronic reporting (ER) formats that you will design, you must filter data by using a set of values
that are specific to each legal entity of your instance (for example, a set of tax codes to filter tax transactions).
Currently, when filtering of this type is configured in an ER format, values that are dependent on the legal entity
(for example, tax codes) are used in expressions of the ER format to specify data filtering rules. Therefore, the ER
format is made legal entity–specific, and to generate the required reports, you must create derived copies of the
original ER format for each legal entity where you have to run the ER format. Each derived ER format must be
edited to bring legal entity–specific values into it, rebased whenever the original (base) version has been updated,
exported from a test environment and imported into a production environment when it must be deployed for
production use, and so on. Therefore, maintenance of this type of configured ER solution is quite complex and
time-consuming for several reasons:
The more legal entities there are, the more ER format configurations must be maintained.
Maintenance of ER configurations requires that business users have ER knowledge.
The ER application-specific parameters feature lets power users configure data filtering in an ER format so that it's
based on a set of abstract rules. This set of rules can be configured to use the data sources that are available in an
ER format. Business users can then specify real rules beyond the ER framework by using the user interface (UI) that
is automatically generated based on the settings of the corresponding ER format and the current legal entity data
that will be accessed by the ER format's data sources. The set of rules that is specified for an ER format can be
exported from the current legal entity of the Dynamics 365 Finance (Finance) instance. It can then be imported into
another legal entity of either the same Finance instance or a different instance as a set of rules for the same ER
format.
Prerequisites
To complete the examples in this topic, you must have access to the instance of Regulatory Configuration Services
(RCS) that has been provisioned for the same tenant as Finance for one of the following roles:
Electronic reporting developer
Electronic reporting functional consultant
System administrator
We recommend that you complete the steps in the Support parameterized calls of ER data sources of CALCULATED
FIELD type topic. If you've already completed those steps, you can skip the steps in the Impor t ER configurations
into RCS section that follows.
C O N T EN T DESC RIP T IO N F IL E N A M E
The Model.Data.Summar y.Level calculated field has been configured so that it contains an ER expression.
Note that tax codes (VAT19 , InVAT19 , VAT7 , InVAT7 , THIRD , and InVAT0 ) are hardcoded into this
configuration. Therefore, this ER format is dependent on the legal entity where these tax codes were
configured.
To support a different set of tax codes for each legal entity, you must follow these steps:
Create a derived version of the ER format for each legal entity.
Update the tax codes in the Model.Data.Summar y.Level calculated field, based on the legal entity
setting.
6. Close the Format designer page.
Because the business users might use different languages to specify legal entity–dependent sets of tax
codes, we recommend that you translate the values of this enumeration into the languages that are
configured as the preferred languages for those users in Finance.
14. Select the No taxation record.
15. Click in the Label field.
16. Select Translate .
17. In the Text translation pane, in the Label Id field, enter LBL_LEVELENUM_NO .
18. In the Text in default language field, enter No taxation .
19. In the Language field, select DE .
20. In the Translated text field, enter keine Besteuerung .
21. Select Translate .
22. Select Save .
23. Close the Format enumerations page.
Add a new lookup data source
Next, you will add a new data source to specify how business users will specify legal entity–dependent rules to
recognize the correct taxation level for each summarized transaction record.
1. On the Mapping tab, select Add .
2. Select Format enumeration\Lookup .
You just identified that each rule that business users specify for taxation level recognition will return a value
of an ER format enumeration. Notice that the Lookup data source type can be accessed under the Data
model and Dynamics 365 for Operations blocks in addition to the Format enumeration block.
Therefore, ER data model enumerations and application enumerations can be used to specify the type of
values that is are returned for data sources of that type.
3. In the Name field, enter Selector .
4. In the Format enumeration field, select List of taxation levels .
You just specified that, for each rule that is specified in this data source, a business user must select one of
the values of the List of taxation levels format enumeration as a returned value.
5. Select Edit lookup .
6. Select Columns .
7. Expand the Model item.
8. Expand the Data item.
9. Expand the Tax item.
10. Select the Model.Data.Tax.Code item.
11. Select the Add button (the right arrow).
You just specified that, for each rule that is specified in this data source for taxation level recognition, a
business user must select one of the tax codes as a condition. The list of tax codes that the business user can
select will be returned by the Model.Data.Tax data source. Because this data source contains the Name
field, the name of the tax code will be shown for each tax code value in the lookup that is presented to the
business user.
12. Select OK .
Business users can add multiple rules as records of this data source. Each record will be numbered by a line
code. Rules will be evaluated in order of increasing line number.
Because you selected the Tax code field as a condition for rules in this lookup data source, and because Tax
code is set up as a field of the String data type, each rule will be evaluated at runtime by comparing the tax
code that is passed to the data source with the tax code that is defined in this record of the data source.
When a rule that satisfies the configured condition is found, this data source returns the lookup value of the
rule that is defined in the Lookup result field. If no rule is found, an exception is thrown to notify the user
that the current data source can't return a correct value.
13. Select Save .
14. Close the Lookup designer page.
15. Select OK .
Notice that you added a new data source that will return the taxation level as the value of the List of
taxation levels format enumeration for any tax code that is passed to the data source as the argument of
the Code parameter of the String data type.
Note that the evaluation of configured rules depends on the data type of the fields that have been selected
to define conditions of those rules. When you select a field that is configured as a field of either the
Numeric or Date data type, the criteria will differ from the criteria that were described earlier for the
String data type. For Numeric and Date fields, the rule must be specified as a range of values. The
condition of the rule will then be considered satisfied when a value that is passed to the data source is in the
configured range.
The following illustration shows an example of this type of setup. In addition to the Model.Data.Tax.Code
field of the String data type, the Model.Tax.Summar y.Base field of the Real data type is used to specify
conditions for a lookup data source.
Because the Model.Data.Tax.Code and Model.Tax.Summar y.Base fields are selected for this lookup data
source, each rule of this data source will be configured in the following way:
In the list that is presented, the value of the List of taxation levels format enumeration must be
selected as a returned value.
The tax code must be entered as a condition of this rule. Only tax codes that are provided by the
Model.Data.Tax data source are applicable.
Minimum and maximum values of the tax base amount must be entered as conditions of this rule.
Here is how each rule of this data source will be evaluated at runtime:
Does the code of the String data type that was passed to this data source equal the tax code of a rule?
Does the value of the Real data type that was passed to this data source fall between specific minimum
and maximum values?
A rule will be considered applicable when both conditions are satisfied.
Translate the label of the lookup data source that was added
Because business users might use different languages to specify legal entity–dependent sets of tax codes, we
recommend that you translate the label of any lookup data source that you add, so that it's presented in each user's
preferred language on the corresponding page.
1. Select the Model.Data.Selector data source.
2. Select Edit .
3. Click in the Label field.
4. Select Translate .
5. In the Text translation pane, in the Label Id field, enter LBL_SELECTOR_DS .
6. In the Text in default language field, enter Select tax level by tax code .
7. In the Language field, select DE .
8. In the Translated text field, enter Steuerebene für Steuerkennzeichen auswählen .
9. Select Translate .
10. Select OK .
Notice that the LevelByLookup calculated field that you added will return the taxation level as the value of
the List of taxation levels format enumeration for each summarized tax transactions record. The tax code
of the record will be passed to the Model.Selector lookup data source, and the set of rules for this data
source will be used to select the correct taxation level.
Add a new format enumeration-based data source
Next, you will add a new data source that refers to the format enumeration that you added earlier. Values of this
data source will be used in an ER format expression later.
1. Select Add root .
2. Select Format enumerations\Enumeration .
3. In the Name field, enter TaxationLevel .
4. In the Format enumeration field, select List of taxation levels .
5. Select Save .
Modify an existing field to start to use the lookup
Next, you will modify the existing calculated field so that it uses the configured lookup data source to return the
correct taxation level value, depending on the tax code.
1. Select the Model.Data.Summar y.Level item.
2. Select Edit .
3. Select Edit formula .
Notice that the current expression of the Model.Data.Summar y.Level field includes the following hard-
coded tax codes:
CASE (@.Code, "VAT19", "Regular", "InVAT19", "Regular", "VAT7", "Reduced", "InVAT7", "Reduced", "THIRD",
"None", "InVAT0", "None", "Other")
4. In the Formula field, enter CASE(@.LevelByLookup, TaxationLevel.'Regular taxation', "Regular",
TaxationLevel.'Reduced taxation', "Reduced", TaxationLevel.'No taxation', "None", "Other") .
Notice that the expression of the Model.Data.Summar y.Level field will now return the taxation level,
based on the tax code of the current record and the set of rules that that a business user configures in the
Model.Data.Selector lookup data source.
5. Select Save .
6. Close Formula designer page.
7. Select OK .
8. Select Save .
9. Close Format designer page.
Additional resources
Formula designer in Electronic reporting
Set up the parameters of an ER format per legal entity
Set up the parameters of an ER format per legal
entity
2/12/2020 • 9 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
Prerequisites
To complete these steps, you must first complete the steps in the Configure ER formats to use parameters that are
specified per legal entity topic.
To complete the examples in this topic, you must have access to Microsoft Dynamics 365 Finance (Finance) for one
of the following roles:
Electronic reporting developer
Electronic reporting functional consultant
System administrator
Import ER configurations
1. Sign in to your environment.
2. On the default dashboard, select Electronic repor ting .
3. Select Repor ting configurations .
4. Import, into the current instance of Finance, the configurations that you exported from Regulatory
Configuration Services (RCS) while you were completing the steps in the Configure ER formats to use
parameters that are specified per legal entity topic. Follow these steps for each Electronic reporting (ER)
configuration, in the following order: data model, model mapping, and formats.
a. Select Exchange > Load from XML file .
b. Select Browse to select the file for the required ER configuration in XML format.
c. Select OK .
The following illustration shows the configurations that you must have when you've finished.
Set up parameters for the DEMF company
You can use the ER framework to set up application-specific parameters for an ER format.
1. Select the DEMF legal entity.
2. In the configurations tree, select the Format to learn how to lookup LE data format.
3. On the Action Pane, on the Configurations tab, in the Application specific parameters group, select
Setup .
On the Application specific parameters page, you can configure the rules for the Selector data source
of the Format to learn how to lookup LE data format.
If the base ER format will contain several data sources of the Lookup type, you must select the desired data
source on the Lookups FastTab before you can start to configure the set of rules for the data source.
For each data source, you can configure separate rules for each version of the selected ER format.
The whole set of rules for all lookup data sources that are available in the selected version of the base ER
format makes up the application-specific parameters for the ER format.
4. Select version 1.1.1 of the ER format.
5. On the Conditions FastTab, select Add .
6. In the Code field of the new record, select the drop-down arrow to open the lookup.
The lookup presents the list of tax codes for selection. This list is returned by the Model.Data.Tax data
source that has been configured in the base ER format. Because this data source contains the Name field,
the name of each tax code appears in the lookup.
new MenuFunction(menuItemDisplayStr(ERSolutionAppSpecificParametersDesigner),
MenuItemType::Display)
.run(args);
}
Additional resources
Formula designer in Electronic reporting
Configure ER formats to use parameters that are specified per legal entity
Defer the execution of sequence elements in ER
formats
3/17/2020 • 11 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
Overview
You can use the Operations designer of the Electronic reporting (ER) framework to configure the format component
of an ER solution that is used to generate outbound documents in a text format. The hierarchical structure of the
configured format component consists of format elements of various types. These format elements are used to fill
generated documents with the required information at runtime. By default, when you run an ER format, the format
elements are run in the same order as they are presented in the format hierarchy: one by one, from top to bottom.
However, at design time, you can change the execution order for any sequence elements of the configured format
component.
By turning on the Deferred execution option for a sequence format element in the configured format, you can
defer (postpone) the execution of that element. In this case, the element isn't run until all other elements of its
parent have been run.
To learn more about this feature, complete the example in this topic.
Limitations
The Deferred execution option is supported only for sequence elements that are configured for an ER format that
is used to generate outbound documents in text format.
The Deferred execution option isn't applicable to sequences that have been configured as trimmed sequences
where the maximum length is limited.
Before you begin, you must also download and save the following configuration of the sample ER solution.
C O N T EN T DESC RIP T IO N F IL E N A M E
10. Close the Model mapping designer and Model mappings pages.
Review the imported format
1. On the Configurations page, in the configuration tree, select the Format to learn deferred sequences
configuration.
2. Select Designer to review the format details.
3. Select Show details .
4. Review the settings of the ER format components that are configured to generate an outbound document in
text format that includes details of the tax transactions:
The Repor t\Lines sequence format element is configured to fill the outbound document with a
single line that is generated from the nested sequence elements (Header , Record , and Summar y ).
The Repor t\Lines\Header sequence format element is configured to fill the outbound document
with a single header line that shows the date and time when the processing starts.
The Repor t \Lines\Record sequence format element is configured to fill the outbound document
with a single line that shows the details of individual tax transactions. These tax transactions are
separated by a semicolon.
The Repor t\Lines\Summar y sequence format element is configured to fill the outbound document
with a single summary line that includes the sum of the tax values from the processed tax
transactions.
5. On the Mapping tab, review the following details:
The Repor t\Lines\Header element doesn't have to be bound to a data source to generate a single line
in an outbound document.
The Prefix1 element generates P1 symbols to indicate that the line that is added is the report header
line.
The ExecutionDateTime element generates the date and time (including milliseconds) when the header
line is added.
The Repor t\Lines\Record element is bound to the model.Data.List list to generate a single line for
every record from the bound list.
The Prefix2 element generates P2 symbols to indicate that the line that is added is for the tax transaction
details.
The TaxAmount element is bound to model.Data.List.Value (which is shown as @.Value in the relative
path view) to generate the tax value of the current tax transaction.
The RunningTotal element is a placeholder for the running total of the tax values. Currently, this element
has no output, because neither a binding nor a default value is configured for it.
The ExecutionDateTime element generates the date and time (including milliseconds) when the current
transaction is processed in this report.
The Repor t\Lines\Summar y element doesn't have to be bound to a data source to generate a single
line in an outbound document.
The Prefix3 element generates P3 symbols to indicate that the line that is added contains the total tax
value.
The TotalTaxAmount element is bound to model.Data.Summar y.Total to generate the sum of the tax
values of the processed tax transactions.
The ExecutionDateTime element generates the date and time (including milliseconds) when the
summary line is added.
You can consider this setting the fulfillment of a virtual worksheet, where the value of cell A1 is appended
with the value of the tax amount from every processed tax transaction.
8. Select the Repor t\Lines\Record\RunningTotal numeric element, and then select Edit formula .
9. Configure the SUMIF(SummingAmountKey, WsColumn, WsRow) expression by using the built-in SUMIF ER function.
10. Select Save .
11. Close the Formula designer page.
12. Select Save , and then select Run .
13. Download and review the file that the web browser offers.
Line 21 contains the running total of tax values that is calculated for all processed transactions by using the
generated output as a data source. This data source starts from the beginning of the report and continues
through the last tax transaction. Line 22 contains the sum of the tax values for all processed transactions that
are calculated in the model mapping by using the data source of the GroupBy type. Notice that these values
are equal. Therefore, the output-based summing can be used instead of GroupBy . By comparing the
execution times of lines 2 and 21, you can determine that generation of all the transactional lines and
summing took 9 ms. Therefore, as far as the generation of detailed lines and the summing of tax values are
concerned, the modified format is approximately two times faster than the original format.
14. Select the Repor t\Lines\Summar y\TotalTaxAmount numeric element, and then select Edit formula .
15. Enter the SUMIF(SummingAmountKey, WsColumn, WsRow) expression instead of the existing expression.
16. Select Save , and then select Run .
17. Download and review the file that the web browser offers.
Notice that the running total of tax values on the last transaction details line now equals the sum on the
summary line.
Put values of output-based summing in the report header
If, for example, you must present the sum of tax values in the header of your report, you can modify your format.
1. On the Format designer page, on the Format tab, select the Repor t\Lines\Summar y sequence element.
2. Select Move up .
3. Select Save , and then select Run .
4. Download and review the file that the web browser offers.
Notice that the sum of tax values on summary line 2 now equals 0 (zero), because this sum is now calculated
based on the generated output. When line 2 is generated, the generated output doesn't yet contain lines that
have transaction details. You can configure this format to defer the execution of the
Repor t\Lines\Summar y sequence element until the Repor t\Lines\Record sequence element has been
run for all tax transactions.
Defer the execution of the summary sequence so that the calculated total is used
1. On the Format designer page, on the Format tab, select the Repor t\Lines\Summar y sequence element.
2. Set the Deferred execution option to Yes .
The Repor t\Lines\Summar y sequence element is now run only after all other items that are nested under
its parent element, Repor t\Lines , have been run. Therefore, it's run after the Repor t\Lines\Record
sequence element has been run for all tax transactions of the model.Data.List data source. The execution
times of lines 1, 2, and 3, and of the last line, 22, reveal this fact.
Additional resources
Configure format to do counting and summing
Trace execution of ER format to troubleshoot performance issues
Defer the execution of XML elements in ER formats
Defer the execution of XML elements in ER formats
3/17/2020 • 11 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
Overview
You can use the Operations designer of the Electronic reporting (ER) framework to configure the format component
of an ER solution that is used to generate outbound documents in XML format. The hierarchical structure of the
configured format component consists of format elements of various types. These format elements are used to fill
generated documents with the required information at runtime. By default, when you run an ER format, the format
elements are run in the same order as they are presented in the format hierarchy: one by one, from top to bottom.
However, at design time, you can change the execution order for any XML elements of the configured format
component.
By turning on the Deferred execution option for an XML element in the configured format, you can defer
(postpone) the execution of that element. In this case, the element isn't run until all other elements of its parent
have been run.
To learn more about this feature, complete the example in this topic.
Limitations
The Deferred execution option is supported only for XML elements that are configured for an ER format that is
used to generate outbound documents in XML format.
The Deferred execution option is supported only for XML elements that reside in only one other XML element.
Therefore, it isn't applicable to XML elements that reside in other types of format elements (for example, in an XML
sequence element).
The Deferred execution option isn't supported for XML elements that reside in the Common\File format
element when the Split file option is set to Yes . For more information about how to split XML files, see Split
generated XML files based on file size and content quantity.
C O N T EN T DESC RIP T IO N F IL E N A M E
Before you begin, you must also download and save the following configuration of the sample ER solution to your
local computer.
C O N T EN T DESC RIP T IO N F IL E N A M E
9. Review how the configured data sources are bound to the data model, and how they expose accessed data to
make it available in an ER format:
The Filtered data source is bound to the Data.List field of the data model.
The $TaxAmount field of the Filtered data source is bound to the Data.List.Value field of the data
model.
The TotalSum field of the Grouped data source is bound to the Data.Summar y.Total field of the data
model.
10. Close the Model mapping designer and Model mappings pages.
Review the imported format
1. On the Configurations page, in the configuration tree, select the Format to learn deferred XML
elements configuration.
2. Select Designer to review the format details.
3. Select Show details .
4. Review the settings of the ER format components that are configured to generate an outbound document in
XML format that includes details of the tax transactions:
The Repor t\Message XML element is configured to fill the outbound document with a single node that
includes the nested XML elements (Header , Record , and Summar y ).
The Repor t\Message\Header XML element is configured to fill the outbound document with a single
header node that shows the date and time when the processing starts.
The Repor t \Message\Record XML element is configured to fill the outbound document with a single
record node that shows the details of a single tax transaction.
The Repor t\Message\Summar y XML element is configured to fill the outbound document with a
single summary node that includes the sum of the tax values from the processed tax transactions.
Notice that the summary node presents the sum of the tax values for the processed transactions. Because the
format is configured to use the model.Data.Summar y.Total binding to return this sum, the sum is calculated by
calling the TotalSum aggregation of the Grouped data source of the GroupBy type in the model mapping. To
calculate this aggregation, the model mapping iterates over all transactions that have been selected in the Filtered
data source. By comparing the execution times of the summary node and the last record node, you can determine
that calculation of the sum took 12 milliseconds (ms). By comparing the execution times of the first and last record
nodes, you can determine that generation of all record nodes took 9 ms. Therefore, a total of 21 ms was required.
Modify the format so that the calculation is based on generated output
If the volume of transaction is much larger than the volume in the current example, the calculation time might
increase and cause performance issues. By changing the setting of the format, you can help prevent these
performance issues. Because you access tax values to include them in the generated report, you can reuse this
information to calculate tax values. For more information, see Configure format to do counting and summing.
1. On the Format designer page, on the Format tab, select the Repor t file element in the format tree.
2. Set the Collect output details option to Yes . You can now configure this format by using the content of a
generated report as a data source that can be accessed by using the built-in ER functions in the Data
collection category.
3. On the Mapping tab, select the Repor t\Message\Record XML element.
4. Configure the Collected data key name expression as WsColumn .
5. Configure the Collected data key value expression as WsRow .
You can consider this setting the fulfillment of a virtual worksheet, where the value of cell A1 is appended
with the value of the tax amount from every processed tax transaction.
8. Select the Repor t\Message\Record\RunningTotal attribute, and then select Edit formula .
9. Configure the SUMIF(SummingAmountKey, WsColumn, WsRow) expression by using the built-in SUMIF ER function,
and then select Save .
10. Close the Formula designer page.
11. Select Save , and then select Run .
12. Download and review the file that the web browser offers.
The last record node contains the running total of tax values that is calculated for all processed transactions
by using the generated output as a data source. This data source starts from the beginning of the report and
continues through the last tax transaction. The summary node contains the sum of the tax values for all
processed transactions that are calculated in the model mapping by using the data source of the GroupBy
type. Notice that these values are equal. Therefore, the output-based summing can be used instead of
GroupBy . By comparing the execution times of the first record node and the summary node, you can
determine that generation of all the record nodes and summing took 11 ms. Therefore, as far as the
generation of record nodes and the summing of tax values are concerned, the modified format is
approximately two times faster than the original format.
13. Select the Repor t\Message\Summar y\TotalTaxAmount attribute, and then select Edit formula .
14. Enter the SUMIF(SummingAmountKey, WsColumn, WsRow) expression instead of the existing expression.
15. Select Save , and then select Run .
16. Download and review the file that the web browser offers.
Notice that the running total of tax values in the last record node now equals the sum in the summary node.
Put values of output-based summing in the report header
If, for example, you must present the sum of tax values in the header of your report, you can modify your format.
1. On the Format designer page, on the Format tab, select the Repor t\Message\Summar y XML element.
2. Select Move up .
3. Select Save , and then select Run .
4. Download and review the file that the web browser offers.
Notice that the sum of tax values in the summary node now equals 0 (zero), because this sum is now
calculated based on the generated output. When the first record node is generated, the generated output
doesn't yet contain record nodes that have transaction details. You can configure this format to defer the
execution of the Repor t\Message\Summar y element until the Repor t\Message\Record element has
been run for all tax transactions.
Defer the execution of the summary XML element so that the calculated total is used
1. On the Format designer page, on the Format tab, select the Repor t\Message\Summar y XML element.
2. Set the Deferred execution option to Yes .
The Repor t\Message\Summar y element is now run only after all other items that are nested under its
parent element, Repor t\Message , have been run. Therefore, it's run after the Repor t\Message\Record
element has been run for all tax transactions of the model.Data.List data source. The execution times of the
first and last record nodes, and of the header and summary nodes, reveal this fact.
Additional resources
Configure format to do counting and summing
Trace execution of ER format to troubleshoot performance issues
Defer the execution of sequence elements in ER formats
Configure the Electronic reporting (ER) framework
11/5/2019 • 4 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This topic explains how to set up the basic functionality for Electronic reporting (ER). It also describes the steps that
you must complete before you can set up ER.
AT T RIB UT E N A M E AT T RIB UT E VA L UE
Group File
Set up ER
Use the following procedure to set up the basic functionality of ER for all legal entities.
1. Open the Electronic repor ting workspace page.
2. Click Electronic repor ting parameters .
3. On the Electronic repor ting parameters page, on the Attachments tab, define the types of documents that
should be used for file storage in the ER framework.
4. On the LCS tab, define the number of parallel threads that should be used to load an ER configuration from
repositories in Microsoft Dynamics Lifecycle Services (LCS), so that the configurations are loaded in the most
efficient manner. The value can vary from 1 to 15 , depending on the available resources of the current
program. Note that the real number of threads will be defined automatically, based on this setting, and on the
number of other tasks and their priorities.
5. On the Configuration provider table page, create ER provider records. Each provider can be marked as
Active . The active provider's name and Internet address are stored in an ER configuration as attributes of the
owner of the configuration.
Optional setup for ER
In addition to the basic functionality, ER has other functionality that you can set up.
On the Electronic repor ting destination page, define the ER output destinations for each file output of each
ER format configuration. Use the document types of the Document management framework that you set up
earlier. You can also use this page to set up the optional functionality of ER for each legal entity. For more
information, see the topic about ER destinations that is linked in the "Additional resources" section of this topic.
Whenever you add new Application Object Tree (AOT) artifacts or update existing AOT artifacts that are used as
data sources (tables, views, or data entities) in ER, use the Rebuild table references menu item
(Organization administration > Electronic repor ting > Rebuild table references ) to bring your AOT
changes into the ER metadata.
Additional resources
Electronic reporting (ER) overview
Electronic reporting (ER) destinations
Backup storage of ER templates
11/5/2019 • 5 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The Electronic reporting (ER) overview lets business users configure formats for outbound documents according to
the legal requirements of various countries and regions. Configured ER formats can use predefined templates to
generate outbound documents in various formats, such as Microsoft Excel workbooks, Microsoft Word documents,
or PDF documents. The templates are filled with data that the configured dataflow for generated documents
requires.
Each configured format can be published as part of an ER solution. Each ER solution can be exported from one
instance of Finance and Operations and imported into another instance.
The ER framework uses the Configure document management to keep the required templates for the current
Finance and Operations instance. Depending on the settings of the ER framework, Microsoft Azure Blob storage or
a Microsoft SharePoint folder can be selected as the physical primary storage location for templates. (For more
information, see Configure the Electronic reporting (ER) framework.) The DocuValue table holds an individual
record for each template. In each record, the AccessInformation field stores the path of a template file that is
located in the configured storage location.
When you manage your Finance and Operations instances, you might decide to migrate the current instance to
another location. For example, you might migrate your production instance to a new sandbox environment. If you
configured the ER framework to store templates in Blob storage, the DocuValue table in the new sandbox
environment refers to the instance of Blob storage in the production environment. However, this instance can't be
accessed from the sandbox environment, because the migration process doesn't support the migration of artifacts
in Blob storage. Therefore, if you try to run an ER format that uses a template to generate business documents, an
exception occurs, and you're notified about the missing template. You're also guided to use the ER cleanup tool to
delete and then re-import the ER format configuration that contains the template. Because you might have several
ER format configurations, this process can be time consuming.
The Backup storage of ER templates feature can help you make your templates so that they are always available to
generate business documents.
NOTE
This feature can be used only when Blob storage has been selected as the physical storage location for ER templates.
For this feature, every template of a new ER format configuration in the current environment is automatically saved
to the backup storage location for templates (the ERDocuDatabaseStorage database table) when the following
events occur:
You import a new ER format configuration that contains a template.
You complete the draft version of an ER format configuration that contains a template.
Backup copies of templates are migrated to a new instance of Finance and Operations as part of the application
database.
If a template of an ER format is required for generation of outbound documents, to process vendor payments
including generation of payment advice and control reports, for example, but the required template isn't found in
the primary storage location, the following events occur:
If the template is available in the backup storage location, it is automatically taken from the backup storage
location, restored to the primary storage location, and used for the current execution.
Every user who is assigned to the Electronic repor ting developer or System administrator role is
notified about the missing template issue through the Action center. The message that appears depends on
the value of the Automatically run the procedure of restoring the broken templates in batch
parameter:
If this parameter is set to Off , the message recommends that you start the batch process to automatically
fix similar issues for other ER format configuration templates. The message includes a link that you can
use to start the batch process.
If this parameter is set to On , the message notifies you that a missing templates issue has been
discovered, and that a new batch process, Restore broken templates from internal database
backup , has been automatically scheduled. This batch process will automatically fix similar issues for
other templates.
To set up the he Automatically run the procedure of restoring the broken templates in batch parameter,
complete the following steps:
1. In Finance and Operations, open the Organization administration > Electronic repor ting >
Configurations page .
2. On the Configurations page, on the Action Pane, on the Configurations tab, in the Advanced settings
group, select User parameters .
3. In the User parameters dialog box, set the required value for the Automatically run the procedure of
restoring the broken templates in batch parameter.
NOTE
This parameter is defined as application user and logged company specific.
The following illustration shows an example of the message that appears when the Automatically run the
procedure of restoring the broken templates in batch parameter is set to On .
The following illustration shows the Restore broken templates from internal database backup batch process
on the Batch job page.
The execution log of the completed Restore broken templates from internal database backup batch process
includes information about the templates that have been restored from the backup storage location to the primary
storage location.
By default, the process of automatically creating backup copies of templates that reside in ER format configurations
is turned on. To stop making backup copies of templates, set the Stop making backup copies of template
option to Yes on the Attachments tab of the Electronic repor ting parameters page. You can open this page
from the Electronic repor ting workspace.
If you set the Stop making backup copies of templates option to Yes and don't want to keep the backup copies
that were previously made of templates, select Clean up backup storage on the Electronic repor ting
parameters page.
If you upgraded your environment to Finance and Operations version 10.0.5 (October 2019) and want to migrate
to a new environment that includes ER format configurations that can be run, select Fill in backup storage on the
Electronic repor ting parameters page before the migration occurs. This button starts the process of making
backup copies of all available templates, so that they can be stored in the ER backup storage location for templates.
Supported deployments
In Finance and Operations version 10.0.5, the Backup storage of ER templates feature is available only in cloud
deployments.
Additional resources
Electronic reporting (ER) overview
Configure the Electronic reporting (ER) framework
Create configuration providers and mark them as
active
3/18/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific
business functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This topic explains how a user assigned to the System Administrator or Electronic Reporting Developer role
can create a configuration provider for Electronic reporting (ER). Each ER configuration will refer to the
provider as the author of the configuration. In this example, you will create a configuration provider for
sample company, Litware, Inc. These steps can be performed in any company as ER configuration providers
are shared among all companies.
Create a provider
1. Go to the navigation pane in the upper left corner and select Organization administration .
2. Go to Workspaces > Electronic repor ting .
3. Go to Related links > Configuration providers .
4. Select New .
A provider record has a unique name and URL. Review the content of this page and skip this
procedure if a record for Litware, Inc. (https://www.litware.com) already exists.
5. In the Name field, type Litware, Inc. .
6. In the Internet address field, type https://www.litware.com .
7. Select Save .
8. Close the page.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
You can configure a destination for each Electronic reporting (ER) format configuration and its output component
(a folder or a file). Users who have appropriate access rights can also modify destination settings at runtime. This
topic explains ER destination management, the types of destinations that are supported, and security
considerations.
ER format configurations usually contain at least one output component: a file. Typically, configurations contain
multiple file output components of different types (for example, XML, TXT, XLSX, DOCX, or PDF) that are grouped
into either a single folder or multiple folders. ER destination management lets you preconfigure what occurs
when each component is run. By default, when a configuration is run, a dialog box appears that lets you save or
open the file. The same behavior also occurs when you import an ER configuration and don't configure any
specific destinations for it. After a destination is created for a main output component, that destination overrides
the default behavior, and the folder or file is sent according to the destination's settings.
Overview
You can set up destinations only for ER configurations that have been imported into the current Finance instance,
and for the formats that are available on the Electronic repor ting configurations page. The functionality for
ER destination management is available at Organization administration > Electronic repor ting >
Electronic repor ting destination . On the Electronic repor ting destination page, you can override the
default behavior for a configuration. Imported configurations aren't shown on this page until you select New and
then, in the Reference field, select a configuration to create destination settings for.
After you create a reference, you can create a file destination for each Folder or File output component of the
referenced ER format.
Next, in the Destination settings dialog box, you can enable and disable individual destinations for the file
destination. The Settings button is used to control all the destinations for a selected file destination. In the
Destination settings dialog box, you can control each destination separately by setting the Enabled option for
it.
In versions of Finance before version 10.0.9 , you can create one file destination for each output component
of the same format, such as a folder or a file that is selected in the File Name field. However, in version 10.0.9
and later , you can create multiple file destinations for each output component of the same format.
For example, you can use this capability to configure file destinations for a file component that is used to generate
an outbound document in Excel format. One destination (Archive) can be configured to store the original Excel file
in the ER jobs archive, and another destination (Email) can be configured to simultaneously convert the Excel file
to PDF format and send the PDF file by email.
Destination types
The following destinations are currently supported for ER formats. You can disable or enable all types at the same
time. In this way, you can either do nothing or send the component to all configured destinations.
Email
Archive
File
Screen
Power BI
Print
Applicability
You can set up destinations only for ER configurations that have been imported, and for the formats that are
available on the Electronic repor ting configurations page.
NOTE
Configured destinations are company-specific. If you plan to use an ER format in different companies of the current Finance
instance, you must configure destinations for that ER format for each of those companies.
When you configure file destinations for a selected format, you configure them for the whole format.
At the same time, you might have multiple versions of the format that have been imported into the current
Finance instance. You can view them if you select the Configuration link that is offered when you select the
Reference field.
By default, configured destinations are applied only when you run an ER format version that has a status of either
Completed or Shared . However, you must sometimes use configured destinations when the draft version of an
ER format is run. For example, you modify a draft version of your format, and you want to use configured
destinations to test how generated output will be delivered. Follow these steps to apply destinations for an ER
format when the draft version is run.
1. Go to Organization administration > Electronic repor ting > Configurations .
2. On the Configurations page, on the Action Pane, on the Configurations tab, in the Advanced settings
group, select User parameters .
3. Set the Use destinations for draft status option to Yes .
To use the draft version of an ER format, you must mark the ER format accordingly.
1. Go to Organization administration > Electronic repor ting > Configurations .
2. On the Configurations page, on the Action Pane, on the Configurations tab, in the Advanced settings
group, select User parameters .
3. Set the Run setting option to Yes .
After you complete this setup, the Run draft option becomes available for ER formats that you modify. Set this
option to Yes to start to use the draft version of the format when the format is run.
Applicability
The PDF conversion option can be turned on only for file components that are used to generate output in
Microsoft Office Excel or Word format (Excel file ). When this option is turned on, output that is generated in
Office format is automatically converted to PDF format.
Limitations
NOTE
This feature is a preview feature and is subject to the terms of use that are described in Supplemental Terms of Use for
Microsoft Dynamics 365 Previews.
NOTE
The PDF conversion option is only available for cloud deployments.
The produced PDF is limited to a maximum number of 300 pages.
At this time, only landscape page orientation is supported in the PDF document that is produced from an Excel output.
Only the common system fonts of the Window operating system are used for the conversion of an output that contains no
embedded fonts.
If you generate an ER configuration in Excel format and want to convert it to PDF format, you can specify the page
Sel ect a page ori entati on for PDF conversi on
orientation of the PDF. When you select the Conver t to PDF check box to turn on PDF conversion for a file
destination that produces an output file in Excel format, the Page orientation field becomes available on the
PDF conversion settings FastTab. In the Page orientation field, select the preferred orientation.
NOTE
To have the option to select the PDF page orientation, you must install Microsoft Dynamics 365 Finance version 10.0.10
(May 2020) or later.
The selected page orientation is applied to all ER configurations that are generated in Excel format and then converted to
PDF format.
If a converted PDF is created from an ER configuration in Word format, the page orientation of the PDF is taken from the
Word document.
Security considerations
Two types of privileges and duties are used for ER destinations. One type controls a user's overall ability to
maintain the destinations that are configured for a legal entity (that is, it controls access to the Electronic
repor ting destinations page). The other type controls an application user's ability to override, at runtime, the
destination settings that an ER developer or ER functional consultant has configured.
RO L E ( A OT N A M E) RO L E N A M E DUT Y ( A OT N A M E) DUT Y N A M E
NOTE
Two privileges are used in the preceding duties. These privileges have the same names as the corresponding duties:
ERFormatDestinationConfigure and ERFormatDestinationRuntimeConfigure .
Additional resources
Electronic reporting (ER) overview
Archive dest inat ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
You can configure an archive destination for each FOLDER or FILE component of an Electronic reporting (ER)
format that is configured to generate outbound documents. Based on the destination setting, a generated
document is stored as an attachment of a record of the ER jobs list.
You can use this option to send the generated document to a Microsoft SharePoint folder or Microsoft Azure
Storage. Set Enabled to Yes to send output to a destination that is defined by the selected document type. Only
document types where the group is set to File are available for selection. You define document types at
Organization administration > Document management > Document types . The configuration for ER
destinations is the same as the configuration for the document management system.
The location determines where the file is saved. After the Archive destination is enabled, the results can be saved
in the Job archive. You can view the results at Organization administration > Electronic repor ting >
Electronic repor ting archived jobs .
NOTE
Select a document type for the Job archive by navigating to Organization administration > Workspaces > Electronic
repor ting > Electronic repor ting parameters . For more information, Configure the Electronic reporting (ER) framework.
SharePoint
You can save a file in a designated SharePoint folder. To define the default SharePoint server, go to Organization
administration > Document management > Document management parameters . On the SharePoint tab,
configure the SharePoint folder. Then, you can select it as the folder where the ER output will be saved. The
SharePoint location must be selected in this document type.
Azure Storage
When the document type location is set to Azure storage , you can save a file to Azure Storage.
Additional resources
Electronic reporting (ER) overview
Electronic reporting (ER) destinations
Configure document management
Email dest inat ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
You can configure an email destination for each FOLDER or FILE component of an Electronic reporting (ER) format
that is configured to generate outbound documents. Based on the destination setting, a generated document is
delivered as an attachment of an electronic mail.
Set Enabled to Yes to send an output file by email. After this option is enabled, you can specify the email
recipients and edit the subject and body of the email message. You can set up constant texts for the email subject
and body, or you can use ER formulas to dynamically create email texts.
You can configure email addresses for ER in two ways. The configuration can be completed in the same way that
the Print management feature completes it, or you can resolve an email address by using a direct reference to the
ER configuration through a formula.
To use email addresses that aren't fixed, you must select the email source type for a file destination. The following
values are supported: Customer , Vendor , Prospect , Contact , Competitor , Worker , Applicant , Prospective
vendor , and Disallowed vendor . After you select an email source type, use the button next to the Email source
account field to open the Formula designer form. You can use this form to attach a formula that returns at
runtime, the par ty account of the selected source type from the processed document to the email destination.
Formulas are specific to the ER configuration. In the Formula field, enter a document-specific reference to a
customer or vendor party type. Instead of typing, you can find the data source node that represents the customer
or vendor account, and then select Add data source to update the formula. For example, if you use the ISO
20022 Credit Transfer configuration, the node that represents a vendor account is
'\$PaymentsForCoveringLetter'.Creditor.Identification.SourceID .
If you enter a string value, such as "DE-001" , and save a formula, an email will be sent to the contact person of the
vendor, DE-001 .
Configuration email
Use this email type if the configuration that you use has a node in the data sources that returns an email address .
You can use data sources and functions in the formula designer to get a correctly formatted email address. For
example, if you use the ISO 20022 Credit Transfer configuration, the node that represents an email address of a
vendor's contact person is '$PaymentsForCoveringLetter'.Creditor.ContactDetails.Email .
Additional resources
Electronic reporting (ER) overview
Electronic reporting (ER) destinations
Formula designer in Electronic reporting (ER)
File dest inat ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
You can configure a file destination for each FOLDER or FILE component of an Electronic reporting (ER) format that
is configured to generate outbound documents. Based on the setting of the destination, a generated document is
available for download from the web browser.
On the Destination settings page, if you set Enabled to Yes , an open or save dialog box opens when the
configuration has finished running.
Additional resources
Electronic reporting (ER) overview
Electronic reporting (ER) destinations
Power BI dest inat ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
You can configure a Microsoft Power BI destination for each folder or file component of an Electronic reporting (ER)
format that is configured to generate outbound documents. Based on the setting of the destination, a generated
document is stored in a previously configured SharePoint folder.
Set Enabled to Yes to use your ER configuration to arrange the transfer of data from your Dynamics 365 Finance
instance to Microsoft Power BI services. The transferred files are stored on a Microsoft SharePoint Server instance
that must be configured for that purpose. For more information, see Configure Electronic reporting (ER) to pull
data into Power BI.
Additional resources
Electronic reporting (ER) overview
Electronic reporting (ER) destinations
Printer destination
3/18/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
You can send a generated document directly to a network printer for direct printing.
Prerequisites
Before you begin, you must install and configure the Document Routing Agent, and then register the network
printers. For more information, see Install the Document Routing Agent to enable network printing.
Applicability
The Printer destination can be configured only for file components that are used to generate output in either
printable PDF format (PDF Merger or PDF file format elements) or Microsoft Office Excel/Word format (Excel file).
When output is generated in PDF format, it's sent to a printer. When output is generated in Microsoft Office format,
it's automatically converted to PDF format and then sent to a printer.
Limitations
This feature is a preview feature and is subject to the terms of use that are described in Supplemental Terms of Use
for Microsoft Dynamics 365 Previews.
The Printer destination is implemented only for cloud deployments.
Use the Printer destination
1. Set the Enabled option to Yes to send a generated document to a printer.
2. In the Printer name field, select the required network printer.
3. Set the Save in print archive? option to Yes to store the generated output in the print archive, so that it's
available for further printing. To access archived output later, go to Organization administration > Inquiries
and repor ts > Repor t archive .
NOTE
The Conver t to PDF option doesn't have to be turned on when you configure the Printer destination. The PDF conversion
for printing purposes will occur even if the option is turned off.
To use a specific page orientation when you print an outbound document in Excel format, you must turn on the
Conver t to PDF option. When you set the Conver t to PDF option to Yes , the Page orientation field becomes
available. In the Page orientation field, you can select a page orientation.
Additional resources
Electronic reporting (ER) overview
Electronic reporting (ER) destinations
Screen dest inat ion
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
You can configure a screen destination for each folder or file component of an Electronic reporting (ER) format that
is configured to generate outbound documents. Based on the setting of the destination, a generated document is
opened for preview in a separate browser tab.
If you set Enabled to Yes , a preview of the output is created. You can view some file types, such as XML, TXT, or
PDF, directly in a browser window. For other file types, such Microsoft Excel or Word, the Microsoft Office Online
service is used.
Additional resources
Electronic reporting (ER) overview
Electronic reporting (ER) destinations
ER Configure destinations
3/18/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This procedure demonstrates how to set up and use different destinations for Electronic reporting (ER) output
components, such as a folder or a file. The demo data company used to create this procedure is DEMF. Germany is
the country\region of the legal entity's primary address, however you can use any legal entity for this procedure.
The format used in this example is ISO20022 Credit transfer, but you can use any format that you have already
imported. Note, this procedure is an example of a single file and a single destination setup. More information about
Electronic reporting destination management can be found in the Dynamics 365 Finance Help.
1. Go to Organization administration > Electronic reporting > Electronic reporting destination.
2. Click New to create a new set of destinations for a format.
3. In the Reference field, select a format for which you want to configure destinations.
If you don't have a value to select, it means that you have not imported any Electronic reporting format
configurations. You must import a format configuration before setting up destinations.
4. Click New to create a new file destination.
Note, you can create one file destination for each output component of the same format, such as a folder
or a file. You will be able to enable and disable destinations separately in the settings.
5. In the Name field, enter the user-friendly name of output component.
We recommend that you use meaningful names, such as "Payment file" or "Control report". These names
will be presented to users at configuration runtime along with the destination settings.
6. In the File name, select a file or folder that is specific to the format.
7. Click Settings.
8. Select Yes in the Enabled field.
The Enabled check box on each tab enables and disables each destination separately. In this example,
you'll enable sending an output file to a mail recipient when the file is generated.
9. Click Edit, to set up email recipients.
10. Click Add.
11. Click Print Management email.
12. In the Email source field, select an option.
You can select different email source types, such as a customer or a vendor type. This defines the type of
argument that will be returned by the Email source account formula. The Email source account formula,
described in a following step, is the place where you bind an email source. Select Vendor if your formula
will return a vendor account. Use Vendor if you are using the ISO 20022 Credit Transfer configuration
example.
13. Click Email source bind button.
14. In the Formula, enter a document-specific reference to a party type that you selected earlier.
Instead of typing, you can find a data source node that represents the party account, and click the Add
data source button to update the formula. For example, if you use the ISO 20022 Credit Transfer
configuration, the node representing a vendor account is
'$PaymentsForCoveringLetter'.Creditor.Identification.SourceID. Otherwise, enter any string value, such as
"DE-001", to save a formula.
15. Click Save.
16. Close the page.
17. Click Edit to configure contact details for the party.
18. Select Yes in the Primary contact field.
You may use different options to indicate what contact type of the party should be used as an email
address for this destination. We use primary contact in this example.
19. Click OK.
20. Click OK.
21. In the Subject field, type a value.
22. Click OK.
Allow users to set up an ER format reference
inquiring a format from the Global repository
3/17/2020 • 4 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
You can use the Electronic reporting (ER) framework to configure formats for outbound documents in accordance
to the legal requirements of various countries/regions. You can also use the ER framework to configure formats for
parsing inbound documents and use the information from those documents to append or update application data.
Each of these formats can used in your Dynamics 365 Finance instance for handling inbound or outbound business
documents as part of a certain business process.
Usually, you must specify what ER format must be used in a certain business process. To do that, select a single ER
format in a lookup field that is configured as part of business process-specific parameters. These lookup fields are
usually implemented by using the appropriate API of the ER framework. For more information, see ER framework
API - code to display a format mapping lookup.
For example, when you configure foreign trade parameters, you need to set up the references to individual ER
formats that will be used to generate the Intrastat declaration and the Intrastat declaration control report. The
screenshots below show how the ER formats lookup field looks like in the Foreign trade parameters page.
If the current Finance instance contains no Intrastat business process related ER formats, this lookup field will be
empty.
If the current Finance instance contains Intrastat business process related ER formats, this lookup field offers the ER
formats.
This lookup offers only the ER formats that have already been imported to the current Finance instance. To import
ER solutions to the current Finance instance, you need to have permissions to run the appropriate function of the
ER framework that supports the lifecycle of ER solutions that contain ER formats.
Starting in the Finance version 10.0.9 (April 2020 release), the user interface of the ER format lookup that is
implemented by using the ER framework API, has been extended. You can still select the existing ER formats, which
on the Select format configuration FastTab. In addition to that, the extended lookup offers the new option to
search the Global repository (GR) to locate specific ER formats. All ER formats of the GR are offered on the Impor t
from Global repositor y FastTab.
Similar to the Select format configuration FastTab, the Impor t from Global repositor y FastTab shows only
the ER formats that are applicable to the business process for which an ER format is selected in this lookup field. In
this example, the generation of Intrastat declaration. The ER format is applicable for the company to which the user
is currently signed in, depending on the company country context.
When you select an ER format on the Impor t from Global repositor y FastTab, the selected ER format
configuration is imported from the GR to the current Finance instance.
Then, if the import completes successfully, the reference to the imported ER format is stored in this lookup field.
Note that when you access the GR for the first time, you need to follow the link provided to sign up for the
Regulatory Configuration Service (RCS) that is used to manage access to the GR storage.
By default, the Impor t from Global repositor y FastTab presents the list of ER formats from the temporary
storage that is automatically created based on the GR content for performance improvements. This happens when
the Impor t from Global repositor y FastTab is opened the first time, which may take several seconds.
If you do not see the required ER format in the Impor t from Global repositor y FastTab, but you are sure that
this ER format is stored in the GR, select the Synchronize option. This will update the temporary storage and
synchronize it with the current content of the GR.
Feature activation
The availability of this functionality is controlled by the feature Extended lookup of ER format configurations
allowing to inquire the Global repositor y in the Feature management . This feature is enabled by default.
Security considerations
The Maintain configuration repositories (ERMaintainSolutionRepositories ) privilege controls access to the
GR for a user opening the ER format lookup with the enabled Impor t from Global repositor y FastTab. To allow
users to access the GR content from the ER format lookups, you need to change the security settings by granting
the ERMaintainSolutionRepositories privilege to users either directly or by using already assigned roles and
duties.
The following screenshot shows how this privilege can be granted to users who are assigned to the Accountant
role. This role makes allows users to configure foreign trade parameters and set up references to the ER formats in
the File format mapping and Repor t format mapping fields on the Foreign trade parameters page.
Limitations
Access to the GR in the ER format lookup is currently only supported for the selection of ER formats that are used
to generate outbound documents.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
You can trace the results of Electronic reporting (ER) formats that generate outgoing electronic documents. When
trace generation is turned on (by using the Run in debug mode ER user parameter), a new trace record is
generated in the ER format execution log every time that an ER report is run. The following details are stored in
each trace that is generated:
All warnings that were generated by validation rules
All errors that were generated by validation rules
All generated files that are stored as attachments of the trace record
You can store individual baseline application files for any ER format. Files are considered baseline files when they
describe the expected results of reports that are run. If a baseline file is available for an ER format that is run while
trace generation is turned on, the trace stores, in addition to the details that were mentioned earlier, the result of
the comparison of the generated electronic document with the baseline file. In one click, you can also get the
generated electronic document and its baseline file in a single zip file. You can then do detailed comparison by
using an external tool such as WinDiff.
You can evaluate the trace to analyze whether the electronic documents that are generated include the expected
content. You can do this evaluation in a user acceptance testing (UAT) environment when the code base has been
changed (for example, when you migrated to a new instance of the application, installed hotfix packages, or
deployed code modifications). In this way, you can make sure that the evaluation doesn't affect the execution of ER
reports that are used. For many ER reports, the evaluation can be done in unattended mode.
To learn more about this feature, play the ER Generate repor ts and compare results (Par t 1) and ER
Generate repor ts and compare results (Par t 2) task guides, which are part of the 7.5.4.3 Test IT
ser vices/solutions (10679) business process and can be downloaded from the Microsoft Download Center.
These task guides walk you through the process of configuring the ER framework to use baseline files to evaluate
generated electronic documents.
NOTE
A new document type that has the same name must be configured for each data set where you plan to use the ER baseline
feature.
2. On the Attachments tab, in the Baseline field, enter or select the document type that you just created.
3. Select Save , and then close the Electronic repor ting parameters page.
Add a new ER model configuration
1. In the Electronic repor ting workspace, in the Configurations section, select the Repor ting
configurations tile.
2. On the Action Pane, select Create configuration .
3. In the drop-down dialog box, in the Name field, enter Model to learn ER baselines .
4. Select Create configuration to confirm the creation of a new ER data model entry.
Design a format
For this example, you will create a simple ER format to generate XML documents.
1. On the Configurations page, on the Action Pane, select Designer .
2. Select Add root .
3. In the drop-down dialog box, follow these steps:
a. In the tree, select Common\File .
b. In the Name field, enter Output .
c. Select OK .
4. Select Add .
5. In the drop-down dialog box, follow these steps:
a. In the tree, select XML\Element .
b. In the Name field, enter Document .
c. Select OK .
6. In the tree, select Output\Document .
7. Select Add .
8. In the drop-down dialog box, follow these steps:
a. In the tree, select XML\Attribute .
b. In the Name field, enter ID .
c. Select OK .
4. Save a local copy of the out.Admin.xml file that is generated, so that you can use it later as a baseline for
this ER format.
NOTE
You can define the file name mask. When the file name mask is defined, the baseline record will be used to evaluate
the generated output only when the name of the output file that is generated satisfies that mask.
9. If the configured baseline should be used only when the Format to learn ER baselines ER format is run
by users who are signed in to specific companies, select those companies in the Companies field.
10. In the Baseline field, enter or select the out.Admin attachment.
11. Select Save .
Run the designed ER format and review the log to analyze the results
1. Go to Organization administration > Electronic repor ting > Configurations .
2. In the tree, expand Model to learn ER baselines , and then select Model to learn ER
baselines\Format to learn ER baselines .
3. On the Versions FastTab, select Run .
4. In the Enter ID field, enter 1 .
5. Select OK .
6. Go to Organization administration > Electronic repor ting > Configuration debug logs .
NOTE
The execution log contains information about the results of the comparison of the generated file with the configured
baseline. In this example, the log indicates that the generated file and the baseline are equal.
7. Select Compare .
NOTE
The generated file and the baseline file are offered as a zip file. You can use external comparison tools such as WinDiff to
compare the files and review the differences.
Additional resources
Configure the Electronic reporting (ER) framework
Improvements in tracing the results of generated ER
reports and comparing them with baseline values
11/5/2019 • 7 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This topic describes the first set of improvements that have been made to the baseline feature of the Electronic
reporting (ER) framework. These improvements are available in Microsoft Dynamics 365 for Finance and
Operations version 10.0.3 (June 2019) and later.
NOTE
These steps must be done manually, even though the new ER capabilities enable them to be automated. To learn more about
this feature, complete the following example.
The baseline has been added for the selected Format to learn ER baselines format, but the baseline rules
haven't yet been added for this baseline.
The generated outbound file has been automatically attached to the baseline of the executed ER format. The
baseline rule has been automatically added to this baseline and also contains the reference to the attached
file.
9. In the Name field, enter Baseline 1 .
10. In the File name mask field, enter .xml .
11. Select Save .
Run the format
You're now ready to complete the remaining steps in the example in the Trace generated report results and
compare them with baseline values topic, starting from the "Run the designed ER format and review the log to
analyze the results" section.
NOTE
When you delete the automatically added baseline rule on the Baselines FastTab, the referenced attachment isn't
automatically deleted.
NOTE
The Test result tab shows that the configured expression returns a different date and time value whenever it's called.
15. Close the Formula designer page, and then select Save .
The selected ER format component has been added to the list of components on the Replacements FastTab. When
the base ER format is run in debug mode, the format's binding for each component will be replaced by the binding
that is shown in the Binding column. To change the default binding for a component that is listed on the
Replacements FastTab, select Edit .
Make a new baseline rule
Follow the steps in the "Example: Automate the setting of baseline rules" section earlier in this topic. A notification
warns you that the outbound file has been generated by using baseline settings, and that a forced replacement of
the format bindings has occurred.
Suppress warnings about the replacement of format bindings
By setting specific ER parameters, you can suppress notifications that warn about the replacement of format
bindings. This suppression can be useful when format bindings are replaced in an unattended mode by using the
Regression Suite Automation Tool. In this case, the warning can be considered a failure of the test case that is
running.
1. On the Configurations page, on the Action Pane, on the Configurations tab, select User parameters .
2. Set the Suppress baseline warnings option to Yes , and then select OK .
Review the generated baseline file
1. Go to Organization administration > Electronic repor ting > Configurations .
2. Select Baselines .
3. Select Attachments .
NOTE
The generated file contains the processing date and time text ("#") from the binding that was configured in the added
baseline rule, not from the format's binding.
To import baseline settings from an XML file that is stored on the Microsoft SharePoint Server, based on the current
Document management settings and the selected document type, on the Electronic repor ting format
baselines page, select Impor t from source . Then select the document type and the XML file. The required
document type to access the SharePoint folder must be configured in advance.
NOTE
You can use Task recorder to record the steps for selecting the required document type and the file name in the Impor t
from source dialog box. In this way, you can keep required baseline settings on SharePoint Server and then automatically
import them by playing a task recording when you run automated tests by using the Regression Suite Automation Tool.
Additional resources
Trace generated report results and compare them with baseline values
Task recorder resources
Automate testing with Electronic reporting
11/5/2019 • 13 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This topic explains how you can use the Electronic reporting (ER) framework to automate testing of some
functionality. The example in this topic shows how to automate the testing of vendor payment processing.
The application uses the ER framework to generate payment files and corresponding documents during vendor
payment processing. The ER framework consists of a data model, model mappings, and format components that
support payment processing for different payment types and the generation of documents in different formats.
These components can be downloaded from Microsoft Dynamics Lifecycle Services (LCS) and imported into the
instance.
You also can customize each Microsoft component and use it as the basis of your own custom component. By
creating a custom version, you can make changes that support specific requirements. For example, you can adjust
the ER data model and ER model mapping to access customer-specific application data, or you can change an ER
format to modify the layout of a generated document.
You can use customized ER formats to process payment files that generate vendor payments and also to process
control reports. Versioning is supported in ER components. Therefore, Microsoft can provide updated versions of
ER solutions for vendor payment processing, and you can automatically merge the updated version with your
customized component by rebasing it. However, you must test the rebased version to make sure that it works as
you expect.
ER data models and ER model mappings are common for many ER formats that are used to process payments of
different types and to generate country/region-specific payment documents. Therefore, it's highly desirable to
automate user acceptance and integration testing so that it's automatically done in multiple companies but
considers the country/region context of each target company, uses different datasets, and so on.
For more information about how to create a custom version of a format that is based on the format that you
received from a configuration provider, see ER Upgrade your format by adopting a new, base version of that format.
Key concepts
Functional power users can author user acceptance and integration testing without having to write source code.
Use the ER baseline feature to compare generated documents to master copies. For more information, see
Trace generated report results and compare them with baseline values.
Use Task recorder to record test cases, and include baseline assessment. For more information, see Task
recorder resources.
Group test cases for required test scenarios. For more information, see Create and automate user acceptance
tests.
Use Business process modeler (BPM) in LCS to make libraries for user acceptance tests.
Use BPM test libraries to create a test plan and test suites in Microsoft Azure DevOps Services (Azure
DevOps).
Functional power users can run user acceptance and integration tests.
Use Regression suite automation tool (RSAT) to run test cases of the desired test suite.
Report the results of the testing to Azure DevOps, and use this service to investigate those results.
Prerequisites
Before you can complete the tasks in this topic, you must complete the following prerequisites:
Deploy a topology that supports test automation. You must have access to the instance of this topology for
the System administrator role. This topology must contain the demo data that will be used in this
example. For more information, see Deploy and use an environment that supports continuous build and test
automation.
To run user acceptance and integration tests automatically, you must install RSAT in the topology that you're
using and configure it in the appropriate manner. For information about how to install and configure RSAT
and configure it to work with Finance and Operations apps and Azure DevOps, see Regression Suite
Automation Tool. Pay attention to the prerequisites for using the tool. The following illustration shows an
example of the RSAT settings. The blue rectangle encloses the parameters that specify access to Azure
DevOps. The green rectangle encloses the parameters that specify access to the instance.
To organize test cases in suites to help guarantee the correct execution sequence, so that you can collect logs
of test executions for further reporting and investigation, you must have access to Azure DevOps from the
deployed topology.
To complete the example in this topic, we recommend that you download ER usage for RSAT tests. This zip
file contains the following task guides:
C O N T EN T F IL E N A M E A N D LO C AT IO N
3. Select the GBSI demo data company, which has a country/region context in Great Britain.
4. Configure Accounts payable parameters:
a. Go to Accounts payable > Payment setup > Methods of payment .
b. Select the Electronic method of payment.
c. Configure the selected method of payment so that it uses the BACS (UK) ER format that you
downloaded earlier for vendor payment processing:
a. On the File formats FastTab, set the Generic electronic Expor t format option to Yes .
b. In the Expor t format configuration field, select BACS (UK) .
NOTE
If you have the derived version of this ER format that was created to support customizations, you can select this
configuration in the Electronic method of payment.
c. Select Lines , and enter a line that has the following information.
F IEL D EXA M P L E VA L UE
Debit 1,000.00
Currency GBP
3. Clean up the ER debug log that contains the results of the comparison of generated files to baselines.
Record the steps to test vendor payment processing
We recommend that you play (and edit, as required) the Process\Recording.xml task recording that you
downloaded earlier. This recording is used to process vendor payments and validate the results of the comparison
of generated documents to corresponding baselines.
1. Select the Settings button (the gear symbol).
2. Select Task recorder .
3. Select Playback recording .
4. Select Open from this PC .
5. Select Browse , and select the locally saved Process\Recording.xml file.
6. Select Star t .
7. Keep selecting Play next pending step until all the steps in the recording have been played.
This task recording performs the following actions:
1. Start vendor payment processing.
2. Select the correct runtime parameters, and turn on generation of a control report.
3. Access the ER debug log to record the results of the comparison of generated outputs to corresponding
baselines.
In the ER debug log, the results of the comparison appear in the Generated text field. The Format
component and Format path that caused a log entr y fields refer to the file component for which the
generated output has been compared to the baseline.
4. The comparison of the current output to the baseline is recorded by using the Validate Task recorder option
and selecting Current Value .
The following illustration shows what the recorded validation steps look like in the task recording.
Add the recorded tests to Azure DevOps
1. Open the Azure DevOps environment.
2. Select the project that you defined in the RSAT parameters when you configured the tool.
3. Select the test plan that you defined in the RSAT parameters when you configured the tool.
4. Create a new test case for the selected test plan:
a. Name the test case Prepare data to test processing of vendor's electronic payment .
b. Attach the Recording.xml file from the Prepare folder that you downloaded earlier.
5. Create a new test case for the selected test plan:
a. Name the test case Test processing of vendor payments by using ER format BACS (UK) .
b. Attach the Recording.xml file from the Process folder that you downloaded earlier.
NOTE
Pay attention to the correct execution order of the tests that are added.
You can access the status of each test. You can also access the execution log so that you analyze the reasons for any
failure. In the following illustration, the execution log shows that the failure occurred because of the difference in
content between the generated payment file and its baseline.
Therefore, as you've seen, the functioning of any ER format can be evaluated automatically by using RSAT as the
testing platform and by using Task recorder-based test cases that use the ER baseline feature.
Additional resources
Task recorder resources
Regression suite automation tool
Create and automate user acceptance tests
Deploy and use an environment that supports continuous build and test automation
Trace generated report results and compare them with baseline values
ER Upgrade your format by adopting a new, base version of that format
ER Import a configuration from Lifecycle Services
Configure Electronic reporting (ER) to pull data into
Power BI
11/5/2019 • 8 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This topic explains how you can use your Electronic reporting (ER) configuration to arrange the transfer of data
from your instance to Power BI services. As an example, this topic uses Intrastat transactions as business data that
must be transferred. The Power BI map visualization uses this Intrastat transaction data to present a view for
analysis of company import/export activities on the Power BI report.
Overview
Microsoft Power BI is a collection of software services, apps, and connectors that work together to turn external
sources of data into coherent, visually immersive, and interactive insights. Electronic reporting (ER) lets users easily
configure data sources and arrange the transfer of data from the application to Power BI. The data is transferred as
files in the OpenXML worksheet (Microsoft Excel workbook file) format. The transferred files are stored on a
Microsoft SharePoint Server that has been configured for that purpose. The stored files are used in Power BI to
make reports that include visualizations (tables, charts, maps, and so on). Power BI reports are shared with Power
BI users, and they are accessed in Power BI dashboards and on the application pages. This topic explains the
following tasks:
Configure Microsoft Dynamics 365 Finance.
Prepare your ER format configuration to get data from the Finance application.
Configure the ER environment to transfer data to Power BI.
Use transferred data to create a Power BI report.
Make the Power BI report accessible in Finance.
Prerequisites
To complete the example in this topic, you must have the following access:
Access for one of the following roles:
Electronic reporting developer
Electronic reporting functional consultant
System administrator
Access to the SharePoint Server that is configured for use with the application
Access to the Power BI framework
3. Open the configured SharePoint site. Create a new folder where ER will store Excel files that have the
business data that the Power BI reports require as a source of Power BI datasets.
4. On the Document types page, create a new document type that will be used to access the SharePoint
folder that you just created. Enter File in the Group field and SharePoint in the Location field, and then
enter the address of the SharePoint folder.
Configure ER parameters
1. In the Electronic repor ting workspace, click the Electronic repor ting parameters link.
2. On the Attachments tab, select the File document type for all the fields.
3. In the Electronic repor ting workspace, make the required provider active by clicking Set active . For more
information, play the ER Select ser vice provider task guide.
To modify the Impor t / expor t activities format configuration, follow these steps.
1. Click Designer .
2. On the Format tab, name the file element for this format Excel output file .
3. On the Mapping tab, specify the name of the Excel file that will be generated whenever this format is run.
Configure the related expression to return the value Impor t and expor t details (the .xlsx file name
extension will be added automatically).
4. Add a new data source item for this format. (This enumeration will be required for further data binding.)
a. Name the data source direction_enum .
b. Select Data model enumeration as the data source type.
c. Refer to the Direction data model enumeration.
5. Complete the binding of elements of the Intrastat data model and elements of the designed format, as
shown in the following illustration.
After it's run, the ER format generates the output result in Excel format. It sends the details of the Intrastat
transactions to the output result, and separates them as transactions that describe either import activities or export
activities. Click Run to test the new ER format for the list of Intrastat transactions on the Intrastat page (Tax >
Declarations > Foreign trade > Intrastat ).
The following output result is generated. The file is named Impor t and expor t details.xlsx , as you specified in
the format settings.
3. Select the completed version of the Impor t / expor t activities configuration, and then click Run . Note
that the configured destination is applied to the output result that is generated in Excel format.
4. Set the Batch processing option to Yes to run this report in unattended mode.
5. Click Recurrence to schedule the required recurrence of this batch execution. The recurrence defines how
often the updated data will be transferred to Power BI.
6. After it's configured, you can find the ER report execution job on the Batch jobs page (System
administration > Inquiries > Batch jobs ).
7. When this job is run for the first time, the destination creates a new Excel file that has the configured name
in the selected SharePoint folder. Every subsequent time that the job is run, the destination creates a new
version of this Excel file.
Create a Power BI dataset by using the output result of the ER format
1. Sign in to Power BI, and either open an existing Power BI group (workspace) or create a new group. Either
click Add under Files in the Impor t or Connect to Data section, or click the plus sign (+ ) next to
Datasets in the left pane.
2. Select the SharePoint – Team sites option, and then enter the path of SharePoint Server that you're using
( https://ax7partner.litware.com in our example).
3. Browse to the /Shared Documents/GER data/PowerBI folder, and select the Excel file that you created as
the source of data for the new Power BI dataset.
4. Click Connect , and then click Impor t . A new dataset is created that is based on the selected Excel file. The
dataset can also be added automatically to the newly created dashboard.
5. Configure the refresh schedule for this dataset to force a periodic update. Periodic updates enable the
consumption of new business data that comes via periodic execution of the ER report through new versions
of the Excel file that are created on the SharePoint Server.
5. Wait for the next scheduled execution of the ER report and the next scheduled update of the Power BI
dataset. Then review the Power BI report (select to show import transactions only). The updated map now
shows Italy.
Additional resources
Electronic reporting (ER) destinations
Electronic reporting (ER) overview
Generate printable FTI forms
11/5/2019 • 10 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The Electronic reporting (ER) framework lets you generate printable free text invoice (FTI) forms as Microsoft Office
documents. This topic provides information about how to build your own configurations as well as details of
available configuration templates.
Overview
In addition to the existing capability of generating printable FTI forms by using Microsoft SQL Server Reporting
Services (SSRS), you can now use the ER framework. You can manage printable FTI forms in Microsoft Office Excel
and Word. You can also modify the layout, data flow, and formatting to meet specific requirements without making
code changes.
NOTE
If you want to start with an overview of existing ER configurations for this sample of the printable FTI forms solution, you can
go directly to section Download sample ER configurations to generate printable FTI forms later in this topic.
NOTE
This format configuration must be created for the CustomersInvoicing data model, and it must use the model mapping that
has the FreeTextInvoice root descriptor.
For information about how to configure ER formats, see ER Create a format configuration (November 2016). For
information about how to design ER formats to generate reports in OpenXML format, see ER Design a
configuration for generating reports in OPENXML format (November 2016).
NOTE
When you use ER formats to print FTI forms in this way, the default ER file destinations are used. You can change the default
destination at runtime if the destination has already been configured. To change the destination, you must have the following
security privilege:
Name: ERFormatDestinationRuntimeMaintain
Label: Maintain electronic reporting format destination during runtime
The ER framework currently supports the following destinations for generated documents:
Downloaded file – Generated forms are offered as downloads that you can save by using the browser.
Screen – Microsoft Office 365 Excel is used to preview generated FTI forms in Excel format.
SharePoint folder – Generated forms are stored based on the settings of the Document management
framework.
Application archive – Generated forms are stored as attachments of execution log records in the Microsoft
Azure Storage.
Email – Generated forms are sent as email attachments.
NOTE
You can't send the FTI forms that are generated directly to the printer, because direct printing that uses the Dynamics Printer
Routing Agent isn't currently supported.
NOTE
These configurations have been created as samples to help clarify possible scenarios. The future of these configurations
depends on the results of this evaluation and any feedback that is received.
Currently, this sample ER format supports the following features to generate FTI forms:
FTI forms are generated for both original invoices that have been posted and original invoices that haven't yet
been posted. Corrected invoices and credit notes aren't supported.
FTI forms are generated in the invoice language. The format of values and dates in the generated forms is based
on the settings of the user's client locale.
Generated invoices show data unavailability notifications if there are no lines in the invoices that are processed.
Generated invoice headers are based on the paper format that has been selected for the FTI form on the
Accounts receivable parameters page. Company details appear in the header of the generated invoice form
only if the paper format is blank.
Generated invoice forms show company and customer tax exempt numbers when the appropriate option has
been selected for the FTI form on the Accounts receivable parameters page.
The generated invoice lines and invoice totals sections show the default invoice's monetary details in the invoice
registration currency.
The generated invoice totals section can show monetary details in the euro currency and the invoice registration
currency when the Print amount in currency representing the euro option is enabled on the Accounts
receivable parameters page.
Generated invoice forms show any process invoice notes that are available, based on settings on the Accounts
receivable parameters page. Notes are included for both the whole invoice and each invoice line.
Generated invoice forms include notes for the customer FTI form and the processing invoice language when
they have been configured in the AR form notes list.
Depending on the Print management settings, generated invoices include custom footer text when it has been
configured for the invoice language, the ER format, and the FTI document scope.
The totals section of generated invoice forms includes any cash discount information that is available.
The payment schedule section of generated invoice forms includes any payment schedule details that are
available.
The markup section of generated invoice forms includes any charges transactions that are available.
Generated invoice forms include sales tax details, based on the Sales tax specification setting on the
Accounts receivable parameters page. This section can show tax details either in the invoice registration
currency only, or in the invoice registration currency and the company accounting currency at the same time.
Generated invoice forms show direct debit notification details. For example, they show when the method of
payment that has the mandatory direct debit mandate ID was selected for the invoice, when the processing
invoice was registered in the euro currency, and when the direct debit mandate ID was defined for the invoice.
Generated invoices show any prepayment details that are available for posted invoices.
Generated invoice forms can be sent to an invoice customer as an email attachment. The appropriate ER file
destination should be configured for the ER format that is being used.
Country/region-specific features
The following country/region-specific features are included in the sample ER format to show how specific
requirements can be handled in ER configurations.
Norway
The Enterprise register term is put on the header of the generated invoice form when the invoice is processed for a
legal entity that is configured in the following manner:
The country/region context for Norway is used.
The Print Foretaksregisteret parameter is active on sales documents.
Spain
The Special regime for cash accounting method term is put on the header of the generated invoice form
when the invoice is processed for a legal entity that is configured in the following manner:
The country/region context for Spain is used.
The special regime for the cash accounting method is enabled on the invoice processing date.
When cash discount details, such as the cash discount amount and invoice line net amount, are available, they are
presented in the invoice totals section of the generated invoice form when it has been processed for a legal entity
that is configured in the following manner:
The country/region context for Spain is used.
Cash discount is applied in the invoice is turned on in the invoice option (General ledger parameters >
Sales tax section ).
Italy
The goods discount mark is included on the invoice lines of the generated invoice when it's being processed for a
legal entity that is configured using the country/region context for Italy.
Finland
In addition to the generated invoice form, Giro money transfer slips can be generated as follows:
For the legal entity that uses the country/region context for Finland, and that has at least one bank account that
is marked as Giro account and Bank bar code .
For an invoice that is marked as required for the Finnish associated payment attachment.
NOTE
The sample ER format has been configured to optionally generate the Giro money transfer slips in the separate worksheet.
NOTE
You must first install the font that is used to generate the bar code on the local machine where the generated invoice form in
Excel format will be previewed.
NOTE
The ERFTITMP email template ID has been defined in the sample ER format. It can be changed as required in a new ER
format that is created from this sample format.
If the organization email template that has the predefined ERFTITMP ID has been added for the legal entity that
you're processing the invoice for, the template for the email subject and body text will be used to generate the
email.
The Emailing.TxtToUse.Subject ER expression of the sample ER format is configured to replace any occurrences
of the placeholder %1 by the processing invoice ID.
The Emailing.TxtToUse.Body expression of the sample format is configured for the following substitutions for
placeholders:
"%1" is replaced with the name of the customer's contact person.
"%2" is replaced with the company name.
"%3" is replaced with the customer name.
"%4" is replaced with the name of the company's contact person.
"%5" is replaced with the job title of the company's contact person.
"%6" is replaced with the email address of the company's contact person.
Additional resources
Electronic reporting (ER) overview
Trace the execution of ER formats to troubleshoot
performance issues
10/3/2019 • 15 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
As part of the process of designing Electronic reporting (ER) configurations to generate electronic documents, you
define the method that is used to get data out of the application and enter it in the output that is generated. The ER
performance trace feature helps significantly reduce the time and cost that are involved in collecting the details of
ER format execution and using them to troubleshoot performance issues. This tutorial provides guidelines about
how to take performance traces for executed ER formats, and how to use the information from these traces to help
improve performance.
Prerequisites
To complete the examples in this tutorial, you must have the following access:
Access to one of the following roles:
Electronic reporting developer
Electronic reporting functional consultant
System administrator
Access to the instance of Regulatory Configuration Services (RCS) that has been provisioned for the same
tenant as the application, for one of the following roles:
Electronic reporting developer
Electronic reporting functional consultant
System administrator
You must also download and locally store the following files.
F IL E C O N T EN T
Configure ER parameters
Each ER performance trace that is generated in the application is stored as an attachment of the execution log
record. The Document management (DM) framework is used to manage these attachments. You must configure
ER parameters in advance, to specify the DM document type that should be used to attach performance traces. In
the Electronic repor ting workspace, select Electronic repor ting parameters . Then, on the Electronic
repor ting parameters page, on the Attachments tab, in the Others field, select the DM document type to use
for performance traces.
To be available in the Others lookup field, a DM document type must be configured in the following manner on
the Document types page (Organization administration > Document management > Document types ):
Class: Attach file
Group: File
NOTE
The selected document type must be available in every company of the current instance, because DM attachments are
company-specific.
Design an ER solution
Assume that you've started to design a new ER solution to generate a new report that presents vendor
transactions. Currently, you can find the transactions for a selected vendor on the Vendor transactions page (go
to Account payable > Vendors > All vendors , select a vendor, and then, on the Action Pane, on the Vendor
tab, in the Transactions group, select Transactions ). However, you want to have all vendor transaction at the
same time in one electronic document in XML format. This solution will consist of several ER configurations that
contain the required data model, metadata, model mapping, and format components.
1. Sign in to the instance of RCS that has been provisioned for your company.
2. In this tutorial, you will create and modify configurations for the Litware, Inc. sample company. Therefore,
make sure that this configuration provider has been added to RCS and selected as active. For instructions,
see the Create configuration providers and mark them as active procedure.
3. In the Electronic repor ting workspace, select the Repor ting configurations tile.
4. On the Configurations page, import the ER configurations that you downloaded as a prerequisite into
RCS, in the following order: data model, metadata, model mapping, format. For each configuration, follow
these steps:
a. On the Action Pane, select Exchange > Load from XML file .
b. Select Browse to select the appropriate file for the required ER configuration in XML format.
c. Select OK .
Run the ER solution to trace execution
Assume that you've finished designing the first version of the ER solution. You now want to test it in your instance
and analyze execution performance.
Import an ER configuration from RCS into Finance and Operations
1. Sign in to your application instance.
2. For this tutorial, you will import configurations from your RCS instance (where you design your ER
components) into your instance (where you test and finally use them). Therefore, you must make sure that
all the required artifacts have been prepared. For instructions, see the Import Electronic reporting (ER)
configurations from Regulatory Configuration Services (RCS) procedure.
3. Follow these steps to import the configurations from RCS into the application:
a. In the Electronic repor ting workspace, on the tile for the Litware, Inc. configuration provider, select
Repositories .
b. On the Configuration repositor y page, select the repository of the RCS type, and then select Open .
c. On the Configurations FastTab, select the Performance trace format configuration.
d. On the Versions FastTab, select version 1.1 of the selected configuration, and then select Impor t .
The corresponding versions of the data model and model mapping configurations are automatically imported as
prerequisites for the imported ER format configuration.
Turn on the ER performance trace
1. Go to Organization administration > Electronic repor ting > Configurations .
2. On the Configurations page, on the Action Pane, on the Configurations tab, in the Advanced settings
group, select User parameters .
3. In the User parameters dialog box, in the Execution tracing section, follow these steps:
a. In the Execution trace format field, select Debug trace format to start to collect the details of ER
format execution. When this value is selected, the performance trace will collect information about
the time that is spent on the following actions:
Running each data source in the model mapping that is called to get data
Processing each format item to enter data in the output that is generated
You use the Execution trace format field to specify the format of the generated performance trace
that the execution details are stored in for ER format and mapping elements. By selecting Debug
trace format as the value, you will be able to analyze the content of the trace in ER Operation
designer, and see the ER format or mapping elements that are mentioned in the trace.
b. Set the following options to Yes to collect specific details of the execution of the ER model mapping
and ER format components:
Collect quer y statistics – When this option is turned on, the performance trace will collect
the following information:
The number of database calls that were made by data sources
The number of duplicate calls to the database
Details of the SQL statements that were used to make database calls
Trace access of caching – When this option is turned on, the performance trace will collect
information about the ER model mapping's cache usage.
Trace data access – When this option is turned on, the performance trace will collect
information about the number of calls to the database for executed data sources of the record
list type.
Trace list enumeration – When this option is turned on, the performance trace will collect
information about the number of records that are requested from data sources of the record
list type.
NOTE
The parameters in the User parameters dialog box are specific to the user and the current company.
4. On the Attachments for Electronic repor ting run logs page, on the Action Pane, select Open to get
the performance trace as a zip file and store it locally.
NOTE
The trace that is generated has a reference to the source ER report via a unique report identifier in GUID format only. The
version numbering of the format isn't considered.
Notice that the association between the performance trace that has been generated for the executed ER format
and the ER model mapping is based on the root descriptor that was used and the common data model. The
version numbering of the format and model mapping isn't considered. The setting of the Default for model
mapping flag for the model mapping also isn't considered.
Import the generated trace into RCS
1. In RCS, in the Electronic repor ting workspace, select the Repor ting configurations tile.
2. On the Configurations page, in the configuration tree, expand the Performance trace model item, and
select the Performance trace format item.
3. On the Action Pane, select Designer .
4. On the Format designer page, on the Action Pane, select Performance trace .
5. In the Performance trace result settings dialog box, select Impor t performance trace .
6. Select Browse to select the zip file that you exported earlier.
7. Select OK .
The value [Q:530] indicates that the VendTrans table was called 530 times to return a record from that table to the
VendTable/<Relations/VendTrans.VendTable_AccountNum data source. The value [530] indicates that the
VendTable/<Relations/VendTrans.VendTable_AccountNum data source was called 530 times to return a record
from that data source and enter the details from it in the data model.
We recommend that you use caching for the VendTable/<Relations/VendTrans.VendTable_AccountNum data
source, to reduce the number of calls that are made to get the details for 265 transactions and help improve the
performance of the model mapping.
It can also be useful to reduce the number of calls that are made to the LedgerTransTypeList data source. This data
source is used to associate each value of the LedgerTransType enumeration with its label. By using this data
source, you can find an appropriate label and enter it in the data model for each vendor transaction. The current
number of calls to this data source (9,027) is quite high for 265 transactions.
Improve the model mapping based on information from the execution
trace
Modify the logic of the model mapping
1. Follow these steps to use caching, to help prevent duplicate calls to the database:
a. In RCS, on the Model mapping designer page, in the Data sources pane, select the VendTable item.
b. Select Cache .
c. Expand the VendTable item, expand the list of one-to-many relations for the VendTable data source (the
<Relations item), and select the VendTrans.VendTable_AccountNum item.
d. Select Cache .
2. Follow these steps to bring the LedgerTransTypeList data source into the scope of the VendTable data
source:
a. In the Data source types pane, expand the Functions item, and select the Calculated field item.
b. In the Data sources pane, select the VendTable item.
c. Select Add .
d. In the Name field, enter $TransType .
e. Select Edit formula .
f. In the Formula field, enter LedgerTransTypeList .
g. Select Save .
h. Close the Formula editor page.
i. Click OK .
3. Follow these steps to do caching of the $TransType field:
a. Select the LedgerTransTypeList item.
b. Select Cache .
c. Select the VendTable.$TransType item.
d. Select Cache .
4. Follow these steps to change the $TransTypeRecord field so that it starts to use the cached $TransType
field:
a. In the Data sources pane, expand the VendTable item, expand the <Relations item, expand the
VendTrans.VendTable_AccountNum item, and select the VendTable.
VendTrans.VendTable_AccountNum.$TransTypeRecord item.
b. Select Edit .
c. Select Edit formula .
d. In the Formula field, find the following expression:
FIRSTORNULL (WHERE (LedgerTransTypeList, LedgerTransTypeList.Enum = @.TransType))
e. In the Formula field, enter the following expression:
FIRSTORNULL (WHERE (VendTable.'$TransType', VendTable.'$TransType'.Enum = @.TransType)).
f. Select Save .
g. Close the Formula editor page.
h. Select OK .
5. Select Save .
6. Close the Model mapping designer page.
7. Close the Model mappings page.
Complete the modified version of the ER model mapping
1. In RCS, on the Configurations page, on the Versions FastTab, select version 1.2 of the Performance trace
mapping configuration.
2. Select Change status .
3. Select Complete .
Import the modified ER model mapping configuration from RCS into the application
Repeat the steps in the Import an ER configuration from RCS into Finance and Operations section earlier in this
topic to import version 1.2 of the Performance trace mapping configuration.
If you use one of these versions, you can analyze the details of generated performance traces directly in the
application. You don't have to export them from the application and import them into RCS.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
Business users use the Electronic reporting (ER) framework to configure formats for outbound documents in
accordance with the legal requirements of various countries/regions. Users can also define the dataflow to specify
what application data is placed in generated documents. The ER framework generates outbound documents in
Microsoft Office formats (Excel workbooks or Word documents) by using predefined templates. The templates are
populated with required data in accordance to configured dataflow while required documents are generated. Each
configured format can be published as part of an ER solution to generate specific outbound documents. This is
represented by an ER format configuration that can contain templates you can use to generate different outbound
documents. Business users can use this framework to manage required business documents.
Business document management is built on top of the ER framework and enables business users to edit
business document templates by using Microsoft Office 365 service or appropriate Microsoft Office desktop
application. Edits to the documents might include changing business document designs and adding placeholders
for additional data without source code changes and new deployments. No knowledge of the ER framework is
required to update templates of business documents.
NOTE
Be aware that Business document management allows you to modify templates that are used to produce business
documents such as orders, invoices, etc. While a template has been modified and a new version of it has been published, this
version is used to generate required business documents. Business document management cannot be used to modify
already generated business documents.
Supported deployments
Currently, the Business document management feature is implemented only for cloud deployments. If this feature
is critical to your on-premises deployment, let us know by providing feedback on the Ideas site.
Configure ER parameters
Because Business document management is built on top of the ER framework, you must configure the ER
parameters to start working with Business document management. To do this, you need to set up the ER
parameters as described in Configure the Electronic reporting (ER) framework. You also need to add a new
configuration provider as described in Create configuration providers and mark them as active.
Import ER solutions
Sample ER configurations are used in the example of this procedure. You must import, into your current instance
of Dynamics 365 Finance, the ER configurations that contain the business document templates that can be edited
by using Business document management. Download, and then locally store the following files to complete this
procedure.
Sample ER customer invoicing solution
F IL E C O N T EN T
F IL E C O N T EN T
Use the following procedure to import each file. Import the ER data model configuration of each ER solution in the
tables above before you import the corresponding ER format configuration.
1. Open the Organization administration > Electronic repor ting > Configurations page.
2. On the top of the page, select Exchange .
3. Select Load from XML file .
4. Select Browse to load the required XML file.
5. Select OK to confirm configuration's import.
Alternatively, you can import the officially published ER format configurations from Microsoft Dynamics Lifecycle
Service (LCS). For example, to complete this procedure you can import the latest version of the Free text invoice
(Excel) ER format configuration. The corresponding ER data model and ER model mapping configurations will be
imported automatically.
For more information about importing ER configurations, see Manage the ER configuration lifecycle.
NOTE
For more information about using the new document user interface in Business document management, see New document
user interface in Business document management.
For more information about activating new features, see Feature management overview.
Configure parameters
Use the information in the following sections to set up the basic parameters for Business document management.
Prerequisites for parameter setup
Before you can set up Business document management, you must set up the required document type in the
Document management framework. This document type is used to specify a temporary storage of documents in
Office formats (Excel and Word) that are used as templates for ER reports. The temporary storage template can be
edited by using the Office desktop applications.
For this document type, the following attribute values must be selected.
AT T RIB UT E N A M E AT T RIB UT E VA L UE
Group File
Location SharePoint
For information about how to set up the required document management parameters and document types, see
Configure document management.
Basic Business document management parameters can be set up on the Business document parameters page.
Set up parameters
NOTE
Only document types that are configured using a SharePoint location are available for this parameter.
The selected document type is company-specific and will be used when the user is working with Business
document management in the company for which the selected document type is configured. When the user is
working with Business document management in another company, the same selected document type will be used
if one has not been configured for this company. When a document type has been configured, it will be used
instead of the one selected in the SharePoint document type field.
NOTE
The SharePoint document type parameter defines a SharePoint folder as temporary storage for templates that are
editable using either Microsoft Excel or Word. You need to set up this parameter if you plan to use these Office desktop
applications for editing templates. For more information, see Edit a template in the Office desktop application. You can keep
this parameter blank if you plan to modify the template by only using the functionality in Office 365. For more information,
see Edit a template in Office 365.
With this setting, every user assigned to any security role that is configured to perform the Manage
Business document templates (AOT name ERBDManageTemplates ) duty is able to open the Business
document management workspace and can edit any template that is available.
The following graphic shows what is available in the Business document management workspace for users
assigned to the Accounts receivable clerk role. With the current access permissions setting, the user can
edit business document templates from different functional areas including invoicing, regulatory reporting,
and payments.
3. On the Configurator of access permissions page, select Access permissions setting .
4. In the Settings of access permissions to edit templates dialog box, enable the Apply configured
access permissions option.
5. Select OK to confirm that Business document management access permissions have been enabled.
6. Select Add to enter a new business role for which permissions to access Business document management
templates must be configured.
7. In the Security roles dialog box, select the Accounts receivable clerk role and then select OK to confirm
the role selection.
8. On the Access permissions per tags of configurations tab, select New .
9. In the Tag type field, select Functional area , and in the ID field, select Invoicing .
10. Select Save to store configured access permissions for the selected role.
The current setting means that for any user who is assigned to the Accounts receivable clerk role and
performing the duty, Manage Business document templates (AOT name ERBDManageTemplates ), ER
format configuration templates that have the Invoicing value for the Functional area tag will be available
to edit in the Business document management workspace.
11. Switch the Related information pane from the right side of the current page. The Related information
pane shows how the configured access permissions will be applied, including what ER configuration
templates will be available for users that are assigned to the Accounts receivable clerk role.
12. On the Access permissions per configurations tab, select the Add option.
13. In the Select configuration dialog box, mark the Intrastat repor t ER format configuration.
14. Select OK to confirm the entry of the selected configurations and then select Save to store the configured
access permissions for the selected role.
The current setting means that for any user assigned to the Accounts receivable clerk role and performing the
duty, Manage Business document templates (AOT name ERBDManageTemplates ), the following templates
will be available to edit in the Business document management workspace:
Templates that have the value, Invoicing for the Functional area tag.
Templates from ER format configurations that are listed on the Access permissions per configurations tab
(templates from the Intrastat repor t format configuration of the Statutor y repor ting domain in this
example).
The following graphic shows what the Business document management workspace provides to a user assigned to
the Accounts receivable clerk role. With the current Business document management access permissions
setting, the user can edit business document templates from the Invoicing domain and the Intrastat repor t ER
format configuration. Templates from the Payments domain are not accessible for the Accounts receivable
clerk role.
NOTE
The Access permissions per configurations rules are stored by using the unique identification ID of an ER format
configuration. This means that these rules will not be deleted when an ER configuration that refers to them are deleted.
When you import deleted configurations back to this instance, these rules will refer to them again. There is no need to set up
the rules again after the deleted configurations are imported again.
The Edit template option is available for the selected template. This option is always available for a template in an
ER format configuration that is owned by the active ER configuration provider (Litware, Inc. in this example).
When Edit template is selected, the existing template from the draft version of the underlying ER format
configuration will be available to edit.
Initiate editing templates owned by other providers
1. In the Business document management workspace, select the document that you want to use as a template.
3. Select New document , and in the Title field, change the title of the editable template if needed. The text will be
used to name the ER format configuration that is automatically created. Note that the draft version of this
configuration (Customer FTI repor t (GER) Copy ) that will contain the edited template will automatically be
marked to run this ER format for the current user. At the same time, the non-modified original template from
the base ER format configuration will be used to run this ER format for any other user.
4. In the Name field, change the name of the first revision of the editable template that will be created
automatically.
5. In the Comment field, change the comment for the automatically created revision of the editable template.
6. Select OK to confirm the start of the editing process
The New document option is always available for a template in an ER format configuration provided by current
and another provider (Microsoft in this example) that doesn't have any revision. The edited template will then be
stored in a new ER format configuration that is automatically generated.
Start editing a template
1. From the selected template, select Edit document .
2. In the Name field, change the name of the first revision of the editable template that will be created
automatically.
3. In the Comment field, change the remark for the automatically created revision of the editable template.
4. Select OK to confirm the start of the editing process.
The BDM template editor page will open. The selected template will be available for online editing by using
Office 365.
You can modify the template using Office 365. For example, in Office online, change the font of the field prompts in
Edi t a templ ate i n Offi ce 365
the template header from Regular to Bold . These changes are automatically stored in the editable template that is
stored in the primary template's storage (by default, the Azure blob storage). This is configured for the ER
framework.
Edi t a templ ate i n the Offi ce desktop appl i cati on
NOTE
This function is only available when the SharePoint document type parameter is properly configured. For more
information, see Configure parameters.
1. Select the Open in Desktop App option to modify the template by using the functionality of the Office
desktop application (Excel in this example). The editable template is copied from the permanent storage to
the temporary storage configured in the Business document management parameters as a SharePoint
folder.
2. Confirm that you want to open the template from the temporary file storage in the Office desktop Excel
application.
3. Modify the template. For example, change the font of the fields prompts in the template header by updating
color from Black to Blue .
4. Select Save in the Excel desktop application to store the template changes in the temporary storage.
5. Close the Excel desktop application.
6. Select Sync stored copy to synchronize the temporary template storage to the permanent template
storage.
NOTE
The copy of the editable template in the temporary file storage is kept for only the current session of template editing. When
you finish this session by closing the BDM template editor page, this copy will be deleted. If you adjusted the template in
the temporary file storage and did not select Sync stored copy , when you try to close the BDM template editor page, a
message will ask whether you want to store introduced changes. Select Yes if you want to save your changes to the
template in the permanent file location.
Validate a template
1. On the BDM template editor page, select Check for issues to validate the modified template against the
underlying ER format configuration. Follow the recommendations (if any) to align the template with the
structure of the format from the base ER format configuration.
2. Select Show format to view the current structure of the format from the base ER format configuration that
must be aligned with the editable template.
3. Select Hide format to close the pane.
4. Close the BDM template editor page.
The updated template is shown on the Template tab. Notice that the status of the edited template is now Draft
and the current revision is no longer empty. This means that the process of this template's editing has been started.
You created a new revision of your template that has been stored in the permanent template's storage. Now
you can continue editing the template of the second revision that is currently selected as active.
5. Select the first revision and then select Set active . You can select another revision as active if at any time
you want to return to that revision of the template.
6. Select the second revision, and then select Delete .
7. Select OK to confirm that you want to delete the selected revision. You can delete any of the non-active
revisions when they are no longer needed.
Delete a modified template
1. On the BDM template editor page, select the Template tab.
2. Select Delete .
3. If you select OK to confirm deletion, the Customer FTI repor t (GER) Copy ER format with the modified
template will be deleted. Select Cancel to explore other options.
Revoke changes of template
When you edit the template from an ER format that is owned by the current active provider, you will be offered the
option to revoke changes introduced for the template.
Additional resources
Electronic reporting (ER) overview
ER Design a configuration for generating reports in OPENXML format (November 2016)
Design ER configurations to generate reports in Word format
Embed images and shapes in documents that you generate by using ER
Configure Electronic reporting (ER) to pull data into Power BI
New document user interface in Business document
management
1/15/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
Business document management lets business users edit business document templates by using a Microsoft Office
365 service or the appropriate Microsoft Office desktop application. Edits might include design changes or new
deployments, or users might add placeholders to include additional data without having to change the source
code. For more information about how to work with Business document management, see Business document
management overview.
The new document user interface (UI) is clearer and more comfortable to use. The Business document area
shows only the templates that are available for the current provider.
The New document button lets users create and edit a template in an Electronic reporting (ER) format
configuration that is provided by another provider. In the example in this topic, the provider is Microsoft.
3. In the new dialog box, in the Title field, change the title as you require. The title text is used to name the new
ER format configuration that is automatically created. The draft version of this configuration (Customer FTI
repor t (GER) Copy ) will contain the edited template and will be used to run this ER format for the current
user. The original template from the base ER format configuration will be used to run this ER format for
every other user.
4. In the Name field, change the name of the first revision of the editable template that will be automatically
created.
5. In the Comment field, update the remarks for the revision of the editable template that will be
automatically created.
6. Select OK to confirm the start of the editing process.
The New document button is used to create and edit a template in an ER format configuration that is provided by
another provider. In this example, the provider is Microsoft. When you select New document , you can view all the
templates that are owned by current and other providers. After you select the template, it's opened for editing. The
edited template will then be stored in a new ER format configuration that is automatically generated.
For more information, see Business document management overview.
Add new fields to a business document template in
Microsoft Excel
11/15/2019 • 5 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
You can add new fields to a template that is used to generate business documents in Microsoft Excel format. These
fields can be added as placeholders that are used to fill generated documents with required information from the
application. For every field that you add, you can also specify a binding to the data sources, to specify what
application data will be entered in the field when the template is used to generate business documents.
To learn more about this feature, complete the example in this topic. This example shows how to update a template
to fill in the fields in free text invoice forms that are generated.
NOTE
You must adjust the section of the template that you want to use as a new field. You already made this adjustment by
formatting merged cell G8:H8 .
The Template structure pane now shows the data sources that are available in the underlying ER format.
7. Select CompanyInfo_Value as the field that you plan to bind to a data source of the underlying ER format.
8. In the Data sources section of the Template structure pane, expand Model > InvoiceBase >
CompanyInfo .
9. Under CompanyInfo , select the WebsiteURI item.
10. Select Bind .
11. In the Template structure pane, select Save , and then close the BDM template editor page.
In the Business document management workspace, the Template tab in the right pane shows the updated
template. In the grid, notice that the Status field for the edited template has been changed to Draft , and the
Revision field is no longer blank. These changes indicate that the process of editing this template has been started.
Related links
Electronic reporting (ER) overview
Business document management overview
Design a configuration for generating reports in OPENXML format
Extend the list of Electronic reporting (ER) functions
2/5/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
Various types of functions are supported in Electronic reporting expressions for data transformation – text, date
and time, mathematical logical, information, data type conversion, and other (business domain–specific functions).
In addition to built-in functions, Electronic reporting lets you extend the list of available functions. This article
includes an overview of key tasks that you must complete to introduce a new function.
All Electronic reporting functions in application code are represented as classes that extend the ERExpression
class. Two types of functions are recognized:
Fixed number of arguments – These functions are represented by classes that include methods that have the
prefix parm (see parmInput , parmStar tNum in the sample code the follows). The order of arguments is set
by the SysOperationDisplayOrderAttribute attribute.
Variable number of arguments – These functions (see the ERExpressionGenericCase class) are
represented by classes that implement the ERIObjectContainer interface. An additional Add method is used
to declare the types that a function accepts.
Here are the recommended steps for introducing a new function for Electronic reporting expressions:
Select a base class for your function, based on the return value type (see ERExpressionString in the
sample code that follows).
Create a new class that extends the selected class (see ERExpressionStringMid in the sample code
the follows).
Provide required attributes:
SysOperationLabelAttribute – This attribute defines the function’s name.
SysOperationHelpTextAttribute – This attribute defines the function’s Help text.
ERComponentGroupAttribute – This attribute defines the group that the function
belongs to. (For more information, see Formula designer in Electronic reporting (ER).)
Provide arguments:
For a fixed number of arguments function, provide methods that have the prefix parm , and
use the SysOperationDisplayOrderAttribute attribute to set the order of the
arguments.
For a variable number of argument function, implement the ERIObjectContainer
interface.
Provide an evaluation method.
Here is an example.
/// <summary>
/// Returns the characters from the middle of a text string, given a starting position and length.
/// </summary>
[
SysOperationLabelAttribute ('MID'),
SysOperationHelpTextAttribute ("@ElectronicReporting:ExpressionStringMidHelpText"),
ERComponentGroupAttribute ("@ElectronicReporting:String")
]
class ERExpressionStringMid extends ERExpressionString
{
ERExpressionString input;
ERExpressionInt startNum;
ERExpressionInt numChars;
public str evaluateString(ERIDataContext _dataContext)
{
return subStr(
this.parmInput().evaluateString(_dataContext),
this.parmStartNum().evaluateInt(_dataContext),
this.parmNumChars().evaluateInt(_dataContext));
}
[DataMemberAttribute, SysOperationLabelAttribute ("@ElectronicReporting:Input"),
SysOperationDisplayOrderAttribute ("1")]
public ERExpressionString parmInput(ERExpressionString _input = input)
{
input = _input;
return input;
}
[DataMemberAttribute, SysOperationLabelAttribute ("@ElectronicReporting:NumChars"),
SysOperationDisplayOrderAttribute ("3")]
public ERExpressionInt parmNumChars(ERExpressionInt _numChars = numChars)
{
numChars = _numChars;
return numChars;
}
[DataMemberAttribute, SysOperationLabelAttribute ("@ElectronicReporting:StartNum"),
SysOperationDisplayOrderAttribute ("2")]
public ERExpressionInt parmStartNum(ERExpressionInt _startNum = startNum)
{
startNum = _startNum;
return startNum;
}
public str toString()
{
return ERExpressionStringPresenter::namedFunctionToStr(this);
}
}
Suggested guidance
The following guidance is intended to help you design your custom Electronic reporting functions:
Reuse the names of Microsoft Excel functions whenever you can, so that Electronic reporting formulas remain
Excel-like. In this way, you will keep Electronic reporting formulas intelligible for end users.
Electronic reporting doesn't support list types for primitive data types. Therefore, we have decided to use a data
container list that has a single Value item in it.
Release a new function's list extension as a new application hotfix. Electronic reporting designers will refer to
the hotfix number in Electronic reporting configurations that use that new custom function. Whenever a
configuration of this type is imported into a new instance, Electronic reporting will evaluate whether the
required hotfix has been installed, to maintain compliance between the Electronic reporting configuration and
the version that configuration is imported into.
Additional resources
Electronic reporting (ER) overview
Formula designer in Electronic reporting (ER)
ER framework API changes for Application update 7.3
2/5/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This topic describes how the API of the Electronic reporting (ER) framework has been changed in the Dynamics 365
for Finance and Operations, Enterprise edition Application update 7.3.
There are two types of changes to the ER APIs:
Several X++ classes were moved from X++ to an external assembly.
The rest of X++ classes were marked as internal.
using Microsoft.Dynamics365.LocalizationFramework;
You can then access an external class without any additional changes, for example.
using LF = Microsoft.Dynamics365.LocalizationFramework;
You can then refer to an external class by using the namespace alias that you created.
// pattern
ERFormatMappingTableLookup::lookupFormatMapping(<form control>, <model name>[, <data container name>]);
// sample code
ERFormatMappingTableLookup::lookupFormatMapping(_referenceGroupControl, bankLCMiscChargeReportERModelName);
Application update 7.3 and later
// pattern
ERObjectsFactory::createFormatMappingTableLookupForControlAndModel(<form control>, <model name>[, <data
container name>]).performFormLookup();
// sample code
ERObjectsFactory::createFormatMappingTableLookupForControlAndModel(_referenceGroupControl,
bankLCMiscChargeReportERModelName).performFormLookup();
// pattern
ERFormatMappingRun::constructByFormatMappingId(<format mapping id>, <file name>, <show prompt dialog>).run();
// sample code
ERFormatMappingRun::constructByFormatMappingId(erBinding, '', true).run();
// pattern
ERObjectsFactory::createFormatMappingRunByFormatMappingId(<format mapping id>, <file name>, <show prompt
dialog>).run();
// sample code
ERObjectsFactory::createFormatMappingRunByFormatMappingId(erBinding, '', true).run();
// pattern
ERModelMappingDestinationRun::constructByImportFormatMappingId(<mapping id>, <integration point>).run();
// sample code
ERModelMappingDestinationRun::constructByImportFormatMappingId(custPaymModeTable.ERModelMappingTable,
CustVendOutPaymConstants::IntegrationPoint).run();
// pattern
ERObjectsFactory::createMappingDestinationRunByImportFormatMappingId(<mapping id>, <integration point>).run();
// sample code
ERObjectsFactory::createMappingDestinationRunByImportFormatMappingId(custPaymModeTable.ERModelMappingTable,
CustVendOutPaymConstants::IntegrationPoint).run();
// sample code
new ERFileDestinationBrowser();
// sample code
ERObjectsFactory::createFileDestinationBrowser();
Code to create an attachment file destination
Before Application update 7.3
// pattern
ERFileDestinationAttachment::construct(<record>, ERDocuManagement::instance().otherDocuType());
// sample code
ERFileDestinationAttachment::construct(_cashRegisterFiscalTrans_W,
ERDocuManagement::instance().otherDocuType());
// pattern
ERObjectsFactory::createFileDestinationAttachmentWithOtherDocuType(<record>);
// sample code
ERObjectsFactory::createFileDestinationAttachmentWithOtherDocuType(_cashRegisterFiscalTrans_W);
Specify a custom storage location for generated
documents
2/12/2020 • 4 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The application programming interface (API) of the Electronic reporting (ER) framework lets you extend the list of
storage locations for documents that ER formats generate. This topic includes an overview of the main tasks that
you must complete to add a custom storage location.
Prerequisites
You must deploy a topology that supports continuous build. (For more information, see Deploy topologies that
support continuous build and test automation.) You must have access to this topology for one of the following
roles:
Electronic reporting developer
Electronic reporting functional consultant
System administrator
You must also have access to the development environment for this topology.
NOTE
Document types are company-specific. To use an ER format with a configured destination in multiple companies, you must
configure a separate document type in each company.
The AttachingFile() event is raised when the following ER destinations are processed:
Archive – When this destination is used, a new record for the ER format that is run is created in the
ERFormatMappingRunJobTable table. The Archived field in this record is set to False . If the ER format is
successfully run, the generated document is attached to this record, and the AttachingFile() event is raised. The
document type that is selected in this ER destination determines the storage location for the attached file
(Microsoft Azure Storage or a Microsoft SharePoint folder).
Job archive – When this destination is used, a new record for the ER form that is run is created in the
ERFormatMappingRunJobTable table. The Archived field in this record is set to True . If the ER format is
successfully run, the generated document is attached to this record, and the AttachingFile() event is raised. The
document type that is configured in the ER parameters determines the storage location for the attached file
(Azure Storage or a SharePoint folder).
Configure an ER destination
1. Configure the archived destination for one of the previously mentioned elements (file, folder, merger, or
attachment) of the ER format that you created or imported. For guidance, see ER Configure destinations.
2. Use the document type that you added earlier for the configured destination. (For the example in this topic, the
document type is FileX .)
Additional resources
Electronic reporting (ER) destinations
Extensibility home page
Mobile app home page
1/23/2020 • 3 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This topic describes the Finance and Operations (Dynamics 365) mobile app and provides links to resources
that can help you implement it in your organization.
Overview
The mobile app enables your organization to make its business processes available on mobile devices. After your IT
admin enables the mobile workspaces for your organization, users can sign in to the app and immediately begin to
run business processes from their mobile devices. The mobile app includes the following features that can help
increase productivity:
Users can view, edit, and act on business data, even if they have intermittent network connectivity or their mobile
devices are completely offline. When a device reestablishes a network connection, offline data operations are
automatically synchronized.
IT admins or developers can build and publish mobile workspaces that have been tailored to their organization.
The app uses your existing code assets. Therefore, you don't have to re-implement your validation procedures,
business logic, or security configuration.
IT admins or developers can easily design mobile workspaces by using the point-and-click workspace designer
that is included with the web client.
IT admins or developers can optionally optimize the offline capabilities of workspaces by using the Business
logic extensibility framework. Because data continues to be processed while a device is offline, your mobile
scenarios remain rich and fluid, even if devices don't have constant network connectivity.
Implementation process
The following illustration shows the process for implementing both mobile workspaces that are provided by
Microsoft and custom mobile workspaces.
The following table includes links to resources that can help you implement both mobile workspaces that are
provided by Microsoft and custom mobile workspaces. The numbers in the first column correspond to the
numbered steps in the previous illustration.
RESO URC ES TO H EL P Y O U
ST EP RO L E A C T IO N C O M P L ET E T H E A C T IO N
2 System administrator If you're using Microsoft See the following topics for
Dynamics 365 for more information:
Operations version Cost controlling
1611: Download and install mobile workspaces
KBs that enable the mobile Inventory on-hand
workspaces that are mobile workspace
provided by Microsoft. Sales orders mobile
workspaces
Vendor collaboration
mobile workspace
Project time entry
mobile workspace
Expense
management mobile
workspace
9 User Sign in, and use the mobile To see a list of mobile
app. The app includes the workspaces that are
mobile workspaces that have provided by Microsoft, see
been published by the Mobile workspaces recently
system administrator. released.
Troubleshooting
Mobile platform resources
Available mobile workspaces
10/3/2019 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This topic lists the mobile workspaces that are available for use with the Dynamics 365 for Unified Operations
mobile app.
Company directory Allows you to view and contact other June 2017
employees in your organization.
My team You can view your direct reports and June 2017
extended staff, as well as send praise for
individuals in your reporting chain.
Expense management You can capture and upload a receipt, April 2017
so that you can attach it to an expense
report later. The mobile workspace also
lets you quickly create an expense line
by using an attached receipt.
Purchase order approval View and respond to purchase orders April 2017
with actions such as approve or reject.
Project time entry You can enter and save time against a March 2017
project by using your mobile device.
Cost controlling Cost center managers can see the January 2017
performance of the cost center.
Sales orders You can stay up to date on your sales January 2017
orders.
Asset management This workspace lets users view and October 2019
create maintenance requests and work
orders. Users can also view the assigned
work order jobs in a calendar or list
view. Assets and functional locations
can also be viewed and searched for.
Asset management mobile workspace
4/3/2020 • 6 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This topic provides information about the Asset management mobile workspace. This workspace lets users view
and create maintenance requests and work orders. Users can also view the assigned work order jobs in a calendar
or list view. Assets and functional locations can also be viewed and searched for.
Overview
Asset Management is an advanced module for managing assets and work order jobs in Dynamics 365 Supply
Chain Management. The Asset management mobile workspace lets users quickly view assigned work order jobs
on the mobile device of their choice. Users can also create and manage maintenance requests, update lifecycle
state, and view asset and functional location details by using their mobile device.
Specifically, the Asset management mobile workspace lets users perform these tasks:
Create, view, and edit maintenance requests, take a photo or attach an existing image to the maintenance
request, change the maintenance request lifecycle state.
Create, view, and edit work orders, take a photo or attach an existing image to the work order, change the work
order lifecycle state, view work order jobs.
View assigned work order jobs in a calendar view.
Create, view, and edit work order job, update asset counters, view maintenance checklist, view and edit work
order job notes, view the tools required for the work order job.
View or search for a specific asset or functional location.
Prerequisites
The prerequisites vary, based on the version of Dynamics 365 Supply Chain Management that has been deployed
for your organization.
Prerequisites if you use Microsoft Dynamics 365 Supply Chain Management
If Microsoft Dynamics 365 Supply Chain Management has been deployed for your organization, the system
administrator must publish the Asset management mobile workspace. For instructions, see Publish a mobile
workspace.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This topic provides information about the Company director y mobile workspace. This workspace lets users view
and contact other employees in their organization.
This mobile workspace can be used with the Finance and Operations mobile app.
Overview
The Company director y mobile workspace lets users perform these tasks:
View a list of employees in the organization.
Search for employees in the organization.
View contact information for employees.
Contact employees from the profile information.
Prerequisites
Before you can use this mobile workspace, the following prerequisites must be met.
One of the following products must be System administrator If you don't already have a Finance and
deployed in your organization: Operations app deployed in your
A Finance and Operations app organization, see Deploy a demo
Microsoft Dynamics 365 Human environment. If you don't already have
Resources Human Resources deployed in your
organization, the system administrator
can access a trial version from the
Human Resources webpage.
The Company director y mobile System administrator See Publish a mobile workspace.
workspace must be published.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This topic provides information about the Cost controlling mobile workspace. This workspace lets cost center
managers view information about cost center performance anytime and anywhere.
This mobile workspace is intended to be used with the Finance and Operations mobile app.
Overview
The Cost controlling mobile workspace provides an instant view of the current performance of cost centers by
comparing actual costs against the budgeted costs. You can drill down to the status of individual cost elements.
For example, an employee receives an invitation to an international conference, but the organization must cover all
the travel expenses. The employee asks his manager whether he can attend the conference. The manager opens
the Cost controlling mobile workspace on her mobile device to see whether she has budget for the employee to
attend the conference.
Data security
The data in the Cost controlling mobile workspace is secured through user credentials. Cost center managers are
allowed to see data only for their own cost center. The access-level security is managed in the Cost accounting
module.
Cost accountants define the configuration of the Cost controlling mobile workspace in the Cost accounting
module. After the workspace is published to the mobile app, it's available in the app. Therefore, all cost center
managers in the organization can view data in the same format.
Actions, views, and links
The Cost controlling mobile workspace provides the following actions, views, and links:
Actions:
Use Select configuration to select a layout.
Use Select cost object to select the cost centers to filter data on.
NOTE
The cost centers that appear in the list depend on the access that is granted in the Cost accounting
module.
Views: Based on the actions that are selected and the configuration in the Cost accounting module, you
can view the following information on the cards:
Actual vs budget (current period)
Actual vs revised budget (current period)
Actual vs budget (previous period)
Actual vs revised budget (previous period)
Actual vs budget (year to date)
Actual vs revised budget (year to date)
The following amounts are shown on every card: Actual, Budget, Variance, and Variance %.
Links:
Details for current period
Details for previous period
Details for year to date
When you select a link, a card is shown for each cost element. The following amounts are shown on every
card: Actual, Budget, Budget variance, Budget variance %, Revised budget, Revised budget variance, and
Revised budget variance %.
Prerequisites
The prerequisites differ, based on the version of Microsoft Dynamics 365 that has been deployed for your
organization.
Prerequisites if you use Microsoft Dynamics 365 Finance
If Finance has been deployed for your organization, the system administrator must publish the Cost controlling
mobile workspace. For instructions, see Publish a mobile workspace.
Prerequisites if you use version 1611 with Platform update 3 or later
If version 1611 with Platform update 3 or later has been deployed for your organization, the system administrator
must complete the following prerequisites.
P REREQ UISIT E RO L E DESC RIP T IO N
Publish the Cost controlling mobile System administrator See Publish a mobile workspace.
workspace.
View the performance of your cost center by using the Cost controlling
mobile workspace
1. On your mobile device, select the Cost controlling workspace.
2. Select Cost object controlling .
3. Select Actions .
4. Select Select configuration to select a cost controlling layout.
5. Select Done .
6. Select Actions .
7. Select Select cost object to select the cost centers that you've been granted access to.
8. Select Done .
9. View the overall performance of your cost center.
10. Select the Details for current period link.
11. View the performance of individual cost elements.
12. You can also search for specific cost elements.
Expense management mobile workspace
10/1/2019 • 10 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This topic provides information about the Expense management mobile workspace. This workspace lets users
capture and upload a receipt, so that they can attach it to an expense report later. Users can also quickly create an
expense line by using an attached receipt, and create and manage their expense reports. Additionally, approvers
can use the Expense management mobile workspace to view expense reports that are assigned to them, and
either approve or reject those expense reports.
This mobile workspace is intended to be used with the Dynamics 365 Unified Ops mobile app.
Overview
Many organizations require that a copy of a receipt be attached to a travel-related or business-related expense
report that an employee submits for reimbursement. The Expense management mobile workspace lets users
quickly create new expense lines on the mobile device of their choice by using an attached photo of a receipt.
Alternatively, users can capture a photo of a receipt and then attach it to an expense report later. Employees can
also create and manage their expense reports, and then submit them for approval and reimbursement by using
their mobile device.
Specifically, the Expense management mobile workspace lets users perform these tasks:
Take a photo of a receipt, and upload it to Dynamics 365 Finance. You can then attach that photo to an expense
report later.
Upload a file as a captured receipt. You can then attach that file to an expense report later.
Create a new expense line by using an attached receipt. You can then add the line item to an expense report
later, and submit it for approval and reimbursement.
You can also use these features:
Create a new expense report.
Attach credit card transactions and other previously created expenses to an expense report.
Create new expenses for an expense report.
Attach a receipt to any expense for an expense report, either by taking a photo of the receipt or by uploading a
file as a captured receipt.
Depending on the company's expense policy, add the list of guests to an expense.
Depending on the company's expense policy, itemize expenses.
Submit an expense report for approval and reimbursement.
Approve or reject expense reports that you're an assigned approver for.
Prerequisites
The prerequisites vary, based on the version that has been deployed for your organization.
Prerequisites if you use Dynamics 365 Finance
If Finance has been deployed for your organization, the system administrator must publish the Expense
management mobile workspace. For instructions, see Publish a mobile workspace.
Prerequisites if you use version 1611 with platform update 3 or later
If version 1611 with platform update 3 or later has been deployed for your organization, the system administrator
must complete the following prerequisites.
Publish the Expense management System administrator See Publish a mobile workspace.
mobile workspace.
Download and install the Dynamics 365 for Operations mobile app
Download and install the Dynamics 365 Unified Ops mobile app:
For Android phones
For iPhones
Create a new expense report and submit it for approval by using the
Expense management mobile workspace (if you use the July 2017
update)
1. On your mobile device, open the Expense management workspace.
2. Select Expense entr y .
3. Select New repor t , or select an existing expense report in the list.
4. For new expense reports, enter the purpose and any additional information that is available. This
information varies, depending on that way that expense management is configured for your company.
5. Select Done .
6. To add existing expenses, such as credit card transactions, to the expense report, select Attach .
7. Select one or more expenses in the list.
8. Select Done .
9. To add a new expense to the expense report, select New expense .
10. Select the category for the expense. You see a list of expense categories that are loaded into your app for
offline use. By default, 50 items are loaded, but a developer can change this number. For more information,
developers should see Mobile platform. If your category isn't in the list, select Search to do an online
search. Search by expense category, or switch to search by expense type.
11. Optional: Enter the merchant for the expense.
12. Enter the transaction date of the expense.
13. Enter the amount of the expense.
14. Select the currency of the expense. You see a list of the currency codes that are loaded into your app for
offline use. By default, 400 currencies are loaded, but a developer can change this number. For more
information, developers should see Mobile platform. If your currency isn't in the list, select Search to do an
online search. Search by currency, or switch to search by name.
15. Select Done .
16. To add more details to the expense, select Add more details . The fields that are available depend on the
configuration of expense management for your company.
17. If company policy requires a receipt for the expense, select Receipts , and then follow these steps:
a. Select Capture receipt or Attach receipt .
b. Follow one of these steps:
If you selected Capture receipt , follow these steps:
a. Select Take photo or Choose image .
b. Follow one of these steps:
If you selected Take photo , follow these steps:
a. You're taken to the camera on your mobile device, so that you can take a
photo of the receipt. When you've finished taking a photo, select OK to accept
the photo.
b. Optional: Enter a name for the photo, and enter any notes.
If you selected Choose image , follow these steps:
a. Select an image in the list.
b. Optional: Enter a name for the image, and enter any notes.
c. Select Done .
If you selected Attach receipt , follow these steps:
a. Select one or more images in the list.
b. Select Done .
c. Select the Back button to return to the expense details.
18. If company policy requires guests for the expense, select Guests , and then follow these steps:
a. Select Guest , Previous guests , or Coworkers .
b. Follow one of these steps:
If you selected Guest , follow these steps:
a. Enter the name of the guest.
b. Optional: Enter the organization and/or country of the guest.
c. Optional: Enter the title of the guest.
d. Select Done .
If you selected Previous guests , follow these steps:
a. Select one or more previous guests in the list. You see a list of previous guests that you've
added to previous expense reports that are loaded into your app for offline use. By default,
50 items are loaded, but a developer can change this number. For more information,
developers should see Mobile platform. If your previous guest isn't in the list, select Search
to do an online search. Search by name, or switch to search by organization, country, or
title.
b. Select Done .
If you selected Coworkers , follow these steps:
a. Select one or more coworkers in the list. You see a list of coworkers that are loaded into
your app for offline use. By default, 50 items are loaded, but a developer can change this
number. For more information, developers should see Mobile platform. If your coworker
isn't in the list, select Search to do an online search. Search by name, or switch to search
by company or title.
b. Select Done .
c. Select the Back button to return to the expense details.
19. If company policy requires that the expense be itemized, select Itemize , and then follow these steps:
a. Select the first date to itemize.
b. Select Add itemization .
c. Select the subcategory for the expense itemization. You see a list of expense subcategories that are
loaded into your app for offline use. By default, 50 items are loaded, but a developer can change this
number. For more information, developers should see Mobile platform. If your subcategory isn't in the
list, select Search to do an online search. Search by expense subcategory name.
d. Enter the transaction amount for the itemization.
e. Edit the transaction date if it's required.
f. Select Done .
g. Repeat the preceding steps until you've finished adding all itemizations for the selected date.
h. For additional days, you can select Copy to next day to copy the itemizations to the next day.
Alternatively, you can select the date to itemize and then add itemizations as you did for the first date.
i. After you've finished itemizing the expense, select the Back button to return to the expense details.
20. Select the Back button to return to the Expense repor t page.
21. Repeat the preceding steps until you've finished adding all expenses.
22. Select Submit .
23. Enter any comments for the approver.
24. Select Done .
Inventory on-hand mobile workspace
4/3/2020 • 3 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This topic provides information about the Inventor y on-hand mobile workspace. This workspace helps you gain
insights into reserved and available inventory anytime and anywhere.
This mobile workspace is intended to be used with the Finance and Operations mobile app.
Overview
Typically, companies have multiple shipments and multiple receipts of inventory every day. These movements
constantly change the on-hand inventory status. The Inventor y on-hand mobile workspace lets you see the
cross-company on-hand inventory status, so that you can gain the latest insights into inventory data on the mobile
device of your choice. Regardless of whether you work in the warehouse, purchasing, sales, manufacturing, or
management, or have other roles, you can access on-hand inventory data anytime and anywhere.
The mobile workspace provides an instant view of the on-hand status across facilities. It lets you view on-hand
inventory across facilities, current material reservations, and unreserved on-hand inventory. You can also enter
item numbers to query on-hand inventory, and can do a filtered search for on-hand products or variants.
Specifically, the mobile workspace provides these features:
You can search by product number or product name to find products to view the on-hand inventory status
for.
For the selected products, you can view the following information:
On-hand inventory per site
On-hand inventory per warehouse
On-hand inventory per location
On-hand inventory per batch (for batch-controlled products)
On-hand inventory per inventory status
Product on-hand inventory is shown in the following ways:
By physical inventory (This view represents the total amount.)
By physical reserved (This view represents the reserved amount.)
By available physical (This view represents available amount that has no reservations.)
Prerequisites
The prerequisites differ, based on the version of Supply Chain Management that has been deployed for your
organization.
Prerequisites if you use Supply Chain Management
If Supply Chain Management has been deployed for your organization, the system administrator must publish the
Inventor y on-hand mobile workspace. For instructions, see Publish a mobile workspace.
Prerequisites if you use Platform update 3 or later
If Platform update 3 or later has been deployed for your organization, the system administrator must complete the
following prerequisites.
Publish the Inventor y on-hand System administrator See Publish a mobile workspace.
mobile workspace.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This topic provides information about the Invoice approvals mobile workspace. This workspace provides a list of
invoices that have been assigned to you through the vendor invoice header workflow process.
This mobile workspace is intended to be used with the Finance and Operations mobile app.
Overview
The Invoice approvals mobile workspace lets Accounts payable clerks and managers view invoices that have
been assigned to them as part of the vendor invoice header workflow process. You can view the invoice
information, and even the line and distribution details, to help you make informed approval decisions. From the
workspace, you can take action to move the invoice through the workflow process.
Prerequisites
Before you can use this mobile workspace, the following prerequisites must be met.
Microsoft Dynamics 365 Finance must System administrator See Deploy a demo environment.
be deployed in your organization.
The Invoice approvals mobile System administrator See Publish a mobile workspace.
workspace must be published.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This topic provides information about the My team mobile workspace. This workspace lets managers view their
direct reports and extended staff. They can also send praise to individuals in their reporting chain.
This mobile workspace is intended to be used with the Finance and Operations mobile app.
Overview
The My team mobile workspace lets managers perform these tasks:
View a list of the manager’s direct reports.
View a list of the manager’s extended reporting team.
View detailed information for each team member, such as birth date, seniority date, years of service, and
compensation and performance information.
Send praise to any individual in the manager’s extended reporting team.
Prerequisites
Before you can use this mobile workspace, the following prerequisites must be met.
One of the following products must be System administrator If you don't already have a Finance and
deployed in your organization: Operations app deployed in your
A Finance and Operations app organization, see Deploy a demo
Microsoft Dynamics 365 Human environment. If you don't already have
Resources Human Resources deployed in your
organization, the system administrator
can access a trial version from the
Human Resources webpage.
The My team mobile workspace must System administrator See Publish a mobile workspace.
be published.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
Three mobile applications that are related to project time are available for Microsoft Dynamics 365 Project
Timesheet, Project Time Entry, and My timesheets/Timesheets for my review (Optimized for mobile).
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This topic provides information about the Project time entr y mobile workspace. This workspace lets users enter
and save time against a project by using their mobile device.
This mobile workspace is intended to be used with the Dynamics 365 Unified Ops mobile app.
Overview
As part of their daily work, project resources are often on-site or traveling. The Project time entr y mobile
workspace lets users enter their billable or non-billable time against a project on the mobile device of their choice.
Therefore, project resources can record time entries anytime and anywhere. They can also view time entries that
have already been recorded.
Specifically, in the Project time entr y mobile workspace, users can perform these tasks:
For any selected date, enter the number of hours that you spent on a specific task.
Search by project name or customer to find the project to enter time for.
Specify the category and activity for the time that you spent.
Record the time as billable or non-billable for the project.
Optionally enter any external or internal comments.
Prerequisites
The prerequisites differ, based on the version of Microsoft Dynamics 365 that has been deployed for your
organization.
Prerequisites if you use Dynamics 365 Finance
If Finance has been deployed for your organization, the system administrator must publish the Project time
entr y mobile workspace. For instructions, see Publish a mobile workspace.
Prerequisites if you use version 1611 with Platform update 3 or later
If version 1611 with Platform update 3 or later has been deployed for your organization, the system administrator
must complete the following prerequisites.
Publish the Project time entr y System administrator See Publish a mobile workspace.
mobile workspace.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
Overview
The Microsoft Dynamics 365 Project Timesheet mobile app enables users to submit and approve timesheets for
projects on their mobile device (iPhone or Android). This mobile app surfaces the timesheet functionality that
resides in the Project management and accounting area of Dynamics 365 Finance, improving user productivity and
efficiency, as well as enabling timely entry and approval of project timesheets.
Review timesheets
A list of the timesheets that need to be reviewed is available in the menu. This option is only available if you have
been designated as a workflow approver. Both header and line approval are supported. Line level approval offers
the ability to mark one or more lines for approval. After reviewing the timesheet information, click Approve ,
Delegate , or Return to continue the workflow.
Purchase order approval mobile workspace
4/3/2020 • 3 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This topic provides information about the Purchase order approval mobile workspace. This workspace lets you
view purchase orders and respond to them through actions. For example, you can approve or reject a purchase
order.
Overview
Purchase orders that requires approval go through an approval workflow. The workflow can include various steps
that require that one or more people take action. For example, a person might have to complete a task or approve
the purchase order.
The Purchase order approval mobile workspace lets you easily view and respond to purchase orders from your
mobile device. This workspace also lets you take the same workflow actions that you can take from the web client.
Prerequisites
The prerequisites vary, depending on the version of Supply Chain Management that has been deployed for your
organization.
Prerequisites if you use Supply Chain Management
If Supply Chain Management has been deployed for your organization, the system administrator must publish the
Purchase order approval mobile workspace. For instructions, see Publish a mobile workspace.
Prerequisites if you use Microsoft Dynamics 365 for Operations version 1611 with Platform update 3 or later
If Microsoft Dynamics 365 for Operations version 1611 with Platform update 3 or later has been deployed for your
organization, the system administrator must complete the following prerequisites.
Publish the Purchase order approval System administrator See Publish a mobile workspace.
mobile workspace.
TA SK A C T IO N A P P RO VA L A C T IO N
Complete Approve
Return Reject
Delegate Delegate
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This topic provides information about the Sales orders mobile workspace. This workspace helps you stay up to
date about your sales orders anywhere and anytime.
This mobile workspace is intended to be used with the Finance and Operations mobile app.
Overview
The Sales orders mobile workspace lets you view detailed information about each sales order. This information
includes the status of the order, contact information for the customer, and contact information for the order taker.
The Sales orders mobile workspace provides an instant view of sales orders. You can view all sales orders, view
sales orders by customer, or view information about a specific sales order.
The mobile workspace provides two views to help you analyze sale orders in depth.
View all sales orders
This view lists all sales orders.
Use one of the following filters to select the sales orders to view:
Search by sales order
Search by customer account
Search by customer name
Search by status
Search by release status
Search by created date and time
After you select sales orders, you can view the details of specific orders. Specifically, you can view the
following information:
Customer name and address information
Various dates for the sales order, such as the requested ship date and the confirmed ship date
Contact information for the order taker
Customer contact information
Order lines
Shipments that show how and when a sales order was shipped
View orders for a customer
This view lists sales orders by customer.
Use one of the following filters to view orders for a customer:
Search by name
Search by account
After you select a customer, you can view the following information:
Customer name and group
Customer contact information
Customer sales orders and details about those sales orders:
Customer name and address information
Various sales order dates
Contact information for the order taker
Customer contact information
Order lines
Shipments that show how and when a sales order was shipped
Prerequisites
The prerequisites differ, based on the version of Microsoft Dynamics 365 that has been deployed for your
organization.
Prerequisites if you use Supply Chain Management
If Supply Chain Management has been deployed for your organization, the system administrator must publish the
Sales orders mobile workspace. For instructions, see Publish a mobile workspace.
Prerequisites if you use Dynamics 365 for Operations version 1611 with platform update 3 or later
If Dynamics 365 for Operations version 1611 with platform update 3 or later has been deployed for your
organization, the system administrator must complete the following prerequisites.
Publish the Sales orders mobile System administrator See Publish a mobile workspace.
workspace.
View information about sales orders for a customer by using the Sales
order mobile workspace
1. On your mobile device, select the Sales orders workspace.
2. Select View orders for a customer .
3. Use account or customer name information to find the customer.
4. Select the customer.
5. Select Contact information or Sales orders . If you select Sales orders , a list of sales orders for the
customer is shown.
6. Select Sales order . You can now view information about sales order lines, information about shipments,
customer contact information, and contact information for the order taker.
Vendor collaboration mobile workspace
4/3/2020 • 8 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This topic provides information about the Vendor collaboration mobile workspace. This workspace helps your
vendors stay up to date about the purchase orders that have been sent to them for approval. They can also view
information about new and updated purchase orders and contacts.
This mobile workspace is intended to be used with the Finance and Operations mobile app.
Overview
The Vendor collaboration mobile workspace keeps vendors informed about new purchase orders, so that they
can view purchase orders and then respond to them in the web client.
NOTE
The mobile workspace should be used as a supplement to the vendor collaboration web interface, not a replacement for it.
Your vendors can use the Vendor collaboration mobile workspace to view new purchase orders that are sent to
them for approval. It shows purchase order information, such as products, quantities, and requested delivery dates.
Price information is also available, depending on the configuration of each vendor.
A user who signs in as a vendor will see which purchase orders have been responded to, and which purchase
orders are still awaiting customer action. For example, a purchase order might be awaiting customer action
because the vendor suggested another delivery date, but the customer hasn't yet agreed to that date. The vendor
will also see a list of purchase orders that have been confirmed but haven't yet been delivered.
To respond to a purchase order, the vendor must use the vendor collaboration web interface that is available in the
web client. There, the vendor can also get more information about the order, such as document attachments, the
delivery address per line, and charges that are associated with the vendor.
Vendors that have a special security role can see which contact persons are registered for a vendor account. The
same security role lets a vendor view the status of any user request that has been submitted.
The vendor collaboration web interface in the web client must be used to create new contacts and submit new user
requests.
The Vendor collaboration mobile workspace lets a vendor perform these tasks:
View new purchase orders that are sent to the vendor.
View purchase orders that the vendor has responded to, and that are awaiting customer action.
View purchase orders that have been confirmed but haven't yet been fully received.
View contact person information that is registered for the vendor account. (This task requires an additional
security role.)
View information about a user request that was submitted by the vendor, and follow the status of the request.
(This task requires an additional security role.)
Prerequisites
The prerequisites vary, depending on the version of Microsoft Dynamics 365 that has been deployed for your
organization.
Prerequisites if you use Supply Chain Management
If Supply Chain Management has been deployed for your organization, the system administrator must publish the
Vendor collaboration mobile workspace. For instructions, see Publish a mobile workspace.
Prerequisites if you use Microsoft Dynamics 365 for Operations version 1611 with Platform update 3 or later
If Microsoft Dynamics 365 for Operations version 1611 with Platform update 3 or later has been deployed for your
organization, the system administrator must complete the following prerequisites.
The Vendor collaboration mobile System administrator See Publish a mobile workspace.
workspace must be published.
P REREQ UISIT E RO L E DESC RIP T IO N
The vendor user must have access to Purchasing professionals and the Follow the steps in the following topics
the vendor collaboration web interface system administrator to set up and work with the vendor
in the web client and must set up a collaboration web interface.
vendor collaboration user. Use vendor collaboration to
work with external vendors
Manage vendor collaboration
users
Set up and maintain vendor
collaboration
Use vendor collaboration to
work with customers in Supply
Chain Managements
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This topic describes the steps that system administrators must follow to publish a mobile workspace. A mobile
workspace must be published so that users can access it in the mobile app.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This topic reviews Microsoft Office integration concepts and features. The integration depends on several
technologies:
Working in Microsoft Azure
Working with Azure Active Directory (Azure AD)
Running a web client in multiple browsers
The Microsoft Office integration capabilities provide users with a productive environment that helps them get the
job done by using Office products.
The following table describes the parts of the add-in. The numbers correspond to the numbers in the preceding
screen shot.
11 Excel data table containing data The filter and sort controls in the
columns headers can be used on this
data. The filters must be removed
before data changes are published.
12 Office Web Add-ins menu The Office Web Add-ins menu button
provides several standard links. The
most important of the links is used to
reload the add-in. When the add-in is
reloaded, it updates all the data for the
workbook that is contained in tables
that are associated with the add-in.
Authentication
OData sits on the same authentication stack as the server. The add-in uses OAuth to facilitate authentication.
Lookups and drop-down lists
When you click in a table cell, any lookup, enumeration drop-down list, or date picker that is associated with that
cell will be shown inside the add-in, underneath the source and field information. Any value that you select inside
the add-in is put into the currently selected table cell.
Adding and deleting records
To add a record, either start typing in a row directly below a table, or use the Tab key to tab away from the last cell
of the last row in the table. To delete a record, select the row by clicking the row label (1, 2, 3, and so on), and delete
all the cells in that row. To publish the changes, click Publish . The Messages dialog box shows how many records
were added, edited, and deleted.
Workbook Designer
You can use the Workbook Designer page to design an editable custom export workbook that contains an entity
and a set of fields. To open the Workbook Designer (Expor tToExcelWorkbookDesigner ) page, click Common
> Common > Office Integration > Excel workbook designer . Before you can publish data edits, all the key
fields of the entity must be in the Excel table. Key fields have a key symbol next to them. To successfully create or
update a record, it must have all the mandatory fields in the Excel table. Mandatory fields have an asterisk (*) next
to them.
To retrieve the resulting workbook, click Create workbook in the app bar.
Click View related form to see the data that the entity exposes. This button is only enabled for entities that have a
FormRef property value.
Document management
Document management supports saving record attachments in Azure Blob storage and SharePoint Online.
Database storage is deprecated. Azure Blob storage is equivalent to storage in the database since documents can
only be accessed through the application and it provides the added benefit of providing storage that doesn't
negatively affect the performance of the database. Azure blob storage is the default and works immediately.
SharePoint storage will work immediately if you have an O365 license since we auto-discover the SharePoint
tenant e.g. a user on the TenantA.onmicrosoft.com O365/AAD tenant gets TenantA.sharepoint.com as the
SharePoint site. If document management has been turned off by the user, turn it on by clicking Options >
General > Miscellaneous and setting Document handling active to Yes .
On any page that has data, an Attach button will be available in the upper-right corner.
The Attachments page provides a view of the attachments (documents) that are associated with the record that
was selected on the previous page. You can add new attachments to the record by clicking the New button (+ ) in
the app bar. For the File and Image document types, you will be prompted to provide the associated file.
Document preview
A preview for supported file types is provided on the Preview FastTab. Basic document types, such as PNG images
and text files, are supported by default. Office document types, such as Microsoft Word, Excel, and PowerPoint files,
must use a production Office Web Apps Server, which might not be available in a OneBox configuration.
Additional resources
Office integration tutorial
Troubleshoot the Office integration
Application stack and server architecture
Office integration tutorial
2/12/2020 • 27 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
In this tutorial, you will use and build Office integration experiences that involve Excel, Word, Document
Management, and email.
Overview
In this tutorial, you will use and build Microsoft Office integration experiences that involve Microsoft Excel,
Microsoft Word, the Document Management subsystem, and email. You will see how Excel and Word use data
entities as an entry point into the system, how Excel can become a core part of the user experience, and how Excel
and Word can be used for ad-hoc lightweight reporting. You will also see how files can be stored and shared by
using the Document Management and email capabilities.
Prerequisites
For this tutorial, you must access the environment by using Remote Desktop, and you must be provisioned as an
administrator on the instance. For more information, see Deploy and access development environments. If you're
running Internet Explorer on the virtual machine (VM), you must enable font and file downloads at Internet
Options > Security > Custom Level . Microsoft Visual Studio 2015 runs on the VM, and it must run as an
administrator so that metadata and compilation files can be overwritten. To make sure that Visual Studio runs as an
administrator, search for the program, and pin it to the taskbar. Then right-click the shortcut on the taskbar, right-
click Visual Studio 2015 , click Proper ties > Advanced , and select the Run as administrator check box. Visual
Studio will now run as an administrator via a single left click of the taskbar shortcut.
Key concepts
Entities and OData – You will use the Microsoft Dynamics Excel Data Connector App (Excel App) to create,
read, update, and delete. The connector uses OData services that are created for any entity that is left in the
default state of "public" (DataEntity.Public =Yes ).
Apps for Office – The Excel App is built by using the Apps for Office framework (which is also known as the
Office Web API). The Excel App is web-based, and therefore shares technology with the client and will run inside
both on-premises Excel instances and Microsoft Excel Online (Microsoft Office 365). The app runs inside Excel in
a task pane.
Microsoft Office 2016 – The Excel and Word Apps use advances in the Apps for Office framework that were
introduced in Office 2016. Therefore, Office 2016 is required in order to run the Excel and Word Apps.
Authentication – The Excel and Word Apps run in an Internet Explorer window inside Excel and Word. Even if
the user is running the client in an InPrivate Browsing session in Internet Explorer, or in a different browser, such
as Chrome, Internet Explorer is still used to run the app inside Excel or Word. Authentication is facilitated by
OAuth, and the user can select accounts and sign in within the app. Internet Explorer will first try to
automatically sign the user in. Therefore, if you aren't signed in as the correct user, or if you have trouble
signing in, you might have to force a sign-out from the app by using the sign-out link on the user menu in the
lower-right corner of the app. After sign-out, right-click in the app, and try to sign in again.
Excel App – In addition to facilitating refresh and publish data operations, the Excel App also provides source
and field information, lookups, filtering, error messaging, and a design experience for adding or removing
fields, table columns, or labels from entity data sources.
Setup
Load the Fleet data set
During this tutorial, we will mainly use forms, entities, and data in the Fleet Management model. Therefore, we
must first load the Fleet data set.
1. Navigate to Fleet Management > Setup > Fleet setup .
2. Click Create .
this.addTemplate(
OfficeAppApplicationType::Excel,
resourceStr(FleetCustomersBasicTemplate),
resourceStr(FleetCustomersBasicTemplate),
"Template for fleet customers", "Fleet customers basic", NoYes::No, NoYes::Yes);
13. Save the code. If you're asked whether you want to overwrite the existing code or save it as a new file, click
Over write .
14. Build the solution (press Ctrl+Shift+B).
15. Verify that the change was successful. In Internet Explorer, navigate to Common > Common > Office
integration > Document templates .
16. Click Reload system templates .
17. Click Yes to confirm that you want to reload the system templates.
18. Verify that the new system-defined template is loaded, and that the template name is
FleetCustomersBasicTemplate .
Journal Entry in Excel experience powered by a template
1. In Internet Explorer, navigate to General ledger > Journal entries > General journals .
2. Make sure that you're in company USMF .
3. Create a new journal by clicking New .
4. Set the name to GenJrn .
5. Click Open lines in Excel .
6. Open the workbook that is generated, and enable editing as required. Note that header fields are filled with
data.
7. Enter a new line, and set the MainAccount field to 110110 . Enter a description, a currency, and a debit
amount. Note that lookups are provided for the company and currency fields, because those relationships are
defined for this entity.
8. Click Publish . Note that the line is updated with the current date and a debit amount of 0 (zero).
9. In Internet Explorer, click Lines . Note that line that you entered in Excel is shown.
result.items().value(1, "US");
result.items().value(2, "AU");
result.items().value(3, "FR");
result.items().value(4, "GR");
result.items().value(5, "NZ");
return result.serialize();
}
}
5. Save the code. If you're asked whether you want to overwrite the existing code or save is as a new file, click
Over write .
6. Build the solution (press Ctrl+Shift+B).
7. Verify that the change was successful. In Internet Explorer, navigate to Fleet Management > Customers >
Customer .
8. Click Open in Microsoft Office > Open in Excel > Fleet Management Customers .
9. Open the workbook that is generated.
10. Click a Countr y value.
11. Change the Countr y value for a customer.
12. Publish the change.
13. Change the value back, and publish that change.
Email experiences
Send mail via a local mail client
Email workflows that are enabled via the SysEmail framework can generate email messages (.eml files) that contain
attachments. You can then send these messages via Microsoft Outlook or another email client.
1. In Internet Explorer, navigate to Accounts receivable > Customers > All customers .
2. Select US-008 Sparrow Retail .
3. Click Collect > Customer balances > Collections to open the Collections page.
4. Click Communicate > Email > Statements to contact .
5. Click OK to accept the default values in the dialog box.
6. If you're prompted for the mail option to use, clear the Do not ask again check box (you can change this
option from the user options page), select Use an email app, such as Outlook , and then click OK .
7. If you're running Internet Explorer on your laptop, open the email (.eml) file that is generated. If you're running
Internet Explorer on the VM, copy the file to your laptop, and open it there.
8. Note the email address in the To field and the generated workbook attachment.
Send mail via SMTP
Email workflows that are enabled via the SysEmail framework can also be created in a simple email dialog box and
then sent via Simple Mail Transfer Protocol (SMTP).
1. In Internet Explorer, navigate to System administration > Setup > Email > Email parameters .
2. Click SMTP settings .
3. Set the Outgoing mail ser ver to the desired SMTP server:
For Office 365 production (including *.onmicrosoft.com accounts): smtp.office365.com (Find this setting
via outlook.office.com, at Settings > Mail > POP and IMAP .)
For Outlook/Hotmail: smtp-mail.outlook.com
4. Set the user name and password to an appropriate email account and password.
5. Leave SSLRequired turned on, and leave SMTP por t number set to 587 .
6. Click Save .
7. In Internet Explorer, navigate to Accounts receivable > Customers > All customers .
8. Select US-008 Sparrow Retail .
9. Click Collect > Customer balances > Collections to open the Collections page.
10. Click Communicate > Email > Statements to contact .
11. Click OK to accept the default values in the dialog box.
12. If you're prompted for the mail option to use, select Use the Microsoft Dynamics 365 for Finance and
Operations email client , and then click OK .
13. To receive the test message, change the To address to your email address.
14. Enter a subject and body for the message.
15. Click Send . The message should be delivered in one to five minutes. Note that the message will appear to
be sent from the email account that is set on the Email parameters page. If that email account is given
"Send As" (or "Send email from this mailbox") permissions for the From address that is used in the Send
email dialog box, messages will appear to come from that address.
You can configure "Send As" permissions in the Office 365 admin center (portal.office.com/Admin), at
Users > Active users > User > Edit mailbox permissions > Send email from this mailbox . For
more information, see Enable sending email from another user's mailbox in Office 365.
Before users can send email messages, "Send As" permissions for each user email account in the client
must be given to the email account that is set on the Email parameters page. For more information,
see How to set up a multifunction device or application to send email using Office 365.
16. Email that is sent directly from the server, without user interaction, is sent via a batch process and requires
that the Email distributor batch process be started. Follow these steps to start the process:
a. Navigate to System administration > Periodic tasks > Email processing > Batch .
b. Turn on Batch processing .
Additional resources
Office integration overview
Troubleshoot the Office integration
Open entity data in Excel and update it by using the
Excel add-in
10/1/2019 • 8 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This topic explains how to open entity data in Microsoft Excel, and then view, update, and edit the data by using the
Microsoft Dynamics Office add-in for Excel. To open the entity data, you can start from either Excel or Finance and
Operations.
By opening entity data in Excel, you can quickly and easily view and edit the data by using the Excel add-in. This
add-in requires Microsoft Excel 2016.
NOTE
If your Microsoft Azure Active Directory (Azure AD) tenant is configured to use Active Directory Federation Services (AD FS),
you must make sure that the May 2016 update for Office has been applied, so that the Excel add-in can correctly sign you in.
To learn more about using the Excel add-in, watch the short Create an Excel template for header and line patterns in
Dynamics 365 for Finance and Operations video.
Open entity data in Excel when you start from Finance and Operations
1. On a page in Finance and Operations, select Open in Microsoft Office .
If the root data source (table) for the page is the same as the root data source for any entities, default Open
in Excel options are generated for the page. Open in Excel options can be found on frequently used pages,
such as All vendors and All customers .
2. Select an Open in Excel option, and open the workbook that is generated. This workbook has binding
information for the entity, a pointer to your environment, and a pointer to the Excel add-in.
3. In Excel, select Enable editing to enable the Excel add-in to run. The Excel add-in runs in a pane on the right
side of the Excel window.
4. If you're running the Excel add-in for the first time, select Trust this Add-in .
5. If you're prompted to sign in, select Sign in , and then sign in by using the same credentials that you used to
sign in to Finance and Operations. The Excel add-in will use a previous sign-in context from Internet Explorer
and automatically sign you in, if it can. Therefore, verify the user name in the upper-right corner of the Excel
add-in.
The Excel add-in automatically reads the data for the entity that you selected. Note that there will be no data in the
workbook until the Excel add-in reads it in.
NOTE
If the Design button doesn't appear below the Filter button in the Excel add-in, you must enable the data source designer.
Select the Options button (the gear symbol), and then select the Enable design check box.
1. In the Excel add-in, select Design . All the data sources are listed.
2. Next to the data source, select the Edit button (the pencil symbol).
3. In the Selected fields list, adjust the list of fields as you require:
To add a field from the Available fields list to the Selected fields list, select the field, and then select
Add . Alternatively, double-click the field in the Available fields list.
To remove a field from the Selected fields list, select the field, and then select Remove . Alternatively,
double-click the field.
To change the order of fields in the Selected fields list, select a field, and then select Up or Down .
4. To apply your changes to the data source, select Update . Then select Done to exit the designer.
5. If you added a field (column), select Refresh to pull in an updated set of data.
Troubleshooting
There are a few issues that can be resolved through some easy steps.
The Load applets button is shown – If the Excel add-in has a Load applets button after sign-in, you
probably aren't signed in as the correct user. To resolve this issue, verify that the correct user name appears in
the upper-right corner of the Excel add-in. If an incorrect user name appears, select it, sign out, and then sign
back in.
You receive a "Forbidden" message – If you receive a "Forbidden" message while the Excel add-in is loading
metadata, the account that is signed in to the Excel add-in doesn't have permission to use the targeted service,
instance, or database. To resolve this issue, verify that the correct user name appears in the upper-right corner of
the Excel add-in. If an incorrect user name appears, select it, sign out, and then sign back in.
A blank webpage is shown over Excel – If a blank webpage is opened during the sign-in process, the
account requires AD FS, but the version of Excel that is running the Excel add-in isn't recent enough to load the
sign-in dialog box. To resolve this issue, update the version of Excel that you're using. To update the version of
Excel when you're in an enterprise that is on the deferred channel, use the Office deployment tool to move from
the deferred channel to the current channel.
Create Open in Excel experiences
2/12/2020 • 18 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
Learn about creating Open in Office experiences for Excel and Word.
return lookupList;
}
}
How does the app get injected into a workbook to start building a
template?
The Excel Add-in is injected into a workbook when a generated Open in Excel experience is triggered or when a
workbook is created using the Common > Common > Office integration > Excel workbook designer form.
The Create workbook button will add the selected entity and fields, a pointer to the server, and the app into a
workbook.
The Create blank workbook button will simply add a pointer to the server and the app into a workbook.
The View related form will navigate to the form relating to the currently selected entity to more easily review
the effect of data changes made in Excel.
The Get entity record count button will show the record count for the currently selected entity. The Excel Add-
in will handle large sets of data within the memory limits of a user's machine. By default, the Excel Add-in has a
data govenor that restricts the data size to one million cells but, depending on the performance abilities of the
user's machine, this can usually be extended to around 2.5 million cells.
The following image shows the Excel workbook designer form.
After obtaining a workbook containing the Excel Add-in, additional datasources can be added using the Design
button. Currently, datasources cannot be removed.
In the future, we will do the equivalent of clicking that button during deployment.
How do I decide if I should create a template?
A template is an artifact that needs to be maintained and versioned. If you can avoid defining a template without
sacrificing much from the user experience, then you probably should use a template. Create a template if:
You need additional content or formatting in the template.
You want to combine multiple entities/datasources in the same workbook.
Don’t create a template if:
You can just specify a set of fields to show in a table binding.
/// <summary>
/// Opens the current journal in Excel for line entry and editing
/// </summary>
public void clicked()
{
super();
The following image shows the General ledger > Journals > General journal form with the Open lines in
Excel button highlighted.
To programmatically add generated and template Open in Excel options, Open in Excel options can be added by
implementing the ExportToExcelIGeneratedCustomExport and ExportToExcelITemplateCustomExport interfaces. This
allows the addition of options to forms where the entity or template doesn’t have the same table as the root
datasource. An example of when you would use this capability is on forms without a datasource, potentially
containing only a collection of form parts. The following example adds generated and template Open in Excel
options programmatically to the FMRental form.
[Form]
public class FMRental extends FormRun implements ExportToExcelIGeneratedCustomExport,
ExportToExcelITemplateCustomExport
{
...
ExportToExcelExportOption exportOption =
ExportToExcelExportOption::construct(ExportToExcelExportType::CustomGenerated, int2str(1));
exportOption.setDisplayNameWithDataEntity(tablestr(FMRentalEntity));
exportOptions.addEnd(exportOption);
ExportToExcelExportOption exportOption2 =
ExportToExcelExportOption::construct(ExportToExcelExportType::CustomTemplate, int2str(2));
exportOption2.displayName("Analyze rentals");
exportOptions.addEnd(exportOption2);
return exportOptions;
}
if (_exportOption.id() == int2str(1))
{
context = ExportToExcelDataEntityContext::construct(tablestr(FMRentalEntity),
tablefieldgroupstr(FMRentalEntity, AutoReport));
}
return context;
}
if (_exportOption.id() == int2str(2))
{
stream =
Microsoft.Dynamics.Ax.Xpp.MetadataSupport::GetResourceContentStream(resourcestr(FMRentalEditableExportTemplate)
);
}
return stream;
}
_settingsEditor.SetFilterExpression(tableStr(RetailTmpBulkProductAttributeValueEntity),
element.getExportToExcelFilterExpression());
_settingsEditor.SetFilterExpressionByPublicName(dictDataEntity.publicEntityName(),
element.getExportToExcelFilterExpression());
After a filter has been added programmatically, the resulting filter can be viewed in the Excel Add-in using the
Filter button. The following image shows the Excel Add-in with the Filter button highlighted.
The following image shows the Excel Add-in with the Filter dialog box opened.
How can I enable users to create new header records as well as lines in
a workbook?
To enable creation of header records and related lines, the header data source must be added as a set of "fields"
and the lines data source must be added as a related table. This pattern can work well for document data entry
scenarios such as Journal entry.
To learn more about header records and related lines, watch the short Create an Excel template for header and line
patterns in Dynamics 365 for Finance and Operations video.
To design a workbook with header fields and a lines table that enables header creation:
1. In the Excel Add-in, click Design to open the Designer. Select Add fields to add a header data source.
2. Select the header fields that you want to use. Be sure to include all the key fields or the New button won't be
enabled.
3. For all of the string header value fields, manually apply "Text" format for that cell using Excel ribbon > Home
tab > Number group > set "Number" in the format drop-down menu. If the Text format isn't manually set
on a string field and there's a string value with leading zeros like "00045", then Excel will automatically change it
to "45" and an error will be shown like: "Unable to change the value of PurchaseOrderHeader's
PurchaseOrderNumber field as it is a key field". Currently, the API doesn't allow for automatically applying the
text formatting on individual cells (versus table columns).
4. In the Designer, on the header data source, click the Add related table button represented by a double plus
icon.
5. Select the line fields that you want to use.
Here's an example of a header data source with a related table data source.
PurchaseOrderHeader (Fields)
dataAreaId
PurchaseOrderNumber
PurchaseOrderName
OrderVendorAccountNumber
PurchaseOrderLine (Table - related)
LineNumber
ItemNumber
LineDescription
OrderedPurchaseQuantity
LineAmount
To use a header and lines workbook to create a new header and lines, follow these steps:
1. In the workbook, move the focus to a cell with a header value.
2. In the Excel Add-in, click New .
3. Enter header values and lines as needed.
4. Select Publish .
Troubleshooting
If you are not seeing an expected lookup, validate relationship metadata by checking the metadata feed available at
[YourSiteURL]/data/$metadata. Search the $metadat feed for the public name of your entity to find its EntityType
element, then make sure there is a child NavigationProperty element with a name equal to the Role value of the
relationship. If the navigation property exists, it will be used by the Excel Data Connector to show a relationship
lookup. Lookups are not shown under the following conditions:
All of the entity's key fields are included as constraints in the relationship.
The selected field is a key and the selected record is not new.
The authenticated user does not have permission to access the entity targeted by the lookup.
How do dimensions work?
The easiest way to set up dimension metadata on data entities is to use the data entity creation wizard, which will
automatically create the private relationships and public display value fields exactly as the dimensions framework
needs them. If you want to customize your dimensions setup, see Add dimensions to Excel templates. Lookups, are
only generated automatically for non-ledger dimensions. Custom dimensions are not supported curently. If you
want to enable lookups for ledger dimensions (MainAccount, Department, CostCenter, etc.), see Add dimensions to
Excel templates for guidance on creating relationships on DimensionCombationEntity and DimensionSetEntity
fields. When those relationships are present, relationship lookups will be displayed in the Excel Data Connector. The
Excel Data Connector supports two types of dimension data entry: editing the display value directly or editing each
attribute of the display value in a separate column. If both the display value column and the individual attribute
columns are bound, they can both be edited and published separately. If both the display value and an individual
attribute are edited in the same row, the individual attribute change overrides the display value change.
Known issues
Refresh doesn’t automatically occur in old templates
The ability to control “refresh on open” was added as a setting. To add this to the default behavior, existing
templates and workbooks need to have the Refresh on open check box selected in Options > Data Connector
> Refresh Options .
Error finding entity
The reference to entities changed from using the Private Entity Name (DataEntity.Name) to Public Entity Name
(DataEntity.PublicEntityName). If the public and private names for an entity were different and that entity was used
in an Excel template or workbook, then this will cause the following error to be displayed in the Excel App: “Error
Finding Entity. Details: Entity "<DataEntity.Name>" not found”.
To resolve this, change the binding information in the affected template so that it points to
DataEntity.PublicEntityName instead of DataEntity.Name.
1. For the DataEntity.Name that needs to be replaced, determine the DataEntity.PublicEntityName, for example
replace FMCustomerEntity with FleetCustomer.
2. Find the affected template.
3. Change the file extension on the template from .xlsx to .zip.
4. The file to be changed will be one of the webextension*.xml files in the xlwebextensions directory, such as
2015-05-25-FleetCustomersWithLocations.zipxlwebextensionswebextension2.xml.
5. Open the file to ensure that you have the correct location.
6. Find the DataEntity.Name, such as FMCustomerEntity.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This topic describes how you can promote a template to the Open lines in the Excel menu that is available on
journal pages.
Some of the most frequently used templates are the journal templates. Some of these journal templates have been
promoted so that they appear on the Open lines in Excel menu by default. However, when you add a new
template to the system, it's available on the Open in Office menu by default. To promote the template so that it's
available on the Open lines in Excel menu, follow these steps.
1. Create a Microsoft Excel template, and save it locally. For more information, see the "Create Open in Excel
experiences" article.
2. In Microsoft Visual Studio, create a new project for a model that has a reference to the ApplicationSuite
model.
using Microsoft.Dynamics.Platform.Integration.Office;
public class TestNewTemplate extends DocuTemplateRegistrationBase implements LedgerIJournalExcelTemplate
{
private const DocuTemplateName ExcelTemplateName = resourceStr(TestNewTemplate);
private const EntityName LineEntityName = tableStr(LedgerJournalLineEntity);
private const FieldName LineEntityJournalNum = fieldStr(LedgerJournalLineEntity,
JournalBatchNumber);
private const FieldName LineEntityDataAreaId = fieldStr(LedgerJournalLineEntity, dataAreaId);
private const FieldName HeaderEntityName = tableStr(LedgerJournalHeaderEntity);
private const FieldName HeaderEntityJournalNum = fieldStr(LedgerJournalHeaderEntity,
JournalBatchNumber);
private const FieldName HeaderEntityDataAreaId = fieldStr(LedgerJournalHeaderEntity, dataAreaId);
/// <summary>
/// A boolean value which indicates whether the journal type is supported for the Excel template.
/// </summary>
/// <param name = "_ledgerJournalType">The ledger journal type.</param>
/// <returns>True if the journal type is supported; otherwise, false.</returns>
public boolean isJournalTypeSupported(LedgerJournalType _ledgerJournalType)
{
return _ledgerJournalType == LedgerJournalType::Daily;
}
/// <summary>
/// Gets the document template name.
/// </summary>
/// <returns>The document template name</returns>
public DocuTemplateName documentTemplateName()
{
return ExcelTemplateName;
}
/// <summary>
/// Gets a collection of the supported account types for the entity.
/// </summary>
/// <returns>A collection of <c>LedgerJournalACType</c> values.</returns>
public Set supportedAccountTypes()
{
Set accountTypeSet = new Set(Types::Integer);
accountTypeSet.add(LedgerJournalACType::Ledger);
return accountTypeSet;
}
/// <summary>
/// Gets a collection of the supported offset account types for the entity.
/// </summary>
/// <returns>A collection of <c>LedgerJournalACType</c> values.</returns>
public Set supportedOffsetAccountTypes()
{
Set offsetAccountTypeSet = new Set(Types::Integer);
offsetAccountTypeSet.add(LedgerJournalACType::Ledger);
return offsetAccountTypeSet;
}
/// <summary>
/// Validates the journal is valid for the template.
/// </summary>
/// <param name = "_ledgerJournalTable">The <c>LedgerJournalTable</c> record.</param>
/// <returns>True if the journal is valid for the template; otherwise, false.</returns>
public boolean validateJournalForTemplate(LedgerJournalTable _ledgerJournalTable)
{
return LedgerJournalExcelTemplate::validateJournalForTemplate(_ledgerJournalTable, this);
}
public void registerTemplates()
{
this.addTemplate(
OfficeAppApplicationType::Excel,
ExcelTemplateName,
ExcelTemplateName,
'Test new template',
'Test new template',
NoYes::No,
NoYes::No,
NoYes::No);
}
/// <summary>
/// The resource name of the header entity.
/// </summary>
/// <returns>The resource name of the header entity.</returns>
public EntityName headerEntityName()
public EntityName headerEntityName()
{
return HeaderEntityName;
}
/// <summary>
/// The resource name of the line entity.
/// </summary>
/// <returns>The resource name of the line entity.</returns>
public EntityName lineEntityName()
{
return LineEntityName;
}
/// <summary>
/// The field name for the header journal batch number.
/// </summary>
/// <returns>The field name for the header journal batch number.</returns>
public FieldName headerJournalBatchNumberFieldName()
{
return HeaderEntityJournalNum;
}
/// <summary>
/// The field name for the header data area.
/// </summary>
/// <returns>The field name for the header data area.</returns>
public FieldName headerDataAreaFieldName()
{
return HeaderEntityDataAreaId;
}
/// <summary>
/// The field name for the line journal batch number.
/// </summary>
/// <returns>The field name for the line journal batch number.</returns>
public FieldName lineJournalBatchNumberFieldName()
{
return LineEntityJournalNum;
}
/// <summary>
/// The field name for the line data area.
/// </summary>
/// <returns>The field name for the line data area.</returns>
public FieldName lineDataAreaFieldName()
{
return LineEntityDataAreaId;
}
/// <summary>
/// Append additional filter to the default filtering behavior.
/// </summary>
/// <returns>The original filter with new filter(s) appended; Otherwise, the original
filter</returns>
public FilterCollectionNode appendHeaderEntityFilters(FilterCollectionNode _headerFilter,
ExportToExcelFilterTreeBuilder _headerFilterBuilder)
{
return _headerFilter;
}
/// <summary>
/// Append additional filter to the default filtering behavior.
/// </summary>
/// <returns>The original filter with new filter(s) appended; Otherwise, the original
filter</returns>
public FilterCollectionNode appendLineEntityFilters(FilterCollectionNode _lineFilter,
ExportToExcelFilterTreeBuilder _lineFilterBuilder)
{
FilterCollectionNode lineFilter = _lineFilterBuilder.and(
_lineFilterBuilder.areEqual(fieldStr(LedgerJournalLineEntity, AccountType),
LedgerJournalACType::Ledger),
_lineFilterBuilder.areEqual(fieldStr(LedgerJournalLineEntity, OffsetAccountType),
LedgerJournalACType::Ledger));
return _lineFilterBuilder.and(_lineFilter, lineFilter);
}
}
}
4. Build the project/model that has the new resources. You should have one new resource and one new class.
5. In the client, go to Common > Common > Office integration > Document templates > Reload
system templates . You will see the new template in the list, and if you open the journal page that you
added the template to, you will also see that template on the Open lines in Excel menu.
Additional resources
Create Open in Excel experiences
Customize the Open in Microsoft Office menu
2/12/2020 • 10 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
Most pages include an Open in Microsoft Office menu. This topics provides information about the Open in Office
menu, and explains how customize it by adding, removing, and changing options.
Overview
The Open in Microsoft Office menu button (Open in Office menu) is a system-defined button that appears on
pages. The Open in Office menu contains menu items that let you export data to various Office products, such as
Microsoft Excel and Microsoft Word. The following table describes the menu items on the Open in Office menu.
M EN U IT EM DESC RIP T IO N
Default exports
The Open in Office menu provides a default export for each data entity. This export includes all the fields in the
AutoRepor t group on the data entity. If SaveDataPerCompany is set to Yes for the data entity, a filter is applied
to limit the data to the current company.
Document templates
Document templates can be added from the Document templates page. Several fields that are associated with
each Document Template record control the behavior of that template on the Open in Office menu.
Root data entity The root data entity of the template. The root data entity is
used to determine which pages the template can be included
on.
List in Office menu If this field is selected, the template will be included on the
Open in Office menu on applicable pages. (The applicable
pages depend on the root data entity).
Apply record filter If this field is selected, the data will be filtered, based on the
record that is currently selected on the page.
Apply company filter If this field is selected, the data will be filtered, based on the
current company.
OfficeIMenuCustomizer Use this interface to modify the set of data entities that is
considered for a page and add custom menu items.
Modifying the Open in Office menu through extensions and event subscriptions
If you must modify a page that you don't own, you should avoid using interfaces, because that approach will
require over-layering. Instead, you should do the customization through extensions and event subscriptions. To use
this approach, implement an extension class that subscribes to the OnIntializing event of the page that you're
customizing. From this event handler, get the OfficeFormRunHelper for the page, and subscribe to its
OfficeMenuInitializing event. The following example shows sample code for this approach.
To define what is actually exported, use an Expor tToExcelDataEntityContext . The method for specifying the
Expor tToExcelDataEntityContext depends on whether you're using interfaces or extensions and event
subscriptions to customize the Open in Office menu.
Using interfaces
If you're using interfaces, you must implement the
OfficeIGeneratedWorkbookCustomExpor ter.getDataEntityContext() method.
menuItem.getDataEntityContext += eventhandler(MyForm_Extension::getDataEntityContextHandler);
To modify the template at run time, you can supply a set of initial filters. These filters will replace any filters in the
template for the specified data entities. Additionally, you can modify filters and specify many settings by using
WorkbookSettingsManager . The following sections show examples.
Using interfaces
If you're using interfaces, you must implement the
OfficeITemplateCustomExpor ter.getInitialTemplateFilters() and
OfficeITemplateCustomExpor ter.updateTemplateSettings() methods.
menuItem.getInitialTemplateFilters += eventhandler(MyForm_Extension::getInitialTemplateFiltersHander);
menuItem.updateTemplateSettings += eventhandler(MyForm_Extension::updateTemplateSettingsHandler);
Additional customizations
The following customizations let you modify the contents of the Open in Office menu for a page without using
interfaces or extensions and event handlers.
Removing an Export to Excel menu item for a grid
On the Open in Office menu, the Expor t to Excel group will contain a menu item for each visible grid. To remove
a grid from the Open in Office menu, set the Expor tAllowed metadata property on the grid to No . After you
make this change, users won't be able to export the grid by using the shortcut menu for the grid.
Renaming an Export to Excel menu item for a grid
To rename the Expor t to Excel menu item that is related to a grid, set the Expor tLabel metadata property on the
grid to the appropriate label.
Removing all menu items for a data entity from all pages
Integration scenarios require that some data entities be publicly available via the OData Service. However, it isn't
always appropriate that these data entities appear on the Open in Office menu by default. In this scenario, you
can add the OfficeMenuOmit code attribute to the entity declaration.
[OfficeMenuOmit]
public class MyEntity extends common
{
// Entity code…
}
After you make this change, by default, the entity won't appear on the Open in Office menu on pages that have a
matching root data source. However, if the entity should be added to a specific page, you can use other
customization mechanisms to add it.
Adding a menu item button to a page that corresponds to an Open in Office menu entry
Sometimes, it's appropriate that the Action Pane of a page have a menu item button that corresponds to a custom
menu item on the Open in Office menu. In this case, you can model a menu item button that has the following
properties:
Menu Item Type: Action
Menu Item Name: Expor tToExcelExpor tForm
Parameters: The ID of the menu item
Then, a mouse click of this menu item button is equivalent to a mouse click of the corresponding menu item on the
Open in Office menu.
Configure and send email
1/24/2020 • 12 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The behavior of the email subsystem is influenced by a combination of administrator configuration, user
configuration, and user choices. This topic is divided into sections for administrators and users to make it easy to
find relevant information.
Both administrators and users set the behavior of the email subsystem.
Batch email provider Specifies which email provider will be used to send emails that
are sent by processes in a batch or non-interactive manner.
The Exchange provider will use the account associated with the
batch process.
Attachment size limit Specifies the maximum size of a single email that can be sent
via the email subsystem.
In Platform update 32, an Email histor y page was added to allow administrators to review all sent emails,
including any errors that might have prevented an email from being sent. By default, the last 30 days of email
history is retained. This can be configured by changing the Number of days to retain email histor y to a non-
zero amount. Zero provides the default amount and behavior.
On the Email parameters page, note the following settings on the SMTP settings tab.
Outgoing mail server The host name of the desired SMTP server.
For Office 365 production (including *.onmicrosoft.com
accounts) use smtp.office365.com. (You can find this
setting at outlook.office.com at Settings > Mail >
POP and IMAP .)
For Outlook/Hotmail use smtp-mail.outlook.com.
SMTP port number Typically, the port number should be set to 587 for secure
transport.
F IEL D DESC RIP T IO N
User name and Password Specify, as needed, to send the email via the appropriate mail
account. All users need to provide the SMTP account Send As
and Send On Behalf Of permissions to enable the ability to
send Simple Mail Transfer Protocol (SMTP) mail. You can
configure Send As permissions in the Office 365 admin center
(portal.office.com/Admin), at Users > Active users > User >
Edit mailbox permissions > Send email from this
mailbox. For more information, see Enable sending email from
another user's mailbox in Office 365.
Specify if SSL is required Determines whether secure transport is used. Typically, this is
Yes , except for internal or troubleshooting scenarios.
Email provider ID Allows the user to select the email provider that should be
used when sending an email. Selecting an option here is the
equivalent of selecting Do not ask again in the How would
you like to send email dialog box. Selecting the blank
option Prompt for which email provider to use will cause
the How would you like to send email dialog box to
display when an email is going to be sent.
F IEL D DESC RIP T IO N
Email Allows the user to provide an email address override for the
From field of the email. By default, the email alias that
associated with the user account is used as the From field in
new emails, but this user option email address will override
that. When sending email via SMTP the user needs to have
appropriate Send As and Send On Behalf Of permissions
configured in Exchange or on the SMTP server.
[!NOTE] You can configure Send As and Send On Behalf
Of permissions in the Office 365 admin center
(portal.office.com/Admin) at Users > Active users >
User > Edit mailbox permissions > Send email from
this mailbox. For more information, see Enable sending
email from another user's mailbox in Office 365.
User (optional): How would you like to send email dialog box
When an email is going to be sent, the user will see the How would you like to send email dialog box that will
list the available options for sending email.
Use an email app, such as Outlook Provides the user with a generated email (.eml) file.
Use Exchange email server Uses the Exchange Online server associated with the tenant.
The email will be sent using Exchange Web Services (EWS). On-
premises Exchange servers are not supported at this time for
the Exchange mail provider.
Use the system email client Opens the Send email composition dialog box and then
sends the resulting email via SMTP.
Do not ask again If this field is not selected, the next time an email is sent the
most recently selected option will be used and the dialog box
will not open.
To , Cc, Bcc, Subject , and Body Populated with values specified by the process that initiated
the sending of the email. These fields can be edited as needed
by the user.
Troubleshoot email
There are a few standard steps that can help you troubleshoot the configuration of email settings.
1. Verify email settings:
a. Go to System administration > Setup > Email > Email parameters .
b. Verify that SMTP is enabled.
c. Verify the settings of the SMTP mail server.
d. Sign in to the SMTP account in a separate window to make sure that the account and password are
correct.
e. Send a test email using System administration > Setup > Email > Email parameters > Test email .
2. Verify that the email batch process is running:
a. Go to System administration > Periodic tasks > Email processing > Batch .
b. Make sure that the Batch processing option is set to Yes .
c. Review the recurrence of the email process:
a. Select No end date to adjust all recurrences of the email batch process.
b. Adjust the count as you require.
3. To review the contents and status of batch emails, go to System administration > Periodic tasks > Email
processing > Batch email sending status .
a. If you're using a release that is earlier than Platform update 28, personalize the form to add the email
sender for easy review. To do this, right-click the grid header, select Add columns , select Email , and then
click Inser t . If the Email field isn't added into the grid, you can view the sender by selecting Show
message , and then selecting the Email field.
b. Verify that emails are being sent from the correct account. If the account is incorrect, you need to adjust
settings such as user options, system templates, or organization templates, as needed.
c. Verify that all email user accounts have been granted permission to Send As for the configured SMTP
account (see step 4 for details).
4. In Platform update 32, an Email histor y page was added to allow administrators to review all sent emails,
including any errors that might have prevented an email from being sent. The Email histor y page will show
interactive as well as non-interactive/batch emails. For any emails that have an Email status of Failed ,
review the error message on the Failure details tab and determine if corrective actions should be taken.
5. In the Office 365 admin center, verify that all user mail accounts that will be used to send emails have Send
As and Send On Behalf Of permissions for the configured SMTP account. For more information, see
Enable sending email from another user's mailbox in Office 365.
6. Sign in to all user mailboxes to verify that they are valid and can be accessed using sign in.
7. Send a test email using System administration > Setup > Email > Email parameters > Test email .
8. If the SMTP settings were migrated from another environment, clear the password field and re-enter the
password to ensure that the field encryption hasn't negatively affected the stored value.
9. If you continue to experience issues when email is sent via SMTP, enter the SMTP account information in a
tool such as SMTPer.net to verify that the SMTP server and account are valid and working correctly.
Other notes
The system communicates with Exchange or an SMTP server like a typical email client, so standard behavior and
limits apply. For example, standard Exchange Online receiving and sending limits apply.
Additional resources
Troubleshoot the Office integration
Office integration tutorial
Configure email functionality in Microsoft Dynamics AX [AX 2012]
Develop email experiences by using the SysMailer
framework
2/5/2020 • 6 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
Sending emails
The SysMailer framework is a new, extensible way to send email. It replaces all previous application programming
interfaces (APIs) for mail, such as CDO.Messaging (SysMailer), MAPI (SysINetMail), and Outlook COM
(SmmOutlookEmail). Those older mail APIs won't work correctly in Finance and Operations applications. By taking
advantage of the SysPlugin framework and several .NET technologies, SysMailer provides a configurable
experience for users and enables the application consumers to remain agnostic to the email option that users use
to send email.
The SysMailer framework consists of a factory class that is used to retrieve an email provider, a set of email
providers that send messages, a message builder that builds the messages, and the forms that are related to
configuring and interacting with the email providers. To consume the SysMailer framework, an application
developer primarily uses the SysMailerFactor y and SysMailerMessageBuilder classes. The email provider
factory is used to retrieve interactive or non-interactive email providers, so that multiple messages can be sent at
the same time, or so that a message can be sent directly. The email providers expect the messages that they send to
be encapsulated in .NET System.Net.Mail.MailMessage objects. The message builder class is used to build the
.NET object that is passed to the email provider.
Scenarios
This topic describes three scenarios:
Sending an interactive message
Sending a non-interactive (batch) message
Sending multiple non-interactive (batch) messages
Sending an interactive message
The following example is taken from the CustCollectionsEmail class. It demonstrates multiple features of the
framework, such as the ability to chain message builder calls, conditionally set the sender address ("from" address),
and add attachments.
using (System.IO.Stream attachmentStream = this.generateAttachment())
{
var messageBuilder = new SysMailerMessageBuilder();
messageBuilder.addTo(context.parmEmailAddress())
.setSubject(emailSubject)
.setBody(SysEmailMessage::stringExpand(emailBody,
SysEmailTable::htmlEncodeParameters(templateTokens)));
if (emailSenderAddr)
{
messageBuilder.setFrom(emailSenderAddr, emailSenderName);
}
else if (custParameters.CollectionsOMTeam)
{
var collectionsEmail = OMTeam::find(custParameters.CollectionsOMTeam).primaryEmail();
if (strLen(collectionsEmail) > 0)
{
messageBuilder.setFrom(collectionsEmail);
}
}
if (attachmentStream != null)
{
messageBuilder.addAttachment(
attachmentStream,
strFmt('%1%2', strReplace(DateTimeUtil::toStr(DateTimeUtil::utcNow()), ':', ''), '.xlsx'));
}
SysMailerFactory::sendInteractive(messageBuilder.getMessage());
}
// The vendor <vendor name> has been approved and has been added to the vendor master.
messageText = strFmt("@SYS134393", DirPartyTable::findRec(vendRequestCompany.VendParty).Name);
// Request
var messageBuilder = new SysMailerMessageBuilder();
messageBuilder.setFrom(senderEmail)
.addTo(recipientEmail)
.setSubject("@SYS130372")
.setBody(messageText);
SysMailerFactory::sendNonInteractive(messageBuilder.getMessage());
Important considerations
A sender address ("from" address) is required when messages are sent to an email provider. A receiver
address ("to" address) is required when messages are sent non-interactively. If these conditions aren't met,
the framework throws an exception. If getMessage is called on the message builder before any call to
setFrom is made, the builder tries to set the sender address to the current user's email address or network
alias.
When messages are sent, the way that the sender address ("from" address) is used depends on the provider:
EML provider : The sender address is removed from the message before the message is opened in the
user's email client. Therefore, the email client can set the sender address to the default account that is
configured for sending mail.
SMTP provider : The Simple Mail Transfer Protocol (SMTP) server must be configured to allow
messages to be sent by using the sender address. In other words, the SMTP server must allow the
impersonation of emails that are sent from it. Otherwise, the SMTP server might prevent the messages
from being sent, flag them as spam, and so on.
When messages are sent, the framework returns a Boolean value that indicates whether the operation to
send the message was successful. However, it doesn't report any messages to the Action Center when the
operation is successful. You decide whether messages are shown in the Action Center.
By default, the body of all messages that are sent is in rich-text (HTML) format. If an application scenario
requires that plain text be used to maintain newline spacing, you can pass false to the optional _isHtml
parameter of the setBody method on the message builder.
using System.IO;
using System.Net.Mail;
using System.Text.RegularExpressions;
#define.SysMailerEML_ID('EML')
/// <summary>
/// The <c>SysMailerEML</c> class is an interactive email provider implementation that sends messages by
generating
/// an EML file, uploading it to Azure temporary blob storage, and then redirecting the user's browser to
/// the file to save or open for sending using their default email client.
/// </summary>
// This is a framework class. Customizing this class may cause problems with future upgrades to the software.
[System.ComponentModel.Composition.ExportAttribute(identifierStr(Dynamics.AX.Application.SysIMailer)),
System.ComponentModel.Composition.ExportMetadataAttribute(extendedTypeStr(SysMailerId), #SysMailerEML_ID)]
public class SysMailerEML implements SysIMailerInteractive
{
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This topic provides answers to questions, tips, and troubleshooting information about the capabilities of the
Microsoft Office integration. The questions and issues that are discussed range across user, administration, and
development scenarios.
NOTE
Name , Version , and Notes are values that provide information but they are not needed to run the Excel Add-in.
These same values are also used for the Word Add-in when it is run from the Document Templates form.
If you encounter issues with Centralized Deployment for some users, it could be one of these problems:
One or more users are members in a group that is more restrictive than others
The user referenced is on a different Office 365 account (such as a personal account)
What is the cell limit for the Excel Add-in?
The default Excel Add-in cell limit is about half the limit of what the Excel Add-in can handle on a reasonably fast
machine. The speed of the machine is the limitation. If problems are encountered, then the cell limit should be
reduced and/or the filter should be adjusted to reduce the data set. A common workaround is to use a filter to
manage the data in smaller pieces instead of all at once.
How do I make an entity available in the Excel Add-in and/or as an Open in Excel option?
If the entity is marked as “IsPublic=Yes” and has unique PublicEntityName and PublicCollectionName values, then
it will be available via the OData service. Check that there aren’t any existing entities with the same
PublicEntityName and PublicCollectionName values by looking at the $metadata feed for the environment
(preferably in Google Chrome): https://SomeFullEnvironmentURL.dynamics.com/data/$metadata
Why are date and time values in UTC in the Excel Add-in?
The Excel Add-In, Data Management Framework, and Power BI reporting are all designed to interact with data
directly on the database level. Because there is no client to adjust Date and Time data to the time zone of the user,
all Date and Time values are in UTC.
Troubleshooting issues
[Fixed] Issue: During sign-in to the Excel Add-in, I receive the following error message: "AADSTS65001: The
user or administrator has not consented to use the application with ID XYZ"
Issue: During sign in to the Excel Add-in, you receive the following error message: "AADSTS65001: The user or
administrator has not consented to use the application with ID XYZ."
Explanation: Typically, this issue occurs because Microsoft Azure Active Directory (Azure AD) can't find the Azure
AD application that represents the Excel Add-in. That issue occurs because, during the configuration of Microsoft
Power BI, an Azure AD application was added that has the App ID URI set to the environment URL.
Fix: Make sure that no Azure AD apps have the App ID URI set to the environment URL. App ID URIs should be
fabricated, unique URIs, such as https://contosoAXPowerBI .
[Fixed] Issue: During sign-in to the Excel Add-in, I receive the following error message: "AADSTS50001: The
application named ABC was not found in the tenant named XYZ"
Issue: During sign-in to the Excel Add-in, you receive the following error message: "AADSTS50001: The
application named ABC was not found in the tenant named XYZ."
Explanation: This issue probably occurs because an error in the deployment system caused the environment to
get a URL that wasn't added to the configured list of service principals for the tenant.
Fix: File a support issue for your environment, so that the problem can be investigated and the configuration can
be adjusted.
[Fixed] Issue: After the Excel Add-in starts and updates data, I receive the following error message: "An error
occurred while writing to the data cache"
Issue: After the Excel Add-in starts and updates data, you receive the following error message: "An error occurred
while writing to the data cache." The details of the error state, "The argument is invalid or missing or has an
incorrect format."
Explanation: You receive this error message if the client is open in Internet Explorer, and the user clicks Open
immediately after he or she selects the Open in Excel option. The way that Internet Explorer handles temporary
Internet files causes an issue in Excel. This issue, in turn, causes API calls to fail.
Workaround: In Internet Explorer, when you open a workbook, click Save first, and then click Open . The file will
then be opened from your Downloads folder. Alternately, use the Edge or Google Chrome browser. By default, both
these browsers save files to a Downloads folder. Therefore, the issue doesn't occur.
Long-term fix: We are working with the Office team to understand this issue so that it can be fixed in Excel.
Issue: When I send email by using SMTP, the server response is "5.7.60 SMTP; Client does not have permissions
to send as this sender"
Issue: When you send email by using Simple Mail Transfer Protocol (SMTP), you might receive an error message
that states that the server response was "5.7.60 SMTP; Client does not have permissions to send as this sender."
Alternatively, the error message might state, "Something went wrong while generating the report."
Explanation: This issue is usually caused by incorrect setup of the Send As permissions for the email account.
Fix: You can configure Send As permissions in the Office 365 admin center (portal.office.com/Admin). Click Users
> Active users > User > Edit mailbox permissions > Send email from this mailbox . For more
information, see Give mailbox permissions to another user in Office 365 - Admin Help.
The following illustration shows the setup of SMTP on the Email parameters page. Here, you must provide the
outgoing mail server, port, user name, password, and Secure Sockets Layer (SSL) requirements.
IMPORTANT
All users must give the SMTP account Send As permissions on their email setup in Office 365. This configuration is done in
the mailbox permissions in Microsoft Exchange or in the Office 365 Admin portal. The following illustration shows the setup
for the Test User account, where the STMP service account is added in the Send As section.
Issue: The Excel Add-in needs an explicit sign out after encountering an AADSTS50058 "silent sign in failed"
error
Issue: When users try to sign in to the Excel Add-in after some period of inactivity, the user encounters the
AADSTS50058 "silent sign in failed" error and is forced to sign out before signing back in.
Explanation: The Excel Add-in uses Azure AD for authentication. When authentication occurs, a token is created
for the user. That token has an expiration period. After the token has expired, an AADSTS50058 error will occur
indicating that "silent sign in failed".
Solution: The user needs to sign out and sign back in. We will improve this behavior in the future by
automatically signing the user out to enable faster sign in.
Issue: When trying to use a document template with Open in Excel a "Record for id GUID not found" error
displays
Issue: The "Record for id GUID not found" error can display when copying a database from one environment to
another.
Explanation: Copying the database is problematic for document templates, record attachments, and other files
that are stored in Azure blob storage. When the database is copied from one environment to another, the files are
not copied along with the records, so the files that the application tries to access are not found.
Solution: For document templates, the solution is to identify the templates that are needed and load a copy of
those template files into the target environment.
Additional resources
Office integration
Office integration tutorial
Configuring Power BI integration
Organization administration home page
11/18/2019 • 3 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This topic points to content that will help power users and administrators configure the system to work smoothly
and effectively for your organization and business.
Much of the content listed here applies to features in the Organizational administration module. However, there
are a couple of tasks, such as creating and using a record template, that can be performed in any module to help
your organization run more efficiently.
Number sequences
Number sequences are used to generate readable, unique identifiers for master data records and transaction
records that require identifiers. A master data record or transaction record that requires an identifier is referred to
as a reference. Before you can create new records for a reference, you must set up a number sequence and
associate it with the reference.
Number sequences overview
Set up number sequences using a wizard (Task guide)
Set up number sequences on an individual basis (Task guide)
Organizations
An organization is a group of people who are working together to carry out a business process or achieve a goal.
Organizational hierarchies represent the relationships between the organizations that make up your business.
Before you set up organizations and organization hierarchies, make sure that you plan how your business will be
modeled. The organization model has a significant effect on implementation and business processes.
Organizations and organizational hierarchies overview
Plan your organizational hierarchy
Create an organization hierarchy (Task guide)
Create a legal entity (Task guide)
Create an operating unit (Task guide)
Address books
The global address book is a centralized repository for master data that must be stored for all internal and external
persons and organizations that the company interacts with. The data that is associated with party records includes
the party's name, address, and contact information.
After you create the global address book, you can create additional address books as you require, such as a
separate address book for each company in your organization or for each line of business.
Global address book overview
Plan for the global address book and other address books
Configure the global address book
Address books FAQ
Workflow
Workflow is a system that you can use to create individual workflows, or business processes. When you create a
workflow, you specify how a document flows, or moves, through the system by showing who must complete a task,
make a decision, or approve a document.
Workflow system overview
Workflow elements
Actions in workflow approval processes
Create workflows overview
Electronic signatures
An electronic signature confirms the identity of a person who is about to start or approve a computing process. In
some industries, an electronic signature is as legally binding as a handwritten signature. Electronic signatures are a
regulations compliance requirement for several regulated industries, such as pharmaceuticals, food and beverage,
and aerospace and defense.
You can use electronic signatures for critical business processes. Some processes have built-in electronic signature
capabilities. You can also create custom signature requirements for any database table and field.
Electronic signatures overview
Set up electronic signatures (Task guide)
Case management
By planning, tracking, and analyzing cases, you can develop efficient resolutions that can be used for similar issues.
For example, when customer service representatives or Human Resources generalists create cases, they can find
information in knowledge articles to help them work with or resolve a case more efficiently.
Case management overview
Plan case category security, case processes, and case categories
Record templates
Record templates can help you to create records more quickly. You can create a record template so that field values
that are used often do not have to be entered explicitly for each new record.
Record templates overview
Create a record template to facilitate data entry (Task guide)
Use record template to create a new record (Task guide)
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
Number sequences are used to generate readable, unique identifiers for master data records and transaction
records that require identifiers. A master data record or transaction record that requires an identifier is referred to
as a reference.
Before you can create new records for a reference, you must set up a number sequence and associate it with the
reference. We recommend that you use the pages in Organization administration to set up number sequences.
If module-specific settings are required, you can use the parameters page in a module to specify number
sequences for the references in that module. For example, in Accounts receivable and Accounts payable , you
can set up number sequence groups to allocate specific number sequences to specific customers or vendors.
When you set up a number sequence, you must specify a scope, which defines which organization uses the
number sequence. The scope can be Shared , Company , Legal entity , or Operating unit . Legal entity and
Company scopes can be combined with Fiscal calendar period to create even more specific number sequences.
Number sequence formats consist of segments. Number sequences with a scope other than Shared can contain
segments that correspond to the scope. For example, a number sequence with a scope of Legal entity can contain
a legal entity segment. By including a scope segment in the number sequence format, you can identify the scope of
a particular record by looking at its number.
In addition to segments that correspond to scopes, number sequence formats can contain Constant and
Alphanumeric segments . A Constant segment contains a set of letters, numbers, or symbols that does not
change. An Alphanumeric segment contains a set of letters or numbers that increment every time that a number
is used. Use a number sign (#) to represent incrementing numbers and an ampersand (&) to represent
incrementing letters. For example, the format #####_2017 creates the sequence 00001_2017, 00002_2017, and so
on.
SEGM EN T S SEGM EN T T Y P E VA L UE
SEGM EN T S SEGM EN T T Y P E VA L UE
SEGM EN T S SEGM EN T T Y P E VA L UE
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This topic explains how to set up number sequences on an individual basis. Number sequences are used to
generate readable, unique identifiers for master data records and transaction records that require them. A master
data or transaction record that requires an identifier is referred to as a reference. Before you can create new
records for a reference, you must set up a number sequence and associate it with the reference. You can set up all
required number sequences at the same time by using the Set up number sequences wizard, or you can create
or modify individual number sequences by using the Number sequences page.
1. Go to Navigation pane > Modules > Organization administration > Number sequences > Number
sequences .
2. Select Number sequence .
3. In the Number sequence code field, type a value.
4. In the Name field, type a value.
5. On the Scope parameters FastTab, select a scope for the number sequence and select scope values from the
drop-down list. The scope defines which organizations use the number sequence. In addition, number
sequences that have a scope other than Shared can have segments that correspond to their scope. For
example, a number sequence with a scope of Legal entity can have a legal entity segment. For more
information about scopes, see Number sequence overview.
6. Expand the Segments section.
Define the format for the number sequence by adding, removing, and rearranging segments.
Number sequences of all scopes can contain Constant segments and Alphanumeric segments. Constant
segments contain a set of alphanumeric characters that do not change. Use this segment type to add a
hyphen or other separators between number sequence segments. Alphanumeric segments contain a
combination of number signs (#) and ampersands (&). These characters represent letters and numbers
that increment every time that a number from the sequence is used. Use a number sign (#) to indicate
incrementing numbers and an ampersand (&) to indicate incrementing letters. For example, the format
#####_2014 creates the sequence 00001_2014 , 00002_2014 , and so on. At least one alphanumeric
segment must be present. Scope segments, such as company or legal entity, are not required. However, if
you do not include scope segments in the format, numbers for the selected reference are still generated
per scope.
7. Expand the References section. Select the document type or record to assign this number sequence to. This
step is optional for sequences that are defined for special application usage patterns. In these scenarios, a new
number is generated by using the value of a number sequence code or ID, without using a reference. An
example of a special application usage pattern is a voucher series that is used for specific journal names.
However, we do not recommend that you use such patterns.
8. Expand the General section. On the General FastTab, specify whether the number sequence is manual, and
continuous or non-continuous. In addition, enter the lowest and highest numbers that can be used in the
number sequence. We do not recommend changing a non-continuous number sequence to a continuous
number sequence. The number sequence will not be truly continuous. This change may also cause duplicate key
violations in the database. In addition, continuous number sequences have a larger effect on performance.
9. Click Save .
Set up number sequences using a wizard
3/18/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
Number sequences are used to generate readable, unique identifiers for master data records and transaction
records that require them. A master data or transaction record that requires an identifier is referred to as a
reference. Before you can create new records for a reference, you must set up a number sequence and associate it
with the reference. This topic explains how to set up all required number sequences at the same time by using a
wizard. The demo data company used to create this procedure is USMF.
1. Go to Navigation > Modules > Organization administration > Number sequences > Number
sequences .
2. Select Generate .
3. Select Next .
On this page, you can modify the identification code, the lowest value, and the highest value. In addition,
you can indicate whether the number sequence must be continuous.
Do not select the Continuous option if you must preallocate numbers for the number sequence. To add
a scope segment to the format of a number sequence, select the format in the list, and then select
Include scope in format . To remove a scope segment from the format of a number sequence, select
the format in the list, and then select Remove scope from format . To exclude a number sequence from
automatic generation, select the number sequence in the list, and then select Delete .
4. Select Next .
5. Select Finish .
Organizations and organizational hierarchies
overview
2/1/2020 • 3 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
An organization is a group of people who are working together to carry out a business process or achieve a goal.
Organizational hierarchies represent the relationships between the organizations that make up your business.
Organizations
You can define the following types of internal organizations: legal entities, operating units, and teams.
All internal organizations are types of the Par ty entity. Therefore, these organizations use the address book to
store address and contact information. A party, which can be either a person or an organization, can belong to
one or more address books.
Legal entities
A legal entity is an organization that has a registered or legislated legal structure. Legal entities can enter into
legal contracts and are required to prepare statements that report on their performance.
A company is a type of legal entity. Currently, companies are the only kind of legal entity that you can create, and
every legal entity is associated with a company ID. This association exists because some functional areas in the
program use a company ID, or DataAreaId, in their data models. In these functional areas, companies are used as
a boundary for data security. Users can access data only for the company that they are currently logged on to.
Operating units
An operating unit is an organization that is used to divide the control of economic resources and operational
processes in a business. People in an operating unit have a duty to maximize the use of scarce resources, improve
processes, and account for their performance.
The types of operating units include cost centers, business units, value streams, departments, and commerce
channels. The following table provides more information about each type of operating unit.
Cost center An operating unit in which managers Used for the management and
are accountable for budgeted and operational control of business
actual expenditures. processes that span legal entities.
Business unit A semi-autonomous operating unit Used for financial reporting that is
that is created to meet strategic based on industries or product lines
business objectives. that the organization serves
independently of legal entities.
O P ERAT IN G UN IT T Y P E DESC RIP T IO N P URP O SE
Value stream An operating unit that controls one or Commonly used in lean manufacturing
more production flows. to control the activities and flows that
are required to supply a product or
service to consumers.
Commerce channel An operating unit that represents a Used for the management and
brick and mortar store, an online store operational control of one or more
or an online marketplace. stores within or across legal entities.
Teams
A team is an organization in which the members share a common responsibility, interest, or objective. Teams
cannot be used in organizational hierarchies.
Organizational hierarchies
Set up organizational hierarchies to view and report on your business from different perspectives. For example,
you can set up a hierarchy of legal entities for tax, legal, or statutory reporting. Set up a hierarchy that is based on
operating units to report financial information that is not legally required, but that is used for internal control. For
example, you can create a purchasing hierarchy to control purchasing policies, rules, and business processes.
Each hierarchy is assigned a purpose. The purpose of a hierarchy determines the types of organizations that can
be included in the hierarchy. The purpose also determines which application scenarios a hierarchy can be used in.
Organizations in a hierarchy can share parameters, policies, and transactions. An organization can inherit or
override the parameters of its parent organization. However, shared master data, such as products and address
books, applies to the whole organization and cannot be overridden for individual organizations. Creating
organizations and hierarchies requires careful planning. For more information, see Plan your organizational
hierarchy.
Plan your organizational hierarchy
10/1/2019 • 13 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
Before you set up organizations and organization hierarchies, make sure that you plan how your business will be
modeled. The organization model has a significant effect on the implementation and business processes.
Organizational hierarchies represent the relationships between the organizations that make up a business.
Therefore, the most important consideration when you model organizations is the structure of your business. We
recommend that you define organization structures based on feedback from executives and senior managers
from functional areas, such as finance and accounting, human resources, operations, purchasing, and sales and
marketing.
When you are planning hierarchies, it is also important to consider the relationship between the organizational
hierarchy and financial dimensions. You can set up multiple organizational hierarchies to represent different
views of your business. By using financial dimensions, you can create reports based on these views. Work with
your partner to create hierarchies that address both organizational and statutory reporting needs.
NOTE
Although you can use financial dimensions to represent legal entities without creating the legal entities, financial
dimensions aren't designed to address the operational or business needs of legal entities. The interunit accounting
functionality is designed to address only the accounting entries that are created by each transaction.
IMPORTANT
You shouldn't decide how to model organizations based only on the information in this article. This documentation is a
guide. You can work with your Partner for additional guidance. Your Partner has gained experience in various industries and
across the customer base.
If you model the regional office as a legal entity, you have the following options:
Headquarters creates a journal entry to cross-charge the regional office for the expense. The transactions
cannot be aged.
Headquarters sends a purchase order for the services to the regional office. A sales order is automatically
created in the legal entity for the regional office, with intercompany sub-ledger transactions.
Ex a m p l e 2 : H e a d q u a r t e r s p r o c u r e s a n d p a y s fo r se r v i c e t h a t i s d e l i v e r e d t o a r e g i o n a l o ffi c e
If you model the regional office as a legal entity, you have the following options:
The invoice and payment follow the regulatory requirements of headquarters. Headquarters can create a
journal entry to cross-charge the regional office for the expense. The transactions cannot be aged.
The invoice and payment follow the regulatory requirements of headquarters. Headquarters can create an
intercompany sub-ledger transaction.
If the organization is modeled as an operating unit
Intercompany transactions among operating units are supported only through journal vouchers. An operating
unit cannot issue or receive a purchase order, sales order, or invoice from another operating unit in the same legal
entity. You cannot view intercompany transactions at the sub-ledger level (Accounts receivable, Accounts
payable). The following examples illustrate how intercompany transactions are handled.
Ex a m p l e 1 : H e a d q u a r t e r s p r o v i d e s se r v i c e s t o r e g i o n a l o ffi c e s a n d m u st c h a r g e t h e c o st s o f t h o se se r v i c e s t o t h e r e g i o n a l o ffi c e s
If you model the regional office as an operating unit, headquarters enters an expense transaction and codes it to
the regional office.
Ex a m p l e 2 : H e a d q u a r t e r s p r o c u r e s a n d p a y s fo r se r v i c e t h a t i s d e l i v e r e d t o a r e g i o n a l o ffi c e
If you model the regional office as an operating unit, the invoice and payment follow the regulatory requirements
of headquarters. The invoice can be coded to the regional office. On the income statement, use a balancing
financial dimension to report costs for the regional office.
Local tax requirements
If the organization is modeled as a legal entity
A legal entity is subject to the tax laws of the tax authority in the country/region where the legal entity is
registered. For example, a legal entity that is registered in Denmark is subject to Danish tax laws and regulations.
A legal entity can belong to only one country/region. The country/region that you select for the primary address
of the legal entity controls the country/region-specific features that are available to that legal entity. For example,
if the primary address of the legal entity is in Denmark, features that are related to Danish tax laws and
regulations become available. Therefore, if your organizations are in different countries/regions and require
different local tax options, you must set up the organizations as separate legal entities.
If the organization is modeled as an operating unit
Operating units use the country context of the parent legal entity. Operating units in the same legal entity cannot
have different country/region-specific requirements. If your organizations are in the same country/region and
use the same tax options, you can set them up as operating units.
Statutory reporting for a country/region
If the organization is modeled as a legal entity
For countries/regions that are supported, most statutory reports can be created. For information about which
reports are available for each country/region, see the Microsoft Dynamics Localization Portal. (A CustomerSource
logon is required.)
NOTE
A posting layer in the general ledger allows you to make adjusting entries to a parent company that uses a different
accounting standard than the child company. For example, for a company that uses generally accepted accounting practices
in the United Kingdom (UK GAAP), you can make adjusting entries in the posting layer. These entries can be consolidated
into a parent company that uses generally accepted accounting principles (GAAP) in the United States. The adjusting entries
do not affect UK GAAP reporting.
NOTE
Even though product definitions are shared, in each legal entity where a product has been released, you can specify
different sales, purchase, and stocking parameters for the item at each inventory site.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
Use the following procedure to create an organizational hierarchy. You can use organizational hierarchies to view
and report on your business from various perspectives. For example, you can set up one hierarchy for tax, legal, or
statutory reporting. You can then set up another hierarchy to report financial information that is not legally
required, but that is used for internal reporting.
Before you create an organizational hierarchy, you must create organizations. For more information, see the
"Create a legal entity" or "Create an operating unit" tasks. You can also create departments and teams.
The demo data company used to create this procedure is USMF.
Create a hierarchy
1. Go to Navigation pane > Modules > Organization administration > Organizations > Organization
hierarchies .
2. On the Action pane , click New .
3. In the Name field, type a value.
4. In the Purpose section, click Assign purpose .
5. In the list, find and select the desired record. Select a purpose to assign to your organization hierarchy.
6. In the Assigned hierarchies sectiom, click Add .
7. In the list, mark the selected row. Find the hierarchy you just created.
8. Click OK .
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
A legal entity is an organization that is identified through registration with a legal authority. Legal entities can enter
into contracts and are required to prepare statements that report on their performance. The following procedure
explains how to create a legal entity. The demo data company used to create this procedure is USMF.
1. Go to Navigation pane > Modules > Organization administration > Organizations > Legal entities .
2. Click New .
3. In the Name field, type a value.
4. In the Company field, type a value.
5. In the Countr y/region field, enter or select a value.
6. Click OK . In the General section, provide the following general information about the legal entity: Enter a
search name, if a search name is required. A search name is an alternate name that can be used to search for
this legal entity. Select whether this legal entity is being used as a consolidation company. Select whether this
legal entity is being used as an elimination company.
7. Expand the Addresses section. In the Addresses section, click Edit to enter address information, such as the
street name and number, postal code, and city.
8. Expand the Contact information section. In the Contact information section, enter information about
methods of communication, such as email addresses, URLs, and telephone numbers.
9. Expand the Statutor y repor ting section. In the Statutor y repor ting section, enter the registration numbers
that are used for statutory reporting.
10. Expand the Registration numbers section. In the Registration numbers section, enter any information
required by the legal entity.
11. Expand the Bank account information section. In the Bank account information section, enter bank
accounts and routing numbers for the legal entity.
12. Expand the Foreign trade and logistics section. In the Foreign trade and logistics section, enter shipping
information for the legal entity.
13. Expand the Number sequences section. In the Number sequences section, you can view the number
sequences that are associated with the legal entity.
14. Expand the Images section. In the Images section, view or change the logo and/or dashboard image that are
associated with the legal entity.
15. Expand the Tax registration section. In the Tax registration section, enter the registration numbers that are
used to report to tax authorities.
16. Expand the Tax 1099 section. In the Tax 1099 section, enter 1099 information for the legal entity.
17. Click Save .
Create an operating unit
3/18/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
An operating unit is an organization that is used to divide the control of economic resources and operational
processes in a business. People in an operating unit have a duty to maximize the use of scarce resources, improve
processes, and account for their performance. The types of operating units include cost centers, business units,
departments, and value streams. Use the following procedure to create an operating unit. The demo data company
used to create this procedure is USMF.
1. Go to Navigation pane > Modules > Organization administration > Organizations > Operating
units.
2. Click New to open the drop dialog.
3. In the list, find and select the desired record. Select the type of operating unit you want to create.
4. In the list, click the link in the selected row.
5. In the Name field, type a value.
Expand the General section, if necessary.
Provide general information about the operating unit, such as an identification number, DUNS number,
and manager.
Expand the Addresses section, if necessary.
Enter address information, such as the street name and number, postal code, and city. Click Add to enter
a new address record, or click Edit to modify an existing address record.
Expand the Contact information section, if necessary.
Enter information about methods of communication, such as email addresses, URLs, and telephone
numbers. To enter a new communication record, click New. To modify an existing communication record,
click More options > Advanced .
6. Optionally, change the Operating unit number as needed. Note that this number is a unique idenitifier for
the correspondng Par ty record and cannot be the same as any other operating unit.
7. Select Save .
Global address book overview
1/13/2020 • 4 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
The global address book is a centralized repository for master data that must be stored for all internal and external
persons and organizations that the company interacts with. The data that is associated with party records includes
the party's name, address, and contact information. Other details vary, depending on whether the party is a person
or an organization. Each party record is assigned to a party, and each party can be associated with one or more
party roles in a company. Party roles include customer, prospect, worker, user, vendor, competitor, applicant, and
contact. For example, the organization party First Up Consultants, can be associated with customer, business
relation, and vendor roles in the CEE company, and can also be associated with the vendor role in the CEU
company. Here are some of the benefits of this shared data:
The data shows the relationships that people and organizations have with other areas of the company. The
relationship between two organizations changes when one organization has multiple roles, such as vendor and
customer. Communication between the two organization also changes. There might be special agreements that
can be negotiated to encourage a closer partnership with the other organization.
Setup and maintenance are easier. For example, when an address changes, the update must be made in only
one place. All the other associated records are updated automatically.
Party roles
Roles that are associated with party records are referred to as party roles. There are several party roles, and
they can be assigned to both party types, person and organization. Here are the definitions for each party role:
Customer – Individuals, companies, or other entities who purchase goods and services that are produced by
other individuals, companies, or entities.
Prospect – A party that might provide a service or benefit to a legal entity.
Worker – A person who assumes the role of an employee or a contractor, and who is paid in exchange for
services.
User – A person who is a user of the system.
Vendor – A party that supplies products to one or more legal entities in exchange for payment.
Competitor – A person or organization that provides goods or services that are similar to the goods or
services that your business provides.
Applicant – A person who makes a formal written or electronic request to work for or fill an open position in
an organization.
Contact – A person, either inside or outside your organization, that you have created an entry for. In this entry,
you can save information such as the person's street and email addresses, telephone and fax numbers, and
webpage URLs.
Creating new party records
There are two ways to enter party records in the global address book:
Creating a par ty record when you don't know the role – When you create a party record and don't know
the role type (for example, you don't know whether the party is a customer or an opportunity), you create the
record in the global address book. You can select the role type later.
Creating a par ty record when you know the role – If you know the role type for the party, you can create
a record on the appropriate page for that type. For example, if the party is a customer, you create a record on
the Customer page. When you create and save a record by using the page for the party's role type, the record
is automatically created in the global address book.
Party roles and transactions
For transactions that are a part of the business processes, multiple parties might be associated with each
transaction. An example is a customer that needs to be referenced on project quotations.
Parties locations, addresses, and contact information
Each party record's addresses, locations, and contact information are shared across all the party roles that
are associated with that party. Therefore, when any of this information is changed, all other associated records are
updated accordingly.
Locations and transactions
When a party role is included in a transaction, the location, address, or contact information of the party can be
accessed when transaction details are entered.
Plan for the global address book and other address
books
1/13/2020 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This topic describes the considerations and decisions that you must make during the planning process, before you
set up and configure the global address book and any additional address books. Some of the decisions will require
that you confirm the decisions that have been made for other areas of the product, such as the organization
hierarchy.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
Use this procedure to set the default values and security policies for the global address book.
The demo data company used to create this task is USMF. This task is intended for the Planning and configuration
team.
1. In the Navigation pane, go to Modules > Organization administration > Global address book > Global
address book parameters .
2. In the Name sequence field, select how names should be shown.
3. In Delete par ties with no roles , select whether to delete parties with that have not been assigned a role.
4. In Use duplicate check , select whether to check for duplicate records.
5. In Display DUNS number on addresses , select whether to display the DUNS number on addresses.
6. In Check for unique DUNS number , select whether to check for unique DUNS numbers.
7. In the Par ty field, select an option.
8. In the Customer field, select an option.
9. In the Vendor field, select an option.
10. In the Prospect field, select an option.
11. In the Competitor field, select an option.
12. Click the Private location security tab.
13. In the list, find and select the desired record. Press the Shift key to select multiple roles to add to the Selected
roles pane and then click the arrow to add the selected roles.
14. Click Save .
Address books FAQ
1/13/2020 • 5 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
Can I change the party type of a record, or do I have to delete the old
record and create a new one?
Occasionally, you might have to change the party type of a record from person to organization or from
organization to person. For example, Nancy is a member of the sales team for Fabrikam U.K. At a trade show in
London, she meets six new prospects. Nancy creates a prospect party record for each prospect. When Nancy saves
the records, each record is also created in the global address book. Fabrikam has set the default party type to
organization, but two of the new prospects should have a record type of person. Therefore, when Nancy returns
from the trade show, she must change the party type of the two prospect records. To change a party record from
one party type to another, you must first create a new party record of the correct type in the global address book.
You then associate the old party record with this new record. After you have made the new party association, delete
the original party record that has the incorrect record type.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
Use this procedure, and the decisions that you made in the Planning the configuration of the global address book
and additional address books topic, to set up additional address books for your organization.
The demo data company used to create this task is USMF. This recording is intended for the Planning and
configuration team members.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
What is workflow?
The term workflow can be defined in two ways: as a system and as a business process.
Workflow is a system
Workflow is a system that runs on the Application Object Server (AOS). The workflow system provides
functionality that you can use to create individual workflows, or business processes.
Workflow is a business process
A workflow represents a business process. It defines how a document flows, or moves, through the system by
showing who must complete a task, make a decision, or approve a document. For example, the following
illustration shows a workflow for expense reports.
To better understand this workflow, suppose that Sam submits an expense report for USD 7,000. In this scenario,
Ivan must review the receipts that Sam routes to him. Then Frank and Sue must approve the expense report. Now
suppose that Sam submits an expense report for USD 11,000. In this scenario, Ivan must review the receipts, and
Frank, Sue, and Ann must approve the expense report.
Workflow content
Workflow system architecture
Workflow elements
Actions in workflow approval processes
Create workflows overview
Configure workflow properties
Configure manual tasks in a workflow
Configure automated tasks in a workflow
Configure approval processes in a workflow
Configure approval steps in a workflow
Configure manual decisions in a workflow
Configure conditional decisions in a workflow
Configure parallel activities in a workflow
Configure parallel branches in a workflow
Configure line-item workflows
Workflow FAQ
Workflow system architecture
10/1/2019 • 3 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
ST EP RUN T IM E A C T IVIT Y
The workflow architecture helps provide a reliable and durable messaging system, and also helps guarantee that
the state of the workflow is always synchronized with the state of the application. If an unexpected hardware or
software failure occurs, the workflow instance state is returned to its last known saved point, and the message
stays in the queue. Therefore, from an architecture perspective, the recovery model is to fix the problem and
resume the workflow.
Workflow elements
10/1/2019 • 2 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
Tasks
A task is a unit of work that must be performed. Two types of tasks can be added to a workflow: manual tasks and
automated tasks.
Manual task
A manual task is a unit of work that must be performed by a user. For example, an expense report workflow can
have manual tasks that require the assigned users to complete the following actions:
Review the receipts that are submitted together with an expense report.
Call an employee's manager.
Automated task
An automated task is a unit of work that must be performed by the system. No human interaction is required. For
example, a sales order workflow can have automated tasks that require the system to complete the following
actions:
Perform a credit check.
Create a customer record for the customer, if a record doesn't already exist.
Approval processes
An approval process is a process that consists of separate steps. At each approval step, the user can perform the
following actions:
Approve the document.
Reject the document.
Request a change to the document.
Assign the document to another user for approval.
Flow-control elements
The following elements let you design workflows that have alternate branches or branches that run at the same
time.
Manual decision
A manual decision is a point where a workflow divides into two branches. A user must make a decision, and this
decision determines which branch is used to process the document that was submitted.
Conditional decision
A conditional decision is also a point where a workflow divides into two branches. However, the system decides
which branch is used to process the document that was submitted. To make this decision, the system evaluates the
document to determine whether it meets specified conditions.
Parallel activity
A parallel activity is a workflow element that includes two or more workflow branches that run at the same time.
Subworkflow
A subworkflow is a workflow that runs in the context of another workflow.
Actions in workflow approval processes
10/1/2019 • 6 minutes to read • Edit Online
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
This article explains the actions that each participant in a workflow approval process can take.
A workflow can involve several groups of people: the originator, task assignees, decision makers, and approvers.
For example, in the following expense report workflow, Sam is the originator, the members of the queue are task
assignees, John is a decision maker, and Frank, Sue, and Ann are approvers.
The following sections explain the workflow actions that each group can perform.
NOTE
The actions that are available vary, depending on how the software developer designed the task.
Complete
When a user completes a task, the document that was submitted for processing is assigned to the next user in the
workflow, if there is a next user. If no additional processing is required, the workflow process ends.
For example, Julie, a member of the Adventure Works Expense Reports department, has accepted the task of
reviewing Sam's expense report and receipts. After Julie completes her review, the document is assigned to John.
Reject
When a user rejects a document, the workflow process ends.
For example, Julie, a member of the Adventure Works Expense Reports department, has accepted the task of
reviewing Sam's expense report and receipts. If Julie rejects the expense report, the workflow process ends.
Sam can then resubmit the expense report. He can make changes first, or he can resubmit the original version. If
Sam resubmits the expense report, the workflow process starts at the manual review task.
Delegate
When a user delegates a task, the task is assigned to another user.
For example, Julie, a member of the Adventure Works Expense Reports department, has accepted the task of
reviewing Sam's expense report and receipts. Julie delegates this task to Tim, who is her assistant.
Tim then acts on behalf of Julie. Therefore, when Tim completes his review, the expense report is assigned to John,
just as if Julie had completed the task.
Request change
When a user requests a change to a document that was submitted, the document is sent back to the originator.
For example, Julie, a member of the Adventure Works Expense Reports department, has accepted the task of
reviewing Sam's expense report and receipts. Julie notices some errors on the expense report and requests
changes. The expense report is sent back to Sam.
Sam can resubmit the expense report. He can make the requested changes first, or he can resubmit the original
version. If Sam resubmits the expense report, a member of the work item queue must review the expense report
and the receipts again.
Reassign
The members of a work item queue can reassign documents that are in that queue to another queue.
For example, Julie, a member of the Adventure Works Expense Reports department, is monitoring the queue. To
help balance the workload, she can reassign the expense report, and the receipts that are included with it, to
another queue.
Release
Occasionally, a member of a work item queue might accept a task, but then decide that he or she can't complete
the task. In this case, the person who accepted the task can release the document back to the work item queue.
For example, Julie, a member of the Adventure Works Expense Reports department, has accepted the task of
reviewing Sam's expense report and receipts. If Julie decides that she can't complete the task, she can release the
document. The expense report is returned to the queue, so that other members of the Adventure Works Expense
Reports department can complete the task.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.
IMPORTANT
Dynamics 365 for Finance and Operations has evolved into purpose-built applications to help you manage specific business
functions. For more information about these changes, see Dynamics 365 Licensing Guide.