Contents
Inventory Counting is a Maximo Mobile application which will also be found on the desktop in the Inventory module and Role Based Applications. There are some differences between the two, Maximo Mobile aims to be an offline solution, the Role Based Application performs the same functions, but it may have additional capabilities which require to be online.
In the case of Inventory Counting the mobile application performs the physical counting tasks that have been defined in the Count Books application, but it also allows you to do counting of items for a storeroom, an ad-hoc count. The Role Based Application additionally allows you to reconcile the physical count with the current balances. To reconcile balances, you need to be online to understanding what inventory transactions have taken place since you performed the physical count.
I had wondered whether to write one article or two, I wanted to show screenshots in portrait/phone and landscape/tablet, and I decided on two. This is the article on the Role-Based Application – Inventory Counting and the screenshots have been taken with an iPad in landscape mode. The article will cover more details than the Maximo Mobile article for Inventory Counting which will be focused on an end-user, for example, this article will also review the Object Structures and Queries that support the applications.
The environment I am using is MAS 8.10 and Maximo Manage 8.6.3. Count Books and Inventory Counting is available on Maximo 7.6.1.3 but only with license for Maximo Mobile.
The Count Books application has been a part of Maximo for Transportation for many years, and it is also a part of Maximo for Aviation. The new Count Books application takes that functionality and adds it to the core of Maximo with new objects, domains, etc. Therefore, for clients with these two industry solutions if you want to use either the Inventory Counting mobile or role-based applications you will need to move over to the new Count Books application, there is no upgrade path for your data.

When you enter the application there are three options, Count books, Ad hoc count, and Reconciliation. We will look at each of these in turn.
Count books

When you enter the ‘Count books’ option the query shows Count Books which are at Approved (APPR) or In Progress (INPRG) state. There are two displayed, the lower of the two I just created, it is Count Book 1013 with a title of ‘Count of Bin A-5-1’. Below this is the number of items already counted from the total number of count book lines, the two fields in the Count Book Item Summary, Counted and Selected.
At the bottom are two dates, Due and Last Count. The Due field uses the Inventory Balances field NEXTPHYCNTDATE which has been around in Maximo for a few years now, it is available in 7.6.1.2 but it is, and remains, a hidden field. This field is calculated from the last Physical Count Date (PHYSCNTDATE) plus the Count Frequency (INVENTORY.CCF). The Due field is then the latest Next Physical Count Date in the set of items to be counted. The Last Count is the latest of the last Physical Count Dates for the set of items to be counted.
There are two buttons, the first shows the status of the Count Book. The second button appears in red if there are any items to be counted which are overdue, and it shows the number of items overdue. There are two items which are overdue because they happen to have an ABC Type of ‘N’, not required for cycle counting, and a Count Frequency of zero. If your Count Frequency is zero, then the item will be overdue the day after it was last counted. Incidentally, there is no feature for excluding in the Count Book items which have been marked as not to be counted, or those with a Cycle Count Frequency of zero. Two ideas have been created, you can vote for them here https://ideas.ibm.com/ideas/MASM-I-993 and https://ideas.ibm.com/ideas/MASM-I-991
You might also note that the list of Count Books to be counted does not show the storeroom against which the count book was created. The Count Books to be displayed is always the storeroom that is marked in the user’s profile or Person record and the field called ‘Default Storeroom for Self-Service Requisitions’. If a particular user tries to perform a count against a count book and they do not see any count books, then it is most likely due to this field being left blank.

If you open the details of the count book by using the (>) button on the right-hand side (in the previous screenshot), there will be two tabs – In Progress and Counted, with the number of items shown in each tab shown. Currently no items have been counted so In Progress shows five and Counted shows zero. As you add a Physical Count in the blue box on each row it will move from the In Progress tab to the Counted tab.
Each row shows the Item Number, Description, Serial Number, and the Due date (INVBALANCES.NEXTPHYCNTDATE). The Serial Number is displayed if the item is marked as rotating, however, neither the asset number or tag number is shown. We will later show another Count Book with rotating assets, a lot item and a condition enabled item.

