Understanding time-based inventory valuation (LIFO/FIFO) - HxGN EAM - 12.0.1 - Help - Hexagon

HxGN EAM Help

Language
English
Product
HxGN EAM
Search by Category
Help
HxGN EAM Version
12.0.1

You can set up and initialize stock using the last in first out (LIFO) and first in first out (FIFO) inventory valuation methods. LIFO and FIFO are both time-based price types. FIFO inventory pricing mandates that you will consume the materials purchased first before using the most recently purchased materials. LIFO pricing mandates that you will consume the most recently purchased materials before using the materials that were purchased first.

LIFO and FIFO are both storeroom price types that require you to set your pricing level on the store level. Pricing level is defined by the PRICELEV installation parameter, which must be set to S for store-level pricing.

You can set LIFO or FIFO as your pricing method for each store created on the Stores form; however, you can still modify price types for parts within a LIFO/FIFO store using a price type other than LIFO/FIFO, such as average price, last price, or standard price. The default price type for a store is determined by the PRICETYP installation parameter.

You can set PRICETYP on the Install Parameters form; however, the parameter only determines the default price type that the system automatically displays for Price Type when you are creating a store on the Stores form. Modify the price type for each store as necessary.

When you create stock with any price type using the Parts form or the Equipment forms (for equipment defined with In store status), the system updates the R5BINSTOCK table with the increase in quantity, and it also creates a receipt transaction in the R5TRANSACTIONS and R5TRANSLINES tables. You can view the receipt transaction on the PO Receipts form. Because all receipt transactions require a supplier, the system automatically inserts an asterisk (*) as the supplier for the receipt, and the default description for each of these receipt transactions is ‘Stock initialization.’ If you are using LIFO/FIFO as your pricing method, the system also creates a record for all stock initialization in the R5FIFO table to ensure that it uses the appropriate price for all future issues of stock items from stores.

The R5FIFO table stores the part, price, quantity, store, and transaction date for each receipt transaction, as well as the purchase order and purchase order line for all LIFO/FIFO stock received from a purchase order. The transaction date indicates the date the stock is inserted into inventory upon which future LIFO/FIFO transactions are based. For every transaction that increases stock, the system inserts a new record in the R5FIFO table. For every transaction that decreases stock, the system locates the appropriate record(s) to update or delete based on the transaction date. For FIFO pricing, the system locates the record that was inserted into inventory first. For LIFO pricing, the system locates the record that was most recently inserted into inventory.

The system revalues the price of materials based on LIFO/FIFO pricing as transactions involving stock occur. The system displays the current price for LIFO/FIFO stock in Stock Value on the Store page of the Parts form. See the following scenarios for more information about how the system prices for different types of inventory transactions for the LIFO/FIFO pricing methods.

FIFO pricing is used in the examples for each of the following scenarios. If you are using LIFO pricing, the system handles LIFO pricing for each example in the same manner; however, it locates the record that was inserted into inventory most recently to calculate the appropriate price, rather than locating the record that was inserted into inventory first.

Scenario 1: Issuing parts to work orders (LIFO/FIFO)

When issuing parts from stores to work orders using the Work orders form, and when you are using LIFO/FIFO as your pricing method, the system calculates the transaction price of issued parts using the R5FIFO table, rather than retrieving the base price from the R5PARTS or R5STOCK table.

If you have selected FIFO as your pricing method, the system locates the oldest part with the earliest insertion date in the R5FIFO table and attempts to fulfill the demanded quantity of the part on the work order. If the quantity of the first record is not sufficient to fulfill the demanded quantity of the part on the work order, the system issues the available quantity of the first record to the work order, and then locates the next record inserted into inventory in the R5FIFO table. The system continues to locate and issue the parts from the R5FIFO table, issuing the oldest parts first until the requested quantity of the part is fulfilled for the work order.

