You are on page 1of 12

Decoding GL-Inventory

Reconciliation
White Paper
Anil Kumar

KASPL
March 2014
This report contains 12 pages
Decoding GL-Inventory Reconciliation.docx

KPMG Internal Document


Decoding GL-Inventory Reconciliation
March 2014

Contents
1

Introduction

Inventory Period Closure Process

2.1
2.2

Accounting and Period Closure


Summarization Process

2
2

Inventory Cost Reconciliation

3.1
3.2
3.3

What Constitutes Inventory Cost


Inventory Reports for Reconciliation
Period Close Reconciliation Report

3
4
5

Possible Causes of mismatch between GL and Inventory

4.1
4.2

Back Dated Transactions


Usage of Valuation Accounts in Miscellaneous Transactions and
Average Cost Updates
Data Corruption Issues
Other Issues

4.3
4.4

8
9
10

KPMG Internal Document


Decoding GL-Inventory Reconciliation
March 2014

Introduction
This white paper aims at the following 1. Providing insights into inventory period closure process.
2. The process that may be followed to reconcile Inventory Cost.
3. Troubleshooting the GL-Inventory Reconciliation issues.

Intention of the white paper is to provide effective guidelines and some handful scripts which
can be used in checking various aspects of period closing as well as Reconciliation between
Inventory and General Ledger.

This white paper is applicable for Average Costing Organizations for 11.5 and above
application versions. The document has been on the basis of testing and process validation done
for a Discrete Manufacturing organization and the Reader is requested to validate before
applying the document in any other environments.

KPMG Internal Document


Decoding GL-Inventory Reconciliation
March 2014

Inventory Period Closure Process


The process of period closure in inventory module could be logically divided into two parts1. Accounting and Period Closure
2. Summarization

2.1

Accounting and Period Closure


This process includes all non-summarization features of the inventory period closure process. In
this process, following activities takes place
1. Validation of Transactions
2. Transfer Transactions to GL
3. Change period status flag to Closed
Once these steps are completed, the concerned period is locked and no transaction can be
entered for the period.

2.2

Summarization Process
The Summarization process creates summary of the period transactions in table
CST_PERIOD_CLOSE_SUMMARY (CPCS). Summarization process is done by the
concurrent program named Period Close Reconciliation Report, (henceforth referred in the
document as PCRR). The process of summarization has been delinked from the process of
period closure. This means summarization process can be run for an open period also. When
PCRR is run for an open period, it becomes a simulation report and pulls data from the temp
table that holds the data for the period. The data will be included for the dates given as
parameter by the user at the time of submission of the program. To further clarify the report, the
From and To Dates are displayed along with the period name. When this report is run for a
closed period, the report will show the real inventory value summary. The report will pull the
data from the CST_PERIOD_CLOSE_SUMMARY table in such case.
The
process
of
summarization
(i.e.
updating
inventory
values
in
CST_PERIOD_CLOSE_SUMMARY table after period closure) can be done manually as well
as automatically. This is governed by the profile option CST: Period Summary. If the value
for the profile is set to Automatic, the PCRR is automatically run as soon as a period is closed.
If this is set to Manual, the PCRR need to be run manually after every period closure.
When the program PCRR is run for the first time for a closed period, it updates values in table
CPCS and then extracts the data from the same table and print the report. Afterwards, it only
extracts the data from CPSC and prints the report.
The ORG_ACCT_PERIODS table is used to store information regarding accounting periods.
This table also store information on the accounting periods using the Open, Closed not
Summarized, or Closed status. The column SUMMARY_FLAG is used to show if a period has
been summarized. If the value is Y, it has been summarized. If the value is N or NULL, no
summarization has taken place.

KPMG Internal Document


Decoding GL-Inventory Reconciliation
March 2014

Inventory Cost Reconciliation

3.1

What Constitutes Inventory Cost


Inventory Cost is normally described as summation of following cost elements1.
2.
3.
4.
5.

Material Cost
Outside Processing Cost
Material Overhead
Overhead Cost
Resource Cost

In accounting (GL) terminology, these elements are referred to as Valuation A/cs and item cost
is distributed among these five elements. These cost elements are defined under the tab Costing
Information of the Organization Parameters of an Inventory Organization.

