Thursday, February 19, 2026

Field Service pricing vs ERP pricing: How to turn off the Clash

In Dynamics 365 Field Service, pricing and cost can be calculated by Field Service itself (using features like price lists, products, services, agreement pricing, etc. within Field Service). However if you'd like, you can always disable it.

This happened in one of our environments that a solution dependency was created. When I looked, there was a solution installed with the name: msdyn_FieldServiceDisablePricingComponents

I tried looking at sources from where I can download and install this solution. However, this simple setting in Field Service solves it.

When people say “install the Field Service Disable Pricing Components solution”, they’re usually referring to a built-in capability controlled by Field Service Settings, not a separate managed solution you import into Dataverse.

The practical outcome:
  • Field Service stops calculating price and/or cost
  • Another system becomes the source of truth (e.g., Project Operations, Finance & Operations, or an ERP)

Prerequisites


Before you change settings, make sure you have:
  • Administrator rights to the Power Platform environment (System Administrator / Field Service Admin equivalent).
  • Dynamics 365 Field Service installed in the environment.
  • Access to the Field Service app and the Settings area.

Step-by-step: Disable pricing components


Step 1: Sign in
  • Open the browser.
  • Sign in to your Dynamics 365 Field Service instance.

Step 2: Open Field Service Settings
  • Go to the Field Service app.
  • In the sitemap (left navigation), switch to Settings (typically near the bottom).
  • Under General, select Field Service Settings.

Step 3: Change Work Order / Booking pricing options
  • Open the Work Order / Booking tab.
  • Update these settings:
    • Calculate Price = No
    • Calculate Cost = No
  • Select Save & Close.
That’s it—Field Service will stop calculating those values internally.

Tuesday, January 20, 2026

Find what’s hiding a field in Dynamics 365: Step-by-Step with PowerApps Live Monitor

A Little Background


A field (msdyn_customergroupid / Customer Group) exists in Dataverse for the Account table, but it is not showing on the Account form in a Dynamics 365 model-driven app. Our requirement was to show this on the form and I know that we had made it visible on the Account form.

However, after a deployment we noticed that it wasn't the case. Now it could be because on various reasons:
  • The field is hidden on the form level.
  • Column security profile was implemented.
  • There is a business rule, due to which it was hidden.
  • There is a script, due to which the field was hidden.


Our Approach


The easiest way to rule out the problem is to start with the simplest reason and work your way up.

Step 1 - To check if field was hidden on the form


We checked if the field was hidden on the form? It wasn't. That was easy.

Now, to check Business Rules and Script was a hard road for us because we had 20+ rules and many functions written on form load.

Step 2 - Run quick form-runtime checks (console logic)


We used simple client checks to classify the problem.
This is the fastest way to know whether you’re dealing with design-time vs runtime.
Click F12 > Console and run these commands:

Xrm.Page.getControl("msdyn_customergroupid")
If the call returns null, the field is not on the form. For us, tt returned the Control means something must be hiding it.

Xrm.Page.getControl("msdyn_customergroupid").getVisible()
If it returns a control, something must be hiding it. We ran the below command to confirm:
It returned FALSE.

Step 3 - Use PowerApps Live monitor to capture the visibility change


When I opened the PowerApps Live Monitor and performed the steps within the App, I captured a Live monitor event:
  • dataSource: Forms.FormChecker.ControlStateChange
  • controlName: msdyn_customergroupid
  • visible before: true
  • visible after: false

And the call stack included:
  • M.setVisible(...)
  • pbl_c3f86e4e73b7ed1183ff6045bd8c93df(...)
  • Mscrm.BusinessRulesScript.Initialize(...)


Key Finding:


The field was initially visible, then explicitly hidden at runtime by a business rule script.
This pattern indicates the visibility change came from a Business Rule (Power Apps compiles business rules into runtime scripts, commonly visible as pbl_<guid> style functions).

So we could say with confidence:

✅ A Business Rule running on the Account form hid Customer Group by calling setVisible(false).
✅ Not JavaScript web resources. Not security. Not form XML missing. Not personalization.
✅ Focused our attention to look at all the business rules and we could find the culprit.

Hope this helps!

Thursday, December 25, 2025

Dual-write | Initial Sync for newly added Legal Entities in Dual-write (D365 F&O → Dataverse)

Dual write initial sync
When you add a new legal entity in a Dual-write enabled environment, this checkbox decides whether
you want to sync data for the newly added legal entity.

Also, without impacting existing legal entities.


The Core Concept


The checkbox "Skip initial write for newly added legal entities" controls whether an initial sync (initial write) is triggered from Dynamics 365 FO to Dataverse when a new legal entity is added.

Two possible behaviors:


1) Checkbox is checked
  • Initial sync is skipped
  • No data is written automatically for that legal entity
  • You must manually trigger syncs later

2) Checkbox is unchecked (recommended for initial sync)
  • Initial sync runs automatically
  • Sync applies only to the newly added legal entity
  • Existing legal entities are not reprocessed
  • Better performance and cleaner execution

