Oracle General Ledger and Budgeting

What is planning budget ?

The plan for the future expenses is planning budget. It is a paper work. There is no funds requirement. It does not require journals. There are no restrictions for estimating of funds. It is a budget through which you cannot exercise budgetary control. But u can compare your actual with budgets through inquiry window.

What is Consolidation in GL?

It Consolidates the Subsidiaries & Parent financial information. At a point of time we can check the Performance of the Companies overall Performance. When we have multiple setup and combine primary and secondary books getting the financial reports is called consolidation We will use consolidation reports at the time of period end closing Consolidation is the Process of combining the Financial results of different companies typically combining subsidiary accounting information into a parent company.The main purpose of consolidation is for reporting purpose. Consolidation is the period-end process of combing the financials of separate subsidiary with the pay rent company to from single ,combine statement of final result consolidation is one of the reporting tool.consolidation may map the subsidiary set of books to parent set of books, even if the set of books values are different using segment rule,accounting rule It is the process of combining the financial results of multiple companies into one financial statement the company may have different sobs in different countries,so we will collect all the financialtransactions(sob) in to one set of book ,that is parent sob then the company easely findout all the finacial year endingresullts in their functional curency,that purpose multiple companies are using consolidation I think consolidation can be done with two ways that is FSG, GCSÂ for FSG it can be done when both parent SOB and Subsidary SOB have Currency, Calender, COA, same then we go for FSG.In Global consolidation System currency, coa, calender are different in parent sob and subsidary sob we have to go for GCS.I am Saikrishna actaully I am pursuing my oracle financials in hyd i just completed one of my module GL institute.

How to import data to General Ledger by Feeder System ?
There are three ways:

1- You can upload Journal Entries using ADI (Application Desktop Integrator) functionality. ADI is used to interface spreadsheet uploads with Oracle applications data. ADI allows users take advantage of many of the data-entry shortcuts of a spreadsheet, such as copying and pasting cells, dragging and dropping ranges of cells and using formulas to calculate journal line amounts. ADI validates the data entered against the accounts, security rules and reference information that are defined in the General Ledger (GL).

2- Using Journal Import, we can bring the data from the feeder system; to import the Transactions from External Feeder Systems following are the steps-1. Populate the data from External system to GL_Interface table (GL_INTERFACE table acts like a bridge between the external system and the Oracle General Ledger Base tables where journals are stored). 2. Run the Journal Import process to import the date to base tables (Errors in Journal Import are listed in Execution Report)

3. From any sub module run individual module transfer to GL program Ex: Payables transfer to General Ledger

After creating Journal Source how do we approve to the specific Set of Books ?

To approve journals from specific source, while creating the source ‘Require Journal Approval’ check box should be enabled. To approve all the journals that come from different sources In the Set Of Books window under ‘Journaling’ tab ‘journal approval’ should be enabled.

While creating combination of accounts what is the use of PRESERVED check box ?

If we check preserve for a account code combination then even if you disable this account segment value, the inherited (parent. child) segment values will not be disabled. If it is unchecked all the related segment values will be disabled. Preserved check box will help you to retain the original character of the General Ledger code combination, even after u change the nature of the segments during maintenance of the GLCC.

What is the MD form 50 ?

MD50 is a Functional design document, designed by the functional consultant. After interacting with the client, functional consultant will prepare this document. In this we will compare the present business process and client requirement. It is mainly used for Application Extensions and Interface functional design.

What are the journal entries in Procure to Pay Cycle ?

When the Material Received at the Gate-

Receiving Accrual A/C — DrMaterial AP Accrual A/C — Cr

When the Material delivered to The Inv Org Material

A/c Dr Purchase Price Variance A/c Dr Receiving A/c Cr

When the Invoice Is enterd into the Payable with Matching Of PO Material

Ap Accrual A/c Dr Invoice Price Variance A/c Dr AP Liability A/c Cr

Material Receipt

Receiving Accural Dr AP Accural Cr

On completion on inspection and accepting of goods

Inventory Dr Receiving Accural Cr The Above given 2 entries are in PO module

On entering Invoice in AP

AP Accural Dr Accounts Payable Cr

On Making payment