Navigation:
Inventory Responsibility  Setup  Organizations  Parameters  Costing Information

In Average Costing Organizations, cost of in-transit material is also considered as part of


Inventory Cost. In GL, value of in-transit inventory is stored in Material Cost A/c (first element
of the Inventory Cost) as at the time of defining Stock-in-Transit A/c in Shipping Networks,
system defaults and stores Material Cost A/c only, rejecting any other code combination given
by the user.

KPMG Internal Document


Decoding GL-Inventory Reconciliation
March 2014

3.2

Inventory Reports for Reconciliation


Following inventory reports would be helpful in carrying out reconciliation between GL and
inventory-

1. Period Close Reconciliation Report (PCRR)


This is the most important report with respect to Inventory GL reconciliation process
and specifically designed to suit this purpose. This report gives item wise details of Onhand Value and Accounted Value of the inventory as of the last day of the period for
which it is run. This is a report which provides historic value of inventory (i.e. On Hand
Quantity as of Period end*Per Unit Average Cost as of Period End). All other inventory
valuation reports provide inventory value considering on hand value and item average
cost at the time of submission of the report whereas PCRR consider onhand quantity
and item average cost at the time of period closure.
In addition to cost elements, this report also considers value of in-transit material.
Total of the column Accounted Value of the report should match with the YTD
balance of below accounts (Valuation Accounts) in GL
Material Cost A/c
Outside Processing Cost A/c
Material Overhead Cost A/c
Overhead Cost A/c
Resource Cost A/c
This report has been discussed in detail in subsequent section of the document.

2. Period Close Value Summary


This is the summarized report of the PCRR and provides on hand inventory value as of
period closure categorized into Sub Inventories. This report can be run only for a closed
period.

3. Elemental Inventory Value Report - Average Costing


This report lists the sub-inventory quantity and value of items by cost element.
Elemental values are the material, material overhead, resource, overhead, and outside
processing cost elements of inventory items. This report prints the extended value of
each cost element for the range of items you choose. Difference between total of this
report and PCRR is the value of in-transit inventory as this report does not consider
stock-in-transit whereas PCRR does consider transit material.

4. All Inventories Value Report - Average Costing


This report lists the quantity and value of items for all inventories of an average costing
organization, either for a specified cost group or for all cost groups. In addition to

KPMG Internal Document


Decoding GL-Inventory Reconciliation
March 2014

elemental value of the items, the report includes inventory residing in receiving and intransit. Items in receiving inspection are valued at the PO cost.

5. Subinventory Account Value Report


This report can be used to show quantity, valuation, and detailed item information on
the basis of sub-inventory and valuation account code combination. With the help of
this report, reconciliation may also be performed for each of the valuation accounts.

It is pertinent to note that last three reports give output on the basis of on-hand material
and prevailing item average cost at the time of submitting the program. Hence, it is
advisable to run these reports and save the outputs as soon as the period is closed and
before next period is opened so that these reports can be used during period end
reconciliation.

3.3

Period Close Reconciliation Report


This report displays the item-wise inventory accounted value, on-hand value and discrepancies
between accounted and on-hand value, if any. Previous period on-hand value is used as baseline
to calculate accounted value of the current period. This ensures that discrepancies in a period do
not get propagated to next period and the value in the next period are calculated with a blank
slate, independent of the difference in previous periods.

The program can be run for any period, whether open or closed. If it is generated for an open
period, one is creating a simulation, or snapshot of the period. The simulation status is indicated
in the report title. If the program is run for an open accounting period the report reads directly
from a temporary table.

Following columns are displayed in the report output for Average Costing Organizations
Cost Group: Name of the cost group. In case of PJM enabled organizations, it is an attribute of
project which allows the system to hold item unit costs at a level below the inventory
organization.
Cost Group Description: Description of the cost group.
Item: Inventory Item code
On-hand Value: On-hand Value is calculated as multiplication of ROLLBACK_QUANTITY
(On-hand quantity) with item average cost at the time of period closure.
ROLLBACK_QUANTITY is calculated by taking current on-hand quantity from table
MTL_ONHAND_QUANTITY
MOQ
and deducting transaction
quantities
in
MTL_MATERIAL_TRANSACTION MMT for all transactions taking place after the end of
the concerned period.

