Can We Actually Reconcile Project MFG to Inventory, WIP, Projects

advertisement
Can We Actually Reconcile Project MFG to
Inventory, WIP, Projects & G/L? What Was I
Thinking?
Catherine Gauchat
TCI International
&
Douglas Volz
Douglas Volz Consulting
Background
 Through Project Partners, TCI requested help reconciling PJM
 One Ledger (set of books), one operating unit, one inventory
organization
 About 50 to 80 projects per month
 50,000 to 80,000 inventory and WIP transactions each month
 Project MFG, configurator, FIN modules (G/L, PO, A/P, A/R, F/A,
Project Costing, Project Billing)
 Manufactures antenna systems for commercial and defense clients
Slide 2
Background
Inventory / WIP
Projects
G/L
Military
Customers
Commercial
Customers
Slide 3
Agenda
 Business Requirements
 Reconcile Inventory & WIP & Projects & G/L all together
 Lay of the Land – Built-In PJM Issues
 PJM Inventory/WIP Accounting Design Issues
 Cost Collector Design Issues
 Lack of Reconciliation Reporting
 Reconciliation Opportunities – Release 11i & 12
 Reconciliation Association Table
 Reconciliation Reporting
Slide 4
Agenda (Continued)
 Using Subledger Accounting for PJM Reconciliation
 Use Subledger Accounting Rules to Populate attribute columns
 Coupled with Custom Reconciliation Reporting
 Pros and Cons with SLA vs. Custom Reconciliation Table
 Presentation Summary
 Business Requirements
 Built-in PJM Reconciliation Issues
 Solution Summary
Slide 5
Business Requirements
 Ability to Reconcile
All at the same
time!
Inventory &
WIP Value
G/L
Project
Accounting
G/L
Inventory &
WIP Value
Project
Accounting
Slide 6
Business Requirements
 Identify Differences
 Inventory & WIP compared to Projects
 Inventory & WIP compared to G/L
Slide 7
Background Information for Project Manufacturing
 Manufacturing has the following transactions:
Purchasing
WIP
Delivery
Transactions
Purchasing
Time &
Attendance
Receipt
Material
Transactions
Borrow /
Payback, etc.
Slide 8
Inventory Transaction Tables
MTL_SYSTEM_ITEMS_B
MTL_PARAMETERS
• ORGANIZATION_ID
• PRIMARY_COST_METHOD
• INVENTORY_ITEM_ID
• ORGANIZATION_ID
• SEGMENT1
• DESCRIPTION
MTL_MATERIAL_TRANSACTIONS
MTL_TRANSACTION_ACCOUNTS
• TRANSACTION_ID
• TRANSFER_TRANSACTION_ID
• ORGANIZATION_ID
• INVENTORY_ITEM_ID
• TRANSACTION_SOURCE_TYPE_ID
• TRANSACTION_TYPE_ID
• PROJECT_ID
• TO_PROJECT_ID
• SOURCE_PROJECT_ID
• SUBINVENTORY_CODE
• PRIMARY_UOM
• PRIMARY_QUANTITY
•TRANSACTION_ID
• ORGANIZATION_ID
• INVENTORY_ITEM_ID
• TRANSACTION_SOURCE_TYPE_ID
• PRIMARY_QUANTITY
• BASE_TRANSACTION_VALUE
• REFERENCE_ACCOUNT
• ACCOUNTING_LINE_TYPE
Slide 9
WIP Transaction Tables
MTL_SYSTEM_ITEMS_B
• ORGANIZATION_ID
• PRIMARY_COST_METHOD
• INVENTORY_ITEM_ID
• ORGANIZATION_ID
• SEGMENT1
• DESCRIPTION
WIP_TRANSACTIONS
WIP_ENTITIES
• WIP_ENTITY_ID
•TRANSACTION_ID
• ORGANIZATION_ID
• TRANSACTION_TYPE
• PROJECT_ID
• PRIMARY_QUANTITY
• WIP_ENTITY_ID
• ENTITY_TYPE
• ORGANIZATION_ID
• WIP_ENTITY_NAME
• PRIMARY_ITEM_ID
MTL_PARAMETERS
WIP_TRANSACTION_ACCOUNTS
•TRANSACTION_ID
• WIP_ENTITY_ID
• ORGANIZATION_ID
• PROJECT_ID
• PRIMARY_QUANTITY
• BASE_TRANSACTION_VALUE
• REFERENCE_ACCOUNT
• ACCOUNTING_LINE_TYPE
Slide 10
Project Manufacturing Integration
INV and WIP
Distribution
Accounting
Tables
Cost
Collector
PA_EXPENDITURE_ITEMS_ALL
• PROJECT_ID
• TRANSACTION_SOURCE
• EXPENDITURE_TYPE
• ORIG_TRANSACTION_REFERENCE
• SYSTEM_LINKAGE_FUNCTION
• PROJECT_BURDENED_COST
Project
Balances
Slide 11
Background Information for Project Manufacturing
 These transactions are integrated to Projects through:
 Project Id  Project Id, To Project Id, Source Project Id
 Transaction Sources  WIP, Inventory, Time & Attendance
 Expenditure Types  similar to Cost Elements
 System Linkage Function  similar to Cost Elements
 ORIG_TRANSACTION_REFERENCE  Transaction ID for