You can navigate to see more details about the item by using the (>) button on the right-hand side (in the previous screenshot). The Material detail page opens with the Item Number and Description, whether it is Rotating, the Asset Number – but not the description, the Lot number, and the Issue Unit.
I am showing three additional fields, the Balance (CURBAL), Last count (PHYSCNT) and Last count date (PHTSCNTDATE). There is a setting in the OrganizationsA structural element of a Maximo database which is used for data sharing and is often aligned to a legal entity of an organisation. More application and action Inventory Options – Count Book Options called ‘Allow blind counts in Inventory Counting?’. The default is this is turned on and then these three fields are hidden, with it turned off they are displayed, although not on the page where the Physical count is being performed.
At the bottom there is an area called Photo, you can just see it. This displays the item’s image, or you can take an image using the phone/tablet’s camera and associate it.

The options when you use the (+) button are to select from the Photo Library, Take Photo or Video, or Choose File. I used the second option and took a photo of a snowy scene by a local North Devon artist that sits above my desk. You get an option to Use Photo or Retake, and once added to the item there is a trash can button for deleting the image.
When one photo has been taken there is no option to take a second photo without deleting the first. I can verify that the image is used on the Item Master record. Its Image Name is ‘undefined’, and you cannot change this. The images are held in the database in the IMGLIB object. If you were not aware the single image associated with a record is only stored in the database, there is no image file.
Search, Sort and Filter

The main Search bar allows you to search by anything which is in the card of each Count Book Line. For example, typing Gasket and pressing the tick button at the right-hand side will execute the search and will find item XMP-3200. A search on Chain will find item G25110. The tick button is replaced with a cross button which will clear the filter.
The scan button on the right will use the tablet’s/phones camera on a barcode to scan either an Item Number or a Bin. It transfers the value of the barcode to the Search items field and then you can execute the search. This would be useful for scanning the tag number or asset number of an asset, which is why both those fields would be useful in the card.
Above the Search bar on the right-hand side are two buttons for Filter and Sort.

You can Filter by Bin or Lot, and you can select one or multiple bins/lots to filter by. The square above the right-hand table selects all or deselects all. The number of bins/lots selected is shown on the left-hand panel and an icon to the left of the word Bin or Lot will allow you to clear the filter. You use the blue Done button to execute the filter and the little filter icon now shows with the number one in a circle with a black background. If you selected multiple bins or lots this would still show one. You can make a filter by both bin and lot and then the icon will show two.
As all the items are for the same bin A-5-1 and there are no Lot items there is little point filtering.
Notice the Reset button at the bottom of the screen, it returns to the default, which in this application is the same as clearing the filter.

The Up/Down arrows to the right of the Filter icon is for sorting. You can sort by Bin, Lot or Count Due. The Default is Count Due and then Bin. You can change the order by using the drag button which is on the left of the field name. The up/down buttons on the right are used to change the direction of the sort, ascending or descending. However, if the button is selected and you click it, it then removes the field from the sort criteria and drops it to the bottom panel. You can add it back with the plus button. The drag button does not drag between these two panels only within the panel. There is a reset button right at the bottom. If you attempt to close the Sort panel with no sort criteria, you will get an error message “Reset to the default or select at least one sort order”. The number of sort criteria being applied will be shown as a number in a circle with a black background.
Performing the Physical Count

When performing the physical count there is only one field to be filled. For rotating items, the value must be in the range 0 to 1. As you enter the value it disappears from the In Progress tab and will be found on the Counted tab. The In Progress tab shows one less record to count, now it is 4, and the Counted tab shows the number of items already counted, 1 in my case. For item G25110 I counted a quantity of three.
A blue Save button will appear at the top right corner and using this saves your physical counts so that they can be seen in the Count Book application.