KPMG Internal Document


Decoding GL-Inventory Reconciliation
March 2014

Accounted Value: This is the valuation calculated by adding current periods account
distributions from MTL_TRANSACTION_ACCOUNTS table to the previous periods on-hand
value.

Discrepancies: The difference between Accounted Value and On-hand Value. Some
discrepancies may occur due to rounding-off; however larger differences would need to be
looked into further.

KPMG Internal Document


Decoding GL-Inventory Reconciliation
March 2014

Possible Causes of mismatch between GL and Inventory


Following are few possible causes which may result into mismatches between inventory reports
(such as PCRR) and GL balances-

4.1

Back Dated Transactions


Oracle does allow customers to back date their inventory transactions for their business needs.
However, such transactions cause discrepancy between Accounted Value and On-hand Value in
Period Close Reconciliation Report. Backdated transactions take place when two or more
inventory periods are opened and transactions are entered across period boundaries.
For example, a transaction could have been stamped with a more recent cost than was available
at the end of a previous period, yet it is inserted back into that same period. Following script
may be used to identify back dated transactions
SELECT DISTINCT
mmt1.transaction_id,
mmt1.transaction_date,
mcacd1.transaction_costed_date,
mmt2.transaction_id,
mmt2.transaction_date,
mcacd2.transaction_costed_date,
mmt1.inventory_item_id,
mmt1.cost_group_id
FROM org_acct_periods oap,
mtl_material_transactions mmt1,
mtl_material_transactions mmt2,
mtl_cst_actual_cost_details mcacd1,
mtl_cst_actual_cost_details mcacd2
WHERE oap.acct_period_id = &acct_period_id
AND mmt1.transaction_date
BETWEEN oap.period_start_date
AND oap.schedule_close_date
AND mmt1.inventory_item_id = mmt2.inventory_item_id
AND mmt1.cost_group_id = mmt2.cost_group_id
AND mmt1.transaction_date < mmt2.transaction_date
AND mcacd1.transaction_id = mmt1.transaction_id
AND mcacd2.transaction_id = mmt2.transaction_id
AND mcacd1.transaction_costed_date >
mcacd2.transaction_costed_date

Discrepancies owing to back dated transactions get corrected in the PCRR on its own after two
periods as long as there is no back dated transaction in subsequent periods. The reason for this is
that the Accounted Value is restarted each period from On-hand Value on the assumption that
On-hand Value is the True value. Suppose we have three periods , and  . Below is what
happens when we backdate a transaction to the beginning of  and have otherwise normal
transactions
 Accounted Value = Correct
 On-hand Value = Affected by Backdated transactions
Matching Status = Mismatch

KPMG Internal Document


Decoding GL-Inventory Reconciliation
March 2014

 Accounted Value =  On-hand Value (impacted by backdated entries) + Correct Amount


 On-hand Value = Correct Amount
Matching Status = Mismatch
 Accounted Value =  On-hand Value + Correct Amount
 On-hand Value = Correct Amount
Matching Status = Matched
Backdated transactions could be controlled by following any of the below action plan1. Opening next inventory only after closing the previous period ensuring that at any point
of time, only one inventory period is in Open status.
2. Usage of Cost Cut-off: When it is required to keep more than one inventory period
open, use of cost cut-offs can effectively control backdated transactions. Usage of Cost
Cut-offs allows you to delay the cost manager until all of your backdated transactions
are entered. At this point you may shift the cost cut-off to the next period end and allow
the cost manager to process in order by transaction date and not in the order you entered
the transactions.
Below is the suggested usage of Cost Cut-offs where you are in April and want users to
enter backdated transaction in April after 1st May
a) During April, Cost Cut-off should be set to 1st May. This means that the cost
processor will not pick up any transaction with TRANSACTION_DATE on or after
01-May-YYYY 00:00:00
b) After the end of April, users can enter transactions that are backdated as well as
normal transactions.
- The normal transactions (TRANSACTION_DATE > 30-Apr-YYYY 23:59:59)
will be ignored by the cost processor.
- The backdated transactions (TRANSACTION_DATE < 30-Apr-YYYY 23:59:59)
will be picked up for costing.
c) After April is closed, the Cost Cut-off date should be changed to the first day in the
next period i.e. 01st June. Now all the transactions with TRANSACTION_DATE >
30-Apr-YYYY 23:59:59 that were entered earlier will be picked up and costed.
Please refer metalink note 213628.1 (How to use the Cost Cutoff date) for more
information on this.