Inventory & WIP
Slide 12
Background Information about PSI
(Project Status Inquiry)
 Certain material transactions are not PSI-related:
(Project Status Inquiry related)
WIP
Completions
Sales Order
Returns
WIP
Completions
Returns
WIP Scrap
Sales Order
Issues
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:
Misc. Project Transfers
WIP component returns
Subinventory Transfers
WIP negative component return
WIP component issues
WIP negative component issue
Slide 14
PJM Inventory/WIP Accounting Design Issues
 Too Many Accounting Entries!
 PJM significantly increases the number of detailed accounting
entries
• Transfers by Cost Group on top of normal entries
• Accounting by Cost Element
 A Cost Group Transfer is required every time goods move
from one Cost Group to another
Slide 15
Too Many Accounting Entries – Example 1
 Accounting Debits and Credits for Material Issue to WIP
(Average Costing Example from Release 11i)
WIP Matl Acct INV Matl Acct
Matl Issue to WIP
Cost Group Xfer
582.75
Cost Group
Xfer Acct
582.75
582.75 582.75
A two-line detailed transaction is written as a four-line entry
Slide 16
Too Many Accounting Entries – Example 2
 Accounting Debits and Credits for Transfer to Project
(Average Costing Example from Release 11i)
INV
Matl Acct
Transfer to Project
(From Subinv PRJ)
INV Prod
OVHD Acct
INV
OSP Acct
13.83
Project
Matl Acct
To Project 123
INV
Res. Acct
13.83
44.40
Project
Res. Acct
0.00
Project
OVHD Acct
0.00
Project
OSP Acct
44.40
A four-line transaction is written as a six-line entry
Slide 17
Too Many Accounting Entries – Technical Look
 Sample Data from MTL_MATERIAL_TRANSACTIONS and
MTL_TRANSACTION_ACCOUNTS
 Average Costing Example from Release 11i
Cost Group
Xfer
“Real”
Entries
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
MTL_MATERIAL_TRANSACTIONS
“From”
“To”
(Minus Qty)
(Plus Qty)
PA_
EXPENDITURE_
ITEMS_ALL
Projects References
the “From Entry”
INV Matl Acct
XXX
XXX
Material Accounting
References the “To”
Entry
Slide 20
Cost Collector Design Issues
 Difficult to Join PA_EXPENDITURE_ITEMS_ ALL with:
 MTL_TRANSACTION_ACCOUNTS and
 WIP_TRANSACTION_ACCOUNTS
Key Reference Columns
TRANSACTION SOURCE
ORIG_
TRANSACTION_REFERENCE
PRJ_EXPENDITURE_TYPE
SYSTEM_LINKAGE_FUNCTION
Column Values
(‘Inventory’, ‘Work in Process’)
(TRANSACTION_ID from
MTL_TRANSACTION_ACCOUNTS &
WIP_TRANSACTION_ACCOUNTS)
(similar to cost elements)
(Inventory and WIP values are
‘INV’, ‘WIP’, ‘BTC’)
Slide 21
Cost Collector Design Issues
 For Inventory Transactions the SYSTEM_LINKAGE_FUNCTION
value of ‘INV’ is not unique:
 For miscellaneous project transfers from Inventory to a Project, the
