Upload
phungkhue
View
226
Download
6
Embed Size (px)
Citation preview
REMINDERCheck in on the
COLLABORATE mobile app
How to Create Shipping Burdens for Oracle Cost Management, in Spite of Subledger Accounting!
Prepared by:
Doug VolzDouglas Volz Consulting, Inc.
Session ID#: 13944
Learning Points
■ Learn about the business reasons for earning material overheads at time of shipment and why your COGS and other shipping expenses may be at a different from your inventory costs or value
■ Understand the different approaches to solving this for Release 12 and why this was much easier in Release 11i
■ Learn how to use SLA and other techniques for solving this business requirement
■ Find out which alternative a recent client choose and contrast this with other clients
Agenda
■ 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
■ 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:
▪ Presenter at Collaborate (OAUG) and UKOUG since 1996▪ Multi-national experience in twelve countries
■ Qualification Summary▪ Former co-designer for Oracle Cost Management
▪ Lead the OAUG Cost Management Special Interest Group
▪ Cost Management industry experience
Helping people use Oracle since 1990
+1 510 755 [email protected]
• Multi‐org inventory reporting• Inventory reconciliation• Product Line & Margin analysis• Cost Rollup and Update
• Profit in inventory• Intercompany• A/P accruals• WIP analysis
Doug Volz
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 ImprovementsProcure to Pay Business ImprovementsProject Management and Advisory ServicesMulti-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 AccrualsHow 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 & SLA2009: Cost Accoun ng As You Want It ─ EBS R12 Cost Accoun ng with SLA2013: 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 SolutionsDoes 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 Reconciliation2011: 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 CloseEgads! 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
■ Cost of Goods Sold (adapted from Wikipedia):▪ The cost of products or raw materials, including freight or shipping
charges;▪ The cost of storing products the business sells;▪ Direct labor costs for workers who produce the products; ▪ Factory overhead expenses▪ Discounts that must be deducted from the costs of purchased
inventory including trade discounts and manufacturer’s rebates
Definitions■ Direct Product Costs:
Directly traceable product expenses such as direct material (purchase cost), direct labor and other direct production costs
■ General & Administrative Expenses (G&A):General operating expenses and taxes that are related to the overall operation of the company
■ 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
US GAAP – FAS 151: “general and administrative expenses should be included as period charges, except for the portion of such expenses that may be clearly related to production and thus constitute a part of inventory costs (product charges). Selling expenses constitute no part of inventory costs.”
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
■ Accrual Matching Principle & Revenue Recognition:
Must recognize appropriate costs when revenue is booked or recognized. IFRS – IAS2: “When inventories are sold and revenue is recognised, the carrying amount of those inventories is recognised as an expense (often called cost-of-goods-sold).”
Why Needed? Why Shipping Burdens?
Why Want Shipping Burdens?
■ Costs of shipping are significant but not part of inventory value
■ May want to recognize some MFG G&A costs at time of shipping
■ Suppliers may offer discounts based on shipping volumes or based on the customer for that shipment
■ Trying to avoid “sales staff giving away the product”
R11i COGS Entries
100 AccountCR Inventory
Debit / Credit Acct Line Type
100 Inventory ValuationDR COGS Account
10 AccountDR COGS AccountCR Matl Overhead Absorption 10 Ovhd Absorption
Release 11i COGS Example:
Sales Order Issue
Shipping Burden
Original EntriesShipping Burdens
R12 COGS Entries
100 Deferred COGSCR Inventory
Debit / Credit Acct Line Type
100 Inventory ValuationDR Deferred COGS
10 COGSDR COGS AccountCR Matl Overhead Absorption 10 Ovhd Absorption
100 COGSCR Deferred COGS 100 Deferred COGS
DR COGS Account
Sales Order Issue
COGS Recognition
Shipping Burden
Release 12 COGS Example: Original EntriesShipping Burdens
Why Was Release 11i So Much Easier for Adding Shipping Burdens?
R10 – R11i Transaction Flow for Cost Mgmt
Enter Transaction(s)
Transaction Accounting Tables
AccountingProcessor
Transfer to G/L
G/L Tables
GL_SETS_OF_BOOKS
GL_JE_HEADERS
GL_JE_LINES
GL_JE_BATCHESGL_INTERFACE
ReceivingMaterial
WIP
JournalImport
InventoryPeriod Close
Release 11i Solution■ Enter Material Overhead Sub-Element(s) for Shipping Burdens
■ Enter and store the Shipping Burden rates in an unimplemented cost type, a MFG Lookup Code or in a custom table
■ Create a custom program to insert additional rows into the material accounting distributions:
■ All other processing is unchanged (except tweaks to Margin Reporting)
Shipping Burden Example
10 COGS
CR Material Overhead Absorption(from shipping burden sub-element)
Debit / Credit Acct Line Type
10 Ovhd Absorption
DR COGS Account(from existing transaction)
How Does SLA Work with Oracle Cost Management?
■ Release 12 has two transaction models▪ RCV, INV, WIP Transactions ▪ SLA transactions – “Mirror image” of the original transactions
Supply Chain Transaction Processing
CO
ST
INV
Supply Chain
G/L
PO Receipts
SO Shipmts
Inventory
LSPs, OthersWIP
RCV
Txn
Sou
rces
INV
WIP
RCV
WIP
SLA
Event Model: A set of subledger transaction types with common characteristics
▪ Entity : Denotes the transaction source▪ Event Class: Classifies transaction types by accounting rule▪ Event Type: for each transaction type, defines possible actions
with accounting significance
Key Concepts for SLA Transaction Types
ENTITY Material, Receiving or WIP or Write Off Transaction
EVENT CLASS
Grouping of transaction events which have similar kind of accounting
EVENT TYPE
The most granular level of business event which has accounting impact
EVENT MODEL
R12 Transaction Flow for Cost Management
SLA Accounting Tables
Enter Transaction(s)
Transaction Accounting Tables
AccountingProcessor
XLA_AE_HEADERS
XLA_AE_LINES
XLA_DISTRIBUTION_LINKS
XLA_EVENTS
Module Specific
Transaction Accounting
Tables
Create Accounting
G/L Tables
GL_LEDGERS
GL_JE_HEADERS
GL_JE_LINES
GL_JE_BATCHES
One Common Accounting Subledger
Table
GL_INTERFACE
ReceivingMaterial
WIP
PROCESS
Enter Transaction(s)
Cost Manager
Create Accounting* Transfer Journal Entries to GL
*Run ‘Create Accounting – Cost Management’ concurrent request for accounting all transactions from the Cost Management – SLA responsibility.
Receiving Accounting can also be generated in the Purchasing responsibilities using the ‘Create Accounting – Receiving’ concurrent request.
These requests have an option to transfer the entries created to General Ledger as well as post at the same time.
Setup and ProcessADR SETUPS
Define or Identify ADR Sources
Define/copy and modify journal line types
Define/copy and modify descriptions
JOURNAL ENTRY SETUPS
Define/copy and modify journal line types
Define/copy and modify account derivation rules
Define/copy and modify descriptions
ASSIGNMENT
Assign to SLAM and Ledger
Cost Management and SLA Processing Steps
■ The Cost Manager creates the accounting entries for material accounting distributions and calls a special program (CST_XLA_PVT(CSTVXLAB.pls) to create the initial information for Create Accounting (SLA)
MTL_MATERIAL_TRANSACTIONS
MTL_TRANSACTION_ACCOUNTS XLA_TRANSACTION_ENTITIESXLA_EVENTS
SLA
MTL
COST MANAGER
Cost Management and SLA Processing Steps
■ Create Accounting picks up the entries found in XLA_EVENTS and XLA_TRANSACTION_ENTITIES and completes the creation of the SLA accounting entries
XLA_EVENTS
XLA_DISTRIBUTION_LINKS XLA_AE_LINESXLA_AE_HEADERS
CREATE ACCOUNTING
Issues with SLA
■ Create Accounting never writes a processed status to either MTL_TRANSACTION_ACCOUNTS or XLA_DISTRIBUTION_LINKS
■ Create Accounting only knows the processing status for the entire material transaction (XLA_EVENTS), but not for each transaction accounting entry ▪ Process status by TRANSACTION_ID or EVENT_ID▪ But not by each DR or CR or INV_SUB_LEDGER_ID
■ See next slide for desired transaction flow diagram
Desired Transaction Processing – Create Accounting and SLA
Material Transactions
Cost Processor
Material Accounting Entries
Create Accounting
SLA Journal Entries
Create New Matl Acct’g Entries
1. Cost Processor creates the material accounting entries
2. Shipping Burdens are then created with a custom program
3. The custom program also calls the CSTVXLAB.pls package to create the initial SLA information
4. There are now two SLA events for the same material transaction, one created by the Cost Processor and one by the custom program
5. Create Accounting processes the old and new entries and creates the SLA journal entries with no duplication
Custom Program
Standard Program
Actual Transaction Processing – Create Accounting and SLA
Material Transactions
Cost Processor
Material Accounting Entries
Create Accounting
SLA Journal Entries
Create New Matl Entries
1. Cost Processor creates the material accounting entries
2. Create Accounting runs before the Shipping Burdens are created and processes the existing SLA event and material accounting entries
3. Shipping Burdens are created with the custom program
4. The custom program also calls the CSTVXLAB.pls package to create the initial SLA information and a second SLA event for the same material transaction
5. Create Accounting processes the new entries, re-processes the old entries and by doing so, doubles up the SLA journal entries
Create Accounting
Custom Program
Standard Program
Business Solutions for Shipping Burdens
Potential Solutions
1. Do this adjustment in a management reporting system only
2. Include the Shipping Burdens in the Frozen Costs (inventory value) and back it out at month-end
3. Create the Shipping Burdens in the original distribution tables (mtl_transaction_accounts) and as SLA accounting entries
4. Only create the Shipping Burdens in the SLA accounting entries (using the same SLA events for material transactions)
5. Interface manual SLA entries for Shipping Burden entries
6. Only create the entries into the G/L
Desired Solution Requirements
1. Want good visibility for Cost Accountants using standard material distribution inquiries and reports
2. Follow the Oracle architecture for material distributions & SLACustom material distribution reporting (which combines theoriginal material distributions and SLA information) must workthe same way for Oracle and custom accounting distributions
3. As needed use SLA setups and processes
4. Minimize or avoid creation of custom tables
5. Limit the amount of custom code
Pros and Cons
1. Do this adjustment in a management reporting system only▪ Not as easily accessed by all concerned parties▪ Custom solution, all inputs, outputs, inquiries and reports▪ Creates a condition where “source of truth” is in multiple places▪ Not included in Margin Analysis Load and Report programs
2. Include the Shipping Burdens in the Frozen Costs (inventory value) and back it out at month-end▪ Source of truth in one location▪ But requires month-end manual adjustment for US GAAP and IFRS▪ Requires custom reporting (to back it out)▪ May be best choice depending on complexity of number of
interfaces and customizations▪ Margin Analysis Load and Report programs work with no changes
Pros and Cons3. Create the Shipping Burdens in the original distribution tables
(mtl_transaction_accounts) and as SLA accounting entries▪ Able to see these new entries in the original reports and inquiries▪ But have to prevent Create Accounting from doubling-up entries▪ SLA setups can be quite extensive and requires SLA expertise▪ May need to modify Margin Analysis Load and Report programs
4. Only create the Shipping Burdens in SLA accounting entries (using the same SLA events/material transactions)▪ Will not show up in any original report or inquiry▪ Needs lots of custom programming, SLA setups and development▪ Needs custom reporting; different from normal Cost Mgmt entries▪ Need to modify Margin Analysis Load and Report programs
Pros and Cons
5. Interface manual SLA entries for Shipping Burden entries▪ One of the easiest solutions (open interface)▪ Lack of visibility, needs custom reporting, not easily accessed▪ Not directly tied to the actual COGS entries▪ Cannot easily use this information for margin and performance
reporting
6. Only create the entries into the G/L▪ Not in a subledger▪ Lack of visibility, needs custom reporting, not easily accessed▪ Not directly tied to the actual COGS entries▪ Cannot easily use this information for margin and performance
reporting
Recent Client Experiences with Release 12
Release 12 Client Experiences
■ Tried third solution, new material distributions and SLA entries▪ Client had too many customizations, both with the material
transactions and as post-processing customizations▪ Even needed to change stored transaction cost information (in
mtl_material_transactions) in addition to changing three major custom interfaces
▪ At the time could not prevent SLA from doubling-up entries
■ Second solution ended up being easier, put into Frozen costs▪ As new sub-element, put burdens into the Frozen costs▪ Designed month-end inventory value reports to back out these
costs at month-end▪ Designed monthly material account summary reports for visibility
Summary
Summary
■ Life with SLA can be very useful:▪ Configure transactions to use new accounts▪ Multiple representations for the same transactions (by chart of
accounts)▪ Better mapping capabilities, can do outside of consolidations▪ Can even create new sources, even integrate entirely new non-
Oracle modules and transactions (with FIN Hub)
■ But SLA can be devilishly complex, you have to weigh the pros and cons
■ Make the best choice for your situation, there is not one “right” answer
Appendix
A) Create Material Shipping Burden & SLA Entries
B) Discrete Cost Management SLA Model
C) Inventory Transactions Architecture
D) Creating DFFs for Material Transactions and Sub-Elements
Appendix
A) Create Material Shipping Burden & SLA Entries
B) Discrete Cost Management SLA Model
C) Inventory Transactions Architecture
D) Creating DFFs for Material Transactions and Sub-Elements
A) Create Material Shipping Burden & SLA Entries■ Required Steps
1. Enter Material Overhead Sub-Elements for Shipping Burdens
2. Identify which transactions to apply shipping burdens
3. Enter and store the Shipping Burdens
4. Create custom program to insert additional rows into the material accounting distributions, using the same material transaction
5. Configure SLA to process additional material accounting entriesAdd Journal Lines as neededAdd logic to prevent double-processing
■ Caveat: This Solution is a Prototype, Requires Testing
1) Enter Material Overhead Sub-Elements forShipping Burdens
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
Material Transaction Definition
• COGS RecognitionRMA ReceiptRMA Return
Material TransactionsCost of Goods SoldDeferred COGSOverhead Absorption(New)
Accounting Line Type
SLA Event Class NameCost of Goods SoldDeferred COGSOverhead Absorption(New)
Journal Line TypeSales Order Issue
• COGS RecognitionRMA ReceiptRMA Return
SLA Event Definition
The Oracle EBS Supply Chain transactions loosely correlate tothe SLA events and journal lines. Can be confusing.
R12 COGS Material Transaction Entries
100 Deferred COGSCR Inventory
Debit / Credit Acct Line Type
100 InventoryDR Deferred COGS
10 COGSDR COGS AccountCR Matl Overhead Absorption 10 Ovhd Absorption
100 COGSCR Deferred COGS 100 Deferred COGS
DR COGS Account
Sales Order Issue Txn
COGS Recognition Txn
Shipping Burden (added to COGS Recognition Txn)
Release 12 COGS Example: Original EntriesShipping Burdens
Don’t Want to Mess With Deferred COGS
3) Enter and Store the Shipping Burden Rates■ Enter the Rates in a Non-Implemented Cost Type■ Store by Item in Only One Inventory Organization
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
CST_ITEM_COST_DETAILS EXAMPLEVALUE
MTL_TRANSACTION_ACCOUNTS
COMMENTS
INVENTORY_ITEM_ID 11923 INVENTORY_ITEM_ID MTL_SYSTEM_ITEMS_B
ORGANIZATION_ID 207 ORGANIZATION_ID MTL_PARAMETERS
COST_TYPE_ID 1207 N/A CST_COST_TYPES
LEVEL_TYPE 1 N/A This Level
RESOURCE_ID 78542 RESOURCE_ID Sub‐Element Identifier
USAGE_RATE_OR_AMOUNT 0.1 RATE_OR_AMOUNT USAGE_RATE_OR_AMOUNT X Original COGS BASE_TRANSACTION_VALUE
BASIS_TYPE 5 BASIS_TYPE Percent of Total Value
COST_ELEMENT_ID 2 COST_ELEMENT_ID Material Overhead
ROLLUP_SOURCE_TYPE 1 N/A User Defined
4) Create Custom Program to Insert Additional Accounting Entries■ Use existing material transactions
■ Adding new material accounting entries using the same material TRANSACTION_ID
■ On the material transaction updateATTRIBUTE15 to indicate Shipping Burdens have been recorded
■ BASE_TRANSACTION_AMOUNT =the item’s RATE_OR_AMOUNT Xoriginal COGS amount
INSERT INTO mtl_transaction_accounts
(transaction_id,
reference_account,
last_update_date,
last_updated_by,
creation_date,
created_by,
last_update_login,
inventory_item_id,
organization_id,
transaction_date,
transaction_source_id,
transaction_source_type_id,
transaction_value,
primary_quantity,
gl_batch_id,
accounting_line_type,
base_transaction_value,
contra_set_id,
rate_or_amount,
basis_type,
resource_id,
cost_element_id,
activity_id,
currency_code,
currency_conversion_date,
currency_conversion_type,
currency_conversion_rate,
request_id,
program_application_id,
program_id,
program_update_date,
encumbrance_type_id,
repetitive_schedule_id,
gl_sl_link_id)
VALUES
(v_trx_id,
v_adjust_account,
SYSDATE,
fnd_profile.VALUE('USER_ID'),
SYSDATE,
fnd_profile.VALUE('USER_ID'),
fnd_profile.VALUE('USER_ID'),
v_mtl.inventory_item_id,
v_mtl.organization_id,
v_mtl.transaction_date,
v_mtl.transaction_source_id,
v_mtl.transaction_source_type_id,
v_trx_val,
v_trx_qty,
-1,
3, -- Material Overhead Absorption
v_trx_val,
v_mtl.contra_set_id,
v_trx_rate,
v_basis_type,
v_resource_id,
2,
NULL,
v_mtl.currency_code,
v_mtl.currency_conversion_date,
v_mtl.currency_conversion_type,
v_mtl.currency_conversion_rate,
v_request_id,
fnd_profile.VALUE('PROGRAM_APPLICATION_ID'),
fnd_profile.VALUE('PROGRAM_ID'),
SYSDATE,
v_mtl.encumbrance_type_id,
v_mtl.repetitive_schedule_id,
'');
Values for MTL_TRANSACTION_ACCOUNTSMTL_TRANSACTION_ACCOUNTS SOURCE COMMENTSTRANSACTION_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 absorption35 – cost of goods sold
BASE_TRANSACTION_VALUE USAGE_RATE_OR_AMOUNT X COGS BASE_TRANSACTION_VALUE X SIGN(PRIMARY_QUANTITY)
For Basis Type “Percent of Total Value”
Values for MTL_TRANSACTION_ACCOUNTSMTL_TRANSACTION_ACCOUNTS SOURCE COMMENTSCONTRA_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.COST_ELEMENT_ID
Usually a value of 2 (Material Overhead)
CURRENCY_CODE MTL_TRANSACTION_ACCOUNTS Same as COGS entry
CURRENCY_CONVERSION_DATE MTL_TRANSACTION_ACCOUNTS Same as COGS entry
CURRENCY_CONVERSION_TYPE MTL_TRANSACTION_ACCOUNTS Same as COGS entry
CURRENCY_CONVERSION_RATE MTL_TRANSACTION_ACCOUNTS Same as COGS entry
GL_SL_LINK_ID Leave NULL Create Accounting / GL
INV_SUB_LEDGER_ID Leave NULL From CSTVXLAB.pls
5) Steps to Configure SLA
Create custom PL/SQL function
Define custom sources
Create account derivation rules (ADRs)
Create journal line types (JLTs)
Create journal line definitions (JLDs)
Create an application accounting definition (AAD)
Create a subledger accounting method (SLAM)
Assign it to a Ledger
Can skip this step
Desired Material Transaction FlowMaterial
TransactionsCost
Processor
Material Accounting Entries
Create Accounting
SLA Journal Entries
Don’t Process the Journal Line
Create Accounting
Custom Program
Standard Program
Shipping Burdens Exist?
New SLA Conditions
Do Process the Journal
Line
Create New Material
Accounting Entries
A
A
No
Yes A
Create Custom PL/SQL Function
Create custom PL/SQL function
Define custom sources
Create account derivation rules (ADRs)
Create journal line types (JLTs)
Create journal line definitions (JLDs)
Create an application accounting definition (AAD)
Create a subledger accounting method (SLAM)
Assign it to a Ledger
Create Custom PL/SQL Function
■ Will determine if SLA can process the journal lineCREATE OR REPLACE FUNCTION XXX_CST_CNTRL_CREATE_ACCTG (p_transaction_id IN NUMBER) RETURN VARCHAR2 is
l_yes_no varchar2(2);
BEGINSELECT 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_idand mmt.transaction_type_id = mtt.transaction_type_idand mmt.transaction_id = mta.transaction_idand ((nvl(mtt.attribute1,'N') = 'Y' -- indicates this transaction is for Shipping Burdens
andnvl(mmt.attribute15,'N') = 'Y' -- indicates shipping burden exist )OR(nvl(mtt.attribute1, 'N') = 'N' -- indicates not for Shipping Burdens))
), 'N')
into l_yes_noFROM inv.mtl_material_transactions mmtWHERE mmt.transaction_id = p_transaction_id;
RETURN l_yes_no;
END XXX_CST_CNTRL_CREATE_ACCTG; /
Define Custom Sources
■ Need to use the correct parameters for your PL/SQL inputs
Menu path: Cost Management SLA => Setup => Accounting Methods Builder => Sources =>Custom Sources
Create Journal Line Types and Definitions
Create custom PL/SQL function
Define custom sources
Create account derivation rules (ADRs)
Create journal line types (JLTs)
Create journal line definitions (JLDs)
Create an application accounting definition (AAD)
Create a subledger accounting method (SLAM)
Assign it to a Ledger
Determine Which Journal Lines to Change
■ Query the Event Class / Sales Order Issue
Menu path: Cost Management SLA => Accounting Setup => Accounting Methods Builder => Methods and Definitions => Journal Lines Definitions
Need User-Defined Journal Lines
■ Sales Order Issue Event Class - Two Material Txn Types▪ Sale Order Issue (Shipment)
— Deferred COGS (DR)
— Inventory Valuation (CR)
▪ COGS Recognition— Cost of Goods Sold (DR)
— Deferred COGS (CR)
— Overhead absorption (CR)
▪ RMAs with Cost Changes— Cost Update Adjustment
Menu path: Cost Management SLA => Accounting Setup => Accounting Methods Builder => Methods and Definitions => Journal Lines Definitions
Need New User-Defined Journal LinesMenu path: Cost Management SLA => Accounting Setup => Accounting Methods Builder =>
Methods and Definitions => Journal Lines Definitions
■ Copy and Change These Journal Lines for COGS Recognition▪ Cost of Goods Sold▪ Deferred COGS▪ Cost Update Adjustment (for RMAs)
■ Create New Journal Line for Material Overhead Absorption as this is not in the SLA transaction model for Sales Orders
Create User-Defined Journal Line Types
■ Query Up Each Journal Line and Copy the Oracle Journal■ Choose the Event Class Sales Order Issue
Menu path: Cost Management SLA => Accounting Setup => Accounting Methods Builder => Journal Entry Setups => Journal Line Types
Copy Journal Line Types
■ Copy the Oracle Journal Line Type – Cost of Goods Sold
Menu path: Cost Management SLA => Accounting Setup => Accounting Methods Builder => Journal Entry Setups => Journal Line Types
1) Click Copy1) Click CopyDefinition
2) Enter Line Type Code, Name andDescription
3) Click Done
Copy Journal Line Types
■ Add New Conditions to the Journal Line Type
Menu path: Cost Management SLA => Accounting Setup => Accounting Methods Builder => Journal Entry Setups => Journal Line Types
Click Click Conditions
Copy Journal Line Types
■ Add New Conditions to the Journal Line Type (Cont’d)
Menu path: Cost Management SLA => Accounting Setup => Accounting Methods Builder => Journal Entry Setups => Journal Line Types
Indicates if the journal line y p
Indicates if the journal line is ready to be processed
Ensures that COGS is only charged for the COGS Recognition Transaction Type
Copy Journal Line Types
■ Copy the Oracle Journal Line Type – Deferred COGS
Menu path: Cost Management SLA => Accounting Setup => Accounting Methods Builder => Journal Entry Setups => Journal Line Types
1) Click Copy1) Click CopyDefinition
3) Click Done
2) Enter Line Type Code, Name andDescription
Copy Journal Line Types
■ Add New Conditions to the Journal Line Type
Menu path: Cost Management SLA => Accounting Setup => Accounting Methods Builder => Journal Entry Setups => Journal Line Types
Click Click Conditions
Copy Journal Line Types
■ Add New Conditions to the Journal Line Type (Cont’d)
Menu path: Cost Management SLA => Accounting Setup => Accounting Methods Builder => Journal Entry Setups => Journal Line Types
Indicates if the journal line y p
Indicates if the journal line is ready to be processed
Ensures that Deferred COGS is only charged g yp
Ensures that Deferred COGS is only charged for the COGS Recognition Transaction Type
Copy Journal Line Types
■ Copy the Oracle Journal Line Type – Cost Update Adjustment
Menu path: Cost Management SLA => Accounting Setup => Accounting Methods Builder => Journal Entry Setups => Journal Line Types
1) Click Copy1) Click CopyDefinition
2) Enter Line Type Code, Name andDescription
3) Click Done
Copy Journal Line Types
■ Add New Conditions to the Journal Line Type (Cont’d)
Menu path: Cost Management SLA => Accounting Setup => Accounting Methods Builder => Journal Entry Setups => Journal Line Types
Indicates if the journal line y p
Indicates if the journal line is ready to be processed
Ensures that RMA Cost Updates are only changed g yp
Ensures that RMA Cost Updates are only changed for the COGS Recognition Transaction Type
New Journal Line Type for Overhead
■ Create the New Journal Line Type
Menu path: Cost Management SLA => Accounting Setup => Accounting Methods Builder => Journal Entry Setups => Journal Line Types
New Journal Line Types
■ Add Conditions to the Journal Line Type
Menu path: Cost Management SLA => Accounting Setup => Accounting Methods Builder => Journal Entry Setups => Journal Line Types
Click Click Conditions
New Journal Line Types
■ Add Conditions to the Journal Line Type (Cont’d)
Menu path: Cost Management SLA => Accounting Setup => Accounting Methods Builder => Journal Entry Setups => Journal Line Types
Indicates if the journal line y p
Indicates if the journal line is ready to be processed
Ensures that Overhead Absorption is only charged g yp
Ensures that Overhead Absorption is only charged for the COGS Recognition Transaction Type
accounting line typeOverhead absorption accounting line type
Create Journal Line Types and Definitions
Create custom PL/SQL function
Define custom sources
Create account derivation rules (ADRs)
Create journal line types (JLTs)
Create journal line definitions (JLDs)
Create an application accounting definition (AAD)
Create a subledger accounting method (SLAM)
Assign it to a Ledger
Create Journal Line Definition
■ Copy the Oracle Journal Line Definition
Menu path: Cost Management SLA => Accounting Setup => Accounting Methods Builder => Journal Entry Setups => Methods and Definitions => Journal Line Definitions
1) Click Copy1) Click CopyDefinition
2) Enter Definition Code, Name andDescription
3) Click Done
Create Journal Line Definition
■ Replace the Oracle Journal Line Types with User Defined
Menu path: Cost Management SLA => Accounting Setup => Accounting Methods Builder => Journal Entry Setups => Journal Line Types
g
Use default ADR for Cost Mgmt
Create Journal Line Definition
■ Delete Oracle Journal Line Type and Replace with User JL Type
Menu path: Cost Management SLA => Accounting Setup => Accounting Methods Builder => Journal Entry Setups => Journal Line Types
g
Use default ADR for Cost Mgmt
Create Journal Line Definition
■ Delete Oracle Journal Line Type and Replace with User JL Type
Menu path: Cost Management SLA => Accounting Setup => Accounting Methods Builder => Journal Entry Setups => Journal Line Types
g
Use default ADR for Cost Mgmt
Create Journal Line Definition
■ Delete Oracle Journal Line Type and Replace with User JL Type
Menu path: Cost Management SLA => Accounting Setup => Accounting Methods Builder => Journal Entry Setups => Journal Line Types
g
Use default ADR for Cost Mgmt
Create Journal Line Definition
■ Delete Oracle Journal Line Type and Replace with User JL Type
Menu path: Cost Management SLA => Accounting Setup => Accounting Methods Builder => Journal Entry Setups => Journal Line Types
g
Use default ADR for Cost Mgmt
Create Journal Line Definition
■ Cost Variance and Inventory Valuation Journal Types
Menu path: Cost Management SLA => Accounting Setup => Accounting Methods Builder => Journal Entry Setups => Journal Line Types
Cost Variance and Inventory Valuation is unchanged
Cost Variance and Inventory Valuation is unchanged
Create Application Accounting Definition
Create custom PL/SQL function
Define custom sources
Create account derivation rules (ADRs)
Create journal line types (JLTs)
Create journal line definitions (JLDs)
Create an application accounting definition (AAD)
Create a subledger accounting method (SLAM)
Assign it to a Ledger
Create Application Accounting DefinitionMenu path: Cost Management SLA => Accounting Setup => Accounting Methods Builder =>
Methods and Definitions => Application Accounting Definitions
■ Copy the standard Oracle Application Accounting Definition
1) Click CopyDefinition
2) Enter DefinitionCode, Name andDescription
3) Click DoneThis limits it to only This limits it to only one COA Structure
Create Application Accounting DefinitionMenu 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
■ Now assign new Journal Lines Definition to your Application Accounting Definition:
■ COGS Sale Order Event Accounting Examples:
Sales Order Issue => XXX Sales Order Issue
■ Note: there are other COGS-related Event Classes:▪ Logical Transactions▪ Sender-side Intransit Interorg Shipment for FOB Receipt▪ Sender-side Intransit Interorg Receipt for FOB Receipt
Create Application Accounting DefinitionMenu path: Cost Management SLA => Accounting Setup => Accounting Methods Builder =>
Methods and Definitions => Application Accounting Definitions
Then delete the existing
row
to change
Choose the Event Class to change
Create Application Accounting DefinitionMenu path: Cost Management SLA => Accounting Setup => Accounting Methods Builder =>
Methods and Definitions => Application Accounting Definitions
Replace with new assignment
To catch errors
y
To catch errors should
validate one‐by‐one
Create Application Accounting Definition
■ Another way to Validate Application Accounting Definitions
Menu path: Cost Management SLA => Requests => Submit a New Request => Validate Application Accounting Definitions
Create Application Accounting DefinitionMenu path: Cost Management SLA => Requests => Submit a New Request =>
Validate Application Accounting Definitions
These should all These should all have a Valid
status
Create Subledger Accounting Method (SLAM)
Create custom PL/SQL function
Define custom sources
Create account derivation rules (ADRs)
Create journal line types (JLTs)
Create journal line definitions (JLDs)
Create an application accounting definition (AAD)
Create a subledger accounting method (SLAM)
Assign it to a Ledger
Create Subledger Accounting MethodMenu path: Cost Management SLA => Accounting Setup => Accounting Methods Builder =>
Methods and Definitions => Subledger Accounting Methods
1) Click Copy1) Click CopyDefinition
2) Enter DefinitionCode, Name andDescription
3) Click Done
Assign SLAM to a Ledger
Create custom PL/SQL function
Define custom sources
Create account derivation rules (ADRs)
Create journal line types (JLTs)
Create journal line definitions (JLDs)
Create an application accounting definition (AAD)
Create a subledger accounting method (SLAM)
Assign it to a Ledger
Create User-Defined SLAMMenu path: Cost Management SLA => Accounting Setup => Accounting Methods Builder =>
Methods and Definitions => Subledger Accounting Methods
1) Click Copy1) Click CopyDefinition
2) Enter MethodCode, Name andDescription
3) Click Done
Assign Ledger to SLAMMenu path: Cost Management SLA => Accounting Setup => Accounting Methods Builder =>
Methods and Definitions => Subledger Accounting Methods => Accounting Setups
Assign Ledger to SLAMMenu 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
A) Create Material Shipping Burden & SLA Entries
B) Discrete Cost Management SLA Model
C) Inventory Transactions Architecture
D) Creating DFFs for Material Transactions and Sub-Elements
B) Discrete Cost Management SLA Model
Discrete Cost Management SLA Model
Discrete Cost Management SLA Model
Discrete Cost Management SLA Model
Discrete Cost Management SLA Model
Discrete Cost Management SLA Model
Discrete Cost Management SLA Model
Discrete Cost Management SLA Model
Appendix
A) Create Material Shipping Burden & SLA Entries
B) Discrete Cost Management SLA Model
C) Inventory Transactions Architecture
D) Creating DFFs for Material Transactions and Sub-Elements
C) Inventory Transactions Architecture
■ Inventory allows you to define new transaction types
▪ As a result, material transactions are more complex▪ You can query material transactions by Source or Transaction Type▪ Sources are a group of transactions based on a common origin▪ Actions indicate the behavior for the transaction
(decrease or increase onhand quantities for example)▪ Transaction types are the individual kinds of entries for each
transaction source▪ Material transactions are defined in MTL_TRANSACTION_TYPES
Sources Actions+ = Transaction Types
Inventory Transactions Architecture Defined By:
Account
Account AliasCycle CountInternal OrderInternal RequisitionInventoryJob or ScheduleMove OrderPhysical InventoryPurchase OrderRMASales OrdersStandard Cost Update
Sources
Assembly completionAssembly returnCOGS recognitionCost updateCycle count adjustmentDelivery adjustmentsDirect organization xferIntransit receiptIntransit shipmentIssue from storesLogical Intransit ReceiptLogical Intransit ShipmentLogical Delivery AdjustmentLogical Expense Requisition ReceiptLogical Intercompany Receipt
Sample List of Actions
Sources and Actions Define Over 90 Material Transaction Types
Logical Intercompany Receipt ReturnLogical Intercompany SalesLogical Intercompany Sales ReturnLogical IssueLogical ReceiptNegative Component IssueNegative Component ReturnOwnership TransferPhysical Inventory AdjustmentReceipt into StoresRetroactive Price UpdateStaging TransferSubinventory TransferWIP Scrap Transaction
So Why Care About Inventory Txn Architecture?
■ Use Transaction Sources and Transaction Types for Online QueriesMenu path: Cost Management – SLA => View Transactions => Material Transactions
So Why Care About Inventory Txn Architecture?
■ Use Transaction Sources and Transaction Types for Online QueriesMenu path: Cost Management – SLA => View Transactions => Material Transactions
List of Sources and Transaction Types
List of Sources and Transaction Types (cont’d)
Define the Purpose for the Accounting EntryUse these values to understand the accounting entryExample: COGS Recognition Transaction
Menu path: Cost Management – SLA => View Transactions => Material Distributions
Accounting Line Types
List of R12 AccountingLine Types
Appendix
A) Create Material Shipping Burden & SLA Entries
B) Discrete Cost Management SLA Model
C) Inventory Transactions Architecture
D) Creating DFFs for Material Transactions and Sub-Elements
Sub-Elements:Enable DFF to Indicate a Shipping Burden
Sub-Elements: Enable DFF to Indicate a Shipping Burden (Cont’d)
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 values
Change these 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
Unclickhere
Enable DFF for Material Txn Types (Cont’d)
Change this values
Change these values
Enable DFF for Material Txn Types (Cont’d)Click here to refreeze
Acknowledgements
■ Mohan Iyer and John Peters– Paper review and support of shared Vision environment
■ Ashish Pathak and Anup Jha – Oracle Cost Development– Workarounds with SLA and Create Accounting limitations
Please complete the session evaluationWe appreciate your feedback and insight
You may complete the session evaluation either on paper or online via the mobile app