You are on page 1of 46

Reconcile Your Inventory to G/L Balances With Ease, From 1 to 1,000 Inventory

Organizations!

COLLABORATE 14 OAUG Forum Copyright 2011-2014 Douglas Volz Consulting, Inc. Page 1 of 46
Douglas A. Volz
Douglas Volz Consulting, Inc.
www.volzconsulting.com
Collaborate14 Synopsis:

This paper is an updated version from Collaborate11, offering new insights from recent work experiences.

Learn about improvements in Release 12 Oracle Cost Management that help you reconcile your G/L to
your perpetual inventory balances. Identity additional R12 changes that may hinder this reconciliation as
well as common problems and workarounds. And for both Releases 11i and 12 learn how to use the
month-end cost snapshot to systematically compare your G/L to perpetual inventory balances. These
techniques work for Standard, Average, LIFO and FIFO Costing. Working SQL is included in this paper
and now includes specialized code for Cost Group accounting (WMS). These techniques also work for
Release 11i as well.
Introduction
With larger and larger Oracle implementation footprints, with more ledgers, operating units and inventory
organizations, the effort to compare and reconcile the General Ledger (G/L) to the perpetual inventory balances
rapidly may become unrealistic using the standard Oracle Reports.

This paper describes the standard tools to use in reconciling your G/L to your perpetual inventory balances and
challenges normally found during the reconciliation process, for both Releases 11i and 12. In addition, if you have
multiple inventory organizations, this paper also suggests custom approaches that may help you save significant
time at month-end. Learn from the experiences of Douglas Volz Consulting; Doug Volz is a former Cost
Accounting Manager who co-designed Oracle Cost Management, has implemented Oracle Applications in over 12
countries and leads the OAUG Cost Management Special Interest Group.
For further information, Doug may be reached at doug@volzconsulting.com (or www.volzconsulting.com).
Scope of this Paper
This paper covers the following objectives:
Understand the difficulties reconciling across the Oracle Receiving, Inventory, WIP and the G/L modules.

Learn about the standard tools and reports available in Release 11i and 12

Discuss how Release 12 both improves the ability to reconcile but also adds complexity

Learn about custom approaches to improve your G/L to inventory reconciliation for any Oracle Release

Discuss ways to use hidden information to systematically reconcile your G/L to perpetual balances
This paper addresses many of the underlying concepts for Inventory Perpetual to G/L reconciliation. However there
are two general areas not addressed:
Costing for Process Manufacturing. Solutions in this paper have not been used for Process
Manufacturing, as the Oracle Process Costing table structures and functionality are very different from
Oracle Cost Management for Discrete Costing.

Receiving perpetual balances. Oracle Cost Management does not create month-end receiving information
for the month-end cost snapshot. Consequently custom approaches for receiving reconciliation was not
Reconcile Your Inventory to G/L Balances With Ease, From 1 to 1,000 Inventory
Organizations!

COLLABORATE 14 OAUG Forum Copyright 2011-2014 Douglas Volz Consulting, Inc. Page 2 of 46
included in this paper; although Douglas Volz Consulting has created viable solutions for a receiving
month-end snapshot (store it during the period close process or create it on the fly using SQL logic), this
was left off to simplify the paper discussion.

Background for Inventory Manufacturing Reconciliation
Oracle Inventory, with Inventorys receiving capabilities, was first released around 1989, with Oracle Work in
Process soon afterwards. In Release 10 the receiving functionality was transferred to Oracle Purchasing, as well as
the related Inventory A/P Accrual functionality. During these early designs the Oracle development teams were
mandated to write all reports by single inventory organization, and only until Release 10.6 did multi-organization
functionality start to appear for Purchasing, A/P, A/R, and Order Management (by Operating Unit). Over time more
and more multi-org functionality become available, such as opening and closing inventory organizations by
organization hierarchy. But even with Release 12.1.x, now 20 years later, multi-org inventory, WIP and receiving
value reports do not exist (there is a multi-org perpetual quantity report since Release 11.0x). Subledger Accounting
can do much of its reporting by Ledgers or Ledger Sets, but this is only for accounting distributions. So although
the general suite of products has matured and added many valuable features, the ability to reconcile across
Receiving, Inventory, Work in Process and General Ledger modules has been a continuing point of contention.
The lack of reconciliation functionality continues into Release 12. In Release 12 you can report summaries of
account balances by Ledger or Ledger Set, but inherently there are no major changes to inventory, receiving or WIP
reporting since Release 10. Even with period-end snapshot improvements which started in Release 11i, there are
still no direct comparison reporting between the G/L and the inventory perpetual balances. And with Subledger
Accounting (also known as SLA) in Release 12, more things can go wrong, as you have the same underlying
processes to run as in Release 11i, but in addition you have to make sure the Subledger Accounting is working
correctly and did not fail to transfer the entries into the General Ledger.
The example as described in this paper gives you valuable insights into the reconciliation solutions. These solutions
have been used in Release 11i and 12, for both Average and Standard Costing, with some sites exceeding 120
inventory organizations and 16 Ledgers. Here is an example for ledgers, operating units and inventory organizations
where these solutions were put in place:
Corporate
Consolidated
Ledger
Secondary
Ledger
Primary
Ledger
Legal Entity
Operating
Unit
Inventory
Orgs
Corporate Consolidated Ledger
(USD)
USA PL
(USD)
Other
LEs
US OU
CORP
LE
Item
Master
(ZZZ)
Switzerland
Org
Korea OU
Switzerland
(CHE) LSPs
LSPs
European
SLs
ORG
Korea
Switzerland
OU
US Dist.
Centers
US LSP
Orgs
Swiss Dist.
Center
Asia-Pac
OUs
Asia-Pac
Dist. Centers
Europe Dist.
Centers
Europe
LSP Orgs
Other
European
OUs
Korea LE
Asia-Pac
LEs
Swiss LE
Other
European
LEs
Korea
(KRW)
Asia-Pac
LEs
Swiss PL
(USD)
European PL
(USD)

Reconcile Your Inventory to G/L Balances With Ease, From 1 to 1,000 Inventory
Organizations!

COLLABORATE 14 OAUG Forum Copyright 2011-2014 Douglas Volz Consulting, Inc. Page 3 of 46
Before the creation of these reconciliation solutions, the Cost Accounting departments assigned multiple people to
reconcile and identify differences and balances across Receiving, Inventory, WIP and the General Ledger. Now
with these solutions in place they can reconcile in less than one hour, with the initial differences identified in less
than 5 minutes, with the balance of time for researching the differences. This paper offers insights to how this was
accomplished.
Definitions
Inventory: per Wikipedia (http://en.wikipedia.org/wiki/Inventory), inventory is commonly used to
describe the goods and materials that a business holds for the ultimate purpose of resale (or repair). In the
context of the Oracle Applications this includes receiving, onhand (stock), intransit, and work in process
(or WIP) sub-classifications of inventory. For more information on inventory definitions see below:
o Intransit Inventory: goods being transferred from one location to another, typically on a ship,
airplane or truck. Title to the goods is based on the FOB (Free on Board) rules. For international
shipments or International Commercial Terms Incoterms define the trade terms, including FOB
point. For more information on Incoterms see http://en.wikipedia.org/wiki/Incoterms.
o Onhand Inventory: the goods held typically in a storeroom or some other form of building or
enclosed area. Onhand inventory may also be represented by the type of inventory (sometimes
called a logical grouping) such as Raw Materials, Sub-Assemblies, Material Review Board/MRB
and Finished Assemblies.
o Receiving Inventory: the goods held in receiving inspection, before being transferred into
onhand inventory or into WIP (for OSP services).
o Work in Process: goods and other factors of production used to make or repair assemblies.
There are many types of WIP, including Standard, Non-Standard and EAM (Maintenance).
Perpetual Inventory: Inventory value that moves in tandem with each material or WIP transaction, as
opposed to periodic inventory value that is measured at the end of the accounting period. So as each
material or WIP transaction is played in the Oracle Applications, the onhand quantities and WIP values
increase or decrease, and is represented in the perpetual (or constantly moving) inventory value.
Subledger Balances: the cumulative accounting balances from your accounting subledgers. Not to be
confused with perpetual inventory values. Release 12 has two accounting subledgers, the original material,
receiving and WIP accounting subledgers, as reported on the Material, Receiving and WIP Distribution
Accounting Reports, and, the Release 12 Subledger Accounting Reports, such as the Journal Entries Cost
Management Report, Account Balances Report or Account Analysis Report. When you Transfer to the
General Ledger (R11i) or run Create Accounting (R12) these accounting subledger entries are sent for
inclusion into your general ledger. Release 11i uses the original material, receiving and WIP accounting
subledgers and Release 12 adds an additional step and uses the R12 subledger entries from Subledger
Accounting (also know as SLA).
Monthly Accounting Activity: the sum of your accounting entries from the beginning day of the
accounting period up to and including midnight of the last day of the accounting period, as defined in your
accounting calendar
Cumulative G/L Balance: for balance sheet accounts, inception-to-date balance in your general ledger. If
all of your monthly accounting activity or entries has been transferred and included into your G/L, than the
addition of all of your monthly accounting activity from the beginning should agree to your cumulative G/L
balances.
General Reconciliation Principles & Requirements
As a general formula, when reconciling the receiving, inventory and WIP perpetual balances to your G/L, the
formula is:
Prior cum. balance + monthly accounting activity = month-end cumulative G/L balance
You then compare the above cumulative accounting balance to your perpetual valuation reports. If the perpetual
balances do not agree to your G/L, the most likely reasons are manual G/L journal entries and entries from other
subledgers. In Release 12 you would also check to ensure all receiving, material and WIP accounting entries have
Reconcile Your Inventory to G/L Balances With Ease, From 1 to 1,000 Inventory
Organizations!

COLLABORATE 14 OAUG Forum Copyright 2011-2014 Douglas Volz Consulting, Inc. Page 4 of 46
had Create Accounting run for them by running the Subledger Period Close Exceptions Report. This report will
show you if entries have not been transferred to the G/L or if there are any invalid subledger accounting entries.
Here is a sample worksheet illustrating these principles:


More Reconciliation Principles
Here are a few more concepts that may help.
1) Ignore minor rounding differences:
When the unit cost precision is higher than the currency decimal precision, you may have minor
rounding differences between the valuation reports and cumulative accounting totals
2) Start by comparing your inventory perpetual values to your G/L balances. Make this comparison after all
monthly accounting entries have been transferred to your G/L and dont waste time comparing to your
accounting subledger reports to your inventory perpetual values until you know you have a G/L difference to
find.

3) For Release 11i: Watch out for transaction & reporting cut-offs issues, as all of the inventory value reports
create real-time quantity and value information, based on when you run the reports

4) For Release 11i & 12 the Transaction Historical Summary Report has a rollback date and you can run this
report back to your month-end date to get an accurate month-end balance for your subinventories. The reports
are:
Transaction Historical Summary Report Standard Costing
Transaction Historical Summary Report Average Costing

Note: Release 12: All Inventory and Receiving Value Reports have an As of Date. So the
Release 11i report cut-off issues do not exist in Release 12.

Note: Release 12: Make sure you run Create Accounting after all inventory orgs are closed and
after all A/R invoicing is done. In Release 12 you have two layers of accounting entries. The
original ones from the prior release (material accounting distributions, WIP accounting
distributions, receiving accounting distributions), plus the Subledger Accounting entries from
Reconcile Your Inventory to G/L Balances With Ease, From 1 to 1,000 Inventory
Organizations!

COLLABORATE 14 OAUG Forum Copyright 2011-2014 Douglas Volz Consulting, Inc. Page 5 of 46
Release 12. Release 12 uses a separate Create Accounting processes to create the subledger
entries, and optionally, transfer these entries to the General Ledger at the same time. And
although this does not affect inventory reconciliation, you should run the COGS Recognition and
Create Accounting Processes after A/R is closed, to ensure the COGS clearing account(s) are
relieved and to properly record Cost of Goods Sold.

Note: Release 11i: Set the Cost Cut-Off Date to the first day of the next accounting period.
When you run the Inventory Value Report set Only valued transactions to No ensure a clean
month-end report with no reporting cut-off issues. Any transactions in the next accounting period
will not be costed and will not be included in the report.
General Reconciliation Requirements
To summarize, the general inventory reconciliation requirements are:
1) Be able to run perpetual inventory value reports for your month-end balances, across multiple inventory
organizations. Depending on your information security requirements, this could be by Operating Unit,
Ledger or Ledger Sets, as many client sites are trying to save costs and run their Cost Accounting by
region, sometimes even globally using a common Cost Accounting Department or team.
2) Be able to run summary accounting distribution reports by transaction date range, across multiple inventory
organizations. Depending on your information security requirements, this could be by Operating Unit,
Ledger or Ledger Sets, as many client sites are trying to save costs and run their Cost Accounting by
region, sometimes even globally.
3) Be able to run summary G/L inventory value reports for your respective inventory accounts, typically by
accounting period and journal source. Again, depending on your information security requirements, this
could be by Operating Unit, Ledger or Ledger Sets, as many client sites are trying to save costs and run
their Cost Accounting by region, sometimes even globally.
4) And lastly, be able to directly compare the G/L month-end balances with the month-end inventory
perpetual balances, to quickly identify the differences. Depending on your information security
requirements, this could be by Company accounting segment, Ledger or Ledger Sets, as many client sites
are trying to save costs and run their Cost Accounting by region, sometimes even globally
Standard Oracle Reconciliation Reports
If you only have a few inventory organizations the standard reports work quite well. Especially with important
improvements in Release 12 that eliminates reporting cut-off issues. The receiving, inventory and WIP accounting
entries and perpetual balances are managed and stored in different areas of the Oracle Applications.
Oracle Purchasing: has the receiving transactions, and related accounting entries for the receipt and inventory
accrual for inventory purchases. (Oracle Inventory has the purchasing delivery transaction, the delivery into the
subinventory from receiving inspection.) For Release 11i, the general ledger journal source is Purchasing with the
journal category of Accrual and Receipt. For Release 12 the general ledger journal source is Cost Management,
with the category of Receiving (for both the Receiving and Accrual entries can be confusing).

Oracle Inventory: holds the material transactions and related accounting entries for all material movement and
revaluation of onhand quantities. This includes issues to and from WIP, as well as intransit transactions. For
Release 11i the general ledger source is Inventory, with the journal category of MTL. For Release 12 the general
ledger journal source is Cost Management, with the journal category of Inventory.

Oracle Work In Process: has the WIP resource, outside processing, job close variances, expense job period close
variances, and WIP standard cost updates. The Release 11i general ledger journal source is Inventory, with the
journal category of WIP. For Release 12 the general ledger journal source is Cost Management, with the journal
category of WIP.

Reconcile Your Inventory to G/L Balances With Ease, From 1 to 1,000 Inventory
Organizations!

