Skip Headers

Oracle Lease and Finance Management User's Guide
Release 12.1
Part Number E13583-05
Go to Table of Contents
Go to previous page
Go to next page


This chapter covers the following topics:

Streams Overview

A stream is a schedule of amounts and associated dates. Oracle Leasing and Finance Management uses stream generation to recover a lessor's investment through a series of scheduled payments. The generated streams are associated with expense and income flows for the lessor. Streams are also used in billing, accounting, and other processes. Leasing and Finance Management generates yields simultaneously with stream generation.

Streams consist of the following main components:

Stream Type

The stream type provides a functional name for a stream and relates the stream to attributes used to process streams in Leasing and Finance Management procedures. The specific attributes carried by stream types define how Leasing and Finance Management processes or utilizes the associated stream elements. Examples of stream types in Leasing and Finance Management include Rental Income, Principal Balance, and Interest Payment.

For a complete list of Leasing and Finance Management stream types, see Streams Appendix, Oracle Leasing and Finance Management Implementation Guide.

Stream Purpose

A stream purpose is an important attribute of a stream type that determines how Leasing and Finance Management processes the stream. Leasing and Finance Management recognizes streams based on their stream purpose name.

Stream Header

Steam types are associated to stream elements through the stream header. The stream header defines the overall status of the stream as well as the object the stream elements relate to, such as a contract, quote, or asset. A stream header includes the stream type, status, contract ID, optional contract line ID, and a valid date range.

Stream Elements

The stream elements are a series of dates and amounts that represent a flow with financial impact, not necessarily just for billing and cash purposes. Stream elements include the date, the amount, the date billed, and the header ID.

The following table provides an example of a stream where the stream type is Rent and the Contract ID is 22738.

Leasing and Finance Management Stream Example
Date Amount
15-Jan-04 100
15-Feb-04 100
15-Mar-04 100
15-Apr-04 100
15-May-04 100
15-Jun-04 100
15-Jul-04 100
15-Aug-04 100
15-Sep-04 100
15-Oct-04 100
15-Nov-04 100
15-Dec-04 100

Stream Use In Leasing and Finance Management

Leasing and Finance Management uses streams for the following purposes:


In pricing, streams are used to calculate specific yields in relationship to the object being priced, such as a contract, quote, or asset. Streams represent cash flows that are the primary element used in determining the payment or a yield for a sales quote or contract.


The billing program generates invoice transactions from active, billable streams. Users create billable streams for assets, fees, and services or for the entire contract by creating payments for those objects during contract authoring. When users activate a contract, the billable streams become active

When users run the billing program, the procedure uses the streams to determine which stream elements to bill. After a stream element is billed, it is marked with a date to identify and separate it from unbilled elements.


The accrual program uses streams as a source for accounting transactions. During stream generation, either the internal stream generation program or an external pricing engine creates streams for accruing income and expenses. The specific accrual stream generated depends on the financial product and what users have entered on the contract.

The accrual program does not automatically accrue each accrual stream. Instead, it references user-defined setups on the contract's financial product to determine which stream types to accrue. Once a stream element has been accrued, it is marked with a date to identify and separate it from unaccrued elements.

Stream Generation Overview

The stream generation process is dependent on the method of stream generation used and the functional process during which streams are generated. The actual streams generated depend on the contract values, the stream generation method, and the setup steps completed during implementation.

Leasing and Finance Management generates streams through an internal process, by an interface with third party pricing software, or by both methods depending on the stream type and usage. Users must determine, by financial product, whether to use the internal or external stream generation method.

The following table shows key Leasing and Finance Management business processes, the business function, and the sources for stream generation.

Leasing and Finance Management Streams and Business Processes
Business Process Business Function Stream Sources
Contract Import
Mass Rebooking
Generate Streams External Stream Generation
Internal Stream Generation
Customer Service
Accept Insurance Policy Activation Insurance Program
Variable Rate Processing Calculate Variable Interest Internal Stream Generation

This section includes the following topics:

Internal Stream Generation

Leasing and Finance Management generates streams internally during contract activation. This process works in coordination with the calculation of the contract yield to produce all required billing and accounting streams. Internal stream generation is designed for less complex transactions.

External Stream Generation

Leasing and Finance Management integrates with an external pricing engine to generate streams. The external pricing engine can handle complex and structured pricing scenarios and provide a large number of pricing and stream related attributes that impact the generation of streams not available in Leasing and Finance Management. The external pricing engine produces pricing-related schedules needed for standard business processing with Leasing and Finance Management. The pricing schedules are retrieved during stream generation along with the pricing result set from the external pricing engine.

The external stream generation process of Leasing and Finance Management uses a series of APIs and Oracle Workflows to interface, via the Oracle XML Gateway application, to the external pricing engine. Before external stream generation can begin, users must complete the necessary implementation steps.

To set up external stream generation, see Set Up Streams, Oracle Leasing and Finance Management Implementation Guide.

Insurance Activation Program

After creating insurance quotes, the customer's acceptance of the quotes is indicated in the Origination insurance pages, in the Lease Center, or by an activation program. Upon acceptance, the insurance activation program creates an insurance policy and generates streams for billing, payment, and accounting accruals.

