You are on page 1of 20

1 Revisions (Mass Rebook)

1.1 Introduction (Mass Rebook)


• When a contract is booked, Leasing and Finance Management calls the
accounting engine to create balance sheet entries for the assets on a lease.
• Depending on the book classification, the lease contract is an asset in the
form of expected receivables or leased assets.
• Each period some of the assets are amortized as they generate revenue
and incur expense. These entries are reported through a company's income
statements.
• When the receivable or asset values change , the balance sheet accounts
must be updated.
• Depending on when the changes occurred, the revenues and expenses
recognized may also require adjustments. All adjustments must happen in the
same accounting period or the balance sheet will be incorrect. The process of
making these adjustments is called Rebooking.
• Rebooking is the process of altering an existing lease/loan contract due to
some financial change in the deal structure, rental payment change, term
extension etc
• When the contract is reactivated, the original booking accounting entries
are reversed and new accounting entries are made with the new values in the
same period – net effect is adjusted entries
• Lease Management supports the following two types of rebooking:
Online Rebook - Users edit a copy of the contract and the changes are
copied back to a version of the original contract.
Mass Rebook - Edits are directly copied onto the contract version.

Rebooking is required for any change impacting the following:


• cash flow dates - impacts rates and interest charges
• payments - impacts income amount and rates
• expenses – impacts expense amount and rates
• asset values - impacts income amount and rates
• depreciation values - impacts expenses which impacts net income
• stream regeneration - any need to regenerate streams

Mass Rebook
• Process of rebooking multiple contracts
• Allows you to search for contracts by combining certain parameters
to identify the contracts you want to rebook
• Subsequently change certain aspects of the contract
• Rebooked contracts keep their original contract numbers.
• Mass Rebook process consists of the following 2 steps-
Select contracts to create a batch
Rebook all contracts in the batch with the newly-specified values.

1.2 Setups (both OLFM / other EBS product)


N/A

1.3 Processing

Name Description Comments


Create a new Mass Navigate to
Request Lease Home Page →
Finance ->Mass
Rebook Requests →
Click on Create
Enter Request Revision date would be
Number and Revision the mass rebook
Date effective date
Enter criteria to •
search for contracts • You can use
following criterias for
searching the
contracts-
• Contract
Number, Tax
Book,Depreciation
Method Code,Asset
Cate
• Contract date
range
• Inservice date
range

Select contracts from


the list of available
contracts meeting the
search criteria. The
selected contracts will
Name Description Comments
be added to the Mass
Rebook request

Enter the new values


to be set on the
selected contracts

Process request

Initiated via a request in Finance Tab


Used by other processes
• Partial Terminations – mr to regenerate streams and reactivate contract
• Residual Value Writedown- send new residual value to mr and mr
reactivates the contract.
• Principal Paydown- sends new payment structure to mr and mr
reactivates.
• Variable Rate Re-amortization-calculate the new payament and sends the
new payment to mr
Functional results same as online
Technical flow is different
• No contract copy
• No copy back to original, version is updated
There are three aspects of contracts that you can use the mass rebook
functionality to change :
• Life in months
• Depreciation Basic rate
• Depreciation adjustment rate

Billing Adjustments
Rebook Billing Adjustment Credit Memos are created and applied against
open invoices, if any, in AR based on value of the Profile Option:
OKL:Apply Billing Adjustment
SEEDED:
Searches for the earliest open invoice for the contract line and stream type
and applies the billing adjustment credit memo to that invoice to the
extent the invoice has a balance. Once the invoice is fully applied, moves
to the next open invoice. If there are no open invoices left, the credit
memo is created as an On-account credit memo.
(OKL_REBOOK_CM_PVT.cm_bill_adjustments)
NULL: All billing adjustment credit memos are created as On-account
credit memos. (OKL_REBOOK_CM_PVT. on_acct_bill_adjustments)
CUSTOM: System does not create any billing adjustment invoice/credit
memo. Calls OKL_REBOOK_CM_PVT.custom_cm_Bill_adjustments where
customers can add required code to create adjustment transactions

