Financial transaction records have attributes for both the debit and credit GL accounts, the fields GLDEBITACCT and GLCREDITACCT. In the Inventory module the main financial transactions occur as part of inventory adjustments (INVTRANS), issues and returns (MATUSETRANS), and transfers between storerooms (MATRECTRANS), but there are other events that write to these tables, for example changing the capitalized status, assembling/disassembling kits, and receipt adjustments. 

This is the first in a series of pages that examine the financial processes in the applications of the Inventory module. They demonstrate, using examples and screenshots, how the two GL account fields are derived. A summary is provided at the end of each page.

This series will include:

  1. Storerooms/Locations control accounts, GL defaulting in Item Master
  2. GL defaulting in Inventory – Adjustments
  3. GL defaulting in Inventory – Issues and Returns
  4. GL defaulting in Inventory – Transfers
  5. GL defaulting in Inventory – Kitting
  6. GL defaulting in Issues and Transfers
  7. GL defaulting in Inventory Usage and Shipment Receiving
  8. GL defaulting in Stocked Tools

This page will examine:

  • Storeroom and Location control accounts
  • Organization settings – Inventory Costs
  • GL defaulting in Item Master
    • Change status from non-capitalized to capitalized
    • Change status from capitalized to non-capitalized
    • Add item to storeroom
  • Summary – Item Master Transactions (INVTRANS)

Storeroom Control Accounts

There are several General Ledger default account fields in the Storerooms application:

  • GL Control Account (CONTROLACC) – Default GL account for storeroom used in issues, returns, receipts and transfers
  • Cost Adjustment Account (INVCOSTADJACC) – Tracks differences during inventory cost adjustments
  • Receipt Variance Account (RECEIPTVARACC) – Debit account used for currency variations between PO and invoice
  • Purchase Variance Account (PURCHVARACC) – Not used
  • Shrinkage Account (SHRINKAGEACC) – Credit account used while adjusting inventory balances
  • Invoice Variance Account (INVOICEVARACC) – Debit account used for variances in cost between receipt and invoice
  • Currency Variance Account (CURVARACC) – Tracks differences in PO and Invoice cost as a result of currency variations
  • Tool Control Account (TOOLCONTROLACC) – Default GL account for stocked tools

The GL Control Account, Shrinkage Account and Cost Adjustment Account are used as defaults for an item’s cost record held in inventory for the storeroom – the Inventory Cost table/object (INVCOST). The three variance accounts will be discussed as part of Financial Processes in Purchasing. The Tool Control Account is discussed in the eighth part of the Financial Processes in Inventory.

The Storerooms application is based on the LOCATIONS object/table and is restricted to only show locations of type STOREROOM.

Location Control Accounts

There are three inventory type locations, STOREROOM, COURIER and LABOR. An Inventory location can hold balances for items. The COURIER and LABOR type used to be called transit locations, but that was several years ago. The aim is to record movements between storerooms where stock is transferred via a third-party vendor (courier) or a person (labor).

You use the Create Labor Inventory Location action from the Labor application to create the location of type LABOR. The Location field is used to define the location, it is therefore possible for the same Labor record to have multiple inventory locations, including in the same site, but there isn’t anything which ties the location back to the labor record unless you leave the location or description to identify the person. The Control Account and Shrinkage Account can be entered. This dialog cannot be used to update the three GL Account fields after the Labor Inventory Location has been created.

Multiple Labor can reference the same Labor Inventory Location, by using the field in the Labor application (it can be seen in the first column).

Once created you can use the Inventory application for performing issues, returns and transfers against the labor inventory location.

Courier is another type of Location which is an inventory type location capable of storing item balances and viewable in Inventory. You will need to create this from the Locations application. There isn’t any ability out of the box for linking the Courier location to a COMPANIES record. There used to be a Select Locations action in Companies application for linking a company to its courier location but that disappeared around the time when Companies went to the Organization level and Locations was added at the Site level. There is a hidden field LOCATION on COMPANIES object, but no site, so I wouldn’t consider using this to link the company to the courier location.

