I recently came across a case where items were no longer showing up at the POS terminals. Running A-1040 and N-1040 jobs processed successfully with no errors, but items still wouldn't show up in POS. Looking at the tables in the POS database, we could see that data was coming across until we saw that the RetailInventTable was blank. For this particular scenario, we found two main contributing factors to the issue:
- N-jobs delete table data and then re-insert all data using the main data from the AX table. - The Replicate DataAreaID was unchecked for a subjob of the N-1040 (Products, prices, and bar codes)
Since N-jobs delete table data prior to writing, it deleted all of the existing items that we once saw in POS. This is as expected with N-jobs. But due an accidental unchecking of the Replicate DataAreaID for a subjob, the rows in that table were then not inserted into the POS database during the scheduled job. To resolve this specific issue we located and corrected the N-1040 subjob ADDP-InRBO that updates the RetailInventTable.
1. Go to Retail > Setup > Retail Scheduler > Scheduler subjob 2. Select Job Number N-1040. 3. Under the Subjobs fast tab, find RetailInventTable in the Description field. 4. Right click on the subjob number and select View Details. 5. Under the Setup fast tab, checkmark Replicate DataAreaID. 6. For Field for DataAreaid, select DATAAREAID from the dropdown. 7. Run the N-1040 job.
This is a resolution only for our specifics scenario, but there could be many other factors causing items not to show at POS. Here are just a few additional (but not limited to) things to keep in mind if you come across a similar scenario of items not showing up at POS.
- Add items to a published Assortment (Retail > Setup > Assortments) and then run the Assortment Scheduler (Retail > Periodic > Assortment Scheduler) - Ensure the subjob is defined by the right job: Retail Scheduler > Scheduler job > select N-jobnumber > General tab > Subjobs defined by job: N-jobnumber - Check the distribution filters for the job: Retail Scheduler > Scheduler job > select N-1040 > Setup > Distribution filters > Groups should be set to all (set in Retail Scheduler > Setup > Distribution Groups) - Check specific tables at POS that are related to the job you are running to see if any data is coming across. - Start or restart the Store Connect service. - Check the IncomingMessages and OutgoingMessages tables of your AXRetailMSG databases for connection issues. - Check your Retail Store Connect profiles to ensure a proper connection is set up.
I went through your above blog. Its really useful.
I have one query on Ax 2012 Retail POS. On POS even when stock is not available, I am able to sell the product. I want to restrict it. Can you please let me know how can i restrict.
Thanks in Advance.
Your blog was really useful while synchronizing the data between HQ database and POS database.
I have one query. I want to restrict sales at POS if not physical inventory is available in Store. Can you please extend your help on this point.
To restrict selling an item when inventory is not on-hand, you will want to set the Item Model Group for that item to not allow negative inventory. Although, most people running Retail do not check this. The reason behind that is if a customer comes to the register with an item in hand and if the system is showing that you have 0 in stock, you will not be able to sell that item to the customer even though they have it in hand. Something to at least keep in mind when adjusting this setting.
Here's the path to change this setting:
Retail > Common > Products > Released products by category > double click your item > right click on the field for Item Model Group and select View Details > under the Setup fast tab under Negative Inventory you will want to un-checkmark Physical Negative Inventory.
Hope that helps!