Sie sind auf Seite 1von 11

Basic Accounting Functionality in Release 11i

Phil Merlano Michael Milano Cynthia Bruno Oracle Corporation

Introduction
This paper outlines accounting transactions and how they are reflected in the Oracle Payables database. It discusses setup steps needed for accounting, then follows 4 types of typical transactions from entry, payment, and finally transfer into General Ledger. structure. You can define up to 30 segments for your account structure. There is a complete discussion of this in the Oracle General Ledger User s Guide, Release 11, Volume 2, Chapter 6. The GL_CODE_COMBINATIONS table stores valid Accounting Flexfield segment value combinations for each Accounting Flexfield structure. The CODE_COMBINATION_ID is used in several Payables tables to refer to this combination. You can retrieve the CODE_COMBINATION_ID (CCID) from the database if you know the segments by using the following SQL statement: SELECT code_combination_id CCID FROM gl_code_combinations WHERE segment1 = '&seg1' AND segment2 = '&seg2' AND segment3 = '&seg3' AND segment4 = '&seg4' AND segment5 = '&seg5'; This is only an example. You may have more or less segments defined. For example, if your account is

Scope
I. Account Setup II. Typical Accounting Examples a. Standard Invoice b. Prepayments c. Discount d. Foreign Currency with payment exchange rate variance III. New Reports in 11i IV. Changed reports in 11i

I. Account Setup in Oracle Payables


Every installation of Oracle Financials requires that you set up your chart of accounts in General Ledger. This is a multistep process that includes an evaluation of the organizational structure and the dimensions of the client business. As part s of this process, you define the Accounting Flexfield to create accounts that fit the specific needs of your organization. You choose the number of segments, the length of each segment, and the name and order of each segment in your account code

defined as 01.000.001.00.004, you would use for 01 &seg1 , 000for &seg2 , 001for &seg3 for , 00 &seg4 and , 004for &seg5 .

Invoice Account Setup


Liability GL Account: You define the liability account on the Accounting Financials Option form. This form is located by navigating to Setup -> Options -> Financials. The values that you enter on the Accounting Financials Option form will be stored in the FINANCIALS_SYSTEM_PARAMS_ALL table. Payables assigns this account as the default Liability Account for all new suppliers you enter. You can override this value during supplier entry. The value you enter for the supplier then defaults into the supplier site. If you are using multi-org, then the Liability Account will not default to the supplier site. You can override this value during supplier site entry. The ccid for the liability account that defaults during invoice entry is stored in the PO_VENDOR_SITES_ALL table. The Liability Account for an invoice determines the liability account(s) charged when you post invoices to your Accrual Basis set of books. When entering invoices, you can choose a default liability account for a batch of invoices. This account will be assigned to each invoice. You can also override the liability account assigned to the invoice. Asset or Expense GL Account: You enter the Asset or Expense account during the entry of an invoice. This will default if you are using a distribution set. Prepayment GL Account: You define the prepayment account on the Accounting

Financials Option form. This form is located by navigating to Setup>Options->Financials. The values that you enter on the Accounting Financials Option form will be stored in the FINANCIALS_SYSTEM_PARAMS _ALL table. Payables assigns this account as the default Prepayment GL Account for each new supplier you enter. You can override this value during supplier entry. The value you enter for the supplier then defaults into the supplier site. If you are using multi-org, then the Liability Account will not default to the supplier site. You can override this value during supplier site entry. The ccid for the prepayment account that defaults during invoice entry will be stored in PO_VENDOR_SITES_ALL table. Payables uses the account as the default expense account for the invoice distributions on a prepayment. Typically your Prepayment Account will be an asset.

Payments Account Setup


Liability GL Account: The liability account charged is taken from the invoice. Realized Gain and Loss GL Accounts: The Realized Gain and Loss is from the bank account which the payment is drawn. You setup the realized gain and loss accounts in the Payables Options region of the Bank Account form. Discount Taken GL Account: You define this option in the Accounting Financials Option form. This form is

located by navigating to Setup -> Options -> Financials. This information is stored in the FINANCIALS_SYSTEM_PARAMS_ALL table. If you choose to distribute your discounts to the system Discount Taken Account, Payables uses this account to record the discounts you take on payments. Use the Payables Options window to select your method for distributing discounts for your invoices. Cash GL Account: The cash account is from the bank account which the payment is drawn. You setup the cash accounts in the GL Accounts region of the Bank Account form. The following are Setup steps specific for 11i. In the Accounting Method tab in Payables Options, you will notice that the account audit option has been removed. With the new accounting model, these options are no longer needed. When the accounting entries are transferred to the gl interface, a link is automatically created. This

