CM FAQ's Oracle Note
CM FAQ's Oracle Note
Scenario:
User inadvertently ended up recording a Bank Transfer between two bank accounts.
However, you transfer money between the two bank accounts in question, but since cash
management is not implemented for one of the transacting bank account, we create manual
journals directly in GL.
Therefore one side of the transaction has create the accounting entries, however the other side
of the Bank Account Transfer (BAT) could not create the accounting entries since you do not
have Cash Management implemented for the other bank account. You have created manual
journals for the other side of the entry in GL now, you want to understand the implications of
doing such a transfer:
Q1:
1) Does this kind of transfer ever going to create any problem or you are fine since you have
not implemented Cash Management for the other bank account?
2) If you decide to implement Cash Management in future for the other bank account, what
considerations you should take in view of this transaction sitting in the system?
Q2: After Manual clearing, will the transaction be still unreconciled. Will it continue to appear
on unreconciled report?
Q3: If you decide to implement Cash Management for this account in future, will this transaction
appear as unreconciled?
Q4: If you clear it now and reconcile it later (if you implement CM in future), reconciliation at
that state is going to create any entries? If yes, how will that be different from the Clearing
accounting entries?
Q5: What is the actual purpose of clear functionality? What are the scenarios when you use it?
Q6: Do you have to run create accounting program after clearing the transaction so as to create
the accounting entries.
Q7: Therefore for every BAT, an event CE_BAT_CREATED remains unaccountable even if it
is completed from both the sides?
Q8: How to setup another user to approve the bank account transfer before it is processed for
payment and/or journalized?
Q9: How To Do Bank Account Transfer (BAT) Which Settles In Cash Management?
2. Why Message About Source Bank Account currency Is Generated When Submitting a BAT?
3. When you do the Bank Transfer, the system generate the Bank Transfer number. You want to
know where you can setup this sequence number?
Solution
Bank Account Transfers
Bank account transfers represent fund transfers between internal bank accounts. You can create
bank account transfers manually or automatically through Cash Leveling process (see Cash
Positioning section for more details) and/or Sweep Transactions Generation concurrent program.
The access to bank account transfer creation for a particular legal entity is subject to bank
account use security. The bank account transfers are reflected in Cash Position automatically.
Payment processing for bank account transfers is managed using Oracle Payments. Journal
entries are created through a centralized subledger accounting engine.
The following bank account transfers are supported from the point of view of bank account
ownership:
1. Intra-Company Transfers: Intra-company transfers represent cash transfers between two
internal bank accounts that belong to the same legal entity.
2. Inter-Company Transfers: Inter-company transfers represent cash transfers between two
internal bank accounts that belong to two different legal entities. In case of such transfers, the
system can produce balanced journal entries for both legal entities.
The following bank account transfers are supported from the point of view of transfer currency:
1. Domestic: The currency of both bank accounts and the transfer amount is the same. For
example, you are transferring USD between two bank accounts that are denominated in USD.
2. International: The currency of one bank account is the same as the currency of the transfer
amount but the currency of the other bank account is different. For example, you are transferring
USD from a bank account denominated in USD to the bank account denominated in EUR.
Note: 1276861.1 White Paper on Bank Account Transfer for Oracle Cash Management
This white paper provides an overview of the Bank Account Transfer feature in Release 12. It
also provides a brief overview of the table level data at different stages of the bank account
transfer business transaction. Please download FILE: BankAcctTransWhitePaper.pdf
Settlement Transactions through Oracle Payments: This parameter defines whether the bank
account transfer requires payment processing in Oracle Payments or not. If you select Yes, the
bank account transfer will be routed for payment processing in Oracle Payments as soon as it is
manually or automatically authorized. If you select No, the bank account transfer will not be
routed for payment processing in Oracle Payments. Excluding bank account transfer from the
payment processing may be useful when the payment instructions have been communicated to
the bank outside of the system or if you are not using Oracle Payments but still want to account
for such a transaction.
Cash Transaction Subtypes: Cash Transaction Subtypes allows you to categorize cashflows for
reporting purposes. Once you create a subtype using Cash Transaction Subtypes > Setup >
Transactions, you can assign it to either Bank Account Transfers or Bank Statement Cashflows.
You can also build a hierarchy between the subtypes by entering a subtype parent name.
Payment Templates: Payment templates allow defining reusable sets of bank account transfer
attributes and payment processing options. During bank account transfer creation you have an
option to select a payment template. If you do so, all the attributes of the payment template will
default into the bank account transfer. If you are using repetitive payment codes or repetitive
wire codes, you can define those as payment templates.
Enter payment template attributes on General Details and Payment Details tabs. Select attributes
are explained below.
Repetitive Code: This parameter defines whether this is repetitive payment template or not. If
the parameter is set to Yes, then the source and destination bank accounts will be required for the
template creation. Furthermore, when you are creating a bank account transfer with this template,
the source and destination bank accounts will default in and will not be updateable. If the
parameter is set to No, then all the template attributes will be updateable after they default in
during bank account transfer creation.
Authorize Transfer: This parameter defines whether the bank account transfer created using
this template requires authorization before it can be processed for payment in Oracle Payments
or not. If you select Yes, the bank account transfer has to be manually authorized before it can be
paid. If you select No, the bank account transfer will be automatically authorized for payment as
soon as it is created and validated.
Settle Transaction: This parameter defines whether the bank account transfer created using this
template requires payment processing in Oracle Payments or not. If you select Yes, the bank
account transfer will be routed for payment processing in Oracle Payments as soon as it is
manually or automatically authorized. If you select No, the bank account transfer will not be
routed for payment processing in Oracle Payments. Excluding bank account transfer from the
payment processing may be useful when the payment instructions have been communicated to
the bank outside of the system or if you are not using Oracle Payments but still want to account
for such a transaction.
Viewing Bank Account Transfers: You can use this window to find out the status of a bank
account transfer. To view a bank account transfer:
1). Navigate to the View > Bank Account Transfers page.
2). Enter search criteria and click Go.
3). The bank account transfer status can be one of the following:
- New: The transfer has been created but not validated yet.
- Validated: The transfer has been created and validated. It is ready to be manually authorized
for settlement.
- Invalid: The transfer has failed validation.
- Rejected: The transfer is rejected by the user who is performing manual authorization.
- Settlement in Process: The transfer has been authorized for settlement and sent to Oracle
Payments.
- Settled: The transfer was successfully processed by Oracle Payments or it did not require
settlement through Oracle Payments.
- Failed: The transfer failed processing in Oracle Payments.
- Canceled: The transfer has been manually canceled by the user.
Viewing Cashflows
You can use this window to find out cashflow details.
To view cashflows:
1). Navigate to Cashflows window. From the navigator, choose View > Cashflows.
2). Enter the criteria for the cashflows you want to query. Fill in at least one of following fields:
- Cashflow Number
- Bank Account Number
- Cashflow Amount
- Transaction Type
- Direction
- Bank Reference Number
- Legal Entity
- Cashflow Date
- Cashflow Status
3). Click Go.
A1:
1) With the process you are having of creating manual entries for the other side you should not
have a problem
2) Once you implement CM for the other bank account, the events which are lying unprocessed
could be picked up for the accounting and could create journal entries as both the destination and
the source bank account are of the same ledger. This will in a way result in duplicate journal
entries as you would have already created journals manually
1. If you are quite sure that you would be implementing CM for the other bank account in future.
You may consider setting CM for the bank account right away. You can Clear a cashflow using
the clear transaction functionality.
Please note that clearing is Different from reconciliation in the sense that you do not need a
statement from the bank to match the transaction. However, clearing or reconciling serve similar
purpose as far as accounting is concerned. Hence if you are only interested in accounting the
cashflow and not matching it against a bank statement, you can use the clear transaction
functionality.
Additionally once you clear a cashflow, you can reconcile it later against a bank statement, if
any.
By following the above process, you would save a step of creating manual entry in GL for the
other side
2. If you do not prefer the option in step 1 then once you implement the CM for the other bank
you need to make sure that you do not use this bank to clear or reconcile a cashflow to avoid
duplicate accounting. In case you use, you would have to reverse the journals thus created.
Please also note that if your GL period is closed by the time you implement CM for the other
bank, you will not be able to clear or reconcile the cashflow in cash management unless you
open the period again.
A2: After Manual clearing, will the transaction be still unreconciled. Will it continue to
appear on unreconciled report?
Reconciling:
When you reconcile a transaction, the transaction is first matched to bank statement details and
then cleared (if uncleared). Since you are only clearing without Reconciling therefore these will
be available as UNRECONCILED.
Clearing:
You can choose to manually clear payments, receipts, miscellaneous transactions, open interface
transactions, and cash management cashflows associated with Bank Account Transfers without
first reconciling them.
When you clear a transaction, Cash Management assigns a cleared date, cleared amount, and
status to the transaction. Accounting for the cleared transaction varies by the source.
Ref:CE UG: 5-54 Oracle Cash Management User Guide AND 1-2 Oracle Cash Management
User Guide
A3: If you decide to implement Cash Management for this account in future, will this
transaction appear as unreconciled?
Yes, these Transactions are only Cleared and Not Reconciled therefore these will appear if you
have a System Parameter setup: Reconciliation Controls Show
Cleared Transactions: If you select this check box, cleared transactions remain available for
reconciliation, else only uncleared transactions will appear for reconciliation.
A4: If you clear it now and reconcile it later (if you implement CM in future),
reconciliation at that state is going to create any entries? If yes, how will that be different
from the Clearing accounting entries?
Accounting is created only at Clearing if you have setups: Accounting for payments when
cleared. If you Reconcile which also means you are Clearing if it is for Uncleared transaction
then only accounting will be created and these are same:
Cash Clearing Dr
Cash A/C Cr
A5: What is the actual purpose of clear functionality? What are the scenarios when you use
it?
a). Account for payments when Created: In this case the payments are accounted when created
and
the accounting for payments will be:
Liability Dr
Cash A/C Cr
b). Account for payments when created and when cleared:In this case when the payment is
created,
it will create the following accounting entry:
Liability Dr
Cash Clearing Cr
Cash Clearing Dr
Cash A/C Cr
c). Accounting for payments when cleared: The accounting for this scenario will be the same as
(a) with the only difference that the accounting will happen only after the payment is cleared in
cash management.
A6: Do you have to run create accounting program after clearing the transaction so as to
create the accounting entries.
Yes, Run create accounting program after clearing the transaction so as to create the accounting
entries.
A7: Therefore for every BAT, an event CE_BAT_CREATED remains unaccountable even
if it is completed from both the sides?
A8: Authorization: How to setup another user to approve the bank account transfer before it is
processed for payment and/or journalized?
If you would like another user to approve the bank account transfer before it is processed for
payment and/or journalized, you can set up the system parameter to required manual bank
account transfer authorization. Bank account transfer authorization is a completely separate
function from bank account transfer update.
A9: How To Do Bank Account Transfer (BAT) Which Settles In Cash Management?
Note: 889693.1 How To Do Bank Account Transfer (BAT) Which Settles In Cash Management?
A10: Currently in Cash management bank transfer authorization is just one time/one level
only. There is also NO transaction type for bank acount transfer in AME. Has any one have
had similar requirements and have any clue how to proceed.
A11. When try to create BAT it errors, message as:
1) The Closure Date for the Source Account is earlier than the Transfer Date for the Bank
Account. Please choose a different Transfer Date for the Bank Account.
2) The Closure Date for the Destination Account is earlier than the Transfer Date for the
Bank Account. Please choose a different Transfer Date for the Bank Account.
As per present functionality the conditions are validated on saving the Bank Account transfer.
There is no option of stopping the end dated bank accounts as Bank Account Transfer create UI
is independent of Bank Accounts.
BankAccountTransferAMImpl.java
BATBankAccountNumber.xml
BATBankAccountNumberRowImpl.java
ce12amg.ldt
4. If the Transfer is valid then: Please execute the following steps:
(1). SETUPS:
2. Profile Option: The system profile option "CE: Bank Account Transfers" defines where the
cash transfers will be created.
1). Bank Account Transfer Authorization. Default a bank transfer creation rule used to determine
if the transfer requires manual authorization or if is automatically authorized. The options are:
Not Required and Required. The default is Not Required.
2). If you would like another user to approve the bank account transfer before it is processed for
payment and/or journalized, you can set up the system parameter to required manual bank
account transfer authorization. Bank account transfer authorization is a completely separate
function from bank account transfer update.
3. Select transfers and click Authorize Transfers. If it requires payment processing, it will now be
automatically sent to Oracle Payments. If it does not require payment processing, it will now be
available for journal creation.
4. If you would like to reject the transfer, click on Reject Transfers instead.
In AME for cash Management there in only one seeded Transaction Type:CE Bank Account
Signing Authority Approval. The Bank Account Transfer Authorization Transaction type is not
available in R12(AME.B.2).
2. Question of Error: 'select a Source or Destination Bank Account currency that matches
its ledger currency' when submit BAT:
Please select a destination bank account currency that matches its ledger currency
Transaction currency should be either Source bank account currency or Destination bank account
currency.
If Source bank account currency <> Destination bank account currency then any one of the
following scneario should be true.
a)Transaction currency is the same as the Source bank account currency and Destination bank
account currency is same as ledger currency of
the Destination bank account i.e
Transaction currency = Source bank account currency and
Destination bank account currency = Ledger currency of Destination bank account
b)Transaction currency is same as the Destination bank account currency and Source bank
account currency is same as ledger currency of the
Source bank account i.e
Transaction currency = Destination bank account currency and
Source bank account currency = Ledger currency of Source bank account
Note:858139.1 Why Message About Destination Bank Account currency Is Generated When
Submitting a BAT?
If Source bank account currency <> Destination bank account currency then any one of the
following scenarios should be true:
A) Transaction Currency = Source Bank Account Currency and Destination Bank Account
Currency = Ledger currency of Destination Bank Account
B) Transaction Currency = Destination Bank Account Currency and Source Bank Account
Currency = Ledger Currency of Source Bank Account
The Rule is that any Bank transfer, including a Foreign Currency Bank Account, must use the
currency of that Account for the Transfer Curency. Clearly that means you cannot create any
transfer between two non-functional (ledger) currency bank accounts.
Then Source Account = YER, Destination Account = USD the transfer must be in USD.
Then Source Account = USD, Destination Account = USD the transfer must be in USD.
Then Source Account = USD, Destination Account = YER the transfer must be in USD.
Then Source Account = EUR, Destination Account = USD the transfer is not possible.
3. When you do the Bank Transfer, the system generate the Bank Transfer number. You
want to know where you can setup this sequence number?
There are two ID numbers associated with bank account transfers. The first one is transfer
number which is system generated sequential key. The second one is bank reference number
which is generated from settlement system. The bank reference number is used as a matching
key in autoreconciliation and may not be sequential. Sweep transaction generation or cash
leveling feature can also create bank account transfer (BAT) and use up sequential numbers.
The Sequence used is CE_PAYMENT_TRANSACTIONS_S. As soon as a value is selected
from that sequence it is used up. The Same sequence is used to allocate a reference number to the
payment process request (PPR) when the Transfer is being settled via Oracle Payments.
Run
select CE_PAYMENT_TRANSACTIONS_S.nextval from dual;
This will select and use up the next value from the sequence. So you know exactly what will be
the starting point. If the Settlement will be done via Payments, the transfer uses the next number
and then the PPR uses the following number in the sequence. If the Settlement is NOT done via
Payments the next transfer created should use the next value in the sequence. If you test creating
a new transfer and cancelling part way through and show that that will also use up a value in the
sequence.
So in the simple case without Sweeping and Levelling, Transfer involving Oracle Payments will
use two numbers from the sequence. Transfers without Oracle Payments will just use one. If
Oracle Payments was used for the settlement then it is the Payment Reference Number that must
be used in the Number (check number) field on the Statement Line for Reconciliation to Occur.
If Oracle Payments is Not used for the settlement, then there is NO reference associated with the
Transfer so the statement line - number field must be NULL to reconcile.
Note: 428341.1 - Questions On Transfer Number Used To Transfer Funds From One Bank To
Another
A1: What are the Bank Account Transfer Rules should be as follows
1. Transfer currency should be either Source Bank Account Currency or Destination Bank
Account Currency.
2.
i) Transfer currency is the same as the Bank Account Currency on both sides i.e. Transfer
Currency = Source Bank Account Currency = Destination Bank Account Currency.
ii) If Source Bank Account Currency <> Destination Bank Account Currency then any one of the
following should be true.
a) Transfer Currency is the same as the Source Bank Account Currency and Destination Bank
Account Currency is same as Ledger Currency of the Destination Bank Account
Transfer Currency = Source Bank Account Currency
and
Destination Bank Account Currency = Ledger Currency of Destination Bank Account
b)Transfer Currency is the same as the Destination Bank Account Currency and Source Bank
Account Currency is same as Ledger Currency of the Source Bank Account Transfer Currency =
Destination Bank Account Currency
and
Source Bank Account Currency = Ledger Currency of Source Bank Account
(8). Issue/Resolution:
Issue 1: While Creating Bank Account Transfer having "Settle Transactions Through Oracle
Payments" as "No", following is the error "PaymentTransactionsEOImpl.isPeriodOpen throws
SQLException: java.sql.SQLException: ORA-01422: exact fetch returns more than requested
number of rows ORA-06512: at "APPS.CE_BAT_API", line 2269 ORA-06512: at line 1 ."
coming.
Issue 2: Following error is displayed at the time of canceling Bank Account Transfer.
BankAccountTransferAMImpl.cancelTransfer throws SQLException:
java.sql.SQLException: ORA-20001: -: XLA-95103: An internal error occurred.
Please inform your system administrator or support representative that: An internal error has
occurred in the program xla_events_pkg.update_event. Unable to perform UPDATE on the
event. The event
(30053722) is ORA-06512: at "APPS.CE_BAT_API", line 1211 ORA-06512: at line 1.
Issue 3: While entering the Bank Account Transfer entry: Errors as: TRANSFER DATE
"The GL period is not open or is in future" error pop up
Q1: Regarding the Question of: From where the Miscellaneous Cash GL account is picked up in
Accounting is still being investigated.
Can you explain from where:
1 Cash 999.00000.10930.0000.0000.000 USD 3,241.82 3,241.82
2 Miscellaneous Cash 999.00000.10010.0000.0000.999 USD 3,241.82 3,241.82
Miscellaneous Cash account is Picked by accounting?
The information related with the accounting of bank account transfer is coming from the Bank
account definition The miscellaneous cash is the accounting class.
In your stated example of sweep transactions, the credit account CCID for cash inflow
transaction should be derived from the intra company balancing rules setup. The intracompany
accounts are setup in the accounting setup manager. Please refer to the accounting example in
page 10-8 of the user guide (Release 12.1, Part No. E13483-04, August 2010) which mentions
the intracompany rule Cash in Transit account setups to be used to derive the credit account
CCID for the accounting of the cash inflows.
Based on this review your setup and see if that is the case?