<img src="https://secure.leadforensics.com/133892.png" alt="" style="display:none;">

I am working in a project where we are doing a lot of work in the Usability area, and one challenge we got was that there was a need to be able to add a reason code when the customer creates corrective invoices in M3.

How can we solve that without modifying the Java code? The answer is creating a jscript and use the custom extension tables to store the data.

When you create a corrective invoice you change price/quantity on the lines, and then you approve. Our jscript will open a popup window when we do the approval, and in that box you have to choose a reason code.


The available reason codes are taken from CRS103, reason codes. We are using CMS100MI to get the codes. CMS100MI is a new API, available from 13.3, for which you create your own API-transactions.

When you click save, the data is saved in CUGEX1, which is one of the custom extension tables that was introduced in 13.1. Since there are standard API:s available for add/change/delete records in CUGEX1, we don´t have to code any API:s on our own.

To be able to view the reason codes we have created a mashup, but we will also use the data in reports. Below you can see a part of a mashup, where we see the lines from the corrective invoice, combined with the changed values, the reason codes and who did the change from CUGEX1.


This is one example of how you can create really good solutions combining the new Infor tools. More examples will follow, so keep reading the blog!

Subscribe to the M3 Usability Blog

Discuss this post

Recommended posts

Managing and keeping track of external documents like customer contracts does not have to be difficult. With a simple configuration you can archive customer contracts in Infor Document Management (IDM) and automatically associate the document with a customer record. This way you will always be able to easily find the document, without leaving the M3 user interface.
Sometimes you want to know how many records you have of a certain type in a list. If I am looking at purchase order lines I might want to know how many open order lines I have per supplier, or how many delayed order lines we have at the moment. If I am working with manufacturing orders I might want to know how many open orders we have in my facility, or how many orders we have of a certain type. How do we show this in a simple way?
Sometimes you need a simple way of following changes of values for certain fields in M3. By using the event log in M3 you have a handy solution 😊 Follow the steps below and you will have a log of changed values for supplier bank accounts in just a few minutes!
In this blog post I describe how to get your item names in the language connected to the user when using custom lists in Infor M3.
If you are running Infor OS/H5 you have the possibility to create really nice homepages for your users. The homepages are the starting points for all roles, and one of the widgets you probably want to have on your homepage is the menu-widget. On the menu widget you can add links to M3 programs for example, but by using bookmarks you can make the links smart, and let them open the programs with predefined selections and searches.
right-arrow share search phone phone-filled menu filter envelope envelope-filled close checkmark caret-down arrow-up arrow-right arrow-left arrow-down