Professional Documents
Culture Documents
Prepared by:
Doug Volz
Douglas Volz Consulting, Inc.
REMINDER
Check in on the
COLLABORATE mobile app
Learning Points
■ Learn how to use SLA and other techniques for solving this
business requirement
■ Shipping Burdens
▪ Definitions and Accounting Principles
▪ Why needed? Why Shipping Burdens?
▪ How does SLA work with Discrete Oracle Cost Management?
▪ Why was Release 11i so Much Easier?
▪ Business Solutions for Shipping Burdens
▪ Recent Client Experiences with Release 12
▪ Appendix:
— Create Material Shipping Burden & SLA Entries
— Discrete Cost Management SLA Model
— Inventory Transactions Architecture
— Create DFFs for Sub-Elements and Material Transactions
Doug Volz
Helping people use Oracle since 1990
■ Professional Summary
▪ 30+ years industry, design and consulting experience, specializing in design,
implementation and project delivery for Cost Management business solutions
▪ Specific areas of expertise:
• Profit in inventory • Multi‐org inventory reporting
• Intercompany • Inventory reconciliation
• A/P accruals • Product Line & Margin analysis
• WIP analysis • Cost Rollup and Update
▪ Presenter at Collaborate (OAUG) and UKOUG since 1996
▪ Multi-national experience in twelve countries +1 510 755 7050
doug@volzconsulting.com
■ Qualification Summary www.volzconsulting.com
▪ Former co-designer for Oracle Cost Management
▪ Lead the OAUG Cost Management Special Interest Group
▪ Cost Management industry experience
Helping people using Oracle Applications since 1990
Copyright ©2014 Douglas Volz Consulting, Inc.
Douglas Volz Consulting, Inc.
Douglas Volz Consulting started in 2005 to provide:
Cost Accounting Business & System Improvements
Procure to Pay Business Improvements
Project Management and Advisory Services
Multi-Org, Global Cost Reporting Solutions
Lots of free advice and conference papers:
• www.volzconsulting.com/resources.html
• www.volzconsulting.com/oaugcostsig.html
Sample Project Experience:
Helping people using Oracle Applications since 1990
Copyright ©2014 Douglas Volz Consulting, Inc.
Solutions You Can Use
─ http://oaug.org/education-events/cpd
2008 OAUG Collaborate & 2007 UKOUG: A/P Accruals
How to Setup, Use and Balance Your A/P Accrual Accounts (or How to Manage the Accounts from Hades)
2009, 2013 & 2014: OAUG Collaborate & UKOUG: Cost Management & SLA
2009: Cost Accoun ng As You Want It ─ EBS R12 Cost Accoun ng with SLA
2013: Subledger Accounting for Discrete Cost Accounting: Product Line Accounting Made
Easy Through SLA
2014: How to Create Shipping Burdens for Oracle Cost Management, in Spite of Subledger
Accounting
2010: OAUG Collaborate: Profit in Inventory Solutions & PJM Solutions
Does Rel. 12 Solve Global Inter‐Company Issues for Multiple Ledgers, Profit in Inventory and COGS?
Can We Actually Reconcile Project MFG to Inventory, WIP, Projects & G/L? What Was I Thinking?
2011 & 2014: OAUG Collaborate & UKOUG: Inventory Reconciliation
2011: 60 Inventory Orgs? 6 Ledgers? No Worries, Reconcile Your Inventory With Ease!
2014: Reconcile Your Inventory to G/L Balances With Ease, From 1 to 1,000 Inventory Organizations!
2012: OAUG Collaborate: Transaction Interfaces for Period Close
Egads! How in the Dickens Do I Handle Those Month‐End Interfaces?
(And Why Can’t I Close My Books)
Definitions and Accounting
Principles
Definitions
■ Burdens:
Another word for Overheads or Indirect Costs; as a general
term Overheads may include expenses related to product
procurement, production, warehousing or distribution as well as
non-product related expenses such as G&A and selling
expenses
■ Handling Costs:
US GAAP – FAS605: “Costs incurred to store, move, and
prepare the products for shipment. Generally, handling costs
are incurred from the point the product is removed from
finished goods inventory to the point the product is provided to
the shipper and often include an allocation of internal
overhead.”
Definitions
■ Inventoriable Costs:
Acquisition and production costs included in the inventory
value, such as direct materials, direct labor, indirect
manufacturing overheads and indirect material handling costs
US GAAP – FAS 151: “Inventories are presumed to be stated at cost. The definition of
cost as applied to inventories is understood to mean acquisition and production cost
…”
IFRS – IAS2: “The cost of inventories shall comprise all costs of purchase, costs of
conversion and other costs incurred in bringing the inventories to their present
location and condition.”
Definitions
■ Non-Inventoriable Costs:
General and administrative (G&A) and selling expenses or any cost
which is not related to the acquisition or production product cost
IFRS – IAS2: “Certain costs are not included in the valuation of inventories. These
costs are recognized as expense when they occur. Following are some of the
common examples of these costs:
▪ Abnormal wastage of materials, labor and other production costs
▪ Storage costs if they are not essential for the production process
▪ Selling and distribution costs
▪ Administrative costs that are not involved in bringing the inventory to its present
condition and location”
Definitions
■ Selling Expenses:
Costs incurred to market products such as advertising, sales
commissions, sales salaries, sales offices and other selling
expenses
■ Shipping Costs:
US GAAP – FAS605: “Costs incurred to physically move the product
from the seller’s place of business to the buyer’s designated
location.”
Accounting Principles
Shipping Burden
DR COGS Account 10 Account
CR Matl Overhead Absorption 10 Ovhd Absorption
Release 12 COGS Example: Original Entries
Shipping Burdens
Shipping Burden
DR COGS Account 10 COGS
CR Matl Overhead Absorption 10 Ovhd Absorption
Why Was Release 11i So Much
Easier for Adding Shipping
Burdens?
R10 – R11i Transaction Flow for Cost Mgmt
Enter Transaction(s)
Receiving
Material
Accounting WIP
Processor
G/L Tables
Transaction Inventory
Accounting Tables Period Close
GL_SETS_OF_BOOKS
GL_JE_BATCHES
GL_ Journal
Transfer to G/L
INTERFACE Import
GL_JE_HEADERS
GL_JE_LINES
Release 11i Solution
■ Enter Material Overhead Sub-Element(s) for Shipping Burdens
PO Receipts
RCV
Txn Sources
RCV
SO Shipmts
COST
INV INV G/L
Inventory
WIP WIP
WIP
LSPs, Others
Key Concepts for SLA Transaction Types
Event Model:
A set of subledger transaction types with common characteristics
Module
Enter Transaction(s) Specific One Common
Transaction Accounting
Accounting Subledger
Tables Table
Accounting
Processor
Receiving GL_JE_BATCHES
Create XLA_AE_HEADERS GL_
Material Accounting INTERFACE
WIP
GL_JE_HEADERS
XLA_AE_LINES
XLA_DISTRIBUTION GL_JE_LINES
_LINKS
Setup and Process
ADR SETUPS PROCESS
MTL
MTL_MATERIAL_TRANSACTIONS
SLA
COST MANAGER
XLA_EVENTS
CREATE ACCOUNTING
Material Create New
Material Cost
Accounting Matl Acct’g
Transactions Processor
Entries Entries
■ Make the best choice for your situation, there is not one
“right” answer
Appendix
Added a DFF to avoid hard‐
coding the Sub‐Element name
Choose Material Txn Types for Burdens
Click
here
2) Identify Which Transactions to Apply
Shipping Burdens
■ Use the Appendix Section “Discrete Cost Management SLA Model”
▪ Identify which SLA Event Class Names: Sales Order Issue
▪ Identify which Event Type Name
— COGS Recognition
— RMA Receipt
— RMA Issue
▪ Identify which SLA Journal Line Types to change:
— Cost of Goods Sold, Deferred COGS, Cost Update Adjustment
Identify Which Transactions to Apply
Shipping Burdens (Cont’d)
■ Have to Correlate SLA Events With “Real” Material Transactions
Uncheck Multi‐Org
Enter and Store the Shipping Burden Rates (Cont’d)
■ Enter the rate by cost type by item (for this example)
■ You could also use a MFG Lookup Code, custom table …
Example Values From CST_ITEM_COST_DETAILS
(transaction_id, (v_trx_id,
reference_account, v_adjust_account,
last_update_date, SYSDATE,
last_updated_by,
transaction_date,
v_mtl.organization_id,
v_mtl.transaction_date,
transaction_source_type_id,
v_mtl.transaction_source_id,
v_mtl.transaction_source_type_id,
TRANSACTION_ID transaction_value,
primary_quantity,
v_trx_val,
v_trx_qty,
gl_batch_id, -1,
accounting_line_type, 3, -- Material Overhead Absorption
base_transaction_value, v_trx_val,
rate_or_amount,
v_mtl.contra_set_id,
v_trx_rate,
resource_id,
v_basis_type,
v_resource_id,
activity_id,
2,
NULL,
currency_code, v_mtl.currency_code,
currency_conversion_date, v_mtl.currency_conversion_date,
currency_conversion_type, v_mtl.currency_conversion_type,
■ BASE_TRANSACTION_AMOUNT = currency_conversion_rate,
request_id,
v_mtl.currency_conversion_rate,
v_request_id,
program_id,
fnd_profile.VALUE('PROGRAM_APPLICATION_ID'),
fnd_profile.VALUE('PROGRAM_ID'),
encumbrance_type_id,
SYSDATE,
v_mtl.encumbrance_type_id,
repetitive_schedule_id, v_mtl.repetitive_schedule_id,
gl_sl_link_id) '');
VALUES
Values for MTL_TRANSACTION_ACCOUNTS
MTL_TRANSACTION_ACCOUNTS SOURCE COMMENTS
TRANSACTION_ID MTL_TRANSACTION_ACCOUNTS Same as COGS entry
REFERENCE_ACCOUNT ABSORPTION_ACCOUNT From BOM_RESOURCES
INVENTORY_ITEM_ID MTL_TRANSACTION_ACCOUNTS Same as COGS entry
ORGANIZATION_ID MTL_TRANSACTION_ACCOUNTS Same as COGS entry
TRANSACTION_DATE MTL_TRANSACTION_ACCOUNTS Same as COGS entry
TRANSACTION_SOURCE_ID MTL_TRANSACTION_ACCOUNTS Same as COGS entry
TRANSACTION_SOURCE_TYPE_ID MTL_TRANSACTION_ACCOUNTS Same as COGS entry
TRANSACTION_VALUE MTL_TRANSACTION_ACCOUNTS NULL for COGS
PRIMARY_QUANTITY MTL_TRANSACTION_ACCOUNTS Same as COGS entry
GL_BATCH_ID MTL_TRANSACTION_ACCOUNTS NULL
ACCOUNTING_LINE_TYPE CST_ACCOUNTING_LINE_TYPE 3 – overhead absorption
35 – cost of goods sold
BASE_TRANSACTION_VALUE USAGE_RATE_OR_AMOUNT X For Basis Type “Percent
COGS BASE_TRANSACTION_VALUE X of Total Value”
SIGN(PRIMARY_QUANTITY)
Values for MTL_TRANSACTION_ACCOUNTS
MTL_TRANSACTION_ACCOUNTS SOURCE COMMENTS
CONTRA_SET_ID MTL_TRANSACTION_ACCOUNTS Same as COGS entry
RATE_OR_AMOUNT USAGE_RATE_OR_AMOUNT From the item cost
BASIS_TYPE CST_BASIS_TYPES Lookup Code 5 for “% of Total Value”
RESOURCE_ID BOM_RESOURCES.RESOURCE_ID Sub‐Element Identifier
COST_ELEMENT_ID BOM_RESOURCES. Usually a value of 2
COST_ELEMENT_ID (Material Overhead)
Assign it to a Ledger
Desired Material Transaction Flow
Material Create
Material Cost
Accounting Accounting A
Transactions Processor
Entries
Create New
No Don’t Material
Process the Accounting
Journal Line Entries
Shipping
A Burdens
Exist?
Create
Accounting A
Yes Do Process
the Journal
Line
New SLA Conditions
Create Custom PL/SQL Function
Create custom PL/SQL function
Assign it to a Ledger
Create Custom PL/SQL Function
l_yes_no varchar2(2);
BEGIN
SELECT nvl((select DISTINCT('Y')
from inv.mtl_material_transactions mmt,
inv.mtl_transaction_types mtt,
inv.mtl_transaction_accounts mta
where mmt.transaction_id = p_transaction_id
and mmt.transaction_type_id = mtt.transaction_type_id
and mmt.transaction_id = mta.transaction_id
and ((nvl(mtt.attribute1,'N') = 'Y' -- indicates this transaction is for Shipping Burdens
and
nvl(mmt.attribute15,'N') = 'Y' -- indicates shipping burden exist
)
OR
(nvl(mtt.attribute1, 'N') = 'N' -- indicates not for Shipping Burdens
)
)
), 'N'
)
into l_yes_no
FROM inv.mtl_material_transactions mmt
WHERE mmt.transaction_id = p_transaction_id
;
RETURN l_yes_no;
END XXX_CST_CNTRL_CREATE_ACCTG;
/
Define Custom Sources
Menu path: Cost Management SLA => Setup => Accounting Methods Builder => Sources =>
Custom Sources
■ Need to use the correct parameters for your PL/SQL inputs
Create Journal Line Types and Definitions
Create custom PL/SQL function
Assign it to a Ledger
Determine Which Journal Lines to Change
Menu path: Cost Management SLA => Accounting Setup => Accounting Methods Builder =>
Methods and Definitions => Journal Lines Definitions
2) Enter Line Type
Code, Name and
Description
3) Click Done
1) Click Copy
Definition
Copy Journal Line Types
Menu path: Cost Management SLA => Accounting Setup => Accounting Methods Builder =>
Journal Entry Setups => Journal Line Types
■ Add New Conditions to the Journal Line Type
Click
Conditions
Copy Journal Line Types
Menu path: Cost Management SLA => Accounting Setup => Accounting Methods Builder =>
Journal Entry Setups => Journal Line Types
Indicates if the journal line
y p
is ready to be processed
Ensures that COGS is only charged for
the COGS Recognition Transaction Type
Copy Journal Line Types
Menu path: Cost Management SLA => Accounting Setup => Accounting Methods Builder =>
Journal Entry Setups => Journal Line Types
■ Copy the Oracle Journal Line Type – Deferred COGS
2) Enter Line Type
Code, Name and
Description
3) Click Done
1) Click Copy
Definition
Copy Journal Line Types
Menu path: Cost Management SLA => Accounting Setup => Accounting Methods Builder =>
Journal Entry Setups => Journal Line Types
■ Add New Conditions to the Journal Line Type
Click
Conditions
Copy Journal Line Types
Menu path: Cost Management SLA => Accounting Setup => Accounting Methods Builder =>
Journal Entry Setups => Journal Line Types
Indicates if the journal line
y p
is ready to be processed
Ensures that Deferred COGS is only charged
g yp
for the COGS Recognition Transaction Type
Copy Journal Line Types
Menu path: Cost Management SLA => Accounting Setup => Accounting Methods Builder =>
Journal Entry Setups => Journal Line Types
■ Copy the Oracle Journal Line Type – Cost Update Adjustment
2) Enter Line Type
Code, Name and
Description
3) Click Done
1) Click Copy
Definition
Copy Journal Line Types
Menu path: Cost Management SLA => Accounting Setup => Accounting Methods Builder =>
Journal Entry Setups => Journal Line Types
Indicates if the journal line
y p
is ready to be processed
Ensures that RMA Cost Updates are only changed
g yp
for the COGS Recognition Transaction Type
New Journal Line Type for Overhead
Menu path: Cost Management SLA => Accounting Setup => Accounting Methods Builder =>
Journal Entry Setups => Journal Line Types
■ Create the New Journal Line Type
New Journal Line Types
Menu path: Cost Management SLA => Accounting Setup => Accounting Methods Builder =>
Journal Entry Setups => Journal Line Types
■ Add Conditions to the Journal Line Type
Click
Conditions
New Journal Line Types
Menu path: Cost Management SLA => Accounting Setup => Accounting Methods Builder =>
Journal Entry Setups => Journal Line Types
Overhead absorption
accounting line type
Indicates if the journal line
y p
is ready to be processed
Ensures that Overhead Absorption is only charged
g yp
for the COGS Recognition Transaction Type
Create Journal Line Types and Definitions
Create custom PL/SQL function
Assign it to a Ledger
Create Journal Line Definition
Menu path: Cost Management SLA => Accounting Setup => Accounting Methods Builder =>
Journal Entry Setups => Methods and Definitions => Journal Line Definitions
■ Copy the Oracle Journal Line Definition
2) Enter Definition
Code, Name and
Description
3) Click Done
1) Click Copy
Definition
Create Journal Line Definition
Menu path: Cost Management SLA => Accounting Setup => Accounting Methods Builder =>
Journal Entry Setups => Journal Line Types
■ Replace the Oracle Journal Line Types with User Defined
Use default
ADR for Cost
g
Mgmt
Create Journal Line Definition
Menu path: Cost Management SLA => Accounting Setup => Accounting Methods Builder =>
Journal Entry Setups => Journal Line Types
■ Delete Oracle Journal Line Type and Replace with User JL Type
Use default
ADR for Cost
g
Mgmt
Create Journal Line Definition
Menu path: Cost Management SLA => Accounting Setup => Accounting Methods Builder =>
Journal Entry Setups => Journal Line Types
■ Delete Oracle Journal Line Type and Replace with User JL Type
Use default
ADR for Cost
g
Mgmt
Create Journal Line Definition
Menu path: Cost Management SLA => Accounting Setup => Accounting Methods Builder =>
Journal Entry Setups => Journal Line Types
■ Delete Oracle Journal Line Type and Replace with User JL Type
Use default
ADR for Cost
g
Mgmt
Create Journal Line Definition
Menu path: Cost Management SLA => Accounting Setup => Accounting Methods Builder =>
Journal Entry Setups => Journal Line Types
■ Delete Oracle Journal Line Type and Replace with User JL Type
Use default
ADR for Cost
g
Mgmt
Create Journal Line Definition
Menu path: Cost Management SLA => Accounting Setup => Accounting Methods Builder =>
Journal Entry Setups => Journal Line Types
■ Cost Variance and Inventory Valuation Journal Types
Cost Variance
and Inventory
Valuation is
unchanged
Create Application Accounting Definition
Create custom PL/SQL function
Assign it to a Ledger
Create Application Accounting Definition
Menu path: Cost Management SLA => Accounting Setup => Accounting Methods Builder =>
Methods and Definitions => Application Accounting Definitions
■ Copy the standard Oracle Application Accounting Definition
2) Enter Definition
Code, Name and
Description
This limits it to only
3) Click Done
one COA Structure
1) Click Copy
Definition
Create Application Accounting Definition
Menu path: Cost Management SLA => Accounting Setup => Accounting Methods Builder =>
Methods and Definitions => Application Accounting Definitions
■ Validate the Copied Application Accounting Definition
Validate initial copy
Create Application Accounting Definition
Choose the
Event Class
to change
Then delete
the existing
row
Create Application Accounting Definition
Menu path: Cost Management SLA => Accounting Setup => Accounting Methods Builder =>
Methods and Definitions => Application Accounting Definitions
To catch errors
should
validate one‐
by‐one
y
Replace
with new
assignment
Create Application Accounting Definition
Menu path: Cost Management SLA => Requests => Submit a New Request =>
Validate Application Accounting Definitions
These should all
have a Valid
status
Create Subledger Accounting Method (SLAM)
Create custom PL/SQL function
Assign it to a Ledger
Create Subledger Accounting Method
Menu path: Cost Management SLA => Accounting Setup => Accounting Methods Builder =>
Methods and Definitions => Subledger Accounting Methods
2) Enter Definition
Code, Name and
Description
3) Click Done
1) Click Copy
Definition
Assign SLAM to a Ledger
Create custom PL/SQL function
Assign it to a Ledger
Create User-Defined SLAM
Menu path: Cost Management SLA => Accounting Setup => Accounting Methods Builder =>
Methods and Definitions => Subledger Accounting Methods
2) Enter Method
Code, Name and
Description
3) Click Done
1) Click Copy
Definition
Assign Ledger to SLAM
Menu path: Cost Management SLA => Accounting Setup => Accounting Methods Builder =>
Methods and Definitions => Subledger Accounting Methods => Accounting Setups
Assign Ledger to SLAM
Menu path: Cost Management SLA => Accounting Setup => Accounting Methods Builder => Methods and Definitions =>
Subledger Accounting Methods => Accounting Setups
Click on the “pencil” to update the ledger
Assign Ledger to SLAM
Click on the “pencil” to update the ledger
Assign Ledger to SLAM
Select the new
SLAM
Select the new
SLAM
Testing Your SLA Setups
■ If You AAD Validation Fails
▪ Check the Output File
Check Output
Testing Your SLA Setups – Validation Output
■ Valuable Clues
Review error
text
Testing Your SLA Setups
■ Diagnostic Reports to SLA test inputs and outputs
▪ Enable profile option “SLA: Enable Diagnostics”
▪ Run “Create Accounting”
▪ Disable profile option “SLA: Enable Diagnostics”
▪ Run “Transaction Objects Diagnostics” report
▪ Run “Purge Transaction Objects Diagnostics”
Appendix
Sources
Account Sample List of Actions
Unclick here
Sub-Elements:
Enable DFF to Indicate a Shipping Burden (Cont’d)
Use an existing
value set
Sub-Elements:
Enable DFF to Indicate a Shipping Burden (Cont’d)
Unclick
here
Change this
Change these
values
values
Sub-Elements:
Enable DFF to Indicate a Shipping Burden (Cont’d)
Sub-Elements:
Enable DFF to Indicate a Shipping Burden (Cont’d)
Click here to
refreeze
Enable DFF for Material Transaction Types
Unclick
here
Enable DFF for Material Txn Types (Cont’d)
Change this
Change these
values
values
Enable DFF for Material Txn Types (Cont’d)
Click here to
refreeze
Acknowledgements
Doug Volz
doug@volzconsulting.com
www. volzconsulting.com
+1 510 755‐7050
Please complete the session
evaluation
We appreciate your feedback and insight