If you had made a change and tried to move to a different page, in my case to the Material detail of the next item to be counted you would receive a message asking you to save or discard your changes. I chose to save and received the green background message – physical count saved.
After the save you would find that a PCOUNTADJ inventory transaction will have been created and this can be seen from the Inventory application and View Inventory Transactions action. The Count Book will also have moved from APPR to INPRG (In Progress) state, you have started the count.

By the time you have counted all the records in the Count Book the In Progress tab shows zero with the message ‘No items found’. All the items you have counted are now in the Counted tab.

The Counted Tab shows 5 items counted with the Physical Count displayed for each item. You can just see the top of a yellow symbol next to the Physical Count for the GLOVES item.

I’ve scrolled down in the Counted tab to item GLOVES to show a yellow warning sign and hover over message “The physical count does not match the current balance”. The physical count quantity was 10 but the current balance was 8. If you looked in the Count Book application for this count book and item you would find that the Accuracy field is 125.00 and this item had a +/- tolerance of 20%, hence it is not matched.
When there is a mismatch between the Current Balance and the Physical Count taking into account the tolerances, then the yellow triangular warning symbol is displayed. There was one other item where the physical count was not the same as the current balance, but this item was a match because the difference was just one and the calculated accuracy was within the acceptable tolerances.
The display of the yellow warning sign is an indication that you might want to consider a recount for this item and bin.
At the top of the page is a blue button – Complete which you use when you are ready to complete the Count Book.

When you complete the Count Book you receive the message in green background “Count Book was completed”. The Physical Count fields are now read-only and if you went back to the main menu of Inventory Counting and refreshed the application query you will no longer find the Count Book record.
In the Count Books application, the Count Book is now at COMP status. As you have been entering and saving the physical counts Maximo has been comparing with the current balance and seeing whether the new count is a match (or not) for the item/bin. If it is a match within tolerance then it is marked as Reconciled, this is a trial reconciliation. When the Count Book status is moved to COMP status then the Current Balances are updated according to the Physical Count, plus any issues/returns/transfers or other adjustments that have been made since the Physical Count Date and a record with a transaction type of RECBALADJ is created in the INVTRANS object, this can be seen using the Inventory action View Transactions.

At the top of the article there were two count book records to count, I am now in count book 1011, it didn’t have a description. Three items have been counted and three items are left to be counted. Of the three items counted the first two, for item MOT10 are assets, MOT10 is a rotating item. Notice no Asset Number or Tag Number is displayed. Of course, you wouldn’t normally have two assets with the same serial number. When you are entering the physical count for an asset the values can only be 0 (not found) or 1 (found).
Item 11453 the mechanical seal is a lot item, the physical count for this was outside the tolerance and hence the yellow warning sign is shown.

When navigating to the Material detail page for the first MOT10 asset, you can see the asset number AJE02. There is no description, but for rotating assets the description is often the same as the description of the rotating item which is displayed at the top of the screen.

When navigating to the Material detail page for the mechanical seal, the lot item 11453, you can see the Lot number A-431. The Current Balance is 1 and I counted 2 which is above the tolerance, hence the yellow warning sign was shown on the Counted page.

On the In progress page there are three more items to count. Item LN7023, an Alternator is a Condition Enabled Item but there is no reference to the condition code. The top two rows just look as if it is a duplicate, but they are two different Inventory Balance records.

Neither does the condition code appear on the Material detail page, so it is not possible to know what you are counting, in my case one of the rows has a condition code of NEW and the other REBUILT. I have raised this with IBM Support as an issue.
Ad hoc count

The ‘Ad-hoc count’ option is not based on a Count Book, but it is looking at the Inventory Balances records for the Storeroom which is marked as the logged in users Default Storeroom for Self-Service Requisitions, as defined in their Profile – Default Information, which in my case is CENTRAL in the BEDFORD site. 123 records appeared in the In progress tab. This is not all the items from the CENTRAL storeroom as items with no inventory balances record, and rotating items are not shown.
There are the same Search and Sorting capabilities as for the ‘Count books’ option. Filter by Bin or Lot, and sort by Bin, Lot or Count Due.

