R12 - Credit to Cash process flow

on Monday, August 30, 2010

Revenue Contingency Life Cycle
Revenue Recognition Accounting Standards

Flexible Billing Cycles
  • Billing cycles can be selected ad-hoc during invoice creation.
  • Consolidated Billing (Balance Forward Billing) can also be generated via BPA in R12.
Enhanced Late Charges

More Accurately Apply Customer Payments
  • Line level cash application. Apply cash to a invoice line or group of lines
  • New Receipt Workbench
Attachment Printing in BPA
  • This feature is enabled with a new system profile option. ‘AR: BA Print Attachment Document%’ Set the category for printing.
  • This allows you to print attachments that are associated with the invoice
Make better credit decisions with credit management

Interest calculation in the cash management module
  • Interest rate schedules
  • Notional cash pool (Euro)
  • On-line calculator
Refund Automation
  • Automatic refunds for Auto Invoice credit memos
  • Simplified manual refund process
  • Refund approval workflow (AP)
Credit Card Chargeback Processing
  • In this process, you are responsible for sending the funds back to the bank on behalf of the customer.
  • Simplified credit card chargeback processing

Fund Transfer in R12

on Friday, August 20, 2010

Fund transfers are supported directly in Oracle Cash management; this feature allows you to create account transfers between internal bank accounts manually or automatically through physical cash pools. 

The related cash flows are stored in Oracle Cash Management for reporting purposes and are reflected in positioning. Payment processing and accounting is managed using Oracle Payments and Oracle Subledger accounting. 

Funds transfer basically can be done in 2 ways

When you do not require payment document to be generated. 

This is used when the transfer has been made by the bank and you just have to record the same into the system. For this purpose, you can go to the bank account transfer window and select the option "Settle through Oracle payments" as "No". Fill in the rest of the fields and validate the the transfer. This will create a transfer transaction with the status as "Settled".

You can also provide a standing instruction to the bank to make the bank transfer and would be know about the transfer through the bank statement. You can create the bank statement line as a sweep in or sweep out line and record the bank account transfer.

When a payment document is required. 

This is used when for example you draw a check to make the bank transfer or any other payment document. For this purpose, select the option "Settle through Oracle payments" as "Yes". Fill in the rest of the fields and validate the the transfer. 

This will create a transfer transaction with the status as "Settlement in Process". 

After this you need to go to the funds disbursement process manager and issue the payment document. Process similar to the batch payment in AP.

The bank account transfer can also be initiated through cash positioning by using Physical Cash pool.

Please note that this require the intercompany or intracompany rule to be set in the ledger depending on the type of transfer you are making.

OVERVIEW Account Flexfield

on Monday, August 16, 2010


BUSINESS DIMENSIONS

The business dimensions differ from business to business.  It is important to plan an AFF that handles current business as well as future growth.  Business dimensions are the different ways the organization can be viewed and, in turn, the different ways that the transactions can be reported.  Some common business dimensions are Company, Division, Cost Center, Account and Proiect. When deciding on what segments the AFF should consist of, the objective is to provide enough information to satisfy reporting requirements while minimizing data repetition.
SIZE

Accounting Flexfield (AFF) in Oracle General Ledger can have over 25 segments with each segment being 30 characters. The AFF needs to be designed so it provides the necessary information to satisfy all reporting requirements and at the same time be manageable in size.
Manageable in size refers to entry, performance, storage, and display.   All transactions need to be entered into the system and at stored as an AFF account combination. Remember that longer the AFF the more difficult it is to enter and the higher the data entry costs and error rate.
EASE OF MAINTAINING SECURITY RULES

Security Rules control user access to values in the Chart of Accounts for data entry users in GL or Subledgers. The accounting Flexfield should be structured so that security rules can be defined and maintained simply and easily. These rules are assigned to responsibilities, which are then assigned to individuals.
REPORTING CONSIDERATIONS

The accounting Flexfield should be designed with a view to facilitating reporting requirements. This is important both from a data quality standpoint (i.e.: are we collecting the data we need to effectively manage the business and meet statutory requirements?) and a data entry and reporting standpoint (i.e. Will the accounting Flexfield fit on standard screens and reports; Does the accounting Flexfield have a logical structure which makes report definition and maintenance easy?).
SEGMENT ORDER

The segments can be displayed in any order.  Usually the segments are displayed in the easiest way to enter and view the information.  This is normally from high level to more a detailed level of information.
CROSS VALIDATION RULES

