Professional Documents
Culture Documents
May 2014
Table of figures:
Executive Overview
Most organizations understand the need to use budgetary controls in their business processes. Budgetary
controls ensure that unnecessary and maverick spending is minimized or curtailed. Budgetary controls
ensure proper approvals for legitimate expenses and users do not overshoot the budgets specified for
their activities. It is a very useful tool to avoid unnecessary business transactions and expenses.
Encumbrance Accounting in Oracle e-Business Suite integrates the entire budgetary control lifecycle and
enables better control over expenditures incurred in organizations. With Encumbrance Accounting,
organizations can monitor the amount of money they spend, ensure that departments don't exceed their
budgets or are immediately notified if they do. It can also help predict cash flow balances more
effectively.
This paper will help users understand the concept of Encumbrance Accounting and how it can be set up
and used within Oracle e-Business Suite. The main focus of this white paper is to explain the
Encumbrance Accounting process from a Procure to Pay perspective.
3
Encumbrance Accounting in the Procure to Pay Flow: Best Practices
Introduction
Encumbrance Accounting is a widely used business practice for managing expenses and ensures that
departments stay within budgetary expenditure targets. Encumbrance Accounting per se is a much wider
concept than a simple budgetary control. Encumbrance Accounting helps organizations stay within
budgets, so that it is easy for users and organizations to identify and report various business transactions
and how they impact cash flows. This white paper provides an overview of the Encumbrance
Accounting process used in Oracle E-Business Suite.
What is Encumbrance?
Encumbrance is a commitment to pay in the future, although the goods or services have been ordered,
however, they have not been received yet.
For a company, Encumbrance reserves the money for paying for goods or services in the future; the
amount is called Encumbrance. And the amount(s) will subsequently become expenditure when goods
and services are received.
4
Encumbrance Accounting in the Procure to Pay Flow: Best Practices
5
Encumbrance Accounting in the Procure to Pay Flow: Best Practices
Encumbrances flow throughout the procurement process; that is, from the intention to buy goods or
services, to procuring and receiving the goods or services, to the final step of incurring the actual
expenditure and making the payment. The following stages are basic Encumbrance Accounting activity
in the procure-to-pay process:
• Creating and Approving a Purchase Requisition (Commitment Stage)
• Creating and Approving a Purchase Order (Obligation Stage)
• Creating and Approving Receipts / Invoices (Actual Stage)
This is business major processes for company buying goods or services. Along with that, Encumbrances
liquidate from one stage to the next.
An example for this business flow is as follows:
6
Encumbrance Accounting in the Procure to Pay Flow: Best Practices
Initially, assume that a budget amount of $10000 is allocated for certain expenditure. Notice that when a
Purchase Requisition is created, there is no impact on Encumbrance. The commitment is recorded when
the Purchase Requisition is approved. If there are multiple approvers, it gets recorded at the time of the
final approval for the document. Once the commitment is created, it is not liquidated until the
Obligation is recorded.
Obligations are recorded when a Purchase Order is approved. Again, if there are multiple approvers, the
obligation is recorded at the time of the final approval for the PO. The obligation is always created for
the PO amount, irrespective of the backing commitments. While recording the obligation, any backing
commitments created through the backing PRs are liquidated. When receipts are created or invoice is
matched against a PO, the obligation is liquidated and the actual expenditure is recorded.
Creating Budgets
Encumbrance Accounting always works together with budgetary control. At the beginning of a fiscal
year, enterprises estimate how much they are going to spend in the future, based on business plans for
the forthcoming year. The planned expenditures under various heads is estimated and used to create
budgets. Enterprises can use this budget amount to compare it to actual expenditure at any time in order
to track and monitor actual spending.
In Oracle e-Business Suite, users can create budgets using the following steps:
1. Login and select an appropriate General Ledger responsibility.
2. Navigate to General Ledger > Budget > Enter > Journals
7
Encumbrance Accounting in the Procure to Pay Flow: Best Practices
8
Encumbrance Accounting in the Procure to Pay Flow: Best Practices
Note: If there are multiple PR distributions for the PR line, each distribution is debited separately with
corresponding credit on the Encumbrance Date specified in the respective PR distributions.
The remaining budgetary funds are as follows:
9
Encumbrance Accounting in the Procure to Pay Flow: Best Practices
Note: If the user creates the PO manually without the referenced PR, it can lead to the
duplication of reservation of funds for the same transaction. Further, if the PO line distribution
amount changes from $3,000 to $3,500, the commitment un-reserve will take place for $3,000
(backing PR distribution amount) and PO reserve will happen for $3500.
10
Encumbrance Accounting in the Procure to Pay Flow: Best Practices
11
Encumbrance Accounting in the Procure to Pay Flow: Best Practices
12
Encumbrance Accounting in the Procure to Pay Flow: Best Practices
Receipt of Goods/Services
When goods or services in a Purchase Order line are received, and if the Accrue on Receipt flag is set to
“YES”, there will be Encumbrance liquidations on Accounting for the receipt, leading to liquidation of
Encumbrances. Since the accounting takes place at the time of receipt, the encumbrances are liquidated
and the actual amounts are booked. The following outlines the Accounting impact:
Steps:
• The user creates a receipt for $3,000, which is the full value of goods received against the PO.
• A Receive transaction is created when the receipt is saved. The accounting entry is:
Encumbrance Type
13
Encumbrance Accounting in the Procure to Pay Flow: Best Practices
When goods are delivered to the respective location, the following entries are created:
Encumbrance Type
Note: When there are period end accruals, the journal entries are quite similar to the flow described
earlier, with minor variations. The Actual and Encumbrance entries are reversed in the next period until
accounting occurs with Invoice Accounting.
Note: For all the encumbrance journals created through the sub-ledger, the Reserve for Encumbrance line
will not be there before posting. General Ledger (GL) automatically creates the balancing amount to the
Reserve for Encumbrance account during posting. GL does the same with unbalancing manually entered
encumbrance journals.
Invoice Matched to PO
Invoices are received from Suppliers against PO lines for payment. For Inventory and Expense Item,
If the Accrue on Receipt flag is set to “YES”, The following are the accounting entries in such a
scenario:
Steps:
• The user receives the invoice from the vendor for $3,000 and enters the invoice details in
Oracle Accounts Payables. A draft Invoice is created.
• The user matches the Invoice with the PO Shipment.
• The user does Invoice Accounting for the Invoice. The following are the accounting entries
that are generated:
14
Encumbrance Accounting in the Procure to Pay Flow: Best Practices
Encumbrance Type
For Expense Item, if user set “Accrual at Period-End”, then Invoice accounting has an impact on
Encumbrances and reversals. The following are the accounting entries in such a scenario:
• The user receives the invoice from the vendor for $3,000 and enters the invoice details in
Oracle Accounts Payables. A draft Invoice is created.
• The user matches the Invoice with the PO Shipment.
• The user does Invoice Accounting for the Invoice. The following are the accounting entries
that are generated:
Encumbrance Type
• The user Run “Transfer Journal Entries to GL” Program in Oracle Payables. This action
generated the following journal entries:
15
Encumbrance Accounting in the Procure to Pay Flow: Best Practices
Invoice Payment
When the user makes a payment against an Invoice, the following accounting entry will be generated:
Encumbrance Type
Note: There are no Encumbrance journal entries during Payment, because the actual
expenditure is already accounted for, and the payment activity is used to liquidate the
outstanding liability against the vendor.
16
Encumbrance Accounting in the Procure to Pay Flow: Best Practices
Technical Overview
From a technical perspective, Encumbrance journal entries flow from Oracle Purchasing to
Oracle Sub-Ledger Accounting tables and then to the Oracle General Ledger tables.
1. When Reserving and Approving the PO, Encumbrance entries get generated in
GL_BC_PACKETS and the table PO_BC_DISTRIBUTIONS.
2. Receiving generates Encumbrance Entries that are processed in the GL_INTERFACE table.
When a PO has the Accrue on Receipt flag set to Y, the Receiving Transaction Processor
generates the accounting entries in RCV_RECEIVING_SUB_LEDGER upon Receipt and
Deliver of the PO.
3. Run the “Create Accounting-Receiving concurrent program to create journals that will insert
records in XLA_AE_HEADERS and XLA_AE_LINES. Meanwhile, this program will
generate another program called Create Accounting that will create the entries in
GL_INTERFACE.
17
Encumbrance Accounting in the Procure to Pay Flow: Best Practices
Conclusion
This paper provides an explanation of the complete Encumbrance Accounting process as it works in the
Procure-to-Pay flow. It separates the actual and budget amounts, and acts as a medium to control the
organization’s spending effectively. Encumbrance Accounting also ensures that the actual spend is
maintained within the allocated budget.
To conclude, Encumbrance Accounting in Oracle e-Business Suite:
• Improves the Period Close Processing by automatic encumbrance journal entries
• Increases the predictability of company’s performance by restraining actual spend within budget
• Gains better visibility into company’s worldwide operations by tracking every expenditure
18
Encumbrance Accounting in the Procure to Pay Flow: Best Practices
19
Encumbrance Accounting in the Procure to Pay Flow: Best Practices
4. Assign an account for the Reserve for Encumbrance Account. Oracle General Ledger
automatically posts offset amounts to this account when encumbrance transactions are
posted.
5. Perform the same setup step for the secondary ledger if encumbrance needs to be used for
secondary ledger.
The following points are to be noted related to the Sub-Ledger Accounting Method:
• If encumbrance needs to be enabled, then the Sub-Ledger Accounting Method has to be set to
Encumbrance Accrual in case of Accrual basis accounting method or Encumbrance Cash
in case of cash basis accounting method for the ledger.
• If Encumbrance is not used, then the Sub-ledger Accounting Method has to be set as
Standard Accrual or Standard Cash for the ledger.
Define Budget
After enabling budgetary control for a ledger, the next step is to define a budget, to enter estimated
account balances for a specified range of periods. Use these estimated amounts to compare actual
balances, or to control actual and anticipated expenditures.
1. Log into Oracle E-Business Suite with an appropriate General Ledger responsibility.
2. Navigate to General Ledger > Budgets > Define > Budget
20
Encumbrance Accounting in the Procure to Pay Flow: Best Practices
21
Encumbrance Accounting in the Procure to Pay Flow: Best Practices
5. Set the appropriate Funds Check level for each Account Range. For the Funding Budget
field, select the budget which was defined on Define Budget to link the account range with
the budget.
22
Encumbrance Accounting in the Procure to Pay Flow: Best Practices
3. Enter a name for the budgetary control group. Select journal sources, categories, funds check
level, and related details. If Tolerance is set as Advisory, then the budgetary control will allow
overriding of the spend amount, even if it’s more than the budget amount.
Assign Budgetary Control Groups
Users can also create multiple budgetary control groups for different budgetary control tolerances and
override insufficient funds. Every usage could have one default budgetary control group. The default
group is linked to a user in the System Profile window.
1. Log into Oracle E-Business Suite with the System Administrator responsibility.
2. Navigate to System Administrator >Profile > System.
23
Encumbrance Accounting in the Procure to Pay Flow: Best Practices
The steps are similar to the steps to set up the Actual Accounting Period:
1. Log in to Oracle General Ledger with an appropriate General Ledger responsibility.
2. Navigate to General Ledger > Setup > Open/Close
24
Encumbrance Accounting in the Procure to Pay Flow: Best Practices
25
Encumbrance Accounting in the Procure to Pay Flow: Best Practices
3. Select the operating unit, in the Encumbrance tab - enable Use PO Encumbrance to enable
encumbrances for POs and Supplier invoices. Optionally enable Use Requisition Encumbrance
to encumber requisitions as well.
Enable Encumbrance in Oracle Purchasing, Oracle Payables and Oracle Cost Management
Users need to associate Encumbrance Type to Journal Line Types. This step is done while defining Sub-
Ledger Accounting Method:
1. Log into Oracle Cost Management/Oracle Purchasing/Oracle Payables with an appropriate
Super User responsibility.
2. Navigate to Cost Management/Purchasing/Payables>Set up > SLA > Accounting Methods
Builder > Methods and Definition > Sub-Ledger Accounting Methods
26
Encumbrance Accounting in the Procure to Pay Flow: Best Practices
27
Encumbrance Accounting in the Procure to Pay Flow: Best Practices
3. Enter an account for Encumbrance. Requisitions and purchase orders for inventory purchases
will create commitments/obligations against the encumbrance account.
28
Encumbrance Accounting in the Procure to Pay Flow: Best Practices
29
Encumbrance Accounting in the Procure to Pay Flow: Best Practices
2. Get total amount against each account for the current year or quarter or period using this script.
3. Enter a manual encumbrance debit entry for the total amount. This should resolve the negative
encumbrance caused because of this issue.
Issue: Encumbrance Not Getting Converted To Actual for Purchase Orders (Doc ID
728064.1)
Steps to reproduce:
1. Log into Oracle Purchasing, Create a new PO, and set the PO for Accrue at Receipt and for
Inventory Destination. Approve & Reserve this PO.
2. Create a Receipt against this PO after receiving the ordered items.
3. Run Transfer to GL program to transfer journal entries to General Ledger
4. Log into Oracle General Ledger, Navigate to: General Ledger > Journal > Inquiry > Funds
You can notice that the Encumbrance Amount did not get converted to actual amount.
Cause:
1. The option Reverse Encumbrance is not enabled in Inventory > Set up > Organization >
Parameters > Costing tab, therefore encumbrance will not get reversed on performing the
receipt and delivery of PO to Inventory destination. The actual amount will get accounted on
the other side but the encumbrance does not get converted to actual amount.
2. If the budget account used in the PO and the Sub-inventory's Material Account / Expense
Account are not the same, the encumbrance reversal will happen for the budget account against
which the funds got reserved, however, actuals will not get accounted to the same budget
account. Instead Actuals will get accounted to the Sub-inventory's account. This will result in
incorrect funds availability because the encumbrance does not get converted to Actuals.
Resolution:
For inventory destination POs:
1. When the deliver transaction is complete, verify Inventory > Transactions > Material
Transactions > Distributions to confirm the transaction is correctly considered for costing and
is accounted.
2. Submit the Create Accounting-Cost Management program immediately. Set the parameters
Transfer to GL as Yes and Post to GL as Yes.
3. Ensure that the Reverse Encumbrance flag is enabled in Inventory > Set up > Organization >
Parameters > Costing tab.
4. Ensure that the encumbrance account against which the funds get reserved is same as the
Actual account that gets accounted on performing the PO receipt and delivery.
30
Encumbrance Accounting in the Procure to Pay Flow: Best Practices
5. For inventory asset items that use Average costing, Encumbrance Account and Material
Account defined in Inventory Organization parameters should be same.
6. For inventory asset items that use Standard Costing, Encumbrance Account and Material
Account defined for the sub-inventory should be same.
7. For Inventory expense items that use Standard Costing or Average Costing, Encumbrance
account defined for the item should be same as the expense account defined for the sub-
inventory.
Summary of other common issues and recommended patches to resolve the issues:
Issues related to Encumbrance Journal:
Issue(s) Cause Patch to be applied to resolve
the issue
Reserve for encumbrance in Prior to this patch, the code had wrongly passed Patch.9100984:R12.PSA.A for
SLA- incorrect for PO when Funds Check and set that BC event as 'Processed' , R12 &
some lines have no funds when one or more distribution failed Funds Check, Patch.9100984:R12.PSA.B
resulting in unbalanced GL entries getting created.
Wrong SLA status returned If there were multiple lines passed to XLA and not Patch.9037877:R12.PSA.A for
to AP all of them fail with XLA_NO_JOURNAL error, R12 &
PSA passes the wrong status to AP Patch.9037877:R12.PSA.B for
12.1
When an inventory item in The journal for inventory encumbrance reversal Patch.8914459:R12.BOM.A
an encumbrance instance is was missing the join to the accounting line type 15
returned, accounting is causing number of records to return as many
wrong accounting line types as there are in Inventory sub-
ledger 'mtl_transaction_accounts'
Receipt accrual -period end Code limitation in file CSTVRAPB.pls Patch.7661294:R12.BOM.A for
program missing billed amt R12 &
Patch.9600743:R12.BOM.C
PSA API returns incorrect Reversal Encumbrance amount calculation on PO Patch.7592825:R12.PSA.A for
31
Encumbrance Accounting in the Procure to Pay Flow: Best Practices
PO reverse encumbrance did not consider the exchange rate due to code R12 &
amount limitation Patch.8940136:R12.PSA.B for
12.1
On receipt corrections the The actual line’s “Correct” transaction did not Patch.8904447
budgetary entries to general populate the TC code
ledger incorrect.
32
Encumbrance Accounting in the Procure to Pay Flow: Best Practices
Issues related to Budgetary Control Exceptions and Incorrect Funds Check Behavior
Issues Cause Patch Number
BC API should work in This issue occurred because of locking system in Patch.9907009:R12.PSA.A for
background mode for PSA code, before the approval application tries to R12 &
concurrent requests reserve the document. At the time of reserve, Patch.9907009:R12.PSA.B for
gl_bc_dual table gets locked in exclusive 12.1
NOWAIT mode. Because of this reason, if
processes for multiple documents tried to access
the table at the same time only one of them gets
the lock and rest returned with an exception
33
Encumbrance Accounting in the Procure to Pay Flow: Best Practices
The funds verification fails Special S rows are not inserted in Patch.9328734:R12.PSA.A for
even when funds are gl_bc_period_map table R12 (Controlled release) &
available. for non federal customers resulting in inaccurate Patch.9328734:R12.PSA.B for
calculation in file glbcma.lpc 12.1
RCA multiple entities SCM- Multiple entities are created for PO having many Patch.9235968:R12.XLA.A for
Purchasing 3-1081270271 distributions when funds check is done R12 &
distribution by distribution in some scenarios Patch.9235968:R12.XLA.B for
12.1 (Controlled release)
PSA rollup patch for critical Consolidated fix for bugs related to PSA Patch.9100984:R12.PSA.A for
bug fixes and R12 &
enhancements Patch.9100984:R12.PSA.B for
12.1
Issue with fund check and For applications where AAD is not defined for Patch.6414911:R12.XLA.A
budgetary control during secondary ledger, it implies that product teams do
PO funds reserve not want to account for secondary ledger during
funds reserve/check. However, SLA was stamping
the budgetary event in error status because
secondary ledger processing was not successful
R12 invoice getting cant psa_funds_checker_pkg was invalid. The column Patch.6196198:R12.PSA.A
funds check hold, cannot GL_ROW_NUMBER existed in table
find why GL_BC_PACKETS instead of gms_bc_packets
34
Encumbrance Accounting in the Procure to Pay Flow: Best Practices
Better error message about Result code P29, P31, P35, P36, P37, P38 was Patch 6125623
status of funds used for advisory and they were improper. In
Purchasing these were treated as Success.
Reserve action fails for PR distribution id was populated onto the Patch.4455643
scheduled release for scheduled release distribution which was not
planned PO having a required.
backing req.
35
Encumbrance Accounting in the Procure to Pay Flow: Best Practices
Accounting program When the source used in the create accounting program Patch.9600743:R12.BOM.C
(xlaaccup) completes in is higher than 240 characters, the accounting program
error errors out with the ORA-06502: PL/SQL: numeric or
value error: characters which is a limitation of XLA
accounting program
Costing single event Design issue between CST,PSA,XLA for encumbrance Patch.9456733:R12.BOM.A
approach for expense accounting flow or Expense Destination POs accrued at for R12 &
destination PO receipt and accrued at period end Patch.9600743:R12.BOM.C
for 12.1.1 and 12.1.2
RCA: r12:create accounting When there no events to be processed then in Create Patch.8284764:R12.XLA.A
process does not drop Accounting program "accounting_program_batch" for R12 &
queue table procedure raises an exception "normal_termination" Patch.8284764:R12.XLA.B
where the queues are not being cleaned up for 12.1
36
Encumbrance Accounting in the Procure to Pay Flow: Best Practices
Creating receipts for This issue started due to the recent SLA enhancement Patch.7460759:R12.PSA.A
upgraded PO's get rvtth- 7193986.Because of this enhancement it is required to
448 error clean XLA GTs between multiple calls to XLA API. As
PSA is cleaning only few XLA GTs, this issue was
raised
Create accounting creates The logical sales issue to expense destination accounting Patch.7293052:R12.BOM.A
one-sided entries for logical entry is missing in Cost setup
intercompany transactions
R12:accounting program The cause of this issue was database core dump. It was Patch.5889331 - This is a
ended with GLIBC determined by the following error seen in the raw trace DB patch applicable for
detected double free or of the Accounting Program concurrent program: RDBMS version 10.2.0.3
corruption [...]
Exception signal: 11 (SIGSEGV), code: 1 (Address not
mapped to object), addr: 0x0, PC: [0x1871af5,
expCheckExprEquiv()+5015]
*** 2008-06-20 23:31:09.278
ksedmp: internal or fatal error
ORA-07445: exception encountered: core dump
[expCheckExprEquiv()+5015] [SIGSEGV] [Address
not mapped to object] [0x000000000] [] []
Current SQL statement for this session:
INSERT INTO XLA_DIAG_SOURCES (
EVENT_ID , LEDGER_ID , SLA_LEDGER_ID ,
DESCRIPTION_LANGUAGE , OBJECT_NAME ,
OBJECT_TYPE_CODE , LINE_NUMBER , [...]
Xlaaccup: ora-00001: unique This issue can be resolved by adding event_id to index Patch.6997731:R12.XLA.A
constraint xla_Ae_lines_gt_u1 for R12 &
(xla.xla_ae_lines_gt_u1) Patch.6997731:R12.XLA.B
violated for R12.1 (controlled
release)
37
Encumbrance Accounting in the Procure to Pay Flow: Best Practices
Getting error while saving The view PSA_CST_XLA_UPG_V was checking Patch.6754295:R12.PSA.A
receipt of expense PO’s receiving inventory org instead of PO operating unit
38
Encumbrance Accounting in the Procure to Pay Flow: Best Practices
• Master Note For Oracle EBS Procurement Suite-Encumbrance And Accrual Accounting
[Document ID 1138043.1]
• Impact of R12 Design in PO Accounting [Document ID:429105.1]
• Oracle Applications Release 12 Upgrade Sizing and Best Practices to evaluate the potential
growth of your SLA tables[ Document ID:399362.1]
• R12 FAQ for the SLA Upgrade: SLA Pre-Upgrade, Post-Upgrade, and Hot Patch[ Document
ID:604893.1]
• Create Accounting Process [Document ID:579836.1]
• R12 Account Requirements For Inventory Accrual Reconciliation[Document ID:824388.1]
• R12 FAQ Accounting for On Line and Period End Accruals [Document ID:1113712.1]
• FAQ R12 Essentials Of Accrual Accounting [ID 827125.1]
• R12 How To Diagnose Issues with Period End Accruals [ID 603971.1]
• R12: Discrepancies With Period End Accruals-Troubleshooting [ID 1279848.1]
• R12 Receipt Accrual Period end process-Duplicate accrual reversal entries created [ID
873399.1]
• FAQ Encumbrance Accounting - Setup And Usage [Doc ID 1086669.1]
• R12: Diagnostic Script to help troubleshoot Purchasing Accounting or Encumbrance Issues
[Doc ID 1483743.1]
• Steps to Run Import And Validate AAD (Application Accounting Definition) with
troubleshooting [Doc ID 1406203.1]
39
White Paper Title: Encumbrance Accounting in Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
the Procure to Pay Flow: Best Practices
This document is provided for information purposes only, and the contents hereof are subject to change without notice. This
May 2014
document is not warranted to be error-free, nor subject to any other warranties or conditions, whether expressed orally or implied in
Author: Sabrina Sun
law, including implied warranties and conditions of merchantability or fitness for a particular purpose. We specifically disclaim any
Contributing Authors: Vijayaganesh
liability with respect to this document, and no contractual obligations are formed either directly or indirectly by this document. This
Sampathkumar, Supriya Bontala, Acharya
document may not be reproduced or transmitted in any form or by any means, electronic or mechanical, for any purpose, without our
Devadula
prior written permission.
Oracle Corporation
World Headquarters Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.
500 Oracle Parkway
Redwood Shores, CA 94065 Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used under license and
U.S.A. are trademarks or registered trademarks of SPARC International, Inc. AMD, Opteron, the AMD logo, and the AMD Opteron logo are
trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered trademark of The Open Group. 0114
Worldwide Inquiries:
Phone: +1.650.506.7000
Fax: +1.650.506.7200
oracle.com