If you are going to create LABOR or COURIER type inventory locations, then you will need to make available on Locations application:

  • GL Control Account (LOCATIONS.CONTROLACC)
  • Shrinkage Account (LOCATIONS.SHRINKAGEACC)
  • Cost Adjustment Account (LOCATIONS.INVCOSTADJACC)

If you are only using the labor or courier type inventory location as a transit location, then you should not need the cost adjustment account. The cost adjustment account is used by the Inventory Adjustment actions – Standard Cost and Average Cost, and you might only use this if the courier and labor locations were being used as a genuine storeroom.

Organizations Application – Inventory Costs

The Inventory Costs action will be found under the Inventory Options menu in the Organizations application.

For each site there is a setting for:

  • Issue Cost (MAXVARINPUT.DEFISSUECOST) – A site-based variable that sets a default for the cost type when an item is issued or transferred. Options are STDCOST, AVGCOST, LIFO, FIFO.
  • Non Capitalized Rotating (MAXVARINPUT.COSTFROMASSET). A site-based variable that sets the cost type to be used as a default when a non-capitalized rotating asset is issued or transferred. Options are 0 (Issue), 1 (Asset).

The capitalized field on the Item Master application would normally be activated for some rotating items. If Capitalized is set the cost of the asset is not charged to the work order, location or asset GL account when it is issued from a storeroom. Capitalized assets are being depreciated over time, they are not expensed when they are used. Non-Capitalized assets and items are charged when they are issued to a work order location or asset or transferred to another storeroom. 

In the Item Master application, the item does not have to be set to rotating to be capitalized, and not all rotating items are also capitalized. However, in the Tools application, all tools in Maximo are always capitalized and you do not have the action Change Capitalized Status. Therefore, if a tool is not financially capitalized, as in a low-cost hand-tool you should consider whether the Item Master application should be used instead.

Financial processes in Item Master

There are two financial processes associated with Item Master involving the change between capitalized and non-capitalized state of the item.

Change status from non-capitalized to capitalized

In the Item Master application, the action Change Capitalized Status is used for changing the state from non-capitalized to capitalized. You manually enter the Capital GL Account, there is no default, and probably a memo, although this is not mandatory. If the item does not exist in a storeroom then there is no record of the change.

If the item exists in an Inventory storeroom then you get one Inventory transaction for each storeroom in the INVTRANS object/table which you can see by using the View Inventory Transactions action and looking in the Adjustments tab.

The transaction type is CAPCSTADJ. 

When you change from non-capitalized to a capitalized state the GL transaction records will be set as:

  • GL Debit Account (INVTRANS.GLDEBITACCT) is the GL account you select in the Capital GL Account field.
  • GL Credit Account (INVTRANS.GLCREDITACCT) is the Control Account for the item (INVCOST.CONTROLACC) which is itself defaulted from the Control Account of the storeroom (LOCATIONS.CONTROLACC).

There will be one transaction for each storeroom where the item exists. 

The Control Account on the item exists in the INVCOST object/table as attribute CONTROLACCOUNT. When you change from Non-Capitalized to Capitalized the Standard Cost, Average Cost, Last Receipt Cost are all set to zero, the Control Account is set to the Capital GL Account you entered, and the Shrinkage Account and Cost Adjustment Accounts are blanked.

Change status from capitalized to non-capitalized

In the Item Master application, you also use the action Change Capitalized Status for changing the state from capitalized to non-capitalized. In this case the Capital GL Account field is read-only and is set to the items control account which is the Capital GL Account. You would probably enter a memo, although this is not mandatory. If the item does not exist in a storeroom then there is no record of the change and the Capital GL Account is null.

The transaction type is CAPCSTADJ. 