value ‘INV’ could be for cost element id = 1 (material) or 2 (material
overhead) for the same expenditure type
 Sample code:
and
(decode(peia.SYSTEM_LINKAGE_FUNCTION, 'INV', 1,'BTC', 5, 1)
= xrpm.cost_element_id
or
decode(peia.SYSTEM_LINKAGE_FUNCTION, 'INV', 2,'BTC', 5, 1)
= xrpm.cost_element_id)
• XRPM is the table alias for the reconciliation table
XXX_RECONCILE_PRJ_MFG
• peia is the table PA_EXPENDITURE_ITEMS_ALL
Slide 22
Cost Collector Design Issues
 For WIP Transactions the SYSTEM_LINKAGE_FUNCTION value
of ‘WIP’ is not unique:
 For the same project & task, PA_EXPENDITURE_ITEMS_ ALL
rows can have the same:
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 nonproject subinventory
 Transactions that Are Not PSI Related are Picked Up by
the Cost Collector
 Inventory material transactions transferred to/from same
project
 For inventory transfers into a project, the Cost Collector
picks up the wrong Expenditure Type
 Really hard to find these discrepancies
Slide 24
Lack of Reconciliation Tools
 New Tools Exist in R12 but:
 Only summary inquiry screens – Cost Activity Workbench
 No easy to use reconciliation reports
 The new tools help with Project Manufacturing inquiries and
drill-down but don’t directly address an overall reconciliation
solution
So how do we solve
these reconciliation
issues?
Slide 25
Custom Opportunities In Release 11i and 12
 So What Can Be Done for Release 11i?
 Create custom reconciliation tables
 Create custom reconciliation reports
 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
MTL_TRANSACTION_
ACCOUNTS
WIP_TRANSACTION_
ACCOUNTS
• TRANSACTION_ID
• TRANSACTION_SOURCE
• EXPENDITURE_ITEM_ID
• PROJECT_ID
• PSI_RELATED_FLAG
• ORIG_TRANSACTION_REFERENCE
• BASE_TRANSACTION_VALUE
• PROJECT_BURDENED_COST
PA_EXPENDITURE
_ITEMS_ALL
Slide 27
Reconciliation Table Architecture
(XXX_RECONCILE_PRJ_MFG)
INSERT_REASON
INSERT_SCRIPT
UPDATED_FLAG
INVENTORY_ITEM_ID
ORGANIZATION_ID
TRANSACTION_DATE
TRANSACTION_ID
TRANSFER_TRANSACTION_ID
TRANSACTION_ACTION_ID
TRANSACTION_SOURCE_TYPE_ID
TRANSACTION_SOURCE_ID
TRANSACTION_SOURCE
TRANSACTION_TYPE_ID
TRANSACTION_TYPE_NAME
SUBINVENTORY_CODE
TRANSFER_SUBINVENTORY
LOCATOR_ID
TRANSFER_LOCATOR_ID
WIP_ENTITY_NAME
PROJECT_ID
ORIG_PROJECT_ID
SOURCE_PROJECT_ID
TO_PROJECT_ID
VARCHAR2(50)
VARCHAR2(30)
VARCHAR2(1)
NUMBER
NUMBER
DATE
NUMBER
NUMBER
NUMBER
NUMBER
NUMBER
VARCHAR2(30)
NUMBER
VARCHAR2(80)
VARCHAR2(10)
VARCHAR2(10)
NUMBER
NUMBER
VARCHAR2(80)
NUMBER
NUMBER
NUMBER
NUMBER
LEGEND
Inventory & WIP tables
PA Expenditure Items All table
New integration column
ACTUAL_COST
NUMBER
NEW_COST
NUMBER
PRIOR_COST
NUMBER
TRANSACTION_COST
NUMBER
GL_BATCH_ID
NUMBER
RESOURCE_ID
NUMBER
UOM
VARCHAR2(3)
BASE_TRANSACTION_VALUE
NUMBER
REFERENCE_ACCOUNT
NUMBER
ACCOUNTING_LINE_TYPE
NUMBER
COST_ELEMENT_ID
NUMBER
EXPENDITURE_ITEM_ID
NUMBER
EXPENDITURE_ITEM_DATE
DATE
ORIG_TRANSACTION_REFERENCE VARCHAR2(30)
WIP_RESOURCE_ID
NUMBER
UNIT_OF_MEASURE
VARCHAR2(30)
QUANTITY
NUMBER
PROJECT_BURDENED_COST
NUMBER
INV_EXPENDITURE_TYPE
VARCHAR(30)
PRJ_EXPENDITURE_TYPE
VARCHAR(30)
PSI_RELATED_FLAG
VARCHAR(1)
MMT_PRIMARY_QUANTITY
NUMBER
MTA_PRIMARY_QUANTITY
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
 Update the reconciliation table with the corresponding information