Cross validation rules ensure that users/system does not create accounting combinations that are not valid. Keep the accounting Flexfield structured as simple and logical as possible to ease of maintenance validation rules. Remember that invalid code combinations need to be disabled in addition to the regular maintenance of cross validation rules.
INDEPENDENT AND DEPENDENT SEGMENTS

Although the dependency of segments does simplify data entry it can cause potential problems with Mass Allocations and Summary Accounts.  Mass Allocations are used to write complicated formula journals.  Summary accounts are used for online inquiry into summary totals of accounts.  With dependent segments, the above functionality is available although to a limited degree.  Due to this limitation in functionality it is not advisable that Client have a dependent segment.
Another alternative to using dependent segments is to use cross validation rules that restrict the user from combining certain segment values.  In our department and cost center example mentioned earlier, the user would see the full list of cost centers but be prevented from selecting those that do not adhere to pre-determined rules.
USE RANGES

Numeric is preferable from a data entry perspective as users can use the numeric keypad. Alphanumeric characters cause users to move from the numeric keypad. With numeric, sort order is clear and ranges are easy to use.
If there are many values for an alphanumeric segment, the assignment of meaningful codes may become difficult. Sometimes sorting of alphanumeric, especially mixtures of numeric and alphanumeric can make data more difficult to locate. Using ranges may be more difficult as well. You can view segment value descriptions on virtually all screens and many reports so alphanumeric codes may be less valuable than in older systems. If you do use alphanumeric codes, set-up codes in all uppercase for consistency, sorting, and ease of querying. Since there are usually fewer parents than values in most segments and you can reassign parent/child relationships, you may be able to assign logical alphanumeric codes to parents.
REPORTING REQUIREMENTS

Apart from the above in GL, reporting is the primary concern. You run many standard reports and Financial Statement Generator (FSG) reports by ranges and groups of values for one or more segments. Determine the factors by which your organisation analyses financial performance and wants to produce reports. Ensure you can generate required financial reports based on the segments in your accounting Flexfield. Review reports currently produced outside of GL, such as in spreadsheets, and determine if adding segments will allow you to generate them from GL.
You usually produce a balance sheet for each balancing segment value. Balancing segment is usually a major sort on GL reports, such as the trial balance, and reports in other systems, such as AP, FA and AR. As mentioned in the segmentation section, balancing segment is used for some subsystem features such as AP Auto Offsets and many FlexBuilder set-ups.
You specify certain accounts on your set of books, such as retained earnings, intercompany, suspense, and translation adjustment. GL functions that use these accounts substitute the proper balancing segment, as shown below. Ensure that substituting balancing segment will generate an appropriate combination.
RETAINED EARNINGS

Company-Centre-Acct

Default on set of books:               1-99999-221100
For closing company 02:               2-99999-221100
For closing company 03:               3-99999-221100

Your account segment is used for sorting some reports, and is a major GL trial balance sort and summarisation level. When you set-up each account, you indicate whether it is asset, liability, owners equity, revenue, or expense. GL uses these account types to determine what to close to retained earnings at yearend and which type of rate to use for currency translation. Some applications also use account type to restrict choices of accounts, especially for set-up options. For example, AP cash and FA clearing accounts must have asset account types. The account segment is often referred to as the natural account.
Your cost centre segment is used in FA for reporting, as explained above. It is also used for some Project Accounting reports and a report in Purchasing, Open Purchase Orders by Cost Centre.
From Release 11.5.10 onwards, General Ledger has the facility to track a secondary Balancing Segment The secondary tracking segment is used in the revaluation, translation, and fiscal year-end close processes. The system will automatically maintain unrealized gain/loss, retained earnings, and cumulative translation adjustments by unique pairs of balancing segment and secondary tracking segment values.
Changing the Accounting Flexfield is not recommended. However, you can easily change some accounting Flexfield characteristics in normal set-up screens, such as:
Enabling/disabling long list prompt, Enabling/disabling shorthand alias window, Enabling/disabling security, Default values and Prompts.

R12 Installation - Login Page Error RW-50016

on Sunday, August 15, 2010


During the post-installation of Oracle Applications Release 12.1.1, you might have an error with the Login page check. The log file would say something similar to:

Login Page

-----------

checking URL = http://localhost.localdomain:8000/OA_HTML/AppsLogin

RW-50016: Error: - {0} was not created:
File = {1}


There could be several reasons this happened.
- Check the permissions on the environment file.
- Check your /etc/hosts entry
- Unlock the apps and applsys accounts on the database
- Run AutoConfig
- Bounce the services