COLLABORATE 14 OAUG Forum Copyright 2011-2014 Douglas Volz Consulting, Inc. Page 6 of 46
For your accounting distributions, up to Release 11i you need to use three different reports to see receiving,
inventory and WIP accounting entries. In Release 12 you have basic subledger journal reports, but the level of detail
may cause you to go back to the Release 11i-based reports. For your receiving, inventory and WIP perpetual
balances, the Release 11i and Release 12 reports are nearly the same, but with an important difference for Release
12. In Release 12 you can run your valuation reports up to an as of date. Doing so eliminates reporting cut-off
issues with late transactions or with having multiple inventory accounting periods open at a time.
Standard Oracle Receiving Reconciliation Reports
Use the Receiving Value Report to get the month-end balances for both Releases 11i and 12. The
Receiving Value by Destination Account Report is only available in Release 11i; it was disabled in
Release 12; with Subledger Accounting the expense accounts in use may differ from what is stored on
your purchase order distributions and as a result this report was disabled to avoid Oracle support
issues. The Account Analysis Report was recommended as a replacement but this report does not
show you the perpetual balances for expenses in your receiving valuation accounts, only account
balances.
Use the Receiving Account Distribution Report for monthly increases to the Receiving Valuation
Account. The initial purchasing receipt debits the receiving valuation account and credits the accrual
reconciliation account (Inventory or Expense A/P Accrual Account). Note that no summary receiving
account report exists.
Use the Material Distribution Summary Report for monthly decreases to the Receiving Valuation
Account. The delivery into inventory debits your subinventory or organization accounts and credits
your receiving inspection account.
For Release 12 use the Journal Entries Cost Management Report to also get your monthly accounting
entries. The big advantage to using this report is that if you changed your standard subledger
accounting rules to change how you derive your accounts, this Release 12 report will reflect the
revised accounting distributions.

Caution: Unfortunately the Receiving Value Report no longer shows account numbers in Release 12

Caution: For both Release 11i and 12, the Receiving Account Distribution Report is only in detail,
and does not show the accounts used by Subledger Accounting, it only uses shows the default
receiving, accrual and expense accounts.
Reconcile Your Inventory to G/L Balances With Ease, From 1 to 1,000 Inventory
Organizations!

COLLABORATE 14 OAUG Forum Copyright 2011-2014 Douglas Volz Consulting, Inc. Page 7 of 46

Standard Oracle Inventory Reconciliation Reports
Use the Inventory Value Report to get your subinventory balances. In Release 12 the Inventory Value
Report also reports your Intransit quantities and values.
You can also use the All Inventories Value Report to get Receiving, Inventory/Subinventories and
Intransit on one report. For many clients this is the preferred perpetual valuation report.
Use the Material Distribution Summary Report for summarizing the monthly activity for material
movement for subinventories, WIP and deliveries from Receiving
You can also use the Transaction Historical Summary Report, in any Oracle Release to rollback to a
given date and get clean subinventory balances. The two available reports are:
o Transaction Historical Summary Report Standard Costing
o Transaction Historical Summary Report Average Costing
You can use the Period Close Value Report to get a quick summary by subinventory or by organization
You can also use the Period Close Reconciliation Report to compare your perpetual balances to your
cumulative material accounting entries for your subinventories and intransit balances. Unfortunately
this report is only single-org and also, includes all items in stock. So you get lots and lots of zero
balance items.
For Release 12 use the Journal Entries Cost Management Report to also get your monthly accounting
entries. The big advantage to using this report is that if you changed your standard subledger
accounting rules to change how you derive your accounts, this Release 12 report will have reflect the
revised accounting distributions.
Caution; Unfortunately the Inventory Value Report and the Intransit Value Report no longer shows
any account numbers in Release 12

Caution: The Material Distribution Reports do not show the accounts used by Subledger Accounting,
it only uses shows the default accounting as created by the Inventory Cost Processor.
Reconcile Your Inventory to G/L Balances With Ease, From 1 to 1,000 Inventory
Organizations!

COLLABORATE 14 OAUG Forum Copyright 2011-2014 Douglas Volz Consulting, Inc. Page 8 of 46



Reconcile Your Inventory to G/L Balances With Ease, From 1 to 1,000 Inventory
Organizations!

COLLABORATE 14 OAUG Forum Copyright 2011-2014 Douglas Volz Consulting, Inc. Page 9 of 46


Standard Oracle WIP Reconciliation Reports
WIP is the cumulative sum of both material and WIP entries. The material transactions are for the component issues
and WIP assembly completions and the WIP entries are for earning resources, overheads, outside processing, WIP
job close variances and WIP cost update.
Use the WIP Value Report to get the month-end perpetual balances at any point in time. WIP balances
are stored by inventory organization, and WIP job or repetitive schedule or production line. Each
material or WIP transaction updates the WIP period balances are they are created. Therefore, at
month-end you have no reporting cut-off issues. When running this report select the option to include
closed jobs.
Use the WIP Account Summary Report and Material Distribution Summary Report for monthly
accounting activity totals.
For Release 12 use the Journal Entries Cost Management Report
Reconcile Your Inventory to G/L Balances With Ease, From 1 to 1,000 Inventory
Organizations!

COLLABORATE 14 OAUG Forum Copyright 2011-2014 Douglas Volz Consulting, Inc. Page 10 of 46



Reconcile Your Inventory to G/L Balances With Ease, From 1 to 1,000 Inventory
Organizations!

COLLABORATE 14 OAUG Forum Copyright 2011-2014 Douglas Volz Consulting, Inc. Page 11 of 46
Standard Cost Management Subledger Report for Inventory
In addition to the Subledger Accounting reports available across modules, for Cost Management there is the Journal
Entries Report Cost Management. Use this report to summarize your accounting entries for one or more
accounting periods, for receiving, inventory/subinventories and WIP.



Reconcile Your Inventory to G/L Balances With Ease, From 1 to 1,000 Inventory
Organizations!

COLLABORATE 14 OAUG Forum Copyright 2011-2014 Douglas Volz Consulting, Inc. Page 12 of 46

Drill-Down From the General Ledger
Release 11i and 12 have significant differences in how they drill-down from the G/L to your inventory transactions:
Release 11i: The Inventory/WIP GL batch numbers are visible in the G/L, as part of the journal entry
batch name
Release 11i: You can run the Material and WIP Distribution Reports by this G/L batch number and
compare to the General Ledger
Release 12: You cannot see the organization code or G/L batch number on the G/L journal entry batch
name unless you customize your SLA rules to include this on your journal line descriptions, for all
material and WIP accounting transactions that you use.
Caution: Changes in Release 12 with the use of SLA, especially to replace missing R11i features
is a time-consuming setup and configuration effort.
Release 12: You can drill down from your G/L to the Subledger Accounting Entries to the material,
receiving and WIP transactions
Release 12: You can run the Subledger Journal Entries, Account Balances or Account Analysis
Reports (with some setup required)
See the Appendix for the Original Release 10 111i design for integrating Oracle Inventory, WIP and Cost
Management to the G/L.
List of Month-End Reports
Below is a list of month-end reports commonly used in Cost Accounting:
Material Distribution Detail/Summary Reports
WIP Account Detail/Summary Reports
Receiving Account Distribution Report
Purchase Price Variance Report
Invoice Price Variance Report
Discrete Job Value
Repetitive Value Report
Expense Job Value Report
Margin Analysis Report (Margin Analysis Load, then report)
Inventory Value Reports
Elemental Inventory Value Reports
Intransit Value Report
Reconcile Your Inventory to G/L Balances With Ease, From 1 to 1,000 Inventory
Organizations!

COLLABORATE 14 OAUG Forum Copyright 2011-2014 Douglas Volz Consulting, Inc. Page 13 of 46
Subinventory Account Value Report
(disabled in Release 12)
All Inventories Value Reports
Receiving Value Report
Receiving Value by Destination Report
(disabled in Release 12 unable to view the perpetual expense balances)
WIP Value Report
Period Close Value Summary Report
Period Close Reconciliation Report (11.5.10 and 12)

Common Reconciliation Challenges
Below are a list G/L to Inventory reconciliation challenges commonly faced by Cost Accounting, reasons why your
inventory, receiving or WIP balances may not agree with your General Ledger.
Report cut-off issues at month-end or running multiple periods at a time
Account alias or miscellaneous inventory transactions using same accounts
Disabling a code combination during the month
Subledger miscodings
Manual G/L journal entries
Back-dated transactions from external system feeds
Delivering goods to a closed work order
Sharing System Accounts
Wrong initial subinventory summary balances
Initial legacy GL balances to do not match Oracle perpetual
Misleading timestamp report parameters
Out of Balance Item Costs
Report cut-off issues at month-end or running multiple periods at a time
In Release 11i the following reports need to be run at the correct time (before new transactions occur in the
following accounting period). In Release 11i these reports base their quantities on the real-time information when
the report is run:
Inventory Value Report
All Inventories Value Report
Receiving Value Report
Intransit Value Report

Corrective action:
Run the reports at midnight on the last day of the month. Also run the Material and Receiving
Account Distribution reports to capture daily transactions that need to be subtracted away.
You can also set the Cost Cut-Off Date to allow transaction processing for the new day, but allow
your Inventory / Subinventory Value Report to not include uncosted transactions. But this method
does not help with the Receiving Value or the Intransit Value Reports.

Account alias or miscellaneous inventory transactions using same accounts

Check for miscellaneous inventory transactions, where the offset account is the same as the subinventory or
organization valuation account. You can use the Material Distribution Inquiry to find these, query for entries that hit
your subinventory valuation accounts (Std) or organization valuation accounts (Avg), where the Accounting Line
Type is Account.

Reconcile Your Inventory to G/L Balances With Ease, From 1 to 1,000 Inventory
Organizations!

COLLABORATE 14 OAUG Forum Copyright 2011-2014 Douglas Volz Consulting, Inc. Page 14 of 46


Here is an example screenshot for how you would find this:




Corrective action:
Reverse the miscellaneous transaction (assuming the standard costs have not changed) and replay
the transaction with a correct offset account.
Or enter a manual journal entry to balance your G/L to inventory perpetual

Disabling a code combination during the month

If you disable a code combination during the month, AND it has been used in Inventory or WIP subledger:
Release 11i: it will not come over to the GL Interface. For other subledgers it will fail in journal
Import (Payables, others)
Release 12: will fail in Create Accounting
You can find this by:
Release 11i: comparing the summary material distribution reports to your GL entries (if able to run
journal import and post to GL)
Release 12: run the Subledger Period Close Exceptions Report

Corrective action for Release 11i:
For Inventory or WIP, manual journal entry to book the difference
For other subledgers, fix in the GL interface (it will be an unbalanced entry).
Reconcile Your Inventory to G/L Balances With Ease, From 1 to 1,000 Inventory
Organizations!

COLLABORATE 14 OAUG Forum Copyright 2011-2014 Douglas Volz Consulting, Inc. Page 15 of 46
Corrective action for Release 12:
It will fail during Create Accounting, or in the G/L Interface, use the correction screens.

Subledger miscodings

Miscoded Purchase Orders cause reconciliation differences once the corresponding line item is received. What
can happen is departments such as Accounts Payable and Accounts Receivable intermittently reference
inventory accounts during coding, causing reconciliation differences. To prevent this:

You must not code any Receivable or Payable entries to a system account
System accounts include your Inventory Accounts, AP Accrual Accounts (Inventory and
Expense), Intransit, Inter-org Clearing Accounts or Receiving Inventory Account

Corrective actions:
Reverse subledger entry if possible, or correct via manual GL entry.

Manual G/L journal entries

Manual General Ledger journal entries become an automatic reconciling item. Typically you only write reversing
entries to correct the balances at month-end, but in the new month you should perform the transaction in the
respective subledger

Corrective actions:
Include as a reconciling item on your G/L to inventory reconciliation

Back-dated transactions from external system feeds

In Release 11i backdated transactions can occur in the following month, affect the GL but are not reflected within
the perpetual records. Why, because you have usually run your perpetual inventory value reports at midnight, but
these transactions went in on the next day referencing the prior accounting period (this discussion assumes the
accounting period is not closed yet). This in-turn causes temporary accounting differences from month to month
precluding our ability to benchmark perpetual activity

Sources of backdated transactions include:
Late inventory period closes
External system feeds

Corrective actions:
Release 11i: Enter a manual reversing journal entry
Release 12: Rerun the respective Inventory Value Report

Delivering goods to a closed work order

Oracle provides us with the ability to receive Outside Processing (OSP) vendor receipts to closed work orders.
There may be patches in Release 11i, as of February 2011, the Release 12 patches to stop this are:

ER 2308832 to not allow closing of job if there are open POs/Requisition.
Bug patch 9791544 which will not allow job to be closed if there are open Receipts which are not
delivered.

This causes a permanent difference as the corresponding work order is not charged and the costs are not reflected
within the perpetual records (WIP balances) accordingly. And you can have receiving transactions stuck in your
Open Receiving Interface which you cannot clear (the job is closed). The outside processing PO is updated but your
Receiving balances have not been cleared and your WIP balances are not been charged.


Reconcile Your Inventory to G/L Balances With Ease, From 1 to 1,000 Inventory
Organizations!

COLLABORATE 14 OAUG Forum Copyright 2011-2014 Douglas Volz Consulting, Inc. Page 16 of 46
Corrective actions:
Reopen the work order and make corrections, but you can only do this if the inventory period is
not closed
If you cannot reopen the work order delete the transaction from the Open Receiving Interface and
manually accrual the WIP job charge into the G/L. Log an Oracle Service Request to delete /
correct your invalid receiving balance with Oracle.

Sharing System Accounts

Sometimes when setting up your Oracle Applications, the system accounts are not set up correctly, account values
are shared (the entire code combination values). Sharing System Accounts for the following will make
reconciliation very difficult if not impossible to achieve:
Expense and Inventory Accrual Accounts
Receiving Valuation Accounts
Organization Level Accounts (Average, FIFO, LIFO Costing)
Subinventory Accounts (Standard Costing)
Cost Group Accounts (Project Mfg, WMS)
WIP Accounting Classes
Inventory Account Aliases
Order Types and COGS
Release 12 Subledger Accounting Rules causing you to share accounts

Corrective actions:
Typically back-end SQL*PLUS fixes for Organization, Subinventory, WIP or Cost Group account
changes
Most other changes can be done via the forms or setup screens
Note: Oracle Support advice may be too conservative (new orgs, new subinventories, issue all
goods out, close all work orders, etc.)

Wrong initial subinventory summary balances