Accounts Payable Dr   Cash/Bank Cr 1. On Entry of PO ________ No accounting impact On Material

On Payment

Accounts Payable Dr’ Cash/Bank Cr

When we raise the Purchase Order entry

Material in transit a/c Dr To AP Accrual A/c

Thanks – Shivmohan

Oracle Applications / Financials – Functional Question on General Ledger – Budgeting

Oracle Applications / Financials – Functional Question on General Ledger – Budgeting. Quite useful as FAQ and Interview Questions for General Ledger.

11. What is Set of Books? What are the four conditions when you change your SOBs?SOB is of 2 types – Primary and Reporting.Primary SOB – All transactions are with functional Currency

12. What is an Invoice?
AR invoice is a document sent to the customer with details like, Bill-to customer code, product code, qty sent, price, currency, credit terms, tax details, etc. Based on this invoice, customer will make payment to the company and the same is applied against the invoice. AP invoice is the document received from the supplier and contains information such supplier details, product code, qty, price and tax details. This invoice is entered in the AP module and payment is made to the supplier against this invoice.
There are 2 types of invoices-

1. Periodic 2. Milestone

Also, Invoice is an information sheet which a company sends to the buyer along with the good. It explains the details of the goods in the shipment and also the prices. Invoices can contain all sorts of data regarding the shipment and goods depending on the company and product.

13. Can you disable budgetary control for a set of books?

You can, however existing encumbrances are not cleared from the feeder systems. Therefore it is not recommended. If you do change the budgetary control options for an existing set of books, you must do two things for the change to be reflected.

–Run the Period Map Maintenance concurrent request, it must complete successfully.

–Exit Oracle Applications and restart. You must completely exit the application…it is not sufficient to select Sign on again from the Oracle Applications Special menu.

14. Is there a limit to the number of periods in a budget year or how many years a budget can span?

There is no limit for the budget. One can define budgetary control for n number of years however, one year can have maximum of 60 fiscal periods.

15. Why don’t my Detail budgets roll up to my Master budget?
Detail budgets do not automatically roll up to the master budget. The GL uses summary accounts to maintain master/detail budget relationships between them.

16. I was able to post a budget journal to a closed period, why?
Yes, a budget journal can be posted to any period that is in an open budget year for that budget. This is regardless of the status of that period. The budget journal is not linked with your accounting period. Once you have open the budget period then you can book budget journal for that whole period.

17. How many ‘Current’ budgets can you have?
For each set of books, you can have only one current budget at any point in time. The only distinction between a ‘current’ and an ‘open’ budget is that the current budget defaults into the budget field on several budget-related forms. It can be replaced however by any ‘open’ budget in the field.
18. What is a funding budget?

Funding budget is a budget against which accounting transactions are checked for available funds when budgetary control is enabled for your set of books. Funding Budgets are approved budgets.Two types of budgets are there in Oracle Apps: 1- Fund 2- Plan.

Fund budget create the Budget Journal but plan budget used only for planning. Fund budget requires journal entries, and is assigned to a summary template or account range in the budget org, where the funds check level is set at Absolute or Advisory. It is the assignment that makes it a ‘funding budget’; it is not done at the budget definition level.

19. Why is my budget requiring budget journals?
At the set of books level that option is not enabled? This would happen when the budget itself is defined to require budget journals. This is done at the budget definition level.

20. Why can’t I inquire on my budget amounts from INQUIRE/BUDGETS navigation path?
The Budget Inquiry form (GLXIQBUD) is used to perform inquiries about master and detail budgets. GL compares summary balances between your master and detail budgets, and checks for budget variances and violations. This form only looks at summary accounts. To inquire on detail accounts you must use the navigation INQUIRE/ACCOUNTS, and choose the ‘budget’ amount type.

21. If I delete my budget org, will the budget amounts be deleted?
No, the amounts will be same. Deleting the budget organization does not remove the budget amounts from the GL_BALANCES table.

22. Can I update/adjust an existing account range in my budget organization?
Yes you can update an existing account range in Budget Organization.

23 How many times can a budget be purged?
Budget can be purged only one time.