When you bounce the services, make sure they all restart. That means, check the status, stop them and check the status again. Make sure that the OC4J processes have restarted. If you need to, kill the processes on the OS.

[oracle@localhost VIS_localhost]  $ ./adapcctl.sh status

You are running adapcctl.sh version 120.7.12010000.2

Checking status of OPMN managed Oracle HTTP Server (OHS) instance ...

Processes in Instance: VIS_localhost.localhost.localdomain
---------------------------------+--------------------+----------+---
ias-component                | process-type | pid   | status
---------------------------------+--------------------+----------+---
OC4JGroup:default_group | OC4J:oafm   | 7127 | Alive
OC4JGroup:default_group | OC4J:forms  | 7128 | Alive
OC4JGroup:default_group | OC4J:oacore | 7129 | Alive
HTTP_Server                 | HTTP_Server | 7283 | Alive


[oracle@localhost VIS_localhost]  $ ./adapcctl.sh stop
[oracle@localhost VIS_localhost]  $ ./adapcctl.sh start

Run the status again and make sure all the PID's are different. If not, kill the processes on the OS.

QUERY GL Opening and Closing Balance

on Thursday, August 12, 2010

OPENING BALANCE

SELECT     
      cc.concatenated_segments   "GL Account"
     ,cc.gl_account_type         "Account Type"
     ,nvl(sum(bal.begin_balance_dr - bal.begin_balance_cr),0)   "Begin Balance"
     ,bal.period_name            "Period Name"
FROM  gl_code_combinations_kfv cc
     ,gl_balances bal
WHERE cc.code_combination_id = bal.code_combination_id
AND   bal.period_name        = [Period Name]
AND   bal.set_of_books_id    = [Set of Book ID]
GROUP BY
      cc.concatenated_segments
     ,cc.gl_account_type
     ,bal.period_name
ORDER by
      cc.concatenated_segments


CLOSING BALANCE

SELECT
      cc.concatenated_segments   "GL Account"

     ,cc.gl_account_type         "Account Type"
     ,nvl(sum(bal.begin_balance_dr - bal.begin_balance_cr +
          bal.period_net_dr - bal.period_net_cr),0)  "Closing Balance"
     ,bal.period_name            "Period Name"
FROM  gl_code_combinations_kfv cc
     ,gl_balances bal
WHERE cc.code_combination_id = bal.code_combination_id
AND   bal.period_name        = [Period Name]
AND   bal.set_of_books_id    = [Set of Book ID]
GROUP BY
      cc.concatenated_segments

     ,cc.gl_account_type
     ,bal.period_name
ORDER BY
      cc.concatenated_segments

bal.period_name = [Period Name]  Here you should enter the period name you want to see. You can check the table GL_PERIOD_STATUSES to see which period you want. If you do not define a period the query will return a bunch of records without any sense.
bal.set_of_books_id =[Set of Book ID] Here you should enter your set of books id (each company has a set of books id), You can check table GL_SETS_OF_BOOKS to check which company you want to see. Otherwise the query will return all companies data mixed.

Script to remove Descriptive Flexfield Segments

on Thursday, August 5, 2010


This is useful in cases where FNDLOAD does not perform a delete of segments. Hence such a script can be used for cleanup of the DFF. Simply replace the contents in "bold" text below to make this work on your environment

--Script to clean up DFF Segments

set serveroutput on size 100000;
DECLARE

l_flexfield_type fnd_flex_key_api.flexfield_type;l_structure_type fnd_flex_key_api.structure_type;l_segment_type fnd_flex_key_api.segment_type;l_flex_num VARCHAR2(1000);

BEGIN

FOR p_rec IN (SELECT end_user_column_name,descriptive_flexfield_name,descriptive_flex_context_code
FROM   fnd_descr_flex_col_usage_vl
WHERE (application_id = 100)
AND   (descriptive_flexfield_name = 'Person Info DDF')
AND   (descriptive_flex_context_code LIKE 'XX_DFF_CONTEXT_HERE'))

LOOP


fnd_flex_dsc_api.delete_segment
(appl_short_name => 'PER',

 flexfield_name  => p_rec.descriptive_flexfield_name,
 CONTEXT         => p_rec.descriptive_flex_context_code,
 SEGMENT         => p_rec.end_user_column_name);

dbms_output.put_line('Segment'||p_rec.end_user_column_name||deleted ');
END LOOP;
END;