Effective Dated Rebook


• Revision of a contract should not result in accrual adjustments
associated to periods before the effective date of the contract revision
• Income and Expense accrual stream elements with dates before the
rebook effective date remain unchanged
• Effect on the accrual streams produced by the contract revision is
amortized in the stream elements with dates between the rebook effective
date and the end of term.
• The Revision Date entered when users start a rebook is the
Effective Date of the Rebook. Streams upto the last day of the month
immediately preceeding the rebook effective date are left unchanged.
• New system option “Amortize Income Adjustments from Revision
Date“ to enable Effective Dated Rebook at the Operating Unit level. Once
enabled, the system option cannot be disabled.

1.4 Tables / Views involved

Table/View Column name Value Comments


For MassRebook Copy
Contract
OKL_MASS_RBK_CRI REQUEST_NAME Name of the Request
TERIA

OKL_MASS_RBK_CRI CRITERIA_CODE Code for criteria


Table/View Column name Value Comments
TERIA

OKL_MASS_RBK_CRI CRITERIA_VALUE1,CRI Value of criteria


TERIA TERIA_VALUE2

OKL_MASS_RBK_CRI SET_VALUE New value to be set to


TERIA all the contracts

OKL_RBK_SELECTED_ REQUESTED_NAME Unique request name. Used to identify a mass


CONTRACT rebook run

OKL_RBK_SELECTED_ KHR_ID Contract ID


CONTRACT

OKL_RBK_SELECTED_ CONTRACT_NUMBER Populated only for


CONTRACT Mass Rebook Requests
from UI

OKL_RBK_SELECTED_ KLE_ID Contract Line ID


CONTRACT

OKL_RBK_SELECTED_ TRANSACTION_ID Rebook Transaction FK to


CONTRACT ID. OKL_TRX_CONTRACTS
_ALL

OKL_RBK_SELECTED_ SELECTED_FLAG 'Y' / 'N' Selected flag for mass


CONTRACT rebook.

OKL_RBK_SELECTED_ STATUS Status of Mass rebook


CONTRACT process

OKL_RBK_SELECTED_ TRANSACTION_DATE Date on which the


CONTRACT transaction is occurred

1.5 APIs (Public/Private)


API Name Public/Privat Comments
e
Activation -

OKL_MASS_REBOOK_PVT.rebook_contract

• If Source Transaction is not Partial


Termination then check that contract has been
upgraded for Effective Dated Rebook -
OKL_LLA_UTIL_PVT.check_rebook_upgrade
• For Non-UI based Mass Rebooks, insert
record into OKL_RBK_SELECTED_CONTRACT
with status as ‘NEW’ –
OKL_MST_PVT.insert_row
• Version contract –
OKL_VERSION_PUB.version_contract
• Create Rebook transaction in
OKL_TRX_CONTRACTS_ALL –
OKL_TRANSACTION_PVT.create_transaction
• Update status of record in
OKL_RBK_SELECTED_CONTRACT to ‘UNDER
REVISION’ - OKL_MST_PVT.update_row
• If Source Transaction is Partial
Termination or Principal Paydown then update
source_trx_id in OKL_TRX_CONTRACTS_ALL
with Partial Termination / Principal Paydown
Transaction ID
• If Source Transaction is NOT Partial
Termination or Principal Paydown then generate
Rebook Accounting
-OKL_LA_JE_PVT.generate_journal_entries

• p_transaction_type => ‘Rebook‘

• For UI Based Mass Rebook, create asset


update transaction in internal transaction tables
to update Tax Book depreciation parameters –
OKL_MASS_REBOOK_PVT.populate_asset_chan
ge
API Name Public/Privat Comments
e
• If Source Transaction is Residual Value
Writedown, then update Residual Value and
Residual Percentage on Financial Asset Line -
OKL_MASS_REBOOK_PVT.update_residual_valu
e
• If Source Transaction is Principal
Paydown, then update new Payment structure
on the contract -
OKL_MASS_REBOOK_PVT.update_ppd_amount
• If Source Transaction is Variable Rate
Re-amortization, then update new Payment
structure on the contract -
OKL_MASS_REBOOK_PVT.update_slh_sll
OKL_MASS_REBOOK_PVT.rebook_contract

