Purchase Order status changing automatically

End users (Operations team and Purchase) started reporting that the Purchase Order status is changing automatically without them changing anything. The environment on which this issue was reported is Platform Update 32 – 10.0.08.

The purchase order status was changing from Confirmed to Approved and when Operations tried to GRN the order it caused an error –

“Purchase order is no longer confirmed. Posting of the order has been cancelled”.

I was trying to backtrack and check what was the code deployed in the last few packages that could have caused it, but found no code that could have caused this issue.

Finally I suspected that its a bug in the standard itself. I searched LCS and found the following issue-

If you are facing the same issue, do visit the above link and subscribe to be notified for the fix

Hope this helps

-Hitesh Manglani

Dyn365FO Excel Add-In Issues Troubleshooting

If you are facing any issues with your Dyn365FO excel add-in please go to below link and you have done the necessary troubleshooting


If you face the following error despite following the above troubleshooting steps, please follow the remaining steps in this blog post below to unblock.

  1. Go to below link
  1. Click on Open in Excel on below prompt.
  1. Click on Open in Excel 2016 to get below prompt
  1. Click Yes and the add-in should open on the right window pane within excel. Click on Add server information.
  1. Enter the url to the Dyn365FO environment. Then click Ok to receive below prompt.

Note: You may need to sign in if after clicking Yes a sign in prompt appears, else you should be able to use the add-in already.

Hope this helps

-Hitesh Manglani

General ledger parameters -> Ledger Accounting rules

Hi All,

I was trying to familiarize with some of the nuances of the General Ledger Parameters module in Dynamics 365 for Operations using https://mbspartner.microsoft.com/D365/CourseModules/1643

However it was difficult to understand the effect of setting the accounting rules option in the General Parameters – Ledger Accounting rules -> Financial Dimensions -> Values used for summary account.

The below link by Ludwig Reinhard was of great help to understand how this setting affects the posting on the liability summary account.


I now know another blog site that I definitely need to go through https://dynamicsax-fico.com/author/ludwigreinhard/

Hope this helps

-Hitesh Manglani

Dynamics 365 for Retail Upgrade – Backward compatibility

Been a while since I last posted as I was busy with upgrading our implementation from v7.1 to v10. During our upgrade from Dynamics 365 for Retail v7.1 to v10.0, one of the main issue we faced is that of Backward compatibility.

The issue occurs when trying to run v7.1 MPOS with v10.0 Retail Server, basically “Declare Start Amount”feature does not work.

On trying to declare the start amount the cashier gets the following prompt.


On trying to key in any value, the start amount results as NAN.


Reattempting to declare the start amount simply repeats the above prompts. Now this issue is serious since it prevents the closing of shift as shown in the screenshot below.


My investigation started with debugging the MPOS code and eventually the CRT code, and I found that one of the fields “StartingAmount” had been removed from crt.ShiftsView. This was causing its value to stay as undefined.

The good news is that issue is reported to Microsoft, and we are currently awaiting the fix (currently expected in v10.0.4)

-Hitesh Manglani





MPOS Build Error – App manifest validation error: The app manifest must be valid as per schema

When trying to build the MPOS solution on my laptop, I got the below error.