24. Why is there no value in the REQUEST_ID column of GL_BUDGET_INTERFACE for rows with data that failed to be uploaded by the Budget Spreadsheet Upload program?
You are trying to open the next budget year. After navigating to the form and querying the budget, you notice the [Open Next Year] button is grayed out. You find that Account code combinations are not being added to the Budget Organization.
25. Why don’t my Detail budgets roll up to my Master budget?

Detail budgets do not automatically roll up to the master budget. The GL uses summary accounts to maintain master/detail budget relationships between hierarchy levels. Summary templates are defined so that accounts in your lower level detail budgets roll up into the same summary accounts as the detail accounts in your controlling master budget. A common misconception is that the detail budgets somehow roll up to the master budget by definition, this is not true. You must actually budget to a detail account in the master budget; this then serves as the controlling amount for the detail budgets. Master/Detail budgets are used in the budgeting process to control Authority and identify budgets that exceed control limits. They are not intended for reporting purposes.

26. I was able to post a budget journal to a closed period, why?
A budget journal can be posted to any period that is in an open budget year for that budget. This is regardless of the status of that period (closed, opened, or future enterable).
27. Why don’t my budget amounts appear on my FSG?

To include budgets (encumbrances or currencies) in a FSG report, your report definition must specify a row set of column set that has control values specified in the Balance Control options. In the report definition itself, you associate budget names with the control values that are assigned to the row or column set.

Shivmohan Purohit

Reporting SOB – All transactions are with foreign Currency

You have to assign your SOB to your responsibility. Set of book means linking between the 3cs i.e. chart of accounts, calendar, currency and maintain 5 mandatory accounts. Set of books are created keeping in mind the ‘Accounting Structure”. This is a combination of 3 ‘Cs’ – Chart of Accounts, Currency and Calendar. Chart of Accounts is made up of segments- Max of 30 Segments are allowed. Two Segments are mandatory – Balancing and Natural segment, Calendar –This can have a max of 365 periods (daily calendar) and a min of 1 period (Yearly calendar). Periods can be monthly, fortnightly, weekly, daily.

Oracle General Ledger – Tables

Hello Friends , here is some of quite commonly used GL tables and their usage. There are many other tables also in GL but here i am putting only few commonly used tables. for other table if needed we can dig furthur. Let go through below article and let me know if it useful.











Stores information about the sets of books you define in your Oracle General Ledger application. Each row includes the set of books name, description, functional currency, and other information. This table corresponds to the Set of Books form.
Stores individual transactions from subledgers that have been summarized into Oracle General Ledger journal entry lines through the Journal Import process. You can specify the journal entry sources for which you want to maintain your transaction’s origin by entering ’Yes’ in the Import Journal References field of the Journal Sources form.
For each source that has Import Journal References set to ’Yes’, Oracle General Ledger will populate GL_IMPORT_REFERENCES with one record for each transaction in your feeder system.


Stores the daily conversion rates for foreign currency transactions. It replaces the GL_DAILY_CONVERSION_RATES table. It stores the rate to use when converting between two currencies for a given conversion date and conversion type. Each row in this table has a corresponding inverse row in which the from and to currencies are switched.
For example, if this table contains a row with a from_currency of YEN, a to_currency of CND, a conversion_type of Spot, and a conversion_date of January 1, 1997, it will also contain a row with a from_currency of CND, a to_currency of YEN, a conversion_type of Spot, and a conversion_date of January 1, 1997.
In general, this row will contain a rate that is the inverse of the matching row. One should never insert directly into this table. They should instead insert into the DAILY_RATES_INTERFACE table. Data inserted into the GL_DAILY_RATES_INTERFACE table will be automatically copied into this table.
Stores the journal entry lines that you enter in the Enter Journals form. There is a one–to–many relationship between journal entries and journal entry lines. Each row in this table stores the associated journal entry header ID, the line number, the associated code combination ID, and the debits or credits associated with the journal line. STATUS is ’U’ for unposted or ’P’ for posted.


Stores information about the accounting periods you define using the Accounting Calendar form. Each row includes the start date and end date of the period, the period type, the fiscal year, the period number, and other information. There is a one–to–many relationship between a row in the GL_PERIOD_SETS table and rows inthis table.