• Cancel and re-create Insurance Policies -


OKL_INSURANCE_POLICIES_PUB.cancel_create
_policies
• Initiate Contract Activation for Mass
Rebook
• Validate Contract –
OKL_CONTRACT_BOOK_PUB.exec
ute_qa_check_list
• For Mass Rebook, Upfront Tax
calculation will not be performed.
Call API to update status of
Calculate Upfront Tax task to
Complete -
OKL_CONTRACT_BOOK_PVT.calcul
ate_upfront_tax
• Price Contract -
OKL_LA_STREAM_PUB.gen_intr_e
xtr_stream

OKL_MASS_REBOOK_PVT.mass_rebook_after_y
ield

• Approve and Activate Contract –


API Name Public/Privat Comments
e

OKL_MASS_REBOOK_PVT.mass_rebook_activat
e

OKL_MASS_REBOOK_PVT.mass_rebook_activat
e
• Check if the contract is undergoing Mass
Rebook, if No, then Exit
• For Mass Rebook, Contract Approval
Workflow will not be triggered, instead contract
will always be auto-approved. Call API to
update status of contract to Approved–
OKL_CONTRACT_BOOK_PVT.approve_contract
• Calculate Rebook Accrual Adjustment for
Primary Representation –
OKL_CONTRACT_REBOOK_PVT.calc_accrual_ad
justment
• If Contract is Securitized:
• Modify Pool Contents –
OKL_SECURITIZATION_PVT.modif
y_pool_contents for Rent, Residual
and Loan Payment streams
• Re-generate Investor
Disbursement Basis Streams –
OKL_STREAM_GENERATOR_PVT.c
reate_disb_streams
• Re-generate Investor Present
Value streams -
OKL_STREAM_GENERATOR_PVT.c
reate_pv_streams
• Re-generate Investor Accrual
API Name Public/Privat Comments
e

Streams -
OKL_ACCRUAL_SEC_PVT.create_st
reams
• Activate contract –
OKL_CONTRACT_BOOK_PUB.activate_contract
• Update status of Submit Contract task to
Complete -
OKL_BOOK_CONTROLLER_PVT.update_book_co
ntroller_trx
• Create Rebook Investor Disbursement
Adjustment
-OKL_CONTRACT_REBOOK_PVT.create_inv_dis
b_adjustment
• Create Rebook Accrual Adjustment for
Primary Representation -
OKL_GENERATE_ACCRUALS_PVT.adjust_accrual
s
• Calculate and Create Rebook Accrual
Adjustment for Secondary Representation -
• OKL_CONTRACT_REBOOK_PVT.cal
c_accrual_adjustment

OKL_GENERATE_ACCRUALS_PVT.
adjust_accruals
• Calculate and Create Rebook Investor
Accrual Adjustment for Primary and Secondary
Representation -
• OKL_CONTRACT_REBOOK_PVT.cal
c_inv_acc_adjustment
• OKL_GENERATE_ACCRUALS_PVT.
adjust_accruals
• Update status of Partial Termination /
Principal Paydown transaction to Processed

• Cancel Termination Quotes -


OKL_AM_INTEGRATION_PVT.cancel_terminatio
n_quotes
API Name Public/Privat Comments
e

• Update status of Mass Rebook request to


Processed –
OKL_MASS_REBOOK_PVT.update_mass_rbk_co
ntract
• Update status of Rebook transaction to
Processed –
OKL_TRX_CONTRACTS_PUB.update_trx_contrac
ts
• Update status of Internal asset update
transaction to Processed
• Create AR Invoice for Principal Paydown -
OKL_CS_PRINCIPAL_PAYDOWN_PUB.invoice_ap
ply_ppd