When you change from capitalized to a non-capitalized state all standard, average and last costs will remain at zero across all storerooms and sites where the item exists. You will probably need to then go and set these up using the Inventory Adjustment actions, either Standard Cost or Average Cost. The GL transaction records will be set as:

  • GL Debit Account (INVTRANS.GLDEBITACCT) is the Control Account for the Storeroom (LOCATIONS.CONTROLACC). 
  • GL Credit Account (INVTRANS.GLCREDITACCT) is the Capital GL Account field which is stored in the Item’s Control Account (INVCOST.CONTROLACCOUNT) or if issue cost type is LIFO or FIFO, then from INVENTORY.CONTROLACC.

There will be one transaction for each storeroom where the item exists. The Line Cost of the Inventory Transaction will always be zero.

The Control Account on the item exists in the INVCOST object/table as attribute CONTROLACCOUNT. When you change from Capitalized to Non-Capitalized the Standard Cost, Average Cost, Last Receipt Cost remain set to zero, the Control Account, the Shrinkage Account and Cost Adjustment Accounts are all set to their default values which are on the storeroom record.

Add Items to Storeroom

When an item is added to a storeroom from the Item Master application an inventory transaction record with transaction type of INSERTITEM is created.

The debit and credit GL accounts are both set to the storeroom’s GL Control Account (LOCATIONS.CONTROLACC) and the line cost is zero. This is not a financial transaction which would normally be transferred to a finance system. 

Summary – Item Master (INVTRANS)

There are two Item Master actions that create GL transactions, both in INVTRANS.

When you use the action Add Items to Storeroom an INVTRANS record is created for each item added to the selected storeroom. The INVTRANS record has a transaction type of INSERTITEM. The GL debit account and GL credit account are identical and set to the control account of the storeroom (CONTROLACC). 

The Change Capitalized Status action also adds records to the INVTRANS table. Beware, this will affect the capitalization status of the item across all storerooms in all sites and organizations that share the same item set, consequently multiple INVTRANS records may be created, one for each storeroom. 

The INVTRANS record(s) have a transaction type of CAPCSTADJ. The debit and credit side of the financial transaction depends on whether you are converting from non-capitalized to capitalized or vice versa.

Non-Capitalized to Capitalized

On the debit side (GLDEBITACCT):

  • The Capital GL Account you enter in the Change Capitalized Status dialog. This is also written to the control account on both Inventory (CONTROLACC) and Inventory Cost tables (CONTROLACCOUNT). The Inventory Control Account is used with FIFO/LIFO transactions, the Inventory Cost Control Account is used with Average or Standard Issue Cost Type.
  • The Standard Cost, Average Cost and Last Receipt Cost fields are all set to zero. 

On the credit side (GLCREDITACCT):

  • The Control Account on the Inventory Cost (INVCOST.CONTROLACCOUNT) or Inventory (INVENTORY.CONTROLACC) record is used depending on the Issue Cost Type, Average / Standard, or LIFO / FIFO respectively. 
  • In both cases these control accounts originate from the storeroom’s control account (LOCATIONS.CONTROLACC) but they may have been subsequently modified.

Capitalized to Non-Capitalized

On the debit side (GLDEBITACCT):

  • The storeroom’s control account (LOCATIONS.CONTROLACC) is used.
  • The storeroom’s control account, shrinkage account and cost adjustment accounts are reset on both the Inventory and Inventory Cost tables.
  • The Standard Cost and Average Cost remain at zero and you may wish to modify these.

On the credit side (GLCREDITACCT):

  • The control account on Inventory (CONTROLACC) or Inventory Cost tables (CONTROLACCOUNT) is used, depending on the Issue Cost Type, FIFO / LIFO or Average / Standard respectively. 
  • The Capital GL Account displays a GL account, but you cannot modify this. 

In all cases you will find a reference to the transaction in the Adjustments tab of the View Inventory Transactions dialog in the Inventory application.