4.2

Usage of Valuation Accounts in Miscellaneous Transactions and


Average Cost Updates
Usage any of the Valuation accounts for Miscellaneous Transactions (whether receipt or issue)
or for Average Cost Updates result into mismatches between inventory and GL balances. Misc.
transactions, by nature, impact the Valuation Accounts (Material Cost A/c) as one leg of the
accounting entry. Receipts transactions debit the Material Cost A/c and Issue transactions credit
it. In order to complete the accounting, credit and debit account respectively need to be entered
by the user at the time of miscellaneous receipt or issue. Selection of Material Cost A/c
manually at this point by user results into anomalies in GL and inventory reports. Such

KPMG Internal Document


Decoding GL-Inventory Reconciliation
March 2014

transaction results in increase or decrease (as the case may be) in inventory report whereas GL
balances remain unaffected since both debit and credit accounts are same for such transactions.
Same issue arises when any of the valuation account is used at the time of Average Cost
Updates.
The best practice to avoid such issues is to use separate accounts for miscellaneous transactions
and average cost updates and control the usage of Valuation Accounts for these transactions.

4.3

Data Corruption Issues


There could be data corruption issues across sub-ledger tables such as
MTL_MATERIAL_TRANSACTIONS (MMT) and MTL_ONHAND_QUANTITIES (MOQ)
causing irregular/wrong data in inventory reports. Following script could be used to identify
such mismatchesSELECT TXN.inventory_item_id,
TXN.mmt_qty ,
ONHAND.qty
FROM (SELECT mmt.inventory_item_id ,
SUM(mmt.primary_quantity) mmt_qty,
mmt.organization_id
FROM mtl_material_transactions mmt,
mtl_system_items msi ,
mtl_secondary_inventories mse
WHERE msi.organization_id = mmt.organization_id
AND msi.inventory_item_id = mmt.inventory_item_id
AND msi.inventory_asset_flag = 'Y'
AND mse.secondary_inventory_name= mmt.subinventory_code
AND mse.asset_inventory = 1
AND mse.organization_id = mmt.organization_id
AND mmt.transaction_action_id not in
(5,6,24,30,50,51,52,55,26,7,11,17,10,9,13,14)
AND nvl(mmt.logical_transaction,0) <> 1
GROUP BY mmt.inventory_item_id,
mmt.organization_id )TXN ,
(SELECT moq.inventory_item_id ,
SUM(moq.primary_transaction_quantity) qty,
moq.organization_id
FROM mtl_onhand_quantities_detail moq,
mtl_system_items msi ,
mtl_secondary_inventories mse
WHERE msi.organization_id = moq.organization_id
AND msi.inventory_item_id = moq.inventory_item_id
AND msi.inventory_asset_flag = 'Y'
AND mse.secondary_inventory_name= moq.subinventory_code
AND mse.asset_inventory = 1
AND mse.organization_id = moq.organization_id
GROUP BY moq.inventory_item_id,
moq.organization_id )ONHAND,
mtl_parameters mp
WHERE TXN.inventory_item_id = ONHAND.inventory_item_id (+)
AND TXN.mmt_qty <> NVL(ONHAND.qty,0)
AND mp.organization_id = &org_id
AND TXN.organization_id = mp.organization_id
AND ONHAND.organization_id = TXN.organization_id
AND NVL(mp.wms_enabled_flag,'N') = 'N';

KPMG Internal Document


Decoding GL-Inventory Reconciliation
March 2014

4.4

Other Issues
Following transactional issues could also cause reconciliation gaps
1. Manual journal entries in GL
2. Unposted transactions in GL
3. Interface transaction not imported in GL
4. Wrong usage of Cost Cut-offs
5. Uncosted/unaccounted inventory transactions

Important Metalink notes:


1. How to check for reconciliation problems between INV, SLA & GL (Doc ID 779102.1)
2. How to verify data Between GL And Inventory transactions through SLA (Doc ID
782305.1)

You might also like