👉 Bottom line:
Unchecking this box is the correct and safest way to run an initial sync only for the new legal entity.


When To Use This


A common real-life scenario:
  • Dual-write is already running and live with other legal entities.
  • A new company / legal entity is introduced later.
  • You want data to sync only for the new entity, without disturbing production data.

Step-by-Step: Perform Initial Sync for a New Legal Entity


Step 1: Open Dual-write

Navigate to: Workspaces → Data management → Dual-write

Data management


Step 2: Open Environment Details

Click Environment details from the Dual-write workspace.

Environment Details


Step 3: Go to Legal Entities

Select Legal Entities to view the list of companies enabled for Dual-write.


Dual Write Legal Entities

Step 4: Add the New Legal Entity

  • Click Add Legal Entity.
  • ❌ Uncheck: Skip initial writes for newly added legal entities
  • Click Save




Step 5: Confirm Sync Completion

  • Once the system finishes syncing table maps, you’ll see: Legal entities updated successfully!

This confirms the initial write has been triggered only for the new legal entity.


What Happens Behind the Scenes

  • Dual-write runs initial write only for the new legal entity.
  • Existing legal entities are untouched.
  • No historical reprocessing.
  • No performance degradation.
  • Table maps are reused automatically.
  • Makes incremental rollout safe.

Hope this helps!

Sunday, September 28, 2025

D365 Sales | Showing auto-charges generated in F&O within CE via Dual-write

We recently had a requirement that charges applied in F&O, must be visible in CE. When we checked the dual-write table, there was a standard mapping between

ORDER TOTAL CHARGE AMOUNT (F&O) > FREIGHT AMOUNT (CE)

dual write mapping for sales order header

As we know that we can setup auto-charges in F&O (well, now you know in case you didn't) and when a sales order is created, the charge can be applied on the sales order. To do so we had to click on the Tiered Charges button.

Apply tiered charges (F&O)

This would apply the charges in F&O, but the charges weren't pushed into CE, until we click on the "Push prices and totals" button. This would then push the prices into CE under the Freight Amount field.


Push prices and totals (F&O)

I just wanted to quickly pen this down for you, if you're trying to figure this out.

Hope this helps!

Sunday, February 9, 2025

Understanding Dual Write in Dynamics 365: A seamless data integration approach

dual write image
New to dual write? Here's where you should start from. This isn't a deep-dive into this new capability from Microsoft, but the first step for you to understand the key differences between noth Dynamics 365 CE and F&O and why was this required.

What is Dual Write?

Dual Write is an out-of-the-box infrastructure that ensures data consistency between customer engagement apps (CE) and finance and operations (F&O) apps.

Customer engagement apps, such as Dynamics 365 Sales and Customer Service, focus on managing customer relationships, sales, and marketing interactions. These are process driven and can tailor to your customer's needs and business processes.

On the other hand, finance and operations apps, like Dynamics 365 Finance and Supply Chain Management, handle back-office functions such as financial transactions, inventory, and supply chain operations. These are more rigid applications because they fulfil a certain purpose and cannot be customized to the extent that a front-office app can be.

Historically, these two areas operated in silos, leading to data duplication and inefficiencies. Dual Write was introduced to bridge this gap, ensuring real-time data flow between the front office and back office, enabling businesses to operate with a unified and accurate data set across departments.

Key Benefits of Dual Write

  • Seamless Data Synchronization – Ensures that customer, product, and financial data remain consistent across systems.
  • Enhanced Business Processes – Provides a unified experience across sales, customer service, supply chain, and financial management.
  • Real-Time Updates – Improves decision-making by reducing latency in data updates.
  • Reduced Customization Efforts – Eliminates the need for complex custom integrations.
  • Improved Customer Experience – Ensures that all teams have access to up-to-date customer information, leading to better service.

Use Cases of Dual Write

  • Customer Data Management: Keep customer records synchronized between CRM (D365 CE) and ERP (D365 F&O), ensuring all departments have access to accurate information.
  • Product and Pricing Updates: Synchronize product catalogs and pricing details across sales, e-commerce, and finance platforms.
  • Order Processing & Invoicing: Automatically sync order details and financial transactions across systems to streamline the order-to-cash cycle.
  • Inventory & Supply Chain Management: Ensure accurate stock levels, purchase orders, and logistics data across finance and operations teams.

Technical Considerations

  • Customization and Extensibility: Dual Write supports custom tables and extensions, allowing businesses to tailor integrations to their needs.
  • Data Security & Compliance: Ensure that data policies and governance are in place to comply with industry regulations.
  • Performance Monitoring: Regular monitoring and performance tuning can help prevent sync failures and maintain optimal system performance.
  • Error Handling & Troubleshooting: Implement robust error logging and resolution mechanisms to address data conflicts or sync issues.
In conclusion, I see this as a game-changer for businesses using Dynamics 365. By using this organizations can achieve real-time data consistency and reduce costs. As companies adopt digital transformation strategies, dual write becomes a key enabler for a unified and connected enterprise.