-
Suggestion to Improve Gift Card Activation Process in POS
Suggested by Leonardo Cutberto Baca Alegria – New – 0 Comments
During our testing, we observed that both the EXTGC and GIFTCARD electronic payment types activate and load the gift cards as soon as they are scanned or manually entered at the POS or Verifone device, before the payment is tendered. This behavior aligns with what our Microsoft partner anticipated.
We would like to suggest an enhancement to the gift card activation process for future product versions. Specifically, we propose that the activation and loading of gift cards should occur only after the payment has been completed. This change would help prevent potential fraud, where an unpaid gift card could be used to purchase merchandise at another register.
-
Set maximum earned loyalty points per month
Suggested by Amr Mohamed – New – 0 Comments
In specific business scenarios, customers want to limit the earned loyalty points per card per month to a specific number.
For example, a customer can only earn 1 million points per month, without expiring.
This is crucial to prevent loyalty fraud, manage financial liabilities, and encourage redemption.
-
Training Mode / Test Mode at POS Register
Suggested by Christian Hattermann – New – 0 Comments
During a recent project, this request was made by the customer.
Unfortunately, there is no easy way to set a register to a training mode, e.g. to train employees without making inventory and financial postings.
To do this, a new store with the corresponding setups must first be created at considerable expense in order to then set up a demo register.
I would like to have two simple functionalities here:
- the possibility to put an existing register in the Store Commerce app into training mode by clicking on a corresponding training mode button to be able to perform training there. Ideally, the visual appearance of Store commerce app should change during training mode so that the training mode is easily recognizable.
- the possibility to switch a register in the D365 setup to a test mode / training mode via a boolean switch. This allows HQ staff to test their settings on the PROD environment and use an identical POS as the stores (without the detour via the UAT).
In my estimation, all customers with whom I have worked on retail projects with D365 so far would want to use these functions.
So MS, make it happen 8-)
-
when trying to switch Store Commerce App to offline
Suggested by Shaik Fayaz Ahmed – New – 0 Comments
Error when customer is trying to switch store commerce offline
The user logs into POS and changes the password, then log into another POS register (from a different device) and is trying to switch to offline. Customer wants to login into offline mode after successfully login to Online mode
Basically customer want it to work like this. Any time I sign in to POS in online mode successfully, then set (reset) my credentials encrypted credentials in the offline database to the values I just used. By doing this I will always be able to log in in offline mode after I successfully login in online mode.
-
Checking a discrepancy between "Declare Tender" at day end and "Declare start amount" at day start
Suggested by Christian Hattermann – New – 0 Comments
In retail stores with a one-shift system, it would be helpful if there were a systemic routine that checks whether the "start amount" at day start matches the "declare tender" amount at day end of the previous day or whether there is a discrepancy.
In many retail stores, it is common for only one cash register with one cash drawer to be used. This is stored in the safe at the end of the day and used again the following day in the morning. If money goes missing during this time (theft, for example), it can be quickly detected by such a function.
I would locate this function in the functionality profile, where it can be activated and deactivated as required.
-
Separate the delay exact price and discount calculation flags and remove the inheritance. Or at least explain the dependency inside the flag
Suggested by Mohamed Osama – New – 0 Comments
The below two flags control whether multi‑line price and discount calculations occur immediately on each line as products are added or if they're processed together at the final calculation step, improving performance.
For sales orders:
Retail and commerce > Headquarters setup > Commerce parameters > Pricing and discounts > Manually calculate multi-line prices and discounts
For POS cash and carry:
Retail and Commerce > Channel setup > POS setup > POS profiles > Functionality profiles > Manually calculate multiple item discounts
The 2nd one for the POS, is read-only, and gets enabled/disabled by enabling/disabling the 1st one.
This is confusing and not practical for customers since in some scenarios they will need the flag only for sales orders and NOT cash and carry.
In addition, the sales order flag explanation does not clarify any of this, only the POS one does.
-
Give unit price with discount when quantity is greater than one (CalculateSalesDocument API endpoint)
Suggested by Junior DUSSOUILLEZ – New – 1 Comments
Context: We use the Commerce (CSU) OData API to get prices and send orders in D365 from a home-made website.
We are calling API endpoint "CalculateSalesDocument" to get prices for products. When there is a discount, we would like to get the discounted unit price to display it, even if the quantity is greater than 1.
Example: my product price is 3.27€, with a 15% discount. My discounted unit price is 2.78€.
When I call the API for quantity 1, no problem, I use "ExtendedPrice" to get the discounted unit price. But when quantity is greater than 1, I can't get the "2.78" value. It's not in CalculateSalesDocument endpoint response. Would it be possible to add it? It's very important value IMO.
POST xxxx/Commerce/CalculateSalesDocument
Content-Type: application/json
{
"salesDocument": {
"Id": "CalculateSalesDocument",
"CustomerId": "CS000003",
"CartLines": [
{
"ProductId": 5637197959,
"Quantity": 1,
"UnitOfMeasureSymbol": "Pcs"
}
]
}
}
Response:
{
"@odata.context": "...",
"CartLines": [
{
"Quantity": 1,
"Price": 3.27,
"ExtendedPrice": 2.78,
"TotalAmount": 2.78,
"NetAmountWithoutTax": 2.78,
"DiscountAmount": 0.49,
"LineDiscount": 0.49,
"LinePercentageDiscount": 15.000000000000000000000000,
"PriceLines": [
// ...
{
"RecordId": 5652434827,
"Value": 3.27,
"PriceMethod": "Fixed"
}
],
"DiscountLines": [
{
"EffectiveAmount": 0.49,
"EffectivePercentage": 14.98,
"Percentage": 15.000000000000000000000000
// ...
}
]
// ...
}
]
// ...
}
When I change quantity to 2, I can't find "2.78" anywhere in the response.
{
"@odata.context": "...",
"CartLines": [
{
"Quantity": 2,
"Price": 3.27,
"ExtendedPrice": 5.56,
"TotalAmount": 5.56,
"NetAmountWithoutTax": 5.56,
"DiscountAmount": 0.98,
"LineDiscount": 0.98,
"LinePercentageDiscount": 15.000000000000000000000000,
"PriceLines": [
// ...
{
"RecordId": 5652434827,
"Value": 3.27,
"PriceMethod": "Fixed"
}
],
"DiscountLines": [
{
"EffectiveAmount": 0.98,
"EffectivePercentage": 14.98,
"Percentage": 15.000000000000000000000000
// ...
}
]
// ...
}
]
// ...
}
Having "2.78" value in a new field "DiscountedUnitPrice" would be great.
-
Income account and expense account operation should be allowed for foreign currencies
Suggested by John Philip – New – 0 Comments
Our local currency is CHF, and we have payments in CHF and EUR. We wanted to create an expense account entry which was paid out in 100 EUR. We performed the following steps to create the entry:
· Clicked on Expense Account
· Selected the Account
· Entered the amount 100 and saved
· The line got added to the cart
· Initiated payment in EUR, the currency conversion took place, and the amount was updated as 102.87
From the above behavior of the system we understood that the amount provided for the income/expense account is always in local currency and when initiating the payment in foreign currency system would apply the conversion.
So, to create the entry we tried the following workaround:
· We calculated the currency conversion manually for 100 EUR to CHF which would be 97.21
· Created the expense account for 97.21
· Initiated the payment in EUR system applied the currency conversion and updated the amount as 100 EUR and the transaction was completed.
The above workaround is not feasible as it is time consuming and there are always room for error. We have lot of stores in Europe region and there are mostly payments in local currency and EUR. It would make life simple if system could support to key in the amount in foreign currency or provide the currency conversion in the screen where the amount is entered before processing the payment.
P.S. We are also using the Income account (for cash-in) and Expense account (for cash-out) for recording cash transfers between the stores. As the tender removal and float entry operations out of the box doesn’t create any financial voucher entries in the system. So this functionality is really needed for the business for recording the day to day cash transfer transactions between the stores.
-
Allow selling internal gift card pre-defined variants in POS
Suggested by Ahmed Wafik – New – 0 Comments
Currently, we have a product limitation where we're unable to issue internal gift cards through POS if the gift card is set as a "Product Master". They can only be issued through e-commerce and call center.
This is preventing customers from using the internal gift cards to their full potential if they need to sell pre-defined amount gift card variants out of the box through POS.
Note that this limitation doesn't seem to be mentioned in Microsoft's public documentation on internal gift cards, which can cause further confusion. Therefore, updating the public documentation to reflect the current limitation would be appreciated in the meantime.
-
Tender declaration transaction entity
Suggested by Martin Luks – New – 0 Comments
We try to integrate 3rd party POS through standard entities. We have an entity for most of what we need, but one thing is missing - the tender declaration transactions (=counting of money in till at the end of the day).
The entity RetailTransactionTenderDeclarationTrans does exist, but cannot be used for data import. It looks like it can only be used for updating existing transactions, as part of the Retail auditable transaction composite entity (https://learn.microsoft.com/en-us/dynamics365/commerce/edit-cash-trans).
It should be possible to import the whole dataset from a store using standard entities and there should be an entity for the tender declaration. I have heard that it might have been possible before, but was later deprecated.