OKL_CONTRACT_BOOK_PVT.activate_contract
• Validate that Contract Customer and
Customer Account are Active
• Process Contract Activation –
OKL_ACTIVATE_CONTRACT_PUB.activate_contr
act
• Update Contract and Line status to
‘BOOKED’

OKL_ACTIVATE_CONTRACT_PUB.activate_contr
act
• Activate Asset in Oracle Assets –
OKL_ACTIVATE_ASSET_PVT.mass_rebook_asse
t
• Calculate and Create Rebook Billing
Adjustment -
OKL_CONTRACT_REBOOK_PVT.create_billing_a
djustment
• If Source Transaction is NOT Partial
Termination or Principal Paydown then generate
API Name Public/Privat Comments
e
Booking Accounting
-OKL_LA_JE_PVT.generate_journal_entries
• p_transaction_type => ‘Booking'

OKL_ACTIVATE_ASSET_PVT.mass_rebook_asse
t
• For Tax Books, fetch asset update
transaction record from OKL_TXD_ASSETS_B
and update asset depreciation parameters in
Oracle Assets -
FA_ADJUSTMENT_PUB.do_adjustment
• Populate SLA Sources for FA Transaction
-
OKL_SLA_ACC_SOURCES_PVT.populate_source
s
• Update fa_trx_date in
OKL_TXL_ASSETS_B with Transaction Date
returned from Oracle Assets
• Update status of asset update transaction
record to Processed

1.6 SQL script to find data in the related tables

Sql Script Expected Comments


Data
OKL_MASS_RBK_CRITERIA
select * from OKL_MASS_RBK_CRITERIA where
request_name like 'Test Jas1'

select * from OKL_RBK_SELECTED_CONTRACT OKL_RBK_SELECTED_CONTRA


where request_name like 'Test Jas1' CT
2 Revisions ( Rebook Online)
2.1 Introduction
• When a contract is booked, Leasing and Finance Management calls the
accounting engine to create balance sheet entries for the assets on a lease.
• Depending on the book classification, the lease contract is an asset in the
form of expected receivables or leased assets.
• Each period some of the assets are amortized as they generate revenue
and incur expense. These entries are reported through a company's income
statements.
• When the receivable or asset values change, the balance sheet accounts
must be updated.
• Depending on when the changes occurred, the revenues and expenses
recognized may also require adjustments. All adjustments must happen in the
same accounting period or the balance sheet will be incorrect. The process of
making these adjustments is called Rebooking.

• Rebooking is the process of altering an existing lease/loan contract due to


some financial change in the deal structure, rental payment change, term
extension etc
• When the contract is reactivated, the original booking accounting entries
are reversed and new accounting entries are made with the new values in the
same period – net effect is adjusted entries
Lease Management supports the following two types of rebooking:
• Online Rebook - Users edit a copy of the contract and the changes are
copied back to a version of the original contract.
• Mass Rebook - Edits are directly copied onto the contract version.

Rebooking is required for any change impacting the following:s


1. cash flow dates - impacts rates and interest charges
2. payments - impacts income amount and rates
3. expenses – impacts expense amount and rates
4. asset values - impacts income amount and rates
5. depreciation values - impacts expenses which impacts net income
6. stream regeneration - any need to regenerate streams

2.2 Setups (both OLFM / other EBS product)


None
2.3 Processes
Name Description Comments
Search for a Booked Navigate to Lease
contract and select Super User →
Revise in Actions pop Contracts → Status
list =Booked

On Revision Page Select Revision Type =


Rebook Contract

Select Reason for This doesnot have any


Revision significance till date
and any option can be
selected.

Enter Revision Date (Must be after the


Rebook Limit date of
the original contract)

Click GO

View and make edits


to the rebook copy
contract

Activate the rebook


copy contract