Since Release 11.5.10 summary balances exist by organization, subinventory and item. There balances are based on
your inventory material movement. If your initial onhand quantity conversion is wrong, or not done using
miscellaneous receipt/account alias transactions your cumulative accounting balances may be incorrect. The
consequences are:
Release 11i: Cumulative accounting balances will continue to be wrong
(last months cum. Accounting balances plus this months activity)
Release 12: Self-correcting cumulative accounting balances
(last months perpetual balance plus this months accounting activity)

Note: prior to Release 11.5.10, Average Costing had a summary snapshot table called
MTL_PER_CLOSE_DTLS. From Release 11.5.10 onward the table is
CST_PERIOD_CLOSE_SUMMARY for all cost methods

Corrective actions:
Release 12: will self-correct (assuming your perpetual is correct)
Release 11i: backend SQLPLUS fixes


Initial legacy GL balances to do not match Oracle perpetual
In this scenario you went live with Oracle and:
You never reconciled G/L to Perpetual on your prior system, or,
Reconcile Your Inventory to G/L Balances With Ease, From 1 to 1,000 Inventory
Organizations!

COLLABORATE 14 OAUG Forum Copyright 2011-2014 Douglas Volz Consulting, Inc. Page 17 of 46
If your initial onhand quantity conversion is wrong and never corrected, or,
You never reconciled your G/L to Perpetual post GoLive
You basically have to pick a clean starting point and force-balance your G/L to agree to your perpetual inventory
value reports. Especially if a lot of time has passed since GoLive, it is difficult to figure out what happened, say 12
or 24 months ago.
Corrective actions for All Releases:
Correct your perpetual balances using inventory material transactions
Correct your G/L balances with manual journal entries
Misleading Timestamp Inquiry Parameters

For both Release 11i and 12, the material transaction distribution inquiry screen uses misleading date ranges. For
some reason it finds the material transactions up to the date and timestamp, but, not including the ending timestamp.
In Release 12 this become more obvious as the COGS Recognition entries, if created after the inventory period is
closed, for that closed inventory period, have a month-end date with a timestamp of 23:59:59. Unfortunately if you
enter for example, 31-DED-2010 23:59:59 you will not see these COGS Recognition accounting entries. You have
to increment the timestamp to 01-JAN-2011 00:00:00. See below for an example screenshot:




Out of Balance Item Costs

The underlying cost tables consist of two parts. A summary table by organization, cost type and item; and a detailed
table, by organization, cost type, item and resource (sub-element). Especially for Standard Costing the
recommended approach is to load your initial item costs using the Open Item Cost Interfaces, as these programs
ensure that the Cost Summary (CST_ITEM_COSTS) and Cost Details (CST_ITEM_COST_DETAILS) have the
same item cost totals. But infrequently, usually because of custom programming, these two tables may have
different item costs. If this happens, you will most likely not be able to reconcile your inventory perpetual balances
to your G/L balances, as the recorded material and WIP accounting entries may not be correct.

Reconcile Your Inventory to G/L Balances With Ease, From 1 to 1,000 Inventory
Organizations!

COLLABORATE 14 OAUG Forum Copyright 2011-2014 Douglas Volz Consulting, Inc. Page 18 of 46
See the following summary for the types of problems you might see:



Why is this true? Certain material and WIP absorption accounting entries use the detailed costs whereas the rest of
the accounting entries use the summary cost information. Some of the inventory value reports use elemental cost
information (Elemental Value Report) but most just use the item costs in total. And if you have unbalanced item
costs the Standard Cost Update programs can produce unreliable results for both the onhand and WIP cost updates.

Note: prior to Release 11.5.10, if the source item costs such as the Pending cost type was out-of-balance,
the Standard Cost Update would fail. Unfortunately this is no longer true, so if you load unbalanced costs
into a cost type by using custom programs which bypass the Open Item Cost Interfaces and then implement
these costs using the Standard Cost Update program you will have unbalanced Frozen costs.

The following diagram illustrates this:



How is this detected? Usually when no other reasons for having out-of-balances can be found. This is not a typical
problem, although the author has witnessed more and more improperly written custom programs in the past three
years. The best way to detect this issue is to run the SQL report as found in the Appendix, section 8, Sample
Release 11i and 12 Item Cost Out-of-Balance Report.

Reconcile Your Inventory to G/L Balances With Ease, From 1 to 1,000 Inventory
Organizations!

COLLABORATE 14 OAUG Forum Copyright 2011-2014 Douglas Volz Consulting, Inc. Page 19 of 46
And because the Cost Mass Edits automatically sum up the Cost Details and reset the Cost Summary information to
equal the Cost Details, you can use the following procedure to fix your out-of-balance item costs, without any
programming required:

1) Copy Frozen costs into a new cost type called DATAFIX, item costs, resources, overheads,
resource/overhead associations
2) Run a Cost Mass Edit to edit the Material Costs across all basis types and sub-elements, changing the value
by .00001. Doing this will cause the Cost Mass Edit to set the Summary Item Costs = Detailed Item Costs
3) Run the Pending Standard Cost Adjustment Reports. Note that the WIP Standard Cost Adjustment Report
may not work correctly.
4) Stop all transactions by stopping the Cost Processor for Inventory and WIP (or set the Cost Cut-Off Date in
the Inventory Parameters for the offending inventory orgs)
5) Run before Inventory Value, WIP Value, All Inventory Value Reports
6) Do the Standard Cost Update
7) Run after Inventory Value, WIP Value, All Inventory Value Reports
8) Compare the before and after valuation reports against the inventory and WIP standard cost adjustments
and make manual journals as needed to true up the amounts
9) Start the Inventory and WIP Cost Processors (or remove the Cost Cut-Off Date)
10) And for all WIP jobs that are currently open, when they are closed manually calculate the amount of WIP
Variance that is in error and make a manual journal correction.

Reconciliation Improvements for Release 12

As mentioned earlier in this paper, Release 12 offers the following reconciliation improvements:

All of the inventory value reports can be run by As of Date. In addition these reports are available as XML
reports and you can get the output using Excel:

Inventory Value Report By Subinventory
Inventory Value Report By Cost Group
Elemental Inventory Value Report By Subinventory
Elemental Inventory Value Report By Cost Group
All Inventories Value Report
All Inventories Value Report By Cost Group
Intransit Value Report
Receiving Value Report

And Release 12 also has a better period close diagnostics with the following:

Forms Drilldown from the Accounting Close Cycle form, you can drilldown to associated forms to
view the problem transactions
A new workflow to notify of failing transactions
Period Close Pending Transactions Report which will report the transactions holding up the
inventory accounting period.
Caution: But note this report is only by inventory organization. You have to run for each
inventory organization.


Release 12 Reconciliation Challenges
But contrary to what you may have heard elsewhere, you may have more inventory reconciliation issues in R12.
Why?
Issues Common to Release 12 and 11i:
Reconcile Your Inventory to G/L Balances With Ease, From 1 to 1,000 Inventory
Organizations!

COLLABORATE 14 OAUG Forum Copyright 2011-2014 Douglas Volz Consulting, Inc. Page 20 of 46
The differences between the perpetual and accounted-for inventory balances are trapped in a table the users
dont see. You can run the Period Close Reconciliation Report, but many users and analysts dont know about
it, it is limited to a single warehouse, and it shows zero quantity items which is not efficient!

What is really needed is a Multi-Org Perpetual vs. Accounted-For Report
See below for an example custom report:

This information comes from the month-end cost snapshot table. In the appendix a sample SQL script is given for
your use.
Issues New for Release 12 - Subledger Accounting and Inventory Reconciliation
With subledger Accounting (SLA), which accounts represent inventory and WIP valuation? You can set up custom
rules and change it from your setup screens. Because of this feature:
The account numbers were removed from the Inventory Value and Receiving Value Reports,
making it harder to reconcile manually with no valuation accounts

If you accrue your expenses at time of receipt, you cannot tell if you have expenses stuck in your
Receiving Value, as the Receiving Value by Destination Account Report is disabled in Release 12

But in addition, you also have the following issues:
Release 12 material and WIP distribution inquiries & reports do not reflect the SLA results, they
use the original accounts from the setup screens as used by the Inventory and WIP Cost
Processors.
SLA Journal Reports do not show operational information, such as quantities or transactional
details.
Release 12 records the material accounting and WIP accounting entries by cost element
rendering these inquiries and reports more difficult to use, especially for Standard Costing. The
Reconcile Your Inventory to G/L Balances With Ease, From 1 to 1,000 Inventory
Organizations!

COLLABORATE 14 OAUG Forum Copyright 2011-2014 Douglas Volz Consulting, Inc. Page 21 of 46
standard feature since Release 10 to record across cost elements (to summarize) has been
removed. You can configure your SLA rules to summarize, but you dont have the same reporting
details with your SLA reports that you do with your Inventory, WIP or Receiving accounting
distribution reports.

Release 12 has two layers of accounting distributions. One for the Inventory and WIP Cost
Processors (the same as in Release 11i) and a second one for Subledger Accounting (SLA).
Having two layers, with the SLA rules having the ability to change the account numbers into the
SLA journal lines, can create confusion. Why?

You now have two accounting processes to check. Are the Cost Processors running (just
like in Release 11i) and have you run Create Accounting and better still, did all the
entries from the original accounting distributions make it to Subledger Accounting and
then to the General Ledger. You do have the Subledger Period Close Exceptions Report
in Release 12, but nevertheless you have two layers and multiple interfaces to verify.
And dont mention trying to explain all this to your Auditors.

And even in Release 12 you still dont have a decent General Ledger Interface Errors
report.
Here is a general diagram for how Release 12 works, from the transactions to the General Ledger:

Reconcile Your Inventory to G/L Balances With Ease, From 1 to 1,000 Inventory
Organizations!

COLLABORATE 14 OAUG Forum Copyright 2011-2014 Douglas Volz Consulting, Inc. Page 22 of 46
Common Custom Reports and Desired Enhancements
Given the issues mentioned in this paper, here are some of the common enhancement requests faced by the larger
Oracle implementations:
Multi-Org Material Account Summary Report
Multi-Org Receiving Account Summary Report
Multi-Org WIP Account Summary Report
Multi-Org All Inventories Value Report
Multi-Org Inventory Value Report
Multi-Org Receiving Value Report
Multi-Org Expense Receiving Value Report
Multi-Org WIP Value Report
Multi-Org Period Close Variances Report
Multi-Org G/L to Inventory Reconciliation Report
And from the Authors perspective and from many clients, here are some desired enhancement requests:
Eliminate the two layers of accounting entries in R12

Put the Inventory and Receiving Valuation Accounts back on the valuation reports

Add a standard report or alert to find the miscellaneous inventory transactions that are causing an out-of-balance

Simplify, make more robust, or eliminate the interfaces needed in Oracle (especially the Receiving Interface).
The Receiving Interface has no form or screen to reprocess stuck receipts in the Open Receiving Interface
Table. This table is usually a mess at many client sites (RCV_TRANSACTIONS_INTERFACE).

Automated reconciliation report comparing the G/L to the inventory and WIP perpetuals (and receiving too).
Here is a sample report:

Reconcile Your Inventory to G/L Balances With Ease, From 1 to 1,000 Inventory
Organizations!

COLLABORATE 14 OAUG Forum Copyright 2011-2014 Douglas Volz Consulting, Inc. Page 23 of 46
Sample G/L to Inventory Reconciliation Script
As part of Doug Volzs philosophy of giving back to the Oracle Community, you can request a free (no warranty)
SQL report/script to:
Automatically Compare:
o G/L to Inventory Perpetual (sum G/L JE Lines vs. Period Close Summary)
o G/L to Intransit Perpetual (sum G/L JE Lines vs. Period Close Summary)
o G/L to WIP Period-End Balances (sum G/L JE Lines vs. WIP Period Balances)

Improvements Since Collaborate11:
o Works with WMS (cost groups)
o Generic account segments 1 9, only need to change the initial column heading names now

Caveats:
o Only considers Discrete Costing, not OPM
o Tested for Standard Costing (should work for Avg, FIFO, LIFO)
o Assumes using one valuation account per subinventory or organization or cost group
o Does not handle Receiving Perpetual (no snapshot)
o Your Release 12 Subledger Accounting Rules may be different
This script works by selecting and comparing:
The cumulative G/L balances by journal source
The cumulative Inventory (stores) and Intransit perpetual balances from the month-end snapshot
The cumulative WIP balances
Compare the three above balances and reports differences
This script runs in under 2 minutes for 6 ledgers with 60 inventory orgs
If on Release 11i, change GL_LEDGERS to GL_SETS_OF_BOOKS
Here is a diagram for how the script works:

Reconcile Your Inventory to G/L Balances With Ease, From 1 to 1,000 Inventory
Organizations!

COLLABORATE 14 OAUG Forum Copyright 2011-2014 Douglas Volz Consulting, Inc. Page 24 of 46
And the sample version of the SQL script uses a manufacturing lookup code to determine the valid accounts to
select, as indicated below (XXX_CST_GLINV_RECON_ACCOUNTS):


Summary
Release 12 solves many of the inventory reporting cut-off issues. But there are still multi-org reporting issues with
account distribution and valuation reports, plus the additional considerations for having two layers of accounting
entries.
Release 12 offers as-of valuation reporting

But Release 12 Subledger Accounting can complicate reconciliation
Investments in custom reporting can save significant amounts of time at month-end

Thanks for allowing the Author to share his experiences with you.

To Get this Reconciliation Script Send Your Email Address:
Mention which release, costing method, and if using separate accounts by cost element
Ask for the sample reconciliation excel spreadsheet
Ask for the Comparison Script between the G/L and Inventory Perpetual Values
doug@volzconsulting.com
Informal workshops can be arranged
Reconcile Your Inventory to G/L Balances With Ease, From 1 to 1,000 Inventory
Organizations!

COLLABORATE 14 OAUG Forum Copyright 2011-2014 Douglas Volz Consulting, Inc. Page 25 of 46
Acknowledgements
Doug wishes to thank for following folks for their contributions to this paper:
Partners in crime at my many clients

The Oracle Cost Management Development Team for allowing me to discuss these topics with them

Additional information is available from:
Manufacturing Accounting by Product Line For Release 11. OAUG Paper from Doug Volz
(www.volzconsulting.com). This paper explains how the underlying manufacturing transactions work in
Oracle; including a deeper look at material transaction types, sources and transaction actions. This
knowledge is helpful in discovering how to reconcile inventory and WIP to the General Ledger.
Can We Actually Reconcile Project MFG to Inventory, WIP, Projects & G/L? What Was I Thinking?
OAUG Paper from Doug Volz (www.volzconsulting.com). This paper explains how to reconcile Project
Manufacturing (Inventory and WIP) with the General Ledger.
Oracle Metalink Note Manufacturing Period Close Product Information Center ID 1262392.1
About the Author