The system records the transaction price of the LIFO/FIFO issue to the work order using the price of the appropriate part inserted into the R5FIFO table. If the system uses more than one record from the R5FIFO table to fulfill the quantity of the issue, then it calculates the price of the issue using the weighted average of the price of the R5FIFO records used to fulfill the issue. However, the system inserts a record of the original issue price and quantity of the part issued in the R5ISSUES table to preserve a record of the original issue

price of a part should the issued part need to be returned to store in the future. See the example below for more information about how the system handles LIFO/FIFO pricing for issuing parts to work orders.

Example:

Your pricing method is FIFO. You have created a work order that creates demand for 10 air filters. Presently you have 19 air filters in stock with different insertion dates and prices. At the time of issue, the R5FIFO table contains the following information:

Insertion date

Quantity in store

Price

1-APR-2002

4

7 USD

7-MAY-2002

3

8 USD

10-JUN-2002

8

16 USD

25-JUN-2002

4

18 USD

The Insertion date column in the table above indicates the date the stock was received into inventory.

To fulfill the requested quantity of the air filters for the work order, the system locates the 4 parts inserted into stock on 1-APR-2002 at 7 USD each, inserts a record of 4 parts at 7 USD into the R5ISSUES table, and then deletes the record of the 4 parts at 7 USD from the R5FIFO table. The system then locates the 3 parts inserted into stock on 7-MAY-2002 at 8 USD each, inserts a record of the 3 parts at 8 USD into the R5ISSUES table, and then deletes the original record of the 3 parts from the R5FIFO table. The system then locates the 8 parts inserted into stock on 10-JUN-2002 at 16 USD, inserts a record of 3 parts into the R5ISSUES table, and updates the quantity of the 10-JUN-2002 record to 5 in the R5FIFO table. The system then creates the issue to the work order and calculates the transaction price of the issue using the following equation:

[(4 air filters @ 7 USD) + (3 air filters @ 8 USD) + (3 air filters @ 16 USD)] / 10 = 10 USD

After completing the issue to the work order, the R5ISSUES and R5FIFO tables contain the following information:

R5ISSUES

R5FIFO

4 air filters @ 7 USD

5 air filters @ 16 USD

3 air filters @ 8 USD

4 air filters @ 18 USD

3 air filters @ 16 USD

Scenario 2: Receiving parts (LIFO/FIFO)

When receiving parts into inventory using LIFO/FIFO as your pricing method, the system automatically inserts a record for the received part into the R5FIFO table upon approval of the receipt.

When creating and approving a receipt using the PO Receipts form, the system associates the stock record inserted in the R5FIFO table with the part on the appropriate purchase order line. Associating the stock record with the purchase order line in the R5FIFO table records the quantity of the part received at the purchased unit price. The purchase unit price includes tax and/or any additional charges for the part if you have set the part price to include tax and/or additional charges.

Scenario 3: Returning parts from a work order to a store (LIFO/FIFO)

When returning parts from work orders to stores using the Work orders form, and when you are using LIFO/FIFO as your pricing method, the system attempts to locate an equivalent issue in the R5ISSUES table for the same store and part from which to make the return. The system also attempts to locate the same work order and activity or equipment or project to which the part was originally issued. If the equivalent issue exists in the R5ISSUES table, the system uses the issue price as the price of the return. If the equivalent issue does not fulfill the entire return, the system returns the remaining quantity of the part using its current average price.

As the system locates issues to fulfill the return, it deletes the used issues from the R5ISSUES table and inserts a record into the R5FIFO table using the date and time of the original receipt stored in the record in the R5ISSUES table. If the system cannot fulfill the return quantity using records from the R5ISSUES table, it inserts a new record in the R5FIFO table using the current system date and time as the transaction date. If the system locates the issues to fulfill the return quantity, it deletes or reduces the quantity of the issues used for the return from the R5ISSUES table.

The system calculates the transaction price of the LIFO/FIFO return from a work order, equipment, or project to store using the weighted average of the prices of the parts used from the R5ISSUES table. If equivalent issues exist to fulfill the return quantity, the system uses the date of the original R5FIFO records stored in the ISS_FIFODATE column of the R5ISSUES table as the transaction date recorded for the record(s) inserted into the R5FIFO table for the return. If no equivalent issues exist to fulfill the return, the system uses the current date. See the example below for more information about how the system handles LIFO/FIFO pricing for returning parts from a work order to a store.