There is a new addition to the Payables Option region, called Transfer to GL. This new region controls the default values for the parameters of the Payables Transfer to General Ledger program. This assists users in ensuring that they consistently transfer their accounting entries to the general ledger interface in the same way.

Another new region to Payables Options is Payment Accounting. This new region controls various options for the accounting of payments. This area controls the timing of when accounting is created for payments, i.e. When payment is issued. When payment clears Or both can be selected The Account for Gain/Loss setup controls the timing of when accounting is created for the recognition of gain or loss on a payment transaction. The timing options are the same as mentioned above.

Entering Invoices and Making Payments


When reading the columns below, the DIST_CCID is the dist_code_combination_id and the ACCTS_CCID is the accts_pay_code_combination_id. The DIST_CCID represents the expense account on the invoice distribution. The ACCTS_CCID represents the Accounting Flexfield identifier for type of payment on the

means that full drill down to the payables accounting entries is always available from Oracle General Ledger, no matter the level of summarization. (Note that the same Import Journal references option in Oracle General Ledger must be enabled to allow drill down).

Payment Clearing Event Payment Unclearing Event

II. Typical Accounting Examples


The following examples detail the table level results of scripts and the associated T-accounts for typical Payables Transactions.

a. Standard Invoice
payment distribution, whether it be the Cash, Discount, or realize gain/loss on a foreign currency. Accounting Events The 11i Payables accounting model uses the new concept of accounting events. An accounting event is an event that might require accounting for a transaction, for example, a payment. The type of event controls the accounting that is created for a transaction and how that accounting appears in the subledger. There are eleven accounting events divided into to broad categories, invoices and payments. Enter an invoice for $50 and pay for full amount. Click the Create Accounting option in the action window. If you want to look at what happens at the table level, run the scripts that are given as examples. Enter invoice select invoice_id, invoice_amount, amount_paid, discount_amount_taken from ap_invoices_all where invoice_num = 'pm10'; Inv id 20125 Inv amt 50.00 Amt pd 0 Dis 0

Invoice Categories Invoice Event Invoice Adjustment Event Invoice Cancellation Event Prepayment Application Event Prepayment Unapplication Event Payment Categories Payment Event Payment Maturity Event Payment Adjustment Event Payment Cancellation Event

select dist_code_combination_id, accounting_event_id, amount from ap_invoice_distributions_all where invoice_id = 20125; Dist ccid 12993 Acct evt id 21428 Amount 50.00

Note: In 11i, the accts_pay_code_combination_id, is

