Professional Documents
Culture Documents
Catherine Gauchat
TCI International
&
Douglas Volz
Douglas Volz Consulting
Background
Project MFG, configurator, FIN modules (G/L, PO, A/P, A/R, F/A,
Project Costing, Project Billing)
Military
Customers
Commercial
Customers
Slide 3
Agenda
Business Requirements
Reconcile Inventory & WIP & Projects & G/L all together
Slide 4
Agenda (Continued)
Presentation Summary
Business Requirements
Built-in PJM Reconciliation Issues
Solution Summary
Slide 5
Business Requirements
Ability to Reconcile
All at the same
time!
Inventory &
G/L
WIP Value
Project
Accounting G/L
Slide 6
Business Requirements
Identify Differences
Slide 7
Background Information for Project Manufacturing
Purchasing WIP
Delivery Transactions
Material Borrow /
Transactions Payback, etc.
Slide 8
Inventory Transaction Tables
MTL_SYSTEM_ITEMS_B
MTL_PARAMETERS • INVENTORY_ITEM_ID
• ORGANIZATION_ID • ORGANIZATION_ID
• PRIMARY_COST_METHOD • SEGMENT1
• DESCRIPTION
MTL_MATERIAL_TRANSACTIONS MTL_TRANSACTION_ACCOUNTS
• TRANSACTION_ID •TRANSACTION_ID
• TRANSFER_TRANSACTION_ID • ORGANIZATION_ID
• ORGANIZATION_ID • INVENTORY_ITEM_ID
• INVENTORY_ITEM_ID • TRANSACTION_SOURCE_TYPE_ID
• TRANSACTION_SOURCE_TYPE_ID • PRIMARY_QUANTITY
• TRANSACTION_TYPE_ID • BASE_TRANSACTION_VALUE
• PROJECT_ID • REFERENCE_ACCOUNT
• TO_PROJECT_ID • ACCOUNTING_LINE_TYPE
• SOURCE_PROJECT_ID
• SUBINVENTORY_CODE
• PRIMARY_UOM
• PRIMARY_QUANTITY Slide 9
WIP Transaction Tables
MTL_SYSTEM_ITEMS_B
MTL_PARAMETERS • INVENTORY_ITEM_ID
• ORGANIZATION_ID • ORGANIZATION_ID
• PRIMARY_COST_METHOD • SEGMENT1
• DESCRIPTION
WIP_TRANSACTIONS WIP_ENTITIES
• WIP_ENTITY_ID • WIP_ENTITY_ID
•TRANSACTION_ID • ENTITY_TYPE
• ORGANIZATION_ID • ORGANIZATION_ID
• TRANSACTION_TYPE • WIP_ENTITY_NAME
• PROJECT_ID • PRIMARY_ITEM_ID
• PRIMARY_QUANTITY
WIP_TRANSACTION_ACCOUNTS
•TRANSACTION_ID
• WIP_ENTITY_ID
• ORGANIZATION_ID
• PROJECT_ID
• PRIMARY_QUANTITY
• BASE_TRANSACTION_VALUE
• REFERENCE_ACCOUNT
Slide 10
• ACCOUNTING_LINE_TYPE
Project Manufacturing Integration
PA_EXPENDITURE_ITEMS_ALL
• PROJECT_ID
• TRANSACTION_SOURCE
• EXPENDITURE_TYPE Project
• ORIG_TRANSACTION_REFERENCE Balances
• SYSTEM_LINKAGE_FUNCTION
• PROJECT_BURDENED_COST
Slide 11
Background Information for Project Manufacturing
Slide 12
Background Information about PSI
(Project Status Inquiry)
Certain material transactions are not PSI-related:
(Project Status Inquiry related)
WIP
Completions WIP Scrap
Returns
Slide 13
Background Information about PSI
(Project Status Inquiry)
Transfers to / from the same project number and task
are not PSI related:
Slide 14
PJM Inventory/WIP Accounting Design Issues
Slide 15
Too Many Accounting Entries – Example 1
Accounting Debits and Credits for Material Issue to WIP
(Average Costing Example from Release 11i)
Cost Group
WIP Matl Acct INV Matl Acct Xfer Acct
Matl Issue to WIP 582.75 582.75
Cost Group Xfer 582.75 582.75
Slide 16
Too Many Accounting Entries – Example 2
Accounting Debits and Credits for Transfer to Project
(Average Costing Example from Release 11i)
INV INV INV Prod INV
Matl Acct Res. Acct OVHD Acct OSP Acct
Transfer to Project 13.83 44.40
(From Subinv PRJ)
Slide 18
Cost Collector Design Issues
The Cost Group Transfer ≠ Inventory Matl Accounting
This example is Material Component Issues to WIP
Slide 19
Cost Collector Design Issues
The PA_EXPENDITURE_ITEMS_ALL Table has a
misleading foreign key reference
Project transfers has two material transactions
Material Accounting
References the “To”
PA_ Entry
Projects References
EXPENDITURE_
the “From Entry”
ITEMS_ALL
Slide 20
Cost Collector Design Issues
Difficult to Join PA_EXPENDITURE_ITEMS_ ALL with:
MTL_TRANSACTION_ACCOUNTS and
WIP_TRANSACTION_ACCOUNTS
(TRANSACTION_ID from
ORIG_ MTL_TRANSACTION_ACCOUNTS &
TRANSACTION_REFERENCE WIP_TRANSACTION_ACCOUNTS)
RESOURCE_ID
TRANSACTION_SOURCE
ORIG_TRANSACTION_REFERENCE
PRJ_EXPENDITURE_TYPE
SYSTEM_LINKAGE_FUNCTION
Slide 23
Cost Collector Design Issues
WIP Material Returns Not Picked Up by Cost Collector
Going from WIP/jobs related to a project returned into a non-
project subinventory
Slide 24
Lack of Reconciliation Tools
So how do we solve
these reconciliation
issues?
Slide 25
Custom Opportunities In Release 11i and 12
Simple yet “brute force” design (copy lots and lots of rows)
Slide 26
Reconciliation Table Architecture LEGEND
Inventory & WIP tables
PA Expenditure Items All table
New integration column
XXX_RECONCILE_PRJ_MFG
• TRANSACTION_ID
• TRANSACTION_SOURCE
MTL_TRANSACTION_ • EXPENDITURE_ITEM_ID
ACCOUNTS • PROJECT_ID PA_EXPENDITURE
WIP_TRANSACTION_ • PSI_RELATED_FLAG _ITEMS_ALL
ACCOUNTS • ORIG_TRANSACTION_REFERENCE
• BASE_TRANSACTION_VALUE
• PROJECT_BURDENED_COST
Slide 27
Reconciliation Table Architecture LEGEND
Inventory & WIP tables
(XXX_RECONCILE_PRJ_MFG) PA Expenditure Items All table
New integration column
ACTUAL_COST NUMBER
INSERT_REASON VARCHAR2(50)
NEW_COST NUMBER
INSERT_SCRIPT VARCHAR2(30)
PRIOR_COST NUMBER
UPDATED_FLAG VARCHAR2(1)
TRANSACTION_COST NUMBER
INVENTORY_ITEM_ID NUMBER
GL_BATCH_ID NUMBER
ORGANIZATION_ID NUMBER
RESOURCE_ID NUMBER
TRANSACTION_DATE DATE
UOM VARCHAR2(3)
TRANSACTION_ID NUMBER
BASE_TRANSACTION_VALUE NUMBER
TRANSFER_TRANSACTION_ID NUMBER
REFERENCE_ACCOUNT NUMBER
TRANSACTION_ACTION_ID NUMBER
ACCOUNTING_LINE_TYPE NUMBER
TRANSACTION_SOURCE_TYPE_ID NUMBER
COST_ELEMENT_ID NUMBER
TRANSACTION_SOURCE_ID NUMBER
EXPENDITURE_ITEM_ID NUMBER
TRANSACTION_SOURCE VARCHAR2(30)
EXPENDITURE_ITEM_DATE DATE
TRANSACTION_TYPE_ID NUMBER
ORIG_TRANSACTION_REFERENCE VARCHAR2(30)
TRANSACTION_TYPE_NAME VARCHAR2(80)
WIP_RESOURCE_ID NUMBER
SUBINVENTORY_CODE VARCHAR2(10)
UNIT_OF_MEASURE VARCHAR2(30)
TRANSFER_SUBINVENTORY VARCHAR2(10)
QUANTITY NUMBER
LOCATOR_ID NUMBER
PROJECT_BURDENED_COST NUMBER
TRANSFER_LOCATOR_ID NUMBER
INV_EXPENDITURE_TYPE VARCHAR(30)
WIP_ENTITY_NAME VARCHAR2(80)
PRJ_EXPENDITURE_TYPE VARCHAR(30)
PROJECT_ID NUMBER
PSI_RELATED_FLAG VARCHAR(1)
ORIG_PROJECT_ID NUMBER
MMT_PRIMARY_QUANTITY NUMBER
SOURCE_PROJECT_ID NUMBER
MTA_PRIMARY_QUANTITY NUMBER
TO_PROJECT_ID NUMBER
PM_COST_COLLECTED VARCHAR(1)
Slide 28
Run List – INSERT & UPDATE Scripts
Insert all rows from MTA and WTA into the recon. table for all rows
where the accounting line type is ‘Inventory’ and ‘WIP’ (1 and 7) or
where the row is related to a project
In effect, make a copy of the material and wip accounting tables for
inventory and wip valuation entries
Also copy the non-inventory and non-WIP valuation entries that
reference a project so that we can reconcile the PSI inquiry to the G/L
Slide 29
Business Requirements – Report Reports
Summary by:
• Full account • Transaction Name
• Organization code • Amount to Subinventory
• Project • Amount to WIP
• Expenditure Type • Amount directly to Projects
Slide 30
Business Requirements – Report Reports
Reconcile to the G/L by full or partial account segments:
Slide 31
Business Requirements – Report Layout
Reconcile Project Manufacturing to Project Accounting by project
number, as the values for both are held in the same table:
Slide 33
How to Implement in Release 12?
Use SLA to populate attribute columns or supporting references
But only 5 supporting references are allowed
Will need custom sources to help populate attribute columns
Timing issues as SLA has to run for both Inventory/WIP and
Projects, before you can figure out what is missing
Slide 34
Custom Programs to Populate SLA Tables
XLA_EVENTS
XLA_EVENTS
Custom
XLA_AE_HEADERS
XLA_AE_HEADERS UPDATE Programs
CREATE
ACCOUNTING To Populate
XLA_AE_LINES ATTRIBUTE
COLUMNS
XLA_DISTRIBUTION
XLA_DISTRIBUTION_LI
NKS
_LINKS
Slide 35
Create Custom UPDATE Programs
LEGEND
Inventory & WIP tables
PA Expenditure Items All table
Integration columns
PA_EXPENDITURE_
ITEMS_ALL
Slide 36
Why is the Release 12 Solution Different?
Slide 37
INV and WIP Integration Details for SLA
APPLICATION_ID
– 707 (Cost Management)
ENTITY_CODE
– MTL_ACCOUNTING_EVENTS
– WIP_ACCOUNTING_EVENTS
SOURCE_DISTRIBUTION_TYPE
– 'MTL_TRANSACTION_ACCOUNTS
– ‘WIP_TRANSACTION_ACCOUNTS
SOURCE_DISTRIBUTION_ID_NUM_1
– INV_SUB_LEDGER_ID
– WIP_SUB_LEDGER_ID
Slide 38
Post Processing Program Details for SLA (Cont’d)
FROM
inv.mtl_transaction_accounts mta,
inv.mtl_material_transactions mmt,
inv.mtl_transaction_types mtt,
inv.mtl_system_items_b msi,
apps.GL_CODE_COMBINATIONS_KFV gcc,
inv.mtl_parameters mp,
xla.xla_transaction_entities ent,
xla.xla_events xe,
xla.xla_distribution_links xdl,
xla.xla_ae_headers ah,
xla.xla_ae_lines al
Slide 39
Post Processing Program Details for SLA (Cont’d)
-- ===========================================
-- Material Transaction, Org and Item Joins
-- ===========================================
where mta.transaction_id = mmt.transaction_id
and mmt.transaction_type_id = mtt.transaction_type_id
and mta.organization_id = msi.organization_id
and mta.inventory_item_id = msi.inventory_item_id
and mp.organization_id = msi.organization_id
Slide 40
Post Processing Program Details for SLA (Cont’d)
-- ========================================================
-- SLA table joins to get the exact account numbers - MTA
-- ========================================================
AND ent.entity_code = 'MTL_ACCOUNTING_EVENTS'
AND ent.application_id = 707
AND xe.application_id = ent.application_id
AND xe.event_id = xdl.event_id
AND ah.entity_id = ent.entity_id
AND ah.ledger_id = ent.ledger_id
AND ah.application_id = al.application_id
AND ah.application_id = 707
AND ah.event_id = xe.event_id
AND ah.ae_header_id = al.ae_header_id
AND al.application_id = ent.application_id
AND al.ledger_id = ah.ledger_id
AND al.AE_HEADER_ID = xdl.AE_HEADER_ID
AND al.AE_LINE_NUM = xdl.AE_LINE_NUM
AND xdl.application_id = ent.application_id
AND xdl.source_distribution_type = 'MTL_TRANSACTION_ACCOUNTS'
AND xdl.source_distribution_id_num_1 = mta.inv_sub_ledger_id
AND gcc.code_combination_id = al.code_combination_id Slide 41
Post Processing Program Details for SLA (Cont’d)
-- ========================================================
-- SLA table joins to get the exact account numbers - WTA
-- ========================================================
AND ent.entity_code = ‘WIP_ACCOUNTING_EVENTS'
AND ent.application_id = 707
AND xe.application_id = ent.application_id
AND xe.event_id = xdl.event_id
AND ah.entity_id = ent.entity_id
AND ah.ledger_id = ent.ledger_id
AND ah.application_id = al.application_id
AND ah.application_id = 707
AND ah.event_id = xe.event_id
AND ah.ae_header_id = al.ae_header_id
AND al.application_id = ent.application_id
AND al.ledger_id = ah.ledger_id
AND al.AE_HEADER_ID = xdl.AE_HEADER_ID
AND al.AE_LINE_NUM = xdl.AE_LINE_NUM
AND xdl.application_id = ent.application_id
AND xdl.source_distribution_type = ‘WIP_TRANSACTION_ACCOUNTS'
AND xdl.source_distribution_id_num_1 = wta.wip_sub_ledger_id
AND gcc.code_combination_id = al.code_combination_id Slide 42
Summary
Overall PJM reconciliation tools do not exist in current releases
Use the information presented here to help you create your own solution
Slide 43
Summary
In Release 11i creating a custom table is your only choice
Slide 44
Appendix
Slide 45
Douglas Volz
Professional Background
Doug Volz is a Senior Architect and Advisor for Oracle Application projects, with a particular interest in
Project and Cost Management. He has 30 years accumulated experience, including 5 years in Oracle
Development (co-designing Oracle Cost Management) and 12 years in industry in Cost and
Accounting Management positions. His Manufacturing and Cost systems experience covers project
management, software design/development, 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.
In his consulting roles, Doug has served over 100 clients. Many of these were multi-org, multi-currency
with global footprints. Countries include US, Mexico, UK, Netherlands, Belgium, Taiwan, P.R.O.C.,
Norway, Japan, Italy and Germany.
Doug leads the Cost Sub-Committee, for the OAUG Discrete Manufacturing Special Interest Group.
He also advises and participates on the Oracle Customer Advisory Board for Fusion Costing.
For follow-up:
Catherine.Gauchat@TCI.spx.com
randerson@projectp.com
doug@volzconsulting.com
Slide 47