• A copy of the contract is created with the contract number containing the rebook
extension (–RBn).
• The original contract remains active and in effect during the editing of the copy.
• Once you activate the contract copy:
• The original contract is versioned (major version)
• Fields that can be edited, along with streams and yields, are copied from the
rebook contract copy to the original contract.
• Adjustments are created for Billing, Accrual, Investor and Passthrough
Disbursement
• The contract copy is assigned the status Abandoned and is no longer usable.
• Copies can be abandoned if rebooking is not to be completed.
• Only ONE rebook for a contract can be initiated

2.4 Tables / Views involved

Table/View Column name Value Comments


For Rebook Copy
Contract
OKC_K_LINES_B Orig_system_id1 NULL New Line added on
Rebook copy contrac

OKC_K_LINES_B Orig_system_id1 OKC_K_LINES_B.ID of Existing Line on


a contract line from original contract that
original contract has been copied to the
Rebook copy contract

OKC_K_PARTY_ROLE Orig_system_id1 NULL New Party Role added


S_B on Rebook copy
contract

OKC_K_PARTY_ROLE Orig_system_id1 OKC_K_PARTY_ROLES Existing Party Role on


S_B _B.ID of a party role original contract that
from original contract has been copied to the
Rebook copy contract

In Original Contract

OKC_K_LINES_B Orig_system_id1 OKC_K_LINES_B.ID of New Line added during


a contract line from rebook that has been
the rebook copy synced back to the
Table/View Column name Value Comments
contract original contract

OKC_K_PARTY_ROLE Orig_system_id1 OKC_K_PARTY_ROLES New Party Role added


S_B _B.ID of a party role during rebook that has
from the rebook copy been synced back to
contract the original contract

2.5 APIs (Public/Private)

API Name Public/Privat Comments


e
Activation - Calculate Upfront Tax

OKL_BOOK_CONTROLLER_PVT.validate_contrac Next Button (Validate Contract


t_nxtbtn Page)

If Validate Contract Task Status = ‘COMPLETE’

OKL_CONTRACT_BOOK_PVT.calculate_u

pfront_tax
• Else If Validate Contract Task Status =
’ERROR’
• Error Message – Contract Not Validated

OKL_CONTRACT_BOOK_PVT.calculate_upfront_
tax

• Calculate Estimated Upfront Tax


-OKL_LA_SALES_TAX_PVT.process_sales_tax

• p_transaction_type => 'Pre-


Rebook’'

• Validate Upfront Tax Fee Payment –


OKL_LA_SALES_TAX_PVT.validate_upfront_tax_
fee
• Update Contract Status to ‘PASSED’
• Update Calculate Upfront Tax Task
API Name Public/Privat Comments
e
Status to ‘COMPLETE’ / ‘ERROR’

Activation – Submit Contract

OKL_CONTRACT_BOOK_PVT.approve_activate_ Submit Button (Price Contract


contract Page)

• If Contract Status <> ‘APPROVED’


• OKL_CONTRACT_BOOK_PUB.subm
it_for_approval
• If Contract Status = ‘APPROVED’
• OKL_CONTRACT_BOOK_PUB.activ
ate_contract
• Display Warning Message if
Rollover amount exceeds the total
available/remaining credit line
amount:
OKL_MAINTAIN_FEE_PVT.rollover
_fee
• Update Submit Contract Task
Status to ‘COMPLETE’ / ‘ERROR’
OKL_CONTRACT_BOOK_PVT.activate_contract

• Validate Product is not in Invalid status


• Generate Rebook Accounting
-OKL_LA_JE_PVT.generate_journal_entries
• p_transaction_type => ‘Rebook'
• This would create reverse entries on the
main contract
• If Contract has Rollover Fees added
during rebook:
• Validate Rollover fee lines and
Rollover Termination Quote –
OKL_MAINTAIN_FEE_PVT.validate
_rollover_feeline
• Increase Credit Line Transfer
Amount by Rollover Fee amount –
OKL_MAINTAIN_FEE_PVT.rollover
API Name Public/Privat Comments
e
_fee (OKL_K_HEADERS.
tot_cl_transfer_amt for Credit
Line)
• Initiate Termination Quote
Acceptance for Rollover Quote –
OKL_AM_TERMNT_QUOTE_PVT.te
rminate_quote
• Validate that Contract Customer and
Customer Account are Active
• Process Contract Activation –
OKL_ACTIVATE_CONTRACT_PUB.activate_contr
act
Update Contract and Line status to ‘BOOKED’