The Material Detail page is slightly different in that no asset is shown and instead there is the ABC Type. The Unit is the Issue Unit.

Item 28149 Step Packing is a good item to review in a MAXDEMO database because there are 6 Inventory Balance records, it is an item with a FIFO (First In First Out) Issue Cost Type, and each delivery has been held in its own bin.
Again, you can only enter the Physical Count and when entered it appears in the Counted tab and the In Progress tab is reduced by one. That is until you use the Save button when it is reset and shows all items and bins in the storeroom. When saving you get the message on a green background ‘Items Physical Count Saved’.
Reconciliation

The Reconciliation option is not available on the Maximo Mobile application, but it is available on the Role Based Application. The Reconciliation option shows two tabs, Mismatched and Matched. There is no reference to a Count Book.
On the Mismatched tab the Item and Description are shown, but no Bin or Lot. The difference between the Physical Count and the Current Balance is shown, so that if the Physical Count was 2 and the Current Balance was 1 there would be a green up arrow with the difference of 1.00. The details can be reviewed using the chevron button > on the right-hand side.

For the top item GLOVES which showed a green up arrow with the number 2.00, the current balance is 8 but the last physical count showed 10 when this was performed on 16th August 2023. If you went to the Inventory application and reviewed the View Inventory Transactions action and Adjustments tab you would find that there has been a Physical Count with a Transaction Type of PCOUNTADJ, but no reconciliation has taken place since.
The Material Details page is again slightly different from what we have seen before, it doesn’t show the asset, instead shows the ABC Type. The Calculated value would take into account any issues which had occurred since the physical count was made. For example, if you issued a quantity of 1 of the GLOVES item then the Calculated field would be reduced by 1 to 9 and the Balance field will now show 7.

There is a checkbox at the end of each tab which when selected allows you to either Reconcile, Select All or Cancel.

If you used the Select All button all rows would be selected. I will use the Cancel button.

I’ve taken the condition enabled item LN7023 – Alternator, from Count Book 1011 and performed a Physical Count, the same value as the Current Balance, and it appears in the Matched tab with a difference of 0.00. It will normally be 0.00 but if the physical count is within tolerance, it will still be considered matched, even if there is a positive or negative difference. Did you note that you can reconcile the items you counted in a count book?
The Sort dialog is a little different to the other two options Count books and Ad hoc count, you can sort by the Variance between Physical Count and Current Balance, and sort by the Last count date.