Douglas A. Volz is President of Douglas Volz Consulting, Inc., founded in 2005 with the goal of helping Oracle
customers use and implement Oracle Financial and Manufacturing applications, specializing in Cost Accounting.
As a Senior Architect and Advisor for Oracle Application projects, Doug has over 30 years experience, including 5
years in Oracle Development (co-designing Oracle Cost Management), 11 years in industry in Cost and Accounting
Management positions and over 15 years international consulting with the Oracle Applications . His Manufacturing
and Cost systems experience covers project management, business process/systems design, delivery and consulting
services, for both Oracle Corporation, and multiple international consulting firms. Prior to his systems career, Mr.
Volz also held numerous management accounting positions for telecommunications, defense, and electronics
companies.

Doug has led the OAUG Cost Management Special Interest Group since 2007. In addition, Doug is a frequent
presenter at OAUG Collaborate, UKOUG and OpenWorld conferences, speaking since 1996 on Business
Transformation, Change Management and Cost Accounting topics. He also advises and participates on numerous
Oracle Customer Advisory Boards and also advises the Oracle Cost Development teams.

Doug may be reached at doug@volzconsulting.com or at www.volzconsulting.com.



Reconcile Your Inventory to G/L Balances With Ease, From 1 to 1,000 Inventory
Organizations!

COLLABORATE 14 OAUG Forum Copyright 2011-2014 Douglas Volz Consulting, Inc. Page 26 of 46
APPENDIX

1. Original Release 10 111i design for integrating Oracle Inventory, WIP and Cost
Management to the G/L.

2. Inventory and WIP Transaction Tables

3. Accounting Line Types

4. Sample SQL logic for Month-End Cost Snapshot

5. Sample SQL Code for Release 12 Material Distribution Report

6. Sample SQL Code for Release 12 WIP Distribution Report

7. Sample SQL Code for Release 12 Receiving Distribution Report

8. Sample SQL for Finding Item Cost Out-of-Balances

9. Subledger Accounting Transfer Methods


Note: Appendix sections 4, 5, 6, 7 and 8 give SQL samples for your use, but as sample code the
logic may or may not work for your particular situation. For example the SQL logic assumes
you are using a certain number of segments for your account numbers. However you should still
find this useful as a starting point, for custom multi-org reporting for accounting distribution
reports for Receiving, Inventory and WIP, as well as your month-end cost accounting snapshot
for your inventory and WIP balances.



Reconcile Your Inventory to G/L Balances With Ease, From 1 to 1,000 Inventory
Organizations!

COLLABORATE 14 OAUG Forum Copyright 2011-2014 Douglas Volz Consulting, Inc. Page 27 of 46
1. Original Releases 10 111i design for integrating Oracle Inventory, WIP and Cost
Management to the G/L.

Below is the original design for integrating Oracle Inventory and WIP to the G/L, making sure the organization code
is included in the journal batch header. This feature is currently missing in Release 12; you have to configure your
SLA rules in Release 12 to put the journal line descriptions back into the General Ledger.




2. Inventory and WIP Transaction Tables
The following concepts and definitions may be helpful in understanding how to reconcile.
Material Transactions, Costs, Material Parameters and Item Master Tables
Inventory and WIP Transaction Tables
The inventory and manufacturing accounting entries are held in the tables MTL_TRANSACTION_ACCOUNTS
and WIP_TRANSACTION_ACCOUNTS (the PO receipt accruals are held in RCV_TRANSACTIONS and
RCV_RECEIVING_SUB_LEDGER, but are not part of this discussion). The underlying table structures are:
MTL_PARAMETERS holds the most basic definition of the Inventory Organization or warehouse, holding the
costing method, default inventory valuation accounts and default inventory controls for the warehouse.
MTL_PARAMETERS join to the complex HR Organization tables; for more information see the view definition for
ORG_ORGANIZATION_DEFINITIONS.
MTL_SYSTEM_ITEMS_B defines your items in the item master. Depending on your Key Flexfield definition, the
item number is usually held in the SEGMENT1 column, with the INVENTORY_ITEM_ID and the
ORGANIZATION_ID the key defining columns for this table. Each inventory organization has its own set of items,
Reconcile Your Inventory to G/L Balances With Ease, From 1 to 1,000 Inventory
Organizations!

COLLABORATE 14 OAUG Forum Copyright 2011-2014 Douglas Volz Consulting, Inc. Page 28 of 46
grouped together by ORGANIZATION_ID. A child table, MTL_SYSTEM_ITEMS_TL, holds the foreign language
translations for your item descriptions. And typically a master Item Master organization is set up, holding all of
the items for each and every inventory organization.

MTL_MATERIAL_TRANSACTIONS holds the material transactions for inventory and WIP. The unique
reference is the TRANSACTION_ID for each row. The ORGANIZATION_ID tells you which inventory
organization the transaction belongs to for most transactions (except for certain organization to organization
transfers, called Direct Inter-Org Transfers). So it is much safer to join the Item Masters ORGANIZATION_ID to
the Material Accounting Table, MTL_TRANSACTION_ACCOUNTS, as the ORGANIZATION_ID in this table
always represents the correct inventory warehouse. The material transaction types are defined in a table called
MTL_TRANSACTION_TYPES, which includes the TRANSACTION_SOURCE_TYPE_ID (source of the
transaction, such as Purchase Order, Sales Order and so forth) and the TRANSACTION_ACTION_ID (how the
transaction affects the inventory balances, issuing versus receiving the quantities into inventory).
And these columns are not easy to use as their meanings vary by TRANSACTION_SOURCE_TYPE_ID,
TRANSACTION_ACTION_ID and MTL_TRANSACTION_TYPE_ID. For example, for a Subinventory Code, as
sometimes you use the SUBINVENTORY_CODE column and sometimes the
TRANSFER_SUBINVENTORY_CODE column, depending on the TRANSACTION_ACTION_ID and
TRANSACTION_SOURCE_TYPE_ID.
MTL_TRANSACTION_ACCOUNTS holds the material accounting entries for the parent material transactions
table. For each row in MTL_MATERIAL_TRANSACTIONS there can be none to many rows in
MTL_TRANSACTION_ACCOUNTS. It joins to MTL_MATERIAL_TRANSACTIONS using the
TRANSACTION_ID, but generally speaking you should never join these two tables by ORGANIZATION_ID.
MTL_TRANSACTION_ACCOUNTS joins to the item master MTL_SYSTEM_ITEMS_B table using the
INVENTORY_ITEM_ID and the ORGANIZATION_ID columns. The BASE_TRANSACTION_VALUE column
is the Debit (positive number) or the Credit (negative) number for the accounting entry. The
ACCOUNTING_LINE_TYPE gives you the purpose of the accounting entry, such as Inventory (1), Intransit (14),
WIP (7) and Account (2) for entries such as Cost of Goods Sold. Please see the appendix for a list of Release 12
Accounting Line Types.
And for Release 11i, the REFERENCE_ACCOUNT column holds the code_combination_id found in the
GL_CODE_COMBINATIONS table (the table which defines the Accounting Flexfield values). But note, in
Release 12 Subledger Accounting has the final say for the Accounting Flexfield values. If using Release 12 you
Reconcile Your Inventory to G/L Balances With Ease, From 1 to 1,000 Inventory
Organizations!

COLLABORATE 14 OAUG Forum Copyright 2011-2014 Douglas Volz Consulting, Inc. Page 29 of 46
should join to the Subledger Accounting tables to get the correct account numbers, as opposed to using the
REFERENCE_ACCOUNT column in the Inventory and WIP transaction accounting tables.

The WIP job is defined in WIP_ENTITIES, listing the ENTITY_TYPE (Discrete job, Repetitive Schedule, EAM
Job and so forth). The name of the job is in the WIP_ENTITY_NAME column and the assembly being made on the
job, or the repetitive assembly is referenced in the PRIMARY_ITEM_ID column. (Note: other tables are used to
define WIP jobs, repetitive schedules, EAM jobs and work-order completions, but this is beyond the scope of this
paper.)
WIP_TRANSACTIONS holds the WIP resource, outside processing, cost updates and item-based overhead
transactions for your discrete jobs, repetitive schedules and work-orderless completions. Unlike
MTL_MATERIAL_TRANSACTIONS, TRANSACTION_TYPE is based on a lookup code and the
ORGANIZATION_ID reliably references the inventory organization. WIP_TRANSACTIONS also references the
assembly being worked upon by joining the WIP_ENTITY_ID to WIP_ENTITIES.PRIMARY_ITEM_ID column.
WIP_TRANSACTION_ACCOUNTS holds the WIP Resource, Overhead, Cost Update and Variance accounting
entries for the parent WIP transactions table (WIP component issues, returns and Assembly completions are in the
Material Transaction tables). For each row in WIP_TRANSACTIONS there can be none to many rows in
WIP_TRANSACTION_ACCOUNTS. It joins to WIP_MATERIAL_TRANSACTIONS using the
TRANSACTION_ID. MTL_TRANSACTION_ACCOUNTS joins to the item master MTL_SYSTEM_ITEMS_B
table using the INVENTORY_ITEM_ID and the ORGANIZATION_ID columns. The
BASE_TRANSACTION_VALUE column is the Debit (positive number) or the Credit (negative) number for the
accounting entry. And the ACCOUNTING_LINE_TYPE gives you the purpose of the accounting entry, such as
Inventory (1), Intransit (14), WIP (7) and Account (2) for entries such as WIP Scrap Account. Please see the
appendix for a list of Release 12 Accounting Line Types. And for Release 11i, the REFERENCE_ACCOUNT
column holds the code_combination_id found in the GL_CODE_COMBINATIONS table (the table which defines
the Accounting Flexfield values). Note that in Release 12 Subledger Accounting has the final say for the
Accounting Flexfield values. If using Release 12 you should join to the Subledger Accounting tables to get the
correct account numbers.
Reconcile Your Inventory to G/L Balances With Ease, From 1 to 1,000 Inventory
Organizations!

COLLABORATE 14 OAUG Forum Copyright 2011-2014 Douglas Volz Consulting, Inc. Page 30 of 46
3. Accounting Line Types

The following accounting line types describe the purpose for the accounting entries. In Release
11i only Oracle Cost Management used this concept (MTL_TRANSACTION_ACCOUNTS,
WIP_TRANSACTION_ACCOUNTS). In Release 12 the Receiving Accounting table also uses
accounting line types:


Reconcile Your Inventory to G/L Balances With Ease, From 1 to 1,000 Inventory
Organizations!

COLLABORATE 14 OAUG Forum Copyright 2011-2014 Douglas Volz Consulting, Inc. Page 31 of 46
4. Sample Release 12 Cost Snapshot Month-End Summary Report

/ * +=============================================================================+
- - | Copyr i ght 2007- 2014 Dougl as Vol z Consul t i ng, I nc. |
- - | Al l r i ght s r eser ved. |
- - | Per mi ssi on t o use t hi s code i s gr ant ed pr ovi ded t he or i gi nal aut hor i s |
- - | acknowl edged. No war r ant i es, expr ess or ot her wi se ar e i ncl uded i n t hi s |
- - | per mi ssi on. |
- - +=============================================================================+
- - |
- - | Or i gi nal Aut hor : Dougl as Vol z ( doug@vol zconsul t i ng. com)
- - |
- - | Pr ogr amName: XXX_COST_SNAPSHOT_ACCT_SUMMARY_REPT. sql
- - |
- - | Par amet er s:
- - | P_MI N_VALUE_DI FF - - mi ni mumdi f f er ence t o add up by or g by per i od
- - | P_OPERATI NG_UNI T - - oper at i ng uni t par amet er
- - | P_PERI OD_YEAR - - t he account i ng per i od year t o r epor t
- - |
- - | Descr i pt i on:
- - | Repor t t o show mont h- end i nvent or y val ues i n t he per i od end snapshot t hat i s cr eat ed
- - | when you cl ose t he i nvent or y per i ods. Thi s r epor t al so shows t he
- - | mat er i al account f or each subi nvent or y pl us t he def aul t i nt r ansi t account .
- - |
- - | Ver si on Modi f i ed on Modi f i ed by Descr i pt i on
- - | ======= =========== ============== =========================================
- - | 1. 0 02 APR 2006 Dougl as Vol z I ni t i al Codi ng
- - | 1. 1 07 Sep 2007 Dougl as Vol z Revi si on f or Beckman Coul t er
- - | 1. 2 13 Sep 2007 Dougl as Vol z Revi si on f or FX t r ansl at i on r at es i nt o a
- - | si ngl e r epor t i ng cur r ency
- - | 1. 3 05 Aug 2008 Dougl as Vol z Revi si on f or addi ng subi nvent or y account number
- - | 1. 4 05 Oct 2009 Dougl as Vol z Revi si on t o i ncl ude I nt r ansi t as wel l
- - +=============================================================================+*/
set ver i f y of f
set headi ng on
set pages 45
set l i nes 120
col code f or mat a4 hea " Or g| Code"
col i d f or mat 9999 hea " Or g| I d"
col pn f or mat a6 hea " Par t | Number "
col per f or mat a6 hea " Per i od| Name"
col pnumf or mat 9999999 hea " Per i od| Num"
col pyr f or mat 999999 hea " Per i od| Year "
col per _i d f or mat 9999999 hea " Per i od| I D"
col onhand f or mat 9, 999, 999, 999. 90 hea " Onhand Val ue| Di f f er ence"
col i nt r ansi t f or mat 9, 999, 999, 999. 90 hea " I nt r ansi t Val ue| Di f f er ence"
col di f f f or mat 9, 999, 999, 999. 90 hea " Val ue Di f f er ence"

comput e sumof di f f on r epor t
comput e sumof onhand on r epor t
comput e sumof i nt r ansi t on r epor t
comput e sumof di f f on code
comput e sumof onhand on code
comput e sumof i nt r ansi t on code

br eak on code ski p 1 on r epor t ski p 1

t t i t l e ' I nvent or y Per i od Cl ose Snapshot f or Al l Locat i ons i n Local
Cur r ency| XXX_COST_SNAPSHOT_ACCT_SUMMARY_REPT. sql '

- - =============================================================
- - Thi s f i r st sel ect get s t he subi nvent or y val ues and quant i t i es
- - =============================================================
sel ect mp. or gani zat i on_code code,
mp. or gani zat i on_i d i d,
oap. per i od_name per ,
oap. per i od_numpnum,
oap. per i od_year pyr ,
gcc1. segment 1 " Co" ,
gcc1. segment 2 " Cost Ct r " ,
gcc1. segment 3 " Acct " ,
Reconcile Your Inventory to G/L Balances With Ease, From 1 to 1,000 Inventory
Organizations!