from PA_EXPENDITURE_ITEMS_ALL
 You have all your reconciliation information in one place
Slide 29
Business Requirements – Report Reports
 Summary by:
• Full account
• Organization code
• Project
• Expenditure Type
• Transaction Name
• Amount to Subinventory
• Amount to WIP
• 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:
This example was designed for monthly totals
Slide 32
Business Requirements – Report Differences
 Report Differences – transactions exist in both but do not agree
(Cost Group Transfer Issue)
 PSI-Related transactions exist in MTA or WTA but not in PEIA
 Transactions related to a project but not PSI Related and still in
PEIA (still in the Project Status Inquiry)
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
 So how would we do this in Release 12?
Slide 34
Custom Programs to Populate SLA Tables
INV, WIP, Projects
Distribution
Accounting
Tables
SLA Accounting Tables
XLA_EVENTS
XLA_EVENTS
CREATE
ACCOUNTING
XLA_AE_HEADERS
XLA_AE_HEADERS
XLA_AE_LINES
Custom
UPDATE Programs
To Populate
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
POPULATE ATTRIBUTE COLUMNS FOR:
• TRANSACTION_ID
• TRANSACTION_SOURCE
• EXPENDITURE_ITEM_ID
• PROJECT_ID
• PSI_RELATED_FLAG
• ORIG_TRANSACTION_REFERENCE
• BASE_TRANSACTION_VALUE
• PROJECT_BURDENED_COST
Distribution Accounting
Tables
MTL_TRANSACTION_
ACCOUNTS
WIP_TRANSACTION_
ACCOUNTS
Project Cost
Collection Table
PA_EXPENDITURE_
ITEMS_ALL
Slide 36
Why is the Release 12 Solution Different?
 Attribute columns available in SLA tables
 SLA can change the account numbers (accounting flexfield)
 Update the MTA and WTA SLA entries for information in
PA_EXPENDITURE_ITEMS_ALL (PEIA)
 For both entries in inventory (onhand) belonging to a project and
entries issued from inventory, not onhand, belonging to a project
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
 You could enlarge this example to include any project subledger or
expenditure source, such as:
 Payables
 Purchasing
 Time and Attendance
 Other outside systems
 You can save time just like TCI did
 two people over three weeks to now less than 3 days
 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
 In Release 12 use similar custom programs to populate attribute
columns (ATTRIBUTE1 – 15) with the same information as found in
the reconciliation table
LEGEND
Inventory & WIP tables
PA Expenditure Items All table
Integration columns
POPULATE ATTRIBUTE COLUMNS FOR:
• TRANSACTION_ID
• TRANSACTION_SOURCE
• EXPENDITURE_ITEM_ID
• PROJECT_ID
• PSI_RELATED_FLAG
• ORIG_TRANSACTION_REFERENCE
• BASE_TRANSACTION_VALUE
• PROJECT_BURDENED_COST
Slide 44
Appendix
 Professional Background for Douglas Volz
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.
Core Expertise
Experience
 Multi-organization, Multi-currency ERP
Implementations
 Project Management and Senior Project Advisor
 Core manufacturing processes
 Cost Management
 Inventory
 Bills of Material
 WIP
 Systems Integration and Data Conversions
Sample of clients served:
 Beckman Coulter (US)
 Matsushita (UK, Mexico)
 NTL (now Virgin Media)
 Logitech (US, Taiwan, P.R.C.)
 Matsushita (UK, Mexico)
 NTL (now Virgin Media)
 TCI International (US)
 Onninen AS (Norway)
Slide 46
Thanks for allowing us to discuss these topics with you!
For follow-up:
Catherine.Gauchat@TCI.spx.com
randerson@projectp.com
doug@volzconsulting.com
Slide 47
Download