Stores journal entries. There is a one–to–many relationship between journal entry batches and journal entries. Each row in this table includes the associated batch ID, the journal entry name and description, and other information about the journal entry. This table corresponds to the Journals window of the Enter Journals form. STATUS is ’U’ for unposted, ’P’ for posted. Other statuses indicate that an error condition was found. CONVERSION_FLAG equal to ’N’ indicates that you manually changed a converted amount in the Journal Entry Lines zone of a foreign currency journal entry. In this case, the posting program does not re–convert your foreign amounts. This can happen only if your user profile option MULTIPLE_RATES_PER_JE is ’Yes’. BALANCING_SEGMENT_VALUE is null if there is only one balancing segment value in your journal entry. If there is more than one, BALANCING_SEGMENT_VALUE is the greatest balancing segment value in your journal entry.


Stores journal entry batches. Each row includes the batch name, description, status, running total debits and credits, and other information. This table corresponds to the Batch window of the Enter Journals form. STATUS is ’U’ for unposted, ’P’ for posted, ’S’ for selected, ’I’ for in the process of being posted. Other values of status indicate an error condition. STATUS_VERIFIED is ’N’ when you create or modify an unposted journal entry batch.
The posting program changes STATUS_VERIFIED to ’I’ when posting is in process and ’Y’ after posting is complete.

Stores actual, budget, and encumbrance balances for detail and summary accounts. This table stores functional currency, foreign currency, and statistical balances for each accounting period that has ever been opened.
ACTUAL_FLAG is either ’A’, ’B’, or ’E’ for actual, budget, or encumbrance balances, respectively. If ACTUAL_FLAG is ’B’, then BUDGET_VERSION_ID is required. If ACTUAL_FLAG is ’E’, then ENCUMBRANCE_TYPE_ID is required.
GL_BALANCES stores period activity for an account in the PERIOD_NET_DR and PERIOD_NET_CR columns. The table stores the period beginning balances in BEGIN_BALANCE_DR and BEGIN_BALANCE_CR.
An account’s year–to–date balance is calculated as BEGIN_BALANCE_DR – BEGIN_BALANCE_CR + PERIOD_NET_DR – PERIOD_NET_CR. Detail and summary foreign currency balances that are the result of posted foreign currency journal entries have TRANSLATED_FLAG set to ’R’, to indicate that the row is a candidate for revaluation.

For foreign currency rows, the begin balance and period net columns contain the foreign currency balance, while the begin balance and period net BEQ columns contain the converted functional currency balance. Detail foreign currency balances that are the result of foreign currency translation have TRANSLATED_FLAG set to ’Y’ or ’N’. ’N’ indicates that the translation is out of date (i.e., the account needs to be re–translated). ’Y’ indicates that the translation is current.

Summary foreign currency balances that are the result of foreign currency translation have TRANSLATED_FLAG set to NULL. All summary account balances have TEMPLATE_ID not NULL. The columns that end in ADB are not used. Also, the REVALUATION_STATUS column is notused.


Stores valid account combinations foreach Accounting Flexfield structure within your Oracle General Ledger application. Associated with each account are certain codes and flags, including whether the account is enabled, whether detail posting ordetail budgeting is allowed, and others. Segment values are stored in the SEGMENT columns. Note that each Accounting Flexfield structure may use different SEGMENT columns within the table to store the flexfield value combination. Moreover, the SEGMENT columns that are used are not guaranteed to be in any order. The Oracle Application Object Library table FND_ID_FLEX_SEGMENTS stores information about which column in this table is used for each segment of each Accounting Flexfield structure. Summary accounts have SUMMARY_FLAG = ’Y’ and TEMPLATE_ID not NULL. Detail accounts have SUMMARY_FLAG = ’N’ and TEMPLATE_ID NULL.

Be free to reach out for any suggestions etc on my email –

Thanks – Shivmohan Purohit

Shivmohan – Oracle Financials

What is Oracle Financials?


Oracle Financials products provide organizations with solutions to a wide range of long- and short-term accounting system issues. Regardless of the size of the business, Oracle Financials can meet accounting management demands with:

Oracle Assets: Ensures that an organization’s property and equipment investment is accurate and that the correct asset tax accounting strategies are chosen.