COLLABORATE 14 OAUG Forum Copyright 2011-2014 Douglas Volz Consulting, Inc. Page 32 of 46
gcc1. segment 4 " Sub- Acct " ,
gcc1. segment 5 " Pr od Gr p" ,
gcc1. segment 6 " Loc" ,
gcc1. segment 7 " I nt er Co" ,
gcc1. segment 8 " Fut ur e1" ,
gcc1. segment 9 " Fut ur e2" ,
msi . segment 1 pn,
msi . descr i pt i on descr i p,
msi . pr i mar y_uom_code UOM,
sum( nvl ( cpcs. ROLLBACK_QUANTI TY, 0) ) qt y,
sum( nvl ( cpcs. ROLLBACK_VALUE, 0) ) onhand,
sum( nvl ( cpcs. ACCOUNTED_VALUE, 0) ) acct val ,
sum( ( nvl ( cpcs. ONHAND_VALUE_DI SCREPANCY, 0) ) +
( nvl ( cpcs. I NTRANSI T_VALUE_DI SCREPANCY, 0) ) ) di f f
f r om apps. cst _per i od_cl ose_summar y cpcs,
apps. or g_acct _per i ods oap,
apps. mt l _par amet er s mp,
apps. mt l _syst em_i t ems_b msi ,
apps. mt l _secondar y_i nvent or i es msub,
apps. gl _code_combi nat i ons gcc1,
- - apps. gl _code_combi nat i ons gcc2,
apps. HR_ORGANI ZATI ON_I NFORMATI ON hoi ,
apps. hr _al l _or gani zat i on_uni t s haou, - - i nv_or gani zat i on_i d
apps. hr _al l _or gani zat i on_uni t s haou2, - - oper at i ng uni t
apps. gl _l edger s gsob
wher e oap. acct _per i od_i d = cpcs. acct _per i od_i d
and oap. or gani zat i on_i d = mp. or gani zat i on_i d
and oap. per i od_year = ' &P_PERI OD_YEAR' - - P_PERI OD_YEAR
and cpcs. subi nvent or y_code I S NOT NULL
and msub. SECONDARY_I NVENTORY_NAME = cpcs. subi nvent or y_code
and msub. or gani zat i on_i d = cpcs. or gani zat i on_i d
and mp. or gani zat i on_i d = cpcs. or gani zat i on_i d
and msi . or gani zat i on_i d = cpcs. or gani zat i on_i d
and msi . i nvent or y_i t em_i d = cpcs. i nvent or y_i t em_i d
and msub. mat er i al _account = gcc1. code_combi nat i on_i d
- - and msi . cost _of _sal es_account = gcc2. code_combi nat i on_i d
- - ===================================================================
- - usi ng t he base t abl es t o avoi d t he per f or mance i ssues
- - wi t h or g_or gani zat i on_def i ni t i ons and hr _oper at i ng_uni t s
- - ===================================================================
and hoi . or g_i nf or mat i on_cont ext = ' Account i ng I nf or mat i on'
and hoi . or gani zat i on_i d = mp. or gani zat i on_i d
and hoi . or g_i nf or mat i on1 = gsob. l edger _i d
and hoi . or gani zat i on_i d = haou. or gani zat i on_i d - - t hi s get s t he or gani zat i on name
and haou2. or gani zat i on_i d = hoi . or g_i nf or mat i on3 - - t hi s get s t he oper at i ng uni t i d
gr oup by
mp. or gani zat i on_code,
mp. or gani zat i on_i d,
oap. per i od_name,
oap. per i od_num,
oap. per i od_year ,
gcc1. segment 1,
gcc1. segment 2,
gcc1. segment 3,
gcc1. segment 4,
gcc1. segment 5,
gcc1. segment 6,
gcc1. segment 7,
gcc1. segment 8,
gcc1. segment 9,
msi . segment 1,
msi . descr i pt i on,
msi . pr i mar y_uom_code
havi ng abs( sum( nvl ( cpcs. ONHAND_VALUE_DI SCREPANCY, 0) +
nvl ( cpcs. I NTRANSI T_VALUE_DI SCREPANCY, 0) ) ) >= 1 - - P_MI N_VALUE_DI FF
UNI ON ALL
- - =============================================================
- - Thi s second sel ect get s t he i nt r ansi t val ues and quant i t i es
- - =============================================================
sel ect mp. or gani zat i on_code code,
mp. or gani zat i on_i d i d,
oap. per i od_name per ,
Reconcile Your Inventory to G/L Balances With Ease, From 1 to 1,000 Inventory
Organizations!

COLLABORATE 14 OAUG Forum Copyright 2011-2014 Douglas Volz Consulting, Inc. Page 33 of 46
oap. per i od_numpnum,
oap. per i od_year pyr ,
gcc1. segment 1 " Co" ,
gcc1. segment 2 " Cost Ct r " ,
gcc1. segment 3 " Acct " ,
gcc1. segment 4 " Sub- Acct " ,
gcc1. segment 5 " Pr od Gr p" ,
gcc1. segment 6 " Loc" ,
gcc1. segment 7 " I nt er Co" ,
gcc1. segment 8 " Fut ur e1" ,
gcc1. segment 9 " Fut ur e2" ,
msi . segment 1 pn,
msi . descr i pt i on descr i p,
msi . pr i mar y_uom_code UOM,
sum( nvl ( cpcs. ROLLBACK_QUANTI TY, 0) ) qt y,
sum( nvl ( cpcs. ROLLBACK_VALUE, 0) ) onhand,
sum( nvl ( cpcs. ACCOUNTED_VALUE, 0) ) acct val ,
sum( ( nvl ( cpcs. ONHAND_VALUE_DI SCREPANCY, 0) ) +
( nvl ( cpcs. I NTRANSI T_VALUE_DI SCREPANCY, 0) ) ) di f f
f r om apps. cst _per i od_cl ose_summar y cpcs,
apps. or g_acct _per i ods oap,
apps. mt l _syst em_i t ems_b msi ,
apps. mt l _par amet er s mp,
apps. gl _code_combi nat i ons gcc1,
- - apps. gl _code_combi nat i ons gcc2,
apps. HR_ORGANI ZATI ON_I NFORMATI ON hoi ,
apps. hr _al l _or gani zat i on_uni t s haou, - - i nv_or gani zat i on_i d
apps. hr _al l _or gani zat i on_uni t s haou2, - - oper at i ng uni t
apps. gl _l edger s gsob
wher e oap. acct _per i od_i d = cpcs. acct _per i od_i d
and oap. or gani zat i on_i d = mp. or gani zat i on_i d
and oap. per i od_year = ' &P_PERI OD_YEAR' - - P_PERI OD_YEAR
- - I nt r ansi t has a NULL subi nvent or y code
and cpcs. subi nvent or y_code I S NULL
and mp. or gani zat i on_i d = cpcs. or gani zat i on_i d
and msi . or gani zat i on_i d = cpcs. or gani zat i on_i d
and msi . i nvent or y_i t em_i d = cpcs. i nvent or y_i t em_i d
and mp. i nt r ansi t _i nv_account = gcc1. code_combi nat i on_i d
- - and msi . cost _of _sal es_account = gcc2. code_combi nat i on_i d
- - ===================================================================
- - usi ng t he base t abl es t o avoi d t he per f or mance i ssues
- - wi t h or g_or gani zat i on_def i ni t i ons and hr _oper at i ng_uni t s
- - ===================================================================
and hoi . or g_i nf or mat i on_cont ext = ' Account i ng I nf or mat i on'
and hoi . or gani zat i on_i d = mp. or gani zat i on_i d
and hoi . or g_i nf or mat i on1 = gsob. l edger _i d
and hoi . or gani zat i on_i d = haou. or gani zat i on_i d - - t hi s get s t he or gani zat i on name
and haou2. or gani zat i on_i d = hoi . or g_i nf or mat i on3 - - t hi s get s t he oper at i ng uni t i d
gr oup by
mp. or gani zat i on_code,
mp. or gani zat i on_i d,
oap. per i od_name,
oap. per i od_num,
oap. per i od_year ,
gcc1. segment 1,
gcc1. segment 2,
gcc1. segment 3,
gcc1. segment 4,
gcc1. segment 5,
gcc1. segment 6,
gcc1. segment 7,
gcc1. segment 8,
gcc1. segment 9,
msi . segment 1,
msi . descr i pt i on,
msi . pr i mar y_uom_code
havi ng abs( sum( nvl ( cpcs. ONHAND_VALUE_DI SCREPANCY, 0) +
nvl ( cpcs. I NTRANSI T_VALUE_DI SCREPANCY, 0) ) ) >= 1 - - P_MI N_VALUE_DI FF
or der by 1, 2, 4;
Reconcile Your Inventory to G/L Balances With Ease, From 1 to 1,000 Inventory
Organizations!

COLLABORATE 14 OAUG Forum Copyright 2011-2014 Douglas Volz Consulting, Inc. Page 34 of 46
5. Sample Release 12 Material Distribution Report
/ * +=============================================================================+
- - | Copyr i ght 2009- 2014 Dougl as Vol z Consul t i ng, I nc. |
- - | Al l r i ght s r eser ved. |
- - | Per mi ssi on t o use t hi s code i s gr ant ed pr ovi ded t he or i gi nal aut hor i s |
- - | acknowl edged. No war r ant i es, expr ess or ot her wi se i s i ncl uded i n t hi s |
- - | per mi ssi on. |
- - +=============================================================================+
- - |
- - | Or i gi nal Aut hor : Dougl as Vol z ( doug@vol zconsul t i ng. com)
- - |
- - | Pr ogr amName: XXX_XLA_MTL_ACCTS_DETAI L_REPT. sql
- - |
- - | Par amet er s:
- - | P_OPERATI NG_UNI T - - oper at i ng uni t par amet er
- - | P_TRX_DATE_FROM - - st ar t i ng t r ansact i on dat e
- - | P_TRX_DATE_TO - - endi ng t r ansact i on dat e
- - |
- - | Descr i pt i on:
- - | Repor t t o get t he mat er i al account i ng ent r i es by account , t r ansact i on t ype
- - | and account i ng l i ne t ype. A gr oup by i s used t o add up ent r i es acr oss cost
- - | cost el ement s.
- - |
- - | Ver si on Modi f i ed on Modi f i ed by Descr i pt i on
- - | ======= =========== ============== =========================================
- - | 1. 0 06 Nov 2009 Dougl as Vol z I ni t i al Codi ng
- - | 1. 1 11 Nov 2009 Dougl as Vol z Added Or g Code and t r ansact i on I D
- - | 1. 2 12 Nov 2009 Dougl as Vol z Added i t emand descr i pt i on
- - | 1. 3 06 J an 2010 Dougl as Vol z Made dat es a par amet er
- - | 1. 4 12 J an 2010 Dougl as Vol z Added quant i t y and uni t cost col umns
- - +=============================================================================+*/

sel ect gl . name " Ledger " ,
haou2. name " Oper at i ng Uni t " ,
mp. or gani zat i on_code " Or g Code" ,
oap. per i od_name " Per i od Name" ,
gcc1. code_combi nat i on_i d " CCI D" ,
ml . meani ng " Acct Li ne Type" ,
mt t . t r ansact i on_t ype_name " Txn Name" ,
mt a. t r ansact i on_i d " Txn I d" ,
gcc1. segment 1 " Co" ,
gcc1. segment 2 " Cost Ct r " ,
gcc1. segment 3 " Acct " ,
gcc1. segment 4 " Sub- Acct " ,
gcc1. segment 5 " Pr od Gr p" ,
gcc1. segment 6 " Loc" ,
gcc1. segment 7 " I nt er Co" ,
gcc1. segment 8 " Fut ur e1" ,
gcc1. segment 9 " Fut ur e2" ,
msi . segment 1 " I t em" ,
msi . descr i pt i on " Descr i pt i on" ,
DECODE( mt a. account i ng_l i ne_t ype, 7, ' WI P' , 14, ' ' , 1,
DECODE ( mmt . t r ansact i on_act i on_i d,
2, DECODE ( SI GN ( mt a. pr i mar y_quant i t y) ,
- 1, mmt . subi nvent or y_code,
1, mmt . t r ansf er _subi nvent or y,
mmt . subi nvent or y_code
) ,
3, DECODE ( mmt . or gani zat i on_i d,
mt a. or gani zat i on_i d, mmt . subi nvent or y_code,
mmt . t r ansf er _subi nvent or y
) ,
21, DECODE ( SI GN ( mt a. pr i mar y_quant i t y) ,
- 1, mmt . subi nvent or y_code,
1, mmt . t r ansf er _subi nvent or y,
mmt . subi nvent or y_code
) ,
22, DECODE ( SI GN ( mt a. pr i mar y_quant i t y) ,
- 1, mmt . subi nvent or y_code,
Reconcile Your Inventory to G/L Balances With Ease, From 1 to 1,000 Inventory
Organizations!

COLLABORATE 14 OAUG Forum Copyright 2011-2014 Douglas Volz Consulting, Inc. Page 35 of 46
1, mmt . t r ansf er _subi nvent or y,
mmt . subi nvent or y_code
) ,
28, DECODE ( SI GN ( mt a. pr i mar y_quant i t y) ,
- 1, mmt . subi nvent or y_code,
1, mmt . t r ansf er _subi nvent or y,
mmt . subi nvent or y_code
) ,
mmt . subi nvent or y_code
)
) " Subi nv" ,
mt a. pr i mar y_quant i t y " Qt y" ,
sum( nvl ( al . ACCOUNTED_DR, 0) - nvl ( al . ACCOUNTED_CR, 0) ) /
decode( ( mt a. pr i mar y_quant i t y) , 0, 1, ( mt a. pr i mar y_quant i t y) ) " Uni t Cost " ,
sum( nvl ( al . ACCOUNTED_DR, 0) - nvl ( al . ACCOUNTED_CR, 0) ) " Amount "
f r om i nv. mt l _t r ansact i on_account s mt a,
i nv. mt l _mat er i al _t r ansact i ons mmt ,
i nv. mt l _t r ansact i on_t ypes mt t ,
i nv. mt l _syst em_i t ems_b msi ,
i nv. or g_acct _per i ods oap,
gl . GL_CODE_COMBI NATI ONS gcc1,
i nv. mt l _par amet er s mp,
apps. mf g_l ookups ml ,
hr . HR_ORGANI ZATI ON_I NFORMATI ON hoi ,
hr . hr _al l _or gani zat i on_uni t s haou, - - i nv_or gani zat i on_i d
hr . hr _al l _or gani zat i on_uni t s haou2, - - oper at i ng uni t
gl . gl _l edger s gl ,
xl a. xl a_t r ansact i on_ent i t i es ent ,
xl a. xl a_event s xe,
xl a. xl a_di st r i but i on_l i nks xdl ,
xl a. xl a_ae_header s ah,
xl a. xl a_ae_l i nes al
- - ========================================================
- - Mat er i al Tr ansact i on, or g and i t emj oi ns
- - ========================================================
wher e mt a. t r ansact i on_i d = mmt . t r ansact i on_i d
and mmt . t r ansact i on_t ype_i d = mt t . t r ansact i on_t ype_i d
and mt a. or gani zat i on_i d = msi . or gani zat i on_i d
and mt a. i nvent or y_i t em_i d = msi . i nvent or y_i t em_i d
and mp. or gani zat i on_i d = msi . or gani zat i on_i d
- - ========================================================
- - I nvent or y Or g account i ng per i od j oi ns
- - ========================================================
and oap. per i od_name = ah. per i od_name
and oap. or gani zat i on_i d = mt a. or gani zat i on_i d
- - ========================================================
- - Ver si on 1. 3, added l ookup val ues t o see mor e det ai l
- - ========================================================
and ml . l ookup_t ype = ' CST_ACCOUNTI NG_LI NE_TYPE'
and ml . l ookup_code = mt a. account i ng_l i ne_t ype
- - ========================================================
- - Mat er i al Tr ansact i on dat e and account i ng code j oi ns
- - ========================================================
and mt a. t r ansact i on_dat e >= t o_dat e( ' &P_TRX_FROM_YYYY_MM_DD' , ' YYYY/ MM/ DD HH24: MI : SS' )
- - P_TRX_DATE_FROM
and mt a. t r ansact i on_dat e < t o_dat e( ' &P_TRX_TO_YYYY_MM_DD' , ' YYYY/ MM/ DD HH24: MI : SS' ) +1
- - P_TRX_DATE_TO
- - ========================================================
- - usi ng t he base t abl es t o avoi d t he per f or mance i ssues
- - wi t h or g_or gani zat i on_def i ni t i ons and hr _oper at i ng_uni t s
- - ========================================================
and hoi . or g_i nf or mat i on_cont ext = ' Account i ng I nf or mat i on'
and hoi . or gani zat i on_i d = mt a. or gani zat i on_i d
and hoi . or gani zat i on_i d = haou. or gani zat i on_i d - - t hi s get s t he or gani zat i on name
and haou2. or gani zat i on_i d = t o_number ( hoi . or g_i nf or mat i on3)
- - t hi s get s t he oper at i ng uni t i d
and gl . l edger _i d = t o_number ( hoi . or g_i nf or mat i on1) - - get t he l edger _i d
- - ========================================================
- - SLA t abl e j oi ns t o get t he exact account number s
- - ========================================================
AND ent . ent i t y_code = ' MTL_ACCOUNTI NG_EVENTS'
AND ent . appl i cat i on_i d = 707
Reconcile Your Inventory to G/L Balances With Ease, From 1 to 1,000 Inventory
Organizations!

