ShoppingApp. The name is limiting – Rather called it Microsoft Retail App or MR App for short or something else.
1) Self-service app for supermarkets and store for specialist like electricians and plumbers.
a. There are all-ready stores here in Scandinavia that have large numbers of hand held android devices with built in barcode scanners with a simple user interface. First the user walks to a screen with a built-in scanner for scanning a barcode either on a card or on a mobile. One of the devices is then unlocked showing the name of the customer on the device. The customer then walks around the store, picks the items, scans the item by pressing a button, were the barcode is scanned with a built-in barcode scanner. The user can delete the item by pressing a delete basket on the app and then scan the item to confirm the item to delete. The transaction is completed by going to a check-out POS were the device is put into a docking that locks the device. The customers barcode Is scanned, and the transaction is retrieved into the self-service checkout POS for payment. The payment is completed, and a receipt is written out and the barcode on the receipt can be used to open a gate, so the customer can leave with the items.
b. Specialist stores. Similar kind of a scenario, but with manual routines regarding checkouts as most transactions are registered to customer account and need a manual signature or verifcation.
2) Self-service – outside of the store.
a. Done by customers in the field that have a regular re-accruing purchases for the retailer. Could be done by starting with a shopping list or manually browsing or by scanning barcodes with a camera or a Bluetooth barcode scanner. Could be in relation specialist like electricians, farmers, service people, etc. People that are in the field and not like always close to a PC but, do a lot of re-accruing purchases and in some cases also returns.
b. Sales people in the field, that go from customer to a customer.
c. Store employees that are servicing customer outside the store and selling limited range of products or bulky items that are kept in a closed area outside the store.
3) Customer loyalty app – Coupons
a. Show and activations of customer coupons
b. Show information about offers
c. General information for the customer
d. Customer verification – A customer barcode/customer id
4) Retail app for the store employees
a. Clocking in/out of the store, when GPS says the location is in the store.
b. Reports for the storemanger
d. Receiving and transferring goods
e. Ordering print out of price labels
f. Making manual purchase orders
g. Stock-count with offline capabilities.
h. Picking and packing, for pick-up in store orders
i. Messages/notification to the stores
j. Quick access/links to internal documents and websites.
k. Registration/handling of defected items
l. Stock information. Availability in store and nearby stores, and expected date of next delivery.
The code in the 8.1 SDK is an excellent start. Follows many good practices and patterns. The code is readable and has unit tests. Though even almost all of unit tests failed, out of the box, they gave a better understanding of the code, and its easy to make them work. Over all the code is a very good basis for the future and looks like the code is open for all kinds of extensibility.
Would be nice to see a further development of the app so some of the business cases above could be fulfilled. Would be nice to see the app follow the newest version Xamarin, .Net Standard 2.0 Lib. and other components.
Open source the project, so other developers could to accelerate the product and make it more current to everyone.
If more of the business cases are fulfilled, then more configuration parameters are required to turn on/off modules and functionality. Would also be nice to have a settings form to set/update information that now is configured in the configuration file. And setting to define start page, as different there are different needs. Make it possible to hide the menu button for example for the self-service in case 1.
Caching of data into a SQLite, for a quicker start and offline/semi-offline support would be nice.
Looks like there is a bit of things to be completed about authentication and activation. Would be good to have everything documented around these things when completed.
Would also be nice to have a read.md document that tells what is new in the version.
Documentation around logging and logging configuration.
Document the ideas behind the app, what is supposed to solve and how it can used.
Don’t let the user select a style when there is only style available or select color when only one color available.
When you use a coupon for a promotional discount activity, it refers to a sales line instead of a sales order total.
The way coupons are implemented back in Microsoft Dynamics AX 2012 R3 version is that it always looks at the order line instead of the order, when no item qualification is defined.
The expectation is that, this to work at an order level instead of line when there are no item qualifiers. However, it is not designed that way.
Transfer orders created in MPOS are created with To and From warehouses with the items. But when creating the order in MPOS, there is no option to select the "Mode of delivery". Customer needs to track which Mode of Delivery (i.e. carrier or employee) in order to know who is responsible for that inventory while in transit.
Log into MPOS
Select Picking and Receiving
Select to create a new order
Fill in the To and From warehouses (and location if Advanced Warehousing enabled)
Add item and Qty.
Order is then created... no option for Mode of Delivery.
Even though the coupon code required is enabled, the discount is auto-applied.
No discounts should be applied to a return without a receipt.
In AX2012 R2 and R3, we had several customers reported same issue. This issue was resolved as By-design, and customer can simply work around it with code suggestion.
Remove the isReturn condition below.
internal bool CanDiscountApply(SalesTransaction transaction, IEnumerable<long> storePriceGroups, string currencyCode, IPricingDataManagerV2 pricingDataManager, bool isReturn, PriceContext priceContext)
bool canApply = false;
if (transaction == null || storePriceGroups == null || priceContext == null)
// Check to see if a discount code is required first.
if (this.IsDiscountCodeRequired && isReturn == false)
However, for Dynamics 365 customer, given that above source code is locked, same code change cannot be applied.
This should be part of the Dyanmics 365 code and work accordingly.
There is no option to "Add to workspace", customer is trying to utilize workspaces to help with visibility into retail sales transactions that use info codes.
Go to: USRT > Retail > Channel setup > Info codes
In the menu bar, select Info code transactions
In the menu bar, select OPTIONS
Notice in the PERSONLIZE section that there is not an option for Add to Workspace
When goods on a purchase order is cross docked for delivery to stores, the user calculates the cross docking quantities and the orders are created. Once the Sales orders are created, there is no way to edit these cross-docked orders.
This is an especially big issue, since the cross dock performs an on order reservation, and there is no other way to place a reservation against the inventory until the order is received into a DC. This is a disruption to the supply chain.
If quantities on the Purchase order are changed, it is not possible to recalculate the allocation on the cross docked orders or when deleting a purchase order line, the cross docking is not updated.