Transferring 100 Items on a 1/3 Conversion Should Not Mean That You Receive 99 Back
When there is a conversion factor between two storerooms and the conversion is 1/3 units the consequence can be that after sending 100 items and return them, only 99 are returned with one lost. Understandably this happens because it is using a 1/3 conversion. This can be resolved by modifying the attribute Conversion value to have 4 decimal points instead of the out of the box 2 decimal point.
Let’s go through the details on the impact it has on the inventory.
The INVENTORY.CURBALTOTAL - The total current balance of an item in the inventory system
This field shows a value of 99 returned items.
The reason for this behavior is that the decimal point of the CONVERSION field is by default 2.
This was tested in a Maximo 18.104.22.168 part of SCCD 22.214.171.124 and likely to be in all versions as it is a default setting.
The solution increase Conversion decimal scale from 2, which is the out of box setting, to 4 or larger number for their business need to handle the rounding problem.
1) Go to Database Configuration application. Find CONVERSION Object.
In Attributes tab, Find CONVERSION.
Out of box setting Length is 15. Change to 17.
Scale is 2. Change to 4.
Configure the database.
3) After Inventory Usage is Completed, the Central Storeroom balance is 100, instead of 99.99 out of box.
Step by Step how to setup the reproduction
1) Choose an existing Central storeroom (eg: CENTRAL) and an existing Local Storeroom (eg: GARAGE).
Go To -> Inventory -> Storerooms
2) Set up Unit of Measure
Go To -> Inventory > Item master
Select action list -> Unit of Measure and Conversion > Add/Modify Units of measure,
Create the units of measure N3 (package of 3 units) and N1 (package of 1 unit).
3) Again -> Select action list > Unit of Measure and Conversion -> Add/Modify Conversion
Create the conversion between N3 and N1 where N3 = 3 x N1
4) Go To-> Inventory > Item master
Create new item -> Item: N1test, Order Unit: N1, Issue Unit: N1 -> Save
5) Select Action -> Add Items To Storeroom -> Central
Select Action -> Add Items to Storeroom -> Garage
6) Go To -> Inventory -> Inventory -> N1Test in Central
Update Issue Unit: N3
In the application Inventory, check that the item has a positive
stock and an issue unit equal to N3 in the Central Storeroom (CENTRAL).
Inventory Balance -> New row
Current Balance: 100
Physical Count: 100
7) Go To -> Inventory -> Inventory -> N1test in Garage
Issue Unit: N1
8) Create a new inventory usage in Inventory > Inventory Usage
From Storeroom: Central
9) Select 1 item N3 from Central Storeroom to Local Storeroom
for an inventory usage type = TRANSFER.
Go To-> Inventory -> Inventory Usage -> "Select Items" button
Choose the N1Test -> OK
Quantity -> 1.00
Drop Down record -> usage Type -> Transfer
To Storeroom -> Garage
10) Click on Change Status button.
11) Change the status to Complete.
12) In the application Inventory > Inventory, check that the item's inventory in the Local Storeroom is incremented by 3 (because of the conversion factor of 3).
13) Logically, if we return these 3 items N1 to the Central Storeroom, it will be equal to 1 item N3.
Step 2 - Transfer 3 item N1 from Local Storeroom to Central Storeroom
14) Create a new inventory usage in Inventory > Inventory Usage.
15) Select 3 items N1 from Local Storeroom to Central
Storeroom for an inventory usage type = TRANSFER.
16) Click on Change Status button.
17) Change the status to Complete
18) In the application Inventory > Inventory, the item’s inventory in
the Central Storeroom is NOT incremented by 1
This is because of the conversion factor of 0.33 instead of 1/3.
Transferring 100 items on a 1/3 conversion should not mean that you
have a returned quantity of items of 99
INVENTORY.CURBALTOTAL - The total current balance of an item in the inventory system