COLLABORATE 14 OAUG Forum Copyright 2011-2014 Douglas Volz Consulting, Inc. Page 36 of 46
AND xe. appl i cat i on_i d = ent . appl i cat i on_i d
AND xe. event _i d = xdl . event _i d
AND ah. ent i t y_i d = ent . ent i t y_i d
AND ah. l edger _i d = ent . l edger _i d
AND ah. appl i cat i on_i d = al . appl i cat i on_i d
AND ah. appl i cat i on_i d = 707
AND ah. event _i d = xe. event _i d
AND ah. ae_header _i d = al . ae_header _i d
AND al . appl i cat i on_i d = ent . appl i cat i on_i d
AND al . l edger _i d = ah. l edger _i d
AND al . AE_HEADER_I D = xdl . AE_HEADER_I D
AND al . AE_LI NE_NUM = xdl . AE_LI NE_NUM
AND xdl . appl i cat i on_i d = ent . appl i cat i on_i d
AND xdl . sour ce_di st r i but i on_t ype = ' MTL_TRANSACTI ON_ACCOUNTS'
AND xdl . sour ce_di st r i but i on_i d_num_1 = mt a. i nv_sub_l edger _i d
AND gcc1. code_combi nat i on_i d = al . code_combi nat i on_i d
- - ==========================================================
gr oup by
gl . name,
haou2. name,
mp. or gani zat i on_code,
oap. per i od_name,
gcc1. code_combi nat i on_i d,
ml . meani ng,
mt t . t r ansact i on_t ype_name,
mt a. t r ansact i on_i d,
gcc1. segment 1,
gcc1. segment 2,
gcc1. segment 3,
gcc1. segment 4,
gcc1. segment 5,
gcc1. segment 6,
gcc1. segment 7,
gcc1. segment 8,
gcc1. segment 9,
msi . segment 1,
msi . descr i pt i on,
DECODE( mt a. account i ng_l i ne_t ype, 7, ' WI P' , 14, ' ' , 1,
DECODE ( mmt . t r ansact i on_act i on_i d,
2, DECODE ( SI GN ( mt a. pr i mar y_quant i t y) ,
- 1, mmt . subi nvent or y_code,
1, mmt . t r ansf er _subi nvent or y,
mmt . subi nvent or y_code
) ,
3, DECODE ( mmt . or gani zat i on_i d,
mt a. or gani zat i on_i d, mmt . subi nvent or y_code,
mmt . t r ansf er _subi nvent or y
) ,
21, DECODE ( SI GN ( mt a. pr i mar y_quant i t y) ,
- 1, mmt . subi nvent or y_code,
1, mmt . t r ansf er _subi nvent or y,
mmt . subi nvent or y_code
) ,
22, DECODE ( SI GN ( mt a. pr i mar y_quant i t y) ,
- 1, mmt . subi nvent or y_code,
1, mmt . t r ansf er _subi nvent or y,
mmt . subi nvent or y_code
) ,
28, DECODE ( SI GN ( mt a. pr i mar y_quant i t y) ,
- 1, mmt . subi nvent or y_code,
1, mmt . t r ansf er _subi nvent or y,
mmt . subi nvent or y_code
) ,
mmt . subi nvent or y_code
)
) ,
mt a. pr i mar y_quant i t y
or der by 1, 2;

Reconcile Your Inventory to G/L Balances With Ease, From 1 to 1,000 Inventory
Organizations!

COLLABORATE 14 OAUG Forum Copyright 2011-2014 Douglas Volz Consulting, Inc. Page 37 of 46
6. Sample Release 12 WIP Distribution Report:
/ * +=============================================================================+
- - | Copyr i ght 2009- 2014 Dougl as Vol z Consul t i ng, I nc. |
- - | Al l r i ght s r eser ved. |
- - | Per mi ssi on t o use t hi s code i s gr ant ed pr ovi ded t he or i gi nal aut hor i s |
- - | acknowl edged. No war r ant i es, expr ess or ot her wi se ar e i ncl uded i n t hi s |
- - | per mi ssi on. |
- - +=============================================================================+
- - |
- - | Or i gi nal Aut hor : Dougl as Vol z ( doug@vol zconsul t i ng. com)
- - |
- - | Pr ogr amName: XXX_XLA_WI P_ACCTS_DETAI L_REPT. sql
- - |
- - | Par amet er s:
- - | P_OPERATI NG_UNI T - - oper at i ng uni t par amet er
- - | P_TRX_DATE_FROM - - st ar t i ng t r ansact i on dat e
- - | P_TRX_DATE_TO - - endi ng t r ansact i on dat e
- - |
- - | Descr i pt i on:
- - | Repor t t o get t he WI P account i ng ent r i es by account , t r ansact i on
- - | t ype and account i ng l i ne t ype. . A gr oup by i s used t o add up ent r i es acr oss cost
- - | cost el ement s.
- - |
- - | Ver si on Modi f i ed on Modi f i ed by Descr i pt i on
- - | ======= =========== ============== =========================================
- - | 1. 0 06 Nov 2009 Dougl as Vol z I ni t i al Codi ng
- - | 2. 0 11 Nov 2009 Dougl as Vol z Fi xed j oi n f or pr i mar y_assembl y_i d
- - | 3. 0 11 Nov 2009 Dougl as Vol z Added Or g Code and t r ansact i on I D
- - | 4. 0 12 Nov 2009 Dougl as Vol z Added i t emand descr i pt i on
- - | 5. 0 05 J an 2010 Dougl as Vol z Added or g j oi ns f or wac and wdj , t o avoi d
- - | cr oss- j oi ni ng
- - +=============================================================================+*/

sel ect
gl . name " Ledger " ,
haou2. name " Oper at i ng Uni t " ,
mp. or gani zat i on_code " Or g Code" ,
oap. per i od_name " Per i od Name" ,
ml . meani ng " Acct Li ne Type" ,
ml 2. meani ng " WI P Tr ansact i on Type" ,
wt a. t r ansact i on_i d " Txn I d" ,
gcc1. segment 1 " Co" ,
gcc1. segment 2 " Cost Ct r " ,
gcc1. segment 3 " Acct " ,
gcc1. segment 4 " Sub- Acct " ,
gcc1. segment 5 " Pr od Gr p" ,
gcc1. segment 6 " Loc" ,
gcc1. segment 7 " I nt er Co" ,
gcc1. segment 8 " Fut ur e1" ,
gcc1. segment 9 " Fut ur e2" ,
msi . segment 1 " I t em" ,
msi . descr i pt i on " Descr i pt i on" ,
wac. cl ass_code " WI P Cl ass" ,
sum( nvl ( al . ACCOUNTED_DR, 0) - nvl ( al . ACCOUNTED_CR, 0) ) " Amount "
f r om wi p. wi p_t r ansact i on_account s wt a,
wi p. wi p_t r ansact i ons wt ,
wi p. wi p_account i ng_cl asses wac,
wi p. wi p_di scr et e_j obs wdj ,
apps. mf g_l ookups ml 2,
i nv. mt l _syst em_i t ems_b msi ,
i nv. or g_acct _per i ods oap,
gl . GL_CODE_COMBI NATI ONS gcc1,
i nv. mt l _par amet er s mp,
apps. mf g_l ookups ml ,
hr . HR_ORGANI ZATI ON_I NFORMATI ON hoi ,
hr . hr _al l _or gani zat i on_uni t s haou, - - i nv_or gani zat i on_i d
hr . hr _al l _or gani zat i on_uni t s haou2, - - oper at i ng uni t
gl . gl _l edger s gl ,
xl a. xl a_t r ansact i on_ent i t i es ent ,
Reconcile Your Inventory to G/L Balances With Ease, From 1 to 1,000 Inventory
Organizations!

COLLABORATE 14 OAUG Forum Copyright 2011-2014 Douglas Volz Consulting, Inc. Page 38 of 46
xl a. xl a_event s xe,
xl a. xl a_di st r i but i on_l i nks xdl ,
xl a. xl a_ae_header s ah,
xl a. xl a_ae_l i nes al
- - ========================================================
- - Mat er i al Tr ansact i on, or g and i t emj oi ns
- - ========================================================
wher e wt a. t r ansact i on_i d = wt . t r ansact i on_i d
and wt a. or gani zat i on_i d = msi . or gani zat i on_i d
- - f i x f or ver si on 2. 0, use wdj not wt
and wdj . pr i mar y_i t em_i d = msi . i nvent or y_i t em_i d
and mp. or gani zat i on_i d = msi . or gani zat i on_i d
- - ========================================================
and wac. cl ass_code = wdj . cl ass_code
and wdj . wi p_ent i t y_i d = wt . wi p_ent i t y_i d
and wac. or gani zat i on_i d = wdj . or gani zat i on_i d
- - ========================================================
- - I nvent or y Or g account i ng per i od j oi ns
- - ========================================================
and oap. acct _per i od_i d = wt . acct _per i od_i d
- - ========================================================
- - Ver si on 1. 3, added l ookup val ues t o see mor e det ai l
- - ========================================================
and ml . l ookup_t ype = ' CST_ACCOUNTI NG_LI NE_TYPE'
and ml . l ookup_code = wt a. account i ng_l i ne_t ype
and ml 2. l ookup_t ype = ' WI P_TRANSACTI ON_TYPE_SHORT'
and ml 2. l ookup_code = wt . t r ansact i on_t ype
- - ========================================================
- - Mat er i al Tr ansact i on dat e and account i ng code j oi ns
- - ========================================================
and wt a. t r ansact i on_dat e >= t o_dat e( ' &P_TRX_FROM_YYYY_MM_DD' , ' YYYY/ MM/ DD HH24: MI : SS' )
- - P_TRX_DATE_FROM
and wt a. t r ansact i on_dat e < t o_dat e( ' &P_TRX_TO_YYYY_MM_DD' , ' YYYY/ MM/ DD HH24: MI : SS' ) +1
- - P_TRX_DATE_TO
- - ========================================================
- - usi ng t he base t abl es t o avoi d t he per f or mance i ssues
- - wi t h or g_or gani zat i on_def i ni t i ons and hr _oper at i ng_uni t s
- - ========================================================
and hoi . or g_i nf or mat i on_cont ext = ' Account i ng I nf or mat i on'
and hoi . or gani zat i on_i d = wt a. or gani zat i on_i d
and hoi . or gani zat i on_i d = haou. or gani zat i on_i d - - t hi s get s t he or gani zat i on name
and haou2. or gani zat i on_i d = t o_number ( hoi . or g_i nf or mat i on3)
- - t hi s get s t he oper at i ng uni t i d
and gl . l edger _i d = t o_number ( hoi . or g_i nf or mat i on1) - - get t he l edger _i d
- - ========================================================
- - SLA t abl e j oi ns t o get t he exact account number s
- - ========================================================
AND ent . ent i t y_code = ' WI P_ACCOUNTI NG_EVENTS'
AND ent . appl i cat i on_i d = 707
AND xe. appl i cat i on_i d = ent . appl i cat i on_i d
AND xe. event _i d = xdl . event _i d
AND ah. ent i t y_i d = ent . ent i t y_i d
AND ah. l edger _i d = ent . l edger _i d
AND ah. appl i cat i on_i d = al . appl i cat i on_i d
AND ah. appl i cat i on_i d = 707
AND ah. event _i d = xe. event _i d
AND ah. ae_header _i d = al . ae_header _i d
AND al . appl i cat i on_i d = ent . appl i cat i on_i d
AND al . l edger _i d = ah. l edger _i d
AND al . AE_HEADER_I D = xdl . AE_HEADER_I D
AND al . AE_LI NE_NUM = xdl . AE_LI NE_NUM
AND xdl . appl i cat i on_i d = ent . appl i cat i on_i d
AND xdl . sour ce_di st r i but i on_t ype = ' WI P_TRANSACTI ON_ACCOUNTS'
AND xdl . sour ce_di st r i but i on_i d_num_1 = wt a. wi p_sub_l edger _i d
AND gcc1. code_combi nat i on_i d = al . code_combi nat i on_i d
- - ==========================================================
gr oup by
gl . name,
haou2. name,
mp. or gani zat i on_code,
oap. per i od_name,
ml . meani ng,
Reconcile Your Inventory to G/L Balances With Ease, From 1 to 1,000 Inventory
Organizations!