Error APPX0501 Validation error. error C00CE169: App manifest validation error: The app manifest must be valid as per schema: Line 10, Column 50, Reason: —————‘ violates pattern constraint of ‘(CN|L|O|OU|E|C|S|STREET|T|G|I|SN|DC|SERIALNUMBER|Description|PostalCode|POBox|Phone|X21Address|dnQualifier|(OID\.(0|[1-9][0-9]*)(\.(0|[1-9][0-9]*))+))=(([^,+=”<>#;])+|”.*”)(, ((CN|L|O|OU|E|C|S|STREET|T|G|I|SN|DC|SERIALNUMBER|Description|PostalCode|POBox|Phone|X21Address|dnQualifier|(OID\.(0|[1-9][0-9]*)(\.(0|[1-9][0-9]*))+))=(([^,+=”<>#;])+|”.*”)))*’. The attribute ‘Publisher’ with value ————- failed to parse. Pos.App ” 1

App manifest validation error: The app manifest must be valid as per schema: Line 10, Column SO, Reason: ‘xxxx’ violates pattern constraint of ‘(CNILIOIOUIEICISISTREETITIGIIISNIDCI
PhoneIX21 . The attribute ‘Publisher’ with value ‘xxx’ failed to parse.

It took me a while to figure it out but this was happening because certain features in Visual Studio were not installed, the Retail SDK Handbook helped me to confirm which features were needed to be installed. After installing the highlighted features, I restarted the machine and the solution built successfully.



Hope this helps, if someone meets the same error.

-Hitesh Manglani

MPOS Build Error: “10.0.10xxx.0” is not a supported value for TargetPlatformVersion…

One of the errors I encountered recently when building the MPOS solution is the below error

“10.0.10xxx.0” is not a supported value for TargetPlatformVersion. Please change it on the Project Property page.

I learnt the reason for this after quite some time and with the help of a colleague who faced the same issue, was that , the needed version of Windows SDK was not installed on my machine.

If you get the same error just use the below link to install the right version of the Windows SDK based on the error message.


For instance if it could be 10.0.10586.0.

Hope this helps.

-Hitesh Manglani

PostEndTransactionTrigger – The trigger that may not trigger.

So here is an interesting tidbit from a recent incident in which I was supporting the customer on Dynamics 365 for Operations – Retail.

Few transactions were suddenly reported as “Missing”  by the customer. The customer provided transaction details including CCTV grab along with Credit Card Slip. I started my investigation the server logs and found that the transaction id seemed be used across two transactions. This meant that the cart was not got getting cleared. In my customization I needed to access the cart information post the cart checkout and my cart clearing code was written in the PostEndTransactionTrigger.

We also logged a support ticket with MS and over time understood from MS that the MPOS is being exited by the cashier without closing the Change Due Dialog, which resulted in the PostEndTransactionTrigger not executing.

Long story short, if you are using this Trigger, make sure it contains non -critical code as it may not trigger if user exits MPOS without closing the above change due dialog. 

This article is based on 7.1 Retail SDK but should be applicable to later releases too unless a fix for this has been released.

Hope this helps

-Hitesh Manglani




Debugging Cloud POS on Microsoft hosted VM with no admin rights

If you are on a MSDyn365FO 8.1 Microsoft hosted VM, you won’t have admin rights. In this case when you open the Cloud POS solution from the Retail SDK itself you get an error.

The error occurs as you do not have rights on IIS unless you run Visual Studio with Admin rights

Cloud POS Solution Error

So to get around this issue, follow the article below to resolve the issue.


Note –  For step 2 you will find the aspnet.config and redirection.config files in C:\Program Files\IIS Express\config\templates\PersonalWebServer

Following the steps will make sure your Cloud POS runs on IISExpress instead of IIS and thus allowing you to to run Cloud POS and debug by attaching to iisexpress.exe.

-Hitesh Manglani

(Special thanks to my mentor Mugunthan Mani from Microsoft for this tip )

RetailCdxSeedData class – Create custom tables mapping in Retail scheduler automatically

In this post, I would like to draw your attention to RetailCdxSeedData class.

The RetailCdxSeedData class is called when you trigger the following option in Dynamics 365 for Operations

Retail and commerce->Headquarters setup -> Retail scheduler ->Initialise retail scheduler 

If you have added some custom tables that need to be synced  between your HQ and Channel Database using CDX (Commerce Data eXchange), then you should customize the RetailCdxSeedData class to include the custom tables. If you do not not customize the RetailCdxSeedData class, you will need to do the CDX table mapping manually in all the environments and in every DB refresh and increasing the chances of missing out some fields if you have a lot of tables.

Please refer the following link from Microsoft on how you can customise this class with an extension.


Hope this helps

– Hitesh Manglani

[MPOS Technical Development]- Refactoring/Renaming of a CRT Entity in Extensions

If you decide to refactor or rename a Commerce Runtime (CRT) entity (lets say OldEntityName to NewEntityName) inheriting from CommerceEntity, one issue that I have faced is in Retail Server extension assembly the build fails with errors due to the RetailProxy classes relying on the definition of your old entity name.

Example of the error messages that you would see in this scenario are as follows-

Could not load type OldEntityName from assembly… and the command ‘bin\CommerceProxyGenerator.exe’ ..

Retail Proxy Error

The solution to this issue is a little tricky one. You need to compile the CRT data dlls keeping the OldEntityName in the References folder.

You need to then comment any reference to NewEntityName in the Retail Server Extension assembly. Then do a clean and a build of the solution.

If this succeeds with no errors, you can now go ahead to uncomment all references to NewEntityName in the Retail Server Extension assembly.

<Update>This article is based on 7.1 Retail SDK </Update>

-Hitesh Manglani