Users create insurance quotes during contract authoring in the Lease Center, or by running the Automatic Insurance Placement Program. If users create the quote, the quote must be accepted before a policy is created. During the insurance placement program, the quotes are automatically accepted. The acceptance of an insurance quote creates a policy and initiates the stream generation process.

A billable stream is generated for the premium due from the insured lessee. A stream is generated for the payable premium due to the insurance provider and a separate insurance concurrent program runs to pick up the stream and move it to a transaction table or import into Oracle Payables.

Two accrual streams are also generated, one to amortize the revenue and the other to amortize the premium expense. All other related insurance transactions such as paying the premium to the insurance provider, providing cancellation credits to the insured lessee, or retrieving a cancellation credit from the insurance provider are performed through a transaction rather than a stream.


Users must generate streams in order to activate, or book, a contract. The Leasing and Finance Management activation process requires streams to derive the correct booking entries.

Stream generation assigns stream types to streams based on the user selection during payment, fee, and service creation and based on the streams template associated with the contract's financial product.


Users can book a revised contract by either selecting the contract and modifying it directly from the Revisions menu option in the Contracts subtab of the Origination tab, or by performing a Mass Rebook. Although the rebooking types follow different revision processes, the stream generation process for both rebooking types is the same.

When a contract is rebooked, the old streams are cancelled as of the date of the rebook, and all of the accrual entries and billing records are reversed. When the new version of the contract is rebooked, the new streams become active. When users run the accrual and billing programs, the net adjustment of the booking, or old versus new streams, is booked to the subledgers and general ledger for the same period.

A new stream element is created during rebooking to reverse or credit all of the original billings. This stream, with the stream type purpose of Billing Adjustment, is the total of all billed stream elements for all billable streams as on the date of the rebook. Additional processing is required to apply any associated credits to new invoices so the contract does not become overbilled.

The following processes leverage rebooking:

Variable Rate Processing

For contracts with variable rate terms and conditions, a program can be run to process them for variable interest charges. Based on the contract's terms and conditions, the program determines the interest rate to be applied if the terms specify that a new interest rate requires reamortization and stream generation, and calculates a new billable stream for variable rate interest. The income accrual for the interest adjustment is processed through a transaction rather than an accrual stream.

View Streams

You can view details of generated streams for a particular contract. This function allows you to see the schedule of payments by stream type, along with the corresponding amount for each date for the lifetime of the contract.

For accounting purposes, this feature allows you to review all the generated financial streams and verify that they meet the needs of your organization.

Depending upon the details of the contract, you can view three types of streams:

You can search and view streams at both summary and detail level. Initially the searches and reports start at the summary level. You can then drill down to see the details of the stream and the stream amount for each due date.

Note that you can see streams generated for multi-GAAP reporting. They appear in the results tables with a purpose of REPORT.


You must have generated streams for a contract.


Perform the following steps in the Streams page:

  1. Enter the contract number, or part of the contract number containing the streams you want to view, in the Contract Number field and click the Go button.

    The results table contains all the contracts that meet your search criteria. The table also includes the status of the contract, such as complete, booked, and so on.

  2. Click the hyperlink contract number of the contract that contains the streams you want to view.

    At this point, the Contract Streams Summary page appears.

    Summary searches

    From this page, you can either search directly for contract level streams, or click one of the two buttons:

  3. Go to the relevant Streams Summary page, enter the appropriate search criteria, then click Go.

    The results of the search are displayed in a table, which shows a summary of the streams, at the appropriate level (Contract, Asset, or Service or Fee.)

    The table includes stream type, the status of the stream, the purpose, the total amount for each stream type, and a Details icon.

    If you click the Details icon, the appropriate page appears, which displays one of the following:

Detail searches


Each of the three possible stream searches (Contract, Asset, Service or Fee) returns only those streams relevant for that particular search. You cannot see asset level streams, for example, when doing a search for contract level streams.

Run Stream Generation Purge Program

Stream generation can cause large amounts of redundant data to populate the interface tables. Large amounts of redundant data can cause slower stream generation performance. You can improve performance of stream generation by running the Purge Streams Interface Tables program. The Purge Streams Interface Tables program removes redundant data preceding a date that you specify.

Use the Purge Streams Interface Tables concurrent program to delete data that is not required by Oracle Lease & Finance Management from the following tables.

To run this program, you must specify the Last Creation Date of the stream data that you want to purge. You can also specify when you want to schedule the program to run.


You must have generated streams for a contract.


Perform the following steps in the Schedule Request pages:

  1. In the Name field, select Purge Streams Interface Tables.

  2. Click Next to add details in the Schedule Request sub pages. Repeat this step for each sub page.

  3. In the Parameters field, enter the date before which you want all data deleted in the Last Creation Date prompt.

  4. Click Submit to run the request.

View Stream Generation Log File

In order to track and identify potential errors during stream generation, each transaction creates a log file. You can view the log file to identify the cause of the error, in the event one is generated. Errors are generated either from the third-party lease price modeling software that you are using, or internally from the Oracle Leasing and Finance Management system.

The log file is kept in the path specified in the "OKL: Stream Generation Log File Directory" profile option and can be accessed by a system administrator with any standard text editor application (Notepad, for example). The file name includes the transaction number created during stream generation (that is, OKLSTXMLG_<transaction number>.log).