Oracle General Ledger: Offers a complete solution to journal entry, budgeting, allocations, consolidation, and financial reporting needs.

Oracle Inventory: Helps an organization make better inventory decisions by minimizing stock and maximizing cash flow.

Oracle Order Management: Provides organizations with a sophisticated order entry system for managing customer commitments.

Oracle Payables: Lets an organization process more invoices with fewer staff members and tighter controls. Helps save money through maximum discounts, bank float, and prevention of duplicate payment.

Oracle Purchasing: Improves buying power, helps negotiate bigger discounts, eliminates paper flow, increases financial controls, and increases productivity.

Oracle Receivables:. Improves cash flow by letting an organization process more payments faster, without off-line research. Helps correctly account for cash, reduce outstanding receivables, and improve collection effectiveness.

Oracle Revenue Accounting Gives an organization timely and accurate revenue and flexible commissions reporting.

Oracle Sales Analysis: Allows for better forecasting, planning. and reporting of sales information.

Thanks , plz share your feedback / comments
Shivmohan Purohit

Excel output directly from Oracle Application Concurrent Request Output

Need to create Microsoft Excel style files directly openable from Oracle Applications concurrent request output … without using BI Publisher?

A little know file format with acronym SYKL is a handy tool for create files readable in Microsoft Excel. here’s the recipe for a very simple Excel (SYLK) output concurrent program for an FND_USERS listing with creation date from/to parameters. So, without further ado, here’s the recipe for a very simple Excel (SYLK) output concurrent program for an FND_USERS listing with creation date from/to parameters

   1. Take a PL/SQL package based on the Oracle provided OWA SYLK ppckage (owasylk.sql / owa_sylk.sql) and make some changes: ( )

  • rename it to owa_sylk_apps
  • Change it to use fnd_file.put_line(fnd_file.output instead of utl_file.put_line(g_file
  • Remove parameters for p_file

   2. Create a PL/SQL package for the concurrent program that outputs SYLK file to the concurrent request output.

create or replace package XXXV8_USERS_SYLK_PKG AUTHID CURRENT_USER


procedure main

( errbuf      out varchar2

, retcode     out varchar2

, p_date_from in  varchar2

, p_date_to   in  varchar2




create or replace package body XXXV8_USERS_SYLK_PKG


procedure main

( errbuf      out varchar2

, retcode     out varchar2

, p_date_from in  varchar2

, p_date_to   in  varchar2

) as

  l_date_from date;

  l_date_to   date;


  l_date_from := fnd_date.canonical_to_date(p_date_from);

  l_date_to   := fnd_date.canonical_to_date(p_date_to);

        p_query => ‘select user_id user_id, user_name user_name, ‘

                   ‘       description description, creation_date created ‘

                   ‘from fnd_user ‘

                   ‘where trunc(creation_date) >  :DATE_FROM ‘

                   ‘and   trunc(creation_date) <= :DATE_TO ‘,

        p_parm_names =>

                 owa_sylk_apps.owaSylkArray( ‘DATE_FROM’, ‘DATE_TO’),

        p_parm_values =>

                 owa_sylk_apps.owaSylkArray(l_date_from ,l_date_to),

        p_widths =>



end main;


   3. Setup the concurrent program

   4. Hijack one of the little used Viewer Options (PCL) so that we can get the Concurrent Request output browser to automatically open Microsoft Excel. Note this is optional, you can just create a new Viewer Option but then you may get the “Choose Viewer” box when viewing concurrent request output. NB: Navigation path is System Administrator, Install, Viewer Options

update fnd_mime_types_tl

set    mime_type = ‘application/’

,      description = ‘Excel (SYLK) used to be application/vnd.hp-PCL: Printer Control Language’

,      last_updated_by = 0

,      last_update_date = sysdate

where  file_format_code = ‘PCL’

and    mime_type = ‘application/vnd.hp-PCL’;


   5. Assign the concurrent program to the appropriate request group (e.g. System Administrator, All Reports, Application Object Library) and run the concurrent program to test it all out! And there you have it – Excel style output direct from concurrent request generated by PL/SQL!

Article courtesy and credit goes to  —