Consignment inventory is inventory that is owned by a vendor but stocked in your storeroom and you pay for the items as you consume them. The advantage is that you don’t pay for what you don’t use, you don’t pay at the point in time you receive the item, providing a cash flow advantage, and you don’t tie-up cash with items you hold in your storeroom.
Much of the inventory processes work in the same way for consignment inventory as they do for any other stock you hold. There are balances, and inventory costs, reorder details, items are issued or returned, the reorder process creates PRs and POs, and new quantities are received into the storeroom. The main differences are in how you pay for the items issued.
Register a Consignment Item in Inventory
There is no consignment field in the Item Master application, but there is a field in the main tab of the Inventory application, found in the third column. There is only one consignment item in the MAXDEMO database it is KB27815 – 2” Wilco Washer – Marb212 plated – found in the CENTRAL storeroom of the BEDFORD site. Notice that the Consignment field is read-only. There is a field in the Advanced Search dialog for finding Consignment Items.
You need to use the View/Edit Consignment Details action to set the Consignment field on an existing inventory record, in my case for item VS-48 in the CENTRAL storeroom. I had previously added a Vendor record in the Item Master for Vendor BALSTON, Manufacturer JOHNS and Model A-26715 and Catalog # 3632-AB10, but these were not copied into the View/Edit Consignment Details dialog, however, the fields in the Primary Vendor section are copied for Manufacturer, Model and Catalog #, leaving only the Consignment Vendor field to be completed, I will use BALSTON.
The Invoice Generation Type defaults to CONSUMPTION, the other settings are FREQUENCY and MANUAL, we’ll return to this a little later.
After pressing OK, a record is added to the Vendors table window, the one added is the top row with Last Order Date set to today (05/05/23). If you return to the View/Edit Consignment Details dialog and make changes to the Vendor, Manufacturer, or Catalog # you will get another record added to the Vendors table, so you may need to decide which record you wish to keep. When you do make the change the fields in the Primary Vendor section are updated, in the screenshot after next you can see that I changed the Catalog # from 3612-AB10 to 3612-AB11.
The other fields in the dialog exist in the Inventory object, Consignment (CONSIGNMENT), Vendor (CONSVENDOR), Invoice Generation Type (INVGENTYPE), Frequency (FREQUENCY), Frequency Units (FREQUNIT) and Next Invoice Date (NEXTINVOICEDATE).
You can only set the Consignment field if the Current Balance in the storeroom is zero, otherwise you will get the error message “The consignment flag cannot be changed for this item. The current balance of every bin must be zero and reconciled to change the consignment flag. (BMXAA8070)”.
Add Items to Storeroom
In the Item Master application when you use the action Add Items to Storeroom, which you can do for multiple selected items from the List tab, there is a field to mark each item as Consignment inventory.
When you use this field the other fields which you saw in the View/Edit Consignment Details appear, Consignment Vendor is mandatory, and Invoice Generation Type is also mandatory but defaults to CONSUMPTION.
Reorder Process – Creating a Replenishment Request
You use the reorder process to stock the item. There are settings to indicate that this is a Purchase Order to replenish the stock, and not a Purchase Order where you expect to receive an invoice. There is also a setting to stop the PO line from being referenced on an invoice.
I’ve set the Reorder Point to 2.00. In the tests I’ve performed Maximo will always use the consignment vendor, and not the record marked as the Default Vendor.
When you use the Reorder Items action on the Inventory record you are running the Reorder routine for just the current inventory record.
The Preview allows you to see the results of the reorder before you run the reorder routine. The one item VS-48 will be ordered, with a quantity of three, one more than the reorder point. The item is marked with a FIFO (First In First Out) Issue Cost Type and the Unit Cost is zero, I didn’t change this.
When using the Run Reorder button, the reorder process is set to create unapproved Purchase Requisitions. If you are not running in Background Mode you will receive an informational message to provide the range of PR’s or POs created by the routine, for me it is Purchase Requisition 1031.
On PR 1031 there is nothing on the Purchase Requisition header to indicate that this is a consignment inventory requisition, the Vendor is BALSTON. However, the PR line is marked as a Consignment record in the third column of the PR Line details. Notice this field is set to be read-only, it is only set when the Inventory reorder process is being used, you cannot set it if you manually create a Purchase Requisition.
I’ve approved PR 1031 and used the Create PO action and Purchase Order 1094 has been created. PO Line 1 is also marked as a Consignment record.
By default, the PO Type is STD (Standard) but this should be changed to CONSIGNMENT, and this stops other non-consignment items from being added to the PO. You could try this adding another item and on save you should receive the error message “BMXAA8138E – Only consignment items can be selected for this purchase order. Use the Inventory application to specify consignment items in inventory.
I’ve approved the PO and from the Receiving application I’ve used the action Select Ordered Items and received a quantity of three of the item; the Inventory Current Balance for the item now shows a quantity of three.
On the Invoices application you can reference the PO on the header of the invoice but on the Invoice Lines tab when you use the Copy PO Lines button, you’ll find that the PO Lines marked as Consignment are hidden, you can’t invoice a purchase order line which is a Replenishment Request. Incidentally, the Select Value on the PO field will not show the POs marked with a type of CONSIGNMENT, but I got to trying to add the lines by using the detail menu action Go To Purchase Orders and using Return with Value.
I’ve created a new Work Order 1202 against the locationA physical place where assets exist and where work can be performed. More BOILER and added a Work Plan Material for a quantity of one for the consignment item VS-48 in the CENTRAL storeroom. I’ve approved the work order and a reservation will have been created, request 1173 of reservation type APHARD. There is nothing on the work order or the reservation to indicate that it is a consignment item being requested.
I am using a brand new MAS8.10 environment and I haven’t set up reservations to automatically create Inventory Usage records, so I’ll issue from the Inventory application.
In the Inventory application I have found the consignment item VS-48 in CENTRAL storeroom, and I am using the Issue Current Item action, further down the dialog I have added work order 1202. Initially I received the error “BMXAA1791E – Not a valid material usage transaction GL account 6210-300-???. Either the required components are not filled or the component’s values are not valid.” The third segment of the GL Debit Account has not been filled because I have not set up Resource Codes in the Chart of Accounts application, so I have used the GL Account Navigator and selected 200 for the third segment. I can now use the OK button without further errors.
Work Order 1202 now has one line on the Actuals-Materials tab. We have consumed a consignment item so now we should be able to pay the vendor for it.
Invoice Generation Type – CONSUMPTION
When the consignment item has an Invoice Generation Type of CONSUMPTION then an invoice will be created automatically as soon as an item is issued, returned, transferred or there is a balance adjustment. In this case I found invoice 1071 for Vendor BALSTON with the Invoice Type of CONSIGNMENT. The Invoice had one line for our consignment item VS-48 against work order 1202 and with a quantity of one matching the issued transaction details which can be found in the Inventory application, action View Inventory Transactions and tab Issues & Returns (MATUSETRANS).
In the MATUSETRANS object there is a CONSIGNMENT attribute, but it is not displayed in the dialog. If you are going to use Consignment Items, I would recommend adding it to the dialog as a read-only field, you may also consider adding the Consignment Invoice (CONSINVOICENUM) and Consignment Vendor (CONSVENDOR). The same three fields also exist on the MATRECTRANS and INVTRANS objects so the same fields could be added to Receipts & Transfers and Adjustments tabs respectively. This will be useful to understand which transactions were linked to which Consignment Invoice and it would also be useful to analyse where in the process issues exist if you run into them.
We’ll be returning the item just issued, but before we do that, I’ve gone back to the Inventory application and set the Invoice Generation Type to MANUAL. I wouldn’t expect an invoice to be automatically generated now.
I’ve used the Issue Current Item action again but this time I’ve set the Transaction Type to RETURN. I’ve indicated that I am returning the item from work order 1202 and like last time I had to set the third segment of the GL Debit Account. I’ve pressed OK to complete the return.
Invoice Generation Type – MANUAL
When the consignment item has an Invoice Generation Type set to MANUAL, then you can create invoice records and set the invoice type to CONSIGNMENT and then use the Select Consignment Transactions button on the Invoice Lines tab to select the transactions to add to the invoice.
I’ve used the previously generated invoice 1071. What you are likely to do with the manual process is create the invoice each period and add transactions to it until you reach the end of the period or there are already a lot of items and you have reached a practical limit, before creating a new invoice record.
The Select Consignment Transaction button and dialog shows the consignment transactions for vendor BALSTON that could be added to the invoice. I’ve selected the one transaction row, with the Transaction Type of RETURN for work order 1202, notice the quantity is a negative. After pressing OK Invoice Line 2 has now been created.
In the Inventory application for item VS-48 in the CENTRAL storeroom the Current Balance has returned to 3.00 but the Quantity Available is 2.00 because there is a Hard Reserved Quantity of 1.00, the reservation for work order 1202 has not yet been satisfied, it could have been returned because the item was defective, or the wrong item was chosen for the job.
Notice the three Count Group fields which were added to support the new Count Books application introduced in Maximo Manage 8.4 (MAS 8.8).
Invoice Generation Type – Frequency
I’ve returned to the Inventory application and the action View/Edit Consignment Details and changed the Invoice Generation Type to FREQUENCY. The other three fields below it are now all mandatory. The Frequency is an integer field, and the Frequency Units is DAYS, WEEKS, MONTHS or YEARS. The Next Invoice Date must be a day in the future otherwise you will receive the error message “The Next Invoice date must be in the future. (BMXAA8264)”.
I’ve set the frequency to 1 DAYS with Next Invoice Date set to tomorrow 11-May-2023, this is for testing purposes, you might have a frequency of 1 MONTHS, but I do not want to wait that long.
There is a background Cron Task called ConsignmentInvoiceCronTask which can be found in the Cron Task Setup application. It has one instance set for a daily schedule, there are no Parameters. This needs to be made Active if you are going to use FREQUENCY basis for the Invoice Generation Type.
Each consignment inventory item could have a different frequency and a different Next Invoice Date, the consignment inventory item is not tied to the Cron Task Instance, the one instance will manage the generation of invoices for all consignment inventory items which have the Invoice Generation Type set to FREQUENCY.
When the Cron Task runs it evaluates all the consignment inventory items with the FREQUENCY setting for Invoice Generation Type and if the Next Invoice Date is today an invoice of type CONSIGNMENT will be created. The number of invoice lines created can be set by 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.
Organizations – Invoice Options
In the Organizations application and Purchasing Options – Invoice Options action there is a field ‘Maximum Number of Lines for a Consignment Invoice’ which restricts the number of rows that can be added to an Invoice of type CONSIGNMENT.
I need to create a few transactions so that they appear on the Consignment Invoice when the Cron Task runs tomorrow. I have used the Transfer Current Item action to transfer a quantity of 1.00 of the consignment inventory item VS-48 from the CENTRAL storeroom to the GARAGE storeroom. This has reduced the Current Balance to 2.00. There is no indication in this dialog that the item is a consignment inventory item, nor is there any indication in the View Inventory Transactions action and the Receipts and Transfers tab.
In the Invoices application the Select Consignment Transactions button finds the item transferred, it doesn’t matter that the consignment inventory item is now marked with a FREQUENCY Invoice Generation Type, the transaction is still available to be added to the Invoice of type CONSIGNMENT we created earlier. I won’t select the item.
Current Balance Adjustment
When you use the Inventory Adjustments – Current Balance action you are asked to enter the New Balance and I set this to 3.00.
A second dialog appears called Specify Inventory Costs. This dialog will appear if the item’s cost type is set to LIFO (Last In First Out) or FIFO (First In First Out). In both cases this is using receipt costs to specify how much is charged for a quantity of an item. If there is an increase in balance Maximo needs to know a date corresponding to when the expected receipt took place, so that the additional quantity added has a position within the list of received quantities. The table where this record is stored is called INVLIFOFIFOCOST. If there is a decrease in quantity, no dialog appears.
In the Invoices application for an invoice of type CONSIGNMENT the Select Consignment Transactions button finds the current balance adjustment transaction, the Transaction Type marked as CURBALADJ. As before, I won’t select the item.
Physical Count and Reconcile Balances
I’ve added another inventory adjustment to the consignment inventory item VS-48, this time using the action Inventory Adjustments – Physical Count. In the Physical Count Adjustment dialog, I’ve added a New Count of 4. While this creates an Inventory Transaction in the INVTRANS table with a transaction type of PCOUNTADJ it will not appear as a transaction that can be added to a CONSIGNMENT type invoice, not until the Reconcile Balances action has been used.
When using the action Inventory Adjustments – Reconcile Balances, the first dialog (not shown) is to verify GL Account Information for the Storeroom Control Account and Shrinkage GL Account. The second dialog (shown) is the Specify Inventory Costs dialog which we saw when we were making a Current Balance Adjustment. There is an increase in quantity and there needs to be a Cost Date to add the record to the INVLIFOFIFOCOST table, the Cost Type of item VB-48 is FIFO.
In the Invoices application for an invoice of type CONSIGNMENT the Select Consignment Transactions button finds the reconcile balance adjustment transaction, the Transaction Type marked as RECBALADJ. As on the previous two transactions, I won’t select the item.
There are a couple of other points I wanted to cover while I wait to see the result of the Consignment Inventory Cron Task.
Rotating Items and Condition-Enabled Items
The IBM Maximo Manage Documentation says “When you create an item, you can specify the item as a consignment item. Rotating items and condition-enabled items cannot be flagged as consignment items.” See https://www.ibm.com/docs/en/maximo-manage/continuous-delivery?topic=overview-consignment-items and https://www.ibm.com/docs/en/maximo-manage/continuous-delivery?topic=inventory-consignment-items-in
I tested this wondering why this would be the case; I couldn’t think of a business reason or a Maximo reason why there would be such a restriction. I created a new item in the Item Master application that was flagged as both Rotating and Condition Enabled and using the Add Items to Storeroom action, I selected the option to make it a Consignment item. I received no error and as you can see, I managed to create an inventory item with all three fields set, see the right-hand column.
What I haven’t tested is that all the processes that you have seen above work equally well with rotating items or condition-enabled items. I suspect at one time it didn’t work for rotating items and condition-enabled items, and a fix made them work and the documentation has not caught-up.
Storeroom – Consignment Suspense Account
For consignment inventory when you create an inventory record, instead of using the storeroom control account the GL account that is used is the one coming from the Consignment Account field on the Companies record for the consignment vendor. For company BALSTON I have used 6800-920-600.
The Storeroom GL Control Account for CENTRAL-BEDFORD is 6600-800-800. This is used as the default for all inventory in the storeroom and you won’t find it displayed in the Inventory application tabs. However, if we create another item and make another issue, I’ll show you where you can see the GL Accounts.
In Item Master I created another item AJE03 and used the Add Items to Storeroom to add it to the CENTRAL storeroom making it a Consignment item with the Consignment Vendor of BALSTON. I added a balance of 3.0 and set the Unit Cost as 100.00.
When I use the Issue Current Item action notice the GL Credit Account has been set to 6800-920-600 the one coming from the Vendor Consignment Account.
You can also see the two GL accounts on each of the tabs of the View Inventory Transactions action and dialog. Here, I completed the issue against work order 1202 and you can see the GL Credit Account is set to 6800-920-600.
Unfortunately, if you make an inventory item a consignment item before you set the Vendor’s Consignment Account then the INVENTORY.CONTROLACC will be blank and there is no way to change it while there is a balance of the item; you can’t change it to be a non-consignment item, and you can’t change the consignment vendor, in both cases you will receive an error. You could, transfer all items to another storeroom, make it a non-consignment item, save, and then change it back again, alternatively you could unhide the CONTROLACC field so that you can edit it.
Consignment Items have a Cost Type of FIFO
At the beginning of the article when I introduced item VS-48 I said that “The item is marked with a FIFO (First In First Out) Issue Cost Type and the Unit Cost is zero”.
While there is a Change Cost Type action in the Inventory application the Select Value on the New Issue Cost Type will only show FIFO, you cannot change consignment items to Standard, Average or to a LIFO basis.
The items which are added to your storeroom by the Consignment Vendor are priced at the time of receipt. When you consume those items, you should be paying the prices for the oldest items first (First In First Out) and not the newest items first. A standard or average basis does not make sense, because they may not be based on the cost at receipt.
The received quantities and costs are recorded in a table called INVLIFOFIFOCOST, this is the table that supports the table window called Inventory LIFO/FIFO Costs. However, you cannot modify the costs for each transaction, what you need to do is specify the cost when the replenishment purchase order is created, during receiving, or when a record is created in the INVLIFOFIFOCOST table, for example when the Specify Inventory Costs dialog is shown. This is not practical; it is likely you will end with receipt transactions in this table with a zero Unit Cost. Therefore, when using consignment inventory, you should have a Purchase Contract so that the replenishment Purchase Orders include the agreed unit price. It is highly likely that when you agreed to hold consignment inventory there was a contract addendum that provided the unit costs for each item.
There is an IBM Support topic I found for this, it does seem to indicate that in the future there may be a way to adjust the LIFO or FIFO costs, but the article was written in 2018 and it hasn’t occurred yet. https://www.ibm.com/support/pages/adjusting-fifo-costing-feature-consignment-items-75x-versions
I’m using the Purchase Contracts application and have selected a type of PRICE and given a Start Date of today and the Vendor Company is BALSTON. I’ve added just one Contract Line for Item VS-48 with a Unit Cost of 100.00. The Change Price on Use is not set and cannot be changed for a Price Agreement. I did set the Change Quantity on Use. The Contract was Authorized for the BEDFORD site and then I could change status to APPR – Approved.
I increased the Reorder Point for Item VS-48 to 6 and used the Reorder Items action, the Preview shows that the Unit Cost of 100.00 has been found. This is because the setting “Consider Contracts When Creating PRs/POs?” is set (by default). If it is not set, then the Unit Cost will be zero.
After the Inventory Reorder routine has run you can find the Purchase Requisition created, in my case PR 1032. The one PR line references item VS-48, Quantity 4, with Unit Cost 100.00 and the Contract Reference indicates Contract 1040 of Contract Type PRICE. The Unit Cost field is read-only. This is the best way to ensure that Unit Costs are added for Consignment Inventory.
Invoice Generation Type – Frequency (After Cron Task has run)
After the ConsignmentInvoiceCronTask Cron Task has run an invoice of type CONSIGNMENT has been created for vendor BALSTON with one invoice line for each of the three transactions made on VS-48, the status is ENTERED. These are the same transactions you could see if you used the Select Consignment Transactions button, however you cannot determine what each transaction was for. Line 3 was the transfer because the Quantity is positive, the other two lines were for the current balance adjustment and the reconciliation of balances following the physical count.
On the Invoice Line there is a field called CONSTRANSID – Originating Consignment Transaction Object ID which I suspect holds the value of the MATUSETRANSID (Issues and Returns), MATRECTRANSID (Transfers and Receipts) or INVTRANSID (Inventory Adjustments), these are all the internal unique IDs of the tables MATUSETRANS, MATRECTRANS and INVTRANS respectively. What would be nice is to be able to see the Transaction Type and Transaction Date, or to be able to launch a dialog that show the same details as you see in View Inventory Transactions in the Inventory application.
The Cron Task did not run immediately I made it active, I had to approve the invoice that I had created manually for BALSTON which had a type of CONSUMPTION.
After the Cron Task had run and invoice lines had been created for transactions for the consignment item VS-48, then I found that the Next Invoice Date in the View/Edit Consignment Details had been incremented by the frequency. Today is the 12th May and with a frequency of 1 DAYS the Next Invoice Date was set to 5/13/23.
Leave a Reply