Example:

Your pricing method is FIFO. You need to return 10 air filters from a work order to store. At the time of the return, the R5ISSUES and R5FIFO table contain the following information:

R5ISSUES (for this work order)

R5FIFO

3 air filters @ 8 USD 4-MAY-2002

1 air filter @ 8 USD 7-MAY-2002

5 air filters @ 10 USD 1-APR-2002

2 air filters @ 7 USD 29-MAY-2002

2 air filters @ 9 USD 1-JUN-2002

The date displayed in the R5ISSUES column in the table above indicates the date the stock was received into inventory.

To cover the return quantity, the system locates the 5 parts inserted into R5ISSUES on 1-APR-2002 at 10 USD each, returns them from the work order to store, inserts a record of 5 parts at 10 USD into the R5FIFO table, and deletes the record of the 5 parts at 10 USD from the R5ISSUES table. The system then locates the 3 parts inserted into R5ISSUES on 4-MAY-2002 at 8 USD each, returns them from the work order to store, inserts a record of the 3 parts at 8 USD into the R5FIFO table, and deletes the original record of the 3 parts from the R5ISSUES table.

There are no equivalent issues remaining from which to fulfill the return quantity, and 2 parts are still needed to fulfill the return quantity of 10, so the system then locates the records that existed in the R5FIFO table before the return and calculates the weighted average price of the parts using the following equation:

[(1 air filter @ 8 USD) + (2 air filters @ 7 USD) + (2 air filters @ 9 USD)] / 5 = 8 USD

The system returns the remaining 2 parts using the price of 8 USD and inserts a new record of 2 parts at 8 USD in the R5FIFO table.

The system calculates the transaction price of the return using the following equation:

[(5 air filters @ 10 USD) + (3 air filters @ 8 USD) + (2 air filters @ 8 USD)] / 10 = 9 USD

After completing the return from work order to store, the R5ISSUES and R5FIFO tables contain the following information:

R5ISSUES

R5FIFO

5 air filters @ 10 USD 1-APR-2002

3 air filters @ 8 USD 4-MAY-2002

1 air filter @ 8 USD 7-MAY-2002

2 air filters @ 7 USD 29-MAY-2002

2 air filters @ 9 USD 1-JUN-2002

2 air filters @ 8 USD 4-JUN-2002
(The transaction date for this record is updated to the current system date and time.)

Scenario 4: Pricing store-to-store transactions (LIFO/FIFO)

When moving parts between stores, you can do so using the following forms: the Quick Store-to-Store Transfers form, the Store-to-Store Issues form, the Store-to-Store Requisitions form, and the Store-to-Store Receipts form. The system creates two transaction lines for the store-to-store transaction. Initially, the system creates an issue transaction in the issuing store of the parts to transfer. The system also creates a receipt transaction in the receiving store. If you are using LIFO/FIFO as your pricing method when moving parts between stores; the system also creates a record in the R5FIFO table for the receiving store; however, this issue transaction does not create a record in the R5ISSUES table for the issuing store.

To avoid creating transactions that result in a price of zero for store-to-store materials movements, you must specify a value for Price when you issue a part using the Quick Store-to-Store Transfer form.

The system automatically populates Price with the average LIFO/FIFO price of the part in the issuing store. You can modify Price as necessary. The price of the issue transaction in the issuing store is equal to the average price of the records in the R5FIFO table that are affected by the transfer.

If the part being transferred does not already exist in the receiving store, then the system inserts a new record of the part and the receiving store in the R5FIFO table priced at the value specified for Price on the Quick Store-to-Store Transfer form or on the PO Receipts form. The system also creates a receipt transaction for the quantity transferred and the value specified for Price.

Scenario 5: Pricing returns to suppliers (LIFO/FIFO)

