You are on page 1of 47

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 &
G/L
WIP Value

Project
Accounting G/L

Inventory & Project


WIP Value 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 &


Receipt Attendance

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

INV and WIP


Distribution Cost
Accounting Collector
Tables

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

 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 Sales Order


Completions Returns

WIP
Completions WIP Scrap
Returns

Sales Order WIP Scrap


Issues 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)

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

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 INV INV Prod INV
Matl Acct Res. Acct OVHD Acct OSP Acct
Transfer to Project 13.83 44.40
(From Subinv PRJ)

Project Project Project Project


Matl Acct Res. Acct OVHD Acct OSP Acct
To Project 123 13.83 0.00 0.00 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 “Real”


Xfer 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 INV Matl Acct


“From” “To” XXX
(Minus Qty) (Plus Qty) XXX

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

Key Reference Columns Column Values

TRANSACTION SOURCE (‘Inventory’, ‘Work in Process’)

(TRANSACTION_ID from
ORIG_ MTL_TRANSACTION_ACCOUNTS &
TRANSACTION_REFERENCE WIP_TRANSACTION_ACCOUNTS)

PRJ_EXPENDITURE_TYPE (similar to cost elements)

SYSTEM_LINKAGE_FUNCTION (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 non-
project 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

• 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

 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 • 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:

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

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

POPULATE ATTRIBUTE COLUMNS FOR: Distribution Accounting


Tables
• TRANSACTION_ID MTL_TRANSACTION_
• TRANSACTION_SOURCE ACCOUNTS
• EXPENDITURE_ITEM_ID WIP_TRANSACTION_
• PROJECT_ID ACCOUNTS
• PSI_RELATED_FLAG
• ORIG_TRANSACTION_REFERENCE
• BASE_TRANSACTION_VALUE Project Cost
• PROJECT_BURDENED_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
POPULATE ATTRIBUTE COLUMNS FOR:
Integration columns
• 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 Sample of clients served:
Implementations  Beckman Coulter (US)
 Project Management and Senior Project Advisor  Matsushita (UK, Mexico)
 Core manufacturing processes  NTL (now Virgin Media)
 Cost Management
 Inventory  Logitech (US, Taiwan, P.R.C.)
 Bills of Material  Matsushita (UK, Mexico)
 WIP  NTL (now Virgin Media)
 Systems Integration and Data Conversions
 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

You might also like