COLLABORATE 14 OAUG Forum Copyright 2011-2014 Douglas Volz Consulting, Inc. Page 39 of 46
ml 2. meani ng,
wt a. t r ansact i on_i d,
gcc1. segment 1,
gcc1. segment 2,
gcc1. segment 3,
gcc1. segment 4,
gcc1. segment 5,
gcc1. segment 6,
gcc1. segment 7,
gcc1. segment 8,
gcc1. segment 9,
- - DECODE( wt a. account i ng_l i ne_t ype, 7, ' WI P' , 14, ' I nt r ansi t ' , 1, ' Subi nvent or y' ) ,
msi . segment 1,
msi . descr i pt i on,
wac. cl ass_code
or der by 1, 2;

7. Sample R12 Receiving Accounting Distribution Report

/ * +=============================================================================+
- - | Copyr i ght 2010 Dougl as Vol z Consul t i ng, I nc. |
- - | Al l r i ght s r eser ved. |
- - | Per mi ssi on t o use t hi s code i s gr ant ed pr ovi ded t he or i gi nal aut hor i s |
- - | acknowl edged. No war r ant i es, expr ess or ot her wi se i s i ncl uded i n t hi s |
- - | per mi ssi on. |
- - +=============================================================================+
- - |
- - | Or i gi nal Aut hor : Dougl as Vol z ( davol z@comcast . net )
- - |
- - | Pr ogr amName: XXX_RCV_DI ST_XLA_SUM_REPT. sql
- - |
- - | Par amet er s:
- - | P_LEDGER - - gener al l edger you wi sh t o r epor t , wor ks wi t h
- - | NULL, %or val i d l edger names
- - | P_TRX_DATE_FROM - - st ar t i ng t r ansact i on dat e f or r ecei vi ng r el at ed t r ansact i ons
- - | P_TRX_DATE_TO - - endi ng t r ansact i on dat e f or r ecei vi ng r el at ed t r ansact i ons
- - | P_DEST_TYPE_CODE - - PO dest i nat i on t ype code, such as I NVENTORY, EXPENSE or
- - | SHOP FLOOR
- - |
- - | Descr i pt i on:
- - | Repor t t o get t he r epor t t he r ecei vi ng account i ng ent r i es by account ,
- - | t r ansact i on t ype and account i ng l i ne t ype.
- - |
- - | Ver si on Modi f i ed on Modi f i ed by Descr i pt i on
- - | ======= =========== ============== =========================================
- - | 1. 0 05 Apr 2010 Dougl as Vol z I ni t i al Codi ng based on XXX_RCV_DI ST_XLA_SUM_REPT. sql
- - | 1. 1 12 Apr 2010 Dougl as Vol z Changed j oi n t o mp. or gani zat i on_i d t o r t . or gani zat i on_i d
- - | t o ensur e expense t r ansact i ons ar e pi cked up
- - | 1. 2 15 Apr 2010 Dougl as Vol z Comment ed out t r ansact i on_i d gr oup by
- - | 1. 3 20 J un 2010 Dougl as Vol z Fi xed r epor t sor t
- - | 1. 4 23 J un 2010 Dougl as Vol z Added pr oj ect number , dest i nat i on t ype col umns
- - | a l edger par amet er , and used an i nl i ne t abl e
- - | t o summar i ze t he r esul t s
- - | 1. 5 26 J un 2010 Dougl as Vol z Added l ookup code f or dest i nat i on t ype
- - | 1. 6 13 Sep 2010 Dougl as Vol z Updat ed l edger and dat e par amet er s f or BO
- - | Fr eehand SQL r equi r ement s, added UOM Code
- - | 1. 7 08 Sep 2011 Dougl as Vol z Changed t he t r ansact i on dat e par amet er s t o
- - | l ook at r cv_r ecei vi ng_sub_l edger as opposed
- - | t o r cv_t r ansact i ons, si nce f or r et r o- act i ve
- - | pr i ce adj ust ment s, t he or i gi nal r ecei vi ng
- - | t r ansact i on i d i s used, but t he r et r o- act i ve
- - | pr i ce adj ust ment account i ng ent r i es have a
- - | di f f er ent t r ansact i on dat e.
- - | 1. 8 12 Sep 2011 Dougl as Vol z Fi x f or t he SI GN of t he t r ansact i on quant i t y
- - | f or Cor r ect i on t r ansact i ons
- - | 1. 9 21 J an 2012 Dougl as Vol z Added WI P j ob, Resour ce, PO number , PO l i ne
- - | and PO r el ease col umns, and added PO
- - | Dest i nat i on par amet er
- - | 1. 10 16 J an 2014 Dougl as Vol z Added r cv_account i ng_event s t abl e t o i mpr ove
- - | per f or mance by dat e r ange
- - +=============================================================================+*/
Reconcile Your Inventory to G/L Balances With Ease, From 1 to 1,000 Inventory
Organizations!

COLLABORATE 14 OAUG Forum Copyright 2011-2014 Douglas Volz Consulting, Inc. Page 40 of 46

sel ect gl . name " Ledger " ,
haou2. name " Oper at i ng Uni t " ,
r cv_acct . or gani zat i on_code " Or g Code" ,
oap. per i od_name " Per i od Name" ,
gcc1. segment 1 " Co" ,
gcc1. segment 2 " Dept " ,
gcc1. segment 3 " Acct " ,
gcc1. segment 4 " Sub- Acct " ,
gcc1. segment 5 " Pr od Gr p" ,
gcc1. segment 6 " Loc" ,
gcc1. segment 7 " I nt er Co" ,
gcc1. segment 8 " Fut ur e1" ,
gcc1. segment 9 " Fut ur e2" ,
r cv_acct . i t em_number " I t emNumber " ,
r cv_acct . i t em_descr i pt i on " I t emDescr i pt i on" ,
r cv_acct . account i ng_l i ne_t ype " Acct Li ne Type" ,
f l v. meani ng " Tr ansact i on Type" ,
pl . di spl ayed_f i el d " Dest i nat i on Type" ,
- - Fi x f or ver si on 1. 9
r cv_acct . po_num" PO Number " ,
r cv_acct . po_l i ne " PO Li ne" ,
r cv_acct . r el ease_num" Rel Num" ,
- - End f i x f or ver si on 1. 9
pp. name " Pr oj ect Number " ,
- - Fi x f or ver si on 1. 9
r cv_acct . wi p_j ob " WI P J ob" ,
r cv_acct . bom_r esour ce " Resour ce Code" ,
- - End f i x f or ver si on 1. 9
r cv_acct . pr i mar y_uom_code " UOM Code" ,
sum( r cv_acct . pr i mar y_quant i t y) " Quant i t y" ,
gl . cur r ency_code " Cur r Code" ,
sum( nvl ( al . ACCOUNTED_DR, 0) - nvl ( al . ACCOUNTED_CR, 0) ) " Amount "
f r om i nv. or g_acct _per i ods oap,
pa. pa_pr oj ect s_al l pp,
gl . GL_CODE_COMBI NATI ONS gcc1,
apps. f nd_l ookup_val ues f l v,
hr . HR_ORGANI ZATI ON_I NFORMATI ON hoi ,
hr . hr _al l _or gani zat i on_uni t s haou, - - i nv_or gani zat i on_i d
hr . hr _al l _or gani zat i on_uni t s haou2, - - oper at i ng uni t
gl . gl _l edger s gl ,
apps. po_l ookup_codes pl ,
xl a. xl a_t r ansact i on_ent i t i es ent ,
xl a. xl a_event s xe,
xl a. xl a_di st r i but i on_l i nks xdl ,
xl a. xl a_ae_header s ah,
xl a. xl a_ae_l i nes al ,
- - ==========================================================================
- - Use t hi s i nl i ne t abl e t o f et ch t he r ecei vi ng t r ansact i ons
- - ==========================================================================
( sel ect mp. or gani zat i on_code or gani zat i on_code,
r t . or gani zat i on_i d or gani zat i on_i d,
r r sl . code_combi nat i on_i d code_combi nat i on_i d,
r r sl . r cv_sub_l edger _i d r cv_sub_l edger _i d,
msi . segment 1 i t em_number ,
msi . descr i pt i on i t em_descr i pt i on,
r r sl . account i ng_l i ne_t ype account i ng_l i ne_t ype,
r t . t r ansact i on_t ype t r ansact i on_t ype,
pod. dest i nat i on_t ype_code dest i nat i on_t ype_code,
- - Fi x f or ver si on 1. 9
poh. segment 1 po_num,
pol . l i ne_numpo_l i ne,
( sel ect pr . r el ease_num
f r om po. po_r el eases_al l pr
wher e pr . po_r el ease_i d = r t . po_r el ease_i d) r el ease_num,
- - End f i x f or ver si on 1. 9
pod. pr oj ect _i d pr oj ect _i d,
- - Fi x f or ver si on 1. 9
( sel ect we. wi p_ent i t y_name
f r om wi p. wi p_ent i t i es we
wher e we. wi p_ent i t y_i d = r t . wi p_ent i t y_i d) wi p_j ob,
( sel ect br . r esour ce_code
Reconcile Your Inventory to G/L Balances With Ease, From 1 to 1,000 Inventory
Organizations!

COLLABORATE 14 OAUG Forum Copyright 2011-2014 Douglas Volz Consulting, Inc. Page 41 of 46
f r om bom. bom_r esour ces br
wher e br . r esour ce_i d = r t . bom_r esour ce_i d) bom_r esour ce,
- - End f i x f or ver si on 1. 9
msi . pr i mar y_uom_code,
sum( decode( SI GN( nvl ( r r sl . ACCOUNTED_DR, 0) - nvl ( r r sl . ACCOUNTED_CR, 0) ) ,
- - =============================================
- - Fi x f or ver si on 1. 8
- - SI GN of qt y i ncor r ect on CORRECTI ON t r ansact i ons
- - =============================================
- - 1, r t . pr i mar y_quant i t y,
- - - 1, - 1 * r t . pr i mar y_quant i t y,
1, 1 * abs( r t . pr i mar y_quant i t y) ,
- 1, - 1 * abs( r t . pr i mar y_quant i t y) ,
- - End f i x f or ver si on 1. 8
- - =============================================
r t . pr i mar y_quant i t y
)
) pr i mar y_quant i t y,
sum( nvl ( r r sl . ACCOUNTED_DR, 0) - nvl ( r r sl . ACCOUNTED_CR, 0) ) amount
f r om po. r cv_r ecei vi ng_sub_l edger r r sl ,
- - Fi x f or ver si on 1. 10
po. r cv_account i ng_event s r ae,
po. r cv_t r ansact i ons r t ,
po. r cv_shi pment _l i nes r sl ,
- - Fi x f or ver si on 1. 9
po. po_header s_al l poh,
po. po_l i nes_al l pol ,
- - Fi x f or ver si on 1. 9
po. po_di st r i but i ons_al l pod,
i nv. mt l _syst em_i t ems_b msi ,
i nv. mt l _par amet er s mp
- - ========================================================
- - Mat er i al Tr ansact i on, or g and i t emj oi ns
- - ========================================================
wher e r r sl . r cv_t r ansact i on_i d = r t . t r ansact i on_i d
- - Fi x f or ver si on 1. 10
and r ae. account i ng_event _i d = r r sl . account i ng_event _i d
and r ae. r cv_t r ansact i on_i d = r t . t r ansact i on_i d
- - End f i x f or ver si on 1. 10
and r t . SHI PMENT_LI NE_I D = r sl . SHI PMENT_LI NE_I D
and r sl . i t em_i d = msi . i nvent or y_i t em_i d ( +)
and r sl . t o_or gani zat i on_i d = msi . or gani zat i on_i d ( +)
and pod. po_di st r i but i on_i d = nvl ( r t . po_di st r i but i on_i d, t o_number ( r r sl . r ef er ence3) )
and mp. or gani zat i on_i d = r t . or gani zat i on_i d
- - ========================================================
- - Fi x f or ver si on 1. 9
- - ========================================================
and r t . po_header _i d = poh. po_header _i d
and r t . po_l i ne_i d = pol . po_l i ne_i d
- - ========================================================
- - Fi x f or ver si on 1. 7
- - ========================================================
- - Recei vi ng Tr ansact i on dat e j oi ns
- - ========================================================
- - and r t . t r ansact i on_dat e >= t o_dat e( ' &P_TRX_FROM_DD_MON_YYYY' , ' DD/ MON/ YYYY HH24: MI : SS' ) - - P_TRX_DATE_FROM
- - and r t . t r ansact i on_dat e < t o_dat e( ' &P_TRX_TO_DD_MON_YYYY' , ' DD/ MON/ YYYY HH24: MI : SS' ) +1 - - P_TRX_DATE_TO
- - and r r sl . t r ansact i on_dat e >= t o_dat e( ' &P_TRX_FROM_DD_MON_YYYY' , ' DD/ MON/ YYYY HH24: MI : SS' ) - - P_TRX_DATE_FROM
- - and r r sl . t r ansact i on_dat e < t o_dat e( ' &P_TRX_TO_DD_MON_YYYY' , ' DD/ MON/ YYYY HH24: MI : SS' ) +1 - - P_TRX_DATE_TO
- - Fi x f or ver si on 1. 10
- - and r r sl . account i ng_dat e >= t o_dat e( ' &P_TRX_FROM_DD_MON_YYYY' , ' DD/ MON/ YYYY HH24: MI : SS' ) - - P_TRX_DATE_FROM
- - and r r sl . account i ng_dat e < t o_dat e( ' &P_TRX_TO_DD_MON_YYYY' , ' DD/ MON/ YYYY HH24: MI : SS' ) +1 - - P_TRX_DATE_TO
and r ae. t r ansact i on_dat e >= t o_dat e( ' &P_TRX_FROM_DD_MON_YYYY' , ' DD/ MON/ YYYY HH24: MI : SS' ) - - P_TRX_DATE_FROM
and r ae. t r ansact i on_dat e < t o_dat e( ' &P_TRX_TO_DD_MON_YYYY' , ' DD/ MON/ YYYY HH24: MI : SS' ) +1 - - P_TRX_DATE_TO
- - End f i x f or ver si on 1. 10
and pod. dest i nat i on_t ype_code = decode( UPPER( ' &P_DEST_TYPE_CODE' ) ,
' %' , pod. dest i nat i on_t ype_code,
NULL, pod. dest i nat i on_t ype_code,
UPPER( ' &P_DEST_TYPE_CODE' ) )
- - P_DEST_TYPE_CODE
- - End f i x f or ver si on 1. 7
- - End f i x f or ver si on 1. 9
- - ========================================================
gr oup by
mp. or gani zat i on_code,
r t . or gani zat i on_i d,
Reconcile Your Inventory to G/L Balances With Ease, From 1 to 1,000 Inventory
Organizations!

COLLABORATE 14 OAUG Forum Copyright 2011-2014 Douglas Volz Consulting, Inc. Page 42 of 46
r r sl . code_combi nat i on_i d,
r r sl . r cv_sub_l edger _i d,
msi . segment 1,
msi . descr i pt i on,
r r sl . account i ng_l i ne_t ype,
r t . t r ansact i on_t ype,
pod. dest i nat i on_t ype_code,
- - Fi x f or ver si on 1. 9
poh. segment 1,
pol . l i ne_num,
- - End f i x f or ver si on 1. 9
pod. pr oj ect _i d,
- - Fi x f or ver si on 1. 9
- - Added f or i nl i ne col umn sel ect s
r t . po_r el ease_i d,
r t . wi p_ent i t y_i d,
r t . bom_r esour ce_i d,
- - End f i x f or ver si on 1. 9
msi . pr i mar y_uom_code ) r cv_acct
- - ========================================================
- - I nvent or y Or g account i ng per i od j oi ns
- - ========================================================
wher e oap. per i od_name = ah. per i od_name
and oap. or gani zat i on_i d = r cv_acct . or gani zat i on_i d
- - ========================================================
- - Ver si on 1. 3, added l ookup val ues t o see mor e det ai l
- - ========================================================
and f l v. l ookup_t ype = ' RCV TRANSACTI ON TYPE'
and f l v. l ookup_code = r cv_acct . t r ansact i on_t ype
and sour ce_l ang = ' US'
and l anguage = ' US'
and pl . l ookup_t ype = ' DESTI NATI ON TYPE'
and pl . l ookup_code = r cv_acct . dest i nat i on_t ype_code
- - ========================================================
- - Pr oj ect number j oi n
- - ========================================================
and r cv_acct . pr oj ect _i d = pp. pr oj ect _i d ( +)
- - ========================================================
- - usi ng t he base t abl es t o avoi d t he per f or mance i ssues
- - wi t h or g_or gani zat i on_def i ni t i ons and hr _oper at i ng_uni t s
- - ========================================================
and hoi . or g_i nf or mat i on_cont ext = ' Account i ng I nf or mat i on'
and hoi . or gani zat i on_i d = r cv_acct . or gani zat i on_i d
and hoi . or gani zat i on_i d = haou. or gani zat i on_i d - - t hi s get s t he or gani zat i on name
and haou2. or gani zat i on_i d = t o_number ( hoi . or g_i nf or mat i on3)
- - t hi s get s t he oper at i ng uni t i d
and gl . l edger _i d = t o_number ( hoi . or g_i nf or mat i on1) - - get t he l edger _i d
- - and gl . name = nvl ( ' &P_LEDGER' , gl . name)
- - P_LEDGER
and gl . name = decode( ' &P_LEDGER' , ' %' , gl . name, NULL, gl . name, ' &P_LEDGER' ) - - P_LEDGER
- - ========================================================
- - SLA t abl e j oi ns t o get t he exact account number s
- - ========================================================
AND ent . ent i t y_code = ' RCV_ACCOUNTI NG_EVENTS'
AND ent . appl i cat i on_i d = 707
AND xe. appl i cat i on_i d = ent . appl i cat i on_i d
AND xe. event _i d = xdl . event _i d
AND ah. ent i t y_i d = ent . ent i t y_i d
AND ah. l edger _i d = ent . l edger _i d
AND ah. appl i cat i on_i d = al . appl i cat i on_i d
AND ah. appl i cat i on_i d = 707
AND ah. event _i d = xe. event _i d
AND ah. ae_header _i d = al . ae_header _i d
AND al . appl i cat i on_i d = ent . appl i cat i on_i d
AND al . l edger _i d = ah. l edger _i d
AND al . AE_HEADER_I D = xdl . AE_HEADER_I D
AND al . AE_LI NE_NUM = xdl . AE_LI NE_NUM
AND xdl . appl i cat i on_i d = ent . appl i cat i on_i d
AND xdl . sour ce_di st r i but i on_t ype = ' RCV_RECEI VI NG_SUB_LEDGER'
AND xdl . sour ce_di st r i but i on_i d_num_1 = r cv_acct . r cv_sub_l edger _i d
AND gcc1. code_combi nat i on_i d = al . code_combi nat i on_i d
- - ==========================================================
Reconcile Your Inventory to G/L Balances With Ease, From 1 to 1,000 Inventory
Organizations!