When returning parts purchased on a purchase order from a store to a supplier using the Supplier Returns form, and when you are using LIFO/FIFO as your pricing method, the system attempts to locate a record of the same part on the original purchase order line from which to calculate the return price of the part in the R5FIFO table. If the system locates a record of the part on the purchase order line in the R5FIFO table, then the system uses the original price of the part on the purchase order line as the return price. If the return

quantity cannot be completely covered by the quantity of the part located on the purchase order line in the R5FIFO table, the system continues to attempt to locate matching records of the part to return on purchase order line records in the R5FIFO table until the return quantity is completely covered.

If the system cannot locate enough matching records to fulfill the return quantity, then the outstanding quantity of the return is fulfilled using other available records of the same part in the R5FIFO table that are not associated with the original purchase order line for which you are returning the parts. However, the system still uses the appropriate first or last record depending on whether your price type is LIFO or FIFO. The system deletes or reduces the quantity of all the records used to fulfill the return quantity from the R5FIFO table.

See the example below for more information about how the system handles LIFO/FIFO pricing for pricing returns to suppliers.

Example:

Your pricing method is FIFO. You need to return 10 air filters that were originally purchased on purchase order number 10003 at 8 USD each. At the time of the return, the R5FIFO table contains the following information:

Insertion date

Quantity in store

Price

Purchase order number

1-APR-2002

2

18 USD

7-MAY-2002

9

8 USD

10003

10-JUN-2002

8

9.50 USD

10004

The Insertion date column in the table above indicates the date the stock was received into inventory.

The system locates the 9 parts at 8 USD from the original purchase order 10003 for the return and deletes this record from the R5FIFO table, because there is no remaining quantity of this part for this R5FIFO record.

There are no matching records of the part on a purchase order line from which to fulfill the return quantity, and 1 part is still needed to fulfill the return quantity of 10, so the system then locates the first record of 2 parts at 18 USD that were received into inventory and inserted into the R5FIFO table on 1-APR-2002. The system updates the quantity from 2 to 1 for the return. The last part is returned at the price of 18 USD.

The system calculates the price of the return using the following equation:

[(9 air filters @ 8 USD each) + (1 air filter @ 18 USD each)] / 10 = 9 USD

After completing the return from store to the supplier, the R5FIFO table contains the following information:

Insertion date

Quantity in store

Price

Purchase order number

1-APR-2002

1

18 USD

10-JUN-2002

8

9.50 USD

10004

Scenario 6: Pricing internal repair receipts (LIFO/FIFO)

The system handles pricing of internal repair receipts in much the same manner as a normal receipt from a vendor. See Scenario 2. Repairable spares can be repaired internally and externally. The forms used to receive repairable spares and the receipt process will vary depending on whether the part is being repaired externally or internally. When creating receipts for parts repaired internally, use the Internal Repair Receipts form.

When creating receipts for parts repaired externally, use the PO Receipts form. See the examples below for more information about how the system handles LIFO/FIFO pricing for parts repaired internally and externally.

Example 1:

You are receiving a part repaired internally. The system updates the available quantity of the part in inventory by the received quantity and inserts a record of the part and the Repair Price in the R5FIFO table when the internal repair receipt is approved.

Example 2:

You are receiving a part repaired externally. The system updates the available quantity of the part in inventory by the received quantity and inserts a record of the part and the receipt unit price in the R5FIFO table when the PO receipt is approved.

You can view and/or edit stock value information created by transactions for all LIFO/FIFO stock on the Stock Value page of the Parts form.

Scenario 7: Pricing positive and negative adjustments (LIFO/FIFO)

When signing off stocktake and updating quantities using the Physical Inventory form, the system handles LIFO/FIFO pricing of negative adjustments the same way that it handles regular issues.

For positive adjustments, the system calculates the average price of the part in the store that is adjusted by the stocktake. Then the system inserts a record of the positive adjustment quantity at the calculated average price and a transaction record of the positive adjustment in the R5FIFO table.

For scrapped repairable spare parts, the system does not update the price for external or internal repairs.