no longer used in ap_invoice_distributions_all. Create Accounting Entries Select ae_line_type_code, code_combination_id, source_table, source_id, entered_cr From ap_ae_lines_all Where ae_header_id in (select ae_header_id from ap_ae_headers_all where accounting_event_id = 21428; 2 rows returned with 5 pieces of data: Code Type Charge CCID 12993

select invoice_id, invoice_amount, amount_paid, discount_amount_taken from ap_invoices_all where invoice_num = 'pm10'; Inv id 20125 Inv amt 50.00 Amt pd 50.00 Dis 0

select dist_code_combination_id, amount from ap_invoice_distributions_all where invoice_id = 20125; Dist ccid 12993 Amount 50.00

Create Accounting Entries Table Dist Source id 36094 En CR 50.00 select invoice_payment_id, accounting_event_id from ap_invoice_payments_all where invoice_id = 20125; Invoice_ pay_id 15923 En CR 50.00 Acctg event id 21431

Where Dist = ap_invoice_distribution Code Type Liability Table Inv CCID 12854 Source id 36094

Where Inv = ap_invoices Note: The combination of ae_line_type_code and code_combination_id equate to the pre release 11i accts_pay_code_combination_id. Account Expense Liability Debit 50 Credit 50

Select ae_line_type_code, code_combination_id, source_table, source_id, entered_dr, entered cr From ap_ae_lines_all Where ae_header_id in (select ae_header_id from ap_ae_headers_all where accounting_event_id = 21431; 2 rows returned with 5 pieces of data: Code type Liability CCID 12854

Pay invoice Table pay Source id 15923 En DR 50

Where pay = ap_invoice_payments Enter and Pay Prepayment Code type Cash Clearing Table checks CCID 12831 En CR 50 select invoice_id, invoice_amount, amount_paid from ap_invoices_all where invoice_num = 'pm0822002'; select dist_code_combination_id, accounting_event_id, amount from ap_invoice_distributions_all where invoice_id = 1089400; Create Accounting Entries Select ae_line_type_code, code_combination_id, source_table, source_id, entered_dr, entered_cr From ap_ae_lines_all Where ae_header_id in (select ae_header_id from ap_ae_headers_all where accounting_event_id = <value from 2nd script>); Account Prepay Liability Debit 15.15 Credit 15.15

Source id 14269

Where checks = ap_checks Account Liability Cash Debit 50 Credit 50

Payables Transfer to GL select substr(reference24, 1, 9), substr(reference25, 1, 9), substr(reference26, 1, 15), substr(reference30, 1, 11), substr(reference23, 1, 9), code_combination_id, entered_dr, entered_cr, accounted_dr, accounted_cr from gl_interface where reference22 = '20125'

For a payment: Ref24 111 Ccid 12854 Ref25 pm10 e-dr 50 Ref26 pay e-cr 0 Ref30 liab a-dr 50 Ref23 555 a-cr 0

Pay the Prepayment select invoice_payment_id from ap_invoice_payments_all where invoice_id = 1089400; Create Accounting Entries Select ae_line_type_code, code_combination_id, source_table, source_id, entered_dr, entered_cr From ap_ae_lines_all Where ae_header_id in (select ae_header_id from ap_ae_headers_all where accounting_event_id = <value from 2nd script>);

Where pay = ap_payments

b. Prepayments
Entered prepayment for $15.15 and paid. Enter invoice for $40 and applied prepayment. Paid balance of invoice.

Account Liability Cash

Debit 15.15

Credit 15.15

Enter Standard Invoice select invoice_id, invoice_amount, amount_paid from ap_invoices_all where invoice_num = 'pm0822003'; select distribution_line_number, dist_code_combination_id, accounting_event_id, amount from ap_invoice_distributions_all where invoice_id = 1089419;

select distribution_line_number, dist_code_combination_id, accounting_event_id, amount from ap_invoice_distributions_all where invoice_id = 1089419; select invoice_id, invoice_amount, amount_paid from ap_invoices_all where invoice_num = 'pm0822002'; select line_type_lookup_code, dist_code_combination_id, accounting_event_id, amount from ap_invoice_distributions_all where invoice_id = 1089400

Create Accounting Entries Select ae_line_type_code, code_combination_id, source_table, source_id, entered_dr, entered_cr From ap_ae_lines_all Where ae_header_id in (select ae_header_id from ap_ae_headers_all where accounting_event_id = <value from 2nd script>); Account Expense Liability Debit 40 Credit 40

Create Accounting Entries Select ae_line_type_code, code_combination_id, source_table, source_id, entered_dr, entered_cr From ap_ae_lines_all Where ae_header_id in (select ae_header_id from ap_ae_headers_all where accounting_event_id = <value from 2nd script>);

Account Liability Prepay

Debit 15.15

Credit 15.15

Apply Prepayment to Invoice Pay balance of standard invoice select invoice_id, invoice_amount, amount_paid from ap_invoices_all where invoice_num = 'pm0822003'; select invoice_id, invoice_amount, amount_paid from ap_invoices_all where invoice_num = 'pm0822003'; select invoice_payment_id

from ap_invoice_payments_all where invoice_id = 1089419;

accounting_event_id = <value from 2nd script>); Account Expense Liability Debit 100 Credit 100

Create Accounting Entries Select ae_line_type_code, code_combination_id, source_table, source_id, entered_dr, entered_cr From ap_ae_lines_all Where ae_header_id in (select ae_header_id from ap_ae_headers_all where accounting_event_id = <value from 2nd script>);

Pay Invoice with 10% discount select invoice_id, invoice_amount, amount_paid, discount_amount_taken from ap_invoices_all where invoice_num = 'pm0822004'; select distribution_line_number, dist_code_combination_id, accts_pay_code_combination_id, amount from ap_invoice_distributions_all where invoice_id = 1089500; select invoice_payment_id from ap_invoice_payments_all where invoice_id = 1089500; Create Accounting Entries Select ae_line_type_code, code_combination_id, source_table, source_id, entered_dr, entered_cr From ap_ae_lines_all Where ae_header_id in (select ae_header_id from ap_ae_headers_all where accounting_event_id = <value from 2nd script>); Account Liability Cash Discount Debit 100 Credit 90 10

Account Liability Cash

Debit 24.85

Credit 24.85

c. Discounts
Enter invoice for $100 and pay with 10% discount. Enter Invoice with discount select invoice_id, invoice_amount, amount_paid, discount_amount_taken from ap_invoices_all where invoice_num = 'pm0822004'; select distribution_line_number, dist_code_combination_id, accounting_event_id, amount from ap_invoice_distributions_all where invoice_id = 1089500; Create Accounting Entries Select ae_line_type_code, code_combination_id, source_table, source_id, entered_dr, entered_cr From ap_ae_lines_all Where ae_header_id in (select ae_header_id from ap_ae_headers_all where

d. Foreign Currency
Enter invoice with foreign currency for $125 and exchange rate of 0.5. Pay invoice with an exchange rate of 0.475. Enter foreign currency invoice with exchange rate of 0.5 select invoice_currency_code, payment_currency_code, invoice_amount, amount_paid, base_amount, invoice_id, exchange_rate from ap_invoices_all where invoice_num = 'pm0822005'; select distribution_line_number, dist_code_combination_id, accts_pay_code_combination_id, amount from ap_invoice_distributions_all where invoice_id = 1089658; Create Accounting Entries Select ae_line_type_code, code_combination_id, source_table, source_id, entered_dr, entered_cr From ap_ae_lines_all Where ae_header_id in (select ae_header_id from ap_ae_headers_all where accounting_event_id = <value from 2nd script>);

select invoice_currency_code, payment_currency_code, invoice_amount, amount_paid, base_amount, invoice_id, exchange_rate from ap_invoices_all where invoice_num = 'pm0822005'; select distribution_line_number, dist_code_combination_id, accts_pay_code_combination_id, amount from ap_invoice_distributions_all where invoice_id = 1089658; select invoice_payment_id, exchange_rate from ap_invoice_payments_all where invoice_id = 1089658;

Create Accounting Entries Select ae_line_type_code, code_combination_id, source_table, source_id, entered_dr, entered_cr From ap_ae_lines_all Where ae_header_id in (select ae_header_id from ap_ae_headers_all where accounting_event_id = <value from 2nd script>);

Acct Exp Liab

Debit (FX) 125

Credit Debit (FX) 250 125

Credit

250

Acct Cash Liab G/L

Debit (FX) 125

Credit Debit (FX) 125 250 13.16

Credit 263.16

Pay foreign currency invoice with exchange rate of 0.475

Note: G/L is an abbreviation for the Gain/Loss account. III. New Reports in 11i

Since the new accounting model affected all of the accounting in Oracle Payables, any report that displayed accounting information in prior releases were reviewed and changed as needed. Payables Accounting Process Report This new report is automatically produced byt the Payables Accounting Process. The audit section of theis report shows the detail of the accounting entries created by the process. The exceptions section of the report shows thedetail of any accounting entries created with an error. This report can be run in summary or detail, depending on your needs. Payables Accounting Entries Report This report has the same information as the Payables accounting process reports but can be run manually. This allows you greater flexibility in reporting your accounting transactions. Payables Transfer To General Ledger Report The new transfer program automatically produces report output. It has two sections that show exceptions: one section shows accounting entries that could not be transferred because they were in an error status, and the second shows accounting entries that were accounted with no problem but are now unable to be transferred due to a discrepancy between the accounted account and the account in the general ledger. This report does not produce an audit section of the detail that has been transferred to the general ledger. The Payables Accounting Entry Report ccan be run for a particular submission of the Payables

Transfer to General Ledger to get the audit detail. Unaccounted Transaction Report This report allows you to review problems with the invoices and payments which can not have accounting entries created for them due to some problem. The report is organized by the reason why the accounting entries cannot be created. This report replaces the Posting Holds report. Note that holds which did not allow posting in prior releases will not allow accounting entry creation in 11i.

Payables Account Analysis Report This report allows you to review accounting entries created in the Payables subledger and to assist with the reconciliation of accounts to the general ledger. IV. Changed Reports in 11i Accounts Payable Trial Balance You can now run this report for a single supplier. There is also an option to run the report for a single liability account Posted Invoice Register This report now reflects the new accounting entries which have been transferred to the general ledger. Although technically the accounting

in this report has only transferred to general ledger and not necessarily been posted, the name of the report has not changed. There is now an option to run the report for a single liability account. There is also an option to run the report in summary. Posted Payment Register This report now reflects the new accounting entries which have been transferred to the general ledger. Although technically the accounting in this report has only transferred to general ledger and not necessarily been posted, the name of the report has not changed. There is now an option to run the report for a single liability account. There is also an option to run the report in summary.

About the Author Phil Merlano is a Senior Technical Analyst with Oracle Support. Phil has several years experience with programming and technical support. Michael Milano is a Technical Analyst with an Accounting/Finance background and has worked with Oracle Support for more than two years. Cynthia Bruno is a Technical Analyst with an Accounting and programming background and has worked with Oracle Support for almost two years.

Das könnte Ihnen auch gefallen