COLLABORATE 14 OAUG Forum Copyright 2011-2014 Douglas Volz Consulting, Inc. Page 43 of 46
gr oup by
gl . name,
haou2. name,
r cv_acct . or gani zat i on_code,
oap. per i od_name,
gcc1. segment 1,
gcc1. segment 2,
gcc1. segment 3,
gcc1. segment 4,
gcc1. segment 5,
gcc1. segment 6,
gcc1. segment 7,
gcc1. segment 8,
gcc1. segment 9,
r cv_acct . i t em_number ,
r cv_acct . i t em_descr i pt i on,
r cv_acct . account i ng_l i ne_t ype,
f l v. meani ng,
pl . di spl ayed_f i el d,
- - Fi x f or ver si on 1. 9
r cv_acct . po_num,
r cv_acct . po_l i ne,
r cv_acct . r el ease_num,
- - End f i x f or ver si on 1. 9
pp. name,
- - Fi x f or ver si on 1. 9
r cv_acct . wi p_j ob,
r cv_acct . bom_r esour ce,
- - End f i x f or ver si on 1. 9
r cv_acct . pr i mar y_uom_code,
gl . cur r ency_code
or der by 1, 3, 4, 7, 8, 9, 10, 11, 14, 16, 17, 18;

8. Sample Release 11i and 12 Item Cost Out-of-Balance Report

/ * +=============================================================================+
- - | Copyr i ght 2009- 2014 Dougl as Vol z Consul t i ng, I nc. |
- - | Al l r i ght s r eser ved. |
- - | Per mi ssi on t o use t hi s code i s gr ant ed pr ovi ded t he or i gi nal aut hor i s |
- - | acknowl edged. No war r ant i es, expr ess or ot her wi se i s i ncl uded i n t hi s |
- - | per mi ssi on. |
- - +=============================================================================+
- - |
- - | Or i gi nal Aut hor : Dougl as Vol z ( doug@vol zconsul t i ng. com)
- - |
- - | Pr ogr amName: XXX_I TEM_COST_DI FF_REPT. sql
- - |
- - | Par amet er s:
- - | NONE
- - |
- - | Descr i pt i on:
- - | Repor t t o compar e summar y and det ai l i t emcost i nf or mat i on and show any out - of - bal ances.
- - |
- - | Ver si on Modi f i ed on Modi f i ed by Descr i pt i on
- - | ======= =========== ============== =========================================
- - | 1. 0 06 Oct 2009 Dougl as Vol z I ni t i al Codi ng
- - | 1. 1 16 Mar 2010 Dougl as Vol z Updat ed wi t h Make/ Buy f l ags
- - | 1. 2 08 Nov 2010 Dougl as Vol z Updat ed wi t h addi t i onal col umns and par amet er s
- - | 1. 3 10 Dec 2012 Dougl as Vol z Compar e summar y and det ai l i t emcost i nf or mat i on.
- - +=============================================================================+*/
sel ect mp. or gani zat i on_code " Or g Code" ,
cct . cost _t ype " Cost Type" ,
msi . segment 1 " I t emNumber " ,
msi . descr i pt i on " Descr i pt i on" ,
msi . pr i mar y_uom_code " UOM Code" ,
msi . i nvent or y_i t em_st at us_code " I t emSt at us" ,
f cl . meani ng " I t emType" ,
decode ( msi . pl anni ng_make_buy_code, 1, ' Make' , 2, ' Buy' , ' None' ) " MB Code" ,
decode ( msi . COSTI NG_ENABLED_FLAG, ' Y' , ' Yes' , ' N' , ' No' , ' None' ) " Al l ow Cost s" ,
Reconcile Your Inventory to G/L Balances With Ease, From 1 to 1,000 Inventory
Organizations!

COLLABORATE 14 OAUG Forum Copyright 2011-2014 Douglas Volz Consulting, Inc. Page 44 of 46
decode ( ci c. I NVENTORY_ASSET_FLAG, 1, ' Yes' , 2, ' No' , ' No' ) " I nv. Asset " ,
decode( ci c. based_on_r ol l up_f l ag, 1, ' Yes' , ' No' ) " Based on Cost Rol l up" ,
ci c. shr i nkage_r at e " Shr i nkage Rat e" ,
max( nvl ( ci c. mat er i al _cost , 0) ) " SumMat er i al Cost " ,
max( nvl ( ci c. mat er i al _over head_cost , 0) ) " SumMat l Ovhd Cost " ,
max( nvl ( ci c. r esour ce_cost , 0) ) " SumResour ce Cost " ,
max( nvl ( ci c. out si de_pr ocessi ng_cost , 0) ) " SumOSP Cost " ,
max( nvl ( ci c. over head_cost , 0) ) " SumOver head Cost " ,
max( nvl ( ci c. i t em_cost , 0) ) " SumI t emCost " ,
sum( decode( ci cd. cost _el ement _i d, 1, nvl ( ci cd. i t em_cost , 0) , 0) ) " Mat er i al Cost " ,
sum( decode( ci cd. cost _el ement _i d, 2, nvl ( ci cd. i t em_cost , 0) , 0) ) " Mat l Ovhd Cost " ,
sum( decode( ci cd. cost _el ement _i d, 3, nvl ( ci cd. i t em_cost , 0) , 0) ) " Resour ce Cost " ,
sum( decode( ci cd. cost _el ement _i d, 4, nvl ( ci cd. i t em_cost , 0) , 0) ) " OSP Cost " ,
sum( decode( ci cd. cost _el ement _i d, 5, nvl ( ci cd. i t em_cost , 0) , 0) ) " Over head Cost " ,
sum( nvl ( ci cd. i t em_cost , 0) ) " I t emCost " ,
max( nvl ( ci c. i t em_cost , 0) ) - sum( nvl ( ci cd. i t em_cost , 0) ) " I t emCost Di f f . "
f r om apps. cst _i t em_cost s ci c,
apps. cst _i t em_cost _det ai l s ci cd,
apps. cst _cost _t ypes cct ,
apps. mt l _syst em_i t ems_b msi ,
apps. mt l _par amet er s mp,
apps. f nd_common_l ookups f cl
- - ===================================================================
- - I t emmast er , or gani zat i on and i t emmast er t o cost j oi ns
- - ===================================================================
wher e mp. or gani zat i on_i d = msi . or gani zat i on_i d
and msi . i nvent or y_i t em_i d = ci c. i nvent or y_i t em_i d
and msi . or gani zat i on_i d = ci c. or gani zat i on_i d
and ci c. cost _t ype_i d = cct . cost _t ype_i d
and cct . cost _t ype = ' Fr ozen'
and ci c. i nvent or y_i t em_i d = ci cd. i nvent or y_i t em_i d
and ci c. or gani zat i on_i d = ci cd. or gani zat i on_i d
and ci c. cost _t ype_i d = ci cd. cost _t ype_i d
- - ===================================================================
- - Lookup codes f or i t emt ypes
and f cl . l ookup_code = msi . i t em_t ype
and f cl . l ookup_t ype = ' I TEM_TYPE'
- - ===================================================================
gr oup by
mp. or gani zat i on_code,
cct . cost _t ype,
msi . segment 1,
msi . descr i pt i on,
msi . pr i mar y_uom_code,
msi . i nvent or y_i t em_st at us_code,
f cl . meani ng,
decode ( msi . pl anni ng_make_buy_code, 1, ' Make' , 2, ' Buy' , ' None' ) ,
decode ( msi . COSTI NG_ENABLED_FLAG, ' Y' , ' Yes' , ' N' , ' No' , ' None' ) ,
decode ( ci c. I NVENTORY_ASSET_FLAG, 1, ' Yes' , 2, ' No' , ' No' ) ,
decode( ci c. based_on_r ol l up_f l ag, 1, ' Yes' , ' No' ) ,
ci c. shr i nkage_r at e
havi ng abs( sum( nvl ( ci cd. i t em_cost , 0) ) - max( nvl ( ci c. i t em_cost , 0) ) ) > . 0001
or der by 1, 2, 3, 4;

9. Subledger Accounting Transfer Methods
Prior to Release 12 each subledger (A/P, A/R, PO, Cost, etc.) had its own method for transferring entries to the
General Ledger. With SLA there is one unified method for doing this. You still use the Process Cost Engine or the
Discrete Cost Manager, depending if you use Process or Discrete costing. Overall, the process looks like:
Reconcile Your Inventory to G/L Balances With Ease, From 1 to 1,000 Inventory
Organizations!

COLLABORATE 14 OAUG Forum Copyright 2011-2014 Douglas Volz Consulting, Inc. Page 45 of 46

The Create Accounting program creates subledger entries based upon your SLA setup and SLAM (Subledger
Accounting Method) assigned to each ledger. The Create Accounting program applies the application accounting
definitions that are created by the Accounting Methods Builder (AMB) when you define and validate your SLA
setups. The Create Accounting program also controls how and when you wish to transfer eligible journal entries to
the General Ledger. Each subledger has access to the Create Accounting program.
You have three ways to create subledger entries:
Draft Accounting create the journal entries in draft mode for test purposes only. Draft entries are not
transferred to the General Ledger. You can review the entries, update the transaction or update the
accounting rules. Any changes will be reflected when the transaction is processed again for accounting.
Final Accounting create the journal entries ready for transferring to the General Ledger with the
transactions considered to be processed for accounting. You cannot modify these entries created in Final
Accounting mode.
Final Post create the journal entries and post them to the General Ledger. Again, you cannot modify
these entries created in Final Post Accounting mode.
For Oracle Cost Management there are two programs to run for Create Accounting:
Create Accounting Cost Management concurrent request for accounting all transactions from the
Cost Management SLA responsibility. It picks up Inventory, WIP and Receiving accounting entries.
Create Accounting Receiving concurrent request for Receiving Accounting can be generated in the
Purchasing responsibilities. You use this program if you are not using Oracle Cost Management.
TIP: When you run Create Accounting you should set the parameter Include User Transaction
Identifiers to Yes, as this will help you track transaction information. Go to:
Enter Transaction(s)
Cost
Manager
Create Accounting Transfer Journal Entries to GL
Reconcile Your Inventory to G/L Balances With Ease, From 1 to 1,000 Inventory
Organizations!

COLLABORATE 14 OAUG Forum Copyright 2011-2014 Douglas Volz Consulting, Inc. Page 46 of 46


TIP: For Discrete Costing, the prior Release 11i journal sources Purchasing and Inventory have been
replaced with Cost Management.


You can create accounting entries
by Process Category: Inventory,
Manual, Receiving, Third Party or
Work in Process