OKL_LA_JE_PVT.generate_journal_entries

• Create Transaction Header with tcn_type


as ‘TRBK’ –
OKL_TRX_CONTRACTS_PUB.create_trx_contrac
t
• Create Transaction Lines with tcl_type as
‘TRBK’ –
OKL_TRX_CONTRACTS_PUB.create_trx_cntrct_li
nes
• Call Accounting Engine –
OKL_ACCOUNT_DIST_PVT.create_accounting_d
ist
• Update Amounts on Transaction Header
and Lines and update status to ‘PROCESSED’ –
OKL_TRX_CONTRACTS_PUB.update_trx_contrac
ts
• Call Multi-GAAP Accounting Engine -
OKL_MULTIGAAP_ENGINE_PVT.create_sec_rep
_trx

OKL_ACTIVATE_CONTRACT_PUB.activate_contr
API Name Public/Privat Comments
e
act

• Create Billing transaction for subsidies


having Net on Funding as Bill -
OKL_SUBSIDY_PROCESS_PVT.create_billing_trx
• Copy edited subsidies to the original
contract –
OKL_SUBSIDY_PROCESS_PVT.rebook_synchroni
ze
• Generate Booking Accounting -
OKL_LA_JE_PVT.generate_journal_entries
• p_transaction_type => ‘Booking'
• Calculate Actual Upfront tax -
OKL_LA_SALES_TAX_PVT.process_sales_tax
• p_transaction_type = ‘Rebook’
• Cancel and Re-create Insurance policies -
OKL_INSURANCE_POLICIES_PUB.cancel_create
_policies
• Cancel Termination Quotes –
OKL_AM_INTEGRATION_PVT.cancel_terminatio
n_quotes
• Cancel un-accepted Principal Paydown
Requests -
OKL_CS_PRINCIPAL_PAYDOWN_PUB.cancel_pp
d

• Update status of Rebook transaction to


‘PROCESSED’ –
OKL_TRANSACTION_PUB.update_trx_status
• Update status of Rebook copy contract to
‘ABANDONED’ –
• OKL_CONTRACT_STATUS_PUB.update_c
ontract_status
• OKL_CONTRACT_STATUS_PUB.cascade_l
ease_status
• Re-assess the earliest stream bill date on
contract after rebook to take into account any
changes in payment structure -
API Name Public/Privat Comments
e

OKL_BILLING_CONTROLLER_PVT.track_next_bil
l_date
• Update Transaction State for Streams
(Effective Dated Rebook) –
OKL_STREAMS_UTIL.update_trx_state

2.6 SQL script to find data in the related tables

• Contract No – 22448 For new vs existing line/Part


khr_id=223069 Role
1. SELECT *
FROM okc_k_headers_b
WHERE contract_number like '22448-RB7021'

2. SELECT chr_id,orig_system_id1
FROM okc_k_lines_b
WHERE chr_id in (223070,223069)

3. SELECT *
FROM okc_k_party_roles_b
1. SELECT * Rebook billing and accrual
FROM okl_trx_contracts adjustment
WHERE khr_id=223072 order by trx_number

2. SELECT *
FROM okl_trx_ar_invoices_b
WHERE khr_id=223072 order by date_invoiced

3. SELECT *
FROM okl_trx_types_tl
WHERE id =
252879000775034141322979536589744960429
and language ='US'

4. SELECT
OKL_SOURCE_BILLING_TRX,try_id FROM
okl_trx_ar_invoices_b
WHERE khr_id=223072 order by date_invoiced
5. SELECT *
FROM okl_trx_types_tl
WHERE id =
252879000775036559174618765848094372781
and language ='US'

You might also like