When you select a row to be reconciled then a green message is displayed – Successfully reconciled 1 materials. This creates the Inventory Adjustment transaction of type RECBALADJ which can be seen in the Inventory application and action View Inventory Transactions.
Object Structures
This section explains the Object Structures and Queries that are being used in the Inventory Counting applications.
Count books
The Count Book Object Structure is MXAPICNTBOOK and the query is MOBILECNTBOOK with a Query Clause of “status in (select value from synonymdomain where domainid=’COUNTBOOKSTATUS’ and maxvalue in (‘APPR’, ‘INPRG’)) and storeroom=(select defstoreroom from maxuser where userid = :USER) and siteid = (select storeroomsite from maxuser where userid = :USER)”
The Count Books you see are those with a status of Approved (APPR) or In Progress (INPRG) or their synonyms and the storeroom is the users default storeroom as defined in their Profile – Default Information and field called Default Storeroom for Self-Service Requisitions. If you perform Physical Counts in multiple storerooms, then you need to change this profile setting.
The default sort order where there are multiple count books is by the field Latest Due (LATESTDUE) which is the latest due date across all count book lines. It is a hidden field on the Count Books application.
Count books details
When you go into a count book to perform the physical count the Object Structure changes to MXAPICNTBOOKLINE and the query is MOBILECNTBOOKLINE with a Query Clause of “exists (select 1 from countbook where countbook.siteid=countbookline.siteid and countbook.countbooknum=countbookline.countbooknum and countbook.status in (select value from synonymdomain where domainid=’COUNTBOOKSTATUS’ and maxvalue in (‘APPR’, ‘INPRG’)) and countbook.storeroom=(select defstoreroom from maxuser where userid = :USER) and countbook.siteid = (select storeroomsite from maxuser where userid = :USER))”
This is querying the count book lines for the count books found by the MOBILECNTBOOK query. Note. If you change that query during configuration, for example to take out the restriction to limit the count books to the user’s default storeroom, then you will need to change this query as well. Take care, if the query fetches more records it will take longer to download the data to Maximo Mobile.
The default sort order is by next physical count date (NEXTPHYSCNTDATE) and bin number (BINNUM). The next physical count date is not displayed in the Count Books application on the Count Book Lines table window.
Ad hoc count
The object structure used in the Ad hoc count panel is MXAPIINVBAL this is based on the Inventory Balances object (INVBALANCES). The query is MOBILEINVCNT with a Query Clause of “siteid = (select storeroomsite from maxuser where userid = :USER) and locationA physical place where assets exist and where work can be performed. More = (select defstoreroom from maxuser where userid = :USER) and exists (select 1 from item where item.itemsetid=invbalances.itemsetid and item.itemnum=invbalances.itemnum and rotating!=1) and stagingbin=0 and exists (select 1 from inventory where inventory.itemsetid=invbalances.itemsetid and inventory.itemnum=invbalances.itemnum and inventory.location=invbalances.location and inventory.siteid=invbalances.siteid and inventory.status in (select value from synonymdomain where domainid=’ITEMSTATUS’ and maxvalue in (‘ACTIVE’,’PENDOBS’)))”
This again uses the user’s default storeroom from their profile and the storeroom site from the Profile – Default Information field called ‘Storeroom SiteA structural element of a Maximo database that is used for data separation. More for Self-Service Requisitions’. It excludes rotating items, items in staging bins and any inventory item that is not at a synonym status of Active (ACTIVE) or Pending Obsolete (PENDOBS).
The default sort order is by next physical count date (NEXTPHYSCNTDATE) and bin number (BINNUM). The next physical count date is not displayed in the Inventory application on the Inventory Balances table window.
Reconciliation
The Reconciliation panel also uses the MXAPIINVBAL object structure but with a different query MOBILEINVCNTREC with a Query Clause of “physcnt is not null and reconciled=0 and siteid = (select storeroomsite from maxuser where userid = :USER) and location = (select defstoreroom from maxuser where userid = :USER) and exists (select 1 from item where item.itemsetid=invbalances.itemsetid and item.itemnum=invbalances.itemnum and rotating!=1 and status in (select value from synonymdomain where domainid=’ITEMSTATUS’ and maxvalue=’ACTIVE’)) and stagingbin=0 and exists (select 1 from inventory where inventory.itemsetid=invbalances.itemsetid and inventory.itemnum=invbalances.itemnum and inventory.location=invbalances.location and inventory.siteid=invbalances.siteid and inventory.status in (select value from synonymdomain where domainid=’ITEMSTATUS’ and maxvalue in (‘ACTIVE’,’PENDOBS’)))”
These are Inventory Balance records where a Physical Count has been performed and not Reconciled. The query uses the user’s default storeroom and site from their profile, it excludes rotating items, items in staging bins and any inventory item that is not at a synonym status of Active (ACTIVE) or Pending Obsolete (PENDOBS). While the query looks to be repeating, the first subquery is on Item table where status is a synonym of ACTIVE, and the second subquery is on the Inventory table where status is a synonym of ACTIVE or PENDOBS.
The default sort order is by the change in the balance descending which will show items where the balance has increased before the items where the quantity has decreased. The items where the physical count is much lower than the current balance, those with a large negative value, will be right at the bottom of the list. I think this should be the other way around and I have raised this with IBM Support.
If you dissected the application XML you would find the following:
object-structure=”mxapiinvbal” saved-query=”MOBILEINVCNTREC” controller=”ReconcileDataController” page-size=”20″ order-by=”pre_curbalchange desc”>
Leave a Reply